Details

Time bar (total: 6.2s)

analyze43.0ms (0.7%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%74.9%25.1%4
18.7%56.2%25.1%5
28.1%34.3%37.6%6
34.3%28.1%37.6%7
39%17.2%43.8%8
41%13.7%45.4%9
43.1%8.4%48.5%10
44%6.7%49.3%11
45%4.1%50.8%12
45.4%3.3%51.2%13
45.9%2.1%52%14
Compiler

Compiled 9 to 8 computations (11.1% saved)

sample16.0ms (0.3%)

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

Compiled 17 to 17 computations (0% saved)

simplify893.0ms (14.4%)

Algorithm
egg-herbie
Rules
1271×exp-prod_binary64_2176
396×swap-sqr_binary64_2091
320×associate-/l*_binary64_2069
224×unsub-neg_binary64_2118
210×distribute-rgt-out_binary64_2077
207×cube-div_binary64_2153
198×distribute-rgt-out--_binary64_2078
190×exp-diff_binary64_2172
188×exp-sum_binary64_2170
183×cancel-sign-sub-inv_binary64_2090
182×*-commutative_binary64_2055
156×associate-*r*_binary64_2064
149×associate--r+_binary64_2060
143×distribute-rgt1-in_binary64_2080
129×associate--r-_binary64_2063
127×associate--l+_binary64_2061
125×pow-plus_binary64_2187
120×distribute-rgt-neg-in_binary64_2082
117×distribute-rgt-neg-out_binary64_2084
113×distribute-neg-out_binary64_2086
112×associate--l-_binary64_2062
94×sub-neg_binary64_2117
77×associate-+r+_binary64_2056
60×associate-+l-_binary64_2059
57×distribute-rgt-in_binary64_2074 associate-+r-_binary64_2058
54×distribute-lft-neg-out_binary64_2083 +-commutative_binary64_2054
53×associate-*l*_binary64_2065
43×distribute-lft-in_binary64_2073
40×exp-neg_binary64_2171
37×distribute-lft-neg-in_binary64_2081 associate-+l+_binary64_2057
25×neg-mul-1_binary64_2120 neg-sub0_binary64_2119 associate-*l/_binary64_2067
19×distribute-lft-out--_binary64_2076
18×distribute-neg-in_binary64_2085
17×distribute-lft-out_binary64_2075
14×exp-lft-sqr_binary64_2179 +-inverses_binary64_2103 sqr-pow_binary64_2096
13×difference-of-squares_binary64_2093 distribute-lft1-in_binary64_2079
12×sub0-neg_binary64_2111
11×+-rgt-identity_binary64_2109
10×*-rgt-identity_binary64_2114
pow-base-1_binary64_2184 mul0-lft_binary64_2106
times-frac_binary64_2130 mul0-rgt_binary64_2107 unswap-sqr_binary64_2092
sqr-neg_binary64_2138
cube-unmult_binary64_2161 *-lft-identity_binary64_2113 remove-double-neg_binary64_2112 --rgt-identity_binary64_2110 +-lft-identity_binary64_2108
pow-sqr_binary64_2097 count-2_binary64_2072
div-sub_binary64_2129
cube-prod_binary64_2152 difference-of-sqr--1_binary64_2095
unpow3_binary64_2190 exp-sqrt_binary64_2177 1-exp_binary64_2168 exp-1-e_binary64_2167 rem-square-sqrt_binary64_2136 div0_binary64_2105 distribute-neg-frac_binary64_2088 associate-/r*_binary64_2068
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 unpow2_binary64_2189 unpow1/2_binary64_2188 exp-to-pow_binary64_2186 unpow0_binary64_2183 unpow1_binary64_2182 unpow-1_binary64_2181 exp-lft-cube_binary64_2180 exp-cbrt_binary64_2178 div-exp_binary64_2175 rec-exp_binary64_2174 prod-exp_binary64_2173 e-exp-1_binary64_2169 exp-0_binary64_2166 rem-log-exp_binary64_2165 rem-exp-log_binary64_2164 cube-mult_binary64_2154 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 rem-sqrt-square_binary64_2137 mul-1-neg_binary64_2116 /-rgt-identity_binary64_2115 *-inverses_binary64_2104 lft-mult-inverse_binary64_2102 rgt-mult-inverse_binary64_2101 remove-double-div_binary64_2100 difference-of-sqr-1_binary64_2094 cancel-sign-sub_binary64_2089 distribute-frac-neg_binary64_2087 associate-/l/_binary64_2071 associate-/r/_binary64_2070 associate-*r/_binary64_2066
Counts
1 → 0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0812
11612
23512
35812
411212
522212
625512
7153412
8331412

prune2.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 8 to 7 computations (12.5% saved)

localize5.0ms (0.1%)

Local error

Found 2 expressions with local error:

0.0b
(+.f64 (-.f64 1 x) (*.f64 y (sqrt.f64 x)))
0.3b
(*.f64 y (sqrt.f64 x))

rewrite54.0ms (0.9%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
10×add-sqr-sqrt_binary64_2146
add-log-exp_binary64_2163
add-cube-cbrt_binary64_2159 *-un-lft-identity_binary64_2124 associate-*r*_binary64_2064
pow1_binary64_2185 add-exp-log_binary64_2162 add-cbrt-cube_binary64_2160 sqrt-prod_binary64_2140 associate-+l+_binary64_2057
associate-*l*_binary64_2065 cancel-sign-sub-inv_binary64_2090
unswap-sqr_binary64_2092 sum-log_binary64_2215
pow-prod-down_binary64_2195 prod-exp_binary64_2173 cbrt-unprod_binary64_2157 *-commutative_binary64_2055 diff-log_binary64_2216 flip3-+_binary64_2127 flip-+_binary64_2098 associate-+l-_binary64_2059 sub-neg_binary64_2117 +-commutative_binary64_2054
Counts
2 → 39
Calls

2 calls:

7.0ms
(+.f64 (-.f64 1 x) (*.f64 y (sqrt.f64 x)))
5.0ms
(*.f64 y (sqrt.f64 x))
Compiler

Compiled 562 to 250 computations (55.5% saved)

series175.0ms (2.8%)

Error
0.1b
Counts
2 → 15
Calls

2 calls:

89.0ms
(+.f64 (-.f64 1 x) (*.f64 y (sqrt.f64 x)))
76.0ms
(*.f64 y (sqrt.f64 x))
Compiler

Compiled 298 to 231 computations (22.5% saved)

simplify168.0ms (2.7%)

Algorithm
egg-herbie
Rules
345×times-frac_binary64_2130
298×associate-*l*_binary64_2065
268×neg-sub0_binary64_2119
258×neg-mul-1_binary64_2120
254×distribute-rgt-in_binary64_2074
242×associate-*r*_binary64_2064
235×distribute-lft-in_binary64_2073
179×+-commutative_binary64_2054
173×cancel-sign-sub-inv_binary64_2090
161×distribute-rgt-out_binary64_2077
150×exp-prod_binary64_2176
143×distribute-rgt-neg-out_binary64_2084
136×unsub-neg_binary64_2118
130×exp-sum_binary64_2170
126×distribute-lft-neg-out_binary64_2083
95×associate-+l-_binary64_2059
87×associate--r+_binary64_2060
82×distribute-rgt-neg-in_binary64_2082
79×associate-+r-_binary64_2058
74×sub-neg_binary64_2117
71×*-commutative_binary64_2055
69×exp-diff_binary64_2172
61×unswap-sqr_binary64_2092
58×sqr-pow_binary64_2096
49×div-sub_binary64_2129
48×distribute-lft-out_binary64_2075
47×distribute-lft-neg-in_binary64_2081 distribute-rgt-out--_binary64_2078
43×distribute-neg-in_binary64_2085
41×associate--l+_binary64_2061
40×associate-+l+_binary64_2057
38×associate-+r+_binary64_2056
32×*-rgt-identity_binary64_2114
30×*-lft-identity_binary64_2113
26×associate--r-_binary64_2063
25×log-prod_binary64_2210
23×cube-prod_binary64_2152 pow-sqr_binary64_2097 associate-/l*_binary64_2069
15×swap-sqr_binary64_2091
14×exp-to-pow_binary64_2186
13×mul0-rgt_binary64_2107 mul0-lft_binary64_2106 distribute-neg-out_binary64_2086
10×cube-unmult_binary64_2161 +-rgt-identity_binary64_2109 associate-/r*_binary64_2068
div-exp_binary64_2175
sqr-neg_binary64_2138 remove-double-neg_binary64_2112 sub0-neg_binary64_2111
unpow3_binary64_2190 pow-plus_binary64_2187 exp-neg_binary64_2171 rem-sqrt-square_binary64_2137
associate--l-_binary64_2062
log-pow_binary64_2213 cube-neg_binary64_2151 distribute-lft-out--_binary64_2076 associate-/l/_binary64_2071 associate-*r/_binary64_2066
difference-of-squares_binary64_2093
pow-base-1_binary64_2184 prod-exp_binary64_2173 cube-mult_binary64_2154 --rgt-identity_binary64_2110 cancel-sign-sub_binary64_2089 associate-*l/_binary64_2067
mul-1-neg_binary64_2116 difference-of-sqr--1_binary64_2095 distribute-rgt1-in_binary64_2080 distribute-lft1-in_binary64_2079 associate-/r/_binary64_2070
1-exp_binary64_2168 exp-1-e_binary64_2167 rem-log-exp_binary64_2165 rem-3cbrt-lft_binary64_2149 rem-square-sqrt_binary64_2136 count-2_binary64_2072
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-rec_binary64_2212 log-div_binary64_2211 pow-base-0_binary64_2208 unpow1/3_binary64_2191 unpow2_binary64_2189 unpow1/2_binary64_2188 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 rec-exp_binary64_2174 e-exp-1_binary64_2169 exp-0_binary64_2166 rem-exp-log_binary64_2164 cube-div_binary64_2153 rem-3cbrt-rft_binary64_2150 rem-cbrt-cube_binary64_2148 rem-cube-cbrt_binary64_2147 sqr-abs_binary64_2139 /-rgt-identity_binary64_2115 +-lft-identity_binary64_2108 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_2094 distribute-neg-frac_binary64_2088 distribute-frac-neg_binary64_2087
Counts
54 → 64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
085595
1204562
2575557
31964557
43659557

prune70.0ms (1.1%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New59564
Fresh000
Picked011
Done000
Total59665
Error
0.0b
Counts
65 → 6
Compiler

Compiled 1128 to 533 computations (52.7% saved)

localize9.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.2b
(*.f64 y (fabs.f64 (cbrt.f64 x)))
0.4b
(*.f64 (*.f64 y (fabs.f64 (cbrt.f64 x))) (sqrt.f64 (cbrt.f64 x)))
0.6b
(cbrt.f64 x)
0.6b
(cbrt.f64 x)

rewrite84.0ms (1.4%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
13×add-sqr-sqrt_binary64_2146
12×associate-*r*_binary64_2064
11×pow1_binary64_2185 add-exp-log_binary64_2162 add-cbrt-cube_binary64_2160 add-cube-cbrt_binary64_2159 *-un-lft-identity_binary64_2124
cbrt-prod_binary64_2155
sqrt-prod_binary64_2140
add-log-exp_binary64_2163 pow-prod-down_binary64_2195 prod-exp_binary64_2173 cbrt-unprod_binary64_2157 associate-*l*_binary64_2065
pow1/3_binary64_2206 *-commutative_binary64_2055
unswap-sqr_binary64_2092
Counts
4 → 64
Calls

4 calls:

7.0ms
(*.f64 (*.f64 y (fabs.f64 (cbrt.f64 x))) (sqrt.f64 (cbrt.f64 x)))
6.0ms
(*.f64 y (fabs.f64 (cbrt.f64 x)))
1.0ms
(cbrt.f64 x)
1.0ms
(cbrt.f64 x)
Compiler

Compiled 1202 to 418 computations (65.2% saved)

series660.0ms (10.7%)

Error
0.0b
Counts
4 → 18
Calls

4 calls:

341.0ms
(*.f64 (*.f64 y (fabs.f64 (cbrt.f64 x))) (sqrt.f64 (cbrt.f64 x)))
113.0ms
(cbrt.f64 x)
109.0ms
(cbrt.f64 x)
78.0ms
(*.f64 y (fabs.f64 (cbrt.f64 x)))
Compiler

Compiled 834 to 669 computations (19.8% saved)

simplify195.0ms (3.2%)

Algorithm
egg-herbie
Rules
654×distribute-rgt-in_binary64_2074
636×distribute-lft-in_binary64_2073
475×associate-+l+_binary64_2057
255×*-commutative_binary64_2055
248×unswap-sqr_binary64_2092
171×associate-*l*_binary64_2065
161×sqr-pow_binary64_2096
135×log-prod_binary64_2210
128×associate-*r*_binary64_2064
111×distribute-rgt-neg-in_binary64_2082 distribute-lft-neg-in_binary64_2081
97×associate-*l/_binary64_2067
93×pow-sqr_binary64_2097
87×associate-*r/_binary64_2066
77×associate-/l*_binary64_2069
70×distribute-rgt-out_binary64_2077
65×associate-/l/_binary64_2071
54×associate-/r/_binary64_2070
44×exp-prod_binary64_2176 count-2_binary64_2072
41×*-lft-identity_binary64_2113
39×cancel-sign-sub-inv_binary64_2090
33×*-rgt-identity_binary64_2114 distribute-lft-out_binary64_2075
26×cube-prod_binary64_2152
24×log-pow_binary64_2213 neg-sub0_binary64_2119
23×rem-sqrt-square_binary64_2137 neg-mul-1_binary64_2120
19×swap-sqr_binary64_2091
15×associate-+r+_binary64_2056
14×sub-neg_binary64_2117
10×cube-unmult_binary64_2161 associate-/r*_binary64_2068
pow-plus_binary64_2187 times-frac_binary64_2130
+-commutative_binary64_2054
distribute-rgt1-in_binary64_2080
unpow3_binary64_2190
unpow1/3_binary64_2191 cube-mult_binary64_2154
pow-base-1_binary64_2184 prod-exp_binary64_2173 1-exp_binary64_2168 exp-1-e_binary64_2167 rem-log-exp_binary64_2165 rem-3cbrt-lft_binary64_2149 rem-cbrt-cube_binary64_2148 sqr-abs_binary64_2139 rem-square-sqrt_binary64_2136 mul-1-neg_binary64_2116 /-rgt-identity_binary64_2115 +-rgt-identity_binary64_2109 +-lft-identity_binary64_2108 *-inverses_binary64_2104 rgt-mult-inverse_binary64_2101 associate-+l-_binary64_2059
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-rec_binary64_2212 log-div_binary64_2211 pow-base-0_binary64_2208 unpow2_binary64_2189 unpow1/2_binary64_2188 exp-to-pow_binary64_2186 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 rec-exp_binary64_2174 exp-diff_binary64_2172 exp-neg_binary64_2171 exp-sum_binary64_2170 e-exp-1_binary64_2169 exp-0_binary64_2166 rem-exp-log_binary64_2164 cube-div_binary64_2153 cube-neg_binary64_2151 rem-3cbrt-rft_binary64_2150 rem-cube-cbrt_binary64_2147 sqr-neg_binary64_2138 div-sub_binary64_2129 unsub-neg_binary64_2118 remove-double-neg_binary64_2112 sub0-neg_binary64_2111 --rgt-identity_binary64_2110 mul0-rgt_binary64_2107 mul0-lft_binary64_2106 div0_binary64_2105 +-inverses_binary64_2103 lft-mult-inverse_binary64_2102 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-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-lft1-in_binary64_2079 distribute-rgt-out--_binary64_2078 distribute-lft-out--_binary64_2076 associate--r-_binary64_2063 associate--l-_binary64_2062 associate--l+_binary64_2061 associate--r+_binary64_2060 associate-+r-_binary64_2058
Counts
82 → 106
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0941004
1200921
2703921
31053921
41840913

prune115.0ms (1.9%)

Pruning

8 alts after pruning (6 fresh and 2 done)

PrunedKeptTotal
New1033106
Fresh134
Picked011
Done011
Total1048112
Error
0.0b
Counts
112 → 8
Compiler

Compiled 2220 to 746 computations (66.4% saved)

localize12.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.4b
(*.f64 (*.f64 (fabs.f64 (cbrt.f64 x)) y) (sqrt.f64 (sqrt.f64 (cbrt.f64 x))))
0.6b
(cbrt.f64 x)
0.6b
(cbrt.f64 x)
0.6b
(cbrt.f64 x)

rewrite95.0ms (1.5%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
15×sqrt-prod_binary64_2140
12×cbrt-prod_binary64_2155 associate-*r*_binary64_2064
11×add-cube-cbrt_binary64_2159 add-sqr-sqrt_binary64_2146 *-un-lft-identity_binary64_2124
pow1_binary64_2185 add-exp-log_binary64_2162 add-cbrt-cube_binary64_2160
add-log-exp_binary64_2163
pow1/3_binary64_2206 pow-prod-down_binary64_2195 prod-exp_binary64_2173 cbrt-unprod_binary64_2157
associate-*l*_binary64_2065 *-commutative_binary64_2055
Counts
4 → 60
Calls

4 calls:

9.0ms
(*.f64 (*.f64 (fabs.f64 (cbrt.f64 x)) y) (sqrt.f64 (sqrt.f64 (cbrt.f64 x))))
1.0ms
(cbrt.f64 x)
1.0ms
(cbrt.f64 x)
1.0ms
(cbrt.f64 x)
Compiler

Compiled 1492 to 453 computations (69.6% saved)

series714.0ms (11.5%)

Error
0.0b
Counts
4 → 15
Calls

4 calls:

347.0ms
(*.f64 (*.f64 (fabs.f64 (cbrt.f64 x)) y) (sqrt.f64 (sqrt.f64 (cbrt.f64 x))))
122.0ms
(cbrt.f64 x)
120.0ms
(cbrt.f64 x)
108.0ms
(cbrt.f64 x)
Compiler

Compiled 963 to 701 computations (27.2% saved)

simplify288.0ms (4.7%)

Algorithm
egg-herbie
Rules
393×associate-/l*_binary64_2069
382×sqr-pow_binary64_2096
377×distribute-rgt-in_binary64_2074
371×distribute-lft-in_binary64_2073
337×unswap-sqr_binary64_2092
322×distribute-rgt-out_binary64_2077
304×*-commutative_binary64_2055
289×associate-/l/_binary64_2071
279×pow-sqr_binary64_2097
276×times-frac_binary64_2130
264×associate-+l+_binary64_2057
260×associate-+r+_binary64_2056
171×log-prod_binary64_2210
156×associate-*l*_binary64_2065
144×associate-/r/_binary64_2070
121×associate-*r*_binary64_2064
92×distribute-rgt-neg-in_binary64_2082 distribute-lft-neg-in_binary64_2081
85×associate-/r*_binary64_2068
81×exp-prod_binary64_2176
78×associate-*r/_binary64_2066
69×log-pow_binary64_2213
63×count-2_binary64_2072
58×*-rgt-identity_binary64_2114
56×associate-*l/_binary64_2067
49×cube-prod_binary64_2152 neg-sub0_binary64_2119
48×neg-mul-1_binary64_2120
41×*-lft-identity_binary64_2113
39×cancel-sign-sub-inv_binary64_2090 distribute-rgt1-in_binary64_2080
30×sub-neg_binary64_2117
27×log-div_binary64_2211 pow-plus_binary64_2187 cube-div_binary64_2153
23×/-rgt-identity_binary64_2115
22×rem-sqrt-square_binary64_2137 swap-sqr_binary64_2091
21×distribute-lft1-in_binary64_2079
17×distribute-lft-out_binary64_2075
16×exp-to-pow_binary64_2186
12×unsub-neg_binary64_2118
11×cube-unmult_binary64_2161
exp-sqrt_binary64_2177 mul0-rgt_binary64_2107 +-commutative_binary64_2054
exp-lft-sqr_binary64_2179
mul0-lft_binary64_2106
unpow3_binary64_2190 pow-base-1_binary64_2184
+-rgt-identity_binary64_2109 +-lft-identity_binary64_2108 remove-double-div_binary64_2100
log-rec_binary64_2212 exp-sum_binary64_2170 cube-mult_binary64_2154 sub0-neg_binary64_2111 --rgt-identity_binary64_2110 *-inverses_binary64_2104 associate-+l-_binary64_2059
unpow1/3_binary64_2191 prod-exp_binary64_2173 rem-log-exp_binary64_2165
div-exp_binary64_2175 rec-exp_binary64_2174 exp-diff_binary64_2172 1-exp_binary64_2168 exp-1-e_binary64_2167 rem-3cbrt-lft_binary64_2149 rem-cbrt-cube_binary64_2148 sqr-abs_binary64_2139 rem-square-sqrt_binary64_2136 div-sub_binary64_2129 mul-1-neg_binary64_2116 div0_binary64_2105 rgt-mult-inverse_binary64_2101 distribute-neg-frac_binary64_2088 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 unpow1/2_binary64_2188 unpow0_binary64_2183 unpow1_binary64_2182 unpow-1_binary64_2181 exp-lft-cube_binary64_2180 exp-cbrt_binary64_2178 exp-neg_binary64_2171 e-exp-1_binary64_2169 exp-0_binary64_2166 rem-exp-log_binary64_2164 cube-neg_binary64_2151 rem-3cbrt-rft_binary64_2150 rem-cube-cbrt_binary64_2147 sqr-neg_binary64_2138 remove-double-neg_binary64_2112 +-inverses_binary64_2103 lft-mult-inverse_binary64_2102 difference-of-sqr--1_binary64_2095 difference-of-sqr-1_binary64_2094 difference-of-squares_binary64_2093 cancel-sign-sub_binary64_2089 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-lft-out--_binary64_2076 associate--r-_binary64_2063 associate--l-_binary64_2062 associate--l+_binary64_2061 associate--r+_binary64_2060 associate-+r-_binary64_2058
Counts
75 → 81
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
091916
1198852
2663852
3949852
41462842
53703842
64552842

prune110.0ms (1.8%)

Pruning

8 alts after pruning (5 fresh and 3 done)

PrunedKeptTotal
New81081
Fresh055
Picked011
Done022
Total81889
Error
0.0b
Counts
89 → 8
Compiler

Compiled 2130 to 711 computations (66.6% saved)

localize13.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.3b
(*.f64 (*.f64 y (*.f64 (fabs.f64 (cbrt.f64 x)) (sqrt.f64 (cbrt.f64 (sqrt.f64 x))))) (sqrt.f64 (cbrt.f64 (sqrt.f64 x))))
0.6b
(cbrt.f64 x)
0.6b
(cbrt.f64 (sqrt.f64 x))
0.6b
(cbrt.f64 (sqrt.f64 x))

rewrite110.0ms (1.8%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
21×cbrt-prod_binary64_2155
18×sqrt-prod_binary64_2140
13×pow1_binary64_2185 add-exp-log_binary64_2162 add-cbrt-cube_binary64_2160 add-cube-cbrt_binary64_2159 add-sqr-sqrt_binary64_2146 *-un-lft-identity_binary64_2124
12×associate-*r*_binary64_2064
pow-prod-down_binary64_2195 prod-exp_binary64_2173 cbrt-unprod_binary64_2157
add-log-exp_binary64_2163
pow1/3_binary64_2206
associate-*l*_binary64_2065 *-commutative_binary64_2055
Counts
4 → 69
Calls

4 calls:

13.0ms
(*.f64 (*.f64 y (*.f64 (fabs.f64 (cbrt.f64 x)) (sqrt.f64 (cbrt.f64 (sqrt.f64 x))))) (sqrt.f64 (cbrt.f64 (sqrt.f64 x))))
2.0ms
(cbrt.f64 (sqrt.f64 x))
2.0ms
(cbrt.f64 (sqrt.f64 x))
1.0ms
(cbrt.f64 x)
Compiler

Compiled 1802 to 496 computations (72.5% saved)

series537.0ms (8.7%)

Error
0.0b
Counts
4 → 15
Calls

4 calls:

252.0ms
(*.f64 (*.f64 y (*.f64 (fabs.f64 (cbrt.f64 x)) (sqrt.f64 (cbrt.f64 (sqrt.f64 x))))) (sqrt.f64 (cbrt.f64 (sqrt.f64 x))))
110.0ms
(cbrt.f64 x)
85.0ms
(cbrt.f64 (sqrt.f64 x))
73.0ms
(cbrt.f64 (sqrt.f64 x))
Compiler

Compiled 850 to 639 computations (24.8% saved)

simplify298.0ms (4.8%)

Algorithm
egg-herbie
Rules
386×distribute-rgt-in_binary64_2074
377×distribute-lft-in_binary64_2073
375×*-commutative_binary64_2055
290×associate-+l+_binary64_2057
275×associate-+r+_binary64_2056
243×associate-*l*_binary64_2065
196×times-frac_binary64_2130
188×sqr-pow_binary64_2096
169×associate-*r*_binary64_2064
135×unswap-sqr_binary64_2092
134×log-prod_binary64_2210
105×associate-/l*_binary64_2069
101×pow-sqr_binary64_2097
79×associate-*r/_binary64_2066
68×exp-prod_binary64_2176
62×distribute-rgt-neg-in_binary64_2082 distribute-lft-neg-in_binary64_2081
60×associate-/l/_binary64_2071
53×distribute-rgt-out_binary64_2077
48×associate-*l/_binary64_2067
42×cube-prod_binary64_2152
40×swap-sqr_binary64_2091
35×log-pow_binary64_2213
30×rem-sqrt-square_binary64_2137
28×count-2_binary64_2072 associate-/r/_binary64_2070
25×cancel-sign-sub-inv_binary64_2090
21×*-rgt-identity_binary64_2114 associate-/r*_binary64_2068
20×*-lft-identity_binary64_2113
18×pow-plus_binary64_2187
17×neg-sub0_binary64_2119
16×neg-mul-1_binary64_2120 distribute-lft-out_binary64_2075
13×+-commutative_binary64_2054
12×cube-unmult_binary64_2161
sub-neg_binary64_2117
unpow3_binary64_2190
unpow1/3_binary64_2191 cube-mult_binary64_2154 cube-div_binary64_2153 distribute-rgt1-in_binary64_2080
log-div_binary64_2211 pow-base-1_binary64_2184 exp-sqrt_binary64_2177 rem-3cbrt-lft_binary64_2149 +-rgt-identity_binary64_2109 +-lft-identity_binary64_2108
exp-to-pow_binary64_2186 prod-exp_binary64_2173 exp-sum_binary64_2170 1-exp_binary64_2168 exp-1-e_binary64_2167 rem-log-exp_binary64_2165 rem-cbrt-cube_binary64_2148 sqr-abs_binary64_2139 rem-square-sqrt_binary64_2136 mul-1-neg_binary64_2116 /-rgt-identity_binary64_2115 *-inverses_binary64_2104 rgt-mult-inverse_binary64_2101 associate-+l-_binary64_2059
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-rec_binary64_2212 pow-base-0_binary64_2208 unpow2_binary64_2189 unpow1/2_binary64_2188 unpow0_binary64_2183 unpow1_binary64_2182 unpow-1_binary64_2181 exp-lft-cube_binary64_2180 exp-lft-sqr_binary64_2179 exp-cbrt_binary64_2178 div-exp_binary64_2175 rec-exp_binary64_2174 exp-diff_binary64_2172 exp-neg_binary64_2171 e-exp-1_binary64_2169 exp-0_binary64_2166 rem-exp-log_binary64_2164 cube-neg_binary64_2151 rem-3cbrt-rft_binary64_2150 rem-cube-cbrt_binary64_2147 sqr-neg_binary64_2138 div-sub_binary64_2129 unsub-neg_binary64_2118 remove-double-neg_binary64_2112 sub0-neg_binary64_2111 --rgt-identity_binary64_2110 mul0-rgt_binary64_2107 mul0-lft_binary64_2106 div0_binary64_2105 +-inverses_binary64_2103 lft-mult-inverse_binary64_2102 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-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-lft1-in_binary64_2079 distribute-rgt-out--_binary64_2078 distribute-lft-out--_binary64_2076 associate--r-_binary64_2063 associate--l-_binary64_2062 associate--l+_binary64_2061 associate--r+_binary64_2060 associate-+r-_binary64_2058
Counts
84 → 93
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01061212
12351103
28691095
313221095
419731085
548851085

prune97.0ms (1.6%)

Pruning

8 alts after pruning (4 fresh and 4 done)

PrunedKeptTotal
New93093
Fresh044
Picked011
Done033
Total938101
Error
0.0b
Counts
101 → 8
Compiler

Compiled 2054 to 611 computations (70.3% saved)

regimes233.0ms (3.8%)

Accuracy

Total 0.1b remaining (95.1%)

Threshold costs 0.1b (95.1%)

Compiler

Compiled 1958 to 1408 computations (28.1% saved)

bsearch0.0ms (0%)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary64_2054
sub-neg_binary64_2117 *-commutative_binary64_2055
1-exp_binary64_2168 neg-mul-1_binary64_2120 neg-sub0_binary64_2119
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 exp-1-e_binary64_2167 exp-0_binary64_2166 sqr-abs_binary64_2139 sqr-neg_binary64_2138 unsub-neg_binary64_2118 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
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0812
11412
21812
32012
42112
Proof
(+ f64 (- f64 1 h0) (* f64 h1 (sqrt f64 h0)))

end0.0ms (0%)

sample1.2s (19.3%)

Algorithm
intervals
Results
240.0ms8000×body128valid
3.0ms120×body128nan
2.0ms71×body128invalid
Compiler

Compiled 663 to 479 computations (27.8% saved)

Profiling

Loading profile data...