\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\begin{array}{l}
\mathbf{if}\;{\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) \le 2.502137265250341240314415276099979861861 \cdot 10^{55}:\\
\;\;\;\;\sqrt[3]{\sqrt{{\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)}^{3}} \cdot \sqrt{{\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)}^{3}}} - 1\\
\mathbf{else}:\\
\;\;\;\;\left({a}^{4} + \left({b}^{4} + 2 \cdot \left({a}^{2} \cdot {b}^{2}\right)\right)\right) - 1\\
\end{array}double f(double a, double b) {
double r279063 = a;
double r279064 = r279063 * r279063;
double r279065 = b;
double r279066 = r279065 * r279065;
double r279067 = r279064 + r279066;
double r279068 = 2.0;
double r279069 = pow(r279067, r279068);
double r279070 = 4.0;
double r279071 = 1.0;
double r279072 = r279071 - r279063;
double r279073 = r279064 * r279072;
double r279074 = 3.0;
double r279075 = r279074 + r279063;
double r279076 = r279066 * r279075;
double r279077 = r279073 + r279076;
double r279078 = r279070 * r279077;
double r279079 = r279069 + r279078;
double r279080 = r279079 - r279071;
return r279080;
}
double f(double a, double b) {
double r279081 = a;
double r279082 = r279081 * r279081;
double r279083 = b;
double r279084 = r279083 * r279083;
double r279085 = r279082 + r279084;
double r279086 = 2.0;
double r279087 = pow(r279085, r279086);
double r279088 = 4.0;
double r279089 = 1.0;
double r279090 = r279089 - r279081;
double r279091 = r279082 * r279090;
double r279092 = 3.0;
double r279093 = r279092 + r279081;
double r279094 = r279084 * r279093;
double r279095 = r279091 + r279094;
double r279096 = r279088 * r279095;
double r279097 = r279087 + r279096;
double r279098 = 2.502137265250341e+55;
bool r279099 = r279097 <= r279098;
double r279100 = 3.0;
double r279101 = pow(r279097, r279100);
double r279102 = sqrt(r279101);
double r279103 = r279102 * r279102;
double r279104 = cbrt(r279103);
double r279105 = r279104 - r279089;
double r279106 = 4.0;
double r279107 = pow(r279081, r279106);
double r279108 = pow(r279083, r279106);
double r279109 = 2.0;
double r279110 = pow(r279081, r279109);
double r279111 = pow(r279083, r279109);
double r279112 = r279110 * r279111;
double r279113 = r279109 * r279112;
double r279114 = r279108 + r279113;
double r279115 = r279107 + r279114;
double r279116 = r279115 - r279089;
double r279117 = r279099 ? r279105 : r279116;
return r279117;
}



Bits error versus a



Bits error versus b
Results
if (+ (pow (+ (* a a) (* b b)) 2.0) (* 4.0 (+ (* (* a a) (- 1.0 a)) (* (* b b) (+ 3.0 a))))) < 2.502137265250341e+55Initial program 0.0
rmApplied add-cbrt-cube0.1
Simplified0.1
rmApplied add-sqr-sqrt0.1
if 2.502137265250341e+55 < (+ (pow (+ (* a a) (* b b)) 2.0) (* 4.0 (+ (* (* a a) (- 1.0 a)) (* (* b b) (+ 3.0 a))))) Initial program 0.5
Taylor expanded around inf 0.1
Final simplification0.1
herbie shell --seed 2019362
(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))