Details

Time bar (total: 32.1s)

analyze3.6s (11.2%)

Algorithm
search
egg-herbie
Rules
501×unsub-neg_binary64_2118
469×distribute-rgt-in_binary64_2074
417×distribute-rgt-neg-in_binary64_2082
332×distribute-lft-in_binary64_2073
290×cancel-sign-sub-inv_binary64_2090
267×distribute-lft-neg-in_binary64_2081
266×neg-mul-1_binary64_2120
265×neg-sub0_binary64_2119
247×distribute-lft-neg-out_binary64_2083
229×associate--r+_binary64_2060
192×sub-neg_binary64_2117
189×distribute-neg-in_binary64_2085
168×*-commutative_binary64_2055
153×distribute-rgt-neg-out_binary64_2084
142×associate-*r*_binary64_2064
140×associate-*l*_binary64_2065
113×mul0-rgt_binary64_2107 mul0-lft_binary64_2106
102×+-commutative_binary64_2054
93×remove-double-neg_binary64_2112
47×*-lft-identity_binary64_2113
46×*-rgt-identity_binary64_2114
38×associate-+l-_binary64_2059
35×associate--r-_binary64_2063
31×sub0-neg_binary64_2111
24×associate--l+_binary64_2061
23×associate-+r+_binary64_2056
17×associate-+r-_binary64_2058
15×associate-+l+_binary64_2057
14×cos-neg_binary64_2255 mul-1-neg_binary64_2116 +-rgt-identity_binary64_2109
12×sin-neg_binary64_2254 distribute-rgt-out--_binary64_2078 associate--l-_binary64_2062
cancel-sign-sub_binary64_2089
+-lft-identity_binary64_2108 distribute-lft-out--_binary64_2076
distribute-neg-out_binary64_2086
1-exp_binary64_2168 swap-lambda1-lambda2 swap-phi1-phi2
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 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 /-rgt-identity_binary64_2115 --rgt-identity_binary64_2110 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 distribute-neg-frac_binary64_2088 distribute-frac-neg_binary64_2087 distribute-rgt1-in_binary64_2080 distribute-lft1-in_binary64_2079 distribute-rgt-out_binary64_2077 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
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
092341
1164341
2237341
3274341
4306341
5447341
6475341
7707341
81046341
91135341
101279341
111600341
121905341
132500341
142503341
152479341
162493341
172493341
182893341
192619341
202619341
212619341
222619341
232392341
055
155
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
0%99.8%0.2%9
0%99.8%0.2%10
0.8%99%0.2%11
1.2%98.6%0.2%12
1.8%98%0.2%13
2%97.7%0.2%14
Symmetry

(sort lambda1 lambda2)

(sort phi1 phi2)

Compiler

Compiled 20 to 18 computations (10% saved)

sample223.0ms (0.7%)

Algorithm
intervals
Results
155.0ms186×body1024valid
19.0ms36×body512valid
10.0msbody2048valid
5.0ms15×body256valid
2.0ms14×body128valid
Compiler

Compiled 39 to 40 computations (-2.6% saved)

simplify14.0ms (0%)

Algorithm
egg-herbie
Rules
15×sub-neg_binary64_2117
14×cancel-sign-sub-inv_binary64_2090
10×distribute-rgt-in_binary64_2074 *-commutative_binary64_2055
neg-mul-1_binary64_2120
associate--r+_binary64_2060
unsub-neg_binary64_2118
neg-sub0_binary64_2119 associate--r-_binary64_2063
distribute-neg-in_binary64_2085 distribute-lft-neg-out_binary64_2083 distribute-rgt-neg-in_binary64_2082 distribute-lft-in_binary64_2073 +-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_2065 associate-*r*_binary64_2064 associate-+l+_binary64_2057
cos-neg_binary64_2255 *-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 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_2062
Counts
1 → 0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01831
12731
23831
34431
45031
56631
68931
710231
811431
911631
1011031
119631

prune2.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 19 to 17 computations (10.5% saved)

