Details

Time bar (total: 3.3s)

analyze305.0ms (9.2%)

Algorithm
search
egg-herbie
Rules
770×unswap-sqr_binary64_2092
633×associate-*l*_binary64_2065
432×sub-neg_binary64_2117
416×associate-+l+_binary64_2057
342×associate-+r+_binary64_2056
284×unsub-neg_binary64_2118
255×+-commutative_binary64_2054
241×cancel-sign-sub-inv_binary64_2090
211×distribute-rgt-neg-in_binary64_2082
196×associate--l+_binary64_2061
188×distribute-rgt-in_binary64_2074
181×*-commutative_binary64_2055
178×distribute-lft-neg-in_binary64_2081
163×associate-+l-_binary64_2059
151×neg-sub0_binary64_2119
150×distribute-lft-in_binary64_2073
147×neg-mul-1_binary64_2120
114×distribute-lft-out_binary64_2075
113×distribute-neg-in_binary64_2085
108×associate--r+_binary64_2060
105×associate-*r*_binary64_2064
69×distribute-rgt-out_binary64_2077
52×associate--r-_binary64_2063 associate-+r-_binary64_2058
33×distribute-lft-neg-out_binary64_2083
30×sqr-pow_binary64_2096
22×cube-prod_binary64_2152
19×pow-plus_binary64_2187
18×remove-double-neg_binary64_2112
14×difference-of-sqr--1_binary64_2095
12×cube-unmult_binary64_2161 associate--l-_binary64_2062
11×*-rgt-identity_binary64_2114
10×rem-sqrt-square_binary64_2137 *-lft-identity_binary64_2113
unpow3_binary64_2190 mul-1-neg_binary64_2116
unpow2_binary64_2189 difference-of-sqr-1_binary64_2094
distribute-rgt-neg-out_binary64_2084
sqr-neg_binary64_2138 sub0-neg_binary64_2111 pow-sqr_binary64_2097
unpow1_binary64_2182 cube-neg_binary64_2151 --rgt-identity_binary64_2110 +-rgt-identity_binary64_2109
unpow1/2_binary64_2188 1-exp_binary64_2168 cube-mult_binary64_2154 count-2_binary64_2072
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64_2387 erf-erfc_binary64_2386 erf-odd_binary64_2385 if-if-and-not_binary64_2384 if-if-and_binary64_2383 if-if-or-not_binary64_2382 if-if-or_binary64_2381 if-not_binary64_2380 if-same_binary64_2379 if-false_binary64_2378 if-true_binary64_2377 not-gte_binary64_2376 not-lte_binary64_2375 not-gt_binary64_2374 not-lt_binary64_2373 gte-same_binary64_2372 lte-same_binary64_2371 gt-same_binary64_2370 lt-same_binary64_2369 sinh---cosh_binary64_2316 sinh-+-cosh_binary64_2315 sinh-cosh_binary64_2314 tanh-def-c_binary64_2313 tanh-def-b_binary64_2312 tanh-def-a_binary64_2311 cosh-def_binary64_2310 sinh-def_binary64_2309 tan-neg_binary64_2256 cos-neg_binary64_2255 sin-neg_binary64_2254 tan-0_binary64_2253 cos-0_binary64_2252 sin-0_binary64_2251 hang-m-tan_binary64_2250 hang-p-tan_binary64_2249 hang-m0-tan_binary64_2248 hang-p0-tan_binary64_2247 hang-0m-tan_binary64_2246 hang-0p-tan_binary64_2245 tan-+PI/2_binary64_2244 tan-+PI_binary64_2243 tan-PI_binary64_2242 tan-PI/3_binary64_2241 tan-PI/4_binary64_2240 tan-PI/6_binary64_2239 cos-+PI/2_binary64_2238 cos-+PI_binary64_2237 cos-PI_binary64_2236 cos-PI/2_binary64_2235 cos-PI/3_binary64_2234 cos-PI/4_binary64_2233 cos-PI/6_binary64_2232 sin-+PI/2_binary64_2231 sin-+PI_binary64_2230 sin-PI_binary64_2229 sin-PI/2_binary64_2228 sin-PI/3_binary64_2227 sin-PI/4_binary64_2226 sin-PI/6_binary64_2225 sub-1-sin_binary64_2224 sub-1-cos_binary64_2223 -1-add-sin_binary64_2222 -1-add-cos_binary64_2221 1-sub-sin_binary64_2220 1-sub-cos_binary64_2219 cos-sin-sum_binary64_2218 log-E_binary64_2214 log-pow_binary64_2213 log-rec_binary64_2212 log-div_binary64_2211 log-prod_binary64_2210 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 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-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 div-sub_binary64_2129 /-rgt-identity_binary64_2115 +-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-squares_binary64_2093 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-lft-out--_binary64_2076 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
01850
13950
26750
318150
449450
5145850
6337750
7499450
8481550
9509250
022
122
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%99.9%0.1%4
25%74.9%0.1%5
25%50%25.1%6
25%31.2%43.8%7
25%21.9%53.2%8
25%14%61%9
28.1%10.9%61%10
31.6%7.4%61%11
33.4%5.7%61%12
35.2%3.8%61%13
36.1%2.9%61%14
Compiler

