Details

Time bar (total: 9.3s)

analyze330.0ms (3.5%)

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
12.5%87.4%0.1%4
18.7%81.2%0.1%5
21.9%78%0.1%6
50%43.7%6.3%7
50%43.7%6.3%8
56.2%34.3%9.5%9
56.2%34.3%9.5%10
59.3%29.7%11%11
59.3%29.7%11%12
60.9%27.3%11.8%13
60.9%27.3%11.8%14
Compiler

Compiled 8 to 7 computations (12.5% saved)

sample65.0ms (0.7%)

Algorithm
intervals
Results
13.0ms53×body1024invalid
13.0ms59×body1024valid
7.0ms143×body128valid
5.0ms34×body512valid
4.0ms89×body128invalid
3.0ms25×body512invalid
2.0ms20×body256valid
1.0ms15×body256invalid
Compiler

Compiled 15 to 15 computations (0% saved)

simplify1.6s (16.6%)

Algorithm
egg-herbie
Rules
537×div-sub_binary64_5880
529×associate-/l*_binary64_5820
280×associate-/l/_binary64_5822
248×associate-*l/_binary64_5818
225×associate-/r*_binary64_5819
194×associate-/r/_binary64_5821
177×exp-prod_binary64_5927
161×unsub-neg_binary64_5869
138×distribute-rgt-in_binary64_5825
118×cancel-sign-sub-inv_binary64_5841
112×*-commutative_binary64_5806
100×sub-neg_binary64_5868 distribute-lft-in_binary64_5824
88×neg-sub0_binary64_5870
84×neg-mul-1_binary64_5871
82×distribute-rgt-out_binary64_5828
80×distribute-neg-frac_binary64_5839
78×times-frac_binary64_5881
67×associate-*l*_binary64_5816
65×associate-*r*_binary64_5815
62×distribute-lft-neg-out_binary64_5834
54×distribute-rgt-neg-in_binary64_5833 associate-*r/_binary64_5817
52×distribute-rgt-neg-out_binary64_5835
47×distribute-lft-neg-in_binary64_5832
36×distribute-frac-neg_binary64_5838
30×mul0-rgt_binary64_5858
26×*-lft-identity_binary64_5864 mul0-lft_binary64_5857
25×div0_binary64_5856
21×distribute-lft-out_binary64_5826
18×+-commutative_binary64_5805
17×*-rgt-identity_binary64_5865
16×/-rgt-identity_binary64_5866
15×exp-sum_binary64_5921
14×sqr-pow_binary64_5847
12×associate-+l-_binary64_5810
11×distribute-neg-in_binary64_5836
10×associate--r+_binary64_5811
sub0-neg_binary64_5862 unswap-sqr_binary64_5843 distribute-rgt1-in_binary64_5831
pow-sqr_binary64_5848
pow-plus_binary64_5938 associate-+r-_binary64_5809
exp-diff_binary64_5923 distribute-rgt-out--_binary64_5829 associate-+r+_binary64_5807
+-rgt-identity_binary64_5860
cube-unmult_binary64_5912 --rgt-identity_binary64_5861
exp-lft-sqr_binary64_5930 exp-sqrt_binary64_5928 prod-exp_binary64_5924 exp-neg_binary64_5922 cube-prod_binary64_5903 +-lft-identity_binary64_5859
div-exp_binary64_5926 mul-1-neg_binary64_5867 remove-double-neg_binary64_5863 *-inverses_binary64_5855 count-2_binary64_5823 associate-+l+_binary64_5808
sinh-def_binary64_6060 1-exp_binary64_5919 exp-1-e_binary64_5918 cube-div_binary64_5904 sqr-neg_binary64_5889 rem-sqrt-square_binary64_5888 cancel-sign-sub_binary64_5840 associate--r-_binary64_5814
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_6138 erf-erfc_binary64_6137 erf-odd_binary64_6136 if-if-and-not_binary64_6135 if-if-and_binary64_6134 if-if-or-not_binary64_6133 if-if-or_binary64_6132 if-not_binary64_6131 if-same_binary64_6130 if-false_binary64_6129 if-true_binary64_6128 not-gte_binary64_6127 not-lte_binary64_6126 not-gt_binary64_6125 not-lt_binary64_6124 gte-same_binary64_6123 lte-same_binary64_6122 gt-same_binary64_6121 lt-same_binary64_6120 sinh---cosh_binary64_6067 sinh-+-cosh_binary64_6066 sinh-cosh_binary64_6065 tanh-def-c_binary64_6064 tanh-def-b_binary64_6063 tanh-def-a_binary64_6062 cosh-def_binary64_6061 tan-neg_binary64_6007 cos-neg_binary64_6006 sin-neg_binary64_6005 tan-0_binary64_6004 cos-0_binary64_6003 sin-0_binary64_6002 hang-m-tan_binary64_6001 hang-p-tan_binary64_6000 hang-m0-tan_binary64_5999 hang-p0-tan_binary64_5998 hang-0m-tan_binary64_5997 hang-0p-tan_binary64_5996 tan-+PI/2_binary64_5995 tan-+PI_binary64_5994 tan-PI_binary64_5993 tan-PI/3_binary64_5992 tan-PI/4_binary64_5991 tan-PI/6_binary64_5990 cos-+PI/2_binary64_5989 cos-+PI_binary64_5988 cos-PI_binary64_5987 cos-PI/2_binary64_5986 cos-PI/3_binary64_5985 cos-PI/4_binary64_5984 cos-PI/6_binary64_5983 sin-+PI/2_binary64_5982 sin-+PI_binary64_5981 sin-PI_binary64_5980 sin-PI/2_binary64_5979 sin-PI/3_binary64_5978 sin-PI/4_binary64_5977 sin-PI/6_binary64_5976 sub-1-sin_binary64_5975 sub-1-cos_binary64_5974 -1-add-sin_binary64_5973 -1-add-cos_binary64_5972 1-sub-sin_binary64_5971 1-sub-cos_binary64_5970 cos-sin-sum_binary64_5969 log-E_binary64_5965 log-pow_binary64_5964 log-rec_binary64_5963 log-div_binary64_5962 log-prod_binary64_5961 pow-base-0_binary64_5959 unpow1/3_binary64_5942 unpow3_binary64_5941 unpow2_binary64_5940 unpow1/2_binary64_5939 exp-to-pow_binary64_5937 pow-base-1_binary64_5935 unpow0_binary64_5934 unpow1_binary64_5933 unpow-1_binary64_5932 exp-lft-cube_binary64_5931 exp-cbrt_binary64_5929 rec-exp_binary64_5925 e-exp-1_binary64_5920 exp-0_binary64_5917 rem-log-exp_binary64_5916 rem-exp-log_binary64_5915 cube-mult_binary64_5905 cube-neg_binary64_5902 rem-3cbrt-rft_binary64_5901 rem-3cbrt-lft_binary64_5900 rem-cbrt-cube_binary64_5899 rem-cube-cbrt_binary64_5898 sqr-abs_binary64_5890 rem-square-sqrt_binary64_5887 +-inverses_binary64_5854 lft-mult-inverse_binary64_5853 rgt-mult-inverse_binary64_5852 remove-double-div_binary64_5851 difference-of-sqr--1_binary64_5846 difference-of-sqr-1_binary64_5845 difference-of-squares_binary64_5844 swap-sqr_binary64_5842 distribute-neg-out_binary64_5837 distribute-lft1-in_binary64_5830 distribute-lft-out--_binary64_5827 associate--l-_binary64_5813 associate--l+_binary64_5812
Counts
1 → 1
Iterations

