Details

Time bar (total: 14.4s)

analyze1.7s (11.4%)

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)

sample1.5s (10.1%)

Results
1.2s8027×body128valid
132.0ms607×body128invalid
34.0ms80×body1024valid
27.0ms88×body512valid
14.0ms60×body256valid
1.0msbody2048valid
Compiler

Compiled 59 to 38 computations (35.6% saved)

simplify39.0ms (0.3%)

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.6b
Counts
3 → 1
Alt Table
StatusErrorProgram
4.6b
(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 4 expressions with local error:

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

series525.0ms (3.6%)

Counts
4 → 132
Calls

4 calls:

217.0ms
(fma.f64 (*.f64 y z) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) x)
158.0ms
(-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y)))
94.0ms
(tanh.f64 (/.f64 t y))
55.0ms
(tanh.f64 (/.f64 x y))

rewrite11.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
14×*-un-lft-identity_binary64
14×add-sqr-sqrt_binary64
12×add-cube-cbrt_binary64
frac-sub_binary64
prod-diff_binary64
Counts
4 → 73
Calls

4 calls:

5.0ms
(-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y)))
1.0ms
(tanh.f64 (/.f64 x y))
1.0ms
(tanh.f64 (/.f64 t y))
0.0ms
(fma.f64 (*.f64 y z) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) x)

simplify172.0ms (1.2%)

Algorithm
egg-herbie
Rules
750×times-frac_binary64
231×fma-neg_binary64
202×fma-def_binary64
174×distribute-rgt-in_binary64
173×distribute-lft-in_binary64
Counts
205 → 173
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
033012435
110067805
234977805
351597805

prune132.0ms (0.9%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New1694173
Fresh000
Picked011
Done000
Total1695174
Error
0.0b
Counts
174 → 5
Alt Table
StatusErrorProgram
45.7b
(-.f64 (fma.f64 1/3 (/.f64 (*.f64 z (pow.f64 x 3)) (*.f64 y y)) (fma.f64 z t x)) (fma.f64 x z (*.f64 1/3 (/.f64 (*.f64 z (pow.f64 t 3)) (*.f64 y y)))))
25.8b
(-.f64 (fma.f64 z t x) (*.f64 x z))
16.9b
(fma.f64 (*.f64 y z) (/.f64 (-.f64 (*.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 t y))) (*.f64 (tanh.f64 (/.f64 x y)) (tanh.f64 (/.f64 x y)))) (+.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y)))) x)
34.5b
(*.f64 (sqrt.f64 (fma.f64 (*.f64 y z) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) x)) (sqrt.f64 (fma.f64 (*.f64 y z) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) x)))
4.6b
(fma.f64 (*.f64 y z) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) x)
Compiler

Compiled 6819 to 2194 computations (67.8% saved)

localize15.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(-.f64 (*.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 t y))) (*.f64 (tanh.f64 (/.f64 x y)) (tanh.f64 (/.f64 x y))))
0.2b
(+.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y)))
4.3b
(fma.f64 (*.f64 y z) (/.f64 (-.f64 (*.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 t y))) (*.f64 (tanh.f64 (/.f64 x y)) (tanh.f64 (/.f64 x y)))) (+.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y)))) x)
9.3b
(/.f64 (-.f64 (*.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 t y))) (*.f64 (tanh.f64 (/.f64 x y)) (tanh.f64 (/.f64 x y)))) (+.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))))

series3.6s (25.3%)

Counts
4 → 156
Calls

4 calls:

2.1s
(fma.f64 (*.f64 y z) (/.f64 (-.f64 (*.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 t y))) (*.f64 (tanh.f64 (/.f64 x y)) (tanh.f64 (/.f64 x y)))) (+.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y)))) x)
1.2s
(/.f64 (-.f64 (*.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 t y))) (*.f64 (tanh.f64 (/.f64 x y)) (tanh.f64 (/.f64 x y)))) (+.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))))
248.0ms
(-.f64 (*.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 t y))) (*.f64 (tanh.f64 (/.f64 x y)) (tanh.f64 (/.f64 x y))))
155.0ms
(+.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y)))

