Details

Time bar (total: 7.1s)

analyze418.0ms (5.9%)

Algorithm
search
egg-herbie
Rules
752×distribute-rgt-in_binary64_2074
602×distribute-lft-in_binary64_2073
406×unsub-neg_binary64_2118
389×sub-neg_binary64_2117
376×neg-sub0_binary64_2119
373×distribute-rgt-out--_binary64_2078
362×neg-mul-1_binary64_2120
335×distribute-neg-in_binary64_2085
244×*-commutative_binary64_2055
218×div-sub_binary64_2129
201×distribute-lft-neg-out_binary64_2083
198×distribute-rgt-neg-out_binary64_2084
172×associate--r+_binary64_2060
158×+-commutative_binary64_2054
156×times-frac_binary64_2130
138×associate-/l/_binary64_2071
137×associate--l+_binary64_2061
136×associate-+l+_binary64_2057
133×associate-+l-_binary64_2059
132×cancel-sign-sub-inv_binary64_2090
127×distribute-neg-out_binary64_2086
123×associate-+r+_binary64_2056
117×distribute-rgt-neg-in_binary64_2082
116×associate-/r/_binary64_2070
114×distribute-rgt-out_binary64_2077
107×associate--r-_binary64_2063
100×distribute-lft-neg-in_binary64_2081
98×associate--l-_binary64_2062
93×associate-/l*_binary64_2069
91×associate-/r*_binary64_2068
82×associate-+r-_binary64_2058
75×log-div_binary64_2211
55×log-prod_binary64_2210 distribute-rgt1-in_binary64_2080
51×count-2_binary64_2072
45×associate-*l*_binary64_2065
42×distribute-neg-frac_binary64_2088
39×associate-*r*_binary64_2064
38×cancel-sign-sub_binary64_2089
23×+-lft-identity_binary64_2108
22×*-rgt-identity_binary64_2114 *-lft-identity_binary64_2113
21×remove-double-neg_binary64_2112
20×distribute-lft-out--_binary64_2076 associate-*l/_binary64_2067
18×sub0-neg_binary64_2111
16×--rgt-identity_binary64_2110 distribute-lft-out_binary64_2075 associate-*r/_binary64_2066
14×+-rgt-identity_binary64_2109
13×log-rec_binary64_2212
12×mul0-rgt_binary64_2107 distribute-lft1-in_binary64_2079
11×distribute-frac-neg_binary64_2087
10×div0_binary64_2105
mul-1-neg_binary64_2116
mul0-lft_binary64_2106
/-rgt-identity_binary64_2115
+-inverses_binary64_2103 remove-double-div_binary64_2100
1-exp_binary64_2168 *-inverses_binary64_2104
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 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 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 lft-mult-inverse_binary64_2102 rgt-mult-inverse_binary64_2101 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
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01115
12015
22615
34015
46015
58115
611715
720115
836715
949215
1057415
1156615
1261115
1368115
1484115
15172815
16177315
17209615
18239715
19248515
20251415
21252815
22252815
23271815
24279615
25293215
26306615
27305015
28306215
29306615
30429615
31450615
32471315
011
111
Search
TrueOtherFalseIter
0%100%0%0
0%100%0%1
0%100%0%2
0%50%50%3
25%25%50%4
37.5%12.5%50%5
43.7%6.2%50%6
46.9%3.1%50%7
48.4%1.6%50%8
49.2%0.8%50%9
49.6%0.4%50%10
49.8%0.2%50%11
49.9%0.1%50%12
49.9%0%50%13
49.9%0%50%14
Compiler

Compiled 13 to 12 computations (7.7% saved)

sample80.0ms (1.1%)

Algorithm
intervals
Results
44.0ms121×body1024valid
15.0ms73×body512valid
6.0ms11×body2048valid
4.0ms27×body256valid
1.0ms24×body128valid
Compiler

Compiled 25 to 24 computations (4% saved)

