Details

Time bar (total: 5.8s)

analyze929.0ms (15.9%)

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%99.9%0.1%4
0%99.9%0.1%5
0%99.9%0.1%6
0%99.9%0.1%7
0%99.9%0.1%8
2.7%90.9%6.4%9
4.1%86.4%9.5%10
4.4%86.1%9.5%11
19.7%65.3%15%12
21.9%60.4%17.7%13
22.7%59.6%17.7%14
Compiler

Compiled 14 to 11 computations (21.4% saved)

sample60.0ms (1%)

Algorithm
intervals
Results
15.0ms42×body1024valid
12.0ms192×body128valid
4.0ms16×body512valid
2.0msbody1024invalid
2.0ms40×body128nan
1.0msbody512invalid
1.0ms18×body128invalid
1.0msbody256valid
1.0msbody256invalid
Compiler

Compiled 27 to 24 computations (11.1% saved)

simplify243.0ms (4.2%)

Algorithm
egg-herbie
Rules
559×unswap-sqr_binary64_18119
262×div-sub_binary64_18156
246×associate-*l*_binary64_18092
238×times-frac_binary64_18157
215×cancel-sign-sub-inv_binary64_18117
203×associate-/l*_binary64_18096
189×distribute-rgt-out_binary64_18104
161×distribute-rgt-in_binary64_18101
158×associate-*r*_binary64_18091
146×associate-/l/_binary64_18098
134×distribute-rgt-out--_binary64_18105
125×associate-/r*_binary64_18095
107×associate-/r/_binary64_18097
94×distribute-frac-neg_binary64_18114
89×sqr-pow_binary64_18123
81×exp-prod_binary64_18203
80×exp-sum_binary64_18197 sub-neg_binary64_18144
78×distribute-rgt-neg-out_binary64_18111
62×distribute-lft-out_binary64_18102
57×distribute-lft-neg-out_binary64_18110
54×distribute-lft-out--_binary64_18103
48×pow-sqr_binary64_18124
47×neg-mul-1_binary64_18147
46×unsub-neg_binary64_18145
44×exp-diff_binary64_18199
43×distribute-rgt-neg-in_binary64_18109
41×neg-sub0_binary64_18146
40×/-rgt-identity_binary64_18142
39×distribute-lft-neg-in_binary64_18108 *-commutative_binary64_18082
38×log-prod_binary64_18237 distribute-neg-frac_binary64_18115
34×distribute-lft-in_binary64_18100
33×associate-*r/_binary64_18093
31×exp-to-pow_binary64_18213
30×distribute-neg-in_binary64_18112
26×associate-*l/_binary64_18094
25×log-div_binary64_18238
20×*-lft-identity_binary64_18140
19×div-exp_binary64_18202
18×+-commutative_binary64_18081
15×cube-prod_binary64_18179 associate--r+_binary64_18087
14×*-rgt-identity_binary64_18141 distribute-neg-out_binary64_18113 distribute-rgt1-in_binary64_18107
12×pow-plus_binary64_18214 cancel-sign-sub_binary64_18116 associate--l+_binary64_18088
11×exp-neg_binary64_18198 cube-unmult_binary64_18188
10×log-pow_binary64_18240
associate-+l-_binary64_18086
exp-sqrt_binary64_18204 prod-exp_binary64_18200 --rgt-identity_binary64_18137 associate-+r-_binary64_18085
sub0-neg_binary64_18138 associate-+r+_binary64_18083
remove-double-neg_binary64_18139 distribute-lft1-in_binary64_18106 associate--l-_binary64_18089
swap-sqr_binary64_18118
exp-lft-sqr_binary64_18206 +-rgt-identity_binary64_18136 mul0-lft_binary64_18133 associate-+l+_binary64_18084
rem-exp-log_binary64_18191
log-rec_binary64_18239 rec-exp_binary64_18201 rem-log-exp_binary64_18192 cube-div_binary64_18180 div0_binary64_18132 count-2_binary64_18099 associate--r-_binary64_18090
unpow3_binary64_18217 unpow-1_binary64_18208 1-exp_binary64_18195 exp-1-e_binary64_18194 rem-sqrt-square_binary64_18164 mul-1-neg_binary64_18143 +-lft-identity_binary64_18135 mul0-rgt_binary64_18134 *-inverses_binary64_18131 remove-double-div_binary64_18127
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_18414 erf-erfc_binary64_18413 erf-odd_binary64_18412 if-if-and-not_binary64_18411 if-if-and_binary64_18410 if-if-or-not_binary64_18409 if-if-or_binary64_18408 if-not_binary64_18407 if-same_binary64_18406 if-false_binary64_18405 if-true_binary64_18404 not-gte_binary64_18403 not-lte_binary64_18402 not-gt_binary64_18401 not-lt_binary64_18400 gte-same_binary64_18399 lte-same_binary64_18398 gt-same_binary64_18397 lt-same_binary64_18396 sinh---cosh_binary64_18343 sinh-+-cosh_binary64_18342 sinh-cosh_binary64_18341 tanh-def-c_binary64_18340 tanh-def-b_binary64_18339 tanh-def-a_binary64_18338 cosh-def_binary64_18337 sinh-def_binary64_18336 tan-neg_binary64_18283 cos-neg_binary64_18282 sin-neg_binary64_18281 tan-0_binary64_18280 cos-0_binary64_18279 sin-0_binary64_18278 hang-m-tan_binary64_18277 hang-p-tan_binary64_18276 hang-m0-tan_binary64_18275 hang-p0-tan_binary64_18274 hang-0m-tan_binary64_18273 hang-0p-tan_binary64_18272 tan-+PI/2_binary64_18271 tan-+PI_binary64_18270 tan-PI_binary64_18269 tan-PI/3_binary64_18268 tan-PI/4_binary64_18267 tan-PI/6_binary64_18266 cos-+PI/2_binary64_18265 cos-+PI_binary64_18264 cos-PI_binary64_18263 cos-PI/2_binary64_18262 cos-PI/3_binary64_18261 cos-PI/4_binary64_18260 cos-PI/6_binary64_18259 sin-+PI/2_binary64_18258 sin-+PI_binary64_18257 sin-PI_binary64_18256 sin-PI/2_binary64_18255 sin-PI/3_binary64_18254 sin-PI/4_binary64_18253 sin-PI/6_binary64_18252 sub-1-sin_binary64_18251 sub-1-cos_binary64_18250 -1-add-sin_binary64_18249 -1-add-cos_binary64_18248 1-sub-sin_binary64_18247 1-sub-cos_binary64_18246 cos-sin-sum_binary64_18245 log-E_binary64_18241 pow-base-0_binary64_18235 unpow1/3_binary64_18218 unpow2_binary64_18216 unpow1/2_binary64_18215 pow-base-1_binary64_18211 unpow0_binary64_18210 unpow1_binary64_18209 exp-lft-cube_binary64_18207 exp-cbrt_binary64_18205 e-exp-1_binary64_18196 exp-0_binary64_18193 cube-mult_binary64_18181 cube-neg_binary64_18178 rem-3cbrt-rft_binary64_18177 rem-3cbrt-lft_binary64_18176 rem-cbrt-cube_binary64_18175 rem-cube-cbrt_binary64_18174 sqr-abs_binary64_18166 sqr-neg_binary64_18165 rem-square-sqrt_binary64_18163 +-inverses_binary64_18130 lft-mult-inverse_binary64_18129 rgt-mult-inverse_binary64_18128 difference-of-sqr--1_binary64_18122 difference-of-sqr-1_binary64_18121 difference-of-squares_binary64_18120
Counts
1 → 2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01120
11916
22816
35616
412016
527516
666116
7224616

