


Bits error versus l



Bits error versus Om



Bits error versus kx



Bits error versus ky
Results
Initial program 1.6
rmApplied add-cube-cbrt1.6
Applied associate-/r*1.6
Final simplification1.6
herbie shell --seed 2019005
(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: 32.5s)Debug log
1 calls. Slowest were:
| 363.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.4b
Found 4 expressions with local error:
| 9.9b | (sqrt (+ 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2))))) |
| 3.1b | (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2))) |
| 0.5b | (/ 1 (sqrt (+ 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2)))))) |
| 0.3b | (pow (sin ky) 2) |
4 calls. Slowest were:
| 16.0ms | (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2))) |
| 3.0ms | (/ 1 (sqrt (+ 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2)))))) |
| 2.0ms | (pow (sin ky) 2) |
4 calls. Slowest were:
| 365.0ms | (/ 1 (sqrt (+ 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2)))))) |
| 230.0ms | (sqrt (+ 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2))))) |
| 186.0ms | (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2))) |
| 27.0ms | (pow (sin ky) 2) |
53 calls. Slowest were:
| 547.0ms | (* (pow (/ (* 2 l) Om) 2) (pow (sin ky) 2)) |
| 510.0ms | (* (pow (sin ky) 2) (pow (/ (* 2 l) Om) 2)) |
| 330.0ms | (sqrt (- 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2))))) |
2 alts after pruning (2 fresh and 0 done)
Merged error: 0.4b
Found 4 expressions with local error:
| 9.9b | (sqrt (+ 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2))))) |
| 9.9b | (sqrt (+ 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2))))) |
| 9.9b | (sqrt (+ 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2))))) |
| 7.1b | (cbrt (sqrt (+ 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2)))))) |
4 calls. Slowest were:
| 2.0ms | (cbrt (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:
| 330.0ms | (cbrt (sqrt (+ 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2)))))) |
| 276.0ms | (sqrt (+ 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2))))) |
| 241.0ms | (sqrt (+ 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2))))) |
| 240.0ms | (sqrt (+ 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2))))) |
38 calls. Slowest were:
| 297.0ms | (sqrt (sqrt (+ 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2)))))) |
| 294.0ms | (cbrt (sqrt (sqrt (+ 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2))))))) |
| 267.0ms | (cbrt (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)))))))) |
2 alts after pruning (1 fresh and 1 done)
Merged error: 0.4b
Found 4 expressions with local error:
| 15.0b | (* (* (* l l) 4) (+ (* (/ ky Om) (/ ky Om)) (* (/ kx Om) (/ kx Om)))) |
| 12.6b | (sqrt (+ 1 (* (* (* l l) 4) (+ (* (/ ky Om) (/ ky Om)) (* (/ kx Om) (/ kx Om)))))) |
| 0.8b | (/ 1 (sqrt (+ 1 (* (* (* l l) 4) (+ (* (/ ky Om) (/ ky Om)) (* (/ kx Om) (/ kx Om))))))) |
| 0.2b | (* (/ kx Om) (/ kx Om)) |
4 calls. Slowest were:
| 27.0ms | (* (* (* l l) 4) (+ (* (/ ky Om) (/ ky Om)) (* (/ kx Om) (/ kx Om)))) |
| 7.0ms | (* (/ kx Om) (/ kx Om)) |
| 3.0ms | (/ 1 (sqrt (+ 1 (* (* (* l l) 4) (+ (* (/ ky Om) (/ ky Om)) (* (/ kx Om) (/ kx Om))))))) |
4 calls. Slowest were:
| 137.0ms | (* (* (* l l) 4) (+ (* (/ ky Om) (/ ky Om)) (* (/ kx Om) (/ kx Om)))) |
| 131.0ms | (/ 1 (sqrt (+ 1 (* (* (* l l) 4) (+ (* (/ ky Om) (/ ky Om)) (* (/ kx Om) (/ kx Om))))))) |
| 117.0ms | (sqrt (+ 1 (* (* (* l l) 4) (+ (* (/ ky Om) (/ ky Om)) (* (/ kx Om) (/ kx Om)))))) |
| 24.0ms | (* (/ kx Om) (/ kx Om)) |
63 calls. Slowest were:
| 955.0ms | (* (* (* (/ kx Om) (/ kx Om)) (/ kx Om)) (* (* (/ kx Om) (/ kx Om)) (/ kx Om))) |
| 474.0ms | (* (* (/ kx Om) (/ kx Om)) (* (* l l) 4)) |
| 460.0ms | (sqrt (- (* 1 1) (* (* (* (* l l) 4) (+ (* (/ ky Om) (/ ky Om)) (* (/ kx Om) (/ kx Om)))) (* (* (* l l) 4) (+ (* (/ ky Om) (/ ky Om)) (* (/ kx Om) (/ kx Om))))))) |
2 alts after pruning (0 fresh and 2 done)
Merged error: 0.4b
0% (0.9b remaining)
Error of 1.6b against oracle of 0.8b and baseline of 1.6b