Details

Time bar (total: 4.8s)

analyze416.0ms (8.7%)

Algorithm
search
Search
TrueOtherFalseIter
0%100%0%0
0%100%0%1
50%50%0%2
50%50%0%3
62.5%37.5%0%4
68.7%31.2%0%5
71.8%28.1%0%6
73.4%26.5%0%7
74.2%25.8%0%8
74.6%25.4%0%9
74.8%25.2%0%10
74.9%25.1%0%11
74.9%25%0%12
74.9%25%0%13
75%25%0%14
Compiler

Compiled 11 to 8 computations (27.3% saved)

sample3.3s (69.1%)

Results
1.5s2561×body1024valid
790.0ms1329×body2048valid
469.0ms1273×body512valid
272.0ms2398×body128valid
151.0ms647×body256valid
37.0ms48×body4096valid
Compiler

Compiled 32 to 23 computations (28.1% saved)

simplify92.0ms (1.9%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
1-exp_binary64
hypot-1-def_binary64
fma-def_binary64
Counts
1 → 2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0812
1139
2149
3139

prune3.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
45.8b
Counts
3 → 2
Alt Table
StatusErrorProgram
52.3b
(log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1))))
45.8b
(log.f64 (+.f64 x (hypot.f64 1 x)))
Compiler

Compiled 50 to 35 computations (30% saved)

localize4.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
1.4b
(+.f64 x (hypot.f64 1 x))
2.0b
(log.f64 (+.f64 x (hypot.f64 1 x)))

series8.0ms (0.2%)

Counts
2 → 24
Calls

2 calls:

5.0ms
(log.f64 (+.f64 x (hypot.f64 1 x)))
3.0ms
(+.f64 x (hypot.f64 1 x))

rewrite6.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
*-un-lft-identity_binary64
add-log-exp_binary64
add-sqr-sqrt_binary64
log-prod_binary64
add-cube-cbrt_binary64
Counts
2 → 34
Calls

2 calls:

2.0ms
(+.f64 x (hypot.f64 1 x))
2.0ms
(log.f64 (+.f64 x (hypot.f64 1 x)))

simplify80.0ms (1.7%)

Algorithm
egg-herbie
Rules
665×fma-neg_binary64
426×associate-/r*_binary64
386×cancel-sign-sub-inv_binary64
299×sub-neg_binary64
286×fma-def_binary64
Counts
58 → 81
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0125861
1334805
2827799
32288799
44460799
54998799
64887799

prune48.0ms (1%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New76581
Fresh101
Picked011
Done000
Total77683
Error
0.0b
Counts
83 → 6
Alt Table
StatusErrorProgram
60.5b
(log.f64 (/.f64 (-.f64 (*.f64 x x) (*.f64 (hypot.f64 1 x) (hypot.f64 1 x))) (-.f64 x (hypot.f64 1 x))))
55.1b
(log.f64 (/.f64 (+.f64 (pow.f64 x 3) (pow.f64 (hypot.f64 1 x) 3)) (fma.f64 x x (*.f64 (hypot.f64 1 x) (-.f64 (hypot.f64 1 x) x)))))
47.1b
(exp.f64 (log.f64 (log.f64 (+.f64 x (hypot.f64 1 x)))))
45.8b
(log.f64 (/.f64 -1/2 x))
45.8b
(log.f64 (+.f64 x (hypot.f64 1 x)))
32.9b
(fma.f64 (pow.f64 x 3) -1/6 (fma.f64 3/40 (pow.f64 x 5) x))
Compiler

Compiled 1251 to 942 computations (24.7% saved)

localize6.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 3/40 (pow.f64 x 5) x)
20.4b
(fma.f64 (pow.f64 x 3) -1/6 (fma.f64 3/40 (pow.f64 x 5) x))

series10.0ms (0.2%)

Counts
2 → 24
Calls

2 calls:

6.0ms
(fma.f64 (pow.f64 x 3) -1/6 (fma.f64 3/40 (pow.f64 x 5) x))
3.0ms
(fma.f64 3/40 (pow.f64 x 5) x)

rewrite1.0ms (0%)

Algorithm
rewrite-expression-head
Rules
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64
add-cbrt-cube_binary64
add-exp-log_binary64
Counts
2 → 20
Calls

2 calls:

0.0ms
(fma.f64 3/40 (pow.f64 x 5) x)
0.0ms
(fma.f64 (pow.f64 x 3) -1/6 (fma.f64 3/40 (pow.f64 x 5) x))

simplify56.0ms (1.2%)

Algorithm
egg-herbie
Rules
612×associate-*l*_binary64
578×associate-*r*_binary64
480×distribute-lft-in_binary64
480×distribute-rgt-in_binary64
291×fma-def_binary64
Counts
44 → 31
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
036584
165520
2153518
3599518
43541518
54941518

prune22.0ms (0.5%)

Pruning

6 alts after pruning (4 fresh and 2 done)

PrunedKeptTotal
New31031
Fresh044
Picked011
Done011
Total31637
Error
0.0b
Counts
37 → 6
Alt Table
StatusErrorProgram
60.5b
(log.f64 (/.f64 (-.f64 (*.f64 x x) (*.f64 (hypot.f64 1 x) (hypot.f64 1 x))) (-.f64 x (hypot.f64 1 x))))
55.1b
(log.f64 (/.f64 (+.f64 (pow.f64 x 3) (pow.f64 (hypot.f64 1 x) 3)) (fma.f64 x x (*.f64 (hypot.f64 1 x) (-.f64 (hypot.f64 1 x) x)))))
47.1b
(exp.f64 (log.f64 (log.f64 (+.f64 x (hypot.f64 1 x)))))
45.8b
(log.f64 (/.f64 -1/2 x))
45.8b
(log.f64 (+.f64 x (hypot.f64 1 x)))
32.9b
(fma.f64 (pow.f64 x 3) -1/6 (fma.f64 3/40 (pow.f64 x 5) x))
Compiler