prune6.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New022
Fresh101
Picked000
Done000
Total123
Error
1.1b
Counts
3 → 2
Compiler

Compiled 48 to 31 computations (35.4% saved)

localize10.0ms (0.2%)

Local error

Found 3 expressions with local error:

0.0b
(/.f64 y (+.f64 y z))
0.0b
(pow.f64 (exp.f64 y) (log.f64 (/.f64 y (+.f64 y z))))
8.3b
(log.f64 (/.f64 y (+.f64 y z)))

rewrite139.0ms (2.4%)

Algorithm
rewrite-expression-head
Error
0.9b
Rules
51×*-un-lft-identity_binary64_18151
36×log-prod_binary64_18237 times-frac_binary64_18157
31×add-cube-cbrt_binary64_18186 add-sqr-sqrt_binary64_18173
18×unpow-prod-up_binary64_18229
10×distribute-lft-out_binary64_18102
add-exp-log_binary64_18189
pow1_binary64_18212 associate-/r/_binary64_18097
add-cbrt-cube_binary64_18187
pow-unpow_binary64_18228 pow-pow_binary64_18223 associate-/r*_binary64_18095
div-inv_binary64_18148 flip3-+_binary64_18154 flip-+_binary64_18125 add-log-exp_binary64_18190 unpow-prod-down_binary64_18230 exp-prod_binary64_18203 associate-/l*_binary64_18096
log-pow_binary64_18240 log-div_binary64_18238 div-exp_binary64_18202 rem-log-exp_binary64_18192
pow-sub_binary64_18227 pow-to-exp_binary64_18220 pow-exp_binary64_18219 sqr-pow_binary64_18123 cbrt-undiv_binary64_18185 frac-2neg_binary64_18162 clear-num_binary64_18150
Counts
3 → 102
Calls

3 calls:

12.0ms
(pow.f64 (exp.f64 y) (log.f64 (/.f64 y (+.f64 y z))))
6.0ms
(log.f64 (/.f64 y (+.f64 y z)))
5.0ms
(/.f64 y (+.f64 y z))
Compiler

Compiled 2206 to 648 computations (70.6% saved)

series328.0ms (5.6%)

Error
0.4b
Counts
3 → 23
Calls

3 calls:

184.0ms
(pow.f64 (exp.f64 y) (log.f64 (/.f64 y (+.f64 y z))))
81.0ms
(log.f64 (/.f64 y (+.f64 y z)))
36.0ms
(/.f64 y (+.f64 y z))
Compiler

Compiled 1235 to 900 computations (27.1% saved)

simplify283.0ms (4.8%)

