Details

Time bar (total: 36.6s)

analyze2.9s (8%)

Algorithm
search
egg-herbie
Rules
580×associate-*l*_binary64_1724
570×associate-*r*_binary64_1723
435×distribute-rgt-in_binary64_1733
411×distribute-lft-in_binary64_1732
246×*-commutative_binary64_1714
228×sub-neg_binary64_1776
206×unswap-sqr_binary64_1751
174×neg-sub0_binary64_1778
168×cancel-sign-sub-inv_binary64_1749
163×unsub-neg_binary64_1777
161×neg-mul-1_binary64_1779
69×+-commutative_binary64_1713
58×div-sub_binary64_1788
53×distribute-rgt-neg-in_binary64_1741
47×distribute-lft-neg-in_binary64_1740
40×sqr-pow_binary64_1755
37×distribute-lft-neg-out_binary64_1742
33×associate-+r-_binary64_1717
31×distribute-rgt-neg-out_binary64_1743
28×associate-+l+_binary64_1716 associate-+r+_binary64_1715
26×associate-+l-_binary64_1718
22×swap-sqr_binary64_1750
20×cube-unmult_binary64_1820
19×sub0-neg_binary64_1770
16×difference-of-squares_binary64_1752
14×associate-/l*_binary64_1728 associate--l+_binary64_1720
13×+-rgt-identity_binary64_1768
12×sqr-neg_binary64_1797
10×unpow3_binary64_1849 unpow2_binary64_1848 unpow1/2_binary64_1847 pow-plus_binary64_1846 unpow1_binary64_1841 rem-sqrt-square_binary64_1796
distribute-frac-neg_binary64_1746 associate-/r/_binary64_1729
div0_binary64_1764
1-exp_binary64_1827 swap-A-C
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 exp-to-pow_binary64_1845 pow-base-1_binary64_1843 unpow0_binary64_1842 unpow-1_binary64_1840 exp-lft-cube_binary64_1839 exp-lft-sqr_binary64_1838 exp-cbrt_binary64_1837 exp-sqrt_binary64_1836 exp-prod_binary64_1835 div-exp_binary64_1834 rec-exp_binary64_1833 prod-exp_binary64_1832 exp-diff_binary64_1831 exp-neg_binary64_1830 exp-sum_binary64_1829 e-exp-1_binary64_1828 exp-1-e_binary64_1826 exp-0_binary64_1825 rem-log-exp_binary64_1824 rem-exp-log_binary64_1823 cube-mult_binary64_1813 cube-div_binary64_1812 cube-prod_binary64_1811 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 rem-square-sqrt_binary64_1795 times-frac_binary64_1789 mul-1-neg_binary64_1775 /-rgt-identity_binary64_1774 *-rgt-identity_binary64_1773 *-lft-identity_binary64_1772 remove-double-neg_binary64_1771 --rgt-identity_binary64_1769 +-lft-identity_binary64_1767 mul0-rgt_binary64_1766 mul0-lft_binary64_1765 *-inverses_binary64_1763 +-inverses_binary64_1762 lft-mult-inverse_binary64_1761 rgt-mult-inverse_binary64_1760 remove-double-div_binary64_1759 pow-sqr_binary64_1756 difference-of-sqr--1_binary64_1754 difference-of-sqr-1_binary64_1753 cancel-sign-sub_binary64_1748 distribute-neg-frac_binary64_1747 distribute-neg-out_binary64_1745 distribute-neg-in_binary64_1744 distribute-rgt1-in_binary64_1739 distribute-lft1-in_binary64_1738 distribute-rgt-out--_binary64_1737 distribute-rgt-out_binary64_1736 distribute-lft-out--_binary64_1735 distribute-lft-out_binary64_1734 count-2_binary64_1731 associate-/l/_binary64_1730 associate-/r*_binary64_1727 associate-*l/_binary64_1726 associate-*r/_binary64_1725 associate--r-_binary64_1722 associate--l-_binary64_1721 associate--r+_binary64_1719
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0109427
1321427
2931427
33931427
44762427
54978427
044
144
Search
TrueOtherFalseIter
0%99.8%0.2%0
0%99.8%0.2%1
0%99.8%0.2%2
0%99.8%0.2%3
0%99.8%0.2%4
0%99.8%0.2%5
0%99.8%0.2%6
0%98.2%1.8%7
0%92%8%8
0%91.2%8.8%9
0.4%89.3%10.3%10
7.1%79.2%13.6%11
11.9%70.2%17.9%12
13.8%67.4%18.7%13
16.6%63.3%20.1%14
Symmetry

(sort A C)

Compiler

Compiled 41 to 33 computations (19.5% saved)

sample158.0ms (0.4%)

Algorithm
intervals
Results
25.0ms180×body128valid
19.0ms20×body2048nan
18.0ms31×body1024valid
16.0ms22×body2048valid
15.0ms26×body1024nan
11.0ms81×body128nan
8.0ms19×body512valid
8.0ms18×body512nan
2.0msbody256nan
1.0msbody256valid
Compiler