rewrite248.0ms (1.7%)

Algorithm
rewrite-expression-head
Rules
540×frac-times_binary64
492×tanh-def-a_binary64
492×tanh-def-b_binary64
492×tanh-def-c_binary64
450×frac-sub_binary64
Counts
4 → 555
Calls

4 calls:

33.0ms
(/.f64 (-.f64 (*.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 t y))) (*.f64 (tanh.f64 (/.f64 x y)) (tanh.f64 (/.f64 x y)))) (+.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))))
17.0ms
(-.f64 (*.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 t y))) (*.f64 (tanh.f64 (/.f64 x y)) (tanh.f64 (/.f64 x y))))
4.0ms
(+.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y)))
0.0ms
(fma.f64 (*.f64 y z) (/.f64 (-.f64 (*.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 t y))) (*.f64 (tanh.f64 (/.f64 x y)) (tanh.f64 (/.f64 x y)))) (+.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y)))) x)

simplify1.1s (7.8%)

Algorithm
egg-herbie
Rules
293×sub-neg_binary64
282×fma-def_binary64
230×cancel-sign-sub-inv_binary64
229×fma-neg_binary64
165×times-frac_binary64
Counts
711 → 868
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02295112648
14995112648

prune1.3s (8.9%)

Pruning

5 alts after pruning (3 fresh and 2 done)

PrunedKeptTotal
New8680868
Fresh033
Picked011
Done011
Total8685873
Error
0.0b
Counts
873 → 5
Alt Table
StatusErrorProgram
45.7b
(-.f64 (fma.f64 1/3 (/.f64 (*.f64 z (pow.f64 x 3)) (*.f64 y y)) (fma.f64 z t x)) (fma.f64 x z (*.f64 1/3 (/.f64 (*.f64 z (pow.f64 t 3)) (*.f64 y y)))))
25.8b
(-.f64 (fma.f64 z t x) (*.f64 x z))
16.9b
(fma.f64 (*.f64 y z) (/.f64 (-.f64 (*.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 t y))) (*.f64 (tanh.f64 (/.f64 x y)) (tanh.f64 (/.f64 x y)))) (+.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y)))) x)
34.5b
(*.f64 (sqrt.f64 (fma.f64 (*.f64 y z) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) x)) (sqrt.f64 (fma.f64 (*.f64 y z) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) x)))
4.6b
(fma.f64 (*.f64 y z) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) x)
Compiler

Compiled 113558 to 42130 computations (62.9% saved)

localize5.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.9b
(-.f64 (fma.f64 z t x) (*.f64 x z))

series7.0ms (0%)

Counts
1 → 36
Calls

1 calls:

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

rewrite3.0ms (0%)

Algorithm
rewrite-expression-head
Rules
add-log-exp_binary64
fma-neg_binary64
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
prod-diff_binary64
Counts
1 → 21
Calls

1 calls:

2.0ms
(-.f64 (fma.f64 z t x) (*.f64 x z))

simplify76.0ms (0.5%)

Algorithm
egg-herbie
Rules
625×fma-neg_binary64
539×associate-+l+_binary64
512×associate-+r+_binary64
301×*-commutative_binary64
241×neg-sub0_binary64
Counts
57 → 42
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
060695
1142615
2415596
31618595
43553508
54678508
64933508

prune26.0ms (0.2%)

Pruning

6 alts after pruning (3 fresh and 3 done)

