Average Error: 0.2 → 0.0
Time: 21.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(\left(1 - 3 \cdot a\right) \cdot \left(b \cdot b\right) + \left(a + 1\right) \cdot \left(a \cdot a\right)\right) \cdot 4 + \left(\left({a}^{4} + \left(\left(b \cdot b\right) \cdot \left(a \cdot a\right)\right) \cdot 2\right) + {b}^{4}\right)\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(\left(1 - 3 \cdot a\right) \cdot \left(b \cdot b\right) + \left(a + 1\right) \cdot \left(a \cdot a\right)\right) \cdot 4 + \left(\left({a}^{4} + \left(\left(b \cdot b\right) \cdot \left(a \cdot a\right)\right) \cdot 2\right) + {b}^{4}\right)\right) - 1
double f(double a, double b) {
        double r6247078 = a;
        double r6247079 = r6247078 * r6247078;
        double r6247080 = b;
        double r6247081 = r6247080 * r6247080;
        double r6247082 = r6247079 + r6247081;
        double r6247083 = 2.0;
        double r6247084 = pow(r6247082, r6247083);
        double r6247085 = 4.0;
        double r6247086 = 1.0;
        double r6247087 = r6247086 + r6247078;
        double r6247088 = r6247079 * r6247087;
        double r6247089 = 3.0;
        double r6247090 = r6247089 * r6247078;
        double r6247091 = r6247086 - r6247090;
        double r6247092 = r6247081 * r6247091;
        double r6247093 = r6247088 + r6247092;
        double r6247094 = r6247085 * r6247093;
        double r6247095 = r6247084 + r6247094;
        double r6247096 = r6247095 - r6247086;
        return r6247096;
}

