Details

Time bar (total: 6.2s)

analyze68.0ms (1.1%)

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
25%74.9%0.1%4
25%74.9%0.1%5
43.7%50%6.3%6
43.7%43.7%12.6%7
59.3%26.5%14.1%8
59.3%22.6%18%9
67.1%13.7%19.2%10
67.1%11.5%21.4%11
71%6.9%22%12
71%5.8%23.2%13
73%3.5%23.5%14
Compiler

Compiled 7 to 6 computations (14.3% saved)

sample19.0ms (0.3%)

Algorithm
intervals
Results
11.0ms256×body128valid
0.0msbody128nan
Compiler

Compiled 13 to 13 computations (0% saved)

simplify148.0ms (2.4%)

Algorithm
egg-herbie
Rules
+-commutative_binary64_21832
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_22165 erf-erfc_binary64_22164 erf-odd_binary64_22163 if-if-and-not_binary64_22162 if-if-and_binary64_22161 if-if-or-not_binary64_22160 if-if-or_binary64_22159 if-not_binary64_22158 if-same_binary64_22157 if-false_binary64_22156 if-true_binary64_22155 not-gte_binary64_22154 not-lte_binary64_22153 not-gt_binary64_22152 not-lt_binary64_22151 gte-same_binary64_22150 lte-same_binary64_22149 gt-same_binary64_22148 lt-same_binary64_22147 sinh---cosh_binary64_22094 sinh-+-cosh_binary64_22093 sinh-cosh_binary64_22092 tanh-def-c_binary64_22091 tanh-def-b_binary64_22090 tanh-def-a_binary64_22089 cosh-def_binary64_22088 sinh-def_binary64_22087 tan-neg_binary64_22034 cos-neg_binary64_22033 sin-neg_binary64_22032 tan-0_binary64_22031 cos-0_binary64_22030 sin-0_binary64_22029 hang-m-tan_binary64_22028 hang-p-tan_binary64_22027 hang-m0-tan_binary64_22026 hang-p0-tan_binary64_22025 hang-0m-tan_binary64_22024 hang-0p-tan_binary64_22023 tan-+PI/2_binary64_22022 tan-+PI_binary64_22021 tan-PI_binary64_22020 tan-PI/3_binary64_22019 tan-PI/4_binary64_22018 tan-PI/6_binary64_22017 cos-+PI/2_binary64_22016 cos-+PI_binary64_22015 cos-PI_binary64_22014 cos-PI/2_binary64_22013 cos-PI/3_binary64_22012 cos-PI/4_binary64_22011 cos-PI/6_binary64_22010 sin-+PI/2_binary64_22009 sin-+PI_binary64_22008 sin-PI_binary64_22007 sin-PI/2_binary64_22006 sin-PI/3_binary64_22005 sin-PI/4_binary64_22004 sin-PI/6_binary64_22003 sub-1-sin_binary64_22002 sub-1-cos_binary64_22001 -1-add-sin_binary64_22000 -1-add-cos_binary64_21999 1-sub-sin_binary64_21998 1-sub-cos_binary64_21997 cos-sin-sum_binary64_21996 log-E_binary64_21992 log-pow_binary64_21991 log-rec_binary64_21990 log-div_binary64_21989 log-prod_binary64_21988 pow-base-0_binary64_21986 unpow1/3_binary64_21969 unpow3_binary64_21968 unpow2_binary64_21967 unpow1/2_binary64_21966 pow-plus_binary64_21965 exp-to-pow_binary64_21964 pow-base-1_binary64_21962 unpow0_binary64_21961 unpow1_binary64_21960 unpow-1_binary64_21959 exp-lft-cube_binary64_21958 exp-lft-sqr_binary64_21957 exp-cbrt_binary64_21956 exp-sqrt_binary64_21955 exp-prod_binary64_21954 div-exp_binary64_21953 rec-exp_binary64_21952 prod-exp_binary64_21951 exp-diff_binary64_21950 exp-neg_binary64_21949 exp-sum_binary64_21948 e-exp-1_binary64_21947 1-exp_binary64_21946 exp-1-e_binary64_21945 exp-0_binary64_21944 rem-log-exp_binary64_21943 rem-exp-log_binary64_21942 cube-unmult_binary64_21939 cube-mult_binary64_21932 cube-div_binary64_21931 cube-prod_binary64_21930 cube-neg_binary64_21929 rem-3cbrt-rft_binary64_21928 rem-3cbrt-lft_binary64_21927 rem-cbrt-cube_binary64_21926 rem-cube-cbrt_binary64_21925 sqr-abs_binary64_21917 sqr-neg_binary64_21916 rem-sqrt-square_binary64_21915 rem-square-sqrt_binary64_21914 times-frac_binary64_21908 div-sub_binary64_21907 neg-mul-1_binary64_21898 neg-sub0_binary64_21897 unsub-neg_binary64_21896 sub-neg_binary64_21895 mul-1-neg_binary64_21894 /-rgt-identity_binary64_21893 *-rgt-identity_binary64_21892 *-lft-identity_binary64_21891 remove-double-neg_binary64_21890 sub0-neg_binary64_21889 --rgt-identity_binary64_21888 +-rgt-identity_binary64_21887 +-lft-identity_binary64_21886 mul0-rgt_binary64_21885 mul0-lft_binary64_21884 div0_binary64_21883 *-inverses_binary64_21882 +-inverses_binary64_21881 lft-mult-inverse_binary64_21880 rgt-mult-inverse_binary64_21879 remove-double-div_binary64_21878 pow-sqr_binary64_21875 sqr-pow_binary64_21874 difference-of-sqr--1_binary64_21873 difference-of-sqr-1_binary64_21872 difference-of-squares_binary64_21871 unswap-sqr_binary64_21870 swap-sqr_binary64_21869 cancel-sign-sub-inv_binary64_21868 cancel-sign-sub_binary64_21867 distribute-neg-frac_binary64_21866 distribute-frac-neg_binary64_21865 distribute-neg-out_binary64_21864 distribute-neg-in_binary64_21863 distribute-rgt-neg-out_binary64_21862 distribute-lft-neg-out_binary64_21861 distribute-rgt-neg-in_binary64_21860 distribute-lft-neg-in_binary64_21859 distribute-rgt1-in_binary64_21858 distribute-lft1-in_binary64_21857 distribute-rgt-out--_binary64_21856 distribute-rgt-out_binary64_21855 distribute-lft-out--_binary64_21854 distribute-lft-out_binary64_21853 distribute-rgt-in_binary64_21852 distribute-lft-in_binary64_21851 count-2_binary64_21850 associate-/l/_binary64_21849 associate-/r/_binary64_21848 associate-/l*_binary64_21847 associate-/r*_binary64_21846 associate-*l/_binary64_21845 associate-*r/_binary64_21844 associate-*l*_binary64_21843 associate-*r*_binary64_21842 associate--r-_binary64_21841 associate--l-_binary64_21840 associate--l+_binary64_21839 associate--r+_binary64_21838 associate-+l-_binary64_21837 associate-+r-_binary64_21836 associate-+l+_binary64_21835 associate-+r+_binary64_21834 *-commutative_binary64_21833
Counts
1 → 0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
069
179

