Details

Time bar (total: 22.1s)

analyze286.0ms (1.3%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.8%0.2%0
0%99.8%0.2%1
0%99.8%0.2%2
49.9%49.9%0.2%3
49.9%49.9%0.2%4
49.9%49.9%0.2%5
49.9%49.9%0.2%6
74.9%25%0.2%7
74.9%25%0.2%8
74.9%25%0.2%9
74.9%25%0.2%10
87.3%12.5%0.2%11
87.3%12.5%0.2%12
87.3%12.5%0.2%13
87.3%12.5%0.2%14
Compiler

Compiled 20 to 13 computations (35% saved)

sample2.2s (9.9%)

Results
2.0s8038×body128valid
39.0ms78×body1024valid
31.0ms82×body512valid
16.0ms58×body256valid
Compiler

Compiled 59 to 38 computations (35.6% saved)

simplify62.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

prune5.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)

localize20.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
(tanh.f64 (/.f64 x y))
0.0b
(tanh.f64 (/.f64 t y))
4.5b
(fma.f64 (*.f64 y z) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) x)

series979.0ms (4.4%)

Counts
4 → 132
Calls

4 calls:

402.0ms
(fma.f64 (*.f64 y z) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) x)
322.0ms
(-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y)))
130.0ms
(tanh.f64 (/.f64 t y))
124.0ms
(tanh.f64 (/.f64 x y))

rewrite26.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:

12.0ms
(-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y)))
3.0ms
(tanh.f64 (/.f64 t y))
3.0ms
(tanh.f64 (/.f64 x y))
1.0ms
(fma.f64 (*.f64 y z) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) x)

simplify329.0ms (1.5%)

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 → 172
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
033011824
110067805
234957805
351597805

prune271.0ms (1.2%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New1693172
Fresh000
Picked101
Done000
Total1703173
Error
0b
Counts
173 → 3
Alt Table
StatusErrorProgram
28.8b
(fma.f64 (*.f64 y z) (exp.f64 (log.f64 (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))))) x)
14.2b
(fma.f64 (*.f64 y z) (log.f64 (/.f64 (exp.f64 (tanh.f64 (/.f64 t y))) (exp.f64 (tanh.f64 (/.f64 x y))))) x)
26.2b
(-.f64 (fma.f64 z t x) (*.f64 x z))
Compiler

Compiled 6646 to 2137 computations (67.8% saved)

localize79.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(tanh.f64 (/.f64 t y))
0.1b
(/.f64 (exp.f64 (tanh.f64 (/.f64 t y))) (exp.f64 (tanh.f64 (/.f64 x y))))
1.3b
(log.f64 (/.f64 (exp.f64 (tanh.f64 (/.f64 t y))) (exp.f64 (tanh.f64 (/.f64 x y)))))
6.9b
(fma.f64 (*.f64 y z) (log.f64 (/.f64 (exp.f64 (tanh.f64 (/.f64 t y))) (exp.f64 (tanh.f64 (/.f64 x y))))) x)

series9.6s (43.5%)

Counts
3 → 120
Calls

3 calls:

5.3s
(log.f64 (/.f64 (exp.f64 (tanh.f64 (/.f64 t y))) (exp.f64 (tanh.f64 (/.f64 x y)))))
3.7s
(fma.f64 (*.f64 y z) (log.f64 (/.f64 (exp.f64 (tanh.f64 (/.f64 t y))) (exp.f64 (tanh.f64 (/.f64 x y))))) x)
561.0ms
(/.f64 (exp.f64 (tanh.f64 (/.f64 t y))) (exp.f64 (tanh.f64 (/.f64 x y))))

rewrite32.0ms (0.1%)

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

3 calls:

15.0ms
(/.f64 (exp.f64 (tanh.f64 (/.f64 t y))) (exp.f64 (tanh.f64 (/.f64 x y))))
6.0ms
(log.f64 (/.f64 (exp.f64 (tanh.f64 (/.f64 t y))) (exp.f64 (tanh.f64 (/.f64 x y)))))
1.0ms
(fma.f64 (*.f64 y z) (log.f64 (/.f64 (exp.f64 (tanh.f64 (/.f64 t y))) (exp.f64 (tanh.f64 (/.f64 x y))))) x)

simplify312.0ms (1.4%)

Algorithm
egg-herbie
Rules
832×fma-def_binary64
320×sub-neg_binary64
280×cancel-sign-sub-inv_binary64
200×fma-neg_binary64
158×+-commutative_binary64
Counts
187 → 181
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03085400
18555074
228394903
348824903
449684903

