Details

Time bar (total: 6.8s)

analyze554.0ms (8.1%)

Algorithm
search
egg-herbie
Rules
692×times-frac_binary64_84
432×unswap-sqr_binary64_46
342×associate-/r/_binary64_24
306×associate-/l/_binary64_25
302×associate-*l*_binary64_19
258×associate-*l/_binary64_21
230×*-commutative_binary64_9
224×associate-*r*_binary64_18
204×neg-mul-1_binary64_74
186×associate-*r/_binary64_20
182×neg-sub0_binary64_73
178×associate-/l*_binary64_23
156×div-sub_binary64_83
136×associate-/r*_binary64_22
94×exp-prod_binary64_130
84×distribute-frac-neg_binary64_41
80×sqr-pow_binary64_50
72×distribute-rgt-neg-out_binary64_38
70×*-lft-identity_binary64_67
68×*-rgt-identity_binary64_68 distribute-lft-neg-out_binary64_37
42×prod-exp_binary64_127 remove-double-div_binary64_54
36×pow-sqr_binary64_51
34×distribute-rgt-in_binary64_28
32×/-rgt-identity_binary64_69
28×distribute-rgt-neg-in_binary64_36
26×unpow3_binary64_144 pow-plus_binary64_141 exp-sum_binary64_124 distribute-lft-in_binary64_27
24×exp-diff_binary64_126 cube-prod_binary64_106
22×rec-exp_binary64_128 distribute-neg-frac_binary64_42
20×cube-unmult_binary64_115 distribute-lft-neg-in_binary64_35
18×sub-neg_binary64_71
16×exp-lft-sqr_binary64_133
14×exp-sqrt_binary64_131 exp-neg_binary64_125 cancel-sign-sub-inv_binary64_44
12×distribute-neg-in_binary64_39 +-commutative_binary64_8
div-exp_binary64_129 rem-sqrt-square_binary64_91 distribute-rgt-out_binary64_31
unpow2_binary64_143 cube-div_binary64_107 remove-double-neg_binary64_66 associate--l-_binary64_16
sin-neg_binary64_208 unpow1_binary64_136 sub0-neg_binary64_65 distribute-lft-out_binary64_29
unpow1/2_binary64_142 cube-mult_binary64_108 --rgt-identity_binary64_64 +-rgt-identity_binary64_63 associate--r+_binary64_14 associate-+l-_binary64_13
exp-1-e_binary64_121 exp-0_binary64_120
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 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 exp-to-pow_binary64_140 pow-base-1_binary64_138 unpow0_binary64_137 unpow-1_binary64_135 exp-lft-cube_binary64_134 exp-cbrt_binary64_132 e-exp-1_binary64_123 1-exp_binary64_122 rem-log-exp_binary64_119 rem-exp-log_binary64_118 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-square-sqrt_binary64_90 unsub-neg_binary64_72 mul-1-neg_binary64_70 +-lft-identity_binary64_62 mul0-rgt_binary64_61 mul0-lft_binary64_60 div0_binary64_59 *-inverses_binary64_58 +-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 swap-sqr_binary64_45 cancel-sign-sub_binary64_43 distribute-neg-out_binary64_40 distribute-rgt1-in_binary64_34 distribute-lft1-in_binary64_33 distribute-rgt-out--_binary64_32 distribute-lft-out--_binary64_30 count-2_binary64_26 associate--r-_binary64_17 associate--l+_binary64_15 associate-+r-_binary64_12 associate-+l+_binary64_11 associate-+r+_binary64_10
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01936
14836
211736
315936
420536
530536
654136
7130536
8314836
9322536
10434636
11489236
12494336
022
122
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
25%74.9%0.1%4
62.4%37.5%0.1%5
62.4%37.5%0.1%6
62.4%31.2%6.3%7
62.4%31.2%6.3%8
62.4%28.1%9.5%9
62.4%28.1%9.5%10
62.4%26.5%11%11
62.4%26.5%11%12
62.4%25.8%11.8%13
62.4%25.8%11.8%14
Compiler

