


Bits error versus l



Bits error versus Om



Bits error versus kx



Bits error versus ky
Results
Initial program 1.7
rmApplied unpow21.7
Applied associate-*l*1.5
rmApplied add-cube-cbrt1.5
Final simplification1.5
herbie shell --seed 2019002
(FPCore (l Om kx ky)
:name "Toniolo and Linder, Equation (3a)"
(sqrt (* (/ 1 2) (+ 1 (/ 1 (sqrt (+ 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2))))))))))
Time bar (total: 41.1s)Debug log
1 calls. Slowest were:
| 333.0ms | (sqrt (* (/ 1 2) (+ 1 (/ 1 (sqrt (+ 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2))))))))) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 1.8b
Found 4 expressions with local error:
| 10.7b | (sqrt (+ 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2))))) |
| 3.5b | (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2))) |
| 0.3b | (pow (sin ky) 2) |
| 0.2b | (/ 1 (sqrt (+ 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2)))))) |
4 calls. Slowest were:
| 13.0ms | (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2))) |
| 2.0ms | (sqrt (+ 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2))))) |
| 1.0ms | (/ 1 (sqrt (+ 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2)))))) |
4 calls. Slowest were:
| 320.0ms | (/ 1 (sqrt (+ 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2)))))) |
| 264.0ms | (sqrt (+ 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2))))) |
| 178.0ms | (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2))) |
| 16.0ms | (pow (sin ky) 2) |
53 calls. Slowest were:
| 634.0ms | (* (pow (/ (* 2 l) Om) 2) (pow (sin ky) 2)) |
| 622.0ms | (* (pow (sin ky) 2) (pow (/ (* 2 l) Om) 2)) |
| 620.0ms | (sqrt (+ 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2))))) |
4 alts after pruning (4 fresh and 0 done)
Merged error: 0.8b
Found 4 expressions with local error:
| 10.7b | (sqrt (+ 1 (* (/ (* 2 l) Om) (* (/ (* 2 l) Om) (+ (pow (sin kx) 2) (pow (sin ky) 2)))))) |
| 2.2b | (* (/ (* 2 l) Om) (+ (pow (sin kx) 2) (pow (sin ky) 2))) |
| 0.7b | (* (/ (* 2 l) Om) (* (/ (* 2 l) Om) (+ (pow (sin kx) 2) (pow (sin ky) 2)))) |
| 0.3b | (pow (sin ky) 2) |
4 calls. Slowest were:
| 24.0ms | (* (/ (* 2 l) Om) (* (/ (* 2 l) Om) (+ (pow (sin kx) 2) (pow (sin ky) 2)))) |
| 12.0ms | (* (/ (* 2 l) Om) (+ (pow (sin kx) 2) (pow (sin ky) 2))) |
| 1.0ms | (sqrt (+ 1 (* (/ (* 2 l) Om) (* (/ (* 2 l) Om) (+ (pow (sin kx) 2) (pow (sin ky) 2)))))) |
4 calls. Slowest were:
| 260.0ms | (sqrt (+ 1 (* (/ (* 2 l) Om) (* (/ (* 2 l) Om) (+ (pow (sin kx) 2) (pow (sin ky) 2)))))) |
| 175.0ms | (* (/ (* 2 l) Om) (+ (pow (sin kx) 2) (pow (sin ky) 2))) |
| 168.0ms | (* (/ (* 2 l) Om) (* (/ (* 2 l) Om) (+ (pow (sin kx) 2) (pow (sin ky) 2)))) |
| 23.0ms | (pow (sin ky) 2) |
72 calls. Slowest were:
| 540.0ms | (* (* (* (/ (* 2 l) Om) (/ (* 2 l) Om)) (/ (* 2 l) Om)) (* (* (* (/ (* 2 l) Om) (+ (pow (sin kx) 2) (pow (sin ky) 2))) (* (/ (* 2 l) Om) (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (* (/ (* 2 l) Om) (+ (pow (sin kx) 2) (pow (sin ky) 2))))) |
| 528.0ms | (* (* 2 l) (* (* 2 l) (- (* (pow (sin kx) 2) (pow (sin kx) 2)) (* (pow (sin ky) 2) (pow (sin ky) 2))))) |
| 501.0ms | (* (* 2 l) (* (* 2 l) (+ (pow (sin kx) 2) (pow (sin ky) 2)))) |
3 alts after pruning (3 fresh and 0 done)
Merged error: 0.8b
Found 4 expressions with local error:
| 10.7b | (sqrt (+ 1 (* (/ (* 2 l) Om) (* (/ (* 2 l) Om) (+ (pow (sin kx) 2) (pow (sin ky) 2)))))) |
| 10.7b | (sqrt (+ 1 (* (/ (* 2 l) Om) (* (/ (* 2 l) Om) (+ (pow (sin kx) 2) (pow (sin ky) 2)))))) |
| 10.7b | (sqrt (+ 1 (* (/ (* 2 l) Om) (* (/ (* 2 l) Om) (+ (pow (sin kx) 2) (pow (sin ky) 2)))))) |
| 6.2b | (cbrt (sqrt (+ 1 (* (/ (* 2 l) Om) (* (/ (* 2 l) Om) (+ (pow (sin kx) 2) (pow (sin ky) 2))))))) |
4 calls. Slowest were:
| 2.0ms | (cbrt (sqrt (+ 1 (* (/ (* 2 l) Om) (* (/ (* 2 l) Om) (+ (pow (sin kx) 2) (pow (sin ky) 2))))))) |
| 1.0ms | (sqrt (+ 1 (* (/ (* 2 l) Om) (* (/ (* 2 l) Om) (+ (pow (sin kx) 2) (pow (sin ky) 2)))))) |
| 1.0ms | (sqrt (+ 1 (* (/ (* 2 l) Om) (* (/ (* 2 l) Om) (+ (pow (sin kx) 2) (pow (sin ky) 2)))))) |
4 calls. Slowest were:
| 329.0ms | (cbrt (sqrt (+ 1 (* (/ (* 2 l) Om) (* (/ (* 2 l) Om) (+ (pow (sin kx) 2) (pow (sin ky) 2))))))) |
| 222.0ms | (sqrt (+ 1 (* (/ (* 2 l) Om) (* (/ (* 2 l) Om) (+ (pow (sin kx) 2) (pow (sin ky) 2)))))) |
| 200.0ms | (sqrt (+ 1 (* (/ (* 2 l) Om) (* (/ (* 2 l) Om) (+ (pow (sin kx) 2) (pow (sin ky) 2)))))) |
| 194.0ms | (sqrt (+ 1 (* (/ (* 2 l) Om) (* (/ (* 2 l) Om) (+ (pow (sin kx) 2) (pow (sin ky) 2)))))) |
38 calls. Slowest were:
| 324.0ms | (exp (* 1/6 (- (+ (* 2 (log (/ 1 Om))) (log (+ (* 4 (pow (sin ky) 2)) (* 4 (pow (sin kx) 2))))) (* 2 (log (/ 1 l)))))) |
| 294.0ms | (cbrt (sqrt (- (* 1 1) (* (* (/ (* 2 l) Om) (* (/ (* 2 l) Om) (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (* (/ (* 2 l) Om) (* (/ (* 2 l) Om) (+ (pow (sin kx) 2) (pow (sin ky) 2)))))))) |
| 285.0ms | (sqrt (+ (pow 1 3) (pow (* (/ (* 2 l) Om) (* (/ (* 2 l) Om) (+ (pow (sin kx) 2) (pow (sin ky) 2)))) 3))) |
3 alts after pruning (2 fresh and 1 done)
Merged error: 0.8b
Found 4 expressions with local error:
| 10.7b | (sqrt (+ 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2))))) |
| 10.7b | (sqrt (+ 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2))))) |
| 10.7b | (sqrt (+ 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2))))) |
| 6.0b | (cbrt (/ 1 (sqrt (+ 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2))))))) |
4 calls. Slowest were:
| 1.0ms | (cbrt (/ 1 (sqrt (+ 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2))))))) |
| 1.0ms | (sqrt (+ 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2))))) |
| 1.0ms | (sqrt (+ 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2))))) |
4 calls. Slowest were:
| 351.0ms | (cbrt (/ 1 (sqrt (+ 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2))))))) |
| 238.0ms | (sqrt (+ 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2))))) |
| 236.0ms | (sqrt (+ 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2))))) |
| 218.0ms | (sqrt (+ 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2))))) |
37 calls. Slowest were:
| 660.0ms | (sqrt (* (cbrt (+ 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2))))) (cbrt (+ 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2))))))) |
| 262.0ms | (sqrt (* (cbrt (+ 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2))))) (cbrt (+ 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2))))))) |
| 249.0ms | (sqrt (+ 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2))))) |
3 alts after pruning (1 fresh and 2 done)
Merged error: 0.8b
0% (0.8b remaining)
Error of 1.5b against oracle of 0.7b and baseline of 1.5b