Details

Time bar (total: 31.0s)

analyze3.6s (11.8%)

Algorithm
search
egg-herbie
Rules
501×unsub-neg_binary64_72
469×distribute-rgt-in_binary64_28
417×distribute-rgt-neg-in_binary64_36
332×distribute-lft-in_binary64_27
290×cancel-sign-sub-inv_binary64_44
267×distribute-lft-neg-in_binary64_35
266×neg-mul-1_binary64_74
265×neg-sub0_binary64_73
247×distribute-lft-neg-out_binary64_37
229×associate--r+_binary64_14
192×sub-neg_binary64_71
189×distribute-neg-in_binary64_39
168×*-commutative_binary64_9
153×distribute-rgt-neg-out_binary64_38
142×associate-*r*_binary64_18
140×associate-*l*_binary64_19
113×mul0-rgt_binary64_61 mul0-lft_binary64_60
102×+-commutative_binary64_8
93×remove-double-neg_binary64_66
47×*-lft-identity_binary64_67
46×*-rgt-identity_binary64_68
38×associate-+l-_binary64_13
35×associate--r-_binary64_17
31×sub0-neg_binary64_65
24×associate--l+_binary64_15
23×associate-+r+_binary64_10
17×associate-+r-_binary64_12
15×associate-+l+_binary64_11
14×cos-neg_binary64_209 mul-1-neg_binary64_70 +-rgt-identity_binary64_63
12×sin-neg_binary64_208 distribute-rgt-out--_binary64_32 associate--l-_binary64_16
cancel-sign-sub_binary64_43
+-lft-identity_binary64_62 distribute-lft-out--_binary64_30
distribute-neg-out_binary64_40
1-exp_binary64_122 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_341 erf-erfc_binary64_340 erf-odd_binary64_339 if-if-and-not_binary64_338 if-if-and_binary64_337 if-if-or-not_binary64_336 if-if-or_binary64_335 if-not_binary64_334 if-same_binary64_333 if-false_binary64_332 if-true_binary64_331 not-gte_binary64_330 not-lte_binary64_329 not-gt_binary64_328 not-lt_binary64_327 gte-same_binary64_326 lte-same_binary64_325 gt-same_binary64_324 lt-same_binary64_323 sinh---cosh_binary64_270 sinh-+-cosh_binary64_269 sinh-cosh_binary64_268 tanh-def-c_binary64_267 tanh-def-b_binary64_266 tanh-def-a_binary64_265 cosh-def_binary64_264 sinh-def_binary64_263 tan-neg_binary64_210 tan-0_binary64_207 cos-0_binary64_206 sin-0_binary64_205 hang-m-tan_binary64_204 hang-p-tan_binary64_203 hang-m0-tan_binary64_202 hang-p0-tan_binary64_201 hang-0m-tan_binary64_200 hang-0p-tan_binary64_199 tan-+PI/2_binary64_198 tan-+PI_binary64_197 tan-PI_binary64_196 tan-PI/3_binary64_195 tan-PI/4_binary64_194 tan-PI/6_binary64_193 cos-+PI/2_binary64_192 cos-+PI_binary64_191 cos-PI_binary64_190 cos-PI/2_binary64_189 cos-PI/3_binary64_188 cos-PI/4_binary64_187 cos-PI/6_binary64_186 sin-+PI/2_binary64_185 sin-+PI_binary64_184 sin-PI_binary64_183 sin-PI/2_binary64_182 sin-PI/3_binary64_181 sin-PI/4_binary64_180 sin-PI/6_binary64_179 sub-1-sin_binary64_178 sub-1-cos_binary64_177 -1-add-sin_binary64_176 -1-add-cos_binary64_175 1-sub-sin_binary64_174 1-sub-cos_binary64_173 cos-sin-sum_binary64_172 log-E_binary64_168 log-pow_binary64_167 log-rec_binary64_166 log-div_binary64_165 log-prod_binary64_164 pow-base-0_binary64_162 unpow1/3_binary64_145 unpow3_binary64_144 unpow2_binary64_143 unpow1/2_binary64_142 pow-plus_binary64_141 exp-to-pow_binary64_140 pow-base-1_binary64_138 unpow0_binary64_137 unpow1_binary64_136 unpow-1_binary64_135 exp-lft-cube_binary64_134 exp-lft-sqr_binary64_133 exp-cbrt_binary64_132 exp-sqrt_binary64_131 exp-prod_binary64_130 div-exp_binary64_129 rec-exp_binary64_128 prod-exp_binary64_127 exp-diff_binary64_126 exp-neg_binary64_125 exp-sum_binary64_124 e-exp-1_binary64_123 exp-1-e_binary64_121 exp-0_binary64_120 rem-log-exp_binary64_119 rem-exp-log_binary64_118 cube-unmult_binary64_115 cube-mult_binary64_108 cube-div_binary64_107 cube-prod_binary64_106 cube-neg_binary64_105 rem-3cbrt-rft_binary64_104 rem-3cbrt-lft_binary64_103 rem-cbrt-cube_binary64_102 rem-cube-cbrt_binary64_101 sqr-abs_binary64_93 sqr-neg_binary64_92 rem-sqrt-square_binary64_91 rem-square-sqrt_binary64_90 times-frac_binary64_84 div-sub_binary64_83 /-rgt-identity_binary64_69 --rgt-identity_binary64_64 div0_binary64_59 *-inverses_binary64_58 +-inverses_binary64_57 lft-mult-inverse_binary64_56 rgt-mult-inverse_binary64_55 remove-double-div_binary64_54 pow-sqr_binary64_51 sqr-pow_binary64_50 difference-of-sqr--1_binary64_49 difference-of-sqr-1_binary64_48 difference-of-squares_binary64_47 unswap-sqr_binary64_46 swap-sqr_binary64_45 distribute-neg-frac_binary64_42 distribute-frac-neg_binary64_41 distribute-rgt1-in_binary64_34 distribute-lft1-in_binary64_33 distribute-rgt-out_binary64_31 distribute-lft-out_binary64_29 count-2_binary64_26 associate-/l/_binary64_25 associate-/r/_binary64_24 associate-/l*_binary64_23 associate-/r*_binary64_22 associate-*l/_binary64_21 associate-*r/_binary64_20
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)

