Details

Time bar (total: 9.8s)

analyze545.0ms (5.5%)

Algorithm
search
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%99.8%0.2%7
7%92.8%0.2%8
19.1%80.7%0.2%9
29.8%70%0.2%10
31.3%68.5%0.2%11
42.3%57.2%0.6%12
53.3%45.5%1.2%13
59.2%39.3%1.5%14
Compiler

Compiled 10 to 9 computations (10% saved)

sample22.0ms (0.2%)

Algorithm
intervals
Results
11.0ms256×body128valid
0.0ms15×body128invalid
Compiler

Compiled 19 to 21 computations (-10.5% saved)

simplify592.0ms (6%)

Algorithm
egg-herbie
Rules
378×associate-*l*_binary64_25594
365×associate-*r*_binary64_25593
325×distribute-rgt-out_binary64_25606
316×div-sub_binary64_25658
277×cancel-sign-sub-inv_binary64_25619
254×distribute-rgt-out--_binary64_25607
249×distribute-lft-out_binary64_25604
240×associate-/r*_binary64_25597
229×associate-*l/_binary64_25596
224×distribute-lft-out--_binary64_25605
201×associate-/r/_binary64_25599
167×associate-*r/_binary64_25595
109×distribute-rgt-in_binary64_25603
89×sub-neg_binary64_25646
78×distribute-lft-in_binary64_25602
65×distribute-frac-neg_binary64_25616
54×associate-/l*_binary64_25598
41×distribute-rgt-neg-in_binary64_25611
39×neg-mul-1_binary64_25649
37×distribute-lft-neg-in_binary64_25610
35×neg-sub0_binary64_25648
34×times-frac_binary64_25659
32×distribute-neg-in_binary64_25614
29×distribute-neg-frac_binary64_25617
26×unsub-neg_binary64_25647
25×distribute-lft-neg-out_binary64_25612
23×distribute-rgt-neg-out_binary64_25613
19×*-commutative_binary64_25584
15×distribute-rgt1-in_binary64_25609 associate-/l/_binary64_25600
14×+-commutative_binary64_25583
13×associate--r+_binary64_25589
12×div0_binary64_25634 associate-+r-_binary64_25587
10×associate-+l-_binary64_25588
sub0-neg_binary64_25640 +-rgt-identity_binary64_25638
associate-+r+_binary64_25585
swap-sqr_binary64_25620
*-inverses_binary64_25633 distribute-lft1-in_binary64_25608 count-2_binary64_25601 associate-+l+_binary64_25586
sqr-neg_binary64_25667 remove-double-neg_binary64_25641 --rgt-identity_binary64_25639 mul0-lft_binary64_25635 associate--r-_binary64_25592
+-lft-identity_binary64_25637 mul0-rgt_binary64_25636
1-exp_binary64_25697 mul-1-neg_binary64_25645
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_25916 erf-erfc_binary64_25915 erf-odd_binary64_25914 if-if-and-not_binary64_25913 if-if-and_binary64_25912 if-if-or-not_binary64_25911 if-if-or_binary64_25910 if-not_binary64_25909 if-same_binary64_25908 if-false_binary64_25907 if-true_binary64_25906 not-gte_binary64_25905 not-lte_binary64_25904 not-gt_binary64_25903 not-lt_binary64_25902 gte-same_binary64_25901 lte-same_binary64_25900 gt-same_binary64_25899 lt-same_binary64_25898 sinh---cosh_binary64_25845 sinh-+-cosh_binary64_25844 sinh-cosh_binary64_25843 tanh-def-c_binary64_25842 tanh-def-b_binary64_25841 tanh-def-a_binary64_25840 cosh-def_binary64_25839 sinh-def_binary64_25838 tan-neg_binary64_25785 cos-neg_binary64_25784 sin-neg_binary64_25783 tan-0_binary64_25782 cos-0_binary64_25781 sin-0_binary64_25780 hang-m-tan_binary64_25779 hang-p-tan_binary64_25778 hang-m0-tan_binary64_25777 hang-p0-tan_binary64_25776 hang-0m-tan_binary64_25775 hang-0p-tan_binary64_25774 tan-+PI/2_binary64_25773 tan-+PI_binary64_25772 tan-PI_binary64_25771 tan-PI/3_binary64_25770 tan-PI/4_binary64_25769 tan-PI/6_binary64_25768 cos-+PI/2_binary64_25767 cos-+PI_binary64_25766 cos-PI_binary64_25765 cos-PI/2_binary64_25764 cos-PI/3_binary64_25763 cos-PI/4_binary64_25762 cos-PI/6_binary64_25761 sin-+PI/2_binary64_25760 sin-+PI_binary64_25759 sin-PI_binary64_25758 sin-PI/2_binary64_25757 sin-PI/3_binary64_25756 sin-PI/4_binary64_25755 sin-PI/6_binary64_25754 sub-1-sin_binary64_25753 sub-1-cos_binary64_25752 -1-add-sin_binary64_25751 -1-add-cos_binary64_25750 1-sub-sin_binary64_25749 1-sub-cos_binary64_25748 cos-sin-sum_binary64_25747 log-E_binary64_25743 log-pow_binary64_25742 log-rec_binary64_25741 log-div_binary64_25740 log-prod_binary64_25739 pow-base-0_binary64_25737 unpow1/3_binary64_25720 unpow3_binary64_25719 unpow2_binary64_25718 unpow1/2_binary64_25717 pow-plus_binary64_25716 exp-to-pow_binary64_25715 pow-base-1_binary64_25713 unpow0_binary64_25712 unpow1_binary64_25711 unpow-1_binary64_25710 exp-lft-cube_binary64_25709 exp-lft-sqr_binary64_25708 exp-cbrt_binary64_25707 exp-sqrt_binary64_25706 exp-prod_binary64_25705 div-exp_binary64_25704 rec-exp_binary64_25703 prod-exp_binary64_25702 exp-diff_binary64_25701 exp-neg_binary64_25700 exp-sum_binary64_25699 e-exp-1_binary64_25698 exp-1-e_binary64_25696 exp-0_binary64_25695 rem-log-exp_binary64_25694 rem-exp-log_binary64_25693 cube-unmult_binary64_25690 cube-mult_binary64_25683 cube-div_binary64_25682 cube-prod_binary64_25681 cube-neg_binary64_25680 rem-3cbrt-rft_binary64_25679 rem-3cbrt-lft_binary64_25678 rem-cbrt-cube_binary64_25677 rem-cube-cbrt_binary64_25676 sqr-abs_binary64_25668 rem-sqrt-square_binary64_25666 rem-square-sqrt_binary64_25665 /-rgt-identity_binary64_25644 *-rgt-identity_binary64_25643 *-lft-identity_binary64_25642 +-inverses_binary64_25632 lft-mult-inverse_binary64_25631 rgt-mult-inverse_binary64_25630 remove-double-div_binary64_25629 pow-sqr_binary64_25626 sqr-pow_binary64_25625 difference-of-sqr--1_binary64_25624 difference-of-sqr-1_binary64_25623 difference-of-squares_binary64_25622 unswap-sqr_binary64_25621 cancel-sign-sub_binary64_25618 distribute-neg-out_binary64_25615 associate--l-_binary64_25591 associate--l+_binary64_25590
Counts
1 → 3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0913
11513
23413
37213
413313
522013
667613