localize25.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.2b
(*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))
0.3b
(*.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2))))) R)
0.9b
(acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
4.1b
(cos.f64 (-.f64 lambda1 lambda2))

rewrite120.0ms (0.4%)

Algorithm
rewrite-expression-head
Error
2.8b
Rules
11×pow1_binary64_2185 add-exp-log_binary64_2162 add-cbrt-cube_binary64_2160
10×add-sqr-sqrt_binary64_2146
add-cube-cbrt_binary64_2159 *-un-lft-identity_binary64_2124
associate-*r*_binary64_2064
cos-sum_binary64_2258 add-log-exp_binary64_2163 pow-prod-down_binary64_2195 prod-exp_binary64_2173 cbrt-unprod_binary64_2157 associate-*l*_binary64_2065
cos-diff_binary64_2261 cancel-sign-sub-inv_binary64_2090
*-commutative_binary64_2055
sub-neg_binary64_2117 acos-asin_binary64_2305 unswap-sqr_binary64_2092 distribute-rgt-in_binary64_2074 distribute-lft-in_binary64_2073 cos-mult_binary64_2278 associate-*l/_binary64_2067
Counts
4 → 59
Calls

4 calls:

8.0ms
(*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))
6.0ms
(cos.f64 (-.f64 lambda1 lambda2))
4.0ms
(*.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2))))) R)
1.0ms
(acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
Compiler

Compiled 1775 to 321 computations (81.9% saved)

series1.2s (3.7%)

Error
16.9b
Counts
4 → 56
Calls

4 calls:

544.0ms
(*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))
381.0ms
(*.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2))))) R)
143.0ms
(acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
63.0ms
(cos.f64 (-.f64 lambda1 lambda2))
Compiler

Compiled 3427 to 1985 computations (42.1% saved)

simplify146.0ms (0.5%)

Algorithm
egg-herbie
Rules
461×unsub-neg_binary64_2118
355×distribute-rgt-neg-in_binary64_2082
336×neg-mul-1_binary64_2120
325×neg-sub0_binary64_2119
307×cancel-sign-sub-inv_binary64_2090
293×distribute-lft-neg-in_binary64_2081
254×associate-*l*_binary64_2065
237×associate-*r*_binary64_2064
206×sub-neg_binary64_2117
148×*-commutative_binary64_2055
146×distribute-lft-neg-out_binary64_2083
128×distribute-lft-in_binary64_2073
127×cancel-sign-sub_binary64_2089 distribute-rgt-out--_binary64_2078
102×distribute-rgt-in_binary64_2074
98×distribute-rgt-out_binary64_2077
96×distribute-rgt-neg-out_binary64_2084
95×distribute-lft-out_binary64_2075
92×distribute-lft-out--_binary64_2076
81×sqr-pow_binary64_2096
56×+-commutative_binary64_2054
51×unswap-sqr_binary64_2092
50×distribute-neg-out_binary64_2086
37×exp-prod_binary64_2176
34×cube-prod_binary64_2152
33×log-prod_binary64_2210
32×associate-+l-_binary64_2059 associate-+l+_binary64_2057
31×associate--l+_binary64_2061
28×swap-sqr_binary64_2091
25×associate-+r-_binary64_2058 associate-+r+_binary64_2056
23×*-rgt-identity_binary64_2114 associate--r-_binary64_2063
21×remove-double-neg_binary64_2112
20×*-lft-identity_binary64_2113 associate--r+_binary64_2060
17×cube-unmult_binary64_2161 +-rgt-identity_binary64_2109
16×sub0-neg_binary64_2111
14×pow-sqr_binary64_2097
12×rem-sqrt-square_binary64_2137
10×associate-/l*_binary64_2069
unpow3_binary64_2190 distribute-neg-in_binary64_2085
unpow1/2_binary64_2188
distribute-rgt1-in_binary64_2080
cos-neg_binary64_2255 pow-plus_binary64_2187
difference-of-squares_binary64_2093
sin-neg_binary64_2254 cube-mult_binary64_2154 distribute-lft1-in_binary64_2079
unpow2_binary64_2189 unpow1_binary64_2182
exp-sum_binary64_2170 mul0-rgt_binary64_2107 mul0-lft_binary64_2106 associate-/l/_binary64_2071 associate-*r/_binary64_2066 associate--l-_binary64_2062
1-exp_binary64_2168 exp-1-e_binary64_2167 cube-neg_binary64_2151 rem-3cbrt-lft_binary64_2149 sqr-neg_binary64_2138 rem-square-sqrt_binary64_2136 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 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 prod-exp_binary64_2173 exp-diff_binary64_2172 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-cbrt-cube_binary64_2148 rem-cube-cbrt_binary64_2147 sqr-abs_binary64_2139 times-frac_binary64_2130 div-sub_binary64_2129 mul-1-neg_binary64_2116 /-rgt-identity_binary64_2115 --rgt-identity_binary64_2110 +-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-frac-neg_binary64_2087 associate-/r/_binary64_2070 associate-/r*_binary64_2068 associate-*l/_binary64_2067
Counts
115 → 56
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01953285
14552945
213912856
324042827
444912827
550082827

prune119.0ms (0.4%)

Pruning

14 alts after pruning (14 fresh and 0 done)

PrunedKeptTotal
New421456
Fresh000
Picked101
Done000
Total431457
Error
2.8b
Counts
57 → 14
Compiler

Compiled 2028 to 596 computations (70.6% saved)

localize25.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.2b
(*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))
0.2b
(*.f64 (sin.f64 lambda1) (sin.f64 lambda2))
0.3b
(*.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))) R)
0.9b
(acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))

