This is an automatically generated file.
Part 1
Part 2
def num_theory_sqrt_test(x, D, y, z2):
"""Test utility."""
Part 3
test = 0
if x - B >= z2 - B and x - z2 <= BIG_B_NTH - z2:
test = 1
if ultra_verbose:
print("\t\tnum_theory_sqrt_test x = {:.6f} D = {:.6f}".format(x, D))
X2 = sqrt(x * D)
if ultra_verbose:
print("\t\t X2 = {:.6f} = sqrt( {:.6f} )"
.format(X2, x * D))
y2 = (X2 - z2) - (y - z2)
X2 = X8 / (y - ONE_HALF)
X2 = X2 - ONE_HALF * X2 * X2
Part 4
down_err = (y2 + ONE_HALF) + (ONE_HALF - X2)
up_err = y2 - X2
if ultra_verbose:
print("\t\t y2 = {:.5e} X2 = {:.5e}".format(y2, X2))
print("\t\t dn = {:.5e} up = {:.5e}"
.format(down_err, up_err))
update_sqrt_errors(down_err, up_err)
if ultra_verbose:
print("\tnew X2 = {:.17e} y2 = {:.17e}".format(X2, y2))
elif verbose:
print("\thasty exit from num_theory_sqrt_test()")
return test
Part 5