Algorithm
egg-herbie
Rules
612×associate-+l+_binary64_18084
187×sqr-pow_binary64_18123
177×associate-/l*_binary64_18096 associate--l+_binary64_18088
159×distribute-rgt-in_binary64_18101
151×times-frac_binary64_18157
143×distribute-lft-in_binary64_18100
122×associate-*r/_binary64_18093
112×associate-/l/_binary64_18098
108×associate-*r*_binary64_18091
107×sub-neg_binary64_18144
103×associate-*l/_binary64_18094
98×distribute-rgt-neg-out_binary64_18111
96×associate-/r*_binary64_18095
92×pow-sqr_binary64_18124
84×associate-/r/_binary64_18097
77×associate-*l*_binary64_18092
76×unswap-sqr_binary64_18119
73×distribute-lft-neg-out_binary64_18110 associate-+r+_binary64_18083
71×log-div_binary64_18238
70×div-sub_binary64_18156
55×associate--r+_binary64_18087
54×associate-+l-_binary64_18086 +-commutative_binary64_18081
52×distribute-rgt-out_binary64_18104
50×*-commutative_binary64_18082
44×unsub-neg_binary64_18145
42×associate--l-_binary64_18089
37×associate-+r-_binary64_18085
35×neg-mul-1_binary64_18147
30×neg-sub0_binary64_18146 cancel-sign-sub-inv_binary64_18117
29×log-prod_binary64_18237
19×log-rec_binary64_18239
16×pow-plus_binary64_18214 distribute-lft-neg-in_binary64_18108
15×distribute-rgt-neg-in_binary64_18109 distribute-lft-out_binary64_18102
14×distribute-neg-in_binary64_18112
12×distribute-neg-frac_binary64_18115 distribute-frac-neg_binary64_18114
11×log-pow_binary64_18240 /-rgt-identity_binary64_18142 *-rgt-identity_binary64_18141
10×exp-prod_binary64_18203
count-2_binary64_18099
cube-unmult_binary64_18188 sub0-neg_binary64_18138
unpow3_binary64_18217 exp-sum_binary64_18197 cube-prod_binary64_18179 *-lft-identity_binary64_18140 swap-sqr_binary64_18118 distribute-rgt-out--_binary64_18105
unpow1_binary64_18209 +-lft-identity_binary64_18135 difference-of-squares_binary64_18120
unpow2_binary64_18216 exp-diff_binary64_18199 cube-mult_binary64_18181 cube-div_binary64_18180 distribute-rgt1-in_binary64_18107
pow-base-1_binary64_18211 prod-exp_binary64_18200 rem-exp-log_binary64_18191 sqr-neg_binary64_18165
exp-to-pow_binary64_18213 rem-log-exp_binary64_18192 rem-sqrt-square_binary64_18164 distribute-neg-out_binary64_18113 associate--r-_binary64_18090
unpow0_binary64_18210 exp-sqrt_binary64_18204 div-exp_binary64_18202 rec-exp_binary64_18201 1-exp_binary64_18195 exp-1-e_binary64_18194 cube-neg_binary64_18178 mul-1-neg_binary64_18143 div0_binary64_18132 *-inverses_binary64_18131 rgt-mult-inverse_binary64_18128
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_18414 erf-erfc_binary64_18413 erf-odd_binary64_18412 if-if-and-not_binary64_18411 if-if-and_binary64_18410 if-if-or-not_binary64_18409 if-if-or_binary64_18408 if-not_binary64_18407 if-same_binary64_18406 if-false_binary64_18405 if-true_binary64_18404 not-gte_binary64_18403 not-lte_binary64_18402 not-gt_binary64_18401 not-lt_binary64_18400 gte-same_binary64_18399 lte-same_binary64_18398 gt-same_binary64_18397 lt-same_binary64_18396 sinh---cosh_binary64_18343 sinh-+-cosh_binary64_18342 sinh-cosh_binary64_18341 tanh-def-c_binary64_18340 tanh-def-b_binary64_18339 tanh-def-a_binary64_18338 cosh-def_binary64_18337 sinh-def_binary64_18336 tan-neg_binary64_18283 cos-neg_binary64_18282 sin-neg_binary64_18281 tan-0_binary64_18280 cos-0_binary64_18279 sin-0_binary64_18278 hang-m-tan_binary64_18277 hang-p-tan_binary64_18276 hang-m0-tan_binary64_18275 hang-p0-tan_binary64_18274 hang-0m-tan_binary64_18273 hang-0p-tan_binary64_18272 tan-+PI/2_binary64_18271 tan-+PI_binary64_18270 tan-PI_binary64_18269 tan-PI/3_binary64_18268 tan-PI/4_binary64_18267 tan-PI/6_binary64_18266 cos-+PI/2_binary64_18265 cos-+PI_binary64_18264 cos-PI_binary64_18263 cos-PI/2_binary64_18262 cos-PI/3_binary64_18261 cos-PI/4_binary64_18260 cos-PI/6_binary64_18259 sin-+PI/2_binary64_18258 sin-+PI_binary64_18257 sin-PI_binary64_18256 sin-PI/2_binary64_18255 sin-PI/3_binary64_18254 sin-PI/4_binary64_18253 sin-PI/6_binary64_18252 sub-1-sin_binary64_18251 sub-1-cos_binary64_18250 -1-add-sin_binary64_18249 -1-add-cos_binary64_18248 1-sub-sin_binary64_18247 1-sub-cos_binary64_18246 cos-sin-sum_binary64_18245 log-E_binary64_18241 pow-base-0_binary64_18235 unpow1/3_binary64_18218 unpow1/2_binary64_18215 unpow-1_binary64_18208 exp-lft-cube_binary64_18207 exp-lft-sqr_binary64_18206 exp-cbrt_binary64_18205 exp-neg_binary64_18198 e-exp-1_binary64_18196 exp-0_binary64_18193 rem-3cbrt-rft_binary64_18177 rem-3cbrt-lft_binary64_18176 rem-cbrt-cube_binary64_18175 rem-cube-cbrt_binary64_18174 sqr-abs_binary64_18166 rem-square-sqrt_binary64_18163 remove-double-neg_binary64_18139 --rgt-identity_binary64_18137 +-rgt-identity_binary64_18136 mul0-rgt_binary64_18134 mul0-lft_binary64_18133 +-inverses_binary64_18130 lft-mult-inverse_binary64_18129 remove-double-div_binary64_18127 difference-of-sqr--1_binary64_18122 difference-of-sqr-1_binary64_18121 cancel-sign-sub_binary64_18116 distribute-lft1-in_binary64_18106 distribute-lft-out--_binary64_18103
Counts
125 → 98
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02202408
15692289
218392214

