Average Error: 0.4 → 0.2
Time: 2.7s
Precision: binary64
\[\left(\left(\left(\left(\left(\left(\left(\left(-42.3789999999999978\right) + 2.0490152300000002 \cdot temp\right) + 10.1433312699999991 \cdot rh\right) - \left(0.22475540999999999 \cdot temp\right) \cdot rh\right) - \left(0.0068378299999999996 \cdot temp\right) \cdot temp\right) - \left(0.054817169999999998 \cdot rh\right) \cdot rh\right) + \left(\left(0.00122874000000000008 \cdot temp\right) \cdot temp\right) \cdot rh\right) + \left(\left(8.5282000000000001 \cdot 10^{-4} \cdot temp\right) \cdot rh\right) \cdot rh\right) - \left(\left(\left(199 \cdot temp\right) \cdot temp\right) \cdot rh\right) \cdot rh\]
\[\left(2.0490152300000002 \cdot temp - 42.3789999999999978\right) + \left(\left(rh \cdot \left(10.1433312699999991 - 0.22475540999999999 \cdot temp\right) - \left(0.0068378299999999996 \cdot temp\right) \cdot temp\right) - rh \cdot \left(\left(0.054817169999999998 \cdot rh - \left(0.00122874000000000008 \cdot temp\right) \cdot temp\right) - \left(temp \cdot rh\right) \cdot \left(8.5282000000000001 \cdot 10^{-4} - 199 \cdot temp\right)\right)\right)\]

Error

Bits error versus temp

Bits error versus rh

Derivation

  1. Initial program 0.4

    \[\left(\left(\left(\left(\left(\left(\left(\left(-42.3789999999999978\right) + 2.0490152300000002 \cdot temp\right) + 10.1433312699999991 \cdot rh\right) - \left(0.22475540999999999 \cdot temp\right) \cdot rh\right) - \left(0.0068378299999999996 \cdot temp\right) \cdot temp\right) - \left(0.054817169999999998 \cdot rh\right) \cdot rh\right) + \left(\left(0.00122874000000000008 \cdot temp\right) \cdot temp\right) \cdot rh\right) + \left(\left(8.5282000000000001 \cdot 10^{-4} \cdot temp\right) \cdot rh\right) \cdot rh\right) - \left(\left(\left(199 \cdot temp\right) \cdot temp\right) \cdot rh\right) \cdot rh\]
  2. Simplified0.2

    \[\leadsto \color{blue}{\left(2.0490152300000002 \cdot temp - 42.3789999999999978\right) + \left(\left(rh \cdot \left(10.1433312699999991 - 0.22475540999999999 \cdot temp\right) - \left(0.0068378299999999996 \cdot temp\right) \cdot temp\right) - rh \cdot \left(\left(0.054817169999999998 \cdot rh - \left(0.00122874000000000008 \cdot temp\right) \cdot temp\right) - \left(temp \cdot rh\right) \cdot \left(8.5282000000000001 \cdot 10^{-4} - 199 \cdot temp\right)\right)\right)}\]
  3. Final simplification0.2

    \[\leadsto \left(2.0490152300000002 \cdot temp - 42.3789999999999978\right) + \left(\left(rh \cdot \left(10.1433312699999991 - 0.22475540999999999 \cdot temp\right) - \left(0.0068378299999999996 \cdot temp\right) \cdot temp\right) - rh \cdot \left(\left(0.054817169999999998 \cdot rh - \left(0.00122874000000000008 \cdot temp\right) \cdot temp\right) - \left(temp \cdot rh\right) \cdot \left(8.5282000000000001 \cdot 10^{-4} - 199 \cdot temp\right)\right)\right)\]

Reproduce

herbie shell --seed 2020153 
(FPCore (temp rh)
  :name "(- (+ (+ (- (- (- (+ (+ (- 42.379) (* 2.04901523 temp)) (* 10.14333127 rh)) (* (* 0.22475541 temp) rh)) (* (* 0.00683783 temp) temp)) (* (* 0.05481717 rh) rh)) (* (* (* 0.00122874 temp) temp) rh)) (* (* (* 0.00085282 temp) rh) rh)) (* (* (* (* 199 temp) temp) rh) rh))"
  :precision binary64
  (- (+ (+ (- (- (- (+ (+ (neg 42.379) (* 2.04901523 temp)) (* 10.14333127 rh)) (* (* 0.22475541 temp) rh)) (* (* 0.00683783 temp) temp)) (* (* 0.05481717 rh) rh)) (* (* (* 0.00122874 temp) temp) rh)) (* (* (* 0.00085282 temp) rh) rh)) (* (* (* (* 199.0 temp) temp) rh) rh)))