Compiled 13 to 12 computations (7.7% saved)

sample86.0ms (1.3%)

Algorithm
intervals
Results
20.0ms59×body1024valid
15.0ms68×body1024invalid
12.0ms147×body128valid
7.0ms38×body512valid
5.0ms89×body128invalid
4.0ms25×body512invalid
2.0ms21×body256invalid
1.0ms12×body256valid
Compiler

Compiled 25 to 25 computations (0% saved)

simplify121.0ms (1.8%)

Algorithm
egg-herbie
Rules
778×unswap-sqr_binary64_46
491×associate-/r*_binary64_22
449×div-exp_binary64_129
360×associate-/l*_binary64_23
346×times-frac_binary64_84
288×rem-sqrt-square_binary64_91
256×*-commutative_binary64_9
234×sqr-pow_binary64_50
171×associate-/r/_binary64_24
153×associate-/l/_binary64_25
151×associate-*l*_binary64_19
145×pow-sqr_binary64_51
122×associate-*l/_binary64_21
112×associate-*r*_binary64_18
111×div-sub_binary64_83
93×exp-prod_binary64_130
92×associate-*r/_binary64_20
72×cube-prod_binary64_106
69×prod-exp_binary64_127
61×unpow3_binary64_144
58×exp-sum_binary64_124 distribute-rgt-in_binary64_28
51×exp-diff_binary64_126
46×distribute-rgt-neg-out_binary64_38
42×distribute-frac-neg_binary64_41
41×neg-mul-1_binary64_74
39×pow-plus_binary64_141 sub-neg_binary64_71 *-rgt-identity_binary64_68
35×*-lft-identity_binary64_67
33×cancel-sign-sub-inv_binary64_44 distribute-rgt-neg-in_binary64_36
29×remove-double-div_binary64_54
26×distribute-lft-neg-in_binary64_35
25×neg-sub0_binary64_73
21×distribute-lft-neg-out_binary64_37
18×/-rgt-identity_binary64_69
17×cube-unmult_binary64_115 cube-mult_binary64_108
16×distribute-rgt-out_binary64_31
15×distribute-lft-in_binary64_27
14×exp-sqrt_binary64_131 distribute-neg-in_binary64_39
13×unsub-neg_binary64_72 distribute-neg-frac_binary64_42
12×rec-exp_binary64_128 +-rgt-identity_binary64_63
11×unpow1/2_binary64_142
10×unpow2_binary64_143
unpow1_binary64_136 exp-neg_binary64_125
exp-lft-sqr_binary64_133
remove-double-neg_binary64_66 associate-+l-_binary64_13
+-commutative_binary64_8
cube-div_binary64_107 distribute-neg-out_binary64_40 distribute-lft-out_binary64_29 associate--l-_binary64_16
unpow-1_binary64_135 associate--r+_binary64_14
distribute-rgt-out--_binary64_32
sub0-neg_binary64_65 swap-sqr_binary64_45 distribute-rgt1-in_binary64_34
exp-1-e_binary64_121 exp-0_binary64_120 --rgt-identity_binary64_64 associate-+r-_binary64_12 associate-+l+_binary64_11 associate-+r+_binary64_10
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 exp-to-pow_binary64_140 pow-base-1_binary64_138 unpow0_binary64_137 exp-lft-cube_binary64_134 exp-cbrt_binary64_132 e-exp-1_binary64_123 1-exp_binary64_122 rem-log-exp_binary64_119 rem-exp-log_binary64_118 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-square-sqrt_binary64_90 mul-1-neg_binary64_70 +-lft-identity_binary64_62 mul0-rgt_binary64_61 mul0-lft_binary64_60 div0_binary64_59 *-inverses_binary64_58 +-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_binary64_43 distribute-lft1-in_binary64_33 distribute-lft-out--_binary64_30 count-2_binary64_26 associate--r-_binary64_17 associate--l+_binary64_15
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01218
12718
26318
38618
411018
516318
628518
767418
8212418
9206718
10239518
11385818
12415918
13477318
14490318
15528218