Compiled 81 to 69 computations (14.8% saved)

simplify58.0ms (0.2%)

Algorithm
egg-herbie
Rules
759×neg-mul-1_binary64_1779
493×associate-*l*_binary64_1724
463×associate-*r*_binary64_1723
420×distribute-rgt-in_binary64_1733
410×distribute-lft-in_binary64_1732
397×distribute-rgt-neg-out_binary64_1743
394×distribute-lft-neg-out_binary64_1742
225×unsub-neg_binary64_1777
199×*-commutative_binary64_1714
118×distribute-rgt-out_binary64_1736
114×distribute-lft-out_binary64_1734
74×neg-sub0_binary64_1778
66×distribute-lft-neg-in_binary64_1740
60×distribute-rgt-neg-in_binary64_1741
57×cancel-sign-sub-inv_binary64_1749
47×sub-neg_binary64_1776
40×distribute-neg-out_binary64_1745 associate-/l*_binary64_1728 associate--r+_binary64_1719
39×div-sub_binary64_1788
34×associate--l+_binary64_1720
32×associate-+l+_binary64_1716
31×associate-+r+_binary64_1715
25×distribute-neg-in_binary64_1744
24×unswap-sqr_binary64_1751
23×+-commutative_binary64_1713
18×mul0-rgt_binary64_1766 mul0-lft_binary64_1765
16×associate-/r*_binary64_1727
14×sqr-pow_binary64_1755
10×associate-/r/_binary64_1729 associate-+l-_binary64_1718
sub0-neg_binary64_1770
pow-plus_binary64_1846 cancel-sign-sub_binary64_1748
mul-1-neg_binary64_1775 distribute-neg-frac_binary64_1747 associate-+r-_binary64_1717
cube-unmult_binary64_1820 +-rgt-identity_binary64_1768
sqr-neg_binary64_1797 distribute-rgt-out--_binary64_1737
unpow3_binary64_1849 unpow2_binary64_1848 unpow1/2_binary64_1847 unpow1_binary64_1841 rem-sqrt-square_binary64_1796 times-frac_binary64_1789 div0_binary64_1764 swap-sqr_binary64_1750 distribute-frac-neg_binary64_1746 associate--l-_binary64_1721
1-exp_binary64_1827 remove-double-neg_binary64_1771 --rgt-identity_binary64_1769
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 exp-to-pow_binary64_1845 pow-base-1_binary64_1843 unpow0_binary64_1842 unpow-1_binary64_1840 exp-lft-cube_binary64_1839 exp-lft-sqr_binary64_1838 exp-cbrt_binary64_1837 exp-sqrt_binary64_1836 exp-prod_binary64_1835 div-exp_binary64_1834 rec-exp_binary64_1833 prod-exp_binary64_1832 exp-diff_binary64_1831 exp-neg_binary64_1830 exp-sum_binary64_1829 e-exp-1_binary64_1828 exp-1-e_binary64_1826 exp-0_binary64_1825 rem-log-exp_binary64_1824 rem-exp-log_binary64_1823 cube-mult_binary64_1813 cube-div_binary64_1812 cube-prod_binary64_1811 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 rem-square-sqrt_binary64_1795 /-rgt-identity_binary64_1774 *-rgt-identity_binary64_1773 *-lft-identity_binary64_1772 +-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 pow-sqr_binary64_1756 difference-of-sqr--1_binary64_1754 difference-of-sqr-1_binary64_1753 difference-of-squares_binary64_1752 distribute-rgt1-in_binary64_1739 distribute-lft1-in_binary64_1738 distribute-lft-out--_binary64_1735 count-2_binary64_1731 associate-/l/_binary64_1730 associate-*l/_binary64_1726 associate-*r/_binary64_1725 associate--r-_binary64_1722
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02361
16161
217161
362061
4244061
5473661
6539061

prune6.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 80 to 59 computations (26.3% saved)

localize20.0ms (0.1%)

Local error

Found 4 expressions with local error:

4.7b
(*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)
13.4b
(sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (-.f64 (+.f64 A C) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2))))))
23.1b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (-.f64 (+.f64 A C) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
36.2b
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2)))

rewrite892.0ms (2.4%)

