Details

Time bar (total: 20.0s)

analyze599.0ms (3%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.8%0.2%0
0%99.8%0.2%1
0%99.8%0.2%2
49.9%49.9%0.2%3
49.9%49.9%0.2%4
49.9%49.9%0.2%5
49.9%49.9%0.2%6
74.9%25%0.2%7
74.9%25%0.2%8
74.9%25%0.2%9
74.9%25%0.2%10
87.3%12.5%0.2%11
87.3%12.5%0.2%12
87.3%12.5%0.2%13
87.3%12.5%0.2%14
Compiler

Compiled 30 to 30 computations (0% saved)

sample89.0ms (0.4%)

Algorithm
intervals
Results
35.0ms200×body128valid
27.0ms29×body1024valid
10.0ms17×body512valid
4.0ms10×body256valid
Compiler

Compiled 59 to 63 computations (-6.8% saved)

simplify211.0ms (1.1%)

Algorithm
egg-herbie
Rules
681×associate-/l/_binary64_25
579×associate-*l*_binary64_19
572×associate-/r*_binary64_22
548×unswap-sqr_binary64_46
447×associate-*r*_binary64_18
366×associate-*l/_binary64_21
328×associate-*r/_binary64_20
122×associate-/l*_binary64_23
99×distribute-rgt-out_binary64_31 distribute-rgt-in_binary64_28
76×distribute-lft-in_binary64_27
74×associate-/r/_binary64_24
69×*-commutative_binary64_9
47×swap-sqr_binary64_45
44×times-frac_binary64_84
40×distribute-lft-out_binary64_29
25×sqr-pow_binary64_50
16×pow-plus_binary64_141 *-rgt-identity_binary64_68
15×*-lft-identity_binary64_67
10×cube-unmult_binary64_115 pow-sqr_binary64_51
/-rgt-identity_binary64_69
+-commutative_binary64_8
prod-exp_binary64_127 cube-div_binary64_107
unpow2_binary64_143 unpow1_binary64_136 remove-double-div_binary64_54 distribute-rgt1-in_binary64_34 associate-+l+_binary64_11 associate-+r+_binary64_10
cube-prod_binary64_106 count-2_binary64_26
exp-prod_binary64_130 div-exp_binary64_129 rec-exp_binary64_128 1-exp_binary64_122 +-rgt-identity_binary64_63 *-inverses_binary64_58 distribute-lft1-in_binary64_33
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64_341 erf-erfc_binary64_340 erf-odd_binary64_339 if-if-and-not_binary64_338 if-if-and_binary64_337 if-if-or-not_binary64_336 if-if-or_binary64_335 if-not_binary64_334 if-same_binary64_333 if-false_binary64_332 if-true_binary64_331 not-gte_binary64_330 not-lte_binary64_329 not-gt_binary64_328 not-lt_binary64_327 gte-same_binary64_326 lte-same_binary64_325 gt-same_binary64_324 lt-same_binary64_323 sinh---cosh_binary64_270 sinh-+-cosh_binary64_269 sinh-cosh_binary64_268 tanh-def-c_binary64_267 tanh-def-b_binary64_266 tanh-def-a_binary64_265 cosh-def_binary64_264 sinh-def_binary64_263 tan-neg_binary64_210 cos-neg_binary64_209 sin-neg_binary64_208 tan-0_binary64_207 cos-0_binary64_206 sin-0_binary64_205 hang-m-tan_binary64_204 hang-p-tan_binary64_203 hang-m0-tan_binary64_202 hang-p0-tan_binary64_201 hang-0m-tan_binary64_200 hang-0p-tan_binary64_199 tan-+PI/2_binary64_198 tan-+PI_binary64_197 tan-PI_binary64_196 tan-PI/3_binary64_195 tan-PI/4_binary64_194 tan-PI/6_binary64_193 cos-+PI/2_binary64_192 cos-+PI_binary64_191 cos-PI_binary64_190 cos-PI/2_binary64_189 cos-PI/3_binary64_188 cos-PI/4_binary64_187 cos-PI/6_binary64_186 sin-+PI/2_binary64_185 sin-+PI_binary64_184 sin-PI_binary64_183 sin-PI/2_binary64_182 sin-PI/3_binary64_181 sin-PI/4_binary64_180 sin-PI/6_binary64_179 sub-1-sin_binary64_178 sub-1-cos_binary64_177 -1-add-sin_binary64_176 -1-add-cos_binary64_175 1-sub-sin_binary64_174 1-sub-cos_binary64_173 cos-sin-sum_binary64_172 log-E_binary64_168 log-pow_binary64_167 log-rec_binary64_166 log-div_binary64_165 log-prod_binary64_164 pow-base-0_binary64_162 unpow1/3_binary64_145 unpow3_binary64_144 unpow1/2_binary64_142 exp-to-pow_binary64_140 pow-base-1_binary64_138 unpow0_binary64_137 unpow-1_binary64_135 exp-lft-cube_binary64_134 exp-lft-sqr_binary64_133 exp-cbrt_binary64_132 exp-sqrt_binary64_131 exp-diff_binary64_126 exp-neg_binary64_125 exp-sum_binary64_124 e-exp-1_binary64_123 exp-1-e_binary64_121 exp-0_binary64_120 rem-log-exp_binary64_119 rem-exp-log_binary64_118 cube-mult_binary64_108 cube-neg_binary64_105 rem-3cbrt-rft_binary64_104 rem-3cbrt-lft_binary64_103 rem-cbrt-cube_binary64_102 rem-cube-cbrt_binary64_101 sqr-abs_binary64_93 sqr-neg_binary64_92 rem-sqrt-square_binary64_91 rem-square-sqrt_binary64_90 div-sub_binary64_83 neg-mul-1_binary64_74 neg-sub0_binary64_73 unsub-neg_binary64_72 sub-neg_binary64_71 mul-1-neg_binary64_70 remove-double-neg_binary64_66 sub0-neg_binary64_65 --rgt-identity_binary64_64 +-lft-identity_binary64_62 mul0-rgt_binary64_61 mul0-lft_binary64_60 div0_binary64_59 +-inverses_binary64_57 lft-mult-inverse_binary64_56 rgt-mult-inverse_binary64_55 difference-of-sqr--1_binary64_49 difference-of-sqr-1_binary64_48 difference-of-squares_binary64_47 cancel-sign-sub-inv_binary64_44 cancel-sign-sub_binary64_43 distribute-neg-frac_binary64_42 distribute-frac-neg_binary64_41 distribute-neg-out_binary64_40 distribute-neg-in_binary64_39 distribute-rgt-neg-out_binary64_38 distribute-lft-neg-out_binary64_37 distribute-rgt-neg-in_binary64_36 distribute-lft-neg-in_binary64_35 distribute-rgt-out--_binary64_32 distribute-lft-out--_binary64_30 associate--r-_binary64_17 associate--l-_binary64_16 associate--l+_binary64_15 associate--r+_binary64_14 associate-+l-_binary64_13 associate-+r-_binary64_12
Counts
1 → 4
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02345
15742
217342
346342
4226642

prune10.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New314
Fresh101
Picked000
Done000
Total415
Error
1.0b
Counts
5 → 1
Compiler

Compiled 137 to 119 computations (13.1% saved)

localize19.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.2b
(pow.f64 (sin.f64 ky) 2)
0.2b
(pow.f64 (sin.f64 kx) 2)
1.9b
(*.f64 (pow.f64 (*.f64 (/.f64 2 Om) l) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))
9.9b
(sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (*.f64 (/.f64 2 Om) l) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))

