Details

Time bar (total: 6.9s)

analyze1.1s (15.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
3.1%96.7%0.2%7
6.2%93.6%0.2%8
8.6%91.2%0.2%9
28.1%71.7%0.2%10
31%68.8%0.2%11
40.5%59.3%0.2%12
49.6%50.2%0.2%13
59%40.8%0.2%14
Compiler

Compiled 22 to 14 computations (36.4% saved)

sample1.2s (17.8%)

Results
1.1s8256×body128valid
48.0ms323×body128invalid
Compiler

Compiled 65 to 41 computations (36.9% saved)

simplify93.0ms (1.4%)

Algorithm
egg-herbie
Rules
573×neg-mul-1_binary64
569×unsub-neg_binary64
509×times-frac_binary64
460×neg-sub0_binary64
418×sub-neg_binary64
Counts
1 → 2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01425
12825
24525
38425
418525
538325
6113325
7378425
8424525
9455425
10489925
11486425

prune2.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New112
Fresh011
Picked000
Done000
Total123
Error
6.9b
Counts
3 → 1
Alt Table
StatusErrorProgram
6.9b
(/.f64 (+.f64 x (/.f64 (-.f64 (*.f64 y z) x) (-.f64 (*.f64 t z) x))) (+.f64 x 1))
Compiler

Compiled 80 to 46 computations (42.5% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series197.0ms (2.9%)

Counts
4 → 153
Calls

4 calls:

83.0ms
(/.f64 (+.f64 x (/.f64 (-.f64 (*.f64 y z) x) (-.f64 (*.f64 t z) x))) (+.f64 x 1))
52.0ms
(+.f64 x (/.f64 (-.f64 (*.f64 y z) x) (-.f64 (*.f64 t z) x)))
52.0ms
(/.f64 (-.f64 (*.f64 y z) x) (-.f64 (*.f64 t z) x))
9.0ms
(-.f64 (*.f64 t z) x)

rewrite37.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
47×*-un-lft-identity_binary64
25×times-frac_binary64
25×add-sqr-sqrt_binary64
25×add-cube-cbrt_binary64
11×distribute-lft-out_binary64
Counts
4 → 115
Calls

4 calls:

11.0ms
(/.f64 (+.f64 x (/.f64 (-.f64 (*.f64 y z) x) (-.f64 (*.f64 t z) x))) (+.f64 x 1))
10.0ms
(+.f64 x (/.f64 (-.f64 (*.f64 y z) x) (-.f64 (*.f64 t z) x)))
6.0ms
(/.f64 (-.f64 (*.f64 y z) x) (-.f64 (*.f64 t z) x))
3.0ms
(-.f64 (*.f64 t z) x)

simplify138.0ms (2%)

Algorithm
egg-herbie
Rules
550×times-frac_binary64
420×associate-/l*_binary64
300×associate-/r*_binary64
290×associate--l+_binary64
218×fma-def_binary64
Counts
268 → 293
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
043710265
113599717
250989717

prune302.0ms (4.4%)

Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New2885293
Fresh000
Picked101
Done000
Total2895294
Error
0.0b
Counts
294 → 5
Alt Table
StatusErrorProgram
32.1b
(/.f64 (+.f64 x (-.f64 (fma.f64 (/.f64 y (*.f64 t t)) (/.f64 x z) (/.f64 y t)) (/.f64 x (*.f64 t z)))) (+.f64 x 1))
6.9b
(/.f64 1 (/.f64 (+.f64 x 1) (+.f64 x (/.f64 (-.f64 (*.f64 y z) x) (-.f64 (*.f64 t z) x)))))
1.1b
(fma.f64 (/.f64 y (+.f64 x 1)) (/.f64 z (-.f64 (*.f64 t z) x)) (/.f64 (-.f64 x (/.f64 x (-.f64 (*.f64 t z) x))) (+.f64 x 1)))
20.4b
(/.f64 (+.f64 x (*.f64 (/.f64 (-.f64 (*.f64 z y) x) (*.f64 (fma.f64 t z x) (-.f64 (*.f64 t z) x))) (+.f64 (*.f64 t z) x))) (+.f64 x 1))
25.8b
(*.f64 (/.f64 (+.f64 x (/.f64 (-.f64 (*.f64 z y) x) (-.f64 (*.f64 t z) x))) (+.f64 1 (pow.f64 x 3))) (+.f64 (*.f64 x x) (-.f64 (*.f64 1 1) (*.f64 x 1))))
Compiler

Compiled 10684 to 3956 computations (63% saved)

localize12.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(-.f64 x (/.f64 x (-.f64 (*.f64 t z) x)))
0.1b
(fma.f64 (/.f64 y (+.f64 x 1)) (/.f64 z (-.f64 (*.f64 t z) x)) (/.f64 (-.f64 x (/.f64 x (-.f64 (*.f64 t z) x))) (+.f64 x 1)))
2.2b
(/.f64 x (-.f64 (*.f64 t z) x))
7.4b
(/.f64 z (-.f64 (*.f64 t z) x))

series144.0ms (2.1%)

Counts
4 → 156
Calls

4 calls:

82.0ms
(fma.f64 (/.f64 y (+.f64 x 1)) (/.f64 z (-.f64 (*.f64 t z) x)) (/.f64 (-.f64 x (/.f64 x (-.f64 (*.f64 t z) x))) (+.f64 x 1)))
23.0ms
(/.f64 x (-.f64 (*.f64 t z) x))
22.0ms
(/.f64 z (-.f64 (*.f64 t z) x))
17.0ms
(-.f64 x (/.f64 x (-.f64 (*.f64 t z) x)))

rewrite32.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
69×add-sqr-sqrt_binary64
66×*-un-lft-identity_binary64
64×add-cube-cbrt_binary64
55×times-frac_binary64
45×prod-diff_binary64
Counts
4 → 151
Calls

4 calls:

12.0ms
(-.f64 x (/.f64 x (-.f64 (*.f64 t z) x)))
4.0ms
(/.f64 z (-.f64 (*.f64 t z) x))
4.0ms
(/.f64 x (-.f64 (*.f64 t z) x))
0.0ms
(fma.f64 (/.f64 y (+.f64 x 1)) (/.f64 z (-.f64 (*.f64 t z) x)) (/.f64 (-.f64 x (/.f64 x (-.f64 (*.f64 t z) x))) (+.f64 x 1)))

simplify206.0ms (3%)

Algorithm
egg-herbie
Rules
406×times-frac_binary64
395×fma-neg_binary64
363×associate-/l*_binary64
249×associate-/r*_binary64
140×associate-*r*_binary64
Counts
307 → 332
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
049312597
114399669
247319654
350859654

prune331.0ms (4.8%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New3302332
Fresh134
Picked011
Done000
Total3316337
Error
0b
Counts
337 → 6
Alt Table
StatusErrorProgram
1.1b
(fma.f64 (/.f64 y (+.f64 x 1)) (/.f64 1 (/.f64 (-.f64 (*.f64 t z) x) z)) (/.f64 (-.f64 x (/.f64 x (-.f64 (*.f64 t z) x))) (+.f64 x 1)))
20.4b
(/.f64 (+.f64 x (*.f64 (/.f64 (-.f64 (*.f64 z y) x) (*.f64 (fma.f64 t z x) (-.f64 (*.f64 t z) x))) (+.f64 (*.f64 t z) x))) (+.f64 x 1))
6.9b
(/.f64 1 (/.f64 (+.f64 x 1) (+.f64 x (/.f64 (-.f64 (*.f64 y z) x) (-.f64 (*.f64 t z) x)))))
23.5b
(+.f64 (/.f64 x (+.f64 1 x)) (/.f64 y (*.f64 (+.f64 1 x) t)))
1.1b
(fma.f64 (/.f64 y (+.f64 x 1)) (/.f64 z (-.f64 (*.f64 t z) x)) (/.f64 (-.f64 x (/.f64 x (-.f64 (*.f64 t z) x))) (+.f64 x 1)))
25.8b
(*.f64 (/.f64 (+.f64 x (/.f64 (-.f64 (*.f64 z y) x) (-.f64 (*.f64 t z) x))) (+.f64 1 (pow.f64 x 3))) (+.f64 (*.f64 x x) (-.f64 (*.f64 1 1) (*.f64 x 1))))
Compiler

Compiled 15201 to 5058 computations (66.7% saved)

localize13.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 (/.f64 y (+.f64 x 1)) (/.f64 1 (/.f64 (-.f64 (*.f64 t z) x) z)) (/.f64 (-.f64 x (/.f64 x (-.f64 (*.f64 t z) x))) (+.f64 x 1)))
0.7b
(/.f64 1 (/.f64 (-.f64 (*.f64 t z) x) z))
2.2b
(/.f64 x (-.f64 (*.f64 t z) x))
7.3b
(/.f64 (-.f64 (*.f64 t z) x) z)

series123.0ms (1.8%)

Counts
3 → 120
Calls

3 calls:

88.0ms
(fma.f64 (/.f64 y (+.f64 x 1)) (/.f64 1 (/.f64 (-.f64 (*.f64 t z) x) z)) (/.f64 (-.f64 x (/.f64 x (-.f64 (*.f64 t z) x))) (+.f64 x 1)))
26.0ms
(/.f64 1 (/.f64 (-.f64 (*.f64 t z) x) z))
9.0ms
(/.f64 (-.f64 (*.f64 t z) x) z)

rewrite19.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
84×times-frac_binary64
53×*-un-lft-identity_binary64
53×add-sqr-sqrt_binary64
53×add-cube-cbrt_binary64
16×associate-/r*_binary64
Counts
3 → 120
Calls

3 calls:

6.0ms
(/.f64 1 (/.f64 (-.f64 (*.f64 t z) x) z))
5.0ms
(/.f64 (-.f64 (*.f64 t z) x) z)
0.0ms
(fma.f64 (/.f64 y (+.f64 x 1)) (/.f64 1 (/.f64 (-.f64 (*.f64 t z) x) z)) (/.f64 (-.f64 x (/.f64 x (-.f64 (*.f64 t z) x))) (+.f64 x 1)))

simplify176.0ms (2.6%)

Algorithm
egg-herbie
Rules
370×times-frac_binary64
297×sub-neg_binary64
279×associate-/l*_binary64
261×fma-neg_binary64
250×associate-/r*_binary64
Counts
240 → 254
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
03267319
19516735
241126501
348626500
449666500

prune368.0ms (5.3%)

Pruning

6 alts after pruning (4 fresh and 2 done)

PrunedKeptTotal
New3241325
Fresh134
Picked011
Done011
Total3256331
Error
0b
Counts
331 → 6
Alt Table
StatusErrorProgram
1.1b
(fma.f64 (/.f64 y (+.f64 x 1)) (/.f64 1 (/.f64 (-.f64 (*.f64 t z) x) z)) (/.f64 (-.f64 x (/.f64 x (-.f64 (*.f64 t z) x))) (+.f64 x 1)))
20.4b
(/.f64 (+.f64 x (*.f64 (/.f64 (-.f64 (*.f64 z y) x) (*.f64 (fma.f64 t z x) (-.f64 (*.f64 t z) x))) (+.f64 (*.f64 t z) x))) (+.f64 x 1))
6.9b
(/.f64 1 (/.f64 (+.f64 x 1) (+.f64 x (/.f64 (-.f64 (*.f64 y z) x) (-.f64 (*.f64 t z) x)))))
1.1b
(fma.f64 (/.f64 y (+.f64 x 1)) (/.f64 z (-.f64 (*.f64 t z) x)) (/.f64 (-.f64 x (/.f64 x (-.f64 (*.f64 t z) x))) (+.f64 x 1)))
0.1b
(+.f64 (/.f64 (-.f64 x (/.f64 x (-.f64 (*.f64 z t) x))) (+.f64 x 1)) (/.f64 y (*.f64 (+.f64 x 1) (-.f64 t (/.f64 x z)))))
25.8b
(*.f64 (/.f64 (+.f64 x (/.f64 (-.f64 (*.f64 z y) x) (-.f64 (*.f64 t z) x))) (+.f64 1 (pow.f64 x 3))) (+.f64 (*.f64 x x) (-.f64 (*.f64 1 1) (*.f64 x 1))))
Compiler

Compiled 13214 to 5107 computations (61.4% saved)

localize15.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (/.f64 (-.f64 x (/.f64 x (-.f64 (*.f64 z t) x))) (+.f64 x 1)) (/.f64 y (*.f64 (+.f64 x 1) (-.f64 t (/.f64 x z)))))
0.1b
(*.f64 (+.f64 x 1) (-.f64 t (/.f64 x z)))
2.2b
(/.f64 x (-.f64 (*.f64 z t) x))
4.9b
(/.f64 y (*.f64 (+.f64 x 1) (-.f64 t (/.f64 x z))))

series375.0ms (5.5%)

Counts
4 → 168
Calls

4 calls:

190.0ms
(+.f64 (/.f64 (-.f64 x (/.f64 x (-.f64 (*.f64 z t) x))) (+.f64 x 1)) (/.f64 y (*.f64 (+.f64 x 1) (-.f64 t (/.f64 x z)))))
149.0ms
(/.f64 y (*.f64 (+.f64 x 1) (-.f64 t (/.f64 x z))))
20.0ms
(/.f64 x (-.f64 (*.f64 z t) x))
16.0ms
(*.f64 (+.f64 x 1) (-.f64 t (/.f64 x z)))

rewrite83.0ms (1.2%)

Algorithm
rewrite-expression-head
Rules
136×add-sqr-sqrt_binary64
135×*-un-lft-identity_binary64
113×times-frac_binary64
109×add-cube-cbrt_binary64
78×prod-diff_binary64
Counts
4 → 248
Calls

4 calls:

27.0ms
(+.f64 (/.f64 (-.f64 x (/.f64 x (-.f64 (*.f64 z t) x))) (+.f64 x 1)) (/.f64 y (*.f64 (+.f64 x 1) (-.f64 t (/.f64 x z)))))
13.0ms
(*.f64 (+.f64 x 1) (-.f64 t (/.f64 x z)))
9.0ms
(/.f64 y (*.f64 (+.f64 x 1) (-.f64 t (/.f64 x z))))
4.0ms
(/.f64 x (-.f64 (*.f64 z t) x))

simplify312.0ms (4.5%)

Algorithm
egg-herbie
Rules
428×fma-def_binary64
420×distribute-rgt-in_binary64
310×distribute-lft-in_binary64
258×neg-sub0_binary64
254×neg-mul-1_binary64
Counts
416 → 451
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
084418686
1267316275
2455516247
3496316247

prune543.0ms (7.9%)

Pruning

6 alts after pruning (3 fresh and 3 done)

PrunedKeptTotal
New4510451
Fresh033
Picked011
Done022
Total4516457
Error
0b
Counts
457 → 6
Alt Table
StatusErrorProgram
1.1b
(fma.f64 (/.f64 y (+.f64 x 1)) (/.f64 1 (/.f64 (-.f64 (*.f64 t z) x) z)) (/.f64 (-.f64 x (/.f64 x (-.f64 (*.f64 t z) x))) (+.f64 x 1)))
20.4b
(/.f64 (+.f64 x (*.f64 (/.f64 (-.f64 (*.f64 z y) x) (*.f64 (fma.f64 t z x) (-.f64 (*.f64 t z) x))) (+.f64 (*.f64 t z) x))) (+.f64 x 1))
6.9b
(/.f64 1 (/.f64 (+.f64 x 1) (+.f64 x (/.f64 (-.f64 (*.f64 y z) x) (-.f64 (*.f64 t z) x)))))
1.1b
(fma.f64 (/.f64 y (+.f64 x 1)) (/.f64 z (-.f64 (*.f64 t z) x)) (/.f64 (-.f64 x (/.f64 x (-.f64 (*.f64 t z) x))) (+.f64 x 1)))
0.1b
(+.f64 (/.f64 (-.f64 x (/.f64 x (-.f64 (*.f64 z t) x))) (+.f64 x 1)) (/.f64 y (*.f64 (+.f64 x 1) (-.f64 t (/.f64 x z)))))
25.8b
(*.f64 (/.f64 (+.f64 x (/.f64 (-.f64 (*.f64 z y) x) (-.f64 (*.f64 t z) x))) (+.f64 1 (pow.f64 x 3))) (+.f64 (*.f64 x x) (-.f64 (*.f64 1 1) (*.f64 x 1))))
Compiler

Compiled 22929 to 9352 computations (59.2% saved)

regimes932.0ms (13.6%)

Accuracy

Total 0.0b remaining (76.6%)

Threshold costs 0.0b (76.6%)

Counts
147 → 1
Compiler

Compiled 18498 to 11526 computations (37.7% saved)

simplify4.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
sub-neg_binary64
*-commutative_binary64
neg-sub0_binary64
neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01837
12837
24037
34637
44937
54837

end105.0ms (1.5%)

Compiler

Compiled 239 to 144 computations (39.7% saved)

Profiling

Loading profile data...