Average Error: 0.2 → 0.5
Time: 17.4s
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(\sqrt[3]{{\left(a \cdot a + b \cdot b\right)}^{2}} \cdot \sqrt[3]{{\left(a \cdot a + b \cdot b\right)}^{2}}\right) \cdot \sqrt[3]{{\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} + 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(\sqrt[3]{{\left(a \cdot a + b \cdot b\right)}^{2}} \cdot \sqrt[3]{{\left(a \cdot a + b \cdot b\right)}^{2}}\right) \cdot \sqrt[3]{{\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
double f(double a, double b) {
        double r376125 = a;
        double r376126 = r376125 * r376125;
        double r376127 = b;
        double r376128 = r376127 * r376127;
        double r376129 = r376126 + r376128;
        double r376130 = 2.0;
        double r376131 = pow(r376129, r376130);
        double r376132 = 4.0;
        double r376133 = 1.0;
        double r376134 = r376133 - r376125;
        double r376135 = r376126 * r376134;
        double r376136 = 3.0;
        double r376137 = r376136 + r376125;
        double r376138 = r376128 * r376137;
        double r376139 = r376135 + r376138;
        double r376140 = r376132 * r376139;
        double r376141 = r376131 + r376140;
        double r376142 = r376141 - r376133;
        return r376142;
}

double f(double a, double b) {
        double r376143 = a;
        double r376144 = r376143 * r376143;
        double r376145 = b;
        double r376146 = r376145 * r376145;
        double r376147 = r376144 + r376146;
        double r376148 = 2.0;
        double r376149 = pow(r376147, r376148);
        double r376150 = cbrt(r376149);
        double r376151 = r376150 * r376150;
        double r376152 = r376151 * r376150;
        double r376153 = 4.0;
        double r376154 = 1.0;
        double r376155 = r376154 - r376143;
        double r376156 = r376144 * r376155;
        double r376157 = 3.0;
        double r376158 = r376157 + r376143;
        double r376159 = r376146 * r376158;
        double r376160 = r376156 + r376159;
        double r376161 = r376153 * r376160;
        double r376162 = r376152 + r376161;
        double r376163 = r376162 - r376154;
        return r376163;
}

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

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

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

Reproduce

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