Average Error: 0.5 → 0.7
Time: 54.4s
Precision: 64
\[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right)\]
\[\left(\frac{x2 \cdot -2 + \left(\left(x1 \cdot x1\right) \cdot 3 - x1\right)}{1 + x1 \cdot x1} \cdot 3 + x1\right) + \left(\left(x1 + \left(-6 + \left(2 \cdot x2 - \left(x1 - \left(x1 \cdot x1\right) \cdot 3\right)\right) \cdot \frac{4}{1 + x1 \cdot x1}\right) \cdot \left(x1 \cdot x1\right)\right) \cdot \left(1 + x1 \cdot x1\right) + \left(\left(\left(x1 \cdot x1\right) \cdot 3 + \left(x1 \cdot \left(\frac{2 \cdot x2 - \left(x1 - \left(x1 \cdot x1\right) \cdot 3\right)}{1 + x1 \cdot x1} - 3\right)\right) \cdot \left(2 \cdot \left(1 + x1 \cdot x1\right)\right)\right) \cdot \frac{\sqrt[3]{2 \cdot x2 - \left(x1 - \left(x1 \cdot x1\right) \cdot 3\right)}}{1 + x1 \cdot x1}\right) \cdot \left(\sqrt[3]{2 \cdot x2 - \left(x1 - \left(x1 \cdot x1\right) \cdot 3\right)} \cdot \sqrt[3]{2 \cdot x2 - \left(x1 - \left(x1 \cdot x1\right) \cdot 3\right)}\right)\right)\]
x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right)
\left(\frac{x2 \cdot -2 + \left(\left(x1 \cdot x1\right) \cdot 3 - x1\right)}{1 + x1 \cdot x1} \cdot 3 + x1\right) + \left(\left(x1 + \left(-6 + \left(2 \cdot x2 - \left(x1 - \left(x1 \cdot x1\right) \cdot 3\right)\right) \cdot \frac{4}{1 + x1 \cdot x1}\right) \cdot \left(x1 \cdot x1\right)\right) \cdot \left(1 + x1 \cdot x1\right) + \left(\left(\left(x1 \cdot x1\right) \cdot 3 + \left(x1 \cdot \left(\frac{2 \cdot x2 - \left(x1 - \left(x1 \cdot x1\right) \cdot 3\right)}{1 + x1 \cdot x1} - 3\right)\right) \cdot \left(2 \cdot \left(1 + x1 \cdot x1\right)\right)\right) \cdot \frac{\sqrt[3]{2 \cdot x2 - \left(x1 - \left(x1 \cdot x1\right) \cdot 3\right)}}{1 + x1 \cdot x1}\right) \cdot \left(\sqrt[3]{2 \cdot x2 - \left(x1 - \left(x1 \cdot x1\right) \cdot 3\right)} \cdot \sqrt[3]{2 \cdot x2 - \left(x1 - \left(x1 \cdot x1\right) \cdot 3\right)}\right)\right)
double f(double x1, double x2) {
        double r3225144 = x1;
        double r3225145 = 2.0;
        double r3225146 = r3225145 * r3225144;
        double r3225147 = 3.0;
        double r3225148 = r3225147 * r3225144;
        double r3225149 = r3225148 * r3225144;
        double r3225150 = x2;
        double r3225151 = r3225145 * r3225150;
        double r3225152 = r3225149 + r3225151;
        double r3225153 = r3225152 - r3225144;
        double r3225154 = r3225144 * r3225144;
        double r3225155 = 1.0;
        double r3225156 = r3225154 + r3225155;
        double r3225157 = r3225153 / r3225156;
        double r3225158 = r3225146 * r3225157;
        double r3225159 = r3225157 - r3225147;
        double r3225160 = r3225158 * r3225159;
        double r3225161 = 4.0;
        double r3225162 = r3225161 * r3225157;
        double r3225163 = 6.0;
        double r3225164 = r3225162 - r3225163;
        double r3225165 = r3225154 * r3225164;
        double r3225166 = r3225160 + r3225165;
        double r3225167 = r3225166 * r3225156;
        double r3225168 = r3225149 * r3225157;
        double r3225169 = r3225167 + r3225168;
        double r3225170 = r3225154 * r3225144;
        double r3225171 = r3225169 + r3225170;
        double r3225172 = r3225171 + r3225144;
        double r3225173 = r3225149 - r3225151;
        double r3225174 = r3225173 - r3225144;
        double r3225175 = r3225174 / r3225156;
        double r3225176 = r3225147 * r3225175;
        double r3225177 = r3225172 + r3225176;
        double r3225178 = r3225144 + r3225177;
        return r3225178;
}

