Details

Time bar (total: 26.7s)

analyze1.2s (4.7%)

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
7.8%92%0.2%8
7.8%92%0.2%9
10.9%88.9%0.2%10
34.7%65.1%0.2%11
43.1%56.7%0.2%12
44.2%55.7%0.2%13
49.5%50.3%0.2%14
Compiler

Compiled 20 to 13 computations (35% saved)

sample34.0ms (0.1%)

Algorithm
intervals
Results
16.0ms250×body128valid
1.0ms15×body128invalid
1.0msbody512valid
0.0msbody256valid
Compiler

Compiled 43 to 29 computations (32.6% saved)

simplify41.0ms (0.2%)

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.7b
Counts
3 → 1
Alt Table
StatusErrorProgram
4.7b
(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)

localize10.0ms (0%)

Local error

Found 3 expressions with local error:

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

series818.0ms (3.1%)

Counts
3 → 96
Calls

3 calls:

594.0ms
(fma.f64 (*.f64 y z) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) x)
114.0ms
(tanh.f64 (/.f64 x y))
108.0ms
(tanh.f64 (/.f64 t y))

rewrite7.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
3 → 34
Calls

3 calls:

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

simplify248.0ms (0.9%)

Algorithm
egg-herbie
Rules
666×times-frac_binary64
501×fma-neg_binary64
469×fma-def_binary64
285×cancel-sign-sub-inv_binary64
217×sub-neg_binary64
Counts
130 → 91
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02076111
15775584
219024863
348104863
451774863

prune125.0ms (0.5%)

Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New87491
Fresh000
Picked101
Done000
Total88492
Error
0b
Counts
92 → 4
Alt Table
StatusErrorProgram
4.8b
(fma.f64 (*.f64 y z) (-.f64 (*.f64 (*.f64 (cbrt.f64 (tanh.f64 (/.f64 t y))) (cbrt.f64 (tanh.f64 (/.f64 t y)))) (cbrt.f64 (tanh.f64 (/.f64 t y)))) (tanh.f64 (/.f64 x y))) x)
19.7b
(fma.f64 (*.f64 y z) (-.f64 (/.f64 (expm1.f64 (*.f64 (/.f64 t y) 2)) (+.f64 1 (pow.f64 (exp.f64 (/.f64 t y)) 2))) (tanh.f64 (/.f64 x y))) x)
5.9b
(*.f64 (*.f64 (cbrt.f64 (fma.f64 (*.f64 y z) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) x)) (cbrt.f64 (fma.f64 (*.f64 y z) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) x))) (cbrt.f64 (fma.f64 (*.f64 y z) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) x)))
29.2b
(+.f64 x (*.f64 z (-.f64 t x)))
Compiler

Compiled 3243 to 1132 computations (65.1% saved)

localize34.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (*.f64 (cbrt.f64 (tanh.f64 (/.f64 t y))) (cbrt.f64 (tanh.f64 (/.f64 t y)))) (cbrt.f64 (tanh.f64 (/.f64 t y))))
0.2b
(*.f64 (cbrt.f64 (tanh.f64 (/.f64 t y))) (cbrt.f64 (tanh.f64 (/.f64 t y))))
4.4b
(fma.f64 (*.f64 y z) (-.f64 (*.f64 (*.f64 (cbrt.f64 (tanh.f64 (/.f64 t y))) (cbrt.f64 (tanh.f64 (/.f64 t y)))) (cbrt.f64 (tanh.f64 (/.f64 t y)))) (tanh.f64 (/.f64 x y))) x)
7.0b
(cbrt.f64 (tanh.f64 (/.f64 t y)))

series3.1s (11.6%)

Counts
4 → 120
Calls

4 calls:

1.5s
(*.f64 (cbrt.f64 (tanh.f64 (/.f64 t y))) (cbrt.f64 (tanh.f64 (/.f64 t y))))
1.3s
(cbrt.f64 (tanh.f64 (/.f64 t y)))
267.0ms
(fma.f64 (*.f64 y z) (-.f64 (*.f64 (*.f64 (cbrt.f64 (tanh.f64 (/.f64 t y))) (cbrt.f64 (tanh.f64 (/.f64 t y)))) (cbrt.f64 (tanh.f64 (/.f64 t y)))) (tanh.f64 (/.f64 x y))) x)
61.0ms
(*.f64 (*.f64 (cbrt.f64 (tanh.f64 (/.f64 t y))) (cbrt.f64 (tanh.f64 (/.f64 t y)))) (cbrt.f64 (tanh.f64 (/.f64 t y))))

rewrite52.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
171×cbrt-div_binary64
90×frac-times_binary64
57×tanh-def-a_binary64
57×tanh-def-b_binary64
57×tanh-def-c_binary64
Counts
4 → 184
Calls

4 calls:

