Details

Time bar (total: 6.3s)

analyze1.2s (19.4%)

Algorithm
search
egg-herbie
Rules
883×associate-+l-_binary64_2059
655×sub-neg_binary64_2117
596×associate--r-_binary64_2063
477×unsub-neg_binary64_2118
368×distribute-neg-in_binary64_2085
361×neg-sub0_binary64_2119
351×neg-mul-1_binary64_2120
328×associate-*r*_binary64_2064
295×cancel-sign-sub-inv_binary64_2090
280×distribute-lft-neg-out_binary64_2083
269×+-commutative_binary64_2054
267×distribute-lft-neg-in_binary64_2081
263×distribute-rgt-out--_binary64_2078
262×distribute-rgt-neg-in_binary64_2082
261×associate-+l+_binary64_2057
233×remove-double-neg_binary64_2112
223×associate-+r+_binary64_2056
222×distribute-rgt-out_binary64_2077
221×distribute-rgt-neg-out_binary64_2084
219×*-commutative_binary64_2055
214×associate-+r-_binary64_2058
211×associate--l+_binary64_2061
170×distribute-neg-out_binary64_2086
163×distribute-lft-out--_binary64_2076
147×associate--r+_binary64_2060
137×associate--l-_binary64_2062
124×distribute-lft-out_binary64_2075
79×sub0-neg_binary64_2111
55×+-rgt-identity_binary64_2109
45×*-rgt-identity_binary64_2114
41×distribute-rgt-in_binary64_2074
32×distribute-lft-in_binary64_2073
28×--rgt-identity_binary64_2110
23×*-lft-identity_binary64_2113
12×mul0-rgt_binary64_2107
11×mul0-lft_binary64_2106
cancel-sign-sub_binary64_2089
mul-1-neg_binary64_2116
sqr-neg_binary64_2138 swap-sqr_binary64_2091
+-lft-identity_binary64_2108 associate-*l*_binary64_2065
1-exp_binary64_2168 swap-d2-d4
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 rem-sqrt-square_binary64_2137 rem-square-sqrt_binary64_2136 times-frac_binary64_2130 div-sub_binary64_2129 /-rgt-identity_binary64_2115 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 distribute-neg-frac_binary64_2088 distribute-frac-neg_binary64_2087 distribute-rgt1-in_binary64_2080 distribute-lft1-in_binary64_2079 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
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
040133
1139112
240791
3121291
4260591
5355491
6375691
7365691
8365991
9365991
10392891
11394991
12394991
13394991
14523391
044
144
Search
TrueOtherFalseIter
0%99.8%0.2%0
0%99.8%0.2%1
0%99.8%0.2%2
0%99.8%0.2%3
0%99.8%0.2%4
0%99.8%0.2%5
0%99.8%0.2%6
0%99.8%0.2%7
0%99.8%0.2%8
6.2%93.6%0.2%9
28.1%68.6%3.3%10
29.6%65.5%4.9%11
32%61.7%6.3%12
35.5%56.9%7.6%13
48%38.7%13.4%14
Symmetry

(sort d2 d4)

Compiler

Compiled 16 to 12 computations (25% saved)

sample39.0ms (0.6%)

Algorithm
intervals
Results
13.0ms256×body128valid
3.0ms66×body128invalid
Compiler

Compiled 31 to 27 computations (12.9% saved)

simplify84.0ms (1.3%)