prune9.0ms (0.1%)

Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New033
Fresh011
Picked000
Done000
Total044
Error
0.0b
Counts
4 → 4
Compiler

Compiled 63 to 44 computations (30.2% saved)

localize6.0ms (0.1%)

Local error

Found 2 expressions with local error:

0.0b
(/.f64 (-.f64 t z) (-.f64 y z))
2.3b
(/.f64 x (/.f64 (-.f64 t z) (-.f64 y z)))

rewrite221.0ms (2.3%)

Algorithm
rewrite-expression-head
Error
0b
Rules
218×times-frac_binary64_25659
194×add-sqr-sqrt_binary64_25675 *-un-lft-identity_binary64_25653
90×add-cube-cbrt_binary64_25688
52×difference-of-squares_binary64_25622 distribute-lft-out--_binary64_25605
36×associate-/r*_binary64_25597
11×associate-/r/_binary64_25599
add-exp-log_binary64_25691 add-cbrt-cube_binary64_25689
associate-/l*_binary64_25598
div-inv_binary64_25650 flip3--_binary64_25657 flip--_binary64_25628
div-exp_binary64_25704 cbrt-undiv_binary64_25687
pow1_binary64_25714 add-log-exp_binary64_25692 frac-2neg_binary64_25664 clear-num_binary64_25652 associate-/l/_binary64_25600
div-sub_binary64_25658
Counts
2 → 194
Calls

2 calls:

17.0ms
(/.f64 x (/.f64 (-.f64 t z) (-.f64 y z)))
8.0ms
(/.f64 (-.f64 t z) (-.f64 y z))
Compiler

Compiled 4149 to 810 computations (80.5% saved)

series765.0ms (7.8%)

Error
0.0b
Counts
2 → 57
Calls

2 calls:

438.0ms
(/.f64 x (/.f64 (-.f64 t z) (-.f64 y z)))
257.0ms
(/.f64 (-.f64 t z) (-.f64 y z))
Compiler

Compiled 2951 to 1793 computations (39.2% saved)

simplify618.0ms (6.3%)