sample233.0ms (0.8%)

Algorithm
intervals
Results
160.0ms187×body1024valid
19.0ms38×body512valid
16.0msbody2048valid
4.0ms13×body256valid
1.0msbody128valid
Compiler

Compiled 39 to 40 computations (-2.6% saved)

simplify15.0ms (0%)

Algorithm
egg-herbie
Rules
15×sub-neg_binary64_71
14×cancel-sign-sub-inv_binary64_44
10×distribute-rgt-in_binary64_28 *-commutative_binary64_9
neg-mul-1_binary64_74
associate--r+_binary64_14
unsub-neg_binary64_72
neg-sub0_binary64_73 associate--r-_binary64_17
distribute-neg-in_binary64_39 distribute-lft-neg-out_binary64_37 distribute-rgt-neg-in_binary64_36 distribute-lft-in_binary64_27 +-commutative_binary64_8
*-lft-identity_binary64_67 sub0-neg_binary64_65 associate-+l-_binary64_13
+-lft-identity_binary64_62 distribute-rgt-neg-out_binary64_38 associate-*l*_binary64_19 associate-*r*_binary64_18 associate-+l+_binary64_11
cos-neg_binary64_209 *-rgt-identity_binary64_68
1-exp_binary64_122 remove-double-neg_binary64_66 --rgt-identity_binary64_64 +-rgt-identity_binary64_63 distribute-lft-neg-in_binary64_35 associate--l+_binary64_15 associate-+r-_binary64_12 associate-+r+_binary64_10
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_341 erf-erfc_binary64_340 erf-odd_binary64_339 if-if-and-not_binary64_338 if-if-and_binary64_337 if-if-or-not_binary64_336 if-if-or_binary64_335 if-not_binary64_334 if-same_binary64_333 if-false_binary64_332 if-true_binary64_331 not-gte_binary64_330 not-lte_binary64_329 not-gt_binary64_328 not-lt_binary64_327 gte-same_binary64_326 lte-same_binary64_325 gt-same_binary64_324 lt-same_binary64_323 sinh---cosh_binary64_270 sinh-+-cosh_binary64_269 sinh-cosh_binary64_268 tanh-def-c_binary64_267 tanh-def-b_binary64_266 tanh-def-a_binary64_265 cosh-def_binary64_264 sinh-def_binary64_263 tan-neg_binary64_210 sin-neg_binary64_208 tan-0_binary64_207 cos-0_binary64_206 sin-0_binary64_205 hang-m-tan_binary64_204 hang-p-tan_binary64_203 hang-m0-tan_binary64_202 hang-p0-tan_binary64_201 hang-0m-tan_binary64_200 hang-0p-tan_binary64_199 tan-+PI/2_binary64_198 tan-+PI_binary64_197 tan-PI_binary64_196 tan-PI/3_binary64_195 tan-PI/4_binary64_194 tan-PI/6_binary64_193 cos-+PI/2_binary64_192 cos-+PI_binary64_191 cos-PI_binary64_190 cos-PI/2_binary64_189 cos-PI/3_binary64_188 cos-PI/4_binary64_187 cos-PI/6_binary64_186 sin-+PI/2_binary64_185 sin-+PI_binary64_184 sin-PI_binary64_183 sin-PI/2_binary64_182 sin-PI/3_binary64_181 sin-PI/4_binary64_180 sin-PI/6_binary64_179 sub-1-sin_binary64_178 sub-1-cos_binary64_177 -1-add-sin_binary64_176 -1-add-cos_binary64_175 1-sub-sin_binary64_174 1-sub-cos_binary64_173 cos-sin-sum_binary64_172 log-E_binary64_168 log-pow_binary64_167 log-rec_binary64_166 log-div_binary64_165 log-prod_binary64_164 pow-base-0_binary64_162 unpow1/3_binary64_145 unpow3_binary64_144 unpow2_binary64_143 unpow1/2_binary64_142 pow-plus_binary64_141 exp-to-pow_binary64_140 pow-base-1_binary64_138 unpow0_binary64_137 unpow1_binary64_136 unpow-1_binary64_135 exp-lft-cube_binary64_134 exp-lft-sqr_binary64_133 exp-cbrt_binary64_132 exp-sqrt_binary64_131 exp-prod_binary64_130 div-exp_binary64_129 rec-exp_binary64_128 prod-exp_binary64_127 exp-diff_binary64_126 exp-neg_binary64_125 exp-sum_binary64_124 e-exp-1_binary64_123 exp-1-e_binary64_121 exp-0_binary64_120 rem-log-exp_binary64_119 rem-exp-log_binary64_118 cube-unmult_binary64_115 cube-mult_binary64_108 cube-div_binary64_107 cube-prod_binary64_106 cube-neg_binary64_105 rem-3cbrt-rft_binary64_104 rem-3cbrt-lft_binary64_103 rem-cbrt-cube_binary64_102 rem-cube-cbrt_binary64_101 sqr-abs_binary64_93 sqr-neg_binary64_92 rem-sqrt-square_binary64_91 rem-square-sqrt_binary64_90 times-frac_binary64_84 div-sub_binary64_83 mul-1-neg_binary64_70 /-rgt-identity_binary64_69 mul0-rgt_binary64_61 mul0-lft_binary64_60 div0_binary64_59 *-inverses_binary64_58 +-inverses_binary64_57 lft-mult-inverse_binary64_56 rgt-mult-inverse_binary64_55 remove-double-div_binary64_54 pow-sqr_binary64_51 sqr-pow_binary64_50 difference-of-sqr--1_binary64_49 difference-of-sqr-1_binary64_48 difference-of-squares_binary64_47 unswap-sqr_binary64_46 swap-sqr_binary64_45 cancel-sign-sub_binary64_43 distribute-neg-frac_binary64_42 distribute-frac-neg_binary64_41 distribute-neg-out_binary64_40 distribute-rgt1-in_binary64_34 distribute-lft1-in_binary64_33 distribute-rgt-out--_binary64_32 distribute-rgt-out_binary64_31 distribute-lft-out--_binary64_30 distribute-lft-out_binary64_29 count-2_binary64_26 associate-/l/_binary64_25 associate-/r/_binary64_24 associate-/l*_binary64_23 associate-/r*_binary64_22 associate-*l/_binary64_21 associate-*r/_binary64_20 associate--l-_binary64_16
Counts
1 → 0
Iterations