14.0ms
(*.f64 (*.f64 (cbrt.f64 (tanh.f64 (/.f64 t y))) (cbrt.f64 (tanh.f64 (/.f64 t y)))) (cbrt.f64 (tanh.f64 (/.f64 t y))))
8.0ms
(*.f64 (cbrt.f64 (tanh.f64 (/.f64 t y))) (cbrt.f64 (tanh.f64 (/.f64 t y))))
2.0ms
(cbrt.f64 (tanh.f64 (/.f64 t y)))
0.0ms
(fma.f64 (*.f64 y z) (-.f64 (*.f64 (*.f64 (cbrt.f64 (tanh.f64 (/.f64 t y))) (cbrt.f64 (tanh.f64 (/.f64 t y)))) (cbrt.f64 (tanh.f64 (/.f64 t y)))) (tanh.f64 (/.f64 x y))) x)

simplify323.0ms (1.2%)

Algorithm
egg-herbie
Rules
777×fma-def_binary64
274×sub-neg_binary64
271×associate-*l*_binary64
245×fma-neg_binary64
213×associate-*r*_binary64
Counts
304 → 340
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
049014612
1111913089
2353612512
3495412512
4488812512

prune358.0ms (1.3%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New4260426
Fresh033
Picked011
Done000
Total4264430
Error
0b
Counts
430 → 4
Alt Table
StatusErrorProgram
4.8b
(fma.f64 (*.f64 y z) (-.f64 (*.f64 (*.f64 (cbrt.f64 (tanh.f64 (/.f64 t y))) (cbrt.f64 (tanh.f64 (/.f64 t y)))) (cbrt.f64 (tanh.f64 (/.f64 t y)))) (tanh.f64 (/.f64 x y))) x)
19.7b
(fma.f64 (*.f64 y z) (-.f64 (/.f64 (expm1.f64 (*.f64 (/.f64 t y) 2)) (+.f64 1 (pow.f64 (exp.f64 (/.f64 t y)) 2))) (tanh.f64 (/.f64 x y))) x)
5.9b
(*.f64 (*.f64 (cbrt.f64 (fma.f64 (*.f64 y z) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) x)) (cbrt.f64 (fma.f64 (*.f64 y z) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) x))) (cbrt.f64 (fma.f64 (*.f64 y z) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) x)))
29.2b
(+.f64 x (*.f64 z (-.f64 t x)))
Compiler

Compiled 20159 to 7024 computations (65.2% saved)

localize13.0ms (0%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (*.f64 (cbrt.f64 (fma.f64 (*.f64 y z) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) x)) (cbrt.f64 (fma.f64 (*.f64 y z) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) x))) (cbrt.f64 (fma.f64 (*.f64 y z) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) x)))
0.5b
(*.f64 (cbrt.f64 (fma.f64 (*.f64 y z) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) x)) (cbrt.f64 (fma.f64 (*.f64 y z) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) x)))
0.5b
(cbrt.f64 (fma.f64 (*.f64 y z) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) x))
4.4b
(fma.f64 (*.f64 y z) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) x)

series14.2s (53.1%)

Counts
3 → 144
Calls

3 calls:

9.9s
(*.f64 (cbrt.f64 (fma.f64 (*.f64 y z) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) x)) (cbrt.f64 (fma.f64 (*.f64 y z) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) x)))
4.0s
(cbrt.f64 (fma.f64 (*.f64 y z) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) x))
249.0ms
(*.f64 (*.f64 (cbrt.f64 (fma.f64 (*.f64 y z) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) x)) (cbrt.f64 (fma.f64 (*.f64 y z) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) x))) (cbrt.f64 (fma.f64 (*.f64 y z) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) x)))

rewrite40.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
29×pow1_binary64
24×add-sqr-sqrt_binary64
23×cbrt-prod_binary64
16×pow1/3_binary64
14×*-un-lft-identity_binary64
Counts
3 → 93
Calls

3 calls:

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

simplify1.2s (4.4%)

Algorithm
egg-herbie
Rules
851×fma-def_binary64
259×times-frac_binary64
70×sub-neg_binary64
36×unpow1/3_binary64
15×unpow2_binary64
Counts
237 → 257
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03399130947
15047130947

prune2.3s (8.8%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New5480548
Fresh022
Picked011
Done011
Total5484552
Error
0b
Counts
552 → 4
Alt Table
StatusErrorProgram
4.8b
(fma.f64 (*.f64 y z) (-.f64 (*.f64 (*.f64 (cbrt.f64 (tanh.f64 (/.f64 t y))) (cbrt.f64 (tanh.f64 (/.f64 t y)))) (cbrt.f64 (tanh.f64 (/.f64 t y)))) (tanh.f64 (/.f64 x y))) x)
19.7b
(fma.f64 (*.f64 y z) (-.f64 (/.f64 (expm1.f64 (*.f64 (/.f64 t y) 2)) (+.f64 1 (pow.f64 (exp.f64 (/.f64 t y)) 2))) (tanh.f64 (/.f64 x y))) x)
5.9b
(*.f64 (*.f64 (cbrt.f64 (fma.f64 (*.f64 y z) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) x)) (cbrt.f64 (fma.f64 (*.f64 y z) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) x))) (cbrt.f64 (fma.f64 (*.f64 y z) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) x)))
29.2b
(+.f64 x (*.f64 z (-.f64 t x)))
Compiler

