Details

Time bar (total: 1.6min)

analyze772.0ms (0.8%)

Algorithm
search
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
0%99.9%0.1%5
0%99.9%0.1%6
0%99.9%0.1%7
0%74.9%25.1%8
0%74.9%25.1%9
9.4%65.5%25.1%10
9.4%53%37.6%11
14%48.4%37.6%12
16.4%46%37.6%13
16.4%39.8%43.8%14
Compiler

Compiled 28 to 21 computations (25% saved)

sample62.0ms (0.1%)

Algorithm
intervals
Results
14.0ms177×body128valid
9.0ms36×body1024valid
8.0ms33×body1024nan
5.0ms24×body512valid
3.0ms19×body512nan
3.0ms50×body128nan
2.0ms17×body256valid
1.0msbody2048valid
1.0msbody256nan
Compiler

Compiled 55 to 44 computations (20% saved)

simplify354.0ms (0.4%)

Algorithm
egg-herbie
Rules
587×div-sub_binary64_83
436×distribute-rgt-neg-in_binary64_36
377×times-frac_binary64_84
325×distribute-lft-neg-in_binary64_35
254×distribute-neg-in_binary64_39
245×associate-/l*_binary64_23
211×associate-/r*_binary64_22
205×distribute-neg-frac_binary64_42
197×sub-neg_binary64_71
179×distribute-rgt-in_binary64_28
172×exp-prod_binary64_130
154×associate--l+_binary64_15
142×distribute-lft-in_binary64_27 associate-*r*_binary64_18
139×associate-*l*_binary64_19
122×associate-/l/_binary64_25
117×cancel-sign-sub-inv_binary64_44
102×neg-mul-1_binary64_74
95×distribute-frac-neg_binary64_41 distribute-lft-neg-out_binary64_37
92×associate-+l+_binary64_11 associate-+r+_binary64_10
91×neg-sub0_binary64_73 unsub-neg_binary64_72
86×distribute-rgt1-in_binary64_34
78×*-commutative_binary64_9
60×associate--r-_binary64_17
45×associate-/r/_binary64_24
42×*-rgt-identity_binary64_68 associate-*r/_binary64_20
39×distribute-rgt-neg-out_binary64_38
37×associate-*l/_binary64_21
33×*-lft-identity_binary64_67 associate--r+_binary64_14 +-commutative_binary64_8
32×distribute-rgt-out_binary64_31
29×associate--l-_binary64_16
23×+-rgt-identity_binary64_63
22×/-rgt-identity_binary64_69 +-lft-identity_binary64_62
21×associate-+l-_binary64_13
20×swap-sqr_binary64_45
19×mul0-lft_binary64_60 associate-+r-_binary64_12
18×mul0-rgt_binary64_61
16×cancel-sign-sub_binary64_43
14×sub0-neg_binary64_65 remove-double-div_binary64_54
11×remove-double-neg_binary64_66
distribute-lft1-in_binary64_33 distribute-rgt-out--_binary64_32
--rgt-identity_binary64_64 div0_binary64_59
pow-plus_binary64_141 div-exp_binary64_129 exp-sum_binary64_124
prod-exp_binary64_127 exp-diff_binary64_126 cube-unmult_binary64_115 *-inverses_binary64_58 pow-sqr_binary64_51 count-2_binary64_26
rec-exp_binary64_128 unswap-sqr_binary64_46 distribute-lft-out--_binary64_30 distribute-lft-out_binary64_29
exp-lft-sqr_binary64_133 exp-sqrt_binary64_131 1-exp_binary64_122 exp-1-e_binary64_121 rem-sqrt-square_binary64_91 sqr-pow_binary64_50
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 log-prod_binary64_164 pow-base-0_binary64_162 unpow1/3_binary64_145 unpow3_binary64_144 unpow2_binary64_143 unpow1/2_binary64_142 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-cbrt_binary64_132 exp-neg_binary64_125 e-exp-1_binary64_123 exp-0_binary64_120 rem-log-exp_binary64_119 rem-exp-log_binary64_118 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-square-sqrt_binary64_90 mul-1-neg_binary64_70 +-inverses_binary64_57 lft-mult-inverse_binary64_56 rgt-mult-inverse_binary64_55 difference-of-sqr--1_binary64_49 difference-of-sqr-1_binary64_48 difference-of-squares_binary64_47 distribute-neg-out_binary64_40
Counts
1 → 4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01941
14541
29941
319441
441441
589541
6291341

prune17.0ms (0%)

Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New134
Fresh011
Picked000
Done000
Total145
Error
42.3b
Counts
5 → 4
Compiler

Compiled 216 to 145 computations (32.9% saved)

localize17.0ms (0%)

Local error

Found 4 expressions with local error:

0.0b
(/.f64 t (/.f64 (sqrt.f64 (-.f64 (*.f64 (/.f64 (+.f64 x 1) (+.f64 x -1)) (+.f64 (*.f64 l l) (*.f64 2 (*.f64 t t)))) (*.f64 l l))) (sqrt.f64 2)))
0.3b
(/.f64 (sqrt.f64 (-.f64 (*.f64 (/.f64 (+.f64 x 1) (+.f64 x -1)) (+.f64 (*.f64 l l) (*.f64 2 (*.f64 t t)))) (*.f64 l l))) (sqrt.f64 2))
9.7b
(-.f64 (*.f64 (/.f64 (+.f64 x 1) (+.f64 x -1)) (+.f64 (*.f64 l l) (*.f64 2 (*.f64 t t)))) (*.f64 l l))
21.8b
(sqrt.f64 (-.f64 (*.f64 (/.f64 (+.f64 x 1) (+.f64 x -1)) (+.f64 (*.f64 l l) (*.f64 2 (*.f64 t t)))) (*.f64 l l)))

rewrite1.1s (1.1%)

Algorithm
rewrite-expression-head
Error
42.2b
Rules
300×times-frac_binary64_84
189×sqrt-prod_binary64_94
175×add-sqr-sqrt_binary64_100
174×add-cube-cbrt_binary64_113 *-un-lft-identity_binary64_78
46×associate-/r*_binary64_22
11×add-exp-log_binary64_116 add-cbrt-cube_binary64_114
associate-/l*_binary64_23
add-log-exp_binary64_117 div-inv_binary64_75
pow1_binary64_139
sqrt-div_binary64_95 div-exp_binary64_129 cbrt-undiv_binary64_112
flip3--_binary64_82 flip--_binary64_53
associate--l+_binary64_15 frac-2neg_binary64_89 clear-num_binary64_77 associate-/l/_binary64_25
pow1/2_binary64_158 sqrt-pow1_binary64_96 rem-sqrt-square_binary64_91 diff-log_binary64_170 sub-neg_binary64_71 cancel-sign-sub-inv_binary64_44 distribute-rgt-in_binary64_28 distribute-lft-in_binary64_27 sqrt-undiv_binary64_99 associate-/r/_binary64_24
Counts
4 → 270
Calls

4 calls:

25.0ms
(/.f64 t (/.f64 (sqrt.f64 (-.f64 (*.f64 (/.f64 (+.f64 x 1) (+.f64 x -1)) (+.f64 (*.f64 l l) (*.f64 2 (*.f64 t t)))) (*.f64 l l))) (sqrt.f64 2)))
17.0ms
(/.f64 (sqrt.f64 (-.f64 (*.f64 (/.f64 (+.f64 x 1) (+.f64 x -1)) (+.f64 (*.f64 l l) (*.f64 2 (*.f64 t t)))) (*.f64 l l))) (sqrt.f64 2))
14.0ms
(sqrt.f64 (-.f64 (*.f64 (/.f64 (+.f64 x 1) (+.f64 x -1)) (+.f64 (*.f64 l l) (*.f64 2 (*.f64 t t)))) (*.f64 l l)))
14.0ms
(-.f64 (*.f64 (/.f64 (+.f64 x 1) (+.f64 x -1)) (+.f64 (*.f64 l l) (*.f64 2 (*.f64 t t)))) (*.f64 l l))
Compiler

Compiled 15062 to 8778 computations (41.7% saved)

series9.2s (9.8%)

Error
6.1b
Counts
4 → 76
Calls

4 calls:

3.3s
(/.f64 (sqrt.f64 (-.f64 (*.f64 (/.f64 (+.f64 x 1) (+.f64 x -1)) (+.f64 (*.f64 l l) (*.f64 2 (*.f64 t t)))) (*.f64 l l))) (sqrt.f64 2))
2.7s
(/.f64 t (/.f64 (sqrt.f64 (-.f64 (*.f64 (/.f64 (+.f64 x 1) (+.f64 x -1)) (+.f64 (*.f64 l l) (*.f64 2 (*.f64 t t)))) (*.f64 l l))) (sqrt.f64 2)))
1.9s
(sqrt.f64 (-.f64 (*.f64 (/.f64 (+.f64 x 1) (+.f64 x -1)) (+.f64 (*.f64 l l) (*.f64 2 (*.f64 t t)))) (*.f64 l l)))
1.1s
(-.f64 (*.f64 (/.f64 (+.f64 x 1) (+.f64 x -1)) (+.f64 (*.f64 l l) (*.f64 2 (*.f64 t t)))) (*.f64 l l))
Compiler

Compiled 15785 to 13078 computations (17.1% saved)

simplify1.5s (1.6%)

