Details

Time bar (total: 4.9s)

analyze8.0ms (0.2%)

Algorithm
search
Search
TrueOtherFalseIter
0%100%0%0
0%100%0%1
0%100%0%2
50%50%0%3
75%25%0%4
87.5%12.5%0%5
93.7%6.2%0%6
96.8%3.1%0%7
98.4%1.6%0%8
99.2%0.8%0%9
99.6%0.4%0%10
99.8%0.2%0%11
99.9%0.1%0%12
99.9%0%0%13
99.9%0%0.1%14
Compiler

Compiled 7 to 6 computations (14.3% saved)

sample13.0ms (0.3%)

Algorithm
intervals
Results
6.0ms256×body128valid
Compiler

Compiled 13 to 12 computations (7.7% saved)

simplify148.0ms (3%)

Algorithm
egg-herbie
Rules
*-commutative_binary64_9
associate-*l*_binary64_19 associate-*r*_binary64_18
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 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 1-exp_binary64_122 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 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 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-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-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 distribute-rgt-in_binary64_28 distribute-lft-in_binary64_27 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 associate--l+_binary64_15 associate--r+_binary64_14 associate-+l-_binary64_13 associate-+r-_binary64_12 associate-+l+_binary64_11 associate-+r+_binary64_10 +-commutative_binary64_8
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
069
1109
2119

prune2.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 12 to 10 computations (16.7% saved)

localize4.0ms (0.1%)

Local error

Found 1 expressions with local error:

28.9b
(sqrt.f64 (*.f64 (*.f64 2 x) x))

rewrite20.0ms (0.4%)

Algorithm
rewrite-expression-head
Error
14.7b
Rules
pow1_binary64_139
pow-prod-down_binary64_149 sqrt-pow1_binary64_96
pow1/2_binary64_158 add-log-exp_binary64_117 add-exp-log_binary64_116 add-cbrt-cube_binary64_114 add-cube-cbrt_binary64_113 add-sqr-sqrt_binary64_100 sqrt-prod_binary64_94 *-un-lft-identity_binary64_78
Counts
1 → 12
Calls

1 calls:

4.0ms
(sqrt.f64 (*.f64 (*.f64 2 x) x))
Compiler

Compiled 132 to 99 computations (25% saved)

series47.0ms (1%)

Error
0.2b
Counts
1 → 3
Calls

1 calls:

43.0ms
(sqrt.f64 (*.f64 (*.f64 2 x) x))
Compiler

Compiled 42 to 40 computations (4.8% saved)

simplify353.0ms (7.2%)

