Details

Time bar (total: 6.8s)

analyze1.4s (20.5%)

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
1.8%98%0.2%10
7.7%92.1%0.2%11
10.4%89.4%0.2%12
12.1%87.7%0.2%13
21.4%78.3%0.4%14
Compiler

Compiled 19 to 12 computations (36.8% saved)

sample1.8s (26.2%)

Results
1.1s6914×body128valid
189.0ms501×body512valid
173.0ms1272×body128invalid
154.0ms405×body1024valid
75.0ms370×body256valid
31.0ms66×body2048valid
Compiler

Compiled 56 to 35 computations (37.5% saved)

simplify89.0ms (1.3%)

Algorithm
egg-herbie
Rules
836×unsub-neg_binary64
769×fma-def_binary64
696×div-sub_binary64
646×sub-neg_binary64
478×neg-mul-1_binary64
Counts
1 → 2
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01219
12119
25217
314417
442117
5109217
6265717
7390117
8440817
9480717
10488117

prune4.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

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

Compiled 100 to 55 computations (45% saved)

localize9.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(/.f64 (-.f64 t x) (-.f64 a z))
14.4b
(fma.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)) x)

series87.0ms (1.3%)

Counts
2 → 108
Calls

2 calls:

61.0ms
(fma.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)) x)
25.0ms
(/.f64 (-.f64 t x) (-.f64 a z))

rewrite71.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
514×fma-def_binary64
264×fma-neg_binary64
254×expm1-udef_binary64
254×log1p-udef_binary64
138×add-sqr-sqrt_binary64
Counts
2 → 76
Calls

2 calls:

69.0ms
(/.f64 (-.f64 t x) (-.f64 a z))
69.0ms
(fma.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)) x)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01127
125727
2377627
3534027
000
100

simplify142.0ms (2.1%)

Algorithm
egg-herbie
Rules
512×cancel-sign-sub-inv_binary64
445×sub-neg_binary64
351×associate-+r+_binary64
288×distribute-neg-in_binary64
271×+-commutative_binary64
Counts
184 → 144
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02585085
18205085
232655049
349945049

prune114.0ms (1.7%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New1359144
Fresh011
Picked101
Done000
Total13610146
Error
0.3b
Counts
146 → 10
Alt Table
StatusErrorProgram
14.8b
(fma.f64 (-.f64 y z) (pow.f64 (/.f64 (-.f64 a z) (-.f64 t x)) -1) x)
40.7b
(-.f64 (+.f64 t (+.f64 (/.f64 (*.f64 (pow.f64 a 2) t) (pow.f64 z 2)) (+.f64 (/.f64 (*.f64 y (*.f64 a x)) (pow.f64 z 2)) (+.f64 (/.f64 (*.f64 y x) z) (/.f64 (*.f64 a t) z))))) (+.f64 (/.f64 (*.f64 (pow.f64 a 2) x) (pow.f64 z 2)) (+.f64 (/.f64 (*.f64 a x) z) (+.f64 (/.f64 (*.f64 y t) z) (/.f64 (*.f64 y (*.f64 a t)) (pow.f64 z 2))))))
34.3b
(expm1.f64 (log1p.f64 (fma.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)) x)))
38.5b
(-.f64 (+.f64 (/.f64 (*.f64 y x) z) (+.f64 t (/.f64 (*.f64 a t) z))) (+.f64 (/.f64 (*.f64 y t) z) (/.f64 (*.f64 a x) z)))
28.7b
(*.f64 t (-.f64 (/.f64 y (-.f64 a z)) (/.f64 z (-.f64 a z))))
42.0b
(fma.f64 (-.f64 y z) (*.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 t x)) 2) (sqrt.f64 (-.f64 a z))) (/.f64 (cbrt.f64 (-.f64 t x)) (sqrt.f64 (-.f64 a z)))) x)
42.2b
(*.f64 y (-.f64 (/.f64 t (-.f64 a z)) (/.f64 x (-.f64 a z))))
26.9b
(+.f64 x (/.f64 (*.f64 (-.f64 y z) (-.f64 t x)) (-.f64 a z)))
34.4b
(fma.f64 (-.f64 y z) (*.f64 (/.f64 (-.f64 t x) (-.f64 (*.f64 a a) (*.f64 z z))) (+.f64 z a)) x)
36.5b
(*.f64 (-.f64 (+.f64 (/.f64 z (-.f64 a z)) 1) (/.f64 y (-.f64 a z))) x)
Compiler

