Average Error: 0.0 → 0.0
Time: 14.1s
Precision: 64
\[\left(x + y\right) \cdot \left(x - y\right)\]
\[\left(x + y\right) \cdot \left(x - y\right)\]
\left(x + y\right) \cdot \left(x - y\right)
\left(x + y\right) \cdot \left(x - y\right)
double f(double x, double y) {
        double r182608 = x;
        double r182609 = y;
        double r182610 = r182608 + r182609;
        double r182611 = r182608 - r182609;
        double r182612 = r182610 * r182611;
        return r182612;
}

double f(double x, double y) {
        double r182613 = x;
        double r182614 = y;
        double r182615 = r182613 + r182614;
        double r182616 = r182613 - r182614;
        double r182617 = r182615 * r182616;
        return r182617;
}

Error

Bits error versus x

Bits error versus y

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 \left(x - y\right)\]
  2. Final simplification0.0

    \[\leadsto \left(x + y\right) \cdot \left(x - y\right)\]

Reproduce

herbie shell --seed 2020043 +o rules:numerics
(FPCore (x y)
  :name "Examples.Basics.BasicTests:f1 from sbv-4.4"
  :precision binary64
  (* (+ x y) (- x y)))