Algorithm
rewrite-expression-head
Error
53.9b
Rules
66×sqrt-div_binary64_1800
40×associate-*r/_binary64_1725
39×*-un-lft-identity_binary64_1783
36×times-frac_binary64_1789
35×add-sqr-sqrt_binary64_1805
34×associate-*l/_binary64_1726
32×add-cube-cbrt_binary64_1818
25×flip3-+_binary64_1786 flip-+_binary64_1757
24×frac-sub_binary64_1792 frac-times_binary64_1793
22×flip3--_binary64_1787 flip--_binary64_1758
20×distribute-neg-frac_binary64_1747 associate-/l/_binary64_1730
17×pow1_binary64_1844
16×distribute-rgt-neg-in_binary64_1741 distribute-lft-neg-in_binary64_1740
15×sqrt-prod_binary64_1799
12×associate-/l*_binary64_1728
add-exp-log_binary64_1821 add-cbrt-cube_binary64_1819
pow-prod-down_binary64_1854
sqrt-pow1_binary64_1801
add-log-exp_binary64_1822 unpow-prod-down_binary64_1862 neg-mul-1_binary64_1779
distribute-lft-out_binary64_1734 associate-/r*_binary64_1727 associate-*l*_binary64_1724 associate-*r*_binary64_1723
pow1/2_binary64_1863 associate-/r/_binary64_1729
distribute-lft-out--_binary64_1735 rem-sqrt-square_binary64_1796 div-exp_binary64_1834 cbrt-undiv_binary64_1817 frac-2neg_binary64_1794 neg-sub0_binary64_1778 div-sub_binary64_1788 clear-num_binary64_1782 div-inv_binary64_1780 distribute-frac-neg_binary64_1746 prod-exp_binary64_1832 cbrt-unprod_binary64_1816 unswap-sqr_binary64_1751 *-commutative_binary64_1714
Counts
4 → 158
Calls

4 calls:

36.0ms
(sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (-.f64 (+.f64 A C) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2))))))
18.0ms
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (-.f64 (+.f64 A C) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
12.0ms
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2)))
9.0ms
(*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)
Compiler

Compiled 11876 to 7641 computations (35.7% saved)

series9.6s (26.2%)

Error
33.8b
Counts
4 → 79
Calls

4 calls:

4.7s
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (-.f64 (+.f64 A C) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
3.6s
(sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (-.f64 (+.f64 A C) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2))))))
466.0ms
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2)))
446.0ms
(*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)
Compiler

Compiled 19532 to 14674 computations (24.9% saved)

simplify277.0ms (0.8%)

Algorithm
egg-herbie
Rules
527×times-frac_binary64_1789
349×*-commutative_binary64_1714
250×distribute-rgt-in_binary64_1733
240×distribute-lft-in_binary64_1732
154×associate-*r*_binary64_1723
125×sub-neg_binary64_1776
122×cancel-sign-sub-inv_binary64_1749
97×+-commutative_binary64_1713
92×neg-sub0_binary64_1778
82×distribute-rgt-neg-in_binary64_1741
77×neg-mul-1_binary64_1779
65×associate-/l*_binary64_1728
60×distribute-lft-neg-in_binary64_1740
56×associate-+r+_binary64_1715
50×distribute-neg-in_binary64_1744
47×div-sub_binary64_1788 sqr-pow_binary64_1755
44×associate-*l*_binary64_1724
41×associate-*r/_binary64_1725
36×distribute-frac-neg_binary64_1746
28×associate-/r*_binary64_1727
23×mul-1-neg_binary64_1775
22×associate-*l/_binary64_1726
21×unswap-sqr_binary64_1751 associate--l+_binary64_1720
20×distribute-lft-neg-out_binary64_1742
18×distribute-rgt-out_binary64_1736
16×distribute-neg-frac_binary64_1747
15×distribute-rgt-neg-out_binary64_1743 associate--r+_binary64_1719
14×unpow3_binary64_1849 cube-mult_binary64_1813
12×swap-sqr_binary64_1750
cube-prod_binary64_1811 /-rgt-identity_binary64_1774
difference-of-squares_binary64_1752
log-prod_binary64_1869 unpow2_binary64_1848 unpow1_binary64_1841 exp-prod_binary64_1835 cube-unmult_binary64_1820
rem-sqrt-square_binary64_1796
exp-sum_binary64_1829 sqr-neg_binary64_1797 rem-square-sqrt_binary64_1795 unsub-neg_binary64_1777
log-div_binary64_1870 exp-diff_binary64_1831 pow-sqr_binary64_1756 distribute-rgt-out--_binary64_1737 distribute-lft-out_binary64_1734 associate-+r-_binary64_1717
exp-neg_binary64_1830 1-exp_binary64_1827 *-rgt-identity_binary64_1773 remove-double-neg_binary64_1771 div0_binary64_1764 associate-+l+_binary64_1716
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 pow-base-0_binary64_1867 unpow1/3_binary64_1850 unpow1/2_binary64_1847 pow-plus_binary64_1846 exp-to-pow_binary64_1845 pow-base-1_binary64_1843 unpow0_binary64_1842 unpow-1_binary64_1840 exp-lft-cube_binary64_1839 exp-lft-sqr_binary64_1838 exp-cbrt_binary64_1837 exp-sqrt_binary64_1836 div-exp_binary64_1834 rec-exp_binary64_1833 prod-exp_binary64_1832 e-exp-1_binary64_1828 exp-1-e_binary64_1826 exp-0_binary64_1825 rem-log-exp_binary64_1824 rem-exp-log_binary64_1823 cube-div_binary64_1812 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 *-lft-identity_binary64_1772 sub0-neg_binary64_1770 --rgt-identity_binary64_1769 +-rgt-identity_binary64_1768 +-lft-identity_binary64_1767 mul0-rgt_binary64_1766 mul0-lft_binary64_1765 *-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 cancel-sign-sub_binary64_1748 distribute-neg-out_binary64_1745 distribute-rgt1-in_binary64_1739 distribute-lft1-in_binary64_1738 distribute-lft-out--_binary64_1735 count-2_binary64_1731 associate-/l/_binary64_1730 associate-/r/_binary64_1729 associate--r-_binary64_1722 associate--l-_binary64_1721 associate-+l-_binary64_1718
Counts
237 → 212
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
087716667
1245816161
2528816161