prune2.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 6 to 5 computations (16.7% saved)

localize4.0ms (0.1%)

Local error

Found 2 expressions with local error:

0.0b
(+.f64 (*.f64 x x) y)
18.7b
(sqrt.f64 (+.f64 (*.f64 x x) y))

rewrite31.0ms (0.5%)

Algorithm
rewrite-expression-head
Error
20.1b
Rules
add-log-exp_binary64_21941 add-sqr-sqrt_binary64_21924
pow1_binary64_21963 add-cube-cbrt_binary64_21937 sqrt-prod_binary64_21918 *-un-lft-identity_binary64_21902
add-exp-log_binary64_21940 add-cbrt-cube_binary64_21938 flip3-+_binary64_21905 sqrt-div_binary64_21919 flip-+_binary64_21876
pow1/2_binary64_21982 sqrt-pow1_binary64_21920 rem-sqrt-square_binary64_21915 sum-log_binary64_21993 +-commutative_binary64_21832
Counts
2 → 26
Calls

2 calls:

4.0ms
(sqrt.f64 (+.f64 (*.f64 x x) y))
4.0ms
(+.f64 (*.f64 x x) y)
Compiler

Compiled 355 to 89 computations (74.9% saved)

series219.0ms (3.5%)

Error
0.0b
Counts
2 → 27
Calls

2 calls:

113.0ms
(sqrt.f64 (+.f64 (*.f64 x x) y))
88.0ms
(+.f64 (*.f64 x x) y)
Compiler

Compiled 563 to 464 computations (17.6% saved)

simplify109.0ms (1.8%)

