Average Error: 8.2 → 8.2
Time: 5.1s
Precision: binary64
\[\left(\left(\left(\left(\left(hDD02 \cdot hDD12\right) \cdot tmp10\right) \cdot tmp8 - tmp12 \cdot tmp3\right) - tmp14 \cdot tmp16\right) + \left(tmp14 \cdot tmp18\right) \cdot tmp3\right) - tmp18 \cdot tmp19\]
\[\left(\left(\left(\left(\left(hDD02 \cdot hDD12\right) \cdot tmp10\right) \cdot tmp8 - tmp12 \cdot tmp3\right) - tmp14 \cdot tmp16\right) + \left(tmp14 \cdot tmp18\right) \cdot tmp3\right) - tmp18 \cdot tmp19\]
\left(\left(\left(\left(\left(hDD02 \cdot hDD12\right) \cdot tmp10\right) \cdot tmp8 - tmp12 \cdot tmp3\right) - tmp14 \cdot tmp16\right) + \left(tmp14 \cdot tmp18\right) \cdot tmp3\right) - tmp18 \cdot tmp19
\left(\left(\left(\left(\left(hDD02 \cdot hDD12\right) \cdot tmp10\right) \cdot tmp8 - tmp12 \cdot tmp3\right) - tmp14 \cdot tmp16\right) + \left(tmp14 \cdot tmp18\right) \cdot tmp3\right) - tmp18 \cdot tmp19
double code(double hDD02, double hDD12, double tmp10, double tmp8, double tmp12, double tmp3, double tmp14, double tmp16, double tmp18, double tmp19) {
	return ((double) (((double) (((double) (((double) (((double) (((double) (((double) (hDD02 * hDD12)) * tmp10)) * tmp8)) - ((double) (tmp12 * tmp3)))) - ((double) (tmp14 * tmp16)))) + ((double) (((double) (tmp14 * tmp18)) * tmp3)))) - ((double) (tmp18 * tmp19))));
}
double code(double hDD02, double hDD12, double tmp10, double tmp8, double tmp12, double tmp3, double tmp14, double tmp16, double tmp18, double tmp19) {
	return ((double) (((double) (((double) (((double) (((double) (((double) (((double) (hDD02 * hDD12)) * tmp10)) * tmp8)) - ((double) (tmp12 * tmp3)))) - ((double) (tmp14 * tmp16)))) + ((double) (((double) (tmp14 * tmp18)) * tmp3)))) - ((double) (tmp18 * tmp19))));
}

Error

Bits error versus hDD02

Bits error versus hDD12

Bits error versus tmp10

Bits error versus tmp8

Bits error versus tmp12

Bits error versus tmp3

Bits error versus tmp14

Bits error versus tmp16

Bits error versus tmp18

Bits error versus tmp19

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 8.2

    \[\left(\left(\left(\left(\left(hDD02 \cdot hDD12\right) \cdot tmp10\right) \cdot tmp8 - tmp12 \cdot tmp3\right) - tmp14 \cdot tmp16\right) + \left(tmp14 \cdot tmp18\right) \cdot tmp3\right) - tmp18 \cdot tmp19\]
  2. Final simplification8.2

    \[\leadsto \left(\left(\left(\left(\left(hDD02 \cdot hDD12\right) \cdot tmp10\right) \cdot tmp8 - tmp12 \cdot tmp3\right) - tmp14 \cdot tmp16\right) + \left(tmp14 \cdot tmp18\right) \cdot tmp3\right) - tmp18 \cdot tmp19\]

Reproduce

herbie shell --seed 2020153 
(FPCore (hDD02 hDD12 tmp10 tmp8 tmp12 tmp3 tmp14 tmp16 tmp18 tmp19)
  :name "(- (+ (- (- (* (* (* hDD02 hDD12) tmp10) tmp8) (* tmp12 tmp3)) (* tmp14 tmp16)) (* (* tmp14 tmp18) tmp3)) (* tmp18 tmp19))"
  :precision binary64
  (- (+ (- (- (* (* (* hDD02 hDD12) tmp10) tmp8) (* tmp12 tmp3)) (* tmp14 tmp16)) (* (* tmp14 tmp18) tmp3)) (* tmp18 tmp19)))