Average Error: 0.2 → 0.2
Time: 48.7s
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(4 \cdot \left(\left(b \cdot b\right) \cdot \left(1 - a \cdot 3\right) + \left(\left(\sqrt[3]{a + 1} \cdot \sqrt[3]{a + 1}\right) \cdot \left(a \cdot a\right)\right) \cdot \sqrt[3]{a + 1}\right) + {\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(4 \cdot \left(\left(b \cdot b\right) \cdot \left(1 - a \cdot 3\right) + \left(\left(\sqrt[3]{a + 1} \cdot \sqrt[3]{a + 1}\right) \cdot \left(a \cdot a\right)\right) \cdot \sqrt[3]{a + 1}\right) + {\left(a \cdot a + b \cdot b\right)}^{2}\right) - 1
double f(double a, double b) {
        double r56407333 = a;
        double r56407334 = r56407333 * r56407333;
        double r56407335 = b;
        double r56407336 = r56407335 * r56407335;
        double r56407337 = r56407334 + r56407336;
        double r56407338 = 2.0;
        double r56407339 = pow(r56407337, r56407338);
        double r56407340 = 4.0;
        double r56407341 = 1.0;
        double r56407342 = r56407341 + r56407333;
        double r56407343 = r56407334 * r56407342;
        double r56407344 = 3.0;
        double r56407345 = r56407344 * r56407333;
        double r56407346 = r56407341 - r56407345;
        double r56407347 = r56407336 * r56407346;
        double r56407348 = r56407343 + r56407347;
        double r56407349 = r56407340 * r56407348;
        double r56407350 = r56407339 + r56407349;
        double r56407351 = r56407350 - r56407341;
        return r56407351;
}

double f(double a, double b) {
        double r56407352 = 4.0;
        double r56407353 = b;
        double r56407354 = r56407353 * r56407353;
        double r56407355 = 1.0;
        double r56407356 = a;
        double r56407357 = 3.0;
        double r56407358 = r56407356 * r56407357;
        double r56407359 = r56407355 - r56407358;
        double r56407360 = r56407354 * r56407359;
        double r56407361 = r56407356 + r56407355;
        double r56407362 = cbrt(r56407361);
        double r56407363 = r56407362 * r56407362;
        double r56407364 = r56407356 * r56407356;
        double r56407365 = r56407363 * r56407364;
        double r56407366 = r56407365 * r56407362;
        double r56407367 = r56407360 + r56407366;
        double r56407368 = r56407352 * r56407367;
        double r56407369 = r56407364 + r56407354;
        double r56407370 = 2.0;
        double r56407371 = pow(r56407369, r56407370);
        double r56407372 = r56407368 + r56407371;
        double r56407373 = r56407372 - r56407355;
        return r56407373;
}

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} + 4 \cdot \left(\left(a \cdot a\right) \cdot \color{blue}{\left(\left(\sqrt[3]{1 + a} \cdot \sqrt[3]{1 + a}\right) \cdot \sqrt[3]{1 + a}\right)} + \left(b \cdot b\right) \cdot \left(1 - 3 \cdot a\right)\right)\right) - 1\]
  4. Applied associate-*r*0.2

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

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

Reproduce

herbie shell --seed 2019107 
(FPCore (a b)
  :name "Bouland and Aaronson, Equation (25)"
  (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (+ 1 a)) (* (* b b) (- 1 (* 3 a)))))) 1))