


Bits error versus c0



Bits error versus w



Bits error versus h



Bits error versus D



Bits error versus d



Bits error versus M
Results
if D < -2.1251126957103482e-07Initial program 56.6
Initial simplification49.2
rmApplied div-inv50.0
Applied associate-*l*51.2
if -2.1251126957103482e-07 < D < -5.0907627571985e-242Initial program 58.0
Initial simplification54.2
rmApplied associate-*r*54.9
Taylor expanded around 0 57.9
if -5.0907627571985e-242 < D Initial program 58.4
Initial simplification53.6
rmApplied associate-*r*54.5
rmApplied associate-*r*54.1
Final simplification54.6
herbie shell --seed 2018365
(FPCore (c0 w h D d M)
:name "Henrywood and Agarwal, Equation (13)"
(* (/ c0 (* 2 w)) (+ (/ (* c0 (* d d)) (* (* w h) (* D D))) (sqrt (- (* (/ (* c0 (* d d)) (* (* w h) (* D D))) (/ (* c0 (* d d)) (* (* w h) (* D D)))) (* M M))))))
Time bar (total: 3.5m)Debug log
2 alts after pruning (2 fresh and 0 done)
Merged error: 52.1b
Found 4 expressions with local error:
| 27.9b | (+ (sqrt (* (+ M (* (/ (/ c0 h) w) (* (/ d D) (/ d D)))) (- (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) M))) (* (/ (/ c0 h) w) (* (/ d D) (/ d D)))) |
| 14.8b | (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) |
| 14.8b | (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) |
| 14.8b | (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) |
4 calls. Slowest were:
| 39.0ms | (+ (sqrt (* (+ M (* (/ (/ c0 h) w) (* (/ d D) (/ d D)))) (- (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) M))) (* (/ (/ c0 h) w) (* (/ d D) (/ d D)))) |
| 21.0ms | (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) |
| 18.0ms | (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) |
4 calls. Slowest were:
| 502.0ms | (+ (sqrt (* (+ M (* (/ (/ c0 h) w) (* (/ d D) (/ d D)))) (- (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) M))) (* (/ (/ c0 h) w) (* (/ d D) (/ d D)))) |
| 119.0ms | (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) |
| 103.0ms | (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) |
| 80.0ms | (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) |
179 calls. Slowest were:
| 715.0ms | (+ (log (/ (/ c0 h) w)) (+ (log (/ d D)) (log (/ d D)))) |
| 709.0ms | (+ (* (sqrt (* (- (* M M) (* (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) (* (/ (/ c0 h) w) (* (/ d D) (/ d D))))) (- (pow (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) 3) (pow M 3)))) D) (* (sqrt (* (- M (* (/ (/ c0 h) w) (* (/ d D) (/ d D)))) (+ (* (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) (* (/ (/ c0 h) w) (* (/ d D) (/ d D)))) (+ (* M M) (* (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) M))))) (* (/ (/ c0 h) w) (* (/ d D) d)))) |
| 456.0ms | (+ (* (sqrt (* (+ (pow M 3) (pow (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) 3)) (- (pow (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) 3) (pow M 3)))) w) (* (sqrt (* (+ (* M M) (- (* (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) (* (/ (/ c0 h) w) (* (/ d D) (/ d D)))) (* M (* (/ (/ c0 h) w) (* (/ d D) (/ d D)))))) (+ (* (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) (* (/ (/ c0 h) w) (* (/ d D) (/ d D)))) (+ (* M M) (* (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) M))))) (* (/ c0 h) (* (/ d D) (/ d D))))) |
11 alts after pruning (11 fresh and 0 done)
Merged error: 49.6b
Found 4 expressions with local error:
| 27.9b | (+ (sqrt (* (+ M (* (/ (/ c0 h) w) (* (/ d D) (/ d D)))) (- (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) M))) (* (/ (/ c0 h) w) (* (/ d D) (/ d D)))) |
| 27.9b | (+ (sqrt (* (+ M (* (/ (/ c0 h) w) (* (/ d D) (/ d D)))) (- (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) M))) (* (/ (/ c0 h) w) (* (/ d D) (/ d D)))) |
| 27.9b | (+ (sqrt (* (+ M (* (/ (/ c0 h) w) (* (/ d D) (/ d D)))) (- (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) M))) (* (/ (/ c0 h) w) (* (/ d D) (/ d D)))) |
| 14.8b | (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) |
4 calls. Slowest were:
| 41.0ms | (+ (sqrt (* (+ M (* (/ (/ c0 h) w) (* (/ d D) (/ d D)))) (- (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) M))) (* (/ (/ c0 h) w) (* (/ d D) (/ d D)))) |
| 40.0ms | (+ (sqrt (* (+ M (* (/ (/ c0 h) w) (* (/ d D) (/ d D)))) (- (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) M))) (* (/ (/ c0 h) w) (* (/ d D) (/ d D)))) |
| 38.0ms | (+ (sqrt (* (+ M (* (/ (/ c0 h) w) (* (/ d D) (/ d D)))) (- (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) M))) (* (/ (/ c0 h) w) (* (/ d D) (/ d D)))) |
4 calls. Slowest were:
| 497.0ms | (+ (sqrt (* (+ M (* (/ (/ c0 h) w) (* (/ d D) (/ d D)))) (- (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) M))) (* (/ (/ c0 h) w) (* (/ d D) (/ d D)))) |
| 472.0ms | (+ (sqrt (* (+ M (* (/ (/ c0 h) w) (* (/ d D) (/ d D)))) (- (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) M))) (* (/ (/ c0 h) w) (* (/ d D) (/ d D)))) |
| 434.0ms | (+ (sqrt (* (+ M (* (/ (/ c0 h) w) (* (/ d D) (/ d D)))) (- (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) M))) (* (/ (/ c0 h) w) (* (/ d D) (/ d D)))) |
| 105.0ms | (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) |
369 calls. Slowest were:
| 741.0ms | (+ (* (sqrt (* (- (* M M) (* (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) (* (/ (/ c0 h) w) (* (/ d D) (/ d D))))) (- (pow (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) 3) (pow M 3)))) (* w (* D D))) (* (sqrt (* (- M (* (/ (/ c0 h) w) (* (/ d D) (/ d D)))) (+ (* (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) (* (/ (/ c0 h) w) (* (/ d D) (/ d D)))) (+ (* M M) (* (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) M))))) (* (/ c0 h) (* d d)))) |
| 571.0ms | (+ (* (sqrt (* (+ M (* (/ (/ c0 h) w) (* (/ d D) (/ d D)))) (- (pow (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) 3) (pow M 3)))) (* w D)) (* (sqrt (+ (* (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) (* (/ (/ c0 h) w) (* (/ d D) (/ d D)))) (+ (* M M) (* (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) M)))) (* (/ c0 h) (* d (/ d D))))) |
| 556.0ms | (* (sqrt (* (+ (* M M) (- (* (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) (* (/ (/ c0 h) w) (* (/ d D) (/ d D)))) (* M (* (/ (/ c0 h) w) (* (/ d D) (/ d D)))))) (+ (* (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) (* (/ (/ c0 h) w) (* (/ d D) (/ d D)))) (+ (* M M) (* (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) M))))) (* w (* D D))) |
12 alts after pruning (11 fresh and 1 done)
Merged error: 49.6b
Found 4 expressions with local error:
| 34.0b | (+ (sqrt (* (+ M (* (/ (/ c0 h) w) (* (/ d D) (/ d D)))) (- (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) M))) (* (/ c0 h) (* (/ 1 w) (* (/ d D) (/ d D))))) |
| 14.8b | (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) |
| 14.8b | (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) |
| 13.7b | (sqrt (* (+ M (* (/ (/ c0 h) w) (* (/ d D) (/ d D)))) (- (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) M))) |
4 calls. Slowest were:
| 55.0ms | (+ (sqrt (* (+ M (* (/ (/ c0 h) w) (* (/ d D) (/ d D)))) (- (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) M))) (* (/ c0 h) (* (/ 1 w) (* (/ d D) (/ d D))))) |
| 17.0ms | (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) |
| 12.0ms | (sqrt (* (+ M (* (/ (/ c0 h) w) (* (/ d D) (/ d D)))) (- (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) M))) |
4 calls. Slowest were:
| 417.0ms | (+ (sqrt (* (+ M (* (/ (/ c0 h) w) (* (/ d D) (/ d D)))) (- (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) M))) (* (/ c0 h) (* (/ 1 w) (* (/ d D) (/ d D))))) |
| 339.0ms | (sqrt (* (+ M (* (/ (/ c0 h) w) (* (/ d D) (/ d D)))) (- (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) M))) |
| 86.0ms | (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) |
| 85.0ms | (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) |
298 calls. Slowest were:
| 505.0ms | (+ (* (sqrt (* (- (* M M) (* (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) (* (/ (/ c0 h) w) (* (/ d D) (/ d D))))) (- (pow (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) 3) (pow M 3)))) (* h (* w (* D D)))) (* (sqrt (* (- M (* (/ (/ c0 h) w) (* (/ d D) (/ d D)))) (+ (* (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) (* (/ (/ c0 h) w) (* (/ d D) (/ d D)))) (+ (* M M) (* (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) M))))) (* c0 (* 1 (* d d))))) |
| 502.0ms | (+ (* (sqrt (* (+ (pow M 3) (pow (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) 3)) (- (pow (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) 3) (pow M 3)))) (* h (* w D))) (* (sqrt (* (+ (* M M) (- (* (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) (* (/ (/ c0 h) w) (* (/ d D) (/ d D)))) (* M (* (/ (/ c0 h) w) (* (/ d D) (/ d D)))))) (+ (* (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) (* (/ (/ c0 h) w) (* (/ d D) (/ d D)))) (+ (* M M) (* (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) M))))) (* c0 (* 1 (* (/ d D) d))))) |
| 463.0ms | (+ (* (sqrt (* (+ (pow M 3) (pow (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) 3)) (- (pow (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) 3) (pow M 3)))) (* h D)) (* (sqrt (* (+ (* M M) (- (* (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) (* (/ (/ c0 h) w) (* (/ d D) (/ d D)))) (* M (* (/ (/ c0 h) w) (* (/ d D) (/ d D)))))) (+ (* (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) (* (/ (/ c0 h) w) (* (/ d D) (/ d D)))) (+ (* M M) (* (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) M))))) (* c0 (* (/ 1 w) (* (/ d D) d))))) |
14 alts after pruning (13 fresh and 1 done)
Merged error: 48.2b
Found 4 expressions with local error:
| 35.1b | (+ (sqrt (* (+ M (* (/ (/ c0 h) w) (* (/ d D) (/ d D)))) (- (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) M))) (* (* (/ (/ c0 h) w) (/ d D)) (/ d D))) |
| 14.8b | (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) |
| 14.8b | (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) |
| 13.7b | (sqrt (* (+ M (* (/ (/ c0 h) w) (* (/ d D) (/ d D)))) (- (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) M))) |
4 calls. Slowest were:
| 18.0ms | (+ (sqrt (* (+ M (* (/ (/ c0 h) w) (* (/ d D) (/ d D)))) (- (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) M))) (* (* (/ (/ c0 h) w) (/ d D)) (/ d D))) |
| 12.0ms | (sqrt (* (+ M (* (/ (/ c0 h) w) (* (/ d D) (/ d D)))) (- (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) M))) |
| 11.0ms | (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) |
4 calls. Slowest were:
| 318.0ms | (+ (sqrt (* (+ M (* (/ (/ c0 h) w) (* (/ d D) (/ d D)))) (- (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) M))) (* (* (/ (/ c0 h) w) (/ d D)) (/ d D))) |
| 255.0ms | (sqrt (* (+ M (* (/ (/ c0 h) w) (* (/ d D) (/ d D)))) (- (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) M))) |
| 72.0ms | (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) |
| 71.0ms | (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) |
170 calls. Slowest were:
| 496.0ms | (* (exp (sqrt (* (+ M (* (/ (/ c0 h) w) (* (/ d D) (/ d D)))) (- (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) M)))) (exp (* (* (/ (/ c0 h) w) (/ d D)) (/ d D)))) |
| 381.0ms | (+ (* (sqrt (* (+ M (* (/ (/ c0 h) w) (* (/ d D) (/ d D)))) (- (pow (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) 3) (pow M 3)))) (* (* w D) D)) (* (sqrt (+ (* (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) (* (/ (/ c0 h) w) (* (/ d D) (/ d D)))) (+ (* M M) (* (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) M)))) (* (* (/ c0 h) d) d))) |
| 324.0ms | (+ (log (/ (/ c0 h) w)) (+ (log (/ d D)) (log (/ d D)))) |
17 alts after pruning (16 fresh and 1 done)
Merged error: 48.0b
-22.1% (5.8b remaining)
Error of 54.6b against oracle of 48.8b and baseline of 53.5b