Details

Time bar (total: 14.2s)

analyze877.0ms (6.2%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.8%0.2%0
0%99.8%0.2%1
0%99.8%0.2%2
0%99.8%0.2%3
0%99.8%0.2%4
0%99.8%0.2%5
0%99.8%0.2%6
0%99.8%0.2%7
0%99.8%0.2%8
0%99.8%0.2%9
0%99.8%0.2%10
16.4%83.4%0.2%11
19.9%79.9%0.2%12
21.6%77.2%1.2%13
24.8%73.7%1.4%14
Compiler

Compiled 10 to 10 computations (0% saved)

sample34.0ms (0.2%)

Algorithm
intervals
Results
8.0ms256×body128valid
3.0ms102×body128invalid
Compiler

Compiled 19 to 24 computations (-26.3% saved)

simplify891.0ms (6.3%)

Algorithm
egg-herbie
Rules
533×associate-/l*_binary64_18096
367×associate-*l*_binary64_18092
360×distribute-rgt-out_binary64_18104
345×associate-*r*_binary64_18091
322×associate-/l/_binary64_18098
304×distribute-rgt-out--_binary64_18105
294×distribute-lft-out_binary64_18102
260×distribute-lft-out--_binary64_18103
191×cancel-sign-sub-inv_binary64_18117
95×times-frac_binary64_18157
67×associate-/r*_binary64_18095
48×distribute-rgt-neg-in_binary64_18109
44×associate-*l/_binary64_18094
42×sub-neg_binary64_18144
38×distribute-lft-neg-in_binary64_18108
37×distribute-rgt-in_binary64_18101
36×div-sub_binary64_18156 associate-*r/_binary64_18093
34×associate-/r/_binary64_18097
22×neg-mul-1_binary64_18147
20×neg-sub0_binary64_18146
19×distribute-rgt1-in_binary64_18107
18×distribute-neg-in_binary64_18112 *-commutative_binary64_18082
17×distribute-neg-frac_binary64_18115
15×unsub-neg_binary64_18145
14×distribute-lft-in_binary64_18100
10×+-commutative_binary64_18081
distribute-lft-neg-out_binary64_18110 associate-+l-_binary64_18086
sub0-neg_binary64_18138 +-rgt-identity_binary64_18136 associate--r+_binary64_18087 associate-+r-_binary64_18085
--rgt-identity_binary64_18137
remove-double-neg_binary64_18139 mul0-rgt_binary64_18134 mul0-lft_binary64_18133 count-2_binary64_18099 associate-+r+_binary64_18083
div0_binary64_18132 distribute-lft1-in_binary64_18106
associate-+l+_binary64_18084
1-exp_binary64_18195 +-lft-identity_binary64_18135 distribute-rgt-neg-out_binary64_18111 associate--r-_binary64_18090
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 log-pow_binary64_18240 log-rec_binary64_18239 log-div_binary64_18238 log-prod_binary64_18237 pow-base-0_binary64_18235 unpow1/3_binary64_18218 unpow3_binary64_18217 unpow2_binary64_18216 unpow1/2_binary64_18215 pow-plus_binary64_18214 exp-to-pow_binary64_18213 pow-base-1_binary64_18211 unpow0_binary64_18210 unpow1_binary64_18209 unpow-1_binary64_18208 exp-lft-cube_binary64_18207 exp-lft-sqr_binary64_18206 exp-cbrt_binary64_18205 exp-sqrt_binary64_18204 exp-prod_binary64_18203 div-exp_binary64_18202 rec-exp_binary64_18201 prod-exp_binary64_18200 exp-diff_binary64_18199 exp-neg_binary64_18198 exp-sum_binary64_18197 e-exp-1_binary64_18196 exp-1-e_binary64_18194 exp-0_binary64_18193 rem-log-exp_binary64_18192 rem-exp-log_binary64_18191 cube-unmult_binary64_18188 cube-mult_binary64_18181 cube-div_binary64_18180 cube-prod_binary64_18179 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-sqrt-square_binary64_18164 rem-square-sqrt_binary64_18163 mul-1-neg_binary64_18143 /-rgt-identity_binary64_18142 *-rgt-identity_binary64_18141 *-lft-identity_binary64_18140 *-inverses_binary64_18131 +-inverses_binary64_18130 lft-mult-inverse_binary64_18129 rgt-mult-inverse_binary64_18128 remove-double-div_binary64_18127 pow-sqr_binary64_18124 sqr-pow_binary64_18123 difference-of-sqr--1_binary64_18122 difference-of-sqr-1_binary64_18121 difference-of-squares_binary64_18120 unswap-sqr_binary64_18119 swap-sqr_binary64_18118 cancel-sign-sub_binary64_18116 distribute-frac-neg_binary64_18114 distribute-neg-out_binary64_18113 associate--l-_binary64_18089 associate--l+_binary64_18088
Counts
1 → 0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01013
12013
24013
36613
413313
518513
635913

prune2.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New000
Fresh011
Picked000
Done000
Total011
Error
7.2b
Counts
1 → 1
Compiler

Compiled 9 to 9 computations (0% saved)

localize7.0ms (0.1%)

Local error

Found 2 expressions with local error:

0.0b
(-.f64 (*.f64 x y) (*.f64 z t))
6.8b
(/.f64 (-.f64 (*.f64 x y) (*.f64 z t)) a)

rewrite62.0ms (0.4%)

Algorithm
rewrite-expression-head
Error
7.0b
Rules
10×add-cube-cbrt_binary64_18186 add-sqr-sqrt_binary64_18173 *-un-lft-identity_binary64_18151
times-frac_binary64_18157
add-exp-log_binary64_18189 add-log-exp_binary64_18190 add-cbrt-cube_binary64_18187
associate-/l*_binary64_18096 associate-/r*_binary64_18095
pow1_binary64_18212 flip3--_binary64_18155 associate-/l/_binary64_18098 flip--_binary64_18126
div-exp_binary64_18202 cbrt-undiv_binary64_18185 frac-2neg_binary64_18162 div-sub_binary64_18156 clear-num_binary64_18150 div-inv_binary64_18148 diff-log_binary64_18243 sub-neg_binary64_18144 cancel-sign-sub-inv_binary64_18117
Counts
2 → 42
Calls

2 calls:

6.0ms
(/.f64 (-.f64 (*.f64 x y) (*.f64 z t)) a)
4.0ms
(-.f64 (*.f64 x y) (*.f64 z t))
Compiler

Compiled 797 to 150 computations (81.2% saved)

series697.0ms (4.9%)

Error
7.1b
Counts
2 → 51
Calls

2 calls:

449.0ms
(/.f64 (-.f64 (*.f64 x y) (*.f64 z t)) a)
220.0ms
(-.f64 (*.f64 x y) (*.f64 z t))
Compiler

Compiled 1095 to 752 computations (31.3% saved)

simplify200.0ms (1.4%)

Algorithm
egg-herbie
Rules
645×distribute-rgt-in_binary64_18101
583×distribute-lft-in_binary64_18100
308×associate-*l*_binary64_18092
231×associate-*r*_binary64_18091
220×div-sub_binary64_18156
196×cancel-sign-sub-inv_binary64_18117
178×associate-*l/_binary64_18094
164×distribute-lft-neg-out_binary64_18110
163×distribute-rgt-neg-out_binary64_18111
128×distribute-rgt-neg-in_binary64_18109 associate-*r/_binary64_18093
113×associate-/l*_binary64_18096
110×distribute-lft-neg-in_binary64_18108
89×*-commutative_binary64_18082
85×associate-/l/_binary64_18098
80×exp-prod_binary64_18203
71×times-frac_binary64_18157
70×distribute-neg-frac_binary64_18115
67×sqr-pow_binary64_18123
66×distribute-frac-neg_binary64_18114
65×sub-neg_binary64_18144
59×neg-sub0_binary64_18146 unsub-neg_binary64_18145
55×distribute-rgt-out_binary64_18104 associate-/r/_binary64_18097
52×associate-/r*_binary64_18095
49×cube-prod_binary64_18179 neg-mul-1_binary64_18147
40×unswap-sqr_binary64_18119
38×swap-sqr_binary64_18118
36×difference-of-squares_binary64_18120
30×cube-div_binary64_18180 distribute-lft-out_binary64_18102
28×*-lft-identity_binary64_18140 pow-sqr_binary64_18124
25×exp-sum_binary64_18197
21×+-commutative_binary64_18081
17×/-rgt-identity_binary64_18142
16×exp-diff_binary64_18199
15×log-prod_binary64_18237
13×distribute-neg-in_binary64_18112
11×*-rgt-identity_binary64_18141
10×unpow3_binary64_18217 div-exp_binary64_18202 cube-mult_binary64_18181 mul-1-neg_binary64_18143 distribute-neg-out_binary64_18113
prod-exp_binary64_18200 mul0-lft_binary64_18133
mul0-rgt_binary64_18134 distribute-rgt-out--_binary64_18105
log-div_binary64_18238
cube-unmult_binary64_18188 remove-double-neg_binary64_18139 associate-+l-_binary64_18086 associate-+r-_binary64_18085 associate-+r+_binary64_18083
+-rgt-identity_binary64_18136 associate-+l+_binary64_18084
sqr-neg_binary64_18165 sub0-neg_binary64_18138
rec-exp_binary64_18201 cube-neg_binary64_18178 div0_binary64_18132 associate--r+_binary64_18087
associate--r-_binary64_18090
log-pow_binary64_18240 log-rec_binary64_18239 pow-plus_binary64_18214 1-exp_binary64_18195 rem-log-exp_binary64_18192 --rgt-identity_binary64_18137 distribute-rgt1-in_binary64_18107 distribute-lft-out--_binary64_18103 associate--l-_binary64_18089
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-to-pow_binary64_18213 pow-base-1_binary64_18211 unpow0_binary64_18210 unpow1_binary64_18209 unpow-1_binary64_18208 exp-lft-cube_binary64_18207 exp-lft-sqr_binary64_18206 exp-cbrt_binary64_18205 exp-sqrt_binary64_18204 exp-neg_binary64_18198 e-exp-1_binary64_18196 exp-1-e_binary64_18194 exp-0_binary64_18193 rem-exp-log_binary64_18191 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-sqrt-square_binary64_18164 rem-square-sqrt_binary64_18163 +-lft-identity_binary64_18135 *-inverses_binary64_18131 +-inverses_binary64_18130 lft-mult-inverse_binary64_18129 rgt-mult-inverse_binary64_18128 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 count-2_binary64_18099 associate--l+_binary64_18088
Counts
93 → 165
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0891380
12371303
27031303
323181303

prune135.0ms (1%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New1569165
Fresh000
Picked101
Done000
Total1579166
Error
0.0b
Counts
166 → 9
Compiler

Compiled 2608 to 386 computations (85.2% saved)

localize9.0ms (0.1%)

Local error

Found 3 expressions with local error:

0.0b
(-.f64 (*.f64 x y) (*.f64 t z))
0.4b
(/.f64 1 (/.f64 a (-.f64 (*.f64 x y) (*.f64 t z))))
6.8b
(/.f64 a (-.f64 (*.f64 x y) (*.f64 t z)))

rewrite161.0ms (1.1%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
90×times-frac_binary64_18157
55×add-cube-cbrt_binary64_18186 add-sqr-sqrt_binary64_18173 *-un-lft-identity_binary64_18151
18×associate-/r*_binary64_18095
16×add-exp-log_binary64_18189
11×associate-/r/_binary64_18097
10×add-cbrt-cube_binary64_18187
div-exp_binary64_18202
div-inv_binary64_18148 flip3--_binary64_18155 flip--_binary64_18126 associate-/l*_binary64_18096
add-log-exp_binary64_18190
pow1_binary64_18212 cbrt-undiv_binary64_18185
frac-2neg_binary64_18162 clear-num_binary64_18150 1-exp_binary64_18195 rec-exp_binary64_18201
inv-pow_binary64_18236 pow-flip_binary64_18225 diff-log_binary64_18243 sub-neg_binary64_18144 cancel-sign-sub-inv_binary64_18117
Counts
3 → 125
Calls

3 calls:

8.0ms
(/.f64 1 (/.f64 a (-.f64 (*.f64 x y) (*.f64 t z))))
5.0ms
(/.f64 a (-.f64 (*.f64 x y) (*.f64 t z)))
4.0ms
(-.f64 (*.f64 x y) (*.f64 t z))
Compiler

Compiled 3006 to 798 computations (73.5% saved)

series1.1s (7.8%)

Error
0.0b
Counts
3 → 78
Calls

3 calls:

475.0ms
(/.f64 1 (/.f64 a (-.f64 (*.f64 x y) (*.f64 t z))))
369.0ms
(/.f64 a (-.f64 (*.f64 x y) (*.f64 t z)))
224.0ms
(-.f64 (*.f64 x y) (*.f64 t z))
Compiler

Compiled 2496 to 1820 computations (27.1% saved)

simplify773.0ms (5.4%)

Algorithm
egg-herbie
Rules
404×associate-/r*_binary64_18095
395×associate-/r/_binary64_18097
364×div-sub_binary64_18156
318×*-commutative_binary64_18082
317×cancel-sign-sub-inv_binary64_18117
252×unswap-sqr_binary64_18119
211×unsub-neg_binary64_18145
164×distribute-rgt-in_binary64_18101
160×distribute-lft-in_binary64_18100
146×associate-/l*_binary64_18096
145×associate-/l/_binary64_18098
144×neg-mul-1_binary64_18147
140×neg-sub0_binary64_18146
110×times-frac_binary64_18157 sub-neg_binary64_18144
107×exp-prod_binary64_18203
95×sqr-pow_binary64_18123
86×associate-*l/_binary64_18094
82×distribute-rgt-neg-in_binary64_18109
75×distribute-lft-neg-in_binary64_18108
66×*-rgt-identity_binary64_18141
62×associate-*r*_binary64_18091
58×cube-prod_binary64_18179
57×associate-*l*_binary64_18092
52×associate-*r/_binary64_18093
51×exp-sum_binary64_18197
46×pow-sqr_binary64_18124 distribute-neg-frac_binary64_18115
44×difference-of-squares_binary64_18120
41×distribute-lft-neg-out_binary64_18110
33×*-lft-identity_binary64_18140 swap-sqr_binary64_18118
31×/-rgt-identity_binary64_18142
30×mul0-lft_binary64_18133
29×mul0-rgt_binary64_18134
28×log-prod_binary64_18237 distribute-rgt-neg-out_binary64_18111
27×+-commutative_binary64_18081
26×exp-diff_binary64_18199
22×sub0-neg_binary64_18138
19×pow-plus_binary64_18214
17×log-div_binary64_18238 distribute-rgt-out_binary64_18104
16×associate--l-_binary64_18089
15×associate-+l-_binary64_18086
13×cube-div_binary64_18180
11×div0_binary64_18132
10×+-lft-identity_binary64_18135
unpow3_binary64_18217 cube-mult_binary64_18181 distribute-neg-out_binary64_18113 distribute-neg-in_binary64_18112
remove-double-neg_binary64_18139 distribute-frac-neg_binary64_18114 distribute-lft-out_binary64_18102 associate-+r-_binary64_18085
log-rec_binary64_18239 exp-lft-sqr_binary64_18206
exp-neg_binary64_18198 +-rgt-identity_binary64_18136
cube-unmult_binary64_18188 mul-1-neg_binary64_18143 remove-double-div_binary64_18127 associate--r-_binary64_18090 associate--r+_binary64_18087
unpow2_binary64_18216 unpow1_binary64_18209 cube-neg_binary64_18178 sqr-neg_binary64_18165 distribute-rgt-out--_binary64_18105 associate-+r+_binary64_18083
log-pow_binary64_18240 associate-+l+_binary64_18084
exp-to-pow_binary64_18213 exp-sqrt_binary64_18204 div-exp_binary64_18202 cancel-sign-sub_binary64_18116 distribute-rgt1-in_binary64_18107
pow-base-1_binary64_18211 rec-exp_binary64_18201 prod-exp_binary64_18200 1-exp_binary64_18195 exp-1-e_binary64_18194 rem-log-exp_binary64_18192 rem-cbrt-cube_binary64_18175 rem-sqrt-square_binary64_18164 --rgt-identity_binary64_18137 *-inverses_binary64_18131 rgt-mult-inverse_binary64_18128 count-2_binary64_18099 associate--l+_binary64_18088
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 rem-exp-log_binary64_18191 rem-3cbrt-rft_binary64_18177 rem-3cbrt-lft_binary64_18176 rem-cube-cbrt_binary64_18174 sqr-abs_binary64_18166 rem-square-sqrt_binary64_18163 +-inverses_binary64_18130 lft-mult-inverse_binary64_18129 difference-of-sqr--1_binary64_18122 difference-of-sqr-1_binary64_18121 distribute-lft1-in_binary64_18106 distribute-lft-out--_binary64_18103
Counts
203 → 661
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02124721
14944500
219203938
333923938

prune899.0ms (6.3%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New6610661
Fresh088
Picked011
Done000
Total6619670
Error
0.0b
Counts
670 → 9
Compiler

Compiled 17729 to 4745 computations (73.2% saved)

localize9.0ms (0.1%)

Local error

Found 3 expressions with local error:

0.0b
(-.f64 (/.f64 (*.f64 x y) a) (/.f64 t (/.f64 a z)))
4.7b
(/.f64 t (/.f64 a z))
5.5b
(/.f64 (*.f64 x y) a)

rewrite191.0ms (1.3%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
147×times-frac_binary64_18157
91×add-sqr-sqrt_binary64_18173
84×*-un-lft-identity_binary64_18151
82×add-cube-cbrt_binary64_18186
44×cancel-sign-sub-inv_binary64_18117
16×associate-/r*_binary64_18095
13×add-exp-log_binary64_18189 add-cbrt-cube_binary64_18187
10×div-inv_binary64_18148
div-exp_binary64_18202 add-log-exp_binary64_18190 cbrt-undiv_binary64_18185
associate-/l*_binary64_18096
pow1_binary64_18212 difference-of-squares_binary64_18120
frac-2neg_binary64_18162 clear-num_binary64_18150 associate-/r/_binary64_18097
prod-exp_binary64_18200 cbrt-unprod_binary64_18184 diff-log_binary64_18243 frac-sub_binary64_18160 flip3--_binary64_18155 sub-neg_binary64_18144 flip--_binary64_18126 distribute-lft-out--_binary64_18103
Counts
3 → 151
Calls

3 calls:

28.0ms
(-.f64 (/.f64 (*.f64 x y) a) (/.f64 t (/.f64 a z)))
6.0ms
(/.f64 t (/.f64 a z))
4.0ms
(/.f64 (*.f64 x y) a)
Compiler

Compiled 3172 to 710 computations (77.6% saved)

series811.0ms (5.7%)

Error
0.0b
Counts
3 → 45
Calls

3 calls:

487.0ms
(-.f64 (/.f64 (*.f64 x y) a) (/.f64 t (/.f64 a z)))
154.0ms
(/.f64 t (/.f64 a z))
149.0ms
(/.f64 (*.f64 x y) a)
Compiler

Compiled 1221 to 785 computations (35.7% saved)

simplify659.0ms (4.6%)

Algorithm
egg-herbie
Rules
338×div-sub_binary64_18156
319×distribute-rgt-neg-in_binary64_18109
281×associate-*l/_binary64_18094
269×distribute-lft-neg-out_binary64_18110
266×distribute-neg-frac_binary64_18115
240×associate-/l*_binary64_18096
229×*-commutative_binary64_18082
225×cancel-sign-sub-inv_binary64_18117
223×associate-*r/_binary64_18093
192×associate-/r/_binary64_18097
188×distribute-rgt-neg-out_binary64_18111
179×associate-*r*_binary64_18091
176×associate-/l/_binary64_18098
174×neg-sub0_binary64_18146
157×associate-*l*_binary64_18092
140×neg-mul-1_binary64_18147
130×sub-neg_binary64_18144 distribute-frac-neg_binary64_18114
93×times-frac_binary64_18157
55×associate-/r*_binary64_18095
43×exp-prod_binary64_18203
36×log-div_binary64_18238
35×*-rgt-identity_binary64_18141 distribute-lft-neg-in_binary64_18108
34×cube-div_binary64_18180 /-rgt-identity_binary64_18142
27×log-prod_binary64_18237 *-lft-identity_binary64_18140
26×cube-prod_binary64_18179 sqr-pow_binary64_18123
23×+-commutative_binary64_18081
22×swap-sqr_binary64_18118
18×unswap-sqr_binary64_18119
17×div-exp_binary64_18202
16×prod-exp_binary64_18200
13×div0_binary64_18132
10×unpow3_binary64_18217
pow-sqr_binary64_18124
cube-unmult_binary64_18188
cube-mult_binary64_18181
associate-+r-_binary64_18085
log-rec_binary64_18239 rec-exp_binary64_18201 mul-1-neg_binary64_18143 distribute-neg-in_binary64_18112 distribute-rgt-in_binary64_18101 distribute-lft-in_binary64_18100
exp-diff_binary64_18199 exp-sum_binary64_18197 rem-square-sqrt_binary64_18163 +-rgt-identity_binary64_18136 remove-double-div_binary64_18127 difference-of-squares_binary64_18120 associate-+l+_binary64_18084
rem-3cbrt-lft_binary64_18176 unsub-neg_binary64_18145 associate--l+_binary64_18088 associate-+r+_binary64_18083
log-pow_binary64_18240 pow-plus_binary64_18214 1-exp_binary64_18195 rem-log-exp_binary64_18192 rem-sqrt-square_binary64_18164 remove-double-neg_binary64_18139 cancel-sign-sub_binary64_18116 distribute-rgt-out_binary64_18104 associate--r-_binary64_18090 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-to-pow_binary64_18213 pow-base-1_binary64_18211 unpow0_binary64_18210 unpow1_binary64_18209 unpow-1_binary64_18208 exp-lft-cube_binary64_18207 exp-lft-sqr_binary64_18206 exp-cbrt_binary64_18205 exp-sqrt_binary64_18204 exp-neg_binary64_18198 e-exp-1_binary64_18196 exp-1-e_binary64_18194 exp-0_binary64_18193 rem-exp-log_binary64_18191 cube-neg_binary64_18178 rem-3cbrt-rft_binary64_18177 rem-cbrt-cube_binary64_18175 rem-cube-cbrt_binary64_18174 sqr-abs_binary64_18166 sqr-neg_binary64_18165 sub0-neg_binary64_18138 --rgt-identity_binary64_18137 +-lft-identity_binary64_18135 mul0-rgt_binary64_18134 mul0-lft_binary64_18133 *-inverses_binary64_18131 +-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 distribute-neg-out_binary64_18113 distribute-rgt1-in_binary64_18107 distribute-lft1-in_binary64_18106 distribute-rgt-out--_binary64_18105 distribute-lft-out--_binary64_18103 distribute-lft-out_binary64_18102 count-2_binary64_18099 associate--l-_binary64_18089 associate-+l-_binary64_18086
Counts
196 → 609
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03143416
19003374
235212927

prune530.0ms (3.7%)

Pruning

11 alts after pruning (9 fresh and 2 done)

PrunedKeptTotal
New6063609
Fresh167
Picked011
Done011
Total60711618
Error
0b
Counts
618 → 11
Compiler

Compiled 12761 to 1552 computations (87.8% saved)

localize13.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.6b
(cbrt.f64 a)
1.8b
(/.f64 (*.f64 (/.f64 x (cbrt.f64 a)) (/.f64 y (cbrt.f64 a))) (cbrt.f64 a))
3.8b
(*.f64 (/.f64 x (cbrt.f64 a)) (/.f64 y (cbrt.f64 a)))
4.7b
(/.f64 t (/.f64 a z))

rewrite251.0ms (1.8%)

Algorithm
rewrite-expression-head
Error
0b
Rules
129×times-frac_binary64_18157
107×add-sqr-sqrt_binary64_18173
77×add-cube-cbrt_binary64_18186 *-un-lft-identity_binary64_18151
39×add-exp-log_binary64_18189
33×cbrt-prod_binary64_18182
26×add-cbrt-cube_binary64_18187
22×associate-*l*_binary64_18092 associate-*r*_binary64_18091
19×associate-/r*_binary64_18095
16×div-exp_binary64_18202 cbrt-undiv_binary64_18185
unswap-sqr_binary64_18119
div-inv_binary64_18148 prod-exp_binary64_18200 cbrt-unprod_binary64_18184
pow1_binary64_18212
add-log-exp_binary64_18190 associate-/l*_binary64_18096
associate-/l/_binary64_18098
frac-2neg_binary64_18162 clear-num_binary64_18150 frac-times_binary64_18161 associate-*l/_binary64_18094 associate-*r/_binary64_18093
associate-/r/_binary64_18097 pow-prod-down_binary64_18222 *-commutative_binary64_18082 pow1/3_binary64_18233
Counts
4 → 190
Calls

4 calls:

18.0ms
(*.f64 (/.f64 x (cbrt.f64 a)) (/.f64 y (cbrt.f64 a)))
11.0ms
(/.f64 (*.f64 (/.f64 x (cbrt.f64 a)) (/.f64 y (cbrt.f64 a))) (cbrt.f64 a))
6.0ms
(/.f64 t (/.f64 a z))
1.0ms
(cbrt.f64 a)
Compiler

Compiled 5055 to 931 computations (81.6% saved)

series1.1s (7.5%)

Error
0b
Counts
4 → 30
Calls

4 calls:

604.0ms
(*.f64 (/.f64 x (cbrt.f64 a)) (/.f64 y (cbrt.f64 a)))
185.0ms
(/.f64 (*.f64 (/.f64 x (cbrt.f64 a)) (/.f64 y (cbrt.f64 a))) (cbrt.f64 a))
142.0ms
(/.f64 t (/.f64 a z))
111.0ms
(cbrt.f64 a)
Compiler

Compiled 1545 to 992 computations (35.8% saved)

simplify630.0ms (4.4%)

Algorithm
egg-herbie
Rules
368×associate-/l*_binary64_18096
267×associate-*l/_binary64_18094
239×associate-/l/_binary64_18098
234×cancel-sign-sub-inv_binary64_18117
229×associate-*r/_binary64_18093
228×times-frac_binary64_18157
193×*-commutative_binary64_18082
177×sqr-pow_binary64_18123
175×associate-/r/_binary64_18097
170×associate-/r*_binary64_18095
162×associate-*l*_binary64_18092
139×associate-*r*_binary64_18091
135×log-prod_binary64_18237
133×log-div_binary64_18238
131×sub-neg_binary64_18144
117×cube-div_binary64_18180
115×cube-prod_binary64_18179
90×unswap-sqr_binary64_18119
78×div-sub_binary64_18156
72×neg-mul-1_binary64_18147 swap-sqr_binary64_18118
70×pow-sqr_binary64_18124
68×exp-prod_binary64_18203 *-rgt-identity_binary64_18141
65×neg-sub0_binary64_18146 distribute-neg-frac_binary64_18115
59×distribute-lft-neg-in_binary64_18108
58×distribute-rgt-neg-in_binary64_18109
47×/-rgt-identity_binary64_18142
45×unpow3_binary64_18217
41×*-lft-identity_binary64_18140
40×cube-mult_binary64_18181
33×associate--l+_binary64_18088
32×unsub-neg_binary64_18145
26×pow-plus_binary64_18214
25×associate-+l-_binary64_18086
23×associate-+l+_binary64_18084 associate-+r+_binary64_18083
21×cube-unmult_binary64_18188
19×associate--r+_binary64_18087
17×log-pow_binary64_18240 +-commutative_binary64_18081
16×div-exp_binary64_18202 prod-exp_binary64_18200 associate--l-_binary64_18089
14×associate-+r-_binary64_18085
13×log-rec_binary64_18239
10×associate--r-_binary64_18090
rem-sqrt-square_binary64_18164 distribute-neg-in_binary64_18112
distribute-rgt-in_binary64_18101
distribute-lft-in_binary64_18100
div0_binary64_18132
rec-exp_binary64_18201 remove-double-neg_binary64_18139 sub0-neg_binary64_18138 distribute-frac-neg_binary64_18114
unpow1/3_binary64_18218 mul-1-neg_binary64_18143 remove-double-div_binary64_18127 count-2_binary64_18099
unpow2_binary64_18216 unpow1_binary64_18209 *-inverses_binary64_18131
pow-base-1_binary64_18211 exp-sqrt_binary64_18204 exp-diff_binary64_18199 1-exp_binary64_18195 exp-1-e_binary64_18194 rem-log-exp_binary64_18192 rem-3cbrt-rft_binary64_18177 rem-3cbrt-lft_binary64_18176 rem-cbrt-cube_binary64_18175 rem-cube-cbrt_binary64_18174 --rgt-identity_binary64_18137 mul0-rgt_binary64_18134 mul0-lft_binary64_18133 rgt-mult-inverse_binary64_18128 distribute-rgt-neg-out_binary64_18111 distribute-lft-neg-out_binary64_18110 distribute-rgt-out_binary64_18104 distribute-lft-out_binary64_18102
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/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-neg_binary64_18198 exp-sum_binary64_18197 e-exp-1_binary64_18196 exp-0_binary64_18193 rem-exp-log_binary64_18191 cube-neg_binary64_18178 sqr-abs_binary64_18166 sqr-neg_binary64_18165 rem-square-sqrt_binary64_18163 +-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 distribute-neg-out_binary64_18113 distribute-rgt1-in_binary64_18107 distribute-lft1-in_binary64_18106 distribute-rgt-out--_binary64_18105 distribute-lft-out--_binary64_18103
Counts
220 → 506
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03424174
18403453
234403390
340193390

prune542.0ms (3.8%)

Pruning

11 alts after pruning (8 fresh and 3 done)

PrunedKeptTotal
New5060506
Fresh088
Picked011
Done022
Total50611517
Error
0b
Counts
517 → 11
Compiler

Compiled 13586 to 2280 computations (83.2% saved)

regimes1.9s (13.5%)

Accuracy

Total 0.8b remaining (99.6%)

Threshold costs 0.8b (99.6%)

Compiler

Compiled 12463 to 8427 computations (32.4% saved)

bsearch3.0ms (0%)

Compiler

Compiled 7 to 8 computations (-14.3% saved)

simplify7.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64_18082
sub-neg_binary64_18144 +-commutative_binary64_18081
neg-mul-1_binary64_18147 neg-sub0_binary64_18146
cancel-sign-sub-inv_binary64_18117 distribute-rgt-neg-in_binary64_18109
if-if-or-not_binary64_18409 distribute-neg-frac_binary64_18115 distribute-lft-neg-out_binary64_18110 distribute-lft-neg-in_binary64_18108
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_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 unsub-neg_binary64_18145 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_binary64_18116 distribute-frac-neg_binary64_18114 distribute-neg-out_binary64_18113 distribute-neg-in_binary64_18112 distribute-rgt-neg-out_binary64_18111
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02261
13561
24961
35761
46261
56361
Proof
(=> (if real (<= f64 (- f64 (* f64 h0 h1) (* f64 h2 h3)) -26682022131357653180299280122931020521310370807337605572763353183815713322303017991199194036894276429554786110726721566835701101385436380765430965613422455973970351382875657250917406402309129486940201477411453756031888263058101353493300151452987883078464045425098752) (- f64 (* f64 h0 (/ f64 h1 h4)) (/ f64 h3 (/ f64 h4 h2))) (if real (<= f64 (- f64 (* f64 h0 h1) (* f64 h2 h3)) 2169489614074782769620514205706361119272486573717921109616092993654855128450244625010349691216481265240157815264883936367448720997584649130566259071729634409807933563351098644082245372044935025913757696) (/ f64 (- f64 (* f64 h0 h1) (* f64 h2 h3)) h4) (- f64 (* f64 h0 (/ f64 h1 h4)) (/ f64 h3 (/ f64 h4 h2)))))) if-if-or-not_binary64_18409 => (if real (or real (<= f64 (- f64 (* f64 h0 h1) (* f64 h2 h3)) -26682022131357653180299280122931020521310370807337605572763353183815713322303017991199194036894276429554786110726721566835701101385436380765430965613422455973970351382875657250917406402309129486940201477411453756031888263058101353493300151452987883078464045425098752) (not real (<= f64 (- f64 (* f64 h0 h1) (* f64 h2 h3)) 2169489614074782769620514205706361119272486573717921109616092993654855128450244625010349691216481265240157815264883936367448720997584649130566259071729634409807933563351098644082245372044935025913757696))) (- f64 (* f64 h0 (/ f64 h1 h4)) (/ f64 h3 (/ f64 h4 h2))) (/ f64 (- f64 (* f64 h0 h1) (* f64 h2 h3)) h4))

end0.0ms (0%)

sample1.7s (12.2%)

Algorithm
intervals
Results
269.0ms8000×body128valid
107.0ms3007×body128invalid
Compiler

Compiled 1234 to 830 computations (32.7% saved)

Profiling

Loading profile data...