Details

Time bar (total: 7.5s)

analyze360.0ms (4.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
12.5%87.4%0.1%6
34.3%65.5%0.1%7
46.8%53%0.1%8
48%51.9%0.1%9
63%36.9%0.1%10
71.7%28.2%0.1%11
72%27.8%0.1%12
80.5%19.4%0.1%13
85.4%14.5%0.1%14
Compiler

Compiled 10 to 9 computations (10% saved)

sample41.0ms (0.5%)

Algorithm
intervals
Results
14.0ms52×body1024valid
10.0ms169×body128valid
4.0ms20×body512valid
2.0ms15×body256valid
Compiler

Compiled 19 to 20 computations (-5.3% saved)

simplify161.0ms (2.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary64_4782
associate-+l+_binary64_4785 associate-+r+_binary64_4784
*-commutative_binary64_4783
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_5115 erf-erfc_binary64_5114 erf-odd_binary64_5113 if-if-and-not_binary64_5112 if-if-and_binary64_5111 if-if-or-not_binary64_5110 if-if-or_binary64_5109 if-not_binary64_5108 if-same_binary64_5107 if-false_binary64_5106 if-true_binary64_5105 not-gte_binary64_5104 not-lte_binary64_5103 not-gt_binary64_5102 not-lt_binary64_5101 gte-same_binary64_5100 lte-same_binary64_5099 gt-same_binary64_5098 lt-same_binary64_5097 sinh---cosh_binary64_5044 sinh-+-cosh_binary64_5043 sinh-cosh_binary64_5042 tanh-def-c_binary64_5041 tanh-def-b_binary64_5040 tanh-def-a_binary64_5039 cosh-def_binary64_5038 sinh-def_binary64_5037 tan-neg_binary64_4984 cos-neg_binary64_4983 sin-neg_binary64_4982 tan-0_binary64_4981 cos-0_binary64_4980 sin-0_binary64_4979 hang-m-tan_binary64_4978 hang-p-tan_binary64_4977 hang-m0-tan_binary64_4976 hang-p0-tan_binary64_4975 hang-0m-tan_binary64_4974 hang-0p-tan_binary64_4973 tan-+PI/2_binary64_4972 tan-+PI_binary64_4971 tan-PI_binary64_4970 tan-PI/3_binary64_4969 tan-PI/4_binary64_4968 tan-PI/6_binary64_4967 cos-+PI/2_binary64_4966 cos-+PI_binary64_4965 cos-PI_binary64_4964 cos-PI/2_binary64_4963 cos-PI/3_binary64_4962 cos-PI/4_binary64_4961 cos-PI/6_binary64_4960 sin-+PI/2_binary64_4959 sin-+PI_binary64_4958 sin-PI_binary64_4957 sin-PI/2_binary64_4956 sin-PI/3_binary64_4955 sin-PI/4_binary64_4954 sin-PI/6_binary64_4953 sub-1-sin_binary64_4952 sub-1-cos_binary64_4951 -1-add-sin_binary64_4950 -1-add-cos_binary64_4949 1-sub-sin_binary64_4948 1-sub-cos_binary64_4947 cos-sin-sum_binary64_4946 log-E_binary64_4942 log-pow_binary64_4941 log-rec_binary64_4940 log-div_binary64_4939 log-prod_binary64_4938 pow-base-0_binary64_4936 unpow1/3_binary64_4919 unpow3_binary64_4918 unpow2_binary64_4917 unpow1/2_binary64_4916 pow-plus_binary64_4915 exp-to-pow_binary64_4914 pow-base-1_binary64_4912 unpow0_binary64_4911 unpow1_binary64_4910 unpow-1_binary64_4909 exp-lft-cube_binary64_4908 exp-lft-sqr_binary64_4907 exp-cbrt_binary64_4906 exp-sqrt_binary64_4905 exp-prod_binary64_4904 div-exp_binary64_4903 rec-exp_binary64_4902 prod-exp_binary64_4901 exp-diff_binary64_4900 exp-neg_binary64_4899 exp-sum_binary64_4898 e-exp-1_binary64_4897 1-exp_binary64_4896 exp-1-e_binary64_4895 exp-0_binary64_4894 rem-log-exp_binary64_4893 rem-exp-log_binary64_4892 cube-unmult_binary64_4889 cube-mult_binary64_4882 cube-div_binary64_4881 cube-prod_binary64_4880 cube-neg_binary64_4879 rem-3cbrt-rft_binary64_4878 rem-3cbrt-lft_binary64_4877 rem-cbrt-cube_binary64_4876 rem-cube-cbrt_binary64_4875 sqr-abs_binary64_4867 sqr-neg_binary64_4866 rem-sqrt-square_binary64_4865 rem-square-sqrt_binary64_4864 times-frac_binary64_4858 div-sub_binary64_4857 neg-mul-1_binary64_4848 neg-sub0_binary64_4847 unsub-neg_binary64_4846 sub-neg_binary64_4845 mul-1-neg_binary64_4844 /-rgt-identity_binary64_4843 *-rgt-identity_binary64_4842 *-lft-identity_binary64_4841 remove-double-neg_binary64_4840 sub0-neg_binary64_4839 --rgt-identity_binary64_4838 +-rgt-identity_binary64_4837 +-lft-identity_binary64_4836 mul0-rgt_binary64_4835 mul0-lft_binary64_4834 div0_binary64_4833 *-inverses_binary64_4832 +-inverses_binary64_4831 lft-mult-inverse_binary64_4830 rgt-mult-inverse_binary64_4829 remove-double-div_binary64_4828 pow-sqr_binary64_4825 sqr-pow_binary64_4824 difference-of-sqr--1_binary64_4823 difference-of-sqr-1_binary64_4822 difference-of-squares_binary64_4821 unswap-sqr_binary64_4820 swap-sqr_binary64_4819 cancel-sign-sub-inv_binary64_4818 cancel-sign-sub_binary64_4817 distribute-neg-frac_binary64_4816 distribute-frac-neg_binary64_4815 distribute-neg-out_binary64_4814 distribute-neg-in_binary64_4813 distribute-rgt-neg-out_binary64_4812 distribute-lft-neg-out_binary64_4811 distribute-rgt-neg-in_binary64_4810 distribute-lft-neg-in_binary64_4809 distribute-rgt1-in_binary64_4808 distribute-lft1-in_binary64_4807 distribute-rgt-out--_binary64_4806 distribute-rgt-out_binary64_4805 distribute-lft-out--_binary64_4804 distribute-lft-out_binary64_4803 distribute-rgt-in_binary64_4802 distribute-lft-in_binary64_4801 count-2_binary64_4800 associate-/l/_binary64_4799 associate-/r/_binary64_4798 associate-/l*_binary64_4797 associate-/r*_binary64_4796 associate-*l/_binary64_4795 associate-*r/_binary64_4794 associate-*l*_binary64_4793 associate-*r*_binary64_4792 associate--r-_binary64_4791 associate--l-_binary64_4790 associate--l+_binary64_4789 associate--r+_binary64_4788 associate-+l-_binary64_4787 associate-+r-_binary64_4786
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0914
11414
22014
32014

prune4.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 18 to 16 computations (11.1% saved)

localize10.0ms (0.1%)

Local error

Found 2 expressions with local error:

0.0b
(+.f64 x (sin.f64 y))
0.1b
(*.f64 z (cos.f64 y))

rewrite41.0ms (0.5%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
add-sqr-sqrt_binary64_4874 *-un-lft-identity_binary64_4852
pow1_binary64_4913 add-exp-log_binary64_4890 add-log-exp_binary64_4891 add-cbrt-cube_binary64_4888 add-cube-cbrt_binary64_4887
associate-*l*_binary64_4793 associate-*r*_binary64_4792
pow-prod-down_binary64_4923 prod-exp_binary64_4901 cbrt-unprod_binary64_4885 unswap-sqr_binary64_4820 *-commutative_binary64_4783 sum-log_binary64_4943 flip3-+_binary64_4855 flip-+_binary64_4826 distribute-lft-out_binary64_4803 +-commutative_binary64_4782
Counts
2 → 30
Calls

2 calls:

4.0ms
(*.f64 z (cos.f64 y))
4.0ms
(+.f64 x (sin.f64 y))
Compiler

Compiled 436 to 124 computations (71.6% saved)

series219.0ms (2.9%)

Error
0.1b
Counts
2 → 21
Calls

2 calls:

120.0ms
(*.f64 z (cos.f64 y))
81.0ms
(+.f64 x (sin.f64 y))
Compiler

Compiled 548 to 352 computations (35.8% saved)

simplify129.0ms (1.7%)

Algorithm
egg-herbie
Rules
455×associate-*l/_binary64_4795
437×associate-*r/_binary64_4794
309×cancel-sign-sub-inv_binary64_4818
302×distribute-rgt-neg-in_binary64_4810
260×sub-neg_binary64_4845
217×associate-*l*_binary64_4793
203×*-commutative_binary64_4783
189×distribute-neg-frac_binary64_4816
172×associate-*r*_binary64_4792
132×times-frac_binary64_4858 unswap-sqr_binary64_4820
130×associate-+l+_binary64_4785
116×associate-+r+_binary64_4784
113×sqr-pow_binary64_4824
108×distribute-lft-neg-in_binary64_4809
97×neg-mul-1_binary64_4848
94×neg-sub0_binary64_4847
87×distribute-rgt-in_binary64_4802
85×associate-/r*_binary64_4796
76×associate-+l-_binary64_4787
72×distribute-lft-in_binary64_4801
70×associate-/r/_binary64_4798
68×unsub-neg_binary64_4846 +-commutative_binary64_4782
66×associate-/l*_binary64_4797
65×pow-sqr_binary64_4825 distribute-lft-neg-out_binary64_4811
61×*-rgt-identity_binary64_4842 distribute-neg-in_binary64_4813
58×*-lft-identity_binary64_4841
51×associate-+r-_binary64_4786
49×log-div_binary64_4939
45×cube-div_binary64_4881
44×distribute-rgt-neg-out_binary64_4812
39×/-rgt-identity_binary64_4843
38×exp-sqrt_binary64_4905
37×distribute-rgt-out_binary64_4805
36×associate--l+_binary64_4789
34×exp-prod_binary64_4904
33×log-prod_binary64_4938
31×associate--l-_binary64_4790
30×cube-prod_binary64_4880
29×sub0-neg_binary64_4839
26×associate-/l/_binary64_4799
24×distribute-rgt-out--_binary64_4806 distribute-lft-out_binary64_4803
23×distribute-lft-out--_binary64_4804
22×+-rgt-identity_binary64_4837 associate--r+_binary64_4788
19×cube-unmult_binary64_4889
17×swap-sqr_binary64_4819
16×pow-plus_binary64_4915
10×exp-lft-sqr_binary64_4907 remove-double-neg_binary64_4840 mul0-rgt_binary64_4835 mul0-lft_binary64_4834 cancel-sign-sub_binary64_4817
exp-sum_binary64_4898
unpow3_binary64_4918
cube-mult_binary64_4882 distribute-neg-out_binary64_4814 distribute-rgt1-in_binary64_4808
exp-diff_binary64_4900
div-sub_binary64_4857
prod-exp_binary64_4901 --rgt-identity_binary64_4838 difference-of-squares_binary64_4821 count-2_binary64_4800
log-pow_binary64_4941 log-rec_binary64_4940 unpow2_binary64_4917 pow-base-1_binary64_4912 unpow1_binary64_4910 1-exp_binary64_4896 exp-1-e_binary64_4895 rem-log-exp_binary64_4893 rem-exp-log_binary64_4892 rem-sqrt-square_binary64_4865 *-inverses_binary64_4832 rgt-mult-inverse_binary64_4829 associate--r-_binary64_4791
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_5115 erf-erfc_binary64_5114 erf-odd_binary64_5113 if-if-and-not_binary64_5112 if-if-and_binary64_5111 if-if-or-not_binary64_5110 if-if-or_binary64_5109 if-not_binary64_5108 if-same_binary64_5107 if-false_binary64_5106 if-true_binary64_5105 not-gte_binary64_5104 not-lte_binary64_5103 not-gt_binary64_5102 not-lt_binary64_5101 gte-same_binary64_5100 lte-same_binary64_5099 gt-same_binary64_5098 lt-same_binary64_5097 sinh---cosh_binary64_5044 sinh-+-cosh_binary64_5043 sinh-cosh_binary64_5042 tanh-def-c_binary64_5041 tanh-def-b_binary64_5040 tanh-def-a_binary64_5039 cosh-def_binary64_5038 sinh-def_binary64_5037 tan-neg_binary64_4984 cos-neg_binary64_4983 sin-neg_binary64_4982 tan-0_binary64_4981 cos-0_binary64_4980 sin-0_binary64_4979 hang-m-tan_binary64_4978 hang-p-tan_binary64_4977 hang-m0-tan_binary64_4976 hang-p0-tan_binary64_4975 hang-0m-tan_binary64_4974 hang-0p-tan_binary64_4973 tan-+PI/2_binary64_4972 tan-+PI_binary64_4971 tan-PI_binary64_4970 tan-PI/3_binary64_4969 tan-PI/4_binary64_4968 tan-PI/6_binary64_4967 cos-+PI/2_binary64_4966 cos-+PI_binary64_4965 cos-PI_binary64_4964 cos-PI/2_binary64_4963 cos-PI/3_binary64_4962 cos-PI/4_binary64_4961 cos-PI/6_binary64_4960 sin-+PI/2_binary64_4959 sin-+PI_binary64_4958 sin-PI_binary64_4957 sin-PI/2_binary64_4956 sin-PI/3_binary64_4955 sin-PI/4_binary64_4954 sin-PI/6_binary64_4953 sub-1-sin_binary64_4952 sub-1-cos_binary64_4951 -1-add-sin_binary64_4950 -1-add-cos_binary64_4949 1-sub-sin_binary64_4948 1-sub-cos_binary64_4947 cos-sin-sum_binary64_4946 log-E_binary64_4942 pow-base-0_binary64_4936 unpow1/3_binary64_4919 unpow1/2_binary64_4916 exp-to-pow_binary64_4914 unpow0_binary64_4911 unpow-1_binary64_4909 exp-lft-cube_binary64_4908 exp-cbrt_binary64_4906 div-exp_binary64_4903 rec-exp_binary64_4902 exp-neg_binary64_4899 e-exp-1_binary64_4897 exp-0_binary64_4894 cube-neg_binary64_4879 rem-3cbrt-rft_binary64_4878 rem-3cbrt-lft_binary64_4877 rem-cbrt-cube_binary64_4876 rem-cube-cbrt_binary64_4875 sqr-abs_binary64_4867 sqr-neg_binary64_4866 rem-square-sqrt_binary64_4864 mul-1-neg_binary64_4844 +-lft-identity_binary64_4836 div0_binary64_4833 +-inverses_binary64_4831 lft-mult-inverse_binary64_4830 remove-double-div_binary64_4828 difference-of-sqr--1_binary64_4823 difference-of-sqr-1_binary64_4822 distribute-frac-neg_binary64_4815 distribute-lft1-in_binary64_4807
Counts
51 → 57
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
088506
1220467
2577461
31358458
43918458

prune60.0ms (0.8%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New53457
Fresh000
Picked011
Done000
Total53558
Error
0.0b
Counts
58 → 5
Compiler

Compiled 996 to 349 computations (65% saved)

localize12.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.2b
(*.f64 (cbrt.f64 (cos.f64 y)) (*.f64 z (cbrt.f64 (cos.f64 y))))
0.3b
(cbrt.f64 (cos.f64 y))
0.3b
(cbrt.f64 (cos.f64 y))
0.3b
(cbrt.f64 (cos.f64 y))

rewrite73.0ms (1%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
12×cbrt-prod_binary64_4883
pow1_binary64_4913 add-exp-log_binary64_4890 add-cube-cbrt_binary64_4887 add-sqr-sqrt_binary64_4874 *-un-lft-identity_binary64_4852
add-cbrt-cube_binary64_4888 associate-*l*_binary64_4793
add-log-exp_binary64_4891
pow1/3_binary64_4934 pow-prod-down_binary64_4923 prod-exp_binary64_4901 cbrt-unprod_binary64_4885
associate-*r*_binary64_4792 *-commutative_binary64_4783
Counts
4 → 54
Calls

4 calls:

7.0ms
(*.f64 (cbrt.f64 (cos.f64 y)) (*.f64 z (cbrt.f64 (cos.f64 y))))
1.0ms
(cbrt.f64 (cos.f64 y))
1.0ms
(cbrt.f64 (cos.f64 y))
1.0ms
(cbrt.f64 (cos.f64 y))
Compiler

Compiled 1262 to 245 computations (80.6% saved)

series1.0s (13.7%)

Error
0.0b
Counts
4 → 27
Calls

4 calls:

439.0ms
(*.f64 (cbrt.f64 (cos.f64 y)) (*.f64 z (cbrt.f64 (cos.f64 y))))
318.0ms
(cbrt.f64 (cos.f64 y))
127.0ms
(cbrt.f64 (cos.f64 y))
112.0ms
(cbrt.f64 (cos.f64 y))
Compiler

Compiled 1373 to 857 computations (37.6% saved)

simplify289.0ms (3.9%)

Algorithm
egg-herbie
Rules
506×distribute-rgt-in_binary64_4802
445×associate-*l*_binary64_4793
402×cancel-sign-sub-inv_binary64_4818
301×unswap-sqr_binary64_4820
297×distribute-rgt-neg-in_binary64_4810
295×sub-neg_binary64_4845
285×associate-*r*_binary64_4792
226×distribute-lft-neg-in_binary64_4809
179×sqr-pow_binary64_4824
126×neg-mul-1_binary64_4848
121×neg-sub0_binary64_4847
117×log-prod_binary64_4938
105×associate-+l-_binary64_4787
90×pow-sqr_binary64_4825
89×distribute-rgt-out_binary64_4805
78×associate-+r+_binary64_4784
77×distribute-neg-in_binary64_4813
76×*-commutative_binary64_4783
74×times-frac_binary64_4858
72×unsub-neg_binary64_4846 associate-+l+_binary64_4785
62×exp-prod_binary64_4904
56×distribute-lft-out_binary64_4803
55×sub0-neg_binary64_4839
53×cube-prod_binary64_4880
51×associate-+r-_binary64_4786
47×associate-/r*_binary64_4796
44×associate-/l*_binary64_4797 +-commutative_binary64_4782
39×associate--l+_binary64_4789
38×distribute-lft-neg-out_binary64_4811
34×associate--r+_binary64_4788
32×associate-/r/_binary64_4798
30×associate-/l/_binary64_4799
27×distribute-lft-in_binary64_4801
25×cube-unmult_binary64_4889 +-rgt-identity_binary64_4837 swap-sqr_binary64_4819 associate-*l/_binary64_4795
24×pow-plus_binary64_4915
22×log-pow_binary64_4941 unpow3_binary64_4918 remove-double-neg_binary64_4840
21×distribute-rgt1-in_binary64_4808
19×/-rgt-identity_binary64_4843
18×distribute-rgt-neg-out_binary64_4812 distribute-rgt-out--_binary64_4806
17×associate-*r/_binary64_4794
16×distribute-lft-out--_binary64_4804
14×cancel-sign-sub_binary64_4817
12×associate--l-_binary64_4790
11×cube-mult_binary64_4882
10×distribute-lft1-in_binary64_4807
rem-sqrt-square_binary64_4865 +-lft-identity_binary64_4836
--rgt-identity_binary64_4838 count-2_binary64_4800
mul0-rgt_binary64_4835 mul0-lft_binary64_4834 associate--r-_binary64_4791
distribute-neg-frac_binary64_4816 distribute-neg-out_binary64_4814
*-lft-identity_binary64_4841
unpow1/3_binary64_4919 unpow2_binary64_4917 unpow1_binary64_4910 exp-sum_binary64_4898
div-exp_binary64_4903 rec-exp_binary64_4902 prod-exp_binary64_4901 1-exp_binary64_4896 rem-3cbrt-lft_binary64_4877 rem-cbrt-cube_binary64_4876 *-rgt-identity_binary64_4842 *-inverses_binary64_4832 rgt-mult-inverse_binary64_4829
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_5115 erf-erfc_binary64_5114 erf-odd_binary64_5113 if-if-and-not_binary64_5112 if-if-and_binary64_5111 if-if-or-not_binary64_5110 if-if-or_binary64_5109 if-not_binary64_5108 if-same_binary64_5107 if-false_binary64_5106 if-true_binary64_5105 not-gte_binary64_5104 not-lte_binary64_5103 not-gt_binary64_5102 not-lt_binary64_5101 gte-same_binary64_5100 lte-same_binary64_5099 gt-same_binary64_5098 lt-same_binary64_5097 sinh---cosh_binary64_5044 sinh-+-cosh_binary64_5043 sinh-cosh_binary64_5042 tanh-def-c_binary64_5041 tanh-def-b_binary64_5040 tanh-def-a_binary64_5039 cosh-def_binary64_5038 sinh-def_binary64_5037 tan-neg_binary64_4984 cos-neg_binary64_4983 sin-neg_binary64_4982 tan-0_binary64_4981 cos-0_binary64_4980 sin-0_binary64_4979 hang-m-tan_binary64_4978 hang-p-tan_binary64_4977 hang-m0-tan_binary64_4976 hang-p0-tan_binary64_4975 hang-0m-tan_binary64_4974 hang-0p-tan_binary64_4973 tan-+PI/2_binary64_4972 tan-+PI_binary64_4971 tan-PI_binary64_4970 tan-PI/3_binary64_4969 tan-PI/4_binary64_4968 tan-PI/6_binary64_4967 cos-+PI/2_binary64_4966 cos-+PI_binary64_4965 cos-PI_binary64_4964 cos-PI/2_binary64_4963 cos-PI/3_binary64_4962 cos-PI/4_binary64_4961 cos-PI/6_binary64_4960 sin-+PI/2_binary64_4959 sin-+PI_binary64_4958 sin-PI_binary64_4957 sin-PI/2_binary64_4956 sin-PI/3_binary64_4955 sin-PI/4_binary64_4954 sin-PI/6_binary64_4953 sub-1-sin_binary64_4952 sub-1-cos_binary64_4951 -1-add-sin_binary64_4950 -1-add-cos_binary64_4949 1-sub-sin_binary64_4948 1-sub-cos_binary64_4947 cos-sin-sum_binary64_4946 log-E_binary64_4942 log-rec_binary64_4940 log-div_binary64_4939 pow-base-0_binary64_4936 unpow1/2_binary64_4916 exp-to-pow_binary64_4914 pow-base-1_binary64_4912 unpow0_binary64_4911 unpow-1_binary64_4909 exp-lft-cube_binary64_4908 exp-lft-sqr_binary64_4907 exp-cbrt_binary64_4906 exp-sqrt_binary64_4905 exp-diff_binary64_4900 exp-neg_binary64_4899 e-exp-1_binary64_4897 exp-1-e_binary64_4895 exp-0_binary64_4894 rem-log-exp_binary64_4893 rem-exp-log_binary64_4892 cube-div_binary64_4881 cube-neg_binary64_4879 rem-3cbrt-rft_binary64_4878 rem-cube-cbrt_binary64_4875 sqr-abs_binary64_4867 sqr-neg_binary64_4866 rem-square-sqrt_binary64_4864 div-sub_binary64_4857 mul-1-neg_binary64_4844 div0_binary64_4833 +-inverses_binary64_4831 lft-mult-inverse_binary64_4830 remove-double-div_binary64_4828 difference-of-sqr--1_binary64_4823 difference-of-sqr-1_binary64_4822 difference-of-squares_binary64_4821 distribute-frac-neg_binary64_4815
Counts
81 → 113
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0811048
1190901
2567895
31771880
43764880

prune153.0ms (2%)

Pruning

6 alts after pruning (4 fresh and 2 done)

PrunedKeptTotal
New1112113
Fresh123
Picked011
Done011
Total1126118
Error
0b
Counts
118 → 6
Compiler

Compiled 3102 to 1086 computations (65% saved)

localize18.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.3b
(cbrt.f64 (cos.f64 y))
0.3b
(cbrt.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 2)))
0.3b
(cbrt.f64 (pow.f64 (cos.f64 y) 2))
0.4b
(cbrt.f64 (cbrt.f64 (cos.f64 y)))

rewrite106.0ms (1.4%)

Algorithm
rewrite-expression-head
Error
0b
Rules
39×cbrt-prod_binary64_4883
12×add-cube-cbrt_binary64_4887 add-sqr-sqrt_binary64_4874 *-un-lft-identity_binary64_4852
unpow-prod-down_binary64_4931
pow1/3_binary64_4934 pow1_binary64_4913 add-log-exp_binary64_4891 add-exp-log_binary64_4890 add-cbrt-cube_binary64_4888
unpow2_binary64_4917 sqr-pow_binary64_4824
Counts
4 → 60
Calls

4 calls:

3.0ms
(cbrt.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 2)))
2.0ms
(cbrt.f64 (pow.f64 (cos.f64 y) 2))
2.0ms
(cbrt.f64 (cbrt.f64 (cos.f64 y)))
1.0ms
(cbrt.f64 (cos.f64 y))
Compiler

Compiled 1953 to 670 computations (65.7% saved)

series626.0ms (8.3%)

Error
0b
Counts
4 → 23
Calls

4 calls:

180.0ms
(cbrt.f64 (pow.f64 (cos.f64 y) 2))
152.0ms
(cbrt.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 2)))
132.0ms
(cbrt.f64 (cos.f64 y))
126.0ms
(cbrt.f64 (cbrt.f64 (cos.f64 y)))
Compiler

