Details

Time bar (total: 20.8s)

analyze1.9s (9.1%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.7%0.3%0
0%99.7%0.3%1
0%99.7%0.3%2
0%99.7%0.3%3
0%99.7%0.3%4
0%99.7%0.3%5
0%99.7%0.3%6
0%99.7%0.3%7
0%99.7%0.3%8
0%99.7%0.3%9
0%99.7%0.3%10
0.6%99.1%0.3%11
1.8%98%0.3%12
2.6%97.1%0.3%13
4%95.7%0.3%14
Compiler

Compiled 24 to 15 computations (37.5% saved)

sample1.5s (7.2%)

Results
1.3s8256×body128valid
80.0ms456×body128invalid
Compiler

Compiled 71 to 44 computations (38% saved)

simplify72.0ms (0.3%)

Algorithm
egg-herbie
Rules
920×times-frac_binary64
593×fma-def_binary64
507×div-sub_binary64
484×sub-neg_binary64
470×neg-mul-1_binary64
Counts
1 → 2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01523
12521
25021
39321
415721
527021
642321
772421
8134121
9389821
10440021
11495221

prune3.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

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

Compiled 126 to 69 computations (45.2% saved)

localize15.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 z (-.f64 b y))
0.0b
(*.f64 z (-.f64 t a))
0.7b
(+.f64 (*.f64 x y) (*.f64 z (-.f64 t a)))
18.7b
(/.f64 (+.f64 (*.f64 x y) (*.f64 z (-.f64 t a))) (+.f64 y (*.f64 z (-.f64 b y))))

series216.0ms (1%)

Counts
4 → 204
Calls

4 calls:

187.0ms
(/.f64 (+.f64 (*.f64 x y) (*.f64 z (-.f64 t a))) (+.f64 y (*.f64 z (-.f64 b y))))
16.0ms
(+.f64 (*.f64 x y) (*.f64 z (-.f64 t a)))
6.0ms
(*.f64 z (-.f64 t a))
6.0ms
(*.f64 z (-.f64 b y))

rewrite36.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
66×add-sqr-sqrt_binary64
62×*-un-lft-identity_binary64
58×add-cube-cbrt_binary64
54×prod-diff_binary64
39×distribute-lft-in_binary64
Counts
4 → 173
Calls

4 calls:

7.0ms
(*.f64 z (-.f64 t a))
6.0ms
(/.f64 (+.f64 (*.f64 x y) (*.f64 z (-.f64 t a))) (+.f64 y (*.f64 z (-.f64 b y))))
5.0ms
(*.f64 z (-.f64 b y))
5.0ms
(+.f64 (*.f64 x y) (*.f64 z (-.f64 t a)))

simplify188.0ms (0.9%)

Algorithm
egg-herbie
Rules
714×associate-/r*_binary64
602×fma-def_binary64
286×+-commutative_binary64
206×associate-+r+_binary64
190×*-commutative_binary64
Counts
377 → 329
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
090010724
1256810008
2576110008