Useful iterations: 7 (0.0ms)

IterNodesCost
0711
11611
23411
37311
416211
536811
6109711
729761
8281

prune2.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 8 to 9 computations (-12.5% saved)

localize6.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.0b
(sin.f64 x)
0.0b
(/.f64 (sinh.f64 y) y)
0.0b
(sinh.f64 y)
0.0b
(*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y))

rewrite75.0ms (0.8%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
25×add-sqr-sqrt_binary64_5897
20×add-cube-cbrt_binary64_5910 *-un-lft-identity_binary64_5875
19×times-frac_binary64_5881
13×associate-*r*_binary64_5815
11×add-exp-log_binary64_5913 add-cbrt-cube_binary64_5911
pow1_binary64_5936
add-log-exp_binary64_5914
associate-*l*_binary64_5816 associate-/l*_binary64_5820 associate-/r*_binary64_5819
div-exp_binary64_5926 prod-exp_binary64_5924 cbrt-unprod_binary64_5908 cbrt-undiv_binary64_5909 unswap-sqr_binary64_5843 div-inv_binary64_5872 sinh-def_binary64_6060
pow-prod-down_binary64_5946 associate-*r/_binary64_5817 *-commutative_binary64_5806 frac-2neg_binary64_5886 clear-num_binary64_5874 associate-/l/_binary64_5822
Counts
4 → 75
Calls

4 calls:

8.0ms
(*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y))
4.0ms
(/.f64 (sinh.f64 y) y)
1.0ms
(sin.f64 x)
1.0ms
(sinh.f64 y)
Compiler

Compiled 1020 to 253 computations (75.2% saved)

series525.0ms (5.6%)

Error
0.0b
Counts
4 → 28
Calls

4 calls:

326.0ms
(*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y))
94.0ms
(/.f64 (sinh.f64 y) y)
61.0ms
(sinh.f64 y)
15.0ms
(sin.f64 x)
Compiler

Compiled 1059 to 757 computations (28.5% saved)

simplify246.0ms (2.6%)

