Average Error: 0.2 → 0.2
Time: 5.8s
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(3 + a\right)\right)\right) - 1\]
\[\left({\left(a \cdot a + b \cdot b\right)}^{2} + \left(4 \cdot \left(\sqrt[3]{\left(a \cdot a\right) \cdot \left(1 - a\right) + \left(b \cdot b\right) \cdot \left(3 + a\right)} \cdot \sqrt[3]{\left(a \cdot a\right) \cdot \left(1 - a\right) + \left(b \cdot b\right) \cdot \left(3 + a\right)}\right)\right) \cdot \sqrt[3]{\left(a \cdot a\right) \cdot \left(1 - a\right) + \left(b \cdot b\right) \cdot \left(3 + a\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(3 + a\right)\right)\right) - 1
\left({\left(a \cdot a + b \cdot b\right)}^{2} + \left(4 \cdot \left(\sqrt[3]{\left(a \cdot a\right) \cdot \left(1 - a\right) + \left(b \cdot b\right) \cdot \left(3 + a\right)} \cdot \sqrt[3]{\left(a \cdot a\right) \cdot \left(1 - a\right) + \left(b \cdot b\right) \cdot \left(3 + a\right)}\right)\right) \cdot \sqrt[3]{\left(a \cdot a\right) \cdot \left(1 - a\right) + \left(b \cdot b\right) \cdot \left(3 + a\right)}\right) - 1
double f(double a, double b) {
        double r267770 = a;
        double r267771 = r267770 * r267770;
        double r267772 = b;
        double r267773 = r267772 * r267772;
        double r267774 = r267771 + r267773;
        double r267775 = 2.0;
        double r267776 = pow(r267774, r267775);
        double r267777 = 4.0;
        double r267778 = 1.0;
        double r267779 = r267778 - r267770;
        double r267780 = r267771 * r267779;
        double r267781 = 3.0;
        double r267782 = r267781 + r267770;
        double r267783 = r267773 * r267782;
        double r267784 = r267780 + r267783;
        double r267785 = r267777 * r267784;
        double r267786 = r267776 + r267785;
        double r267787 = r267786 - r267778;
        return r267787;
}

double f(double a, double b) {
        double r267788 = a;
        double r267789 = r267788 * r267788;
        double r267790 = b;
        double r267791 = r267790 * r267790;
        double r267792 = r267789 + r267791;
        double r267793 = 2.0;
        double r267794 = pow(r267792, r267793);
        double r267795 = 4.0;
        double r267796 = 1.0;
        double r267797 = r267796 - r267788;
        double r267798 = r267789 * r267797;
        double r267799 = 3.0;
        double r267800 = r267799 + r267788;
        double r267801 = r267791 * r267800;
        double r267802 = r267798 + r267801;
        double r267803 = cbrt(r267802);
        double r267804 = r267803 * r267803;
        double r267805 = r267795 * r267804;
        double r267806 = r267805 * r267803;
        double r267807 = r267794 + r267806;
        double r267808 = r267807 - r267796;
        return r267808;
}

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

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

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

Reproduce

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