Compiled 233388 to 75830 computations (67.5% saved)

localize17.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(tanh.f64 (/.f64 x y))
0.2b
(-.f64 (/.f64 (expm1.f64 (*.f64 (/.f64 t y) 2)) (+.f64 1 (pow.f64 (exp.f64 (/.f64 t y)) 2))) (tanh.f64 (/.f64 x y)))
0.3b
(/.f64 (expm1.f64 (*.f64 (/.f64 t y) 2)) (+.f64 1 (pow.f64 (exp.f64 (/.f64 t y)) 2)))
4.4b
(fma.f64 (*.f64 y z) (-.f64 (/.f64 (expm1.f64 (*.f64 (/.f64 t y) 2)) (+.f64 1 (pow.f64 (exp.f64 (/.f64 t y)) 2))) (tanh.f64 (/.f64 x y))) x)

series536.0ms (2%)

Counts
3 → 108
Calls

3 calls:

277.0ms
(fma.f64 (*.f64 y z) (-.f64 (/.f64 (expm1.f64 (*.f64 (/.f64 t y) 2)) (+.f64 1 (pow.f64 (exp.f64 (/.f64 t y)) 2))) (tanh.f64 (/.f64 x y))) x)
191.0ms
(-.f64 (/.f64 (expm1.f64 (*.f64 (/.f64 t y) 2)) (+.f64 1 (pow.f64 (exp.f64 (/.f64 t y)) 2))) (tanh.f64 (/.f64 x y)))
68.0ms
(/.f64 (expm1.f64 (*.f64 (/.f64 t y) 2)) (+.f64 1 (pow.f64 (exp.f64 (/.f64 t y)) 2)))

rewrite39.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
97×*-un-lft-identity_binary64
68×add-sqr-sqrt_binary64
63×add-cube-cbrt_binary64
61×times-frac_binary64
54×prod-diff_binary64
Counts
3 → 141
Calls

3 calls:

12.0ms
(-.f64 (/.f64 (expm1.f64 (*.f64 (/.f64 t y) 2)) (+.f64 1 (pow.f64 (exp.f64 (/.f64 t y)) 2))) (tanh.f64 (/.f64 x y)))
6.0ms
(/.f64 (expm1.f64 (*.f64 (/.f64 t y) 2)) (+.f64 1 (pow.f64 (exp.f64 (/.f64 t y)) 2)))
0.0ms
(fma.f64 (*.f64 y z) (-.f64 (/.f64 (expm1.f64 (*.f64 (/.f64 t y) 2)) (+.f64 1 (pow.f64 (exp.f64 (/.f64 t y)) 2))) (tanh.f64 (/.f64 x y))) x)

simplify247.0ms (0.9%)

Algorithm
egg-herbie
Rules
942×times-frac_binary64
229×fma-neg_binary64
177×fma-def_binary64
176×+-commutative_binary64
143×associate--l+_binary64
Counts
249 → 249
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
037415756
198312285
2332612102
3519012102

prune257.0ms (1%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New2730273
Fresh011
Picked011
Done022
Total2734277
Error
0b
Counts
277 → 4
Alt Table
StatusErrorProgram
4.8b
(fma.f64 (*.f64 y z) (-.f64 (*.f64 (*.f64 (cbrt.f64 (tanh.f64 (/.f64 t y))) (cbrt.f64 (tanh.f64 (/.f64 t y)))) (cbrt.f64 (tanh.f64 (/.f64 t y)))) (tanh.f64 (/.f64 x y))) x)
19.7b
(fma.f64 (*.f64 y z) (-.f64 (/.f64 (expm1.f64 (*.f64 (/.f64 t y) 2)) (+.f64 1 (pow.f64 (exp.f64 (/.f64 t y)) 2))) (tanh.f64 (/.f64 x y))) x)
5.9b
(*.f64 (*.f64 (cbrt.f64 (fma.f64 (*.f64 y z) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) x)) (cbrt.f64 (fma.f64 (*.f64 y z) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) x))) (cbrt.f64 (fma.f64 (*.f64 y z) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) x)))
29.2b
(+.f64 x (*.f64 z (-.f64 t x)))
Compiler

Compiled 13008 to 5701 computations (56.2% saved)

regimes456.0ms (1.7%)

Accuracy

Total 0.6b remaining (76.2%)

Threshold costs 0.6b (76.2%)

Counts
69 → 3
Compiler

Compiled 9058 to 5331 computations (41.1% saved)

bsearch3.0ms (0%)

Compiler

Compiled 19 to 12 computations (36.8% saved)

simplify5.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
02789
14189
24889
35289
45489
55389

end1.0ms (0%)

Compiler

Compiled 62 to 23 computations (62.9% saved)

sample977.0ms (3.7%)

Algorithm
intervals
Results
501.0ms7781×body128valid
38.0ms556×body128invalid
18.0ms72×body1024valid
16.0ms94×body512valid
6.0ms53×body256valid
Compiler

Compiled 208 to 94 computations (54.8% saved)

Profiling

Loading profile data...