Algorithm
egg-herbie
Rules
828×times-frac_binary64_21908
437×associate-/l*_binary64_21847
339×cancel-sign-sub-inv_binary64_21868
212×unswap-sqr_binary64_21870
207×distribute-rgt-in_binary64_21852
178×distribute-lft-in_binary64_21851
160×associate-*l*_binary64_21843
153×associate-*r*_binary64_21842
148×distribute-rgt-neg-in_binary64_21860
143×distribute-lft-neg-in_binary64_21859
106×distribute-neg-frac_binary64_21866
101×sub-neg_binary64_21895 associate-/l/_binary64_21849
100×associate-/r/_binary64_21848
91×distribute-rgt-out_binary64_21855
74×sqr-pow_binary64_21874
66×distribute-lft-out_binary64_21853
60×*-commutative_binary64_21833
54×neg-sub0_binary64_21897
51×neg-mul-1_binary64_21898
47×pow-sqr_binary64_21875
44×associate-/r*_binary64_21846
32×+-commutative_binary64_21832
29×associate-+l+_binary64_21835
28×pow-plus_binary64_21965
27×associate-*l/_binary64_21845
26×distribute-lft-neg-out_binary64_21861
25×associate-*r/_binary64_21844
22×associate-+l-_binary64_21837
20×distribute-neg-in_binary64_21863
19×unsub-neg_binary64_21896 associate-+r-_binary64_21836
18×associate-+r+_binary64_21834
17×+-rgt-identity_binary64_21887
15×distribute-rgt-neg-out_binary64_21862 associate--r+_binary64_21838
13×div-sub_binary64_21907 distribute-rgt-out--_binary64_21856
11×sub0-neg_binary64_21889
10×cube-unmult_binary64_21939
exp-prod_binary64_21954 difference-of-squares_binary64_21871 associate--l+_binary64_21839
cube-prod_binary64_21930
unpow3_binary64_21968 cancel-sign-sub_binary64_21867 distribute-lft-out--_binary64_21854
cube-mult_binary64_21932 rem-sqrt-square_binary64_21915 count-2_binary64_21850
unpow2_binary64_21967 unpow1_binary64_21960 swap-sqr_binary64_21869 associate--l-_binary64_21840
log-prod_binary64_21988 prod-exp_binary64_21951 1-exp_binary64_21946 rem-square-sqrt_binary64_21914 mul-1-neg_binary64_21894 *-rgt-identity_binary64_21892 *-inverses_binary64_21882 rgt-mult-inverse_binary64_21879 distribute-neg-out_binary64_21864 distribute-rgt1-in_binary64_21858
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_22165 erf-erfc_binary64_22164 erf-odd_binary64_22163 if-if-and-not_binary64_22162 if-if-and_binary64_22161 if-if-or-not_binary64_22160 if-if-or_binary64_22159 if-not_binary64_22158 if-same_binary64_22157 if-false_binary64_22156 if-true_binary64_22155 not-gte_binary64_22154 not-lte_binary64_22153 not-gt_binary64_22152 not-lt_binary64_22151 gte-same_binary64_22150 lte-same_binary64_22149 gt-same_binary64_22148 lt-same_binary64_22147 sinh---cosh_binary64_22094 sinh-+-cosh_binary64_22093 sinh-cosh_binary64_22092 tanh-def-c_binary64_22091 tanh-def-b_binary64_22090 tanh-def-a_binary64_22089 cosh-def_binary64_22088 sinh-def_binary64_22087 tan-neg_binary64_22034 cos-neg_binary64_22033 sin-neg_binary64_22032 tan-0_binary64_22031 cos-0_binary64_22030 sin-0_binary64_22029 hang-m-tan_binary64_22028 hang-p-tan_binary64_22027 hang-m0-tan_binary64_22026 hang-p0-tan_binary64_22025 hang-0m-tan_binary64_22024 hang-0p-tan_binary64_22023 tan-+PI/2_binary64_22022 tan-+PI_binary64_22021 tan-PI_binary64_22020 tan-PI/3_binary64_22019 tan-PI/4_binary64_22018 tan-PI/6_binary64_22017 cos-+PI/2_binary64_22016 cos-+PI_binary64_22015 cos-PI_binary64_22014 cos-PI/2_binary64_22013 cos-PI/3_binary64_22012 cos-PI/4_binary64_22011 cos-PI/6_binary64_22010 sin-+PI/2_binary64_22009 sin-+PI_binary64_22008 sin-PI_binary64_22007 sin-PI/2_binary64_22006 sin-PI/3_binary64_22005 sin-PI/4_binary64_22004 sin-PI/6_binary64_22003 sub-1-sin_binary64_22002 sub-1-cos_binary64_22001 -1-add-sin_binary64_22000 -1-add-cos_binary64_21999 1-sub-sin_binary64_21998 1-sub-cos_binary64_21997 cos-sin-sum_binary64_21996 log-E_binary64_21992 log-pow_binary64_21991 log-rec_binary64_21990 log-div_binary64_21989 pow-base-0_binary64_21986 unpow1/3_binary64_21969 unpow1/2_binary64_21966 exp-to-pow_binary64_21964 pow-base-1_binary64_21962 unpow0_binary64_21961 unpow-1_binary64_21959 exp-lft-cube_binary64_21958 exp-lft-sqr_binary64_21957 exp-cbrt_binary64_21956 exp-sqrt_binary64_21955 div-exp_binary64_21953 rec-exp_binary64_21952 exp-diff_binary64_21950 exp-neg_binary64_21949 exp-sum_binary64_21948 e-exp-1_binary64_21947 exp-1-e_binary64_21945 exp-0_binary64_21944 rem-log-exp_binary64_21943 rem-exp-log_binary64_21942 cube-div_binary64_21931 cube-neg_binary64_21929 rem-3cbrt-rft_binary64_21928 rem-3cbrt-lft_binary64_21927 rem-cbrt-cube_binary64_21926 rem-cube-cbrt_binary64_21925 sqr-abs_binary64_21917 sqr-neg_binary64_21916 /-rgt-identity_binary64_21893 *-lft-identity_binary64_21891 remove-double-neg_binary64_21890 --rgt-identity_binary64_21888 +-lft-identity_binary64_21886 mul0-rgt_binary64_21885 mul0-lft_binary64_21884 div0_binary64_21883 +-inverses_binary64_21881 lft-mult-inverse_binary64_21880 remove-double-div_binary64_21878 difference-of-sqr--1_binary64_21873 difference-of-sqr-1_binary64_21872 distribute-frac-neg_binary64_21865 distribute-lft1-in_binary64_21857 associate--r-_binary64_21841
Counts
53 → 89
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
082644
1196623
2595623
31643611