Algorithm
egg-herbie
Rules
235×sub-neg_binary64_2117
222×unsub-neg_binary64_2118
158×cancel-sign-sub-inv_binary64_2090
141×associate-*l*_binary64_2065
140×associate-*r*_binary64_2064
129×associate-+l-_binary64_2059
125×distribute-rgt-out--_binary64_2078
115×associate--r-_binary64_2063
94×distribute-rgt-neg-in_binary64_2082
92×associate--r+_binary64_2060
87×distribute-lft-neg-out_binary64_2083 distribute-rgt-out_binary64_2077
83×associate--l+_binary64_2061
82×distribute-rgt-in_binary64_2074
81×distribute-lft-out_binary64_2075
79×distribute-lft-out--_binary64_2076
78×distribute-neg-in_binary64_2085
75×associate-+r-_binary64_2058
72×associate-+r+_binary64_2056 *-commutative_binary64_2055
65×distribute-lft-in_binary64_2073
63×associate-+l+_binary64_2057
60×cancel-sign-sub_binary64_2089
58×+-commutative_binary64_2054
54×distribute-lft-neg-in_binary64_2081 associate--l-_binary64_2062
51×neg-mul-1_binary64_2120 neg-sub0_binary64_2119 distribute-rgt-neg-out_binary64_2084
38×sub0-neg_binary64_2111
31×distribute-neg-out_binary64_2086
30×mul0-rgt_binary64_2107 mul0-lft_binary64_2106
28×*-lft-identity_binary64_2113
22×remove-double-neg_binary64_2112
20×*-rgt-identity_binary64_2114
16×+-rgt-identity_binary64_2109
10×--rgt-identity_binary64_2110
mul-1-neg_binary64_2116
1-exp_binary64_2168 sqr-neg_binary64_2138 +-lft-identity_binary64_2108 swap-sqr_binary64_2091
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 rem-sqrt-square_binary64_2137 rem-square-sqrt_binary64_2136 times-frac_binary64_2130 div-sub_binary64_2129 /-rgt-identity_binary64_2115 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 distribute-neg-frac_binary64_2088 distribute-frac-neg_binary64_2087 distribute-rgt1-in_binary64_2080 distribute-lft1-in_binary64_2079 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
Counts
1 → 1
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01219
13116
28213
321513
450413
5117913
6131413
7112313
8112313
9120313
10113913
11113913
12106413

prune4.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
0.0b
Counts
2 → 2
Compiler

Compiled 33 to 27 computations (18.2% saved)

localize10.0ms (0.2%)

Local error

Found 2 expressions with local error:

0.0b
(-.f64 (*.f64 d1 d2) (*.f64 d1 d3))
0.0b
(+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1))

rewrite45.0ms (0.7%)

Algorithm
rewrite-expression-head
Error
0b
Rules
add-log-exp_binary64_2163
diff-log_binary64_2216 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 *-un-lft-identity_binary64_2124 sub-neg_binary64_2117 associate-+l+_binary64_2057 cancel-sign-sub-inv_binary64_2090
flip3-+_binary64_2127 flip-+_binary64_2098 associate-+l-_binary64_2059 +-commutative_binary64_2054 flip3--_binary64_2128 flip--_binary64_2099 distribute-lft-out--_binary64_2076
Counts
2 → 28
Calls

2 calls:

7.0ms
(+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1))
4.0ms
(-.f64 (*.f64 d1 d2) (*.f64 d1 d3))
Compiler

Compiled 668 to 133 computations (80.1% saved)

series479.0ms (7.6%)

Error
0.0b
Counts
2 → 36
Calls

2 calls:

289.0ms
(+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1))
164.0ms
(-.f64 (*.f64 d1 d2) (*.f64 d1 d3))
Compiler

Compiled 1205 to 646 computations (46.4% saved)

simplify74.0ms (1.2%)

