Details

Time bar (total: 6.5s)

analyze1.3s (19.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
6.2%93.6%0.2%9
9.4%90.4%0.2%10
14%83.4%2.5%11
18.7%78.2%3.1%12
28.1%65.5%6.4%13
30.7%59.4%9.9%14
Compiler

Compiled 20 to 12 computations (40% saved)

sample1.9s (28.8%)

Results
1.0s8256×body128valid
801.0ms6318×body128invalid
Compiler

Compiled 40 to 24 computations (40% saved)

preprocess23.0ms (0.3%)

Algorithm
egg-herbie
Rules
36×fma-def_binary64
32×associate-/l*_binary64
22×associate-*r/_binary64
22×associate-/r/_binary64
20×associate-/r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
026154
183140
2169140
3225140
4237140
044
Stop Event
saturated
saturated
Compiler

Compiled 19 to 11 computations (42.1% saved)

simplify9.0ms (0.1%)

Algorithm
egg-herbie
Rules
associate-/l*_binary64
associate-*r/_binary64
associate-/r/_binary64
fma-def_binary64
associate-/r*_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01222
12520
24520
35920
46120
Stop Event
saturated
Counts
1 → 2

prune4.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

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

Compiled 107 to 55 computations (48.6% saved)

localize8.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.2b
(fma.f64 (/.f64 z t) (/.f64 z t) (*.f64 x (/.f64 x (*.f64 y y))))
3.8b
(*.f64 x (/.f64 x (*.f64 y y)))
9.4b
(/.f64 x (*.f64 y y))

series111.0ms (1.7%)

Counts
3 → 96
Calls

24 calls:

7.0ms
(*.f64 x (/.f64 x (*.f64 y y)))
x
-inf
7.0ms
(fma.f64 (/.f64 z t) (/.f64 z t) (*.f64 x (/.f64 x (*.f64 y y))))
z
inf
7.0ms
(fma.f64 (/.f64 z t) (/.f64 z t) (*.f64 x (/.f64 x (*.f64 y y))))
x
inf
7.0ms
(/.f64 x (*.f64 y y))
x
0
7.0ms
(/.f64 x (*.f64 y y))
x
-inf

rewrite53.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
565×log-prod_binary64
257×prod-diff_binary64
192×expm1-udef_binary64
192×log1p-udef_binary64
180×log-pow_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01037
121127
2288127
Stop Event
node limit
Counts
3 → 95

simplify65.0ms (1%)

Algorithm
egg-herbie
Rules
652×unswap-sqr_binary64
529×associate-/l*_binary64
347×associate-/r*_binary64
289×associate-/l/_binary64
229×associate-*l*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0141320
1291320
2551248
31431248
46221248
536351248
649701248
Stop Event
node limit
Counts
191 → 103

prune150.0ms (2.3%)

Pruning

12 alts after pruning (12 fresh and 0 done)

PrunedKeptTotal
New9211103
Fresh011
Picked101
Done000
Total9312105
Error
0.1b
Counts
105 → 12
Alt Table
StatusErrorProgram
4.9b
(fma.f64 (/.f64 z t) (/.f64 z t) (/.f64 (*.f64 (/.f64 x y) x) y))
40.2b
(/.f64 z (/.f64 (*.f64 t t) z))
32.1b
(/.f64 (-.f64 (*.f64 (pow.f64 (/.f64 z t) 2) (pow.f64 (/.f64 z t) 2)) (pow.f64 (pow.f64 (/.f64 x y) 2) 2)) (-.f64 (pow.f64 (/.f64 z t) 2) (pow.f64 (/.f64 x y) 2)))
2.6b
(fma.f64 (/.f64 z t) (/.f64 z t) (/.f64 x (/.f64 y (/.f64 x y))))
33.0b
(+.f64 (/.f64 (*.f64 x x) (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 t t)))
0.4b
(+.f64 (pow.f64 (/.f64 x y) 2) (pow.f64 (/.f64 z t) 2))
3.3b
(fma.f64 (/.f64 z t) (/.f64 z t) (*.f64 x (*.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) y) (/.f64 (cbrt.f64 x) y))))
34.9b
(cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) 2) 3))
1.2b
(pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) 2)) 3)
43.4b
(/.f64 (+.f64 (pow.f64 (pow.f64 (/.f64 z t) 2) 3) (pow.f64 (pow.f64 (/.f64 x y) 2) 3)) (fma.f64 (pow.f64 (/.f64 z t) 2) (pow.f64 (/.f64 z t) 2) (-.f64 (pow.f64 (pow.f64 (/.f64 x y) 2) 2) (*.f64 (pow.f64 (/.f64 z t) 2) (pow.f64 (/.f64 x y) 2)))))
24.3b
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) 2)) (cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) 2) 2)))
53.8b
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (pow.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) 2))) (cbrt.f64 (exp.f64 (pow.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) 2))))) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) 2)))))
Compiler