double f(double x1, double x2) {
        double r3225179 = x2;
        double r3225180 = -2.0;
        double r3225181 = r3225179 * r3225180;
        double r3225182 = x1;
        double r3225183 = r3225182 * r3225182;
        double r3225184 = 3.0;
        double r3225185 = r3225183 * r3225184;
        double r3225186 = r3225185 - r3225182;
        double r3225187 = r3225181 + r3225186;
        double r3225188 = 1.0;
        double r3225189 = r3225188 + r3225183;
        double r3225190 = r3225187 / r3225189;
        double r3225191 = r3225190 * r3225184;
        double r3225192 = r3225191 + r3225182;
        double r3225193 = -6.0;
        double r3225194 = 2.0;
        double r3225195 = r3225194 * r3225179;
        double r3225196 = r3225182 - r3225185;
        double r3225197 = r3225195 - r3225196;
        double r3225198 = 4.0;
        double r3225199 = r3225198 / r3225189;
        double r3225200 = r3225197 * r3225199;
        double r3225201 = r3225193 + r3225200;
        double r3225202 = r3225201 * r3225183;
        double r3225203 = r3225182 + r3225202;
        double r3225204 = r3225203 * r3225189;
        double r3225205 = r3225197 / r3225189;
        double r3225206 = r3225205 - r3225184;
        double r3225207 = r3225182 * r3225206;
        double r3225208 = r3225194 * r3225189;
        double r3225209 = r3225207 * r3225208;
        double r3225210 = r3225185 + r3225209;
        double r3225211 = cbrt(r3225197);
        double r3225212 = r3225211 / r3225189;
        double r3225213 = r3225210 * r3225212;
        double r3225214 = r3225211 * r3225211;
        double r3225215 = r3225213 * r3225214;
        double r3225216 = r3225204 + r3225215;
        double r3225217 = r3225192 + r3225216;
        return r3225217;
}

Error

Bits error versus x1