Compiled 5025 to 1640 computations (67.4% saved)

localize9.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(/.f64 (-.f64 a z) (-.f64 t x))
0.3b
(pow.f64 (/.f64 (-.f64 a z) (-.f64 t x)) -1)
14.4b
(fma.f64 (-.f64 y z) (pow.f64 (/.f64 (-.f64 a z) (-.f64 t x)) -1) x)

series392.0ms (5.8%)

Counts
3 → 156
Calls

3 calls:

282.0ms
(fma.f64 (-.f64 y z) (pow.f64 (/.f64 (-.f64 a z) (-.f64 t x)) -1) x)
87.0ms
(pow.f64 (/.f64 (-.f64 a z) (-.f64 t x)) -1)
23.0ms
(/.f64 (-.f64 a z) (-.f64 t x))

rewrite71.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
281×expm1-udef_binary64
281×log1p-udef_binary64
157×add-sqr-sqrt_binary64
151×log1p-expm1-u_binary64
151×expm1-log1p-u_binary64
Counts
3 → 110
Calls

3 calls:

69.0ms
(/.f64 (-.f64 a z) (-.f64 t x))
69.0ms
(pow.f64 (/.f64 (-.f64 a z) (-.f64 t x)) -1)
69.0ms
(fma.f64 (-.f64 y z) (pow.f64 (/.f64 (-.f64 a z) (-.f64 t x)) -1) x)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01343
129937
2414737
3495137
000
100

simplify258.0ms (3.8%)

Algorithm
egg-herbie
Rules
432×fma-def_binary64
357×+-commutative_binary64
300×associate-+r+_binary64
232×associate-*r/_binary64
232×associate-*l/_binary64
Counts
266 → 235
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
082017082
1311816566
2519416566

prune272.0ms (4%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New2350235
Fresh099
Picked011
Done000
Total23510245
Error
0.3b
Counts
245 → 10
Alt Table
StatusErrorProgram
14.8b
(fma.f64 (-.f64 y z) (pow.f64 (/.f64 (-.f64 a z) (-.f64 t x)) -1) x)
40.7b
(-.f64 (+.f64 t (+.f64 (/.f64 (*.f64 (pow.f64 a 2) t) (pow.f64 z 2)) (+.f64 (/.f64 (*.f64 y (*.f64 a x)) (pow.f64 z 2)) (+.f64 (/.f64 (*.f64 y x) z) (/.f64 (*.f64 a t) z))))) (+.f64 (/.f64 (*.f64 (pow.f64 a 2) x) (pow.f64 z 2)) (+.f64 (/.f64 (*.f64 a x) z) (+.f64 (/.f64 (*.f64 y t) z) (/.f64 (*.f64 y (*.f64 a t)) (pow.f64 z 2))))))
34.3b
(expm1.f64 (log1p.f64 (fma.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)) x)))
38.5b
(-.f64 (+.f64 (/.f64 (*.f64 y x) z) (+.f64 t (/.f64 (*.f64 a t) z))) (+.f64 (/.f64 (*.f64 y t) z) (/.f64 (*.f64 a x) z)))
28.7b
(*.f64 t (-.f64 (/.f64 y (-.f64 a z)) (/.f64 z (-.f64 a z))))
42.0b
(fma.f64 (-.f64 y z) (*.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 t x)) 2) (sqrt.f64 (-.f64 a z))) (/.f64 (cbrt.f64 (-.f64 t x)) (sqrt.f64 (-.f64 a z)))) x)
42.2b
(*.f64 y (-.f64 (/.f64 t (-.f64 a z)) (/.f64 x (-.f64 a z))))
26.9b
(+.f64 x (/.f64 (*.f64 (-.f64 y z) (-.f64 t x)) (-.f64 a z)))
34.4b
(fma.f64 (-.f64 y z) (*.f64 (/.f64 (-.f64 t x) (-.f64 (*.f64 a a) (*.f64 z z))) (+.f64 z a)) x)
36.5b
(*.f64 (-.f64 (+.f64 (/.f64 z (-.f64 a z)) 1) (/.f64 y (-.f64 a z))) x)
Compiler