Useful iterations: 0 (0.0ms)

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

prune3.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 19 to 17 computations (10.5% saved)

localize26.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.2b
(*.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.0b
(acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
3.1b
(cos.f64 (-.f64 lambda1 lambda2))

rewrite108.0ms (0.3%)

Algorithm
rewrite-expression-head
Error
4.9b
Rules
11×pow1_binary64_139 add-exp-log_binary64_116 add-cbrt-cube_binary64_114
10×add-sqr-sqrt_binary64_100
add-cube-cbrt_binary64_113 *-un-lft-identity_binary64_78
associate-*r*_binary64_18
cos-sum_binary64_212 add-log-exp_binary64_117 pow-prod-down_binary64_149 prod-exp_binary64_127 cbrt-unprod_binary64_111 associate-*l*_binary64_19
cos-diff_binary64_215 cancel-sign-sub-inv_binary64_44
*-commutative_binary64_9
sub-neg_binary64_71 acos-asin_binary64_259 unswap-sqr_binary64_46 distribute-rgt-in_binary64_28 distribute-lft-in_binary64_27 cos-mult_binary64_232 associate-*l/_binary64_21
Counts
4 → 59
Calls

4 calls:

7.0ms
(*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))
5.0ms
(cos.f64 (-.f64 lambda1 lambda2))
3.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.3s (4%)

Error
17.4b
Counts
4 → 58
Calls

4 calls:

603.0ms
(*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))
342.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)
162.0ms
(acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
84.0ms
(cos.f64 (-.f64 lambda1 lambda2))
Compiler

Compiled 3617 to 2098 computations (42% saved)

simplify198.0ms (0.6%)

Algorithm
egg-herbie
Rules
527×sub-neg_binary64_71
400×distribute-rgt-neg-in_binary64_36
339×distribute-lft-neg-in_binary64_35
289×neg-mul-1_binary64_74
279×cancel-sign-sub-inv_binary64_44
256×associate-*l*_binary64_19
249×neg-sub0_binary64_73
247×associate-*r*_binary64_18
170×unsub-neg_binary64_72
151×*-commutative_binary64_9
144×sqr-pow_binary64_50
121×distribute-rgt-out--_binary64_32
120×distribute-lft-in_binary64_27
112×distribute-rgt-out_binary64_31
109×+-commutative_binary64_8
87×pow-sqr_binary64_51 distribute-rgt-in_binary64_28
85×distribute-lft-out--_binary64_30
82×associate-+l+_binary64_11
80×associate-+l-_binary64_13
76×distribute-lft-out_binary64_29
60×associate-+r+_binary64_10
57×distribute-lft-neg-out_binary64_37
56×exp-prod_binary64_130
52×log-prod_binary64_164
51×sub0-neg_binary64_65
48×cube-prod_binary64_106
47×unswap-sqr_binary64_46
46×+-rgt-identity_binary64_63
44×remove-double-neg_binary64_66 associate-+r-_binary64_12
39×distribute-rgt-neg-out_binary64_38
38×associate--l+_binary64_15
36×rem-sqrt-square_binary64_91
33×mul0-rgt_binary64_61 mul0-lft_binary64_60
30×swap-sqr_binary64_45
28×associate--r+_binary64_14
26×cancel-sign-sub_binary64_43
24×*-rgt-identity_binary64_68
21×*-lft-identity_binary64_67
16×cube-unmult_binary64_115
15×associate--l-_binary64_16
13×unpow3_binary64_144
12×unpow1/2_binary64_142
11×--rgt-identity_binary64_64 associate--r-_binary64_17
10×exp-sum_binary64_124 associate-/l*_binary64_23
cube-mult_binary64_108 +-lft-identity_binary64_62 distribute-neg-in_binary64_39 distribute-rgt1-in_binary64_34
cos-neg_binary64_209 exp-diff_binary64_126 div-sub_binary64_83 difference-of-squares_binary64_47
sin-neg_binary64_208 pow-plus_binary64_141
unpow2_binary64_143 unpow1_binary64_136 sqr-neg_binary64_92 distribute-lft1-in_binary64_33
cube-neg_binary64_105
mul-1-neg_binary64_70 distribute-neg-out_binary64_40 associate-/l/_binary64_25 associate-*r/_binary64_20
1-exp_binary64_122 exp-1-e_binary64_121 rem-3cbrt-lft_binary64_103 rem-square-sqrt_binary64_90 count-2_binary64_26
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_341 erf-erfc_binary64_340 erf-odd_binary64_339 if-if-and-not_binary64_338 if-if-and_binary64_337 if-if-or-not_binary64_336 if-if-or_binary64_335 if-not_binary64_334 if-same_binary64_333 if-false_binary64_332 if-true_binary64_331 not-gte_binary64_330 not-lte_binary64_329 not-gt_binary64_328 not-lt_binary64_327 gte-same_binary64_326 lte-same_binary64_325 gt-same_binary64_324 lt-same_binary64_323 sinh---cosh_binary64_270 sinh-+-cosh_binary64_269 sinh-cosh_binary64_268 tanh-def-c_binary64_267 tanh-def-b_binary64_266 tanh-def-a_binary64_265 cosh-def_binary64_264 sinh-def_binary64_263 tan-neg_binary64_210 tan-0_binary64_207 cos-0_binary64_206 sin-0_binary64_205 hang-m-tan_binary64_204 hang-p-tan_binary64_203 hang-m0-tan_binary64_202 hang-p0-tan_binary64_201 hang-0m-tan_binary64_200 hang-0p-tan_binary64_199 tan-+PI/2_binary64_198 tan-+PI_binary64_197 tan-PI_binary64_196 tan-PI/3_binary64_195 tan-PI/4_binary64_194 tan-PI/6_binary64_193 cos-+PI/2_binary64_192 cos-+PI_binary64_191 cos-PI_binary64_190 cos-PI/2_binary64_189 cos-PI/3_binary64_188 cos-PI/4_binary64_187 cos-PI/6_binary64_186 sin-+PI/2_binary64_185 sin-+PI_binary64_184 sin-PI_binary64_183 sin-PI/2_binary64_182 sin-PI/3_binary64_181 sin-PI/4_binary64_180 sin-PI/6_binary64_179 sub-1-sin_binary64_178 sub-1-cos_binary64_177 -1-add-sin_binary64_176 -1-add-cos_binary64_175 1-sub-sin_binary64_174 1-sub-cos_binary64_173 cos-sin-sum_binary64_172 log-E_binary64_168 log-pow_binary64_167 log-rec_binary64_166 log-div_binary64_165 pow-base-0_binary64_162 unpow1/3_binary64_145 exp-to-pow_binary64_140 pow-base-1_binary64_138 unpow0_binary64_137 unpow-1_binary64_135 exp-lft-cube_binary64_134 exp-lft-sqr_binary64_133 exp-cbrt_binary64_132 exp-sqrt_binary64_131 div-exp_binary64_129 rec-exp_binary64_128 prod-exp_binary64_127 exp-neg_binary64_125 e-exp-1_binary64_123 exp-0_binary64_120 rem-log-exp_binary64_119 rem-exp-log_binary64_118 cube-div_binary64_107 rem-3cbrt-rft_binary64_104 rem-cbrt-cube_binary64_102 rem-cube-cbrt_binary64_101 sqr-abs_binary64_93 times-frac_binary64_84 /-rgt-identity_binary64_69 div0_binary64_59 *-inverses_binary64_58 +-inverses_binary64_57 lft-mult-inverse_binary64_56 rgt-mult-inverse_binary64_55 remove-double-div_binary64_54 difference-of-sqr--1_binary64_49 difference-of-sqr-1_binary64_48 distribute-neg-frac_binary64_42 distribute-frac-neg_binary64_41 associate-/r/_binary64_24 associate-/r*_binary64_22 associate-*l/_binary64_21
Counts
117 → 57
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01963281
14632925
213982852
323812827
443362827
547302827
649332827
748872827

prune116.0ms (0.4%)

Pruning

12 alts after pruning (12 fresh and 0 done)

PrunedKeptTotal
New451257
Fresh000
Picked101
Done000
Total461258
Error
4.9b
Counts
58 → 12
Compiler

Compiled 1945 to 554 computations (71.5% saved)

localize26.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.2b
(*.f64 (sin.f64 lambda1) (sin.f64 lambda2))
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 (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.0b
(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))))))