prune374.0ms (1.8%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New31811329
Fresh101
Picked101
Done000
Total32011331
Error
0b
Counts
331 → 11
Alt Table
StatusErrorProgram
27.6b
(-.f64 (fma.f64 (/.f64 y (-.f64 b y)) (/.f64 x z) (fma.f64 (/.f64 a (pow.f64 (-.f64 b y) 2)) (/.f64 y z) (/.f64 t (-.f64 b y)))) (fma.f64 (/.f64 y (pow.f64 (-.f64 b y) 2)) (/.f64 t z) (/.f64 a (-.f64 b y))))
49.1b
(/.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 (*.f64 z (-.f64 t a)) 3)) (*.f64 (fma.f64 z (-.f64 b y) y) (fma.f64 (*.f64 z (-.f64 t a)) (fma.f64 z (-.f64 t a) (*.f64 x (neg.f64 y))) (*.f64 (*.f64 y x) (*.f64 y x)))))
19.3b
(-.f64 (+.f64 (/.f64 (*.f64 t z) (-.f64 (+.f64 y (*.f64 z b)) (*.f64 y z))) (/.f64 (*.f64 y x) (-.f64 (+.f64 y (*.f64 z b)) (*.f64 y z)))) (/.f64 (*.f64 a z) (-.f64 (+.f64 y (*.f64 z b)) (*.f64 y z))))
43.4b
(/.f64 (/.f64 (fma.f64 z (-.f64 t a) (*.f64 y x)) (sqrt.f64 (fma.f64 z (-.f64 b y) y))) (sqrt.f64 (+.f64 y (*.f64 z (-.f64 b y)))))
34.9b
(/.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z (-.f64 (*.f64 t t) (*.f64 a a))) (+.f64 t a))) (+.f64 y (*.f64 z (-.f64 b y))))
26.5b
(-.f64 (fma.f64 (/.f64 y z) (/.f64 a (pow.f64 (-.f64 y b) 2)) (/.f64 a (-.f64 y b))) (fma.f64 (/.f64 y z) (/.f64 x (-.f64 y b)) (fma.f64 (/.f64 y z) (/.f64 t (pow.f64 (-.f64 y b) 2)) (/.f64 t (-.f64 y b)))))
19.4b
(*.f64 (+.f64 (*.f64 x y) (*.f64 z (-.f64 t a))) (/.f64 1 (+.f64 y (*.f64 z (-.f64 b y)))))
40.7b
(/.f64 (*.f64 (sqrt.f64 (fma.f64 z (-.f64 t a) (*.f64 y x))) (sqrt.f64 (fma.f64 z (-.f64 t a) (*.f64 y x)))) (+.f64 y (*.f64 z (-.f64 b y))))
42.1b
(-.f64 (fma.f64 (/.f64 t y) (/.f64 z (-.f64 1 z)) (+.f64 (/.f64 (*.f64 a (*.f64 b (*.f64 z z))) (pow.f64 (-.f64 y (*.f64 z y)) 2)) (fma.f64 (/.f64 (*.f64 z z) (*.f64 y y)) (/.f64 (*.f64 x (*.f64 b b)) (pow.f64 (-.f64 1 z) 3)) (/.f64 x (-.f64 1 z))))) (fma.f64 (/.f64 z y) (/.f64 (*.f64 b x) (pow.f64 (-.f64 1 z) 2)) (fma.f64 (/.f64 a y) (/.f64 z (-.f64 1 z)) (/.f64 (*.f64 t (*.f64 b (*.f64 z z))) (pow.f64 (-.f64 y (*.f64 z y)) 2)))))
31.2b
(-.f64 (fma.f64 (/.f64 t y) (/.f64 z (-.f64 1 z)) (/.f64 x (-.f64 1 z))) (fma.f64 (/.f64 z y) (/.f64 (*.f64 b x) (pow.f64 (-.f64 1 z) 2)) (/.f64 (*.f64 z a) (-.f64 y (*.f64 z y)))))
44.1b
(/.f64 x (-.f64 1 z))
Compiler

Compiled 15371 to 5118 computations (66.7% saved)

localize16.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(-.f64 (+.f64 y (*.f64 z b)) (*.f64 y z))
11.3b
(/.f64 (*.f64 y x) (-.f64 (+.f64 y (*.f64 z b)) (*.f64 y z)))
13.0b
(/.f64 (*.f64 a z) (-.f64 (+.f64 y (*.f64 z b)) (*.f64 y z)))
13.3b
(/.f64 (*.f64 t z) (-.f64 (+.f64 y (*.f64 z b)) (*.f64 y z)))

series586.0ms (2.8%)

Counts
4 → 159
Calls

4 calls:

407.0ms
(/.f64 (*.f64 t z) (-.f64 (+.f64 y (*.f64 z b)) (*.f64 y z)))
98.0ms
(/.f64 (*.f64 y x) (-.f64 (+.f64 y (*.f64 z b)) (*.f64 y z)))
71.0ms
(/.f64 (*.f64 a z) (-.f64 (+.f64 y (*.f64 z b)) (*.f64 y z)))
9.0ms
(-.f64 (+.f64 y (*.f64 z b)) (*.f64 y z))

rewrite28.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
19×add-cbrt-cube_binary64
19×add-exp-log_binary64
12×*-un-lft-identity_binary64
12×add-sqr-sqrt_binary64
12×add-cube-cbrt_binary64
Counts
4 → 97
Calls

4 calls:

6.0ms
(/.f64 (*.f64 t z) (-.f64 (+.f64 y (*.f64 z b)) (*.f64 y z)))
6.0ms
(/.f64 (*.f64 y x) (-.f64 (+.f64 y (*.f64 z b)) (*.f64 y z)))
6.0ms
(/.f64 (*.f64 a z) (-.f64 (+.f64 y (*.f64 z b)) (*.f64 y z)))
5.0ms
(-.f64 (+.f64 y (*.f64 z b)) (*.f64 y z))