prune4.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New011
Fresh101
Picked000
Done000
Total112
Error
0.0b
Counts
2 → 1
Compiler

Compiled 22 to 20 computations (9.1% saved)

localize9.0ms (0.1%)

Local error

Found 2 expressions with local error:

0.0b
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
0.0b
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))

rewrite61.0ms (0.9%)

Algorithm
rewrite-expression-head
Error
0b
Rules
pow1_binary64_139 add-exp-log_binary64_116 add-cbrt-cube_binary64_114 *-un-lft-identity_binary64_78
add-log-exp_binary64_117 associate-*r*_binary64_18
pow-prod-down_binary64_149 prod-exp_binary64_127 add-cube-cbrt_binary64_113 cbrt-unprod_binary64_111 add-sqr-sqrt_binary64_100
flip3-+_binary64_81 associate-*r/_binary64_20 flip-+_binary64_52 distribute-lft-out_binary64_29
distribute-rgt-in_binary64_28 distribute-lft-in_binary64_27 associate-*l*_binary64_19 *-commutative_binary64_9 sum-log_binary64_169 +-commutative_binary64_8
Counts
2 → 35
Calls

2 calls:

11.0ms
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
6.0ms
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Compiler

Compiled 692 to 227 computations (67.2% saved)

series292.0ms (4.3%)

Error
0.0b
Counts
2 → 17
Calls

2 calls:

237.0ms
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
32.0ms
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Compiler

Compiled 701 to 504 computations (28.1% saved)

simplify91.0ms (1.3%)

Algorithm
egg-herbie
Rules
369×times-frac_binary64_84
356×*-commutative_binary64_9
330×distribute-rgt-in_binary64_28
304×distribute-lft-in_binary64_27
263×cancel-sign-sub-inv_binary64_44
218×associate-*l/_binary64_21
184×associate-/l*_binary64_23
172×associate-*r/_binary64_20
167×associate-*l*_binary64_19
141×associate-*r*_binary64_18
133×sub-neg_binary64_71
128×associate-+l+_binary64_11
127×unswap-sqr_binary64_46
116×exp-prod_binary64_130
111×distribute-rgt-neg-in_binary64_36
99×distribute-lft-neg-in_binary64_35 associate-/r*_binary64_22 +-commutative_binary64_8
95×neg-mul-1_binary64_74
92×neg-sub0_binary64_73
91×sqr-pow_binary64_50
89×distribute-lft-out_binary64_29
85×distribute-rgt-out_binary64_31
78×associate-+r+_binary64_10
68×unsub-neg_binary64_72
64×associate--l+_binary64_15
40×cube-prod_binary64_106
34×*-rgt-identity_binary64_68
33×swap-sqr_binary64_45
32×div-sub_binary64_83 *-lft-identity_binary64_67
30×prod-exp_binary64_127
25×log-prod_binary64_164 distribute-rgt-out--_binary64_32
20×exp-sum_binary64_124 distribute-lft-neg-out_binary64_37 associate-+l-_binary64_13
19×associate--r+_binary64_14
17×associate-+r-_binary64_12
14×pow-sqr_binary64_51 associate-/l/_binary64_25
12×unpow1/2_binary64_142 div-exp_binary64_129 distribute-neg-frac_binary64_42 distribute-rgt-neg-out_binary64_38
11×unpow3_binary64_144 +-rgt-identity_binary64_63
10×cube-unmult_binary64_115 rem-sqrt-square_binary64_91 distribute-neg-in_binary64_39
exp-diff_binary64_126 cube-div_binary64_107 sub0-neg_binary64_65
log-div_binary64_165 distribute-rgt1-in_binary64_34
rec-exp_binary64_128 cube-mult_binary64_108 difference-of-squares_binary64_47
pow-plus_binary64_141 distribute-lft1-in_binary64_33 associate-/r/_binary64_24
count-2_binary64_26
difference-of-sqr--1_binary64_49 distribute-neg-out_binary64_40 associate--r-_binary64_17
exp-neg_binary64_125 distribute-lft-out--_binary64_30
log-rec_binary64_166 unpow2_binary64_143 unpow1_binary64_136 1-exp_binary64_122 exp-1-e_binary64_121 cube-neg_binary64_105 sqr-neg_binary64_92 /-rgt-identity_binary64_69 remove-double-neg_binary64_66 --rgt-identity_binary64_64 mul0-lft_binary64_60 +-inverses_binary64_57 lft-mult-inverse_binary64_56 associate--l-_binary64_16
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 pow-base-0_binary64_162 unpow1/3_binary64_145 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 e-exp-1_binary64_123 exp-0_binary64_120 rem-log-exp_binary64_119 rem-exp-log_binary64_118 rem-3cbrt-rft_binary64_104 rem-3cbrt-lft_binary64_103 rem-cbrt-cube_binary64_102 rem-cube-cbrt_binary64_101 sqr-abs_binary64_93 rem-square-sqrt_binary64_90 mul-1-neg_binary64_70 +-lft-identity_binary64_62 mul0-rgt_binary64_61 div0_binary64_59 *-inverses_binary64_58 rgt-mult-inverse_binary64_55 remove-double-div_binary64_54 difference-of-sqr-1_binary64_48 cancel-sign-sub_binary64_43 distribute-frac-neg_binary64_41
Counts
52 → 40
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01331153
1367986
21200935
32755928
44597928
54904928

