Average Error: 0.3 → 0.3
Time: 12.1s
Precision: 64
\[\left(\left(-3\right) \cdot y + \left(2 \cdot x + t\right) \cdot x\right) \cdot x\]
\[x \cdot \left(\left(2 \cdot x + t\right) \cdot x - 3 \cdot y\right)\]
\left(\left(-3\right) \cdot y + \left(2 \cdot x + t\right) \cdot x\right) \cdot x
x \cdot \left(\left(2 \cdot x + t\right) \cdot x - 3 \cdot y\right)
double f(double y, double x, double t) {
        double r64576 = 3.0;
        double r64577 = -r64576;
        double r64578 = y;
        double r64579 = r64577 * r64578;
        double r64580 = 2.0;
        double r64581 = x;
        double r64582 = r64580 * r64581;
        double r64583 = t;
        double r64584 = r64582 + r64583;
        double r64585 = r64584 * r64581;
        double r64586 = r64579 + r64585;
        double r64587 = r64586 * r64581;
        return r64587;
}

double f(double y, double x, double t) {
        double r64588 = x;
        double r64589 = 2.0;
        double r64590 = r64589 * r64588;
        double r64591 = t;
        double r64592 = r64590 + r64591;
        double r64593 = r64592 * r64588;
        double r64594 = 3.0;
        double r64595 = y;
        double r64596 = r64594 * r64595;
        double r64597 = r64593 - r64596;
        double r64598 = r64588 * r64597;
        return r64598;
}

Error

Bits error versus y

Bits error versus x

Bits error versus t

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.3

    \[\left(\left(-3\right) \cdot y + \left(2 \cdot x + t\right) \cdot x\right) \cdot x\]
  2. Simplified0.3

    \[\leadsto \color{blue}{x \cdot \left(\left(2 \cdot x + t\right) \cdot x - 3 \cdot y\right)}\]
  3. Final simplification0.3

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

Reproduce

herbie shell --seed 1 
(FPCore (y x t)
  :name "(- 3 * y + (2 * x + t) * x) * x"
  :precision binary64
  (* (+ (* (- 3) y) (* (+ (* 2 x) t) x)) x))