Algorithm
egg-herbie
Rules
437×cancel-sign-sub-inv_binary64_25619
298×sub-neg_binary64_25646
292×associate-/l*_binary64_25598
265×associate-/r/_binary64_25599
238×associate-/l/_binary64_25600
195×times-frac_binary64_25659
165×*-commutative_binary64_25584
163×associate-*l/_binary64_25596
114×+-commutative_binary64_25583
108×associate-/r*_binary64_25597 associate--l+_binary64_25590
106×div-sub_binary64_25658
103×associate--r+_binary64_25589
94×distribute-rgt-in_binary64_25603
93×distribute-lft-in_binary64_25602
89×associate-*r*_binary64_25593
83×distribute-neg-in_binary64_25614
79×distribute-neg-frac_binary64_25617
78×associate-*r/_binary64_25595
77×associate-*l*_binary64_25594
70×associate-+l+_binary64_25586
69×neg-sub0_binary64_25648
67×*-rgt-identity_binary64_25643
66×/-rgt-identity_binary64_25644
64×neg-mul-1_binary64_25649
53×distribute-lft-neg-out_binary64_25612
51×unsub-neg_binary64_25647 distribute-rgt-neg-out_binary64_25613 associate-+r+_binary64_25585
39×sqr-pow_binary64_25625
22×*-lft-identity_binary64_25642
18×log-div_binary64_25740
17×pow-sqr_binary64_25626 unswap-sqr_binary64_25621
16×div-exp_binary64_25704 prod-exp_binary64_25702
11×log-prod_binary64_25739
10×pow-plus_binary64_25716 cube-div_binary64_25682
cube-unmult_binary64_25690 swap-sqr_binary64_25620
cube-prod_binary64_25681 difference-of-squares_binary64_25622
exp-prod_binary64_25705 mul-1-neg_binary64_25645 distribute-rgt-neg-in_binary64_25611
distribute-lft-neg-in_binary64_25610
rec-exp_binary64_25703 exp-sum_binary64_25699 remove-double-div_binary64_25629 associate--r-_binary64_25592
unpow3_binary64_25719 unpow2_binary64_25718 unpow1_binary64_25711 cube-mult_binary64_25683 remove-double-neg_binary64_25641
exp-diff_binary64_25701 div0_binary64_25634 *-inverses_binary64_25633 distribute-rgt-out_binary64_25606
log-pow_binary64_25742 log-rec_binary64_25741 1-exp_binary64_25697 rem-log-exp_binary64_25694
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_25916 erf-erfc_binary64_25915 erf-odd_binary64_25914 if-if-and-not_binary64_25913 if-if-and_binary64_25912 if-if-or-not_binary64_25911 if-if-or_binary64_25910 if-not_binary64_25909 if-same_binary64_25908 if-false_binary64_25907 if-true_binary64_25906 not-gte_binary64_25905 not-lte_binary64_25904 not-gt_binary64_25903 not-lt_binary64_25902 gte-same_binary64_25901 lte-same_binary64_25900 gt-same_binary64_25899 lt-same_binary64_25898 sinh---cosh_binary64_25845 sinh-+-cosh_binary64_25844 sinh-cosh_binary64_25843 tanh-def-c_binary64_25842 tanh-def-b_binary64_25841 tanh-def-a_binary64_25840 cosh-def_binary64_25839 sinh-def_binary64_25838 tan-neg_binary64_25785 cos-neg_binary64_25784 sin-neg_binary64_25783 tan-0_binary64_25782 cos-0_binary64_25781 sin-0_binary64_25780 hang-m-tan_binary64_25779 hang-p-tan_binary64_25778 hang-m0-tan_binary64_25777 hang-p0-tan_binary64_25776 hang-0m-tan_binary64_25775 hang-0p-tan_binary64_25774 tan-+PI/2_binary64_25773 tan-+PI_binary64_25772 tan-PI_binary64_25771 tan-PI/3_binary64_25770 tan-PI/4_binary64_25769 tan-PI/6_binary64_25768 cos-+PI/2_binary64_25767 cos-+PI_binary64_25766 cos-PI_binary64_25765 cos-PI/2_binary64_25764 cos-PI/3_binary64_25763 cos-PI/4_binary64_25762 cos-PI/6_binary64_25761 sin-+PI/2_binary64_25760 sin-+PI_binary64_25759 sin-PI_binary64_25758 sin-PI/2_binary64_25757 sin-PI/3_binary64_25756 sin-PI/4_binary64_25755 sin-PI/6_binary64_25754 sub-1-sin_binary64_25753 sub-1-cos_binary64_25752 -1-add-sin_binary64_25751 -1-add-cos_binary64_25750 1-sub-sin_binary64_25749 1-sub-cos_binary64_25748 cos-sin-sum_binary64_25747 log-E_binary64_25743 pow-base-0_binary64_25737 unpow1/3_binary64_25720 unpow1/2_binary64_25717 exp-to-pow_binary64_25715 pow-base-1_binary64_25713 unpow0_binary64_25712 unpow-1_binary64_25710 exp-lft-cube_binary64_25709 exp-lft-sqr_binary64_25708 exp-cbrt_binary64_25707 exp-sqrt_binary64_25706 exp-neg_binary64_25700 e-exp-1_binary64_25698 exp-1-e_binary64_25696 exp-0_binary64_25695 rem-exp-log_binary64_25693 cube-neg_binary64_25680 rem-3cbrt-rft_binary64_25679 rem-3cbrt-lft_binary64_25678 rem-cbrt-cube_binary64_25677 rem-cube-cbrt_binary64_25676 sqr-abs_binary64_25668 sqr-neg_binary64_25667 rem-sqrt-square_binary64_25666 rem-square-sqrt_binary64_25665 sub0-neg_binary64_25640 --rgt-identity_binary64_25639 +-rgt-identity_binary64_25638 +-lft-identity_binary64_25637 mul0-rgt_binary64_25636 mul0-lft_binary64_25635 +-inverses_binary64_25632 lft-mult-inverse_binary64_25631 rgt-mult-inverse_binary64_25630 difference-of-sqr--1_binary64_25624 difference-of-sqr-1_binary64_25623 cancel-sign-sub_binary64_25618 distribute-frac-neg_binary64_25616 distribute-neg-out_binary64_25615 distribute-rgt1-in_binary64_25609 distribute-lft1-in_binary64_25608 distribute-rgt-out--_binary64_25607 distribute-lft-out--_binary64_25605 distribute-lft-out_binary64_25604 count-2_binary64_25601 associate--l-_binary64_25591 associate-+l-_binary64_25588 associate-+r-_binary64_25587
Counts
251 → 824
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03906854
19906698
241006596

