Details

Time bar (total: 9.0s)

analyze57.0ms (0.6%)

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
25%74.9%0.1%5
37.5%50%12.6%6
50%37.5%12.6%7
56.2%25%18.8%8
62.4%18.7%18.8%9
65.6%12.5%22%10
68.7%9.4%22%11
70.2%6.2%23.5%12
71.8%4.7%23.5%13
72.6%3.1%24.3%14
Compiler

Compiled 8 to 7 computations (12.5% saved)

sample14.0ms (0.2%)

Algorithm
intervals
Results
5.0ms256×body128valid
0.0msbody128invalid
Compiler

Compiled 15 to 15 computations (0% saved)

simplify723.0ms (8.1%)

Algorithm
egg-herbie
Rules
666×times-frac_binary64_1789
488×exp-prod_binary64_1835
370×distribute-rgt-in_binary64_1733
316×swap-sqr_binary64_1750
273×associate-/l*_binary64_1728
232×pow-plus_binary64_1846
204×unsub-neg_binary64_1777
196×distribute-rgt1-in_binary64_1739
162×distribute-lft-neg-in_binary64_1740
139×distribute-rgt-neg-in_binary64_1741
128×distribute-rgt-neg-out_binary64_1743
114×exp-sum_binary64_1829
106×distribute-lft-in_binary64_1732
102×distribute-lft-neg-out_binary64_1742
90×neg-mul-1_binary64_1779
89×*-commutative_binary64_1714
85×associate-+l-_binary64_1718
82×neg-sub0_binary64_1778
76×sqr-pow_binary64_1755 distribute-neg-in_binary64_1744
72×distribute-neg-out_binary64_1745
68×associate-*r*_binary64_1723
66×associate-+l+_binary64_1716
60×associate-+r+_binary64_1715
59×associate-+r-_binary64_1717
55×+-commutative_binary64_1713
50×exp-diff_binary64_1831 sqr-neg_binary64_1797
49×pow-sqr_binary64_1756
48×associate-*l*_binary64_1724
44×exp-neg_binary64_1830
37×remove-double-neg_binary64_1771
27×sub-neg_binary64_1776
25×distribute-rgt-out_binary64_1736
24×associate--r+_binary64_1719
19×distribute-lft1-in_binary64_1738
17×associate-*l/_binary64_1726
15×exp-lft-sqr_binary64_1838
14×associate-/r*_binary64_1727
13×div-sub_binary64_1788 mul0-rgt_binary64_1766 mul0-lft_binary64_1765
sub0-neg_binary64_1770
*-rgt-identity_binary64_1773
cube-prod_binary64_1811 *-lft-identity_binary64_1772 cancel-sign-sub-inv_binary64_1749
pow-base-1_binary64_1843 distribute-frac-neg_binary64_1746 distribute-rgt-out--_binary64_1737 associate--l-_binary64_1721
cube-unmult_binary64_1820
+-rgt-identity_binary64_1768 count-2_binary64_1731 associate-*r/_binary64_1725
--rgt-identity_binary64_1769 associate--r-_binary64_1722
unpow3_binary64_1849 prod-exp_binary64_1832 1-exp_binary64_1827 exp-1-e_binary64_1826 cube-neg_binary64_1810 div0_binary64_1764 unswap-sqr_binary64_1751 distribute-neg-frac_binary64_1747 associate--l+_binary64_1720
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_2046 erf-erfc_binary64_2045 erf-odd_binary64_2044 if-if-and-not_binary64_2043 if-if-and_binary64_2042 if-if-or-not_binary64_2041 if-if-or_binary64_2040 if-not_binary64_2039 if-same_binary64_2038 if-false_binary64_2037 if-true_binary64_2036 not-gte_binary64_2035 not-lte_binary64_2034 not-gt_binary64_2033 not-lt_binary64_2032 gte-same_binary64_2031 lte-same_binary64_2030 gt-same_binary64_2029 lt-same_binary64_2028 sinh---cosh_binary64_1975 sinh-+-cosh_binary64_1974 sinh-cosh_binary64_1973 tanh-def-c_binary64_1972 tanh-def-b_binary64_1971 tanh-def-a_binary64_1970 cosh-def_binary64_1969 sinh-def_binary64_1968 tan-neg_binary64_1915 cos-neg_binary64_1914 sin-neg_binary64_1913 tan-0_binary64_1912 cos-0_binary64_1911 sin-0_binary64_1910 hang-m-tan_binary64_1909 hang-p-tan_binary64_1908 hang-m0-tan_binary64_1907 hang-p0-tan_binary64_1906 hang-0m-tan_binary64_1905 hang-0p-tan_binary64_1904 tan-+PI/2_binary64_1903 tan-+PI_binary64_1902 tan-PI_binary64_1901 tan-PI/3_binary64_1900 tan-PI/4_binary64_1899 tan-PI/6_binary64_1898 cos-+PI/2_binary64_1897 cos-+PI_binary64_1896 cos-PI_binary64_1895 cos-PI/2_binary64_1894 cos-PI/3_binary64_1893 cos-PI/4_binary64_1892 cos-PI/6_binary64_1891 sin-+PI/2_binary64_1890 sin-+PI_binary64_1889 sin-PI_binary64_1888 sin-PI/2_binary64_1887 sin-PI/3_binary64_1886 sin-PI/4_binary64_1885 sin-PI/6_binary64_1884 sub-1-sin_binary64_1883 sub-1-cos_binary64_1882 -1-add-sin_binary64_1881 -1-add-cos_binary64_1880 1-sub-sin_binary64_1879 1-sub-cos_binary64_1878 cos-sin-sum_binary64_1877 log-E_binary64_1873 log-pow_binary64_1872 log-rec_binary64_1871 log-div_binary64_1870 log-prod_binary64_1869 pow-base-0_binary64_1867 unpow1/3_binary64_1850 unpow2_binary64_1848 unpow1/2_binary64_1847 exp-to-pow_binary64_1845 unpow0_binary64_1842 unpow1_binary64_1841 unpow-1_binary64_1840 exp-lft-cube_binary64_1839 exp-cbrt_binary64_1837 exp-sqrt_binary64_1836 div-exp_binary64_1834 rec-exp_binary64_1833 e-exp-1_binary64_1828 exp-0_binary64_1825 rem-log-exp_binary64_1824 rem-exp-log_binary64_1823 cube-mult_binary64_1813 cube-div_binary64_1812 rem-3cbrt-rft_binary64_1809 rem-3cbrt-lft_binary64_1808 rem-cbrt-cube_binary64_1807 rem-cube-cbrt_binary64_1806 sqr-abs_binary64_1798 rem-sqrt-square_binary64_1796 rem-square-sqrt_binary64_1795 mul-1-neg_binary64_1775 /-rgt-identity_binary64_1774 +-lft-identity_binary64_1767 *-inverses_binary64_1763 +-inverses_binary64_1762 lft-mult-inverse_binary64_1761 rgt-mult-inverse_binary64_1760 remove-double-div_binary64_1759 difference-of-sqr--1_binary64_1754 difference-of-sqr-1_binary64_1753 difference-of-squares_binary64_1752 cancel-sign-sub_binary64_1748 distribute-lft-out--_binary64_1735 distribute-lft-out_binary64_1734 associate-/l/_binary64_1730 associate-/r/_binary64_1729
Counts
1 → 2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0710
11610
23110
35710
412810
520710
641710
7113610
8494810