Compiled 590 to 443 computations (24.9% saved)

localize3.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(log.f64 (/.f64 -1/2 x))

series28.0ms (0.6%)

Counts
1 → 12
Calls

1 calls:

28.0ms
(log.f64 (/.f64 -1/2 x))

rewrite3.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
13×log-prod_binary64
times-frac_binary64
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64
Counts
1 → 26
Calls

1 calls:

2.0ms
(log.f64 (/.f64 -1/2 x))

simplify113.0ms (2.4%)

Algorithm
egg-herbie
Rules
935×unsub-neg_binary64
616×fma-def_binary64
451×fma-neg_binary64
429×sub-neg_binary64
423×distribute-neg-out_binary64
Counts
38 → 36
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
072424
1114406
2227395
3415393
4975391
52148391
63642391
74491391
84900391
94996391
104892391

prune18.0ms (0.4%)

Pruning

6 alts after pruning (3 fresh and 3 done)

PrunedKeptTotal
New36036
Fresh033
Picked011
Done022
Total36642
Error
0.0b
Counts
42 → 6
Alt Table
StatusErrorProgram
60.5b
(log.f64 (/.f64 (-.f64 (*.f64 x x) (*.f64 (hypot.f64 1 x) (hypot.f64 1 x))) (-.f64 x (hypot.f64 1 x))))
55.1b
(log.f64 (/.f64 (+.f64 (pow.f64 x 3) (pow.f64 (hypot.f64 1 x) 3)) (fma.f64 x x (*.f64 (hypot.f64 1 x) (-.f64 (hypot.f64 1 x) x)))))
47.1b
(exp.f64 (log.f64 (log.f64 (+.f64 x (hypot.f64 1 x)))))
45.8b
(log.f64 (/.f64 -1/2 x))
45.8b
(log.f64 (+.f64 x (hypot.f64 1 x)))
32.9b
(fma.f64 (pow.f64 x 3) -1/6 (fma.f64 3/40 (pow.f64 x 5) x))
Compiler

Compiled 498 to 379 computations (23.9% saved)

localize6.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(log.f64 (log.f64 (+.f64 x (hypot.f64 1 x))))
0.4b
(exp.f64 (log.f64 (log.f64 (+.f64 x (hypot.f64 1 x)))))
1.4b
(+.f64 x (hypot.f64 1 x))
2.0b
(log.f64 (+.f64 x (hypot.f64 1 x)))

series19.0ms (0.4%)

Counts
2 → 24
Calls

2 calls:

15.0ms
(log.f64 (log.f64 (+.f64 x (hypot.f64 1 x))))
4.0ms
(exp.f64 (log.f64 (log.f64 (+.f64 x (hypot.f64 1 x)))))

rewrite5.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
log-prod_binary64
pow1_binary64
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64
Counts
2 → 33
Calls

2 calls:

2.0ms
(log.f64 (log.f64 (+.f64 x (hypot.f64 1 x))))
2.0ms
(exp.f64 (log.f64 (log.f64 (+.f64 x (hypot.f64 1 x)))))

simplify135.0ms (2.8%)

Algorithm
egg-herbie
Rules
526×associate-/r*_binary64
422×fma-neg_binary64
340×fma-def_binary64
322×associate-*l*_binary64
319×associate-*r*_binary64
Counts
57 → 84
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01661368
14261264
213171256
344841256
449661256
549921256

prune129.0ms (2.7%)

Pruning

6 alts after pruning (3 fresh and 3 done)

PrunedKeptTotal
New1641165
Fresh022
Picked101
Done033
Total1656171
Error
0.0b
Counts
171 → 6
Alt Table
StatusErrorProgram
47.1b
(exp.f64 (log1p.f64 (expm1.f64 (log.f64 (log.f64 (+.f64 x (hypot.f64 1 x)))))))
60.5b
(log.f64 (/.f64 (-.f64 (*.f64 x x) (*.f64 (hypot.f64 1 x) (hypot.f64 1 x))) (-.f64 x (hypot.f64 1 x))))
55.1b
(log.f64 (/.f64 (+.f64 (pow.f64 x 3) (pow.f64 (hypot.f64 1 x) 3)) (fma.f64 x x (*.f64 (hypot.f64 1 x) (-.f64 (hypot.f64 1 x) x)))))
45.8b
(log.f64 (/.f64 -1/2 x))
45.8b
(log.f64 (+.f64 x (hypot.f64 1 x)))
32.9b
(fma.f64 (pow.f64 x 3) -1/6 (fma.f64 3/40 (pow.f64 x 5) x))
Compiler

Compiled 3084 to 2442 computations (20.8% saved)

regimes132.0ms (2.8%)

Accuracy

Total 0.2b remaining (74%)

Threshold costs 0.2b (74%)

Counts
22 → 3
Compiler

Compiled 843 to 631 computations (25.1% saved)

bsearch27.0ms (0.6%)

Steps
ItersRangePoint
7
0.00046721786720771115
0.08599722859018712
0.007449937847527183
6
-4.61550595984419
-0.4014785429718377
-1.296739964094347
Compiler

Compiled 2 to 1 computations (50% saved)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02442
12742
22642

end106.0ms (2.2%)

Compiler

Compiled 138 to 101 computations (26.8% saved)

Profiling

Loading profile data...