\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} + \left(\left(a + 3\right) \cdot \left(b \cdot b\right) + \left(a \cdot a\right) \cdot \left(1 - a\right)\right) \cdot 4\right) - 1double f(double a, double b) {
double r11792118 = a;
double r11792119 = r11792118 * r11792118;
double r11792120 = b;
double r11792121 = r11792120 * r11792120;
double r11792122 = r11792119 + r11792121;
double r11792123 = 2.0;
double r11792124 = pow(r11792122, r11792123);
double r11792125 = 4.0;
double r11792126 = 1.0;
double r11792127 = r11792126 - r11792118;
double r11792128 = r11792119 * r11792127;
double r11792129 = 3.0;
double r11792130 = r11792129 + r11792118;
double r11792131 = r11792121 * r11792130;
double r11792132 = r11792128 + r11792131;
double r11792133 = r11792125 * r11792132;
double r11792134 = r11792124 + r11792133;
double r11792135 = r11792134 - r11792126;
return r11792135;
}
double f(double a, double b) {
double r11792136 = a;
double r11792137 = r11792136 * r11792136;
double r11792138 = b;
double r11792139 = r11792138 * r11792138;
double r11792140 = r11792137 + r11792139;
double r11792141 = 2.0;
double r11792142 = pow(r11792140, r11792141);
double r11792143 = 3.0;
double r11792144 = r11792136 + r11792143;
double r11792145 = r11792144 * r11792139;
double r11792146 = 1.0;
double r11792147 = r11792146 - r11792136;
double r11792148 = r11792137 * r11792147;
double r11792149 = r11792145 + r11792148;
double r11792150 = 4.0;
double r11792151 = r11792149 * r11792150;
double r11792152 = r11792142 + r11792151;
double r11792153 = r11792152 - r11792146;
return r11792153;
}



Bits error versus a



Bits error versus b
Results
Initial program 0.2
Final simplification0.2
herbie shell --seed 2019171
(FPCore (a b)
:name "Bouland and Aaronson, Equation (24)"
(- (+ (pow (+ (* a a) (* b b)) 2.0) (* 4.0 (+ (* (* a a) (- 1.0 a)) (* (* b b) (+ 3.0 a))))) 1.0))