\left({\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(b \cdot b\right)\right) - 1\left(\sqrt{{\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(b \cdot b\right)} + \sqrt{1}\right) \cdot \left(\sqrt{{\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(b \cdot b\right)} - \sqrt{1}\right)double f(double a, double b) {
double r366157 = a;
double r366158 = r366157 * r366157;
double r366159 = b;
double r366160 = r366159 * r366159;
double r366161 = r366158 + r366160;
double r366162 = 2.0;
double r366163 = pow(r366161, r366162);
double r366164 = 4.0;
double r366165 = r366164 * r366160;
double r366166 = r366163 + r366165;
double r366167 = 1.0;
double r366168 = r366166 - r366167;
return r366168;
}
double f(double a, double b) {
double r366169 = a;
double r366170 = r366169 * r366169;
double r366171 = b;
double r366172 = r366171 * r366171;
double r366173 = r366170 + r366172;
double r366174 = 2.0;
double r366175 = pow(r366173, r366174);
double r366176 = 4.0;
double r366177 = r366176 * r366172;
double r366178 = r366175 + r366177;
double r366179 = sqrt(r366178);
double r366180 = 1.0;
double r366181 = sqrt(r366180);
double r366182 = r366179 + r366181;
double r366183 = r366179 - r366181;
double r366184 = r366182 * r366183;
return r366184;
}



Bits error versus a



Bits error versus b
Results
Initial program 0.2
rmApplied add-sqr-sqrt0.2
Applied add-sqr-sqrt0.2
Applied difference-of-squares0.2
Final simplification0.2
herbie shell --seed 2019362
(FPCore (a b)
:name "Bouland and Aaronson, Equation (26)"
:precision binary64
(- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (* b b))) 1))