


Bits error versus t



Bits error versus l



Bits error versus k
if t < -5.654210855745907e-57Initial program 23.0
rmApplied unpow323.0
Applied times-frac16.8
Applied associate-*l*14.6
rmApplied tan-quot14.6
Applied associate-*l/14.7
Applied associate-*r/14.8
Applied frac-times14.6
Applied associate-*l/14.5
Simplified8.1
rmApplied associate-/l*4.2
rmApplied div-inv4.2
Applied div-inv4.3
Applied times-frac4.3
Simplified4.2
if -5.654210855745907e-57 < t < 3.7270847572392797e-38Initial program 54.0
rmApplied unpow354.0
Applied times-frac45.6
Applied associate-*l*44.8
rmApplied tan-quot44.8
Applied associate-*l/45.5
Applied associate-*r/46.4
Applied frac-times48.0
Applied associate-*l/47.5
Simplified37.7
Taylor expanded around -inf 23.1
if 3.7270847572392797e-38 < t Initial program 20.9
rmApplied unpow320.9
Applied times-frac15.2
Applied associate-*l*12.9
rmApplied tan-quot13.0
Applied associate-*l/13.0
Applied associate-*r/13.2
Applied frac-times13.1
Applied associate-*l/13.2
Simplified7.3
rmApplied associate-/l*3.3
rmApplied div-inv3.3
Applied associate-/r*3.1
Final simplification9.5
herbie shell --seed 2019005 +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.7m)Debug log
1 calls. Slowest were:
| 487.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: 30.9b
Found 4 expressions with local error:
| 15.0b | (/ (pow t 3) (* l l)) |
| 12.4b | (* (* (* (/ (pow t 3) (* l l)) (sin k)) (tan k)) (+ (+ 1 (pow (/ k t) 2)) 1)) |
| 4.3b | (* (/ (pow t 3) (* l l)) (sin k)) |
| 2.3b | (* (* (/ (pow t 3) (* l l)) (sin k)) (tan k)) |
4 calls. Slowest were:
| 37.0ms | (* (* (* (/ (pow t 3) (* l l)) (sin k)) (tan k)) (+ (+ 1 (pow (/ k t) 2)) 1)) |
| 25.0ms | (* (* (/ (pow t 3) (* l l)) (sin k)) (tan k)) |
| 9.0ms | (* (/ (pow t 3) (* l l)) (sin k)) |
4 calls. Slowest were:
| 335.0ms | (* (* (* (/ (pow t 3) (* l l)) (sin k)) (tan k)) (+ (+ 1 (pow (/ k t) 2)) 1)) |
| 135.0ms | (* (* (/ (pow t 3) (* l l)) (sin k)) (tan k)) |
| 61.0ms | (* (/ (pow t 3) (* l l)) (sin k)) |
| 26.0ms | (/ (pow t 3) (* l l)) |
98 calls. Slowest were:
| 1.2s | (* (* l l) (- (+ 1 (pow (/ k t) 2)) 1)) |
| 883.0ms | (- (+ 1 (pow (/ k t) 2)) 1) |
| 701.0ms | (* (* (* l l) (cos k)) (- (+ 1 (pow (/ k t) 2)) 1)) |
11 alts after pruning (11 fresh and 0 done)
Merged error: 12.6b
Found 4 expressions with local error:
| 12.4b | (* (* (* (/ (* t t) l) (* (/ t l) (sin k))) (tan k)) (+ (+ 1 (pow (/ k t) 2)) 1)) |
| 7.0b | (/ (* t t) l) |
| 3.1b | (* (/ t l) (sin k)) |
| 2.3b | (* (* (/ (* t t) l) (* (/ t l) (sin k))) (tan k)) |
4 calls. Slowest were:
| 99.0ms | (* (* (* (/ (* t t) l) (* (/ t l) (sin k))) (tan k)) (+ (+ 1 (pow (/ k t) 2)) 1)) |
| 29.0ms | (* (* (/ (* t t) l) (* (/ t l) (sin k))) (tan k)) |
| 8.0ms | (* (/ t l) (sin k)) |
4 calls. Slowest were:
| 371.0ms | (* (* (* (/ (* t t) l) (* (/ t l) (sin k))) (tan k)) (+ (+ 1 (pow (/ k t) 2)) 1)) |
| 197.0ms | (* (* (/ (* t t) l) (* (/ t l) (sin k))) (tan k)) |
| 77.0ms | (* (/ t l) (sin k)) |
| 16.0ms | (/ (* t t) l) |
99 calls. Slowest were:
| 1.4s | (* (* l l) (- (+ 1 (pow (/ k t) 2)) 1)) |
| 775.0ms | (* (* (* l l) (cos k)) (- (+ 1 (pow (/ k t) 2)) 1)) |
| 767.0ms | (- (+ 1 (pow (/ k t) 2)) 1) |
14 alts after pruning (14 fresh and 0 done)
Merged error: 7.2b
Found 4 expressions with local error:
| 11.0b | (* (/ (* (sin k) t) (/ l t)) (* (* (sin k) t) (fma (/ k t) (/ k t) 2))) |
| 4.3b | (/ (* (/ (* (sin k) t) (/ l t)) (* (* (sin k) t) (fma (/ k t) (/ k t) 2))) (* l (cos k))) |
| 2.6b | (* (* (sin k) t) (fma (/ k t) (/ k t) 2)) |
| 1.3b | (/ (* (sin k) t) (/ l t)) |
4 calls. Slowest were:
| 40.0ms | (* (/ (* (sin k) t) (/ l t)) (* (* (sin k) t) (fma (/ k t) (/ k t) 2))) |
| 26.0ms | (/ (* (/ (* (sin k) t) (/ l t)) (* (* (sin k) t) (fma (/ k t) (/ k t) 2))) (* l (cos k))) |
| 9.0ms | (* (* (sin k) t) (fma (/ k t) (/ k t) 2)) |
4 calls. Slowest were:
| 217.0ms | (/ (* (/ (* (sin k) t) (/ l t)) (* (* (sin k) t) (fma (/ k t) (/ k t) 2))) (* l (cos k))) |
| 140.0ms | (* (/ (* (sin k) t) (/ l t)) (* (* (sin k) t) (fma (/ k t) (/ k t) 2))) |
| 104.0ms | (* (* (sin k) t) (fma (/ k t) (/ k t) 2)) |
| 69.0ms | (/ (* (sin k) t) (/ l t)) |
75 calls. Slowest were:
| 1.2s | (/ (* (/ (* (* (* (sin k) t) (* (sin k) t)) (* (sin k) t)) (* (* (/ l t) (/ l t)) (/ l t))) (* (* (* (* (sin k) t) (* (sin k) t)) (* (sin k) t)) (* (* (fma (/ k t) (/ k t) 2) (fma (/ k t) (/ k t) 2)) (fma (/ k t) (/ k t) 2)))) (* (* (* l (cos k)) (* l (cos k))) (* l (cos k)))) |
| 1.1s | (/ (* (/ (* (* (* (sin k) t) (* (sin k) t)) (* (sin k) t)) (* (* (/ l t) (/ l t)) (/ l t))) (* (* (* (* (sin k) t) (fma (/ k t) (/ k t) 2)) (* (* (sin k) t) (fma (/ k t) (/ k t) 2))) (* (* (sin k) t) (fma (/ k t) (/ k t) 2)))) (* (* (* l (cos k)) (* l (cos k))) (* l (cos k)))) |
| 932.0ms | (/ (* (* (* (/ (* (sin k) t) (/ l t)) (/ (* (sin k) t) (/ l t))) (/ (* (sin k) t) (/ l t))) (* (* (* (* (sin k) t) (fma (/ k t) (/ k t) 2)) (* (* (sin k) t) (fma (/ k t) (/ k t) 2))) (* (* (sin k) t) (fma (/ k t) (/ k t) 2)))) (* (* (* l (cos k)) (* l (cos k))) (* l (cos k)))) |
12 alts after pruning (12 fresh and 0 done)
Merged error: 4.7b
Found 4 expressions with local error:
| 10.4b | (/ (/ (* (sin k) t) (/ l t)) (/ (* l (cos k)) (* (* (sin k) t) (fma (/ k t) (/ k t) 2)))) |
| 2.7b | (/ (* l (cos k)) (* (* (sin k) t) (fma (/ k t) (/ k t) 2))) |
| 2.6b | (* (* (sin k) t) (fma (/ k t) (/ k t) 2)) |
| 1.3b | (/ (* (sin k) t) (/ l t)) |
4 calls. Slowest were:
| 17.0ms | (/ (/ (* (sin k) t) (/ l t)) (/ (* l (cos k)) (* (* (sin k) t) (fma (/ k t) (/ k t) 2)))) |
| 10.0ms | (/ (* l (cos k)) (* (* (sin k) t) (fma (/ k t) (/ k t) 2))) |
| 7.0ms | (* (* (sin k) t) (fma (/ k t) (/ k t) 2)) |
4 calls. Slowest were:
| 197.0ms | (/ (* l (cos k)) (* (* (sin k) t) (fma (/ k t) (/ k t) 2))) |
| 185.0ms | (/ (/ (* (sin k) t) (/ l t)) (/ (* l (cos k)) (* (* (sin k) t) (fma (/ k t) (/ k t) 2)))) |
| 68.0ms | (* (* (sin k) t) (fma (/ k t) (/ k t) 2)) |
| 68.0ms | (/ (* (sin k) t) (/ l t)) |
160 calls. Slowest were:
| 1.3s | (/ (/ (* (* (* (sin k) t) (* (sin k) t)) (* (sin k) t)) (* (* (/ l t) (/ l t)) (/ l t))) (/ (* (* (* l (cos k)) (* l (cos k))) (* l (cos k))) (* (* (* (* (sin k) t) (fma (/ k t) (/ k t) 2)) (* (* (sin k) t) (fma (/ k t) (/ k t) 2))) (* (* (sin k) t) (fma (/ k t) (/ k t) 2))))) |
| 855.0ms | (/ (/ (* (* (* (sin k) t) (* (sin k) t)) (* (sin k) t)) (* (* (/ l t) (/ l t)) (/ l t))) (/ (* (* (* l (cos k)) (* l (cos k))) (* l (cos k))) (* (* (* (* (sin k) t) (* (sin k) t)) (* (sin k) t)) (* (* (fma (/ k t) (/ k t) 2) (fma (/ k t) (/ k t) 2)) (fma (/ k t) (/ k t) 2))))) |
| 705.0ms | (/ (* (* (/ (* (sin k) t) (/ l t)) (/ (* (sin k) t) (/ l t))) (/ (* (sin k) t) (/ l t))) (/ (* (* (* l (cos k)) (* l (cos k))) (* l (cos k))) (* (* (* (* (sin k) t) (fma (/ k t) (/ k t) 2)) (* (* (sin k) t) (fma (/ k t) (/ k t) 2))) (* (* (sin k) t) (fma (/ k t) (/ k t) 2))))) |
10 alts after pruning (10 fresh and 0 done)
Merged error: 4.7b
45.7% (3.2b remaining)
Error of 9.5b against oracle of 6.3b and baseline of 12.2b