Compiled 2310 to 1056 computations (54.3% saved)

localize8.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (pow.f64 (/.f64 x y) 2) (pow.f64 (/.f64 z t) 2))
0.3b
(pow.f64 (/.f64 x y) 2)
0.3b
(pow.f64 (/.f64 z t) 2)

series144.0ms (2.2%)

Counts
3 → 96
Calls

24 calls:

28.0ms
(+.f64 (pow.f64 (/.f64 x y) 2) (pow.f64 (/.f64 z t) 2))
x
-inf
28.0ms
(+.f64 (pow.f64 (/.f64 x y) 2) (pow.f64 (/.f64 z t) 2))
z
0
9.0ms
(+.f64 (pow.f64 (/.f64 x y) 2) (pow.f64 (/.f64 z t) 2))
z
-inf
8.0ms
(+.f64 (pow.f64 (/.f64 x y) 2) (pow.f64 (/.f64 z t) 2))
z
inf
8.0ms
(+.f64 (pow.f64 (/.f64 x y) 2) (pow.f64 (/.f64 z t) 2))
x
inf

rewrite61.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
579×log-prod_binary64
247×fma-def_binary64
213×expm1-udef_binary64
213×log1p-udef_binary64
194×log-pow_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01130
124327
2327827
Stop Event
node limit
Counts
3 → 139

simplify82.0ms (1.3%)

Algorithm
egg-herbie
Rules
572×unswap-sqr_binary64
520×associate-/l*_binary64
422×*-commutative_binary64
328×associate-/r*_binary64
258×associate-/l/_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0131392
1281392
2531320
31371320
45951320
534141320
648381320
Stop Event
node limit
Counts
235 → 145

prune156.0ms (2.4%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New13510145
Fresh10111
Picked101
Done000
Total14611157
Error
0.0b
Counts
157 → 11
Alt Table
StatusErrorProgram
0.4b
(+.f64 (/.f64 (/.f64 x y) (/.f64 y x)) (pow.f64 (/.f64 z t) 2))
0.5b
(+.f64 (pow.f64 (/.f64 x y) 2) (/.f64 1 (*.f64 (/.f64 t z) (/.f64 t z))))
4.9b
(+.f64 (/.f64 (*.f64 x (/.f64 x y)) y) (pow.f64 (/.f64 z t) 2))
5.3b
(+.f64 (pow.f64 (/.f64 x y) 2) (/.f64 (*.f64 z (/.f64 z t)) t))
3.3b
(fma.f64 z (*.f64 (/.f64 1 t) (/.f64 z t)) (pow.f64 (/.f64 x y) 2))
0.8b
(fma.f64 (pow.f64 (cbrt.f64 (/.f64 z t)) 2) (*.f64 (cbrt.f64 (/.f64 z t)) (/.f64 z t)) (pow.f64 (/.f64 x y) 2))
10.2b
(+.f64 (*.f64 x (/.f64 x (*.f64 y y))) (pow.f64 (/.f64 z t) 2))
1.2b
(pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) 2)) 3)
0.4b
(+.f64 (pow.f64 (/.f64 x y) 2) (/.f64 (/.f64 z t) (/.f64 t z)))
3.3b
(+.f64 (pow.f64 (/.f64 x y) 2) (/.f64 z (*.f64 (/.f64 t z) t)))
0.7b
(fma.f64 (cbrt.f64 (pow.f64 (/.f64 x y) 2)) (*.f64 (cbrt.f64 (/.f64 x y)) (/.f64 x y)) (pow.f64 (/.f64 z t) 2))
Compiler