Compiled 18 to 13 computations (27.8% saved)

sample21.0ms (0.6%)

Algorithm
intervals
Results
11.0ms256×body128valid
Compiler

Compiled 35 to 27 computations (22.9% saved)

simplify42.0ms (1.3%)

Algorithm
egg-herbie
Rules
785×distribute-rgt-neg-in_binary64_2082
770×unswap-sqr_binary64_2092
631×associate-*l*_binary64_2065
289×sub-neg_binary64_2117
232×associate-+l+_binary64_2057
216×cancel-sign-sub-inv_binary64_2090
209×distribute-neg-in_binary64_2085
200×associate-+r+_binary64_2056
176×distribute-rgt-in_binary64_2074
175×distribute-lft-neg-in_binary64_2081
162×+-commutative_binary64_2054
161×*-commutative_binary64_2055
150×distribute-lft-in_binary64_2073
115×associate--l+_binary64_2061
104×associate-*r*_binary64_2064
99×neg-sub0_binary64_2119
98×neg-mul-1_binary64_2120
96×associate-+l-_binary64_2059
69×associate--r+_binary64_2060
66×distribute-lft-out_binary64_2075
65×unsub-neg_binary64_2118
51×distribute-rgt-out_binary64_2077
40×distribute-lft-neg-out_binary64_2083
34×associate--r-_binary64_2063
31×distribute-rgt-neg-out_binary64_2084
29×sqr-pow_binary64_2096
28×associate-+r-_binary64_2058
19×cancel-sign-sub_binary64_2089
17×remove-double-neg_binary64_2112 swap-sqr_binary64_2091
14×difference-of-sqr--1_binary64_2095
13×pow-plus_binary64_2187
12×associate--l-_binary64_2062
11×*-rgt-identity_binary64_2114
10×*-lft-identity_binary64_2113
cube-unmult_binary64_2161
cube-prod_binary64_2152 mul-1-neg_binary64_2116
difference-of-sqr-1_binary64_2094
distribute-neg-out_binary64_2086
pow-sqr_binary64_2097
unpow2_binary64_2189 sub0-neg_binary64_2111
unpow3_binary64_2190 unpow1/2_binary64_2188 unpow1_binary64_2182 1-exp_binary64_2168 rem-sqrt-square_binary64_2137 --rgt-identity_binary64_2110 +-rgt-identity_binary64_2109 count-2_binary64_2072
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64_2387 erf-erfc_binary64_2386 erf-odd_binary64_2385 if-if-and-not_binary64_2384 if-if-and_binary64_2383 if-if-or-not_binary64_2382 if-if-or_binary64_2381 if-not_binary64_2380 if-same_binary64_2379 if-false_binary64_2378 if-true_binary64_2377 not-gte_binary64_2376 not-lte_binary64_2375 not-gt_binary64_2374 not-lt_binary64_2373 gte-same_binary64_2372 lte-same_binary64_2371 gt-same_binary64_2370 lt-same_binary64_2369 sinh---cosh_binary64_2316 sinh-+-cosh_binary64_2315 sinh-cosh_binary64_2314 tanh-def-c_binary64_2313 tanh-def-b_binary64_2312 tanh-def-a_binary64_2311 cosh-def_binary64_2310 sinh-def_binary64_2309 tan-neg_binary64_2256 cos-neg_binary64_2255 sin-neg_binary64_2254 tan-0_binary64_2253 cos-0_binary64_2252 sin-0_binary64_2251 hang-m-tan_binary64_2250 hang-p-tan_binary64_2249 hang-m0-tan_binary64_2248 hang-p0-tan_binary64_2247 hang-0m-tan_binary64_2246 hang-0p-tan_binary64_2245 tan-+PI/2_binary64_2244 tan-+PI_binary64_2243 tan-PI_binary64_2242 tan-PI/3_binary64_2241 tan-PI/4_binary64_2240 tan-PI/6_binary64_2239 cos-+PI/2_binary64_2238 cos-+PI_binary64_2237 cos-PI_binary64_2236 cos-PI/2_binary64_2235 cos-PI/3_binary64_2234 cos-PI/4_binary64_2233 cos-PI/6_binary64_2232 sin-+PI/2_binary64_2231 sin-+PI_binary64_2230 sin-PI_binary64_2229 sin-PI/2_binary64_2228 sin-PI/3_binary64_2227 sin-PI/4_binary64_2226 sin-PI/6_binary64_2225 sub-1-sin_binary64_2224 sub-1-cos_binary64_2223 -1-add-sin_binary64_2222 -1-add-cos_binary64_2221 1-sub-sin_binary64_2220 1-sub-cos_binary64_2219 cos-sin-sum_binary64_2218 log-E_binary64_2214 log-pow_binary64_2213 log-rec_binary64_2212 log-div_binary64_2211 log-prod_binary64_2210 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 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-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 sqr-neg_binary64_2138 rem-square-sqrt_binary64_2136 times-frac_binary64_2130 div-sub_binary64_2129 /-rgt-identity_binary64_2115 +-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-squares_binary64_2093 distribute-neg-frac_binary64_2088 distribute-frac-neg_binary64_2087 distribute-rgt1-in_binary64_2080 distribute-lft1-in_binary64_2079 distribute-rgt-out--_binary64_2078 distribute-lft-out--_binary64_2076 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: 0 (0.0ms)