Compiled 1604 to 946 computations (41% saved)

simplify611.0ms (8.1%)

Algorithm
egg-herbie
Rules
669×log-prod_binary64_4938
470×cancel-sign-sub-inv_binary64_4818
235×associate-*l*_binary64_4793
190×associate-*r*_binary64_4792
166×sub-neg_binary64_4845
160×associate-+l-_binary64_4787
153×distribute-rgt-in_binary64_4802
130×sqr-pow_binary64_4824
118×distribute-rgt-neg-in_binary64_4810
111×log-pow_binary64_4941
104×distribute-lft-in_binary64_4801
103×associate-+l+_binary64_4785
99×pow-plus_binary64_4915 associate-+r+_binary64_4784
90×unswap-sqr_binary64_4820
78×distribute-lft-neg-in_binary64_4809
77×pow-sqr_binary64_4825
70×associate-+r-_binary64_4786
69×+-commutative_binary64_4782
62×swap-sqr_binary64_4819
60×exp-prod_binary64_4904 associate--l+_binary64_4789
57×*-commutative_binary64_4783
54×associate--r+_binary64_4788
53×associate-/r/_binary64_4798
52×neg-sub0_binary64_4847
51×associate-*l/_binary64_4795
50×times-frac_binary64_4858
48×neg-mul-1_binary64_4848
43×associate-/r*_binary64_4796
40×distribute-lft-neg-out_binary64_4811
39×unsub-neg_binary64_4846
38×distribute-neg-in_binary64_4813
30×unpow3_binary64_4918 rem-sqrt-square_binary64_4865
28×cube-unmult_binary64_4889 associate-/l*_binary64_4797
27×associate-/l/_binary64_4799
23×cube-prod_binary64_4880
19×distribute-rgt-out_binary64_4805 associate--l-_binary64_4790
15×sub0-neg_binary64_4839
14×pow-base-1_binary64_4912 associate-*r/_binary64_4794
13×+-rgt-identity_binary64_4837
11×count-2_binary64_4800 associate--r-_binary64_4791
div-exp_binary64_4903
cancel-sign-sub_binary64_4817
cube-div_binary64_4881
unpow2_binary64_4917
unpow1_binary64_4910 distribute-rgt1-in_binary64_4808 distribute-lft-out_binary64_4803
prod-exp_binary64_4901 rem-3cbrt-lft_binary64_4877 rem-cbrt-cube_binary64_4876
exp-sqrt_binary64_4905
unpow1/3_binary64_4919
exp-lft-sqr_binary64_4907 rec-exp_binary64_4902 1-exp_binary64_4896 rem-square-sqrt_binary64_4864 /-rgt-identity_binary64_4843 *-rgt-identity_binary64_4842 *-lft-identity_binary64_4841 *-inverses_binary64_4832 rgt-mult-inverse_binary64_4829 distribute-lft1-in_binary64_4807
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_5115 erf-erfc_binary64_5114 erf-odd_binary64_5113 if-if-and-not_binary64_5112 if-if-and_binary64_5111 if-if-or-not_binary64_5110 if-if-or_binary64_5109 if-not_binary64_5108 if-same_binary64_5107 if-false_binary64_5106 if-true_binary64_5105 not-gte_binary64_5104 not-lte_binary64_5103 not-gt_binary64_5102 not-lt_binary64_5101 gte-same_binary64_5100 lte-same_binary64_5099 gt-same_binary64_5098 lt-same_binary64_5097 sinh---cosh_binary64_5044 sinh-+-cosh_binary64_5043 sinh-cosh_binary64_5042 tanh-def-c_binary64_5041 tanh-def-b_binary64_5040 tanh-def-a_binary64_5039 cosh-def_binary64_5038 sinh-def_binary64_5037 tan-neg_binary64_4984 cos-neg_binary64_4983 sin-neg_binary64_4982 tan-0_binary64_4981 cos-0_binary64_4980 sin-0_binary64_4979 hang-m-tan_binary64_4978 hang-p-tan_binary64_4977 hang-m0-tan_binary64_4976 hang-p0-tan_binary64_4975 hang-0m-tan_binary64_4974 hang-0p-tan_binary64_4973 tan-+PI/2_binary64_4972 tan-+PI_binary64_4971 tan-PI_binary64_4970 tan-PI/3_binary64_4969 tan-PI/4_binary64_4968 tan-PI/6_binary64_4967 cos-+PI/2_binary64_4966 cos-+PI_binary64_4965 cos-PI_binary64_4964 cos-PI/2_binary64_4963 cos-PI/3_binary64_4962 cos-PI/4_binary64_4961 cos-PI/6_binary64_4960 sin-+PI/2_binary64_4959 sin-+PI_binary64_4958 sin-PI_binary64_4957 sin-PI/2_binary64_4956 sin-PI/3_binary64_4955 sin-PI/4_binary64_4954 sin-PI/6_binary64_4953 sub-1-sin_binary64_4952 sub-1-cos_binary64_4951 -1-add-sin_binary64_4950 -1-add-cos_binary64_4949 1-sub-sin_binary64_4948 1-sub-cos_binary64_4947 cos-sin-sum_binary64_4946 log-E_binary64_4942 log-rec_binary64_4940 log-div_binary64_4939 pow-base-0_binary64_4936 unpow1/2_binary64_4916 exp-to-pow_binary64_4914 unpow0_binary64_4911 unpow-1_binary64_4909 exp-lft-cube_binary64_4908 exp-cbrt_binary64_4906 exp-diff_binary64_4900 exp-neg_binary64_4899 exp-sum_binary64_4898 e-exp-1_binary64_4897 exp-1-e_binary64_4895 exp-0_binary64_4894 rem-log-exp_binary64_4893 rem-exp-log_binary64_4892 cube-mult_binary64_4882 cube-neg_binary64_4879 rem-3cbrt-rft_binary64_4878 rem-cube-cbrt_binary64_4875 sqr-abs_binary64_4867 sqr-neg_binary64_4866 div-sub_binary64_4857 mul-1-neg_binary64_4844 remove-double-neg_binary64_4840 --rgt-identity_binary64_4838 +-lft-identity_binary64_4836 mul0-rgt_binary64_4835 mul0-lft_binary64_4834 div0_binary64_4833 +-inverses_binary64_4831 lft-mult-inverse_binary64_4830 remove-double-div_binary64_4828 difference-of-sqr--1_binary64_4823 difference-of-sqr-1_binary64_4822 difference-of-squares_binary64_4821 distribute-neg-frac_binary64_4816 distribute-frac-neg_binary64_4815 distribute-neg-out_binary64_4814 distribute-rgt-neg-out_binary64_4812 distribute-rgt-out--_binary64_4806 distribute-lft-out--_binary64_4804
Counts
83 → 92
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01181080
12271068
25851068
31874966
44584966

