Details

Time bar (total: 3.6s)

analyze154.0ms (4.3%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0711
11211
21611
32211
42811
54311
66511
77711
88911
99111
108511
117111
011
111
Search
TrueOtherFalseIter
0%100%0%0
100%0%0%1
Compiler

Compiled 8 to 7 computations (12.5% saved)

sample29.0ms (0.8%)

Algorithm
intervals
Results
11.0ms63×body2048valid
4.0ms36×body1024valid
4.0ms132×body128valid
1.0ms16×body512valid
1.0msbody256valid
Compiler

Compiled 15 to 14 computations (6.7% saved)

simplify13.0ms (0.3%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0711
11211
21611
32211
42811
54311
66511
77711
88911
99111
108511
117111

prune6.0ms (0.2%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 7 to 6 computations (14.3% saved)

localize6.0ms (0.2%)

Local error

Found 2 expressions with local error:

0.0b
(atan.f64 (+.f64 N 1))
1.0b
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))

rewrite32.0ms (0.9%)

Algorithm
rewrite-expression-head
Error
15.1b
Rules
add-sqr-sqrt_binary64_2146 *-un-lft-identity_binary64_2124
add-log-exp_binary64_2163
add-cube-cbrt_binary64_2159 cancel-sign-sub-inv_binary64_2090
pow1_binary64_2185 add-exp-log_binary64_2162 add-cbrt-cube_binary64_2160
diff-atan_binary64_2281 diff-log_binary64_2216 flip3--_binary64_2128 sub-neg_binary64_2117 flip--_binary64_2099 difference-of-squares_binary64_2093 distribute-lft-out--_binary64_2076
Counts
2 → 24
Calls

2 calls:

4.0ms
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
1.0ms
(atan.f64 (+.f64 N 1))
Compiler

Compiled 348 to 227 computations (34.8% saved)

series40.0ms (1.1%)

Error
15.6b
Counts
2 → 6
Calls

2 calls:

25.0ms
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
11.0ms
(atan.f64 (+.f64 N 1))
Compiler

Compiled 126 to 98 computations (22.2% saved)

simplify93.0ms (2.6%)

Algorithm
egg-herbie
Rules
632×unsub-neg_binary64_2118
532×neg-sub0_binary64_2119
514×neg-mul-1_binary64_2120
430×associate-*l*_binary64_2065
371×distribute-rgt-neg-in_binary64_2082
350×associate-*r*_binary64_2064
322×*-commutative_binary64_2055
320×distribute-rgt-neg-out_binary64_2084
305×distribute-lft-neg-out_binary64_2083
255×unswap-sqr_binary64_2092
223×distribute-rgt-in_binary64_2074
193×distribute-lft-in_binary64_2073
168×distribute-neg-in_binary64_2085
144×distribute-rgt-out_binary64_2077
135×cancel-sign-sub-inv_binary64_2090
128×sub-neg_binary64_2117
104×sqr-pow_binary64_2096
101×+-commutative_binary64_2054
86×times-frac_binary64_2130
84×remove-double-neg_binary64_2112
73×distribute-lft-out_binary64_2075
58×exp-prod_binary64_2176
56×distribute-lft-neg-in_binary64_2081
51×cancel-sign-sub_binary64_2089
49×div-sub_binary64_2129
46×difference-of-squares_binary64_2093
37×associate-+l-_binary64_2059
35×exp-sum_binary64_2170 distribute-neg-out_binary64_2086
33×associate-+r+_binary64_2056
32×pow-sqr_binary64_2097
30×associate-+l+_binary64_2057
28×mul0-rgt_binary64_2107 mul0-lft_binary64_2106
26×exp-diff_binary64_2172 swap-sqr_binary64_2091 associate--r+_binary64_2060
25×cube-prod_binary64_2152
24×pow-plus_binary64_2187 sub0-neg_binary64_2111
21×cube-unmult_binary64_2161
17×distribute-rgt-out--_binary64_2078
16×associate-+r-_binary64_2058
14×sqr-neg_binary64_2138 associate-/l*_binary64_2069
11×+-rgt-identity_binary64_2109
10×unpow3_binary64_2190 distribute-frac-neg_binary64_2087 associate--l+_binary64_2061
log-prod_binary64_2210
mul-1-neg_binary64_2116
cube-neg_binary64_2151 --rgt-identity_binary64_2110 associate-/r*_binary64_2068
unpow2_binary64_2189 exp-neg_binary64_2171 distribute-rgt1-in_binary64_2080
rem-sqrt-square_binary64_2137
cube-mult_binary64_2154 *-lft-identity_binary64_2113
+-lft-identity_binary64_2108
unpow1_binary64_2182 div-exp_binary64_2175 1-exp_binary64_2168 exp-1-e_binary64_2167 rem-3cbrt-lft_binary64_2149 rem-square-sqrt_binary64_2136 *-rgt-identity_binary64_2114 +-inverses_binary64_2103 distribute-lft-out--_binary64_2076 associate--r-_binary64_2063 associate--l-_binary64_2062
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 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 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-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 div0_binary64_2105 *-inverses_binary64_2104 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 distribute-neg-frac_binary64_2088 distribute-lft1-in_binary64_2079 count-2_binary64_2072 associate-/l/_binary64_2071 associate-/r/_binary64_2070 associate-*l/_binary64_2067 associate-*r/_binary64_2066
Counts
30 → 8
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
049423
1101400
2185391
3553391
41681391
52674391
64338391
74998391

prune13.0ms (0.4%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New628
Fresh000
Picked101
Done000
Total729
Error
0.4b
Counts
9 → 2
Compiler

Compiled 131 to 90 computations (31.3% saved)

localize6.0ms (0.2%)

Local error

Found 3 expressions with local error:

0.0b
(*.f64 N (+.f64 N 1))
0.0b
(+.f64 1 (*.f64 N (+.f64 N 1)))
0.4b
(atan2.f64 1 (+.f64 1 (*.f64 N (+.f64 N 1))))

rewrite61.0ms (1.7%)

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

3 calls:

6.0ms
(*.f64 N (+.f64 N 1))
4.0ms
(+.f64 1 (*.f64 N (+.f64 N 1)))
1.0ms
(atan2.f64 1 (+.f64 1 (*.f64 N (+.f64 N 1))))
Compiler

Compiled 690 to 533 computations (22.8% saved)

series151.0ms (4.2%)

Error
0.4b
Counts
3 → 18
Calls

3 calls:

68.0ms
(+.f64 1 (*.f64 N (+.f64 N 1)))
53.0ms
(*.f64 N (+.f64 N 1))
16.0ms
(atan2.f64 1 (+.f64 1 (*.f64 N (+.f64 N 1))))
Compiler

Compiled 345 to 299 computations (13.3% saved)

simplify90.0ms (2.5%)

Algorithm
egg-herbie
Rules
521×unswap-sqr_binary64_2092
356×distribute-rgt-in_binary64_2074
317×sub-neg_binary64_2117
314×distribute-rgt-out_binary64_2077
296×distribute-lft-in_binary64_2073
261×*-commutative_binary64_2055
256×distribute-rgt-out--_binary64_2078
245×associate-*l*_binary64_2065
193×associate-*r*_binary64_2064
172×distribute-rgt-neg-in_binary64_2082
161×+-commutative_binary64_2054
141×distribute-lft-neg-in_binary64_2081
129×associate--l+_binary64_2061
127×cancel-sign-sub-inv_binary64_2090
119×distribute-lft-out_binary64_2075
106×distribute-lft-out--_binary64_2076
92×distribute-neg-in_binary64_2085
87×associate--r+_binary64_2060
86×exp-prod_binary64_2176
85×sqr-pow_binary64_2096
67×distribute-rgt1-in_binary64_2080
63×associate-+l+_binary64_2057
59×difference-of-squares_binary64_2093 distribute-lft1-in_binary64_2079
58×associate-+l-_binary64_2059
57×associate-+r+_binary64_2056
54×rem-sqrt-square_binary64_2137 unsub-neg_binary64_2118
38×neg-mul-1_binary64_2120 associate-+r-_binary64_2058
37×neg-sub0_binary64_2119
35×exp-sum_binary64_2170
29×log-prod_binary64_2210
28×cube-prod_binary64_2152
27×sub0-neg_binary64_2111
23×distribute-lft-neg-out_binary64_2083
22×pow-plus_binary64_2187 *-lft-identity_binary64_2113 swap-sqr_binary64_2091
20×+-rgt-identity_binary64_2109 pow-sqr_binary64_2097
18×*-rgt-identity_binary64_2114
15×cancel-sign-sub_binary64_2089 distribute-rgt-neg-out_binary64_2084
13×exp-diff_binary64_2172
12×cube-unmult_binary64_2161
unpow3_binary64_2190
unpow1/2_binary64_2188 associate-/l*_binary64_2069
difference-of-sqr-1_binary64_2094 distribute-neg-out_binary64_2086
log-pow_binary64_2213
cube-mult_binary64_2154 remove-double-neg_binary64_2112 difference-of-sqr--1_binary64_2095 associate--r-_binary64_2063
sqr-neg_binary64_2138 --rgt-identity_binary64_2110 +-inverses_binary64_2103 count-2_binary64_2072 associate-/l/_binary64_2071 associate-*r/_binary64_2066
unpow2_binary64_2189 unpow1_binary64_2182 prod-exp_binary64_2173 1-exp_binary64_2168 exp-1-e_binary64_2167 cube-neg_binary64_2151 div-sub_binary64_2129 associate-/r/_binary64_2070 associate-/r*_binary64_2068 associate--l-_binary64_2062
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 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 div-exp_binary64_2175 rec-exp_binary64_2174 exp-neg_binary64_2171 e-exp-1_binary64_2169 exp-0_binary64_2166 rem-log-exp_binary64_2165 rem-exp-log_binary64_2164 cube-div_binary64_2153 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 times-frac_binary64_2130 mul-1-neg_binary64_2116 /-rgt-identity_binary64_2115 +-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 remove-double-div_binary64_2100 distribute-neg-frac_binary64_2088 distribute-frac-neg_binary64_2087 associate-*l/_binary64_2067
Counts
61 → 49
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
072692
1184640
2527638
31543638
42837635
54836635
64920635

prune52.0ms (1.4%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New43649
Fresh101
Picked101
Done000
Total45651
Error
0.3b
Counts
51 → 6
Compiler

Compiled 732 to 446 computations (39.1% saved)

localize5.0ms (0.1%)

Local error

Found 3 expressions with local error:

0.0b
(+.f64 1 (*.f64 N N))
0.0b
(+.f64 N (+.f64 1 (*.f64 N N)))
0.4b
(atan2.f64 1 (+.f64 N (+.f64 1 (*.f64 N N))))

rewrite39.0ms (1.1%)

Algorithm
rewrite-expression-head
Error
0.3b
Rules
10×add-log-exp_binary64_2163
*-un-lft-identity_binary64_2124
sum-log_binary64_2215
pow1_binary64_2185 add-exp-log_binary64_2162 add-cbrt-cube_binary64_2160 add-cube-cbrt_binary64_2159 add-sqr-sqrt_binary64_2146
flip3-+_binary64_2127 flip-+_binary64_2098 +-commutative_binary64_2054
distribute-lft-out_binary64_2075 associate-+r+_binary64_2056
Counts
3 → 32
Calls

3 calls:

5.0ms
(+.f64 N (+.f64 1 (*.f64 N N)))
5.0ms
(+.f64 1 (*.f64 N N))
0.0ms
(atan2.f64 1 (+.f64 N (+.f64 1 (*.f64 N N))))
Compiler

Compiled 540 to 319 computations (40.9% saved)

series155.0ms (4.3%)

Error
0.3b
Counts
3 → 18
Calls

3 calls:

73.0ms
(+.f64 N (+.f64 1 (*.f64 N N)))
52.0ms
(+.f64 1 (*.f64 N N))
19.0ms
(atan2.f64 1 (+.f64 N (+.f64 1 (*.f64 N N))))
Compiler

Compiled 345 to 295 computations (14.5% saved)

simplify108.0ms (3%)

Algorithm
egg-herbie
Rules
457×unswap-sqr_binary64_2092
332×sub-neg_binary64_2117
231×distribute-rgt-in_binary64_2074
215×distribute-rgt-out_binary64_2077
213×*-commutative_binary64_2055
209×distribute-rgt-neg-in_binary64_2082 +-commutative_binary64_2054
205×distribute-rgt-out--_binary64_2078
198×cancel-sign-sub-inv_binary64_2090
197×distribute-lft-in_binary64_2073
170×neg-mul-1_binary64_2120
160×distribute-lft-neg-in_binary64_2081
143×exp-prod_binary64_2176
136×associate-*l*_binary64_2065
116×distribute-neg-in_binary64_2085 distribute-lft-out--_binary64_2076
115×associate-*r*_binary64_2064
110×associate--l+_binary64_2061
105×difference-of-squares_binary64_2093
91×unsub-neg_binary64_2118
85×associate-+l-_binary64_2059
82×associate--r+_binary64_2060
79×sqr-pow_binary64_2096
73×distribute-lft-out_binary64_2075
62×associate-+r-_binary64_2058 associate-+l+_binary64_2057
53×distribute-rgt1-in_binary64_2080 associate-+r+_binary64_2056
51×neg-sub0_binary64_2119
47×cube-prod_binary64_2152
42×pow-plus_binary64_2187
41×sub0-neg_binary64_2111
37×distribute-lft-neg-out_binary64_2083
33×distribute-lft1-in_binary64_2079
32×cancel-sign-sub_binary64_2089
31×unpow3_binary64_2190
26×swap-sqr_binary64_2091
25×+-rgt-identity_binary64_2109
24×exp-sum_binary64_2170
23×distribute-rgt-neg-out_binary64_2084
22×cube-unmult_binary64_2161
18×pow-sqr_binary64_2097
17×div-sub_binary64_2129 *-rgt-identity_binary64_2114
15×*-lft-identity_binary64_2113 distribute-neg-out_binary64_2086
14×rem-sqrt-square_binary64_2137
12×associate--l-_binary64_2062
10×log-prod_binary64_2210 exp-diff_binary64_2172
remove-double-neg_binary64_2112
unpow1/2_binary64_2188 sqr-neg_binary64_2138 associate-/l*_binary64_2069
difference-of-sqr-1_binary64_2094
prod-exp_binary64_2173 difference-of-sqr--1_binary64_2095
+-inverses_binary64_2103 associate--r-_binary64_2063
cube-mult_binary64_2154 cube-neg_binary64_2151 times-frac_binary64_2130 associate-/l/_binary64_2071 associate-/r*_binary64_2068 associate-*r/_binary64_2066
unpow2_binary64_2189 associate-/r/_binary64_2070
unpow1_binary64_2182 1-exp_binary64_2168 exp-1-e_binary64_2167 mul-1-neg_binary64_2116
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 pow-base-0_binary64_2208 unpow1/3_binary64_2191 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 div-exp_binary64_2175 rec-exp_binary64_2174 exp-neg_binary64_2171 e-exp-1_binary64_2169 exp-0_binary64_2166 rem-log-exp_binary64_2165 rem-exp-log_binary64_2164 cube-div_binary64_2153 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_2115 --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 remove-double-div_binary64_2100 distribute-neg-frac_binary64_2088 distribute-frac-neg_binary64_2087 count-2_binary64_2072 associate-*l/_binary64_2067
Counts
50 → 27
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
060634
1161577
2413577
31391568
42639568
54672568
64965568
74937568

prune27.0ms (0.7%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New27027
Fresh055
Picked011
Done000
Total27633
Error
0.3b
Counts
33 → 6
Compiler

Compiled 385 to 241 computations (37.4% saved)

localize8.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.4b
(atan2.f64 1 (+.f64 N (+.f64 1 (*.f64 N N))))
0.6b
(*.f64 (sqrt.f64 (atan2.f64 1 (+.f64 N (+.f64 1 (*.f64 N N))))) (sqrt.f64 (atan2.f64 1 (+.f64 N (+.f64 1 (*.f64 N N))))))
14.2b
(sqrt.f64 (atan2.f64 1 (+.f64 N (+.f64 1 (*.f64 N N)))))
14.2b
(sqrt.f64 (atan2.f64 1 (+.f64 N (+.f64 1 (*.f64 N N)))))

rewrite167.0ms (4.6%)

Algorithm
rewrite-expression-head
Error
0.3b
Rules
30×add-sqr-sqrt_binary64_2146
24×sqrt-prod_binary64_2140
21×pow1_binary64_2185
14×add-cube-cbrt_binary64_2159 *-un-lft-identity_binary64_2124
10×pow1/2_binary64_2204 sqrt-pow1_binary64_2142
swap-sqr_binary64_2091
add-exp-log_binary64_2162 add-cbrt-cube_binary64_2160 associate-*l*_binary64_2065 associate-*r*_binary64_2064
pow-prod-up_binary64_2194
add-log-exp_binary64_2163 rem-sqrt-square_binary64_2137 unswap-sqr_binary64_2092
pow-prod-down_binary64_2195 pow-sqr_binary64_2097
pow2_binary64_2205 pow-plus_binary64_2187 prod-exp_binary64_2173 cbrt-unprod_binary64_2157 sqrt-unprod_binary64_2144 sqr-abs_binary64_2139 rem-square-sqrt_binary64_2136 *-commutative_binary64_2055
Counts
4 → 83
Calls

4 calls:

7.0ms
(*.f64 (sqrt.f64 (atan2.f64 1 (+.f64 N (+.f64 1 (*.f64 N N))))) (sqrt.f64 (atan2.f64 1 (+.f64 N (+.f64 1 (*.f64 N N))))))
1.0ms
(sqrt.f64 (atan2.f64 1 (+.f64 N (+.f64 1 (*.f64 N N)))))
1.0ms
(sqrt.f64 (atan2.f64 1 (+.f64 N (+.f64 1 (*.f64 N N)))))
1.0ms
(atan2.f64 1 (+.f64 N (+.f64 1 (*.f64 N N))))
Compiler

Compiled 2606 to 1704 computations (34.6% saved)

series141.0ms (3.9%)

Error
0.3b
Counts
4 → 12
Calls

4 calls:

47.0ms
(sqrt.f64 (atan2.f64 1 (+.f64 N (+.f64 1 (*.f64 N N)))))
43.0ms
(sqrt.f64 (atan2.f64 1 (+.f64 N (+.f64 1 (*.f64 N N)))))
20.0ms
(*.f64 (sqrt.f64 (atan2.f64 1 (+.f64 N (+.f64 1 (*.f64 N N))))) (sqrt.f64 (atan2.f64 1 (+.f64 N (+.f64 1 (*.f64 N N))))))
19.0ms
(atan2.f64 1 (+.f64 N (+.f64 1 (*.f64 N N))))
Compiler

Compiled 648 to 512 computations (21% saved)

simplify133.0ms (3.7%)

Algorithm
egg-herbie
Rules
475×unswap-sqr_binary64_2092
447×log-div_binary64_2211
345×sqr-pow_binary64_2096
308×associate-*r/_binary64_2066
266×associate-*l/_binary64_2067
245×*-commutative_binary64_2055
232×associate-/l*_binary64_2069
220×associate-+l+_binary64_2057
197×cube-div_binary64_2153
168×log-prod_binary64_2210
147×exp-prod_binary64_2176
134×cube-prod_binary64_2152
125×associate-/l/_binary64_2071 associate-+r+_binary64_2056
120×pow-sqr_binary64_2097
115×associate-/r/_binary64_2070 associate-*l*_binary64_2065
113×distribute-rgt-in_binary64_2074
101×distribute-lft-in_binary64_2073
78×associate-/r*_binary64_2068
76×swap-sqr_binary64_2091
68×associate-*r*_binary64_2064
61×+-commutative_binary64_2054
47×rem-sqrt-square_binary64_2137
34×log-pow_binary64_2213 pow-plus_binary64_2187
29×unpow3_binary64_2190 times-frac_binary64_2130
28×*-lft-identity_binary64_2113
24×exp-sqrt_binary64_2177
22×distribute-rgt-out_binary64_2077
21×cube-mult_binary64_2154
19×log-rec_binary64_2212
18×*-rgt-identity_binary64_2114
17×distribute-lft-out_binary64_2075
15×cube-unmult_binary64_2161
14×unpow1/2_binary64_2188
10×count-2_binary64_2072
unpow2_binary64_2189 exp-lft-sqr_binary64_2179 distribute-rgt1-in_binary64_2080
unpow1_binary64_2182
sub-neg_binary64_2117 distribute-lft1-in_binary64_2079
rem-square-sqrt_binary64_2136
remove-double-div_binary64_2100
prod-exp_binary64_2173 1-exp_binary64_2168 exp-1-e_binary64_2167 rem-3cbrt-rft_binary64_2150 rem-3cbrt-lft_binary64_2149 rem-cbrt-cube_binary64_2148 sqr-abs_binary64_2139 /-rgt-identity_binary64_2115
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 exp-to-pow_binary64_2186 pow-base-1_binary64_2184 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-diff_binary64_2172 exp-neg_binary64_2171 exp-sum_binary64_2170 e-exp-1_binary64_2169 exp-0_binary64_2166 rem-log-exp_binary64_2165 rem-exp-log_binary64_2164 cube-neg_binary64_2151 rem-cube-cbrt_binary64_2147 sqr-neg_binary64_2138 div-sub_binary64_2129 neg-mul-1_binary64_2120 neg-sub0_binary64_2119 unsub-neg_binary64_2118 mul-1-neg_binary64_2116 remove-double-neg_binary64_2112 sub0-neg_binary64_2111 --rgt-identity_binary64_2110 +-rgt-identity_binary64_2109 +-lft-identity_binary64_2108 mul0-rgt_binary64_2107 mul0-lft_binary64_2106 div0_binary64_2105 *-inverses_binary64_2104 +-inverses_binary64_2103 lft-mult-inverse_binary64_2102 rgt-mult-inverse_binary64_2101 difference-of-sqr--1_binary64_2095 difference-of-sqr-1_binary64_2094 difference-of-squares_binary64_2093 cancel-sign-sub-inv_binary64_2090 cancel-sign-sub_binary64_2089 distribute-neg-frac_binary64_2088 distribute-frac-neg_binary64_2087 distribute-neg-out_binary64_2086 distribute-neg-in_binary64_2085 distribute-rgt-neg-out_binary64_2084 distribute-lft-neg-out_binary64_2083 distribute-rgt-neg-in_binary64_2082 distribute-lft-neg-in_binary64_2081 distribute-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-+l-_binary64_2059 associate-+r-_binary64_2058
Counts
95 → 68
Iterations

Useful iterations: 6 (0.0ms)

IterNodesCost
0571895
1791734
21861690
33961611
47471485
517281485
635261475
748771475
850951475

prune83.0ms (2.3%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New64468
Fresh314
Picked011
Done011
Total67774
Error
0.3b
Counts
74 → 7
Compiler

Compiled 1358 to 876 computations (35.5% saved)

regimes174.0ms (4.8%)

Accuracy

Total 0.1b remaining (16.1%)

Threshold costs 0.1b (16.1%)

Compiler

Compiled 1924 to 1473 computations (23.4% saved)

bsearch0.0ms (0%)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary64_2054
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 neg-mul-1_binary64_2120 neg-sub0_binary64_2119 unsub-neg_binary64_2118 sub-neg_binary64_2117 mul-1-neg_binary64_2116 /-rgt-identity_binary64_2115 *-rgt-identity_binary64_2114 *-lft-identity_binary64_2113 remove-double-neg_binary64_2112 sub0-neg_binary64_2111 --rgt-identity_binary64_2110 +-rgt-identity_binary64_2109 +-lft-identity_binary64_2108 cancel-sign-sub-inv_binary64_2090 cancel-sign-sub_binary64_2089 distribute-neg-frac_binary64_2088 distribute-frac-neg_binary64_2087 distribute-neg-out_binary64_2086 distribute-neg-in_binary64_2085 distribute-rgt-neg-out_binary64_2084 distribute-lft-neg-out_binary64_2083 distribute-rgt-neg-in_binary64_2082 distribute-lft-neg-in_binary64_2081 *-commutative_binary64_2055
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
11113
21013

end0.0ms (0%)

sample1.8s (50.5%)

Algorithm
intervals
Results
362.0ms2090×body2048valid
146.0ms4120×body128valid
120.0ms987×body1024valid
46.0ms510×body512valid
18.0ms293×body256valid
Compiler

Compiled 959 to 734 computations (23.5% saved)

Profiling

Loading profile data...