Average Error: 5.7 → 0.2
Time: 14.4s
Precision: 64
\[\frac{\left(1 - x\right) \cdot \left(3 - x\right)}{y \cdot 3}\]
\[\frac{1 - x}{y} \cdot \left(\frac{3 - x}{\sqrt[3]{3}} \cdot \frac{1}{\sqrt[3]{3} \cdot \sqrt[3]{3}}\right)\]
\frac{\left(1 - x\right) \cdot \left(3 - x\right)}{y \cdot 3}
\frac{1 - x}{y} \cdot \left(\frac{3 - x}{\sqrt[3]{3}} \cdot \frac{1}{\sqrt[3]{3} \cdot \sqrt[3]{3}}\right)
double f(double x, double y) {
        double r34427456 = 1.0;
        double r34427457 = x;
        double r34427458 = r34427456 - r34427457;
        double r34427459 = 3.0;
        double r34427460 = r34427459 - r34427457;
        double r34427461 = r34427458 * r34427460;
        double r34427462 = y;
        double r34427463 = r34427462 * r34427459;
        double r34427464 = r34427461 / r34427463;
        return r34427464;
}

double f(double x, double y) {
        double r34427465 = 1.0;
        double r34427466 = x;
        double r34427467 = r34427465 - r34427466;
        double r34427468 = y;
        double r34427469 = r34427467 / r34427468;
        double r34427470 = 3.0;
        double r34427471 = r34427470 - r34427466;
        double r34427472 = cbrt(r34427470);
        double r34427473 = r34427471 / r34427472;
        double r34427474 = 1.0;
        double r34427475 = r34427472 * r34427472;
        double r34427476 = r34427474 / r34427475;
        double r34427477 = r34427473 * r34427476;
        double r34427478 = r34427469 * r34427477;
        return r34427478;
}

Error

Bits error versus x

Bits error versus y

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Target

Original5.7
Target0.1
Herbie0.2
\[\frac{1 - x}{y} \cdot \frac{3 - x}{3}\]

Derivation

  1. Initial program 5.7

    \[\frac{\left(1 - x\right) \cdot \left(3 - x\right)}{y \cdot 3}\]
  2. Using strategy rm
  3. Applied times-frac0.1

    \[\leadsto \color{blue}{\frac{1 - x}{y} \cdot \frac{3 - x}{3}}\]
  4. Using strategy rm
  5. Applied add-cube-cbrt0.1

    \[\leadsto \frac{1 - x}{y} \cdot \frac{3 - x}{\color{blue}{\left(\sqrt[3]{3} \cdot \sqrt[3]{3}\right) \cdot \sqrt[3]{3}}}\]
  6. Applied *-un-lft-identity0.1

    \[\leadsto \frac{1 - x}{y} \cdot \frac{\color{blue}{1 \cdot \left(3 - x\right)}}{\left(\sqrt[3]{3} \cdot \sqrt[3]{3}\right) \cdot \sqrt[3]{3}}\]
  7. Applied times-frac0.2

    \[\leadsto \frac{1 - x}{y} \cdot \color{blue}{\left(\frac{1}{\sqrt[3]{3} \cdot \sqrt[3]{3}} \cdot \frac{3 - x}{\sqrt[3]{3}}\right)}\]
  8. Final simplification0.2

    \[\leadsto \frac{1 - x}{y} \cdot \left(\frac{3 - x}{\sqrt[3]{3}} \cdot \frac{1}{\sqrt[3]{3} \cdot \sqrt[3]{3}}\right)\]

Reproduce

herbie shell --seed 2019170 
(FPCore (x y)
  :name "Diagrams.TwoD.Arc:bezierFromSweepQ1 from diagrams-lib-1.3.0.3"

  :herbie-target
  (* (/ (- 1.0 x) y) (/ (- 3.0 x) 3.0))

  (/ (* (- 1.0 x) (- 3.0 x)) (* y 3.0)))