rewrite152.0ms (0.5%)

Algorithm
rewrite-expression-head
Error
4.8b
Rules
13×pow1_binary64_139 add-exp-log_binary64_116 add-cbrt-cube_binary64_114 add-sqr-sqrt_binary64_100
add-cube-cbrt_binary64_113 *-un-lft-identity_binary64_78 associate-*r*_binary64_18
associate-*l*_binary64_19
cos-mult_binary64_232
pow-prod-down_binary64_149 prod-exp_binary64_127 cbrt-unprod_binary64_111
add-log-exp_binary64_117
*-commutative_binary64_9 sin-mult_binary64_233 frac-times_binary64_88 associate-*r/_binary64_20
unswap-sqr_binary64_46 frac-add_binary64_86 flip3-+_binary64_81 flip-+_binary64_52
acos-asin_binary64_259 distribute-rgt-in_binary64_28 distribute-lft-in_binary64_27 associate-*l/_binary64_21
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.1s (6.6%)

Error
4.9b
Counts
4 → 57
Calls

4 calls:

1.1s
(*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))
532.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)
225.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))))))
158.0ms
(*.f64 (sin.f64 lambda1) (sin.f64 lambda2))
Compiler

Compiled 5396 to 2755 computations (48.9% saved)

simplify160.0ms (0.5%)

