Average Error: 0.5 → 0.5
Time: 56.7s
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(x1 + \left(\sqrt[3]{\frac{\left(x1 \cdot x1\right) \cdot 3}{\frac{x1 \cdot x1 + 1}{\left(x1 \cdot x1\right) \cdot 3 + \left(x2 \cdot 2 - x1\right)}}} \cdot \sqrt[3]{\frac{\left(x1 \cdot x1\right) \cdot 3}{\frac{x1 \cdot x1 + 1}{\left(x1 \cdot x1\right) \cdot 3 + \left(x2 \cdot 2 - x1\right)}}}\right) \cdot \sqrt[3]{\frac{\left(x1 \cdot x1\right) \cdot 3}{\frac{x1 \cdot x1 + 1}{\left(x1 \cdot x1\right) \cdot 3 + \left(x2 \cdot 2 - x1\right)}}}\right) + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(\left(\left(x1 \cdot x1\right) \cdot -6 + x1\right) + \frac{\left(x1 \cdot x1\right) \cdot 3 + \left(x2 \cdot 2 - x1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(\left(\frac{\left(x1 \cdot x1\right) \cdot 3 + \left(x2 \cdot 2 - x1\right)}{x1 \cdot x1 + 1} - 3\right) \cdot 2\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + \frac{-2 \cdot x2 + \left(\left(x1 \cdot x1\right) \cdot 3 - x1\right)}{x1 \cdot x1 + 1} \cdot 3\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(x1 + \left(\sqrt[3]{\frac{\left(x1 \cdot x1\right) \cdot 3}{\frac{x1 \cdot x1 + 1}{\left(x1 \cdot x1\right) \cdot 3 + \left(x2 \cdot 2 - x1\right)}}} \cdot \sqrt[3]{\frac{\left(x1 \cdot x1\right) \cdot 3}{\frac{x1 \cdot x1 + 1}{\left(x1 \cdot x1\right) \cdot 3 + \left(x2 \cdot 2 - x1\right)}}}\right) \cdot \sqrt[3]{\frac{\left(x1 \cdot x1\right) \cdot 3}{\frac{x1 \cdot x1 + 1}{\left(x1 \cdot x1\right) \cdot 3 + \left(x2 \cdot 2 - x1\right)}}}\right) + \left(\left(x1 \cdot x1 + 1\right) \cdot \left(\left(\left(x1 \cdot x1\right) \cdot -6 + x1\right) + \frac{\left(x1 \cdot x1\right) \cdot 3 + \left(x2 \cdot 2 - x1\right)}{x1 \cdot x1 + 1} \cdot \left(x1 \cdot \left(\left(\frac{\left(x1 \cdot x1\right) \cdot 3 + \left(x2 \cdot 2 - x1\right)}{x1 \cdot x1 + 1} - 3\right) \cdot 2\right) + \left(x1 \cdot x1\right) \cdot 4\right)\right) + \frac{-2 \cdot x2 + \left(\left(x1 \cdot x1\right) \cdot 3 - x1\right)}{x1 \cdot x1 + 1} \cdot 3\right)
double f(double x1, double x2) {
        double r2820321 = x1;
        double r2820322 = 2.0;
        double r2820323 = r2820322 * r2820321;
        double r2820324 = 3.0;
        double r2820325 = r2820324 * r2820321;
        double r2820326 = r2820325 * r2820321;
        double r2820327 = x2;
        double r2820328 = r2820322 * r2820327;
        double r2820329 = r2820326 + r2820328;
        double r2820330 = r2820329 - r2820321;
        double r2820331 = r2820321 * r2820321;
        double r2820332 = 1.0;
        double r2820333 = r2820331 + r2820332;
        double r2820334 = r2820330 / r2820333;
        double r2820335 = r2820323 * r2820334;
        double r2820336 = r2820334 - r2820324;
        double r2820337 = r2820335 * r2820336;
        double r2820338 = 4.0;
        double r2820339 = r2820338 * r2820334;
        double r2820340 = 6.0;
        double r2820341 = r2820339 - r2820340;
        double r2820342 = r2820331 * r2820341;
        double r2820343 = r2820337 + r2820342;
        double r2820344 = r2820343 * r2820333;
        double r2820345 = r2820326 * r2820334;
        double r2820346 = r2820344 + r2820345;
        double r2820347 = r2820331 * r2820321;
        double r2820348 = r2820346 + r2820347;
        double r2820349 = r2820348 + r2820321;
        double r2820350 = r2820326 - r2820328;
        double r2820351 = r2820350 - r2820321;
        double r2820352 = r2820351 / r2820333;
        double r2820353 = r2820324 * r2820352;
        double r2820354 = r2820349 + r2820353;
        double r2820355 = r2820321 + r2820354;
        return r2820355;
}

double f(double x1, double x2) {
        double r2820356 = x1;
        double r2820357 = r2820356 * r2820356;
        double r2820358 = 3.0;
        double r2820359 = r2820357 * r2820358;
        double r2820360 = 1.0;
        double r2820361 = r2820357 + r2820360;
        double r2820362 = x2;
        double r2820363 = 2.0;
        double r2820364 = r2820362 * r2820363;
        double r2820365 = r2820364 - r2820356;
        double r2820366 = r2820359 + r2820365;
        double r2820367 = r2820361 / r2820366;
        double r2820368 = r2820359 / r2820367;
        double r2820369 = cbrt(r2820368);
        double r2820370 = r2820369 * r2820369;
        double r2820371 = r2820370 * r2820369;
        double r2820372 = r2820356 + r2820371;
        double r2820373 = -6.0;
        double r2820374 = r2820357 * r2820373;
        double r2820375 = r2820374 + r2820356;
        double r2820376 = r2820366 / r2820361;
        double r2820377 = r2820376 - r2820358;
        double r2820378 = r2820377 * r2820363;
        double r2820379 = r2820356 * r2820378;
        double r2820380 = 4.0;
        double r2820381 = r2820357 * r2820380;
        double r2820382 = r2820379 + r2820381;
        double r2820383 = r2820376 * r2820382;
        double r2820384 = r2820375 + r2820383;
        double r2820385 = r2820361 * r2820384;
        double r2820386 = -2.0;
        double r2820387 = r2820386 * r2820362;
        double r2820388 = r2820359 - r2820356;
        double r2820389 = r2820387 + r2820388;
        double r2820390 = r2820389 / r2820361;
        double r2820391 = r2820390 * r2820358;
        double r2820392 = r2820385 + r2820391;
        double r2820393 = r2820372 + r2820392;
        return r2820393;
}

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(3 \cdot \frac{x2 \cdot -2 + \left(\left(x1 \cdot x1\right) \cdot 3 - x1\right)}{1 + x1 \cdot x1} + \left(1 + x1 \cdot x1\right) \cdot \left(\frac{\left(x1 \cdot x1\right) \cdot 3 + \left(x2 \cdot 2 - x1\right)}{1 + x1 \cdot x1} \cdot \left(x1 \cdot \left(\left(\frac{\left(x1 \cdot x1\right) \cdot 3 + \left(x2 \cdot 2 - x1\right)}{1 + x1 \cdot x1} - 3\right) \cdot 2\right) + \left(x1 \cdot x1\right) \cdot 4\right) + \left(-6 \cdot \left(x1 \cdot x1\right) + x1\right)\right)\right) + \left(\frac{\left(x1 \cdot x1\right) \cdot 3}{\frac{1 + x1 \cdot x1}{\left(x1 \cdot x1\right) \cdot 3 + \left(x2 \cdot 2 - x1\right)}} + x1\right)}\]
  3. Using strategy rm
  4. Applied add-cube-cbrt0.5

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

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

Reproduce

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