\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(\sqrt{\sqrt{\mathsf{fma}\left({\left(a \cdot a + b \cdot b\right)}^{\left(\frac{2}{2}\right)}, {\left(a \cdot a + b \cdot b\right)}^{\left(\frac{2}{2}\right)}, 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)}} \cdot \sqrt{\sqrt{\mathsf{fma}\left({\left(a \cdot a + b \cdot b\right)}^{\left(\frac{2}{2}\right)}, {\left(a \cdot a + b \cdot b\right)}^{\left(\frac{2}{2}\right)}, 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)}}\right) \cdot \sqrt{\mathsf{fma}\left({\left(a \cdot a + b \cdot b\right)}^{\left(\frac{2}{2}\right)}, {\left(a \cdot a + b \cdot b\right)}^{\left(\frac{2}{2}\right)}, 4 \cdot \left(\left(a \cdot a\right) \cdot \left(1 - a\right) + \left(\sqrt[3]{\left(b \cdot b\right) \cdot \left(3 + a\right)} \cdot \sqrt[3]{\left(b \cdot b\right) \cdot \left(3 + a\right)}\right) \cdot \sqrt[3]{\left(b \cdot b\right) \cdot \left(3 + a\right)}\right)\right)} - 1double f(double a, double b) {
double r345107 = a;
double r345108 = r345107 * r345107;
double r345109 = b;
double r345110 = r345109 * r345109;
double r345111 = r345108 + r345110;
double r345112 = 2.0;
double r345113 = pow(r345111, r345112);
double r345114 = 4.0;
double r345115 = 1.0;
double r345116 = r345115 - r345107;
double r345117 = r345108 * r345116;
double r345118 = 3.0;
double r345119 = r345118 + r345107;
double r345120 = r345110 * r345119;
double r345121 = r345117 + r345120;
double r345122 = r345114 * r345121;
double r345123 = r345113 + r345122;
double r345124 = r345123 - r345115;
return r345124;
}
double f(double a, double b) {
double r345125 = a;
double r345126 = r345125 * r345125;
double r345127 = b;
double r345128 = r345127 * r345127;
double r345129 = r345126 + r345128;
double r345130 = 2.0;
double r345131 = 2.0;
double r345132 = r345130 / r345131;
double r345133 = pow(r345129, r345132);
double r345134 = 4.0;
double r345135 = 1.0;
double r345136 = r345135 - r345125;
double r345137 = r345126 * r345136;
double r345138 = 3.0;
double r345139 = r345138 + r345125;
double r345140 = r345128 * r345139;
double r345141 = r345137 + r345140;
double r345142 = r345134 * r345141;
double r345143 = fma(r345133, r345133, r345142);
double r345144 = sqrt(r345143);
double r345145 = sqrt(r345144);
double r345146 = r345145 * r345145;
double r345147 = cbrt(r345140);
double r345148 = r345147 * r345147;
double r345149 = r345148 * r345147;
double r345150 = r345137 + r345149;
double r345151 = r345134 * r345150;
double r345152 = fma(r345133, r345133, r345151);
double r345153 = sqrt(r345152);
double r345154 = r345146 * r345153;
double r345155 = r345154 - r345135;
return r345155;
}



Bits error versus a



Bits error versus b
Initial program 0.2
rmApplied sqr-pow0.2
Applied fma-def0.2
rmApplied add-sqr-sqrt0.2
rmApplied add-sqr-sqrt0.2
Applied sqrt-prod0.2
rmApplied add-cube-cbrt0.2
Final simplification0.2
herbie shell --seed 2019362 +o rules:numerics
(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))