Details

Time bar (total: 17.4s)

analyze2.3s (13%)

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)

sample3.6s (20.9%)

Results
2.2s8256×body128valid
1.4s6048×body128invalid
Compiler

Compiled 59 to 35 computations (40.7% saved)

simplify16.0ms (0.1%)

Algorithm
egg-herbie
Rules
associate-/l*_binary64
associate-*r/_binary64
associate-/r/_binary64
fma-def_binary64
associate-/r*_binary64
Counts
1 → 2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01222
12520
24520
35520
45520
55520

prune6.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

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

Compiled 107 to 55 computations (48.6% saved)

localize19.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
2.0b
(fma.f64 x (/.f64 x (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 t t)))
11.2b
(/.f64 x (*.f64 y y))
24.5b
(/.f64 (*.f64 z z) (*.f64 t t))

series289.0ms (1.7%)

Counts
3 → 96
Calls

3 calls:

190.0ms
(fma.f64 x (/.f64 x (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 t t)))
51.0ms
(/.f64 (*.f64 z z) (*.f64 t t))
47.0ms
(/.f64 x (*.f64 y y))

rewrite99.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
338×prod-diff_binary64
206×expm1-udef_binary64
206×log1p-udef_binary64
196×log-pow_binary64
177×log-div_binary64
Counts
3 → 96
Calls

3 calls:

95.0ms
(fma.f64 x (/.f64 x (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 t t)))
95.0ms
(/.f64 x (*.f64 y y))
95.0ms
(/.f64 (*.f64 z z) (*.f64 t t))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01137
123531
2302631
3497631
000
100

simplify178.0ms (1%)

Algorithm
egg-herbie
Rules
652×unswap-sqr_binary64
531×associate-/l*_binary64
480×sqr-pow_binary64
355×associate-/r*_binary64
289×associate-/l/_binary64
Counts
192 → 104
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0141320
1291320
2511248
31391248
45451248
527051248
639741248
740231248
843111248
946971248
1050741248

prune249.0ms (1.4%)

Pruning

12 alts after pruning (12 fresh and 0 done)

PrunedKeptTotal
New9212104
Fresh101
Picked101
Done000
Total9412106
Error
2.7b
Counts
106 → 12
Alt Table
StatusErrorProgram
16.5b
(fma.f64 x (/.f64 x (*.f64 y y)) (*.f64 z (/.f64 1 (/.f64 t (/.f64 z t)))))
42.1b
(fma.f64 x (pow.f64 (/.f64 (sqrt.f64 x) y) 2) (/.f64 (*.f64 z z) (*.f64 t t)))
40.8b
(/.f64 (pow.f64 x 2) (pow.f64 y 2))
30.4b
(pow.f64 (hypot.f64 (/.f64 z t) (*.f64 (sqrt.f64 x) (/.f64 (sqrt.f64 x) y))) 2)
24.5b
(fma.f64 x (*.f64 (/.f64 x y) (/.f64 1 y)) (/.f64 (*.f64 z z) (*.f64 t t)))
26.5b
(fma.f64 x (/.f64 x (*.f64 y y)) (*.f64 (/.f64 (*.f64 z z) t) (/.f64 1 t)))
31.1b
(fma.f64 x (/.f64 x (*.f64 y y)) (cbrt.f64 (pow.f64 (pow.f64 (/.f64 z t) 2) 3)))
12.7b
(fma.f64 x (/.f64 x (*.f64 y y)) (pow.f64 (cbrt.f64 (pow.f64 (/.f64 z t) 2)) 3))
13.0b
(*.f64 (cbrt.f64 (fma.f64 x (/.f64 x (*.f64 y y)) (pow.f64 (/.f64 z t) 2))) (pow.f64 (cbrt.f64 (fma.f64 x (/.f64 x (*.f64 y y)) (pow.f64 (/.f64 z t) 2))) 2))
12.4b
(+.f64 (pow.f64 (/.f64 z t) 2) (*.f64 x (/.f64 x (*.f64 y y))))
24.8b
(fma.f64 x (*.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) y) (/.f64 (cbrt.f64 x) y)) (/.f64 (*.f64 z z) (*.f64 t t)))
33.7b
(fma.f64 x (/.f64 x (*.f64 y y)) (*.f64 (/.f64 z (cbrt.f64 (pow.f64 t 4))) (/.f64 z (pow.f64 (cbrt.f64 t) 2))))
Compiler

Compiled 2283 to 895 computations (60.8% saved)

localize18.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series251.0ms (1.4%)

Counts
3 → 96
Calls

3 calls:

172.0ms
(+.f64 (pow.f64 (/.f64 z t) 2) (*.f64 x (/.f64 x (*.f64 y y))))
51.0ms
(*.f64 x (/.f64 x (*.f64 y y)))
28.0ms
(pow.f64 (/.f64 z t) 2)

rewrite125.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
315×fma-def_binary64
231×expm1-udef_binary64
231×log1p-udef_binary64
210×log-pow_binary64
167×fma-neg_binary64
Counts
3 → 126
Calls

