Details

Time bar (total: 4.8s)

analyze4.0ms (0.1%)

Algorithm
search
Search
TrueOtherFalseIter
0%100%0%0
0%100%0%1
0%100%0%2
50%50%0%3
75%25%0%4
75%12.5%12.5%5
75%6.2%18.8%6
75%3.1%21.9%7
75%1.6%23.5%8
75%0.8%24.3%9
75%0.4%24.6%10
75%0.2%24.8%11
75%0.1%24.9%12
75%0%24.9%13
75%0%25%14
Compiler

Compiled 10 to 9 computations (10% saved)

sample13.0ms (0.3%)

Algorithm
intervals
Results
6.0ms256×body128valid
Compiler

Compiled 19 to 18 computations (5.3% saved)

simplify490.0ms (10.2%)

Algorithm
egg-herbie
Rules
911×exp-prod_binary64_2176
380×exp-diff_binary64_2172
259×unsub-neg_binary64_2118
229×associate-/l*_binary64_2069
201×pow-plus_binary64_2187
183×swap-sqr_binary64_2091
158×distribute-lft-neg-in_binary64_2081
151×distribute-rgt-neg-in_binary64_2082
150×associate-+l-_binary64_2059
147×distribute-rgt1-in_binary64_2080
146×distribute-neg-in_binary64_2085
127×neg-mul-1_binary64_2120
121×neg-sub0_binary64_2119
120×distribute-neg-out_binary64_2086
118×cancel-sign-sub-inv_binary64_2090
113×exp-sum_binary64_2170
111×sub-neg_binary64_2117
110×associate-+l+_binary64_2057
98×distribute-rgt-in_binary64_2074
95×distribute-rgt-neg-out_binary64_2084
91×associate-+r-_binary64_2058
90×*-commutative_binary64_2055
78×sqr-pow_binary64_2096
76×distribute-lft-neg-out_binary64_2083
72×cancel-sign-sub_binary64_2089
70×associate--r+_binary64_2060
67×+-commutative_binary64_2054
64×remove-double-neg_binary64_2112
51×pow-base-1_binary64_2184 pow-sqr_binary64_2097
45×distribute-rgt-out_binary64_2077
41×exp-neg_binary64_2171
40×distribute-lft-in_binary64_2073
39×associate-*r*_binary64_2064
38×distribute-lft1-in_binary64_2079
34×associate-+r+_binary64_2056
33×associate-*l*_binary64_2065
28×times-frac_binary64_2130 associate--r-_binary64_2063
22×associate--l+_binary64_2061
21×div-sub_binary64_2129 sub0-neg_binary64_2111
14×exp-lft-sqr_binary64_2179
10×mul0-lft_binary64_2106
+-rgt-identity_binary64_2109 mul0-rgt_binary64_2107 distribute-frac-neg_binary64_2087
distribute-rgt-out--_binary64_2078 count-2_binary64_2072 associate--l-_binary64_2062
*-rgt-identity_binary64_2114
cube-prod_binary64_2152 --rgt-identity_binary64_2110
sqr-neg_binary64_2138
div-exp_binary64_2175
prod-exp_binary64_2173 cube-unmult_binary64_2161 *-lft-identity_binary64_2113 unswap-sqr_binary64_2092 associate-/l/_binary64_2071 associate-/r*_binary64_2068
exp-sqrt_binary64_2177 1-exp_binary64_2168 exp-1-e_binary64_2167 +-lft-identity_binary64_2108 div0_binary64_2105
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 exp-to-pow_binary64_2186 unpow0_binary64_2183 unpow1_binary64_2182 unpow-1_binary64_2181 exp-lft-cube_binary64_2180 exp-cbrt_binary64_2178 rec-exp_binary64_2174 e-exp-1_binary64_2169 exp-0_binary64_2166 rem-log-exp_binary64_2165 rem-exp-log_binary64_2164 cube-mult_binary64_2154 cube-div_binary64_2153 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 rem-square-sqrt_binary64_2136 mul-1-neg_binary64_2116 /-rgt-identity_binary64_2115 *-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 distribute-neg-frac_binary64_2088 distribute-lft-out--_binary64_2076 distribute-lft-out_binary64_2075 associate-/r/_binary64_2070 associate-*l/_binary64_2067 associate-*r/_binary64_2066
Counts
1 → 0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0913
12513
25313
310713
417413
525713
653713
7124813
8369613

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 9 to 8 computations (11.1% saved)

