


Bits error versus kx



Bits error versus ky



Bits error versus th
Results
Initial program 12.1
rmApplied div-inv12.1
Applied associate-*l*12.2
Final simplification12.2
herbie shell --seed 2019016
(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: 31.6s)Debug log
| 256× | (pre true 80) |
| 93× | (body real 1280) |
| 82× | (body real 80) |
| 53× | (body real 640) |
| 17× | (body real 320) |
| 11× | (body real 160) |
| 51.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.2b
Found 4 expressions with local error:
| 2.3b | (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)) |
| 39× | *-un-lft-identity |
| 30× | associate-*l* |
| 24× | times-frac |
| 24× | add-sqr-sqrt |
| 23× | add-cube-cbrt |
| 20× | sqrt-prod |
| 14× | unpow-prod-down |
| 11× | add-exp-log |
| 9× | add-cbrt-cube |
| 8× | distribute-lft-out |
| 8× | pow1 |
| 4× | add-log-exp |
| 4× | sqrt-div |
| 3× | associate-*r* |
| 2× | unpow2 |
| 2× | flip-+ |
| 2× | cbrt-unprod |
| 2× | associate-/r/ |
| 2× | prod-exp |
| 2× | pow-exp |
| 2× | flip3-+ |
| 2× | pow-pow |
| 2× | pow-to-exp |
| 1× | div-inv |
| 1× | *-commutative |
| 1× | associate-*l/ |
| 1× | pow-prod-down |
| 1× | div-exp |
| 1× | pow1/2 |
| 1× | rem-sqrt-square |
| 1× | cbrt-undiv |
| 15.0ms | (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) |
| 9.0ms | (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) |
| 1.0ms | (pow (sin ky) 2) |
| 1.0ms | (pow (sin kx) 2) |
| 182.0ms | (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) |
| 108.0ms | (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) |
| 19.0ms | (pow (sin kx) 2) |
| 15.0ms | (pow (sin ky) 2) |
| 610.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))) |
| 195.0ms | (- (+ (* 1/12 (* (pow kx 2) ky)) ky) (* 1/6 (pow ky 3))) |
| 191.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))) |
| 145.0ms | (sqrt (- (* (pow (sin kx) 2) (pow (sin kx) 2)) (* (pow (sin ky) 2) (pow (sin ky) 2)))) |
| 93.0ms | (/ (sin ky) (sqrt (- (* (pow (sin kx) 2) (pow (sin kx) 2)) (* (pow (sin ky) 2) (pow (sin ky) 2))))) |
22 alts after pruning (22 fresh and 0 done)
Merged error: 10.5b
Found 4 expressions with local error:
| 2.3b | (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) |
| 0.3b | (* (/ 1 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) |
| 0.3b | (* (sin ky) (* (/ 1 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th))) |
| 0.3b | (pow (sin ky) 2) |
| 17× | add-exp-log |
| 13× | *-un-lft-identity |
| 12× | pow1 |
| 11× | add-cbrt-cube |
| 10× | add-sqr-sqrt |
| 9× | add-cube-cbrt |
| 9× | associate-*l* |
| 7× | prod-exp |
| 5× | sqrt-prod |
| 5× | unpow-prod-down |
| 4× | add-log-exp |
| 4× | cbrt-unprod |
| 4× | pow-prod-down |
| 4× | associate-*r* |
| 4× | sqrt-div |
| 2× | distribute-lft-out |
| 2× | flip-+ |
| 2× | *-commutative |
| 2× | associate-/r/ |
| 2× | associate-*l/ |
| 2× | flip3-+ |
| 2× | rec-exp |
| 1× | unpow2 |
| 1× | div-inv |
| 1× | associate-*r/ |
| 1× | pow-exp |
| 1× | pow1/2 |
| 1× | pow-pow |
| 1× | rem-sqrt-square |
| 1× | pow-to-exp |
| 12.0ms | (* (sin ky) (* (/ 1 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th))) |
| 7.0ms | (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) |
| 5.0ms | (* (/ 1 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) |
| 1.0ms | (pow (sin ky) 2) |
| 205.0ms | (* (/ 1 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) |
| 162.0ms | (* (sin ky) (* (/ 1 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th))) |
| 91.0ms | (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) |
| 15.0ms | (pow (sin ky) 2) |
| 535.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)))) |
| 411.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))) |
| 322.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)))) |
| 229.0ms | (- (+ (* 1/12 (* (pow kx 2) ky)) ky) (* 1/6 (pow ky 3))) |
| 148.0ms | (/ 1 (sqrt (- (* (pow (sin kx) 2) (pow (sin kx) 2)) (* (pow (sin ky) 2) (pow (sin ky) 2))))) |
26 alts after pruning (25 fresh and 1 done)
Merged error: 10.5b
Found 4 expressions with local error:
| 2.3b | (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) |
| 0.3b | (* (sin ky) (/ 1 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))) |
| 0.3b | (pow (sin ky) 2) |
| 0.2b | (pow (sin kx) 2) |
| 13× | *-un-lft-identity |
| 10× | add-exp-log |
| 10× | add-sqr-sqrt |
| 9× | add-cube-cbrt |
| 8× | unpow-prod-down |
| 8× | pow1 |
| 6× | associate-*r* |
| 6× | add-cbrt-cube |
| 5× | sqrt-prod |
| 4× | add-log-exp |
| 4× | sqrt-div |
| 3× | associate-*l* |
| 2× | unpow2 |
| 2× | distribute-lft-out |
| 2× | flip-+ |
| 2× | associate-/r/ |
| 2× | prod-exp |
| 2× | pow-exp |
| 2× | flip3-+ |
| 2× | pow-pow |
| 2× | pow-to-exp |
| 1× | div-inv |
| 1× | cbrt-unprod |
| 1× | *-commutative |
| 1× | un-div-inv |
| 1× | associate-*r/ |
| 1× | pow-prod-down |
| 1× | pow1/2 |
| 1× | rec-exp |
| 1× | rem-sqrt-square |
| 7.0ms | (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) |
| 5.0ms | (* (sin ky) (/ 1 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))) |
| 1.0ms | (pow (sin ky) 2) |
| 1.0ms | (pow (sin kx) 2) |
| 138.0ms | (* (sin ky) (/ 1 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))) |
| 85.0ms | (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) |
| 22.0ms | (pow (sin kx) 2) |
| 17.0ms | (pow (sin ky) 2) |
| 335.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)))))) |
| 155.0ms | (sqrt (+ (* (pow (sin kx) 2) (pow (sin kx) 2)) (- (* (pow (sin ky) 2) (pow (sin ky) 2)) (* (pow (sin kx) 2) (pow (sin ky) 2))))) |
| 153.0ms | (- (+ (* 1/12 (* (pow kx 2) ky)) ky) (* 1/6 (pow ky 3))) |
| 108.0ms | (sqrt (- (* (pow (sin kx) 2) (pow (sin kx) 2)) (* (pow (sin ky) 2) (pow (sin ky) 2)))) |
| 63.0ms | (sqrt (+ (pow (pow (sin kx) 2) 3) (pow (pow (sin ky) 2) 3))) |
27 alts after pruning (26 fresh and 1 done)
Merged error: 10.5b
Found 4 expressions with local error:
| 2.3b | (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) |
| 2.3b | (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) |
| 2.3b | (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) |
| 0.4b | (cbrt (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))) |
| 46× | *-un-lft-identity |
| 30× | sqrt-prod |
| 30× | cbrt-prod |
| 25× | add-sqr-sqrt |
| 24× | times-frac |
| 22× | add-cube-cbrt |
| 12× | distribute-lft-out |
| 12× | unpow-prod-down |
| 8× | sqrt-div |
| 4× | add-log-exp |
| 4× | flip-+ |
| 4× | add-exp-log |
| 4× | add-cbrt-cube |
| 4× | flip3-+ |
| 4× | pow1 |
| 3× | pow1/2 |
| 3× | rem-sqrt-square |
| 2× | associate-/r/ |
| 1× | div-inv |
| 1× | pow1/3 |
| 1× | cbrt-div |
| 10.0ms | (cbrt (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))) |
| 8.0ms | (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) |
| 7.0ms | (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) |
| 7.0ms | (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) |
| 222.0ms | (cbrt (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))) |
| 97.0ms | (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) |
| 87.0ms | (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) |
| 80.0ms | (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) |
| 211.0ms | (- (+ (exp (* 1/3 (- (log ky) (log kx)))) (* 1/18 (* (pow kx 2) (exp (* 1/3 (- (log ky) (log kx))))))) (+ (* 1/18 (* (pow ky 2) (exp (* 1/3 (- (log ky) (log kx)))))) (* 1/6 (* (exp (* 1/3 (- (log ky) (* 7 (log kx))))) (pow ky 2))))) |
| 185.0ms | (- (+ (* 1/12 (* (pow kx 2) ky)) ky) (* 1/6 (pow ky 3))) |
| 169.0ms | (- (+ (* 1/12 (* (pow kx 2) ky)) ky) (* 1/6 (pow ky 3))) |
| 155.0ms | (- (+ (* 1/12 (* (pow kx 2) ky)) ky) (* 1/6 (pow ky 3))) |
| 135.0ms | (cbrt (/ (sin ky) (sqrt (- (* (pow (sin kx) 2) (pow (sin kx) 2)) (* (pow (sin ky) 2) (pow (sin ky) 2)))))) |
28 alts after pruning (27 fresh and 1 done)
Merged error: 10.5b
0% (1.3b remaining)
Error of 12.2b against oracle of 10.9b and baseline of 12.2b
| 8000× | (pre true 80) |
| 2775× | (body real 1280) |
| 2295× | (body real 80) |
| 1777× | (body real 640) |
| 799× | (body real 320) |
| 354× | (body real 160) |