Details

Time bar (total: 7.6s)

analyze3.0s (39%)

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
6.2%93.6%0.2%8
6.2%93.6%0.2%9
10.1%89.7%0.2%10
32%67.8%0.2%11
39.4%60.4%0.2%12
40.2%59.6%0.2%13
47.5%52.3%0.2%14
Compiler

Compiled 20 to 13 computations (35% saved)

sample2.2s (28.4%)

Results
1.9s8055×body128valid
107.0ms571×body128invalid
51.0ms85×body1024valid
31.0ms65×body512valid
15.0ms51×body256valid
Compiler

Compiled 59 to 38 computations (35.6% saved)

simplify43.0ms (0.6%)

Algorithm
egg-herbie
Rules
509×fma-neg_binary64
396×distribute-rgt-in_binary64
366×distribute-lft-in_binary64
289×fma-def_binary64
260×associate-*l*_binary64
Counts
1 → 2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01323
15521
215321
336221
4131521
5463921
6506721

prune3.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
4.3b
Counts
3 → 1
Alt Table
StatusErrorProgram
4.3b
(fma.f64 (*.f64 y z) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) x)
Compiler

Compiled 69 to 35 computations (49.3% saved)

localize9.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(tanh.f64 (/.f64 t y))
3.9b
(fma.f64 (*.f64 y z) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) x)

series288.0ms (3.8%)

Counts
2 → 72
Calls

2 calls:

231.0ms
(fma.f64 (*.f64 y z) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) x)
56.0ms
(tanh.f64 (/.f64 t y))

rewrite72.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
569×prod-diff_binary64
161×add-sqr-sqrt_binary64
152×log1p-expm1-u_binary64
152×expm1-log1p-u_binary64
150×add-log-exp_binary64
Counts
2 → 56
Calls

2 calls:

71.0ms
(tanh.f64 (/.f64 t y))
71.0ms
(fma.f64 (*.f64 y z) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) x)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01227
128927
2433627
3551227
000
100

simplify141.0ms (1.9%)

Algorithm
egg-herbie
Rules
553×times-frac_binary64
492×fma-neg_binary64
412×fma-def_binary64
362×associate-/l*_binary64
275×associate-/r*_binary64
Counts
128 → 97
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01375421
14335071
214654272
347444272
451184272

prune68.0ms (0.9%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New94397
Fresh000
Picked011
Done000
Total94498
Error
0.3b
Counts
98 → 4
Alt Table
StatusErrorProgram
4.3b
(fma.f64 (*.f64 y z) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) x)
45.4b
(sqrt.f64 (pow.f64 (fma.f64 (*.f64 y z) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) x) 2))
47.0b
(-.f64 (+.f64 (fma.f64 z t x) (*.f64 (/.f64 1/3 y) (-.f64 (/.f64 (*.f64 z (pow.f64 x 3)) y) (/.f64 (*.f64 z (pow.f64 t 3)) y)))) (*.f64 x z))
30.0b
(+.f64 x (*.f64 z (-.f64 t x)))
Compiler

Compiled 3269 to 1133 computations (65.3% saved)

localize6.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(+.f64 x (*.f64 z (-.f64 t x)))
0.0b
(*.f64 z (-.f64 t x))

series14.0ms (0.2%)

Counts
2 → 72
Calls

2 calls:

7.0ms
(+.f64 x (*.f64 z (-.f64 t x)))
7.0ms
(*.f64 z (-.f64 t x))

rewrite68.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
901×log1p-expm1-u_binary64
901×expm1-log1p-u_binary64
84×add-sqr-sqrt_binary64
78×add-log-exp_binary64
77×add-cube-cbrt_binary64
Counts
2 → 56
Calls

2 calls:

66.0ms
(+.f64 x (*.f64 z (-.f64 t x)))
66.0ms
(*.f64 z (-.f64 t x))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0717
115815
2219715
3542815
000
100

simplify42.0ms (0.5%)

Algorithm
egg-herbie
Rules
274×fma-neg_binary64
259×fma-def_binary64
58×distribute-rgt-in_binary64
38×cancel-sign-sub-inv_binary64
36×unsub-neg_binary64
Counts
128 → 68
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
023585
162558
2113558
3194504
4358504
5564504
6642504
7666504
8623504