prune48.0ms (0.7%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New38240
Fresh000
Picked101
Done000
Total39241
Error
0b
Counts
41 → 2
Compiler

Compiled 724 to 303 computations (58.1% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.0b
(*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re))
0.0b
(+.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)) (*.f64 (exp.f64 im) (*.f64 1/2 (sin.f64 re))))
0.0b
(/.f64 1/2 (exp.f64 im))
0.0b
(*.f64 (exp.f64 im) (*.f64 1/2 (sin.f64 re)))

rewrite150.0ms (2.2%)

Algorithm
rewrite-expression-head
Error
0b
Rules
26×add-sqr-sqrt_binary64_100
21×add-cube-cbrt_binary64_113 *-un-lft-identity_binary64_78
19×times-frac_binary64_84
16×add-cbrt-cube_binary64_114 associate-*l*_binary64_19
12×add-exp-log_binary64_116
11×pow1_binary64_139
add-log-exp_binary64_117
prod-exp_binary64_127 cbrt-unprod_binary64_111
pow-prod-down_binary64_149 associate-*r*_binary64_18
associate-/l*_binary64_23 associate-/r*_binary64_22
*-commutative_binary64_9 div-exp_binary64_129 cbrt-undiv_binary64_112 div-inv_binary64_75 unswap-sqr_binary64_46
frac-2neg_binary64_89 clear-num_binary64_77 sum-log_binary64_169 flip3-+_binary64_81 flip-+_binary64_52 +-commutative_binary64_8 associate-*l/_binary64_21
Counts
4 → 88
Calls

4 calls:

9.0ms
(+.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)) (*.f64 (exp.f64 im) (*.f64 1/2 (sin.f64 re))))
8.0ms
(*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re))
7.0ms
(*.f64 (exp.f64 im) (*.f64 1/2 (sin.f64 re)))
4.0ms
(/.f64 1/2 (exp.f64 im))
Compiler

Compiled 2033 to 1037 computations (49% saved)

series744.0ms (10.9%)

Error
0b
Counts
4 → 37
Calls

4 calls:

348.0ms
(+.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)) (*.f64 (exp.f64 im) (*.f64 1/2 (sin.f64 re))))
161.0ms
(*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re))
148.0ms
(*.f64 (exp.f64 im) (*.f64 1/2 (sin.f64 re)))
46.0ms
(/.f64 1/2 (exp.f64 im))
Compiler

Compiled 1759 to 1142 computations (35.1% saved)

simplify135.0ms (2%)