PrunedKeptTotal
New41142
Fresh022
Picked011
Done022
Total41647
Error
0.0b
Counts
47 → 6
Alt Table
StatusErrorProgram
50.4b
(cbrt.f64 (pow.f64 (fma.f64 z (-.f64 t x) x) 3))
45.7b
(-.f64 (fma.f64 1/3 (/.f64 (*.f64 z (pow.f64 x 3)) (*.f64 y y)) (fma.f64 z t x)) (fma.f64 x z (*.f64 1/3 (/.f64 (*.f64 z (pow.f64 t 3)) (*.f64 y y)))))
25.8b
(-.f64 (fma.f64 z t x) (*.f64 x z))
16.9b
(fma.f64 (*.f64 y z) (/.f64 (-.f64 (*.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 t y))) (*.f64 (tanh.f64 (/.f64 x y)) (tanh.f64 (/.f64 x y)))) (+.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y)))) x)
34.5b
(*.f64 (sqrt.f64 (fma.f64 (*.f64 y z) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) x)) (sqrt.f64 (fma.f64 (*.f64 y z) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) x)))
4.6b
(fma.f64 (*.f64 y z) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) x)
Compiler

Compiled 785 to 242 computations (69.2% saved)

localize12.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series2.8s (19.7%)

Counts
2 → 80
Calls

2 calls:

2.6s
(sqrt.f64 (fma.f64 (*.f64 y z) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) x))
212.0ms
(*.f64 (sqrt.f64 (fma.f64 (*.f64 y z) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) x)) (sqrt.f64 (fma.f64 (*.f64 y z) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) x)))

rewrite15.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
28×add-sqr-sqrt_binary64
21×sqrt-prod_binary64
18×pow1_binary64
11×*-un-lft-identity_binary64
11×add-cube-cbrt_binary64
Counts
2 → 68
Calls

2 calls:

5.0ms
(*.f64 (sqrt.f64 (fma.f64 (*.f64 y z) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) x)) (sqrt.f64 (fma.f64 (*.f64 y z) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) x)))
1.0ms
(sqrt.f64 (fma.f64 (*.f64 y z) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) x))

simplify248.0ms (1.7%)

Algorithm
egg-herbie
Rules
842×fma-def_binary64
724×times-frac_binary64
294×*-commutative_binary64
172×+-commutative_binary64
150×associate-*r*_binary64
Counts
148 → 142
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
072320232
1231318361
2505618361

prune500.0ms (3.5%)

Pruning

6 alts after pruning (2 fresh and 4 done)

PrunedKeptTotal
New4520452
Fresh022
Picked011
Done033
Total4526458
Error
0.0b
Counts
458 → 6
Alt Table
StatusErrorProgram
50.4b
(cbrt.f64 (pow.f64 (fma.f64 z (-.f64 t x) x) 3))
45.7b
(-.f64 (fma.f64 1/3 (/.f64 (*.f64 z (pow.f64 x 3)) (*.f64 y y)) (fma.f64 z t x)) (fma.f64 x z (*.f64 1/3 (/.f64 (*.f64 z (pow.f64 t 3)) (*.f64 y y)))))
25.8b
(-.f64 (fma.f64 z t x) (*.f64 x z))
16.9b
(fma.f64 (*.f64 y z) (/.f64 (-.f64 (*.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 t y))) (*.f64 (tanh.f64 (/.f64 x y)) (tanh.f64 (/.f64 x y)))) (+.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y)))) x)
34.5b
(*.f64 (sqrt.f64 (fma.f64 (*.f64 y z) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) x)) (sqrt.f64 (fma.f64 (*.f64 y z) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) x)))
4.6b
(fma.f64 (*.f64 y z) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) x)
Compiler

Compiled 50327 to 16472 computations (67.3% saved)

regimes260.0ms (1.8%)

Accuracy

Total 0.7b remaining (76.8%)

Threshold costs 0.7b (76.8%)

Counts
38 → 3
Compiler

Compiled 4038 to 2301 computations (43% saved)

bsearch2.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
02593
13393
24093
34493
44693
54693

end102.0ms (0.7%)

Compiler

Compiled 282 to 117 computations (58.5% saved)

Profiling

Loading profile data...