IterNodesCost
01325
12925
25025
313825
437425
5111525
6283325
7512625

prune3.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New101
Fresh011
Picked000
Done000
Total112
Error
0.2b
Counts
2 → 1
Compiler

Compiled 34 to 24 computations (29.4% saved)

localize11.0ms (0.3%)

Local error

Found 2 expressions with local error:

0.0b
(*.f64 4 (*.f64 b b))
0.3b
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)

rewrite64.0ms (1.9%)

Algorithm
rewrite-expression-head
Error
0.1b
Rules
pow1_binary64_2185 add-exp-log_binary64_2162
add-cbrt-cube_binary64_2160
add-sqr-sqrt_binary64_2146
add-cube-cbrt_binary64_2159 *-un-lft-identity_binary64_2124
unpow-prod-down_binary64_2203 pow-unpow_binary64_2201 pow-prod-down_binary64_2195 prod-exp_binary64_2173 cbrt-unprod_binary64_2157 associate-*l*_binary64_2065
add-log-exp_binary64_2163
pow-pow_binary64_2196 pow-to-exp_binary64_2193 pow-exp_binary64_2192 unpow2_binary64_2189 sqr-pow_binary64_2096 unswap-sqr_binary64_2092 associate-*r*_binary64_2064 *-commutative_binary64_2055
Counts
2 → 37
Calls

2 calls:

6.0ms
(*.f64 4 (*.f64 b b))
6.0ms
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)
Compiler

Compiled 867 to 403 computations (53.5% saved)

series345.0ms (10.4%)

Error
0b
Counts
2 → 21
Calls

2 calls:

278.0ms
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)
41.0ms
(*.f64 4 (*.f64 b b))
Compiler

Compiled 987 to 776 computations (21.4% saved)

simplify104.0ms (3.2%)