Algorithm
egg-herbie
Rules
676×associate-/l*_binary64_23
581×times-frac_binary64_84
323×associate-/l/_binary64_25
309×associate-/r/_binary64_24
157×*-commutative_binary64_9
89×cancel-sign-sub-inv_binary64_44
82×+-commutative_binary64_8
70×sub-neg_binary64_71
60×associate-/r*_binary64_22 associate-*r*_binary64_18
56×distribute-rgt-in_binary64_28
50×distribute-rgt-neg-in_binary64_36
49×unswap-sqr_binary64_46 distribute-lft-in_binary64_27
46×distribute-neg-in_binary64_39
45×associate-+r+_binary64_10
44×associate-*l/_binary64_21
43×neg-sub0_binary64_73
38×distribute-lft-neg-in_binary64_35
37×neg-mul-1_binary64_74 distribute-rgt-out_binary64_31
34×sqr-pow_binary64_50
32×associate-*r/_binary64_20
13×associate--l+_binary64_15
12×pow-sqr_binary64_51
10×unpow3_binary64_144 cube-mult_binary64_108 mul-1-neg_binary64_70 /-rgt-identity_binary64_69 distribute-neg-frac_binary64_42 associate-*l*_binary64_19 associate--r+_binary64_14
distribute-lft-out_binary64_29
cube-prod_binary64_106 swap-sqr_binary64_45
exp-prod_binary64_130 rem-sqrt-square_binary64_91 distribute-lft-neg-out_binary64_37
unpow2_binary64_143 pow-plus_binary64_141 cube-unmult_binary64_115 div-sub_binary64_83
log-div_binary64_165 log-prod_binary64_164 unsub-neg_binary64_72 remove-double-div_binary64_54 distribute-rgt-out--_binary64_32
exp-sum_binary64_124 cube-div_binary64_107 *-rgt-identity_binary64_68 difference-of-squares_binary64_47 distribute-lft-out--_binary64_30
div-exp_binary64_129 rem-square-sqrt_binary64_90 *-inverses_binary64_58
rec-exp_binary64_128 prod-exp_binary64_127 1-exp_binary64_122 associate--r-_binary64_17
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 pow-base-0_binary64_162 unpow1/3_binary64_145 unpow1/2_binary64_142 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-diff_binary64_126 exp-neg_binary64_125 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-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 *-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 mul0-rgt_binary64_61 mul0-lft_binary64_60 div0_binary64_59 +-inverses_binary64_57 lft-mult-inverse_binary64_56 rgt-mult-inverse_binary64_55 difference-of-sqr--1_binary64_49 difference-of-sqr-1_binary64_48 cancel-sign-sub_binary64_43 distribute-frac-neg_binary64_41 distribute-neg-out_binary64_40 distribute-rgt-neg-out_binary64_38 distribute-rgt1-in_binary64_34 distribute-lft1-in_binary64_33 count-2_binary64_26 associate--l-_binary64_16 associate-+l-_binary64_13 associate-+r-_binary64_12 associate-+l+_binary64_11
Counts
346 → 662
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
069024045
1182923140

prune3.4s (3.6%)

Pruning

12 alts after pruning (12 fresh and 0 done)

PrunedKeptTotal
New65012662
Fresh303
Picked101
Done000
Total65412666
Error
5.3b
Counts
666 → 12
Compiler

Compiled 38542 to 22924 computations (40.5% saved)

localize30.0ms (0%)

Local error

Found 4 expressions with local error:

3.7b
(/.f64 x (*.f64 l l))
3.8b
(/.f64 (*.f64 x x) l)
4.0b
(+.f64 (*.f64 4 (+.f64 (/.f64 t (/.f64 x t)) (*.f64 (/.f64 t x) (/.f64 t x)))) (*.f64 2 (+.f64 (*.f64 t t) (/.f64 l (/.f64 (*.f64 x x) l)))))
28.5b
(sqrt.f64 (+.f64 (/.f64 2 (/.f64 x (*.f64 l l))) (+.f64 (*.f64 4 (+.f64 (/.f64 t (/.f64 x t)) (*.f64 (/.f64 t x) (/.f64 t x)))) (*.f64 2 (+.f64 (*.f64 t t) (/.f64 l (/.f64 (*.f64 x x) l)))))))

rewrite332.0ms (0.4%)

Algorithm
rewrite-expression-head
Error
4.0b
Rules
44×associate-*r/_binary64_20 frac-add_binary64_86
17×flip3-+_binary64_81 flip-+_binary64_52
14×add-exp-log_binary64_116 add-cbrt-cube_binary64_114 sqrt-div_binary64_95
11×*-un-lft-identity_binary64_78
10×add-sqr-sqrt_binary64_100
add-cube-cbrt_binary64_113
add-log-exp_binary64_117 times-frac_binary64_84
pow1_binary64_139
frac-times_binary64_88 associate-*l/_binary64_21 sqrt-prod_binary64_94 div-exp_binary64_129 cbrt-undiv_binary64_112 associate-/l*_binary64_23 associate-/r*_binary64_22
distribute-rgt-in_binary64_28 associate-+l+_binary64_11 distribute-lft-in_binary64_27 associate-+r+_binary64_10 prod-exp_binary64_127 cbrt-unprod_binary64_111 frac-2neg_binary64_89 clear-num_binary64_77 div-inv_binary64_75
pow1/2_binary64_158 sqrt-pow1_binary64_96 distribute-lft-out_binary64_29 rem-sqrt-square_binary64_91 sum-log_binary64_169 +-commutative_binary64_8
Counts
4 → 95
Calls

4 calls:

30.0ms
(sqrt.f64 (+.f64 (/.f64 2 (/.f64 x (*.f64 l l))) (+.f64 (*.f64 4 (+.f64 (/.f64 t (/.f64 x t)) (*.f64 (/.f64 t x) (/.f64 t x)))) (*.f64 2 (+.f64 (*.f64 t t) (/.f64 l (/.f64 (*.f64 x x) l)))))))
19.0ms
(+.f64 (*.f64 4 (+.f64 (/.f64 t (/.f64 x t)) (*.f64 (/.f64 t x) (/.f64 t x)))) (*.f64 2 (+.f64 (*.f64 t t) (/.f64 l (/.f64 (*.f64 x x) l)))))
5.0ms
(/.f64 (*.f64 x x) l)
4.0ms
(/.f64 x (*.f64 l l))
Compiler

Compiled 7719 to 1916 computations (75.2% saved)

series3.4s (3.6%)

Error
0.4b
Counts
4 → 57
Calls

4 calls:

2.0s
(sqrt.f64 (+.f64 (/.f64 2 (/.f64 x (*.f64 l l))) (+.f64 (*.f64 4 (+.f64 (/.f64 t (/.f64 x t)) (*.f64 (/.f64 t x) (/.f64 t x)))) (*.f64 2 (+.f64 (*.f64 t t) (/.f64 l (/.f64 (*.f64 x x) l)))))))
974.0ms
(+.f64 (*.f64 4 (+.f64 (/.f64 t (/.f64 x t)) (*.f64 (/.f64 t x) (/.f64 t x)))) (*.f64 2 (+.f64 (*.f64 t t) (/.f64 l (/.f64 (*.f64 x x) l)))))
123.0ms
(/.f64 x (*.f64 l l))
115.0ms
(/.f64 (*.f64 x x) l)
Compiler

Compiled 9948 to 7875 computations (20.8% saved)

simplify1.3s (1.4%)

Algorithm
egg-herbie
Rules
332×distribute-rgt-in_binary64_28
324×distribute-lft-in_binary64_27
304×associate-*l/_binary64_21
281×times-frac_binary64_84
248×associate-/r*_binary64_22
191×associate-/l*_binary64_23
143×*-commutative_binary64_9
74×associate-/r/_binary64_24
72×+-commutative_binary64_8
64×cancel-sign-sub-inv_binary64_44
60×associate-*r*_binary64_18
52×sub-neg_binary64_71
50×sqr-pow_binary64_50
45×distribute-rgt-neg-in_binary64_36
41×unswap-sqr_binary64_46
34×neg-sub0_binary64_73
33×distribute-neg-in_binary64_39 distribute-lft-neg-in_binary64_35 associate-/l/_binary64_25 associate-*l*_binary64_19
32×neg-mul-1_binary64_74
30×associate-*r/_binary64_20
29×distribute-rgt-out_binary64_31
24×pow-sqr_binary64_51 associate-+r+_binary64_10
22×unpow3_binary64_144
19×cube-mult_binary64_108
14×distribute-neg-frac_binary64_42
12×cube-div_binary64_107 cube-prod_binary64_106
10×distribute-lft-neg-out_binary64_37
swap-sqr_binary64_45
distribute-rgt-out--_binary64_32
log-div_binary64_165 associate--r+_binary64_14
pow-plus_binary64_141 associate--l+_binary64_15
log-prod_binary64_164 exp-prod_binary64_130 cube-unmult_binary64_115 mul-1-neg_binary64_70 difference-of-squares_binary64_47 distribute-lft-out_binary64_29 associate-+r-_binary64_12
unpow2_binary64_143 exp-sum_binary64_124 *-rgt-identity_binary64_68
rem-sqrt-square_binary64_91 rem-square-sqrt_binary64_90 unsub-neg_binary64_72 /-rgt-identity_binary64_69 count-2_binary64_26
exp-lft-sqr_binary64_133 prod-exp_binary64_127 1-exp_binary64_122 *-inverses_binary64_58
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 pow-base-0_binary64_162 unpow1/3_binary64_145 unpow1/2_binary64_142 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-cbrt_binary64_132 exp-sqrt_binary64_131 div-exp_binary64_129 rec-exp_binary64_128 exp-diff_binary64_126 exp-neg_binary64_125 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-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 div-sub_binary64_83 *-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 mul0-rgt_binary64_61 mul0-lft_binary64_60 div0_binary64_59 +-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-frac-neg_binary64_41 distribute-neg-out_binary64_40 distribute-rgt-neg-out_binary64_38 distribute-rgt1-in_binary64_34 distribute-lft1-in_binary64_33 distribute-lft-out--_binary64_30 associate--r-_binary64_17 associate--l-_binary64_16 associate-+l-_binary64_13 associate-+l+_binary64_11
Counts
152 → 437
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
046610122
114398827

