\left({\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(b \cdot b\right)\right) - 1\sqrt{{\left(a \cdot a + b \cdot b\right)}^{2} + \left(b \cdot b\right) \cdot 4} \cdot \left(\left|\sqrt[3]{{\left(a \cdot a + b \cdot b\right)}^{2} + \left(b \cdot b\right) \cdot 4}\right| \cdot \sqrt{\sqrt[3]{\sqrt{{\left(a \cdot a + b \cdot b\right)}^{2} + \left(b \cdot b\right) \cdot 4}} \cdot \sqrt[3]{\sqrt{{\left(a \cdot a + b \cdot b\right)}^{2} + \left(b \cdot b\right) \cdot 4}}}\right) - 1(FPCore (a b) :precision binary64 (- (+ (pow (+ (* a a) (* b b)) 2.0) (* 4.0 (* b b))) 1.0))
(FPCore (a b)
:precision binary64
(-
(*
(sqrt (+ (pow (+ (* a a) (* b b)) 2.0) (* (* b b) 4.0)))
(*
(fabs (cbrt (+ (pow (+ (* a a) (* b b)) 2.0) (* (* b b) 4.0))))
(sqrt
(*
(cbrt (sqrt (+ (pow (+ (* a a) (* b b)) 2.0) (* (* b b) 4.0))))
(cbrt (sqrt (+ (pow (+ (* a a) (* b b)) 2.0) (* (* b b) 4.0))))))))
1.0))double code(double a, double b) {
return (pow(((a * a) + (b * b)), 2.0) + (4.0 * (b * b))) - 1.0;
}
double code(double a, double b) {
return (sqrt(pow(((a * a) + (b * b)), 2.0) + ((b * b) * 4.0)) * (fabs(cbrt(pow(((a * a) + (b * b)), 2.0) + ((b * b) * 4.0))) * sqrt(cbrt(sqrt(pow(((a * a) + (b * b)), 2.0) + ((b * b) * 4.0))) * cbrt(sqrt(pow(((a * a) + (b * b)), 2.0) + ((b * b) * 4.0)))))) - 1.0;
}



Bits error versus a



Bits error versus b
Results
Initial program 0.2
rmApplied add-sqr-sqrt_binary640.2
Simplified0.2
Simplified0.2
rmApplied add-cube-cbrt_binary640.3
Applied sqrt-prod_binary640.3
Simplified0.3
rmApplied add-sqr-sqrt_binary640.3
Applied cbrt-prod_binary640.3
Final simplification0.3
herbie shell --seed 2020268
(FPCore (a b)
:name "Bouland and Aaronson, Equation (26)"
:precision binary64
(- (+ (pow (+ (* a a) (* b b)) 2.0) (* 4.0 (* b b))) 1.0))