Compiled 2783 to 1319 computations (52.6% saved)

localize8.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (/.f64 (/.f64 x y) (/.f64 y x)) (pow.f64 (/.f64 z t) 2))
0.2b
(/.f64 (/.f64 x y) (/.f64 y x))
0.3b
(pow.f64 (/.f64 z t) 2)

series110.0ms (1.7%)

Counts
2 → 72
Calls

18 calls:

9.0ms
(+.f64 (/.f64 (/.f64 x y) (/.f64 y x)) (pow.f64 (/.f64 z t) 2))
z
inf
9.0ms
(+.f64 (/.f64 (/.f64 x y) (/.f64 y x)) (pow.f64 (/.f64 z t) 2))
x
0
9.0ms
(+.f64 (/.f64 (/.f64 x y) (/.f64 y x)) (pow.f64 (/.f64 z t) 2))
x
-inf
8.0ms
(+.f64 (/.f64 (/.f64 x y) (/.f64 y x)) (pow.f64 (/.f64 z t) 2))
z
-inf
8.0ms
(+.f64 (/.f64 (/.f64 x y) (/.f64 y x)) (pow.f64 (/.f64 z t) 2))
x
inf

rewrite66.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
349×fma-def_binary64
239×expm1-udef_binary64
239×log1p-udef_binary64
193×fma-neg_binary64
135×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01229
127320
2398720
Stop Event
node limit
Counts
2 → 127

simplify60.0ms (0.9%)

Algorithm
egg-herbie
Rules
572×unswap-sqr_binary64
520×associate-/l*_binary64
422×*-commutative_binary64
328×associate-/r*_binary64
258×associate-/l/_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0131152
1281152
2531080
31371080
45951080
534141080
648381080
Stop Event
node limit
Counts
199 → 132

prune164.0ms (2.5%)

Pruning

12 alts after pruning (11 fresh and 1 done)

PrunedKeptTotal
New1712173
Fresh1910
Picked011
Done000
Total17212184
Error
0.0b
Counts
184 → 12
Alt Table
StatusErrorProgram
0.4b
(+.f64 (/.f64 (/.f64 x y) (/.f64 y x)) (pow.f64 (/.f64 z t) 2))
0.5b
(+.f64 (pow.f64 (/.f64 x y) 2) (/.f64 1 (*.f64 (/.f64 t z) (/.f64 t z))))
10.2b
(fma.f64 x (/.f64 x (*.f64 y y)) (pow.f64 (/.f64 z t) 2))
4.9b
(+.f64 (/.f64 (*.f64 x (/.f64 x y)) y) (pow.f64 (/.f64 z t) 2))
5.3b
(+.f64 (pow.f64 (/.f64 x y) 2) (/.f64 (*.f64 z (/.f64 z t)) t))
3.3b
(fma.f64 z (*.f64 (/.f64 1 t) (/.f64 z t)) (pow.f64 (/.f64 x y) 2))
0.8b
(fma.f64 (pow.f64 (cbrt.f64 (/.f64 z t)) 2) (*.f64 (cbrt.f64 (/.f64 z t)) (/.f64 z t)) (pow.f64 (/.f64 x y) 2))
1.2b
(pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) 2)) 3)
0.4b
(+.f64 (pow.f64 (/.f64 x y) 2) (/.f64 (/.f64 z t) (/.f64 t z)))
3.3b
(+.f64 (pow.f64 (/.f64 x y) 2) (/.f64 z (*.f64 (/.f64 t z) t)))
0.9b
(+.f64 (*.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2) (*.f64 (cbrt.f64 (/.f64 x y)) (/.f64 x y))) (pow.f64 (/.f64 z t) 2))
0.7b
(fma.f64 (cbrt.f64 (pow.f64 (/.f64 x y) 2)) (*.f64 (cbrt.f64 (/.f64 x y)) (/.f64 x y)) (pow.f64 (/.f64 z t) 2))
Compiler

Compiled 3499 to 1439 computations (58.9% saved)

localize8.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (pow.f64 (/.f64 x y) 2) (/.f64 (/.f64 z t) (/.f64 t z)))
0.2b
(/.f64 (/.f64 z t) (/.f64 t z))
0.3b
(pow.f64 (/.f64 x y) 2)

