\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 r284679 = a;
double r284680 = r284679 * r284679;
double r284681 = b;
double r284682 = r284681 * r284681;
double r284683 = r284680 + r284682;
double r284684 = 2.0;
double r284685 = pow(r284683, r284684);
double r284686 = 4.0;
double r284687 = r284686 * r284682;
double r284688 = r284685 + r284687;
double r284689 = 1.0;
double r284690 = r284688 - r284689;
return r284690;
}
double f(double a, double b) {
double r284691 = a;
double r284692 = 4.0;
double r284693 = pow(r284691, r284692);
double r284694 = b;
double r284695 = pow(r284694, r284692);
double r284696 = 2.0;
double r284697 = pow(r284691, r284696);
double r284698 = pow(r284694, r284696);
double r284699 = r284697 * r284698;
double r284700 = r284696 * r284699;
double r284701 = r284695 + r284700;
double r284702 = r284693 + r284701;
double r284703 = 1.0;
double r284704 = r284702 - r284703;
return r284704;
}



Bits error versus a



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