prune83.0ms (1.3%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New86389
Fresh000
Picked011
Done000
Total86490
Error
0b
Counts
90 → 4
Compiler

Compiled 1556 to 590 computations (62.1% saved)

localize10.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.0b
(sqrt.f64 (sqrt.f64 (+.f64 (*.f64 x x) y)))
0.5b
(*.f64 (sqrt.f64 (sqrt.f64 (+.f64 (*.f64 x x) y))) (sqrt.f64 (sqrt.f64 (+.f64 y (*.f64 x x)))))
18.7b
(sqrt.f64 (+.f64 y (*.f64 x x)))
18.7b
(sqrt.f64 (+.f64 (*.f64 x x) y))

rewrite142.0ms (2.3%)

Algorithm
rewrite-expression-head
Error
0b
Rules
52×sqrt-prod_binary64_21918
36×add-sqr-sqrt_binary64_21924
32×sqrt-div_binary64_21919
14×pow1_binary64_21963 add-cube-cbrt_binary64_21937 sqrt-pow1_binary64_21920 *-un-lft-identity_binary64_21902
flip3-+_binary64_21905 flip-+_binary64_21876 unswap-sqr_binary64_21870 associate-*l*_binary64_21843 associate-*r*_binary64_21842
pow1/2_binary64_21982
add-exp-log_binary64_21940 add-cbrt-cube_binary64_21938
pow-prod-down_binary64_21973
add-log-exp_binary64_21941 rem-sqrt-square_binary64_21915 frac-times_binary64_21912
associate-*l/_binary64_21845 associate-*r/_binary64_21844
prod-exp_binary64_21951 cbrt-unprod_binary64_21935 sqrt-unprod_binary64_21922 *-commutative_binary64_21833
Counts
4 → 102
Calls

4 calls:

16.0ms
(*.f64 (sqrt.f64 (sqrt.f64 (+.f64 (*.f64 x x) y))) (sqrt.f64 (sqrt.f64 (+.f64 y (*.f64 x x)))))
7.0ms
(sqrt.f64 (+.f64 (*.f64 x x) y))
5.0ms
(sqrt.f64 (sqrt.f64 (+.f64 (*.f64 x x) y)))
3.0ms
(sqrt.f64 (+.f64 y (*.f64 x x)))
Compiler

Compiled 2661 to 390 computations (85.3% saved)

series622.0ms (10%)

Error
0b
Counts
4 → 56
Calls

4 calls:

172.0ms
(*.f64 (sqrt.f64 (sqrt.f64 (+.f64 (*.f64 x x) y))) (sqrt.f64 (sqrt.f64 (+.f64 y (*.f64 x x)))))
172.0ms
(sqrt.f64 (sqrt.f64 (+.f64 (*.f64 x x) y)))
114.0ms
(sqrt.f64 (+.f64 y (*.f64 x x)))
111.0ms
(sqrt.f64 (+.f64 (*.f64 x x) y))
Compiler

Compiled 2528 to 1749 computations (30.8% saved)

simplify474.0ms (7.7%)

Algorithm
egg-herbie
Rules
522×cancel-sign-sub-inv_binary64_21868
344×associate-*r*_binary64_21842
327×associate-*l*_binary64_21843
325×unswap-sqr_binary64_21870
154×distribute-neg-frac_binary64_21866
151×times-frac_binary64_21908
145×sub-neg_binary64_21895
141×associate-/l*_binary64_21847 *-commutative_binary64_21833
116×associate-/r*_binary64_21846
107×sqr-pow_binary64_21874
84×associate-*r/_binary64_21844
83×associate-*l/_binary64_21845
76×neg-sub0_binary64_21897
70×neg-mul-1_binary64_21898
66×pow-sqr_binary64_21875
61×distribute-rgt-neg-in_binary64_21860
58×distribute-rgt-in_binary64_21852
52×+-commutative_binary64_21832
47×distribute-lft-neg-in_binary64_21859
43×associate-/r/_binary64_21848
39×distribute-lft-in_binary64_21851 associate-+l+_binary64_21835
31×pow-plus_binary64_21965
30×associate-+l-_binary64_21837
28×associate-+r-_binary64_21836
27×exp-prod_binary64_21954 unsub-neg_binary64_21896
26×associate-+r+_binary64_21834
25×div-sub_binary64_21907
22×*-rgt-identity_binary64_21892 +-rgt-identity_binary64_21887
18×log-prod_binary64_21988 cube-prod_binary64_21930 *-lft-identity_binary64_21891 distribute-lft-neg-out_binary64_21861
17×exp-sum_binary64_21948 associate--l+_binary64_21839 associate--r+_binary64_21838
15×sub0-neg_binary64_21889
14×cube-unmult_binary64_21939
12×rem-sqrt-square_binary64_21915 swap-sqr_binary64_21869 distribute-neg-in_binary64_21863 associate-/l/_binary64_21849
10×difference-of-squares_binary64_21871
log-div_binary64_21989 exp-diff_binary64_21950
exp-sqrt_binary64_21955
cube-div_binary64_21931 rem-square-sqrt_binary64_21914 distribute-rgt-out--_binary64_21856 distribute-rgt-out_binary64_21855
unpow3_binary64_21968
cancel-sign-sub_binary64_21867
distribute-lft-out_binary64_21853
rem-exp-log_binary64_21942 cube-mult_binary64_21932 distribute-rgt-neg-out_binary64_21862
log-pow_binary64_21991 unpow2_binary64_21967 exp-to-pow_binary64_21964 unpow1_binary64_21960 exp-neg_binary64_21949 mul0-rgt_binary64_21885 mul0-lft_binary64_21884 associate--r-_binary64_21841 associate--l-_binary64_21840
exp-lft-sqr_binary64_21957 prod-exp_binary64_21951 1-exp_binary64_21946 exp-1-e_binary64_21945 rem-log-exp_binary64_21943 mul-1-neg_binary64_21894 /-rgt-identity_binary64_21893 remove-double-neg_binary64_21890 *-inverses_binary64_21882 +-inverses_binary64_21881 rgt-mult-inverse_binary64_21879 distribute-lft-out--_binary64_21854 count-2_binary64_21850
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_22165 erf-erfc_binary64_22164 erf-odd_binary64_22163 if-if-and-not_binary64_22162 if-if-and_binary64_22161 if-if-or-not_binary64_22160 if-if-or_binary64_22159 if-not_binary64_22158 if-same_binary64_22157 if-false_binary64_22156 if-true_binary64_22155 not-gte_binary64_22154 not-lte_binary64_22153 not-gt_binary64_22152 not-lt_binary64_22151 gte-same_binary64_22150 lte-same_binary64_22149 gt-same_binary64_22148 lt-same_binary64_22147 sinh---cosh_binary64_22094 sinh-+-cosh_binary64_22093 sinh-cosh_binary64_22092 tanh-def-c_binary64_22091 tanh-def-b_binary64_22090 tanh-def-a_binary64_22089 cosh-def_binary64_22088 sinh-def_binary64_22087 tan-neg_binary64_22034 cos-neg_binary64_22033 sin-neg_binary64_22032 tan-0_binary64_22031 cos-0_binary64_22030 sin-0_binary64_22029 hang-m-tan_binary64_22028 hang-p-tan_binary64_22027 hang-m0-tan_binary64_22026 hang-p0-tan_binary64_22025 hang-0m-tan_binary64_22024 hang-0p-tan_binary64_22023 tan-+PI/2_binary64_22022 tan-+PI_binary64_22021 tan-PI_binary64_22020 tan-PI/3_binary64_22019 tan-PI/4_binary64_22018 tan-PI/6_binary64_22017 cos-+PI/2_binary64_22016 cos-+PI_binary64_22015 cos-PI_binary64_22014 cos-PI/2_binary64_22013 cos-PI/3_binary64_22012 cos-PI/4_binary64_22011 cos-PI/6_binary64_22010 sin-+PI/2_binary64_22009 sin-+PI_binary64_22008 sin-PI_binary64_22007 sin-PI/2_binary64_22006 sin-PI/3_binary64_22005 sin-PI/4_binary64_22004 sin-PI/6_binary64_22003 sub-1-sin_binary64_22002 sub-1-cos_binary64_22001 -1-add-sin_binary64_22000 -1-add-cos_binary64_21999 1-sub-sin_binary64_21998 1-sub-cos_binary64_21997 cos-sin-sum_binary64_21996 log-E_binary64_21992 log-rec_binary64_21990 pow-base-0_binary64_21986 unpow1/3_binary64_21969 unpow1/2_binary64_21966 pow-base-1_binary64_21962 unpow0_binary64_21961 unpow-1_binary64_21959 exp-lft-cube_binary64_21958 exp-cbrt_binary64_21956 div-exp_binary64_21953 rec-exp_binary64_21952 e-exp-1_binary64_21947 exp-0_binary64_21944 cube-neg_binary64_21929 rem-3cbrt-rft_binary64_21928 rem-3cbrt-lft_binary64_21927 rem-cbrt-cube_binary64_21926 rem-cube-cbrt_binary64_21925 sqr-abs_binary64_21917 sqr-neg_binary64_21916 --rgt-identity_binary64_21888 +-lft-identity_binary64_21886 div0_binary64_21883 lft-mult-inverse_binary64_21880 remove-double-div_binary64_21878 difference-of-sqr--1_binary64_21873 difference-of-sqr-1_binary64_21872 distribute-frac-neg_binary64_21865 distribute-neg-out_binary64_21864 distribute-rgt1-in_binary64_21858 distribute-lft1-in_binary64_21857
Counts
158 → 304
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01942779
13672747
210872685
332042685

prune382.0ms (6.2%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New3040304
Fresh022
Picked011
Done011
Total3044308
Error
0b
Counts
308 → 4
Compiler

Compiled 8252 to 2612 computations (68.3% saved)

localize10.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.0b
(-.f64 x (*.f64 (/.f64 y x) (-.f64 (/.f64 1/8 (/.f64 (*.f64 x x) y)) 1/2)))
0.1b
(*.f64 (/.f64 y x) (-.f64 (/.f64 1/8 (/.f64 (*.f64 x x) y)) 1/2))
0.4b
(/.f64 1/8 (/.f64 (*.f64 x x) y))
5.4b
(/.f64 (*.f64 x x) y)

rewrite209.0ms (3.4%)

Algorithm
rewrite-expression-head
Error
0b
Rules
49×times-frac_binary64_21908
47×add-sqr-sqrt_binary64_21924
36×*-un-lft-identity_binary64_21902
34×add-cube-cbrt_binary64_21937
23×add-exp-log_binary64_21940 add-cbrt-cube_binary64_21938
13×cancel-sign-sub-inv_binary64_21868 associate-*l*_binary64_21843
10×associate-/r*_binary64_21846
div-exp_binary64_21953 cbrt-undiv_binary64_21936 distribute-rgt-in_binary64_21852 distribute-lft-in_binary64_21851 associate--r+_binary64_21838
div-inv_binary64_21899 associate-*r*_binary64_21842
pow1_binary64_21963 add-log-exp_binary64_21941
sub-neg_binary64_21895
prod-exp_binary64_21951 cbrt-unprod_binary64_21935 associate-/l*_binary64_21847
flip3--_binary64_21906 flip--_binary64_21877 difference-of-squares_binary64_21871
frac-2neg_binary64_21913 clear-num_binary64_21901 frac-times_binary64_21912 unswap-sqr_binary64_21870 associate-*r/_binary64_21844
associate-/r/_binary64_21848 pow-prod-down_binary64_21973 associate-*l/_binary64_21845 distribute-lft-out--_binary64_21854 *-commutative_binary64_21833 diff-log_binary64_21994
Counts
4 → 137
Calls

4 calls:

25.0ms
(*.f64 (/.f64 y x) (-.f64 (/.f64 1/8 (/.f64 (*.f64 x x) y)) 1/2))
6.0ms
(/.f64 1/8 (/.f64 (*.f64 x x) y))
5.0ms
(/.f64 (*.f64 x x) y)
5.0ms
(-.f64 x (*.f64 (/.f64 y x) (-.f64 (/.f64 1/8 (/.f64 (*.f64 x x) y)) 1/2)))
Compiler

Compiled 3343 to 1523 computations (54.4% saved)

series873.0ms (14.1%)

Error
0b
Counts
4 → 39
Calls

4 calls:

413.0ms
(-.f64 x (*.f64 (/.f64 y x) (-.f64 (/.f64 1/8 (/.f64 (*.f64 x x) y)) 1/2)))
198.0ms
(*.f64 (/.f64 y x) (-.f64 (/.f64 1/8 (/.f64 (*.f64 x x) y)) 1/2))
123.0ms
(/.f64 1/8 (/.f64 (*.f64 x x) y))
108.0ms
(/.f64 (*.f64 x x) y)
Compiler

Compiled 1350 to 1023 computations (24.2% saved)

simplify729.0ms (11.8%)

Algorithm
egg-herbie
Rules
460×associate-/l/_binary64_21849
344×distribute-rgt-in_binary64_21852
334×distribute-lft-in_binary64_21851
151×associate-*l/_binary64_21845
143×associate-*l*_binary64_21843
133×distribute-rgt-neg-in_binary64_21860
124×*-commutative_binary64_21833
121×associate-/r/_binary64_21848 associate-/l*_binary64_21847
112×cancel-sign-sub-inv_binary64_21868
109×associate-*r*_binary64_21842
108×distribute-lft-neg-in_binary64_21859
96×times-frac_binary64_21908
91×associate-*r/_binary64_21844
87×distribute-neg-frac_binary64_21866
70×distribute-lft-neg-out_binary64_21861
62×log-div_binary64_21989 associate-/r*_binary64_21846
54×log-prod_binary64_21988 distribute-rgt-neg-out_binary64_21862
53×sub-neg_binary64_21895
52×neg-sub0_binary64_21897
50×neg-mul-1_binary64_21898 +-commutative_binary64_21832
47×sqr-pow_binary64_21874
38×unswap-sqr_binary64_21870
34×*-rgt-identity_binary64_21892
33×distribute-rgt-out_binary64_21855
29×exp-prod_binary64_21954 associate-+l+_binary64_21835
27×cube-prod_binary64_21930
26×associate-+r+_binary64_21834
25×cube-div_binary64_21931 *-lft-identity_binary64_21891 swap-sqr_binary64_21869
24×unpow3_binary64_21968 pow-plus_binary64_21965 div-sub_binary64_21907
22×associate--r+_binary64_21838
21×pow-sqr_binary64_21875 distribute-neg-in_binary64_21863
18×associate-+l-_binary64_21837
15×associate-+r-_binary64_21836
10×div-exp_binary64_21953 exp-sum_binary64_21948
prod-exp_binary64_21951
log-pow_binary64_21991
unsub-neg_binary64_21896 /-rgt-identity_binary64_21893 difference-of-squares_binary64_21871
cube-mult_binary64_21932 distribute-lft-out_binary64_21853
exp-diff_binary64_21950 cube-unmult_binary64_21939
log-rec_binary64_21990 distribute-rgt-out--_binary64_21856
rec-exp_binary64_21952 associate--r-_binary64_21841 associate--l-_binary64_21840 associate--l+_binary64_21839
unpow2_binary64_21967 unpow1_binary64_21960 remove-double-neg_binary64_21890 +-rgt-identity_binary64_21887 div0_binary64_21883 distribute-frac-neg_binary64_21865
exp-sqrt_binary64_21955 1-exp_binary64_21946 exp-1-e_binary64_21945 rem-log-exp_binary64_21943 rem-3cbrt-lft_binary64_21927 rem-sqrt-square_binary64_21915 rem-square-sqrt_binary64_21914 *-inverses_binary64_21882 cancel-sign-sub_binary64_21867 count-2_binary64_21850
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_22165 erf-erfc_binary64_22164 erf-odd_binary64_22163 if-if-and-not_binary64_22162 if-if-and_binary64_22161 if-if-or-not_binary64_22160 if-if-or_binary64_22159 if-not_binary64_22158 if-same_binary64_22157 if-false_binary64_22156 if-true_binary64_22155 not-gte_binary64_22154 not-lte_binary64_22153 not-gt_binary64_22152 not-lt_binary64_22151 gte-same_binary64_22150 lte-same_binary64_22149 gt-same_binary64_22148 lt-same_binary64_22147 sinh---cosh_binary64_22094 sinh-+-cosh_binary64_22093 sinh-cosh_binary64_22092 tanh-def-c_binary64_22091 tanh-def-b_binary64_22090 tanh-def-a_binary64_22089 cosh-def_binary64_22088 sinh-def_binary64_22087 tan-neg_binary64_22034 cos-neg_binary64_22033 sin-neg_binary64_22032 tan-0_binary64_22031 cos-0_binary64_22030 sin-0_binary64_22029 hang-m-tan_binary64_22028 hang-p-tan_binary64_22027 hang-m0-tan_binary64_22026 hang-p0-tan_binary64_22025 hang-0m-tan_binary64_22024 hang-0p-tan_binary64_22023 tan-+PI/2_binary64_22022 tan-+PI_binary64_22021 tan-PI_binary64_22020 tan-PI/3_binary64_22019 tan-PI/4_binary64_22018 tan-PI/6_binary64_22017 cos-+PI/2_binary64_22016 cos-+PI_binary64_22015 cos-PI_binary64_22014 cos-PI/2_binary64_22013 cos-PI/3_binary64_22012 cos-PI/4_binary64_22011 cos-PI/6_binary64_22010 sin-+PI/2_binary64_22009 sin-+PI_binary64_22008 sin-PI_binary64_22007 sin-PI/2_binary64_22006 sin-PI/3_binary64_22005 sin-PI/4_binary64_22004 sin-PI/6_binary64_22003 sub-1-sin_binary64_22002 sub-1-cos_binary64_22001 -1-add-sin_binary64_22000 -1-add-cos_binary64_21999 1-sub-sin_binary64_21998 1-sub-cos_binary64_21997 cos-sin-sum_binary64_21996 log-E_binary64_21992 pow-base-0_binary64_21986 unpow1/3_binary64_21969 unpow1/2_binary64_21966 exp-to-pow_binary64_21964 pow-base-1_binary64_21962 unpow0_binary64_21961 unpow-1_binary64_21959 exp-lft-cube_binary64_21958 exp-lft-sqr_binary64_21957 exp-cbrt_binary64_21956 exp-neg_binary64_21949 e-exp-1_binary64_21947 exp-0_binary64_21944 rem-exp-log_binary64_21942 cube-neg_binary64_21929 rem-3cbrt-rft_binary64_21928 rem-cbrt-cube_binary64_21926 rem-cube-cbrt_binary64_21925 sqr-abs_binary64_21917 sqr-neg_binary64_21916 mul-1-neg_binary64_21894 sub0-neg_binary64_21889 --rgt-identity_binary64_21888 +-lft-identity_binary64_21886 mul0-rgt_binary64_21885 mul0-lft_binary64_21884 +-inverses_binary64_21881 lft-mult-inverse_binary64_21880 rgt-mult-inverse_binary64_21879 remove-double-div_binary64_21878 difference-of-sqr--1_binary64_21873 difference-of-sqr-1_binary64_21872 distribute-neg-out_binary64_21864 distribute-rgt1-in_binary64_21858 distribute-lft1-in_binary64_21857 distribute-lft-out--_binary64_21854
Counts
176 → 630
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02513327
16533180
222093135
349133135

prune1.2s (19.2%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New6300630
Fresh011
Picked011
Done022
Total6304634
Error
0b
Counts
634 → 4
Compiler

Compiled 15578 to 7750 computations (50.3% saved)

localize2.0ms (0%)

rewrite8.0ms (0.1%)

Algorithm
rewrite-expression-head
Error
0b
Counts
0 → 0
Compiler

Compiled 0 to 0 computations (0% saved)

series0.0ms (0%)

Error
0b
Counts
0 → 0
Compiler

Compiled 0 to 0 computations (0% saved)

simplify9.0ms (0.1%)

Algorithm
egg-herbie
Rules
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_22165 erf-erfc_binary64_22164 erf-odd_binary64_22163 if-if-and-not_binary64_22162 if-if-and_binary64_22161 if-if-or-not_binary64_22160 if-if-or_binary64_22159 if-not_binary64_22158 if-same_binary64_22157 if-false_binary64_22156 if-true_binary64_22155 not-gte_binary64_22154 not-lte_binary64_22153 not-gt_binary64_22152 not-lt_binary64_22151 gte-same_binary64_22150 lte-same_binary64_22149 gt-same_binary64_22148 lt-same_binary64_22147 sinh---cosh_binary64_22094 sinh-+-cosh_binary64_22093 sinh-cosh_binary64_22092 tanh-def-c_binary64_22091 tanh-def-b_binary64_22090 tanh-def-a_binary64_22089 cosh-def_binary64_22088 sinh-def_binary64_22087 tan-neg_binary64_22034 cos-neg_binary64_22033 sin-neg_binary64_22032 tan-0_binary64_22031 cos-0_binary64_22030 sin-0_binary64_22029 hang-m-tan_binary64_22028 hang-p-tan_binary64_22027 hang-m0-tan_binary64_22026 hang-p0-tan_binary64_22025 hang-0m-tan_binary64_22024 hang-0p-tan_binary64_22023 tan-+PI/2_binary64_22022 tan-+PI_binary64_22021 tan-PI_binary64_22020 tan-PI/3_binary64_22019 tan-PI/4_binary64_22018 tan-PI/6_binary64_22017 cos-+PI/2_binary64_22016 cos-+PI_binary64_22015 cos-PI_binary64_22014 cos-PI/2_binary64_22013 cos-PI/3_binary64_22012 cos-PI/4_binary64_22011 cos-PI/6_binary64_22010 sin-+PI/2_binary64_22009 sin-+PI_binary64_22008 sin-PI_binary64_22007 sin-PI/2_binary64_22006 sin-PI/3_binary64_22005 sin-PI/4_binary64_22004 sin-PI/6_binary64_22003 sub-1-sin_binary64_22002 sub-1-cos_binary64_22001 -1-add-sin_binary64_22000 -1-add-cos_binary64_21999 1-sub-sin_binary64_21998 1-sub-cos_binary64_21997 cos-sin-sum_binary64_21996 log-E_binary64_21992 log-pow_binary64_21991 log-rec_binary64_21990 log-div_binary64_21989 log-prod_binary64_21988 pow-base-0_binary64_21986 unpow1/3_binary64_21969 unpow3_binary64_21968 unpow2_binary64_21967 unpow1/2_binary64_21966 pow-plus_binary64_21965 exp-to-pow_binary64_21964 pow-base-1_binary64_21962 unpow0_binary64_21961 unpow1_binary64_21960 unpow-1_binary64_21959 exp-lft-cube_binary64_21958 exp-lft-sqr_binary64_21957 exp-cbrt_binary64_21956 exp-sqrt_binary64_21955 exp-prod_binary64_21954 div-exp_binary64_21953 rec-exp_binary64_21952 prod-exp_binary64_21951 exp-diff_binary64_21950 exp-neg_binary64_21949 exp-sum_binary64_21948 e-exp-1_binary64_21947 1-exp_binary64_21946 exp-1-e_binary64_21945 exp-0_binary64_21944 rem-log-exp_binary64_21943 rem-exp-log_binary64_21942 cube-unmult_binary64_21939 cube-mult_binary64_21932 cube-div_binary64_21931 cube-prod_binary64_21930 cube-neg_binary64_21929 rem-3cbrt-rft_binary64_21928 rem-3cbrt-lft_binary64_21927 rem-cbrt-cube_binary64_21926 rem-cube-cbrt_binary64_21925 sqr-abs_binary64_21917 sqr-neg_binary64_21916 rem-sqrt-square_binary64_21915 rem-square-sqrt_binary64_21914 times-frac_binary64_21908 div-sub_binary64_21907 neg-mul-1_binary64_21898 neg-sub0_binary64_21897 unsub-neg_binary64_21896 sub-neg_binary64_21895 mul-1-neg_binary64_21894 /-rgt-identity_binary64_21893 *-rgt-identity_binary64_21892 *-lft-identity_binary64_21891 remove-double-neg_binary64_21890 sub0-neg_binary64_21889 --rgt-identity_binary64_21888 +-rgt-identity_binary64_21887 +-lft-identity_binary64_21886 mul0-rgt_binary64_21885 mul0-lft_binary64_21884 div0_binary64_21883 *-inverses_binary64_21882 +-inverses_binary64_21881 lft-mult-inverse_binary64_21880 rgt-mult-inverse_binary64_21879 remove-double-div_binary64_21878 pow-sqr_binary64_21875 sqr-pow_binary64_21874 difference-of-sqr--1_binary64_21873 difference-of-sqr-1_binary64_21872 difference-of-squares_binary64_21871 unswap-sqr_binary64_21870 swap-sqr_binary64_21869 cancel-sign-sub-inv_binary64_21868 cancel-sign-sub_binary64_21867 distribute-neg-frac_binary64_21866 distribute-frac-neg_binary64_21865 distribute-neg-out_binary64_21864 distribute-neg-in_binary64_21863 distribute-rgt-neg-out_binary64_21862 distribute-lft-neg-out_binary64_21861 distribute-rgt-neg-in_binary64_21860 distribute-lft-neg-in_binary64_21859 distribute-rgt1-in_binary64_21858 distribute-lft1-in_binary64_21857 distribute-rgt-out--_binary64_21856 distribute-rgt-out_binary64_21855 distribute-lft-out--_binary64_21854 distribute-lft-out_binary64_21853 distribute-rgt-in_binary64_21852 distribute-lft-in_binary64_21851 count-2_binary64_21850 associate-/l/_binary64_21849 associate-/r/_binary64_21848 associate-/l*_binary64_21847 associate-/r*_binary64_21846 associate-*l/_binary64_21845 associate-*r/_binary64_21844 associate-*l*_binary64_21843 associate-*r*_binary64_21842 associate--r-_binary64_21841 associate--l-_binary64_21840 associate--l+_binary64_21839 associate--r+_binary64_21838 associate-+l-_binary64_21837 associate-+r-_binary64_21836 associate-+l+_binary64_21835 associate-+r+_binary64_21834 *-commutative_binary64_21833 +-commutative_binary64_21832
Counts
0 → 0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000

prune1.0ms (0%)

Pruning

4 alts after pruning (0 fresh and 4 done)

PrunedKeptTotal
New000
Fresh000
Picked011
Done033
Total044
Error
0b
Counts
4 → 4
Compiler

Compiled 0 to 0 computations (0% saved)

regimes209.0ms (3.4%)

Accuracy

Total 0.0b remaining (79.1%)

Threshold costs 0.0b (79.1%)

Compiler

Compiled 516 to 422 computations (18.2% saved)

bsearch23.0ms (0.4%)

Steps
ItersRangePoint
3
5.1480053557963014e+135
6.593620608877907e+135
5.2140153461603685e+135
10
-3.2165725474231095e+157
-1.2289960017047064e+146
-1.3411284397379803e+154
Compiler

Compiled 1 to 2 computations (-100% saved)

simplify5.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary64_21832
*-commutative_binary64_21833
neg-sub0_binary64_21897 sub-neg_binary64_21895 mul-1-neg_binary64_21894
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_22162 if-if-and_binary64_22161 if-if-or-not_binary64_22160 if-if-or_binary64_22159 if-not_binary64_22158 if-same_binary64_22157 if-false_binary64_22156 if-true_binary64_22155 tan-0_binary64_22031 cos-0_binary64_22030 sin-0_binary64_22029 unpow1_binary64_21960 e-exp-1_binary64_21947 1-exp_binary64_21946 exp-1-e_binary64_21945 exp-0_binary64_21944 sqr-abs_binary64_21917 sqr-neg_binary64_21916 neg-mul-1_binary64_21898 unsub-neg_binary64_21896 /-rgt-identity_binary64_21893 *-rgt-identity_binary64_21892 *-lft-identity_binary64_21891 remove-double-neg_binary64_21890 sub0-neg_binary64_21889 --rgt-identity_binary64_21888 +-rgt-identity_binary64_21887 +-lft-identity_binary64_21886 cancel-sign-sub-inv_binary64_21868 cancel-sign-sub_binary64_21867 distribute-neg-frac_binary64_21866 distribute-frac-neg_binary64_21865 distribute-neg-out_binary64_21864 distribute-neg-in_binary64_21863 distribute-rgt-neg-out_binary64_21862 distribute-lft-neg-out_binary64_21861 distribute-rgt-neg-in_binary64_21860 distribute-lft-neg-in_binary64_21859
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01934
12434
22634
32734
42834
Proof
(if real (<= f64 h0 -13411284397379802924545990801038831822307222629253063495936935408657244621287948110130908140256944424278430502387446460929054526414745438475780569251708928) (=> (* f64 -1 h0)) (if real (<= f64 h0 5214015346160368497777214983101959924248522932840924733231724370154238628919799715416334993000874916267028150835605751258882519922114560) (sqrt f64 (+ f64 (* f64 h0 h0) h1)) (+ f64 h0 (* f64 1/2 (/ f64 h1 h0))))) mul-1-neg_binary64_21894 => (if real (<= f64 h0 -13411284397379802924545990801038831822307222629253063495936935408657244621287948110130908140256944424278430502387446460929054526414745438475780569251708928) (neg f64 h0) (if real (<= f64 h0 5214015346160368497777214983101959924248522932840924733231724370154238628919799715416334993000874916267028150835605751258882519922114560) (sqrt f64 (+ f64 (* f64 h0 h0) h1)) (+ f64 h0 (* f64 1/2 (/ f64 h1 h0)))))

end0.0ms (0%)

sample613.0ms (9.9%)

Algorithm
intervals
Results
210.0ms8000×body128valid
4.0ms176×body128nan
Compiler

Compiled 133 to 105 computations (21.1% saved)

Profiling

Loading profile data...