Algorithm
egg-herbie
Rules
784×cancel-sign-sub-inv_binary64_44
470×associate-*r*_binary64_18
457×associate-*l*_binary64_19
282×distribute-rgt-neg-in_binary64_36
257×distribute-lft-neg-in_binary64_35
248×neg-mul-1_binary64_74 neg-sub0_binary64_73
233×*-commutative_binary64_9
196×sub-neg_binary64_71
185×distribute-rgt-out_binary64_31
152×exp-prod_binary64_130 sqr-pow_binary64_50
94×distribute-rgt-in_binary64_28
91×distribute-lft-in_binary64_27
75×+-commutative_binary64_8
53×unsub-neg_binary64_72
48×distribute-rgt-out--_binary64_32
45×associate--l+_binary64_15
44×cube-prod_binary64_106
42×log-prod_binary64_164
34×*-lft-identity_binary64_67
32×*-rgt-identity_binary64_68 associate-+l+_binary64_11
29×associate--r+_binary64_14
28×distribute-neg-in_binary64_39
26×distribute-lft-neg-out_binary64_37
25×swap-sqr_binary64_45 associate-+r+_binary64_10
18×pow-sqr_binary64_51
17×unswap-sqr_binary64_46
13×cube-unmult_binary64_115
12×unpow3_binary64_144
distribute-lft-out_binary64_29
exp-sum_binary64_124 cube-mult_binary64_108
unpow1/2_binary64_142 distribute-rgt-neg-out_binary64_38
unpow2_binary64_143 pow-plus_binary64_141 unpow1_binary64_136 rem-sqrt-square_binary64_91 difference-of-squares_binary64_47
distribute-rgt1-in_binary64_34
1-exp_binary64_122 exp-1-e_binary64_121 distribute-lft1-in_binary64_33 associate-+l-_binary64_13 associate-+r-_binary64_12
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_341 erf-erfc_binary64_340 erf-odd_binary64_339 if-if-and-not_binary64_338 if-if-and_binary64_337 if-if-or-not_binary64_336 if-if-or_binary64_335 if-not_binary64_334 if-same_binary64_333 if-false_binary64_332 if-true_binary64_331 not-gte_binary64_330 not-lte_binary64_329 not-gt_binary64_328 not-lt_binary64_327 gte-same_binary64_326 lte-same_binary64_325 gt-same_binary64_324 lt-same_binary64_323 sinh---cosh_binary64_270 sinh-+-cosh_binary64_269 sinh-cosh_binary64_268 tanh-def-c_binary64_267 tanh-def-b_binary64_266 tanh-def-a_binary64_265 cosh-def_binary64_264 sinh-def_binary64_263 tan-neg_binary64_210 cos-neg_binary64_209 sin-neg_binary64_208 tan-0_binary64_207 cos-0_binary64_206 sin-0_binary64_205 hang-m-tan_binary64_204 hang-p-tan_binary64_203 hang-m0-tan_binary64_202 hang-p0-tan_binary64_201 hang-0m-tan_binary64_200 hang-0p-tan_binary64_199 tan-+PI/2_binary64_198 tan-+PI_binary64_197 tan-PI_binary64_196 tan-PI/3_binary64_195 tan-PI/4_binary64_194 tan-PI/6_binary64_193 cos-+PI/2_binary64_192 cos-+PI_binary64_191 cos-PI_binary64_190 cos-PI/2_binary64_189 cos-PI/3_binary64_188 cos-PI/4_binary64_187 cos-PI/6_binary64_186 sin-+PI/2_binary64_185 sin-+PI_binary64_184 sin-PI_binary64_183 sin-PI/2_binary64_182 sin-PI/3_binary64_181 sin-PI/4_binary64_180 sin-PI/6_binary64_179 sub-1-sin_binary64_178 sub-1-cos_binary64_177 -1-add-sin_binary64_176 -1-add-cos_binary64_175 1-sub-sin_binary64_174 1-sub-cos_binary64_173 cos-sin-sum_binary64_172 log-E_binary64_168 log-pow_binary64_167 log-rec_binary64_166 log-div_binary64_165 pow-base-0_binary64_162 unpow1/3_binary64_145 exp-to-pow_binary64_140 pow-base-1_binary64_138 unpow0_binary64_137 unpow-1_binary64_135 exp-lft-cube_binary64_134 exp-lft-sqr_binary64_133 exp-cbrt_binary64_132 exp-sqrt_binary64_131 div-exp_binary64_129 rec-exp_binary64_128 prod-exp_binary64_127 exp-diff_binary64_126 exp-neg_binary64_125 e-exp-1_binary64_123 exp-0_binary64_120 rem-log-exp_binary64_119 rem-exp-log_binary64_118 cube-div_binary64_107 cube-neg_binary64_105 rem-3cbrt-rft_binary64_104 rem-3cbrt-lft_binary64_103 rem-cbrt-cube_binary64_102 rem-cube-cbrt_binary64_101 sqr-abs_binary64_93 sqr-neg_binary64_92 rem-square-sqrt_binary64_90 times-frac_binary64_84 div-sub_binary64_83 mul-1-neg_binary64_70 /-rgt-identity_binary64_69 remove-double-neg_binary64_66 sub0-neg_binary64_65 --rgt-identity_binary64_64 +-rgt-identity_binary64_63 +-lft-identity_binary64_62 mul0-rgt_binary64_61 mul0-lft_binary64_60 div0_binary64_59 *-inverses_binary64_58 +-inverses_binary64_57 lft-mult-inverse_binary64_56 rgt-mult-inverse_binary64_55 remove-double-div_binary64_54 difference-of-sqr--1_binary64_49 difference-of-sqr-1_binary64_48 cancel-sign-sub_binary64_43 distribute-neg-frac_binary64_42 distribute-frac-neg_binary64_41 distribute-neg-out_binary64_40 distribute-lft-out--_binary64_30 count-2_binary64_26 associate-/l/_binary64_25 associate-/r/_binary64_24 associate-/l*_binary64_23 associate-/r*_binary64_22 associate-*l/_binary64_21 associate-*r/_binary64_20 associate--r-_binary64_17 associate--l-_binary64_16
Counts
129 → 99
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02715142
17634542
228574461
343014461
451114461

prune201.0ms (0.6%)

Pruning

15 alts after pruning (15 fresh and 0 done)

PrunedKeptTotal
New851499
Fresh10111
Picked101
Done000
Total9615111
Error
4.8b
Counts
111 → 15
Compiler

Compiled 4100 to 865 computations (78.9% saved)

localize29.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

rewrite143.0ms (0.5%)

Algorithm
rewrite-expression-head
Error
4.8b
Rules
20×pow1_binary64_139 add-exp-log_binary64_116 add-cbrt-cube_binary64_114
12×add-sqr-sqrt_binary64_100
10×pow-prod-down_binary64_149 prod-exp_binary64_127 cbrt-unprod_binary64_111
add-cube-cbrt_binary64_113 *-un-lft-identity_binary64_78
associate-*l*_binary64_19 associate-*r*_binary64_18
add-log-exp_binary64_117
*-commutative_binary64_9 sin-mult_binary64_233
unswap-sqr_binary64_46 cos-mult_binary64_232
acos-asin_binary64_259 frac-times_binary64_88 associate-*l/_binary64_21 associate-*r/_binary64_20
Counts
4 → 70
Calls

4 calls:

