Average Error: 0.0 → 0.0
Time: 1.0s
Precision: binary64
\[y1 \cdot z2 - z1 \cdot y2\]
\[y1 \cdot z2 - z1 \cdot y2\]
y1 \cdot z2 - z1 \cdot y2
y1 \cdot z2 - z1 \cdot y2
double code(double y1, double z2, double z1, double y2) {
	return ((double) (((double) (y1 * z2)) - ((double) (z1 * y2))));
}
double code(double y1, double z2, double z1, double y2) {
	return ((double) (((double) (y1 * z2)) - ((double) (z1 * y2))));
}

Error

Bits error versus y1

Bits error versus z2

Bits error versus z1

Bits error versus y2

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.0

    \[y1 \cdot z2 - z1 \cdot y2\]
  2. Final simplification0.0

    \[\leadsto y1 \cdot z2 - z1 \cdot y2\]

Reproduce

herbie shell --seed 2020153 
(FPCore (y1 z2 z1 y2)
  :name "(- (* y1 z2) (* z1 y2))"
  :precision binary64
  (- (* y1 z2) (* z1 y2)))