simplify273.0ms (3.8%)

Algorithm
egg-herbie
Rules
752×distribute-rgt-in_binary64_2074
602×distribute-lft-in_binary64_2073
406×unsub-neg_binary64_2118
389×sub-neg_binary64_2117
376×neg-sub0_binary64_2119
373×distribute-rgt-out--_binary64_2078
362×neg-mul-1_binary64_2120
335×distribute-neg-in_binary64_2085
244×*-commutative_binary64_2055
218×div-sub_binary64_2129
201×distribute-lft-neg-out_binary64_2083
198×distribute-rgt-neg-out_binary64_2084
172×associate--r+_binary64_2060
158×+-commutative_binary64_2054
156×times-frac_binary64_2130
138×associate-/l/_binary64_2071
137×associate--l+_binary64_2061
136×associate-+l+_binary64_2057
133×associate-+l-_binary64_2059
132×cancel-sign-sub-inv_binary64_2090
127×distribute-neg-out_binary64_2086
123×associate-+r+_binary64_2056
117×distribute-rgt-neg-in_binary64_2082
116×associate-/r/_binary64_2070
114×distribute-rgt-out_binary64_2077
107×associate--r-_binary64_2063
100×distribute-lft-neg-in_binary64_2081
98×associate--l-_binary64_2062
93×associate-/l*_binary64_2069
91×associate-/r*_binary64_2068
82×associate-+r-_binary64_2058
75×log-div_binary64_2211
55×log-prod_binary64_2210 distribute-rgt1-in_binary64_2080
51×count-2_binary64_2072
45×associate-*l*_binary64_2065
42×distribute-neg-frac_binary64_2088
39×associate-*r*_binary64_2064
38×cancel-sign-sub_binary64_2089
23×+-lft-identity_binary64_2108
22×*-rgt-identity_binary64_2114 *-lft-identity_binary64_2113
21×remove-double-neg_binary64_2112
20×distribute-lft-out--_binary64_2076 associate-*l/_binary64_2067
18×sub0-neg_binary64_2111
16×--rgt-identity_binary64_2110 distribute-lft-out_binary64_2075 associate-*r/_binary64_2066
14×+-rgt-identity_binary64_2109
13×log-rec_binary64_2212
12×mul0-rgt_binary64_2107 distribute-lft1-in_binary64_2079
11×distribute-frac-neg_binary64_2087
10×div0_binary64_2105
mul-1-neg_binary64_2116
mul0-lft_binary64_2106
/-rgt-identity_binary64_2115
+-inverses_binary64_2103 remove-double-div_binary64_2100
1-exp_binary64_2168 *-inverses_binary64_2104
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 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 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 lft-mult-inverse_binary64_2102 rgt-mult-inverse_binary64_2101 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
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01115
12015
22615
34015
46015
58115
611715
720115
836715
949215
1057415
1156615
1261115
1368115
1484115
15172815
16177315
17209615
18239715
19248515
20251415
21252815
22252815
23271815
24279615
25293215
26306615
27305015
28306215
29306615
30429615
31450615
32471315

prune7.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New011
Fresh101
Picked000
Done000
Total112
Error
58.2b
Counts
2 → 1
Compiler

Compiled 20 to 18 computations (10% saved)

localize7.0ms (0.1%)

Local error

Found 2 expressions with local error:

0.0b
(/.f64 (+.f64 1 x) (-.f64 1 x))
6.5b
(log.f64 (/.f64 (+.f64 1 x) (-.f64 1 x)))

rewrite159.0ms (2.2%)