9.0ms
(*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.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 lambda2) (*.f64 (cos.f64 lambda1) (*.f64 (cos.f64 phi1) (cos.f64 phi2)))) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))) R)
1.0ms
(acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda2) (*.f64 (cos.f64 lambda1) (*.f64 (cos.f64 phi1) (cos.f64 phi2)))) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))
Compiler

Compiled 3146 to 420 computations (86.6% saved)

series1.7s (5.6%)

Error
4.8b
Counts
4 → 55
Calls

4 calls:

719.0ms
(*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))
554.0ms
(*.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda2) (*.f64 (cos.f64 lambda1) (*.f64 (cos.f64 phi1) (cos.f64 phi2)))) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))) R)
235.0ms
(acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda2) (*.f64 (cos.f64 lambda1) (*.f64 (cos.f64 phi1) (cos.f64 phi2)))) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))
146.0ms
(*.f64 (sin.f64 lambda1) (sin.f64 lambda2))
Compiler

Compiled 5355 to 2620 computations (51.1% saved)

simplify167.0ms (0.5%)

Algorithm
egg-herbie
Rules
404×distribute-rgt-neg-in_binary64_36
386×distribute-lft-neg-in_binary64_35
364×associate-*r*_binary64_18
348×distribute-lft-out--_binary64_30
335×cancel-sign-sub-inv_binary64_44
329×associate-*l*_binary64_19
243×neg-mul-1_binary64_74
205×sub-neg_binary64_71
173×*-commutative_binary64_9
149×neg-sub0_binary64_73
114×sqr-pow_binary64_50
98×distribute-rgt-out--_binary64_32
96×distribute-rgt-out_binary64_31
80×exp-prod_binary64_130
77×+-commutative_binary64_8
70×swap-sqr_binary64_45
68×log-prod_binary64_164
65×cube-prod_binary64_106
56×unswap-sqr_binary64_46
50×associate-+r+_binary64_10
42×associate-+l+_binary64_11
32×distribute-rgt-in_binary64_28
31×associate-+l-_binary64_13
30×associate--l+_binary64_15
28×associate-+r-_binary64_12
26×distribute-lft-in_binary64_27
19×*-rgt-identity_binary64_68 +-rgt-identity_binary64_63
18×associate--r+_binary64_14
17×*-lft-identity_binary64_67 pow-sqr_binary64_51
16×sub0-neg_binary64_65
15×unsub-neg_binary64_72
14×unpow3_binary64_144 distribute-lft-neg-out_binary64_37
13×cube-unmult_binary64_115
12×cube-mult_binary64_108 distribute-lft-out_binary64_29
distribute-rgt-neg-out_binary64_38
unpow1/2_binary64_142
rem-sqrt-square_binary64_91 cancel-sign-sub_binary64_43 distribute-neg-in_binary64_39
difference-of-squares_binary64_47 associate-/l*_binary64_23
cos-neg_binary64_209 unpow2_binary64_143 pow-plus_binary64_141 unpow1_binary64_136 exp-sum_binary64_124
1-exp_binary64_122 exp-1-e_binary64_121
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_341 erf-erfc_binary64_340 erf-odd_binary64_339 if-if-and-not_binary64_338 if-if-and_binary64_337 if-if-or-not_binary64_336 if-if-or_binary64_335 if-not_binary64_334 if-same_binary64_333 if-false_binary64_332 if-true_binary64_331 not-gte_binary64_330 not-lte_binary64_329 not-gt_binary64_328 not-lt_binary64_327 gte-same_binary64_326 lte-same_binary64_325 gt-same_binary64_324 lt-same_binary64_323 sinh---cosh_binary64_270 sinh-+-cosh_binary64_269 sinh-cosh_binary64_268 tanh-def-c_binary64_267 tanh-def-b_binary64_266 tanh-def-a_binary64_265 cosh-def_binary64_264 sinh-def_binary64_263 tan-neg_binary64_210 sin-neg_binary64_208 tan-0_binary64_207 cos-0_binary64_206 sin-0_binary64_205 hang-m-tan_binary64_204 hang-p-tan_binary64_203 hang-m0-tan_binary64_202 hang-p0-tan_binary64_201 hang-0m-tan_binary64_200 hang-0p-tan_binary64_199 tan-+PI/2_binary64_198 tan-+PI_binary64_197 tan-PI_binary64_196 tan-PI/3_binary64_195 tan-PI/4_binary64_194 tan-PI/6_binary64_193 cos-+PI/2_binary64_192 cos-+PI_binary64_191 cos-PI_binary64_190 cos-PI/2_binary64_189 cos-PI/3_binary64_188 cos-PI/4_binary64_187 cos-PI/6_binary64_186 sin-+PI/2_binary64_185 sin-+PI_binary64_184 sin-PI_binary64_183 sin-PI/2_binary64_182 sin-PI/3_binary64_181 sin-PI/4_binary64_180 sin-PI/6_binary64_179 sub-1-sin_binary64_178 sub-1-cos_binary64_177 -1-add-sin_binary64_176 -1-add-cos_binary64_175 1-sub-sin_binary64_174 1-sub-cos_binary64_173 cos-sin-sum_binary64_172 log-E_binary64_168 log-pow_binary64_167 log-rec_binary64_166 log-div_binary64_165 pow-base-0_binary64_162 unpow1/3_binary64_145 exp-to-pow_binary64_140 pow-base-1_binary64_138 unpow0_binary64_137 unpow-1_binary64_135 exp-lft-cube_binary64_134 exp-lft-sqr_binary64_133 exp-cbrt_binary64_132 exp-sqrt_binary64_131 div-exp_binary64_129 rec-exp_binary64_128 prod-exp_binary64_127 exp-diff_binary64_126 exp-neg_binary64_125 e-exp-1_binary64_123 exp-0_binary64_120 rem-log-exp_binary64_119 rem-exp-log_binary64_118 cube-div_binary64_107 cube-neg_binary64_105 rem-3cbrt-rft_binary64_104 rem-3cbrt-lft_binary64_103 rem-cbrt-cube_binary64_102 rem-cube-cbrt_binary64_101 sqr-abs_binary64_93 sqr-neg_binary64_92 rem-square-sqrt_binary64_90 times-frac_binary64_84 div-sub_binary64_83 mul-1-neg_binary64_70 /-rgt-identity_binary64_69 remove-double-neg_binary64_66 --rgt-identity_binary64_64 +-lft-identity_binary64_62 mul0-rgt_binary64_61 mul0-lft_binary64_60 div0_binary64_59 *-inverses_binary64_58 +-inverses_binary64_57 lft-mult-inverse_binary64_56 rgt-mult-inverse_binary64_55 remove-double-div_binary64_54 difference-of-sqr--1_binary64_49 difference-of-sqr-1_binary64_48 distribute-neg-frac_binary64_42 distribute-frac-neg_binary64_41 distribute-neg-out_binary64_40 distribute-rgt1-in_binary64_34 distribute-lft1-in_binary64_33 count-2_binary64_26 associate-/l/_binary64_25 associate-/r/_binary64_24 associate-/r*_binary64_22 associate-*l/_binary64_21 associate-*r/_binary64_20 associate--r-_binary64_17 associate--l-_binary64_16
Counts
125 → 93
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02124924
15093840
216853710
329143675
449653675
550273675

