Average Error: 0.0 → 0.0
Time: 3.3s
Precision: binary64
\[\left(\left(\left(\left(1 - x1 \cdot y1\right) - x2 \cdot y2\right) - x3 \cdot y3\right) - x4 \cdot y4\right) - x5 \cdot y5\]
\[\left(\left(\left(\left(1 - x1 \cdot y1\right) - x2 \cdot y2\right) - x3 \cdot y3\right) - x4 \cdot y4\right) - x5 \cdot y5\]
\left(\left(\left(\left(1 - x1 \cdot y1\right) - x2 \cdot y2\right) - x3 \cdot y3\right) - x4 \cdot y4\right) - x5 \cdot y5
\left(\left(\left(\left(1 - x1 \cdot y1\right) - x2 \cdot y2\right) - x3 \cdot y3\right) - x4 \cdot y4\right) - x5 \cdot y5
double code(double x1, double y1, double x2, double y2, double x3, double y3, double x4, double y4, double x5, double y5) {
	return ((double) (((double) (((double) (((double) (((double) (1.0 - ((double) (x1 * y1)))) - ((double) (x2 * y2)))) - ((double) (x3 * y3)))) - ((double) (x4 * y4)))) - ((double) (x5 * y5))));
}
double code(double x1, double y1, double x2, double y2, double x3, double y3, double x4, double y4, double x5, double y5) {
	return ((double) (((double) (((double) (((double) (((double) (1.0 - ((double) (x1 * y1)))) - ((double) (x2 * y2)))) - ((double) (x3 * y3)))) - ((double) (x4 * y4)))) - ((double) (x5 * y5))));
}

Error

Bits error versus x1

Bits error versus y1

Bits error versus x2

Bits error versus y2

Bits error versus x3

Bits error versus y3

Bits error versus x4

Bits error versus y4

Bits error versus x5

Bits error versus y5

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.0

    \[\left(\left(\left(\left(1 - x1 \cdot y1\right) - x2 \cdot y2\right) - x3 \cdot y3\right) - x4 \cdot y4\right) - x5 \cdot y5\]
  2. Final simplification0.0

    \[\leadsto \left(\left(\left(\left(1 - x1 \cdot y1\right) - x2 \cdot y2\right) - x3 \cdot y3\right) - x4 \cdot y4\right) - x5 \cdot y5\]

Reproduce

herbie shell --seed 2020152 
(FPCore (x1 y1 x2 y2 x3 y3 x4 y4 x5 y5)
  :name "(- (- (- (- (- 1 (* x1 y1)) (* x2 y2)) (* x3 y3)) (* x4 y4)) (* x5 y5))"
  :precision binary64
  (- (- (- (- (- 1.0 (* x1 y1)) (* x2 y2)) (* x3 y3)) (* x4 y4)) (* x5 y5)))