Compiled 16177 to 6893 computations (57.4% saved)

localize9.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

series155.0ms (2.3%)

Counts
3 → 168
Calls

3 calls:

88.0ms
(+.f64 x (/.f64 (*.f64 (-.f64 y z) (-.f64 t x)) (-.f64 a z)))
55.0ms
(/.f64 (*.f64 (-.f64 y z) (-.f64 t x)) (-.f64 a z))
12.0ms
(*.f64 (-.f64 y z) (-.f64 t x))

rewrite89.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
280×expm1-udef_binary64
280×log1p-udef_binary64
152×add-sqr-sqrt_binary64
147×log1p-expm1-u_binary64
147×expm1-log1p-u_binary64
Counts
3 → 119
Calls

3 calls:

86.0ms
(*.f64 (-.f64 y z) (-.f64 t x))
86.0ms
(+.f64 x (/.f64 (*.f64 (-.f64 y z) (-.f64 t x)) (-.f64 a z)))
86.0ms
(/.f64 (*.f64 (-.f64 y z) (-.f64 t x)) (-.f64 a z))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01245
128445
2429645
3515145
000
100

simplify145.0ms (2.1%)

Algorithm
egg-herbie
Rules
636×cancel-sign-sub-inv_binary64
589×sub-neg_binary64
563×associate-+r+_binary64
422×associate-+l+_binary64
367×+-commutative_binary64
Counts
287 → 220
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03248080
110418080
239707438
355287438

prune174.0ms (2.5%)

Pruning

9 alts after pruning (7 fresh and 2 done)

PrunedKeptTotal
New2191220
Fresh268
Picked011
Done011
Total2219230
Error
0.3b
Counts
230 → 9
Alt Table
StatusErrorProgram
14.8b
(fma.f64 (-.f64 y z) (pow.f64 (/.f64 (-.f64 a z) (-.f64 t x)) -1) x)
40.7b
(-.f64 (+.f64 t (+.f64 (/.f64 (*.f64 (pow.f64 a 2) t) (pow.f64 z 2)) (+.f64 (/.f64 (*.f64 y (*.f64 a x)) (pow.f64 z 2)) (+.f64 (/.f64 (*.f64 y x) z) (/.f64 (*.f64 a t) z))))) (+.f64 (/.f64 (*.f64 (pow.f64 a 2) x) (pow.f64 z 2)) (+.f64 (/.f64 (*.f64 a x) z) (+.f64 (/.f64 (*.f64 y t) z) (/.f64 (*.f64 y (*.f64 a t)) (pow.f64 z 2))))))
34.3b
(expm1.f64 (log1p.f64 (fma.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)) x)))
38.5b
(-.f64 (+.f64 (/.f64 (*.f64 y x) z) (+.f64 t (/.f64 (*.f64 a t) z))) (+.f64 (/.f64 (*.f64 y t) z) (/.f64 (*.f64 a x) z)))
42.2b
(*.f64 y (-.f64 (/.f64 t (-.f64 a z)) (/.f64 x (-.f64 a z))))
26.9b
(+.f64 x (/.f64 (*.f64 (-.f64 y z) (-.f64 t x)) (-.f64 a z)))
34.4b
(fma.f64 (-.f64 y z) (*.f64 (/.f64 (-.f64 t x) (-.f64 (*.f64 a a) (*.f64 z z))) (+.f64 z a)) x)
36.5b
(*.f64 (-.f64 (+.f64 (/.f64 z (-.f64 a z)) 1) (/.f64 y (-.f64 a z))) x)
10.7b
(+.f64 x (*.f64 (/.f64 (-.f64 y z) (-.f64 a z)) (-.f64 t x)))
Compiler

Compiled 7934 to 2451 computations (69.1% saved)

localize9.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

series154.0ms (2.3%)

Counts
3 → 156
Calls

3 calls:

