Average Error: 0.2 → 0.2
Time: 24.3s
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(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(a \cdot \left(a \cdot \left(1 + a\right)\right) + \left(\sqrt[3]{\left(b \cdot b\right) \cdot \left(1 - 3 \cdot a\right)} \cdot \sqrt[3]{\left(b \cdot b\right) \cdot \left(1 - 3 \cdot a\right)}\right) \cdot \sqrt[3]{\left(b \cdot b\right) \cdot \left(1 - 3 \cdot a\right)}\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(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(a \cdot \left(a \cdot \left(1 + a\right)\right) + \left(\sqrt[3]{\left(b \cdot b\right) \cdot \left(1 - 3 \cdot a\right)} \cdot \sqrt[3]{\left(b \cdot b\right) \cdot \left(1 - 3 \cdot a\right)}\right) \cdot \sqrt[3]{\left(b \cdot b\right) \cdot \left(1 - 3 \cdot a\right)}\right)\right) - 1
double f(double a, double b) {
        double r277774 = a;
        double r277775 = r277774 * r277774;
        double r277776 = b;
        double r277777 = r277776 * r277776;
        double r277778 = r277775 + r277777;
        double r277779 = 2.0;
        double r277780 = pow(r277778, r277779);
        double r277781 = 4.0;
        double r277782 = 1.0;
        double r277783 = r277782 + r277774;
        double r277784 = r277775 * r277783;
        double r277785 = 3.0;
        double r277786 = r277785 * r277774;
        double r277787 = r277782 - r277786;
        double r277788 = r277777 * r277787;
        double r277789 = r277784 + r277788;
        double r277790 = r277781 * r277789;
        double r277791 = r277780 + r277790;
        double r277792 = r277791 - r277782;
        return r277792;
}

double f(double a, double b) {
        double r277793 = a;
        double r277794 = r277793 * r277793;
        double r277795 = b;
        double r277796 = r277795 * r277795;
        double r277797 = r277794 + r277796;
        double r277798 = 2.0;
        double r277799 = pow(r277797, r277798);
        double r277800 = 4.0;
        double r277801 = 1.0;
        double r277802 = r277801 + r277793;
        double r277803 = r277793 * r277802;
        double r277804 = r277793 * r277803;
        double r277805 = 3.0;
        double r277806 = r277805 * r277793;
        double r277807 = r277801 - r277806;
        double r277808 = r277796 * r277807;
        double r277809 = cbrt(r277808);
        double r277810 = r277809 * r277809;
        double r277811 = r277810 * r277809;
        double r277812 = r277804 + r277811;
        double r277813 = r277800 * r277812;
        double r277814 = r277799 + r277813;
        double r277815 = r277814 - r277801;
        return r277815;
}

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 associate-*l*0.2

    \[\leadsto \left({\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(\color{blue}{a \cdot \left(a \cdot \left(1 + a\right)\right)} + \left(b \cdot b\right) \cdot \left(1 - 3 \cdot a\right)\right)\right) - 1\]
  4. Using strategy rm
  5. Applied add-cube-cbrt0.2

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

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

Reproduce

herbie shell --seed 2019347 +o rules:numerics
(FPCore (a b)
  :name "Bouland and Aaronson, Equation (25)"
  :precision binary64
  (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (+ 1 a)) (* (* b b) (- 1 (* 3 a)))))) 1))