Average Error: 0.2 → 0.5
Time: 37.2s
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(4 \cdot \left(\left(1 - a\right) \cdot \left(a \cdot a\right) + \left(b \cdot b\right) \cdot \left(3 + a\right)\right) + {\left(\sqrt[3]{a \cdot a + b \cdot b}\right)}^{2} \cdot \left(\left(\sqrt[3]{\sqrt{a \cdot a + b \cdot b}} \cdot \sqrt[3]{\sqrt{a \cdot a + b \cdot b}}\right) \cdot \left(a \cdot a + b \cdot b\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(3 + a\right)\right)\right) - 1
\left(4 \cdot \left(\left(1 - a\right) \cdot \left(a \cdot a\right) + \left(b \cdot b\right) \cdot \left(3 + a\right)\right) + {\left(\sqrt[3]{a \cdot a + b \cdot b}\right)}^{2} \cdot \left(\left(\sqrt[3]{\sqrt{a \cdot a + b \cdot b}} \cdot \sqrt[3]{\sqrt{a \cdot a + b \cdot b}}\right) \cdot \left(a \cdot a + b \cdot b\right)\right)\right) - 1
double f(double a, double b) {
        double r55782022 = a;
        double r55782023 = r55782022 * r55782022;
        double r55782024 = b;
        double r55782025 = r55782024 * r55782024;
        double r55782026 = r55782023 + r55782025;
        double r55782027 = 2.0;
        double r55782028 = pow(r55782026, r55782027);
        double r55782029 = 4.0;
        double r55782030 = 1.0;
        double r55782031 = r55782030 - r55782022;
        double r55782032 = r55782023 * r55782031;
        double r55782033 = 3.0;
        double r55782034 = r55782033 + r55782022;
        double r55782035 = r55782025 * r55782034;
        double r55782036 = r55782032 + r55782035;
        double r55782037 = r55782029 * r55782036;
        double r55782038 = r55782028 + r55782037;
        double r55782039 = r55782038 - r55782030;
        return r55782039;
}

double f(double a, double b) {
        double r55782040 = 4.0;
        double r55782041 = 1.0;
        double r55782042 = a;
        double r55782043 = r55782041 - r55782042;
        double r55782044 = r55782042 * r55782042;
        double r55782045 = r55782043 * r55782044;
        double r55782046 = b;
        double r55782047 = r55782046 * r55782046;
        double r55782048 = 3.0;
        double r55782049 = r55782048 + r55782042;
        double r55782050 = r55782047 * r55782049;
        double r55782051 = r55782045 + r55782050;
        double r55782052 = r55782040 * r55782051;
        double r55782053 = r55782044 + r55782047;
        double r55782054 = cbrt(r55782053);
        double r55782055 = 2.0;
        double r55782056 = pow(r55782054, r55782055);
        double r55782057 = sqrt(r55782053);
        double r55782058 = cbrt(r55782057);
        double r55782059 = r55782058 * r55782058;
        double r55782060 = r55782059 * r55782053;
        double r55782061 = r55782056 * r55782060;
        double r55782062 = r55782052 + r55782061;
        double r55782063 = r55782062 - r55782041;
        return r55782063;
}

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.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(3 + 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(3 + a\right)\right)\right) - 1\]
  5. Simplified0.5

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

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

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

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

Reproduce

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