


Bits error versus kx



Bits error versus ky



Bits error versus th
Results
Initial program 12.9
Initial simplification11.4
rmApplied associate-/l*8.9
Final simplification8.9
herbie shell --seed 2018365 +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: 20.7s)Debug log
2 alts after pruning (2 fresh and 0 done)
Merged error: 9.9b
Found 3 expressions with local error:
| 2.3b | (/ (* (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:
| 13.0ms | (/ (* (sin th) (sin ky)) (hypot (sin kx) (sin ky))) |
| 4.0ms | (* (sin th) (sin ky)) |
| 0.0ms | (hypot (sin kx) (sin ky)) |
3 calls. Slowest were:
| 242.0ms | (/ (* (sin th) (sin ky)) (hypot (sin kx) (sin ky))) |
| 134.0ms | (hypot (sin kx) (sin ky)) |
| 46.0ms | (* (sin th) (sin ky)) |
33 calls. Slowest were:
| 609.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)))) |
| 566.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)))) |
| 389.0ms | (- (+ (* 1/12 (* (pow kx 2) ky)) ky) (* 1/6 (pow ky 3))) |
17 alts after pruning (17 fresh and 0 done)
Merged error: 8.8b
Found 3 expressions with local error:
| 0.2b | (/ (sin th) (/ (hypot (sin kx) (sin ky)) (sin ky))) |
| 0.1b | (/ (hypot (sin kx) (sin ky)) (sin ky)) |
| 0.0b | (hypot (sin kx) (sin ky)) |
3 calls. Slowest were:
| 10.0ms | (/ (sin th) (/ (hypot (sin kx) (sin ky)) (sin ky))) |
| 7.0ms | (/ (hypot (sin kx) (sin ky)) (sin ky)) |
| 0.0ms | (hypot (sin kx) (sin ky)) |
3 calls. Slowest were:
| 257.0ms | (/ (sin th) (/ (hypot (sin kx) (sin ky)) (sin ky))) |
| 248.0ms | (/ (hypot (sin kx) (sin ky)) (sin ky)) |
| 152.0ms | (hypot (sin kx) (sin ky)) |
132 calls. Slowest were:
| 456.0ms | (- (+ (* 1/12 (* (pow kx 2) ky)) ky) (* 1/6 (pow ky 3))) |
| 410.0ms | (/ (* (* (sin th) (sin th)) (sin th)) (/ (* (* (hypot (sin kx) (sin ky)) (hypot (sin kx) (sin ky))) (hypot (sin kx) (sin ky))) (* (* (sin ky) (sin ky)) (sin ky)))) |
| 381.0ms | (/ (* (cbrt (sin th)) (cbrt (sin th))) (/ 1 (* (cbrt (sin ky)) (cbrt (sin ky))))) |
18 alts after pruning (17 fresh and 1 done)
Merged error: 8.8b
Found 3 expressions with local error:
| 0.2b | (* (sin th) (/ (sin ky) (hypot (sin kx) (sin ky)))) |
| 0.1b | (/ (sin ky) (hypot (sin kx) (sin ky))) |
| 0.0b | (hypot (sin kx) (sin ky)) |
3 calls. Slowest were:
| 11.0ms | (* (sin th) (/ (sin ky) (hypot (sin kx) (sin ky)))) |
| 6.0ms | (/ (sin ky) (hypot (sin kx) (sin ky))) |
| 0.0ms | (hypot (sin kx) (sin ky)) |
3 calls. Slowest were:
| 277.0ms | (* (sin th) (/ (sin ky) (hypot (sin kx) (sin ky)))) |
| 191.0ms | (/ (sin ky) (hypot (sin kx) (sin ky))) |
| 126.0ms | (hypot (sin kx) (sin ky)) |
55 calls. Slowest were:
| 568.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))))) |
| 429.0ms | (- (+ (* 1/12 (* (pow kx 2) ky)) ky) (* 1/6 (pow ky 3))) |
| 186.0ms | (- (+ (* 1/6 (* kx ky)) (* 7/360 (* (pow kx 3) ky))) (* 71/720 (* kx (pow ky 3)))) |
19 alts after pruning (18 fresh and 1 done)
Merged error: 8.8b
Found 4 expressions with local error:
| 0.3b | (* (sin ky) (/ 1 (hypot (sin kx) (sin ky)))) |
| 0.2b | (/ 1 (hypot (sin kx) (sin ky))) |
| 0.2b | (* (sin th) (* (sin ky) (/ 1 (hypot (sin kx) (sin ky))))) |
| 0.0b | (hypot (sin kx) (sin ky)) |
4 calls. Slowest were:
| 18.0ms | (* (sin th) (* (sin ky) (/ 1 (hypot (sin kx) (sin ky))))) |
| 8.0ms | (* (sin ky) (/ 1 (hypot (sin kx) (sin ky)))) |
| 2.0ms | (/ 1 (hypot (sin kx) (sin ky))) |
4 calls. Slowest were:
| 315.0ms | (* (sin th) (* (sin ky) (/ 1 (hypot (sin kx) (sin ky))))) |
| 179.0ms | (/ 1 (hypot (sin kx) (sin ky))) |
| 170.0ms | (* (sin ky) (/ 1 (hypot (sin kx) (sin ky)))) |
| 131.0ms | (hypot (sin kx) (sin ky)) |
40 calls. Slowest were:
| 430.0ms | (- (+ (* 7/360 (pow ky 3)) (* 1/6 ky)) (* 17/240 (* (pow kx 2) ky))) |
| 414.0ms | (* (* (* (sin th) (sin th)) (sin th)) (* (* (* (sin ky) (sin ky)) (sin ky)) (* (* (/ 1 (hypot (sin kx) (sin ky))) (/ 1 (hypot (sin kx) (sin ky)))) (/ 1 (hypot (sin kx) (sin ky)))))) |
| 382.0ms | (* (* (* (sin ky) (sin ky)) (sin ky)) (* (* (/ 1 (hypot (sin kx) (sin ky))) (/ 1 (hypot (sin kx) (sin ky)))) (/ 1 (hypot (sin kx) (sin ky))))) |
21 alts after pruning (19 fresh and 2 done)
Merged error: 8.8b
0% (0.2b remaining)
Error of 8.9b against oracle of 8.8b and baseline of 8.9b