prune159.0ms (0.5%)

Pruning

14 alts after pruning (14 fresh and 0 done)

PrunedKeptTotal
New92193
Fresh11314
Picked101
Done000
Total9414108
Error
4.8b
Counts
108 → 14
Compiler

Compiled 3939 to 820 computations (79.2% saved)

localize32.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.2b
(*.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 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda2) (sin.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 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1))))))))
0.7b
(log.f64 (exp.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)))))))))
1.0b
(acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)))))))

rewrite128.0ms (0.4%)

Algorithm
rewrite-expression-head
Error
4.7b
Rules
12×add-sqr-sqrt_binary64_100
10×add-cube-cbrt_binary64_113 *-un-lft-identity_binary64_78
exp-prod_binary64_130
pow1_binary64_139 log-pow_binary64_167
associate-*l*_binary64_19
add-exp-log_binary64_116 add-cbrt-cube_binary64_114
add-log-exp_binary64_117
acos-asin_binary64_259 log-prod_binary64_164 associate-*r*_binary64_18
exp-diff_binary64_126
log-div_binary64_165 rem-log-exp_binary64_119 rem-exp-log_binary64_118 pow-prod-down_binary64_149 prod-exp_binary64_127 cbrt-unprod_binary64_111 unswap-sqr_binary64_46 *-commutative_binary64_9
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 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda2) (sin.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 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda2) (sin.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 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1))))))))
2.0ms
(acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)))))))
Compiler

Compiled 2764 to 221 computations (92% saved)

series4.7s (15.3%)

Error
4.8b
Counts
4 → 51
Calls

4 calls:

2.4s
(*.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 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1))))))))) R)
1.7s
(log.f64 (exp.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)))))))))
407.0ms
(exp.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1))))))))
239.0ms
(acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)))))))
Compiler

Compiled 5202 to 2575 computations (50.5% saved)

simplify342.0ms (1.1%)