prune255.0ms (1.1%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New2040204
Fresh022
Picked011
Done000
Total2043207
Error
0b
Counts
207 → 3
Alt Table
StatusErrorProgram
28.8b
(fma.f64 (*.f64 y z) (exp.f64 (log.f64 (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))))) x)
14.2b
(fma.f64 (*.f64 y z) (log.f64 (/.f64 (exp.f64 (tanh.f64 (/.f64 t y))) (exp.f64 (tanh.f64 (/.f64 x y))))) x)
26.2b
(-.f64 (fma.f64 z t x) (*.f64 x z))
Compiler

Compiled 6566 to 2042 computations (68.9% saved)

localize10.0ms (0%)

Local error

Found 1 expressions with local error:

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

series17.0ms (0.1%)

Counts
1 → 36
Calls

1 calls:

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

rewrite8.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:

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

simplify115.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

prune28.0ms (0.1%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New42042
Fresh011
Picked011
Done011
Total42345
Error
0b
Counts
45 → 3
Alt Table
StatusErrorProgram
28.8b
(fma.f64 (*.f64 y z) (exp.f64 (log.f64 (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))))) x)
14.2b
(fma.f64 (*.f64 y z) (log.f64 (/.f64 (exp.f64 (tanh.f64 (/.f64 t y))) (exp.f64 (tanh.f64 (/.f64 x y))))) x)
26.2b
(-.f64 (fma.f64 z t x) (*.f64 x z))
Compiler

Compiled 626 to 172 computations (72.5% saved)

localize14.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(tanh.f64 (/.f64 t y))
0.7b
(exp.f64 (log.f64 (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y)))))
2.4b
(fma.f64 (*.f64 y z) (exp.f64 (log.f64 (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))))) x)
4.6b
(log.f64 (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))))

series6.3s (28.3%)

Counts
3 → 120
Calls

3 calls:

5.7s
(log.f64 (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))))
309.0ms
(fma.f64 (*.f64 y z) (exp.f64 (log.f64 (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))))) x)
203.0ms
(exp.f64 (log.f64 (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y)))))

rewrite22.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
22×log-div_binary64
18×frac-sub_binary64
12×tanh-def-a_binary64
12×tanh-def-b_binary64
12×tanh-def-c_binary64
Counts
3 → 67
Calls

3 calls:

9.0ms
(log.f64 (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))))
6.0ms
(exp.f64 (log.f64 (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y)))))
0.0ms
(fma.f64 (*.f64 y z) (exp.f64 (log.f64 (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))))) x)

simplify307.0ms (1.4%)

Algorithm
egg-herbie
Rules
441×times-frac_binary64
372×fma-def_binary64
357×associate-/r*_binary64
320×associate-/l*_binary64
192×distribute-rgt-in_binary64
Counts
187 → 200
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
056815504
1176613638
2504813638

prune243.0ms (1.1%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New2230223
Fresh000
Picked011
Done022
Total2233226
Error
0b
Counts
226 → 3
Alt Table
StatusErrorProgram
28.8b
(fma.f64 (*.f64 y z) (exp.f64 (log.f64 (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))))) x)
14.2b
(fma.f64 (*.f64 y z) (log.f64 (/.f64 (exp.f64 (tanh.f64 (/.f64 t y))) (exp.f64 (tanh.f64 (/.f64 x y))))) x)
26.2b
(-.f64 (fma.f64 z t x) (*.f64 x z))
Compiler

Compiled 11270 to 4288 computations (62% saved)

regimes542.0ms (2.4%)

Accuracy

Total 2.8b remaining (90.8%)

Threshold costs 0b (0%)

Counts
67 → 3
Compiler

Compiled 6788 to 3936 computations (42% saved)

bsearch21.0ms (0.1%)

Steps
ItersRangePoint
2
8.179481221947891e-266
4.629201980077396e-257
1.2596353575889675e-263
7
-9.056087725866256e-29
-1.8395876795379396e-30
-2.2211093071045775e-30
Compiler

Compiled 5 to 4 computations (20% saved)

simplify4.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
+-commutative_binary64
sub-neg_binary64
unsub-neg_binary64
neg-sub0_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02570
13270
23470
33570
43570

end75.0ms (0.3%)

Compiler

Compiled 155 to 78 computations (49.7% saved)

Profiling

Loading profile data...