Average Error: 0.2 → 0.2
Time: 27.1s
Precision: 64
\[\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(1 - 3 \cdot a\right)\right)\right) - 1\]
\[\left(\left(\sqrt[3]{\left(\left(a \cdot a\right) \cdot \left(a + 1\right) + \left(b \cdot b\right) \cdot \left(1 - 3 \cdot a\right)\right) \cdot 4} \cdot \sqrt[3]{\left(\left(a \cdot a\right) \cdot \left(a + 1\right) + \left(b \cdot b\right) \cdot \left(1 - 3 \cdot a\right)\right) \cdot 4}\right) \cdot \sqrt[3]{\left(\left(a \cdot a\right) \cdot \left(a + 1\right) + \left(b \cdot b\right) \cdot \left(1 - 3 \cdot a\right)\right) \cdot 4} + {\left(a \cdot a + b \cdot b\right)}^{2}\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(1 - 3 \cdot a\right)\right)\right) - 1
\left(\left(\sqrt[3]{\left(\left(a \cdot a\right) \cdot \left(a + 1\right) + \left(b \cdot b\right) \cdot \left(1 - 3 \cdot a\right)\right) \cdot 4} \cdot \sqrt[3]{\left(\left(a \cdot a\right) \cdot \left(a + 1\right) + \left(b \cdot b\right) \cdot \left(1 - 3 \cdot a\right)\right) \cdot 4}\right) \cdot \sqrt[3]{\left(\left(a \cdot a\right) \cdot \left(a + 1\right) + \left(b \cdot b\right) \cdot \left(1 - 3 \cdot a\right)\right) \cdot 4} + {\left(a \cdot a + b \cdot b\right)}^{2}\right) - 1
double f(double a, double b) {
        double r7885303 = a;
        double r7885304 = r7885303 * r7885303;
        double r7885305 = b;
        double r7885306 = r7885305 * r7885305;
        double r7885307 = r7885304 + r7885306;
        double r7885308 = 2.0;
        double r7885309 = pow(r7885307, r7885308);
        double r7885310 = 4.0;
        double r7885311 = 1.0;
        double r7885312 = r7885311 + r7885303;
        double r7885313 = r7885304 * r7885312;
        double r7885314 = 3.0;
        double r7885315 = r7885314 * r7885303;
        double r7885316 = r7885311 - r7885315;
        double r7885317 = r7885306 * r7885316;
        double r7885318 = r7885313 + r7885317;
        double r7885319 = r7885310 * r7885318;
        double r7885320 = r7885309 + r7885319;
        double r7885321 = r7885320 - r7885311;
        return r7885321;
}

double f(double a, double b) {
        double r7885322 = a;
        double r7885323 = r7885322 * r7885322;
        double r7885324 = 1.0;
        double r7885325 = r7885322 + r7885324;
        double r7885326 = r7885323 * r7885325;
        double r7885327 = b;
        double r7885328 = r7885327 * r7885327;
        double r7885329 = 3.0;
        double r7885330 = r7885329 * r7885322;
        double r7885331 = r7885324 - r7885330;
        double r7885332 = r7885328 * r7885331;
        double r7885333 = r7885326 + r7885332;
        double r7885334 = 4.0;
        double r7885335 = r7885333 * r7885334;
        double r7885336 = cbrt(r7885335);
        double r7885337 = r7885336 * r7885336;
        double r7885338 = r7885337 * r7885336;
        double r7885339 = r7885323 + r7885328;
        double r7885340 = 2.0;
        double r7885341 = pow(r7885339, r7885340);
        double r7885342 = r7885338 + r7885341;
        double r7885343 = r7885342 - r7885324;
        return r7885343;
}

Error

Bits error versus a

Bits error versus b

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.2

    \[\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(1 - 3 \cdot a\right)\right)\right) - 1\]
  2. Using strategy rm
  3. Applied add-cube-cbrt0.2

    \[\leadsto \left({\left(a \cdot a + b \cdot b\right)}^{2} + \color{blue}{\left(\sqrt[3]{4 \cdot \left(\left(a \cdot a\right) \cdot \left(1 + a\right) + \left(b \cdot b\right) \cdot \left(1 - 3 \cdot a\right)\right)} \cdot \sqrt[3]{4 \cdot \left(\left(a \cdot a\right) \cdot \left(1 + a\right) + \left(b \cdot b\right) \cdot \left(1 - 3 \cdot a\right)\right)}\right) \cdot \sqrt[3]{4 \cdot \left(\left(a \cdot a\right) \cdot \left(1 + a\right) + \left(b \cdot b\right) \cdot \left(1 - 3 \cdot a\right)\right)}}\right) - 1\]
  4. Final simplification0.2

    \[\leadsto \left(\left(\sqrt[3]{\left(\left(a \cdot a\right) \cdot \left(a + 1\right) + \left(b \cdot b\right) \cdot \left(1 - 3 \cdot a\right)\right) \cdot 4} \cdot \sqrt[3]{\left(\left(a \cdot a\right) \cdot \left(a + 1\right) + \left(b \cdot b\right) \cdot \left(1 - 3 \cdot a\right)\right) \cdot 4}\right) \cdot \sqrt[3]{\left(\left(a \cdot a\right) \cdot \left(a + 1\right) + \left(b \cdot b\right) \cdot \left(1 - 3 \cdot a\right)\right) \cdot 4} + {\left(a \cdot a + b \cdot b\right)}^{2}\right) - 1\]

Reproduce

herbie shell --seed 2019172 
(FPCore (a b)
  :name "Bouland and Aaronson, Equation (25)"
  (- (+ (pow (+ (* a a) (* b b)) 2.0) (* 4.0 (+ (* (* a a) (+ 1.0 a)) (* (* b b) (- 1.0 (* 3.0 a)))))) 1.0))