double f(double a, double b) {
        double r6247097 = 1.0;
        double r6247098 = 3.0;
        double r6247099 = a;
        double r6247100 = r6247098 * r6247099;
        double r6247101 = r6247097 - r6247100;
        double r6247102 = b;
        double r6247103 = r6247102 * r6247102;
        double r6247104 = r6247101 * r6247103;
        double r6247105 = r6247099 + r6247097;
        double r6247106 = r6247099 * r6247099;
        double r6247107 = r6247105 * r6247106;
        double r6247108 = r6247104 + r6247107;
        double r6247109 = 4.0;
        double r6247110 = r6247108 * r6247109;
        double r6247111 = pow(r6247099, r6247109);
        double r6247112 = r6247103 * r6247106;
        double r6247113 = 2.0;
        double r6247114 = r6247112 * r6247113;
        double r6247115 = r6247111 + r6247114;
        double r6247116 = pow(r6247102, r6247109);
        double r6247117 = r6247115 + r6247116;
        double r6247118 = r6247110 + r6247117;
        double r6247119 = r6247118 - r6247097;
        return r6247119;
}

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. Taylor expanded around -inf 0.0

    \[\leadsto \left(\color{blue}{\left({b}^{4} + \left({a}^{4} + 2 \cdot \left({a}^{2} \cdot {b}^{2}\right)\right)\right)} + 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\]
  3. Simplified0.2

    \[\leadsto \left(\color{blue}{\left(\left(b \cdot b\right) \cdot \left(b \cdot b\right) + \left(\left(a \cdot a\right) \cdot \left(a \cdot a\right) + 2 \cdot \left(\left(a \cdot a\right) \cdot \left(b \cdot b\right)\right)\right)\right)} + 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. Using strategy rm
  5. Applied pow10.2

    \[\leadsto \left(\left(\left(b \cdot b\right) \cdot \left(b \cdot b\right) + \left(\left(a \cdot a\right) \cdot \left(\color{blue}{{a}^{1}} \cdot a\right) + 2 \cdot \left(\left(a \cdot a\right) \cdot \left(b \cdot b\right)\right)\right)\right) + 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\]
  6. Applied pow-plus0.2

    \[\leadsto \left(\left(\left(b \cdot b\right) \cdot \left(b \cdot b\right) + \left(\left(a \cdot a\right) \cdot \color{blue}{{a}^{\left(1 + 1\right)}} + 2 \cdot \left(\left(a \cdot a\right) \cdot \left(b \cdot b\right)\right)\right)\right) + 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\]
  7. Applied pow10.2

    \[\leadsto \left(\left(\left(b \cdot b\right) \cdot \left(b \cdot b\right) + \left(\left(a \cdot \color{blue}{{a}^{1}}\right) \cdot {a}^{\left(1 + 1\right)} + 2 \cdot \left(\left(a \cdot a\right) \cdot \left(b \cdot b\right)\right)\right)\right) + 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\]
  8. Applied pow10.2

    \[\leadsto \left(\left(\left(b \cdot b\right) \cdot \left(b \cdot b\right) + \left(\left(\color{blue}{{a}^{1}} \cdot {a}^{1}\right) \cdot {a}^{\left(1 + 1\right)} + 2 \cdot \left(\left(a \cdot a\right) \cdot \left(b \cdot b\right)\right)\right)\right) + 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\]
  9. Applied pow-prod-up0.2

    \[\leadsto \left(\left(\left(b \cdot b\right) \cdot \left(b \cdot b\right) + \left(\color{blue}{{a}^{\left(1 + 1\right)}} \cdot {a}^{\left(1 + 1\right)} + 2 \cdot \left(\left(a \cdot a\right) \cdot \left(b \cdot b\right)\right)\right)\right) + 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\]
  10. Applied pow-sqr0.1

    \[\leadsto \left(\left(\left(b \cdot b\right) \cdot \left(b \cdot b\right) + \left(\color{blue}{{a}^{\left(2 \cdot \left(1 + 1\right)\right)}} + 2 \cdot \left(\left(a \cdot a\right) \cdot \left(b \cdot b\right)\right)\right)\right) + 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\]
  11. Simplified0.1

    \[\leadsto \left(\left(\left(b \cdot b\right) \cdot \left(b \cdot b\right) + \left({a}^{\color{blue}{4}} + 2 \cdot \left(\left(a \cdot a\right) \cdot \left(b \cdot b\right)\right)\right)\right) + 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\]
  12. Using strategy rm
  13. Applied pow10.1

    \[\leadsto \left(\left(\left(b \cdot b\right) \cdot \left(b \cdot \color{blue}{{b}^{1}}\right) + \left({a}^{4} + 2 \cdot \left(\left(a \cdot a\right) \cdot \left(b \cdot b\right)\right)\right)\right) + 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\]
  14. Applied pow10.1

    \[\leadsto \left(\left(\left(b \cdot b\right) \cdot \left(\color{blue}{{b}^{1}} \cdot {b}^{1}\right) + \left({a}^{4} + 2 \cdot \left(\left(a \cdot a\right) \cdot \left(b \cdot b\right)\right)\right)\right) + 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\]
  15. Applied pow-prod-up0.1

    \[\leadsto \left(\left(\left(b \cdot b\right) \cdot \color{blue}{{b}^{\left(1 + 1\right)}} + \left({a}^{4} + 2 \cdot \left(\left(a \cdot a\right) \cdot \left(b \cdot b\right)\right)\right)\right) + 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\]
  16. Applied pow10.1

    \[\leadsto \left(\left(\left(\color{blue}{{b}^{1}} \cdot b\right) \cdot {b}^{\left(1 + 1\right)} + \left({a}^{4} + 2 \cdot \left(\left(a \cdot a\right) \cdot \left(b \cdot b\right)\right)\right)\right) + 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\]
  17. Applied pow-plus0.1

    \[\leadsto \left(\left(\color{blue}{{b}^{\left(1 + 1\right)}} \cdot {b}^{\left(1 + 1\right)} + \left({a}^{4} + 2 \cdot \left(\left(a \cdot a\right) \cdot \left(b \cdot b\right)\right)\right)\right) + 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\]
  18. Applied pow-prod-up0.0

    \[\leadsto \left(\left(\color{blue}{{b}^{\left(\left(1 + 1\right) + \left(1 + 1\right)\right)}} + \left({a}^{4} + 2 \cdot \left(\left(a \cdot a\right) \cdot \left(b \cdot b\right)\right)\right)\right) + 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\]
  19. Simplified0.0

    \[\leadsto \left(\left({b}^{\color{blue}{4}} + \left({a}^{4} + 2 \cdot \left(\left(a \cdot a\right) \cdot \left(b \cdot b\right)\right)\right)\right) + 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\]
  20. Final simplification0.0

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

Reproduce

herbie shell --seed 2019153 
(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))