rewrite159.0ms (0.5%)

Algorithm
rewrite-expression-head
Error
2.7b
Rules
13×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 associate-*r*_binary64_2064
associate-*l*_binary64_2065
cos-mult_binary64_2278
pow-prod-down_binary64_2195 prod-exp_binary64_2173 cbrt-unprod_binary64_2157
add-log-exp_binary64_2163
*-commutative_binary64_2055 sin-mult_binary64_2279 frac-times_binary64_2134 associate-*r/_binary64_2066
unswap-sqr_binary64_2092 frac-add_binary64_2132 flip3-+_binary64_2127 flip-+_binary64_2098
acos-asin_binary64_2305 distribute-rgt-in_binary64_2074 distribute-lft-in_binary64_2073 associate-*l/_binary64_2067
Counts
4 → 72
Calls

4 calls:

11.0ms
(*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))
5.0ms
(*.f64 (sin.f64 lambda1) (sin.f64 lambda2))
4.0ms
(*.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))) R)
1.0ms
(acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))
Compiler

Compiled 2888 to 452 computations (84.3% saved)

series2.0s (6.2%)

Error
2.8b
Counts
4 → 55
Calls

4 calls:

1.0s
(*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))
504.0ms
(*.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))) R)
232.0ms
(acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))
139.0ms
(*.f64 (sin.f64 lambda1) (sin.f64 lambda2))
Compiler

Compiled 5230 to 2677 computations (48.8% saved)

simplify203.0ms (0.6%)