rewrite218.0ms (1.1%)

Algorithm
rewrite-expression-head
Error
0.7b
Rules
18×add-exp-log_binary64_116
16×add-sqr-sqrt_binary64_100
15×*-un-lft-identity_binary64_78
11×add-cube-cbrt_binary64_113
unpow-prod-down_binary64_157
pow1_binary64_139 prod-exp_binary64_127
add-cbrt-cube_binary64_114 associate-*l*_binary64_19 pow-unpow_binary64_155
pow-exp_binary64_146 associate-*r*_binary64_18
add-log-exp_binary64_117 unpow2_binary64_143 sqr-pow_binary64_50
sqrt-prod_binary64_94 pow-to-exp_binary64_147 unswap-sqr_binary64_46
flip3-+_binary64_81 sqrt-div_binary64_95 flip-+_binary64_52 associate-*r/_binary64_20 distribute-lft-out_binary64_29 pow-pow_binary64_150
pow1/2_binary64_158 sqrt-pow1_binary64_96 rem-sqrt-square_binary64_91 div-exp_binary64_129 cbrt-unprod_binary64_111 distribute-rgt-in_binary64_28 distribute-lft-in_binary64_27 *-commutative_binary64_9
Counts
4 → 83
Calls

4 calls:

14.0ms
(*.f64 (pow.f64 (*.f64 (/.f64 2 Om) l) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))
4.0ms
(sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (*.f64 (/.f64 2 Om) l) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))
3.0ms
(pow.f64 (sin.f64 ky) 2)
3.0ms
(pow.f64 (sin.f64 kx) 2)
Compiler

