\left({\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(b \cdot b\right)\right) - 1\left({a}^{4} + \left({b}^{4} + 2 \cdot \left({a}^{2} \cdot {b}^{2}\right)\right)\right) - 1double f(double a, double b) {
double r155580 = a;
double r155581 = r155580 * r155580;
double r155582 = b;
double r155583 = r155582 * r155582;
double r155584 = r155581 + r155583;
double r155585 = 2.0;
double r155586 = pow(r155584, r155585);
double r155587 = 4.0;
double r155588 = r155587 * r155583;
double r155589 = r155586 + r155588;
double r155590 = 1.0;
double r155591 = r155589 - r155590;
return r155591;
}
double f(double a, double b) {
double r155592 = a;
double r155593 = 4.0;
double r155594 = pow(r155592, r155593);
double r155595 = b;
double r155596 = pow(r155595, r155593);
double r155597 = 2.0;
double r155598 = pow(r155592, r155597);
double r155599 = pow(r155595, r155597);
double r155600 = r155598 * r155599;
double r155601 = r155597 * r155600;
double r155602 = r155596 + r155601;
double r155603 = r155594 + r155602;
double r155604 = 1.0;
double r155605 = r155603 - r155604;
return r155605;
}



Bits error versus a



Bits error versus b
Results
Initial program 0.2
Taylor expanded around inf 1.0
Final simplification1.0
herbie shell --seed 2020047
(FPCore (a b)
:name "Bouland and Aaronson, Equation (26)"
:precision binary64
(- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (* b b))) 1))