Algorithm
egg-herbie
Rules
781×cancel-sign-sub-inv_binary64_2090
474×associate-*r*_binary64_2064
461×associate-*l*_binary64_2065
265×distribute-rgt-neg-in_binary64_2082
241×distribute-lft-neg-in_binary64_2081
234×neg-mul-1_binary64_2120 neg-sub0_binary64_2119
233×*-commutative_binary64_2055
186×sub-neg_binary64_2117
179×distribute-rgt-out_binary64_2077
152×exp-prod_binary64_2176
144×sqr-pow_binary64_2096
94×distribute-rgt-in_binary64_2074
91×distribute-lft-in_binary64_2073
72×+-commutative_binary64_2054
51×unsub-neg_binary64_2118
47×distribute-rgt-out--_binary64_2078
43×associate--l+_binary64_2061
42×log-prod_binary64_2210 cube-prod_binary64_2152
35×*-rgt-identity_binary64_2114 *-lft-identity_binary64_2113
31×associate-+l+_binary64_2057
29×associate--r+_binary64_2060
28×distribute-neg-in_binary64_2085
26×distribute-lft-neg-out_binary64_2083
25×swap-sqr_binary64_2091 associate-+r+_binary64_2056
18×pow-sqr_binary64_2097
17×unswap-sqr_binary64_2092
15×unpow3_binary64_2190
13×cube-unmult_binary64_2161
12×unpow1/2_binary64_2188
distribute-lft-out_binary64_2075
exp-sum_binary64_2170 cube-mult_binary64_2154
distribute-rgt-neg-out_binary64_2084
pow-plus_binary64_2187
unpow2_binary64_2189 unpow1_binary64_2182 rem-sqrt-square_binary64_2137
difference-of-squares_binary64_2093 distribute-rgt1-in_binary64_2080
1-exp_binary64_2168 exp-1-e_binary64_2167 distribute-lft1-in_binary64_2079 associate-+l-_binary64_2059 associate-+r-_binary64_2058
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64_2387 erf-erfc_binary64_2386 erf-odd_binary64_2385 if-if-and-not_binary64_2384 if-if-and_binary64_2383 if-if-or-not_binary64_2382 if-if-or_binary64_2381 if-not_binary64_2380 if-same_binary64_2379 if-false_binary64_2378 if-true_binary64_2377 not-gte_binary64_2376 not-lte_binary64_2375 not-gt_binary64_2374 not-lt_binary64_2373 gte-same_binary64_2372 lte-same_binary64_2371 gt-same_binary64_2370 lt-same_binary64_2369 sinh---cosh_binary64_2316 sinh-+-cosh_binary64_2315 sinh-cosh_binary64_2314 tanh-def-c_binary64_2313 tanh-def-b_binary64_2312 tanh-def-a_binary64_2311 cosh-def_binary64_2310 sinh-def_binary64_2309 tan-neg_binary64_2256 cos-neg_binary64_2255 sin-neg_binary64_2254 tan-0_binary64_2253 cos-0_binary64_2252 sin-0_binary64_2251 hang-m-tan_binary64_2250 hang-p-tan_binary64_2249 hang-m0-tan_binary64_2248 hang-p0-tan_binary64_2247 hang-0m-tan_binary64_2246 hang-0p-tan_binary64_2245 tan-+PI/2_binary64_2244 tan-+PI_binary64_2243 tan-PI_binary64_2242 tan-PI/3_binary64_2241 tan-PI/4_binary64_2240 tan-PI/6_binary64_2239 cos-+PI/2_binary64_2238 cos-+PI_binary64_2237 cos-PI_binary64_2236 cos-PI/2_binary64_2235 cos-PI/3_binary64_2234 cos-PI/4_binary64_2233 cos-PI/6_binary64_2232 sin-+PI/2_binary64_2231 sin-+PI_binary64_2230 sin-PI_binary64_2229 sin-PI/2_binary64_2228 sin-PI/3_binary64_2227 sin-PI/4_binary64_2226 sin-PI/6_binary64_2225 sub-1-sin_binary64_2224 sub-1-cos_binary64_2223 -1-add-sin_binary64_2222 -1-add-cos_binary64_2221 1-sub-sin_binary64_2220 1-sub-cos_binary64_2219 cos-sin-sum_binary64_2218 log-E_binary64_2214 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 prod-exp_binary64_2173 exp-diff_binary64_2172 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-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 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 cancel-sign-sub_binary64_2089 distribute-neg-frac_binary64_2088 distribute-frac-neg_binary64_2087 distribute-neg-out_binary64_2086 distribute-lft-out--_binary64_2076 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--r-_binary64_2063 associate--l-_binary64_2062
Counts
127 → 107
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02665087
17394497
228014418
341734418
449954418
549644418

prune200.0ms (0.6%)

Pruning

14 alts after pruning (14 fresh and 0 done)

PrunedKeptTotal
New9413107
Fresh12113
Picked101
Done000
Total10714121
Error
2.7b
Counts
121 → 14
Compiler

Compiled 4232 to 823 computations (80.6% saved)

localize29.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.2b
(*.f64 (sin.f64 lambda2) (sin.f64 lambda1))
0.3b
(*.f64 (exp.f64 (log.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))))) R)
0.6b
(log.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))))
0.9b
(acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))

rewrite124.0ms (0.4%)

Algorithm
rewrite-expression-head
Error
2.7b
Rules
16×add-sqr-sqrt_binary64_2146
10×add-cube-cbrt_binary64_2159 *-un-lft-identity_binary64_2124
pow1_binary64_2185 associate-*l*_binary64_2065
add-exp-log_binary64_2162 add-cbrt-cube_binary64_2160
log-prod_binary64_2210
associate-*r*_binary64_2064
add-log-exp_binary64_2163 exp-sum_binary64_2170
unswap-sqr_binary64_2092
pow-prod-down_binary64_2195 prod-exp_binary64_2173 cbrt-unprod_binary64_2157 *-commutative_binary64_2055
acos-asin_binary64_2305 log-pow_binary64_2213 rem-log-exp_binary64_2165 sin-mult_binary64_2279
Counts
4 → 61
Calls

