Average Error: 0.0 → 0.0
Time: 1.0s
Precision: binary64
\[a1 \cdot b2 - a2 \cdot b1\]
\[a1 \cdot b2 - a2 \cdot b1\]
a1 \cdot b2 - a2 \cdot b1
a1 \cdot b2 - a2 \cdot b1
double code(double a1, double b2, double a2, double b1) {
	return ((double) (((double) (a1 * b2)) - ((double) (a2 * b1))));
}
double code(double a1, double b2, double a2, double b1) {
	return ((double) (((double) (a1 * b2)) - ((double) (a2 * b1))));
}

Error

Bits error versus a1

Bits error versus b2

Bits error versus a2

Bits error versus b1

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.0

    \[a1 \cdot b2 - a2 \cdot b1\]
  2. Final simplification0.0

    \[\leadsto a1 \cdot b2 - a2 \cdot b1\]

Reproduce

herbie shell --seed 2020153 
(FPCore (a1 b2 a2 b1)
  :name "(- (* a1 b2) (* a2 b1))"
  :precision binary64
  (- (* a1 b2) (* a2 b1)))