Average Error: 15.3 → 15.3
Time: 745.0ms
Precision: binary64
\[\frac{\left(0.300000011999999983 \cdot x\right) \cdot y}{y + 0.300000011999999983 \cdot x}\]
\[\frac{\left(0.300000011999999983 \cdot x\right) \cdot y}{y + 0.300000011999999983 \cdot x}\]
\frac{\left(0.300000011999999983 \cdot x\right) \cdot y}{y + 0.300000011999999983 \cdot x}
\frac{\left(0.300000011999999983 \cdot x\right) \cdot y}{y + 0.300000011999999983 \cdot x}
double code(double x, double y) {
	return ((double) (((double) (((double) (0.300000012 * x)) * y)) / ((double) (y + ((double) (0.300000012 * x))))));
}
double code(double x, double y) {
	return ((double) (((double) (((double) (0.300000012 * x)) * y)) / ((double) (y + ((double) (0.300000012 * x))))));
}

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 15.3

    \[\frac{\left(0.300000011999999983 \cdot x\right) \cdot y}{y + 0.300000011999999983 \cdot x}\]
  2. Final simplification15.3

    \[\leadsto \frac{\left(0.300000011999999983 \cdot x\right) \cdot y}{y + 0.300000011999999983 \cdot x}\]

Reproduce

herbie shell --seed 2020152 
(FPCore (x y)
  :name "(/ (* (* 0.300000012 x) y) (+ y (* 0.300000012 x)))"
  :precision binary64
  (/ (* (* 0.300000012 x) y) (+ y (* 0.300000012 x))))