Algorithm
egg-herbie
Rules
340×cancel-sign-sub-inv_binary64_44
274×associate-*l/_binary64_21
249×sub-neg_binary64_71
220×associate-*r*_binary64_18
215×associate-*l*_binary64_19
209×associate-/l*_binary64_23
207×distribute-rgt-out_binary64_31
182×associate-*r/_binary64_20
173×distribute-rgt-neg-in_binary64_36
148×distribute-lft-neg-in_binary64_35
147×neg-mul-1_binary64_74
141×associate-+l+_binary64_11
130×*-commutative_binary64_9
108×times-frac_binary64_84
107×sqr-pow_binary64_50
103×neg-sub0_binary64_73
96×distribute-rgt-in_binary64_28
93×unswap-sqr_binary64_46
88×associate--l+_binary64_15
83×distribute-lft-out_binary64_29
74×distribute-rgt-out--_binary64_32
71×distribute-lft-in_binary64_27
67×+-commutative_binary64_8
61×exp-prod_binary64_130
58×cube-prod_binary64_106
54×unsub-neg_binary64_72
53×associate-/r*_binary64_22
48×log-prod_binary64_164
42×associate-+l-_binary64_13
37×associate-+r-_binary64_12
32×*-rgt-identity_binary64_68
31×*-lft-identity_binary64_67 swap-sqr_binary64_45
27×distribute-lft-out--_binary64_30 associate--r+_binary64_14 associate-+r+_binary64_10
25×+-rgt-identity_binary64_63
23×associate-/l/_binary64_25
22×unpow3_binary64_144
21×distribute-lft-neg-out_binary64_37
20×log-div_binary64_165
18×cube-div_binary64_107 sub0-neg_binary64_65
17×associate-/r/_binary64_24
15×pow-sqr_binary64_51
14×cube-mult_binary64_108 div-sub_binary64_83 distribute-neg-frac_binary64_42
12×rem-sqrt-square_binary64_91 /-rgt-identity_binary64_69
unpow1/2_binary64_142 distribute-neg-in_binary64_39
prod-exp_binary64_127 exp-sum_binary64_124
cube-unmult_binary64_115 distribute-rgt1-in_binary64_34
log-pow_binary64_167
pow-plus_binary64_141 difference-of-squares_binary64_47
log-rec_binary64_166 div-exp_binary64_129 rem-log-exp_binary64_119
rec-exp_binary64_128 exp-diff_binary64_126 mul0-rgt_binary64_61 mul0-lft_binary64_60 distribute-lft1-in_binary64_33
unpow2_binary64_143 exp-to-pow_binary64_140 unpow1_binary64_136 1-exp_binary64_122 exp-1-e_binary64_121 rem-exp-log_binary64_118 remove-double-neg_binary64_66 *-inverses_binary64_58 distribute-rgt-neg-out_binary64_38 count-2_binary64_26
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 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-neg_binary64_125 e-exp-1_binary64_123 exp-0_binary64_120 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-square-sqrt_binary64_90 mul-1-neg_binary64_70 --rgt-identity_binary64_64 +-lft-identity_binary64_62 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 cancel-sign-sub_binary64_43 distribute-frac-neg_binary64_41 distribute-neg-out_binary64_40 associate--r-_binary64_17 associate--l-_binary64_16
Counts
125 → 74
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02082136
15671982
217601922
343521914
448961914
549611914

prune87.0ms (1.3%)

Pruning

2 alts after pruning (1 fresh and 1 done)

PrunedKeptTotal
New74074
Fresh011
Picked011
Done000
Total74276
Error
0b
Counts
76 → 2
Compiler

Compiled 1539 to 781 computations (49.3% saved)

localize17.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.0b
(/.f64 (+.f64 (pow.f64 (exp.f64 im) -3) (pow.f64 (exp.f64 im) 3)) (+.f64 (pow.f64 (exp.f64 im) -2) (+.f64 -1 (pow.f64 (exp.f64 im) 2))))
0.0b
(pow.f64 (exp.f64 im) -3)
0.0b
(pow.f64 (exp.f64 im) 3)
5.4b
(+.f64 -1 (pow.f64 (exp.f64 im) 2))