prune1.8s (2%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New4316437
Fresh6511
Picked101
Done000
Total43811449
Error
0.1b
Counts
449 → 11
Compiler

Compiled 42517 to 12499 computations (70.6% saved)

localize28.0ms (0%)

Local error

Found 4 expressions with local error:

3.3b
(+.f64 (/.f64 t (/.f64 x t)) (*.f64 (/.f64 t x) (/.f64 t x)))
3.8b
(/.f64 (*.f64 x x) l)
4.0b
(+.f64 (*.f64 4 (+.f64 (/.f64 t (/.f64 x t)) (*.f64 (/.f64 t x) (/.f64 t x)))) (*.f64 2 (+.f64 (*.f64 t t) (/.f64 l (/.f64 (*.f64 x x) l)))))
28.5b
(sqrt.f64 (+.f64 (/.f64 2 (/.f64 1 (/.f64 l (/.f64 x l)))) (+.f64 (*.f64 4 (+.f64 (/.f64 t (/.f64 x t)) (*.f64 (/.f64 t x) (/.f64 t x)))) (*.f64 2 (+.f64 (*.f64 t t) (/.f64 l (/.f64 (*.f64 x x) l)))))))

rewrite461.0ms (0.5%)

Algorithm
rewrite-expression-head
Error
0.1b
Rules
47×frac-add_binary64_86
45×associate-*r/_binary64_20
18×flip3-+_binary64_81 flip-+_binary64_52
14×sqrt-div_binary64_95
add-exp-log_binary64_116 add-cbrt-cube_binary64_114 *-un-lft-identity_binary64_78
add-log-exp_binary64_117 add-sqr-sqrt_binary64_100
add-cube-cbrt_binary64_113
pow1_binary64_139 frac-times_binary64_88 associate-*l/_binary64_21
sqrt-prod_binary64_94
times-frac_binary64_84 associate-/r*_binary64_22
distribute-lft-out_binary64_29 sum-log_binary64_169 distribute-rgt-in_binary64_28 associate-+l+_binary64_11 distribute-lft-in_binary64_27 associate-+r+_binary64_10 +-commutative_binary64_8 div-exp_binary64_129 cbrt-undiv_binary64_112
pow1/2_binary64_158 sqrt-pow1_binary64_96 rem-sqrt-square_binary64_91 prod-exp_binary64_127 cbrt-unprod_binary64_111 frac-2neg_binary64_89 clear-num_binary64_77 div-inv_binary64_75 associate-/l*_binary64_23 associate-/r/_binary64_24
Counts
4 → 89
Calls

4 calls:

142.0ms
(sqrt.f64 (+.f64 (/.f64 2 (/.f64 1 (/.f64 l (/.f64 x l)))) (+.f64 (*.f64 4 (+.f64 (/.f64 t (/.f64 x t)) (*.f64 (/.f64 t x) (/.f64 t x)))) (*.f64 2 (+.f64 (*.f64 t t) (/.f64 l (/.f64 (*.f64 x x) l)))))))
25.0ms
(+.f64 (*.f64 4 (+.f64 (/.f64 t (/.f64 x t)) (*.f64 (/.f64 t x) (/.f64 t x)))) (*.f64 2 (+.f64 (*.f64 t t) (/.f64 l (/.f64 (*.f64 x x) l)))))
15.0ms
(+.f64 (/.f64 t (/.f64 x t)) (*.f64 (/.f64 t x) (/.f64 t x)))
5.0ms
(/.f64 (*.f64 x x) l)
Compiler

Compiled 7757 to 2047 computations (73.6% saved)

series3.4s (3.6%)

Error
0.1b
Counts
4 → 60
Calls

4 calls:

1.9s
(sqrt.f64 (+.f64 (/.f64 2 (/.f64 1 (/.f64 l (/.f64 x l)))) (+.f64 (*.f64 4 (+.f64 (/.f64 t (/.f64 x t)) (*.f64 (/.f64 t x) (/.f64 t x)))) (*.f64 2 (+.f64 (*.f64 t t) (/.f64 l (/.f64 (*.f64 x x) l)))))))
992.0ms
(+.f64 (*.f64 4 (+.f64 (/.f64 t (/.f64 x t)) (*.f64 (/.f64 t x) (/.f64 t x)))) (*.f64 2 (+.f64 (*.f64 t t) (/.f64 l (/.f64 (*.f64 x x) l)))))
232.0ms
(+.f64 (/.f64 t (/.f64 x t)) (*.f64 (/.f64 t x) (/.f64 t x)))
110.0ms
(/.f64 (*.f64 x x) l)
Compiler

Compiled 10348 to 8272 computations (20.1% saved)

simplify1.5s (1.6%)

Algorithm
egg-herbie
Rules
532×associate-*l*_binary64_19
348×distribute-rgt-in_binary64_28
336×distribute-lft-in_binary64_27
238×associate-*l/_binary64_21
215×times-frac_binary64_84
210×associate-*r/_binary64_20
199×associate-/r*_binary64_22
163×associate-/l*_binary64_23
145×*-commutative_binary64_9
86×associate-/r/_binary64_24
76×+-commutative_binary64_8
62×cancel-sign-sub-inv_binary64_44
57×associate-*r*_binary64_18
51×sqr-pow_binary64_50
48×sub-neg_binary64_71
42×distribute-rgt-neg-in_binary64_36
36×unswap-sqr_binary64_46
32×neg-sub0_binary64_73 distribute-neg-in_binary64_39
30×neg-mul-1_binary64_74 distribute-lft-neg-in_binary64_35
27×distribute-rgt-out_binary64_31
24×associate-/l/_binary64_25 associate-+r+_binary64_10
22×unpow3_binary64_144 pow-sqr_binary64_51
20×*-lft-identity_binary64_67
19×cube-mult_binary64_108
14×distribute-neg-frac_binary64_42
13×cube-prod_binary64_106
11×cube-div_binary64_107
10×distribute-lft-neg-out_binary64_37
swap-sqr_binary64_45
distribute-rgt-out--_binary64_32
exp-prod_binary64_130
associate--l+_binary64_15 associate--r+_binary64_14
log-div_binary64_165 pow-plus_binary64_141
mul-1-neg_binary64_70 difference-of-squares_binary64_47 distribute-lft-out_binary64_29 associate-+r-_binary64_12
unpow2_binary64_143 exp-sum_binary64_124 cube-unmult_binary64_115 /-rgt-identity_binary64_69 *-rgt-identity_binary64_68
log-prod_binary64_164 prod-exp_binary64_127 rem-sqrt-square_binary64_91 rem-square-sqrt_binary64_90 unsub-neg_binary64_72
exp-lft-sqr_binary64_133 1-exp_binary64_122 *-inverses_binary64_58 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 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 pow-base-0_binary64_162 unpow1/3_binary64_145 unpow1/2_binary64_142 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-cbrt_binary64_132 exp-sqrt_binary64_131 div-exp_binary64_129 rec-exp_binary64_128 exp-diff_binary64_126 exp-neg_binary64_125 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-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 div-sub_binary64_83 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_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-frac-neg_binary64_41 distribute-neg-out_binary64_40 distribute-rgt-neg-out_binary64_38 distribute-rgt1-in_binary64_34 distribute-lft1-in_binary64_33 distribute-lft-out--_binary64_30 associate--r-_binary64_17 associate--l-_binary64_16 associate-+l-_binary64_13 associate-+l+_binary64_11
Counts
149 → 482
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
045210558
114109026

prune2.1s (2.2%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New4811482
Fresh01010
Picked101
Done000
Total48211493
Error
0.1b
Counts
493 → 11
Compiler

Compiled 46349 to 14378 computations (69% saved)

localize31.0ms (0%)

Local error

Found 4 expressions with local error:

4.0b
(+.f64 (*.f64 4 (*.f64 (/.f64 t x) (+.f64 t (/.f64 t x)))) (*.f64 2 (+.f64 (*.f64 t t) (*.f64 (/.f64 l x) (/.f64 l x)))))
28.5b
(sqrt.f64 (+.f64 (/.f64 2 (/.f64 1 (/.f64 l (/.f64 x l)))) (*.f64 (sqrt.f64 (+.f64 (*.f64 4 (*.f64 (/.f64 t x) (+.f64 t (/.f64 t x)))) (*.f64 2 (+.f64 (*.f64 t t) (*.f64 (/.f64 l x) (/.f64 l x)))))) (sqrt.f64 (+.f64 (*.f64 4 (*.f64 (/.f64 t x) (+.f64 t (/.f64 t x)))) (*.f64 2 (+.f64 (*.f64 t t) (*.f64 (/.f64 l x) (/.f64 l x)))))))))
29.3b
(sqrt.f64 (+.f64 (*.f64 4 (*.f64 (/.f64 t x) (+.f64 t (/.f64 t x)))) (*.f64 2 (+.f64 (*.f64 t t) (*.f64 (/.f64 l x) (/.f64 l x))))))
29.3b
(sqrt.f64 (+.f64 (*.f64 4 (*.f64 (/.f64 t x) (+.f64 t (/.f64 t x)))) (*.f64 2 (+.f64 (*.f64 t t) (*.f64 (/.f64 l x) (/.f64 l x))))))

rewrite2.3s (2.5%)

Algorithm
rewrite-expression-head
Error
0.1b
Rules
708×associate-*r/_binary64_20
506×sqrt-div_binary64_95
458×frac-add_binary64_86
291×flip3-+_binary64_81 flip-+_binary64_52
260×frac-times_binary64_88
70×associate-*l/_binary64_21
10×add-sqr-sqrt_binary64_100
sqrt-prod_binary64_94
pow1_binary64_139 add-cube-cbrt_binary64_113 *-un-lft-identity_binary64_78
add-log-exp_binary64_117
distribute-rgt-in_binary64_28 distribute-lft-in_binary64_27
add-exp-log_binary64_116 add-cbrt-cube_binary64_114 associate-+l+_binary64_11
pow1/2_binary64_158 sqrt-pow1_binary64_96 rem-sqrt-square_binary64_91
associate-+r+_binary64_10
sum-log_binary64_169 +-commutative_binary64_8
Counts
4 → 260
Calls

4 calls:

130.0ms
(sqrt.f64 (+.f64 (/.f64 2 (/.f64 1 (/.f64 l (/.f64 x l)))) (*.f64 (sqrt.f64 (+.f64 (*.f64 4 (*.f64 (/.f64 t x) (+.f64 t (/.f64 t x)))) (*.f64 2 (+.f64 (*.f64 t t) (*.f64 (/.f64 l x) (/.f64 l x)))))) (sqrt.f64 (+.f64 (*.f64 4 (*.f64 (/.f64 t x) (+.f64 t (/.f64 t x)))) (*.f64 2 (+.f64 (*.f64 t t) (*.f64 (/.f64 l x) (/.f64 l x)))))))))
16.0ms
(sqrt.f64 (+.f64 (*.f64 4 (*.f64 (/.f64 t x) (+.f64 t (/.f64 t x)))) (*.f64 2 (+.f64 (*.f64 t t) (*.f64 (/.f64 l x) (/.f64 l x))))))
15.0ms
(+.f64 (*.f64 4 (*.f64 (/.f64 t x) (+.f64 t (/.f64 t x)))) (*.f64 2 (+.f64 (*.f64 t t) (*.f64 (/.f64 l x) (/.f64 l x)))))
14.0ms
(sqrt.f64 (+.f64 (*.f64 4 (*.f64 (/.f64 t x) (+.f64 t (/.f64 t x)))) (*.f64 2 (+.f64 (*.f64 t t) (*.f64 (/.f64 l x) (/.f64 l x))))))
Compiler

Compiled 60585 to 11388 computations (81.2% saved)

series5.6s (6%)

Error
0.1b
Counts
4 → 89
Calls

4 calls:

2.0s
(sqrt.f64 (+.f64 (/.f64 2 (/.f64 1 (/.f64 l (/.f64 x l)))) (*.f64 (sqrt.f64 (+.f64 (*.f64 4 (*.f64 (/.f64 t x) (+.f64 t (/.f64 t x)))) (*.f64 2 (+.f64 (*.f64 t t) (*.f64 (/.f64 l x) (/.f64 l x)))))) (sqrt.f64 (+.f64 (*.f64 4 (*.f64 (/.f64 t x) (+.f64 t (/.f64 t x)))) (*.f64 2 (+.f64 (*.f64 t t) (*.f64 (/.f64 l x) (/.f64 l x)))))))))
1.1s
(sqrt.f64 (+.f64 (*.f64 4 (*.f64 (/.f64 t x) (+.f64 t (/.f64 t x)))) (*.f64 2 (+.f64 (*.f64 t t) (*.f64 (/.f64 l x) (/.f64 l x))))))
1.1s
(sqrt.f64 (+.f64 (*.f64 4 (*.f64 (/.f64 t x) (+.f64 t (/.f64 t x)))) (*.f64 2 (+.f64 (*.f64 t t) (*.f64 (/.f64 l x) (/.f64 l x))))))
1.0s
(+.f64 (*.f64 4 (*.f64 (/.f64 t x) (+.f64 t (/.f64 t x)))) (*.f64 2 (+.f64 (*.f64 t t) (*.f64 (/.f64 l x) (/.f64 l x)))))
Compiler

Compiled 20824 to 15382 computations (26.1% saved)

simplify11.5s (12.2%)

Algorithm
egg-herbie
Rules
582×*-commutative_binary64_9
505×associate-*r*_binary64_18
462×times-frac_binary64_84
342×associate-*l/_binary64_21
310×distribute-rgt-in_binary64_28
180×*-lft-identity_binary64_67
170×+-commutative_binary64_8
78×cancel-sign-sub-inv_binary64_44
60×sub-neg_binary64_71
50×distribute-rgt-neg-in_binary64_36
49×sqr-pow_binary64_50
45×distribute-neg-in_binary64_39
38×unswap-sqr_binary64_46 associate-+r+_binary64_10
37×neg-sub0_binary64_73
35×distribute-lft-neg-in_binary64_35 associate-*r/_binary64_20
34×neg-mul-1_binary64_74
29×associate-/r*_binary64_22 associate-*l*_binary64_19
28×rem-sqrt-square_binary64_91
27×rem-square-sqrt_binary64_90
26×distribute-rgt-out_binary64_31
21×unpow3_binary64_144 pow-sqr_binary64_51
19×cube-mult_binary64_108 distribute-lft-in_binary64_27
15×distribute-neg-frac_binary64_42
14×cube-prod_binary64_106
13×distribute-lft-neg-out_binary64_37
10×difference-of-squares_binary64_47 associate--l+_binary64_15
swap-sqr_binary64_45 associate-/l*_binary64_23
associate--r+_binary64_14
cube-div_binary64_107 distribute-rgt-out--_binary64_32 distribute-lft-out_binary64_29
exp-prod_binary64_130 mul-1-neg_binary64_70
pow-plus_binary64_141
associate-+r-_binary64_12
unpow2_binary64_143 unsub-neg_binary64_72 *-rgt-identity_binary64_68 associate-/r/_binary64_24
exp-sum_binary64_124 cube-unmult_binary64_115
log-prod_binary64_164 exp-lft-sqr_binary64_133 prod-exp_binary64_127 1-exp_binary64_122 /-rgt-identity_binary64_69 *-inverses_binary64_58
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 unpow1/2_binary64_142 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-cbrt_binary64_132 exp-sqrt_binary64_131 div-exp_binary64_129 rec-exp_binary64_128 exp-diff_binary64_126 exp-neg_binary64_125 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-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 div-sub_binary64_83 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_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-frac-neg_binary64_41 distribute-neg-out_binary64_40 distribute-rgt-neg-out_binary64_38 distribute-rgt1-in_binary64_34 distribute-lft1-in_binary64_33 distribute-lft-out--_binary64_30 count-2_binary64_26 associate-/l/_binary64_25 associate--r-_binary64_17 associate--l-_binary64_16 associate-+l-_binary64_13 associate-+l+_binary64_11
Counts
349 → 1954
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0172175831
1342671028

prune34.0s (36%)

Pruning

11 alts after pruning (10 fresh and 1 done)

PrunedKeptTotal
New195401954
Fresh01010
Picked011
Done000
Total1954111965
Error
0.1b
Counts
1965 → 11
Compiler

Compiled 413648 to 112909 computations (72.7% saved)

regimes3.8s (4%)

Accuracy

Total 8.2b remaining (96.8%)

Threshold costs 0b (0%)

Compiler

Compiled 37831 to 26370 computations (30.3% saved)

bsearch645.0ms (0.7%)

Steps
ItersRangePoint
9
4.973685499511632e+141
1.4903751259109817e+148
3.1287133522825756e+147
9
1.0788408303126188e-158
2.3232334138425438e-153
1.094632978090295e-158
9
-1.3828430296055146e-283
-1.520458667321674e-291
-9.937225512484842e-284
10
-9.562079612089908e-147
-8.561739597349485e-164
-8.753971576230512e-164
10
-8.528064677675629e+63
-9.887425445614635e+53
-8.421989759483264e+63
Compiler

Compiled 1 to 3 computations (-200% saved)

simplify52.0ms (0.1%)

Algorithm
egg-herbie
Rules
45×*-commutative_binary64_9
43×neg-mul-1_binary64_74 neg-sub0_binary64_73
36×+-commutative_binary64_8
25×distribute-rgt-neg-in_binary64_36
24×distribute-lft-neg-in_binary64_35
20×sub-neg_binary64_71
19×distribute-rgt-neg-out_binary64_38 distribute-lft-neg-out_binary64_37
18×*-lft-identity_binary64_67
15×cancel-sign-sub-inv_binary64_44
10×unsub-neg_binary64_72
*-rgt-identity_binary64_68
distribute-neg-frac_binary64_42
distribute-neg-out_binary64_40 distribute-neg-in_binary64_39
1-exp_binary64_122 distribute-frac-neg_binary64_41
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 exp-1-e_binary64_121 exp-0_binary64_120 sqr-abs_binary64_93 sqr-neg_binary64_92 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 cancel-sign-sub_binary64_43
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0102433
1152433
2181433
3210433
4274433
5302433
6325433
7338433
8343433
9344433
Proof
(if real (<= f64 h0 -8421989759483263970076684814095184187729813550820714517742223360) (/ f64 h0 (neg f64 (* f64 (sqrt f64 (* f64 2 (+ f64 (/ f64 1 (- f64 h1 1)) (/ f64 h1 (- f64 h1 1))))) (/ f64 h0 (sqrt f64 2))))) (if real (<= f64 h0 -1418935208793367/16209045190941378744189093217543598246142368094697019140608036444104112544581672446873855659949624196438272994575393707743731058888327247296433104820757670652582741419537146576896) (/ f64 h0 (/ f64 (sqrt f64 (+ f64 (/ f64 2 (/ f64 1 (/ f64 h2 (/ f64 h1 h2)))) (* f64 (sqrt f64 (+ f64 (* f64 4 (+ f64 (/ f64 h0 (/ f64 h1 h0)) (* f64 (/ f64 h0 h1) (/ f64 h0 h1)))) (* f64 2 (+ f64 (* f64 h0 h0) (/ f64 h2 (/ f64 (* f64 h1 h1) h2)))))) (sqrt f64 (+ f64 (* f64 4 (* f64 (/ f64 h0 h1) (+ f64 h0 (/ f64 h0 h1)))) (* f64 2 (+ f64 (* f64 h0 h0) (* f64 (/ f64 h2 h1) (/ f64 h2 h1))))))))) (sqrt f64 2))) (if real (<= f64 h0 -8318611459514433/83711609936427134449095706957812641450109750914494813081542999091433675869135634569781123344976238916218333821683839595717745725444712034656129512302332615655738810740814304573602145352049774545921517048070675585809233916151552871555980812078727054020087472481926110684847108059786128022165669281792) (/ f64 h0 (/ f64 (- f64 (* f64 (sqrt f64 (+ f64 (/ f64 (/ f64 4 h1) h1) (+ f64 2 (/ f64 4 h1)))) (neg f64 h0)) (* f64 (sqrt f64 (/ f64 1 (+ f64 (/ f64 (/ f64 4 h1) h1) (+ f64 2 (/ f64 4 h1))))) (+ f64 (* f64 (/ f64 h2 h1) (/ f64 h2 h0)) (/ f64 (* f64 (/ f64 h2 h1) (/ f64 h2 h1)) h0)))) (sqrt f64 2))) (if real (<= f64 h0 2707360139367727/247330401473104534060502521019647190035131349101211839914063056092897225106531867170316401061243044989597671426016139339351365034306751209967546155101893167916606772148699136) (/ f64 h0 (+ f64 (* f64 2 (/ f64 h0 (* f64 h1 (pow f64 (sqrt f64 2) 2)))) (+ f64 h0 (/ f64 (pow f64 h2 2) (* f64 h0 (* f64 (pow f64 (sqrt f64 2) 2) h1)))))) (if real (<= f64 h0 3128713352282575632891597201951917857650555333022883311508264089411442103147952949029606472249465347430273717968561570905383429039086463098606845952) (/ f64 h0 (/ f64 (sqrt f64 (+ f64 (/ f64 2 (/ f64 1 (/ f64 h2 (/ f64 h1 h2)))) (* f64 (sqrt f64 (+ f64 (* f64 4 (+ f64 (/ f64 h0 (/ f64 h1 h0)) (* f64 (/ f64 h0 h1) (/ f64 h0 h1)))) (* f64 2 (+ f64 (* f64 h0 h0) (/ f64 h2 (/ f64 (* f64 h1 h1) h2)))))) (sqrt f64 (+ f64 (* f64 4 (* f64 (/ f64 h0 h1) (+ f64 h0 (/ f64 h0 h1)))) (* f64 2 (+ f64 (* f64 h0 h0) (* f64 (/ f64 h2 h1) (/ f64 h2 h1))))))))) (sqrt f64 2))) (/ f64 h0 (+ f64 (=> (* f64 1 (/ f64 h0 h1))) (+ f64 h0 (/ f64 (/ f64 h2 (/ f64 h0 h2)) (* f64 2 h1)))))))))) *-lft-identity_binary64_67 => (if real (<= f64 h0 -8421989759483263970076684814095184187729813550820714517742223360) (/ f64 h0 (=> (neg f64 (* f64 (sqrt f64 (* f64 2 (+ f64 (/ f64 1 (- f64 h1 1)) (/ f64 h1 (- f64 h1 1))))) (/ f64 h0 (sqrt f64 2)))))) (if real (<= f64 h0 -1418935208793367/16209045190941378744189093217543598246142368094697019140608036444104112544581672446873855659949624196438272994575393707743731058888327247296433104820757670652582741419537146576896) (/ f64 h0 (/ f64 (sqrt f64 (+ f64 (/ f64 2 (/ f64 1 (/ f64 h2 (/ f64 h1 h2)))) (* f64 (sqrt f64 (+ f64 (* f64 4 (+ f64 (/ f64 h0 (/ f64 h1 h0)) (* f64 (/ f64 h0 h1) (/ f64 h0 h1)))) (* f64 2 (+ f64 (* f64 h0 h0) (/ f64 h2 (/ f64 (* f64 h1 h1) h2)))))) (sqrt f64 (+ f64 (* f64 4 (* f64 (/ f64 h0 h1) (+ f64 h0 (/ f64 h0 h1)))) (* f64 2 (+ f64 (* f64 h0 h0) (* f64 (/ f64 h2 h1) (/ f64 h2 h1))))))))) (sqrt f64 2))) (if real (<= f64 h0 -8318611459514433/83711609936427134449095706957812641450109750914494813081542999091433675869135634569781123344976238916218333821683839595717745725444712034656129512302332615655738810740814304573602145352049774545921517048070675585809233916151552871555980812078727054020087472481926110684847108059786128022165669281792) (/ f64 h0 (/ f64 (- f64 (* f64 (sqrt f64 (+ f64 (/ f64 (/ f64 4 h1) h1) (+ f64 2 (/ f64 4 h1)))) (neg f64 h0)) (* f64 (sqrt f64 (/ f64 1 (+ f64 (/ f64 (/ f64 4 h1) h1) (+ f64 2 (/ f64 4 h1))))) (+ f64 (* f64 (/ f64 h2 h1) (/ f64 h2 h0)) (/ f64 (* f64 (/ f64 h2 h1) (/ f64 h2 h1)) h0)))) (sqrt f64 2))) (if real (<= f64 h0 2707360139367727/247330401473104534060502521019647190035131349101211839914063056092897225106531867170316401061243044989597671426016139339351365034306751209967546155101893167916606772148699136) (/ f64 h0 (+ f64 (* f64 2 (/ f64 h0 (* f64 h1 (pow f64 (sqrt f64 2) 2)))) (+ f64 h0 (/ f64 (pow f64 h2 2) (* f64 h0 (* f64 (pow f64 (sqrt f64 2) 2) h1)))))) (if real (<= f64 h0 3128713352282575632891597201951917857650555333022883311508264089411442103147952949029606472249465347430273717968561570905383429039086463098606845952) (/ f64 h0 (/ f64 (sqrt f64 (+ f64 (/ f64 2 (/ f64 1 (/ f64 h2 (/ f64 h1 h2)))) (* f64 (sqrt f64 (+ f64 (* f64 4 (+ f64 (/ f64 h0 (/ f64 h1 h0)) (* f64 (/ f64 h0 h1) (/ f64 h0 h1)))) (* f64 2 (+ f64 (* f64 h0 h0) (/ f64 h2 (/ f64 (* f64 h1 h1) h2)))))) (sqrt f64 (+ f64 (* f64 4 (* f64 (/ f64 h0 h1) (+ f64 h0 (/ f64 h0 h1)))) (* f64 2 (+ f64 (* f64 h0 h0) (* f64 (/ f64 h2 h1) (/ f64 h2 h1))))))))) (sqrt f64 2))) (/ f64 h0 (+ f64 (/ f64 h0 h1) (+ f64 h0 (/ f64 (/ f64 h2 (/ f64 h0 h2)) (* f64 2 h1)))))))))) distribute-rgt-neg-in_binary64_36 => (if real (<= f64 h0 -8421989759483263970076684814095184187729813550820714517742223360) (/ f64 h0 (* f64 (sqrt f64 (* f64 2 (+ f64 (/ f64 1 (- f64 h1 1)) (/ f64 h1 (=> (- f64 h1 1)))))) (neg f64 (/ f64 h0 (sqrt f64 2))))) (if real (<= f64 h0 -1418935208793367/16209045190941378744189093217543598246142368094697019140608036444104112544581672446873855659949624196438272994575393707743731058888327247296433104820757670652582741419537146576896) (/ f64 h0 (/ f64 (sqrt f64 (+ f64 (/ f64 2 (/ f64 1 (/ f64 h2 (/ f64 h1 h2)))) (* f64 (sqrt f64 (+ f64 (* f64 4 (+ f64 (/ f64 h0 (/ f64 h1 h0)) (* f64 (/ f64 h0 h1) (/ f64 h0 h1)))) (* f64 2 (+ f64 (* f64 h0 h0) (/ f64 h2 (/ f64 (* f64 h1 h1) h2)))))) (sqrt f64 (+ f64 (* f64 4 (* f64 (/ f64 h0 h1) (+ f64 h0 (/ f64 h0 h1)))) (* f64 2 (+ f64 (* f64 h0 h0) (* f64 (/ f64 h2 h1) (/ f64 h2 h1))))))))) (sqrt f64 2))) (if real (<= f64 h0 -8318611459514433/83711609936427134449095706957812641450109750914494813081542999091433675869135634569781123344976238916218333821683839595717745725444712034656129512302332615655738810740814304573602145352049774545921517048070675585809233916151552871555980812078727054020087472481926110684847108059786128022165669281792) (/ f64 h0 (/ f64 (- f64 (* f64 (sqrt f64 (+ f64 (/ f64 (/ f64 4 h1) h1) (+ f64 2 (/ f64 4 h1)))) (neg f64 h0)) (* f64 (sqrt f64 (/ f64 1 (+ f64 (/ f64 (/ f64 4 h1) h1) (+ f64 2 (/ f64 4 h1))))) (+ f64 (* f64 (/ f64 h2 h1) (/ f64 h2 h0)) (/ f64 (* f64 (/ f64 h2 h1) (/ f64 h2 h1)) h0)))) (sqrt f64 2))) (if real (<= f64 h0 2707360139367727/247330401473104534060502521019647190035131349101211839914063056092897225106531867170316401061243044989597671426016139339351365034306751209967546155101893167916606772148699136) (/ f64 h0 (+ f64 (* f64 2 (/ f64 h0 (* f64 h1 (pow f64 (sqrt f64 2) 2)))) (+ f64 h0 (/ f64 (pow f64 h2 2) (* f64 h0 (* f64 (pow f64 (sqrt f64 2) 2) h1)))))) (if real (<= f64 h0 3128713352282575632891597201951917857650555333022883311508264089411442103147952949029606472249465347430273717968561570905383429039086463098606845952) (/ f64 h0 (/ f64 (sqrt f64 (+ f64 (/ f64 2 (/ f64 1 (/ f64 h2 (/ f64 h1 h2)))) (* f64 (sqrt f64 (+ f64 (* f64 4 (+ f64 (/ f64 h0 (/ f64 h1 h0)) (* f64 (/ f64 h0 h1) (/ f64 h0 h1)))) (* f64 2 (+ f64 (* f64 h0 h0) (/ f64 h2 (/ f64 (* f64 h1 h1) h2)))))) (sqrt f64 (+ f64 (* f64 4 (* f64 (/ f64 h0 h1) (+ f64 h0 (/ f64 h0 h1)))) (* f64 2 (+ f64 (* f64 h0 h0) (* f64 (/ f64 h2 h1) (/ f64 h2 h1))))))))) (sqrt f64 2))) (/ f64 h0 (+ f64 (/ f64 h0 h1) (+ f64 h0 (/ f64 (/ f64 h2 (/ f64 h0 h2)) (* f64 2 h1)))))))))) sub-neg_binary64_71 => (if real (<= f64 h0 -8421989759483263970076684814095184187729813550820714517742223360) (/ f64 h0 (* f64 (sqrt f64 (* f64 2 (+ f64 (/ f64 1 (=> (- f64 h1 1))) (/ f64 h1 (+ f64 h1 (neg f64 1)))))) (neg f64 (/ f64 h0 (sqrt f64 2))))) (if real (<= f64 h0 -1418935208793367/16209045190941378744189093217543598246142368094697019140608036444104112544581672446873855659949624196438272994575393707743731058888327247296433104820757670652582741419537146576896) (/ f64 h0 (/ f64 (sqrt f64 (+ f64 (/ f64 2 (/ f64 1 (/ f64 h2 (/ f64 h1 h2)))) (* f64 (sqrt f64 (+ f64 (* f64 4 (+ f64 (/ f64 h0 (/ f64 h1 h0)) (* f64 (/ f64 h0 h1) (/ f64 h0 h1)))) (* f64 2 (+ f64 (* f64 h0 h0) (/ f64 h2 (/ f64 (* f64 h1 h1) h2)))))) (sqrt f64 (+ f64 (* f64 4 (* f64 (/ f64 h0 h1) (+ f64 h0 (/ f64 h0 h1)))) (* f64 2 (+ f64 (* f64 h0 h0) (* f64 (/ f64 h2 h1) (/ f64 h2 h1))))))))) (sqrt f64 2))) (if real (<= f64 h0 -8318611459514433/83711609936427134449095706957812641450109750914494813081542999091433675869135634569781123344976238916218333821683839595717745725444712034656129512302332615655738810740814304573602145352049774545921517048070675585809233916151552871555980812078727054020087472481926110684847108059786128022165669281792) (/ f64 h0 (/ f64 (- f64 (* f64 (sqrt f64 (+ f64 (/ f64 (/ f64 4 h1) h1) (+ f64 2 (/ f64 4 h1)))) (neg f64 h0)) (* f64 (sqrt f64 (/ f64 1 (+ f64 (/ f64 (/ f64 4 h1) h1) (+ f64 2 (/ f64 4 h1))))) (+ f64 (* f64 (/ f64 h2 h1) (/ f64 h2 h0)) (/ f64 (* f64 (/ f64 h2 h1) (/ f64 h2 h1)) h0)))) (sqrt f64 2))) (if real (<= f64 h0 2707360139367727/247330401473104534060502521019647190035131349101211839914063056092897225106531867170316401061243044989597671426016139339351365034306751209967546155101893167916606772148699136) (/ f64 h0 (+ f64 (* f64 2 (/ f64 h0 (* f64 h1 (pow f64 (sqrt f64 2) 2)))) (+ f64 h0 (/ f64 (pow f64 h2 2) (* f64 h0 (* f64 (pow f64 (sqrt f64 2) 2) h1)))))) (if real (<= f64 h0 3128713352282575632891597201951917857650555333022883311508264089411442103147952949029606472249465347430273717968561570905383429039086463098606845952) (/ f64 h0 (/ f64 (sqrt f64 (+ f64 (/ f64 2 (/ f64 1 (/ f64 h2 (/ f64 h1 h2)))) (* f64 (sqrt f64 (+ f64 (* f64 4 (+ f64 (/ f64 h0 (/ f64 h1 h0)) (* f64 (/ f64 h0 h1) (/ f64 h0 h1)))) (* f64 2 (+ f64 (* f64 h0 h0) (/ f64 h2 (/ f64 (* f64 h1 h1) h2)))))) (sqrt f64 (+ f64 (* f64 4 (* f64 (/ f64 h0 h1) (+ f64 h0 (/ f64 h0 h1)))) (* f64 2 (+ f64 (* f64 h0 h0) (* f64 (/ f64 h2 h1) (/ f64 h2 h1))))))))) (sqrt f64 2))) (/ f64 h0 (+ f64 (/ f64 h0 h1) (+ f64 h0 (/ f64 (/ f64 h2 (/ f64 h0 h2)) (* f64 2 h1)))))))))) sub-neg_binary64_71 => (if real (<= f64 h0 -8421989759483263970076684814095184187729813550820714517742223360) (/ f64 h0 (* f64 (sqrt f64 (* f64 2 (+ f64 (/ f64 1 (+ f64 h1 (neg f64 1))) (/ f64 h1 (+ f64 h1 (neg f64 1)))))) (neg f64 (/ f64 h0 (sqrt f64 2))))) (if real (<= f64 h0 -1418935208793367/16209045190941378744189093217543598246142368094697019140608036444104112544581672446873855659949624196438272994575393707743731058888327247296433104820757670652582741419537146576896) (/ f64 h0 (/ f64 (sqrt f64 (+ f64 (/ f64 2 (/ f64 1 (/ f64 h2 (/ f64 h1 h2)))) (* f64 (sqrt f64 (+ f64 (* f64 4 (+ f64 (/ f64 h0 (/ f64 h1 h0)) (* f64 (/ f64 h0 h1) (/ f64 h0 h1)))) (* f64 2 (+ f64 (* f64 h0 h0) (/ f64 h2 (/ f64 (* f64 h1 h1) h2)))))) (sqrt f64 (+ f64 (* f64 4 (* f64 (/ f64 h0 h1) (+ f64 h0 (/ f64 h0 h1)))) (* f64 2 (+ f64 (* f64 h0 h0) (* f64 (/ f64 h2 h1) (/ f64 h2 h1))))))))) (sqrt f64 2))) (if real (<= f64 h0 -8318611459514433/83711609936427134449095706957812641450109750914494813081542999091433675869135634569781123344976238916218333821683839595717745725444712034656129512302332615655738810740814304573602145352049774545921517048070675585809233916151552871555980812078727054020087472481926110684847108059786128022165669281792) (/ f64 h0 (/ f64 (- f64 (* f64 (sqrt f64 (+ f64 (/ f64 (/ f64 4 h1) h1) (+ f64 2 (/ f64 4 h1)))) (neg f64 h0)) (* f64 (sqrt f64 (/ f64 1 (+ f64 (/ f64 (/ f64 4 h1) h1) (+ f64 2 (/ f64 4 h1))))) (+ f64 (* f64 (/ f64 h2 h1) (/ f64 h2 h0)) (/ f64 (* f64 (/ f64 h2 h1) (/ f64 h2 h1)) h0)))) (sqrt f64 2))) (if real (<= f64 h0 2707360139367727/247330401473104534060502521019647190035131349101211839914063056092897225106531867170316401061243044989597671426016139339351365034306751209967546155101893167916606772148699136) (/ f64 h0 (+ f64 (* f64 2 (/ f64 h0 (* f64 h1 (pow f64 (sqrt f64 2) 2)))) (+ f64 h0 (/ f64 (pow f64 h2 2) (* f64 h0 (=> (* f64 (pow f64 (sqrt f64 2) 2) h1))))))) (if real (<= f64 h0 3128713352282575632891597201951917857650555333022883311508264089411442103147952949029606472249465347430273717968561570905383429039086463098606845952) (/ f64 h0 (/ f64 (sqrt f64 (+ f64 (/ f64 2 (/ f64 1 (/ f64 h2 (/ f64 h1 h2)))) (* f64 (sqrt f64 (+ f64 (* f64 4 (+ f64 (/ f64 h0 (/ f64 h1 h0)) (* f64 (/ f64 h0 h1) (/ f64 h0 h1)))) (* f64 2 (+ f64 (* f64 h0 h0) (/ f64 h2 (/ f64 (* f64 h1 h1) h2)))))) (sqrt f64 (+ f64 (* f64 4 (* f64 (/ f64 h0 h1) (+ f64 h0 (/ f64 h0 h1)))) (* f64 2 (+ f64 (* f64 h0 h0) (* f64 (/ f64 h2 h1) (/ f64 h2 h1))))))))) (sqrt f64 2))) (/ f64 h0 (+ f64 (/ f64 h0 h1) (+ f64 h0 (/ f64 (/ f64 h2 (/ f64 h0 h2)) (* f64 2 h1)))))))))) *-commutative_binary64_9 => (if real (<= f64 h0 -8421989759483263970076684814095184187729813550820714517742223360) (/ f64 h0 (* f64 (sqrt f64 (* f64 2 (+ f64 (/ f64 1 (+ f64 h1 (neg f64 1))) (/ f64 h1 (+ f64 h1 (=> (neg f64 1))))))) (neg f64 (/ f64 h0 (sqrt f64 2))))) (if real (<= f64 h0 -1418935208793367/16209045190941378744189093217543598246142368094697019140608036444104112544581672446873855659949624196438272994575393707743731058888327247296433104820757670652582741419537146576896) (/ f64 h0 (/ f64 (sqrt f64 (+ f64 (/ f64 2 (/ f64 1 (/ f64 h2 (/ f64 h1 h2)))) (* f64 (sqrt f64 (+ f64 (* f64 4 (+ f64 (/ f64 h0 (/ f64 h1 h0)) (* f64 (/ f64 h0 h1) (/ f64 h0 h1)))) (* f64 2 (+ f64 (* f64 h0 h0) (/ f64 h2 (/ f64 (* f64 h1 h1) h2)))))) (sqrt f64 (+ f64 (* f64 4 (* f64 (/ f64 h0 h1) (+ f64 h0 (/ f64 h0 h1)))) (* f64 2 (+ f64 (* f64 h0 h0) (* f64 (/ f64 h2 h1) (/ f64 h2 h1))))))))) (sqrt f64 2))) (if real (<= f64 h0 -8318611459514433/83711609936427134449095706957812641450109750914494813081542999091433675869135634569781123344976238916218333821683839595717745725444712034656129512302332615655738810740814304573602145352049774545921517048070675585809233916151552871555980812078727054020087472481926110684847108059786128022165669281792) (/ f64 h0 (/ f64 (- f64 (* f64 (sqrt f64 (+ f64 (/ f64 (/ f64 4 h1) h1) (+ f64 2 (/ f64 4 h1)))) (neg f64 h0)) (* f64 (sqrt f64 (/ f64 1 (+ f64 (/ f64 (/ f64 4 h1) h1) (+ f64 2 (/ f64 4 h1))))) (+ f64 (* f64 (/ f64 h2 h1) (/ f64 h2 h0)) (/ f64 (* f64 (/ f64 h2 h1) (/ f64 h2 h1)) h0)))) (sqrt f64 2))) (if real (<= f64 h0 2707360139367727/247330401473104534060502521019647190035131349101211839914063056092897225106531867170316401061243044989597671426016139339351365034306751209967546155101893167916606772148699136) (/ f64 h0 (+ f64 (* f64 2 (/ f64 h0 (* f64 h1 (pow f64 (sqrt f64 2) 2)))) (+ f64 h0 (/ f64 (pow f64 h2 2) (* f64 h0 (* f64 h1 (pow f64 (sqrt f64 2) 2))))))) (if real (<= f64 h0 3128713352282575632891597201951917857650555333022883311508264089411442103147952949029606472249465347430273717968561570905383429039086463098606845952) (/ f64 h0 (/ f64 (sqrt f64 (+ f64 (/ f64 2 (/ f64 1 (/ f64 h2 (/ f64 h1 h2)))) (* f64 (sqrt f64 (+ f64 (* f64 4 (+ f64 (/ f64 h0 (/ f64 h1 h0)) (* f64 (/ f64 h0 h1) (/ f64 h0 h1)))) (* f64 2 (+ f64 (* f64 h0 h0) (/ f64 h2 (/ f64 (* f64 h1 h1) h2)))))) (sqrt f64 (+ f64 (* f64 4 (* f64 (/ f64 h0 h1) (+ f64 h0 (/ f64 h0 h1)))) (* f64 2 (+ f64 (* f64 h0 h0) (* f64 (/ f64 h2 h1) (/ f64 h2 h1))))))))) (sqrt f64 2))) (/ f64 h0 (+ f64 (/ f64 h0 h1) (+ f64 h0 (/ f64 (/ f64 h2 (/ f64 h0 h2)) (* f64 2 h1)))))))))) neg-mul-1_binary64_74 => (if real (<= f64 h0 -8421989759483263970076684814095184187729813550820714517742223360) (/ f64 h0 (* f64 (sqrt f64 (* f64 2 (+ f64 (/ f64 1 (+ f64 h1 (=> (neg f64 1)))) (/ f64 h1 (+ f64 h1 (* f64 -1 1)))))) (neg f64 (/ f64 h0 (sqrt f64 2))))) (if real (<= f64 h0 -1418935208793367/16209045190941378744189093217543598246142368094697019140608036444104112544581672446873855659949624196438272994575393707743731058888327247296433104820757670652582741419537146576896) (/ f64 h0 (/ f64 (sqrt f64 (+ f64 (/ f64 2 (/ f64 1 (/ f64 h2 (/ f64 h1 h2)))) (* f64 (sqrt f64 (+ f64 (* f64 4 (+ f64 (/ f64 h0 (/ f64 h1 h0)) (* f64 (/ f64 h0 h1) (/ f64 h0 h1)))) (* f64 2 (+ f64 (* f64 h0 h0) (/ f64 h2 (/ f64 (* f64 h1 h1) h2)))))) (sqrt f64 (+ f64 (* f64 4 (* f64 (/ f64 h0 h1) (+ f64 h0 (/ f64 h0 h1)))) (* f64 2 (+ f64 (* f64 h0 h0) (* f64 (/ f64 h2 h1) (/ f64 h2 h1))))))))) (sqrt f64 2))) (if real (<= f64 h0 -8318611459514433/83711609936427134449095706957812641450109750914494813081542999091433675869135634569781123344976238916218333821683839595717745725444712034656129512302332615655738810740814304573602145352049774545921517048070675585809233916151552871555980812078727054020087472481926110684847108059786128022165669281792) (/ f64 h0 (/ f64 (- f64 (* f64 (sqrt f64 (+ f64 (/ f64 (/ f64 4 h1) h1) (+ f64 2 (/ f64 4 h1)))) (neg f64 h0)) (* f64 (sqrt f64 (/ f64 1 (+ f64 (/ f64 (/ f64 4 h1) h1) (+ f64 2 (/ f64 4 h1))))) (+ f64 (* f64 (/ f64 h2 h1) (/ f64 h2 h0)) (/ f64 (* f64 (/ f64 h2 h1) (/ f64 h2 h1)) h0)))) (sqrt f64 2))) (if real (<= f64 h0 2707360139367727/247330401473104534060502521019647190035131349101211839914063056092897225106531867170316401061243044989597671426016139339351365034306751209967546155101893167916606772148699136) (/ f64 h0 (+ f64 (* f64 2 (/ f64 h0 (* f64 h1 (pow f64 (sqrt f64 2) 2)))) (+ f64 h0 (/ f64 (pow f64 h2 2) (* f64 h0 (* f64 h1 (pow f64 (sqrt f64 2) 2))))))) (if real (<= f64 h0 3128713352282575632891597201951917857650555333022883311508264089411442103147952949029606472249465347430273717968561570905383429039086463098606845952) (/ f64 h0 (/ f64 (sqrt f64 (+ f64 (/ f64 2 (/ f64 1 (/ f64 h2 (/ f64 h1 h2)))) (* f64 (sqrt f64 (+ f64 (* f64 4 (+ f64 (/ f64 h0 (/ f64 h1 h0)) (* f64 (/ f64 h0 h1) (/ f64 h0 h1)))) (* f64 2 (+ f64 (* f64 h0 h0) (/ f64 h2 (/ f64 (* f64 h1 h1) h2)))))) (sqrt f64 (+ f64 (* f64 4 (* f64 (/ f64 h0 h1) (+ f64 h0 (/ f64 h0 h1)))) (* f64 2 (+ f64 (* f64 h0 h0) (* f64 (/ f64 h2 h1) (/ f64 h2 h1))))))))) (sqrt f64 2))) (/ f64 h0 (+ f64 (/ f64 h0 h1) (+ f64 h0 (/ f64 (/ f64 h2 (/ f64 h0 h2)) (* f64 2 h1)))))))))) neg-mul-1_binary64_74 => (if real (<= f64 h0 -8421989759483263970076684814095184187729813550820714517742223360) (/ f64 h0 (* f64 (sqrt f64 (* f64 2 (+ f64 (/ f64 1 (+ f64 h1 (* f64 -1 1))) (/ f64 h1 (+ f64 h1 (* f64 -1 1)))))) (=> (neg f64 (/ f64 h0 (sqrt f64 2)))))) (if real (<= f64 h0 -1418935208793367/16209045190941378744189093217543598246142368094697019140608036444104112544581672446873855659949624196438272994575393707743731058888327247296433104820757670652582741419537146576896) (/ f64 h0 (/ f64 (sqrt f64 (+ f64 (/ f64 2 (/ f64 1 (/ f64 h2 (/ f64 h1 h2)))) (* f64 (sqrt f64 (+ f64 (* f64 4 (+ f64 (/ f64 h0 (/ f64 h1 h0)) (* f64 (/ f64 h0 h1) (/ f64 h0 h1)))) (* f64 2 (+ f64 (* f64 h0 h0) (/ f64 h2 (/ f64 (* f64 h1 h1) h2)))))) (sqrt f64 (+ f64 (* f64 4 (* f64 (/ f64 h0 h1) (+ f64 h0 (/ f64 h0 h1)))) (* f64 2 (+ f64 (* f64 h0 h0) (* f64 (/ f64 h2 h1) (/ f64 h2 h1))))))))) (sqrt f64 2))) (if real (<= f64 h0 -8318611459514433/83711609936427134449095706957812641450109750914494813081542999091433675869135634569781123344976238916218333821683839595717745725444712034656129512302332615655738810740814304573602145352049774545921517048070675585809233916151552871555980812078727054020087472481926110684847108059786128022165669281792) (/ f64 h0 (/ f64 (- f64 (* f64 (sqrt f64 (+ f64 (/ f64 (/ f64 4 h1) h1) (+ f64 2 (/ f64 4 h1)))) (neg f64 h0)) (* f64 (sqrt f64 (/ f64 1 (+ f64 (/ f64 (/ f64 4 h1) h1) (+ f64 2 (/ f64 4 h1))))) (+ f64 (* f64 (/ f64 h2 h1) (/ f64 h2 h0)) (/ f64 (* f64 (/ f64 h2 h1) (/ f64 h2 h1)) h0)))) (sqrt f64 2))) (if real (<= f64 h0 2707360139367727/247330401473104534060502521019647190035131349101211839914063056092897225106531867170316401061243044989597671426016139339351365034306751209967546155101893167916606772148699136) (/ f64 h0 (+ f64 (* f64 2 (/ f64 h0 (* f64 h1 (pow f64 (sqrt f64 2) 2)))) (+ f64 h0 (/ f64 (pow f64 h2 2) (* f64 h0 (* f64 h1 (pow f64 (sqrt f64 2) 2))))))) (if real (<= f64 h0 3128713352282575632891597201951917857650555333022883311508264089411442103147952949029606472249465347430273717968561570905383429039086463098606845952) (/ f64 h0 (/ f64 (sqrt f64 (+ f64 (/ f64 2 (/ f64 1 (/ f64 h2 (/ f64 h1 h2)))) (* f64 (sqrt f64 (+ f64 (* f64 4 (+ f64 (/ f64 h0 (/ f64 h1 h0)) (* f64 (/ f64 h0 h1) (/ f64 h0 h1)))) (* f64 2 (+ f64 (* f64 h0 h0) (/ f64 h2 (/ f64 (* f64 h1 h1) h2)))))) (sqrt f64 (+ f64 (* f64 4 (* f64 (/ f64 h0 h1) (+ f64 h0 (/ f64 h0 h1)))) (* f64 2 (+ f64 (* f64 h0 h0) (* f64 (/ f64 h2 h1) (/ f64 h2 h1))))))))) (sqrt f64 2))) (/ f64 h0 (+ f64 (/ f64 h0 h1) (+ f64 h0 (/ f64 (/ f64 h2 (/ f64 h0 h2)) (* f64 2 h1)))))))))) distribute-neg-frac_binary64_42 => (if real (<= f64 h0 -8421989759483263970076684814095184187729813550820714517742223360) (/ f64 h0 (* f64 (sqrt f64 (* f64 2 (+ f64 (/ f64 1 (+ f64 h1 (* f64 -1 1))) (/ f64 h1 (+ f64 h1 (=> (* f64 -1 1))))))) (/ f64 (neg f64 h0) (sqrt f64 2)))) (if real (<= f64 h0 -1418935208793367/16209045190941378744189093217543598246142368094697019140608036444104112544581672446873855659949624196438272994575393707743731058888327247296433104820757670652582741419537146576896) (/ f64 h0 (/ f64 (sqrt f64 (+ f64 (/ f64 2 (/ f64 1 (/ f64 h2 (/ f64 h1 h2)))) (* f64 (sqrt f64 (+ f64 (* f64 4 (+ f64 (/ f64 h0 (/ f64 h1 h0)) (* f64 (/ f64 h0 h1) (/ f64 h0 h1)))) (* f64 2 (+ f64 (* f64 h0 h0) (/ f64 h2 (/ f64 (* f64 h1 h1) h2)))))) (sqrt f64 (+ f64 (* f64 4 (* f64 (/ f64 h0 h1) (+ f64 h0 (/ f64 h0 h1)))) (* f64 2 (+ f64 (* f64 h0 h0) (* f64 (/ f64 h2 h1) (/ f64 h2 h1))))))))) (sqrt f64 2))) (if real (<= f64 h0 -8318611459514433/83711609936427134449095706957812641450109750914494813081542999091433675869135634569781123344976238916218333821683839595717745725444712034656129512302332615655738810740814304573602145352049774545921517048070675585809233916151552871555980812078727054020087472481926110684847108059786128022165669281792) (/ f64 h0 (/ f64 (- f64 (* f64 (sqrt f64 (+ f64 (/ f64 (/ f64 4 h1) h1) (+ f64 2 (/ f64 4 h1)))) (neg f64 h0)) (* f64 (sqrt f64 (/ f64 1 (+ f64 (/ f64 (/ f64 4 h1) h1) (+ f64 2 (/ f64 4 h1))))) (+ f64 (* f64 (/ f64 h2 h1) (/ f64 h2 h0)) (/ f64 (* f64 (/ f64 h2 h1) (/ f64 h2 h1)) h0)))) (sqrt f64 2))) (if real (<= f64 h0 2707360139367727/247330401473104534060502521019647190035131349101211839914063056092897225106531867170316401061243044989597671426016139339351365034306751209967546155101893167916606772148699136) (/ f64 h0 (+ f64 (* f64 2 (/ f64 h0 (* f64 h1 (pow f64 (sqrt f64 2) 2)))) (+ f64 h0 (/ f64 (pow f64 h2 2) (* f64 h0 (* f64 h1 (pow f64 (sqrt f64 2) 2))))))) (if real (<= f64 h0 3128713352282575632891597201951917857650555333022883311508264089411442103147952949029606472249465347430273717968561570905383429039086463098606845952) (/ f64 h0 (/ f64 (sqrt f64 (+ f64 (/ f64 2 (/ f64 1 (/ f64 h2 (/ f64 h1 h2)))) (* f64 (sqrt f64 (+ f64 (* f64 4 (+ f64 (/ f64 h0 (/ f64 h1 h0)) (* f64 (/ f64 h0 h1) (/ f64 h0 h1)))) (* f64 2 (+ f64 (* f64 h0 h0) (/ f64 h2 (/ f64 (* f64 h1 h1) h2)))))) (sqrt f64 (+ f64 (* f64 4 (* f64 (/ f64 h0 h1) (+ f64 h0 (/ f64 h0 h1)))) (* f64 2 (+ f64 (* f64 h0 h0) (* f64 (/ f64 h2 h1) (/ f64 h2 h1))))))))) (sqrt f64 2))) (/ f64 h0 (+ f64 (/ f64 h0 h1) (+ f64 h0 (/ f64 (/ f64 h2 (/ f64 h0 h2)) (* f64 2 h1)))))))))) *-rgt-identity_binary64_68 => (if real (<= f64 h0 -8421989759483263970076684814095184187729813550820714517742223360) (/ f64 h0 (* f64 (sqrt f64 (* f64 2 (+ f64 (/ f64 1 (+ f64 h1 (=> (* f64 -1 1)))) (/ f64 h1 (+ f64 h1 -1))))) (/ f64 (neg f64 h0) (sqrt f64 2)))) (if real (<= f64 h0 -1418935208793367/16209045190941378744189093217543598246142368094697019140608036444104112544581672446873855659949624196438272994575393707743731058888327247296433104820757670652582741419537146576896) (/ f64 h0 (/ f64 (sqrt f64 (+ f64 (/ f64 2 (/ f64 1 (/ f64 h2 (/ f64 h1 h2)))) (* f64 (sqrt f64 (+ f64 (* f64 4 (+ f64 (/ f64 h0 (/ f64 h1 h0)) (* f64 (/ f64 h0 h1) (/ f64 h0 h1)))) (* f64 2 (+ f64 (* f64 h0 h0) (/ f64 h2 (/ f64 (* f64 h1 h1) h2)))))) (sqrt f64 (+ f64 (* f64 4 (* f64 (/ f64 h0 h1) (+ f64 h0 (/ f64 h0 h1)))) (* f64 2 (+ f64 (* f64 h0 h0) (* f64 (/ f64 h2 h1) (/ f64 h2 h1))))))))) (sqrt f64 2))) (if real (<= f64 h0 -8318611459514433/83711609936427134449095706957812641450109750914494813081542999091433675869135634569781123344976238916218333821683839595717745725444712034656129512302332615655738810740814304573602145352049774545921517048070675585809233916151552871555980812078727054020087472481926110684847108059786128022165669281792) (/ f64 h0 (/ f64 (- f64 (* f64 (sqrt f64 (+ f64 (/ f64 (/ f64 4 h1) h1) (+ f64 2 (/ f64 4 h1)))) (neg f64 h0)) (* f64 (sqrt f64 (/ f64 1 (+ f64 (/ f64 (/ f64 4 h1) h1) (+ f64 2 (/ f64 4 h1))))) (+ f64 (* f64 (/ f64 h2 h1) (/ f64 h2 h0)) (/ f64 (* f64 (/ f64 h2 h1) (/ f64 h2 h1)) h0)))) (sqrt f64 2))) (if real (<= f64 h0 2707360139367727/247330401473104534060502521019647190035131349101211839914063056092897225106531867170316401061243044989597671426016139339351365034306751209967546155101893167916606772148699136) (/ f64 h0 (+ f64 (* f64 2 (/ f64 h0 (* f64 h1 (pow f64 (sqrt f64 2) 2)))) (+ f64 h0 (/ f64 (pow f64 h2 2) (* f64 h0 (* f64 h1 (pow f64 (sqrt f64 2) 2))))))) (if real (<= f64 h0 3128713352282575632891597201951917857650555333022883311508264089411442103147952949029606472249465347430273717968561570905383429039086463098606845952) (/ f64 h0 (/ f64 (sqrt f64 (+ f64 (/ f64 2 (/ f64 1 (/ f64 h2 (/ f64 h1 h2)))) (* f64 (sqrt f64 (+ f64 (* f64 4 (+ f64 (/ f64 h0 (/ f64 h1 h0)) (* f64 (/ f64 h0 h1) (/ f64 h0 h1)))) (* f64 2 (+ f64 (* f64 h0 h0) (/ f64 h2 (/ f64 (* f64 h1 h1) h2)))))) (sqrt f64 (+ f64 (* f64 4 (* f64 (/ f64 h0 h1) (+ f64 h0 (/ f64 h0 h1)))) (* f64 2 (+ f64 (* f64 h0 h0) (* f64 (/ f64 h2 h1) (/ f64 h2 h1))))))))) (sqrt f64 2))) (/ f64 h0 (+ f64 (/ f64 h0 h1) (+ f64 h0 (/ f64 (/ f64 h2 (/ f64 h0 h2)) (* f64 2 h1)))))))))) *-rgt-identity_binary64_68 => (if real (<= f64 h0 -8421989759483263970076684814095184187729813550820714517742223360) (/ f64 h0 (* f64 (sqrt f64 (* f64 2 (+ f64 (/ f64 1 (+ f64 h1 -1)) (/ f64 h1 (+ f64 h1 -1))))) (/ f64 (neg f64 h0) (sqrt f64 2)))) (if real (<= f64 h0 -1418935208793367/16209045190941378744189093217543598246142368094697019140608036444104112544581672446873855659949624196438272994575393707743731058888327247296433104820757670652582741419537146576896) (/ f64 h0 (/ f64 (sqrt f64 (+ f64 (/ f64 2 (/ f64 1 (/ f64 h2 (/ f64 h1 h2)))) (* f64 (sqrt f64 (+ f64 (* f64 4 (+ f64 (/ f64 h0 (/ f64 h1 h0)) (* f64 (/ f64 h0 h1) (/ f64 h0 h1)))) (* f64 2 (+ f64 (* f64 h0 h0) (/ f64 h2 (/ f64 (* f64 h1 h1) h2)))))) (sqrt f64 (+ f64 (* f64 4 (* f64 (/ f64 h0 h1) (+ f64 h0 (/ f64 h0 h1)))) (* f64 2 (+ f64 (* f64 h0 h0) (* f64 (/ f64 h2 h1) (/ f64 h2 h1))))))))) (sqrt f64 2))) (if real (<= f64 h0 -8318611459514433/83711609936427134449095706957812641450109750914494813081542999091433675869135634569781123344976238916218333821683839595717745725444712034656129512302332615655738810740814304573602145352049774545921517048070675585809233916151552871555980812078727054020087472481926110684847108059786128022165669281792) (/ f64 h0 (/ f64 (- f64 (* f64 (sqrt f64 (+ f64 (/ f64 (/ f64 4 h1) h1) (+ f64 2 (/ f64 4 h1)))) (neg f64 h0)) (* f64 (sqrt f64 (/ f64 1 (+ f64 (/ f64 (/ f64 4 h1) h1) (+ f64 2 (/ f64 4 h1))))) (+ f64 (* f64 (/ f64 h2 h1) (/ f64 h2 h0)) (/ f64 (* f64 (/ f64 h2 h1) (/ f64 h2 h1)) h0)))) (sqrt f64 2))) (if real (<= f64 h0 2707360139367727/247330401473104534060502521019647190035131349101211839914063056092897225106531867170316401061243044989597671426016139339351365034306751209967546155101893167916606772148699136) (/ f64 h0 (+ f64 (* f64 2 (/ f64 h0 (* f64 h1 (pow f64 (sqrt f64 2) 2)))) (+ f64 h0 (/ f64 (pow f64 h2 2) (* f64 h0 (* f64 h1 (pow f64 (sqrt f64 2) 2))))))) (if real (<= f64 h0 3128713352282575632891597201951917857650555333022883311508264089411442103147952949029606472249465347430273717968561570905383429039086463098606845952) (/ f64 h0 (/ f64 (sqrt f64 (+ f64 (/ f64 2 (/ f64 1 (/ f64 h2 (/ f64 h1 h2)))) (* f64 (sqrt f64 (+ f64 (* f64 4 (+ f64 (/ f64 h0 (/ f64 h1 h0)) (* f64 (/ f64 h0 h1) (/ f64 h0 h1)))) (* f64 2 (+ f64 (* f64 h0 h0) (/ f64 h2 (/ f64 (* f64 h1 h1) h2)))))) (sqrt f64 (+ f64 (* f64 4 (* f64 (/ f64 h0 h1) (+ f64 h0 (/ f64 h0 h1)))) (* f64 2 (+ f64 (* f64 h0 h0) (* f64 (/ f64 h2 h1) (/ f64 h2 h1))))))))) (sqrt f64 2))) (/ f64 h0 (+ f64 (/ f64 h0 h1) (+ f64 h0 (/ f64 (/ f64 h2 (/ f64 h0 h2)) (* f64 2 h1))))))))))

end0.0ms (0%)

sample5.6s (5.9%)

Algorithm
intervals
Results
365.0ms5348×body128valid
315.0ms1156×body1024valid
222.0ms857×body1024nan
170.0ms857×body512valid
107.0ms1544×body128nan
102.0ms489×body512nan
74.0ms572×body256valid
35.0ms278×body256nan
24.0ms67×body2048valid
Compiler

Compiled 6239 to 4272 computations (31.5% saved)

Profiling

Loading profile data...