prune851.0ms (2.3%)

Pruning

22 alts after pruning (22 fresh and 0 done)

PrunedKeptTotal
New19022212
Fresh000
Picked101
Done000
Total19122213
Error
33.7b
Counts
213 → 22
Compiler

Compiled 15963 to 8281 computations (48.1% saved)

localize8.0ms (0%)

Local error

Found 3 expressions with local error:

0.0b
(*.f64 -1/2 (/.f64 F C))
0.4b
(*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -1/2 (/.f64 F C))))
15.1b
(sqrt.f64 (*.f64 -1/2 (/.f64 F C)))

rewrite111.0ms (0.3%)

Algorithm
rewrite-expression-head
Error
30.8b
Rules
23×add-sqr-sqrt_binary64_1805
17×associate-*r*_binary64_1723
15×pow1_binary64_1844
14×add-cube-cbrt_binary64_1818 *-un-lft-identity_binary64_1783
10×add-exp-log_binary64_1821 add-cbrt-cube_binary64_1819 times-frac_binary64_1789
associate-*l*_binary64_1724
pow-prod-down_binary64_1854
sqrt-pow1_binary64_1801 sqrt-prod_binary64_1799
associate-*r/_binary64_1725 unswap-sqr_binary64_1751
pow1/2_binary64_1863 add-log-exp_binary64_1822 prod-exp_binary64_1832 cbrt-unprod_binary64_1816
sqrt-div_binary64_1800 *-commutative_binary64_1714
sqrt-unprod_binary64_1803 div-exp_binary64_1834 cbrt-undiv_binary64_1817 div-inv_binary64_1780
Counts
3 → 72
Calls

3 calls:

9.0ms
(*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -1/2 (/.f64 F C))))
7.0ms
(*.f64 -1/2 (/.f64 F C))
4.0ms
(sqrt.f64 (*.f64 -1/2 (/.f64 F C)))
Compiler

Compiled 1174 to 824 computations (29.8% saved)

series235.0ms (0.6%)

Error
33.7b
Counts
3 → 18
Calls

3 calls:

84.0ms
(*.f64 -1/2 (/.f64 F C))
78.0ms
(*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -1/2 (/.f64 F C))))
61.0ms
(sqrt.f64 (*.f64 -1/2 (/.f64 F C)))
Compiler

Compiled 674 to 676 computations (-0.3% saved)

simplify115.0ms (0.3%)