Algorithm
egg-herbie
Rules
460×associate-*l*_binary64_2065
431×cancel-sign-sub-inv_binary64_2090
383×times-frac_binary64_2130
377×associate-*r*_binary64_2064
283×distribute-rgt-neg-out_binary64_2084
282×distribute-lft-neg-out_binary64_2083
240×distribute-rgt-in_binary64_2074
221×distribute-lft-in_binary64_2073
154×exp-sum_binary64_2170
152×unsub-neg_binary64_2118
136×sub-neg_binary64_2117
112×*-commutative_binary64_2055
107×exp-prod_binary64_2176
93×distribute-rgt-out_binary64_2077
88×unswap-sqr_binary64_2092 distribute-neg-in_binary64_2085
86×distribute-rgt-neg-in_binary64_2082
73×exp-diff_binary64_2172
71×neg-sub0_binary64_2119 distribute-lft-neg-in_binary64_2081
68×cube-prod_binary64_2152
66×sqr-pow_binary64_2096
61×distribute-lft-out_binary64_2075
57×neg-mul-1_binary64_2120
47×+-commutative_binary64_2054
43×associate-+l+_binary64_2057
34×associate-+r+_binary64_2056
33×log-prod_binary64_2210
30×swap-sqr_binary64_2091
28×difference-of-squares_binary64_2093
27×distribute-rgt-out--_binary64_2078 associate-+l-_binary64_2059
23×distribute-lft-out--_binary64_2076 associate--r+_binary64_2060 associate-+r-_binary64_2058
21×unpow3_binary64_2190
19×cube-neg_binary64_2151
17×mul0-rgt_binary64_2107 mul0-lft_binary64_2106 associate--l+_binary64_2061
16×+-rgt-identity_binary64_2109
15×exp-neg_binary64_2171 sqr-neg_binary64_2138 distribute-neg-out_binary64_2086
13×cube-mult_binary64_2154
12×cube-unmult_binary64_2161 sub0-neg_binary64_2111
11×remove-double-neg_binary64_2112 pow-sqr_binary64_2097
cancel-sign-sub_binary64_2089
mul-1-neg_binary64_2116 associate-/l*_binary64_2069 associate--r-_binary64_2063
div-exp_binary64_2175 prod-exp_binary64_2173 div-sub_binary64_2129 --rgt-identity_binary64_2110 associate-/r*_binary64_2068
associate--l-_binary64_2062
1-exp_binary64_2168 exp-1-e_binary64_2167 *-lft-identity_binary64_2113 distribute-frac-neg_binary64_2087 associate-*l/_binary64_2067 associate-*r/_binary64_2066
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 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 rec-exp_binary64_2174 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-sqrt-square_binary64_2137 rem-square-sqrt_binary64_2136 /-rgt-identity_binary64_2115 *-rgt-identity_binary64_2114 +-lft-identity_binary64_2108 div0_binary64_2105 *-inverses_binary64_2104 +-inverses_binary64_2103 lft-mult-inverse_binary64_2102 rgt-mult-inverse_binary64_2101 remove-double-div_binary64_2100 difference-of-sqr--1_binary64_2095 difference-of-sqr-1_binary64_2094 distribute-neg-frac_binary64_2088 distribute-rgt1-in_binary64_2080 distribute-lft1-in_binary64_2079 count-2_binary64_2072 associate-/l/_binary64_2071 associate-/r/_binary64_2070
Counts
64 → 54
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
074727
1222655
2735649
32599649
44399649
55234649

prune45.0ms (0.7%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New53154
Fresh011
Picked011
Done000
Total53356
Error
0b
Counts
56 → 3
Compiler

Compiled 802 to 139 computations (82.7% saved)

localize7.0ms (0.1%)

Local error

Found 2 expressions with local error:

0.0b
(-.f64 (-.f64 d2 d3) d1)
0.0b
(*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1)))

rewrite60.0ms (0.9%)

Algorithm
rewrite-expression-head
Error
0b
Rules
20×*-un-lft-identity_binary64_2124
10×add-sqr-sqrt_binary64_2146
add-log-exp_binary64_2163
add-cube-cbrt_binary64_2159 associate-*r*_binary64_2064 distribute-lft-out--_binary64_2076 cancel-sign-sub-inv_binary64_2090
pow1_binary64_2185 add-exp-log_binary64_2162 add-cbrt-cube_binary64_2160 associate--l+_binary64_2061
associate-*l*_binary64_2065 distribute-lft-out_binary64_2075 diff-log_binary64_2216
associate-*r/_binary64_2066 sub-neg_binary64_2117
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 flip3-+_binary64_2127 flip-+_binary64_2098 *-commutative_binary64_2055 flip3--_binary64_2128 flip--_binary64_2099 difference-of-squares_binary64_2093 associate--l-_binary64_2062
Counts
2 → 48
Calls

2 calls:

12.0ms
(*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1)))
8.0ms
(-.f64 (-.f64 d2 d3) d1)
Compiler

Compiled 767 to 213 computations (72.2% saved)

series407.0ms (6.5%)

Error
0b
Counts
2 → 42
Calls

2 calls:

275.0ms
(*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1)))
105.0ms
(-.f64 (-.f64 d2 d3) d1)
Compiler

Compiled 1025 to 685 computations (33.2% saved)

simplify89.0ms (1.4%)