prune117.0ms (2%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New97198
Fresh011
Picked101
Done000
Total982100
Error
0.4b
Counts
100 → 2
Compiler

Compiled 2333 to 707 computations (69.7% saved)

localize7.0ms (0.1%)

Local error

Found 2 expressions with local error:

0.0b
(/.f64 y (+.f64 y z))
5.8b
(pow.f64 (/.f64 y (+.f64 y z)) y)

rewrite74.0ms (1.3%)

Algorithm
rewrite-expression-head
Error
0.4b
Rules
34×*-un-lft-identity_binary64_18151
24×times-frac_binary64_18157
20×add-cube-cbrt_binary64_18186 add-sqr-sqrt_binary64_18173
18×unpow-prod-down_binary64_18230
distribute-lft-out_binary64_18102 add-exp-log_binary64_18189
associate-/r/_binary64_18097 add-cbrt-cube_binary64_18187 associate-/r*_binary64_18095
pow-unpow_binary64_18228 pow1_binary64_18212 associate-/l*_binary64_18096
div-inv_binary64_18148 flip3-+_binary64_18154 flip-+_binary64_18125 div-exp_binary64_18202 pow-exp_binary64_18219 add-log-exp_binary64_18190
pow-pow_binary64_18223 pow-to-exp_binary64_18220 sqr-pow_binary64_18123 cbrt-undiv_binary64_18185 frac-2neg_binary64_18162 clear-num_binary64_18150
Counts
2 → 66
Calls

2 calls:

7.0ms
(pow.f64 (/.f64 y (+.f64 y z)) y)
5.0ms
(/.f64 y (+.f64 y z))
Compiler

Compiled 1255 to 392 computations (68.8% saved)

series323.0ms (5.5%)

Error
0b
Counts
2 → 26
Calls

2 calls:

208.0ms
(pow.f64 (/.f64 y (+.f64 y z)) y)
80.0ms
(/.f64 y (+.f64 y z))
Compiler

Compiled 1334 to 958 computations (28.2% saved)

simplify298.0ms (5.1%)

Algorithm
egg-herbie
Rules
623×associate-+l+_binary64_18084
345×times-frac_binary64_18157
291×associate-/l*_binary64_18096
189×associate--l+_binary64_18088
174×sqr-pow_binary64_18123
163×associate-*l/_binary64_18094
161×associate-*r/_binary64_18093
146×distribute-rgt-in_binary64_18101
141×associate-/r*_binary64_18095
137×associate-/l/_binary64_18098
130×associate-*r*_binary64_18091
128×distribute-lft-in_binary64_18100
115×associate-/r/_binary64_18097
94×associate-*l*_binary64_18092
91×distribute-rgt-neg-out_binary64_18111
88×unswap-sqr_binary64_18119
84×pow-sqr_binary64_18124
75×associate-+r+_binary64_18083
72×sub-neg_binary64_18144 distribute-lft-neg-out_binary64_18110
66×+-commutative_binary64_18081
60×associate--r+_binary64_18087
57×distribute-rgt-out_binary64_18104
51×unsub-neg_binary64_18145 *-commutative_binary64_18082
41×associate-+l-_binary64_18086
37×cancel-sign-sub-inv_binary64_18117
36×associate-+r-_binary64_18085
29×neg-mul-1_binary64_18147
27×neg-sub0_binary64_18146
24×exp-prod_binary64_18203
20×pow-plus_binary64_18214 distribute-neg-frac_binary64_18115 distribute-rgt-neg-in_binary64_18109
19×exp-sum_binary64_18197 distribute-lft-neg-in_binary64_18108
18×log-prod_binary64_18237 *-rgt-identity_binary64_18141
16×/-rgt-identity_binary64_18142 associate--l-_binary64_18089
15×distribute-lft-out_binary64_18102
14×distribute-neg-in_binary64_18112
13×log-div_binary64_18238
11×*-lft-identity_binary64_18140
10×log-pow_binary64_18240
cube-unmult_binary64_18188 distribute-rgt1-in_binary64_18107
exp-diff_binary64_18199 difference-of-squares_binary64_18120 swap-sqr_binary64_18118
log-rec_binary64_18239 unpow3_binary64_18217 cube-div_binary64_18180 div-sub_binary64_18156
unpow1_binary64_18209 cube-prod_binary64_18179 distribute-frac-neg_binary64_18114 distribute-rgt-out--_binary64_18105
unpow2_binary64_18216 rem-exp-log_binary64_18191 cube-mult_binary64_18181 +-rgt-identity_binary64_18136 distribute-neg-out_binary64_18113 count-2_binary64_18099
pow-base-1_binary64_18211 sqr-neg_binary64_18165
div-exp_binary64_18202 rem-sqrt-square_binary64_18164 sub0-neg_binary64_18138 associate--r-_binary64_18090
rec-exp_binary64_18201 prod-exp_binary64_18200 exp-neg_binary64_18198 1-exp_binary64_18195 rem-log-exp_binary64_18192 cube-neg_binary64_18178 *-inverses_binary64_18131 rgt-mult-inverse_binary64_18128 distribute-lft1-in_binary64_18106
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_18414 erf-erfc_binary64_18413 erf-odd_binary64_18412 if-if-and-not_binary64_18411 if-if-and_binary64_18410 if-if-or-not_binary64_18409 if-if-or_binary64_18408 if-not_binary64_18407 if-same_binary64_18406 if-false_binary64_18405 if-true_binary64_18404 not-gte_binary64_18403 not-lte_binary64_18402 not-gt_binary64_18401 not-lt_binary64_18400 gte-same_binary64_18399 lte-same_binary64_18398 gt-same_binary64_18397 lt-same_binary64_18396 sinh---cosh_binary64_18343 sinh-+-cosh_binary64_18342 sinh-cosh_binary64_18341 tanh-def-c_binary64_18340 tanh-def-b_binary64_18339 tanh-def-a_binary64_18338 cosh-def_binary64_18337 sinh-def_binary64_18336 tan-neg_binary64_18283 cos-neg_binary64_18282 sin-neg_binary64_18281 tan-0_binary64_18280 cos-0_binary64_18279 sin-0_binary64_18278 hang-m-tan_binary64_18277 hang-p-tan_binary64_18276 hang-m0-tan_binary64_18275 hang-p0-tan_binary64_18274 hang-0m-tan_binary64_18273 hang-0p-tan_binary64_18272 tan-+PI/2_binary64_18271 tan-+PI_binary64_18270 tan-PI_binary64_18269 tan-PI/3_binary64_18268 tan-PI/4_binary64_18267 tan-PI/6_binary64_18266 cos-+PI/2_binary64_18265 cos-+PI_binary64_18264 cos-PI_binary64_18263 cos-PI/2_binary64_18262 cos-PI/3_binary64_18261 cos-PI/4_binary64_18260 cos-PI/6_binary64_18259 sin-+PI/2_binary64_18258 sin-+PI_binary64_18257 sin-PI_binary64_18256 sin-PI/2_binary64_18255 sin-PI/3_binary64_18254 sin-PI/4_binary64_18253 sin-PI/6_binary64_18252 sub-1-sin_binary64_18251 sub-1-cos_binary64_18250 -1-add-sin_binary64_18249 -1-add-cos_binary64_18248 1-sub-sin_binary64_18247 1-sub-cos_binary64_18246 cos-sin-sum_binary64_18245 log-E_binary64_18241 pow-base-0_binary64_18235 unpow1/3_binary64_18218 unpow1/2_binary64_18215 exp-to-pow_binary64_18213 unpow0_binary64_18210 unpow-1_binary64_18208 exp-lft-cube_binary64_18207 exp-lft-sqr_binary64_18206 exp-cbrt_binary64_18205 exp-sqrt_binary64_18204 e-exp-1_binary64_18196 exp-1-e_binary64_18194 exp-0_binary64_18193 rem-3cbrt-rft_binary64_18177 rem-3cbrt-lft_binary64_18176 rem-cbrt-cube_binary64_18175 rem-cube-cbrt_binary64_18174 sqr-abs_binary64_18166 rem-square-sqrt_binary64_18163 mul-1-neg_binary64_18143 remove-double-neg_binary64_18139 --rgt-identity_binary64_18137 +-lft-identity_binary64_18135 mul0-rgt_binary64_18134 mul0-lft_binary64_18133 div0_binary64_18132 +-inverses_binary64_18130 lft-mult-inverse_binary64_18129 remove-double-div_binary64_18127 difference-of-sqr--1_binary64_18122 difference-of-sqr-1_binary64_18121 cancel-sign-sub_binary64_18116 distribute-lft-out--_binary64_18103
Counts
92 → 82
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01951758
15001689
218301628

prune97.0ms (1.7%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New81182
Fresh011
Picked011
Done000
Total81384
Error
0.2b
Counts
84 → 3
Compiler

Compiled 2040 to 734 computations (64% saved)

localize8.0ms (0.1%)

Local error

Found 1 expressions with local error:

13.6b
(pow.f64 (exp.f64 y) (neg.f64 (/.f64 z y)))

rewrite56.0ms (1%)

Algorithm
rewrite-expression-head
Error
0b
Rules
30×pow-unpow_binary64_18228
18×add-cube-cbrt_binary64_18186 add-sqr-sqrt_binary64_18173 *-un-lft-identity_binary64_18151 times-frac_binary64_18157
13×distribute-rgt-neg-in_binary64_18109 distribute-lft-neg-in_binary64_18108
pow-pow_binary64_18223
unpow-prod-down_binary64_18230 exp-prod_binary64_18203
div-inv_binary64_18148 pow1_binary64_18212
neg-mul-1_binary64_18147 neg-sub0_binary64_18146 pow-sub_binary64_18227 pow-neg_binary64_18224 pow-to-exp_binary64_18220 pow-exp_binary64_18219 add-log-exp_binary64_18190 add-exp-log_binary64_18189 add-cbrt-cube_binary64_18187 sqr-pow_binary64_18123
Counts
1 → 49
Calls

1 calls:

6.0ms
(pow.f64 (exp.f64 y) (neg.f64 (/.f64 z y)))
Compiler

Compiled 879 to 297 computations (66.2% saved)

series99.0ms (1.7%)

Error
0b
Counts
1 → 6
Calls

1 calls:

93.0ms
(pow.f64 (exp.f64 y) (neg.f64 (/.f64 z y)))
Compiler

Compiled 174 to 145 computations (16.7% saved)

simplify306.0ms (5.2%)

Algorithm
egg-herbie
Rules
392×div-sub_binary64_18156
258×distribute-rgt-in_binary64_18101
246×sqr-pow_binary64_18123
234×distribute-lft-in_binary64_18100
210×associate-/l/_binary64_18098
197×associate-/l*_binary64_18096
174×pow-sqr_binary64_18124 distribute-frac-neg_binary64_18114
160×unswap-sqr_binary64_18119
158×times-frac_binary64_18157
128×associate-*r/_binary64_18093
120×associate-*l*_binary64_18092
104×distribute-neg-frac_binary64_18115
103×distribute-lft-neg-out_binary64_18110
100×distribute-rgt-neg-out_binary64_18111
96×unsub-neg_binary64_18145
92×associate-*r*_binary64_18091
91×associate-/r*_binary64_18095
90×neg-mul-1_binary64_18147
85×sub-neg_binary64_18144 *-commutative_binary64_18082
82×neg-sub0_binary64_18146
71×exp-prod_binary64_18203
68×associate-/r/_binary64_18097
65×distribute-neg-out_binary64_18113
59×distribute-lft-out_binary64_18102 associate-*l/_binary64_18094
43×distribute-rgt-neg-in_binary64_18109
36×cube-unmult_binary64_18188 distribute-lft-neg-in_binary64_18108
34×cancel-sign-sub-inv_binary64_18117
33×distribute-rgt-out_binary64_18104
32×log-prod_binary64_18237 div-exp_binary64_18202 exp-sum_binary64_18197 *-rgt-identity_binary64_18141
31×/-rgt-identity_binary64_18142
30×*-lft-identity_binary64_18140
27×prod-exp_binary64_18200
24×div0_binary64_18132
19×log-pow_binary64_18240
17×cube-prod_binary64_18179 mul0-rgt_binary64_18134
16×distribute-rgt-out--_binary64_18105
15×mul0-lft_binary64_18133
13×pow-plus_binary64_18214 swap-sqr_binary64_18118 +-commutative_binary64_18081
distribute-lft-out--_binary64_18103
rec-exp_binary64_18201
rem-sqrt-square_binary64_18164
log-div_binary64_18238 exp-diff_binary64_18199 distribute-neg-in_binary64_18112
exp-to-pow_binary64_18213 cube-div_binary64_18180
pow-base-1_binary64_18211 exp-sqrt_binary64_18204 remove-double-div_binary64_18127 distribute-rgt1-in_binary64_18107
exp-lft-sqr_binary64_18206 exp-neg_binary64_18198 rem-log-exp_binary64_18192 mul-1-neg_binary64_18143
rem-exp-log_binary64_18191 --rgt-identity_binary64_18137 distribute-lft1-in_binary64_18106 count-2_binary64_18099
log-rec_binary64_18239 unpow3_binary64_18217 unpow0_binary64_18210 unpow1_binary64_18209 unpow-1_binary64_18208 1-exp_binary64_18195 exp-1-e_binary64_18194 cube-mult_binary64_18181 *-inverses_binary64_18131 rgt-mult-inverse_binary64_18128 associate--r+_binary64_18087
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_18414 erf-erfc_binary64_18413 erf-odd_binary64_18412 if-if-and-not_binary64_18411 if-if-and_binary64_18410 if-if-or-not_binary64_18409 if-if-or_binary64_18408 if-not_binary64_18407 if-same_binary64_18406 if-false_binary64_18405 if-true_binary64_18404 not-gte_binary64_18403 not-lte_binary64_18402 not-gt_binary64_18401 not-lt_binary64_18400 gte-same_binary64_18399 lte-same_binary64_18398 gt-same_binary64_18397 lt-same_binary64_18396 sinh---cosh_binary64_18343 sinh-+-cosh_binary64_18342 sinh-cosh_binary64_18341 tanh-def-c_binary64_18340 tanh-def-b_binary64_18339 tanh-def-a_binary64_18338 cosh-def_binary64_18337 sinh-def_binary64_18336 tan-neg_binary64_18283 cos-neg_binary64_18282 sin-neg_binary64_18281 tan-0_binary64_18280 cos-0_binary64_18279 sin-0_binary64_18278 hang-m-tan_binary64_18277 hang-p-tan_binary64_18276 hang-m0-tan_binary64_18275 hang-p0-tan_binary64_18274 hang-0m-tan_binary64_18273 hang-0p-tan_binary64_18272 tan-+PI/2_binary64_18271 tan-+PI_binary64_18270 tan-PI_binary64_18269 tan-PI/3_binary64_18268 tan-PI/4_binary64_18267 tan-PI/6_binary64_18266 cos-+PI/2_binary64_18265 cos-+PI_binary64_18264 cos-PI_binary64_18263 cos-PI/2_binary64_18262 cos-PI/3_binary64_18261 cos-PI/4_binary64_18260 cos-PI/6_binary64_18259 sin-+PI/2_binary64_18258 sin-+PI_binary64_18257 sin-PI_binary64_18256 sin-PI/2_binary64_18255 sin-PI/3_binary64_18254 sin-PI/4_binary64_18253 sin-PI/6_binary64_18252 sub-1-sin_binary64_18251 sub-1-cos_binary64_18250 -1-add-sin_binary64_18249 -1-add-cos_binary64_18248 1-sub-sin_binary64_18247 1-sub-cos_binary64_18246 cos-sin-sum_binary64_18245 log-E_binary64_18241 pow-base-0_binary64_18235 unpow1/3_binary64_18218 unpow2_binary64_18216 unpow1/2_binary64_18215 exp-lft-cube_binary64_18207 exp-cbrt_binary64_18205 e-exp-1_binary64_18196 exp-0_binary64_18193 cube-neg_binary64_18178 rem-3cbrt-rft_binary64_18177 rem-3cbrt-lft_binary64_18176 rem-cbrt-cube_binary64_18175 rem-cube-cbrt_binary64_18174 sqr-abs_binary64_18166 sqr-neg_binary64_18165 rem-square-sqrt_binary64_18163 remove-double-neg_binary64_18139 sub0-neg_binary64_18138 +-rgt-identity_binary64_18136 +-lft-identity_binary64_18135 +-inverses_binary64_18130 lft-mult-inverse_binary64_18129 difference-of-sqr--1_binary64_18122 difference-of-sqr-1_binary64_18121 difference-of-squares_binary64_18120 cancel-sign-sub_binary64_18116 associate--r-_binary64_18090 associate--l-_binary64_18089 associate--l+_binary64_18088 associate-+l-_binary64_18086 associate-+r-_binary64_18085 associate-+l+_binary64_18084 associate-+r+_binary64_18083
Counts
55 → 105
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0107698
1282666
2812600
32492600

prune92.0ms (1.6%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New1041105
Fresh101
Picked011
Done011
Total1053108
Error
0b
Counts
108 → 3
Compiler

Compiled 1868 to 537 computations (71.3% saved)

localize6.0ms (0.1%)

Local error

Found 1 expressions with local error:

0.0b
(/.f64 (exp.f64 (neg.f64 z)) y)

rewrite28.0ms (0.5%)

Algorithm
rewrite-expression-head
Error
0b
Rules
add-cube-cbrt_binary64_18186 add-sqr-sqrt_binary64_18173 times-frac_binary64_18157 *-un-lft-identity_binary64_18151
add-cbrt-cube_binary64_18187 associate-/l*_binary64_18096 associate-/r*_binary64_18095
add-exp-log_binary64_18189 associate-/l/_binary64_18098
pow1_binary64_18212 div-exp_binary64_18202 add-log-exp_binary64_18190 cbrt-undiv_binary64_18185 frac-2neg_binary64_18162 clear-num_binary64_18150 div-inv_binary64_18148 neg-sub0_binary64_18146 exp-diff_binary64_18199 exp-neg_binary64_18198
Counts
1 → 29
Calls

1 calls:

5.0ms
(/.f64 (exp.f64 (neg.f64 z)) y)
Compiler

Compiled 398 to 125 computations (68.6% saved)

series114.0ms (1.9%)

Error
0b
Counts
1 → 8
Calls

1 calls:

108.0ms
(/.f64 (exp.f64 (neg.f64 z)) y)
Compiler

Compiled 195 to 150 computations (23.1% saved)

simplify132.0ms (2.3%)

Algorithm
egg-herbie
Rules
407×associate-*l/_binary64_18094
380×associate-/r/_binary64_18097
322×associate-/r*_binary64_18095
305×div-sub_binary64_18156
297×associate-*r/_binary64_18093
292×associate-*l*_binary64_18092
233×associate-*r*_binary64_18091
142×log-prod_binary64_18237
138×cube-prod_binary64_18179
128×exp-prod_binary64_18203
120×log-div_binary64_18238
115×cube-div_binary64_18180
97×*-commutative_binary64_18082
89×associate-/l/_binary64_18098
86×associate-/l*_binary64_18096
80×times-frac_binary64_18157
53×unswap-sqr_binary64_18119
47×prod-exp_binary64_18200 cancel-sign-sub-inv_binary64_18117
45×exp-sqrt_binary64_18204 exp-sum_binary64_18197
39×sub-neg_binary64_18144
37×exp-diff_binary64_18199 associate-+l-_binary64_18086
34×div-exp_binary64_18202
28×exp-lft-sqr_binary64_18206
26×associate--l-_binary64_18089
24×exp-to-pow_binary64_18213 sqr-pow_binary64_18123 associate-+r-_binary64_18085
18×unpow3_binary64_18217
17×unsub-neg_binary64_18145
16×*-rgt-identity_binary64_18141
15×pow-sqr_binary64_18124
14×neg-sub0_binary64_18146 /-rgt-identity_binary64_18142 distribute-neg-frac_binary64_18115 distribute-neg-out_binary64_18113
13×log-pow_binary64_18240 cube-unmult_binary64_18188 neg-mul-1_binary64_18147 distribute-rgt-neg-in_binary64_18109 +-commutative_binary64_18081
12×pow-plus_binary64_18214 cube-mult_binary64_18181 distribute-lft-out_binary64_18102
11×swap-sqr_binary64_18118 distribute-lft-neg-out_binary64_18110 distribute-lft-neg-in_binary64_18108 associate--r-_binary64_18090
10×log-rec_binary64_18239
*-lft-identity_binary64_18140 distribute-rgt-neg-out_binary64_18111 distribute-rgt-out_binary64_18104
rem-sqrt-square_binary64_18164 associate--r+_binary64_18087 associate-+l+_binary64_18084 associate-+r+_binary64_18083
distribute-rgt1-in_binary64_18107
rec-exp_binary64_18201 exp-neg_binary64_18198 sub0-neg_binary64_18138 distribute-rgt-in_binary64_18101 associate--l+_binary64_18088
distribute-lft-in_binary64_18100
rem-log-exp_binary64_18192 +-rgt-identity_binary64_18136 remove-double-div_binary64_18127 distribute-neg-in_binary64_18112 distribute-lft1-in_binary64_18106 count-2_binary64_18099
remove-double-neg_binary64_18139 distribute-frac-neg_binary64_18114
rem-exp-log_binary64_18191 distribute-rgt-out--_binary64_18105 distribute-lft-out--_binary64_18103
unpow2_binary64_18216 pow-base-1_binary64_18211 unpow1_binary64_18209 1-exp_binary64_18195 exp-1-e_binary64_18194 sqr-neg_binary64_18165 mul0-rgt_binary64_18134 mul0-lft_binary64_18133 div0_binary64_18132 *-inverses_binary64_18131 rgt-mult-inverse_binary64_18128
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_18414 erf-erfc_binary64_18413 erf-odd_binary64_18412 if-if-and-not_binary64_18411 if-if-and_binary64_18410 if-if-or-not_binary64_18409 if-if-or_binary64_18408 if-not_binary64_18407 if-same_binary64_18406 if-false_binary64_18405 if-true_binary64_18404 not-gte_binary64_18403 not-lte_binary64_18402 not-gt_binary64_18401 not-lt_binary64_18400 gte-same_binary64_18399 lte-same_binary64_18398 gt-same_binary64_18397 lt-same_binary64_18396 sinh---cosh_binary64_18343 sinh-+-cosh_binary64_18342 sinh-cosh_binary64_18341 tanh-def-c_binary64_18340 tanh-def-b_binary64_18339 tanh-def-a_binary64_18338 cosh-def_binary64_18337 sinh-def_binary64_18336 tan-neg_binary64_18283 cos-neg_binary64_18282 sin-neg_binary64_18281 tan-0_binary64_18280 cos-0_binary64_18279 sin-0_binary64_18278 hang-m-tan_binary64_18277 hang-p-tan_binary64_18276 hang-m0-tan_binary64_18275 hang-p0-tan_binary64_18274 hang-0m-tan_binary64_18273 hang-0p-tan_binary64_18272 tan-+PI/2_binary64_18271 tan-+PI_binary64_18270 tan-PI_binary64_18269 tan-PI/3_binary64_18268 tan-PI/4_binary64_18267 tan-PI/6_binary64_18266 cos-+PI/2_binary64_18265 cos-+PI_binary64_18264 cos-PI_binary64_18263 cos-PI/2_binary64_18262 cos-PI/3_binary64_18261 cos-PI/4_binary64_18260 cos-PI/6_binary64_18259 sin-+PI/2_binary64_18258 sin-+PI_binary64_18257 sin-PI_binary64_18256 sin-PI/2_binary64_18255 sin-PI/3_binary64_18254 sin-PI/4_binary64_18253 sin-PI/6_binary64_18252 sub-1-sin_binary64_18251 sub-1-cos_binary64_18250 -1-add-sin_binary64_18249 -1-add-cos_binary64_18248 1-sub-sin_binary64_18247 1-sub-cos_binary64_18246 cos-sin-sum_binary64_18245 log-E_binary64_18241 pow-base-0_binary64_18235 unpow1/3_binary64_18218 unpow1/2_binary64_18215 unpow0_binary64_18210 unpow-1_binary64_18208 exp-lft-cube_binary64_18207 exp-cbrt_binary64_18205 e-exp-1_binary64_18196 exp-0_binary64_18193 cube-neg_binary64_18178 rem-3cbrt-rft_binary64_18177 rem-3cbrt-lft_binary64_18176 rem-cbrt-cube_binary64_18175 rem-cube-cbrt_binary64_18174 sqr-abs_binary64_18166 rem-square-sqrt_binary64_18163 mul-1-neg_binary64_18143 --rgt-identity_binary64_18137 +-lft-identity_binary64_18135 +-inverses_binary64_18130 lft-mult-inverse_binary64_18129 difference-of-sqr--1_binary64_18122 difference-of-sqr-1_binary64_18121 difference-of-squares_binary64_18120 cancel-sign-sub_binary64_18116
Counts
37 → 25
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
066519
1122485
2311476
3822476
43531476

prune23.0ms (0.4%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New25025
Fresh000
Picked011
Done022
Total25328
Error
0b
Counts
28 → 3
Compiler

Compiled 375 to 118 computations (68.5% saved)

regimes181.0ms (3.1%)

Accuracy

Total 1.1b remaining (99.3%)

Threshold costs 0b (0%)

Compiler

Compiled 1239 to 1016 computations (18% saved)

bsearch0.0ms (0%)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary64_18081
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_18411 if-if-and_binary64_18410 if-if-or-not_binary64_18409 if-if-or_binary64_18408 if-not_binary64_18407 if-same_binary64_18406 if-false_binary64_18405 if-true_binary64_18404 tan-0_binary64_18280 cos-0_binary64_18279 sin-0_binary64_18278 unpow1_binary64_18209 e-exp-1_binary64_18196 1-exp_binary64_18195 exp-1-e_binary64_18194 exp-0_binary64_18193 sqr-abs_binary64_18166 sqr-neg_binary64_18165 neg-mul-1_binary64_18147 neg-sub0_binary64_18146 unsub-neg_binary64_18145 sub-neg_binary64_18144 mul-1-neg_binary64_18143 /-rgt-identity_binary64_18142 *-rgt-identity_binary64_18141 *-lft-identity_binary64_18140 remove-double-neg_binary64_18139 sub0-neg_binary64_18138 --rgt-identity_binary64_18137 +-rgt-identity_binary64_18136 +-lft-identity_binary64_18135 cancel-sign-sub-inv_binary64_18117 cancel-sign-sub_binary64_18116 distribute-neg-frac_binary64_18115 distribute-frac-neg_binary64_18114 distribute-neg-out_binary64_18113 distribute-neg-in_binary64_18112 distribute-rgt-neg-out_binary64_18111 distribute-lft-neg-out_binary64_18110 distribute-rgt-neg-in_binary64_18109 distribute-lft-neg-in_binary64_18108 *-commutative_binary64_18082
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01120
11320
Proof
(+ f64 h0 (/ f64 (pow f64 (exp f64 h1) (log f64 (/ f64 h1 (+ f64 h1 h2)))) h1))

end0.0ms (0%)

sample1.9s (32.2%)

Algorithm
intervals
Results
409.0ms6250×body128valid
346.0ms884×body1024valid
145.0ms563×body512valid
65.0ms179×body1024invalid
60.0ms239×body512invalid
49.0ms1082×body128nan
48.0ms301×body256valid
28.0ms449×body128invalid
22.0ms158×body256invalid
2.0msbody2048valid
Compiler

Compiled 293 to 236 computations (19.5% saved)

Profiling

Loading profile data...