Algorithm
rewrite-expression-head
Error
58.1b
Rules
78×*-un-lft-identity_binary64_2124
52×add-sqr-sqrt_binary64_2146
48×times-frac_binary64_2130
30×log-prod_binary64_2210
25×add-cube-cbrt_binary64_2159
18×difference-of-squares_binary64_2093
13×distribute-lft-out_binary64_2075
distribute-lft-out--_binary64_2076
add-exp-log_binary64_2162
associate-/r*_binary64_2068
associate-/r/_binary64_2070 add-cbrt-cube_binary64_2160 associate-/l*_binary64_2069
pow1_binary64_2185
div-inv_binary64_2121 flip3--_binary64_2128 flip--_binary64_2099 div-exp_binary64_2175 rem-log-exp_binary64_2165 add-log-exp_binary64_2163 associate-/l/_binary64_2071
log-pow_binary64_2213 log-div_binary64_2211 cbrt-undiv_binary64_2158 frac-2neg_binary64_2135 clear-num_binary64_2123 flip3-+_binary64_2127 flip-+_binary64_2098
Counts
2 → 91
Calls

2 calls:

9.0ms
(/.f64 (+.f64 1 x) (-.f64 1 x))
8.0ms
(log.f64 (/.f64 (+.f64 1 x) (-.f64 1 x)))
Compiler

Compiled 1776 to 1426 computations (19.7% saved)

series107.0ms (1.5%)

Error
0.0b
Counts
2 → 14
Calls

2 calls:

65.0ms
(log.f64 (/.f64 (+.f64 1 x) (-.f64 1 x)))
28.0ms
(/.f64 (+.f64 1 x) (-.f64 1 x))
Compiler

Compiled 338 to 315 computations (6.8% saved)

simplify126.0ms (1.8%)

Algorithm
egg-herbie
Rules
506×div-sub_binary64_2129
437×distribute-rgt-in_binary64_2074
365×distribute-lft-in_binary64_2073
329×associate-/l*_binary64_2069
229×sub-neg_binary64_2117
189×associate-/l/_binary64_2071
165×log-div_binary64_2211
139×cancel-sign-sub-inv_binary64_2090
132×distribute-rgt-out_binary64_2077 associate-/r/_binary64_2070
105×times-frac_binary64_2130
103×div-exp_binary64_2175 associate-*l*_binary64_2065
95×prod-exp_binary64_2173 associate-*r*_binary64_2064
92×associate-+l+_binary64_2057
84×+-commutative_binary64_2054
82×log-prod_binary64_2210
73×*-commutative_binary64_2055
71×distribute-rgt-neg-out_binary64_2084
70×unsub-neg_binary64_2118
67×associate-/r*_binary64_2068
62×associate-+r+_binary64_2056
57×distribute-lft-neg-out_binary64_2083 associate--l-_binary64_2062
48×associate-+l-_binary64_2059
43×distribute-lft-out_binary64_2075
42×neg-sub0_binary64_2119 distribute-rgt-neg-in_binary64_2082
41×neg-mul-1_binary64_2120
40×log-rec_binary64_2212
38×associate-+r-_binary64_2058
37×cube-prod_binary64_2152
33×distribute-lft-neg-in_binary64_2081
32×exp-sum_binary64_2170
29×sqr-pow_binary64_2096 associate--l+_binary64_2061
26×exp-prod_binary64_2176
25×distribute-rgt1-in_binary64_2080 distribute-rgt-out--_binary64_2078
24×cube-div_binary64_2153
23×associate-*l/_binary64_2067
22×rec-exp_binary64_2174 unswap-sqr_binary64_2092 distribute-neg-out_binary64_2086
20×associate-*r/_binary64_2066
19×*-rgt-identity_binary64_2114
18×exp-diff_binary64_2172 /-rgt-identity_binary64_2115 distribute-neg-frac_binary64_2088
16×cube-unmult_binary64_2161 *-lft-identity_binary64_2113
13×distribute-neg-in_binary64_2085
11×swap-sqr_binary64_2091
10×unpow3_binary64_2190 distribute-lft1-in_binary64_2079
+-rgt-identity_binary64_2109 cancel-sign-sub_binary64_2089 count-2_binary64_2072
sqr-neg_binary64_2138 distribute-frac-neg_binary64_2087
rem-exp-log_binary64_2164 sub0-neg_binary64_2111 remove-double-div_binary64_2100 distribute-lft-out--_binary64_2076 associate--r+_binary64_2060
pow-plus_binary64_2187 cube-neg_binary64_2151 mul-1-neg_binary64_2116 difference-of-sqr-1_binary64_2094 difference-of-squares_binary64_2093
exp-to-pow_binary64_2186 cube-mult_binary64_2154 rem-sqrt-square_binary64_2137 remove-double-neg_binary64_2112 pow-sqr_binary64_2097
log-pow_binary64_2213 unpow2_binary64_2189 unpow1/2_binary64_2188 unpow1_binary64_2182 1-exp_binary64_2168 exp-1-e_binary64_2167 rem-log-exp_binary64_2165 +-inverses_binary64_2103 difference-of-sqr--1_binary64_2095 associate--r-_binary64_2063
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 unpow1/3_binary64_2191 pow-base-1_binary64_2184 unpow0_binary64_2183 unpow-1_binary64_2181 exp-lft-cube_binary64_2180 exp-lft-sqr_binary64_2179 exp-cbrt_binary64_2178 exp-sqrt_binary64_2177 exp-neg_binary64_2171 e-exp-1_binary64_2169 exp-0_binary64_2166 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-square-sqrt_binary64_2136 --rgt-identity_binary64_2110 +-lft-identity_binary64_2108 mul0-rgt_binary64_2107 mul0-lft_binary64_2106 div0_binary64_2105 *-inverses_binary64_2104 lft-mult-inverse_binary64_2102 rgt-mult-inverse_binary64_2101
Counts
105 → 92
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01452071
13251979
27571931
319951927
442561927
556171927