Algorithm
egg-herbie
Rules
680×distribute-rgt-in_binary64_2074
658×distribute-lft-in_binary64_2073
354×exp-sum_binary64_2170
228×unsub-neg_binary64_2118
220×exp-prod_binary64_2176
183×*-commutative_binary64_2055
170×cancel-sign-sub-inv_binary64_2090
162×sub-neg_binary64_2117
145×distribute-neg-in_binary64_2085
139×exp-diff_binary64_2172
96×unswap-sqr_binary64_2092
85×associate-+l+_binary64_2057
80×associate-+r+_binary64_2056
79×associate-*l*_binary64_2065
74×sqr-pow_binary64_2096
69×neg-mul-1_binary64_2120
67×neg-sub0_binary64_2119
65×associate-*r*_binary64_2064
53×+-commutative_binary64_2054
51×log-prod_binary64_2210
47×*-rgt-identity_binary64_2114 *-lft-identity_binary64_2113
37×associate--r+_binary64_2060
36×associate-+l-_binary64_2059
35×div-sub_binary64_2129 associate-+r-_binary64_2058
32×swap-sqr_binary64_2091
30×distribute-lft-neg-out_binary64_2083
26×distribute-rgt-neg-out_binary64_2084 distribute-rgt-neg-in_binary64_2082 associate--l+_binary64_2061
23×cube-prod_binary64_2152
21×+-rgt-identity_binary64_2109
17×distribute-lft-neg-in_binary64_2081
16×sub0-neg_binary64_2111
15×mul0-rgt_binary64_2107 mul0-lft_binary64_2106 distribute-neg-out_binary64_2086
12×remove-double-neg_binary64_2112 associate--r-_binary64_2063
11×unpow3_binary64_2190
10×difference-of-squares_binary64_2093
times-frac_binary64_2130 distribute-rgt-out--_binary64_2078 distribute-rgt-out_binary64_2077
unpow1/2_binary64_2188 pow-sqr_binary64_2097
cube-unmult_binary64_2161
log-pow_binary64_2213 div-exp_binary64_2175 cube-mult_binary64_2154 sqr-neg_binary64_2138 --rgt-identity_binary64_2110
rem-sqrt-square_binary64_2137 mul-1-neg_binary64_2116 distribute-lft-out--_binary64_2076 associate--l-_binary64_2062
pow-plus_binary64_2187 exp-neg_binary64_2171 rem-3cbrt-lft_binary64_2149 rem-square-sqrt_binary64_2136 distribute-frac-neg_binary64_2087
unpow2_binary64_2189 unpow1_binary64_2182 prod-exp_binary64_2173 1-exp_binary64_2168 exp-1-e_binary64_2167 cube-neg_binary64_2151 distribute-lft-out_binary64_2075 associate-/l/_binary64_2071 associate-/l*_binary64_2069 associate-/r*_binary64_2068
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64_2387 erf-erfc_binary64_2386 erf-odd_binary64_2385 if-if-and-not_binary64_2384 if-if-and_binary64_2383 if-if-or-not_binary64_2382 if-if-or_binary64_2381 if-not_binary64_2380 if-same_binary64_2379 if-false_binary64_2378 if-true_binary64_2377 not-gte_binary64_2376 not-lte_binary64_2375 not-gt_binary64_2374 not-lt_binary64_2373 gte-same_binary64_2372 lte-same_binary64_2371 gt-same_binary64_2370 lt-same_binary64_2369 sinh---cosh_binary64_2316 sinh-+-cosh_binary64_2315 sinh-cosh_binary64_2314 tanh-def-c_binary64_2313 tanh-def-b_binary64_2312 tanh-def-a_binary64_2311 cosh-def_binary64_2310 sinh-def_binary64_2309 tan-neg_binary64_2256 cos-neg_binary64_2255 sin-neg_binary64_2254 tan-0_binary64_2253 cos-0_binary64_2252 sin-0_binary64_2251 hang-m-tan_binary64_2250 hang-p-tan_binary64_2249 hang-m0-tan_binary64_2248 hang-p0-tan_binary64_2247 hang-0m-tan_binary64_2246 hang-0p-tan_binary64_2245 tan-+PI/2_binary64_2244 tan-+PI_binary64_2243 tan-PI_binary64_2242 tan-PI/3_binary64_2241 tan-PI/4_binary64_2240 tan-PI/6_binary64_2239 cos-+PI/2_binary64_2238 cos-+PI_binary64_2237 cos-PI_binary64_2236 cos-PI/2_binary64_2235 cos-PI/3_binary64_2234 cos-PI/4_binary64_2233 cos-PI/6_binary64_2232 sin-+PI/2_binary64_2231 sin-+PI_binary64_2230 sin-PI_binary64_2229 sin-PI/2_binary64_2228 sin-PI/3_binary64_2227 sin-PI/4_binary64_2226 sin-PI/6_binary64_2225 sub-1-sin_binary64_2224 sub-1-cos_binary64_2223 -1-add-sin_binary64_2222 -1-add-cos_binary64_2221 1-sub-sin_binary64_2220 1-sub-cos_binary64_2219 cos-sin-sum_binary64_2218 log-E_binary64_2214 log-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 rec-exp_binary64_2174 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 +-lft-identity_binary64_2108 div0_binary64_2105 *-inverses_binary64_2104 +-inverses_binary64_2103 lft-mult-inverse_binary64_2102 rgt-mult-inverse_binary64_2101 remove-double-div_binary64_2100 difference-of-sqr--1_binary64_2095 difference-of-sqr-1_binary64_2094 cancel-sign-sub_binary64_2089 distribute-neg-frac_binary64_2088 distribute-rgt1-in_binary64_2080 distribute-lft1-in_binary64_2079 count-2_binary64_2072 associate-/r/_binary64_2070 associate-*l/_binary64_2067 associate-*r/_binary64_2066
Counts
90 → 64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01191056
1293960
2894915
33442915
44576915
54928915