Algorithm
egg-herbie
Rules
620×unswap-sqr_binary64_2092
327×*-commutative_binary64_2055
282×log-prod_binary64_2210
275×exp-prod_binary64_2176
249×distribute-rgt-in_binary64_2074
237×associate-*l*_binary64_2065
236×distribute-lft-in_binary64_2073
234×associate-+l+_binary64_2057
200×associate-+r+_binary64_2056
189×sqr-pow_binary64_2096
185×associate-*r*_binary64_2064
146×cube-prod_binary64_2152
144×associate-/l*_binary64_2069
105×unpow3_binary64_2190
74×log-pow_binary64_2213
66×distribute-rgt-out_binary64_2077
63×associate-/l/_binary64_2071
56×pow-sqr_binary64_2097
54×associate-/r*_binary64_2068
42×exp-sum_binary64_2170 associate-*r/_binary64_2066
39×pow-plus_binary64_2187 swap-sqr_binary64_2091
34×associate-/r/_binary64_2070
32×distribute-lft-out_binary64_2075
31×rem-sqrt-square_binary64_2137
27×cube-unmult_binary64_2161
12×cube-mult_binary64_2154 +-commutative_binary64_2054
10×count-2_binary64_2072
unpow2_binary64_2189
unpow1_binary64_2182
unpow1/2_binary64_2188 associate-*l/_binary64_2067
times-frac_binary64_2130 *-rgt-identity_binary64_2114
*-lft-identity_binary64_2113
/-rgt-identity_binary64_2115
prod-exp_binary64_2173 1-exp_binary64_2168 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 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-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-lft_binary64_2149 rem-cbrt-cube_binary64_2148 rem-cube-cbrt_binary64_2147 sqr-abs_binary64_2139 sqr-neg_binary64_2138 div-sub_binary64_2129 neg-mul-1_binary64_2120 neg-sub0_binary64_2119 unsub-neg_binary64_2118 sub-neg_binary64_2117 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 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-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-rgt1-in_binary64_2080 distribute-lft1-in_binary64_2079 distribute-rgt-out--_binary64_2078 distribute-lft-out--_binary64_2076 associate--r-_binary64_2063 associate--l-_binary64_2062 associate--l+_binary64_2061 associate--r+_binary64_2060 associate-+l-_binary64_2059 associate-+r-_binary64_2058
Counts
58 → 35
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
077812
1150748
2332739
3953736
42543736
54838736
64998736
74931736

