Details

Time bar (total: 7.0s)

analyze1.9s (26.8%)

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
0%99.8%0.2%8
0%99.8%0.2%9
0%99.8%0.2%10
0%99.8%0.2%11
0%99.8%0.2%12
3.7%96.1%0.2%13
4.2%94.5%1.3%14
Compiler

Compiled 22 to 16 computations (27.3% saved)

sample1.5s (21.1%)

Results
1.1s8256×body128valid
339.0ms2418×body128invalid
Compiler

Compiled 65 to 47 computations (27.7% saved)

simplify101.0ms (1.5%)

Algorithm
egg-herbie
Rules
669×fma-neg_binary64
614×times-frac_binary64
480×neg-mul-1_binary64
416×div-sub_binary64
394×unsub-neg_binary64
Counts
1 → 2
Iterations

Useful iterations: 7 (0.0ms)

IterNodesCost
01525
12823
25523
310121
422021
542321
683420
7184519
8389319
9428119
10463319
11495619
12480419

prune4.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.1b
Counts
3 → 2
Alt Table
StatusErrorProgram
11.4b
(+.f64 (/.f64 x y) (/.f64 (+.f64 2 (*.f64 (*.f64 z 2) (-.f64 1 t))) (*.f64 t z)))
0.1b
(+.f64 (/.f64 x y) (-.f64 -2 (/.f64 (+.f64 -2 (/.f64 -2 z)) t)))
Compiler

Compiled 110 to 79 computations (28.2% saved)

localize8.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(-.f64 -2 (/.f64 (+.f64 -2 (/.f64 -2 z)) t))
0.0b
(+.f64 (/.f64 x y) (-.f64 -2 (/.f64 (+.f64 -2 (/.f64 -2 z)) t)))
0.1b
(/.f64 (+.f64 -2 (/.f64 -2 z)) t)

series52.0ms (0.7%)

Counts
3 → 96
Calls

3 calls:

32.0ms
(+.f64 (/.f64 x y) (-.f64 -2 (/.f64 (+.f64 -2 (/.f64 -2 z)) t)))
12.0ms
(/.f64 (+.f64 -2 (/.f64 -2 z)) t)
8.0ms
(-.f64 -2 (/.f64 (+.f64 -2 (/.f64 -2 z)) t))

rewrite192.0ms (2.8%)

Algorithm
rewrite-expression-head
Rules
179×*-un-lft-identity_binary64
121×add-sqr-sqrt_binary64
118×times-frac_binary64
116×add-cube-cbrt_binary64
96×prod-diff_binary64
Counts
3 → 215
Calls

3 calls:

138.0ms
(+.f64 (/.f64 x y) (-.f64 -2 (/.f64 (+.f64 -2 (/.f64 -2 z)) t)))
10.0ms
(-.f64 -2 (/.f64 (+.f64 -2 (/.f64 -2 z)) t))
5.0ms
(/.f64 (+.f64 -2 (/.f64 -2 z)) t)

simplify184.0ms (2.6%)

Algorithm
egg-herbie
Rules
708×fma-def_binary64
501×distribute-rgt-in_binary64
470×distribute-lft-in_binary64
329×fma-neg_binary64
178×cancel-sign-sub-inv_binary64
Counts
311 → 270
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02928725
17505951
217524992
348894992
448284992