localize6.0ms (0.1%)

Local error

Found 2 expressions with local error:

0.0b
(+.f64 2278821411449471/9007199254740992 (*.f64 x 1080863910568919/9007199254740992))
0.1b
(*.f64 x (+.f64 2278821411449471/9007199254740992 (*.f64 x 1080863910568919/9007199254740992)))

rewrite55.0ms (1.1%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
add-sqr-sqrt_binary64_2146
pow1_binary64_2185 add-exp-log_binary64_2162 add-log-exp_binary64_2163 add-cbrt-cube_binary64_2160 add-cube-cbrt_binary64_2159 *-un-lft-identity_binary64_2124
associate-*l*_binary64_2065 associate-*r*_binary64_2064
flip3-+_binary64_2127 associate-*r/_binary64_2066 flip-+_binary64_2098
pow-prod-down_binary64_2195 prod-exp_binary64_2173 cbrt-unprod_binary64_2157 unswap-sqr_binary64_2092 distribute-rgt-in_binary64_2074 distribute-lft-in_binary64_2073 *-commutative_binary64_2055 sum-log_binary64_2215 +-commutative_binary64_2054
Counts
2 → 33
Calls

2 calls:

11.0ms
(*.f64 x (+.f64 2278821411449471/9007199254740992 (*.f64 x 1080863910568919/9007199254740992)))
3.0ms
(+.f64 2278821411449471/9007199254740992 (*.f64 x 1080863910568919/9007199254740992))
Compiler

Compiled 542 to 433 computations (20.1% saved)

series128.0ms (2.7%)

Error
0.0b
Counts
2 → 12
Calls

2 calls:

75.0ms
(*.f64 x (+.f64 2278821411449471/9007199254740992 (*.f64 x 1080863910568919/9007199254740992)))
42.0ms
(+.f64 2278821411449471/9007199254740992 (*.f64 x 1080863910568919/9007199254740992))
Compiler

Compiled 256 to 223 computations (12.9% saved)

simplify174.0ms (3.6%)

Algorithm
egg-herbie
Rules
979×associate-*l/_binary64_2067
278×*-commutative_binary64_2055
236×cancel-sign-sub-inv_binary64_2090
230×distribute-rgt-in_binary64_2074
223×distribute-lft-in_binary64_2073
171×associate-+l+_binary64_2057
166×associate-+r+_binary64_2056
144×times-frac_binary64_2130
125×sqr-pow_binary64_2096
122×distribute-neg-frac_binary64_2088
104×unswap-sqr_binary64_2092
100×sub-neg_binary64_2117
95×associate-*l*_binary64_2065
93×exp-prod_binary64_2176
82×associate-/r*_binary64_2068
78×associate-*r*_binary64_2064
77×*-rgt-identity_binary64_2114
72×exp-sqrt_binary64_2177
69×associate-/r/_binary64_2070 associate-/l*_binary64_2069
67×cube-div_binary64_2153
59×cube-prod_binary64_2152
58×distribute-rgt-neg-in_binary64_2082
50×pow-sqr_binary64_2097
49×swap-sqr_binary64_2091
46×distribute-lft-neg-in_binary64_2081
45×neg-mul-1_binary64_2120
43×log-div_binary64_2211 log-prod_binary64_2210 *-lft-identity_binary64_2113
42×neg-sub0_binary64_2119 +-commutative_binary64_2054
39×/-rgt-identity_binary64_2115
36×unsub-neg_binary64_2118
31×div-sub_binary64_2129
29×associate-*r/_binary64_2066
27×exp-lft-sqr_binary64_2179 distribute-rgt-out_binary64_2077
22×associate-+l-_binary64_2059
19×associate-+r-_binary64_2058
18×associate-/l/_binary64_2071
17×pow-plus_binary64_2187
16×associate--l-_binary64_2062
15×unpow3_binary64_2190 distribute-lft-neg-out_binary64_2083
13×cube-mult_binary64_2154
12×sub0-neg_binary64_2111
11×distribute-rgt-out--_binary64_2078
10×log-pow_binary64_2213 difference-of-squares_binary64_2093 cancel-sign-sub_binary64_2089
exp-sum_binary64_2170
+-rgt-identity_binary64_2109 distribute-rgt-neg-out_binary64_2084
distribute-lft-out_binary64_2075
exp-diff_binary64_2172
rem-sqrt-square_binary64_2137 associate--r+_binary64_2060
pow-base-1_binary64_2184 cube-unmult_binary64_2161 distribute-lft-out--_binary64_2076
prod-exp_binary64_2173 distribute-neg-in_binary64_2085 distribute-rgt1-in_binary64_2080 count-2_binary64_2072
log-rec_binary64_2212 unpow2_binary64_2189 unpow1_binary64_2182 1-exp_binary64_2168 exp-1-e_binary64_2167 rem-log-exp_binary64_2165 rem-exp-log_binary64_2164 remove-double-neg_binary64_2112 *-inverses_binary64_2104 rgt-mult-inverse_binary64_2101 associate--l+_binary64_2061
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 unpow1/2_binary64_2188 exp-to-pow_binary64_2186 unpow0_binary64_2183 unpow-1_binary64_2181 exp-lft-cube_binary64_2180 exp-cbrt_binary64_2178 div-exp_binary64_2175 rec-exp_binary64_2174 exp-neg_binary64_2171 e-exp-1_binary64_2169 exp-0_binary64_2166 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-square-sqrt_binary64_2136 mul-1-neg_binary64_2116 --rgt-identity_binary64_2110 +-lft-identity_binary64_2108 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 distribute-frac-neg_binary64_2087 distribute-neg-out_binary64_2086 distribute-lft1-in_binary64_2079 associate--r-_binary64_2063
Counts
45 → 36
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
061563
1173506
2615506
31560506
43850506

prune39.0ms (0.8%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New33336
Fresh000
Picked011
Done000
Total33437
Error
0b
Counts
37 → 4
Compiler

Compiled 529 to 407 computations (23.1% saved)

localize7.0ms (0.1%)

Local error

Found 2 expressions with local error:

0.0b
(+.f64 (*.f64 2278821411449471/9007199254740992 x) (*.f64 1080863910568919/9007199254740992 (*.f64 x x)))
0.1b
(*.f64 1080863910568919/9007199254740992 (*.f64 x x))

rewrite42.0ms (0.9%)

Algorithm
rewrite-expression-head
Error
0b
Rules
pow1_binary64_2185 add-exp-log_binary64_2162 add-cbrt-cube_binary64_2160
add-log-exp_binary64_2163 add-sqr-sqrt_binary64_2146
pow-prod-down_binary64_2195 prod-exp_binary64_2173 add-cube-cbrt_binary64_2159 cbrt-unprod_binary64_2157 *-un-lft-identity_binary64_2124 associate-*l*_binary64_2065
unswap-sqr_binary64_2092 associate-*r*_binary64_2064 *-commutative_binary64_2055 sum-log_binary64_2215 flip3-+_binary64_2127 flip-+_binary64_2098 +-commutative_binary64_2054
Counts
2 → 30
Calls

2 calls:

6.0ms
(*.f64 1080863910568919/9007199254740992 (*.f64 x x))
4.0ms
(+.f64 (*.f64 2278821411449471/9007199254740992 x) (*.f64 1080863910568919/9007199254740992 (*.f64 x x)))
Compiler

Compiled 549 to 366 computations (33.3% saved)

series125.0ms (2.6%)

Error
0b
Counts
2 → 9
Calls

2 calls:

77.0ms
(+.f64 (*.f64 2278821411449471/9007199254740992 x) (*.f64 1080863910568919/9007199254740992 (*.f64 x x)))
40.0ms
(*.f64 1080863910568919/9007199254740992 (*.f64 x x))
Compiler

Compiled 236 to 210 computations (11% saved)

simplify118.0ms (2.5%)

Algorithm
egg-herbie
Rules
453×cancel-sign-sub-inv_binary64_2090
412×associate-*l*_binary64_2065
359×times-frac_binary64_2130
327×unswap-sqr_binary64_2092
315×distribute-rgt-out_binary64_2077
295×associate-*r*_binary64_2064
290×distribute-rgt-in_binary64_2074
259×distribute-lft-in_binary64_2073
166×distribute-lft-out_binary64_2075
148×distribute-rgt-neg-in_binary64_2082
121×sqr-pow_binary64_2096
117×distribute-lft-neg-in_binary64_2081
100×unsub-neg_binary64_2118
97×sub-neg_binary64_2117
94×associate-+l+_binary64_2057
90×associate-+r+_binary64_2056
73×*-commutative_binary64_2055
69×distribute-rgt-out--_binary64_2078
68×neg-sub0_binary64_2119
67×neg-mul-1_binary64_2120
63×difference-of-squares_binary64_2093
61×pow-sqr_binary64_2097
42×+-commutative_binary64_2054
35×distribute-lft-neg-out_binary64_2083
32×log-prod_binary64_2210
31×exp-prod_binary64_2176
29×cube-prod_binary64_2152
26×pow-plus_binary64_2187
23×associate-/r*_binary64_2068
20×unpow3_binary64_2190
19×associate-+l-_binary64_2059 associate-+r-_binary64_2058
16×associate-/r/_binary64_2070
14×sub0-neg_binary64_2111 mul0-rgt_binary64_2107 mul0-lft_binary64_2106 associate-/l*_binary64_2069
13×swap-sqr_binary64_2091 associate-/l/_binary64_2071
12×distribute-rgt-neg-out_binary64_2084
11×cube-unmult_binary64_2161 cube-mult_binary64_2154 +-rgt-identity_binary64_2109 distribute-lft-out--_binary64_2076 associate-*l/_binary64_2067
log-pow_binary64_2213
distribute-neg-in_binary64_2085 associate-*r/_binary64_2066
/-rgt-identity_binary64_2115
exp-sum_binary64_2170
associate--r+_binary64_2060
count-2_binary64_2072 associate--l+_binary64_2061
prod-exp_binary64_2173 *-rgt-identity_binary64_2114 *-lft-identity_binary64_2113
unpow2_binary64_2189 unpow1_binary64_2182 div-exp_binary64_2175 rec-exp_binary64_2174 1-exp_binary64_2168 remove-double-neg_binary64_2112 +-lft-identity_binary64_2108 *-inverses_binary64_2104 rgt-mult-inverse_binary64_2101 distribute-rgt1-in_binary64_2080
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 unpow1/2_binary64_2188 exp-to-pow_binary64_2186 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-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 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 div-sub_binary64_2129 mul-1-neg_binary64_2116 --rgt-identity_binary64_2110 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 cancel-sign-sub_binary64_2089 distribute-neg-frac_binary64_2088 distribute-frac-neg_binary64_2087 distribute-neg-out_binary64_2086 distribute-lft1-in_binary64_2079 associate--r-_binary64_2063 associate--l-_binary64_2062
Counts
39 → 78
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
058505
1159430
2551424
31537424
44115424

prune99.0ms (2.1%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New78078
Fresh022
Picked011
Done011
Total78482
Error
0b
Counts
82 → 4
Compiler

Compiled 1714 to 1200 computations (30% saved)

localize11.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.5b
(*.f64 (cbrt.f64 x) (cbrt.f64 x))
0.6b
(cbrt.f64 x)
0.6b
(cbrt.f64 x)
0.6b
(cbrt.f64 x)

rewrite99.0ms (2.1%)

Algorithm
rewrite-expression-head
Error
0b
Rules
25×cbrt-prod_binary64_2155
23×add-sqr-sqrt_binary64_2146
15×add-cube-cbrt_binary64_2159 *-un-lft-identity_binary64_2124
11×pow1_binary64_2185
pow1/3_binary64_2206
add-exp-log_binary64_2162 swap-sqr_binary64_2091 associate-*l*_binary64_2065 associate-*r*_binary64_2064
add-log-exp_binary64_2163 add-cbrt-cube_binary64_2160 unswap-sqr_binary64_2092
pow-prod-down_binary64_2195 pow-prod-up_binary64_2194 pow-sqr_binary64_2097
pow2_binary64_2205 pow-plus_binary64_2187 prod-exp_binary64_2173 cbrt-unprod_binary64_2157 *-commutative_binary64_2055
Counts
4 → 73
Calls

4 calls:

6.0ms
(*.f64 (cbrt.f64 x) (cbrt.f64 x))
1.0ms
(cbrt.f64 x)
1.0ms
(cbrt.f64 x)
1.0ms
(cbrt.f64 x)
Compiler

Compiled 1524 to 743 computations (51.2% saved)

series505.0ms (10.5%)

Error
0b
Counts
4 → 12
Calls

4 calls:

150.0ms
(*.f64 (cbrt.f64 x) (cbrt.f64 x))
122.0ms
(cbrt.f64 x)
111.0ms
(cbrt.f64 x)
108.0ms
(cbrt.f64 x)
Compiler

Compiled 663 to 513 computations (22.6% saved)

simplify332.0ms (6.9%)

Algorithm
egg-herbie
Rules
545×log-prod_binary64_2210
427×log-div_binary64_2211
416×associate-/l*_binary64_2069
347×associate-*l*_binary64_2065
293×associate-/r*_binary64_2068
231×associate-*r*_binary64_2064
203×*-commutative_binary64_2055
184×associate-/r/_binary64_2070
150×distribute-rgt-neg-in_binary64_2082
144×distribute-lft-neg-in_binary64_2081
140×exp-prod_binary64_2176
128×distribute-rgt-in_binary64_2074
123×unswap-sqr_binary64_2092
112×cube-prod_binary64_2152
95×distribute-lft-in_binary64_2073
86×swap-sqr_binary64_2091
80×associate-/l/_binary64_2071
77×sqr-pow_binary64_2096
55×log-pow_binary64_2213 distribute-rgt-out_binary64_2077
52×times-frac_binary64_2130
47×cancel-sign-sub-inv_binary64_2090
42×associate-+l+_binary64_2057
39×associate-+r+_binary64_2056
38×associate-*l/_binary64_2067
37×pow-sqr_binary64_2097
30×distribute-lft-out_binary64_2075
29×cube-div_binary64_2153
28×distribute-neg-frac_binary64_2088
24×log-rec_binary64_2212 *-rgt-identity_binary64_2114
23×*-lft-identity_binary64_2113
22×pow-plus_binary64_2187
21×associate-*r/_binary64_2066
19×exp-sqrt_binary64_2177
18×rem-sqrt-square_binary64_2137
15×cube-unmult_binary64_2161
13×neg-mul-1_binary64_2120 neg-sub0_binary64_2119
12×associate-+l-_binary64_2059
exp-lft-sqr_binary64_2179 distribute-rgt-neg-out_binary64_2084 distribute-lft-neg-out_binary64_2083
distribute-rgt1-in_binary64_2080 count-2_binary64_2072
unpow3_binary64_2190 associate--l-_binary64_2062 associate--l+_binary64_2061
associate-+r-_binary64_2058 +-commutative_binary64_2054
div-exp_binary64_2175 prod-exp_binary64_2173 distribute-rgt-out--_binary64_2078
unpow1/3_binary64_2191 unpow2_binary64_2189 sub-neg_binary64_2117 distribute-lft-out--_binary64_2076
unpow1_binary64_2182 rec-exp_binary64_2174 exp-sum_binary64_2170 cube-mult_binary64_2154 rem-3cbrt-lft_binary64_2149 rem-cbrt-cube_binary64_2148 /-rgt-identity_binary64_2115 distribute-lft1-in_binary64_2079
pow-base-1_binary64_2184 exp-diff_binary64_2172 1-exp_binary64_2168 exp-1-e_binary64_2167 rem-log-exp_binary64_2165 rem-3cbrt-rft_binary64_2150 rem-square-sqrt_binary64_2136 mul-1-neg_binary64_2116 mul0-lft_binary64_2106 *-inverses_binary64_2104 distribute-neg-out_binary64_2086
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/2_binary64_2188 exp-to-pow_binary64_2186 unpow0_binary64_2183 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-cube-cbrt_binary64_2147 sqr-abs_binary64_2139 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 +-rgt-identity_binary64_2109 +-lft-identity_binary64_2108 mul0-rgt_binary64_2107 div0_binary64_2105 +-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-frac-neg_binary64_2087 distribute-neg-in_binary64_2085 associate--r-_binary64_2063 associate--r+_binary64_2060
Counts
85 → 83
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
055718
197656
2345636
31343633
44059633

prune100.0ms (2.1%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New83083
Fresh011
Picked011
Done022
Total83487
Error
0b
Counts
87 → 4
Compiler

Compiled 1766 to 924 computations (47.7% saved)

localize12.0ms (0.3%)

Local error

Found 4 expressions with local error:

0.0b
(-.f64 (*.f64 2278821411449471/9007199254740992 2278821411449471/9007199254740992) (*.f64 (*.f64 x x) (*.f64 1080863910568919/9007199254740992 1080863910568919/9007199254740992)))
0.2b
(*.f64 (*.f64 x x) (*.f64 1080863910568919/9007199254740992 1080863910568919/9007199254740992))
0.5b
(*.f64 x (-.f64 (*.f64 2278821411449471/9007199254740992 2278821411449471/9007199254740992) (*.f64 (*.f64 x x) (*.f64 1080863910568919/9007199254740992 1080863910568919/9007199254740992))))
4.6b
(/.f64 (*.f64 x (-.f64 (*.f64 2278821411449471/9007199254740992 2278821411449471/9007199254740992) (*.f64 (*.f64 x x) (*.f64 1080863910568919/9007199254740992 1080863910568919/9007199254740992)))) (-.f64 2278821411449471/9007199254740992 (*.f64 x 1080863910568919/9007199254740992)))

rewrite196.0ms (4.1%)

Algorithm
rewrite-expression-head
Error
0b
Rules
34×pow1_binary64_2185
23×add-exp-log_binary64_2162 add-cbrt-cube_binary64_2160
15×pow-prod-down_binary64_2195
10×prod-exp_binary64_2173 cbrt-unprod_binary64_2157 add-sqr-sqrt_binary64_2146
add-cube-cbrt_binary64_2159 *-un-lft-identity_binary64_2124
add-log-exp_binary64_2163
flip3--_binary64_2128 associate-*r/_binary64_2066 flip--_binary64_2099 associate-*l*_binary64_2065 associate-*r*_binary64_2064 pow-prod-up_binary64_2194 pow-plus_binary64_2187
times-frac_binary64_2130 associate-/r*_binary64_2068 sub-neg_binary64_2117 cancel-sign-sub-inv_binary64_2090
div-exp_binary64_2175 cbrt-undiv_binary64_2158 associate-/l/_binary64_2071 associate-/r/_binary64_2070 unswap-sqr_binary64_2092 distribute-rgt-in_binary64_2074 distribute-lft-in_binary64_2073 *-commutative_binary64_2055 pow2_binary64_2205 pow-sqr_binary64_2097
frac-2neg_binary64_2135 clear-num_binary64_2123 div-inv_binary64_2121 associate-/l*_binary64_2069 diff-log_binary64_2216
Counts
4 → 90
Calls

4 calls:

10.0ms
(/.f64 (*.f64 x (-.f64 (*.f64 2278821411449471/9007199254740992 2278821411449471/9007199254740992) (*.f64 (*.f64 x x) (*.f64 1080863910568919/9007199254740992 1080863910568919/9007199254740992)))) (-.f64 2278821411449471/9007199254740992 (*.f64 x 1080863910568919/9007199254740992)))
9.0ms
(*.f64 (*.f64 x x) (*.f64 1080863910568919/9007199254740992 1080863910568919/9007199254740992))
7.0ms
(*.f64 x (-.f64 (*.f64 2278821411449471/9007199254740992 2278821411449471/9007199254740992) (*.f64 (*.f64 x x) (*.f64 1080863910568919/9007199254740992 1080863910568919/9007199254740992))))
4.0ms
(-.f64 (*.f64 2278821411449471/9007199254740992 2278821411449471/9007199254740992) (*.f64 (*.f64 x x) (*.f64 1080863910568919/9007199254740992 1080863910568919/9007199254740992)))
Compiler

Compiled 2802 to 2145 computations (23.4% saved)

series369.0ms (7.7%)

Error
0b
Counts
4 → 21
Calls

4 calls:

138.0ms
(/.f64 (*.f64 x (-.f64 (*.f64 2278821411449471/9007199254740992 2278821411449471/9007199254740992) (*.f64 (*.f64 x x) (*.f64 1080863910568919/9007199254740992 1080863910568919/9007199254740992)))) (-.f64 2278821411449471/9007199254740992 (*.f64 x 1080863910568919/9007199254740992)))
106.0ms
(*.f64 x (-.f64 (*.f64 2278821411449471/9007199254740992 2278821411449471/9007199254740992) (*.f64 (*.f64 x x) (*.f64 1080863910568919/9007199254740992 1080863910568919/9007199254740992))))
65.0ms
(-.f64 (*.f64 2278821411449471/9007199254740992 2278821411449471/9007199254740992) (*.f64 (*.f64 x x) (*.f64 1080863910568919/9007199254740992 1080863910568919/9007199254740992)))
42.0ms
(*.f64 (*.f64 x x) (*.f64 1080863910568919/9007199254740992 1080863910568919/9007199254740992))
Compiler

Compiled 770 to 671 computations (12.9% saved)

simplify352.0ms (7.3%)

Algorithm
egg-herbie
Rules
409×associate-/l/_binary64_2071
385×distribute-rgt-in_binary64_2074
372×distribute-lft-in_binary64_2073
242×associate-*l*_binary64_2065
218×distribute-rgt-neg-in_binary64_2082
214×cancel-sign-sub-inv_binary64_2090
213×associate-*r*_binary64_2064
196×distribute-lft-neg-in_binary64_2081
119×unswap-sqr_binary64_2092
102×associate-/l*_binary64_2069
79×div-sub_binary64_2129
70×exp-prod_binary64_2176
57×log-prod_binary64_2210 sqr-pow_binary64_2096
56×*-commutative_binary64_2055
50×times-frac_binary64_2130
47×cube-prod_binary64_2152
46×distribute-neg-frac_binary64_2088
43×sub-neg_binary64_2117
42×neg-sub0_binary64_2119 distribute-lft-neg-out_binary64_2083
41×neg-mul-1_binary64_2120
40×associate-*l/_binary64_2067
38×log-div_binary64_2211
32×associate-/r*_binary64_2068
31×cube-div_binary64_2153 distribute-rgt-out_binary64_2077
28×swap-sqr_binary64_2091
27×pow-sqr_binary64_2097
26×*-rgt-identity_binary64_2114
25×distribute-rgt-neg-out_binary64_2084
22×associate-*r/_binary64_2066
19×+-commutative_binary64_2054
16×pow-plus_binary64_2187 *-lft-identity_binary64_2113 distribute-lft-out_binary64_2075 associate-/r/_binary64_2070
12×unpow3_binary64_2190 /-rgt-identity_binary64_2115 distribute-neg-in_binary64_2085
10×difference-of-squares_binary64_2093
exp-sum_binary64_2170
cube-mult_binary64_2154
cube-unmult_binary64_2161 associate-+l+_binary64_2057
*-inverses_binary64_2104 associate-+r+_binary64_2056
log-rec_binary64_2212 unsub-neg_binary64_2118
exp-diff_binary64_2172 distribute-rgt-out--_binary64_2078
log-pow_binary64_2213 div-exp_binary64_2175 remove-double-neg_binary64_2112 count-2_binary64_2072 associate--l+_binary64_2061
unpow2_binary64_2189 pow-base-1_binary64_2184 unpow1_binary64_2182 exp-sqrt_binary64_2177 rec-exp_binary64_2174 prod-exp_binary64_2173 1-exp_binary64_2168 exp-1-e_binary64_2167 rem-log-exp_binary64_2165 rem-sqrt-square_binary64_2137 +-rgt-identity_binary64_2109 rgt-mult-inverse_binary64_2101 associate--r-_binary64_2063 associate--r+_binary64_2060 associate-+r-_binary64_2058
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 unpow1/2_binary64_2188 exp-to-pow_binary64_2186 unpow0_binary64_2183 unpow-1_binary64_2181 exp-lft-cube_binary64_2180 exp-lft-sqr_binary64_2179 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-3cbrt-lft_binary64_2149 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 sub0-neg_binary64_2111 --rgt-identity_binary64_2110 +-lft-identity_binary64_2108 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 cancel-sign-sub_binary64_2089 distribute-frac-neg_binary64_2087 distribute-neg-out_binary64_2086 distribute-rgt1-in_binary64_2080 distribute-lft1-in_binary64_2079 distribute-lft-out--_binary64_2076 associate--l-_binary64_2062 associate-+l-_binary64_2059
Counts
111 → 273
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01482355
13992023
218031965

prune610.0ms (12.7%)

Pruning

4 alts after pruning (0 fresh and 4 done)

PrunedKeptTotal
New2730273
Fresh000
Picked011
Done033
Total2734277
Error
0b
Counts
277 → 4
Compiler

Compiled 8432 to 6722 computations (20.3% saved)

regimes147.0ms (3.1%)

Accuracy

Total 0.1b remaining (96.5%)

Threshold costs 0.1b (96.5%)

Compiler

Compiled 1227 to 1039 computations (15.3% saved)

bsearch0.0ms (0%)

simplify4.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64_2055 +-commutative_binary64_2054
sub-neg_binary64_2117
neg-mul-1_binary64_2120 neg-sub0_binary64_2119
distribute-rgt-neg-in_binary64_2082 distribute-lft-neg-in_binary64_2081
unsub-neg_binary64_2118 distribute-neg-in_binary64_2085
1-exp_binary64_2168
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 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-rgt-neg-out_binary64_2084 distribute-lft-neg-out_binary64_2083
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01116
11816
22616
34616
45916
56916
67316
Proof
(- f64 1 (+ f64 (* f64 2278821411449471/9007199254740992 h0) (* f64 1080863910568919/9007199254740992 (pow f64 h0 2))))

end0.0ms (0%)

sample772.0ms (16%)

Algorithm
intervals
Results
190.0ms8000×body128valid
0.0msbody128invalid
Compiler

Compiled 401 to 341 computations (15% saved)

Profiling

Loading profile data...