82.0ms
(+.f64 x (*.f64 (/.f64 (-.f64 y z) (-.f64 a z)) (-.f64 t x)))
55.0ms
(*.f64 (/.f64 (-.f64 y z) (-.f64 a z)) (-.f64 t x))
17.0ms
(/.f64 (-.f64 y z) (-.f64 a z))

rewrite84.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
284×expm1-udef_binary64
284×log1p-udef_binary64
154×add-sqr-sqrt_binary64
149×log1p-expm1-u_binary64
149×expm1-log1p-u_binary64
Counts
3 → 117
Calls

3 calls:

81.0ms
(/.f64 (-.f64 y z) (-.f64 a z))
81.0ms
(*.f64 (/.f64 (-.f64 y z) (-.f64 a z)) (-.f64 t x))
81.0ms
(+.f64 x (*.f64 (/.f64 (-.f64 y z) (-.f64 a z)) (-.f64 t x)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01245
128743
2440243
3527143
000
100

simplify143.0ms (2.1%)

Algorithm
egg-herbie
Rules
537×associate-+r+_binary64
426×associate-+l+_binary64
394×+-commutative_binary64
308×associate--l+_binary64
292×associate--r+_binary64
Counts
273 → 241
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03838465
111198456
246007736
350087736

prune186.0ms (2.7%)

Pruning

9 alts after pruning (6 fresh and 3 done)

PrunedKeptTotal
New2401241
Fresh156
Picked011
Done022
Total2419250
Error
0.3b
Counts
250 → 9
Alt Table
StatusErrorProgram
14.8b
(fma.f64 (-.f64 y z) (pow.f64 (/.f64 (-.f64 a z) (-.f64 t x)) -1) x)
40.7b
(-.f64 (+.f64 t (+.f64 (/.f64 (*.f64 (pow.f64 a 2) t) (pow.f64 z 2)) (+.f64 (/.f64 (*.f64 y (*.f64 a x)) (pow.f64 z 2)) (+.f64 (/.f64 (*.f64 y x) z) (/.f64 (*.f64 a t) z))))) (+.f64 (/.f64 (*.f64 (pow.f64 a 2) x) (pow.f64 z 2)) (+.f64 (/.f64 (*.f64 a x) z) (+.f64 (/.f64 (*.f64 y t) z) (/.f64 (*.f64 y (*.f64 a t)) (pow.f64 z 2))))))
34.3b
(expm1.f64 (log1p.f64 (fma.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)) x)))
38.5b
(-.f64 (+.f64 (/.f64 (*.f64 y x) z) (+.f64 t (/.f64 (*.f64 a t) z))) (+.f64 (/.f64 (*.f64 y t) z) (/.f64 (*.f64 a x) z)))
42.2b
(*.f64 y (-.f64 (/.f64 t (-.f64 a z)) (/.f64 x (-.f64 a z))))
26.9b
(+.f64 x (/.f64 (*.f64 (-.f64 y z) (-.f64 t x)) (-.f64 a z)))
11.1b
(+.f64 x (*.f64 (pow.f64 (cbrt.f64 (/.f64 (-.f64 y z) (-.f64 a z))) 3) (-.f64 t x)))
36.5b
(*.f64 (-.f64 (+.f64 (/.f64 z (-.f64 a z)) 1) (/.f64 y (-.f64 a z))) x)
10.7b
(+.f64 x (*.f64 (/.f64 (-.f64 y z) (-.f64 a z)) (-.f64 t x)))
Compiler

Compiled 8496 to 2704 computations (68.2% saved)

regimes749.0ms (11%)

Accuracy

Total 9.2b remaining (89.8%)

Threshold costs 0b (0%)

Counts
85 → 3
Compiler

Compiled 9900 to 6030 computations (39.1% saved)

bsearch61.0ms (0.9%)

Steps
ItersRangePoint
7
3.3708438386564876e-148
5.61998870189387e-146
1.3731471589482035e-146
7
-5.736309353566996e-168
-2.5147471920297757e-169
-5.662532019002217e-168
Compiler

Compiled 6 to 5 computations (16.7% saved)

simplify6.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
03385
14885
26485
38085
410285
511485
612285
712585
812585

end146.0ms (2.1%)

Compiler

Compiled 359 to 202 computations (43.7% saved)

Profiling

Loading profile data...