\left({\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(b \cdot b\right)\right) - 1\begin{array}{l}
\mathbf{if}\;a \le -6.7352231204874867757231848841570354125 \cdot 10^{-4} \lor \neg \left(a \le 9.001355373021340009814854300415620791398 \cdot 10^{-8}\right):\\
\;\;\;\;\left({a}^{4} + \left({b}^{4} + 2 \cdot \left({a}^{2} \cdot {b}^{2}\right)\right)\right) - 1\\
\mathbf{else}:\\
\;\;\;\;\left(\left({b}^{4} + 2 \cdot \left({a}^{2} \cdot {b}^{2}\right)\right) + 4 \cdot \left(b \cdot b\right)\right) - 1\\
\end{array}double f(double a, double b) {
double r248167 = a;
double r248168 = r248167 * r248167;
double r248169 = b;
double r248170 = r248169 * r248169;
double r248171 = r248168 + r248170;
double r248172 = 2.0;
double r248173 = pow(r248171, r248172);
double r248174 = 4.0;
double r248175 = r248174 * r248170;
double r248176 = r248173 + r248175;
double r248177 = 1.0;
double r248178 = r248176 - r248177;
return r248178;
}
double f(double a, double b) {
double r248179 = a;
double r248180 = -0.0006735223120487487;
bool r248181 = r248179 <= r248180;
double r248182 = 9.00135537302134e-08;
bool r248183 = r248179 <= r248182;
double r248184 = !r248183;
bool r248185 = r248181 || r248184;
double r248186 = 4.0;
double r248187 = pow(r248179, r248186);
double r248188 = b;
double r248189 = pow(r248188, r248186);
double r248190 = 2.0;
double r248191 = pow(r248179, r248190);
double r248192 = pow(r248188, r248190);
double r248193 = r248191 * r248192;
double r248194 = r248190 * r248193;
double r248195 = r248189 + r248194;
double r248196 = r248187 + r248195;
double r248197 = 1.0;
double r248198 = r248196 - r248197;
double r248199 = 2.0;
double r248200 = r248199 * r248193;
double r248201 = r248189 + r248200;
double r248202 = 4.0;
double r248203 = r248188 * r248188;
double r248204 = r248202 * r248203;
double r248205 = r248201 + r248204;
double r248206 = r248205 - r248197;
double r248207 = r248185 ? r248198 : r248206;
return r248207;
}



Bits error versus a



Bits error versus b
Results
if a < -0.0006735223120487487 or 9.00135537302134e-08 < a Initial program 0.5
Taylor expanded around inf 0.1
if -0.0006735223120487487 < a < 9.00135537302134e-08Initial program 0.1
Taylor expanded around 0 0.0
Final simplification0.0
herbie shell --seed 2019356
(FPCore (a b)
:name "Bouland and Aaronson, Equation (26)"
:precision binary64
(- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (* b b))) 1))