Average Error: 0.0 → 0.0
Time: 5.2s
Precision: 64
\[\left(x + y\right) \cdot \left(z + 1\right)\]
\[\left(x + y\right) \cdot 1 + \left(x + y\right) \cdot z\]
\left(x + y\right) \cdot \left(z + 1\right)
\left(x + y\right) \cdot 1 + \left(x + y\right) \cdot z
double f(double x, double y, double z) {
        double r1913524 = x;
        double r1913525 = y;
        double r1913526 = r1913524 + r1913525;
        double r1913527 = z;
        double r1913528 = 1.0;
        double r1913529 = r1913527 + r1913528;
        double r1913530 = r1913526 * r1913529;
        return r1913530;
}

double f(double x, double y, double z) {
        double r1913531 = x;
        double r1913532 = y;
        double r1913533 = r1913531 + r1913532;
        double r1913534 = 1.0;
        double r1913535 = r1913533 * r1913534;
        double r1913536 = z;
        double r1913537 = r1913533 * r1913536;
        double r1913538 = r1913535 + r1913537;
        return r1913538;
}

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 \left(z + 1\right)\]
  2. Using strategy rm
  3. Applied distribute-rgt-in0.0

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

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

Reproduce

herbie shell --seed 2019172 +o rules:numerics
(FPCore (x y z)
  :name "Optimisation.CirclePacking:place from circle-packing-0.1.0.4, G"
  (* (+ x y) (+ z 1.0)))