prune34.0ms (0.4%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New67168
Fresh112
Picked101
Done011
Total69372
Error
0.3b
Counts
72 → 3
Alt Table
StatusErrorProgram
30.0b
(fma.f64 (-.f64 t x) z x)
4.3b
(fma.f64 (*.f64 y z) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) x)
45.4b
(sqrt.f64 (pow.f64 (fma.f64 (*.f64 y z) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) x) 2))
Compiler

Compiled 914 to 308 computations (66.3% saved)

localize4.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 (-.f64 t x) z x)

series7.0ms (0.1%)

Counts
1 → 36
Calls

1 calls:

7.0ms
(fma.f64 (-.f64 t x) z x)

rewrite46.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
682×log1p-expm1-u_binary64
682×expm1-log1p-u_binary64
423×prod-diff_binary64
126×log1p-udef_binary64
69×add-sqr-sqrt_binary64
Counts
1 → 23
Calls

1 calls:

45.0ms
(fma.f64 (-.f64 t x) z x)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
068
11308
216838
351618
000
100

simplify35.0ms (0.5%)

Algorithm
egg-herbie
Rules
275×fma-neg_binary64
255×fma-def_binary64
63×distribute-rgt-in_binary64
36×cancel-sign-sub-inv_binary64
36×unsub-neg_binary64
Counts
59 → 35
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
021345
154318
2111318
3184264
4358264
5564264
6642264
7666264
8623264

prune13.0ms (0.2%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New35035
Fresh011
Picked011
Done011
Total35338
Error
0.3b
Counts
38 → 3
Alt Table
StatusErrorProgram
30.0b
(fma.f64 (-.f64 t x) z x)
4.3b
(fma.f64 (*.f64 y z) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) x)
45.4b
(sqrt.f64 (pow.f64 (fma.f64 (*.f64 y z) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) x) 2))
Compiler

Compiled 397 to 139 computations (65% saved)

localize13.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(tanh.f64 (/.f64 t y))
0.2b
(pow.f64 (fma.f64 (*.f64 y z) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) x) 2)
3.9b
(fma.f64 (*.f64 y z) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) x)
22.8b
(sqrt.f64 (pow.f64 (fma.f64 (*.f64 y z) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) x) 2))

series650.0ms (8.5%)

Counts
2 → 96
Calls

2 calls:

419.0ms
(pow.f64 (fma.f64 (*.f64 y z) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) x) 2)
231.0ms
(sqrt.f64 (pow.f64 (fma.f64 (*.f64 y z) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) x) 2))

rewrite83.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
569×prod-diff_binary64
178×add-sqr-sqrt_binary64
170×log1p-expm1-u_binary64
170×expm1-log1p-u_binary64
167×add-log-exp_binary64
Counts
2 → 49
Calls

2 calls:

81.0ms
(pow.f64 (fma.f64 (*.f64 y z) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) x) 2)
81.0ms
(sqrt.f64 (pow.f64 (fma.f64 (*.f64 y z) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) x) 2))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01545
133345
2468245
3581445
000
100

simplify351.0ms (4.6%)

Algorithm
egg-herbie
Rules
622×fma-def_binary64
387×associate-/l*_binary64
377×times-frac_binary64
257×associate-/r*_binary64
218×+-commutative_binary64
Counts
145 → 134
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
055320757
1182118683
2494718651
3497818651

prune221.0ms (2.9%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New2310231
Fresh000
Picked011
Done022
Total2313234
Error
0.3b
Counts
234 → 3
Alt Table
StatusErrorProgram
30.0b
(fma.f64 (-.f64 t x) z x)
4.3b
(fma.f64 (*.f64 y z) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) x)
45.4b
(sqrt.f64 (pow.f64 (fma.f64 (*.f64 y z) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) x) 2))
Compiler

Compiled 18692 to 6517 computations (65.1% saved)

regimes197.0ms (2.6%)

Accuracy

Total 2.2b remaining (89.4%)

Threshold costs 0b (0%)

Counts
32 → 2
Compiler

Compiled 2788 to 1711 computations (38.6% saved)

bsearch1.0ms (0%)

Compiler

Compiled 19 to 12 computations (36.8% saved)

simplify4.0ms (0%)

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
02056
12856
23656
34056
44256
54256

end68.0ms (0.9%)

Compiler

Compiled 131 to 67 computations (48.9% saved)

Profiling

Loading profile data...