series164.0ms (2.5%)

Counts
2 → 72
Calls

18 calls:

52.0ms
(+.f64 (pow.f64 (/.f64 x y) 2) (/.f64 (/.f64 z t) (/.f64 t z)))
t
-inf
14.0ms
(+.f64 (pow.f64 (/.f64 x y) 2) (/.f64 (/.f64 z t) (/.f64 t z)))
z
inf
9.0ms
(+.f64 (pow.f64 (/.f64 x y) 2) (/.f64 (/.f64 z t) (/.f64 t z)))
x
inf
9.0ms
(+.f64 (pow.f64 (/.f64 x y) 2) (/.f64 (/.f64 z t) (/.f64 t z)))
y
inf
8.0ms
(+.f64 (pow.f64 (/.f64 x y) 2) (/.f64 (/.f64 z t) (/.f64 t z)))
z
-inf

rewrite64.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
297×fma-def_binary64
239×expm1-udef_binary64
239×log1p-udef_binary64
186×fma-neg_binary64
135×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01229
127320
2399420
Stop Event
node limit
Counts
2 → 127

simplify79.0ms (1.2%)

Algorithm
egg-herbie
Rules
572×unswap-sqr_binary64
520×associate-/l*_binary64
422×*-commutative_binary64
328×associate-/r*_binary64
258×associate-/l/_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0131152
1281152
2531080
31371080
45951080
534141080
648381080
Stop Event
node limit
Counts
199 → 132

prune164.0ms (2.5%)

Pruning

12 alts after pruning (10 fresh and 2 done)

PrunedKeptTotal
New1721173
Fresh1910
Picked011
Done011
Total17312185
Error
0.0b
Counts
185 → 12
Alt Table
StatusErrorProgram
10.2b
(fma.f64 x (/.f64 x (*.f64 y y)) (pow.f64 (/.f64 z t) 2))
4.9b
(+.f64 (/.f64 (*.f64 x (/.f64 x y)) y) (pow.f64 (/.f64 z t) 2))
5.3b
(+.f64 (pow.f64 (/.f64 x y) 2) (/.f64 (*.f64 z (/.f64 z t)) t))
3.3b
(fma.f64 z (*.f64 (/.f64 1 t) (/.f64 z t)) (pow.f64 (/.f64 x y) 2))
0.8b
(fma.f64 (pow.f64 (cbrt.f64 (/.f64 z t)) 2) (*.f64 (cbrt.f64 (/.f64 z t)) (/.f64 z t)) (pow.f64 (/.f64 x y) 2))
1.2b
(pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) 2)) 3)
0.4b
(+.f64 (/.f64 (/.f64 x y) (/.f64 y x)) (pow.f64 (/.f64 z t) 2))
0.4b
(+.f64 (pow.f64 (/.f64 x y) 2) (/.f64 (/.f64 z t) (/.f64 t z)))
3.3b
(+.f64 (pow.f64 (/.f64 x y) 2) (/.f64 z (*.f64 (/.f64 t z) t)))
0.5b
(+.f64 (pow.f64 (/.f64 x y) 2) (pow.f64 (pow.f64 (/.f64 t z) 2) -1))
0.9b
(+.f64 (*.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2) (*.f64 (cbrt.f64 (/.f64 x y)) (/.f64 x y))) (pow.f64 (/.f64 z t) 2))
0.7b
(fma.f64 (cbrt.f64 (pow.f64 (/.f64 x y) 2)) (*.f64 (cbrt.f64 (/.f64 x y)) (/.f64 x y)) (pow.f64 (/.f64 z t) 2))
Compiler

Compiled 3279 to 1305 computations (60.2% saved)

regimes1.5s (22.4%)

Accuracy

Total 0.3b remaining (89.2%)

Threshold costs 0.3b (89.2%)

Counts
141 → 1
Compiler

Compiled 30800 to 20078 computations (34.8% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01219
11319
Stop Event
saturated

end146.0ms (2.2%)

Stop Event
fuel
Compiler

Compiled 259 to 165 computations (36.3% saved)

Profiling

Loading profile data...