


Bits error versus t



Bits error versus l



Bits error versus k
if (* l l) < 0.0Initial program 45.4
Taylor expanded around -inf 20.4
rmApplied associate-*r*19.6
Taylor expanded around 0 22.3
Simplified19.1
if 0.0 < (* l l) < 2.724912876006757e+292Initial program 43.7
Taylor expanded around -inf 15.2
rmApplied associate-*r*13.0
rmApplied unpow213.0
Applied associate-*r*9.2
rmApplied times-frac7.5
if 2.724912876006757e+292 < (* l l) Initial program 61.7
rmApplied cube-mult61.7
Applied times-frac51.7
Applied associate-*l*51.7
Final simplification18.5
herbie shell --seed 2019016 +o rules:numerics
(FPCore (t l k)
:name "Toniolo and Linder, Equation (10-)"
(/ 2 (* (* (* (/ (pow t 3) (* l l)) (sin k)) (tan k)) (- (+ 1 (pow (/ k t) 2)) 1))))
Time bar (total: 1.5m)Debug log
| 434× | (pre true 80) |
| 140× | (body real 1280) |
| 76× | (body real 640) |
| 70× | (body real 2560) |
| 68× | (body real 80) |
| 34× | (body real 5120) |
| 28× | (body real 320) |
| 18× | (body real 160) |
| 84.0ms | (/ 2 (* (* (* (/ (pow t 3) (* l l)) (sin k)) (tan k)) (- (+ 1 (pow (/ k t) 2)) 1))) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 44.1b
Found 4 expressions with local error:
| 30.3b | (* (* (* (/ (pow t 3) (* l l)) (sin k)) (tan k)) (- (+ 1 (pow (/ k t) 2)) 1)) |
| 16.2b | (/ (pow t 3) (* l l)) |
| 1.9b | (- (+ 1 (pow (/ k t) 2)) 1) |
| 1.0b | (* (/ (pow t 3) (* l l)) (sin k)) |
| 33× | add-exp-log |
| 25× | add-cbrt-cube |
| 15× | prod-exp |
| 15× | pow1 |
| 13× | associate-*l/ |
| 13× | add-sqr-sqrt |
| 11× | cbrt-unprod |
| 11× | add-cube-cbrt |
| 11× | *-un-lft-identity |
| 10× | associate-*l* |
| 10× | times-frac |
| 9× | frac-times |
| 7× | pow-prod-down |
| 7× | associate-*r* |
| 6× | tan-quot |
| 6× | div-exp |
| 5× | associate-/l* |
| 5× | flip-- |
| 5× | associate-*r/ |
| 5× | flip3-- |
| 4× | add-log-exp |
| 4× | log1p-expm1-u |
| 4× | expm1-log1p-u |
| 3× | associate--l+ |
| 3× | unpow3 |
| 3× | fma-neg |
| 3× | distribute-lft-in |
| 3× | sub-neg |
| 3× | cbrt-undiv |
| 3× | pow-to-exp |
| 3× | cube-mult |
| 3× | distribute-rgt-in |
| 2× | div-inv |
| 2× | *-commutative |
| 2× | difference-of-sqr-1 |
| 1× | frac-2neg |
| 1× | associate-/r* |
| 1× | clear-num |
| 1× | expm1-def |
| 72.0ms | (* (* (* (/ (pow t 3) (* l l)) (sin k)) (tan k)) (- (+ 1 (pow (/ k t) 2)) 1)) |
| 13.0ms | (- (+ 1 (pow (/ k t) 2)) 1) |
| 5.0ms | (* (/ (pow t 3) (* l l)) (sin k)) |
| 5.0ms | (/ (pow t 3) (* l l)) |
| 305.0ms | (* (* (* (/ (pow t 3) (* l l)) (sin k)) (tan k)) (- (+ 1 (pow (/ k t) 2)) 1)) |
| 75.0ms | (* (/ (pow t 3) (* l l)) (sin k)) |
| 21.0ms | (- (+ 1 (pow (/ k t) 2)) 1) |
| 17.0ms | (/ (pow t 3) (* l l)) |
| 1.3s | (* (* (* (pow t 3) (sin k)) (sin k)) (- (+ 1 (pow (/ k t) 2)) 1)) |
| 1.1s | (cbrt (- (+ 1 (pow (/ k t) 2)) 1)) |
| 884.0ms | (sqrt (- (+ 1 (pow (/ k t) 2)) 1)) |
| 797.0ms | (- (+ 1 (pow (/ k t) 2)) 1) |
| 751.0ms | (* (* l l) (+ (* (+ 1 (pow (/ k t) 2)) (+ 1 (pow (/ k t) 2))) (+ (* 1 1) (* (+ 1 (pow (/ k t) 2)) 1)))) |
10 alts after pruning (10 fresh and 0 done)
Merged error: 16.7b
Found 4 expressions with local error:
| 20.5b | (/ (* t (* (pow k 2) (pow (sin k) 2))) (* (pow l 2) (cos k))) |
| 4.6b | (* t (* (pow k 2) (pow (sin k) 2))) |
| 0.5b | (/ 2 (/ (* t (* (pow k 2) (pow (sin k) 2))) (* (pow l 2) (cos k)))) |
| 0.4b | (pow (sin k) 2) |
| 12× | add-exp-log |
| 9× | add-cbrt-cube |
| 6× | add-cube-cbrt |
| 6× | *-un-lft-identity |
| 6× | associate-/r* |
| 6× | add-sqr-sqrt |
| 5× | pow1 |
| 4× | add-log-exp |
| 4× | log1p-expm1-u |
| 4× | expm1-log1p-u |
| 3× | div-inv |
| 3× | div-exp |
| 3× | unpow-prod-down |
| 2× | prod-exp |
| 2× | times-frac |
| 2× | frac-2neg |
| 2× | clear-num |
| 2× | cbrt-undiv |
| 2× | pow-to-exp |
| 1× | unpow2 |
| 1× | associate-/l* |
| 1× | cbrt-unprod |
| 1× | *-commutative |
| 1× | associate-/r/ |
| 1× | pow-exp |
| 1× | associate-*r* |
| 1× | pow-pow |
| 15.0ms | (/ (* t (* (pow k 2) (pow (sin k) 2))) (* (pow l 2) (cos k))) |
| 15.0ms | (* t (* (pow k 2) (pow (sin k) 2))) |
| 3.0ms | (/ 2 (/ (* t (* (pow k 2) (pow (sin k) 2))) (* (pow l 2) (cos k)))) |
| 2.0ms | (pow (sin k) 2) |
| 281.0ms | (/ 2 (/ (* t (* (pow k 2) (pow (sin k) 2))) (* (pow l 2) (cos k)))) |
| 275.0ms | (/ (* t (* (pow k 2) (pow (sin k) 2))) (* (pow l 2) (cos k))) |
| 82.0ms | (* t (* (pow k 2) (pow (sin k) 2))) |
| 15.0ms | (pow (sin k) 2) |
| 597.0ms | (cbrt (/ (* t (* (pow k 2) (pow (sin k) 2))) (* (pow l 2) (cos k)))) |
| 579.0ms | (sqrt (/ (* t (* (pow k 2) (pow (sin k) 2))) (* (pow l 2) (cos k)))) |
| 517.0ms | (/ (* t (* (pow k 2) (pow (sin k) 2))) (* (pow l 2) (cos k))) |
| 514.0ms | (/ (* (* (* t (* (pow k 2) (pow (sin k) 2))) (* t (* (pow k 2) (pow (sin k) 2)))) (* t (* (pow k 2) (pow (sin k) 2)))) (* (* (* (pow l 2) (pow l 2)) (pow l 2)) (* (* (cos k) (cos k)) (cos k)))) |
| 511.0ms | (/ (* (* (* t (* (pow k 2) (pow (sin k) 2))) (* t (* (pow k 2) (pow (sin k) 2)))) (* t (* (pow k 2) (pow (sin k) 2)))) (* (* (* (pow l 2) (cos k)) (* (pow l 2) (cos k))) (* (pow l 2) (cos k)))) |
16 alts after pruning (16 fresh and 0 done)
Merged error: 14.4b
Found 4 expressions with local error:
| 20.5b | (/ (* (* t (pow k 2)) (pow (sin k) 2)) (* (pow l 2) (cos k))) |
| 5.5b | (* t (pow k 2)) |
| 0.5b | (/ 2 (/ (* (* t (pow k 2)) (pow (sin k) 2)) (* (pow l 2) (cos k)))) |
| 0.4b | (pow (sin k) 2) |
| 39× | add-exp-log |
| 17× | prod-exp |
| 16× | add-cbrt-cube |
| 12× | div-exp |
| 8× | pow-to-exp |
| 7× | add-cube-cbrt |
| 7× | *-un-lft-identity |
| 7× | add-sqr-sqrt |
| 6× | associate-/r* |
| 5× | pow1 |
| 4× | add-log-exp |
| 4× | log1p-expm1-u |
| 4× | cbrt-unprod |
| 4× | pow-exp |
| 4× | associate-*r* |
| 4× | cbrt-undiv |
| 4× | expm1-log1p-u |
| 3× | div-inv |
| 3× | unpow-prod-down |
| 2× | unpow2 |
| 2× | times-frac |
| 2× | frac-2neg |
| 2× | clear-num |
| 1× | associate-/l* |
| 1× | *-commutative |
| 1× | associate-/r/ |
| 1× | pow-pow |
| 21.0ms | (/ (* (* t (pow k 2)) (pow (sin k) 2)) (* (pow l 2) (cos k))) |
| 3.0ms | (/ 2 (/ (* (* t (pow k 2)) (pow (sin k) 2)) (* (pow l 2) (cos k)))) |
| 2.0ms | (* t (pow k 2)) |
| 2.0ms | (pow (sin k) 2) |
| 257.0ms | (/ 2 (/ (* (* t (pow k 2)) (pow (sin k) 2)) (* (pow l 2) (cos k)))) |
| 220.0ms | (/ (* (* t (pow k 2)) (pow (sin k) 2)) (* (pow l 2) (cos k))) |
| 24.0ms | (pow (sin k) 2) |
| 20.0ms | (* t (pow k 2)) |
| 571.0ms | (/ (* (* (* (* t (pow k 2)) (* t (pow k 2))) (* t (pow k 2))) (* (* (pow (sin k) 2) (pow (sin k) 2)) (pow (sin k) 2))) (* (* (* (pow l 2) (pow l 2)) (pow l 2)) (* (* (cos k) (cos k)) (cos k)))) |
| 561.0ms | (/ (* t (* (pow k 2) (pow (sin k) 2))) (* (pow l 2) (cos k))) |
| 518.0ms | (/ (* (* (* (* t (pow k 2)) (pow (sin k) 2)) (* (* t (pow k 2)) (pow (sin k) 2))) (* (* t (pow k 2)) (pow (sin k) 2))) (* (* (* (pow l 2) (pow l 2)) (pow l 2)) (* (* (cos k) (cos k)) (cos k)))) |
| 483.0ms | (/ (* t (* (pow k 2) (pow (sin k) 2))) (* (pow l 2) (cos k))) |
| 481.0ms | (/ (* (* (* (* t (pow k 2)) (* t (pow k 2))) (* t (pow k 2))) (* (* (pow (sin k) 2) (pow (sin k) 2)) (pow (sin k) 2))) (* (* (* (pow l 2) (cos k)) (* (pow l 2) (cos k))) (* (pow l 2) (cos k)))) |
17 alts after pruning (16 fresh and 1 done)
Merged error: 12.5b
Found 4 expressions with local error:
| 20.5b | (/ (* (* (* t k) k) (pow (sin k) 2)) (* (pow l 2) (cos k))) |
| 0.5b | (/ 2 (/ (* (* (* t k) k) (pow (sin k) 2)) (* (pow l 2) (cos k)))) |
| 0.4b | (pow (sin k) 2) |
| 0.1b | (* (* (* t k) k) (pow (sin k) 2)) |
| 44× | add-exp-log |
| 20× | prod-exp |
| 18× | add-cbrt-cube |
| 12× | div-exp |
| 9× | pow-to-exp |
| 8× | add-cube-cbrt |
| 8× | *-un-lft-identity |
| 8× | add-sqr-sqrt |
| 7× | associate-*r* |
| 6× | unpow-prod-down |
| 6× | associate-/r* |
| 5× | cbrt-unprod |
| 5× | pow-exp |
| 5× | pow1 |
| 4× | add-log-exp |
| 4× | log1p-expm1-u |
| 4× | cbrt-undiv |
| 4× | expm1-log1p-u |
| 3× | div-inv |
| 2× | unpow2 |
| 2× | times-frac |
| 2× | frac-2neg |
| 2× | clear-num |
| 1× | associate-/l* |
| 1× | *-commutative |
| 1× | associate-/r/ |
| 1× | associate-*l* |
| 1× | pow-pow |
| 27.0ms | (/ (* (* (* t k) k) (pow (sin k) 2)) (* (pow l 2) (cos k))) |
| 8.0ms | (* (* (* t k) k) (pow (sin k) 2)) |
| 2.0ms | (/ 2 (/ (* (* (* t k) k) (pow (sin k) 2)) (* (pow l 2) (cos k)))) |
| 1.0ms | (pow (sin k) 2) |
| 283.0ms | (/ 2 (/ (* (* (* t k) k) (pow (sin k) 2)) (* (pow l 2) (cos k)))) |
| 222.0ms | (/ (* (* (* t k) k) (pow (sin k) 2)) (* (pow l 2) (cos k))) |
| 90.0ms | (* (* (* t k) k) (pow (sin k) 2)) |
| 26.0ms | (pow (sin k) 2) |
| 603.0ms | (/ (* t (* (pow k 2) (pow (sin k) 2))) (* (pow l 2) (cos k))) |
| 599.0ms | (* (* (* (* (* t k) k) (* (* t k) k)) (* (* t k) k)) (* (* (pow (sin k) 2) (pow (sin k) 2)) (pow (sin k) 2))) |
| 539.0ms | (/ (* t (* (pow k 2) (pow (sin k) 2))) (* (pow l 2) (cos k))) |
| 524.0ms | (/ (* (* (* (* (* t k) k) (pow (sin k) 2)) (* (* (* t k) k) (pow (sin k) 2))) (* (* (* t k) k) (pow (sin k) 2))) (* (* (* (pow l 2) (pow l 2)) (pow l 2)) (* (* (cos k) (cos k)) (cos k)))) |
| 499.0ms | (/ (* (* (* (* (* t k) k) (pow (sin k) 2)) (* (* (* t k) k) (pow (sin k) 2))) (* (* (* t k) k) (pow (sin k) 2))) (* (* (* (pow l 2) (cos k)) (* (pow l 2) (cos k))) (* (pow l 2) (cos k)))) |
20 alts after pruning (19 fresh and 1 done)
Merged error: 12.2b
17.8% (6.6b remaining)
Error of 18.5b against oracle of 11.9b and baseline of 19.9b
| 13267× | (pre true 80) |
| 4079× | (body real 1280) |
| 2526× | (body real 640) |
| 2193× | (body real 2560) |
| 2012× | (body real 80) |
| 1047× | (body real 320) |
| 934× | (body real 5120) |
| 476× | (body real 160) |