


Bits error versus l



Bits error versus Om



Bits error versus kx



Bits error versus ky
Initial program 1.5
Initial simplification1.5
Taylor expanded around -inf 16.8
Simplified0.6
rmApplied add-cube-cbrt0.6
rmApplied add-cube-cbrt0.6
rmApplied add-cube-cbrt0.6
Final simplification0.6
herbie shell --seed 2018362 +o rules:numerics
(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: 25.9s)Debug log
1 alts after pruning (1 fresh and 0 done)
Merged error: 1.1b
Found 4 expressions with local error:
| 9.1b | (sqrt (fma (* (* l (/ 2 Om)) (* l (/ 2 Om))) (fma (sin ky) (sin ky) (* (sin kx) (sin kx))) 1)) |
| 1.9b | (fma (* (* l (/ 2 Om)) (* l (/ 2 Om))) (fma (sin ky) (sin ky) (* (sin kx) (sin kx))) 1) |
| 1.0b | (/ 1/2 (sqrt (fma (* (* l (/ 2 Om)) (* l (/ 2 Om))) (fma (sin ky) (sin ky) (* (sin kx) (sin kx))) 1))) |
| 0.2b | (* (sin kx) (sin kx)) |
4 calls. Slowest were:
| 7.0ms | (* (sin kx) (sin kx)) |
| 2.0ms | (sqrt (fma (* (* l (/ 2 Om)) (* l (/ 2 Om))) (fma (sin ky) (sin ky) (* (sin kx) (sin kx))) 1)) |
| 1.0ms | (/ 1/2 (sqrt (fma (* (* l (/ 2 Om)) (* l (/ 2 Om))) (fma (sin ky) (sin ky) (* (sin kx) (sin kx))) 1))) |
4 calls. Slowest were:
| 353.0ms | (/ 1/2 (sqrt (fma (* (* l (/ 2 Om)) (* l (/ 2 Om))) (fma (sin ky) (sin ky) (* (sin kx) (sin kx))) 1))) |
| 238.0ms | (sqrt (fma (* (* l (/ 2 Om)) (* l (/ 2 Om))) (fma (sin ky) (sin ky) (* (sin kx) (sin kx))) 1)) |
| 134.0ms | (fma (* (* l (/ 2 Om)) (* l (/ 2 Om))) (fma (sin ky) (sin ky) (* (sin kx) (sin kx))) 1) |
| 26.0ms | (* (sin kx) (sin kx)) |
35 calls. Slowest were:
| 355.0ms | (+ (* 4 (/ (* (pow l 2) (pow (sin ky) 2)) (pow Om 2))) (+ (* 4 (/ (* (pow (sin kx) 2) (pow l 2)) (pow Om 2))) 1)) |
| 276.0ms | (+ (* 4 (/ (* (pow l 2) (pow (sin ky) 2)) (pow Om 2))) (+ (* 4 (/ (* (pow (sin kx) 2) (pow l 2)) (pow Om 2))) 1)) |
| 255.0ms | (sqrt (cbrt (fma (* (* l (/ 2 Om)) (* l (/ 2 Om))) (fma (sin ky) (sin ky) (* (sin kx) (sin kx))) 1))) |
3 alts after pruning (3 fresh and 0 done)
Merged error: 0.6b
Found 4 expressions with local error:
| 9.1b | (sqrt (fma 4 (fma (/ (sin kx) (/ Om l)) (/ (sin kx) (/ Om l)) (* (/ (sin ky) (/ Om l)) (/ (sin ky) (/ Om l)))) 1)) |
| 3.5b | (/ (sin kx) (/ Om l)) |
| 3.5b | (/ (sin kx) (/ Om l)) |
| 3.4b | (/ (sin ky) (/ Om l)) |
4 calls. Slowest were:
| 11.0ms | (/ (sin ky) (/ Om l)) |
| 6.0ms | (/ (sin kx) (/ Om l)) |
| 6.0ms | (/ (sin kx) (/ Om l)) |
4 calls. Slowest were:
| 305.0ms | (sqrt (fma 4 (fma (/ (sin kx) (/ Om l)) (/ (sin kx) (/ Om l)) (* (/ (sin ky) (/ Om l)) (/ (sin ky) (/ Om l)))) 1)) |
| 100.0ms | (/ (sin kx) (/ Om l)) |
| 90.0ms | (/ (sin kx) (/ Om l)) |
| 71.0ms | (/ (sin ky) (/ Om l)) |
112 calls. Slowest were:
| 248.0ms | (- (/ (* ky l) Om) (* 1/6 (/ (* (pow ky 3) l) Om))) |
| 237.0ms | (- (/ (* kx l) Om) (* 1/6 (/ (* (pow kx 3) l) Om))) |
| 212.0ms | (/ (* (* (sin kx) (sin kx)) (sin kx)) (* (* (/ Om l) (/ Om l)) (/ Om l))) |
2 alts after pruning (2 fresh and 0 done)
Merged error: 0.6b
Found 4 expressions with local error:
| 10.0b | (cbrt (sqrt (fma 4 (fma (/ (sin kx) (/ Om l)) (/ (sin kx) (/ Om l)) (* (/ (sin ky) (/ Om l)) (/ (sin ky) (/ Om l)))) 1))) |
| 10.0b | (cbrt (sqrt (fma 4 (fma (/ (sin kx) (/ Om l)) (/ (sin kx) (/ Om l)) (* (/ (sin ky) (/ Om l)) (/ (sin ky) (/ Om l)))) 1))) |
| 10.0b | (cbrt (sqrt (fma 4 (fma (/ (sin kx) (/ Om l)) (/ (sin kx) (/ Om l)) (* (/ (sin ky) (/ Om l)) (/ (sin ky) (/ Om l)))) 1))) |
| 9.1b | (sqrt (fma 4 (fma (/ (sin kx) (/ Om l)) (/ (sin kx) (/ Om l)) (* (/ (sin ky) (/ Om l)) (/ (sin ky) (/ Om l)))) 1)) |
4 calls. Slowest were:
| 2.0ms | (cbrt (sqrt (fma 4 (fma (/ (sin kx) (/ Om l)) (/ (sin kx) (/ Om l)) (* (/ (sin ky) (/ Om l)) (/ (sin ky) (/ Om l)))) 1))) |
| 2.0ms | (cbrt (sqrt (fma 4 (fma (/ (sin kx) (/ Om l)) (/ (sin kx) (/ Om l)) (* (/ (sin ky) (/ Om l)) (/ (sin ky) (/ Om l)))) 1))) |
| 2.0ms | (cbrt (sqrt (fma 4 (fma (/ (sin kx) (/ Om l)) (/ (sin kx) (/ Om l)) (* (/ (sin ky) (/ Om l)) (/ (sin ky) (/ Om l)))) 1))) |
4 calls. Slowest were:
| 341.0ms | (cbrt (sqrt (fma 4 (fma (/ (sin kx) (/ Om l)) (/ (sin kx) (/ Om l)) (* (/ (sin ky) (/ Om l)) (/ (sin ky) (/ Om l)))) 1))) |
| 323.0ms | (cbrt (sqrt (fma 4 (fma (/ (sin kx) (/ Om l)) (/ (sin kx) (/ Om l)) (* (/ (sin ky) (/ Om l)) (/ (sin ky) (/ Om l)))) 1))) |
| 312.0ms | (cbrt (sqrt (fma 4 (fma (/ (sin kx) (/ Om l)) (/ (sin kx) (/ Om l)) (* (/ (sin ky) (/ Om l)) (/ (sin ky) (/ Om l)))) 1))) |
| 221.0ms | (sqrt (fma 4 (fma (/ (sin kx) (/ Om l)) (/ (sin kx) (/ Om l)) (* (/ (sin ky) (/ Om l)) (/ (sin ky) (/ Om l)))) 1)) |
34 calls. Slowest were:
| 346.0ms | (- (exp (* 1/6 (- (+ (* 2 (log l)) (+ (log 4) (* 2 (log ky)))) (* 2 (log Om))))) (* 55/648 (* (exp (* 1/6 (- (+ (* 10 (log Om)) (log 1/1024)) (+ (* 10 (log l)) (* 10 (log ky)))))) (pow kx 2)))) |
| 334.0ms | (- (exp (* 1/6 (- (+ (* 2 (log l)) (+ (log 4) (* 2 (log ky)))) (* 2 (log Om))))) (* 55/648 (* (exp (* 1/6 (- (+ (* 10 (log Om)) (log 1/1024)) (+ (* 10 (log l)) (* 10 (log ky)))))) (pow kx 2)))) |
| 332.0ms | (- (exp (* 1/6 (- (+ (* 2 (log l)) (+ (log 4) (* 2 (log ky)))) (* 2 (log Om))))) (* 55/648 (* (exp (* 1/6 (- (+ (* 10 (log Om)) (log 1/1024)) (+ (* 10 (log l)) (* 10 (log ky)))))) (pow kx 2)))) |
2 alts after pruning (2 fresh and 0 done)
Merged error: 0.6b
Found 4 expressions with local error:
| 10.0b | (cbrt (sqrt (fma 4 (fma (/ (sin kx) (/ Om l)) (/ (sin kx) (/ Om l)) (* (/ (sin ky) (/ Om l)) (/ (sin ky) (/ Om l)))) 1))) |
| 10.0b | (cbrt (sqrt (fma 4 (fma (/ (sin kx) (/ Om l)) (/ (sin kx) (/ Om l)) (* (/ (sin ky) (/ Om l)) (/ (sin ky) (/ Om l)))) 1))) |
| 10.0b | (cbrt (sqrt (fma 4 (fma (/ (sin kx) (/ Om l)) (/ (sin kx) (/ Om l)) (* (/ (sin ky) (/ Om l)) (/ (sin ky) (/ Om l)))) 1))) |
| 10.0b | (cbrt (sqrt (fma 4 (fma (/ (sin kx) (/ Om l)) (/ (sin kx) (/ Om l)) (* (/ (sin ky) (/ Om l)) (/ (sin ky) (/ Om l)))) 1))) |
4 calls. Slowest were:
| 2.0ms | (cbrt (sqrt (fma 4 (fma (/ (sin kx) (/ Om l)) (/ (sin kx) (/ Om l)) (* (/ (sin ky) (/ Om l)) (/ (sin ky) (/ Om l)))) 1))) |
| 2.0ms | (cbrt (sqrt (fma 4 (fma (/ (sin kx) (/ Om l)) (/ (sin kx) (/ Om l)) (* (/ (sin ky) (/ Om l)) (/ (sin ky) (/ Om l)))) 1))) |
| 2.0ms | (cbrt (sqrt (fma 4 (fma (/ (sin kx) (/ Om l)) (/ (sin kx) (/ Om l)) (* (/ (sin ky) (/ Om l)) (/ (sin ky) (/ Om l)))) 1))) |
4 calls. Slowest were:
| 373.0ms | (cbrt (sqrt (fma 4 (fma (/ (sin kx) (/ Om l)) (/ (sin kx) (/ Om l)) (* (/ (sin ky) (/ Om l)) (/ (sin ky) (/ Om l)))) 1))) |
| 371.0ms | (cbrt (sqrt (fma 4 (fma (/ (sin kx) (/ Om l)) (/ (sin kx) (/ Om l)) (* (/ (sin ky) (/ Om l)) (/ (sin ky) (/ Om l)))) 1))) |
| 370.0ms | (cbrt (sqrt (fma 4 (fma (/ (sin kx) (/ Om l)) (/ (sin kx) (/ Om l)) (* (/ (sin ky) (/ Om l)) (/ (sin ky) (/ Om l)))) 1))) |
| 315.0ms | (cbrt (sqrt (fma 4 (fma (/ (sin kx) (/ Om l)) (/ (sin kx) (/ Om l)) (* (/ (sin ky) (/ Om l)) (/ (sin ky) (/ Om l)))) 1))) |
36 calls. Slowest were:
| 411.0ms | (- (exp (* 1/6 (- (+ (* 2 (log l)) (+ (log 4) (* 2 (log ky)))) (* 2 (log Om))))) (* 55/648 (* (exp (* 1/6 (- (+ (* 10 (log Om)) (log 1/1024)) (+ (* 10 (log l)) (* 10 (log ky)))))) (pow kx 2)))) |
| 402.0ms | (- (exp (* 1/6 (- (+ (* 2 (log l)) (+ (log 4) (* 2 (log ky)))) (* 2 (log Om))))) (* 55/648 (* (exp (* 1/6 (- (+ (* 10 (log Om)) (log 1/1024)) (+ (* 10 (log l)) (* 10 (log ky)))))) (pow kx 2)))) |
| 363.0ms | (- (exp (* 1/6 (- (+ (* 2 (log l)) (+ (log 4) (* 2 (log ky)))) (* 2 (log Om))))) (* 55/648 (* (exp (* 1/6 (- (+ (* 10 (log Om)) (log 1/1024)) (+ (* 10 (log l)) (* 10 (log ky)))))) (pow kx 2)))) |
2 alts after pruning (2 fresh and 0 done)
Merged error: 0.6b
0% (0.0b remaining)
Error of 0.6b against oracle of 0.6b and baseline of 0.6b