Average Error: 0.2 → 0.0
Time: 10.7s
Precision: 64
\[1 + \frac{4 \cdot \left(\left(x + y \cdot 0.75\right) - z\right)}{y}\]
\[\frac{x - z}{y} \cdot 4 + \left(4 \cdot 0.75 + 1\right)\]
1 + \frac{4 \cdot \left(\left(x + y \cdot 0.75\right) - z\right)}{y}
\frac{x - z}{y} \cdot 4 + \left(4 \cdot 0.75 + 1\right)
double f(double x, double y, double z) {
        double r212622 = 1.0;
        double r212623 = 4.0;
        double r212624 = x;
        double r212625 = y;
        double r212626 = 0.75;
        double r212627 = r212625 * r212626;
        double r212628 = r212624 + r212627;
        double r212629 = z;
        double r212630 = r212628 - r212629;
        double r212631 = r212623 * r212630;
        double r212632 = r212631 / r212625;
        double r212633 = r212622 + r212632;
        return r212633;
}

double f(double x, double y, double z) {
        double r212634 = x;
        double r212635 = z;
        double r212636 = r212634 - r212635;
        double r212637 = y;
        double r212638 = r212636 / r212637;
        double r212639 = 4.0;
        double r212640 = r212638 * r212639;
        double r212641 = 0.75;
        double r212642 = r212639 * r212641;
        double r212643 = 1.0;
        double r212644 = r212642 + r212643;
        double r212645 = r212640 + r212644;
        return r212645;
}

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.2

    \[1 + \frac{4 \cdot \left(\left(x + y \cdot 0.75\right) - z\right)}{y}\]
  2. Simplified0.0

    \[\leadsto \color{blue}{4 \cdot \left(\frac{x - z}{y} + 0.75\right) + 1}\]
  3. Using strategy rm
  4. Applied distribute-rgt-in0.0

    \[\leadsto \color{blue}{\left(\frac{x - z}{y} \cdot 4 + 0.75 \cdot 4\right)} + 1\]
  5. Applied associate-+l+0.0

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

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

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

Reproduce

herbie shell --seed 2019208 
(FPCore (x y z)
  :name "Data.Array.Repa.Algorithms.ColorRamp:rampColorHotToCold from repa-algorithms-3.4.0.1, A"
  :precision binary64
  (+ 1 (/ (* 4 (- (+ x (* y 0.75)) z)) y)))