\left({\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(\left(a \cdot a\right) \cdot \left(1 + a\right) + \left(b \cdot b\right) \cdot \left(1 - 3 \cdot a\right)\right)\right) - 1\left({\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(\left(\left(a \cdot a\right) \cdot 1 + {a}^{3}\right) + \left(b \cdot b\right) \cdot \left(1 - 3 \cdot a\right)\right)\right) - 1double f(double a, double b) {
double r251133 = a;
double r251134 = r251133 * r251133;
double r251135 = b;
double r251136 = r251135 * r251135;
double r251137 = r251134 + r251136;
double r251138 = 2.0;
double r251139 = pow(r251137, r251138);
double r251140 = 4.0;
double r251141 = 1.0;
double r251142 = r251141 + r251133;
double r251143 = r251134 * r251142;
double r251144 = 3.0;
double r251145 = r251144 * r251133;
double r251146 = r251141 - r251145;
double r251147 = r251136 * r251146;
double r251148 = r251143 + r251147;
double r251149 = r251140 * r251148;
double r251150 = r251139 + r251149;
double r251151 = r251150 - r251141;
return r251151;
}
double f(double a, double b) {
double r251152 = a;
double r251153 = r251152 * r251152;
double r251154 = b;
double r251155 = r251154 * r251154;
double r251156 = r251153 + r251155;
double r251157 = 2.0;
double r251158 = pow(r251156, r251157);
double r251159 = 4.0;
double r251160 = 1.0;
double r251161 = r251153 * r251160;
double r251162 = 3.0;
double r251163 = pow(r251152, r251162);
double r251164 = r251161 + r251163;
double r251165 = 3.0;
double r251166 = r251165 * r251152;
double r251167 = r251160 - r251166;
double r251168 = r251155 * r251167;
double r251169 = r251164 + r251168;
double r251170 = r251159 * r251169;
double r251171 = r251158 + r251170;
double r251172 = r251171 - r251160;
return r251172;
}



Bits error versus a



Bits error versus b
Results
Initial program 0.2
rmApplied distribute-lft-in0.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2020056
(FPCore (a b)
:name "Bouland and Aaronson, Equation (25)"
:precision binary64
(- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (+ 1 a)) (* (* b b) (- 1 (* 3 a)))))) 1))