Algorithm
egg-herbie
Rules
670×associate-*r/_binary64_1725
353×associate-*l*_binary64_1724
288×associate-/r/_binary64_1729
284×associate-/l/_binary64_1730
276×associate-*r*_binary64_1723
261×associate-+l+_binary64_1716
251×times-frac_binary64_1789
231×associate-/r*_binary64_1727
216×unsub-neg_binary64_1777
180×associate-*l/_binary64_1726
179×associate-/l*_binary64_1728
165×distribute-rgt-neg-in_binary64_1741
134×*-commutative_binary64_1714
131×distribute-lft-neg-in_binary64_1740
124×distribute-rgt-in_binary64_1733
115×sqr-pow_binary64_1755
104×sub-neg_binary64_1776
99×neg-sub0_binary64_1778
94×distribute-lft-in_binary64_1732
92×neg-mul-1_binary64_1779
77×*-lft-identity_binary64_1772
74×distribute-neg-frac_binary64_1747
57×div-sub_binary64_1788 cancel-sign-sub-inv_binary64_1749
43×associate--r+_binary64_1719
42×associate--l+_binary64_1720
40×associate-+l-_binary64_1718
38×pow-sqr_binary64_1756
37×*-rgt-identity_binary64_1773
35×associate-+r+_binary64_1715
30×swap-sqr_binary64_1750
28×distribute-lft-neg-out_binary64_1742
27×associate--l-_binary64_1721
25×distribute-rgt-neg-out_binary64_1743
24×associate--r-_binary64_1722
23×log-prod_binary64_1869
22×distribute-neg-in_binary64_1744
20×exp-prod_binary64_1835 unswap-sqr_binary64_1751
19×associate-+r-_binary64_1717 +-commutative_binary64_1713
18×rem-sqrt-square_binary64_1796
16×cube-prod_binary64_1811 div0_binary64_1764
14×mul-1-neg_binary64_1775
13×/-rgt-identity_binary64_1774
11×mul0-rgt_binary64_1766 mul0-lft_binary64_1765 distribute-frac-neg_binary64_1746
log-div_binary64_1870
sub0-neg_binary64_1770
unpow1/2_binary64_1847
cube-unmult_binary64_1820 cube-div_binary64_1812 distribute-rgt-out_binary64_1736
unpow3_binary64_1849 distribute-lft-out_binary64_1734
--rgt-identity_binary64_1769 +-rgt-identity_binary64_1768
pow-plus_binary64_1846 cube-mult_binary64_1813 distribute-rgt1-in_binary64_1739
rem-square-sqrt_binary64_1795 remove-double-neg_binary64_1771 +-lft-identity_binary64_1767 remove-double-div_binary64_1759 distribute-lft1-in_binary64_1738 count-2_binary64_1731
log-pow_binary64_1872 unpow2_binary64_1848 unpow1_binary64_1841 1-exp_binary64_1827 exp-1-e_binary64_1826
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-rec_binary64_1871 pow-base-0_binary64_1867 unpow1/3_binary64_1850 exp-to-pow_binary64_1845 pow-base-1_binary64_1843 unpow0_binary64_1842 unpow-1_binary64_1840 exp-lft-cube_binary64_1839 exp-lft-sqr_binary64_1838 exp-cbrt_binary64_1837 exp-sqrt_binary64_1836 div-exp_binary64_1834 rec-exp_binary64_1833 prod-exp_binary64_1832 exp-diff_binary64_1831 exp-neg_binary64_1830 exp-sum_binary64_1829 e-exp-1_binary64_1828 exp-0_binary64_1825 rem-log-exp_binary64_1824 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 *-inverses_binary64_1763 +-inverses_binary64_1762 lft-mult-inverse_binary64_1761 rgt-mult-inverse_binary64_1760 difference-of-sqr--1_binary64_1754 difference-of-sqr-1_binary64_1753 difference-of-squares_binary64_1752 cancel-sign-sub_binary64_1748 distribute-neg-out_binary64_1745 distribute-rgt-out--_binary64_1737 distribute-lft-out--_binary64_1735
Counts
90 → 42
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01301103
12801045
27641045
318401045
434751045
539191045
648761045
749481045

prune108.0ms (0.3%)

Pruning

29 alts after pruning (29 fresh and 0 done)

PrunedKeptTotal
New311142
Fresh31821
Picked101
Done000
Total352964
Error
30.8b
Counts
64 → 29
Compiler

Compiled 1605 to 1192 computations (25.7% saved)

localize11.0ms (0%)

Local error

Found 2 expressions with local error:

0.2b
(/.f64 (sqrt.f64 (*.f64 F -1/2)) (sqrt.f64 C))
0.4b
(*.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 (*.f64 F -1/2)) (sqrt.f64 C)))

rewrite180.0ms (0.5%)

Algorithm
rewrite-expression-head
Error
30.8b
Rules
52×add-sqr-sqrt_binary64_1805 times-frac_binary64_1789
48×sqrt-prod_binary64_1799
36×add-cube-cbrt_binary64_1818 *-un-lft-identity_binary64_1783
28×associate-*r*_binary64_1723
add-exp-log_binary64_1821 add-cbrt-cube_binary64_1819
unswap-sqr_binary64_1751 associate-*l*_binary64_1724 associate-/r*_binary64_1727
pow1_binary64_1844 associate-/l*_binary64_1728
div-exp_binary64_1834 prod-exp_binary64_1832 add-log-exp_binary64_1822 cbrt-unprod_binary64_1816 cbrt-undiv_binary64_1817 sqrt-undiv_binary64_1804 div-inv_binary64_1780
pow-prod-down_binary64_1854 sqrt-unprod_binary64_1803 associate-*r/_binary64_1725 *-commutative_binary64_1714 frac-2neg_binary64_1794 clear-num_binary64_1782
Counts
2 → 102
Calls

2 calls:

16.0ms
(*.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 (*.f64 F -1/2)) (sqrt.f64 C)))
6.0ms
(/.f64 (sqrt.f64 (*.f64 F -1/2)) (sqrt.f64 C))
Compiler

Compiled 2073 to 1432 computations (30.9% saved)

series191.0ms (0.5%)

Error
30.8b
Counts
2 → 12
Calls

2 calls:

108.0ms
(*.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 (*.f64 F -1/2)) (sqrt.f64 C)))
74.0ms
(/.f64 (sqrt.f64 (*.f64 F -1/2)) (sqrt.f64 C))
Compiler

