In calcfrac.c, routine StandardFractal, the HEAD has this comparison: line 2212: if (cmp_bf(abs_a_bf(sub_bf(bftmp,bfsaved.x,bfnew.x)), bfclosenuff) < 0) if (cmp_bf(abs_a_bf(sub_bf(bftmp,bfsaved.y,bfnew.y)), bfclosenuff) < 0) caught_a_cycle = 1; notice that its two calls to cmp_bf(..., ...). In the float-only version, the same code has this comparison: if (cmp_bf(abs_a_bf(sub_bf(bftmp,bfsaved.x,bfnew.x)), bfclosenuff) < 0) if (cmp_bn(abs_a_bf(sub_bf(bftmp,bfsaved.y,bfnew.y)), bfclosenuff) < 0) caught_a_cycle = 1; With one call to cmp_bf and one to cmp_bn. Does anyone remember fixing this bug? The first one looks correct to me. -- "The Direct3D Graphics Pipeline" -- DirectX 9 draft available for download <http://www.xmission.com/~legalize/book/download/index.html> Legalize Adulthood! <http://blogs.xmission.com/legalize/>