4 calls:

7.0ms
(*.f64 (exp.f64 (log.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))))) R)
6.0ms
(*.f64 (sin.f64 lambda2) (sin.f64 lambda1))
2.0ms
(log.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))))
1.0ms
(acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
Compiler

Compiled 2668 to 382 computations (85.7% saved)

series4.1s (12.8%)

Error
2.7b
Counts
4 → 47
Calls

4 calls:

2.3s
(*.f64 (exp.f64 (log.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))))) R)
1.4s
(log.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))))
232.0ms
(acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
157.0ms
(*.f64 (sin.f64 lambda2) (sin.f64 lambda1))
Compiler

Compiled 4674 to 2410 computations (48.4% saved)

simplify215.0ms (0.7%)

Algorithm
egg-herbie
Rules
464×associate-*l/_binary64_2067
390×cancel-sign-sub-inv_binary64_2090
352×associate-*l*_binary64_2065
275×distribute-rgt-neg-in_binary64_2082
251×associate-*r*_binary64_2064
250×*-commutative_binary64_2055
240×associate-+l+_binary64_2057
232×associate-/l/_binary64_2071
219×distribute-lft-neg-in_binary64_2081
199×sqr-pow_binary64_2096
177×associate-+r+_binary64_2056
159×unswap-sqr_binary64_2092
151×associate-/l*_binary64_2069
145×distribute-rgt-in_binary64_2074
144×sub-neg_binary64_2117
142×associate-/r/_binary64_2070
136×distribute-lft-in_binary64_2073
113×exp-sum_binary64_2170
89×+-commutative_binary64_2054
78×pow-sqr_binary64_2097
74×neg-mul-1_binary64_2120
73×distribute-rgt-out_binary64_2077
67×neg-sub0_binary64_2119
61×distribute-neg-in_binary64_2085
60×distribute-lft-out_binary64_2075
59×associate-/r*_binary64_2068
51×log-prod_binary64_2210
49×exp-prod_binary64_2176 associate--r+_binary64_2060
48×unsub-neg_binary64_2118
38×associate-+l-_binary64_2059
37×distribute-rgt-out--_binary64_2078
36×associate-*r/_binary64_2066
31×*-lft-identity_binary64_2113
29×*-rgt-identity_binary64_2114
26×distribute-lft-neg-out_binary64_2083
23×rem-sqrt-square_binary64_2137
22×times-frac_binary64_2130
20×distribute-lft-out--_binary64_2076
18×sub0-neg_binary64_2111 swap-sqr_binary64_2091
17×cube-prod_binary64_2152 associate--l+_binary64_2061
16×log-div_binary64_2211 cube-unmult_binary64_2161 cube-div_binary64_2153 mul0-rgt_binary64_2107 mul0-lft_binary64_2106
14×distribute-rgt-neg-out_binary64_2084
13×count-2_binary64_2072
12×distribute-rgt1-in_binary64_2080 associate-+r-_binary64_2058
exp-to-pow_binary64_2186
unpow1/2_binary64_2188 exp-lft-sqr_binary64_2179 remove-double-neg_binary64_2112 --rgt-identity_binary64_2110 +-rgt-identity_binary64_2109 distribute-lft1-in_binary64_2079
log-pow_binary64_2213
pow-plus_binary64_2187 exp-sqrt_binary64_2177 rem-exp-log_binary64_2164
associate--r-_binary64_2063
unpow3_binary64_2190 prod-exp_binary64_2173
exp-lft-cube_binary64_2180 distribute-neg-frac_binary64_2088
cos-neg_binary64_2255 unpow2_binary64_2189 unpow1_binary64_2182 /-rgt-identity_binary64_2115
sin-neg_binary64_2254 1-exp_binary64_2168 exp-1-e_binary64_2167 rem-log-exp_binary64_2165 cube-mult_binary64_2154 +-lft-identity_binary64_2108
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 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 pow-base-0_binary64_2208 unpow1/3_binary64_2191 pow-base-1_binary64_2184 unpow0_binary64_2183 unpow-1_binary64_2181 exp-cbrt_binary64_2178 div-exp_binary64_2175 rec-exp_binary64_2174 exp-diff_binary64_2172 exp-neg_binary64_2171 e-exp-1_binary64_2169 exp-0_binary64_2166 cube-neg_binary64_2151 rem-3cbrt-rft_binary64_2150 rem-3cbrt-lft_binary64_2149 rem-cbrt-cube_binary64_2148 rem-cube-cbrt_binary64_2147 sqr-abs_binary64_2139 sqr-neg_binary64_2138 rem-square-sqrt_binary64_2136 div-sub_binary64_2129 mul-1-neg_binary64_2116 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_binary64_2089 distribute-frac-neg_binary64_2087 distribute-neg-out_binary64_2086 associate--l-_binary64_2062
Counts
108 → 74
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01344907
12513985
25993975
310963966
414573966
523273966
628753966
748203966

prune123.0ms (0.4%)

Pruning

14 alts after pruning (13 fresh and 1 done)

PrunedKeptTotal
New73174
Fresh11213
Picked011
Done000
Total741488
Error
2.7b
Counts
88 → 14
Compiler

Compiled 3075 to 545 computations (82.3% saved)

localize32.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.3b
(*.f64 (log.f64 (exp.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))))) R)
0.4b
(exp.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))))
0.6b
(log.f64 (exp.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))))
0.9b
(acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))

