\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(3 + a\right)\right)\right) - 1\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(3 + a\right)\right)\right) - 1double f(double a, double b) {
double r124124 = a;
double r124125 = r124124 * r124124;
double r124126 = b;
double r124127 = r124126 * r124126;
double r124128 = r124125 + r124127;
double r124129 = 2.0;
double r124130 = pow(r124128, r124129);
double r124131 = 4.0;
double r124132 = 1.0;
double r124133 = r124132 - r124124;
double r124134 = r124125 * r124133;
double r124135 = 3.0;
double r124136 = r124135 + r124124;
double r124137 = r124127 * r124136;
double r124138 = r124134 + r124137;
double r124139 = r124131 * r124138;
double r124140 = r124130 + r124139;
double r124141 = r124140 - r124132;
return r124141;
}
double f(double a, double b) {
double r124142 = a;
double r124143 = r124142 * r124142;
double r124144 = b;
double r124145 = r124144 * r124144;
double r124146 = r124143 + r124145;
double r124147 = 2.0;
double r124148 = pow(r124146, r124147);
double r124149 = 4.0;
double r124150 = 1.0;
double r124151 = r124150 - r124142;
double r124152 = r124143 * r124151;
double r124153 = 3.0;
double r124154 = r124153 + r124142;
double r124155 = r124145 * r124154;
double r124156 = r124152 + r124155;
double r124157 = r124149 * r124156;
double r124158 = r124148 + r124157;
double r124159 = r124158 - r124150;
return r124159;
}



Bits error versus a



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