  Analyzing and identifying the shortcomings of current subdivision methods for
finding intersections of rays with fibers defined by the surface of a circular
contour swept along a B\'ezier curve, we present a new algorithm that improves
precision and performance. Instead of the inefficient pruning using overlapping
axis aligned bounding boxes and determining the closest point of approach of
the ray and the curve, we prune using disjoint bounding volumes defined by
cylinders and calculate the intersections on the limit surface. This in turn
allows for computing accurate parametric position and normal in the point of
intersection. The iteration requires only one bit per subdivision to avoid
costly stack memory operations. At a low number of subdivisions, the
performance of the high precision algorithm is competitive, while for a high
number of subdivisions it dramatically outperforms the state-of-the-art.
Besides an extensive mathematical analysis, source code is provided.