prune346.0ms (5%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New2637270
Fresh101
Picked011
Done000
Total2648272
Error
0b
Counts
272 → 8
Alt Table
StatusErrorProgram
46.8b
(log1p.f64 (expm1.f64 (+.f64 (/.f64 x y) (-.f64 -2 (/.f64 (+.f64 -2 (/.f64 -2 z)) t)))))
30.6b
(+.f64 (/.f64 x y) (-.f64 -2 (*.f64 (sqrt.f64 (/.f64 (+.f64 -2 (/.f64 -2 z)) t)) (sqrt.f64 (/.f64 (+.f64 -2 (/.f64 -2 z)) t)))))
11.8b
(+.f64 (/.f64 x y) (-.f64 -2 (/.f64 (-.f64 (*.f64 -2 -2) (*.f64 (/.f64 -2 z) (/.f64 -2 z))) (*.f64 t (-.f64 -2 (/.f64 -2 z))))))
0.1b
(+.f64 (/.f64 x y) (-.f64 -2 (*.f64 (+.f64 -2 (/.f64 -2 z)) (/.f64 1 t))))
0.1b
(+.f64 (/.f64 x y) (-.f64 -2 (*.f64 1 (neg.f64 (+.f64 (/.f64 2 t) (/.f64 2 (*.f64 t z)))))))
30.9b
(+.f64 (/.f64 x y) (-.f64 -2 (*.f64 (/.f64 1 (sqrt.f64 t)) (/.f64 (+.f64 -2 (/.f64 -2 z)) (sqrt.f64 t)))))
0.1b
(+.f64 (/.f64 x y) (-.f64 -2 (/.f64 (+.f64 -2 (/.f64 -2 z)) t)))
48.8b
(+.f64 (/.f64 x y) (-.f64 -2 (*.f64 (sqrt.f64 (+.f64 -2 (/.f64 -2 z))) (/.f64 (sqrt.f64 (+.f64 -2 (/.f64 -2 z))) t))))
Compiler

Compiled 10219 to 7173 computations (29.8% saved)

localize11.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(-.f64 -2 (*.f64 1 (neg.f64 (+.f64 (/.f64 2 t) (/.f64 2 (*.f64 t z))))))
0.0b
(+.f64 (/.f64 x y) (-.f64 -2 (*.f64 1 (neg.f64 (+.f64 (/.f64 2 t) (/.f64 2 (*.f64 t z)))))))
0.0b
(+.f64 (/.f64 2 t) (/.f64 2 (*.f64 t z)))
0.7b
(/.f64 2 (*.f64 t z))

series59.0ms (0.9%)

Counts
4 → 96
Calls

4 calls:

31.0ms
(+.f64 (/.f64 x y) (-.f64 -2 (*.f64 1 (neg.f64 (+.f64 (/.f64 2 t) (/.f64 2 (*.f64 t z)))))))
11.0ms
(+.f64 (/.f64 2 t) (/.f64 2 (*.f64 t z)))
9.0ms
(-.f64 -2 (*.f64 1 (neg.f64 (+.f64 (/.f64 2 t) (/.f64 2 (*.f64 t z))))))
8.0ms
(/.f64 2 (*.f64 t z))

rewrite26.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
30×*-un-lft-identity_binary64
26×fma-def_binary64
23×add-sqr-sqrt_binary64
23×add-cube-cbrt_binary64
21×times-frac_binary64
Counts
4 → 112
Calls

4 calls:

9.0ms
(+.f64 (/.f64 2 t) (/.f64 2 (*.f64 t z)))
7.0ms
(+.f64 (/.f64 x y) (-.f64 -2 (*.f64 1 (neg.f64 (+.f64 (/.f64 2 t) (/.f64 2 (*.f64 t z)))))))
3.0ms
(/.f64 2 (*.f64 t z))
2.0ms
(-.f64 -2 (*.f64 1 (neg.f64 (+.f64 (/.f64 2 t) (/.f64 2 (*.f64 t z))))))

simplify111.0ms (1.6%)

Algorithm
egg-herbie
Rules
669×fma-def_binary64
616×distribute-rgt-in_binary64
563×distribute-lft-in_binary64
299×fma-neg_binary64
133×cancel-sign-sub-inv_binary64
Counts
208 → 184
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01793372
14513214
213913162
348273162
448723162

prune219.0ms (3.1%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New1804184
Fresh516
Picked101
Done011
Total1866192
Error
0b
Counts
192 → 6
Alt Table
StatusErrorProgram
46.8b
(log1p.f64 (expm1.f64 (+.f64 (/.f64 x y) (-.f64 -2 (/.f64 (+.f64 -2 (/.f64 -2 z)) t)))))
0.2b
(+.f64 (/.f64 x y) (-.f64 -2 (*.f64 1 (neg.f64 (+.f64 (/.f64 2 t) (/.f64 (sqrt.f64 2) (/.f64 (*.f64 t z) (sqrt.f64 2))))))))
0.2b
(+.f64 (/.f64 x y) (-.f64 -2 (*.f64 1 (neg.f64 (+.f64 (/.f64 2 t) (*.f64 (/.f64 (sqrt.f64 2) t) (/.f64 (sqrt.f64 2) z)))))))
0.1b
(+.f64 (/.f64 x y) (-.f64 -2 (/.f64 (+.f64 -2 (/.f64 -2 z)) t)))
0.2b
(+.f64 (/.f64 x y) (-.f64 -2 (*.f64 1 (neg.f64 (fma.f64 (/.f64 (sqrt.f64 2) 1) (/.f64 (sqrt.f64 2) t) (/.f64 2 (*.f64 t z)))))))
0.1b
(+.f64 (/.f64 x y) (-.f64 -2 (*.f64 1 (neg.f64 (+.f64 (/.f64 2 t) (/.f64 (/.f64 2 t) z))))))
Compiler

Compiled 5052 to 3260 computations (35.5% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(-.f64 -2 (*.f64 1 (neg.f64 (+.f64 (/.f64 2 t) (/.f64 (/.f64 2 t) z)))))
0.0b
(+.f64 (/.f64 x y) (-.f64 -2 (*.f64 1 (neg.f64 (+.f64 (/.f64 2 t) (/.f64 (/.f64 2 t) z))))))
0.0b
(+.f64 (/.f64 2 t) (/.f64 (/.f64 2 t) z))
0.3b
(/.f64 (/.f64 2 t) z)

series61.0ms (0.9%)

Counts
4 → 120
Calls

4 calls:

30.0ms
(+.f64 (/.f64 x y) (-.f64 -2 (*.f64 1 (neg.f64 (+.f64 (/.f64 2 t) (/.f64 (/.f64 2 t) z))))))
11.0ms
(/.f64 (/.f64 2 t) z)
10.0ms
(-.f64 -2 (*.f64 1 (neg.f64 (+.f64 (/.f64 2 t) (/.f64 (/.f64 2 t) z)))))
10.0ms
(+.f64 (/.f64 2 t) (/.f64 (/.f64 2 t) z))

rewrite47.0ms (0.7%)

Algorithm
rewrite-expression-head
Rules
95×times-frac_binary64
74×*-un-lft-identity_binary64
63×add-sqr-sqrt_binary64
63×add-cube-cbrt_binary64
26×fma-def_binary64
Counts
4 → 161
Calls

4 calls:

22.0ms
(+.f64 (/.f64 2 t) (/.f64 (/.f64 2 t) z))
7.0ms
(+.f64 (/.f64 x y) (-.f64 -2 (*.f64 1 (neg.f64 (+.f64 (/.f64 2 t) (/.f64 (/.f64 2 t) z))))))
4.0ms
(/.f64 (/.f64 2 t) z)
2.0ms
(-.f64 -2 (*.f64 1 (neg.f64 (+.f64 (/.f64 2 t) (/.f64 (/.f64 2 t) z)))))

simplify132.0ms (1.9%)

Algorithm
egg-herbie
Rules
657×fma-def_binary64
599×times-frac_binary64
579×distribute-rgt-in_binary64
367×fma-neg_binary64
147×associate-/l/_binary64
Counts
281 → 245
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02764528
16554371
218454316
348564316
449704316

prune262.0ms (3.8%)

Pruning

6 alts after pruning (4 fresh and 2 done)

PrunedKeptTotal
New2450245
Fresh044
Picked011
Done011
Total2456251
Error
0b
Counts
251 → 6
Alt Table
StatusErrorProgram
46.8b
(log1p.f64 (expm1.f64 (+.f64 (/.f64 x y) (-.f64 -2 (/.f64 (+.f64 -2 (/.f64 -2 z)) t)))))
0.2b
(+.f64 (/.f64 x y) (-.f64 -2 (*.f64 1 (neg.f64 (+.f64 (/.f64 2 t) (/.f64 (sqrt.f64 2) (/.f64 (*.f64 t z) (sqrt.f64 2))))))))
0.2b
(+.f64 (/.f64 x y) (-.f64 -2 (*.f64 1 (neg.f64 (+.f64 (/.f64 2 t) (*.f64 (/.f64 (sqrt.f64 2) t) (/.f64 (sqrt.f64 2) z)))))))
0.1b
(+.f64 (/.f64 x y) (-.f64 -2 (/.f64 (+.f64 -2 (/.f64 -2 z)) t)))
0.2b
(+.f64 (/.f64 x y) (-.f64 -2 (*.f64 1 (neg.f64 (fma.f64 (/.f64 (sqrt.f64 2) 1) (/.f64 (sqrt.f64 2) t) (/.f64 2 (*.f64 t z)))))))
0.1b
(+.f64 (/.f64 x y) (-.f64 -2 (*.f64 1 (neg.f64 (+.f64 (/.f64 2 t) (/.f64 (/.f64 2 t) z))))))
Compiler

Compiled 6807 to 4528 computations (33.5% saved)

localize17.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (/.f64 x y) (-.f64 -2 (*.f64 1 (neg.f64 (+.f64 (/.f64 2 t) (/.f64 (sqrt.f64 2) (/.f64 (*.f64 t z) (sqrt.f64 2))))))))
0.0b
(+.f64 (/.f64 2 t) (/.f64 (sqrt.f64 2) (/.f64 (*.f64 t z) (sqrt.f64 2))))
0.4b
(/.f64 (*.f64 t z) (sqrt.f64 2))
0.8b
(/.f64 (sqrt.f64 2) (/.f64 (*.f64 t z) (sqrt.f64 2)))

series107.0ms (1.5%)

Counts
4 → 96
Calls

4 calls:

46.0ms
(+.f64 (/.f64 x y) (-.f64 -2 (*.f64 1 (neg.f64 (+.f64 (/.f64 2 t) (/.f64 (sqrt.f64 2) (/.f64 (*.f64 t z) (sqrt.f64 2))))))))
24.0ms
(/.f64 (sqrt.f64 2) (/.f64 (*.f64 t z) (sqrt.f64 2)))
21.0ms
(+.f64 (/.f64 2 t) (/.f64 (sqrt.f64 2) (/.f64 (*.f64 t z) (sqrt.f64 2))))
14.0ms
(/.f64 (*.f64 t z) (sqrt.f64 2))

rewrite69.0ms (1%)

Algorithm
rewrite-expression-head
Rules
128×times-frac_binary64
76×*-un-lft-identity_binary64
66×add-sqr-sqrt_binary64
66×add-cube-cbrt_binary64
60×sqrt-prod_binary64
Counts
4 → 190
Calls

4 calls:

32.0ms
(+.f64 (/.f64 2 t) (/.f64 (sqrt.f64 2) (/.f64 (*.f64 t z) (sqrt.f64 2))))
9.0ms
(/.f64 (sqrt.f64 2) (/.f64 (*.f64 t z) (sqrt.f64 2)))
7.0ms
(+.f64 (/.f64 x y) (-.f64 -2 (*.f64 1 (neg.f64 (+.f64 (/.f64 2 t) (/.f64 (sqrt.f64 2) (/.f64 (*.f64 t z) (sqrt.f64 2))))))))
4.0ms
(/.f64 (*.f64 t z) (sqrt.f64 2))

simplify156.0ms (2.2%)

Algorithm
egg-herbie
Rules
511×distribute-rgt-in_binary64
468×distribute-lft-in_binary64
468×fma-def_binary64
173×fma-neg_binary64
142×associate-/r/_binary64
Counts
286 → 261
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02605467
16664786
220764642
346684442
449484442

prune323.0ms (4.6%)

Pruning

6 alts after pruning (3 fresh and 3 done)

PrunedKeptTotal
New2601261
Fresh123
Picked011
Done022
Total2616267
Error
0b
Counts
267 → 6
Alt Table
StatusErrorProgram
46.8b
(log1p.f64 (expm1.f64 (+.f64 (/.f64 x y) (-.f64 -2 (/.f64 (+.f64 -2 (/.f64 -2 z)) t)))))
0.2b
(+.f64 (/.f64 x y) (-.f64 -2 (*.f64 1 (neg.f64 (+.f64 (/.f64 2 t) (/.f64 (sqrt.f64 2) (*.f64 t (/.f64 z (sqrt.f64 2)))))))))
0.2b
(+.f64 (/.f64 x y) (-.f64 -2 (*.f64 1 (neg.f64 (+.f64 (/.f64 2 t) (/.f64 (sqrt.f64 2) (/.f64 (*.f64 t z) (sqrt.f64 2))))))))
0.1b
(+.f64 (/.f64 x y) (-.f64 -2 (/.f64 (+.f64 -2 (/.f64 -2 z)) t)))
0.2b
(+.f64 (/.f64 x y) (-.f64 -2 (*.f64 1 (neg.f64 (fma.f64 (/.f64 (sqrt.f64 2) 1) (/.f64 (sqrt.f64 2) t) (/.f64 2 (*.f64 t z)))))))
0.1b
(+.f64 (/.f64 x y) (-.f64 -2 (*.f64 1 (neg.f64 (+.f64 (/.f64 2 t) (/.f64 (/.f64 2 t) z))))))
Compiler

Compiled 8006 to 5767 computations (28% saved)

regimes1.0s (14.6%)

Accuracy

Total 0.1b remaining (82.9%)

Threshold costs 0.1b (82.9%)

Counts
128 → 1
Compiler

Compiled 19763 to 15418 computations (22% saved)

simplify4.0ms (0.1%)

Algorithm
egg-herbie
Rules
17×cancel-sign-sub-inv_binary64
15×distribute-rgt-neg-in_binary64
10×distribute-lft-neg-in_binary64
sub-neg_binary64
neg-sub0_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01827
13825
25925
38225
49725
510625
610825
710225

end105.0ms (1.5%)

Compiler

Compiled 179 to 141 computations (21.2% saved)

Profiling

Loading profile data...