3 calls:

116.0ms
(+.f64 (pow.f64 (/.f64 z t) 2) (*.f64 x (/.f64 x (*.f64 y y))))
116.0ms
(pow.f64 (/.f64 z t) 2)
116.0ms
(*.f64 x (/.f64 x (*.f64 y y)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01236
126427
2335827
3515727
000
100

simplify235.0ms (1.4%)

Algorithm
egg-herbie
Rules
572×unswap-sqr_binary64
522×associate-/l*_binary64
486×*-commutative_binary64
484×sqr-pow_binary64
336×associate-/r*_binary64
Counts
222 → 130
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0131392
1281392
2491320
31331320
45231320
525931320
632371320
735241320
838281320
942061320
1046771320
1149651320
1249441320

prune375.0ms (2.2%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New15610166
Fresh10111
Picked101
Done000
Total16711178
Error
0.0b
Counts
178 → 11
Alt Table
StatusErrorProgram
1.2b
(pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) 2)) 3)
16.3b
(+.f64 (/.f64 z (*.f64 t (/.f64 t z))) (*.f64 x (/.f64 x (*.f64 y y))))
5.2b
(fma.f64 z (*.f64 (/.f64 1 t) (/.f64 z t)) (pow.f64 (/.f64 x y) 2))
30.8b
(+.f64 (pow.f64 (/.f64 z t) 2) (*.f64 x (pow.f64 (/.f64 (sqrt.f64 x) y) 2)))
12.4b
(+.f64 (/.f64 1 (*.f64 (/.f64 t z) (/.f64 t z))) (*.f64 x (/.f64 x (*.f64 y y))))
5.0b
(fma.f64 (*.f64 (/.f64 z t) z) (/.f64 1 t) (pow.f64 (/.f64 x y) 2))
30.3b
(fma.f64 (/.f64 (sqrt.f64 x) y) (*.f64 (/.f64 (sqrt.f64 x) y) x) (pow.f64 (/.f64 z t) 2))
19.4b
(+.f64 (pow.f64 (/.f64 z t) 2) (cbrt.f64 (pow.f64 (pow.f64 (/.f64 x y) 2) 3)))
24.5b
(fma.f64 x (*.f64 (/.f64 x y) (/.f64 1 y)) (/.f64 (*.f64 z z) (*.f64 t t)))
4.0b
(+.f64 (pow.f64 (/.f64 z t) 2) (/.f64 (*.f64 x (/.f64 x y)) y))
1.9b
(+.f64 (pow.f64 (/.f64 z t) 2) (/.f64 x (/.f64 y (/.f64 x y))))
Compiler

Compiled 3210 to 1413 computations (56% saved)

localize23.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(hypot.f64 (/.f64 z t) (/.f64 x y))
0.5b
(pow.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) 2)
0.6b
(pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) 2)) 3)
9.7b
(cbrt.f64 (pow.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) 2))

series4.9s (28%)

Counts
4 → 192
Calls

4 calls:

3.8s
(pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) 2)) 3)
494.0ms
(pow.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) 2)
455.0ms
(cbrt.f64 (pow.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) 2))
90.0ms
(hypot.f64 (/.f64 z t) (/.f64 x y))

rewrite116.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
565×log-prod_binary64
213×expm1-udef_binary64
213×log1p-udef_binary64
196×log-pow_binary64
158×egg-rr
Counts
4 → 158
Calls

4 calls:

110.0ms
(hypot.f64 (/.f64 z t) (/.f64 x y))
110.0ms
(pow.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) 2)
110.0ms
(pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) 2)) 3)
110.0ms
(cbrt.f64 (pow.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) 2))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01351
125949
2290349
3520649
000
100

simplify294.0ms (1.7%)

Algorithm
egg-herbie
Rules
484×times-frac_binary64
362×associate-/l*_binary64
335×associate-*r*_binary64
293×associate-/r*_binary64
232×fma-neg_binary64
Counts
350 → 230
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03038430
111088004
248977912
350767912

prune405.0ms (2.3%)

Pruning

13 alts after pruning (12 fresh and 1 done)