Algorithm
egg-herbie
Rules
649×div-sub_binary64_83
448×exp-sum_binary64_124
363×exp-prod_binary64_130
333×cancel-sign-sub-inv_binary64_44
331×associate-/r*_binary64_22
244×associate-/r/_binary64_24
218×unswap-sqr_binary64_46
205×distribute-lft-neg-in_binary64_35
201×exp-diff_binary64_126
197×swap-sqr_binary64_45
178×distribute-rgt1-in_binary64_34
174×distribute-rgt-neg-in_binary64_36
166×*-commutative_binary64_9
159×pow-plus_binary64_141
141×associate-/l*_binary64_23
132×distribute-neg-in_binary64_39
124×associate-+l+_binary64_11
88×distribute-rgt-in_binary64_28
81×associate-+l-_binary64_13
80×associate-+r+_binary64_10
79×associate-*r*_binary64_18
78×sqr-pow_binary64_50
69×+-commutative_binary64_8
65×neg-sub0_binary64_73
63×neg-mul-1_binary64_74
60×associate-*l*_binary64_19
54×distribute-rgt-out_binary64_31
50×pow-sqr_binary64_51
49×sqr-neg_binary64_92
44×pow-base-1_binary64_138
42×associate-+r-_binary64_12
39×cube-prod_binary64_106 sub-neg_binary64_71
33×associate-/l/_binary64_25
31×distribute-lft-in_binary64_27
29×distribute-neg-frac_binary64_42
26×exp-lft-sqr_binary64_133 unsub-neg_binary64_72
23×associate--l+_binary64_15
20×cube-unmult_binary64_115
15×associate-*r/_binary64_20
14×cube-div_binary64_107 times-frac_binary64_84
12×count-2_binary64_26
11×remove-double-neg_binary64_66 associate--r+_binary64_14
10×*-lft-identity_binary64_67
*-rgt-identity_binary64_68
distribute-lft-neg-out_binary64_37
exp-sqrt_binary64_131 +-lft-identity_binary64_62 mul0-rgt_binary64_61 mul0-lft_binary64_60 distribute-lft-out_binary64_29 associate--l-_binary64_16
rem-sqrt-square_binary64_91 sub0-neg_binary64_65
distribute-lft1-in_binary64_33
unpow3_binary64_144 exp-neg_binary64_125 cube-mult_binary64_108
cube-neg_binary64_105 /-rgt-identity_binary64_69 --rgt-identity_binary64_64 +-rgt-identity_binary64_63 associate-*l/_binary64_21
prod-exp_binary64_127 rem-square-sqrt_binary64_90 mul-1-neg_binary64_70 distribute-neg-out_binary64_40
1-exp_binary64_122 exp-1-e_binary64_121 div0_binary64_59 *-inverses_binary64_58 remove-double-div_binary64_54
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 unpow2_binary64_143 unpow1/2_binary64_142 exp-to-pow_binary64_140 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 e-exp-1_binary64_123 exp-0_binary64_120 rem-log-exp_binary64_119 rem-exp-log_binary64_118 rem-3cbrt-rft_binary64_104 rem-3cbrt-lft_binary64_103 rem-cbrt-cube_binary64_102 rem-cube-cbrt_binary64_101 sqr-abs_binary64_93 +-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 cancel-sign-sub_binary64_43 distribute-frac-neg_binary64_41 distribute-rgt-neg-out_binary64_38 distribute-rgt-out--_binary64_32 distribute-lft-out--_binary64_30 associate--r-_binary64_17
Counts
15 → 65
Iterations

Useful iterations: 9 (0.0ms)

IterNodesCost
021138
133132
260132
375132
485132
5113132
6164132
7521132
81293132
94125124