Compiled 3104 to 2379 computations (23.4% saved)

series2.5s (12.6%)

Error
0.4b
Counts
4 → 40
Calls

4 calls:

1.5s
(sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (*.f64 (/.f64 2 Om) l) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))
887.0ms
(*.f64 (pow.f64 (*.f64 (/.f64 2 Om) l) 2) (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))
33.0ms
(pow.f64 (sin.f64 kx) 2)
33.0ms
(pow.f64 (sin.f64 ky) 2)
Compiler

Compiled 4163 to 3710 computations (10.9% saved)

simplify432.0ms (2.2%)

Algorithm
egg-herbie
Rules
480×times-frac_binary64_84
349×distribute-rgt-in_binary64_28
337×distribute-lft-in_binary64_27
295×unswap-sqr_binary64_46
157×associate-*l*_binary64_19 associate-*r*_binary64_18
152×associate-/r/_binary64_24
130×cancel-sign-sub-inv_binary64_44
102×sqr-pow_binary64_50
95×*-commutative_binary64_9
89×distribute-rgt-neg-in_binary64_36
75×distribute-lft-neg-in_binary64_35
72×associate-/l/_binary64_25
65×exp-prod_binary64_130
56×distribute-rgt-out_binary64_31
52×log-prod_binary64_164
49×associate-/l*_binary64_23
41×cube-prod_binary64_106 pow-sqr_binary64_51 associate-*r/_binary64_20
38×pow-plus_binary64_141
37×associate-*l/_binary64_21
33×+-commutative_binary64_8
31×sub-neg_binary64_71
30×associate-/r*_binary64_22
28×neg-sub0_binary64_73
26×log-pow_binary64_167 neg-mul-1_binary64_74 *-lft-identity_binary64_67
22×*-rgt-identity_binary64_68
19×distribute-neg-in_binary64_39
18×swap-sqr_binary64_45 distribute-lft-out_binary64_29
17×log-div_binary64_165
16×distribute-neg-frac_binary64_42
14×unpow2_binary64_143
13×unpow1_binary64_136 cube-div_binary64_107 distribute-lft-neg-out_binary64_37 distribute-rgt-out--_binary64_32
12×rem-sqrt-square_binary64_91
11×difference-of-squares_binary64_47
10×unpow3_binary64_144
cube-unmult_binary64_115 /-rgt-identity_binary64_69 distribute-rgt1-in_binary64_34
distribute-rgt-neg-out_binary64_38 associate-+l+_binary64_11
exp-sqrt_binary64_131 associate-+r+_binary64_10
pow-base-1_binary64_138
div-exp_binary64_129 prod-exp_binary64_127 exp-sum_binary64_124 cube-mult_binary64_108 distribute-lft-out--_binary64_30 associate--r+_binary64_14
rem-square-sqrt_binary64_90 unsub-neg_binary64_72 count-2_binary64_26
log-rec_binary64_166 rec-exp_binary64_128 rem-3cbrt-rft_binary64_104 rem-3cbrt-lft_binary64_103 mul-1-neg_binary64_70 difference-of-sqr-1_binary64_48 distribute-lft1-in_binary64_33 associate-+l-_binary64_13 associate-+r-_binary64_12
1-exp_binary64_122 exp-1-e_binary64_121 rem-log-exp_binary64_119 *-inverses_binary64_58 associate--l+_binary64_15
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64_341 erf-erfc_binary64_340 erf-odd_binary64_339 if-if-and-not_binary64_338 if-if-and_binary64_337 if-if-or-not_binary64_336 if-if-or_binary64_335 if-not_binary64_334 if-same_binary64_333 if-false_binary64_332 if-true_binary64_331 not-gte_binary64_330 not-lte_binary64_329 not-gt_binary64_328 not-lt_binary64_327 gte-same_binary64_326 lte-same_binary64_325 gt-same_binary64_324 lt-same_binary64_323 sinh---cosh_binary64_270 sinh-+-cosh_binary64_269 sinh-cosh_binary64_268 tanh-def-c_binary64_267 tanh-def-b_binary64_266 tanh-def-a_binary64_265 cosh-def_binary64_264 sinh-def_binary64_263 tan-neg_binary64_210 cos-neg_binary64_209 sin-neg_binary64_208 tan-0_binary64_207 cos-0_binary64_206 sin-0_binary64_205 hang-m-tan_binary64_204 hang-p-tan_binary64_203 hang-m0-tan_binary64_202 hang-p0-tan_binary64_201 hang-0m-tan_binary64_200 hang-0p-tan_binary64_199 tan-+PI/2_binary64_198 tan-+PI_binary64_197 tan-PI_binary64_196 tan-PI/3_binary64_195 tan-PI/4_binary64_194 tan-PI/6_binary64_193 cos-+PI/2_binary64_192 cos-+PI_binary64_191 cos-PI_binary64_190 cos-PI/2_binary64_189 cos-PI/3_binary64_188 cos-PI/4_binary64_187 cos-PI/6_binary64_186 sin-+PI/2_binary64_185 sin-+PI_binary64_184 sin-PI_binary64_183 sin-PI/2_binary64_182 sin-PI/3_binary64_181 sin-PI/4_binary64_180 sin-PI/6_binary64_179 sub-1-sin_binary64_178 sub-1-cos_binary64_177 -1-add-sin_binary64_176 -1-add-cos_binary64_175 1-sub-sin_binary64_174 1-sub-cos_binary64_173 cos-sin-sum_binary64_172 log-E_binary64_168 pow-base-0_binary64_162 unpow1/3_binary64_145 unpow1/2_binary64_142 exp-to-pow_binary64_140 unpow0_binary64_137 unpow-1_binary64_135 exp-lft-cube_binary64_134 exp-lft-sqr_binary64_133 exp-cbrt_binary64_132 exp-diff_binary64_126 exp-neg_binary64_125 e-exp-1_binary64_123 exp-0_binary64_120 rem-exp-log_binary64_118 cube-neg_binary64_105 rem-cbrt-cube_binary64_102 rem-cube-cbrt_binary64_101 sqr-abs_binary64_93 sqr-neg_binary64_92 div-sub_binary64_83 remove-double-neg_binary64_66 sub0-neg_binary64_65 --rgt-identity_binary64_64 +-rgt-identity_binary64_63 +-lft-identity_binary64_62 mul0-rgt_binary64_61 mul0-lft_binary64_60 div0_binary64_59 +-inverses_binary64_57 lft-mult-inverse_binary64_56 rgt-mult-inverse_binary64_55 remove-double-div_binary64_54 difference-of-sqr--1_binary64_49 cancel-sign-sub_binary64_43 distribute-frac-neg_binary64_41 distribute-neg-out_binary64_40 associate--r-_binary64_17 associate--l-_binary64_16
Counts
123 → 242
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02223264
15113114
217583013

