Average Error: 17.7 → 17.7
Time: 2.4s
Precision: binary64
\[\frac{2 \cdot \left(\left(\left(a12 \cdot b13\right) \cdot s2_w0 - \left(a13 \cdot b12\right) \cdot s2_w1\right) - \left(s2_w0 \cdot s2_w1\right) \cdot \left(a12 - a13\right)\right)}{s2_a}\]
\[\frac{2 \cdot \left(\left(\left(a12 \cdot b13\right) \cdot s2_w0 - \left(a13 \cdot b12\right) \cdot s2_w1\right) - \left(s2_w0 \cdot s2_w1\right) \cdot \left(a12 - a13\right)\right)}{s2_a}\]
\frac{2 \cdot \left(\left(\left(a12 \cdot b13\right) \cdot s2_w0 - \left(a13 \cdot b12\right) \cdot s2_w1\right) - \left(s2_w0 \cdot s2_w1\right) \cdot \left(a12 - a13\right)\right)}{s2_a}
\frac{2 \cdot \left(\left(\left(a12 \cdot b13\right) \cdot s2_w0 - \left(a13 \cdot b12\right) \cdot s2_w1\right) - \left(s2_w0 \cdot s2_w1\right) \cdot \left(a12 - a13\right)\right)}{s2_a}
double code(double a12, double b13, double s2_w0, double a13, double b12, double s2_w1, double s2_a) {
	return ((double) (((double) (2.0 * ((double) (((double) (((double) (((double) (a12 * b13)) * s2_w0)) - ((double) (((double) (a13 * b12)) * s2_w1)))) - ((double) (((double) (s2_w0 * s2_w1)) * ((double) (a12 - a13)))))))) / s2_a));
}
double code(double a12, double b13, double s2_w0, double a13, double b12, double s2_w1, double s2_a) {
	return ((double) (((double) (2.0 * ((double) (((double) (((double) (((double) (a12 * b13)) * s2_w0)) - ((double) (((double) (a13 * b12)) * s2_w1)))) - ((double) (((double) (s2_w0 * s2_w1)) * ((double) (a12 - a13)))))))) / s2_a));
}

Error

Bits error versus a12

Bits error versus b13

Bits error versus s2_w0

Bits error versus a13

Bits error versus b12

Bits error versus s2_w1

Bits error versus s2_a

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 17.7

    \[\frac{2 \cdot \left(\left(\left(a12 \cdot b13\right) \cdot s2_w0 - \left(a13 \cdot b12\right) \cdot s2_w1\right) - \left(s2_w0 \cdot s2_w1\right) \cdot \left(a12 - a13\right)\right)}{s2_a}\]
  2. Final simplification17.7

    \[\leadsto \frac{2 \cdot \left(\left(\left(a12 \cdot b13\right) \cdot s2_w0 - \left(a13 \cdot b12\right) \cdot s2_w1\right) - \left(s2_w0 \cdot s2_w1\right) \cdot \left(a12 - a13\right)\right)}{s2_a}\]

Reproduce

herbie shell --seed 2020153 
(FPCore (a12 b13 s2_w0 a13 b12 s2_w1 s2_a)
  :name "(/ (* 2 (- (- (* (* a12 b13) s2_w0) (* (* a13 b12) s2_w1)) (* (* s2_w0 s2_w1) (- a12 a13)))) s2_a)"
  :precision binary64
  (/ (* 2.0 (- (- (* (* a12 b13) s2_w0) (* (* a13 b12) s2_w1)) (* (* s2_w0 s2_w1) (- a12 a13)))) s2_a))