prune48.0ms (0.8%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New64064
Fresh011
Picked011
Done011
Total64367
Error
0b
Counts
67 → 3
Compiler

Compiled 807 to 160 computations (80.2% saved)

localize13.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.5b
(*.f64 (cbrt.f64 (*.f64 d1 (-.f64 d2 d3))) (cbrt.f64 (*.f64 d1 (-.f64 d2 d3))))
3.4b
(cbrt.f64 (*.f64 d1 (-.f64 d2 d3)))
3.4b
(cbrt.f64 (*.f64 d1 (-.f64 d2 d3)))
3.4b
(cbrt.f64 (*.f64 d1 (-.f64 d2 d3)))

rewrite118.0ms (1.9%)

Algorithm
rewrite-expression-head
Error
0b
Rules
20×associate-*r/_binary64_2066
18×cbrt-div_binary64_2156
11×pow1_binary64_2185
10×add-sqr-sqrt_binary64_2146
pow1/3_binary64_2206 flip3--_binary64_2128 flip--_binary64_2099
add-cube-cbrt_binary64_2159 *-un-lft-identity_binary64_2124
cbrt-prod_binary64_2155
add-exp-log_binary64_2162
add-log-exp_binary64_2163 add-cbrt-cube_binary64_2160 frac-times_binary64_2134 swap-sqr_binary64_2091 associate-*l*_binary64_2065 associate-*r*_binary64_2064
pow-prod-down_binary64_2195 pow-prod-up_binary64_2194 pow-sqr_binary64_2097 associate-*l/_binary64_2067
pow2_binary64_2205 pow-plus_binary64_2187 prod-exp_binary64_2173 cbrt-unprod_binary64_2157 unswap-sqr_binary64_2092 *-commutative_binary64_2055
Counts
4 → 72
Calls

4 calls:

7.0ms
(*.f64 (cbrt.f64 (*.f64 d1 (-.f64 d2 d3))) (cbrt.f64 (*.f64 d1 (-.f64 d2 d3))))
5.0ms
(cbrt.f64 (*.f64 d1 (-.f64 d2 d3)))
5.0ms
(cbrt.f64 (*.f64 d1 (-.f64 d2 d3)))
5.0ms
(cbrt.f64 (*.f64 d1 (-.f64 d2 d3)))
Compiler

Compiled 2603 to 447 computations (82.8% saved)

series1.7s (27.8%)

Error
0b
Counts
4 → 62
Calls

4 calls:

524.0ms
(*.f64 (cbrt.f64 (*.f64 d1 (-.f64 d2 d3))) (cbrt.f64 (*.f64 d1 (-.f64 d2 d3))))
373.0ms
(cbrt.f64 (*.f64 d1 (-.f64 d2 d3)))
365.0ms
(cbrt.f64 (*.f64 d1 (-.f64 d2 d3)))
365.0ms
(cbrt.f64 (*.f64 d1 (-.f64 d2 d3)))
Compiler

Compiled 7171 to 4563 computations (36.4% saved)

simplify98.0ms (1.6%)

Algorithm
egg-herbie
Rules
718×times-frac_binary64_2130
530×associate-/l*_binary64_2069
159×distribute-rgt-neg-in_binary64_2082
155×distribute-lft-neg-in_binary64_2081
133×associate-/r/_binary64_2070
129×associate-*r*_binary64_2064
127×distribute-rgt-in_binary64_2074
126×cancel-sign-sub-inv_binary64_2090
124×unswap-sqr_binary64_2092
110×*-commutative_binary64_2055
108×distribute-lft-in_binary64_2073
103×distribute-neg-frac_binary64_2088
99×sub-neg_binary64_2117
97×associate-*l*_binary64_2065
89×sqr-pow_binary64_2096
73×neg-sub0_binary64_2119
71×neg-mul-1_binary64_2120
60×exp-prod_binary64_2176
58×exp-sum_binary64_2170
43×+-commutative_binary64_2054
36×associate-*r/_binary64_2066
34×unsub-neg_binary64_2118
29×associate-/r*_binary64_2068
28×distribute-lft-neg-out_binary64_2083
27×distribute-neg-in_binary64_2085
24×distribute-rgt-neg-out_binary64_2084
22×log-prod_binary64_2210 associate-/l/_binary64_2071 associate-*l/_binary64_2067
19×unpow1/3_binary64_2191 distribute-lft-out_binary64_2075
16×pow-sqr_binary64_2097 distribute-neg-out_binary64_2086
14×div-sub_binary64_2129 associate--r+_binary64_2060
12×exp-diff_binary64_2172 distribute-rgt-out_binary64_2077
cube-prod_binary64_2152
*-rgt-identity_binary64_2114
log-pow_binary64_2213 *-lft-identity_binary64_2113 associate-+l+_binary64_2057
log-div_binary64_2211 remove-double-neg_binary64_2112 swap-sqr_binary64_2091 associate--r-_binary64_2063 associate-+r+_binary64_2056
unpow2_binary64_2189 unpow1/2_binary64_2188 exp-to-pow_binary64_2186 unpow1_binary64_2182
cube-unmult_binary64_2161 difference-of-squares_binary64_2093 distribute-rgt-out--_binary64_2078 distribute-lft-out--_binary64_2076
log-rec_binary64_2212 pow-plus_binary64_2187 associate--l+_binary64_2061
unpow3_binary64_2190 cube-mult_binary64_2154 rem-3cbrt-lft_binary64_2149 rem-sqrt-square_binary64_2137 mul-1-neg_binary64_2116 distribute-frac-neg_binary64_2087 count-2_binary64_2072
exp-lft-sqr_binary64_2179 1-exp_binary64_2168 exp-1-e_binary64_2167 rem-3cbrt-rft_binary64_2150 rem-square-sqrt_binary64_2136
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 pow-base-1_binary64_2184 unpow0_binary64_2183 unpow-1_binary64_2181 exp-lft-cube_binary64_2180 exp-cbrt_binary64_2178 exp-sqrt_binary64_2177 div-exp_binary64_2175 rec-exp_binary64_2174 prod-exp_binary64_2173 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 cube-neg_binary64_2151 rem-cbrt-cube_binary64_2148 rem-cube-cbrt_binary64_2147 sqr-abs_binary64_2139 sqr-neg_binary64_2138 /-rgt-identity_binary64_2115 sub0-neg_binary64_2111 --rgt-identity_binary64_2110 +-rgt-identity_binary64_2109 +-lft-identity_binary64_2108 mul0-rgt_binary64_2107 mul0-lft_binary64_2106 div0_binary64_2105 *-inverses_binary64_2104 +-inverses_binary64_2103 lft-mult-inverse_binary64_2102 rgt-mult-inverse_binary64_2101 remove-double-div_binary64_2100 difference-of-sqr--1_binary64_2095 difference-of-sqr-1_binary64_2094 cancel-sign-sub_binary64_2089 distribute-rgt1-in_binary64_2080 distribute-lft1-in_binary64_2079 associate--l-_binary64_2062 associate-+l-_binary64_2059 associate-+r-_binary64_2058
Counts
134 → 98
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02303657
15963489
217063316
352813316

prune152.0ms (2.4%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New98098
Fresh000
Picked011
Done022
Total983101
Error
0b
Counts
101 → 3
Compiler

Compiled 3744 to 1282 computations (65.8% saved)

regimes303.0ms (4.8%)

Accuracy

Total 0.0b remaining (74.1%)

Threshold costs 0.0b (74.1%)

Compiler

Compiled 2343 to 1754 computations (25.1% saved)

bsearch0.0ms (0%)

simplify10.0ms (0.2%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01016
11616
22516
33316
43816
54016
64016
Remove

(sort d2 d4)

Compiler

Compiled 22 to 18 computations (18.2% saved)

end0.0ms (0%)

sample1.2s (19.7%)

Algorithm
intervals
Results
314.0ms8000×body128valid
87.0ms2307×body128invalid
Compiler

Compiled 497 to 373 computations (24.9% saved)

Profiling

Loading profile data...