prune150.0ms (2%)

Pruning

6 alts after pruning (3 fresh and 3 done)

PrunedKeptTotal
New92092
Fresh033
Picked011
Done022
Total92698
Error
0b
Counts
98 → 6
Compiler

Compiled 3181 to 1153 computations (63.8% saved)

localize15.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.1b
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 z 3))) (cbrt.f64 (cos.f64 y)))
0.3b
(pow.f64 (cos.f64 y) 2)
0.3b
(cbrt.f64 (cos.f64 y))
38.1b
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 z 3)))

rewrite107.0ms (1.4%)

Algorithm
rewrite-expression-head
Error
0b
Rules
14×add-sqr-sqrt_binary64_4874
10×add-cube-cbrt_binary64_4887 *-un-lft-identity_binary64_4852
cbrt-prod_binary64_4883
pow1_binary64_4913 add-exp-log_binary64_4890
associate-*r*_binary64_4792
pow1/3_binary64_4934 add-log-exp_binary64_4891 add-cbrt-cube_binary64_4888 associate-*l*_binary64_4793
unpow-prod-down_binary64_4931 pow-unpow_binary64_4929
pow-prod-down_binary64_4923 unswap-sqr_binary64_4820
pow-pow_binary64_4924 pow-to-exp_binary64_4921 pow-exp_binary64_4920 unpow2_binary64_4917 sqr-pow_binary64_4824 prod-exp_binary64_4901 cbrt-unprod_binary64_4885 *-commutative_binary64_4783
Counts
4 → 62
Calls

