https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107668
--- Comment #2 from David Binderman <dcb314 at hotmail dot com> --- Reduced C++ code seems to be: --- /home/dcb36/cvise/bug862.cc --- float dot(); float intersectcylinder_md; void intersectcylinder(float &dist) { float nd = dot(); dist = 0 / nd; float offset = intersectcylinder_md + dist; if (offset < 0) dist = nd; }