rewrite272.0ms (4%)

Algorithm
rewrite-expression-head
Error
0b
Rules
61×*-un-lft-identity_binary64_78
22×add-cube-cbrt_binary64_113 add-sqr-sqrt_binary64_100 distribute-lft-out_binary64_29
20×times-frac_binary64_84
pow-pow_binary64_150
add-cbrt-cube_binary64_114
add-log-exp_binary64_117 pow1_binary64_139 add-exp-log_binary64_116 unpow-prod-down_binary64_157 pow-unpow_binary64_155 exp-prod_binary64_130
associate-/r*_binary64_22
associate-/l*_binary64_23
flip3-+_binary64_81 flip-+_binary64_52 cube-prod_binary64_106
pow-to-exp_binary64_147 pow-exp_binary64_146 sqr-pow_binary64_50 associate-/l/_binary64_25 associate-/r/_binary64_24
sum-log_binary64_169 +-commutative_binary64_8 unpow3_binary64_144 cube-mult_binary64_108 rem-cube-cbrt_binary64_101 div-exp_binary64_129 cbrt-undiv_binary64_112 frac-2neg_binary64_89 clear-num_binary64_77 div-inv_binary64_75
Counts
4 → 103
Calls

4 calls:

23.0ms
(/.f64 (+.f64 (pow.f64 (exp.f64 im) -3) (pow.f64 (exp.f64 im) 3)) (+.f64 (pow.f64 (exp.f64 im) -2) (+.f64 -1 (pow.f64 (exp.f64 im) 2))))
5.0ms
(+.f64 -1 (pow.f64 (exp.f64 im) 2))
4.0ms
(pow.f64 (exp.f64 im) 3)
3.0ms
(pow.f64 (exp.f64 im) -3)
Compiler

Compiled 3770 to 2414 computations (36% saved)

series547.0ms (8%)

Error
0b
Counts
4 → 24
Calls

4 calls:

333.0ms
(/.f64 (+.f64 (pow.f64 (exp.f64 im) -3) (pow.f64 (exp.f64 im) 3)) (+.f64 (pow.f64 (exp.f64 im) -2) (+.f64 -1 (pow.f64 (exp.f64 im) 2))))
77.0ms
(pow.f64 (exp.f64 im) -3)
52.0ms
(pow.f64 (exp.f64 im) 3)
50.0ms
(+.f64 -1 (pow.f64 (exp.f64 im) 2))
Compiler

Compiled 1512 to 1136 computations (24.9% saved)

simplify132.0ms (1.9%)