Algorithm
egg-herbie
Rules
455×associate-/l*_binary64_5820
418×associate-*l/_binary64_5818
377×associate-*r/_binary64_5817
327×div-sub_binary64_5880
305×times-frac_binary64_5881
236×*-commutative_binary64_5806
227×associate-/l/_binary64_5822
187×associate-/r/_binary64_5821
150×associate-/r*_binary64_5819
122×associate-*r*_binary64_5815
112×associate-*l*_binary64_5816
111×cancel-sign-sub-inv_binary64_5841
83×associate-+l+_binary64_5808
82×+-commutative_binary64_5805
65×log-div_binary64_5962
58×distribute-rgt-neg-in_binary64_5833
57×cube-div_binary64_5904
56×sub-neg_binary64_5868
52×associate-+r+_binary64_5807
48×sqr-pow_binary64_5847
47×log-prod_binary64_5961
45×exp-prod_binary64_5927
42×distribute-neg-frac_binary64_5839
39×distribute-rgt-in_binary64_5825
37×neg-sub0_binary64_5870
36×cube-prod_binary64_5903 distribute-lft-neg-in_binary64_5832
34×neg-mul-1_binary64_5871
33×distribute-lft-in_binary64_5824
32×associate-+l-_binary64_5810
25×prod-exp_binary64_5924 *-lft-identity_binary64_5864
23×*-rgt-identity_binary64_5865
22×exp-sqrt_binary64_5928 distribute-lft-neg-out_binary64_5834
21×associate-+r-_binary64_5809
20×pow-sqr_binary64_5848
19×unswap-sqr_binary64_5843
18×div-exp_binary64_5926 associate--l+_binary64_5812
16×associate--r+_binary64_5811
10×log-rec_binary64_5963 exp-diff_binary64_5923 distribute-neg-in_binary64_5836
unpow3_binary64_5941 /-rgt-identity_binary64_5866 distribute-rgt-out_binary64_5828
exp-sum_binary64_5921 cube-mult_binary64_5905
distribute-rgt-out--_binary64_5829
pow-plus_binary64_5938 exp-lft-sqr_binary64_5930 rec-exp_binary64_5925 unsub-neg_binary64_5869 mul-1-neg_binary64_5867 distribute-lft-out--_binary64_5827
cube-unmult_binary64_5912 swap-sqr_binary64_5842 associate--l-_binary64_5813
distribute-rgt1-in_binary64_5831 associate--r-_binary64_5814
log-pow_binary64_5964
distribute-rgt-neg-out_binary64_5835
sinh-def_binary64_6060 unpow2_binary64_5940 unpow1_binary64_5933 exp-neg_binary64_5922 1-exp_binary64_5919 exp-1-e_binary64_5918 rem-log-exp_binary64_5916 rem-sqrt-square_binary64_5888 *-inverses_binary64_5855 distribute-lft1-in_binary64_5830 distribute-lft-out_binary64_5826
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_6138 erf-erfc_binary64_6137 erf-odd_binary64_6136 if-if-and-not_binary64_6135 if-if-and_binary64_6134 if-if-or-not_binary64_6133 if-if-or_binary64_6132 if-not_binary64_6131 if-same_binary64_6130 if-false_binary64_6129 if-true_binary64_6128 not-gte_binary64_6127 not-lte_binary64_6126 not-gt_binary64_6125 not-lt_binary64_6124 gte-same_binary64_6123 lte-same_binary64_6122 gt-same_binary64_6121 lt-same_binary64_6120 sinh---cosh_binary64_6067 sinh-+-cosh_binary64_6066 sinh-cosh_binary64_6065 tanh-def-c_binary64_6064 tanh-def-b_binary64_6063 tanh-def-a_binary64_6062 cosh-def_binary64_6061 tan-neg_binary64_6007 cos-neg_binary64_6006 sin-neg_binary64_6005 tan-0_binary64_6004 cos-0_binary64_6003 sin-0_binary64_6002 hang-m-tan_binary64_6001 hang-p-tan_binary64_6000 hang-m0-tan_binary64_5999 hang-p0-tan_binary64_5998 hang-0m-tan_binary64_5997 hang-0p-tan_binary64_5996 tan-+PI/2_binary64_5995 tan-+PI_binary64_5994 tan-PI_binary64_5993 tan-PI/3_binary64_5992 tan-PI/4_binary64_5991 tan-PI/6_binary64_5990 cos-+PI/2_binary64_5989 cos-+PI_binary64_5988 cos-PI_binary64_5987 cos-PI/2_binary64_5986 cos-PI/3_binary64_5985 cos-PI/4_binary64_5984 cos-PI/6_binary64_5983 sin-+PI/2_binary64_5982 sin-+PI_binary64_5981 sin-PI_binary64_5980 sin-PI/2_binary64_5979 sin-PI/3_binary64_5978 sin-PI/4_binary64_5977 sin-PI/6_binary64_5976 sub-1-sin_binary64_5975 sub-1-cos_binary64_5974 -1-add-sin_binary64_5973 -1-add-cos_binary64_5972 1-sub-sin_binary64_5971 1-sub-cos_binary64_5970 cos-sin-sum_binary64_5969 log-E_binary64_5965 pow-base-0_binary64_5959 unpow1/3_binary64_5942 unpow1/2_binary64_5939 exp-to-pow_binary64_5937 pow-base-1_binary64_5935 unpow0_binary64_5934 unpow-1_binary64_5932 exp-lft-cube_binary64_5931 exp-cbrt_binary64_5929 e-exp-1_binary64_5920 exp-0_binary64_5917 rem-exp-log_binary64_5915 cube-neg_binary64_5902 rem-3cbrt-rft_binary64_5901 rem-3cbrt-lft_binary64_5900 rem-cbrt-cube_binary64_5899 rem-cube-cbrt_binary64_5898 sqr-abs_binary64_5890 sqr-neg_binary64_5889 rem-square-sqrt_binary64_5887 remove-double-neg_binary64_5863 sub0-neg_binary64_5862 --rgt-identity_binary64_5861 +-rgt-identity_binary64_5860 +-lft-identity_binary64_5859 mul0-rgt_binary64_5858 mul0-lft_binary64_5857 div0_binary64_5856 +-inverses_binary64_5854 lft-mult-inverse_binary64_5853 rgt-mult-inverse_binary64_5852 remove-double-div_binary64_5851 difference-of-sqr--1_binary64_5846 difference-of-sqr-1_binary64_5845 difference-of-squares_binary64_5844 cancel-sign-sub_binary64_5840 distribute-frac-neg_binary64_5838 distribute-neg-out_binary64_5837 count-2_binary64_5823
Counts
103 → 123
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01921498
14691389
214991332
342901332

