


Bits error versus w0



Bits error versus M



Bits error versus D



Bits error versus h



Bits error versus l



Bits error versus d
Results
if l < -5.796129162796494e-121Initial program 9.8
rmApplied associate-*r/9.7
rmApplied unpow29.7
Applied associate-*l*8.2
rmApplied associate-/l*6.9
if -5.796129162796494e-121 < l < 4.117387300691765e+181Initial program 16.9
rmApplied associate-*r/10.6
rmApplied times-frac10.3
if 4.117387300691765e+181 < l Initial program 11.9
rmApplied associate-*r/13.8
rmApplied unpow213.8
Applied associate-*l*11.3
rmApplied associate-/l*8.7
rmApplied add-cube-cbrt8.7
Final simplification8.8
herbie shell --seed 2019016
(FPCore (w0 M D h l d)
:name "Henrywood and Agarwal, Equation (9a)"
(* w0 (sqrt (- 1 (* (pow (/ (* M D) (* 2 d)) 2) (/ h l))))))
Time bar (total: 28.8s)Debug log
| 414× | (pre true 80) |
| 315× | (body real 80) |
| 99× | (body nan 80) |
| 78.0ms | (* w0 (sqrt (- 1 (* (pow (/ (* M D) (* 2 d)) 2) (/ h l))))) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 13.8b
Found 4 expressions with local error:
| 12.2b | (* (pow (/ (* M D) (* 2 d)) 2) (/ h l)) |
| 7.0b | (/ (* M D) (* 2 d)) |
| 4.2b | (sqrt (- 1 (* (pow (/ (* M D) (* 2 d)) 2) (/ h l)))) |
| 1.5b | (* w0 (sqrt (- 1 (* (pow (/ (* M D) (* 2 d)) 2) (/ h l))))) |
| 14× | add-exp-log |
| 11× | add-sqr-sqrt |
| 10× | add-cube-cbrt |
| 10× | associate-*r* |
| 10× | *-un-lft-identity |
| 9× | associate-*l* |
| 8× | add-cbrt-cube |
| 6× | sqrt-prod |
| 5× | unpow-prod-down |
| 4× | add-log-exp |
| 4× | prod-exp |
| 4× | sqrt-div |
| 4× | pow1 |
| 3× | div-inv |
| 3× | associate-*r/ |
| 2× | flip-- |
| 2× | *-commutative |
| 2× | pow-exp |
| 2× | div-exp |
| 2× | flip3-- |
| 2× | times-frac |
| 1× | unpow2 |
| 1× | associate-/l* |
| 1× | cbrt-unprod |
| 1× | pow1/2 |
| 1× | frac-2neg |
| 1× | associate-/r* |
| 1× | clear-num |
| 1× | rem-sqrt-square |
| 1× | cbrt-undiv |
| 1× | pow-to-exp |
| 12.0ms | (* w0 (sqrt (- 1 (* (pow (/ (* M D) (* 2 d)) 2) (/ h l))))) |
| 10.0ms | (* (pow (/ (* M D) (* 2 d)) 2) (/ h l)) |
| 5.0ms | (/ (* M D) (* 2 d)) |
| 2.0ms | (sqrt (- 1 (* (pow (/ (* M D) (* 2 d)) 2) (/ h l)))) |
| 202.0ms | (* w0 (sqrt (- 1 (* (pow (/ (* M D) (* 2 d)) 2) (/ h l))))) |
| 135.0ms | (sqrt (- 1 (* (pow (/ (* M D) (* 2 d)) 2) (/ h l)))) |
| 64.0ms | (* (pow (/ (* M D) (* 2 d)) 2) (/ h l)) |
| 29.0ms | (/ (* M D) (* 2 d)) |
| 736.0ms | (sqrt (+ 1 (* (pow (/ (* M D) (* 2 d)) 2) (/ h l)))) |
| 398.0ms | (+ (log (pow (/ (* M D) (* 2 d)) 2)) (log (/ h l))) |
| 327.0ms | (* (cbrt (pow (/ (* M D) (* 2 d)) 2)) (cbrt (pow (/ (* M D) (* 2 d)) 2))) |
| 297.0ms | (sqrt (pow (/ (* M D) (* 2 d)) 2)) |
| 256.0ms | (+ (* (- (log (* M D)) (log (* 2 d))) 2) (log (/ h l))) |
12 alts after pruning (12 fresh and 0 done)
Merged error: 7.3b
Found 4 expressions with local error:
| 7.0b | (/ (* M D) (* 2 d)) |
| 6.2b | (* (pow (/ (* M D) (* 2 d)) 2) h) |
| 4.4b | (/ (* (pow (/ (* M D) (* 2 d)) 2) h) l) |
| 4.2b | (sqrt (- 1 (/ (* (pow (/ (* M D) (* 2 d)) 2) h) l))) |
| 9× | associate-*l* |
| 8× | add-sqr-sqrt |
| 7× | add-cube-cbrt |
| 7× | *-un-lft-identity |
| 6× | add-exp-log |
| 6× | add-cbrt-cube |
| 5× | unpow-prod-down |
| 4× | add-log-exp |
| 4× | pow1 |
| 3× | div-inv |
| 3× | sqrt-prod |
| 2× | associate-/l* |
| 2× | sqrt-div |
| 2× | times-frac |
| 2× | frac-2neg |
| 2× | clear-num |
| 1× | unpow2 |
| 1× | flip-- |
| 1× | *-commutative |
| 1× | div-exp |
| 1× | pow1/2 |
| 1× | flip3-- |
| 1× | associate-/r* |
| 1× | rem-sqrt-square |
| 1× | cbrt-undiv |
| 7.0ms | (* (pow (/ (* M D) (* 2 d)) 2) h) |
| 6.0ms | (/ (* (pow (/ (* M D) (* 2 d)) 2) h) l) |
| 3.0ms | (/ (* M D) (* 2 d)) |
| 1.0ms | (sqrt (- 1 (/ (* (pow (/ (* M D) (* 2 d)) 2) h) l))) |
| 132.0ms | (sqrt (- 1 (/ (* (pow (/ (* M D) (* 2 d)) 2) h) l))) |
| 64.0ms | (/ (* (pow (/ (* M D) (* 2 d)) 2) h) l) |
| 59.0ms | (* (pow (/ (* M D) (* 2 d)) 2) h) |
| 17.0ms | (/ (* M D) (* 2 d)) |
| 875.0ms | (sqrt (* (cbrt (- 1 (/ (* (pow (/ (* M D) (* 2 d)) 2) h) l))) (cbrt (- 1 (/ (* (pow (/ (* M D) (* 2 d)) 2) h) l))))) |
| 795.0ms | (sqrt (sqrt (- 1 (/ (* (pow (/ (* M D) (* 2 d)) 2) h) l)))) |
| 625.0ms | (sqrt (- 1 (/ (* (pow (/ (* M D) (* 2 d)) 2) h) l))) |
| 381.0ms | (* 1/4 (/ (* (pow M 2) (* (pow D 2) h)) (pow d 2))) |
| 300.0ms | (* 1/4 (/ (* (pow M 2) (* (pow D 2) h)) (pow d 2))) |
14 alts after pruning (14 fresh and 0 done)
Merged error: 6.2b
Found 4 expressions with local error:
| 7.0b | (/ (* M D) (* 2 d)) |
| 7.0b | (/ (* M D) (* 2 d)) |
| 6.5b | (* (/ (* M D) (* 2 d)) h) |
| 4.4b | (/ (* (/ (* M D) (* 2 d)) (* (/ (* M D) (* 2 d)) h)) l) |
| 8× | add-exp-log |
| 8× | add-cbrt-cube |
| 5× | add-cube-cbrt |
| 5× | associate-*l* |
| 5× | *-un-lft-identity |
| 5× | add-sqr-sqrt |
| 4× | add-log-exp |
| 4× | div-inv |
| 4× | associate-*l/ |
| 4× | pow1 |
| 3× | associate-/l/ |
| 3× | associate-/l* |
| 3× | times-frac |
| 3× | frac-2neg |
| 3× | clear-num |
| 2× | div-exp |
| 2× | associate-/r* |
| 2× | cbrt-undiv |
| 1× | *-commutative |
| 1× | associate-*r/ |
| 1× | frac-times |
| 13.0ms | (/ (* (/ (* M D) (* 2 d)) (* (/ (* M D) (* 2 d)) h)) l) |
| 4.0ms | (* (/ (* M D) (* 2 d)) h) |
| 3.0ms | (/ (* M D) (* 2 d)) |
| 2.0ms | (/ (* M D) (* 2 d)) |
| 65.0ms | (/ (* (/ (* M D) (* 2 d)) (* (/ (* M D) (* 2 d)) h)) l) |
| 51.0ms | (* (/ (* M D) (* 2 d)) h) |
| 20.0ms | (/ (* M D) (* 2 d)) |
| 17.0ms | (/ (* M D) (* 2 d)) |
| 577.0ms | (* (* M D) (* (/ (* M D) (* 2 d)) h)) |
| 506.0ms | (* 1/4 (/ (* (pow M 2) (* (pow D 2) h)) (* l (pow d 2)))) |
| 442.0ms | (* (/ (* M D) (* 2 d)) (* (* M D) h)) |
| 284.0ms | (* 1/2 (/ (* M (* D h)) d)) |
| 235.0ms | (* 1/2 (/ (* M (* D h)) d)) |
15 alts after pruning (15 fresh and 0 done)
Merged error: 6.0b
Found 4 expressions with local error:
| 7.0b | (/ (* M D) (* 2 d)) |
| 7.0b | (/ (* M D) (* 2 d)) |
| 6.5b | (* (/ (* M D) (* 2 d)) h) |
| 4.2b | (sqrt (- 1 (/ (/ (* M D) (* 2 d)) (/ l (* (/ (* M D) (* 2 d)) h))))) |
| 8× | add-exp-log |
| 8× | add-cbrt-cube |
| 7× | add-sqr-sqrt |
| 6× | add-cube-cbrt |
| 6× | *-un-lft-identity |
| 5× | associate-*l* |
| 4× | add-log-exp |
| 4× | pow1 |
| 3× | div-inv |
| 3× | sqrt-prod |
| 3× | times-frac |
| 2× | associate-/l* |
| 2× | div-exp |
| 2× | sqrt-div |
| 2× | frac-2neg |
| 2× | associate-/r* |
| 2× | clear-num |
| 2× | cbrt-undiv |
| 1× | flip-- |
| 1× | *-commutative |
| 1× | associate-*l/ |
| 1× | pow1/2 |
| 1× | flip3-- |
| 1× | rem-sqrt-square |
| 9.0ms | (sqrt (- 1 (/ (/ (* M D) (* 2 d)) (/ l (* (/ (* M D) (* 2 d)) h))))) |
| 7.0ms | (* (/ (* M D) (* 2 d)) h) |
| 5.0ms | (/ (* M D) (* 2 d)) |
| 5.0ms | (/ (* M D) (* 2 d)) |
| 124.0ms | (sqrt (- 1 (/ (/ (* M D) (* 2 d)) (/ l (* (/ (* M D) (* 2 d)) h))))) |
| 38.0ms | (* (/ (* M D) (* 2 d)) h) |
| 27.0ms | (/ (* M D) (* 2 d)) |
| 27.0ms | (/ (* M D) (* 2 d)) |
| 271.0ms | (* 1/2 (/ (* M (* D h)) d)) |
| 258.0ms | (sqrt (- (* 1 1) (* (/ (/ (* M D) (* 2 d)) (/ l (* (/ (* M D) (* 2 d)) h))) (/ (/ (* M D) (* 2 d)) (/ l (* (/ (* M D) (* 2 d)) h)))))) |
| 235.0ms | (* 1/2 (/ (* M (* D h)) d)) |
| 233.0ms | (sqrt (- (pow 1 3) (pow (/ (/ (* M D) (* 2 d)) (/ l (* (/ (* M D) (* 2 d)) h))) 3))) |
| 204.0ms | (/ (* (* (* M D) (* M D)) (* M D)) (* (* (* 2 d) (* 2 d)) (* 2 d))) |
13 alts after pruning (12 fresh and 1 done)
Merged error: 6.0b
-28.8% (1.8b remaining)
Error of 8.8b against oracle of 7.0b and baseline of 8.4b
| 12346× | (pre true 80) |
| 9330× | (body real 80) |
| 3016× | (body nan 80) |