


Bits error versus kx



Bits error versus ky



Bits error versus th
Results
Initial program 12.4
rmApplied div-inv12.4
Applied associate-*l*12.5
rmApplied add-sqr-sqrt12.7
Applied associate-*l*12.7
Final simplification12.7
herbie shell --seed 2019008
(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: 33.6s)Debug log
1 calls. Slowest were:
| 22.0ms | (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 11.7b
Found 4 expressions with local error:
| 2.4b | (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) |
| 0.3b | (pow (sin ky) 2) |
| 0.2b | (pow (sin kx) 2) |
| 0.2b | (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) |
4 calls. Slowest were:
| 23.0ms | (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) |
| 15.0ms | (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) |
| 2.0ms | (pow (sin ky) 2) |
4 calls. Slowest were:
| 155.0ms | (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) |
| 119.0ms | (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) |
| 21.0ms | (pow (sin ky) 2) |
| 17.0ms | (pow (sin kx) 2) |
68 calls. Slowest were:
| 467.0ms | (* (/ (* (* (sin ky) (sin ky)) (sin ky)) (* (* (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))) (* (* (sin th) (sin th)) (sin th))) |
| 210.0ms | (* (* (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))) (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))) (* (* (sin th) (sin th)) (sin th))) |
| 131.0ms | (sqrt (- (* (pow (sin kx) 2) (pow (sin kx) 2)) (* (pow (sin ky) 2) (pow (sin ky) 2)))) |
19 alts after pruning (19 fresh and 0 done)
Merged error: 10.9b
Found 4 expressions with local error:
| 2.4b | (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) |
| 0.3b | (* (sin ky) (* (/ 1 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th))) |
| 0.3b | (* (/ 1 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) |
| 0.3b | (pow (sin ky) 2) |
4 calls. Slowest were:
| 21.0ms | (* (sin ky) (* (/ 1 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th))) |
| 14.0ms | (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) |
| 10.0ms | (* (/ 1 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) |
4 calls. Slowest were:
| 172.0ms | (* (/ 1 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) |
| 165.0ms | (* (sin ky) (* (/ 1 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th))) |
| 80.0ms | (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) |
| 16.0ms | (pow (sin ky) 2) |
48 calls. Slowest were:
| 461.0ms | (* (* (* (/ 1 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/ 1 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))) (/ 1 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))) (* (* (sin th) (sin th)) (sin th))) |
| 441.0ms | (* (* (* (sin ky) (sin ky)) (sin ky)) (* (* (* (/ 1 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (* (/ 1 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th))) (* (/ 1 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)))) |
| 378.0ms | (* (* (* (sin ky) (sin ky)) (sin ky)) (* (* (* (/ 1 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/ 1 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))) (/ 1 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))) (* (* (sin th) (sin th)) (sin th)))) |
20 alts after pruning (20 fresh and 0 done)
Merged error: 10.9b
Found 4 expressions with local error:
| 2.4b | (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) |
| 2.4b | (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) |
| 0.4b | (* (sqrt (/ 1 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))) (* (sqrt (/ 1 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))) (sin th))) |
| 0.3b | (* (sin ky) (* (sqrt (/ 1 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))) (* (sqrt (/ 1 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))) (sin th)))) |
4 calls. Slowest were:
| 40.0ms | (* (sin ky) (* (sqrt (/ 1 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))) (* (sqrt (/ 1 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))) (sin th)))) |
| 15.0ms | (* (sqrt (/ 1 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))) (* (sqrt (/ 1 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))) (sin th))) |
| 7.0ms | (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) |
4 calls. Slowest were:
| 151.0ms | (* (sqrt (/ 1 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))) (* (sqrt (/ 1 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))) (sin th))) |
| 130.0ms | (* (sin ky) (* (sqrt (/ 1 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))) (* (sqrt (/ 1 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))) (sin th)))) |
| 108.0ms | (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) |
| 89.0ms | (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) |
62 calls. Slowest were:
| 527.0ms | (* (* (* (sin ky) (sin ky)) (sin ky)) (* (* (* (sqrt (/ 1 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))) (* (sqrt (/ 1 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))) (sin th))) (* (sqrt (/ 1 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))) (* (sqrt (/ 1 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))) (sin th)))) (* (sqrt (/ 1 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))) (* (sqrt (/ 1 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))) (sin th))))) |
| 227.0ms | (- (+ (* 1/12 (* (pow kx 2) ky)) ky) (* 1/6 (pow ky 3))) |
| 217.0ms | (- (+ (* 1/12 (* (pow kx 2) ky)) ky) (* 1/6 (pow ky 3))) |
21 alts after pruning (20 fresh and 1 done)
Merged error: 10.9b
Found 4 expressions with local error:
| 2.4b | (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) |
| 2.4b | (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) |
| 2.4b | (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) |
| 0.4b | (cbrt (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))) |
4 calls. Slowest were:
| 14.0ms | (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) |
| 14.0ms | (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) |
| 14.0ms | (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) |
4 calls. Slowest were:
| 224.0ms | (cbrt (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))) |
| 96.0ms | (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) |
| 83.0ms | (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) |
| 68.0ms | (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) |
67 calls. Slowest were:
| 193.0ms | (- (+ (* 1/12 (* (pow kx 2) ky)) ky) (* 1/6 (pow ky 3))) |
| 177.0ms | (- (+ (* 1/12 (* (pow kx 2) ky)) ky) (* 1/6 (pow ky 3))) |
| 170.0ms | (sqrt (- (* (pow (sin kx) 2) (pow (sin kx) 2)) (* (pow (sin ky) 2) (pow (sin ky) 2)))) |
23 alts after pruning (22 fresh and 1 done)
Merged error: 10.9b
0% (1.6b remaining)
Error of 12.7b against oracle of 11.1b and baseline of 12.7b