prune115.0ms (1.6%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New90292
Fresh000
Picked011
Done000
Total90393
Error
0.0b
Counts
93 → 3
Compiler

Compiled 1656 to 1309 computations (21% saved)

localize17.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.0b
(+.f64 (+.f64 (*.f64 2/3 (pow.f64 x 3)) (*.f64 2/5 (pow.f64 x 5))) (*.f64 2/7 (pow.f64 x 7)))
0.0b
(*.f64 2/7 (pow.f64 x 7))
0.1b
(*.f64 2/5 (pow.f64 x 5))
0.1b
(*.f64 2/3 (pow.f64 x 3))

rewrite203.0ms (2.9%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
31×add-sqr-sqrt_binary64_2146
26×associate-*r*_binary64_2064
19×add-exp-log_binary64_2162
14×add-cube-cbrt_binary64_2159 *-un-lft-identity_binary64_2124
12×unpow-prod-down_binary64_2203
10×add-cbrt-cube_binary64_2160 unswap-sqr_binary64_2092
prod-exp_binary64_2173 add-log-exp_binary64_2163 associate-*l*_binary64_2065
sqr-pow_binary64_2096
pow1_binary64_2185 cube-prod_binary64_2152
pow-to-exp_binary64_2193 pow-exp_binary64_2192 cbrt-unprod_binary64_2157 *-commutative_binary64_2055 sum-log_binary64_2215
unpow3_binary64_2190 cube-mult_binary64_2154 flip3-+_binary64_2127 flip-+_binary64_2098 associate-+l+_binary64_2057 +-commutative_binary64_2054
Counts
4 → 94
Calls

4 calls:

9.0ms
(+.f64 (+.f64 (*.f64 2/3 (pow.f64 x 3)) (*.f64 2/5 (pow.f64 x 5))) (*.f64 2/7 (pow.f64 x 7)))
7.0ms
(*.f64 2/3 (pow.f64 x 3))
6.0ms
(*.f64 2/5 (pow.f64 x 5))
6.0ms
(*.f64 2/7 (pow.f64 x 7))
Compiler

Compiled 2871 to 2185 computations (23.9% saved)

series302.0ms (4.2%)

Error
0.0b
Counts
4 → 14
Calls

4 calls:

98.0ms
(+.f64 (+.f64 (*.f64 2/3 (pow.f64 x 3)) (*.f64 2/5 (pow.f64 x 5))) (*.f64 2/7 (pow.f64 x 7)))
68.0ms
(*.f64 2/7 (pow.f64 x 7))
66.0ms
(*.f64 2/5 (pow.f64 x 5))
55.0ms
(*.f64 2/3 (pow.f64 x 3))
Compiler

Compiled 824 to 654 computations (20.6% saved)

simplify107.0ms (1.5%)

Algorithm
egg-herbie
Rules
681×unswap-sqr_binary64_2092
384×log-prod_binary64_2210
356×*-commutative_binary64_2055
280×distribute-rgt-in_binary64_2074
265×distribute-lft-in_binary64_2073
153×cancel-sign-sub-inv_binary64_2090
135×distribute-rgt-neg-in_binary64_2082
129×associate-*l*_binary64_2065
128×distribute-lft-neg-in_binary64_2081
125×associate-*r*_binary64_2064
121×sqr-pow_binary64_2096
105×associate-+l+_binary64_2057
94×exp-prod_binary64_2176
89×associate--r+_binary64_2060
78×associate-+r+_binary64_2056
70×cube-prod_binary64_2152
66×associate--l+_binary64_2061
57×sub-neg_binary64_2117
53×associate-/l*_binary64_2069
51×swap-sqr_binary64_2091
48×distribute-rgt-out_binary64_2077
37×log-pow_binary64_2213
35×neg-mul-1_binary64_2120 neg-sub0_binary64_2119
32×distribute-neg-in_binary64_2085 +-commutative_binary64_2054
30×associate-/r*_binary64_2068
22×pow-sqr_binary64_2097
21×unsub-neg_binary64_2118
18×cube-unmult_binary64_2161
17×unpow3_binary64_2190
16×distribute-rgt-out--_binary64_2078
15×pow-plus_binary64_2187 rem-sqrt-square_binary64_2137
14×cube-mult_binary64_2154 distribute-lft-neg-out_binary64_2083 associate-/l/_binary64_2071 associate-*r/_binary64_2066
11×associate-/r/_binary64_2070
10×count-2_binary64_2072 associate-+r-_binary64_2058
+-rgt-identity_binary64_2109
distribute-rgt-neg-out_binary64_2084 distribute-lft-out_binary64_2075 associate-+l-_binary64_2059
prod-exp_binary64_2173 associate--r-_binary64_2063
exp-sum_binary64_2170 sub0-neg_binary64_2111 difference-of-squares_binary64_2093
unpow1/3_binary64_2191 1-exp_binary64_2168 rem-cbrt-cube_binary64_2148 rem-cube-cbrt_binary64_2147 rem-square-sqrt_binary64_2136 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 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 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 rec-exp_binary64_2174 exp-diff_binary64_2172 exp-neg_binary64_2171 e-exp-1_binary64_2169 exp-1-e_binary64_2167 exp-0_binary64_2166 rem-log-exp_binary64_2165 rem-exp-log_binary64_2164 cube-div_binary64_2153 cube-neg_binary64_2151 rem-3cbrt-rft_binary64_2150 rem-3cbrt-lft_binary64_2149 sqr-abs_binary64_2139 sqr-neg_binary64_2138 times-frac_binary64_2130 div-sub_binary64_2129 mul-1-neg_binary64_2116 /-rgt-identity_binary64_2115 *-rgt-identity_binary64_2114 *-lft-identity_binary64_2113 remove-double-neg_binary64_2112 --rgt-identity_binary64_2110 +-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 cancel-sign-sub_binary64_2089 distribute-neg-frac_binary64_2088 distribute-frac-neg_binary64_2087 distribute-neg-out_binary64_2086 distribute-rgt1-in_binary64_2080 distribute-lft1-in_binary64_2079 associate-*l/_binary64_2067 associate--l-_binary64_2062
Counts
108 → 51
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01701490
13631387
210141369
324041369
449631369
554011369

prune90.0ms (1.3%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New51051
Fresh011
Picked011
Done011
Total51354
Error
0.0b
Counts
54 → 3
Compiler

Compiled 1489 to 1123 computations (24.6% saved)

localize8.0ms (0.1%)

Local error

Found 3 expressions with local error:

0.0b
(/.f64 1 (/.f64 (-.f64 1 x) (+.f64 x 1)))
0.0b
(/.f64 (-.f64 1 x) (+.f64 x 1))
6.5b
(log.f64 (/.f64 1 (/.f64 (-.f64 1 x) (+.f64 x 1))))

rewrite682.0ms (9.6%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
372×times-frac_binary64_2130
351×*-un-lft-identity_binary64_2124
253×add-sqr-sqrt_binary64_2146
154×add-cube-cbrt_binary64_2159
95×log-prod_binary64_2210
66×difference-of-squares_binary64_2093
49×distribute-lft-out_binary64_2075
34×associate-/r*_binary64_2068
33×distribute-lft-out--_binary64_2076
28×add-exp-log_binary64_2162
18×associate-/r/_binary64_2070
15×div-exp_binary64_2175
10×div-inv_binary64_2121 add-cbrt-cube_binary64_2160
associate-/l*_binary64_2069
flip3-+_binary64_2127 flip-+_binary64_2098
rem-log-exp_binary64_2165
pow1_binary64_2185
1-exp_binary64_2168 rec-exp_binary64_2174 cbrt-undiv_binary64_2158
log-pow_binary64_2213 add-log-exp_binary64_2163
inv-pow_binary64_2209 pow-flip_binary64_2198 frac-2neg_binary64_2135 clear-num_binary64_2123 associate-/l/_binary64_2071
log-rec_binary64_2212 log-div_binary64_2211 div-sub_binary64_2129 flip3--_binary64_2128 flip--_binary64_2099
Counts
3 → 309
Calls

3 calls:

15.0ms
(log.f64 (/.f64 1 (/.f64 (-.f64 1 x) (+.f64 x 1))))
14.0ms
(/.f64 1 (/.f64 (-.f64 1 x) (+.f64 x 1)))
12.0ms
(/.f64 (-.f64 1 x) (+.f64 x 1))
Compiler

Compiled 7553 to 6340 computations (16.1% saved)

series147.0ms (2.1%)

Error
0.0b
Counts
3 → 22
Calls

3 calls:

62.0ms
(log.f64 (/.f64 1 (/.f64 (-.f64 1 x) (+.f64 x 1))))
35.0ms
(/.f64 1 (/.f64 (-.f64 1 x) (+.f64 x 1)))
33.0ms
(/.f64 (-.f64 1 x) (+.f64 x 1))
Compiler

Compiled 558 to 525 computations (5.9% saved)

simplify321.0ms (4.5%)

Algorithm
egg-herbie
Rules
537×log-div_binary64_2211
376×times-frac_binary64_2130
374×log-prod_binary64_2210
352×distribute-rgt-in_binary64_2074
307×distribute-lft-in_binary64_2073
293×associate-/l/_binary64_2071
199×sub-neg_binary64_2117
132×associate-/r/_binary64_2070
93×cancel-sign-sub-inv_binary64_2090
78×associate-*l/_binary64_2067
69×*-commutative_binary64_2055
62×log-rec_binary64_2212 neg-sub0_binary64_2119
61×neg-mul-1_binary64_2120
60×associate-/l*_binary64_2069
58×div-sub_binary64_2129
53×exp-prod_binary64_2176
46×+-commutative_binary64_2054
44×associate-*r/_binary64_2066
43×associate-*r*_binary64_2064
42×exp-sum_binary64_2170 distribute-rgt-neg-in_binary64_2082
38×associate-/r*_binary64_2068
36×distribute-lft-neg-in_binary64_2081 distribute-rgt-out_binary64_2077
33×*-rgt-identity_binary64_2114
32×distribute-rgt-neg-out_binary64_2084
31×unsub-neg_binary64_2118 associate-*l*_binary64_2065
28×distribute-lft-neg-out_binary64_2083
27×distribute-neg-frac_binary64_2088 associate-+r+_binary64_2056
26×associate-+l+_binary64_2057
20×*-lft-identity_binary64_2113 sqr-pow_binary64_2096
19×exp-diff_binary64_2172 /-rgt-identity_binary64_2115
17×associate--l-_binary64_2062
14×distribute-neg-in_binary64_2085 distribute-rgt-out--_binary64_2078
13×prod-exp_binary64_2173 distribute-rgt1-in_binary64_2080
11×log-pow_binary64_2213 cube-prod_binary64_2152
10×associate--r+_binary64_2060
count-2_binary64_2072
swap-sqr_binary64_2091
div-exp_binary64_2175 unswap-sqr_binary64_2092
cube-unmult_binary64_2161 distribute-lft-out_binary64_2075 associate--l+_binary64_2061
unpow3_binary64_2190 exp-to-pow_binary64_2186 rem-exp-log_binary64_2164 associate--r-_binary64_2063 associate-+r-_binary64_2058
cube-div_binary64_2153 remove-double-div_binary64_2100
rec-exp_binary64_2174 mul-1-neg_binary64_2116 mul0-rgt_binary64_2107 mul0-lft_binary64_2106 distribute-lft-out--_binary64_2076
unpow2_binary64_2189 unpow1/2_binary64_2188 pow-plus_binary64_2187 unpow1_binary64_2182 exp-neg_binary64_2171 1-exp_binary64_2168 cube-mult_binary64_2154 sqr-neg_binary64_2138 rem-sqrt-square_binary64_2137 remove-double-neg_binary64_2112 sub0-neg_binary64_2111 +-rgt-identity_binary64_2109 +-lft-identity_binary64_2108 div0_binary64_2105 pow-sqr_binary64_2097 difference-of-sqr--1_binary64_2095 difference-of-sqr-1_binary64_2094 difference-of-squares_binary64_2093 distribute-neg-out_binary64_2086 distribute-lft1-in_binary64_2079 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 pow-base-0_binary64_2208 unpow1/3_binary64_2191 pow-base-1_binary64_2184 unpow0_binary64_2183 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-1-e_binary64_2167 exp-0_binary64_2166 rem-log-exp_binary64_2165 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-square-sqrt_binary64_2136 --rgt-identity_binary64_2110 *-inverses_binary64_2104 +-inverses_binary64_2103 lft-mult-inverse_binary64_2102 rgt-mult-inverse_binary64_2101 cancel-sign-sub_binary64_2089 distribute-frac-neg_binary64_2087
Counts
331 → 262
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02818112
16837577
220067316
343647316
449767316
549407316

prune406.0ms (5.7%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New2620262
Fresh000
Picked011
Done022
Total2623265
Error
0.0b
Counts
265 → 3
Compiler

Compiled 5210 to 4236 computations (18.7% saved)

regimes265.0ms (3.7%)

Accuracy

Total 0.2b remaining (98.9%)

Threshold costs 0.2b (98.9%)

Compiler

Compiled 2854 to 2471 computations (13.4% saved)

bsearch0.0ms (0%)

simplify3.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64_2055
+-commutative_binary64_2054
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
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02034
12734
22734

end0.0ms (0%)

sample3.3s (46%)

Algorithm
intervals
Results
1.5s3975×body1024valid
442.0ms2032×body512valid
216.0ms402×body2048valid
125.0ms991×body256valid
37.0ms600×body128valid
Compiler

Compiled 697 to 604 computations (13.3% saved)

Profiling

Loading profile data...