Details

Time bar (total: 6.9s)

analyze368.0ms (5.3%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
50%50%0.1%2
50%50%0.1%3
50%50%0.1%4
50%50%0.1%5
62.4%37.5%0.1%6
62.4%37.5%0.1%7
68.7%31.2%0.1%8
68.7%31.2%0.1%9
71.8%28.1%0.1%10
71.8%28.1%0.1%11
73.4%26.5%0.1%12
73.4%26.5%0.1%13
74.1%25.8%0.1%14
Compiler

Compiled 19 to 9 computations (52.6% saved)

sample3.3s (47.9%)

Results
1.8s4019×body8192exit
777.0ms6763×body128valid
359.0ms3861×body128invalid
186.0ms737×body512valid
124.0ms741×body256valid
4.0ms15×body1024valid
Compiler

Compiled 56 to 26 computations (53.6% saved)

simplify79.0ms (1.1%)

Algorithm
egg-herbie
Rules
568×neg-mul-1_binary64
503×fma-def_binary64
491×fma-neg_binary64
484×div-sub_binary64
416×distribute-neg-frac_binary64
Counts
1 → 2
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0923
12223
25823
315221
433818
5109018
6290218
7369518
8470618
9488118

prune4.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
11.5b
Counts
3 → 2
Alt Table
StatusErrorProgram
11.5b
(+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))
14.3b
(-.f64 wj (/.f64 (-.f64 (*.f64 wj (exp.f64 wj)) x) (+.f64 (exp.f64 wj) (*.f64 wj (exp.f64 wj)))))
Compiler

Compiled 94 to 48 computations (48.9% saved)

localize8.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (/.f64 x (exp.f64 wj)) wj)
0.0b
(/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1))
0.0b
(/.f64 x (exp.f64 wj))
1.9b
(+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))

series62.0ms (0.9%)

Counts
4 → 61
Calls

4 calls:

21.0ms
(+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))
16.0ms
(/.f64 x (exp.f64 wj))
15.0ms
(/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1))
10.0ms
(-.f64 (/.f64 x (exp.f64 wj)) wj)

rewrite64.0ms (0.9%)

Algorithm
rewrite-expression-head
Rules
97×add-sqr-sqrt_binary64
95×*-un-lft-identity_binary64
75×times-frac_binary64
67×add-cube-cbrt_binary64
39×prod-diff_binary64
Counts
4 → 171
Calls

4 calls:

17.0ms
(+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))
17.0ms
(/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1))
8.0ms
(-.f64 (/.f64 x (exp.f64 wj)) wj)
3.0ms
(/.f64 x (exp.f64 wj))

simplify158.0ms (2.3%)

Algorithm
egg-herbie
Rules
1035×fma-neg_binary64
613×times-frac_binary64
411×distribute-rgt-in_binary64
220×sub-neg_binary64
180×fma-def_binary64
Counts
232 → 240
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02964475
16944262
223674057
348964050
455334050

prune156.0ms (2.3%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New2373240
Fresh101
Picked011
Done000
Total2384242
Error
0.1b
Counts
242 → 4
Alt Table
StatusErrorProgram
38.0b
(fma.f64 (sqrt.f64 wj) (sqrt.f64 wj) (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))
11.5b
(+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))
4.8b
(+.f64 (fma.f64 wj wj x) (*.f64 x (fma.f64 5/2 (*.f64 wj wj) (*.f64 wj -2))))
37.2b
(exp.f64 (log.f64 (+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))))
Compiler

Compiled 5635 to 2105 computations (62.6% saved)

localize10.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (fma.f64 wj wj x) (*.f64 x (fma.f64 5/2 (*.f64 wj wj) (*.f64 wj -2))))
0.0b
(fma.f64 5/2 (*.f64 wj wj) (*.f64 wj -2))
0.0b
(*.f64 x (fma.f64 5/2 (*.f64 wj wj) (*.f64 wj -2)))

series39.0ms (0.6%)

Counts
3 → 60
Calls

3 calls:

18.0ms
(+.f64 (fma.f64 wj wj x) (*.f64 x (fma.f64 5/2 (*.f64 wj wj) (*.f64 wj -2))))
18.0ms
(*.f64 x (fma.f64 5/2 (*.f64 wj wj) (*.f64 wj -2)))
3.0ms
(fma.f64 5/2 (*.f64 wj wj) (*.f64 wj -2))

rewrite10.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
add-sqr-sqrt_binary64
fma-udef_binary64
*-un-lft-identity_binary64
add-cube-cbrt_binary64
add-cbrt-cube_binary64
Counts
3 → 51
Calls

3 calls:

3.0ms
(*.f64 x (fma.f64 5/2 (*.f64 wj wj) (*.f64 wj -2)))
3.0ms
(+.f64 (fma.f64 wj wj x) (*.f64 x (fma.f64 5/2 (*.f64 wj wj) (*.f64 wj -2))))
0.0ms
(fma.f64 5/2 (*.f64 wj wj) (*.f64 wj -2))

simplify94.0ms (1.4%)

Algorithm
egg-herbie
Rules
766×fma-neg_binary64
474×fma-def_binary64
393×associate-*l*_binary64
371×distribute-rgt-in_binary64
350×associate-*r*_binary64
Counts
111 → 110
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01011943
12461662
27741456
334011456
446841456
549521456

