Details

Time bar (total: 10.3s)

analyze53.0ms (0.5%)

Algorithm
search
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
0%74.9%25.1%4
12.5%62.4%25.1%5
31.2%31.2%37.6%6
37.5%25%37.6%7
40.6%15.6%43.8%8
42.9%11.7%45.4%9
44.1%7.4%48.5%10
45.1%5.7%49.3%11
45.6%3.6%50.8%12
46%2.8%51.2%13
46.2%1.8%52%14
Compiler

Compiled 15 to 14 computations (6.7% saved)

sample28.0ms (0.3%)

Algorithm
intervals
Results
17.0ms256×body128valid
0.0msbody128nan
0.0msbody128invalid
Compiler

Compiled 29 to 29 computations (0% saved)

simplify607.0ms (5.9%)

Algorithm
egg-herbie
Rules
614×distribute-rgt-out--_binary64_19128
545×distribute-rgt-neg-in_binary64_19132
492×exp-prod_binary64_19226
453×sub-neg_binary64_19167
406×swap-sqr_binary64_19141
271×distribute-rgt-in_binary64_19124
207×unsub-neg_binary64_19168
180×distribute-lft-in_binary64_19123
158×distribute-rgt-neg-out_binary64_19134
150×distribute-neg-in_binary64_19135
142×div-sub_binary64_19179
128×distribute-lft-neg-out_binary64_19133
101×associate-*l*_binary64_19115
97×neg-sub0_binary64_19169
96×associate-*r*_binary64_19114
93×neg-mul-1_binary64_19170
90×associate-/l*_binary64_19119
86×distribute-lft-neg-in_binary64_19131
83×cancel-sign-sub-inv_binary64_19140
65×associate--r+_binary64_19110
64×times-frac_binary64_19180
61×distribute-neg-frac_binary64_19138
50×mul0-rgt_binary64_19157 mul0-lft_binary64_19156
49×*-commutative_binary64_19105
46×associate-+l-_binary64_19109
42×sqr-pow_binary64_19146
37×distribute-rgt1-in_binary64_19130
32×*-rgt-identity_binary64_19164
29×associate-/r*_binary64_19118 associate-*l/_binary64_19117
26×pow-sqr_binary64_19147
25×difference-of-squares_binary64_19143 distribute-rgt-out_binary64_19127 associate--l+_binary64_19111
23×pow-plus_binary64_19237 exp-sum_binary64_19220
22×*-lft-identity_binary64_19163
21×associate-*r/_binary64_19116
18×remove-double-neg_binary64_19162 sub0-neg_binary64_19161 +-inverses_binary64_19153 +-commutative_binary64_19104
16×exp-diff_binary64_19222 associate-+r-_binary64_19108 associate-+l+_binary64_19107
14×cancel-sign-sub_binary64_19139
13×div0_binary64_19155
11×associate-+r+_binary64_19106
10×distribute-lft1-in_binary64_19129
distribute-neg-out_binary64_19136
distribute-frac-neg_binary64_19137
exp-lft-cube_binary64_19230 --rgt-identity_binary64_19160 associate-/l/_binary64_19121 associate--r-_binary64_19113
exp-lft-sqr_binary64_19229 cube-prod_binary64_19202 +-rgt-identity_binary64_19159 difference-of-sqr-1_binary64_19144
pow-base-1_binary64_19234 +-lft-identity_binary64_19158
mul-1-neg_binary64_19166 /-rgt-identity_binary64_19165 unswap-sqr_binary64_19142 count-2_binary64_19122
unpow3_binary64_19240 associate-/r/_binary64_19120
prod-exp_binary64_19223 1-exp_binary64_19218 exp-1-e_binary64_19217 cube-unmult_binary64_19211 cube-mult_binary64_19204 rem-sqrt-square_binary64_19187 rem-square-sqrt_binary64_19186
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_19437 erf-erfc_binary64_19436 erf-odd_binary64_19435 if-if-and-not_binary64_19434 if-if-and_binary64_19433 if-if-or-not_binary64_19432 if-if-or_binary64_19431 if-not_binary64_19430 if-same_binary64_19429 if-false_binary64_19428 if-true_binary64_19427 not-gte_binary64_19426 not-lte_binary64_19425 not-gt_binary64_19424 not-lt_binary64_19423 gte-same_binary64_19422 lte-same_binary64_19421 gt-same_binary64_19420 lt-same_binary64_19419 sinh---cosh_binary64_19366 sinh-+-cosh_binary64_19365 sinh-cosh_binary64_19364 tanh-def-c_binary64_19363 tanh-def-b_binary64_19362 tanh-def-a_binary64_19361 cosh-def_binary64_19360 sinh-def_binary64_19359 tan-neg_binary64_19306 cos-neg_binary64_19305 sin-neg_binary64_19304 tan-0_binary64_19303 cos-0_binary64_19302 sin-0_binary64_19301 hang-m-tan_binary64_19300 hang-p-tan_binary64_19299 hang-m0-tan_binary64_19298 hang-p0-tan_binary64_19297 hang-0m-tan_binary64_19296 hang-0p-tan_binary64_19295 tan-+PI/2_binary64_19294 tan-+PI_binary64_19293 tan-PI_binary64_19292 tan-PI/3_binary64_19291 tan-PI/4_binary64_19290 tan-PI/6_binary64_19289 cos-+PI/2_binary64_19288 cos-+PI_binary64_19287 cos-PI_binary64_19286 cos-PI/2_binary64_19285 cos-PI/3_binary64_19284 cos-PI/4_binary64_19283 cos-PI/6_binary64_19282 sin-+PI/2_binary64_19281 sin-+PI_binary64_19280 sin-PI_binary64_19279 sin-PI/2_binary64_19278 sin-PI/3_binary64_19277 sin-PI/4_binary64_19276 sin-PI/6_binary64_19275 sub-1-sin_binary64_19274 sub-1-cos_binary64_19273 -1-add-sin_binary64_19272 -1-add-cos_binary64_19271 1-sub-sin_binary64_19270 1-sub-cos_binary64_19269 cos-sin-sum_binary64_19268 log-E_binary64_19264 log-pow_binary64_19263 log-rec_binary64_19262 log-div_binary64_19261 log-prod_binary64_19260 pow-base-0_binary64_19258 unpow1/3_binary64_19241 unpow2_binary64_19239 unpow1/2_binary64_19238 exp-to-pow_binary64_19236 unpow0_binary64_19233 unpow1_binary64_19232 unpow-1_binary64_19231 exp-cbrt_binary64_19228 exp-sqrt_binary64_19227 div-exp_binary64_19225 rec-exp_binary64_19224 exp-neg_binary64_19221 e-exp-1_binary64_19219 exp-0_binary64_19216 rem-log-exp_binary64_19215 rem-exp-log_binary64_19214 cube-div_binary64_19203 cube-neg_binary64_19201 rem-3cbrt-rft_binary64_19200 rem-3cbrt-lft_binary64_19199 rem-cbrt-cube_binary64_19198 rem-cube-cbrt_binary64_19197 sqr-abs_binary64_19189 sqr-neg_binary64_19188 *-inverses_binary64_19154 lft-mult-inverse_binary64_19152 rgt-mult-inverse_binary64_19151 remove-double-div_binary64_19150 difference-of-sqr--1_binary64_19145 distribute-lft-out--_binary64_19126 distribute-lft-out_binary64_19125 associate--l-_binary64_19112
Counts
1 → 6
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01321
12721
26921
316521
428321
549721
6104121
7251421