4 calls:

6.0ms
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 z 3))) (cbrt.f64 (cos.f64 y)))
4.0ms
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 z 3)))
2.0ms
(pow.f64 (cos.f64 y) 2)
1.0ms
(cbrt.f64 (cos.f64 y))
Compiler

Compiled 1526 to 760 computations (50.2% saved)

series746.0ms (9.9%)

Error
0b
Counts
4 → 25
Calls

4 calls:

443.0ms
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 z 3)))
132.0ms
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 z 3))) (cbrt.f64 (cos.f64 y)))
117.0ms
(cbrt.f64 (cos.f64 y))
26.0ms
(pow.f64 (cos.f64 y) 2)
Compiler

Compiled 1115 to 793 computations (28.9% saved)

simplify265.0ms (3.5%)

Algorithm
egg-herbie
Rules
357×associate-/l*_binary64_4797
334×cancel-sign-sub-inv_binary64_4818
226×associate-/l/_binary64_4799
203×distribute-rgt-in_binary64_4802
199×distribute-rgt-neg-in_binary64_4810
197×unswap-sqr_binary64_4820
184×*-commutative_binary64_4783
173×distribute-lft-neg-in_binary64_4809
150×sqr-pow_binary64_4824 distribute-lft-in_binary64_4801
145×log-prod_binary64_4938
144×exp-prod_binary64_4904
122×distribute-rgt-out_binary64_4805
111×associate-*r*_binary64_4792
109×sub-neg_binary64_4845
103×cube-prod_binary64_4880 associate-*l*_binary64_4793
91×associate-*l/_binary64_4795
79×pow-sqr_binary64_4825
72×associate-*r/_binary64_4794
67×neg-sub0_binary64_4847
61×neg-mul-1_binary64_4848 associate-/r*_binary64_4796
55×times-frac_binary64_4858
51×swap-sqr_binary64_4819
48×log-pow_binary64_4941
43×distribute-lft-out_binary64_4803
42×associate-/r/_binary64_4798
41×distribute-rgt-out--_binary64_4806
40×pow-plus_binary64_4915
38×log-div_binary64_4939
36×cube-div_binary64_4881
26×rem-sqrt-square_binary64_4865 unsub-neg_binary64_4846
25×distribute-lft-neg-out_binary64_4811
22×exp-sqrt_binary64_4905
21×associate--r+_binary64_4788 +-commutative_binary64_4782
20×associate--l+_binary64_4789
19×associate-+l+_binary64_4785
18×cube-unmult_binary64_4889
17×associate-+l-_binary64_4787
15×*-rgt-identity_binary64_4842
14×*-lft-identity_binary64_4841 distribute-neg-out_binary64_4814 distribute-neg-in_binary64_4813 associate-+r+_binary64_4784
13×associate-+r-_binary64_4786
12×distribute-rgt1-in_binary64_4808 distribute-lft-out--_binary64_4804
11×/-rgt-identity_binary64_4843
10×sub0-neg_binary64_4839
unpow3_binary64_4918 count-2_binary64_4800
mul-1-neg_binary64_4844 distribute-neg-frac_binary64_4816
unpow2_binary64_4917 +-rgt-identity_binary64_4837 distribute-lft1-in_binary64_4807
pow-base-1_binary64_4912 cube-mult_binary64_4882
unpow1_binary64_4910 exp-lft-sqr_binary64_4907
div-exp_binary64_4903 prod-exp_binary64_4901
log-rec_binary64_4940 rem-cbrt-cube_binary64_4876
unpow1/3_binary64_4919 rec-exp_binary64_4902 exp-sum_binary64_4898 rem-3cbrt-lft_binary64_4877 cancel-sign-sub_binary64_4817 associate--l-_binary64_4790
exp-diff_binary64_4900 1-exp_binary64_4896 exp-1-e_binary64_4895 rem-log-exp_binary64_4893 rem-square-sqrt_binary64_4864 *-inverses_binary64_4832
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_5115 erf-erfc_binary64_5114 erf-odd_binary64_5113 if-if-and-not_binary64_5112 if-if-and_binary64_5111 if-if-or-not_binary64_5110 if-if-or_binary64_5109 if-not_binary64_5108 if-same_binary64_5107 if-false_binary64_5106 if-true_binary64_5105 not-gte_binary64_5104 not-lte_binary64_5103 not-gt_binary64_5102 not-lt_binary64_5101 gte-same_binary64_5100 lte-same_binary64_5099 gt-same_binary64_5098 lt-same_binary64_5097 sinh---cosh_binary64_5044 sinh-+-cosh_binary64_5043 sinh-cosh_binary64_5042 tanh-def-c_binary64_5041 tanh-def-b_binary64_5040 tanh-def-a_binary64_5039 cosh-def_binary64_5038 sinh-def_binary64_5037 tan-neg_binary64_4984 cos-neg_binary64_4983 sin-neg_binary64_4982 tan-0_binary64_4981 cos-0_binary64_4980 sin-0_binary64_4979 hang-m-tan_binary64_4978 hang-p-tan_binary64_4977 hang-m0-tan_binary64_4976 hang-p0-tan_binary64_4975 hang-0m-tan_binary64_4974 hang-0p-tan_binary64_4973 tan-+PI/2_binary64_4972 tan-+PI_binary64_4971 tan-PI_binary64_4970 tan-PI/3_binary64_4969 tan-PI/4_binary64_4968 tan-PI/6_binary64_4967 cos-+PI/2_binary64_4966 cos-+PI_binary64_4965 cos-PI_binary64_4964 cos-PI/2_binary64_4963 cos-PI/3_binary64_4962 cos-PI/4_binary64_4961 cos-PI/6_binary64_4960 sin-+PI/2_binary64_4959 sin-+PI_binary64_4958 sin-PI_binary64_4957 sin-PI/2_binary64_4956 sin-PI/3_binary64_4955 sin-PI/4_binary64_4954 sin-PI/6_binary64_4953 sub-1-sin_binary64_4952 sub-1-cos_binary64_4951 -1-add-sin_binary64_4950 -1-add-cos_binary64_4949 1-sub-sin_binary64_4948 1-sub-cos_binary64_4947 cos-sin-sum_binary64_4946 log-E_binary64_4942 pow-base-0_binary64_4936 unpow1/2_binary64_4916 exp-to-pow_binary64_4914 unpow0_binary64_4911 unpow-1_binary64_4909 exp-lft-cube_binary64_4908 exp-cbrt_binary64_4906 exp-neg_binary64_4899 e-exp-1_binary64_4897 exp-0_binary64_4894 rem-exp-log_binary64_4892 cube-neg_binary64_4879 rem-3cbrt-rft_binary64_4878 rem-cube-cbrt_binary64_4875 sqr-abs_binary64_4867 sqr-neg_binary64_4866 div-sub_binary64_4857 remove-double-neg_binary64_4840 --rgt-identity_binary64_4838 +-lft-identity_binary64_4836 mul0-rgt_binary64_4835 mul0-lft_binary64_4834 div0_binary64_4833 +-inverses_binary64_4831 lft-mult-inverse_binary64_4830 rgt-mult-inverse_binary64_4829 remove-double-div_binary64_4828 difference-of-sqr--1_binary64_4823 difference-of-sqr-1_binary64_4822 difference-of-squares_binary64_4821 distribute-frac-neg_binary64_4815 distribute-rgt-neg-out_binary64_4812 associate--r-_binary64_4791
Counts
87 → 109
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01221233
12771217
28801178
322271172