Compiled 542 to 547 computations (-0.9% saved)

simplify171.0ms (0.5%)

Algorithm
egg-herbie
Rules
347×div-sub_binary64_1788
337×associate-/l*_binary64_1728
335×associate-*l*_binary64_1724
292×distribute-rgt-in_binary64_1733
290×sub-neg_binary64_1776
285×associate-*r*_binary64_1723
275×associate-*r/_binary64_1725
265×associate-*l/_binary64_1726
225×associate--l-_binary64_1721
215×times-frac_binary64_1789
207×cancel-sign-sub-inv_binary64_1749
206×associate--l+_binary64_1720
148×associate-+l-_binary64_1718
146×distribute-neg-in_binary64_1744
131×associate-/l/_binary64_1730 *-commutative_binary64_1714
119×associate-/r*_binary64_1727
117×associate-+l+_binary64_1716
101×neg-mul-1_binary64_1779
97×neg-sub0_binary64_1778 unsub-neg_binary64_1777
92×distribute-frac-neg_binary64_1746 associate-/r/_binary64_1729
88×sqr-pow_binary64_1755
84×distribute-rgt-neg-out_binary64_1743 distribute-lft-neg-out_binary64_1742
80×associate--r+_binary64_1719
68×*-rgt-identity_binary64_1773
65×*-lft-identity_binary64_1772
62×associate-+r+_binary64_1715
52×distribute-rgt-neg-in_binary64_1741 associate--r-_binary64_1722
49×associate-+r-_binary64_1717
42×distribute-lft-neg-in_binary64_1740
40×/-rgt-identity_binary64_1774
31×log-div_binary64_1870
26×cube-div_binary64_1812
24×pow-sqr_binary64_1756
23×log-prod_binary64_1869
21×rem-sqrt-square_binary64_1796
20×+-commutative_binary64_1713
19×cube-prod_binary64_1811
17×unswap-sqr_binary64_1751 distribute-neg-out_binary64_1745
16×distribute-neg-frac_binary64_1747
12×exp-prod_binary64_1835 distribute-lft-out--_binary64_1735
11×unpow3_binary64_1849 swap-sqr_binary64_1750 distribute-rgt-out_binary64_1736
10×--rgt-identity_binary64_1769
cube-mult_binary64_1813 distribute-rgt-out--_binary64_1737
log-rec_binary64_1871
distribute-lft-in_binary64_1732
remove-double-neg_binary64_1771 distribute-lft-out_binary64_1734
sub0-neg_binary64_1770
cube-unmult_binary64_1820 +-rgt-identity_binary64_1768 distribute-lft1-in_binary64_1738
unpow1/2_binary64_1847 rem-square-sqrt_binary64_1795 +-lft-identity_binary64_1767 div0_binary64_1764 +-inverses_binary64_1762 remove-double-div_binary64_1759 distribute-rgt1-in_binary64_1739
exp-diff_binary64_1831 mul-1-neg_binary64_1775
exp-sum_binary64_1829 1-exp_binary64_1827 exp-1-e_binary64_1826 count-2_binary64_1731
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 pow-base-0_binary64_1867 unpow1/3_binary64_1850 unpow2_binary64_1848 pow-plus_binary64_1846 exp-to-pow_binary64_1845 pow-base-1_binary64_1843 unpow0_binary64_1842 unpow1_binary64_1841 unpow-1_binary64_1840 exp-lft-cube_binary64_1839 exp-lft-sqr_binary64_1838 exp-cbrt_binary64_1837 exp-sqrt_binary64_1836 div-exp_binary64_1834 rec-exp_binary64_1833 prod-exp_binary64_1832 exp-neg_binary64_1830 e-exp-1_binary64_1828 exp-0_binary64_1825 rem-log-exp_binary64_1824 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 mul0-rgt_binary64_1766 mul0-lft_binary64_1765 *-inverses_binary64_1763 lft-mult-inverse_binary64_1761 rgt-mult-inverse_binary64_1760 difference-of-sqr--1_binary64_1754 difference-of-sqr-1_binary64_1753 difference-of-squares_binary64_1752 cancel-sign-sub_binary64_1748
Counts
114 → 52
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01502300
12962173
29112172
325392172
426532172
534192172
647412172
750252172

prune127.0ms (0.3%)

Pruning

32 alts after pruning (32 fresh and 0 done)

PrunedKeptTotal
New44852
Fresh42428
Picked101
Done000
Total493281
Error
30.8b
Counts
81 → 32
Compiler

Compiled 1971 to 1478 computations (25% saved)

localize11.0ms (0%)

Local error

Found 3 expressions with local error:

0.2b
(*.f64 (sqrt.f64 (sqrt.f64 2)) (*.f64 (/.f64 (sqrt.f64 (*.f64 F -1/2)) (sqrt.f64 C)) (sqrt.f64 (sqrt.f64 2))))
0.2b
(*.f64 (/.f64 (sqrt.f64 (*.f64 F -1/2)) (sqrt.f64 C)) (sqrt.f64 (sqrt.f64 2)))
0.2b
(/.f64 (sqrt.f64 (*.f64 F -1/2)) (sqrt.f64 C))

rewrite299.0ms (0.8%)

Algorithm
rewrite-expression-head
Error
30.8b
Rules
70×sqrt-prod_binary64_1799
65×add-sqr-sqrt_binary64_1805
54×times-frac_binary64_1789
41×add-cube-cbrt_binary64_1818 *-un-lft-identity_binary64_1783
37×associate-*l*_binary64_1724
19×add-exp-log_binary64_1821 add-cbrt-cube_binary64_1819
10×pow1_binary64_1844 associate-*r*_binary64_1723
unswap-sqr_binary64_1751
prod-exp_binary64_1832 cbrt-unprod_binary64_1816
associate-/r*_binary64_1727
associate-/l*_binary64_1728 pow-prod-down_binary64_1854
div-exp_binary64_1834 add-log-exp_binary64_1822 cbrt-undiv_binary64_1817 sqrt-undiv_binary64_1804 sqrt-unprod_binary64_1803
div-inv_binary64_1780 associate-*l/_binary64_1726 *-commutative_binary64_1714
frac-2neg_binary64_1794 clear-num_binary64_1782 associate-*r/_binary64_1725
Counts
3 → 136
Calls

3 calls:

17.0ms
(*.f64 (/.f64 (sqrt.f64 (*.f64 F -1/2)) (sqrt.f64 C)) (sqrt.f64 (sqrt.f64 2)))
16.0ms
(*.f64 (sqrt.f64 (sqrt.f64 2)) (*.f64 (/.f64 (sqrt.f64 (*.f64 F -1/2)) (sqrt.f64 C)) (sqrt.f64 (sqrt.f64 2))))
7.0ms
(/.f64 (sqrt.f64 (*.f64 F -1/2)) (sqrt.f64 C))
Compiler

Compiled 3482 to 2691 computations (22.7% saved)

series316.0ms (0.9%)

Error
30.8b
Counts
3 → 18
Calls

3 calls:

115.0ms
(*.f64 (/.f64 (sqrt.f64 (*.f64 F -1/2)) (sqrt.f64 C)) (sqrt.f64 (sqrt.f64 2)))
105.0ms
(*.f64 (sqrt.f64 (sqrt.f64 2)) (*.f64 (/.f64 (sqrt.f64 (*.f64 F -1/2)) (sqrt.f64 C)) (sqrt.f64 (sqrt.f64 2))))
79.0ms
(/.f64 (sqrt.f64 (*.f64 F -1/2)) (sqrt.f64 C))
Compiler

Compiled 978 to 982 computations (-0.4% saved)

simplify218.0ms (0.6%)

