Details

Time bar (total: 7.8s)

analyze30.0ms (0.4%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
50%50%0.1%3
50%50%0.1%4
74.9%25%0.1%5
74.9%25%0.1%6
87.4%12.5%0.1%7
87.4%12.5%0.1%8
93.7%6.2%0.1%9
93.7%6.2%0.1%10
96.8%3.1%0.1%11
96.8%3.1%0.1%12
98.3%1.6%0.1%13
98.3%1.6%0.1%14
Compiler

Compiled 7 to 7 computations (0% saved)

sample16.0ms (0.2%)

Algorithm
intervals
Results
7.0ms256×body128valid
Compiler

Compiled 13 to 15 computations (-15.4% saved)

simplify94.0ms (1.2%)

Algorithm
egg-herbie
Rules
associate-/r*_binary64_2068
*-commutative_binary64_2055
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_2387 erf-erfc_binary64_2386 erf-odd_binary64_2385 if-if-and-not_binary64_2384 if-if-and_binary64_2383 if-if-or-not_binary64_2382 if-if-or_binary64_2381 if-not_binary64_2380 if-same_binary64_2379 if-false_binary64_2378 if-true_binary64_2377 not-gte_binary64_2376 not-lte_binary64_2375 not-gt_binary64_2374 not-lt_binary64_2373 gte-same_binary64_2372 lte-same_binary64_2371 gt-same_binary64_2370 lt-same_binary64_2369 sinh---cosh_binary64_2316 sinh-+-cosh_binary64_2315 sinh-cosh_binary64_2314 tanh-def-c_binary64_2313 tanh-def-b_binary64_2312 tanh-def-a_binary64_2311 cosh-def_binary64_2310 sinh-def_binary64_2309 tan-neg_binary64_2256 cos-neg_binary64_2255 sin-neg_binary64_2254 tan-0_binary64_2253 cos-0_binary64_2252 sin-0_binary64_2251 hang-m-tan_binary64_2250 hang-p-tan_binary64_2249 hang-m0-tan_binary64_2248 hang-p0-tan_binary64_2247 hang-0m-tan_binary64_2246 hang-0p-tan_binary64_2245 tan-+PI/2_binary64_2244 tan-+PI_binary64_2243 tan-PI_binary64_2242 tan-PI/3_binary64_2241 tan-PI/4_binary64_2240 tan-PI/6_binary64_2239 cos-+PI/2_binary64_2238 cos-+PI_binary64_2237 cos-PI_binary64_2236 cos-PI/2_binary64_2235 cos-PI/3_binary64_2234 cos-PI/4_binary64_2233 cos-PI/6_binary64_2232 sin-+PI/2_binary64_2231 sin-+PI_binary64_2230 sin-PI_binary64_2229 sin-PI/2_binary64_2228 sin-PI/3_binary64_2227 sin-PI/4_binary64_2226 sin-PI/6_binary64_2225 sub-1-sin_binary64_2224 sub-1-cos_binary64_2223 -1-add-sin_binary64_2222 -1-add-cos_binary64_2221 1-sub-sin_binary64_2220 1-sub-cos_binary64_2219 cos-sin-sum_binary64_2218 log-E_binary64_2214 log-pow_binary64_2213 log-rec_binary64_2212 log-div_binary64_2211 log-prod_binary64_2210 pow-base-0_binary64_2208 unpow1/3_binary64_2191 unpow3_binary64_2190 unpow2_binary64_2189 unpow1/2_binary64_2188 pow-plus_binary64_2187 exp-to-pow_binary64_2186 pow-base-1_binary64_2184 unpow0_binary64_2183 unpow1_binary64_2182 unpow-1_binary64_2181 exp-lft-cube_binary64_2180 exp-lft-sqr_binary64_2179 exp-cbrt_binary64_2178 exp-sqrt_binary64_2177 exp-prod_binary64_2176 div-exp_binary64_2175 rec-exp_binary64_2174 prod-exp_binary64_2173 exp-diff_binary64_2172 exp-neg_binary64_2171 exp-sum_binary64_2170 e-exp-1_binary64_2169 1-exp_binary64_2168 exp-1-e_binary64_2167 exp-0_binary64_2166 rem-log-exp_binary64_2165 rem-exp-log_binary64_2164 cube-unmult_binary64_2161 cube-mult_binary64_2154 cube-div_binary64_2153 cube-prod_binary64_2152 cube-neg_binary64_2151 rem-3cbrt-rft_binary64_2150 rem-3cbrt-lft_binary64_2149 rem-cbrt-cube_binary64_2148 rem-cube-cbrt_binary64_2147 sqr-abs_binary64_2139 sqr-neg_binary64_2138 rem-sqrt-square_binary64_2137 rem-square-sqrt_binary64_2136 times-frac_binary64_2130 div-sub_binary64_2129 neg-mul-1_binary64_2120 neg-sub0_binary64_2119 unsub-neg_binary64_2118 sub-neg_binary64_2117 mul-1-neg_binary64_2116 /-rgt-identity_binary64_2115 *-rgt-identity_binary64_2114 *-lft-identity_binary64_2113 remove-double-neg_binary64_2112 sub0-neg_binary64_2111 --rgt-identity_binary64_2110 +-rgt-identity_binary64_2109 +-lft-identity_binary64_2108 mul0-rgt_binary64_2107 mul0-lft_binary64_2106 div0_binary64_2105 *-inverses_binary64_2104 +-inverses_binary64_2103 lft-mult-inverse_binary64_2102 rgt-mult-inverse_binary64_2101 remove-double-div_binary64_2100 pow-sqr_binary64_2097 sqr-pow_binary64_2096 difference-of-sqr--1_binary64_2095 difference-of-sqr-1_binary64_2094 difference-of-squares_binary64_2093 unswap-sqr_binary64_2092 swap-sqr_binary64_2091 cancel-sign-sub-inv_binary64_2090 cancel-sign-sub_binary64_2089 distribute-neg-frac_binary64_2088 distribute-frac-neg_binary64_2087 distribute-neg-out_binary64_2086 distribute-neg-in_binary64_2085 distribute-rgt-neg-out_binary64_2084 distribute-lft-neg-out_binary64_2083 distribute-rgt-neg-in_binary64_2082 distribute-lft-neg-in_binary64_2081 distribute-rgt1-in_binary64_2080 distribute-lft1-in_binary64_2079 distribute-rgt-out--_binary64_2078 distribute-rgt-out_binary64_2077 distribute-lft-out--_binary64_2076 distribute-lft-out_binary64_2075 distribute-rgt-in_binary64_2074 distribute-lft-in_binary64_2073 count-2_binary64_2072 associate-/l/_binary64_2071 associate-/r/_binary64_2070 associate-/l*_binary64_2069 associate-*l/_binary64_2067 associate-*r/_binary64_2066 associate-*l*_binary64_2065 associate-*r*_binary64_2064 associate--r-_binary64_2063 associate--l-_binary64_2062 associate--l+_binary64_2061 associate--r+_binary64_2060 associate-+l-_binary64_2059 associate-+r-_binary64_2058 associate-+l+_binary64_2057 associate-+r+_binary64_2056 +-commutative_binary64_2054
Counts
1 → 0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
079
1109
2129
3129

prune2.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 6 to 6 computations (0% saved)

localize9.0ms (0.1%)

Local error

Found 2 expressions with local error:

0.2b
(/.f64 g (*.f64 2 a))
13.5b
(cbrt.f64 (/.f64 g (*.f64 2 a)))

rewrite44.0ms (0.6%)

Algorithm
rewrite-expression-head
Error
0.1b
Rules
add-exp-log_binary64_2162 add-cbrt-cube_binary64_2160 cbrt-prod_binary64_2155
add-cube-cbrt_binary64_2159 add-sqr-sqrt_binary64_2146 times-frac_binary64_2130 *-un-lft-identity_binary64_2124
associate-/l*_binary64_2069
pow1_binary64_2185 add-log-exp_binary64_2163 div-inv_binary64_2121 div-exp_binary64_2175 cbrt-undiv_binary64_2158
pow1/3_binary64_2206 cbrt-div_binary64_2156 prod-exp_binary64_2173 cbrt-unprod_binary64_2157 frac-2neg_binary64_2135 clear-num_binary64_2123 associate-/r*_binary64_2068
Counts
2 → 37
Calls

2 calls:

4.0ms
(/.f64 g (*.f64 2 a))
3.0ms
(cbrt.f64 (/.f64 g (*.f64 2 a)))
Compiler

Compiled 429 to 291 computations (32.2% saved)

series290.0ms (3.7%)

Error
4.8b
Counts
2 → 12
Calls

2 calls:

230.0ms
(cbrt.f64 (/.f64 g (*.f64 2 a)))
50.0ms
(/.f64 g (*.f64 2 a))
Compiler

Compiled 348 to 318 computations (8.6% saved)

simplify133.0ms (1.7%)

Algorithm
egg-herbie
Rules
537×associate-/r/_binary64_2070
530×associate-*l*_binary64_2065
394×associate-*r*_binary64_2064
327×exp-sum_binary64_2170
271×div-sub_binary64_2129
253×*-commutative_binary64_2055
224×times-frac_binary64_2130
222×exp-diff_binary64_2172
207×associate-/l*_binary64_2069
151×exp-prod_binary64_2176
141×associate-+r+_binary64_2056
139×associate-/r*_binary64_2068
119×prod-exp_binary64_2173 associate-+r-_binary64_2058
110×log-prod_binary64_2210
93×log-div_binary64_2211
91×sub-neg_binary64_2117
88×associate-+l-_binary64_2059
85×associate-/l/_binary64_2071
84×associate--r+_binary64_2060
83×associate-*l/_binary64_2067
72×distribute-rgt-in_binary64_2074
70×associate-*r/_binary64_2066
66×associate--r-_binary64_2063
62×distribute-lft-in_binary64_2073 associate--l+_binary64_2061
58×associate-+l+_binary64_2057
53×associate--l-_binary64_2062
45×unsub-neg_binary64_2118
44×sqr-pow_binary64_2096
42×div-exp_binary64_2175
32×exp-to-pow_binary64_2186
31×log-pow_binary64_2213
26×neg-mul-1_binary64_2120 neg-sub0_binary64_2119
20×cancel-sign-sub-inv_binary64_2090 distribute-neg-out_binary64_2086
18×unpow1/3_binary64_2191 +-commutative_binary64_2054
17×log-rec_binary64_2212
14×exp-neg_binary64_2171
13×distribute-neg-in_binary64_2085
12×pow-plus_binary64_2187 unswap-sqr_binary64_2092
11×distribute-lft-out_binary64_2075
10×rec-exp_binary64_2174 cube-unmult_binary64_2161 sub0-neg_binary64_2111 pow-sqr_binary64_2097 distribute-rgt-neg-in_binary64_2082
unpow3_binary64_2190 distribute-rgt-neg-out_binary64_2084
rem-exp-log_binary64_2164 cube-prod_binary64_2152 +-rgt-identity_binary64_2109 distribute-lft-neg-in_binary64_2081
swap-sqr_binary64_2091 distribute-frac-neg_binary64_2087
cube-div_binary64_2153 distribute-lft-neg-out_binary64_2083
--rgt-identity_binary64_2110
pow-base-1_binary64_2184 unpow-1_binary64_2181 remove-double-neg_binary64_2112 distribute-rgt-out--_binary64_2078 count-2_binary64_2072
log-E_binary64_2214 unpow2_binary64_2189 exp-sqrt_binary64_2177 1-exp_binary64_2168 exp-1-e_binary64_2167 cube-mult_binary64_2154 rem-3cbrt-lft_binary64_2149 rem-sqrt-square_binary64_2137 *-lft-identity_binary64_2113 distribute-lft-out--_binary64_2076
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_2387 erf-erfc_binary64_2386 erf-odd_binary64_2385 if-if-and-not_binary64_2384 if-if-and_binary64_2383 if-if-or-not_binary64_2382 if-if-or_binary64_2381 if-not_binary64_2380 if-same_binary64_2379 if-false_binary64_2378 if-true_binary64_2377 not-gte_binary64_2376 not-lte_binary64_2375 not-gt_binary64_2374 not-lt_binary64_2373 gte-same_binary64_2372 lte-same_binary64_2371 gt-same_binary64_2370 lt-same_binary64_2369 sinh---cosh_binary64_2316 sinh-+-cosh_binary64_2315 sinh-cosh_binary64_2314 tanh-def-c_binary64_2313 tanh-def-b_binary64_2312 tanh-def-a_binary64_2311 cosh-def_binary64_2310 sinh-def_binary64_2309 tan-neg_binary64_2256 cos-neg_binary64_2255 sin-neg_binary64_2254 tan-0_binary64_2253 cos-0_binary64_2252 sin-0_binary64_2251 hang-m-tan_binary64_2250 hang-p-tan_binary64_2249 hang-m0-tan_binary64_2248 hang-p0-tan_binary64_2247 hang-0m-tan_binary64_2246 hang-0p-tan_binary64_2245 tan-+PI/2_binary64_2244 tan-+PI_binary64_2243 tan-PI_binary64_2242 tan-PI/3_binary64_2241 tan-PI/4_binary64_2240 tan-PI/6_binary64_2239 cos-+PI/2_binary64_2238 cos-+PI_binary64_2237 cos-PI_binary64_2236 cos-PI/2_binary64_2235 cos-PI/3_binary64_2234 cos-PI/4_binary64_2233 cos-PI/6_binary64_2232 sin-+PI/2_binary64_2231 sin-+PI_binary64_2230 sin-PI_binary64_2229 sin-PI/2_binary64_2228 sin-PI/3_binary64_2227 sin-PI/4_binary64_2226 sin-PI/6_binary64_2225 sub-1-sin_binary64_2224 sub-1-cos_binary64_2223 -1-add-sin_binary64_2222 -1-add-cos_binary64_2221 1-sub-sin_binary64_2220 1-sub-cos_binary64_2219 cos-sin-sum_binary64_2218 pow-base-0_binary64_2208 unpow1/2_binary64_2188 unpow0_binary64_2183 unpow1_binary64_2182 exp-lft-cube_binary64_2180 exp-lft-sqr_binary64_2179 exp-cbrt_binary64_2178 e-exp-1_binary64_2169 exp-0_binary64_2166 rem-log-exp_binary64_2165 cube-neg_binary64_2151 rem-3cbrt-rft_binary64_2150 rem-cbrt-cube_binary64_2148 rem-cube-cbrt_binary64_2147 sqr-abs_binary64_2139 sqr-neg_binary64_2138 rem-square-sqrt_binary64_2136 mul-1-neg_binary64_2116 /-rgt-identity_binary64_2115 *-rgt-identity_binary64_2114 +-lft-identity_binary64_2108 mul0-rgt_binary64_2107 mul0-lft_binary64_2106 div0_binary64_2105 *-inverses_binary64_2104 +-inverses_binary64_2103 lft-mult-inverse_binary64_2102 rgt-mult-inverse_binary64_2101 remove-double-div_binary64_2100 difference-of-sqr--1_binary64_2095 difference-of-sqr-1_binary64_2094 difference-of-squares_binary64_2093 cancel-sign-sub_binary64_2089 distribute-neg-frac_binary64_2088 distribute-rgt1-in_binary64_2080 distribute-lft1-in_binary64_2079 distribute-rgt-out_binary64_2077
Counts
49 → 74
Iterations

Useful iterations: 6 (0.0ms)

IterNodesCost
0101616
1195571
2484564
31775530
44125506
54895506
64749504
74859504
85039504

prune76.0ms (1%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New641074
Fresh000
Picked101
Done000
Total651075
Error
0.2b
Counts
75 → 10
Compiler

Compiled 996 to 706 computations (29.1% saved)

localize7.0ms (0.1%)

Local error

Found 3 expressions with local error:

0.3b
(*.f64 (cbrt.f64 g) (cbrt.f64 (/.f64 1/2 a)))
0.6b
(cbrt.f64 (/.f64 1/2 a))
0.6b
(cbrt.f64 g)

rewrite95.0ms (1.2%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
39×cbrt-prod_binary64_2155
35×add-sqr-sqrt_binary64_2146
21×add-cube-cbrt_binary64_2159 *-un-lft-identity_binary64_2124
20×times-frac_binary64_2130
16×associate-*r*_binary64_2064
unswap-sqr_binary64_2092 associate-*l*_binary64_2065
pow1_binary64_2185 add-exp-log_binary64_2162
pow1/3_binary64_2206
add-log-exp_binary64_2163 add-cbrt-cube_binary64_2160
cbrt-div_binary64_2156 div-inv_binary64_2121 pow-prod-down_binary64_2195
prod-exp_binary64_2173 cbrt-unprod_binary64_2157 associate-*r/_binary64_2066 *-commutative_binary64_2055
Counts
3 → 74
Calls

3 calls:

10.0ms
(*.f64 (cbrt.f64 g) (cbrt.f64 (/.f64 1/2 a)))
2.0ms
(cbrt.f64 (/.f64 1/2 a))
1.0ms
(cbrt.f64 g)
Compiler

Compiled 1018 to 641 computations (37% saved)

series403.0ms (5.2%)

Error
0.2b
Counts
3 → 12
Calls

3 calls:

233.0ms
(*.f64 (cbrt.f64 g) (cbrt.f64 (/.f64 1/2 a)))
90.0ms
(cbrt.f64 (/.f64 1/2 a))
71.0ms
(cbrt.f64 g)
Compiler

Compiled 435 to 408 computations (6.2% saved)

simplify104.0ms (1.3%)

Algorithm
egg-herbie
Rules
390×exp-diff_binary64_2172
336×associate-*l*_binary64_2065
249×associate-*r*_binary64_2064
243×associate-+l+_binary64_2057
241×associate-/r*_binary64_2068
194×associate--r+_binary64_2060
172×distribute-rgt-in_binary64_2074
171×times-frac_binary64_2130
157×log-div_binary64_2211 distribute-lft-in_binary64_2073
143×exp-prod_binary64_2176 *-commutative_binary64_2055
140×log-prod_binary64_2210
133×associate-/l*_binary64_2069
124×exp-sum_binary64_2170
102×unswap-sqr_binary64_2092
88×associate-+r-_binary64_2058
77×sub-neg_binary64_2117
72×unsub-neg_binary64_2118
69×associate--l+_binary64_2061
66×associate--r-_binary64_2063
65×associate-+l-_binary64_2059
63×sqr-pow_binary64_2096
61×div-sub_binary64_2129
60×cancel-sign-sub-inv_binary64_2090
53×distribute-rgt-neg-in_binary64_2082
45×distribute-lft-neg-in_binary64_2081
42×*-rgt-identity_binary64_2114
38×*-lft-identity_binary64_2113
35×distribute-neg-in_binary64_2085 associate-/l/_binary64_2071
32×associate--l-_binary64_2062
29×exp-to-pow_binary64_2186
28×neg-sub0_binary64_2119 associate-*l/_binary64_2067
27×neg-mul-1_binary64_2120
26×associate-+r+_binary64_2056
24×log-pow_binary64_2213
23×cube-prod_binary64_2152
22×associate-*r/_binary64_2066
17×distribute-rgt-neg-out_binary64_2084 associate-/r/_binary64_2070
15×+-commutative_binary64_2054
14×pow-sqr_binary64_2097
13×exp-neg_binary64_2171 distribute-neg-out_binary64_2086
12×unpow1/3_binary64_2191 distribute-lft-out_binary64_2075
11×unpow3_binary64_2190
10×distribute-lft-neg-out_binary64_2083
div-exp_binary64_2175 cube-unmult_binary64_2161
log-rec_binary64_2212 rem-exp-log_binary64_2164 distribute-frac-neg_binary64_2087
distribute-rgt-out_binary64_2077
rem-sqrt-square_binary64_2137 sub0-neg_binary64_2111 +-rgt-identity_binary64_2109
/-rgt-identity_binary64_2115 remove-double-neg_binary64_2112 --rgt-identity_binary64_2110 swap-sqr_binary64_2091 count-2_binary64_2072
pow-plus_binary64_2187 rec-exp_binary64_2174 prod-exp_binary64_2173
unpow1/2_binary64_2188 rem-3cbrt-lft_binary64_2149
1-exp_binary64_2168 exp-1-e_binary64_2167 cube-mult_binary64_2154 mul-1-neg_binary64_2116 distribute-rgt-out--_binary64_2078
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_2387 erf-erfc_binary64_2386 erf-odd_binary64_2385 if-if-and-not_binary64_2384 if-if-and_binary64_2383 if-if-or-not_binary64_2382 if-if-or_binary64_2381 if-not_binary64_2380 if-same_binary64_2379 if-false_binary64_2378 if-true_binary64_2377 not-gte_binary64_2376 not-lte_binary64_2375 not-gt_binary64_2374 not-lt_binary64_2373 gte-same_binary64_2372 lte-same_binary64_2371 gt-same_binary64_2370 lt-same_binary64_2369 sinh---cosh_binary64_2316 sinh-+-cosh_binary64_2315 sinh-cosh_binary64_2314 tanh-def-c_binary64_2313 tanh-def-b_binary64_2312 tanh-def-a_binary64_2311 cosh-def_binary64_2310 sinh-def_binary64_2309 tan-neg_binary64_2256 cos-neg_binary64_2255 sin-neg_binary64_2254 tan-0_binary64_2253 cos-0_binary64_2252 sin-0_binary64_2251 hang-m-tan_binary64_2250 hang-p-tan_binary64_2249 hang-m0-tan_binary64_2248 hang-p0-tan_binary64_2247 hang-0m-tan_binary64_2246 hang-0p-tan_binary64_2245 tan-+PI/2_binary64_2244 tan-+PI_binary64_2243 tan-PI_binary64_2242 tan-PI/3_binary64_2241 tan-PI/4_binary64_2240 tan-PI/6_binary64_2239 cos-+PI/2_binary64_2238 cos-+PI_binary64_2237 cos-PI_binary64_2236 cos-PI/2_binary64_2235 cos-PI/3_binary64_2234 cos-PI/4_binary64_2233 cos-PI/6_binary64_2232 sin-+PI/2_binary64_2231 sin-+PI_binary64_2230 sin-PI_binary64_2229 sin-PI/2_binary64_2228 sin-PI/3_binary64_2227 sin-PI/4_binary64_2226 sin-PI/6_binary64_2225 sub-1-sin_binary64_2224 sub-1-cos_binary64_2223 -1-add-sin_binary64_2222 -1-add-cos_binary64_2221 1-sub-sin_binary64_2220 1-sub-cos_binary64_2219 cos-sin-sum_binary64_2218 log-E_binary64_2214 pow-base-0_binary64_2208 unpow2_binary64_2189 pow-base-1_binary64_2184 unpow0_binary64_2183 unpow1_binary64_2182 unpow-1_binary64_2181 exp-lft-cube_binary64_2180 exp-lft-sqr_binary64_2179 exp-cbrt_binary64_2178 exp-sqrt_binary64_2177 e-exp-1_binary64_2169 exp-0_binary64_2166 rem-log-exp_binary64_2165 cube-div_binary64_2153 cube-neg_binary64_2151 rem-3cbrt-rft_binary64_2150 rem-cbrt-cube_binary64_2148 rem-cube-cbrt_binary64_2147 sqr-abs_binary64_2139 sqr-neg_binary64_2138 rem-square-sqrt_binary64_2136 +-lft-identity_binary64_2108 mul0-rgt_binary64_2107 mul0-lft_binary64_2106 div0_binary64_2105 *-inverses_binary64_2104 +-inverses_binary64_2103 lft-mult-inverse_binary64_2102 rgt-mult-inverse_binary64_2101 remove-double-div_binary64_2100 difference-of-sqr--1_binary64_2095 difference-of-sqr-1_binary64_2094 difference-of-squares_binary64_2093 cancel-sign-sub_binary64_2089 distribute-neg-frac_binary64_2088 distribute-rgt1-in_binary64_2080 distribute-lft1-in_binary64_2079 distribute-lft-out--_binary64_2076
Counts
86 → 45
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01451183
12561179
26591165
317091131
445621121
551851121

prune46.0ms (0.6%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New41445
Fresh549
Picked011
Done000
Total46955
Error
0.1b
Counts
55 → 9
Compiler

Compiled 555 to 402 computations (27.6% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.4b
(*.f64 (cbrt.f64 g) (cbrt.f64 (/.f64 1 a)))
0.4b
(*.f64 (cbrt.f64 1/2) (*.f64 (cbrt.f64 g) (cbrt.f64 (/.f64 1 a))))
0.6b
(cbrt.f64 g)
0.6b
(cbrt.f64 (/.f64 1 a))

rewrite139.0ms (1.8%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
45×cbrt-prod_binary64_2155
42×add-sqr-sqrt_binary64_2146
26×*-un-lft-identity_binary64_2124
24×add-cube-cbrt_binary64_2159
22×times-frac_binary64_2130
17×associate-*r*_binary64_2064
12×associate-*l*_binary64_2065
11×pow1_binary64_2185 add-exp-log_binary64_2162
unswap-sqr_binary64_2092
pow1/3_binary64_2206 pow-prod-down_binary64_2195
add-cbrt-cube_binary64_2160
add-log-exp_binary64_2163 prod-exp_binary64_2173 cbrt-unprod_binary64_2157
cbrt-div_binary64_2156 associate-*r/_binary64_2066
div-inv_binary64_2121 *-commutative_binary64_2055
Counts
4 → 99
Calls

4 calls:

10.0ms
(*.f64 (cbrt.f64 g) (cbrt.f64 (/.f64 1 a)))
9.0ms
(*.f64 (cbrt.f64 1/2) (*.f64 (cbrt.f64 g) (cbrt.f64 (/.f64 1 a))))
3.0ms
(cbrt.f64 (/.f64 1 a))
1.0ms
(cbrt.f64 g)
Compiler

Compiled 1640 to 1153 computations (29.7% saved)

series582.0ms (7.5%)

Error
0.1b
Counts
4 → 18
Calls

4 calls:

236.0ms
(*.f64 (cbrt.f64 1/2) (*.f64 (cbrt.f64 g) (cbrt.f64 (/.f64 1 a))))
190.0ms
(*.f64 (cbrt.f64 g) (cbrt.f64 (/.f64 1 a)))
72.0ms
(cbrt.f64 g)
67.0ms
(cbrt.f64 (/.f64 1 a))
Compiler

Compiled 738 to 693 computations (6.1% saved)

simplify118.0ms (1.5%)

Algorithm
egg-herbie
Rules
413×unswap-sqr_binary64_2092
336×*-commutative_binary64_2055
319×log-prod_binary64_2210
223×distribute-rgt-in_binary64_2074
206×distribute-lft-in_binary64_2073
165×associate-/r*_binary64_2068
157×exp-sum_binary64_2170
144×log-div_binary64_2211
140×associate-/l*_binary64_2069
129×associate-*r*_binary64_2064
121×associate-*l*_binary64_2065
109×exp-prod_binary64_2176
98×unsub-neg_binary64_2118 sqr-pow_binary64_2096
94×associate--r-_binary64_2063
82×sub-neg_binary64_2117
65×exp-diff_binary64_2172
63×div-sub_binary64_2129
60×associate-*l/_binary64_2067
58×times-frac_binary64_2130
55×associate-*r/_binary64_2066
52×log-pow_binary64_2213
51×cube-prod_binary64_2152
50×cancel-sign-sub-inv_binary64_2090
47×associate-/l/_binary64_2071
43×associate-+r+_binary64_2056
39×distribute-rgt-neg-in_binary64_2082
36×distribute-lft-neg-in_binary64_2081
35×distribute-neg-in_binary64_2085
34×associate-+l+_binary64_2057
29×neg-mul-1_binary64_2120 associate-/r/_binary64_2070
28×neg-sub0_binary64_2119
27×pow-sqr_binary64_2097
26×swap-sqr_binary64_2091
23×*-rgt-identity_binary64_2114
21×associate-+r-_binary64_2058
20×+-commutative_binary64_2054
18×distribute-neg-out_binary64_2086
17×*-lft-identity_binary64_2113 distribute-rgt-neg-out_binary64_2084
13×log-rec_binary64_2212 exp-neg_binary64_2171 distribute-lft-out_binary64_2075
12×rem-sqrt-square_binary64_2137 distribute-rgt-out_binary64_2077 associate--l+_binary64_2061
11×associate-+l-_binary64_2059
10×unpow1/3_binary64_2191 cube-unmult_binary64_2161 associate--r+_binary64_2060
exp-to-pow_binary64_2186
distribute-lft-neg-out_binary64_2083
unpow3_binary64_2190 prod-exp_binary64_2173 rem-exp-log_binary64_2164 cube-mult_binary64_2154 distribute-frac-neg_binary64_2087 count-2_binary64_2072 associate--l-_binary64_2062
sub0-neg_binary64_2111
+-rgt-identity_binary64_2109
remove-double-neg_binary64_2112 --rgt-identity_binary64_2110
/-rgt-identity_binary64_2115
pow-plus_binary64_2187 rem-3cbrt-lft_binary64_2149
unpow1/2_binary64_2188 rec-exp_binary64_2174 1-exp_binary64_2168 exp-1-e_binary64_2167 cube-div_binary64_2153 rem-3cbrt-rft_binary64_2150 rem-cube-cbrt_binary64_2147 mul-1-neg_binary64_2116 distribute-rgt-out--_binary64_2078 distribute-lft-out--_binary64_2076
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_2387 erf-erfc_binary64_2386 erf-odd_binary64_2385 if-if-and-not_binary64_2384 if-if-and_binary64_2383 if-if-or-not_binary64_2382 if-if-or_binary64_2381 if-not_binary64_2380 if-same_binary64_2379 if-false_binary64_2378 if-true_binary64_2377 not-gte_binary64_2376 not-lte_binary64_2375 not-gt_binary64_2374 not-lt_binary64_2373 gte-same_binary64_2372 lte-same_binary64_2371 gt-same_binary64_2370 lt-same_binary64_2369 sinh---cosh_binary64_2316 sinh-+-cosh_binary64_2315 sinh-cosh_binary64_2314 tanh-def-c_binary64_2313 tanh-def-b_binary64_2312 tanh-def-a_binary64_2311 cosh-def_binary64_2310 sinh-def_binary64_2309 tan-neg_binary64_2256 cos-neg_binary64_2255 sin-neg_binary64_2254 tan-0_binary64_2253 cos-0_binary64_2252 sin-0_binary64_2251 hang-m-tan_binary64_2250 hang-p-tan_binary64_2249 hang-m0-tan_binary64_2248 hang-p0-tan_binary64_2247 hang-0m-tan_binary64_2246 hang-0p-tan_binary64_2245 tan-+PI/2_binary64_2244 tan-+PI_binary64_2243 tan-PI_binary64_2242 tan-PI/3_binary64_2241 tan-PI/4_binary64_2240 tan-PI/6_binary64_2239 cos-+PI/2_binary64_2238 cos-+PI_binary64_2237 cos-PI_binary64_2236 cos-PI/2_binary64_2235 cos-PI/3_binary64_2234 cos-PI/4_binary64_2233 cos-PI/6_binary64_2232 sin-+PI/2_binary64_2231 sin-+PI_binary64_2230 sin-PI_binary64_2229 sin-PI/2_binary64_2228 sin-PI/3_binary64_2227 sin-PI/4_binary64_2226 sin-PI/6_binary64_2225 sub-1-sin_binary64_2224 sub-1-cos_binary64_2223 -1-add-sin_binary64_2222 -1-add-cos_binary64_2221 1-sub-sin_binary64_2220 1-sub-cos_binary64_2219 cos-sin-sum_binary64_2218 log-E_binary64_2214 pow-base-0_binary64_2208 unpow2_binary64_2189 pow-base-1_binary64_2184 unpow0_binary64_2183 unpow1_binary64_2182 unpow-1_binary64_2181 exp-lft-cube_binary64_2180 exp-lft-sqr_binary64_2179 exp-cbrt_binary64_2178 exp-sqrt_binary64_2177 div-exp_binary64_2175 e-exp-1_binary64_2169 exp-0_binary64_2166 rem-log-exp_binary64_2165 cube-neg_binary64_2151 rem-cbrt-cube_binary64_2148 sqr-abs_binary64_2139 sqr-neg_binary64_2138 rem-square-sqrt_binary64_2136 +-lft-identity_binary64_2108 mul0-rgt_binary64_2107 mul0-lft_binary64_2106 div0_binary64_2105 *-inverses_binary64_2104 +-inverses_binary64_2103 lft-mult-inverse_binary64_2102 rgt-mult-inverse_binary64_2101 remove-double-div_binary64_2100 difference-of-sqr--1_binary64_2095 difference-of-sqr-1_binary64_2094 difference-of-squares_binary64_2093 cancel-sign-sub_binary64_2089 distribute-neg-frac_binary64_2088 distribute-rgt1-in_binary64_2080 distribute-lft1-in_binary64_2079
Counts
117 → 237
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01481683
12881640
28541596
317291356
446501356
551561356

prune264.0ms (3.4%)

Pruning

17 alts after pruning (15 fresh and 2 done)

PrunedKeptTotal
New2298237
Fresh077
Picked011
Done011
Total22917246
Error
0.0b
Counts
246 → 17
Compiler

Compiled 4112 to 2775 computations (32.5% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.3b
(*.f64 (cbrt.f64 g) (/.f64 (cbrt.f64 1/2) (cbrt.f64 a)))
0.4b
(/.f64 (cbrt.f64 1/2) (cbrt.f64 a))
0.6b
(cbrt.f64 g)
0.6b
(cbrt.f64 a)

rewrite183.0ms (2.3%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
100×cbrt-prod_binary64_2155
89×add-sqr-sqrt_binary64_2146
80×times-frac_binary64_2130
61×add-cube-cbrt_binary64_2159 *-un-lft-identity_binary64_2124
40×associate-*r*_binary64_2064
11×add-exp-log_binary64_2162
10×unswap-sqr_binary64_2092
pow1_binary64_2185 associate-/l*_binary64_2069 associate-/r*_binary64_2068 associate-*l*_binary64_2065
add-cbrt-cube_binary64_2160
add-log-exp_binary64_2163
pow1/3_binary64_2206 div-exp_binary64_2175 cbrt-undiv_binary64_2158 div-inv_binary64_2121 prod-exp_binary64_2173 cbrt-unprod_binary64_2157
frac-2neg_binary64_2135 clear-num_binary64_2123 pow-prod-down_binary64_2195 associate-*r/_binary64_2066 *-commutative_binary64_2055
Counts
4 → 152
Calls

4 calls:

17.0ms
(*.f64 (cbrt.f64 g) (/.f64 (cbrt.f64 1/2) (cbrt.f64 a)))
5.0ms
(/.f64 (cbrt.f64 1/2) (cbrt.f64 a))
1.0ms
(cbrt.f64 a)
1.0ms
(cbrt.f64 g)
Compiler

Compiled 2475 to 1393 computations (43.7% saved)

series494.0ms (6.3%)

Error
0.0b
Counts
4 → 15
Calls

4 calls:

241.0ms
(*.f64 (cbrt.f64 g) (/.f64 (cbrt.f64 1/2) (cbrt.f64 a)))
94.0ms
(/.f64 (cbrt.f64 1/2) (cbrt.f64 a))
73.0ms
(cbrt.f64 a)
72.0ms
(cbrt.f64 g)
Compiler

Compiled 558 to 520 computations (6.8% saved)

simplify196.0ms (2.5%)

Algorithm
egg-herbie
Rules
423×associate-/l/_binary64_2071
419×times-frac_binary64_2130
402×*-commutative_binary64_2055
290×log-prod_binary64_2210
274×associate-/r*_binary64_2068
244×log-div_binary64_2211
169×associate-*l*_binary64_2065
162×exp-sum_binary64_2170
161×sub-neg_binary64_2117
147×associate-/r/_binary64_2070
143×associate-*r*_binary64_2064
130×associate-*r/_binary64_2066
106×associate-/l*_binary64_2069
93×exp-diff_binary64_2172
91×sqr-pow_binary64_2096
89×associate-*l/_binary64_2067
85×exp-prod_binary64_2176 unsub-neg_binary64_2118
75×log-pow_binary64_2213
71×cube-prod_binary64_2152 div-sub_binary64_2129
53×unpow3_binary64_2190 cube-div_binary64_2153
52×*-rgt-identity_binary64_2114
48×*-lft-identity_binary64_2113
43×neg-mul-1_binary64_2120
42×neg-sub0_binary64_2119
33×unswap-sqr_binary64_2092
32×associate-+r-_binary64_2058
30×associate-+r+_binary64_2056
27×distribute-rgt-neg-in_binary64_2082 distribute-lft-neg-in_binary64_2081
26×log-rec_binary64_2212 associate--r+_binary64_2060 associate-+l+_binary64_2057
24×/-rgt-identity_binary64_2115 distribute-lft-in_binary64_2073 associate-+l-_binary64_2059
23×distribute-rgt-in_binary64_2074
22×cancel-sign-sub-inv_binary64_2090
19×+-commutative_binary64_2054
17×pow-sqr_binary64_2097
13×unpow1/3_binary64_2191
12×cube-mult_binary64_2154
11×exp-neg_binary64_2171
10×exp-to-pow_binary64_2186 associate--r-_binary64_2063 associate--l-_binary64_2062
rem-exp-log_binary64_2164 associate--l+_binary64_2061
cube-unmult_binary64_2161 rem-sqrt-square_binary64_2137 sub0-neg_binary64_2111 +-rgt-identity_binary64_2109 distribute-neg-frac_binary64_2088
distribute-neg-in_binary64_2085
swap-sqr_binary64_2091
distribute-rgt-neg-out_binary64_2084 distribute-lft-neg-out_binary64_2083
remove-double-neg_binary64_2112 --rgt-identity_binary64_2110 distribute-neg-out_binary64_2086
rem-3cbrt-lft_binary64_2149
pow-plus_binary64_2187 mul-1-neg_binary64_2116 distribute-frac-neg_binary64_2087 distribute-lft-out_binary64_2075 count-2_binary64_2072
log-E_binary64_2214 unpow1/2_binary64_2188 rec-exp_binary64_2174 prod-exp_binary64_2173 1-exp_binary64_2168 exp-1-e_binary64_2167 rem-cube-cbrt_binary64_2147 mul0-rgt_binary64_2107 mul0-lft_binary64_2106 *-inverses_binary64_2104 lft-mult-inverse_binary64_2102 rgt-mult-inverse_binary64_2101 remove-double-div_binary64_2100 distribute-lft-out--_binary64_2076
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_2387 erf-erfc_binary64_2386 erf-odd_binary64_2385 if-if-and-not_binary64_2384 if-if-and_binary64_2383 if-if-or-not_binary64_2382 if-if-or_binary64_2381 if-not_binary64_2380 if-same_binary64_2379 if-false_binary64_2378 if-true_binary64_2377 not-gte_binary64_2376 not-lte_binary64_2375 not-gt_binary64_2374 not-lt_binary64_2373 gte-same_binary64_2372 lte-same_binary64_2371 gt-same_binary64_2370 lt-same_binary64_2369 sinh---cosh_binary64_2316 sinh-+-cosh_binary64_2315 sinh-cosh_binary64_2314 tanh-def-c_binary64_2313 tanh-def-b_binary64_2312 tanh-def-a_binary64_2311 cosh-def_binary64_2310 sinh-def_binary64_2309 tan-neg_binary64_2256 cos-neg_binary64_2255 sin-neg_binary64_2254 tan-0_binary64_2253 cos-0_binary64_2252 sin-0_binary64_2251 hang-m-tan_binary64_2250 hang-p-tan_binary64_2249 hang-m0-tan_binary64_2248 hang-p0-tan_binary64_2247 hang-0m-tan_binary64_2246 hang-0p-tan_binary64_2245 tan-+PI/2_binary64_2244 tan-+PI_binary64_2243 tan-PI_binary64_2242 tan-PI/3_binary64_2241 tan-PI/4_binary64_2240 tan-PI/6_binary64_2239 cos-+PI/2_binary64_2238 cos-+PI_binary64_2237 cos-PI_binary64_2236 cos-PI/2_binary64_2235 cos-PI/3_binary64_2234 cos-PI/4_binary64_2233 cos-PI/6_binary64_2232 sin-+PI/2_binary64_2231 sin-+PI_binary64_2230 sin-PI_binary64_2229 sin-PI/2_binary64_2228 sin-PI/3_binary64_2227 sin-PI/4_binary64_2226 sin-PI/6_binary64_2225 sub-1-sin_binary64_2224 sub-1-cos_binary64_2223 -1-add-sin_binary64_2222 -1-add-cos_binary64_2221 1-sub-sin_binary64_2220 1-sub-cos_binary64_2219 cos-sin-sum_binary64_2218 pow-base-0_binary64_2208 unpow2_binary64_2189 pow-base-1_binary64_2184 unpow0_binary64_2183 unpow1_binary64_2182 unpow-1_binary64_2181 exp-lft-cube_binary64_2180 exp-lft-sqr_binary64_2179 exp-cbrt_binary64_2178 exp-sqrt_binary64_2177 div-exp_binary64_2175 e-exp-1_binary64_2169 exp-0_binary64_2166 rem-log-exp_binary64_2165 cube-neg_binary64_2151 rem-3cbrt-rft_binary64_2150 rem-cbrt-cube_binary64_2148 sqr-abs_binary64_2139 sqr-neg_binary64_2138 rem-square-sqrt_binary64_2136 +-lft-identity_binary64_2108 div0_binary64_2105 +-inverses_binary64_2103 difference-of-sqr--1_binary64_2095 difference-of-sqr-1_binary64_2094 difference-of-squares_binary64_2093 cancel-sign-sub_binary64_2089 distribute-rgt1-in_binary64_2080 distribute-lft1-in_binary64_2079 distribute-rgt-out--_binary64_2078 distribute-rgt-out_binary64_2077
Counts
167 → 110
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02172929
14502748
217362718
335812626
445942626
549442626
649642626

prune93.0ms (1.2%)

Pruning

18 alts after pruning (15 fresh and 3 done)

PrunedKeptTotal
New1082110
Fresh11314
Picked011
Done022
Total10918127
Error
0.0b
Counts
127 → 18
Compiler

Compiled 1437 to 922 computations (35.8% saved)

regimes1.3s (16.8%)

Accuracy

Total 0.8b remaining (99.1%)

Threshold costs 0.8b (99.1%)

Compiler

Compiled 11778 to 10253 computations (12.9% saved)

bsearch0.0ms (0%)

simplify3.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64_2055
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_2384 if-if-and_binary64_2383 if-if-or-not_binary64_2382 if-if-or_binary64_2381 if-not_binary64_2380 if-same_binary64_2379 if-false_binary64_2378 if-true_binary64_2377 tan-0_binary64_2253 cos-0_binary64_2252 sin-0_binary64_2251 unpow1_binary64_2182 e-exp-1_binary64_2169 1-exp_binary64_2168 exp-1-e_binary64_2167 exp-0_binary64_2166 sqr-abs_binary64_2139 sqr-neg_binary64_2138 neg-mul-1_binary64_2120 neg-sub0_binary64_2119 unsub-neg_binary64_2118 sub-neg_binary64_2117 mul-1-neg_binary64_2116 /-rgt-identity_binary64_2115 *-rgt-identity_binary64_2114 *-lft-identity_binary64_2113 remove-double-neg_binary64_2112 sub0-neg_binary64_2111 --rgt-identity_binary64_2110 +-rgt-identity_binary64_2109 +-lft-identity_binary64_2108 cancel-sign-sub-inv_binary64_2090 cancel-sign-sub_binary64_2089 distribute-neg-frac_binary64_2088 distribute-frac-neg_binary64_2087 distribute-neg-out_binary64_2086 distribute-neg-in_binary64_2085 distribute-rgt-neg-out_binary64_2084 distribute-lft-neg-out_binary64_2083 distribute-rgt-neg-in_binary64_2082 distribute-lft-neg-in_binary64_2081 +-commutative_binary64_2054
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01116
11216
21216

end0.0ms (0%)

sample3.1s (39.1%)

Algorithm
intervals
Results
224.0ms8000×body128valid
Compiler

Compiled 2275 to 1982 computations (12.9% saved)

Profiling

Loading profile data...