prune136.0ms (1.8%)

Pruning

6 alts after pruning (2 fresh and 4 done)

PrunedKeptTotal
New1090109
Fresh022
Picked011
Done033
Total1096115
Error
0b
Counts
115 → 6
Compiler

Compiled 2398 to 1133 computations (52.8% saved)

regimes287.0ms (3.8%)

Accuracy

Total 0.0b remaining (79.8%)

Threshold costs 0.0b (79.8%)

Compiler

Compiled 2520 to 1714 computations (32% saved)

bsearch0.0ms (0%)

simplify3.0ms (0%)

Algorithm
egg-herbie
Rules
+-commutative_binary64_4782
*-commutative_binary64_4783
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_5112 if-if-and_binary64_5111 if-if-or-not_binary64_5110 if-if-or_binary64_5109 if-not_binary64_5108 if-same_binary64_5107 if-false_binary64_5106 if-true_binary64_5105 tan-0_binary64_4981 cos-0_binary64_4980 sin-0_binary64_4979 unpow1_binary64_4910 e-exp-1_binary64_4897 1-exp_binary64_4896 exp-1-e_binary64_4895 exp-0_binary64_4894 sqr-abs_binary64_4867 sqr-neg_binary64_4866 neg-mul-1_binary64_4848 neg-sub0_binary64_4847 unsub-neg_binary64_4846 sub-neg_binary64_4845 mul-1-neg_binary64_4844 /-rgt-identity_binary64_4843 *-rgt-identity_binary64_4842 *-lft-identity_binary64_4841 remove-double-neg_binary64_4840 sub0-neg_binary64_4839 --rgt-identity_binary64_4838 +-rgt-identity_binary64_4837 +-lft-identity_binary64_4836 cancel-sign-sub-inv_binary64_4818 cancel-sign-sub_binary64_4817 distribute-neg-frac_binary64_4816 distribute-frac-neg_binary64_4815 distribute-neg-out_binary64_4814 distribute-neg-in_binary64_4813 distribute-rgt-neg-out_binary64_4812 distribute-lft-neg-out_binary64_4811 distribute-rgt-neg-in_binary64_4810 distribute-lft-neg-in_binary64_4809
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0914
11214
Proof
(+ f64 (+ f64 h0 (sin f64 h1)) (* f64 h2 (cos f64 h1)))

end0.0ms (0%)

sample1.9s (24.7%)

Algorithm
intervals
Results
378.0ms5733×body128valid
343.0ms1270×body1024valid
126.0ms654×body512valid
44.0ms340×body256valid
2.0msbody2048valid
Compiler

Compiled 643 to 440 computations (31.6% saved)

Profiling

Loading profile data...