prune18.0ms (0.2%)

Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New246
Fresh011
Picked000
Done000
Total257
Error
0.1b
Counts
7 → 5
Compiler

Compiled 154 to 128 computations (16.9% saved)

localize16.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.0b
(+.f64 y (/.f64 1 (*.f64 x 9)))
0.2b
(*.f64 (*.f64 3 (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
0.3b
(*.f64 3 (sqrt.f64 x))
0.3b
(/.f64 1 (*.f64 x 9))

rewrite187.0ms (1.8%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
23×*-un-lft-identity_binary64_19174
22×add-exp-log_binary64_19212
20×add-sqr-sqrt_binary64_19196
16×add-cbrt-cube_binary64_19210
15×associate-*r*_binary64_19114
14×pow1_binary64_19235
12×add-cube-cbrt_binary64_19209
prod-exp_binary64_19223
add-log-exp_binary64_19213 cancel-sign-sub-inv_binary64_19140
pow-prod-down_binary64_19245 cbrt-unprod_binary64_19207 distribute-rgt-in_binary64_19124 distribute-lft-in_binary64_19123
div-exp_binary64_19225 sqrt-prod_binary64_19190 associate-*l*_binary64_19115 distribute-lft-out_binary64_19125
times-frac_binary64_19180 div-inv_binary64_19171 associate-/l*_binary64_19119 distribute-lft-out--_binary64_19126
pow-flip_binary64_19248 1-exp_binary64_19218 rec-exp_binary64_19224 cbrt-undiv_binary64_19208 unswap-sqr_binary64_19142 *-commutative_binary64_19105 sub-neg_binary64_19167 associate--l+_binary64_19111 associate-*r/_binary64_19116 difference-of-squares_binary64_19143
inv-pow_binary64_19259 frac-2neg_binary64_19185 clear-num_binary64_19173 associate-/r*_binary64_19118 flip3--_binary64_19178 flip--_binary64_19149 difference-of-sqr-1_binary64_19144 sum-log_binary64_19265 flip3-+_binary64_19177 flip-+_binary64_19148 +-commutative_binary64_19104
Counts
4 → 99
Calls

4 calls:

15.0ms
(*.f64 (*.f64 3 (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
6.0ms
(+.f64 y (/.f64 1 (*.f64 x 9)))
5.0ms
(*.f64 3 (sqrt.f64 x))
5.0ms
(/.f64 1 (*.f64 x 9))
Compiler

Compiled 2109 to 1565 computations (25.8% saved)

series411.0ms (4%)

Error
0.1b
Counts
4 → 27
Calls

4 calls:

211.0ms
(*.f64 (*.f64 3 (sqrt.f64 x)) (-.f64 (+.f64 y (/.f64 1 (*.f64 x 9))) 1))
115.0ms
(+.f64 y (/.f64 1 (*.f64 x 9)))
31.0ms
(/.f64 1 (*.f64 x 9))
26.0ms
(*.f64 3 (sqrt.f64 x))
Compiler

Compiled 956 to 796 computations (16.7% saved)

simplify331.0ms (3.2%)

Algorithm
egg-herbie
Rules
765×times-frac_binary64_19180
516×distribute-rgt-in_binary64_19124
481×distribute-lft-in_binary64_19123
237×associate-*l*_binary64_19115
183×associate-/l*_binary64_19119
177×associate-*r*_binary64_19114
157×associate-/r*_binary64_19118
131×associate-*l/_binary64_19117
103×associate-*r/_binary64_19116
98×*-commutative_binary64_19105
61×associate-/l/_binary64_19121
46×cancel-sign-sub-inv_binary64_19140
43×*-lft-identity_binary64_19163
42×sub-neg_binary64_19167
40×sqr-pow_binary64_19146
39×distribute-rgt-neg-in_binary64_19132
35×associate-/r/_binary64_19120
33×log-prod_binary64_19260 *-rgt-identity_binary64_19164 unswap-sqr_binary64_19142
32×unsub-neg_binary64_19168
29×distribute-lft-neg-in_binary64_19131
27×exp-prod_binary64_19226
26×+-commutative_binary64_19104
25×distribute-rgt-out_binary64_19127
24×cube-prod_binary64_19202 distribute-lft-neg-out_binary64_19133
21×neg-sub0_binary64_19169 distribute-neg-frac_binary64_19138
19×neg-mul-1_binary64_19170 swap-sqr_binary64_19141 distribute-rgt-neg-out_binary64_19134
17×distribute-rgt-out--_binary64_19128
16×pow-sqr_binary64_19147
13×cube-div_binary64_19203
11×log-div_binary64_19261 associate-+l+_binary64_19107
unpow3_binary64_19240
exp-sum_binary64_19220 cube-unmult_binary64_19211 cube-mult_binary64_19204 associate--l+_binary64_19111
div-sub_binary64_19179 distribute-lft-out_binary64_19125
pow-plus_binary64_19237 /-rgt-identity_binary64_19165 associate-+r-_binary64_19108
log-pow_binary64_19263 log-rec_binary64_19262 rem-sqrt-square_binary64_19187 mul-1-neg_binary64_19166 +-rgt-identity_binary64_19159 difference-of-squares_binary64_19143
pow-base-1_binary64_19234 exp-lft-cube_binary64_19230 distribute-neg-in_binary64_19135 distribute-lft1-in_binary64_19129 associate--r+_binary64_19110
prod-exp_binary64_19223 exp-diff_binary64_19222 rem-square-sqrt_binary64_19186 difference-of-sqr-1_binary64_19144 count-2_binary64_19122 associate-+r+_binary64_19106
1-exp_binary64_19218 exp-1-e_binary64_19217 rem-log-exp_binary64_19215 rem-3cbrt-lft_binary64_19199 rem-cbrt-cube_binary64_19198 distribute-lft-out--_binary64_19126 associate-+l-_binary64_19109
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_19437 erf-erfc_binary64_19436 erf-odd_binary64_19435 if-if-and-not_binary64_19434 if-if-and_binary64_19433 if-if-or-not_binary64_19432 if-if-or_binary64_19431 if-not_binary64_19430 if-same_binary64_19429 if-false_binary64_19428 if-true_binary64_19427 not-gte_binary64_19426 not-lte_binary64_19425 not-gt_binary64_19424 not-lt_binary64_19423 gte-same_binary64_19422 lte-same_binary64_19421 gt-same_binary64_19420 lt-same_binary64_19419 sinh---cosh_binary64_19366 sinh-+-cosh_binary64_19365 sinh-cosh_binary64_19364 tanh-def-c_binary64_19363 tanh-def-b_binary64_19362 tanh-def-a_binary64_19361 cosh-def_binary64_19360 sinh-def_binary64_19359 tan-neg_binary64_19306 cos-neg_binary64_19305 sin-neg_binary64_19304 tan-0_binary64_19303 cos-0_binary64_19302 sin-0_binary64_19301 hang-m-tan_binary64_19300 hang-p-tan_binary64_19299 hang-m0-tan_binary64_19298 hang-p0-tan_binary64_19297 hang-0m-tan_binary64_19296 hang-0p-tan_binary64_19295 tan-+PI/2_binary64_19294 tan-+PI_binary64_19293 tan-PI_binary64_19292 tan-PI/3_binary64_19291 tan-PI/4_binary64_19290 tan-PI/6_binary64_19289 cos-+PI/2_binary64_19288 cos-+PI_binary64_19287 cos-PI_binary64_19286 cos-PI/2_binary64_19285 cos-PI/3_binary64_19284 cos-PI/4_binary64_19283 cos-PI/6_binary64_19282 sin-+PI/2_binary64_19281 sin-+PI_binary64_19280 sin-PI_binary64_19279 sin-PI/2_binary64_19278 sin-PI/3_binary64_19277 sin-PI/4_binary64_19276 sin-PI/6_binary64_19275 sub-1-sin_binary64_19274 sub-1-cos_binary64_19273 -1-add-sin_binary64_19272 -1-add-cos_binary64_19271 1-sub-sin_binary64_19270 1-sub-cos_binary64_19269 cos-sin-sum_binary64_19268 log-E_binary64_19264 pow-base-0_binary64_19258 unpow1/3_binary64_19241 unpow2_binary64_19239 unpow1/2_binary64_19238 exp-to-pow_binary64_19236 unpow0_binary64_19233 unpow1_binary64_19232 unpow-1_binary64_19231 exp-lft-sqr_binary64_19229 exp-cbrt_binary64_19228 exp-sqrt_binary64_19227 div-exp_binary64_19225 rec-exp_binary64_19224 exp-neg_binary64_19221 e-exp-1_binary64_19219 exp-0_binary64_19216 rem-exp-log_binary64_19214 cube-neg_binary64_19201 rem-3cbrt-rft_binary64_19200 rem-cube-cbrt_binary64_19197 sqr-abs_binary64_19189 sqr-neg_binary64_19188 remove-double-neg_binary64_19162 sub0-neg_binary64_19161 --rgt-identity_binary64_19160 +-lft-identity_binary64_19158 mul0-rgt_binary64_19157 mul0-lft_binary64_19156 div0_binary64_19155 *-inverses_binary64_19154 +-inverses_binary64_19153 lft-mult-inverse_binary64_19152 rgt-mult-inverse_binary64_19151 remove-double-div_binary64_19150 difference-of-sqr--1_binary64_19145 cancel-sign-sub_binary64_19139 distribute-frac-neg_binary64_19137 distribute-neg-out_binary64_19136 distribute-rgt1-in_binary64_19130 associate--r-_binary64_19113 associate--l-_binary64_19112
Counts
126 → 242
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01791833
14611643
214341636

prune421.0ms (4.1%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New23210242
Fresh314
Picked101
Done000
Total23611247
Error
0.0b
Counts
247 → 11
Compiler

Compiled 5574 to 4047 computations (27.4% saved)

localize17.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.3b
(*.f64 3 (sqrt.f64 x))
0.3b
(*.f64 3 (*.f64 y (sqrt.f64 x)))
0.3b
(*.f64 1/3 (sqrt.f64 (/.f64 1 x)))
0.4b
(sqrt.f64 (/.f64 1 x))

rewrite198.0ms (1.9%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
41×add-sqr-sqrt_binary64_19196
33×sqrt-prod_binary64_19190
26×*-un-lft-identity_binary64_19174
24×add-cube-cbrt_binary64_19209
23×associate-*r*_binary64_19114
22×times-frac_binary64_19180
15×pow1_binary64_19235
13×add-exp-log_binary64_19212 add-cbrt-cube_binary64_19210
associate-*l*_binary64_19115
unswap-sqr_binary64_19142
pow-prod-down_binary64_19245 prod-exp_binary64_19223 cbrt-unprod_binary64_19207
add-log-exp_binary64_19213
sqrt-pow1_binary64_19192 rem-sqrt-square_binary64_19187 *-commutative_binary64_19105
sqrt-div_binary64_19191 div-inv_binary64_19171
pow1/2_binary64_19254 inv-pow_binary64_19259 pow-flip_binary64_19248 associate-*r/_binary64_19116
Counts
4 → 103
Calls

4 calls:

9.0ms
(*.f64 1/3 (sqrt.f64 (/.f64 1 x)))
6.0ms
(*.f64 3 (*.f64 y (sqrt.f64 x)))
5.0ms
(*.f64 3 (sqrt.f64 x))
4.0ms
(sqrt.f64 (/.f64 1 x))
Compiler

Compiled 2501 to 1625 computations (35% saved)

series183.0ms (1.8%)

Error
0.0b
Counts
4 → 15
Calls

4 calls:

94.0ms
(*.f64 3 (*.f64 y (sqrt.f64 x)))
28.0ms
(*.f64 3 (sqrt.f64 x))
24.0ms
(*.f64 1/3 (sqrt.f64 (/.f64 1 x)))
21.0ms
(sqrt.f64 (/.f64 1 x))
Compiler

Compiled 886 to 692 computations (21.9% saved)

simplify1.1s (10.4%)

Algorithm
egg-herbie
Rules
708×div-sub_binary64_19179
621×associate-/l*_binary64_19119
282×associate-*l/_binary64_19117
276×sqr-pow_binary64_19146
254×*-commutative_binary64_19105
205×associate-*l*_binary64_19115
189×unswap-sqr_binary64_19142
179×pow-sqr_binary64_19147
177×associate-*r*_binary64_19114
126×exp-to-pow_binary64_19236
111×*-lft-identity_binary64_19163
107×associate-/r*_binary64_19118
103×*-rgt-identity_binary64_19164
99×associate-/l/_binary64_19121
94×sub-neg_binary64_19167
83×associate-*r/_binary64_19116
81×associate-/r/_binary64_19120
76×exp-prod_binary64_19226
70×cancel-sign-sub-inv_binary64_19140
62×distribute-rgt-out_binary64_19127
60×unsub-neg_binary64_19168
51×times-frac_binary64_19180
49×log-prod_binary64_19260
47×distribute-rgt-out--_binary64_19128
44×neg-mul-1_binary64_19170
42×log-div_binary64_19261
41×cube-div_binary64_19203
38×cube-prod_binary64_19202
31×associate-+l-_binary64_19109
28×distribute-lft-out_binary64_19125
26×swap-sqr_binary64_19141
24×pow-plus_binary64_19237 neg-sub0_binary64_19169 associate--r+_binary64_19110
23×sub0-neg_binary64_19161 distribute-lft-out--_binary64_19126
22×log-rec_binary64_19262
21×prod-exp_binary64_19223
20×exp-diff_binary64_19222
18×unpow3_binary64_19240
17×log-pow_binary64_19263 exp-sum_binary64_19220 distribute-rgt-neg-in_binary64_19132
16×distribute-neg-out_binary64_19136
15×cube-unmult_binary64_19211 cube-mult_binary64_19204
14×distribute-rgt-in_binary64_19124 +-commutative_binary64_19104
13×remove-double-div_binary64_19150 distribute-frac-neg_binary64_19137
12×associate--r-_binary64_19113
11×/-rgt-identity_binary64_19165 distribute-lft-neg-in_binary64_19131
div-exp_binary64_19225 rem-sqrt-square_binary64_19187 +-lft-identity_binary64_19158 distribute-neg-frac_binary64_19138 distribute-rgt1-in_binary64_19130 distribute-lft-in_binary64_19123
associate--l-_binary64_19112
exp-lft-cube_binary64_19230 +-inverses_binary64_19153 associate-+l+_binary64_19107
remove-double-neg_binary64_19162 associate-+r+_binary64_19106
mul0-rgt_binary64_19157 div0_binary64_19155 distribute-rgt-neg-out_binary64_19134 distribute-lft-neg-out_binary64_19133
pow-base-1_binary64_19234 mul0-lft_binary64_19156 count-2_binary64_19122
rec-exp_binary64_19224
unpow1/3_binary64_19241 rem-log-exp_binary64_19215 rem-square-sqrt_binary64_19186 mul-1-neg_binary64_19166 --rgt-identity_binary64_19160
exp-sqrt_binary64_19227 exp-neg_binary64_19221 1-exp_binary64_19218 exp-1-e_binary64_19217 rem-cbrt-cube_binary64_19198 +-rgt-identity_binary64_19159 *-inverses_binary64_19154 lft-mult-inverse_binary64_19152 cancel-sign-sub_binary64_19139 distribute-lft1-in_binary64_19129 associate-+r-_binary64_19108
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_19437 erf-erfc_binary64_19436 erf-odd_binary64_19435 if-if-and-not_binary64_19434 if-if-and_binary64_19433 if-if-or-not_binary64_19432 if-if-or_binary64_19431 if-not_binary64_19430 if-same_binary64_19429 if-false_binary64_19428 if-true_binary64_19427 not-gte_binary64_19426 not-lte_binary64_19425 not-gt_binary64_19424 not-lt_binary64_19423 gte-same_binary64_19422 lte-same_binary64_19421 gt-same_binary64_19420 lt-same_binary64_19419 sinh---cosh_binary64_19366 sinh-+-cosh_binary64_19365 sinh-cosh_binary64_19364 tanh-def-c_binary64_19363 tanh-def-b_binary64_19362 tanh-def-a_binary64_19361 cosh-def_binary64_19360 sinh-def_binary64_19359 tan-neg_binary64_19306 cos-neg_binary64_19305 sin-neg_binary64_19304 tan-0_binary64_19303 cos-0_binary64_19302 sin-0_binary64_19301 hang-m-tan_binary64_19300 hang-p-tan_binary64_19299 hang-m0-tan_binary64_19298 hang-p0-tan_binary64_19297 hang-0m-tan_binary64_19296 hang-0p-tan_binary64_19295 tan-+PI/2_binary64_19294 tan-+PI_binary64_19293 tan-PI_binary64_19292 tan-PI/3_binary64_19291 tan-PI/4_binary64_19290 tan-PI/6_binary64_19289 cos-+PI/2_binary64_19288 cos-+PI_binary64_19287 cos-PI_binary64_19286 cos-PI/2_binary64_19285 cos-PI/3_binary64_19284 cos-PI/4_binary64_19283 cos-PI/6_binary64_19282 sin-+PI/2_binary64_19281 sin-+PI_binary64_19280 sin-PI_binary64_19279 sin-PI/2_binary64_19278 sin-PI/3_binary64_19277 sin-PI/4_binary64_19276 sin-PI/6_binary64_19275 sub-1-sin_binary64_19274 sub-1-cos_binary64_19273 -1-add-sin_binary64_19272 -1-add-cos_binary64_19271 1-sub-sin_binary64_19270 1-sub-cos_binary64_19269 cos-sin-sum_binary64_19268 log-E_binary64_19264 pow-base-0_binary64_19258 unpow2_binary64_19239 unpow1/2_binary64_19238 unpow0_binary64_19233 unpow1_binary64_19232 unpow-1_binary64_19231 exp-lft-sqr_binary64_19229 exp-cbrt_binary64_19228 e-exp-1_binary64_19219 exp-0_binary64_19216 rem-exp-log_binary64_19214 cube-neg_binary64_19201 rem-3cbrt-rft_binary64_19200 rem-3cbrt-lft_binary64_19199 rem-cube-cbrt_binary64_19197 sqr-abs_binary64_19189 sqr-neg_binary64_19188 rgt-mult-inverse_binary64_19151 difference-of-sqr--1_binary64_19145 difference-of-sqr-1_binary64_19144 difference-of-squares_binary64_19143 distribute-neg-in_binary64_19135 associate--l+_binary64_19111
Counts
118 → 209
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01651406
13171277
29231276
313911120
426241120
536211120

prune388.0ms (3.8%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New2054209
Fresh5510
Picked101
Done000
Total2119220
Error
0.0b
Counts
220 → 9
Compiler

Compiled 5497 to 3629 computations (34% saved)

localize15.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.2b
(*.f64 y (sqrt.f64 x))
0.3b
(*.f64 3 (sqrt.f64 x))
0.3b
(*.f64 3 (*.f64 y (sqrt.f64 x)))
0.3b
(*.f64 1/3 (pow.f64 x (/.f64 -1 2)))

rewrite161.0ms (1.6%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
27×add-sqr-sqrt_binary64_19196
20×associate-*r*_binary64_19114
18×add-exp-log_binary64_19212
15×add-cbrt-cube_binary64_19210
14×add-cube-cbrt_binary64_19209 *-un-lft-identity_binary64_19174
13×pow1_binary64_19235
12×associate-*l*_binary64_19115
prod-exp_binary64_19223 sqrt-prod_binary64_19190
unswap-sqr_binary64_19142
cbrt-unprod_binary64_19207
pow-prod-down_binary64_19245
add-log-exp_binary64_19213 unpow-prod-down_binary64_19253 *-commutative_binary64_19105
sqr-pow_binary64_19146
pow-to-exp_binary64_19243 pow-exp_binary64_19242
Counts
4 → 87
Calls

4 calls:

8.0ms
(*.f64 3 (*.f64 y (sqrt.f64 x)))
6.0ms
(*.f64 1/3 (pow.f64 x (/.f64 -1 2)))
6.0ms
(*.f64 3 (sqrt.f64 x))
5.0ms
(*.f64 y (sqrt.f64 x))
Compiler

Compiled 2183 to 1404 computations (35.7% saved)

series249.0ms (2.4%)

Error
0.0b
Counts
4 → 18
Calls

4 calls:

102.0ms
(*.f64 3 (*.f64 y (sqrt.f64 x)))
73.0ms
(*.f64 y (sqrt.f64 x))
31.0ms
(*.f64 1/3 (pow.f64 x (/.f64 -1 2)))
24.0ms
(*.f64 3 (sqrt.f64 x))
Compiler

Compiled 1105 to 882 computations (20.2% saved)

simplify686.0ms (6.7%)

Algorithm
egg-herbie
Rules
457×sqr-pow_binary64_19146
342×associate-/l*_binary64_19119 associate-*r/_binary64_19116
322×pow-sqr_binary64_19147
285×*-commutative_binary64_19105
221×associate-*l*_binary64_19115
220×associate-/l/_binary64_19121
196×associate-*r*_binary64_19114
157×associate-/r/_binary64_19120
150×exp-prod_binary64_19226
132×unswap-sqr_binary64_19142
125×times-frac_binary64_19180
119×log-prod_binary64_19260
107×distribute-rgt-out_binary64_19127
105×associate-/r*_binary64_19118
98×cube-prod_binary64_19202
85×log-pow_binary64_19263
80×pow-plus_binary64_19237
75×*-rgt-identity_binary64_19164
74×exp-to-pow_binary64_19236 div-sub_binary64_19179
70×unsub-neg_binary64_19168
56×associate-+l+_binary64_19107
53×*-lft-identity_binary64_19163
45×log-div_binary64_19261
44×distribute-rgt-in_binary64_19124
41×associate-+r+_binary64_19106
35×cube-div_binary64_19203
32×associate-*l/_binary64_19117
27×unpow3_binary64_19240 swap-sqr_binary64_19141 distribute-lft-out_binary64_19125
25×cube-mult_binary64_19204
24×exp-sqrt_binary64_19227
19×pow-base-1_binary64_19234
17×/-rgt-identity_binary64_19165 count-2_binary64_19122
16×cube-unmult_binary64_19211 distribute-lft-in_binary64_19123
13×prod-exp_binary64_19223
11×+-commutative_binary64_19104
10×rem-sqrt-square_binary64_19187
distribute-frac-neg_binary64_19137 distribute-rgt1-in_binary64_19130
exp-lft-sqr_binary64_19229 exp-sum_binary64_19220 neg-mul-1_binary64_19170
remove-double-div_binary64_19150
neg-sub0_binary64_19169 +-rgt-identity_binary64_19159
log-rec_binary64_19262 exp-lft-cube_binary64_19230
unpow1/3_binary64_19241 exp-neg_binary64_19221 mul-1-neg_binary64_19166 +-lft-identity_binary64_19158 mul0-lft_binary64_19156
sub-neg_binary64_19167 distribute-neg-in_binary64_19135 distribute-lft1-in_binary64_19129
rem-log-exp_binary64_19215 distribute-neg-frac_binary64_19138 distribute-rgt-neg-in_binary64_19132 distribute-lft-neg-in_binary64_19131 associate--r+_binary64_19110
unpow-1_binary64_19231 div-exp_binary64_19225 rec-exp_binary64_19224 exp-diff_binary64_19222 1-exp_binary64_19218 exp-1-e_binary64_19217 rem-square-sqrt_binary64_19186 *-inverses_binary64_19154 rgt-mult-inverse_binary64_19151 cancel-sign-sub-inv_binary64_19140 distribute-rgt-neg-out_binary64_19134 distribute-lft-neg-out_binary64_19133
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_19437 erf-erfc_binary64_19436 erf-odd_binary64_19435 if-if-and-not_binary64_19434 if-if-and_binary64_19433 if-if-or-not_binary64_19432 if-if-or_binary64_19431 if-not_binary64_19430 if-same_binary64_19429 if-false_binary64_19428 if-true_binary64_19427 not-gte_binary64_19426 not-lte_binary64_19425 not-gt_binary64_19424 not-lt_binary64_19423 gte-same_binary64_19422 lte-same_binary64_19421 gt-same_binary64_19420 lt-same_binary64_19419 sinh---cosh_binary64_19366 sinh-+-cosh_binary64_19365 sinh-cosh_binary64_19364 tanh-def-c_binary64_19363 tanh-def-b_binary64_19362 tanh-def-a_binary64_19361 cosh-def_binary64_19360 sinh-def_binary64_19359 tan-neg_binary64_19306 cos-neg_binary64_19305 sin-neg_binary64_19304 tan-0_binary64_19303 cos-0_binary64_19302 sin-0_binary64_19301 hang-m-tan_binary64_19300 hang-p-tan_binary64_19299 hang-m0-tan_binary64_19298 hang-p0-tan_binary64_19297 hang-0m-tan_binary64_19296 hang-0p-tan_binary64_19295 tan-+PI/2_binary64_19294 tan-+PI_binary64_19293 tan-PI_binary64_19292 tan-PI/3_binary64_19291 tan-PI/4_binary64_19290 tan-PI/6_binary64_19289 cos-+PI/2_binary64_19288 cos-+PI_binary64_19287 cos-PI_binary64_19286 cos-PI/2_binary64_19285 cos-PI/3_binary64_19284 cos-PI/4_binary64_19283 cos-PI/6_binary64_19282 sin-+PI/2_binary64_19281 sin-+PI_binary64_19280 sin-PI_binary64_19279 sin-PI/2_binary64_19278 sin-PI/3_binary64_19277 sin-PI/4_binary64_19276 sin-PI/6_binary64_19275 sub-1-sin_binary64_19274 sub-1-cos_binary64_19273 -1-add-sin_binary64_19272 -1-add-cos_binary64_19271 1-sub-sin_binary64_19270 1-sub-cos_binary64_19269 cos-sin-sum_binary64_19268 log-E_binary64_19264 pow-base-0_binary64_19258 unpow2_binary64_19239 unpow1/2_binary64_19238 unpow0_binary64_19233 unpow1_binary64_19232 exp-cbrt_binary64_19228 e-exp-1_binary64_19219 exp-0_binary64_19216 rem-exp-log_binary64_19214 cube-neg_binary64_19201 rem-3cbrt-rft_binary64_19200 rem-3cbrt-lft_binary64_19199 rem-cbrt-cube_binary64_19198 rem-cube-cbrt_binary64_19197 sqr-abs_binary64_19189 sqr-neg_binary64_19188 remove-double-neg_binary64_19162 sub0-neg_binary64_19161 --rgt-identity_binary64_19160 mul0-rgt_binary64_19157 div0_binary64_19155 +-inverses_binary64_19153 lft-mult-inverse_binary64_19152 difference-of-sqr--1_binary64_19145 difference-of-sqr-1_binary64_19144 difference-of-squares_binary64_19143 cancel-sign-sub_binary64_19139 distribute-neg-out_binary64_19136 distribute-rgt-out--_binary64_19128 distribute-lft-out--_binary64_19126 associate--r-_binary64_19113 associate--l-_binary64_19112 associate--l+_binary64_19111 associate-+l-_binary64_19109 associate-+r-_binary64_19108
Counts
105 → 115
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
01381162
12931072
29091071
312961071
421901047
538811043

prune177.0ms (1.7%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New1150115
Fresh088
Picked011
Done000
Total1159124
Error
0.0b
Counts
124 → 9
Compiler

Compiled 2843 to 1836 computations (35.4% saved)

localize10.0ms (0.1%)

Local error

Found 3 expressions with local error:

0.0b
(-.f64 (*.f64 3 y) 3)
0.3b
(*.f64 (sqrt.f64 x) (+.f64 (/.f64 (/.f64 3 x) 9) (-.f64 (*.f64 3 y) 3)))
0.5b
(/.f64 (/.f64 3 x) 9)

rewrite225.0ms (2.2%)

Algorithm
rewrite-expression-head
Error
0b
Rules
75×times-frac_binary64_19180
53×add-sqr-sqrt_binary64_19196
51×*-un-lft-identity_binary64_19174
49×add-cube-cbrt_binary64_19209
13×associate-/l*_binary64_19119
10×add-exp-log_binary64_19212 add-cbrt-cube_binary64_19210
associate-*l*_binary64_19115
pow1_binary64_19235 add-log-exp_binary64_19213 div-inv_binary64_19171
sqrt-prod_binary64_19190 associate-*r/_binary64_19116 associate-*r*_binary64_19114
div-exp_binary64_19225 cbrt-undiv_binary64_19208 associate-/r*_binary64_19118 cancel-sign-sub-inv_binary64_19140
unswap-sqr_binary64_19142 flip3--_binary64_19178 frac-add_binary64_19182 flip--_binary64_19149
frac-2neg_binary64_19185 clear-num_binary64_19173 associate-/l/_binary64_19121 pow-prod-down_binary64_19245 prod-exp_binary64_19223 cbrt-unprod_binary64_19207 distribute-rgt-in_binary64_19124 distribute-lft-in_binary64_19123 flip3-+_binary64_19177 flip-+_binary64_19148 distribute-lft-out_binary64_19125 *-commutative_binary64_19105 diff-log_binary64_19266 sub-neg_binary64_19167
Counts
3 → 113
Calls

3 calls:

25.0ms
(*.f64 (sqrt.f64 x) (+.f64 (/.f64 (/.f64 3 x) 9) (-.f64 (*.f64 3 y) 3)))
9.0ms
(/.f64 (/.f64 3 x) 9)
4.0ms
(-.f64 (*.f64 3 y) 3)
Compiler

Compiled 2713 to 2040 computations (24.8% saved)

series304.0ms (3%)

Error
0.0b
Counts
3 → 18
Calls

3 calls:

200.0ms
(*.f64 (sqrt.f64 x) (+.f64 (/.f64 (/.f64 3 x) 9) (-.f64 (*.f64 3 y) 3)))
54.0ms
(-.f64 (*.f64 3 y) 3)
33.0ms
(/.f64 (/.f64 3 x) 9)
Compiler

Compiled 641 to 522 computations (18.6% saved)

simplify259.0ms (2.5%)

Algorithm
egg-herbie
Rules
677×associate-/l*_binary64_19119
522×distribute-rgt-in_binary64_19124
516×distribute-lft-in_binary64_19123
263×associate-/r/_binary64_19120
172×associate-/l/_binary64_19121
128×associate-*l*_binary64_19115
122×associate-*r*_binary64_19114
93×*-commutative_binary64_19105
89×associate-/r*_binary64_19118
82×associate-*l/_binary64_19117
43×associate-*r/_binary64_19116
41×sub-neg_binary64_19167
40×times-frac_binary64_19180
39×*-rgt-identity_binary64_19164
38×exp-prod_binary64_19226
36×sqr-pow_binary64_19146
34×unswap-sqr_binary64_19142
33×distribute-lft-out_binary64_19125
31×cancel-sign-sub-inv_binary64_19140
29×*-lft-identity_binary64_19163 distribute-lft-neg-out_binary64_19133
28×distribute-rgt-neg-in_binary64_19132
27×distribute-rgt-out_binary64_19127
23×neg-mul-1_binary64_19170 +-commutative_binary64_19104
22×log-prod_binary64_19260 neg-sub0_binary64_19169
19×cube-prod_binary64_19202 /-rgt-identity_binary64_19165 distribute-lft-neg-in_binary64_19131
17×div-exp_binary64_19225 distribute-rgt-neg-out_binary64_19134
16×log-div_binary64_19261 prod-exp_binary64_19223 cube-div_binary64_19203
15×distribute-neg-frac_binary64_19138
14×div-sub_binary64_19179 pow-sqr_binary64_19147 swap-sqr_binary64_19141
10×unpow3_binary64_19240 exp-sum_binary64_19220
distribute-lft-out--_binary64_19126
associate-+l+_binary64_19107
cube-mult_binary64_19204 distribute-neg-in_binary64_19135 distribute-rgt-out--_binary64_19128
unsub-neg_binary64_19168
exp-diff_binary64_19222 cube-unmult_binary64_19211 distribute-rgt1-in_binary64_19130 associate-+r+_binary64_19106
rec-exp_binary64_19224 difference-of-squares_binary64_19143
exp-lft-cube_binary64_19230 distribute-frac-neg_binary64_19137 associate--l+_binary64_19111 associate-+r-_binary64_19108
rem-sqrt-square_binary64_19187 rem-square-sqrt_binary64_19186 +-rgt-identity_binary64_19159 distribute-lft1-in_binary64_19129 count-2_binary64_19122 associate-+l-_binary64_19109
log-rec_binary64_19262 pow-plus_binary64_19237 1-exp_binary64_19218 exp-1-e_binary64_19217 rem-log-exp_binary64_19215 rem-3cbrt-lft_binary64_19199 remove-double-neg_binary64_19162 div0_binary64_19155 cancel-sign-sub_binary64_19139 distribute-neg-out_binary64_19136 associate--r-_binary64_19113 associate--l-_binary64_19112 associate--r+_binary64_19110
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_19437 erf-erfc_binary64_19436 erf-odd_binary64_19435 if-if-and-not_binary64_19434 if-if-and_binary64_19433 if-if-or-not_binary64_19432 if-if-or_binary64_19431 if-not_binary64_19430 if-same_binary64_19429 if-false_binary64_19428 if-true_binary64_19427 not-gte_binary64_19426 not-lte_binary64_19425 not-gt_binary64_19424 not-lt_binary64_19423 gte-same_binary64_19422 lte-same_binary64_19421 gt-same_binary64_19420 lt-same_binary64_19419 sinh---cosh_binary64_19366 sinh-+-cosh_binary64_19365 sinh-cosh_binary64_19364 tanh-def-c_binary64_19363 tanh-def-b_binary64_19362 tanh-def-a_binary64_19361 cosh-def_binary64_19360 sinh-def_binary64_19359 tan-neg_binary64_19306 cos-neg_binary64_19305 sin-neg_binary64_19304 tan-0_binary64_19303 cos-0_binary64_19302 sin-0_binary64_19301 hang-m-tan_binary64_19300 hang-p-tan_binary64_19299 hang-m0-tan_binary64_19298 hang-p0-tan_binary64_19297 hang-0m-tan_binary64_19296 hang-0p-tan_binary64_19295 tan-+PI/2_binary64_19294 tan-+PI_binary64_19293 tan-PI_binary64_19292 tan-PI/3_binary64_19291 tan-PI/4_binary64_19290 tan-PI/6_binary64_19289 cos-+PI/2_binary64_19288 cos-+PI_binary64_19287 cos-PI_binary64_19286 cos-PI/2_binary64_19285 cos-PI/3_binary64_19284 cos-PI/4_binary64_19283 cos-PI/6_binary64_19282 sin-+PI/2_binary64_19281 sin-+PI_binary64_19280 sin-PI_binary64_19279 sin-PI/2_binary64_19278 sin-PI/3_binary64_19277 sin-PI/4_binary64_19276 sin-PI/6_binary64_19275 sub-1-sin_binary64_19274 sub-1-cos_binary64_19273 -1-add-sin_binary64_19272 -1-add-cos_binary64_19271 1-sub-sin_binary64_19270 1-sub-cos_binary64_19269 cos-sin-sum_binary64_19268 log-E_binary64_19264 log-pow_binary64_19263 pow-base-0_binary64_19258 unpow1/3_binary64_19241 unpow2_binary64_19239 unpow1/2_binary64_19238 exp-to-pow_binary64_19236 pow-base-1_binary64_19234 unpow0_binary64_19233 unpow1_binary64_19232 unpow-1_binary64_19231 exp-lft-sqr_binary64_19229 exp-cbrt_binary64_19228 exp-sqrt_binary64_19227 exp-neg_binary64_19221 e-exp-1_binary64_19219 exp-0_binary64_19216 rem-exp-log_binary64_19214 cube-neg_binary64_19201 rem-3cbrt-rft_binary64_19200 rem-cbrt-cube_binary64_19198 rem-cube-cbrt_binary64_19197 sqr-abs_binary64_19189 sqr-neg_binary64_19188 mul-1-neg_binary64_19166 sub0-neg_binary64_19161 --rgt-identity_binary64_19160 +-lft-identity_binary64_19158 mul0-rgt_binary64_19157 mul0-lft_binary64_19156 *-inverses_binary64_19154 +-inverses_binary64_19153 lft-mult-inverse_binary64_19152 rgt-mult-inverse_binary64_19151 remove-double-div_binary64_19150 difference-of-sqr--1_binary64_19145 difference-of-sqr-1_binary64_19144
Counts
131 → 449
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02462372
16202270
218782256

prune1.2s (11.9%)

Pruning

11 alts after pruning (9 fresh and 2 done)

PrunedKeptTotal
New4472449
Fresh077
Picked011
Done011
Total44711458
Error
0b
Counts
458 → 11
Compiler

Compiled 11443 to 8450 computations (26.2% saved)

regimes609.0ms (5.9%)

Accuracy

Total 0.4b remaining (99.4%)

Threshold costs 0.4b (99.4%)

Compiler

Compiled 6120 to 5265 computations (14% saved)

bsearch0.0ms (0%)

simplify8.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64_19105
+-commutative_binary64_19104
sub-neg_binary64_19167
neg-mul-1_binary64_19170 neg-sub0_binary64_19169
cancel-sign-sub-inv_binary64_19140 distribute-rgt-neg-in_binary64_19132
distribute-lft-neg-out_binary64_19133 distribute-lft-neg-in_binary64_19131
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_19434 if-if-and_binary64_19433 if-if-or-not_binary64_19432 if-if-or_binary64_19431 if-not_binary64_19430 if-same_binary64_19429 if-false_binary64_19428 if-true_binary64_19427 tan-0_binary64_19303 cos-0_binary64_19302 sin-0_binary64_19301 unpow1_binary64_19232 e-exp-1_binary64_19219 1-exp_binary64_19218 exp-1-e_binary64_19217 exp-0_binary64_19216 sqr-abs_binary64_19189 sqr-neg_binary64_19188 unsub-neg_binary64_19168 mul-1-neg_binary64_19166 /-rgt-identity_binary64_19165 *-rgt-identity_binary64_19164 *-lft-identity_binary64_19163 remove-double-neg_binary64_19162 sub0-neg_binary64_19161 --rgt-identity_binary64_19160 +-rgt-identity_binary64_19159 +-lft-identity_binary64_19158 cancel-sign-sub_binary64_19139 distribute-neg-frac_binary64_19138 distribute-frac-neg_binary64_19137 distribute-neg-out_binary64_19136 distribute-neg-in_binary64_19135 distribute-rgt-neg-out_binary64_19134
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01225
12125
23125
33725
44125
54225
Proof
(+ f64 (/ f64 1/3 (sqrt f64 h0)) (- f64 (* f64 3 (* f64 h1 (sqrt f64 h0))) (=> (* f64 3 (sqrt f64 h0))))) *-commutative_binary64_19105 => (+ f64 (/ f64 1/3 (sqrt f64 h0)) (- f64 (* f64 3 (=> (* f64 h1 (sqrt f64 h0)))) (* f64 (sqrt f64 h0) 3))) *-commutative_binary64_19105 => (+ f64 (/ f64 1/3 (sqrt f64 h0)) (- f64 (* f64 3 (* f64 (sqrt f64 h0) h1)) (* f64 (sqrt f64 h0) 3)))

end0.0ms (0%)

sample2.4s (23.7%)

Algorithm
intervals
Results
354.0ms8000×body128valid
10.0ms125×body128nan
3.0ms68×body128invalid
Compiler

Compiled 2038 to 1752 computations (14% saved)

Profiling

Loading profile data...