prune811.0ms (8.3%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New8213824
Fresh033
Picked011
Done000
Total8217828
Error
0b
Counts
828 → 7
Compiler

Compiled 20409 to 2632 computations (87.1% saved)

localize21.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.6b
(cbrt.f64 (-.f64 y z))
0.6b
(cbrt.f64 (-.f64 t z))
0.6b
(cbrt.f64 (-.f64 t z))
0.6b
(cbrt.f64 (-.f64 t z))

rewrite116.0ms (1.2%)

Algorithm
rewrite-expression-head
Error
0b
Rules
20×cbrt-prod_binary64_25684
16×add-sqr-sqrt_binary64_25675 *-un-lft-identity_binary64_25653
add-cube-cbrt_binary64_25688 cbrt-div_binary64_25685
pow1/3_binary64_25735 pow1_binary64_25714 add-log-exp_binary64_25692 add-exp-log_binary64_25691 add-cbrt-cube_binary64_25689 flip3--_binary64_25657 flip--_binary64_25628 difference-of-squares_binary64_25622 distribute-lft-out--_binary64_25605
Counts
4 → 60
Calls

4 calls:

3.0ms
(cbrt.f64 (-.f64 y z))
3.0ms
(cbrt.f64 (-.f64 t z))
3.0ms
(cbrt.f64 (-.f64 t z))
3.0ms
(cbrt.f64 (-.f64 t z))
Compiler

Compiled 2680 to 353 computations (86.8% saved)

series826.0ms (8.4%)

Error
0b
Counts
4 → 47
Calls

4 calls:

213.0ms
(cbrt.f64 (-.f64 t z))
204.0ms
(cbrt.f64 (-.f64 t z))
203.0ms
(cbrt.f64 (-.f64 t z))
126.0ms
(cbrt.f64 (-.f64 y z))
Compiler

Compiled 6001 to 3039 computations (49.4% saved)

simplify231.0ms (2.3%)

Algorithm
egg-herbie
Rules
758×times-frac_binary64_25659
374×cancel-sign-sub-inv_binary64_25619
304×*-commutative_binary64_25584
273×distribute-rgt-neg-in_binary64_25611
249×distribute-lft-neg-in_binary64_25610
204×neg-mul-1_binary64_25649
202×neg-sub0_binary64_25648
194×associate-*r*_binary64_25593
184×unsub-neg_binary64_25647
167×associate-*l*_binary64_25594
134×unswap-sqr_binary64_25621
128×sqr-pow_binary64_25625
104×sub-neg_binary64_25646
103×distribute-rgt-in_binary64_25603
89×distribute-lft-in_binary64_25602
88×associate-/r*_binary64_25597
86×pow-sqr_binary64_25626
65×+-commutative_binary64_25583
63×div-sub_binary64_25658
56×difference-of-squares_binary64_25622 associate-/l/_binary64_25600
50×exp-sum_binary64_25699
46×distribute-lft-neg-out_binary64_25612
45×associate--l-_binary64_25591
42×associate-+l-_binary64_25588
41×pow-plus_binary64_25716
40×associate-+r-_binary64_25587
38×cube-unmult_binary64_25690
30×associate-/l*_binary64_25598
27×exp-prod_binary64_25705 exp-diff_binary64_25701
25×distribute-rgt-neg-out_binary64_25613
23×associate-/r/_binary64_25599
20×associate-+r+_binary64_25585
18×associate-+l+_binary64_25586
17×log-div_binary64_25740
16×associate-*r/_binary64_25595
15×sub0-neg_binary64_25640 associate-*l/_binary64_25596
14×+-rgt-identity_binary64_25638 distribute-rgt-out_binary64_25606
13×unpow1/3_binary64_25720
12×log-prod_binary64_25739
exp-to-pow_binary64_25715 distribute-rgt-out--_binary64_25607
log-pow_binary64_25742 distribute-neg-in_binary64_25614 associate--r-_binary64_25592
associate--r+_binary64_25589
rem-sqrt-square_binary64_25666 mul-1-neg_binary64_25645 associate--l+_binary64_25590
prod-exp_binary64_25702 exp-neg_binary64_25700 rem-exp-log_binary64_25693 cube-prod_binary64_25681
unpow3_binary64_25719 unpow2_binary64_25718 unpow1_binary64_25711 cube-mult_binary64_25683
log-rec_binary64_25741 rem-3cbrt-lft_binary64_25678 --rgt-identity_binary64_25639 swap-sqr_binary64_25620 cancel-sign-sub_binary64_25618 distribute-lft-out--_binary64_25605 distribute-lft-out_binary64_25604 count-2_binary64_25601
div-exp_binary64_25704 1-exp_binary64_25697 rem-log-exp_binary64_25694 cube-div_binary64_25682 *-rgt-identity_binary64_25643 remove-double-neg_binary64_25641 mul0-lft_binary64_25635 *-inverses_binary64_25633 rgt-mult-inverse_binary64_25630 distribute-frac-neg_binary64_25616 distribute-rgt1-in_binary64_25609
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_25916 erf-erfc_binary64_25915 erf-odd_binary64_25914 if-if-and-not_binary64_25913 if-if-and_binary64_25912 if-if-or-not_binary64_25911 if-if-or_binary64_25910 if-not_binary64_25909 if-same_binary64_25908 if-false_binary64_25907 if-true_binary64_25906 not-gte_binary64_25905 not-lte_binary64_25904 not-gt_binary64_25903 not-lt_binary64_25902 gte-same_binary64_25901 lte-same_binary64_25900 gt-same_binary64_25899 lt-same_binary64_25898 sinh---cosh_binary64_25845 sinh-+-cosh_binary64_25844 sinh-cosh_binary64_25843 tanh-def-c_binary64_25842 tanh-def-b_binary64_25841 tanh-def-a_binary64_25840 cosh-def_binary64_25839 sinh-def_binary64_25838 tan-neg_binary64_25785 cos-neg_binary64_25784 sin-neg_binary64_25783 tan-0_binary64_25782 cos-0_binary64_25781 sin-0_binary64_25780 hang-m-tan_binary64_25779 hang-p-tan_binary64_25778 hang-m0-tan_binary64_25777 hang-p0-tan_binary64_25776 hang-0m-tan_binary64_25775 hang-0p-tan_binary64_25774 tan-+PI/2_binary64_25773 tan-+PI_binary64_25772 tan-PI_binary64_25771 tan-PI/3_binary64_25770 tan-PI/4_binary64_25769 tan-PI/6_binary64_25768 cos-+PI/2_binary64_25767 cos-+PI_binary64_25766 cos-PI_binary64_25765 cos-PI/2_binary64_25764 cos-PI/3_binary64_25763 cos-PI/4_binary64_25762 cos-PI/6_binary64_25761 sin-+PI/2_binary64_25760 sin-+PI_binary64_25759 sin-PI_binary64_25758 sin-PI/2_binary64_25757 sin-PI/3_binary64_25756 sin-PI/4_binary64_25755 sin-PI/6_binary64_25754 sub-1-sin_binary64_25753 sub-1-cos_binary64_25752 -1-add-sin_binary64_25751 -1-add-cos_binary64_25750 1-sub-sin_binary64_25749 1-sub-cos_binary64_25748 cos-sin-sum_binary64_25747 log-E_binary64_25743 pow-base-0_binary64_25737 unpow1/2_binary64_25717 pow-base-1_binary64_25713 unpow0_binary64_25712 unpow-1_binary64_25710 exp-lft-cube_binary64_25709 exp-lft-sqr_binary64_25708 exp-cbrt_binary64_25707 exp-sqrt_binary64_25706 rec-exp_binary64_25703 e-exp-1_binary64_25698 exp-1-e_binary64_25696 exp-0_binary64_25695 cube-neg_binary64_25680 rem-3cbrt-rft_binary64_25679 rem-cbrt-cube_binary64_25677 rem-cube-cbrt_binary64_25676 sqr-abs_binary64_25668 sqr-neg_binary64_25667 rem-square-sqrt_binary64_25665 /-rgt-identity_binary64_25644 *-lft-identity_binary64_25642 +-lft-identity_binary64_25637 mul0-rgt_binary64_25636 div0_binary64_25634 +-inverses_binary64_25632 lft-mult-inverse_binary64_25631 remove-double-div_binary64_25629 difference-of-sqr--1_binary64_25624 difference-of-sqr-1_binary64_25623 distribute-neg-frac_binary64_25617 distribute-neg-out_binary64_25615 distribute-lft1-in_binary64_25608
Counts
107 → 92
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01211492
12731492
26491459
316061459
436161459

prune158.0ms (1.6%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New92092
Fresh055
Picked011
Done011
Total92799
Error
0b
Counts
99 → 7
Compiler

Compiled 4428 to 989 computations (77.7% saved)

localize7.0ms (0.1%)

Local error

Found 2 expressions with local error:

0.0b
(/.f64 (-.f64 y z) (-.f64 t z))
2.3b
(*.f64 x (/.f64 (-.f64 y z) (-.f64 t z)))

rewrite111.0ms (1.1%)

Algorithm
rewrite-expression-head
Error
0b
Rules
75×add-sqr-sqrt_binary64_25675
70×*-un-lft-identity_binary64_25653
51×times-frac_binary64_25659
31×associate-*r*_binary64_25593
26×add-cube-cbrt_binary64_25688
22×difference-of-squares_binary64_25622 distribute-lft-out--_binary64_25605
add-exp-log_binary64_25691 add-cbrt-cube_binary64_25689
associate-/l*_binary64_25598 associate-/r*_binary64_25597
pow1_binary64_25714 associate-/r/_binary64_25599
associate-*l*_binary64_25594 flip3--_binary64_25657 flip--_binary64_25628
div-exp_binary64_25704 prod-exp_binary64_25702 add-log-exp_binary64_25692 cbrt-unprod_binary64_25686 cbrt-undiv_binary64_25687 unswap-sqr_binary64_25621 div-inv_binary64_25650 associate-/l/_binary64_25600
pow-prod-down_binary64_25724 associate-*r/_binary64_25595 *-commutative_binary64_25584 frac-2neg_binary64_25664 div-sub_binary64_25658 clear-num_binary64_25652
Counts
2 → 102
Calls

2 calls:

15.0ms
(*.f64 x (/.f64 (-.f64 y z) (-.f64 t z)))
8.0ms
(/.f64 (-.f64 y z) (-.f64 t z))
Compiler

Compiled 1903 to 398 computations (79.1% saved)

series714.0ms (7.3%)

Error
0b
Counts
2 → 56
Calls

2 calls:

417.0ms
(*.f64 x (/.f64 (-.f64 y z) (-.f64 t z)))
227.0ms
(/.f64 (-.f64 y z) (-.f64 t z))
Compiler

Compiled 2953 to 1794 computations (39.2% saved)

simplify474.0ms (4.8%)

Algorithm
egg-herbie
Rules
524×associate-/l/_binary64_25600
372×cancel-sign-sub-inv_binary64_25619
339×distribute-rgt-in_binary64_25603
298×distribute-lft-in_binary64_25602
266×sub-neg_binary64_25646
187×associate-/l*_binary64_25598
150×times-frac_binary64_25659
137×associate-*l*_binary64_25594
116×associate-*r*_binary64_25593
100×+-commutative_binary64_25583
97×associate--l+_binary64_25590
93×associate--r+_binary64_25589
86×distribute-neg-frac_binary64_25617
78×associate-/r*_binary64_25597
76×div-sub_binary64_25658
74×distribute-neg-in_binary64_25614
73×associate-*l/_binary64_25596
70×*-commutative_binary64_25584
69×distribute-rgt-neg-in_binary64_25611 associate-*r/_binary64_25595
65×distribute-lft-neg-in_binary64_25610
63×neg-sub0_binary64_25648
60×associate-+l+_binary64_25586
58×neg-mul-1_binary64_25649
50×unsub-neg_binary64_25647
48×*-rgt-identity_binary64_25643 associate-/r/_binary64_25599
43×associate-+r+_binary64_25585
36×*-lft-identity_binary64_25642
34×sqr-pow_binary64_25625
31×distribute-rgt-out_binary64_25606
26×/-rgt-identity_binary64_25644
24×distribute-lft-neg-out_binary64_25612
23×distribute-rgt-neg-out_binary64_25613
16×log-div_binary64_25740
15×log-prod_binary64_25739
13×pow-sqr_binary64_25626
12×exp-prod_binary64_25705 unswap-sqr_binary64_25621 distribute-lft-out_binary64_25604
10×distribute-rgt1-in_binary64_25609
div-exp_binary64_25704 prod-exp_binary64_25702 cube-div_binary64_25682
cube-unmult_binary64_25690
cube-prod_binary64_25681 difference-of-squares_binary64_25622 swap-sqr_binary64_25620
pow-plus_binary64_25716 mul-1-neg_binary64_25645 distribute-rgt-out--_binary64_25607
distribute-lft-out--_binary64_25605
exp-sum_binary64_25699
log-rec_binary64_25741 rec-exp_binary64_25703
unpow3_binary64_25719 unpow2_binary64_25718 unpow1_binary64_25711 exp-diff_binary64_25701 cube-mult_binary64_25683 *-inverses_binary64_25633 associate--r-_binary64_25592
exp-sqrt_binary64_25706 1-exp_binary64_25697 exp-1-e_binary64_25696 rem-log-exp_binary64_25694 remove-double-neg_binary64_25641 div0_binary64_25634 distribute-lft1-in_binary64_25608 associate-+l-_binary64_25588 associate-+r-_binary64_25587
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_25916 erf-erfc_binary64_25915 erf-odd_binary64_25914 if-if-and-not_binary64_25913 if-if-and_binary64_25912 if-if-or-not_binary64_25911 if-if-or_binary64_25910 if-not_binary64_25909 if-same_binary64_25908 if-false_binary64_25907 if-true_binary64_25906 not-gte_binary64_25905 not-lte_binary64_25904 not-gt_binary64_25903 not-lt_binary64_25902 gte-same_binary64_25901 lte-same_binary64_25900 gt-same_binary64_25899 lt-same_binary64_25898 sinh---cosh_binary64_25845 sinh-+-cosh_binary64_25844 sinh-cosh_binary64_25843 tanh-def-c_binary64_25842 tanh-def-b_binary64_25841 tanh-def-a_binary64_25840 cosh-def_binary64_25839 sinh-def_binary64_25838 tan-neg_binary64_25785 cos-neg_binary64_25784 sin-neg_binary64_25783 tan-0_binary64_25782 cos-0_binary64_25781 sin-0_binary64_25780 hang-m-tan_binary64_25779 hang-p-tan_binary64_25778 hang-m0-tan_binary64_25777 hang-p0-tan_binary64_25776 hang-0m-tan_binary64_25775 hang-0p-tan_binary64_25774 tan-+PI/2_binary64_25773 tan-+PI_binary64_25772 tan-PI_binary64_25771 tan-PI/3_binary64_25770 tan-PI/4_binary64_25769 tan-PI/6_binary64_25768 cos-+PI/2_binary64_25767 cos-+PI_binary64_25766 cos-PI_binary64_25765 cos-PI/2_binary64_25764 cos-PI/3_binary64_25763 cos-PI/4_binary64_25762 cos-PI/6_binary64_25761 sin-+PI/2_binary64_25760 sin-+PI_binary64_25759 sin-PI_binary64_25758 sin-PI/2_binary64_25757 sin-PI/3_binary64_25756 sin-PI/4_binary64_25755 sin-PI/6_binary64_25754 sub-1-sin_binary64_25753 sub-1-cos_binary64_25752 -1-add-sin_binary64_25751 -1-add-cos_binary64_25750 1-sub-sin_binary64_25749 1-sub-cos_binary64_25748 cos-sin-sum_binary64_25747 log-E_binary64_25743 log-pow_binary64_25742 pow-base-0_binary64_25737 unpow1/3_binary64_25720 unpow1/2_binary64_25717 exp-to-pow_binary64_25715 pow-base-1_binary64_25713 unpow0_binary64_25712 unpow-1_binary64_25710 exp-lft-cube_binary64_25709 exp-lft-sqr_binary64_25708 exp-cbrt_binary64_25707 exp-neg_binary64_25700 e-exp-1_binary64_25698 exp-0_binary64_25695 rem-exp-log_binary64_25693 cube-neg_binary64_25680 rem-3cbrt-rft_binary64_25679 rem-3cbrt-lft_binary64_25678 rem-cbrt-cube_binary64_25677 rem-cube-cbrt_binary64_25676 sqr-abs_binary64_25668 sqr-neg_binary64_25667 rem-sqrt-square_binary64_25666 rem-square-sqrt_binary64_25665 sub0-neg_binary64_25640 --rgt-identity_binary64_25639 +-rgt-identity_binary64_25638 +-lft-identity_binary64_25637 mul0-rgt_binary64_25636 mul0-lft_binary64_25635 +-inverses_binary64_25632 lft-mult-inverse_binary64_25631 rgt-mult-inverse_binary64_25630 remove-double-div_binary64_25629 difference-of-sqr--1_binary64_25624 difference-of-sqr-1_binary64_25623 cancel-sign-sub_binary64_25618 distribute-frac-neg_binary64_25616 distribute-neg-out_binary64_25615 count-2_binary64_25601 associate--l-_binary64_25591
Counts
158 → 208
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02493752
16913602
227603338

prune214.0ms (2.2%)

Pruning

7 alts after pruning (4 fresh and 3 done)

PrunedKeptTotal
New2080208
Fresh044
Picked011
Done022
Total2087215
Error
0b
Counts
215 → 7
Compiler

Compiled 5117 to 1181 computations (76.9% saved)

localize7.0ms (0.1%)

Local error

Found 2 expressions with local error:

0.0b
(/.f64 x (-.f64 t z))
9.7b
(*.f64 (-.f64 y z) (/.f64 x (-.f64 t z)))

rewrite93.0ms (1%)

Algorithm
rewrite-expression-head
Error
0b
Rules
43×add-sqr-sqrt_binary64_25675
38×*-un-lft-identity_binary64_25653
31×times-frac_binary64_25659
22×add-cube-cbrt_binary64_25688
21×associate-*r*_binary64_25593
add-exp-log_binary64_25691 add-cbrt-cube_binary64_25689
difference-of-squares_binary64_25622 distribute-lft-out--_binary64_25605
associate-*l*_binary64_25594 associate-/r*_binary64_25597
pow1_binary64_25714 flip3--_binary64_25657 flip--_binary64_25628 associate-/r/_binary64_25599
associate-/l*_binary64_25598
div-exp_binary64_25704 prod-exp_binary64_25702 add-log-exp_binary64_25692 cbrt-unprod_binary64_25686 cbrt-undiv_binary64_25687 frac-times_binary64_25663 unswap-sqr_binary64_25621 associate-*l/_binary64_25596 div-inv_binary64_25650
pow-prod-down_binary64_25724 associate-*r/_binary64_25595 *-commutative_binary64_25584 frac-2neg_binary64_25664 clear-num_binary64_25652
Counts
2 → 83
Calls

2 calls:

14.0ms
(*.f64 (-.f64 y z) (/.f64 x (-.f64 t z)))
5.0ms
(/.f64 x (-.f64 t z))
Compiler

Compiled 1456 to 322 computations (77.9% saved)

series649.0ms (6.6%)

Error
0b
Counts
2 → 53
Calls

2 calls:

433.0ms
(*.f64 (-.f64 y z) (/.f64 x (-.f64 t z)))
163.0ms
(/.f64 x (-.f64 t z))
Compiler

Compiled 2624 to 1560 computations (40.5% saved)

simplify386.0ms (3.9%)

Algorithm
egg-herbie
Rules
346×associate-/r*_binary64_25597
339×associate-/l/_binary64_25600
305×distribute-rgt-in_binary64_25603
301×associate-/r/_binary64_25599
281×cancel-sign-sub-inv_binary64_25619
279×distribute-lft-in_binary64_25602
173×sub-neg_binary64_25646
142×associate-/l*_binary64_25598
134×times-frac_binary64_25659
108×associate-*l*_binary64_25594
91×associate-*r*_binary64_25593
81×div-sub_binary64_25658
75×+-commutative_binary64_25583
72×associate-*l/_binary64_25596
67×*-commutative_binary64_25584
65×associate-*r/_binary64_25595
60×associate--r+_binary64_25589
57×associate--l+_binary64_25590
50×associate-+l+_binary64_25586
49×distribute-rgt-neg-in_binary64_25611
48×distribute-neg-in_binary64_25614
47×distribute-lft-neg-in_binary64_25610
45×*-rgt-identity_binary64_25643 distribute-neg-frac_binary64_25617
38×neg-sub0_binary64_25648 sqr-pow_binary64_25625
37×associate-+r+_binary64_25585
34×neg-mul-1_binary64_25649
32×unsub-neg_binary64_25647 distribute-rgt-neg-out_binary64_25613 distribute-lft-neg-out_binary64_25612
23×*-lft-identity_binary64_25642 distribute-rgt-out_binary64_25606
15×log-div_binary64_25740 pow-sqr_binary64_25626
14×log-prod_binary64_25739 distribute-lft-out_binary64_25604
11×/-rgt-identity_binary64_25644 difference-of-squares_binary64_25622
10×exp-prod_binary64_25705
div-exp_binary64_25704 prod-exp_binary64_25702
unswap-sqr_binary64_25621
cube-unmult_binary64_25690 distribute-rgt1-in_binary64_25609
pow-plus_binary64_25716 exp-sum_binary64_25699 cube-div_binary64_25682 mul-1-neg_binary64_25645
cube-prod_binary64_25681 swap-sqr_binary64_25620 distribute-rgt-out--_binary64_25607 distribute-lft-out--_binary64_25605
unpow3_binary64_25719 rec-exp_binary64_25703 exp-diff_binary64_25701 cube-mult_binary64_25683
log-rec_binary64_25741 unpow2_binary64_25718 unpow1_binary64_25711 *-inverses_binary64_25633
exp-sqrt_binary64_25706 1-exp_binary64_25697 exp-1-e_binary64_25696 rem-log-exp_binary64_25694 remove-double-neg_binary64_25641 div0_binary64_25634 associate--r-_binary64_25592 associate-+l-_binary64_25588 associate-+r-_binary64_25587
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_25916 erf-erfc_binary64_25915 erf-odd_binary64_25914 if-if-and-not_binary64_25913 if-if-and_binary64_25912 if-if-or-not_binary64_25911 if-if-or_binary64_25910 if-not_binary64_25909 if-same_binary64_25908 if-false_binary64_25907 if-true_binary64_25906 not-gte_binary64_25905 not-lte_binary64_25904 not-gt_binary64_25903 not-lt_binary64_25902 gte-same_binary64_25901 lte-same_binary64_25900 gt-same_binary64_25899 lt-same_binary64_25898 sinh---cosh_binary64_25845 sinh-+-cosh_binary64_25844 sinh-cosh_binary64_25843 tanh-def-c_binary64_25842 tanh-def-b_binary64_25841 tanh-def-a_binary64_25840 cosh-def_binary64_25839 sinh-def_binary64_25838 tan-neg_binary64_25785 cos-neg_binary64_25784 sin-neg_binary64_25783 tan-0_binary64_25782 cos-0_binary64_25781 sin-0_binary64_25780 hang-m-tan_binary64_25779 hang-p-tan_binary64_25778 hang-m0-tan_binary64_25777 hang-p0-tan_binary64_25776 hang-0m-tan_binary64_25775 hang-0p-tan_binary64_25774 tan-+PI/2_binary64_25773 tan-+PI_binary64_25772 tan-PI_binary64_25771 tan-PI/3_binary64_25770 tan-PI/4_binary64_25769 tan-PI/6_binary64_25768 cos-+PI/2_binary64_25767 cos-+PI_binary64_25766 cos-PI_binary64_25765 cos-PI/2_binary64_25764 cos-PI/3_binary64_25763 cos-PI/4_binary64_25762 cos-PI/6_binary64_25761 sin-+PI/2_binary64_25760 sin-+PI_binary64_25759 sin-PI_binary64_25758 sin-PI/2_binary64_25757 sin-PI/3_binary64_25756 sin-PI/4_binary64_25755 sin-PI/6_binary64_25754 sub-1-sin_binary64_25753 sub-1-cos_binary64_25752 -1-add-sin_binary64_25751 -1-add-cos_binary64_25750 1-sub-sin_binary64_25749 1-sub-cos_binary64_25748 cos-sin-sum_binary64_25747 log-E_binary64_25743 log-pow_binary64_25742 pow-base-0_binary64_25737 unpow1/3_binary64_25720 unpow1/2_binary64_25717 exp-to-pow_binary64_25715 pow-base-1_binary64_25713 unpow0_binary64_25712 unpow-1_binary64_25710 exp-lft-cube_binary64_25709 exp-lft-sqr_binary64_25708 exp-cbrt_binary64_25707 exp-neg_binary64_25700 e-exp-1_binary64_25698 exp-0_binary64_25695 rem-exp-log_binary64_25693 cube-neg_binary64_25680 rem-3cbrt-rft_binary64_25679 rem-3cbrt-lft_binary64_25678 rem-cbrt-cube_binary64_25677 rem-cube-cbrt_binary64_25676 sqr-abs_binary64_25668 sqr-neg_binary64_25667 rem-sqrt-square_binary64_25666 rem-square-sqrt_binary64_25665 sub0-neg_binary64_25640 --rgt-identity_binary64_25639 +-rgt-identity_binary64_25638 +-lft-identity_binary64_25637 mul0-rgt_binary64_25636 mul0-lft_binary64_25635 +-inverses_binary64_25632 lft-mult-inverse_binary64_25631 rgt-mult-inverse_binary64_25630 remove-double-div_binary64_25629 difference-of-sqr--1_binary64_25624 difference-of-sqr-1_binary64_25623 cancel-sign-sub_binary64_25618 distribute-frac-neg_binary64_25616 distribute-neg-out_binary64_25615 distribute-lft1-in_binary64_25608 count-2_binary64_25601 associate--l-_binary64_25591
Counts
136 → 197
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02223082
15702971
223082632

prune187.0ms (1.9%)

Pruning

7 alts after pruning (3 fresh and 4 done)

PrunedKeptTotal
New1970197
Fresh033
Picked011
Done033
Total1977204
Error
0b
Counts
204 → 7
Compiler

Compiled 4473 to 945 computations (78.9% saved)

regimes586.0ms (6%)

Accuracy

Total 1.4b remaining (99.9%)

Threshold costs 0b (0%)

Compiler

Compiled 4781 to 3413 computations (28.6% saved)

bsearch3.0ms (0%)

Compiler

Compiled 9 to 8 computations (11.1% saved)

simplify6.0ms (0.1%)

Algorithm
egg-herbie
Rules
sub-neg_binary64_25646 *-commutative_binary64_25584 +-commutative_binary64_25583
neg-mul-1_binary64_25649 neg-sub0_binary64_25648
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_25913 if-if-and_binary64_25912 if-if-or-not_binary64_25911 if-if-or_binary64_25910 if-not_binary64_25909 if-same_binary64_25908 if-false_binary64_25907 if-true_binary64_25906 tan-0_binary64_25782 cos-0_binary64_25781 sin-0_binary64_25780 unpow1_binary64_25711 e-exp-1_binary64_25698 1-exp_binary64_25697 exp-1-e_binary64_25696 exp-0_binary64_25695 sqr-abs_binary64_25668 sqr-neg_binary64_25667 unsub-neg_binary64_25647 mul-1-neg_binary64_25645 /-rgt-identity_binary64_25644 *-rgt-identity_binary64_25643 *-lft-identity_binary64_25642 remove-double-neg_binary64_25641 sub0-neg_binary64_25640 --rgt-identity_binary64_25639 +-rgt-identity_binary64_25638 +-lft-identity_binary64_25637 cancel-sign-sub-inv_binary64_25619 cancel-sign-sub_binary64_25618 distribute-neg-frac_binary64_25617 distribute-frac-neg_binary64_25616 distribute-neg-out_binary64_25615 distribute-neg-in_binary64_25614 distribute-rgt-neg-out_binary64_25613 distribute-lft-neg-out_binary64_25612 distribute-rgt-neg-in_binary64_25611 distribute-lft-neg-in_binary64_25610
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02075
12575
23175
33375
43475
Proof
(if real (<= f64 (/ f64 (* f64 h0 (- f64 h1 h2)) (- f64 h3 h2)) -969317835735079162957986204211713303639028492088467091664846395201650132059898944930650212926772605481584745244782028070273635844094578468612866852924941959415031257053012285036502251292841738240) (* f64 h0 (/ f64 (- f64 h1 h2) (- f64 h3 h2))) (if real (<= f64 (/ f64 (* f64 h0 (- f64 h1 h2)) (- f64 h3 h2)) 16781988869850722311808854694657255147436122301619158361521525710442389643940391164327063042184441091610019874428906873871627386200394770664461772436992397142228251070379302002550194323973194703463663177797729280641137107696255450845544448) (/ f64 (* f64 h0 (- f64 h1 h2)) (- f64 h3 h2)) (/ f64 h0 (/ f64 (- f64 h3 h2) (- f64 h1 h2)))))

end0.0ms (0%)

sample1.4s (14.7%)

Algorithm
intervals
Results
261.0ms8000×body128valid
18.0ms603×body128invalid
Compiler

Compiled 1021 to 712 computations (30.3% saved)

Profiling

Loading profile data...