Average Error: 6.3 → 6.3
Time: 2.2s
Precision: binary64
\[\left(w \cdot t + S\right) - T \cdot \left(h + r \cdot \left(r \cdot h + R\right)\right)\]
\[\left(w \cdot t + S\right) - T \cdot \left(h + r \cdot \left(r \cdot h + R\right)\right)\]
\left(w \cdot t + S\right) - T \cdot \left(h + r \cdot \left(r \cdot h + R\right)\right)
\left(w \cdot t + S\right) - T \cdot \left(h + r \cdot \left(r \cdot h + R\right)\right)
double code(double w, double t, double S, double T, double h, double r, double R) {
	return ((double) (((double) (((double) (w * t)) + S)) - ((double) (T * ((double) (h + ((double) (r * ((double) (((double) (r * h)) + R))))))))));
}
double code(double w, double t, double S, double T, double h, double r, double R) {
	return ((double) (((double) (((double) (w * t)) + S)) - ((double) (T * ((double) (h + ((double) (r * ((double) (((double) (r * h)) + R))))))))));
}

Error

Bits error versus w

Bits error versus t

Bits error versus S

Bits error versus T

Bits error versus h

Bits error versus r

Bits error versus R

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 6.3

    \[\left(w \cdot t + S\right) - T \cdot \left(h + r \cdot \left(r \cdot h + R\right)\right)\]
  2. Final simplification6.3

    \[\leadsto \left(w \cdot t + S\right) - T \cdot \left(h + r \cdot \left(r \cdot h + R\right)\right)\]

Reproduce

herbie shell --seed 2020153 
(FPCore (w t S T h r R)
  :name "(- (+ (* w t) S) (* T (+ h (* r (+ (* r h) R)))))"
  :precision binary64
  (- (+ (* w t) S) (* T (+ h (* r (+ (* r h) R))))))