PrunedKeptTotal
New2282230
Fresh01010
Picked011
Done000
Total22813241
Error
0b
Counts
241 → 13
Alt Table
StatusErrorProgram
1.2b
(pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) 2)) 3)
16.3b
(+.f64 (/.f64 z (*.f64 t (/.f64 t z))) (*.f64 x (/.f64 x (*.f64 y y))))
5.2b
(fma.f64 z (*.f64 (/.f64 1 t) (/.f64 z t)) (pow.f64 (/.f64 x y) 2))
30.8b
(+.f64 (pow.f64 (/.f64 z t) 2) (*.f64 x (pow.f64 (/.f64 (sqrt.f64 x) y) 2)))
1.9b
(+.f64 (pow.f64 (/.f64 z t) 2) (/.f64 x (/.f64 y (/.f64 x y))))
25.2b
(pow.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) 4))) 3)
12.4b
(+.f64 (/.f64 1 (*.f64 (/.f64 t z) (/.f64 t z))) (*.f64 x (/.f64 x (*.f64 y y))))
5.0b
(fma.f64 (*.f64 (/.f64 z t) z) (/.f64 1 t) (pow.f64 (/.f64 x y) 2))
30.3b
(fma.f64 (/.f64 (sqrt.f64 x) y) (*.f64 (/.f64 (sqrt.f64 x) y) x) (pow.f64 (/.f64 z t) 2))
19.4b
(+.f64 (pow.f64 (/.f64 z t) 2) (cbrt.f64 (pow.f64 (pow.f64 (/.f64 x y) 2) 3)))
24.5b
(fma.f64 x (*.f64 (/.f64 x y) (/.f64 1 y)) (/.f64 (*.f64 z z) (*.f64 t t)))
4.0b
(fma.f64 (*.f64 (/.f64 x y) x) (/.f64 1 y) (pow.f64 (/.f64 z t) 2))
4.0b
(+.f64 (pow.f64 (/.f64 z t) 2) (/.f64 (*.f64 x (/.f64 x y)) y))
Compiler

Compiled 7842 to 4876 computations (37.8% saved)

localize18.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series242.0ms (1.4%)

Counts
3 → 96
Calls

3 calls:

171.0ms
(+.f64 (pow.f64 (/.f64 z t) 2) (/.f64 x (/.f64 y (/.f64 x y))))
52.0ms
(/.f64 x (/.f64 y (/.f64 x y)))
19.0ms
(/.f64 y (/.f64 x y))

rewrite119.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
297×fma-def_binary64
239×expm1-udef_binary64
239×log1p-udef_binary64
181×fma-neg_binary64
158×egg-rr
Counts
3 → 158
Calls

3 calls:

113.0ms
(+.f64 (pow.f64 (/.f64 z t) 2) (/.f64 x (/.f64 y (/.f64 x y))))
113.0ms
(/.f64 y (/.f64 x y))
113.0ms
(/.f64 x (/.f64 y (/.f64 x y)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01236
127327
2368727
3494027
000
100

simplify186.0ms (1.1%)

Algorithm
egg-herbie
Rules
598×unswap-sqr_binary64
526×associate-/l*_binary64
478×sqr-pow_binary64
347×associate-/r*_binary64
292×associate-/l/_binary64
Counts
254 → 166
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0141320
1291320
2501248
31361248
45401248
526691248
638361248
738901248
841781248
945621248
1049381248

prune320.0ms (1.8%)

Pruning

11 alts after pruning (10 fresh and 1 done)

PrunedKeptTotal
New2012203
Fresh3811
Picked101
Done011
Total20511216
Error
0b
Counts
216 → 11
Alt Table
StatusErrorProgram
1.2b
(pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) 2)) 3)
16.3b
(+.f64 (/.f64 z (*.f64 t (/.f64 t z))) (*.f64 x (/.f64 x (*.f64 y y))))
12.4b
(+.f64 (/.f64 1 (*.f64 (/.f64 t z) (/.f64 t z))) (*.f64 x (/.f64 x (*.f64 y y))))
5.0b
(fma.f64 (*.f64 (/.f64 z t) z) (/.f64 1 t) (pow.f64 (/.f64 x y) 2))
1.9b
(+.f64 (pow.f64 (/.f64 z t) 2) (/.f64 x (*.f64 y (/.f64 y x))))
2.0b
(+.f64 (pow.f64 (/.f64 z t) 2) (pow.f64 (/.f64 (/.f64 y (/.f64 x y)) x) -1))
19.4b
(+.f64 (pow.f64 (/.f64 z t) 2) (cbrt.f64 (pow.f64 (pow.f64 (/.f64 x y) 2) 3)))
24.5b
(fma.f64 x (*.f64 (/.f64 x y) (/.f64 1 y)) (/.f64 (*.f64 z z) (*.f64 t t)))
4.0b
(fma.f64 (*.f64 (/.f64 x y) x) (/.f64 1 y) (pow.f64 (/.f64 z t) 2))
5.2b
(fma.f64 z (*.f64 (/.f64 1 t) (/.f64 z t)) (pow.f64 (/.f64 x y) 2))
4.0b
(+.f64 (pow.f64 (/.f64 z t) 2) (/.f64 (*.f64 x (/.f64 x y)) y))
Compiler

Compiled 3748 to 1493 computations (60.2% saved)

regimes2.8s (15.8%)

Accuracy

Total 0.4b remaining (90.9%)

Threshold costs 0.4b (90.9%)

Counts
141 → 1
Compiler

Compiled 30851 to 20475 computations (33.6% saved)

simplify4.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01017
11017

end296.0ms (1.7%)

Compiler

Compiled 233 to 150 computations (35.6% saved)

Profiling

Loading profile data...