It is possible for bbox->low.x to be NaN when circle->center.x is and circle->radius are both +Infinity.
What is rationale behind this circle?
It seems to me that any circle with radius of any Infinity should become a [-Infinity .. Infinity, -Infinity .. Infinity] box. Then you won't have NaNs, and index structure shouldn't be broken.
If it happens because NaN > Infinity, then the check should be not for isnan, but for if (low>high){swap(high, low)}. It probably should be a part of box, not a part of circle, maths.