prune698.0ms (3.5%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New2402242
Fresh000
Picked011
Done000
Total2403243
Error
0.0b
Counts
243 → 3
Compiler

Compiled 9332 to 6527 computations (30.1% saved)

localize22.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.2b
(pow.f64 (sin.f64 ky) 2)
0.2b
(pow.f64 (sin.f64 kx) 2)
1.0b
(pow.f64 (exp.f64 (pow.f64 (*.f64 l (/.f64 2 Om)) 2)) (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
1.1b
(log.f64 (pow.f64 (exp.f64 (pow.f64 (*.f64 l (/.f64 2 Om)) 2)) (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))

rewrite229.0ms (1.1%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
17×*-un-lft-identity_binary64_78
15×unpow-prod-down_binary64_157
13×add-cube-cbrt_binary64_113 add-sqr-sqrt_binary64_100
11×pow-unpow_binary64_155
pow-pow_binary64_150
log-prod_binary64_164
pow1_binary64_139 add-exp-log_binary64_116
exp-prod_binary64_130
sqr-pow_binary64_50
pow-to-exp_binary64_147 pow-exp_binary64_146 add-log-exp_binary64_117 add-cbrt-cube_binary64_114
rem-log-exp_binary64_119 unpow2_binary64_143
unpow-prod-up_binary64_156 distribute-lft-out_binary64_29
log-pow_binary64_167
Counts
4 → 81
Calls

4 calls:

13.0ms
(pow.f64 (exp.f64 (pow.f64 (*.f64 l (/.f64 2 Om)) 2)) (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
5.0ms
(log.f64 (pow.f64 (exp.f64 (pow.f64 (*.f64 l (/.f64 2 Om)) 2)) (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))
3.0ms
(pow.f64 (sin.f64 ky) 2)
3.0ms
(pow.f64 (sin.f64 kx) 2)
Compiler

Compiled 3110 to 2430 computations (21.9% saved)

series3.7s (18.7%)

Error
0.0b
Counts
4 → 41
Calls

4 calls:

2.0s
(log.f64 (pow.f64 (exp.f64 (pow.f64 (*.f64 l (/.f64 2 Om)) 2)) (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))
1.5s
(pow.f64 (exp.f64 (pow.f64 (*.f64 l (/.f64 2 Om)) 2)) (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
38.0ms
(pow.f64 (sin.f64 ky) 2)
35.0ms
(pow.f64 (sin.f64 kx) 2)
Compiler

Compiled 4969 to 4320 computations (13.1% saved)

simplify676.0ms (3.4%)

Algorithm
egg-herbie
Rules
696×associate-/l*_binary64_23
356×unswap-sqr_binary64_46
247×associate-/r/_binary64_24
176×associate-*r*_binary64_18
171×sqr-pow_binary64_50
154×distribute-rgt-in_binary64_28
149×distribute-lft-in_binary64_27
136×associate-*l*_binary64_19
128×associate-+r+_binary64_10
116×exp-prod_binary64_130 associate-/l/_binary64_25
95×*-commutative_binary64_9
87×log-prod_binary64_164
79×pow-sqr_binary64_51
72×times-frac_binary64_84
70×associate-+l+_binary64_11
68×distribute-rgt-out_binary64_31
62×associate-/r*_binary64_22
61×+-commutative_binary64_8
58×log-pow_binary64_167
47×associate-*l/_binary64_21 associate-*r/_binary64_20
38×pow-plus_binary64_141
37×swap-sqr_binary64_45
29×cube-prod_binary64_106
25×distribute-lft-out_binary64_29
16×unpow2_binary64_143 unpow1_binary64_136
15×exp-sum_binary64_124 /-rgt-identity_binary64_69 *-lft-identity_binary64_67 count-2_binary64_26
14×cube-unmult_binary64_115 *-rgt-identity_binary64_68
13×rem-sqrt-square_binary64_91
12×log-div_binary64_165
exp-to-pow_binary64_140 rem-log-exp_binary64_119
cube-div_binary64_107
pow-base-1_binary64_138 distribute-rgt1-in_binary64_34
exp-sqrt_binary64_131
prod-exp_binary64_127
exp-lft-sqr_binary64_133
rem-3cbrt-rft_binary64_104 rem-3cbrt-lft_binary64_103 rem-square-sqrt_binary64_90 distribute-lft1-in_binary64_33
log-rec_binary64_166 exp-diff_binary64_126 1-exp_binary64_122 rem-exp-log_binary64_118 sub-neg_binary64_71 *-inverses_binary64_58
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64_341 erf-erfc_binary64_340 erf-odd_binary64_339 if-if-and-not_binary64_338 if-if-and_binary64_337 if-if-or-not_binary64_336 if-if-or_binary64_335 if-not_binary64_334 if-same_binary64_333 if-false_binary64_332 if-true_binary64_331 not-gte_binary64_330 not-lte_binary64_329 not-gt_binary64_328 not-lt_binary64_327 gte-same_binary64_326 lte-same_binary64_325 gt-same_binary64_324 lt-same_binary64_323 sinh---cosh_binary64_270 sinh-+-cosh_binary64_269 sinh-cosh_binary64_268 tanh-def-c_binary64_267 tanh-def-b_binary64_266 tanh-def-a_binary64_265 cosh-def_binary64_264 sinh-def_binary64_263 tan-neg_binary64_210 cos-neg_binary64_209 sin-neg_binary64_208 tan-0_binary64_207 cos-0_binary64_206 sin-0_binary64_205 hang-m-tan_binary64_204 hang-p-tan_binary64_203 hang-m0-tan_binary64_202 hang-p0-tan_binary64_201 hang-0m-tan_binary64_200 hang-0p-tan_binary64_199 tan-+PI/2_binary64_198 tan-+PI_binary64_197 tan-PI_binary64_196 tan-PI/3_binary64_195 tan-PI/4_binary64_194 tan-PI/6_binary64_193 cos-+PI/2_binary64_192 cos-+PI_binary64_191 cos-PI_binary64_190 cos-PI/2_binary64_189 cos-PI/3_binary64_188 cos-PI/4_binary64_187 cos-PI/6_binary64_186 sin-+PI/2_binary64_185 sin-+PI_binary64_184 sin-PI_binary64_183 sin-PI/2_binary64_182 sin-PI/3_binary64_181 sin-PI/4_binary64_180 sin-PI/6_binary64_179 sub-1-sin_binary64_178 sub-1-cos_binary64_177 -1-add-sin_binary64_176 -1-add-cos_binary64_175 1-sub-sin_binary64_174 1-sub-cos_binary64_173 cos-sin-sum_binary64_172 log-E_binary64_168 pow-base-0_binary64_162 unpow1/3_binary64_145 unpow3_binary64_144 unpow1/2_binary64_142 unpow0_binary64_137 unpow-1_binary64_135 exp-lft-cube_binary64_134 exp-cbrt_binary64_132 div-exp_binary64_129 rec-exp_binary64_128 exp-neg_binary64_125 e-exp-1_binary64_123 exp-1-e_binary64_121 exp-0_binary64_120 cube-mult_binary64_108 cube-neg_binary64_105 rem-cbrt-cube_binary64_102 rem-cube-cbrt_binary64_101 sqr-abs_binary64_93 sqr-neg_binary64_92 div-sub_binary64_83 neg-mul-1_binary64_74 neg-sub0_binary64_73 unsub-neg_binary64_72 mul-1-neg_binary64_70 remove-double-neg_binary64_66 sub0-neg_binary64_65 --rgt-identity_binary64_64 +-rgt-identity_binary64_63 +-lft-identity_binary64_62 mul0-rgt_binary64_61 mul0-lft_binary64_60 div0_binary64_59 +-inverses_binary64_57 lft-mult-inverse_binary64_56 rgt-mult-inverse_binary64_55 remove-double-div_binary64_54 difference-of-sqr--1_binary64_49 difference-of-sqr-1_binary64_48 difference-of-squares_binary64_47 cancel-sign-sub-inv_binary64_44 cancel-sign-sub_binary64_43 distribute-neg-frac_binary64_42 distribute-frac-neg_binary64_41 distribute-neg-out_binary64_40 distribute-neg-in_binary64_39 distribute-rgt-neg-out_binary64_38 distribute-lft-neg-out_binary64_37 distribute-rgt-neg-in_binary64_36 distribute-lft-neg-in_binary64_35 distribute-rgt-out--_binary64_32 distribute-lft-out--_binary64_30 associate--r-_binary64_17 associate--l-_binary64_16 associate--l+_binary64_15 associate--r+_binary64_14 associate-+l-_binary64_13 associate-+r-_binary64_12
Counts
122 → 241
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02523992
16173717
222463677

prune966.0ms (4.8%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New2410241
Fresh011
Picked011
Done011
Total2413244
Error
0.0b
Counts
244 → 3
Compiler

Compiled 11277 to 8086 computations (28.3% saved)

localize27.0ms (0.1%)

Local error

Found 4 expressions with local error:

1.4b
(*.f64 l (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
1.4b
(*.f64 l (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
23.9b
(sqrt.f64 (*.f64 4 (*.f64 l (*.f64 l (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))))
24.2b
(sqrt.f64 (/.f64 1 (*.f64 4 (*.f64 l (*.f64 l (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))))))

rewrite381.0ms (1.9%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
29×pow1_binary64_139
18×*-un-lft-identity_binary64_78
16×associate-*r/_binary64_20
15×add-sqr-sqrt_binary64_100
14×pow-prod-down_binary64_149
10×add-cube-cbrt_binary64_113 sqrt-pow1_binary64_96 sqrt-prod_binary64_94 associate-*r*_binary64_18
add-exp-log_binary64_116 add-cbrt-cube_binary64_114
associate-*l*_binary64_19
add-log-exp_binary64_117 pow-flip_binary64_152 flip3-+_binary64_81 flip-+_binary64_52 unpow-prod-down_binary64_157 distribute-lft-out_binary64_29
sqrt-div_binary64_95 times-frac_binary64_84
pow1/2_binary64_158 associate-/r/_binary64_24 prod-exp_binary64_127 cbrt-unprod_binary64_111 unswap-sqr_binary64_46 distribute-rgt-in_binary64_28 distribute-lft-in_binary64_27 *-commutative_binary64_9
inv-pow_binary64_163 div-inv_binary64_75 rem-sqrt-square_binary64_91
Counts
4 → 88
Calls

4 calls:

19.0ms
(sqrt.f64 (/.f64 1 (*.f64 4 (*.f64 l (*.f64 l (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))))))
14.0ms
(sqrt.f64 (*.f64 4 (*.f64 l (*.f64 l (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))))
12.0ms
(*.f64 l (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
12.0ms
(*.f64 l (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
Compiler

Compiled 5124 to 3610 computations (29.5% saved)

series2.5s (12.3%)

Error
0.0b
Counts
4 → 44
Calls

4 calls:

939.0ms
(sqrt.f64 (/.f64 1 (*.f64 4 (*.f64 l (*.f64 l (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))))))
577.0ms
(sqrt.f64 (*.f64 4 (*.f64 l (*.f64 l (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))))
422.0ms
(*.f64 l (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
409.0ms
(*.f64 l (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
Compiler

Compiled 6025 to 4771 computations (20.8% saved)

simplify378.0ms (1.9%)

Algorithm
egg-herbie
Rules
411×associate-/r*_binary64_22
322×associate-/l*_binary64_23
308×distribute-rgt-in_binary64_28
299×distribute-lft-in_binary64_27
271×*-commutative_binary64_9
264×unswap-sqr_binary64_46
171×associate-*r/_binary64_20
163×associate-*r*_binary64_18
157×associate-*l/_binary64_21 associate-*l*_binary64_19
132×sqr-pow_binary64_50
82×*-lft-identity_binary64_67 pow-sqr_binary64_51
76×*-rgt-identity_binary64_68
70×associate-/r/_binary64_24
66×associate-/l/_binary64_25
63×exp-prod_binary64_130 cancel-sign-sub-inv_binary64_44
61×times-frac_binary64_84
60×sub-neg_binary64_71
59×/-rgt-identity_binary64_69
57×neg-mul-1_binary64_74
56×neg-sub0_binary64_73
47×pow-plus_binary64_141 difference-of-squares_binary64_47
37×distribute-rgt-neg-in_binary64_36
33×+-commutative_binary64_8
29×div-sub_binary64_83
28×unsub-neg_binary64_72 distribute-lft-neg-in_binary64_35
26×associate-+l+_binary64_11
23×distribute-neg-frac_binary64_42
22×exp-sqrt_binary64_131 cube-div_binary64_107
21×log-prod_binary64_164 cube-prod_binary64_106 associate-+r+_binary64_10
19×distribute-lft-neg-out_binary64_37
18×distribute-rgt-out_binary64_31
15×log-pow_binary64_167 log-div_binary64_165
11×associate-+r-_binary64_12
10×+-rgt-identity_binary64_63
unpow3_binary64_144 cube-unmult_binary64_115 associate--l+_binary64_15 associate-+l-_binary64_13
exp-lft-sqr_binary64_133
pow-base-1_binary64_138 sub0-neg_binary64_65
unpow2_binary64_143 rem-sqrt-square_binary64_91
unpow1_binary64_136 div-exp_binary64_129 prod-exp_binary64_127 exp-sum_binary64_124 cube-mult_binary64_108 swap-sqr_binary64_45 distribute-rgt-out--_binary64_32 distribute-lft-out_binary64_29
distribute-rgt-neg-out_binary64_38
log-rec_binary64_166 rec-exp_binary64_128 rem-square-sqrt_binary64_90 remove-double-div_binary64_54 distribute-lft-out--_binary64_30
exp-diff_binary64_126 1-exp_binary64_122 exp-1-e_binary64_121 rem-log-exp_binary64_119 rem-cbrt-cube_binary64_102 div0_binary64_59 *-inverses_binary64_58 rgt-mult-inverse_binary64_55 distribute-frac-neg_binary64_41
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64_341 erf-erfc_binary64_340 erf-odd_binary64_339 if-if-and-not_binary64_338 if-if-and_binary64_337 if-if-or-not_binary64_336 if-if-or_binary64_335 if-not_binary64_334 if-same_binary64_333 if-false_binary64_332 if-true_binary64_331 not-gte_binary64_330 not-lte_binary64_329 not-gt_binary64_328 not-lt_binary64_327 gte-same_binary64_326 lte-same_binary64_325 gt-same_binary64_324 lt-same_binary64_323 sinh---cosh_binary64_270 sinh-+-cosh_binary64_269 sinh-cosh_binary64_268 tanh-def-c_binary64_267 tanh-def-b_binary64_266 tanh-def-a_binary64_265 cosh-def_binary64_264 sinh-def_binary64_263 tan-neg_binary64_210 cos-neg_binary64_209 sin-neg_binary64_208 tan-0_binary64_207 cos-0_binary64_206 sin-0_binary64_205 hang-m-tan_binary64_204 hang-p-tan_binary64_203 hang-m0-tan_binary64_202 hang-p0-tan_binary64_201 hang-0m-tan_binary64_200 hang-0p-tan_binary64_199 tan-+PI/2_binary64_198 tan-+PI_binary64_197 tan-PI_binary64_196 tan-PI/3_binary64_195 tan-PI/4_binary64_194 tan-PI/6_binary64_193 cos-+PI/2_binary64_192 cos-+PI_binary64_191 cos-PI_binary64_190 cos-PI/2_binary64_189 cos-PI/3_binary64_188 cos-PI/4_binary64_187 cos-PI/6_binary64_186 sin-+PI/2_binary64_185 sin-+PI_binary64_184 sin-PI_binary64_183 sin-PI/2_binary64_182 sin-PI/3_binary64_181 sin-PI/4_binary64_180 sin-PI/6_binary64_179 sub-1-sin_binary64_178 sub-1-cos_binary64_177 -1-add-sin_binary64_176 -1-add-cos_binary64_175 1-sub-sin_binary64_174 1-sub-cos_binary64_173 cos-sin-sum_binary64_172 log-E_binary64_168 pow-base-0_binary64_162 unpow1/3_binary64_145 unpow1/2_binary64_142 exp-to-pow_binary64_140 unpow0_binary64_137 unpow-1_binary64_135 exp-lft-cube_binary64_134 exp-cbrt_binary64_132 exp-neg_binary64_125 e-exp-1_binary64_123 exp-0_binary64_120 rem-exp-log_binary64_118 cube-neg_binary64_105 rem-3cbrt-rft_binary64_104 rem-3cbrt-lft_binary64_103 rem-cube-cbrt_binary64_101 sqr-abs_binary64_93 sqr-neg_binary64_92 mul-1-neg_binary64_70 remove-double-neg_binary64_66 --rgt-identity_binary64_64 +-lft-identity_binary64_62 mul0-rgt_binary64_61 mul0-lft_binary64_60 +-inverses_binary64_57 lft-mult-inverse_binary64_56 difference-of-sqr--1_binary64_49 difference-of-sqr-1_binary64_48 cancel-sign-sub_binary64_43 distribute-neg-out_binary64_40 distribute-neg-in_binary64_39 distribute-rgt1-in_binary64_34 distribute-lft1-in_binary64_33 count-2_binary64_26 associate--r-_binary64_17 associate--l-_binary64_16 associate--r+_binary64_14
Counts
132 → 276
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01753061
14132844
216192802
342972796

prune1.3s (6.5%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New2760276
Fresh000
Picked011
Done022
Total2763279
Error
0.0b
Counts
279 → 3
Compiler

Compiled 16244 to 11396 computations (29.8% saved)

regimes1.6s (8%)

Accuracy

Total 1.1b remaining (96.2%)

Threshold costs 0b (0%)

Compiler

Compiled 16643 to 15550 computations (6.6% saved)

bsearch0.0ms (0%)

simplify3.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64_9 +-commutative_binary64_8
1-exp_binary64_122
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same if-if-and-not_binary64_338 if-if-and_binary64_337 if-if-or-not_binary64_336 if-if-or_binary64_335 if-not_binary64_334 if-same_binary64_333 if-false_binary64_332 if-true_binary64_331 tan-0_binary64_207 cos-0_binary64_206 sin-0_binary64_205 unpow1_binary64_136 e-exp-1_binary64_123 exp-1-e_binary64_121 exp-0_binary64_120 sqr-abs_binary64_93 sqr-neg_binary64_92 neg-mul-1_binary64_74 neg-sub0_binary64_73 unsub-neg_binary64_72 sub-neg_binary64_71 mul-1-neg_binary64_70 /-rgt-identity_binary64_69 *-rgt-identity_binary64_68 *-lft-identity_binary64_67 remove-double-neg_binary64_66 sub0-neg_binary64_65 --rgt-identity_binary64_64 +-rgt-identity_binary64_63 +-lft-identity_binary64_62 cancel-sign-sub-inv_binary64_44 cancel-sign-sub_binary64_43 distribute-neg-frac_binary64_42 distribute-frac-neg_binary64_41 distribute-neg-out_binary64_40 distribute-neg-in_binary64_39 distribute-rgt-neg-out_binary64_38 distribute-lft-neg-out_binary64_37 distribute-rgt-neg-in_binary64_36 distribute-lft-neg-in_binary64_35
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02345
13145
Proof
(sqrt f64 (* f64 (/ f64 1 2) (+ f64 1 (/ f64 1 (sqrt f64 (+ f64 1 (* f64 (pow f64 (/ f64 (* f64 2 h0) h1) 2) (+ f64 (pow f64 (sin f64 h2) 2) (pow f64 (sin f64 h3) 2)))))))))

end0.0ms (0%)

sample3.4s (17.1%)

Algorithm
intervals
Results
1.1s6354×body128valid
633.0ms781×body1024valid
307.0ms535×body512valid
127.0ms329×body256valid
1.0msbody2048valid
Compiler

Compiled 914 to 857 computations (6.2% saved)

Profiling

Loading profile data...