Details

Time bar (total: 3.4s)

analyze46.0ms (1.3%)

Algorithm
search
Search
TrueOtherFalseIter
0%6.2%93.8%0
0%6.2%93.8%1
0%6.2%93.8%2
1.6%3.1%95.3%3
1.6%3.1%95.3%4
2.3%1.6%96.1%5
2.3%1.6%96.1%6
2.7%0.8%96.5%7
2.7%0.8%96.5%8
2.9%0.4%96.7%9
2.9%0.4%96.7%10
3%0.2%96.8%11
3%0.2%96.8%12
3.1%0.1%96.8%13
3.1%0.1%96.8%14
Compiler

Compiled 18 to 11 computations (38.9% saved)

sample23.0ms (0.7%)

Algorithm
intervals
Results
9.0ms256×body128valid
5.0ms256×pre128true
0.0mspre128false
Compiler

Compiled 31 to 21 computations (32.3% saved)

simplify263.0ms (7.7%)

Algorithm
egg-herbie
Counts
1 → 1
Iterations

Useful iterations: 0 (97.0ms)

IterNodesCost
0483617
1483617

prune4.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New011
Fresh101
Picked000
Done000
Total112
Error
13.6b
Counts
2 → 1
Compiler

Compiled 22 to 18 computations (18.2% saved)

localize8.0ms (0.2%)

Local error

Found 3 expressions with local error:

0.0b
(-.f64 1 (/.f64 (*.f64 b b) (*.f64 a a)))
0.0b
(sqrt.f64 (fabs.f64 (-.f64 1 (/.f64 (*.f64 b b) (*.f64 a a)))))
29.0b
(/.f64 (*.f64 b b) (*.f64 a a))

rewrite31.0ms (0.9%)

Algorithm
rewrite-expression-head
Rules
15×add-exp-log_binary64_798 add-cbrt-cube_binary64_796
10×add-sqr-sqrt_binary64_782
*-un-lft-identity_binary64_760
cancel-sign-sub-inv_binary64_726 add-cube-cbrt_binary64_795 add-log-exp_binary64_799
cbrt-undiv_binary64_794 prod-exp_binary64_809 difference-of-squares_binary64_729 cbrt-unprod_binary64_793 div-exp_binary64_811 pow1_binary64_821 times-frac_binary64_766
sqrt-prod_binary64_776
div-inv_binary64_757
diff-log_binary64_852 rem-sqrt-square_binary64_773 frac-2neg_binary64_771 sqrt-pow1_binary64_778 associate-/r*_binary64_704 associate-/l*_binary64_705 distribute-lft-out--_binary64_712 pow1/2_binary64_840 clear-num_binary64_759 sub-neg_binary64_753 flip--_binary64_735 flip3--_binary64_764
Counts
3 → 55
Calls

3 calls:

15.0ms
(-.f64 1 (/.f64 (*.f64 b b) (*.f64 a a)))
7.0ms
(/.f64 (*.f64 b b) (*.f64 a a))
1.0ms
(sqrt.f64 (fabs.f64 (-.f64 1 (/.f64 (*.f64 b b) (*.f64 a a)))))

series118.0ms (3.4%)

Counts
3 → 9
Calls

3 calls:

55.0ms
(sqrt.f64 (fabs.f64 (-.f64 1 (/.f64 (*.f64 b b) (*.f64 a a)))))
39.0ms
(/.f64 (*.f64 b b) (*.f64 a a))
23.0ms
(-.f64 1 (/.f64 (*.f64 b b) (*.f64 a a)))

simplify95.0ms (2.8%)

Algorithm
egg-herbie
Counts
64 → 64
Iterations

Useful iterations: 0 (76.0ms)

IterNodesCost
05440905

