


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 (* (/ 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))))) < -inf.0Initial program 61.2
Initial simplification55.1
rmApplied associate-*r*55.2
rmApplied sqrt-prod44.7
if -inf.0 < (* (/ 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))))) < 5.2240564334301505e-248Initial program 25.1
if 5.2240564334301505e-248 < (* (/ 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))))) Initial program 61.5
Initial simplification55.1
rmApplied associate-*r*55.4
rmApplied add-sqr-sqrt56.0
rmApplied add-cube-cbrt56.1
Final simplification52.4
herbie shell --seed 2018362
(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: 6.7m)Debug log
2 alts after pruning (2 fresh and 0 done)
Merged error: 51.4b
Found 4 expressions with local error:
| 25.6b | (+ (sqrt (* (+ M (* (/ (/ c0 h) w) (* (/ d D) (/ d D)))) (- (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) M))) (* (/ (/ c0 h) w) (* (/ d D) (/ d D)))) |
| 13.7b | (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) |
| 13.7b | (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) |
| 13.7b | (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) |
4 calls. Slowest were:
| 46.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)))) |
| 18.0ms | (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) |
| 17.0ms | (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) |
4 calls. Slowest were:
| 444.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)))) |
| 110.0ms | (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) |
| 84.0ms | (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) |
| 75.0ms | (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) |
179 calls. Slowest were:
| 577.0ms | (* (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))))) D) |
| 509.0ms | (/ (* c0 (pow d 2)) (* (pow D 2) (* w h))) |
| 496.0ms | (/ (* c0 (pow d 2)) (* (pow D 2) (* w h))) |
14 alts after pruning (14 fresh and 0 done)
Merged error: 50.4b
Found 4 expressions with local error:
| 25.6b | (+ (sqrt (* (+ M (* (/ (/ c0 h) w) (* (/ d D) (/ d D)))) (- (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) M))) (* (/ (/ c0 h) w) (* (/ d D) (/ d D)))) |
| 25.6b | (+ (sqrt (* (+ M (* (/ (/ c0 h) w) (* (/ d D) (/ d D)))) (- (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) M))) (* (/ (/ c0 h) w) (* (/ d D) (/ d D)))) |
| 25.6b | (+ (sqrt (* (+ M (* (/ (/ c0 h) w) (* (/ d D) (/ d D)))) (- (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) M))) (* (/ (/ c0 h) w) (* (/ d D) (/ d D)))) |
| 13.7b | (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) |
4 calls. Slowest were:
| 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)))) |
| 25.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)))) |
| 22.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:
| 521.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)))) |
| 459.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)))) |
| 426.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)))) |
| 106.0ms | (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) |
369 calls. Slowest were:
| 822.0ms | (+ (* (sqrt (* (+ (pow M 3) (pow (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) 3)) (- (* (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) (* (/ (/ c0 h) w) (* (/ d D) (/ d D)))) (* M M)))) (* 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))) M))) (* (/ c0 h) (* d (/ d D))))) |
| 771.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)))) |
| 756.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 (* D 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 h) (* d d)))) |
14 alts after pruning (13 fresh and 1 done)
Merged error: 50.4b
Found 4 expressions with local error:
| 27.5b | (+ (sqrt (* (+ M (* (* (/ (/ c0 h) w) (/ d D)) (/ d D))) (- (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) M))) (* (/ (/ c0 h) w) (* (/ d D) (/ d D)))) |
| 13.7b | (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) |
| 13.7b | (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) |
| 13.2b | (sqrt (* (+ M (* (* (/ (/ c0 h) w) (/ d D)) (/ d D))) (- (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) M))) |
4 calls. Slowest were:
| 22.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)))) |
| 17.0ms | (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) |
| 13.0ms | (sqrt (* (+ M (* (* (/ (/ c0 h) w) (/ d D)) (/ d D))) (- (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) M))) |
4 calls. Slowest were:
| 434.0ms | (sqrt (* (+ M (* (* (/ (/ c0 h) w) (/ d D)) (/ d D))) (- (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) M))) |
| 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)))) |
| 96.0ms | (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) |
| 81.0ms | (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) |
170 calls. Slowest were:
| 835.0ms | (+ (* (sqrt (* (+ (pow M 3) (pow (* (* (/ (/ c0 h) w) (/ d D)) (/ d D)) 3)) (- (* (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) (* (/ (/ c0 h) w) (* (/ d D) (/ d D)))) (* M M)))) (* 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))) M))) (* (/ c0 h) (* (/ d D) d)))) |
| 656.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)))) 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 h) w) (* d (/ d D))))) |
| 582.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)))) |
13 alts after pruning (13 fresh and 0 done)
Merged error: 49.1b
Found 4 expressions with local error:
| 32.9b | (+ (* (sqrt (sqrt (* (+ M (* (* (/ (/ c0 h) w) (/ d D)) (/ d D))) (- (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) M)))) (sqrt (sqrt (* (+ M (* (* (/ (/ c0 h) w) (/ d D)) (/ d D))) (- (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) M))))) (* (/ (/ c0 h) w) (* (/ d D) (/ d D)))) |
| 18.0b | (sqrt (sqrt (* (+ M (* (* (/ (/ c0 h) w) (/ d D)) (/ d D))) (- (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) M)))) |
| 18.0b | (sqrt (sqrt (* (+ M (* (* (/ (/ c0 h) w) (/ d D)) (/ d D))) (- (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) M)))) |
| 13.7b | (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) |
4 calls. Slowest were:
| 116.0ms | (+ (* (sqrt (sqrt (* (+ M (* (* (/ (/ c0 h) w) (/ d D)) (/ d D))) (- (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) M)))) (sqrt (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 | (sqrt (sqrt (* (+ M (* (* (/ (/ c0 h) w) (/ d D)) (/ d D))) (- (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) M)))) |
| 20.0ms | (sqrt (sqrt (* (+ M (* (* (/ (/ c0 h) w) (/ d D)) (/ d D))) (- (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) M)))) |
4 calls. Slowest were:
| 454.0ms | (+ (* (sqrt (sqrt (* (+ M (* (* (/ (/ c0 h) w) (/ d D)) (/ d D))) (- (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) M)))) (sqrt (sqrt (* (+ M (* (* (/ (/ c0 h) w) (/ d D)) (/ d D))) (- (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) M))))) (* (/ (/ c0 h) w) (* (/ d D) (/ d D)))) |
| 242.0ms | (sqrt (sqrt (* (+ M (* (* (/ (/ c0 h) w) (/ d D)) (/ d D))) (- (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) M)))) |
| 242.0ms | (sqrt (sqrt (* (+ M (* (* (/ (/ c0 h) w) (/ d D)) (/ d D))) (- (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) M)))) |
| 98.0ms | (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) |
1177 calls. Slowest were:
| 628.0ms | (+ (* (* (sqrt (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))))) (sqrt (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 (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)))))) (sqrt (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))))) |
| 627.0ms | (* (* (sqrt (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)))))) (sqrt (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))))))) w) |
| 614.0ms | (* (* (sqrt (sqrt (* (- M (* (* (/ (/ c0 h) w) (/ d D)) (/ d D))) (+ (* (/ (/ c0 h) w) (* (/ d D) (/ d D))) M)))) (sqrt (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))))))) (* D D)) |
20 alts after pruning (20 fresh and 0 done)
Merged error: 47.6b
26.1% (4.7b remaining)
Error of 52.4b against oracle of 47.7b and baseline of 54.1b