Algorithm
egg-herbie
Rules
666×times-frac_binary64_84
426×unswap-sqr_binary64_46
398×distribute-rgt-in_binary64_28
359×distribute-lft-in_binary64_27
340×log-prod_binary64_164
324×distribute-rgt-out_binary64_31
302×associate-*l*_binary64_19
273×*-commutative_binary64_9
223×associate-*r*_binary64_18
202×associate-+l+_binary64_11
181×associate-*l/_binary64_21
168×sqr-pow_binary64_50
133×log-pow_binary64_167
120×exp-prod_binary64_130
118×associate-*r/_binary64_20
104×log-div_binary64_165
97×associate-+r+_binary64_10
93×exp-sum_binary64_124
75×cube-prod_binary64_106
70×count-2_binary64_26
67×distribute-lft-out_binary64_29
64×associate-/l/_binary64_25
62×exp-to-pow_binary64_140 associate-/l*_binary64_23
58×pow-sqr_binary64_51
57×cube-div_binary64_107
49×unpow3_binary64_144
43×unsub-neg_binary64_72
40×swap-sqr_binary64_45
37×distribute-rgt1-in_binary64_34
35×pow-plus_binary64_141
31×*-rgt-identity_binary64_68
29×exp-sqrt_binary64_131 rem-sqrt-square_binary64_91
27×*-lft-identity_binary64_67 associate-/r/_binary64_24
26×cube-unmult_binary64_115
19×associate-/r*_binary64_22
18×log-rec_binary64_166
11×distribute-lft1-in_binary64_33
10×unpow1/2_binary64_142 rem-log-exp_binary64_119 +-commutative_binary64_8
cube-mult_binary64_108
exp-lft-sqr_binary64_133
rem-exp-log_binary64_118
prod-exp_binary64_127
sub-neg_binary64_71
unpow2_binary64_143 1-exp_binary64_122 exp-1-e_binary64_121 neg-mul-1_binary64_74 neg-sub0_binary64_73 /-rgt-identity_binary64_69
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_341 erf-erfc_binary64_340 erf-odd_binary64_339 if-if-and-not_binary64_338 if-if-and_binary64_337 if-if-or-not_binary64_336 if-if-or_binary64_335 if-not_binary64_334 if-same_binary64_333 if-false_binary64_332 if-true_binary64_331 not-gte_binary64_330 not-lte_binary64_329 not-gt_binary64_328 not-lt_binary64_327 gte-same_binary64_326 lte-same_binary64_325 gt-same_binary64_324 lt-same_binary64_323 sinh---cosh_binary64_270 sinh-+-cosh_binary64_269 sinh-cosh_binary64_268 tanh-def-c_binary64_267 tanh-def-b_binary64_266 tanh-def-a_binary64_265 cosh-def_binary64_264 sinh-def_binary64_263 tan-neg_binary64_210 cos-neg_binary64_209 sin-neg_binary64_208 tan-0_binary64_207 cos-0_binary64_206 sin-0_binary64_205 hang-m-tan_binary64_204 hang-p-tan_binary64_203 hang-m0-tan_binary64_202 hang-p0-tan_binary64_201 hang-0m-tan_binary64_200 hang-0p-tan_binary64_199 tan-+PI/2_binary64_198 tan-+PI_binary64_197 tan-PI_binary64_196 tan-PI/3_binary64_195 tan-PI/4_binary64_194 tan-PI/6_binary64_193 cos-+PI/2_binary64_192 cos-+PI_binary64_191 cos-PI_binary64_190 cos-PI/2_binary64_189 cos-PI/3_binary64_188 cos-PI/4_binary64_187 cos-PI/6_binary64_186 sin-+PI/2_binary64_185 sin-+PI_binary64_184 sin-PI_binary64_183 sin-PI/2_binary64_182 sin-PI/3_binary64_181 sin-PI/4_binary64_180 sin-PI/6_binary64_179 sub-1-sin_binary64_178 sub-1-cos_binary64_177 -1-add-sin_binary64_176 -1-add-cos_binary64_175 1-sub-sin_binary64_174 1-sub-cos_binary64_173 cos-sin-sum_binary64_172 log-E_binary64_168 pow-base-0_binary64_162 unpow1/3_binary64_145 pow-base-1_binary64_138 unpow0_binary64_137 unpow1_binary64_136 unpow-1_binary64_135 exp-lft-cube_binary64_134 exp-cbrt_binary64_132 div-exp_binary64_129 rec-exp_binary64_128 exp-diff_binary64_126 exp-neg_binary64_125 e-exp-1_binary64_123 exp-0_binary64_120 cube-neg_binary64_105 rem-3cbrt-rft_binary64_104 rem-3cbrt-lft_binary64_103 rem-cbrt-cube_binary64_102 rem-cube-cbrt_binary64_101 sqr-abs_binary64_93 sqr-neg_binary64_92 rem-square-sqrt_binary64_90 div-sub_binary64_83 mul-1-neg_binary64_70 remove-double-neg_binary64_66 sub0-neg_binary64_65 --rgt-identity_binary64_64 +-rgt-identity_binary64_63 +-lft-identity_binary64_62 mul0-rgt_binary64_61 mul0-lft_binary64_60 div0_binary64_59 *-inverses_binary64_58 +-inverses_binary64_57 lft-mult-inverse_binary64_56 rgt-mult-inverse_binary64_55 remove-double-div_binary64_54 difference-of-sqr--1_binary64_49 difference-of-sqr-1_binary64_48 difference-of-squares_binary64_47 cancel-sign-sub-inv_binary64_44 cancel-sign-sub_binary64_43 distribute-neg-frac_binary64_42 distribute-frac-neg_binary64_41 distribute-neg-out_binary64_40 distribute-neg-in_binary64_39 distribute-rgt-neg-out_binary64_38 distribute-lft-neg-out_binary64_37 distribute-rgt-neg-in_binary64_36 distribute-lft-neg-in_binary64_35 distribute-rgt-out--_binary64_32 distribute-lft-out--_binary64_30 associate--r-_binary64_17 associate--l-_binary64_16 associate--l+_binary64_15 associate--r+_binary64_14 associate-+l-_binary64_13 associate-+r-_binary64_12
Counts
109 → 89
Iterations

Useful iterations: 4 (0.0ms)

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

prune116.0ms (0.4%)

Pruning

14 alts after pruning (14 fresh and 0 done)

PrunedKeptTotal
New85489
Fresh31013
Picked101
Done000
Total8914103
Error
4.8b
Counts
103 → 14
Compiler

Compiled 2945 to 143 computations (95.1% saved)

regimes4.6s (14.9%)

Accuracy

Total 0.4b remaining (9.7%)

Threshold costs 0.4b (9.7%)

Compiler

Compiled 58187 to 32703 computations (43.8% saved)

bsearch0.0ms (0%)

simplify48.0ms (0.2%)

Algorithm
egg-herbie
Rules
*-commutative_binary64_9
+-commutative_binary64_8
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_338 if-if-and_binary64_337 if-if-or-not_binary64_336 if-if-or_binary64_335 if-not_binary64_334 if-same_binary64_333 if-false_binary64_332 if-true_binary64_331 tan-0_binary64_207 cos-0_binary64_206 sin-0_binary64_205 unpow1_binary64_136 e-exp-1_binary64_123 1-exp_binary64_122 exp-1-e_binary64_121 exp-0_binary64_120 sqr-abs_binary64_93 sqr-neg_binary64_92 neg-mul-1_binary64_74 neg-sub0_binary64_73 unsub-neg_binary64_72 sub-neg_binary64_71 mul-1-neg_binary64_70 /-rgt-identity_binary64_69 *-rgt-identity_binary64_68 *-lft-identity_binary64_67 remove-double-neg_binary64_66 sub0-neg_binary64_65 --rgt-identity_binary64_64 +-rgt-identity_binary64_63 +-lft-identity_binary64_62 cancel-sign-sub-inv_binary64_44 cancel-sign-sub_binary64_43 distribute-neg-frac_binary64_42 distribute-frac-neg_binary64_41 distribute-neg-out_binary64_40 distribute-neg-in_binary64_39 distribute-rgt-neg-out_binary64_38 distribute-lft-neg-out_binary64_37 distribute-rgt-neg-in_binary64_36 distribute-lft-neg-in_binary64_35
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02453
13353
23353
Remove

(sort phi1 phi2)

Compiler

Compiled 192 to 138 computations (28.1% saved)

end0.0ms (0%)

sample10.6s (34.1%)

Algorithm
intervals
Results
4.6s5502×body1024valid
747.0ms1376×body512valid
570.0ms304×body2048valid
173.0ms523×body256valid
57.0ms295×body128valid
Compiler

Compiled 5401 to 3045 computations (43.6% saved)

Profiling

Loading profile data...