simplify203.0ms (1%)

Algorithm
egg-herbie
Rules
907×associate-/l*_binary64
364×fma-def_binary64
243×associate-/l/_binary64
208×associate-/r/_binary64
199×+-commutative_binary64
Counts
256 → 369
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
07809924
123348740
257428740

prune546.0ms (2.6%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New4643467
Fresh5510
Picked101
Done000
Total4708478
Error
0b
Counts
478 → 8
Alt Table
StatusErrorProgram
19.4b
(*.f64 (+.f64 (*.f64 x y) (*.f64 z (-.f64 t a))) (/.f64 1 (+.f64 y (*.f64 z (-.f64 b y)))))
18.4b
(-.f64 (+.f64 (/.f64 (*.f64 t z) (-.f64 (+.f64 y (*.f64 z b)) (*.f64 y z))) (/.f64 (*.f64 y x) (-.f64 (+.f64 y (*.f64 z b)) (*.f64 y z)))) (/.f64 a (/.f64 (+.f64 y (*.f64 z (-.f64 b y))) z)))
17.2b
(-.f64 (+.f64 (/.f64 t (/.f64 (+.f64 y (*.f64 z (-.f64 b y))) z)) (/.f64 (*.f64 y x) (-.f64 (+.f64 y (*.f64 z b)) (*.f64 y z)))) (/.f64 (*.f64 a z) (-.f64 (+.f64 y (*.f64 z b)) (*.f64 y z))))
27.6b
(-.f64 (fma.f64 (/.f64 y (-.f64 b y)) (/.f64 x z) (fma.f64 (/.f64 a (pow.f64 (-.f64 b y) 2)) (/.f64 y z) (/.f64 t (-.f64 b y)))) (fma.f64 (/.f64 y (pow.f64 (-.f64 b y) 2)) (/.f64 t z) (/.f64 a (-.f64 b y))))
20.5b
(-.f64 (+.f64 (/.f64 (*.f64 t z) (-.f64 (+.f64 y (*.f64 z b)) (*.f64 y z))) (/.f64 y (/.f64 (+.f64 y (*.f64 z (-.f64 b y))) x))) (/.f64 (*.f64 a z) (-.f64 (+.f64 y (*.f64 z b)) (*.f64 y z))))
40.7b
(/.f64 (*.f64 (sqrt.f64 (fma.f64 z (-.f64 t a) (*.f64 y x))) (sqrt.f64 (fma.f64 z (-.f64 t a) (*.f64 y x)))) (+.f64 y (*.f64 z (-.f64 b y))))
42.1b
(-.f64 (fma.f64 (/.f64 t y) (/.f64 z (-.f64 1 z)) (+.f64 (/.f64 (*.f64 a (*.f64 b (*.f64 z z))) (pow.f64 (-.f64 y (*.f64 z y)) 2)) (fma.f64 (/.f64 (*.f64 z z) (*.f64 y y)) (/.f64 (*.f64 x (*.f64 b b)) (pow.f64 (-.f64 1 z) 3)) (/.f64 x (-.f64 1 z))))) (fma.f64 (/.f64 z y) (/.f64 (*.f64 b x) (pow.f64 (-.f64 1 z) 2)) (fma.f64 (/.f64 a y) (/.f64 z (-.f64 1 z)) (/.f64 (*.f64 t (*.f64 b (*.f64 z z))) (pow.f64 (-.f64 y (*.f64 z y)) 2)))))
31.2b
(-.f64 (fma.f64 (/.f64 t y) (/.f64 z (-.f64 1 z)) (/.f64 x (-.f64 1 z))) (fma.f64 (/.f64 z y) (/.f64 (*.f64 b x) (pow.f64 (-.f64 1 z) 2)) (/.f64 (*.f64 z a) (-.f64 y (*.f64 z y)))))
Compiler

Compiled 27396 to 5837 computations (78.7% saved)

localize21.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
2.4b
(/.f64 t (/.f64 (+.f64 y (*.f64 z (-.f64 b y))) z))
11.3b
(/.f64 (*.f64 y x) (-.f64 (+.f64 y (*.f64 z b)) (*.f64 y z)))
11.5b
(/.f64 (+.f64 y (*.f64 z (-.f64 b y))) z)
13.0b
(/.f64 (*.f64 a z) (-.f64 (+.f64 y (*.f64 z b)) (*.f64 y z)))

series89.0ms (0.4%)

Counts
2 → 84
Calls

2 calls:

76.0ms
(/.f64 t (/.f64 (+.f64 y (*.f64 z (-.f64 b y))) z))
12.0ms
(/.f64 (+.f64 y (*.f64 z (-.f64 b y))) z)

rewrite22.0ms (0.1%)

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

2 calls:

5.0ms
(/.f64 t (/.f64 (+.f64 y (*.f64 z (-.f64 b y))) z))
4.0ms
(/.f64 (+.f64 y (*.f64 z (-.f64 b y))) z)

simplify134.0ms (0.6%)

Algorithm
egg-herbie
Rules
328×times-frac_binary64
307×associate-/l*_binary64
228×associate-/r*_binary64
212×fma-neg_binary64
194×associate-/r/_binary64
Counts
187 → 257
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
04105683
110875093
244415060
350495060

prune506.0ms (2.4%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New4712473
Fresh257
Picked101
Done000
Total4747481
Error
0b
Counts
481 → 7
Alt Table
StatusErrorProgram
13.3b
(-.f64 (+.f64 (/.f64 t (-.f64 (+.f64 (/.f64 y z) b) y)) (/.f64 (*.f64 y x) (-.f64 (+.f64 y (*.f64 z b)) (*.f64 y z)))) (/.f64 (*.f64 a z) (-.f64 (+.f64 y (*.f64 z b)) (*.f64 y z))))
27.6b
(-.f64 (fma.f64 (/.f64 y (-.f64 b y)) (/.f64 x z) (fma.f64 (/.f64 a (pow.f64 (-.f64 b y) 2)) (/.f64 y z) (/.f64 t (-.f64 b y)))) (fma.f64 (/.f64 y (pow.f64 (-.f64 b y) 2)) (/.f64 t z) (/.f64 a (-.f64 b y))))
20.5b
(-.f64 (+.f64 (/.f64 (*.f64 t z) (-.f64 (+.f64 y (*.f64 z b)) (*.f64 y z))) (/.f64 y (/.f64 (+.f64 y (*.f64 z (-.f64 b y))) x))) (/.f64 (*.f64 a z) (-.f64 (+.f64 y (*.f64 z b)) (*.f64 y z))))
19.4b
(*.f64 (+.f64 (*.f64 x y) (*.f64 z (-.f64 t a))) (/.f64 1 (+.f64 y (*.f64 z (-.f64 b y)))))
40.7b
(/.f64 (*.f64 (sqrt.f64 (fma.f64 z (-.f64 t a) (*.f64 y x))) (sqrt.f64 (fma.f64 z (-.f64 t a) (*.f64 y x)))) (+.f64 y (*.f64 z (-.f64 b y))))
42.1b
(-.f64 (fma.f64 (/.f64 t y) (/.f64 z (-.f64 1 z)) (+.f64 (/.f64 (*.f64 a (*.f64 b (*.f64 z z))) (pow.f64 (-.f64 y (*.f64 z y)) 2)) (fma.f64 (/.f64 (*.f64 z z) (*.f64 y y)) (/.f64 (*.f64 x (*.f64 b b)) (pow.f64 (-.f64 1 z) 3)) (/.f64 x (-.f64 1 z))))) (fma.f64 (/.f64 z y) (/.f64 (*.f64 b x) (pow.f64 (-.f64 1 z) 2)) (fma.f64 (/.f64 a y) (/.f64 z (-.f64 1 z)) (/.f64 (*.f64 t (*.f64 b (*.f64 z z))) (pow.f64 (-.f64 y (*.f64 z y)) 2)))))
15.5b
(-.f64 (+.f64 (/.f64 t (/.f64 (+.f64 y (*.f64 z (-.f64 b y))) z)) (/.f64 (*.f64 y x) (-.f64 (+.f64 y (*.f64 z b)) (*.f64 y z)))) (/.f64 a (/.f64 (+.f64 y (*.f64 z (-.f64 b y))) z)))
Compiler

Compiled 27728 to 6051 computations (78.2% saved)

localize27.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(-.f64 (+.f64 y (*.f64 z b)) (*.f64 y z))
2.4b
(/.f64 t (-.f64 (+.f64 (/.f64 y z) b) y))
11.3b
(/.f64 (*.f64 y x) (-.f64 (+.f64 y (*.f64 z b)) (*.f64 y z)))
13.0b
(/.f64 (*.f64 a z) (-.f64 (+.f64 y (*.f64 z b)) (*.f64 y z)))

series75.0ms (0.4%)

Counts
1 → 36
Calls

1 calls:

74.0ms
(/.f64 t (-.f64 (+.f64 (/.f64 y z) b) y))

rewrite11.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
32×*-un-lft-identity_binary64
20×add-sqr-sqrt_binary64
18×times-frac_binary64
12×add-cube-cbrt_binary64
distribute-lft-out--_binary64
Counts
1 → 43
Calls

1 calls:

8.0ms
(/.f64 t (-.f64 (+.f64 (/.f64 y z) b) y))

simplify208.0ms (1%)

Algorithm
egg-herbie
Rules
431×cancel-sign-sub-inv_binary64
312×fma-neg_binary64
287×neg-mul-1_binary64
229×times-frac_binary64
216×associate-/l*_binary64
Counts
79 → 110
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02873091
17832887
231902887
345262886
451472886

prune523.0ms (2.5%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New4231424
Fresh156
Picked101
Done000
Total4256431
Error
0b
Counts
431 → 6
Alt Table
StatusErrorProgram
11.2b
(-.f64 (+.f64 (/.f64 t (-.f64 (+.f64 (/.f64 y z) b) y)) (/.f64 (*.f64 y x) (-.f64 (+.f64 y (*.f64 z b)) (*.f64 y z)))) (/.f64 a (/.f64 (+.f64 y (*.f64 z (-.f64 b y))) z)))
19.4b
(*.f64 (+.f64 (*.f64 x y) (*.f64 z (-.f64 t a))) (/.f64 1 (+.f64 y (*.f64 z (-.f64 b y)))))
27.6b
(-.f64 (fma.f64 (/.f64 y (-.f64 b y)) (/.f64 x z) (fma.f64 (/.f64 a (pow.f64 (-.f64 b y) 2)) (/.f64 y z) (/.f64 t (-.f64 b y)))) (fma.f64 (/.f64 y (pow.f64 (-.f64 b y) 2)) (/.f64 t z) (/.f64 a (-.f64 b y))))
20.5b
(-.f64 (+.f64 (/.f64 (*.f64 t z) (-.f64 (+.f64 y (*.f64 z b)) (*.f64 y z))) (/.f64 y (/.f64 (+.f64 y (*.f64 z (-.f64 b y))) x))) (/.f64 (*.f64 a z) (-.f64 (+.f64 y (*.f64 z b)) (*.f64 y z))))
40.7b
(/.f64 (*.f64 (sqrt.f64 (fma.f64 z (-.f64 t a) (*.f64 y x))) (sqrt.f64 (fma.f64 z (-.f64 t a) (*.f64 y x)))) (+.f64 y (*.f64 z (-.f64 b y))))
42.1b
(-.f64 (fma.f64 (/.f64 t y) (/.f64 z (-.f64 1 z)) (+.f64 (/.f64 (*.f64 a (*.f64 b (*.f64 z z))) (pow.f64 (-.f64 y (*.f64 z y)) 2)) (fma.f64 (/.f64 (*.f64 z z) (*.f64 y y)) (/.f64 (*.f64 x (*.f64 b b)) (pow.f64 (-.f64 1 z) 3)) (/.f64 x (-.f64 1 z))))) (fma.f64 (/.f64 z y) (/.f64 (*.f64 b x) (pow.f64 (-.f64 1 z) 2)) (fma.f64 (/.f64 a y) (/.f64 z (-.f64 1 z)) (/.f64 (*.f64 t (*.f64 b (*.f64 z z))) (pow.f64 (-.f64 y (*.f64 z y)) 2)))))
Compiler

Compiled 23468 to 5426 computations (76.9% saved)

regimes13.2s (63.6%)

Accuracy

Total 3.9b remaining (97.9%)

Threshold costs 0b (0%)

Counts
476 → 3
Compiler

Compiled 159262 to 85655 computations (46.2% saved)

bsearch112.0ms (0.5%)

Steps
ItersRangePoint
9
3.264914895640827e+34
5.1304491454379544e+41
2.0874613586551125e+36
9
-2.8172807622458216e+27
-2.804306986309133e+22
-3.3265456538885105e+22
Compiler

Compiled 7 to 6 computations (14.3% saved)

simplify8.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
048160
171160
291160
3108160
4118160
5122160
6123160
7123160

end156.0ms (0.7%)

Compiler

Compiled 511 to 247 computations (51.7% saved)

Profiling

Loading profile data...