Bits error versus x2

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.5

    \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right)\]
  2. Simplified0.5

    \[\leadsto \color{blue}{\left(x1 + 3 \cdot \frac{\left(\left(x1 \cdot x1\right) \cdot 3 - x1\right) + x2 \cdot -2}{1 + x1 \cdot x1}\right) + \left(\frac{x2 \cdot 2 - \left(x1 - \left(x1 \cdot x1\right) \cdot 3\right)}{1 + x1 \cdot x1} \cdot \left(\left(x1 \cdot x1\right) \cdot 3 + \left(2 \cdot \left(1 + x1 \cdot x1\right)\right) \cdot \left(\left(\frac{x2 \cdot 2 - \left(x1 - \left(x1 \cdot x1\right) \cdot 3\right)}{1 + x1 \cdot x1} - 3\right) \cdot x1\right)\right) + \left(1 + x1 \cdot x1\right) \cdot \left(\left(x1 \cdot x1\right) \cdot \left(\frac{4}{1 + x1 \cdot x1} \cdot \left(x2 \cdot 2 - \left(x1 - \left(x1 \cdot x1\right) \cdot 3\right)\right) + -6\right) + x1\right)\right)}\]
  3. Using strategy rm
  4. Applied *-un-lft-identity0.5

    \[\leadsto \left(x1 + 3 \cdot \frac{\left(\left(x1 \cdot x1\right) \cdot 3 - x1\right) + x2 \cdot -2}{1 + x1 \cdot x1}\right) + \left(\frac{x2 \cdot 2 - \left(x1 - \left(x1 \cdot x1\right) \cdot 3\right)}{\color{blue}{1 \cdot \left(1 + x1 \cdot x1\right)}} \cdot \left(\left(x1 \cdot x1\right) \cdot 3 + \left(2 \cdot \left(1 + x1 \cdot x1\right)\right) \cdot \left(\left(\frac{x2 \cdot 2 - \left(x1 - \left(x1 \cdot x1\right) \cdot 3\right)}{1 + x1 \cdot x1} - 3\right) \cdot x1\right)\right) + \left(1 + x1 \cdot x1\right) \cdot \left(\left(x1 \cdot x1\right) \cdot \left(\frac{4}{1 + x1 \cdot x1} \cdot \left(x2 \cdot 2 - \left(x1 - \left(x1 \cdot x1\right) \cdot 3\right)\right) + -6\right) + x1\right)\right)\]
  5. Applied add-cube-cbrt0.7

    \[\leadsto \left(x1 + 3 \cdot \frac{\left(\left(x1 \cdot x1\right) \cdot 3 - x1\right) + x2 \cdot -2}{1 + x1 \cdot x1}\right) + \left(\frac{\color{blue}{\left(\sqrt[3]{x2 \cdot 2 - \left(x1 - \left(x1 \cdot x1\right) \cdot 3\right)} \cdot \sqrt[3]{x2 \cdot 2 - \left(x1 - \left(x1 \cdot x1\right) \cdot 3\right)}\right) \cdot \sqrt[3]{x2 \cdot 2 - \left(x1 - \left(x1 \cdot x1\right) \cdot 3\right)}}}{1 \cdot \left(1 + x1 \cdot x1\right)} \cdot \left(\left(x1 \cdot x1\right) \cdot 3 + \left(2 \cdot \left(1 + x1 \cdot x1\right)\right) \cdot \left(\left(\frac{x2 \cdot 2 - \left(x1 - \left(x1 \cdot x1\right) \cdot 3\right)}{1 + x1 \cdot x1} - 3\right) \cdot x1\right)\right) + \left(1 + x1 \cdot x1\right) \cdot \left(\left(x1 \cdot x1\right) \cdot \left(\frac{4}{1 + x1 \cdot x1} \cdot \left(x2 \cdot 2 - \left(x1 - \left(x1 \cdot x1\right) \cdot 3\right)\right) + -6\right) + x1\right)\right)\]
  6. Applied times-frac0.7

    \[\leadsto \left(x1 + 3 \cdot \frac{\left(\left(x1 \cdot x1\right) \cdot 3 - x1\right) + x2 \cdot -2}{1 + x1 \cdot x1}\right) + \left(\color{blue}{\left(\frac{\sqrt[3]{x2 \cdot 2 - \left(x1 - \left(x1 \cdot x1\right) \cdot 3\right)} \cdot \sqrt[3]{x2 \cdot 2 - \left(x1 - \left(x1 \cdot x1\right) \cdot 3\right)}}{1} \cdot \frac{\sqrt[3]{x2 \cdot 2 - \left(x1 - \left(x1 \cdot x1\right) \cdot 3\right)}}{1 + x1 \cdot x1}\right)} \cdot \left(\left(x1 \cdot x1\right) \cdot 3 + \left(2 \cdot \left(1 + x1 \cdot x1\right)\right) \cdot \left(\left(\frac{x2 \cdot 2 - \left(x1 - \left(x1 \cdot x1\right) \cdot 3\right)}{1 + x1 \cdot x1} - 3\right) \cdot x1\right)\right) + \left(1 + x1 \cdot x1\right) \cdot \left(\left(x1 \cdot x1\right) \cdot \left(\frac{4}{1 + x1 \cdot x1} \cdot \left(x2 \cdot 2 - \left(x1 - \left(x1 \cdot x1\right) \cdot 3\right)\right) + -6\right) + x1\right)\right)\]
  7. Applied associate-*l*0.7

    \[\leadsto \left(x1 + 3 \cdot \frac{\left(\left(x1 \cdot x1\right) \cdot 3 - x1\right) + x2 \cdot -2}{1 + x1 \cdot x1}\right) + \left(\color{blue}{\frac{\sqrt[3]{x2 \cdot 2 - \left(x1 - \left(x1 \cdot x1\right) \cdot 3\right)} \cdot \sqrt[3]{x2 \cdot 2 - \left(x1 - \left(x1 \cdot x1\right) \cdot 3\right)}}{1} \cdot \left(\frac{\sqrt[3]{x2 \cdot 2 - \left(x1 - \left(x1 \cdot x1\right) \cdot 3\right)}}{1 + x1 \cdot x1} \cdot \left(\left(x1 \cdot x1\right) \cdot 3 + \left(2 \cdot \left(1 + x1 \cdot x1\right)\right) \cdot \left(\left(\frac{x2 \cdot 2 - \left(x1 - \left(x1 \cdot x1\right) \cdot 3\right)}{1 + x1 \cdot x1} - 3\right) \cdot x1\right)\right)\right)} + \left(1 + x1 \cdot x1\right) \cdot \left(\left(x1 \cdot x1\right) \cdot \left(\frac{4}{1 + x1 \cdot x1} \cdot \left(x2 \cdot 2 - \left(x1 - \left(x1 \cdot x1\right) \cdot 3\right)\right) + -6\right) + x1\right)\right)\]
  8. Final simplification0.7

    \[\leadsto \left(\frac{x2 \cdot -2 + \left(\left(x1 \cdot x1\right) \cdot 3 - x1\right)}{1 + x1 \cdot x1} \cdot 3 + x1\right) + \left(\left(x1 + \left(-6 + \left(2 \cdot x2 - \left(x1 - \left(x1 \cdot x1\right) \cdot 3\right)\right) \cdot \frac{4}{1 + x1 \cdot x1}\right) \cdot \left(x1 \cdot x1\right)\right) \cdot \left(1 + x1 \cdot x1\right) + \left(\left(\left(x1 \cdot x1\right) \cdot 3 + \left(x1 \cdot \left(\frac{2 \cdot x2 - \left(x1 - \left(x1 \cdot x1\right) \cdot 3\right)}{1 + x1 \cdot x1} - 3\right)\right) \cdot \left(2 \cdot \left(1 + x1 \cdot x1\right)\right)\right) \cdot \frac{\sqrt[3]{2 \cdot x2 - \left(x1 - \left(x1 \cdot x1\right) \cdot 3\right)}}{1 + x1 \cdot x1}\right) \cdot \left(\sqrt[3]{2 \cdot x2 - \left(x1 - \left(x1 \cdot x1\right) \cdot 3\right)} \cdot \sqrt[3]{2 \cdot x2 - \left(x1 - \left(x1 \cdot x1\right) \cdot 3\right)}\right)\right)\]

Reproduce

herbie shell --seed 2019143 
(FPCore (x1 x2)
  :name "Rosa's FloatVsDoubleBenchmark"
  (+ x1 (+ (+ (+ (+ (* (+ (* (* (* 2 x1) (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) (- (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1)) 3)) (* (* x1 x1) (- (* 4 (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) 6))) (+ (* x1 x1) 1)) (* (* (* 3 x1) x1) (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1)))) (* (* x1 x1) x1)) x1) (* 3 (/ (- (- (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))))))