Average Error: 0.2 → 0.7
Time: 11.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(1 - 3 \cdot a\right)\right)\right) - 1\]
\[\left({\left(\sqrt[3]{a \cdot a + b \cdot b} \cdot \sqrt[3]{a \cdot a + b \cdot b}\right)}^{2} \cdot {\left(\sqrt[3]{\sqrt{a \cdot a + b \cdot b}} \cdot \sqrt[3]{\sqrt{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(\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]{a \cdot a + b \cdot b} \cdot \sqrt[3]{a \cdot a + b \cdot b}\right)}^{2} \cdot {\left(\sqrt[3]{\sqrt{a \cdot a + b \cdot b}} \cdot \sqrt[3]{\sqrt{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
double f(double a, double b) {
        double r364759 = a;
        double r364760 = r364759 * r364759;
        double r364761 = b;
        double r364762 = r364761 * r364761;
        double r364763 = r364760 + r364762;
        double r364764 = 2.0;
        double r364765 = pow(r364763, r364764);
        double r364766 = 4.0;
        double r364767 = 1.0;
        double r364768 = r364767 + r364759;
        double r364769 = r364760 * r364768;
        double r364770 = 3.0;
        double r364771 = r364770 * r364759;
        double r364772 = r364767 - r364771;
        double r364773 = r364762 * r364772;
        double r364774 = r364769 + r364773;
        double r364775 = r364766 * r364774;
        double r364776 = r364765 + r364775;
        double r364777 = r364776 - r364767;
        return r364777;
}

double f(double a, double b) {
        double r364778 = a;
        double r364779 = r364778 * r364778;
        double r364780 = b;
        double r364781 = r364780 * r364780;
        double r364782 = r364779 + r364781;
        double r364783 = cbrt(r364782);
        double r364784 = r364783 * r364783;
        double r364785 = 2.0;
        double r364786 = pow(r364784, r364785);
        double r364787 = sqrt(r364782);
        double r364788 = cbrt(r364787);
        double r364789 = r364788 * r364788;
        double r364790 = pow(r364789, r364785);
        double r364791 = r364786 * r364790;
        double r364792 = 4.0;
        double r364793 = 1.0;
        double r364794 = r364793 + r364778;
        double r364795 = r364779 * r364794;
        double r364796 = 3.0;
        double r364797 = r364796 * r364778;
        double r364798 = r364793 - r364797;
        double r364799 = r364781 * r364798;
        double r364800 = r364795 + r364799;
        double r364801 = r364792 * r364800;
        double r364802 = r364791 + r364801;
        double r364803 = r364802 - r364793;
        return r364803;
}

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.7

    \[\leadsto \left({\color{blue}{\left(\left(\sqrt[3]{a \cdot a + b \cdot b} \cdot \sqrt[3]{a \cdot a + b \cdot b}\right) \cdot \sqrt[3]{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\]
  4. Applied unpow-prod-down0.7

    \[\leadsto \left(\color{blue}{{\left(\sqrt[3]{a \cdot a + b \cdot b} \cdot \sqrt[3]{a \cdot a + b \cdot b}\right)}^{2} \cdot {\left(\sqrt[3]{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\]
  5. Using strategy rm
  6. Applied add-sqr-sqrt0.7

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

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

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

Reproduce

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