Algorithm
egg-herbie
Rules
440×associate-*l/_binary64_1726
372×associate-/l*_binary64_1728
360×associate-*r/_binary64_1725
349×unsub-neg_binary64_1777
336×div-sub_binary64_1788
268×sub-neg_binary64_1776
261×*-commutative_binary64_1714
168×cancel-sign-sub-inv_binary64_1749
166×times-frac_binary64_1789
153×sqr-pow_binary64_1755
133×associate--r+_binary64_1719
131×unswap-sqr_binary64_1751
128×associate-/r*_binary64_1727
127×associate-*l*_binary64_1724
123×distribute-neg-in_binary64_1744 associate-+r-_binary64_1717
117×associate-*r*_binary64_1723
84×associate-/l/_binary64_1730
73×neg-mul-1_binary64_1779
72×neg-sub0_binary64_1778
65×associate-/r/_binary64_1729
64×associate--r-_binary64_1722 associate-+l+_binary64_1716
60×associate-+l-_binary64_1718
58×*-rgt-identity_binary64_1773
55×distribute-neg-out_binary64_1745
49×log-div_binary64_1870
47×pow-sqr_binary64_1756 +-commutative_binary64_1713
44×cube-div_binary64_1812
43×rem-sqrt-square_binary64_1796
41×distribute-rgt-in_binary64_1733
40×associate-+r+_binary64_1715
37×associate--l+_binary64_1720
32×*-lft-identity_binary64_1772 swap-sqr_binary64_1750 associate--l-_binary64_1721
30×cube-prod_binary64_1811
29×log-prod_binary64_1869
28×/-rgt-identity_binary64_1774
24×exp-prod_binary64_1835
20×distribute-lft-in_binary64_1732
17×distribute-rgt-neg-in_binary64_1741
15×unpow3_binary64_1849 distribute-lft-neg-in_binary64_1740
12×cube-mult_binary64_1813 remove-double-neg_binary64_1771
11×log-rec_binary64_1871 +-rgt-identity_binary64_1768
10×distribute-lft-neg-out_binary64_1742
cube-unmult_binary64_1820 distribute-rgt-out_binary64_1736
unpow1/2_binary64_1847 sub0-neg_binary64_1770 --rgt-identity_binary64_1769 distribute-rgt-neg-out_binary64_1743
remove-double-div_binary64_1759 distribute-rgt-out--_binary64_1737 distribute-lft-out--_binary64_1735
rem-square-sqrt_binary64_1795 distribute-lft1-in_binary64_1738
exp-diff_binary64_1831
+-inverses_binary64_1762 distribute-neg-frac_binary64_1747 distribute-rgt1-in_binary64_1739 distribute-lft-out_binary64_1734 count-2_binary64_1731
unpow2_binary64_1848 pow-plus_binary64_1846 unpow1_binary64_1841 1-exp_binary64_1827 exp-1-e_binary64_1826
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 pow-base-0_binary64_1867 unpow1/3_binary64_1850 exp-to-pow_binary64_1845 pow-base-1_binary64_1843 unpow0_binary64_1842 unpow-1_binary64_1840 exp-lft-cube_binary64_1839 exp-lft-sqr_binary64_1838 exp-cbrt_binary64_1837 exp-sqrt_binary64_1836 div-exp_binary64_1834 rec-exp_binary64_1833 prod-exp_binary64_1832 exp-neg_binary64_1830 exp-sum_binary64_1829 e-exp-1_binary64_1828 exp-0_binary64_1825 rem-log-exp_binary64_1824 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 mul-1-neg_binary64_1775 +-lft-identity_binary64_1767 mul0-rgt_binary64_1766 mul0-lft_binary64_1765 div0_binary64_1764 *-inverses_binary64_1763 lft-mult-inverse_binary64_1761 rgt-mult-inverse_binary64_1760 difference-of-sqr--1_binary64_1754 difference-of-sqr-1_binary64_1753 difference-of-squares_binary64_1752 cancel-sign-sub_binary64_1748 distribute-frac-neg_binary64_1746
Counts
154 → 100
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01883562
13853117
29933107
328443107
432263107
538903107
644423107
750703107

prune157.0ms (0.4%)

Pruning

32 alts after pruning (31 fresh and 1 done)

PrunedKeptTotal
New919100
Fresh92231
Picked011
Done000
Total10032132
Error
30.8b
Counts
132 → 32
Compiler

Compiled 2061 to 1612 computations (21.8% saved)

regimes7.1s (19.5%)

Accuracy

Total 3.9b remaining (12.5%)

Threshold costs 0b (0%)

Compiler

Compiled 61378 to 49921 computations (18.7% saved)

bsearch23.0ms (0.1%)

Compiler

Compiled 40 to 32 computations (20% saved)

simplify112.0ms (0.3%)

Algorithm
egg-herbie
Rules
174×distribute-rgt-neg-in_binary64_1741
135×distribute-lft-neg-in_binary64_1740
113×neg-sub0_binary64_1778
112×neg-mul-1_binary64_1779
108×cancel-sign-sub-inv_binary64_1749
82×distribute-lft-neg-out_binary64_1742
70×distribute-neg-in_binary64_1744
67×distribute-rgt-neg-out_binary64_1743
61×*-commutative_binary64_1714
60×sub-neg_binary64_1776
51×+-commutative_binary64_1713
44×remove-double-neg_binary64_1771
24×unsub-neg_binary64_1777
11×distribute-neg-out_binary64_1745
distribute-frac-neg_binary64_1746
distribute-neg-frac_binary64_1747
1-exp_binary64_1827 sqr-neg_binary64_1797 mul-1-neg_binary64_1775 *-rgt-identity_binary64_1773 --rgt-identity_binary64_1769
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 /-rgt-identity_binary64_1774 *-lft-identity_binary64_1772 sub0-neg_binary64_1770 +-rgt-identity_binary64_1768 +-lft-identity_binary64_1767 cancel-sign-sub_binary64_1748
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
068452
1126448
2208448
3280446
4336446
5358446
6389446
7436446
8478446
9497446
10524446
11566446
12611446
13650446
14688446
15716446
16761446
17797446
18819446
19838446
20847446
21852446
22854446
23815446
Compiler

Compiled 574 to 412 computations (28.2% saved)

end0.0ms (0%)

sample12.3s (33.6%)

Algorithm
intervals
Results
830.0ms5537×body128valid
528.0ms874×body1024valid
516.0ms668×body2048valid
474.0ms804×body1024nan
425.0ms560×body2048nan
358.0ms2420×body128nan
266.0ms582×body512valid
264.0ms613×body512nan
104.0ms335×body256valid
91.0ms301×body256nan
4.0msbody4096valid
Compiler

Compiled 9417 to 7587 computations (19.4% saved)

Profiling

Loading profile data...