rewrite122.0ms (0.4%)

Algorithm
rewrite-expression-head
Error
2.7b
Rules
12×add-sqr-sqrt_binary64_2146
10×add-cube-cbrt_binary64_2159 *-un-lft-identity_binary64_2124
exp-prod_binary64_2176
pow1_binary64_2185 log-pow_binary64_2213
associate-*l*_binary64_2065
add-exp-log_binary64_2162 add-cbrt-cube_binary64_2160
add-log-exp_binary64_2163
acos-asin_binary64_2305 log-prod_binary64_2210 associate-*r*_binary64_2064
exp-diff_binary64_2172
log-div_binary64_2211 rem-log-exp_binary64_2165 rem-exp-log_binary64_2164 pow-prod-down_binary64_2195 prod-exp_binary64_2173 cbrt-unprod_binary64_2157 unswap-sqr_binary64_2092 *-commutative_binary64_2055
Counts
4 → 58
Calls

4 calls:

6.0ms
(*.f64 (log.f64 (exp.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))))) R)
3.0ms
(log.f64 (exp.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))))
2.0ms
(exp.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))))
1.0ms
(acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
Compiler

Compiled 2764 to 221 computations (92% saved)

series4.6s (14.3%)

Error
2.7b
Counts
4 → 51
Calls

4 calls:

2.3s
(*.f64 (log.f64 (exp.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))))) R)
1.6s
(log.f64 (exp.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))))
405.0ms
(exp.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))))
219.0ms
(acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
Compiler

Compiled 5202 to 2575 computations (50.5% saved)

simplify354.0ms (1.1%)

Algorithm
egg-herbie
Rules
666×times-frac_binary64_2130
426×unswap-sqr_binary64_2092
398×distribute-rgt-in_binary64_2074
359×distribute-lft-in_binary64_2073
340×log-prod_binary64_2210
324×distribute-rgt-out_binary64_2077
302×associate-*l*_binary64_2065
273×*-commutative_binary64_2055
223×associate-*r*_binary64_2064
202×associate-+l+_binary64_2057
181×associate-*l/_binary64_2067
168×sqr-pow_binary64_2096
133×log-pow_binary64_2213
120×exp-prod_binary64_2176
118×associate-*r/_binary64_2066
104×log-div_binary64_2211
97×associate-+r+_binary64_2056
93×exp-sum_binary64_2170
75×cube-prod_binary64_2152
70×count-2_binary64_2072
67×distribute-lft-out_binary64_2075
64×associate-/l/_binary64_2071
62×exp-to-pow_binary64_2186 associate-/l*_binary64_2069
58×pow-sqr_binary64_2097
57×cube-div_binary64_2153
49×unpow3_binary64_2190
43×unsub-neg_binary64_2118
40×swap-sqr_binary64_2091
37×distribute-rgt1-in_binary64_2080
35×pow-plus_binary64_2187
31×*-rgt-identity_binary64_2114
29×exp-sqrt_binary64_2177 rem-sqrt-square_binary64_2137
27×*-lft-identity_binary64_2113 associate-/r/_binary64_2070
26×cube-unmult_binary64_2161
19×associate-/r*_binary64_2068
18×log-rec_binary64_2212
11×distribute-lft1-in_binary64_2079
10×unpow1/2_binary64_2188 rem-log-exp_binary64_2165 +-commutative_binary64_2054
cube-mult_binary64_2154
exp-lft-sqr_binary64_2179
rem-exp-log_binary64_2164
prod-exp_binary64_2173
sub-neg_binary64_2117
unpow2_binary64_2189 1-exp_binary64_2168 exp-1-e_binary64_2167 neg-mul-1_binary64_2120 neg-sub0_binary64_2119 /-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 pow-base-1_binary64_2184 unpow0_binary64_2183 unpow1_binary64_2182 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 e-exp-1_binary64_2169 exp-0_binary64_2166 cube-neg_binary64_2151 rem-3cbrt-rft_binary64_2150 rem-3cbrt-lft_binary64_2149 rem-cbrt-cube_binary64_2148 rem-cube-cbrt_binary64_2147 sqr-abs_binary64_2139 sqr-neg_binary64_2138 rem-square-sqrt_binary64_2136 div-sub_binary64_2129 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-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
109 → 89
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0985911
11594846
23244846
34504846
46234840
512984840
629204840
745314840
849474840
949964840
1048664840

prune100.0ms (0.3%)

Pruning

14 alts after pruning (13 fresh and 1 done)

PrunedKeptTotal
New87289
Fresh11112
Picked101
Done011
Total8914103
Error
2.7b
Counts
103 → 14
Compiler

Compiled 2945 to 143 computations (95.1% saved)

regimes4.0s (12.6%)

Accuracy

Total 0.4b remaining (9.7%)

Threshold costs 0.4b (9.7%)

Compiler

Compiled 53784 to 31886 computations (40.7% saved)

bsearch0.0ms (0%)

simplify29.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64_2055
+-commutative_binary64_2054
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same if-if-and-not_binary64_2384 if-if-and_binary64_2383 if-if-or-not_binary64_2382 if-if-or_binary64_2381 if-not_binary64_2380 if-same_binary64_2379 if-false_binary64_2378 if-true_binary64_2377 tan-0_binary64_2253 cos-0_binary64_2252 sin-0_binary64_2251 unpow1_binary64_2182 e-exp-1_binary64_2169 1-exp_binary64_2168 exp-1-e_binary64_2167 exp-0_binary64_2166 sqr-abs_binary64_2139 sqr-neg_binary64_2138 neg-mul-1_binary64_2120 neg-sub0_binary64_2119 unsub-neg_binary64_2118 sub-neg_binary64_2117 mul-1-neg_binary64_2116 /-rgt-identity_binary64_2115 *-rgt-identity_binary64_2114 *-lft-identity_binary64_2113 remove-double-neg_binary64_2112 sub0-neg_binary64_2111 --rgt-identity_binary64_2110 +-rgt-identity_binary64_2109 +-lft-identity_binary64_2108 cancel-sign-sub-inv_binary64_2090 cancel-sign-sub_binary64_2089 distribute-neg-frac_binary64_2088 distribute-frac-neg_binary64_2087 distribute-neg-out_binary64_2086 distribute-neg-in_binary64_2085 distribute-rgt-neg-out_binary64_2084 distribute-lft-neg-out_binary64_2083 distribute-rgt-neg-in_binary64_2082 distribute-lft-neg-in_binary64_2081
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02343
13143
23143
Remove

(sort phi1 phi2)

(sort lambda1 lambda2)

Compiler

Compiled 104 to 88 computations (15.4% saved)

end0.0ms (0%)

sample10.2s (31.7%)

Algorithm
intervals
Results
4.8s5542×body1024valid
735.0ms1369×body512valid
542.0ms271×body2048valid
168.0ms522×body256valid
48.0ms296×body128valid
4.0msbody1024invalid
Compiler

Compiled 4923 to 2926 computations (40.6% saved)

Profiling

Loading profile data...