


Bits error versus l



Bits error versus Om



Bits error versus kx



Bits error versus ky
Results
Initial program 1.5
Initial simplification1.5
rmApplied add-cube-cbrt1.5
rmApplied add-cube-cbrt1.5
Final simplification1.5
herbie shell --seed 2018362
(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: 36.0s)Debug log
1 alts after pruning (1 fresh and 0 done)
Merged error: 1.1b
Found 4 expressions with local error:
| 9.1b | (sqrt (+ (* (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))) (* (/ l (/ Om 2)) (/ l (/ Om 2)))) 1)) |
| 3.3b | (* (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))) (* (/ l (/ Om 2)) (/ l (/ Om 2)))) |
| 1.0b | (/ 1/2 (sqrt (+ (* (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))) (* (/ l (/ Om 2)) (/ l (/ Om 2)))) 1))) |
| 0.2b | (* (sin ky) (sin ky)) |
4 calls. Slowest were:
| 40.0ms | (sqrt (+ (* (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))) (* (/ l (/ Om 2)) (/ l (/ Om 2)))) 1)) |
| 35.0ms | (* (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))) (* (/ l (/ Om 2)) (/ l (/ Om 2)))) |
| 12.0ms | (/ 1/2 (sqrt (+ (* (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))) (* (/ l (/ Om 2)) (/ l (/ Om 2)))) 1))) |
4 calls. Slowest were:
| 371.0ms | (sqrt (+ (* (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))) (* (/ l (/ Om 2)) (/ l (/ Om 2)))) 1)) |
| 314.0ms | (/ 1/2 (sqrt (+ (* (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))) (* (/ l (/ Om 2)) (/ l (/ Om 2)))) 1))) |
| 227.0ms | (* (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))) (* (/ l (/ Om 2)) (/ l (/ Om 2)))) |
| 22.0ms | (* (sin ky) (sin ky)) |
72 calls. Slowest were:
| 2.5s | (* (+ (* (- (cos (- ky ky)) (cos (+ ky ky))) 2) (* 2 (- (cos (- kx kx)) (cos (+ kx kx))))) (* (/ l (/ Om 2)) (/ l (/ Om 2)))) |
| 1.8s | (* (+ (* (- (cos (- ky ky)) (cos (+ ky ky))) 2) (* 2 (- (cos (- kx kx)) (cos (+ kx kx))))) (* (/ l (/ Om 2)) l)) |
| 1.5s | (* (+ (* (- (cos (- ky ky)) (cos (+ ky ky))) 2) (* 2 (- (cos (- kx kx)) (cos (+ kx kx))))) (* l (/ l (/ Om 2)))) |
2 alts after pruning (2 fresh and 0 done)
Merged error: 0.6b
Found 4 expressions with local error:
| 9.1b | (sqrt (+ (* (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))) (* (/ l (/ Om 2)) (/ l (/ Om 2)))) 1)) |
| 9.1b | (sqrt (+ (* (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))) (* (/ l (/ Om 2)) (/ l (/ Om 2)))) 1)) |
| 9.1b | (sqrt (+ (* (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))) (* (/ l (/ Om 2)) (/ l (/ Om 2)))) 1)) |
| 8.9b | (cbrt (/ 1/2 (sqrt (+ (* (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))) (* (/ l (/ Om 2)) (/ l (/ Om 2)))) 1)))) |
4 calls. Slowest were:
| 18.0ms | (sqrt (+ (* (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))) (* (/ l (/ Om 2)) (/ l (/ Om 2)))) 1)) |
| 16.0ms | (sqrt (+ (* (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))) (* (/ l (/ Om 2)) (/ l (/ Om 2)))) 1)) |
| 16.0ms | (sqrt (+ (* (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))) (* (/ l (/ Om 2)) (/ l (/ Om 2)))) 1)) |
4 calls. Slowest were:
| 266.0ms | (cbrt (/ 1/2 (sqrt (+ (* (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))) (* (/ l (/ Om 2)) (/ l (/ Om 2)))) 1)))) |
| 241.0ms | (sqrt (+ (* (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))) (* (/ l (/ Om 2)) (/ l (/ Om 2)))) 1)) |
| 240.0ms | (sqrt (+ (* (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))) (* (/ l (/ Om 2)) (/ l (/ Om 2)))) 1)) |
| 240.0ms | (sqrt (+ (* (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))) (* (/ l (/ Om 2)) (/ l (/ Om 2)))) 1)) |
37 calls. Slowest were:
| 234.0ms | (sqrt (* (cbrt (+ (* (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))) (* (/ l (/ Om 2)) (/ l (/ Om 2)))) 1)) (cbrt (+ (* (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))) (* (/ l (/ Om 2)) (/ l (/ Om 2)))) 1)))) |
| 232.0ms | (sqrt (sqrt (+ (* (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))) (* (/ l (/ Om 2)) (/ l (/ Om 2)))) 1))) |
| 217.0ms | (sqrt (* (cbrt (+ (* (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))) (* (/ l (/ Om 2)) (/ l (/ Om 2)))) 1)) (cbrt (+ (* (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))) (* (/ l (/ Om 2)) (/ l (/ Om 2)))) 1)))) |
2 alts after pruning (2 fresh and 0 done)
Merged error: 0.6b
Found 4 expressions with local error:
| 10.0b | (cbrt (sqrt (+ (* (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))) (* (/ l (/ Om 2)) (/ l (/ Om 2)))) 1))) |
| 10.0b | (cbrt (sqrt (+ (* (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))) (* (/ l (/ Om 2)) (/ l (/ Om 2)))) 1))) |
| 10.0b | (cbrt (sqrt (+ (* (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))) (* (/ l (/ Om 2)) (/ l (/ Om 2)))) 1))) |
| 9.1b | (sqrt (+ (* (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))) (* (/ l (/ Om 2)) (/ l (/ Om 2)))) 1)) |
4 calls. Slowest were:
| 28.0ms | (sqrt (+ (* (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))) (* (/ l (/ Om 2)) (/ l (/ Om 2)))) 1)) |
| 21.0ms | (cbrt (sqrt (+ (* (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))) (* (/ l (/ Om 2)) (/ l (/ Om 2)))) 1))) |
| 15.0ms | (cbrt (sqrt (+ (* (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))) (* (/ l (/ Om 2)) (/ l (/ Om 2)))) 1))) |
4 calls. Slowest were:
| 308.0ms | (sqrt (+ (* (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))) (* (/ l (/ Om 2)) (/ l (/ Om 2)))) 1)) |
| 297.0ms | (cbrt (sqrt (+ (* (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))) (* (/ l (/ Om 2)) (/ l (/ Om 2)))) 1))) |
| 270.0ms | (cbrt (sqrt (+ (* (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))) (* (/ l (/ Om 2)) (/ l (/ Om 2)))) 1))) |
| 241.0ms | (cbrt (sqrt (+ (* (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))) (* (/ l (/ Om 2)) (/ l (/ Om 2)))) 1))) |
42 calls. Slowest were:
| 578.0ms | (exp (* 1/6 (- (+ (log (+ (* 4 (pow (sin ky) 2)) (* 4 (pow (sin kx) 2)))) (* 2 (log (/ -1 Om)))) (* 2 (log (/ -1 l)))))) |
| 306.0ms | (sqrt (+ (* (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))) (* (/ l (/ Om 2)) (/ l (/ Om 2)))) 1)) |
| 303.0ms | (exp (* 1/6 (- (+ (* 2 (log (/ 1 Om))) (log (+ (* 4 (pow (sin ky) 2)) (* 4 (pow (sin kx) 2))))) (* 2 (log (/ 1 l)))))) |
2 alts after pruning (1 fresh and 1 done)
Merged error: 0.6b
Found 0 expressions with local error:
0 calls. Slowest were:
0 calls. Slowest were:
0 calls. Slowest were:
2 alts after pruning (0 fresh and 2 done)
Merged error: 0.6b
0% (0.7b remaining)
Error of 1.5b against oracle of 0.8b and baseline of 1.5b