prune86.0ms (1.2%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New1100110
Fresh022
Picked011
Done011
Total1104114
Error
0.1b
Counts
114 → 4
Alt Table
StatusErrorProgram
38.0b
(fma.f64 (sqrt.f64 wj) (sqrt.f64 wj) (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))
11.5b
(+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))
4.8b
(+.f64 (fma.f64 wj wj x) (*.f64 x (fma.f64 5/2 (*.f64 wj wj) (*.f64 wj -2))))
37.2b
(exp.f64 (log.f64 (+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))))
Compiler

Compiled 2276 to 1134 computations (50.2% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(/.f64 x (exp.f64 wj))
1.2b
(log.f64 (+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1))))
1.9b
(+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))
2.2b
(exp.f64 (log.f64 (+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))))

series134.0ms (1.9%)

Counts
2 → 48
Calls

2 calls:

113.0ms
(log.f64 (+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1))))
21.0ms
(exp.f64 (log.f64 (+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))))

rewrite37.0ms (0.5%)

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

2 calls:

18.0ms
(exp.f64 (log.f64 (+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))))
16.0ms
(log.f64 (+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1))))

simplify108.0ms (1.6%)

Algorithm
egg-herbie
Rules
384×associate-+r+_binary64
319×times-frac_binary64
288×+-commutative_binary64
262×associate-/l*_binary64
246×associate-+l+_binary64
Counts
85 → 112
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03174478
110434135
248094134
349734134

prune171.0ms (2.5%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New1902192
Fresh101
Picked101
Done022
Total1924196
Error
0.1b
Counts
196 → 4
Alt Table
StatusErrorProgram
37.7b
(exp.f64 (cbrt.f64 (*.f64 (*.f64 (log.f64 (+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))) (log.f64 (+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1))))) (log.f64 (+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))))))
4.8b
(+.f64 (fma.f64 wj wj x) (*.f64 x (fma.f64 5/2 (*.f64 wj wj) (*.f64 wj -2))))
49.6b
(exp.f64 (log.f64 (fma.f64 (sqrt.f64 wj) (sqrt.f64 wj) (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))))
11.5b
(+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))
Compiler

Compiled 7105 to 4031 computations (43.3% saved)

localize14.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(cbrt.f64 (*.f64 (*.f64 (log.f64 (+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))) (log.f64 (+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1))))) (log.f64 (+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1))))))
1.2b
(log.f64 (+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1))))
1.9b
(+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))
2.2b
(exp.f64 (cbrt.f64 (*.f64 (*.f64 (log.f64 (+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))) (log.f64 (+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1))))) (log.f64 (+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))))))

series136.0ms (2%)

Counts
2 → 48
Calls

2 calls:

114.0ms
(cbrt.f64 (*.f64 (*.f64 (log.f64 (+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))) (log.f64 (+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1))))) (log.f64 (+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1))))))
21.0ms
(exp.f64 (cbrt.f64 (*.f64 (*.f64 (log.f64 (+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))) (log.f64 (+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1))))) (log.f64 (+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))))))

rewrite8.0ms (0.1%)

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

2 calls:

3.0ms
(cbrt.f64 (*.f64 (*.f64 (log.f64 (+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))) (log.f64 (+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1))))) (log.f64 (+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1))))))
2.0ms
(exp.f64 (cbrt.f64 (*.f64 (*.f64 (log.f64 (+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))) (log.f64 (+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1))))) (log.f64 (+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))))))

simplify165.0ms (2.4%)

Algorithm
egg-herbie
Rules
384×associate-+r+_binary64
319×times-frac_binary64
282×+-commutative_binary64
259×associate-/l*_binary64
245×associate-+l+_binary64
Counts
74 → 109
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02945208
19953891
246563673
349843673
449763673

prune616.0ms (8.9%)

Pruning

5 alts after pruning (3 fresh and 2 done)

PrunedKeptTotal
New4252427
Fresh011
Picked101
Done022
Total4265431
Error
0.1b
Counts
431 → 5
Alt Table
StatusErrorProgram
52.1b
(exp.f64 (cbrt.f64 (*.f64 (*.f64 (log.f64 (+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))) (log.f64 (+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1))))) (log.f64 (log1p.f64 (expm1.f64 (+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))))))))
38.2b
(exp.f64 (cbrt.f64 (*.f64 (*.f64 (log.f64 (+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))) (log.f64 (+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1))))) (log.f64 (fma.f64 (*.f64 (cbrt.f64 wj) (cbrt.f64 wj)) (cbrt.f64 wj) (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))))))
4.8b
(+.f64 (fma.f64 wj wj x) (*.f64 x (fma.f64 5/2 (*.f64 wj wj) (*.f64 wj -2))))
49.6b
(exp.f64 (log.f64 (fma.f64 (sqrt.f64 wj) (sqrt.f64 wj) (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))))
11.5b
(+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))
Compiler

Compiled 31047 to 16847 computations (45.7% saved)

regimes919.0ms (13.2%)

Accuracy

Total 0.1b remaining (16.8%)

Threshold costs 0.1b (16.8%)

Counts
138 → 3
Compiler

Compiled 12726 to 7311 computations (42.6% saved)

bsearch35.0ms (0.5%)

Steps
ItersRangePoint
8
3.1819851040301035e-16
7.943667249242625e-12
7.73535415808421e-12
7
-0.0001005179086298632
-1.2797078716861815e-6
-1.3031958808623259e-6
Compiler

Compiled 3 to 2 computations (33.3% saved)

simplify4.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
*-commutative_binary64
sub-neg_binary64
neg-sub0_binary64
neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02769
13869
24269
34469
44569
54469

end126.0ms (1.8%)

Compiler

Compiled 246 to 139 computations (43.5% saved)

Profiling

Loading profile data...