


Bits error versus kx



Bits error versus ky



Bits error versus th
Results
Initial program 12.4
Simplified11.1
rmApplied *-un-lft-identity11.1
Applied times-frac8.7
Simplified8.7
Taylor expanded around -inf 12.4
Simplified8.7
Final simplification8.7
herbie shell --seed 2019007 +o rules:numerics
(FPCore (kx ky th)
:name "Toniolo and Linder, Equation (3b), real"
(* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)))
Time bar (total: 29.8s)Debug log
1 calls. Slowest were:
| 24.0ms | (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) |
2 alts after pruning (2 fresh and 0 done)
Merged error: 10.5b
Found 3 expressions with local error:
| 2.6b | (/ (* (sin th) (sin ky)) (hypot (sin kx) (sin ky))) |
| 0.2b | (* (sin th) (sin ky)) |
| 0.0b | (hypot (sin kx) (sin ky)) |
3 calls. Slowest were:
| 16.0ms | (/ (* (sin th) (sin ky)) (hypot (sin kx) (sin ky))) |
| 7.0ms | (* (sin th) (sin ky)) |
| 0.0ms | (hypot (sin kx) (sin ky)) |
3 calls. Slowest were:
| 367.0ms | (/ (* (sin th) (sin ky)) (hypot (sin kx) (sin ky))) |
| 141.0ms | (hypot (sin kx) (sin ky)) |
| 76.0ms | (* (sin th) (sin ky)) |
33 calls. Slowest were:
| 592.0ms | (/ (* (* (* (sin th) (sin ky)) (* (sin th) (sin ky))) (* (sin th) (sin ky))) (* (* (hypot (sin kx) (sin ky)) (hypot (sin kx) (sin ky))) (hypot (sin kx) (sin ky)))) |
| 489.0ms | (/ (* (* (* (sin th) (sin th)) (sin th)) (* (* (sin ky) (sin ky)) (sin ky))) (* (* (hypot (sin kx) (sin ky)) (hypot (sin kx) (sin ky))) (hypot (sin kx) (sin ky)))) |
| 386.0ms | (- (+ (* 1/12 (* (pow kx 2) ky)) ky) (* 1/6 (pow ky 3))) |
18 alts after pruning (18 fresh and 0 done)
Merged error: 9.6b
Found 3 expressions with local error:
| 0.2b | (* (sin th) (/ (sin ky) (hypot (sin kx) (sin ky)))) |
| 0.2b | (/ (sin ky) (hypot (sin kx) (sin ky))) |
| 0.0b | (hypot (sin kx) (sin ky)) |
3 calls. Slowest were:
| 5.0ms | (* (sin th) (/ (sin ky) (hypot (sin kx) (sin ky)))) |
| 3.0ms | (/ (sin ky) (hypot (sin kx) (sin ky))) |
| 0.0ms | (hypot (sin kx) (sin ky)) |
3 calls. Slowest were:
| 288.0ms | (* (sin th) (/ (sin ky) (hypot (sin kx) (sin ky)))) |
| 191.0ms | (/ (sin ky) (hypot (sin kx) (sin ky))) |
| 127.0ms | (hypot (sin kx) (sin ky)) |
55 calls. Slowest were:
| 511.0ms | (* (* (* (sin th) (sin th)) (sin th)) (/ (* (* (sin ky) (sin ky)) (sin ky)) (* (* (hypot (sin kx) (sin ky)) (hypot (sin kx) (sin ky))) (hypot (sin kx) (sin ky))))) |
| 275.0ms | (- (+ (* 1/12 (* (pow kx 2) ky)) ky) (* 1/6 (pow ky 3))) |
| 213.0ms | (- (+ (* 1/6 (* kx ky)) (* 7/360 (* (pow kx 3) ky))) (* 71/720 (* kx (pow ky 3)))) |
23 alts after pruning (23 fresh and 0 done)
Merged error: 9.6b
Found 3 expressions with local error:
| 0.2b | (* (sin th) (/ (sin ky) (hypot (sin ky) (sin kx)))) |
| 0.2b | (/ (sin ky) (hypot (sin ky) (sin kx))) |
| 0.0b | (hypot (sin ky) (sin kx)) |
3 calls. Slowest were:
| 6.0ms | (* (sin th) (/ (sin ky) (hypot (sin ky) (sin kx)))) |
| 3.0ms | (/ (sin ky) (hypot (sin ky) (sin kx))) |
| 0.0ms | (hypot (sin ky) (sin kx)) |
3 calls. Slowest were:
| 276.0ms | (* (sin th) (/ (sin ky) (hypot (sin ky) (sin kx)))) |
| 189.0ms | (/ (sin ky) (hypot (sin ky) (sin kx))) |
| 126.0ms | (hypot (sin ky) (sin kx)) |
55 calls. Slowest were:
| 452.0ms | (* (* (* (sin th) (sin th)) (sin th)) (/ (* (* (sin ky) (sin ky)) (sin ky)) (* (* (hypot (sin ky) (sin kx)) (hypot (sin ky) (sin kx))) (hypot (sin ky) (sin kx))))) |
| 367.0ms | (- (+ (* 1/12 (* kx (pow ky 2))) kx) (* 1/6 (pow kx 3))) |
| 166.0ms | (/ (* (* (sin ky) (sin ky)) (sin ky)) (* (* (hypot (sin ky) (sin kx)) (hypot (sin ky) (sin kx))) (hypot (sin ky) (sin kx)))) |
23 alts after pruning (22 fresh and 1 done)
Merged error: 9.6b
Found 4 expressions with local error:
| 0.4b | (cbrt (/ (sin ky) (hypot (sin ky) (sin kx)))) |
| 0.4b | (cbrt (/ (sin ky) (hypot (sin ky) (sin kx)))) |
| 0.4b | (cbrt (/ (sin ky) (hypot (sin ky) (sin kx)))) |
| 0.3b | (* (cbrt (/ (sin ky) (hypot (sin ky) (sin kx)))) (cbrt (/ (sin ky) (hypot (sin ky) (sin kx))))) |
4 calls. Slowest were:
| 6.0ms | (* (cbrt (/ (sin ky) (hypot (sin ky) (sin kx)))) (cbrt (/ (sin ky) (hypot (sin ky) (sin kx))))) |
| 2.0ms | (cbrt (/ (sin ky) (hypot (sin ky) (sin kx)))) |
| 1.0ms | (cbrt (/ (sin ky) (hypot (sin ky) (sin kx)))) |
4 calls. Slowest were:
| 297.0ms | (* (cbrt (/ (sin ky) (hypot (sin ky) (sin kx)))) (cbrt (/ (sin ky) (hypot (sin ky) (sin kx))))) |
| 274.0ms | (cbrt (/ (sin ky) (hypot (sin ky) (sin kx)))) |
| 264.0ms | (cbrt (/ (sin ky) (hypot (sin ky) (sin kx)))) |
| 232.0ms | (cbrt (/ (sin ky) (hypot (sin ky) (sin kx)))) |
98 calls. Slowest were:
| 437.0ms | (- (+ (exp (* 1/3 (- (log ky) (log kx)))) (* 1/18 (* (pow kx 2) (exp (* 1/3 (- (log ky) (log kx))))))) (* 13/108 (* (pow ky 2) (exp (* 1/3 (- (log ky) (log kx))))))) |
| 414.0ms | (- (+ (exp (* 1/3 (- (log ky) (log kx)))) (* 1/18 (* (pow kx 2) (exp (* 1/3 (- (log ky) (log kx))))))) (* 13/108 (* (pow ky 2) (exp (* 1/3 (- (log ky) (log kx))))))) |
| 386.0ms | (- (+ (exp (* 1/3 (- (log ky) (log kx)))) (* 1/18 (* (pow kx 2) (exp (* 1/3 (- (log ky) (log kx))))))) (* 13/108 (* (pow ky 2) (exp (* 1/3 (- (log ky) (log kx))))))) |
28 alts after pruning (27 fresh and 1 done)
Merged error: 9.6b
0% (0.1b remaining)
Error of 8.7b against oracle of 8.6b and baseline of 8.7b