Average Error: 0.0 → 0.0
Time: 10.2s
Precision: 64
\[\left(x + y\right) \cdot z\]
\[\frac{\left(y - x\right) \cdot z}{\frac{y - x}{y + x}}\]
\left(x + y\right) \cdot z
\frac{\left(y - x\right) \cdot z}{\frac{y - x}{y + x}}
double f(double x, double y, double z) {
        double r19333 = x;
        double r19334 = y;
        double r19335 = r19333 + r19334;
        double r19336 = z;
        double r19337 = r19335 * r19336;
        return r19337;
}

double f(double x, double y, double z) {
        double r19338 = y;
        double r19339 = x;
        double r19340 = r19338 - r19339;
        double r19341 = z;
        double r19342 = r19340 * r19341;
        double r19343 = r19338 + r19339;
        double r19344 = r19340 / r19343;
        double r19345 = r19342 / r19344;
        return r19345;
}

Error

Bits error versus x

Bits error versus y

Bits error versus z

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.0

    \[\left(x + y\right) \cdot z\]
  2. Simplified0.0

    \[\leadsto \color{blue}{\left(y + x\right) \cdot z}\]
  3. Using strategy rm
  4. Applied flip-+24.8

    \[\leadsto \color{blue}{\frac{y \cdot y - x \cdot x}{y - x}} \cdot z\]
  5. Applied associate-*l/29.9

    \[\leadsto \color{blue}{\frac{\left(y \cdot y - x \cdot x\right) \cdot z}{y - x}}\]
  6. Simplified20.0

    \[\leadsto \frac{\color{blue}{\left(z \cdot \left(y - x\right)\right) \cdot \left(y + x\right)}}{y - x}\]
  7. Using strategy rm
  8. Applied associate-/l*0.0

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

    \[\leadsto \frac{z \cdot \left(y - x\right)}{\color{blue}{\frac{y - x}{x + y}}}\]
  10. Final simplification0.0

    \[\leadsto \frac{\left(y - x\right) \cdot z}{\frac{y - x}{y + x}}\]

Reproduce

herbie shell --seed 2019194 
(FPCore (x y z)
  :name "Text.Parsec.Token:makeTokenParser from parsec-3.1.9, B"
  (* (+ x y) z))