prune107.0ms (1.2%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New1194123
Fresh000
Picked011
Done000
Total1195124
Error
0.0b
Counts
124 → 5
Compiler

Compiled 2032 to 770 computations (62.1% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.0b
(sinh.f64 y)
0.0b
(sinh.f64 y)
0.0b
(sinh.f64 y)
0.0b
(*.f64 (sin.f64 x) (cbrt.f64 (/.f64 (sinh.f64 y) y)))

rewrite88.0ms (0.9%)

Algorithm
rewrite-expression-head
Error
0b
Rules
20×add-sqr-sqrt_binary64_5897
16×associate-*r*_binary64_5815
15×cbrt-prod_binary64_5906
13×add-cube-cbrt_binary64_5910 *-un-lft-identity_binary64_5875
10×times-frac_binary64_5881
pow1_binary64_5936 add-exp-log_binary64_5913
add-cbrt-cube_binary64_5911
add-log-exp_binary64_5914
unswap-sqr_binary64_5843 associate-*l*_binary64_5816 sinh-def_binary64_6060
pow-prod-down_binary64_5946 prod-exp_binary64_5924 cbrt-unprod_binary64_5908 cbrt-div_binary64_5907 associate-*r/_binary64_5817 div-inv_binary64_5872 *-commutative_binary64_5806
Counts
4 → 58
Calls

4 calls:

9.0ms
(*.f64 (sin.f64 x) (cbrt.f64 (/.f64 (sinh.f64 y) y)))
1.0ms
(sinh.f64 y)
1.0ms
(sinh.f64 y)
1.0ms
(sinh.f64 y)
Compiler

Compiled 1542 to 315 computations (79.6% saved)

series929.0ms (10%)

Error
0.0b
Counts
4 → 28
Calls

4 calls:

687.0ms
(*.f64 (sin.f64 x) (cbrt.f64 (/.f64 (sinh.f64 y) y)))
74.0ms
(sinh.f64 y)
69.0ms
(sinh.f64 y)
64.0ms
(sinh.f64 y)
Compiler

Compiled 1953 to 1083 computations (44.5% saved)

simplify208.0ms (2.2%)

Algorithm
egg-herbie
Rules
630×associate-/l*_binary64_5820
447×associate-/r/_binary64_5821
336×associate-*l*_binary64_5816
299×associate-*r*_binary64_5815
247×associate-/l/_binary64_5822
215×cancel-sign-sub-inv_binary64_5841
182×distribute-rgt-neg-in_binary64_5833
166×distribute-lft-neg-in_binary64_5832
145×associate-*l/_binary64_5818
142×*-commutative_binary64_5806
121×unswap-sqr_binary64_5843
113×associate-*r/_binary64_5817
102×sqr-pow_binary64_5847
89×distribute-rgt-in_binary64_5825
85×distribute-lft-in_binary64_5824
81×sub-neg_binary64_5868
55×pow-sqr_binary64_5848
51×exp-sum_binary64_5921 div-sub_binary64_5880
50×exp-prod_binary64_5927 distribute-lft-out_binary64_5826
48×*-rgt-identity_binary64_5865
46×neg-mul-1_binary64_5871
44×neg-sub0_binary64_5870 associate-+l+_binary64_5808
42×*-lft-identity_binary64_5864
41×distribute-rgt-out_binary64_5828 +-commutative_binary64_5805
36×distribute-neg-frac_binary64_5839
31×unsub-neg_binary64_5869 distribute-lft-neg-out_binary64_5834
28×associate-+r+_binary64_5807
25×log-div_binary64_5962 times-frac_binary64_5881
24×distribute-rgt-out--_binary64_5829
23×exp-diff_binary64_5923
21×log-prod_binary64_5961 distribute-rgt-neg-out_binary64_5835
20×sub0-neg_binary64_5862 associate-/r*_binary64_5819
19×distribute-lft-out--_binary64_5827
16×prod-exp_binary64_5924
15×cube-div_binary64_5904 cube-prod_binary64_5903
14×+-rgt-identity_binary64_5860
13×exp-sqrt_binary64_5928 cube-unmult_binary64_5912
12×associate--l+_binary64_5812 associate-+l-_binary64_5810 associate-+r-_binary64_5809
11×+-lft-identity_binary64_5859
10×div-exp_binary64_5926 distribute-rgt1-in_binary64_5831 associate--l-_binary64_5813
unpow1/3_binary64_5942 swap-sqr_binary64_5842
pow-plus_binary64_5938
exp-to-pow_binary64_5937
unpow3_binary64_5941 /-rgt-identity_binary64_5866 distribute-neg-in_binary64_5836
log-rec_binary64_5963 rem-exp-log_binary64_5915 cube-mult_binary64_5905
log-pow_binary64_5964 exp-lft-sqr_binary64_5930 exp-neg_binary64_5922
rec-exp_binary64_5925 distribute-neg-out_binary64_5837 distribute-lft1-in_binary64_5830 count-2_binary64_5823 associate--r+_binary64_5811
sinh-def_binary64_6060 unpow2_binary64_5940 unpow1_binary64_5933 1-exp_binary64_5919 exp-1-e_binary64_5918 rem-log-exp_binary64_5916 rem-3cbrt-rft_binary64_5901 rem-cbrt-cube_binary64_5899 rem-sqrt-square_binary64_5888 mul0-rgt_binary64_5858 mul0-lft_binary64_5857 div0_binary64_5856 *-inverses_binary64_5855 rgt-mult-inverse_binary64_5852 distribute-frac-neg_binary64_5838
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_6138 erf-erfc_binary64_6137 erf-odd_binary64_6136 if-if-and-not_binary64_6135 if-if-and_binary64_6134 if-if-or-not_binary64_6133 if-if-or_binary64_6132 if-not_binary64_6131 if-same_binary64_6130 if-false_binary64_6129 if-true_binary64_6128 not-gte_binary64_6127 not-lte_binary64_6126 not-gt_binary64_6125 not-lt_binary64_6124 gte-same_binary64_6123 lte-same_binary64_6122 gt-same_binary64_6121 lt-same_binary64_6120 sinh---cosh_binary64_6067 sinh-+-cosh_binary64_6066 sinh-cosh_binary64_6065 tanh-def-c_binary64_6064 tanh-def-b_binary64_6063 tanh-def-a_binary64_6062 cosh-def_binary64_6061 tan-neg_binary64_6007 cos-neg_binary64_6006 sin-neg_binary64_6005 tan-0_binary64_6004 cos-0_binary64_6003 sin-0_binary64_6002 hang-m-tan_binary64_6001 hang-p-tan_binary64_6000 hang-m0-tan_binary64_5999 hang-p0-tan_binary64_5998 hang-0m-tan_binary64_5997 hang-0p-tan_binary64_5996 tan-+PI/2_binary64_5995 tan-+PI_binary64_5994 tan-PI_binary64_5993 tan-PI/3_binary64_5992 tan-PI/4_binary64_5991 tan-PI/6_binary64_5990 cos-+PI/2_binary64_5989 cos-+PI_binary64_5988 cos-PI_binary64_5987 cos-PI/2_binary64_5986 cos-PI/3_binary64_5985 cos-PI/4_binary64_5984 cos-PI/6_binary64_5983 sin-+PI/2_binary64_5982 sin-+PI_binary64_5981 sin-PI_binary64_5980 sin-PI/2_binary64_5979 sin-PI/3_binary64_5978 sin-PI/4_binary64_5977 sin-PI/6_binary64_5976 sub-1-sin_binary64_5975 sub-1-cos_binary64_5974 -1-add-sin_binary64_5973 -1-add-cos_binary64_5972 1-sub-sin_binary64_5971 1-sub-cos_binary64_5970 cos-sin-sum_binary64_5969 log-E_binary64_5965 pow-base-0_binary64_5959 unpow1/2_binary64_5939 pow-base-1_binary64_5935 unpow0_binary64_5934 unpow-1_binary64_5932 exp-lft-cube_binary64_5931 exp-cbrt_binary64_5929 e-exp-1_binary64_5920 exp-0_binary64_5917 cube-neg_binary64_5902 rem-3cbrt-lft_binary64_5900 rem-cube-cbrt_binary64_5898 sqr-abs_binary64_5890 sqr-neg_binary64_5889 rem-square-sqrt_binary64_5887 mul-1-neg_binary64_5867 remove-double-neg_binary64_5863 --rgt-identity_binary64_5861 +-inverses_binary64_5854 lft-mult-inverse_binary64_5853 remove-double-div_binary64_5851 difference-of-sqr--1_binary64_5846 difference-of-sqr-1_binary64_5845 difference-of-squares_binary64_5844 cancel-sign-sub_binary64_5840 associate--r-_binary64_5814
Counts
86 → 83
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01581341
13341266
29091229
324321190

prune111.0ms (1.2%)

Pruning

6 alts after pruning (4 fresh and 2 done)

PrunedKeptTotal
New82183
Fresh033
Picked011
Done011
Total82688
Error
0b
Counts
88 → 6
Compiler

Compiled 2522 to 907 computations (64% saved)

localize7.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.0b
(sin.f64 x)
0.0b
(sinh.f64 y)
0.1b
(/.f64 y (sin.f64 x))
0.2b
(/.f64 (sinh.f64 y) (/.f64 y (sin.f64 x)))

rewrite124.0ms (1.3%)

Algorithm
rewrite-expression-head
Error
0b
Rules
84×times-frac_binary64_5881
54×add-cube-cbrt_binary64_5910 add-sqr-sqrt_binary64_5897 *-un-lft-identity_binary64_5875
16×associate-/r*_binary64_5819
11×add-exp-log_binary64_5913 add-cbrt-cube_binary64_5911
div-inv_binary64_5872 associate-/l*_binary64_5820
pow1_binary64_5936 div-exp_binary64_5926 add-log-exp_binary64_5914 cbrt-undiv_binary64_5909
frac-2neg_binary64_5886 clear-num_binary64_5874 sinh-def_binary64_6060
associate-/l/_binary64_5822 associate-/r/_binary64_5821
Counts
4 → 113
Calls

4 calls:

6.0ms
(/.f64 (sinh.f64 y) (/.f64 y (sin.f64 x)))
3.0ms
(/.f64 y (sin.f64 x))
1.0ms
(sin.f64 x)
1.0ms
(sinh.f64 y)
Compiler

Compiled 2031 to 643 computations (68.3% saved)

series598.0ms (6.4%)

Error
0b
Counts
4 → 31
Calls

4 calls:

343.0ms
(/.f64 (sinh.f64 y) (/.f64 y (sin.f64 x)))
132.0ms
(/.f64 y (sin.f64 x))
71.0ms
(sinh.f64 y)
19.0ms
(sin.f64 x)
Compiler

Compiled 1245 to 883 computations (29.1% saved)

simplify269.0ms (2.9%)

Algorithm
egg-herbie
Rules
599×associate-/r/_binary64_5821
459×associate-*l*_binary64_5816
388×associate-*r/_binary64_5817
376×*-commutative_binary64_5806
365×associate-/r*_binary64_5819
337×associate-*r*_binary64_5815
160×associate-/l/_binary64_5822
143×associate-/l*_binary64_5820
121×cancel-sign-sub-inv_binary64_5841
110×associate-*l/_binary64_5818
105×div-sub_binary64_5880
80×associate-+l+_binary64_5808
77×+-commutative_binary64_5805
56×distribute-rgt-neg-in_binary64_5833
55×sub-neg_binary64_5868
51×associate-+r+_binary64_5807
47×exp-prod_binary64_5927 times-frac_binary64_5881
46×sqr-pow_binary64_5847
40×log-div_binary64_5962
37×*-rgt-identity_binary64_5865
36×neg-sub0_binary64_5870 distribute-lft-neg-in_binary64_5832
35×log-prod_binary64_5961 neg-mul-1_binary64_5871
32×distribute-neg-frac_binary64_5839
31×/-rgt-identity_binary64_5866 distribute-rgt-in_binary64_5825
25×associate-+l-_binary64_5810
24×prod-exp_binary64_5924 distribute-lft-in_binary64_5824
23×div-exp_binary64_5926
21×unswap-sqr_binary64_5843 distribute-lft-neg-out_binary64_5834
20×pow-sqr_binary64_5848 distribute-rgt-out_binary64_5828
19×associate-+r-_binary64_5809
17×associate--l+_binary64_5812
16×associate--r+_binary64_5811
15×exp-sqrt_binary64_5928 distribute-lft-out_binary64_5826
11×distribute-rgt-out--_binary64_5829
10×cube-div_binary64_5904 *-lft-identity_binary64_5864 distribute-neg-in_binary64_5836
pow-plus_binary64_5938
unpow3_binary64_5941 exp-lft-sqr_binary64_5930 unsub-neg_binary64_5869
associate--l-_binary64_5813
log-pow_binary64_5964 cube-unmult_binary64_5912 swap-sqr_binary64_5842 distribute-lft-out--_binary64_5827
rec-exp_binary64_5925 cube-prod_binary64_5903 distribute-rgt1-in_binary64_5831 associate--r-_binary64_5814
exp-sum_binary64_5921 mul-1-neg_binary64_5867 remove-double-div_binary64_5851
exp-diff_binary64_5923 cube-mult_binary64_5905 distribute-rgt-neg-out_binary64_5835
sinh-def_binary64_6060 log-rec_binary64_5963 unpow2_binary64_5940 pow-base-1_binary64_5935 unpow1_binary64_5933 exp-neg_binary64_5922 1-exp_binary64_5919 rem-log-exp_binary64_5916 remove-double-neg_binary64_5863 div0_binary64_5856 *-inverses_binary64_5855 distribute-lft1-in_binary64_5830 count-2_binary64_5823
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_6138 erf-erfc_binary64_6137 erf-odd_binary64_6136 if-if-and-not_binary64_6135 if-if-and_binary64_6134 if-if-or-not_binary64_6133 if-if-or_binary64_6132 if-not_binary64_6131 if-same_binary64_6130 if-false_binary64_6129 if-true_binary64_6128 not-gte_binary64_6127 not-lte_binary64_6126 not-gt_binary64_6125 not-lt_binary64_6124 gte-same_binary64_6123 lte-same_binary64_6122 gt-same_binary64_6121 lt-same_binary64_6120 sinh---cosh_binary64_6067 sinh-+-cosh_binary64_6066 sinh-cosh_binary64_6065 tanh-def-c_binary64_6064 tanh-def-b_binary64_6063 tanh-def-a_binary64_6062 cosh-def_binary64_6061 tan-neg_binary64_6007 cos-neg_binary64_6006 sin-neg_binary64_6005 tan-0_binary64_6004 cos-0_binary64_6003 sin-0_binary64_6002 hang-m-tan_binary64_6001 hang-p-tan_binary64_6000 hang-m0-tan_binary64_5999 hang-p0-tan_binary64_5998 hang-0m-tan_binary64_5997 hang-0p-tan_binary64_5996 tan-+PI/2_binary64_5995 tan-+PI_binary64_5994 tan-PI_binary64_5993 tan-PI/3_binary64_5992 tan-PI/4_binary64_5991 tan-PI/6_binary64_5990 cos-+PI/2_binary64_5989 cos-+PI_binary64_5988 cos-PI_binary64_5987 cos-PI/2_binary64_5986 cos-PI/3_binary64_5985 cos-PI/4_binary64_5984 cos-PI/6_binary64_5983 sin-+PI/2_binary64_5982 sin-+PI_binary64_5981 sin-PI_binary64_5980 sin-PI/2_binary64_5979 sin-PI/3_binary64_5978 sin-PI/4_binary64_5977 sin-PI/6_binary64_5976 sub-1-sin_binary64_5975 sub-1-cos_binary64_5974 -1-add-sin_binary64_5973 -1-add-cos_binary64_5972 1-sub-sin_binary64_5971 1-sub-cos_binary64_5970 cos-sin-sum_binary64_5969 log-E_binary64_5965 pow-base-0_binary64_5959 unpow1/3_binary64_5942 unpow1/2_binary64_5939 exp-to-pow_binary64_5937 unpow0_binary64_5934 unpow-1_binary64_5932 exp-lft-cube_binary64_5931 exp-cbrt_binary64_5929 e-exp-1_binary64_5920 exp-1-e_binary64_5918 exp-0_binary64_5917 rem-exp-log_binary64_5915 cube-neg_binary64_5902 rem-3cbrt-rft_binary64_5901 rem-3cbrt-lft_binary64_5900 rem-cbrt-cube_binary64_5899 rem-cube-cbrt_binary64_5898 sqr-abs_binary64_5890 sqr-neg_binary64_5889 rem-sqrt-square_binary64_5888 rem-square-sqrt_binary64_5887 sub0-neg_binary64_5862 --rgt-identity_binary64_5861 +-rgt-identity_binary64_5860 +-lft-identity_binary64_5859 mul0-rgt_binary64_5858 mul0-lft_binary64_5857 +-inverses_binary64_5854 lft-mult-inverse_binary64_5853 rgt-mult-inverse_binary64_5852 difference-of-sqr--1_binary64_5846 difference-of-sqr-1_binary64_5845 difference-of-squares_binary64_5844 cancel-sign-sub_binary64_5840 distribute-frac-neg_binary64_5838 distribute-neg-out_binary64_5837
Counts
144 → 349
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02652714
16112560
219902527
348692527

prune364.0ms (3.9%)

Pruning

6 alts after pruning (3 fresh and 3 done)

PrunedKeptTotal
New3481349
Fresh123
Picked011
Done022
Total3496355
Error
0b
Counts
355 → 6
Compiler

Compiled 7547 to 1890 computations (75% saved)

localize7.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.0b
(sin.f64 x)
0.0b
(sinh.f64 y)
0.1b
(/.f64 (sin.f64 x) y)
0.2b
(*.f64 (sinh.f64 y) (/.f64 (sin.f64 x) y))

rewrite83.0ms (0.9%)

Algorithm
rewrite-expression-head
Error
0b
Rules
25×add-sqr-sqrt_binary64_5897
20×add-cube-cbrt_binary64_5910 *-un-lft-identity_binary64_5875
19×times-frac_binary64_5881
13×associate-*r*_binary64_5815
11×add-exp-log_binary64_5913 add-cbrt-cube_binary64_5911
pow1_binary64_5936
add-log-exp_binary64_5914
sinh-def_binary64_6060 associate-*l*_binary64_5816 associate-/l*_binary64_5820 associate-/r*_binary64_5819
div-exp_binary64_5926 prod-exp_binary64_5924 cbrt-unprod_binary64_5908 cbrt-undiv_binary64_5909 unswap-sqr_binary64_5843 div-inv_binary64_5872
pow-prod-down_binary64_5946 frac-times_binary64_5885 associate-*l/_binary64_5818 associate-*r/_binary64_5817 *-commutative_binary64_5806 frac-2neg_binary64_5886 clear-num_binary64_5874
Counts
4 → 76
Calls

4 calls:

8.0ms
(*.f64 (sinh.f64 y) (/.f64 (sin.f64 x) y))
4.0ms
(/.f64 (sin.f64 x) y)
1.0ms
(sin.f64 x)
1.0ms
(sinh.f64 y)
Compiler

Compiled 1185 to 407 computations (65.7% saved)

series545.0ms (5.8%)

Error
0b
Counts
4 → 31
Calls

4 calls:

313.0ms
(*.f64 (sinh.f64 y) (/.f64 (sin.f64 x) y))
123.0ms
(/.f64 (sin.f64 x) y)
61.0ms
(sinh.f64 y)
17.0ms
(sin.f64 x)
Compiler

Compiled 1257 to 897 computations (28.6% saved)

simplify213.0ms (2.3%)

Algorithm
egg-herbie
Rules
482×associate-/l*_binary64_5820
415×associate-*l*_binary64_5816
376×associate-*r*_binary64_5815
354×div-sub_binary64_5880
280×times-frac_binary64_5881
222×associate-/l/_binary64_5822
209×*-commutative_binary64_5806
189×associate-/r/_binary64_5821
140×associate-/r*_binary64_5819
121×cancel-sign-sub-inv_binary64_5841
88×associate-*r/_binary64_5817
82×associate-*l/_binary64_5818
71×+-commutative_binary64_5805
67×associate-+l+_binary64_5808
63×sub-neg_binary64_5868
57×distribute-rgt-in_binary64_5825
55×log-div_binary64_5962
51×distribute-rgt-neg-in_binary64_5833
50×distribute-lft-in_binary64_5824
49×cube-div_binary64_5904
48×log-prod_binary64_5961 sqr-pow_binary64_5847
46×exp-prod_binary64_5927 associate-+r+_binary64_5807
44×distribute-neg-frac_binary64_5839
39×associate-+l-_binary64_5810
35×neg-sub0_binary64_5870
34×cube-prod_binary64_5903 neg-mul-1_binary64_5871
30×associate--l+_binary64_5812
29×associate-+r-_binary64_5809
28×distribute-lft-neg-in_binary64_5832
25×distribute-lft-neg-out_binary64_5834
21×*-lft-identity_binary64_5864 associate--r+_binary64_5811
20×pow-sqr_binary64_5848
18×*-rgt-identity_binary64_5865
16×div-exp_binary64_5926
15×prod-exp_binary64_5924
14×cube-unmult_binary64_5912
12×unswap-sqr_binary64_5843
11×exp-sum_binary64_5921 distribute-lft-out_binary64_5826
10×exp-diff_binary64_5923 unsub-neg_binary64_5869 distribute-rgt-out_binary64_5828
log-rec_binary64_5963 unpow3_binary64_5941
exp-sqrt_binary64_5928 cube-mult_binary64_5905 /-rgt-identity_binary64_5866 distribute-neg-in_binary64_5836
pow-plus_binary64_5938
exp-lft-sqr_binary64_5930 distribute-rgt-out--_binary64_5829
rec-exp_binary64_5925 swap-sqr_binary64_5842 distribute-lft-out--_binary64_5827
distribute-rgt1-in_binary64_5831
log-pow_binary64_5964 mul-1-neg_binary64_5867 distribute-rgt-neg-out_binary64_5835 associate--r-_binary64_5814 associate--l-_binary64_5813
sinh-def_binary64_6060 unpow2_binary64_5940 unpow1_binary64_5933 exp-neg_binary64_5922 1-exp_binary64_5919 exp-1-e_binary64_5918 rem-log-exp_binary64_5916 rem-sqrt-square_binary64_5888 *-inverses_binary64_5855 distribute-lft1-in_binary64_5830
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_6138 erf-erfc_binary64_6137 erf-odd_binary64_6136 if-if-and-not_binary64_6135 if-if-and_binary64_6134 if-if-or-not_binary64_6133 if-if-or_binary64_6132 if-not_binary64_6131 if-same_binary64_6130 if-false_binary64_6129 if-true_binary64_6128 not-gte_binary64_6127 not-lte_binary64_6126 not-gt_binary64_6125 not-lt_binary64_6124 gte-same_binary64_6123 lte-same_binary64_6122 gt-same_binary64_6121 lt-same_binary64_6120 sinh---cosh_binary64_6067 sinh-+-cosh_binary64_6066 sinh-cosh_binary64_6065 tanh-def-c_binary64_6064 tanh-def-b_binary64_6063 tanh-def-a_binary64_6062 cosh-def_binary64_6061 tan-neg_binary64_6007 cos-neg_binary64_6006 sin-neg_binary64_6005 tan-0_binary64_6004 cos-0_binary64_6003 sin-0_binary64_6002 hang-m-tan_binary64_6001 hang-p-tan_binary64_6000 hang-m0-tan_binary64_5999 hang-p0-tan_binary64_5998 hang-0m-tan_binary64_5997 hang-0p-tan_binary64_5996 tan-+PI/2_binary64_5995 tan-+PI_binary64_5994 tan-PI_binary64_5993 tan-PI/3_binary64_5992 tan-PI/4_binary64_5991 tan-PI/6_binary64_5990 cos-+PI/2_binary64_5989 cos-+PI_binary64_5988 cos-PI_binary64_5987 cos-PI/2_binary64_5986 cos-PI/3_binary64_5985 cos-PI/4_binary64_5984 cos-PI/6_binary64_5983 sin-+PI/2_binary64_5982 sin-+PI_binary64_5981 sin-PI_binary64_5980 sin-PI/2_binary64_5979 sin-PI/3_binary64_5978 sin-PI/4_binary64_5977 sin-PI/6_binary64_5976 sub-1-sin_binary64_5975 sub-1-cos_binary64_5974 -1-add-sin_binary64_5973 -1-add-cos_binary64_5972 1-sub-sin_binary64_5971 1-sub-cos_binary64_5970 cos-sin-sum_binary64_5969 log-E_binary64_5965 pow-base-0_binary64_5959 unpow1/3_binary64_5942 unpow1/2_binary64_5939 exp-to-pow_binary64_5937 pow-base-1_binary64_5935 unpow0_binary64_5934 unpow-1_binary64_5932 exp-lft-cube_binary64_5931 exp-cbrt_binary64_5929 e-exp-1_binary64_5920 exp-0_binary64_5917 rem-exp-log_binary64_5915 cube-neg_binary64_5902 rem-3cbrt-rft_binary64_5901 rem-3cbrt-lft_binary64_5900 rem-cbrt-cube_binary64_5899 rem-cube-cbrt_binary64_5898 sqr-abs_binary64_5890 sqr-neg_binary64_5889 rem-square-sqrt_binary64_5887 remove-double-neg_binary64_5863 sub0-neg_binary64_5862 --rgt-identity_binary64_5861 +-rgt-identity_binary64_5860 +-lft-identity_binary64_5859 mul0-rgt_binary64_5858 mul0-lft_binary64_5857 div0_binary64_5856 +-inverses_binary64_5854 lft-mult-inverse_binary64_5853 rgt-mult-inverse_binary64_5852 remove-double-div_binary64_5851 difference-of-sqr--1_binary64_5846 difference-of-sqr-1_binary64_5845 difference-of-squares_binary64_5844 cancel-sign-sub_binary64_5840 distribute-frac-neg_binary64_5838 distribute-neg-out_binary64_5837 count-2_binary64_5823
Counts
107 → 117
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01941579
14651450
214861401
343921401

prune122.0ms (1.3%)

Pruning

6 alts after pruning (2 fresh and 4 done)

PrunedKeptTotal
New1170117
Fresh022
Picked011
Done033
Total1176123
Error
0b
Counts
123 → 6
Compiler

Compiled 2216 to 978 computations (55.9% saved)

regimes283.0ms (3%)

Accuracy

Total 0.0b remaining (65.9%)

Threshold costs 0.0b (65.9%)

Compiler

Compiled 2430 to 1679 computations (30.9% saved)

bsearch0.0ms (0%)

simplify3.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64_5806
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_6135 if-if-and_binary64_6134 if-if-or-not_binary64_6133 if-if-or_binary64_6132 if-not_binary64_6131 if-same_binary64_6130 if-false_binary64_6129 if-true_binary64_6128 tan-0_binary64_6004 cos-0_binary64_6003 sin-0_binary64_6002 unpow1_binary64_5933 e-exp-1_binary64_5920 1-exp_binary64_5919 exp-1-e_binary64_5918 exp-0_binary64_5917 sqr-abs_binary64_5890 sqr-neg_binary64_5889 neg-mul-1_binary64_5871 neg-sub0_binary64_5870 unsub-neg_binary64_5869 sub-neg_binary64_5868 mul-1-neg_binary64_5867 /-rgt-identity_binary64_5866 *-rgt-identity_binary64_5865 *-lft-identity_binary64_5864 remove-double-neg_binary64_5863 sub0-neg_binary64_5862 --rgt-identity_binary64_5861 +-rgt-identity_binary64_5860 +-lft-identity_binary64_5859 cancel-sign-sub-inv_binary64_5841 cancel-sign-sub_binary64_5840 distribute-neg-frac_binary64_5839 distribute-frac-neg_binary64_5838 distribute-neg-out_binary64_5837 distribute-neg-in_binary64_5836 distribute-rgt-neg-out_binary64_5835 distribute-lft-neg-out_binary64_5834 distribute-rgt-neg-in_binary64_5833 distribute-lft-neg-in_binary64_5832 +-commutative_binary64_5805
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0711
1811
Proof
(* f64 (sin f64 h0) (/ f64 (sinh f64 h1) h1))

end0.0ms (0%)

sample2.5s (26.3%)

Algorithm
intervals
Results
427.0ms1986×body1024valid
353.0ms1861×body1024invalid
227.0ms4583×body128valid
137.0ms939×body512valid
133.0ms2503×body128invalid
128.0ms964×body512invalid
50.0ms487×body256valid
47.0ms500×body256invalid
2.0msbody2048valid
Compiler

Compiled 495 to 344 computations (30.5% saved)

Profiling

Loading profile data...