Average Error: 5.8 → 0.1
Time: 13.3s
Precision: 64
\[\frac{\left(1 - x\right) \cdot \left(3 - x\right)}{y \cdot 3}\]
\[\frac{-x}{\frac{3}{3 - x} \cdot y} + \frac{1}{\frac{3}{3 - x} \cdot y}\]
\frac{\left(1 - x\right) \cdot \left(3 - x\right)}{y \cdot 3}
\frac{-x}{\frac{3}{3 - x} \cdot y} + \frac{1}{\frac{3}{3 - x} \cdot y}
double f(double x, double y) {
        double r545408 = 1.0;
        double r545409 = x;
        double r545410 = r545408 - r545409;
        double r545411 = 3.0;
        double r545412 = r545411 - r545409;
        double r545413 = r545410 * r545412;
        double r545414 = y;
        double r545415 = r545414 * r545411;
        double r545416 = r545413 / r545415;
        return r545416;
}

double f(double x, double y) {
        double r545417 = x;
        double r545418 = -r545417;
        double r545419 = 3.0;
        double r545420 = r545419 - r545417;
        double r545421 = r545419 / r545420;
        double r545422 = y;
        double r545423 = r545421 * r545422;
        double r545424 = r545418 / r545423;
        double r545425 = 1.0;
        double r545426 = r545425 / r545423;
        double r545427 = r545424 + r545426;
        return r545427;
}

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.8
Target0.1
Herbie0.1
\[\frac{1 - x}{y} \cdot \frac{3 - x}{3}\]

Derivation

  1. Initial program 5.8

    \[\frac{\left(1 - x\right) \cdot \left(3 - x\right)}{y \cdot 3}\]
  2. Simplified0.3

    \[\leadsto \color{blue}{\frac{3 - x}{3 \cdot y} \cdot \left(1 - x\right)}\]
  3. Using strategy rm
  4. Applied clear-num0.3

    \[\leadsto \color{blue}{\frac{1}{\frac{3 \cdot y}{3 - x}}} \cdot \left(1 - x\right)\]
  5. Simplified0.2

    \[\leadsto \frac{1}{\color{blue}{\frac{3}{\frac{3 - x}{y}}}} \cdot \left(1 - x\right)\]
  6. Using strategy rm
  7. Applied sub-neg0.2

    \[\leadsto \frac{1}{\frac{3}{\frac{3 - x}{y}}} \cdot \color{blue}{\left(1 + \left(-x\right)\right)}\]
  8. Applied distribute-lft-in0.2

    \[\leadsto \color{blue}{\frac{1}{\frac{3}{\frac{3 - x}{y}}} \cdot 1 + \frac{1}{\frac{3}{\frac{3 - x}{y}}} \cdot \left(-x\right)}\]
  9. Simplified0.2

    \[\leadsto \color{blue}{\frac{1}{\frac{3}{3 - x} \cdot y}} + \frac{1}{\frac{3}{\frac{3 - x}{y}}} \cdot \left(-x\right)\]
  10. Simplified0.1

    \[\leadsto \frac{1}{\frac{3}{3 - x} \cdot y} + \color{blue}{\frac{-x}{\frac{3}{3 - x} \cdot y}}\]
  11. Final simplification0.1

    \[\leadsto \frac{-x}{\frac{3}{3 - x} \cdot y} + \frac{1}{\frac{3}{3 - x} \cdot y}\]

Reproduce

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