Algorithm
egg-herbie
Rules
500×unswap-sqr_binary64_46
462×distribute-rgt-in_binary64_28
432×distribute-lft-in_binary64_27
306×cancel-sign-sub-inv_binary64_44
243×log-prod_binary64_164
125×distribute-rgt-neg-in_binary64_36
108×distribute-lft-neg-in_binary64_35
95×associate-*l*_binary64_19
92×associate-*r*_binary64_18
83×sqr-pow_binary64_50
69×distribute-rgt-out_binary64_31
68×exp-prod_binary64_130
60×sub-neg_binary64_71 +-commutative_binary64_8
59×cube-prod_binary64_106
49×times-frac_binary64_84
46×distribute-lft-neg-out_binary64_37
43×*-commutative_binary64_9
42×distribute-lft-out_binary64_29
37×distribute-rgt-neg-out_binary64_38
33×associate-+r+_binary64_10
31×associate-+l+_binary64_11
30×log-pow_binary64_167
29×difference-of-squares_binary64_47
28×neg-sub0_binary64_73 distribute-neg-in_binary64_39
27×neg-mul-1_binary64_74
23×unsub-neg_binary64_72
19×pow-sqr_binary64_51 swap-sqr_binary64_45
18×associate-/l*_binary64_23
17×distribute-rgt-out--_binary64_32 associate-/l/_binary64_25
16×associate-/r*_binary64_22
15×prod-exp_binary64_127
14×cube-unmult_binary64_115 distribute-lft-out--_binary64_30 associate-*l/_binary64_21
12×unpow3_binary64_144 div-sub_binary64_83
11×rem-sqrt-square_binary64_91 associate--r+_binary64_14
10×pow-plus_binary64_141 associate-*r/_binary64_20
cube-mult_binary64_108 difference-of-sqr--1_binary64_49 associate--l+_binary64_15
associate-/r/_binary64_24
*-rgt-identity_binary64_68 *-lft-identity_binary64_67
difference-of-sqr-1_binary64_48 distribute-rgt1-in_binary64_34
exp-sum_binary64_124 /-rgt-identity_binary64_69 associate-+r-_binary64_12
log-div_binary64_165 rec-exp_binary64_128 associate-+l-_binary64_13
unpow2_binary64_143 unpow1/2_binary64_142 unpow1_binary64_136 exp-diff_binary64_126 cube-div_binary64_107 mul-1-neg_binary64_70 remove-double-neg_binary64_66 distribute-neg-frac_binary64_42 distribute-lft1-in_binary64_33
unpow-1_binary64_135 div-exp_binary64_129 1-exp_binary64_122 exp-1-e_binary64_121 rem-log-exp_binary64_119 cube-neg_binary64_105 rem-cbrt-cube_binary64_102 rem-cube-cbrt_binary64_101 sqr-neg_binary64_92 rem-square-sqrt_binary64_90 count-2_binary64_26 associate--r-_binary64_17
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-rec_binary64_166 pow-base-0_binary64_162 unpow1/3_binary64_145 exp-to-pow_binary64_140 pow-base-1_binary64_138 unpow0_binary64_137 exp-lft-cube_binary64_134 exp-lft-sqr_binary64_133 exp-cbrt_binary64_132 exp-sqrt_binary64_131 exp-neg_binary64_125 e-exp-1_binary64_123 exp-0_binary64_120 rem-exp-log_binary64_118 rem-3cbrt-rft_binary64_104 rem-3cbrt-lft_binary64_103 sqr-abs_binary64_93 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_58 +-inverses_binary64_57 lft-mult-inverse_binary64_56 rgt-mult-inverse_binary64_55 remove-double-div_binary64_54 cancel-sign-sub_binary64_43 distribute-frac-neg_binary64_41 distribute-neg-out_binary64_40 associate--l-_binary64_16
Counts
127 → 93
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01983085
14772925
214862885
349452885
451882885

prune182.0ms (2.7%)

Pruning

2 alts after pruning (0 fresh and 2 done)

PrunedKeptTotal
New93093
Fresh000
Picked011
Done011
Total93295
Error
0b
Counts
95 → 2
Compiler

Compiled 3183 to 2044 computations (35.8% saved)

regimes263.0ms (3.9%)

Accuracy

Total 0.0b remaining (85.7%)

Threshold costs 0.0b (85.7%)

Compiler

Compiled 2178 to 1706 computations (21.7% saved)

bsearch0.0ms (0%)

simplify3.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64_9
+-commutative_binary64_8
neg-mul-1_binary64_74 neg-sub0_binary64_73 sub-neg_binary64_71
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 1-exp_binary64_122 exp-1-e_binary64_121 exp-0_binary64_120 sqr-abs_binary64_93 sqr-neg_binary64_92 unsub-neg_binary64_72 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
01226
12026
22226
32326
42326

end0.0ms (0%)

sample3.0s (44%)

Algorithm
intervals
Results
716.0ms1998×body1024valid
460.0ms1924×body1024invalid
271.0ms4475×body128valid
200.0ms997×body512valid
167.0ms993×body512invalid
165.0ms2584×body128invalid
65.0ms519×body256valid
52.0ms458×body256invalid
8.0ms11×body2048valid
1.0msbody2048invalid
Compiler

Compiled 377 to 295 computations (21.8% saved)

Profiling

Loading profile data...