prune73.0ms (1.5%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New59665
Fresh000
Picked011
Done000
Total59766
Error
0.1b
Counts
66 → 7
Compiler

Compiled 1084 to 664 computations (38.7% saved)

localize6.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.1b
(sqrt.f64 (fabs.f64 (*.f64 x (sqrt.f64 2))))
0.4b
(*.f64 x (sqrt.f64 2))
0.4b
(*.f64 x (sqrt.f64 2))
0.5b
(*.f64 (sqrt.f64 (fabs.f64 (*.f64 x (sqrt.f64 2)))) (sqrt.f64 (fabs.f64 (*.f64 x (sqrt.f64 2)))))

rewrite174.0ms (3.5%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
42×add-sqr-sqrt_binary64_100
29×sqrt-prod_binary64_94
24×pow1_binary64_139
19×add-cube-cbrt_binary64_113 *-un-lft-identity_binary64_78
18×associate-*r*_binary64_18
12×associate-*l*_binary64_19
10×add-exp-log_binary64_116 add-cbrt-cube_binary64_114
pow1/2_binary64_158 sqrt-pow1_binary64_96
unswap-sqr_binary64_46 swap-sqr_binary64_45
pow-prod-down_binary64_149 pow-prod-up_binary64_148
add-log-exp_binary64_117
prod-exp_binary64_127 cbrt-unprod_binary64_111 rem-sqrt-square_binary64_91 pow-sqr_binary64_51 *-commutative_binary64_9
pow2_binary64_159 pow-plus_binary64_141 sqrt-unprod_binary64_98 sqr-abs_binary64_93 rem-square-sqrt_binary64_90
Counts
4 → 107
Calls

4 calls:

7.0ms
(*.f64 (sqrt.f64 (fabs.f64 (*.f64 x (sqrt.f64 2)))) (sqrt.f64 (fabs.f64 (*.f64 x (sqrt.f64 2)))))
5.0ms
(*.f64 x (sqrt.f64 2))
5.0ms
(*.f64 x (sqrt.f64 2))
1.0ms
(sqrt.f64 (fabs.f64 (*.f64 x (sqrt.f64 2))))
Compiler

Compiled 2124 to 1820 computations (14.3% saved)

series156.0ms (3.2%)

Error
0.1b
Counts
4 → 12
Calls

4 calls:

50.0ms
(*.f64 x (sqrt.f64 2))
43.0ms
(*.f64 x (sqrt.f64 2))
36.0ms
(sqrt.f64 (fabs.f64 (*.f64 x (sqrt.f64 2))))
16.0ms
(*.f64 (sqrt.f64 (fabs.f64 (*.f64 x (sqrt.f64 2)))) (sqrt.f64 (fabs.f64 (*.f64 x (sqrt.f64 2)))))
Compiler

Compiled 396 to 358 computations (9.6% saved)

simplify369.0ms (7.5%)

Algorithm
egg-herbie
Rules
505×log-div_binary64_165
260×cube-div_binary64_107
247×distribute-rgt-out_binary64_31
213×exp-prod_binary64_130
211×log-prod_binary64_164
188×associate-*l/_binary64_21
184×cube-prod_binary64_106
176×distribute-rgt-in_binary64_28
175×unswap-sqr_binary64_46
158×distribute-lft-in_binary64_27
152×associate-+l+_binary64_11
143×count-2_binary64_26
142×associate-+r+_binary64_10
127×associate-*r/_binary64_20
109×associate-*l*_binary64_19
104×associate-/l*_binary64_23
101×*-commutative_binary64_9
96×swap-sqr_binary64_45 associate-/r*_binary64_22
89×associate-*r*_binary64_18
79×sqr-pow_binary64_50
77×exp-sum_binary64_124
64×distribute-lft-out_binary64_29
56×exp-sqrt_binary64_131
38×rem-sqrt-square_binary64_91
32×*-rgt-identity_binary64_68
31×log-pow_binary64_167
28×*-lft-identity_binary64_67
26×associate-/l/_binary64_25
24×pow-sqr_binary64_51
21×times-frac_binary64_84
19×log-rec_binary64_166
18×associate-/r/_binary64_24
17×associate-+l-_binary64_13
15×cube-unmult_binary64_115
14×unpow3_binary64_144 pow-plus_binary64_141 exp-lft-sqr_binary64_133 distribute-rgt1-in_binary64_34
11×associate-+r-_binary64_12
10×cube-mult_binary64_108
rem-square-sqrt_binary64_90
distribute-lft1-in_binary64_33
div-exp_binary64_129 prod-exp_binary64_127 /-rgt-identity_binary64_69 distribute-rgt-out--_binary64_32 +-commutative_binary64_8
rec-exp_binary64_128 exp-diff_binary64_126 mul0-lft_binary64_60 *-inverses_binary64_58 cancel-sign-sub-inv_binary64_44 distribute-lft-neg-in_binary64_35
pow-base-1_binary64_138 1-exp_binary64_122 exp-1-e_binary64_121 rem-log-exp_binary64_119 rem-3cbrt-rft_binary64_104 rem-3cbrt-lft_binary64_103 sqr-abs_binary64_93 div-sub_binary64_83 neg-mul-1_binary64_74 mul0-rgt_binary64_61 rgt-mult-inverse_binary64_55 remove-double-div_binary64_54 distribute-neg-in_binary64_39
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 unpow2_binary64_143 unpow1/2_binary64_142 exp-to-pow_binary64_140 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-exp-log_binary64_118 cube-neg_binary64_105 rem-cbrt-cube_binary64_102 rem-cube-cbrt_binary64_101 sqr-neg_binary64_92 neg-sub0_binary64_73 unsub-neg_binary64_72 sub-neg_binary64_71 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 div0_binary64_59 +-inverses_binary64_57 lft-mult-inverse_binary64_56 difference-of-sqr--1_binary64_49 difference-of-sqr-1_binary64_48 difference-of-squares_binary64_47 cancel-sign-sub_binary64_43 distribute-neg-frac_binary64_42 distribute-frac-neg_binary64_41 distribute-neg-out_binary64_40 distribute-rgt-neg-out_binary64_38 distribute-lft-neg-out_binary64_37 distribute-rgt-neg-in_binary64_36 distribute-lft-out--_binary64_30 associate--r-_binary64_17 associate--l-_binary64_16 associate--l+_binary64_15 associate--r+_binary64_14
Counts
119 → 113
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0851420
11411281
25251263
321361244
448381244

prune166.0ms (3.4%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New1058113
Fresh415
Picked101
Done011
Total11010120
Error
0.0b
Counts
120 → 10
Compiler

Compiled 2151 to 1829 computations (15% saved)

localize5.0ms (0.1%)

Local error

Found 1 expressions with local error:

0.4b
(*.f64 x (sqrt.f64 2))

rewrite32.0ms (0.6%)

Algorithm
rewrite-expression-head
Error
0b
Rules
add-sqr-sqrt_binary64_100
associate-*r*_binary64_18
add-cube-cbrt_binary64_113 *-un-lft-identity_binary64_78 sqrt-prod_binary64_94
pow1_binary64_139 add-exp-log_binary64_116 add-cbrt-cube_binary64_114 associate-*l*_binary64_19
unswap-sqr_binary64_46
pow-prod-down_binary64_149 prod-exp_binary64_127 add-log-exp_binary64_117 cbrt-unprod_binary64_111 *-commutative_binary64_9
Counts
1 → 22
Calls

1 calls:

5.0ms
(*.f64 x (sqrt.f64 2))
Compiler

Compiled 272 to 232 computations (14.7% saved)

series50.0ms (1%)

Error
0.0b
Counts
1 → 3
Calls

1 calls:

48.0ms
(*.f64 x (sqrt.f64 2))
Compiler

Compiled 63 to 61 computations (3.2% saved)

simplify146.0ms (3%)

Algorithm
egg-herbie
Rules
612×distribute-rgt-out--_binary64_32
423×associate-/r/_binary64_24
381×cancel-sign-sub-inv_binary64_44
249×exp-prod_binary64_130
244×associate-*l*_binary64_19
226×log-prod_binary64_164 associate-/l/_binary64_25
220×unswap-sqr_binary64_46
212×cube-prod_binary64_106
185×swap-sqr_binary64_45
182×associate-*r*_binary64_18
142×times-frac_binary64_84
132×log-div_binary64_165 *-commutative_binary64_9
127×sqr-pow_binary64_50
123×cube-div_binary64_107
120×distribute-rgt-neg-in_binary64_36
89×distribute-lft-neg-in_binary64_35
71×pow-sqr_binary64_51
65×associate-*l/_binary64_21
53×exp-to-pow_binary64_140
45×exp-sum_binary64_124
41×distribute-rgt-out_binary64_31
39×distribute-rgt1-in_binary64_34
37×associate-/r*_binary64_22
36×sub-neg_binary64_71 *-lft-identity_binary64_67
35×associate-/l*_binary64_23
31×distribute-neg-frac_binary64_42
30×pow-plus_binary64_141 *-rgt-identity_binary64_68
28×associate-*r/_binary64_20
27×/-rgt-identity_binary64_69
26×log-pow_binary64_167
24×distribute-neg-in_binary64_39
21×cube-unmult_binary64_115
18×exp-lft-sqr_binary64_133
17×distribute-rgt-in_binary64_28
15×exp-diff_binary64_126
14×unpow3_binary64_144 exp-sqrt_binary64_131
13×log-rec_binary64_166
12×difference-of-squares_binary64_47 distribute-lft-in_binary64_27
11×distribute-lft1-in_binary64_33
10×distribute-lft-neg-out_binary64_37
cube-mult_binary64_108 rem-sqrt-square_binary64_91 neg-mul-1_binary64_74
distribute-rgt-neg-out_binary64_38
prod-exp_binary64_127 neg-sub0_binary64_73 +-inverses_binary64_57
div-sub_binary64_83 associate-+l+_binary64_11 associate-+r+_binary64_10
pow-base-1_binary64_138 sub0-neg_binary64_65 associate-+l-_binary64_13
unsub-neg_binary64_72 difference-of-sqr-1_binary64_48 distribute-lft-out--_binary64_30 distribute-lft-out_binary64_29 +-commutative_binary64_8
rem-log-exp_binary64_119 *-inverses_binary64_58 remove-double-div_binary64_54 count-2_binary64_26 associate-+r-_binary64_12
exp-lft-cube_binary64_134 1-exp_binary64_122 exp-1-e_binary64_121 rem-exp-log_binary64_118 rem-square-sqrt_binary64_90 mul0-rgt_binary64_61 div0_binary64_59 rgt-mult-inverse_binary64_55
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 unpow2_binary64_143 unpow1/2_binary64_142 unpow0_binary64_137 unpow1_binary64_136 unpow-1_binary64_135 exp-cbrt_binary64_132 div-exp_binary64_129 rec-exp_binary64_128 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 mul-1-neg_binary64_70 remove-double-neg_binary64_66 --rgt-identity_binary64_64 +-rgt-identity_binary64_63 +-lft-identity_binary64_62 mul0-lft_binary64_60 lft-mult-inverse_binary64_56 difference-of-sqr--1_binary64_49 cancel-sign-sub_binary64_43 distribute-frac-neg_binary64_41 distribute-neg-out_binary64_40 associate--r-_binary64_17 associate--l-_binary64_16 associate--l+_binary64_15 associate--r+_binary64_14
Counts
25 → 10
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
038228
170216
2183216
3235216
4360216
5972216
62388216

prune23.0ms (0.5%)

Pruning

10 alts after pruning (8 fresh and 2 done)

PrunedKeptTotal
New9110
Fresh178
Picked011
Done011
Total101020
Error
0.0b
Counts
20 → 10
Compiler

Compiled 273 to 232 computations (15% saved)

localize9.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.4b
(*.f64 (sqrt.f64 (sqrt.f64 (fabs.f64 (*.f64 x (sqrt.f64 2))))) (*.f64 (sqrt.f64 (fabs.f64 (*.f64 x (sqrt.f64 2)))) (sqrt.f64 (sqrt.f64 (fabs.f64 (*.f64 x (sqrt.f64 2)))))))
0.4b
(*.f64 x (sqrt.f64 2))
0.4b
(*.f64 x (sqrt.f64 2))
0.4b
(*.f64 x (sqrt.f64 2))

rewrite238.0ms (4.8%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
40×pow1_binary64_139
35×sqrt-pow1_binary64_96
30×add-sqr-sqrt_binary64_100
26×pow-prod-up_binary64_148
22×sqrt-prod_binary64_94
19×associate-*r*_binary64_18 pow1/2_binary64_158
18×associate-*l*_binary64_19
16×add-cube-cbrt_binary64_113 *-un-lft-identity_binary64_78
15×add-exp-log_binary64_116 add-cbrt-cube_binary64_114
10×pow-prod-down_binary64_149
prod-exp_binary64_127 cbrt-unprod_binary64_111 unswap-sqr_binary64_46
add-log-exp_binary64_117 *-commutative_binary64_9
pow3_binary64_161 sqrt-unprod_binary64_98
Counts
4 → 107
Calls

4 calls:

14.0ms
(*.f64 (sqrt.f64 (sqrt.f64 (fabs.f64 (*.f64 x (sqrt.f64 2))))) (*.f64 (sqrt.f64 (fabs.f64 (*.f64 x (sqrt.f64 2)))) (sqrt.f64 (sqrt.f64 (fabs.f64 (*.f64 x (sqrt.f64 2)))))))
5.0ms
(*.f64 x (sqrt.f64 2))
5.0ms
(*.f64 x (sqrt.f64 2))
5.0ms
(*.f64 x (sqrt.f64 2))
Compiler

Compiled 2947 to 2550 computations (13.5% saved)

series197.0ms (4%)

Error
0.0b
Counts
4 → 12
Calls

4 calls:

54.0ms
(*.f64 x (sqrt.f64 2))
53.0ms
(*.f64 x (sqrt.f64 2))
53.0ms
(*.f64 x (sqrt.f64 2))
22.0ms
(*.f64 (sqrt.f64 (sqrt.f64 (fabs.f64 (*.f64 x (sqrt.f64 2))))) (*.f64 (sqrt.f64 (fabs.f64 (*.f64 x (sqrt.f64 2)))) (sqrt.f64 (sqrt.f64 (fabs.f64 (*.f64 x (sqrt.f64 2)))))))
Compiler

Compiled 639 to 574 computations (10.2% saved)

simplify572.0ms (11.7%)

Algorithm
egg-herbie
Rules
351×unswap-sqr_binary64_46
341×associate-+l+_binary64_11
264×associate-*l*_binary64_19
254×associate-+r+_binary64_10
213×distribute-rgt-out_binary64_31
205×associate-*r*_binary64_18
168×sqr-pow_binary64_50 *-commutative_binary64_9
165×associate-/l*_binary64_23
155×associate-/r*_binary64_22
149×distribute-rgt-in_binary64_28
147×associate-*l/_binary64_21
143×distribute-lft-in_binary64_27
137×associate-*r/_binary64_20
108×exp-prod_binary64_130
101×log-div_binary64_165
98×pow-sqr_binary64_51
97×count-2_binary64_26
90×log-prod_binary64_164 cube-div_binary64_107
80×associate-/l/_binary64_25
71×cube-prod_binary64_106
67×exp-sum_binary64_124 distribute-lft-out_binary64_29
61×associate-/r/_binary64_24
58×*-lft-identity_binary64_67
54×swap-sqr_binary64_45
51×pow-plus_binary64_141
50×*-rgt-identity_binary64_68
34×times-frac_binary64_84
25×distribute-rgt1-in_binary64_34
21×+-commutative_binary64_8
20×cube-unmult_binary64_115
17×exp-sqrt_binary64_131
16×log-pow_binary64_167
14×/-rgt-identity_binary64_69
11×exp-lft-sqr_binary64_133
10×distribute-rgt-out--_binary64_32
rem-sqrt-square_binary64_91
unpow3_binary64_144
distribute-lft1-in_binary64_33 associate-+l-_binary64_13
log-rec_binary64_166
associate-+r-_binary64_12
rem-square-sqrt_binary64_90 cancel-sign-sub-inv_binary64_44 distribute-lft-neg-in_binary64_35 distribute-lft-out--_binary64_30
exp-to-pow_binary64_140 pow-base-1_binary64_138 exp-diff_binary64_126 distribute-rgt-neg-in_binary64_36
prod-exp_binary64_127 1-exp_binary64_122 exp-1-e_binary64_121 rem-log-exp_binary64_119 cube-mult_binary64_108 sqr-abs_binary64_93 neg-mul-1_binary64_74 *-inverses_binary64_58 rgt-mult-inverse_binary64_55 remove-double-div_binary64_54
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 unpow2_binary64_143 unpow1/2_binary64_142 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-neg_binary64_125 e-exp-1_binary64_123 exp-0_binary64_120 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-neg_binary64_92 div-sub_binary64_83 neg-sub0_binary64_73 unsub-neg_binary64_72 sub-neg_binary64_71 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_57 lft-mult-inverse_binary64_56 difference-of-sqr--1_binary64_49 difference-of-sqr-1_binary64_48 difference-of-squares_binary64_47 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 associate--r-_binary64_17 associate--l-_binary64_16 associate--l+_binary64_15 associate--r+_binary64_14
Counts
119 → 119
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01031871
11851277
24121226
35081205
411611184
531721184

prune167.0ms (3.4%)

Pruning

12 alts after pruning (9 fresh and 3 done)

PrunedKeptTotal
New1172119
Fresh077
Picked011
Done022
Total11712129
Error
0.0b
Counts
129 → 12
Compiler

Compiled 2463 to 2157 computations (12.4% saved)

regimes353.0ms (7.2%)

Accuracy

Total 0.4b remaining (99.8%)

Threshold costs 0.4b (99.8%)

Compiler

Compiled 3258 to 2875 computations (11.8% saved)

bsearch0.0ms (0%)

simplify4.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64_9
unpow1_binary64_136 1-exp_binary64_122
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 e-exp-1_binary64_123 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 +-commutative_binary64_8
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01124
11524
Proof
(=> (pow f64 (fabs f64 (* f64 (* f64 h0 (* f64 (cbrt f64 (sqrt f64 2)) (cbrt f64 (sqrt f64 2)))) (cbrt f64 (sqrt f64 2)))) 1)) unpow1_binary64_136 => (fabs f64 (=> (* f64 (* f64 h0 (* f64 (cbrt f64 (sqrt f64 2)) (cbrt f64 (sqrt f64 2)))) (cbrt f64 (sqrt f64 2))))) *-commutative_binary64_9 => (fabs f64 (* f64 (cbrt f64 (sqrt f64 2)) (* f64 h0 (* f64 (cbrt f64 (sqrt f64 2)) (cbrt f64 (sqrt f64 2))))))

end0.0ms (0%)

sample1.6s (32.1%)

Algorithm
intervals
Results
185.0ms8000×body128valid
0.0msbody128invalid
Compiler

Compiled 1043 to 928 computations (11% saved)

Profiling

Loading profile data...