prune41.0ms (1.2%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New34135
Fresh000
Picked101
Done000
Total35136
Error
0b
Counts
36 → 1
Compiler

Compiled 752 to 359 computations (52.3% saved)

localize16.0ms (0.5%)

Local error

Found 4 expressions with local error:

0.0b
(+.f64 (*.f64 2 (*.f64 (*.f64 a a) (*.f64 b b))) (+.f64 (pow.f64 b 4) (pow.f64 a 4)))
0.0b
(*.f64 2 (*.f64 (*.f64 a a) (*.f64 b b)))
0.0b
(*.f64 4 (*.f64 b b))
2.7b
(*.f64 (*.f64 a a) (*.f64 b b))

rewrite202.0ms (6.1%)

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

4 calls:

21.0ms
(+.f64 (*.f64 2 (*.f64 (*.f64 a a) (*.f64 b b))) (+.f64 (pow.f64 b 4) (pow.f64 a 4)))
14.0ms
(*.f64 2 (*.f64 (*.f64 a a) (*.f64 b b)))
11.0ms
(*.f64 (*.f64 a a) (*.f64 b b))
6.0ms
(*.f64 4 (*.f64 b b))
Compiler

Compiled 2862 to 1501 computations (47.6% saved)

series812.0ms (24.6%)

Error
0b
Counts
4 → 33
Calls

4 calls:

464.0ms
(+.f64 (*.f64 2 (*.f64 (*.f64 a a) (*.f64 b b))) (+.f64 (pow.f64 b 4) (pow.f64 a 4)))
141.0ms
(*.f64 2 (*.f64 (*.f64 a a) (*.f64 b b)))
120.0ms
(*.f64 (*.f64 a a) (*.f64 b b))
42.0ms
(*.f64 4 (*.f64 b b))
Compiler

Compiled 1959 to 1550 computations (20.9% saved)

simplify83.0ms (2.5%)

Algorithm
egg-herbie
Rules
565×unswap-sqr_binary64_2092
518×*-commutative_binary64_2055
337×distribute-rgt-neg-in_binary64_2082
315×distribute-lft-neg-in_binary64_2081
300×distribute-rgt-in_binary64_2074
264×distribute-lft-in_binary64_2073
199×associate-*r*_binary64_2064
196×associate-*l*_binary64_2065
173×cancel-sign-sub-inv_binary64_2090
131×sqr-pow_binary64_2096
93×exp-prod_binary64_2176
91×sub-neg_binary64_2117
89×associate-+l+_binary64_2057
84×distribute-neg-in_binary64_2085
81×associate-+r+_binary64_2056
72×neg-mul-1_binary64_2120 neg-sub0_binary64_2119
62×log-prod_binary64_2210
57×swap-sqr_binary64_2091
56×cube-prod_binary64_2152
51×+-commutative_binary64_2054
38×unsub-neg_binary64_2118
36×distribute-lft-neg-out_binary64_2083 distribute-rgt-out_binary64_2077
27×pow-sqr_binary64_2097
22×distribute-rgt-out--_binary64_2078
19×associate--r+_binary64_2060
18×associate--l+_binary64_2061
17×unpow3_binary64_2190
13×prod-exp_binary64_2173 cube-mult_binary64_2154 distribute-rgt-neg-out_binary64_2084 distribute-lft-out_binary64_2075
11×pow-plus_binary64_2187
associate-/l*_binary64_2069
cube-unmult_binary64_2161 associate-+l-_binary64_2059 associate-+r-_binary64_2058
exp-lft-sqr_binary64_2179 +-rgt-identity_binary64_2109
log-pow_binary64_2213 difference-of-squares_binary64_2093 distribute-lft-out--_binary64_2076
unpow2_binary64_2189 unpow1_binary64_2182 exp-sum_binary64_2170 rem-sqrt-square_binary64_2137 sub0-neg_binary64_2111
unpow1/2_binary64_2188 count-2_binary64_2072
1-exp_binary64_2168 cancel-sign-sub_binary64_2089
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-cbrt_binary64_2178 exp-sqrt_binary64_2177 div-exp_binary64_2175 rec-exp_binary64_2174 exp-diff_binary64_2172 exp-neg_binary64_2171 e-exp-1_binary64_2169 exp-1-e_binary64_2167 exp-0_binary64_2166 rem-log-exp_binary64_2165 rem-exp-log_binary64_2164 cube-div_binary64_2153 cube-neg_binary64_2151 rem-3cbrt-rft_binary64_2150 rem-3cbrt-lft_binary64_2149 rem-cbrt-cube_binary64_2148 rem-cube-cbrt_binary64_2147 sqr-abs_binary64_2139 sqr-neg_binary64_2138 rem-square-sqrt_binary64_2136 times-frac_binary64_2130 div-sub_binary64_2129 mul-1-neg_binary64_2116 /-rgt-identity_binary64_2115 *-rgt-identity_binary64_2114 *-lft-identity_binary64_2113 remove-double-neg_binary64_2112 --rgt-identity_binary64_2110 +-lft-identity_binary64_2108 mul0-rgt_binary64_2107 mul0-lft_binary64_2106 div0_binary64_2105 *-inverses_binary64_2104 +-inverses_binary64_2103 lft-mult-inverse_binary64_2102 rgt-mult-inverse_binary64_2101 remove-double-div_binary64_2100 difference-of-sqr--1_binary64_2095 difference-of-sqr-1_binary64_2094 distribute-neg-frac_binary64_2088 distribute-frac-neg_binary64_2087 distribute-neg-out_binary64_2086 distribute-rgt1-in_binary64_2080 distribute-lft1-in_binary64_2079 associate-/l/_binary64_2071 associate-/r/_binary64_2070 associate-/r*_binary64_2068 associate-*l/_binary64_2067 associate-*r/_binary64_2066 associate--r-_binary64_2063 associate--l-_binary64_2062
Counts
121 → 75
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01281838
12911707
211471610
330051604
449931604

prune103.0ms (3.1%)

Pruning

1 alts after pruning (0 fresh and 1 done)

PrunedKeptTotal
New75075
Fresh000
Picked011
Done000
Total75176
Error
0b
Counts
76 → 1
Compiler

Compiled 1978 to 1152 computations (41.8% saved)

regimes247.0ms (7.5%)

Accuracy

Total 0.0b remaining (42.5%)

Threshold costs 0.0b (42.5%)

Compiler

Compiled 2202 to 1456 computations (33.9% saved)

bsearch0.0ms (0%)

simplify4.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01737
12737
23137
33337
43637
53537
63337

end0.0ms (0%)

sample901.0ms (27.3%)

Algorithm
intervals
Results
366.0ms8000×body128valid
0.0msbody128invalid
Compiler

Compiled 330 to 224 computations (32.1% saved)

Profiling

Loading profile data...