prune4.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New112
Fresh011
Picked000
Done000
Total123
Error
0.0b
Counts
3 → 2
Compiler

Compiled 28 to 19 computations (32.1% saved)

localize5.0ms (0.1%)

Local error

Found 1 expressions with local error:

0.1b
(*.f64 x (-.f64 1 (*.f64 x y)))

rewrite28.0ms (0.3%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
add-sqr-sqrt_binary64_1805
pow1_binary64_1844 add-exp-log_binary64_1821 add-cbrt-cube_binary64_1819 add-cube-cbrt_binary64_1818 *-un-lft-identity_binary64_1783 associate-*l*_binary64_1724 associate-*r*_binary64_1723
sub-neg_binary64_1776 distribute-rgt-in_binary64_1733 cancel-sign-sub-inv_binary64_1749 distribute-lft-in_binary64_1732 associate-*r/_binary64_1725
pow-prod-down_binary64_1854 prod-exp_binary64_1832 add-log-exp_binary64_1822 cbrt-unprod_binary64_1816 unswap-sqr_binary64_1751 flip3--_binary64_1787 flip--_binary64_1758 *-commutative_binary64_1714
Counts
1 → 24
Calls

1 calls:

6.0ms
(*.f64 x (-.f64 1 (*.f64 x y)))
Compiler

Compiled 340 to 177 computations (47.9% saved)

series130.0ms (1.4%)

Error
0.0b
Counts
1 → 12
Calls

1 calls:

123.0ms
(*.f64 x (-.f64 1 (*.f64 x y)))
Compiler

Compiled 186 to 150 computations (19.4% saved)

simplify227.0ms (2.5%)

Algorithm
egg-herbie
Rules
625×unsub-neg_binary64_1777
293×associate-*l*_binary64_1724
228×associate-+l+_binary64_1716
224×associate-*r*_binary64_1723
221×*-commutative_binary64_1714
203×neg-sub0_binary64_1778
189×exp-prod_binary64_1835 neg-mul-1_binary64_1779
166×times-frac_binary64_1789
160×div-sub_binary64_1788
147×associate-+r+_binary64_1715
139×distribute-rgt-neg-out_binary64_1743
134×sub-neg_binary64_1776
121×distribute-rgt-in_binary64_1733
112×distribute-lft-neg-out_binary64_1742 distribute-lft-in_binary64_1732
108×unswap-sqr_binary64_1751
90×distribute-rgt-neg-in_binary64_1741
88×associate-/r*_binary64_1727
87×cancel-sign-sub-inv_binary64_1749
80×associate-/l*_binary64_1728
78×distribute-lft-neg-in_binary64_1740
70×associate-/r/_binary64_1729
59×cube-prod_binary64_1811
58×log-prod_binary64_1869
54×distribute-rgt-out_binary64_1736
52×sqr-pow_binary64_1755
48×exp-to-pow_binary64_1845
47×pow-plus_binary64_1846
44×log-pow_binary64_1872 exp-sum_binary64_1829
41×exp-diff_binary64_1831
40×exp-sqrt_binary64_1836 associate-+l-_binary64_1718
37×+-commutative_binary64_1713
35×exp-lft-sqr_binary64_1838 associate-*l/_binary64_1726
32×cube-div_binary64_1812 pow-sqr_binary64_1756
30×associate-*r/_binary64_1725
26×log-div_binary64_1870
25×*-lft-identity_binary64_1772 associate-+r-_binary64_1717
24×*-rgt-identity_binary64_1773
17×distribute-neg-frac_binary64_1747 associate-/l/_binary64_1730 associate--l-_binary64_1721
15×pow-base-1_binary64_1843 swap-sqr_binary64_1750
14×unpow3_binary64_1849
13×cube-mult_binary64_1813
11×mul0-rgt_binary64_1766 mul0-lft_binary64_1765
mul-1-neg_binary64_1775 distribute-lft-out_binary64_1734 associate--r+_binary64_1719
cube-unmult_binary64_1820 distribute-rgt-out--_binary64_1737
sqr-neg_binary64_1797 difference-of-squares_binary64_1752
prod-exp_binary64_1832 rem-sqrt-square_binary64_1796 sub0-neg_binary64_1770 difference-of-sqr-1_binary64_1753
distribute-rgt1-in_binary64_1739
log-rec_binary64_1871 exp-neg_binary64_1830 cube-neg_binary64_1810 +-rgt-identity_binary64_1768 distribute-neg-out_binary64_1745 distribute-neg-in_binary64_1744 distribute-lft-out--_binary64_1735 count-2_binary64_1731 associate--l+_binary64_1720
unpow2_binary64_1848 unpow1_binary64_1841 exp-lft-cube_binary64_1839 1-exp_binary64_1827 exp-1-e_binary64_1826 rem-log-exp_binary64_1824 rem-exp-log_binary64_1823 /-rgt-identity_binary64_1774 *-inverses_binary64_1763
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_2046 erf-erfc_binary64_2045 erf-odd_binary64_2044 if-if-and-not_binary64_2043 if-if-and_binary64_2042 if-if-or-not_binary64_2041 if-if-or_binary64_2040 if-not_binary64_2039 if-same_binary64_2038 if-false_binary64_2037 if-true_binary64_2036 not-gte_binary64_2035 not-lte_binary64_2034 not-gt_binary64_2033 not-lt_binary64_2032 gte-same_binary64_2031 lte-same_binary64_2030 gt-same_binary64_2029 lt-same_binary64_2028 sinh---cosh_binary64_1975 sinh-+-cosh_binary64_1974 sinh-cosh_binary64_1973 tanh-def-c_binary64_1972 tanh-def-b_binary64_1971 tanh-def-a_binary64_1970 cosh-def_binary64_1969 sinh-def_binary64_1968 tan-neg_binary64_1915 cos-neg_binary64_1914 sin-neg_binary64_1913 tan-0_binary64_1912 cos-0_binary64_1911 sin-0_binary64_1910 hang-m-tan_binary64_1909 hang-p-tan_binary64_1908 hang-m0-tan_binary64_1907 hang-p0-tan_binary64_1906 hang-0m-tan_binary64_1905 hang-0p-tan_binary64_1904 tan-+PI/2_binary64_1903 tan-+PI_binary64_1902 tan-PI_binary64_1901 tan-PI/3_binary64_1900 tan-PI/4_binary64_1899 tan-PI/6_binary64_1898 cos-+PI/2_binary64_1897 cos-+PI_binary64_1896 cos-PI_binary64_1895 cos-PI/2_binary64_1894 cos-PI/3_binary64_1893 cos-PI/4_binary64_1892 cos-PI/6_binary64_1891 sin-+PI/2_binary64_1890 sin-+PI_binary64_1889 sin-PI_binary64_1888 sin-PI/2_binary64_1887 sin-PI/3_binary64_1886 sin-PI/4_binary64_1885 sin-PI/6_binary64_1884 sub-1-sin_binary64_1883 sub-1-cos_binary64_1882 -1-add-sin_binary64_1881 -1-add-cos_binary64_1880 1-sub-sin_binary64_1879 1-sub-cos_binary64_1878 cos-sin-sum_binary64_1877 log-E_binary64_1873 pow-base-0_binary64_1867 unpow1/3_binary64_1850 unpow1/2_binary64_1847 unpow0_binary64_1842 unpow-1_binary64_1840 exp-cbrt_binary64_1837 div-exp_binary64_1834 rec-exp_binary64_1833 e-exp-1_binary64_1828 exp-0_binary64_1825 rem-3cbrt-rft_binary64_1809 rem-3cbrt-lft_binary64_1808 rem-cbrt-cube_binary64_1807 rem-cube-cbrt_binary64_1806 sqr-abs_binary64_1798 rem-square-sqrt_binary64_1795 remove-double-neg_binary64_1771 --rgt-identity_binary64_1769 +-lft-identity_binary64_1767 div0_binary64_1764 +-inverses_binary64_1762 lft-mult-inverse_binary64_1761 rgt-mult-inverse_binary64_1760 remove-double-div_binary64_1759 difference-of-sqr--1_binary64_1754 cancel-sign-sub_binary64_1748 distribute-frac-neg_binary64_1746 distribute-lft1-in_binary64_1738 associate--r-_binary64_1722
Counts
36 → 93
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
056441
1135399
2440398
31377396
43140396

prune65.0ms (0.7%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New90393
Fresh011
Picked011
Done000
Total90595
Error
0.0b
Counts
95 → 5
Compiler

Compiled 1135 to 297 computations (73.8% saved)

localize8.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.1b
(*.f64 (*.f64 (cbrt.f64 (-.f64 1 (*.f64 x y))) (*.f64 x (cbrt.f64 (-.f64 1 (*.f64 x y))))) (cbrt.f64 (-.f64 1 (*.f64 x y))))
0.2b
(cbrt.f64 (-.f64 1 (*.f64 x y)))
0.2b
(cbrt.f64 (-.f64 1 (*.f64 x y)))
0.2b
(cbrt.f64 (-.f64 1 (*.f64 x y)))

rewrite223.0ms (2.5%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
60×cbrt-div_binary64_1815
30×flip3--_binary64_1787 flip--_binary64_1758
28×frac-times_binary64_1793
26×associate-*r/_binary64_1725
14×associate-*l/_binary64_1726
13×pow1_binary64_1844 add-exp-log_binary64_1821
12×cbrt-prod_binary64_1814
add-cube-cbrt_binary64_1818 add-sqr-sqrt_binary64_1805 *-un-lft-identity_binary64_1783
add-cbrt-cube_binary64_1819
pow-prod-down_binary64_1854 prod-exp_binary64_1832 cbrt-unprod_binary64_1816 associate-*r*_binary64_1723
add-log-exp_binary64_1822
pow1/3_binary64_1865
associate-*l*_binary64_1724 *-commutative_binary64_1714
Counts
4 → 89
Calls

4 calls:

19.0ms
(*.f64 (*.f64 (cbrt.f64 (-.f64 1 (*.f64 x y))) (*.f64 x (cbrt.f64 (-.f64 1 (*.f64 x y))))) (cbrt.f64 (-.f64 1 (*.f64 x y))))
3.0ms
(cbrt.f64 (-.f64 1 (*.f64 x y)))
3.0ms
(cbrt.f64 (-.f64 1 (*.f64 x y)))
2.0ms
(cbrt.f64 (-.f64 1 (*.f64 x y)))
Compiler

Compiled 3526 to 1966 computations (44.2% saved)

series709.0ms (7.9%)

Error
0.0b
Counts
4 → 54
Calls

4 calls:

171.0ms
(cbrt.f64 (-.f64 1 (*.f64 x y)))
161.0ms
(cbrt.f64 (-.f64 1 (*.f64 x y)))
158.0ms
(cbrt.f64 (-.f64 1 (*.f64 x y)))
146.0ms
(*.f64 (*.f64 (cbrt.f64 (-.f64 1 (*.f64 x y))) (*.f64 x (cbrt.f64 (-.f64 1 (*.f64 x y))))) (cbrt.f64 (-.f64 1 (*.f64 x y))))
Compiler

Compiled 3399 to 2375 computations (30.1% saved)

simplify1.3s (14%)

Algorithm
egg-herbie
Rules
346×unswap-sqr_binary64_1751
328×distribute-rgt-neg-in_binary64_1741
310×distribute-lft-neg-in_binary64_1740
298×*-commutative_binary64_1714
262×associate-*l*_binary64_1724
244×cancel-sign-sub-inv_binary64_1749
204×associate-*r*_binary64_1723
145×sub-neg_binary64_1776
118×distribute-rgt-in_binary64_1733
116×sqr-pow_binary64_1755
108×neg-sub0_binary64_1778
107×neg-mul-1_binary64_1779
106×exp-prod_binary64_1835 distribute-lft-in_binary64_1732
98×distribute-neg-frac_binary64_1747 distribute-lft-neg-out_binary64_1742
95×times-frac_binary64_1789
84×exp-sum_binary64_1829
83×unsub-neg_binary64_1777
77×distribute-rgt-neg-out_binary64_1743
62×pow-sqr_binary64_1756 associate-*r/_binary64_1725
60×log-prod_binary64_1869
55×div-sub_binary64_1788
48×associate-*l/_binary64_1726
47×exp-diff_binary64_1831
46×associate-/l*_binary64_1728
43×associate-/r*_binary64_1727
41×cube-prod_binary64_1811
35×swap-sqr_binary64_1750 +-commutative_binary64_1713
32×log-div_binary64_1870
28×distribute-neg-out_binary64_1745 distribute-rgt-out_binary64_1736
27×associate-+l+_binary64_1716
26×*-rgt-identity_binary64_1773
25×pow-plus_binary64_1846 associate-+r-_binary64_1717
23×cube-div_binary64_1812 *-lft-identity_binary64_1772
21×/-rgt-identity_binary64_1774 associate-+l-_binary64_1718
20×log-pow_binary64_1872
19×distribute-lft-out_binary64_1734
17×sub0-neg_binary64_1770 associate-+r+_binary64_1715
16×exp-sqrt_binary64_1836
15×difference-of-squares_binary64_1752 associate--r+_binary64_1719
14×distribute-neg-in_binary64_1744
13×associate-/r/_binary64_1729
12×associate--r-_binary64_1722
11×exp-to-pow_binary64_1845
10×exp-neg_binary64_1830 associate--l+_binary64_1720
div-exp_binary64_1834 +-rgt-identity_binary64_1768
distribute-frac-neg_binary64_1746 distribute-rgt1-in_binary64_1739 associate--l-_binary64_1721
unpow3_binary64_1849 distribute-rgt-out--_binary64_1737
pow-base-1_binary64_1843 rem-exp-log_binary64_1823 cube-unmult_binary64_1820 cube-mult_binary64_1813 --rgt-identity_binary64_1769 mul0-rgt_binary64_1766 mul0-lft_binary64_1765 difference-of-sqr-1_binary64_1753 associate-/l/_binary64_1730
rec-exp_binary64_1833
log-rec_binary64_1871 unpow1/3_binary64_1850
exp-lft-sqr_binary64_1838 rem-3cbrt-lft_binary64_1808
unpow2_binary64_1848 unpow1_binary64_1841 remove-double-neg_binary64_1771 cancel-sign-sub_binary64_1748 distribute-lft1-in_binary64_1738 count-2_binary64_1731
prod-exp_binary64_1832 1-exp_binary64_1827 exp-1-e_binary64_1826 rem-log-exp_binary64_1824 rem-cbrt-cube_binary64_1807 rem-sqrt-square_binary64_1796 mul-1-neg_binary64_1775 *-inverses_binary64_1763 rgt-mult-inverse_binary64_1760 distribute-lft-out--_binary64_1735
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_2046 erf-erfc_binary64_2045 erf-odd_binary64_2044 if-if-and-not_binary64_2043 if-if-and_binary64_2042 if-if-or-not_binary64_2041 if-if-or_binary64_2040 if-not_binary64_2039 if-same_binary64_2038 if-false_binary64_2037 if-true_binary64_2036 not-gte_binary64_2035 not-lte_binary64_2034 not-gt_binary64_2033 not-lt_binary64_2032 gte-same_binary64_2031 lte-same_binary64_2030 gt-same_binary64_2029 lt-same_binary64_2028 sinh---cosh_binary64_1975 sinh-+-cosh_binary64_1974 sinh-cosh_binary64_1973 tanh-def-c_binary64_1972 tanh-def-b_binary64_1971 tanh-def-a_binary64_1970 cosh-def_binary64_1969 sinh-def_binary64_1968 tan-neg_binary64_1915 cos-neg_binary64_1914 sin-neg_binary64_1913 tan-0_binary64_1912 cos-0_binary64_1911 sin-0_binary64_1910 hang-m-tan_binary64_1909 hang-p-tan_binary64_1908 hang-m0-tan_binary64_1907 hang-p0-tan_binary64_1906 hang-0m-tan_binary64_1905 hang-0p-tan_binary64_1904 tan-+PI/2_binary64_1903 tan-+PI_binary64_1902 tan-PI_binary64_1901 tan-PI/3_binary64_1900 tan-PI/4_binary64_1899 tan-PI/6_binary64_1898 cos-+PI/2_binary64_1897 cos-+PI_binary64_1896 cos-PI_binary64_1895 cos-PI/2_binary64_1894 cos-PI/3_binary64_1893 cos-PI/4_binary64_1892 cos-PI/6_binary64_1891 sin-+PI/2_binary64_1890 sin-+PI_binary64_1889 sin-PI_binary64_1888 sin-PI/2_binary64_1887 sin-PI/3_binary64_1886 sin-PI/4_binary64_1885 sin-PI/6_binary64_1884 sub-1-sin_binary64_1883 sub-1-cos_binary64_1882 -1-add-sin_binary64_1881 -1-add-cos_binary64_1880 1-sub-sin_binary64_1879 1-sub-cos_binary64_1878 cos-sin-sum_binary64_1877 log-E_binary64_1873 pow-base-0_binary64_1867 unpow1/2_binary64_1847 unpow0_binary64_1842 unpow-1_binary64_1840 exp-lft-cube_binary64_1839 exp-cbrt_binary64_1837 e-exp-1_binary64_1828 exp-0_binary64_1825 cube-neg_binary64_1810 rem-3cbrt-rft_binary64_1809 rem-cube-cbrt_binary64_1806 sqr-abs_binary64_1798 sqr-neg_binary64_1797 rem-square-sqrt_binary64_1795 +-lft-identity_binary64_1767 div0_binary64_1764 +-inverses_binary64_1762 lft-mult-inverse_binary64_1761 remove-double-div_binary64_1759 difference-of-sqr--1_binary64_1754
Counts
143 → 457
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01734315
13853679
213113583
328473439

prune1.2s (13.3%)

Pruning

5 alts after pruning (3 fresh and 2 done)

PrunedKeptTotal
New4561457
Fresh123
Picked011
Done011
Total4575462
Error
0.0b
Counts
462 → 5
Compiler

Compiled 18936 to 9790 computations (48.3% saved)

localize18.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.2b
(/.f64 (cbrt.f64 (-.f64 1 (*.f64 x (*.f64 y (*.f64 x y))))) (cbrt.f64 (+.f64 1 (*.f64 x y))))
0.2b
(cbrt.f64 (+.f64 1 (*.f64 x y)))
3.8b
(*.f64 x (*.f64 y (*.f64 x y)))
6.1b
(cbrt.f64 (-.f64 1 (*.f64 x (*.f64 y (*.f64 x y)))))

rewrite289.0ms (3.2%)

Algorithm
rewrite-expression-head
Error
0b
Rules
48×cbrt-prod_binary64_1814
36×times-frac_binary64_1789
35×add-cube-cbrt_binary64_1818 add-sqr-sqrt_binary64_1805 *-un-lft-identity_binary64_1783
15×add-exp-log_binary64_1821
13×pow1_binary64_1844 add-cbrt-cube_binary64_1819
cbrt-div_binary64_1815
pow-prod-down_binary64_1854 prod-exp_binary64_1832 cbrt-unprod_binary64_1816 associate-/l*_binary64_1728 associate-/r*_binary64_1727
add-log-exp_binary64_1822
associate-*l*_binary64_1724
pow1/3_binary64_1865 flip3--_binary64_1787 flip--_binary64_1758 flip3-+_binary64_1786 flip-+_binary64_1757 associate-/l/_binary64_1730 associate-/r/_binary64_1729
associate-*r*_binary64_1723 *-commutative_binary64_1714 div-exp_binary64_1834 cbrt-undiv_binary64_1817 frac-2neg_binary64_1794 clear-num_binary64_1782 div-inv_binary64_1780
Counts
4 → 111
Calls

4 calls:

8.0ms
(/.f64 (cbrt.f64 (-.f64 1 (*.f64 x (*.f64 y (*.f64 x y))))) (cbrt.f64 (+.f64 1 (*.f64 x y))))
7.0ms
(*.f64 x (*.f64 y (*.f64 x y)))
3.0ms
(cbrt.f64 (-.f64 1 (*.f64 x (*.f64 y (*.f64 x y)))))
2.0ms
(cbrt.f64 (+.f64 1 (*.f64 x y)))
Compiler

Compiled 5235 to 2621 computations (49.9% saved)

series866.0ms (9.7%)

Error
0.0b
Counts
4 → 48
Calls

4 calls:

276.0ms
(cbrt.f64 (+.f64 1 (*.f64 x y)))
188.0ms
(/.f64 (cbrt.f64 (-.f64 1 (*.f64 x (*.f64 y (*.f64 x y))))) (cbrt.f64 (+.f64 1 (*.f64 x y))))
187.0ms
(cbrt.f64 (-.f64 1 (*.f64 x (*.f64 y (*.f64 x y)))))
116.0ms
(*.f64 x (*.f64 y (*.f64 x y)))
Compiler

Compiled 4942 to 3376 computations (31.7% saved)

simplify610.0ms (6.8%)

Algorithm
egg-herbie
Rules
529×cancel-sign-sub-inv_binary64_1749
454×associate-/l*_binary64_1728
366×distribute-rgt-neg-in_binary64_1741
310×distribute-lft-neg-in_binary64_1740
214×associate-/r/_binary64_1729
210×associate-*r*_binary64_1723
168×associate-*l*_binary64_1724
138×unswap-sqr_binary64_1751
122×associate-/l/_binary64_1730
115×associate-/r*_binary64_1727
101×distribute-rgt-in_binary64_1733
99×distribute-neg-frac_binary64_1747
97×sub-neg_binary64_1776
95×times-frac_binary64_1789
86×distribute-rgt-out_binary64_1736
81×distribute-lft-in_binary64_1732
79×sqr-pow_binary64_1755
76×*-commutative_binary64_1714
69×log-prod_binary64_1869 neg-mul-1_binary64_1779
66×neg-sub0_binary64_1778
65×exp-prod_binary64_1835 distribute-lft-neg-out_binary64_1742
58×exp-sum_binary64_1829
53×+-commutative_binary64_1713
47×swap-sqr_binary64_1750 distribute-rgt-out--_binary64_1737
40×pow-sqr_binary64_1756
35×cube-prod_binary64_1811 associate-*r/_binary64_1725
31×/-rgt-identity_binary64_1774 distribute-lft-out_binary64_1734
30×associate-*l/_binary64_1726
29×unsub-neg_binary64_1777
22×*-rgt-identity_binary64_1773
19×div-sub_binary64_1788
18×associate--l+_binary64_1720
16×log-div_binary64_1870
15×associate-+l+_binary64_1716
14×distribute-rgt-neg-out_binary64_1743 distribute-rgt1-in_binary64_1739
13×pow-plus_binary64_1846 distribute-neg-out_binary64_1745
12×exp-diff_binary64_1831 distribute-neg-in_binary64_1744
11×associate-+r+_binary64_1715
10×unpow1/3_binary64_1850
log-pow_binary64_1872 unpow3_binary64_1849 *-lft-identity_binary64_1772 distribute-lft-out--_binary64_1735
cube-mult_binary64_1813 cube-div_binary64_1812 associate--r-_binary64_1722
associate--r+_binary64_1719
div-exp_binary64_1834
log-rec_binary64_1871 difference-of-squares_binary64_1752
cube-unmult_binary64_1820 remove-double-neg_binary64_1771
pow-base-1_binary64_1843 --rgt-identity_binary64_1769 *-inverses_binary64_1763 distribute-lft1-in_binary64_1738
unpow2_binary64_1848 unpow1_binary64_1841 rem-3cbrt-lft_binary64_1808 count-2_binary64_1731
exp-to-pow_binary64_1845 exp-sqrt_binary64_1836 rec-exp_binary64_1833 prod-exp_binary64_1832 1-exp_binary64_1827 exp-1-e_binary64_1826 rem-log-exp_binary64_1824 rem-exp-log_binary64_1823 rem-cbrt-cube_binary64_1807 rem-sqrt-square_binary64_1796 associate-+l-_binary64_1718 associate-+r-_binary64_1717
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_2046 erf-erfc_binary64_2045 erf-odd_binary64_2044 if-if-and-not_binary64_2043 if-if-and_binary64_2042 if-if-or-not_binary64_2041 if-if-or_binary64_2040 if-not_binary64_2039 if-same_binary64_2038 if-false_binary64_2037 if-true_binary64_2036 not-gte_binary64_2035 not-lte_binary64_2034 not-gt_binary64_2033 not-lt_binary64_2032 gte-same_binary64_2031 lte-same_binary64_2030 gt-same_binary64_2029 lt-same_binary64_2028 sinh---cosh_binary64_1975 sinh-+-cosh_binary64_1974 sinh-cosh_binary64_1973 tanh-def-c_binary64_1972 tanh-def-b_binary64_1971 tanh-def-a_binary64_1970 cosh-def_binary64_1969 sinh-def_binary64_1968 tan-neg_binary64_1915 cos-neg_binary64_1914 sin-neg_binary64_1913 tan-0_binary64_1912 cos-0_binary64_1911 sin-0_binary64_1910 hang-m-tan_binary64_1909 hang-p-tan_binary64_1908 hang-m0-tan_binary64_1907 hang-p0-tan_binary64_1906 hang-0m-tan_binary64_1905 hang-0p-tan_binary64_1904 tan-+PI/2_binary64_1903 tan-+PI_binary64_1902 tan-PI_binary64_1901 tan-PI/3_binary64_1900 tan-PI/4_binary64_1899 tan-PI/6_binary64_1898 cos-+PI/2_binary64_1897 cos-+PI_binary64_1896 cos-PI_binary64_1895 cos-PI/2_binary64_1894 cos-PI/3_binary64_1893 cos-PI/4_binary64_1892 cos-PI/6_binary64_1891 sin-+PI/2_binary64_1890 sin-+PI_binary64_1889 sin-PI_binary64_1888 sin-PI/2_binary64_1887 sin-PI/3_binary64_1886 sin-PI/4_binary64_1885 sin-PI/6_binary64_1884 sub-1-sin_binary64_1883 sub-1-cos_binary64_1882 -1-add-sin_binary64_1881 -1-add-cos_binary64_1880 1-sub-sin_binary64_1879 1-sub-cos_binary64_1878 cos-sin-sum_binary64_1877 log-E_binary64_1873 pow-base-0_binary64_1867 unpow1/2_binary64_1847 unpow0_binary64_1842 unpow-1_binary64_1840 exp-lft-cube_binary64_1839 exp-lft-sqr_binary64_1838 exp-cbrt_binary64_1837 exp-neg_binary64_1830 e-exp-1_binary64_1828 exp-0_binary64_1825 cube-neg_binary64_1810 rem-3cbrt-rft_binary64_1809 rem-cube-cbrt_binary64_1806 sqr-abs_binary64_1798 sqr-neg_binary64_1797 rem-square-sqrt_binary64_1795 mul-1-neg_binary64_1775 sub0-neg_binary64_1770 +-rgt-identity_binary64_1768 +-lft-identity_binary64_1767 mul0-rgt_binary64_1766 mul0-lft_binary64_1765 div0_binary64_1764 +-inverses_binary64_1762 lft-mult-inverse_binary64_1761 rgt-mult-inverse_binary64_1760 remove-double-div_binary64_1759 difference-of-sqr--1_binary64_1754 difference-of-sqr-1_binary64_1753 cancel-sign-sub_binary64_1748 distribute-frac-neg_binary64_1746 associate--l-_binary64_1721
Counts
159 → 353
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02804981
16404745
221684508

prune1.2s (13.3%)

Pruning

6 alts after pruning (3 fresh and 3 done)

PrunedKeptTotal
New3521353
Fresh022
Picked011
Done022
Total3526358
Error
0b
Counts
358 → 6
Compiler

Compiled 17031 to 8571 computations (49.7% saved)

localize4.0ms (0%)

Local error

Found 1 expressions with local error:

10.2b
(*.f64 y (*.f64 x x))

rewrite19.0ms (0.2%)

Algorithm
rewrite-expression-head
Error
0b
Rules
pow1_binary64_1844 add-exp-log_binary64_1821 add-cbrt-cube_binary64_1819
pow-prod-down_binary64_1854 prod-exp_binary64_1832 cbrt-unprod_binary64_1816 add-sqr-sqrt_binary64_1805 associate-*l*_binary64_1724
add-cube-cbrt_binary64_1818 *-un-lft-identity_binary64_1783
add-log-exp_binary64_1822 unswap-sqr_binary64_1751 associate-*r*_binary64_1723 *-commutative_binary64_1714
Counts
1 → 19
Calls

1 calls:

6.0ms
(*.f64 y (*.f64 x x))
Compiler

Compiled 231 to 75 computations (67.5% saved)

series90.0ms (1%)

Error
0b
Counts
1 → 6
Calls

1 calls:

86.0ms
(*.f64 y (*.f64 x x))
Compiler

Compiled 126 to 98 computations (22.2% saved)

simplify158.0ms (1.8%)

Algorithm
egg-herbie
Rules
727×unswap-sqr_binary64_1751
356×log-prod_binary64_1869
312×exp-prod_binary64_1835
283×distribute-rgt-in_binary64_1733
280×times-frac_binary64_1789
221×distribute-rgt-out_binary64_1736
217×distribute-lft-in_binary64_1732
197×cube-div_binary64_1812
190×log-div_binary64_1870
188×associate-*l*_binary64_1724
133×exp-sum_binary64_1829
126×associate-+l+_binary64_1716
124×*-commutative_binary64_1714
121×sqr-pow_binary64_1755
118×associate-*r*_binary64_1723
101×associate-/l*_binary64_1728
84×associate-/r/_binary64_1729
73×cube-prod_binary64_1811 associate-/l/_binary64_1730
72×associate-+r+_binary64_1715
64×pow-sqr_binary64_1756 associate-/r*_binary64_1727
60×swap-sqr_binary64_1750
59×unpow3_binary64_1849
57×cube-mult_binary64_1813
54×associate-*l/_binary64_1726
43×pow-plus_binary64_1846
38×associate-*r/_binary64_1725
28×exp-sqrt_binary64_1836 distribute-lft-out_binary64_1734
23×log-pow_binary64_1872 exp-lft-sqr_binary64_1838
16×div-exp_binary64_1834 prod-exp_binary64_1832 distribute-rgt1-in_binary64_1739
15×*-lft-identity_binary64_1772
14×/-rgt-identity_binary64_1774
12×log-rec_binary64_1871
11×cube-unmult_binary64_1820
+-commutative_binary64_1713
distribute-lft1-in_binary64_1738 count-2_binary64_1731
*-rgt-identity_binary64_1773
rec-exp_binary64_1833
unpow2_binary64_1848 pow-base-1_binary64_1843 unpow1_binary64_1841 1-exp_binary64_1827 exp-1-e_binary64_1826 rem-log-exp_binary64_1824 neg-mul-1_binary64_1779 neg-sub0_binary64_1778 sub-neg_binary64_1776 --rgt-identity_binary64_1769 *-inverses_binary64_1763 rgt-mult-inverse_binary64_1760
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_2046 erf-erfc_binary64_2045 erf-odd_binary64_2044 if-if-and-not_binary64_2043 if-if-and_binary64_2042 if-if-or-not_binary64_2041 if-if-or_binary64_2040 if-not_binary64_2039 if-same_binary64_2038 if-false_binary64_2037 if-true_binary64_2036 not-gte_binary64_2035 not-lte_binary64_2034 not-gt_binary64_2033 not-lt_binary64_2032 gte-same_binary64_2031 lte-same_binary64_2030 gt-same_binary64_2029 lt-same_binary64_2028 sinh---cosh_binary64_1975 sinh-+-cosh_binary64_1974 sinh-cosh_binary64_1973 tanh-def-c_binary64_1972 tanh-def-b_binary64_1971 tanh-def-a_binary64_1970 cosh-def_binary64_1969 sinh-def_binary64_1968 tan-neg_binary64_1915 cos-neg_binary64_1914 sin-neg_binary64_1913 tan-0_binary64_1912 cos-0_binary64_1911 sin-0_binary64_1910 hang-m-tan_binary64_1909 hang-p-tan_binary64_1908 hang-m0-tan_binary64_1907 hang-p0-tan_binary64_1906 hang-0m-tan_binary64_1905 hang-0p-tan_binary64_1904 tan-+PI/2_binary64_1903 tan-+PI_binary64_1902 tan-PI_binary64_1901 tan-PI/3_binary64_1900 tan-PI/4_binary64_1899 tan-PI/6_binary64_1898 cos-+PI/2_binary64_1897 cos-+PI_binary64_1896 cos-PI_binary64_1895 cos-PI/2_binary64_1894 cos-PI/3_binary64_1893 cos-PI/4_binary64_1892 cos-PI/6_binary64_1891 sin-+PI/2_binary64_1890 sin-+PI_binary64_1889 sin-PI_binary64_1888 sin-PI/2_binary64_1887 sin-PI/3_binary64_1886 sin-PI/4_binary64_1885 sin-PI/6_binary64_1884 sub-1-sin_binary64_1883 sub-1-cos_binary64_1882 -1-add-sin_binary64_1881 -1-add-cos_binary64_1880 1-sub-sin_binary64_1879 1-sub-cos_binary64_1878 cos-sin-sum_binary64_1877 log-E_binary64_1873 pow-base-0_binary64_1867 unpow1/3_binary64_1850 unpow1/2_binary64_1847 exp-to-pow_binary64_1845 unpow0_binary64_1842 unpow-1_binary64_1840 exp-lft-cube_binary64_1839 exp-cbrt_binary64_1837 exp-diff_binary64_1831 exp-neg_binary64_1830 e-exp-1_binary64_1828 exp-0_binary64_1825 rem-exp-log_binary64_1823 cube-neg_binary64_1810 rem-3cbrt-rft_binary64_1809 rem-3cbrt-lft_binary64_1808 rem-cbrt-cube_binary64_1807 rem-cube-cbrt_binary64_1806 sqr-abs_binary64_1798 sqr-neg_binary64_1797 rem-sqrt-square_binary64_1796 rem-square-sqrt_binary64_1795 div-sub_binary64_1788 unsub-neg_binary64_1777 mul-1-neg_binary64_1775 remove-double-neg_binary64_1771 sub0-neg_binary64_1770 +-rgt-identity_binary64_1768 +-lft-identity_binary64_1767 mul0-rgt_binary64_1766 mul0-lft_binary64_1765 div0_binary64_1764 +-inverses_binary64_1762 lft-mult-inverse_binary64_1761 remove-double-div_binary64_1759 difference-of-sqr--1_binary64_1754 difference-of-sqr-1_binary64_1753 difference-of-squares_binary64_1752 cancel-sign-sub-inv_binary64_1749 cancel-sign-sub_binary64_1748 distribute-neg-frac_binary64_1747 distribute-frac-neg_binary64_1746 distribute-neg-out_binary64_1745 distribute-neg-in_binary64_1744 distribute-rgt-neg-out_binary64_1743 distribute-lft-neg-out_binary64_1742 distribute-rgt-neg-in_binary64_1741 distribute-lft-neg-in_binary64_1740 distribute-rgt-out--_binary64_1737 distribute-lft-out--_binary64_1735 associate--r-_binary64_1722 associate--l-_binary64_1721 associate--l+_binary64_1720 associate--r+_binary64_1719 associate-+l-_binary64_1718 associate-+r-_binary64_1717
Counts
25 → 58
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
035255
174210
2227210
3418210
4807210
51958210
63768210

prune36.0ms (0.4%)

Pruning

6 alts after pruning (2 fresh and 4 done)

PrunedKeptTotal
New58058
Fresh022
Picked011
Done033
Total58664
Error
0b
Counts
64 → 6
Compiler

Compiled 707 to 135 computations (80.9% saved)

regimes165.0ms (1.8%)

Accuracy

Total 0.1b remaining (92.2%)

Threshold costs 0.1b (92.2%)

Compiler

Compiled 1719 to 1121 computations (34.8% saved)

bsearch0.0ms (0%)

simplify5.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64_1714
sub-neg_binary64_1776 +-commutative_binary64_1713
neg-mul-1_binary64_1779 neg-sub0_binary64_1778
cancel-sign-sub-inv_binary64_1749 distribute-rgt-neg-in_binary64_1741
1-exp_binary64_1827 distribute-lft-neg-out_binary64_1742 distribute-lft-neg-in_binary64_1740
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_2043 if-if-and_binary64_2042 if-if-or-not_binary64_2041 if-if-or_binary64_2040 if-not_binary64_2039 if-same_binary64_2038 if-false_binary64_2037 if-true_binary64_2036 tan-0_binary64_1912 cos-0_binary64_1911 sin-0_binary64_1910 unpow1_binary64_1841 e-exp-1_binary64_1828 exp-1-e_binary64_1826 exp-0_binary64_1825 sqr-abs_binary64_1798 sqr-neg_binary64_1797 unsub-neg_binary64_1777 mul-1-neg_binary64_1775 /-rgt-identity_binary64_1774 *-rgt-identity_binary64_1773 *-lft-identity_binary64_1772 remove-double-neg_binary64_1771 sub0-neg_binary64_1770 --rgt-identity_binary64_1769 +-rgt-identity_binary64_1768 +-lft-identity_binary64_1767 cancel-sign-sub_binary64_1748 distribute-neg-frac_binary64_1747 distribute-frac-neg_binary64_1746 distribute-neg-out_binary64_1745 distribute-neg-in_binary64_1744 distribute-rgt-neg-out_binary64_1743
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0710
11610
22510
33110
43510
53610
Proof
(* f64 h0 (- f64 1 (* f64 h0 h1)))

end0.0ms (0%)

sample884.0ms (9.9%)

Algorithm
intervals
Results
180.0ms8000×body128valid
2.0ms98×body128invalid
Compiler

Compiled 582 to 382 computations (34.4% saved)

Profiling

Loading profile data...