Average Error: 25.0 → 25.0
Time: 2.0s
Precision: binary64
\[\frac{{\left(s1 \cdot n2 - s2 \cdot n1\right)}^{2}}{n1 \cdot n2}\]
\[\frac{{\left(s1 \cdot n2 - s2 \cdot n1\right)}^{2}}{n1 \cdot n2}\]
\frac{{\left(s1 \cdot n2 - s2 \cdot n1\right)}^{2}}{n1 \cdot n2}
\frac{{\left(s1 \cdot n2 - s2 \cdot n1\right)}^{2}}{n1 \cdot n2}
double code(double s1, double n2, double s2, double n1) {
	return ((double) (((double) pow(((double) (((double) (s1 * n2)) - ((double) (s2 * n1)))), 2.0)) / ((double) (n1 * n2))));
}
double code(double s1, double n2, double s2, double n1) {
	return ((double) (((double) pow(((double) (((double) (s1 * n2)) - ((double) (s2 * n1)))), 2.0)) / ((double) (n1 * n2))));
}

Error

Bits error versus s1

Bits error versus n2

Bits error versus s2

Bits error versus n1

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 25.0

    \[\frac{{\left(s1 \cdot n2 - s2 \cdot n1\right)}^{2}}{n1 \cdot n2}\]
  2. Final simplification25.0

    \[\leadsto \frac{{\left(s1 \cdot n2 - s2 \cdot n1\right)}^{2}}{n1 \cdot n2}\]

Reproduce

herbie shell --seed 2020152 
(FPCore (s1 n2 s2 n1)
  :name "(/ (pow (- (* s1 n2) (* s2 n1)) 2) (* n1 n2))"
  :precision binary64
  (/ (pow (- (* s1 n2) (* s2 n1)) 2.0) (* n1 n2)))