prune104.0ms (3%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New62264
Fresh000
Picked101
Done000
Total63265
Error
0.0b
Counts
65 → 2
Compiler

Compiled 937 to 449 computations (52.1% saved)

localize12.0ms (0.4%)

Local error

Found 4 expressions with local error:

0.0b
(-.f64 1 (exp.f64 (*.f64 2 (log.f64 (/.f64 b a)))))
0.0b
(log.f64 (/.f64 b a))
0.0b
(sqrt.f64 (fabs.f64 (-.f64 1 (exp.f64 (*.f64 2 (log.f64 (/.f64 b a)))))))
4.0b
(exp.f64 (*.f64 2 (log.f64 (/.f64 b a))))

rewrite40.0ms (1.2%)

Algorithm
rewrite-expression-head
Rules
73×log-prod_binary64_846
61×add-sqr-sqrt_binary64_782
60×exp-sum_binary64_806
49×times-frac_binary64_766
48×*-un-lft-identity_binary64_760
41×add-cube-cbrt_binary64_795
30×distribute-lft-in_binary64_709 distribute-rgt-in_binary64_710
29×cancel-sign-sub-inv_binary64_726
10×difference-of-squares_binary64_729
add-log-exp_binary64_799
add-exp-log_binary64_798
pow1_binary64_821
div-inv_binary64_757
add-cbrt-cube_binary64_796
sqrt-prod_binary64_776
rem-log-exp_binary64_801
diff-log_binary64_852 log-div_binary64_847 rem-sqrt-square_binary64_773 exp-prod_binary64_812 sqrt-pow1_binary64_778 rem-exp-log_binary64_800 log-pow_binary64_849 distribute-lft-out--_binary64_712 exp-to-pow_binary64_822 pow1/2_binary64_840 div-exp_binary64_811 sub-neg_binary64_753 flip--_binary64_735 flip3--_binary64_764
Counts
4 → 124
Calls

4 calls:

16.0ms
(-.f64 1 (exp.f64 (*.f64 2 (log.f64 (/.f64 b a)))))
5.0ms
(exp.f64 (*.f64 2 (log.f64 (/.f64 b a))))
3.0ms
(log.f64 (/.f64 b a))
1.0ms
(sqrt.f64 (fabs.f64 (-.f64 1 (exp.f64 (*.f64 2 (log.f64 (/.f64 b a)))))))

series122.0ms (3.6%)

Counts
4 → 12
Calls

4 calls:

51.0ms
(sqrt.f64 (fabs.f64 (-.f64 1 (exp.f64 (*.f64 2 (log.f64 (/.f64 b a)))))))
25.0ms
(-.f64 1 (exp.f64 (*.f64 2 (log.f64 (/.f64 b a)))))
25.0ms
(log.f64 (/.f64 b a))
21.0ms
(exp.f64 (*.f64 2 (log.f64 (/.f64 b a))))

simplify79.0ms (2.3%)

Algorithm
egg-herbie
Counts
136 → 136
Iterations

Useful iterations: 0 (54.0ms)

IterNodesCost
051861826

prune134.0ms (3.9%)

Pruning

2 alts after pruning (1 fresh and 1 done)

PrunedKeptTotal
New1351136
Fresh101
Picked011
Done000
Total1362138
Error
0b
Counts
138 → 2
Compiler

Compiled 1946 to 1196 computations (38.5% saved)

localize15.0ms (0.4%)

Local error

Found 4 expressions with local error:

0.0b
(sqrt.f64 (fabs.f64 (/.f64 (-.f64 1 (pow.f64 (/.f64 b a) 4)) (+.f64 1 (pow.f64 (/.f64 b a) 2)))))
0.0b
(/.f64 (-.f64 1 (pow.f64 (/.f64 b a) 4)) (+.f64 1 (pow.f64 (/.f64 b a) 2)))
0.4b
(pow.f64 (/.f64 b a) 4)
0.4b
(pow.f64 (/.f64 b a) 2)

rewrite62.0ms (1.8%)

Algorithm
rewrite-expression-head
Rules
100×add-sqr-sqrt_binary64_782
95×*-un-lft-identity_binary64_760
76×times-frac_binary64_766
46×unpow-prod-down_binary64_839
40×difference-of-squares_binary64_729
39×add-cube-cbrt_binary64_795
13×distribute-lft-out_binary64_711
12×add-exp-log_binary64_798 associate-/l*_binary64_705 sqr-pow_binary64_732
pow1_binary64_821
add-cbrt-cube_binary64_796 pow-unpow_binary64_837
distribute-lft-out--_binary64_712
associate-/r*_binary64_704 add-log-exp_binary64_799 pow-exp_binary64_828
sqrt-prod_binary64_776 div-inv_binary64_757 div-exp_binary64_811
associate-/r/_binary64_706 associate-/l/_binary64_707 pow-to-exp_binary64_829 pow-pow_binary64_832
rem-sqrt-square_binary64_773 frac-2neg_binary64_771 cbrt-undiv_binary64_794 unpow2_binary64_825 flip3-+_binary64_763 sqrt-pow1_binary64_778 flip-+_binary64_734 div-sub_binary64_765 pow1/2_binary64_840 clear-num_binary64_759 flip--_binary64_735 flip3--_binary64_764
Counts
4 → 151
Calls

4 calls:

27.0ms
(/.f64 (-.f64 1 (pow.f64 (/.f64 b a) 4)) (+.f64 1 (pow.f64 (/.f64 b a) 2)))
5.0ms
(pow.f64 (/.f64 b a) 2)
4.0ms
(pow.f64 (/.f64 b a) 4)
2.0ms
(sqrt.f64 (fabs.f64 (/.f64 (-.f64 1 (pow.f64 (/.f64 b a) 4)) (+.f64 1 (pow.f64 (/.f64 b a) 2)))))

series211.0ms (6.2%)

Counts
4 → 12
Calls

4 calls:

87.0ms
(sqrt.f64 (fabs.f64 (/.f64 (-.f64 1 (pow.f64 (/.f64 b a) 4)) (+.f64 1 (pow.f64 (/.f64 b a) 2)))))
79.0ms
(/.f64 (-.f64 1 (pow.f64 (/.f64 b a) 4)) (+.f64 1 (pow.f64 (/.f64 b a) 2)))
31.0ms
(pow.f64 (/.f64 b a) 4)
14.0ms
(pow.f64 (/.f64 b a) 2)

simplify148.0ms (4.3%)

Algorithm
egg-herbie
Counts
163 → 163
Iterations

Useful iterations: 0 (86.0ms)

IterNodesCost
049644093
149644093

prune306.0ms (8.9%)

Pruning

2 alts after pruning (0 fresh and 2 done)

PrunedKeptTotal
New1630163
Fresh000
Picked011
Done011
Total1632165
Error
0b
Counts
165 → 2
Compiler

Compiled 4167 to 2716 computations (34.8% saved)

regimes282.0ms (8.2%)

Accuracy

Total 0.0b remaining (86.2%)

Threshold costs 0.0b (86.2%)

Compiler

Compiled 1609 to 1228 computations (23.7% saved)

bsearch0.0ms (0%)

simplify4.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (1.0ms)

IterNodesCost
02526
12526

end0.0ms (0%)

sample1.3s (38.6%)

Algorithm
intervals
Results
437.0ms8000×body128valid
247.0ms8000×pre128true
3.0ms107×pre128false
Compiler

Compiled 222 to 173 computations (22.1% saved)

Profiling

Loading profile data...