Details

Time bar (total: 6.9s)

analyze1.2s (17.4%)

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.8s (25.6%)

Results
982.0ms8256×body128valid
746.0ms6229×body128invalid
Compiler

Compiled 59 to 35 computations (40.7% saved)

simplify8.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
12.2b
Counts
3 → 2
Alt Table
StatusErrorProgram
12.2b
(fma.f64 (/.f64 z t) (/.f64 z t) (*.f64 x (/.f64 x (*.f64 y y))))
31.3b
(+.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.1b
(fma.f64 (/.f64 z t) (/.f64 z t) (*.f64 x (/.f64 x (*.f64 y y))))
5.1b
(*.f64 x (/.f64 x (*.f64 y y)))
7.9b
(/.f64 x (*.f64 y y))

series111.0ms (1.6%)

Counts
3 → 96
Calls

3 calls:

63.0ms
(fma.f64 (/.f64 z t) (/.f64 z t) (*.f64 x (/.f64 x (*.f64 y y))))
25.0ms
(*.f64 x (/.f64 x (*.f64 y y)))
23.0ms
(/.f64 x (*.f64 y y))

rewrite55.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
Calls

3 calls:

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

simplify62.0ms (0.9%)

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

prune104.0ms (1.5%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New9310103
Fresh101
Picked101
Done000
Total9510105
Error
0.1b
Counts
105 → 10
Alt Table
StatusErrorProgram
1.2b
(pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) 2)) 3)
39.1b
(/.f64 z (/.f64 (*.f64 t t) z))
26.0b
(*.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)))
42.6b
(/.f64 (pow.f64 z 2) (pow.f64 t 2))
12.6b
(fma.f64 (/.f64 z t) (/.f64 z t) (*.f64 x (*.f64 x (pow.f64 y -2))))
0.4b
(pow.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) 2)
34.4b
(fma.f64 (/.f64 z t) (/.f64 z t) (*.f64 x (pow.f64 (/.f64 (sqrt.f64 x) y) 2)))
5.1b
(fma.f64 (/.f64 z t) (/.f64 z t) (*.f64 x (*.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) y) (/.f64 (cbrt.f64 x) y))))
4.7b
(fma.f64 (/.f64 z t) (/.f64 z t) (*.f64 x (*.f64 (/.f64 x y) (/.f64 1 y))))
11.0b
(fma.f64 (/.f64 z t) (/.f64 z t) (/.f64 (/.f64 (*.f64 x x) y) y))
Compiler

Compiled 2084 to 918 computations (56% saved)

localize6.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(hypot.f64 (/.f64 z t) (/.f64 x y))
0.4b
(pow.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) 2)

series248.0ms (3.6%)

Counts
2 → 96
Calls

2 calls:

208.0ms
(pow.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) 2)
39.0ms
(hypot.f64 (/.f64 z t) (/.f64 x y))

rewrite45.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
506×log-prod_binary64
188×expm1-udef_binary64
188×log1p-udef_binary64
176×pow3_binary64
171×log-pow_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01023
121223
2268323
Stop Event
node limit
Counts
2 → 71
Calls

2 calls:

44.0ms
(hypot.f64 (/.f64 z t) (/.f64 x y))
44.0ms
(pow.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) 2)

simplify52.0ms (0.8%)

Algorithm
egg-herbie
Rules
907×associate-/l*_binary64
766×associate-/r*_binary64
196×fma-def_binary64
140×associate-/r/_binary64
140×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0812816
12752768
211832632
Stop Event
node limit
Counts
167 → 107

prune103.0ms (1.5%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New1016107
Fresh459
Picked101
Done000
Total10611117
Error
0.0b
Counts
117 → 11
Alt Table
StatusErrorProgram
1.2b
(pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) 2)) 3)
39.1b
(/.f64 z (/.f64 (*.f64 t t) z))
0.8b
(*.f64 (pow.f64 (sqrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y))) 3) (sqrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y))))
11.0b
(fma.f64 (/.f64 z t) (/.f64 z t) (/.f64 (/.f64 (*.f64 x x) y) y))
4.7b
(fma.f64 x (*.f64 (/.f64 1 y) (/.f64 x y)) (pow.f64 (/.f64 z t) 2))
12.6b
(fma.f64 (/.f64 z t) (/.f64 z t) (*.f64 x (*.f64 x (pow.f64 y -2))))
0.8b
(*.f64 (*.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) (cbrt.f64 (pow.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) 2))) (cbrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y))))
3.1b
(fma.f64 (*.f64 (/.f64 z t) z) (/.f64 1 t) (pow.f64 (/.f64 x y) 2))
34.4b
(fma.f64 (/.f64 z t) (/.f64 z t) (*.f64 x (pow.f64 (/.f64 (sqrt.f64 x) y) 2)))
0.8b
(fma.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2) (*.f64 (cbrt.f64 (/.f64 x y)) (/.f64 x y)) (pow.f64 (/.f64 z t) 2))
4.8b
(fma.f64 z (*.f64 (/.f64 1 t) (/.f64 z t)) (pow.f64 (/.f64 x y) 2))
Compiler

Compiled 2574 to 1252 computations (51.4% saved)

localize11.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) (cbrt.f64 (pow.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) 2)))
0.4b
(pow.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) 2)
1.3b
(cbrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)))
9.4b
(cbrt.f64 (pow.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) 2))

series302.0ms (4.4%)

Counts
3 → 72
Calls

3 calls:

136.0ms
(*.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) (cbrt.f64 (pow.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) 2)))
87.0ms
(cbrt.f64 (pow.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) 2))
79.0ms
(cbrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)))

rewrite66.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
626×log-prod_binary64
227×expm1-udef_binary64
227×log1p-udef_binary64
212×log-pow_binary64
138×prod-diff_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01354
126754
2327854
Stop Event
node limit
Counts
3 → 73
Calls

3 calls:

64.0ms
(*.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) (cbrt.f64 (pow.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) 2)))
64.0ms
(cbrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)))
64.0ms
(cbrt.f64 (pow.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) 2))

simplify67.0ms (1%)

Algorithm
egg-herbie
Rules
628×times-frac_binary64
508×fma-def_binary64
443×associate-/l*_binary64
376×associate-/r*_binary64
206×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01793660
15503612
218073528
Stop Event
node limit
Counts
145 → 121

prune168.0ms (2.4%)

Pruning

13 alts after pruning (12 fresh and 1 done)

PrunedKeptTotal
New1713174
Fresh1910
Picked011
Done000
Total17213185
Error
0.0b
Counts
185 → 13
Alt Table
StatusErrorProgram
3.1b
(fma.f64 (*.f64 (/.f64 z t) z) (/.f64 1 t) (pow.f64 (/.f64 x y) 2))
2.7b
(*.f64 (*.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) (*.f64 (sqrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y))) (pow.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) 1/6))) (cbrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y))))
1.2b
(pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) 2)) 3)
39.1b
(/.f64 z (/.f64 (*.f64 t t) z))
1.1b
(*.f64 (*.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) (*.f64 (cbrt.f64 (*.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) (pow.f64 (cbrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y))) 2))) (cbrt.f64 (cbrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)))))) (cbrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y))))
0.8b
(*.f64 (pow.f64 (sqrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y))) 3) (sqrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y))))
11.0b
(fma.f64 (/.f64 z t) (/.f64 z t) (/.f64 (/.f64 (*.f64 x x) y) y))
4.7b
(fma.f64 x (*.f64 (/.f64 1 y) (/.f64 x y)) (pow.f64 (/.f64 z t) 2))
12.6b
(fma.f64 (/.f64 z t) (/.f64 z t) (*.f64 x (*.f64 x (pow.f64 y -2))))
0.8b
(*.f64 (*.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) (cbrt.f64 (pow.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) 2))) (cbrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y))))
34.4b
(fma.f64 (/.f64 z t) (/.f64 z t) (*.f64 x (pow.f64 (/.f64 (sqrt.f64 x) y) 2)))
0.8b
(*.f64 (*.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) (cbrt.f64 (*.f64 (pow.f64 (sqrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y))) 3) (sqrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)))))) (cbrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y))))
4.8b
(fma.f64 z (*.f64 (/.f64 1 t) (/.f64 z t)) (pow.f64 (/.f64 x y) 2))
Compiler

Compiled 7267 to 2579 computations (64.5% saved)

localize27.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(hypot.f64 (/.f64 z t) (/.f64 x y))
0.3b
(*.f64 (pow.f64 (sqrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y))) 3) (sqrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y))))
0.7b
(pow.f64 (sqrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y))) 3)
0.8b
(sqrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)))

series365.0ms (5.3%)

Counts
3 → 96
Calls

3 calls:

204.0ms
(*.f64 (pow.f64 (sqrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y))) 3) (sqrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y))))
107.0ms
(pow.f64 (sqrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y))) 3)
53.0ms
(sqrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)))

rewrite65.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
598×log-prod_binary64
214×expm1-udef_binary64
214×log1p-udef_binary64
204×log-pow_binary64
138×prod-diff_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01240
125938
2320838
Stop Event
node limit
Counts
3 → 99
Calls

3 calls:

63.0ms
(*.f64 (pow.f64 (sqrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y))) 3) (sqrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y))))
63.0ms
(pow.f64 (sqrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y))) 3)
63.0ms
(sqrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)))

simplify59.0ms (0.9%)

Algorithm
egg-herbie
Rules
743×times-frac_binary64
412×associate-/r*_binary64
371×associate-/l*_binary64
311×associate-*l*_binary64
308×fma-def_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01323276
13513234
211563036
Stop Event
node limit
Counts
195 → 135

prune250.0ms (3.6%)

Pruning

11 alts after pruning (9 fresh and 2 done)

PrunedKeptTotal
New2813284
Fresh5611
Picked011
Done011
Total28611297
Error
0b
Counts
297 → 11
Alt Table
StatusErrorProgram
1.2b
(pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) 2)) 3)
39.1b
(/.f64 z (/.f64 (*.f64 t t) z))
1.1b
(*.f64 (*.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) (*.f64 (cbrt.f64 (*.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) (pow.f64 (cbrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y))) 2))) (cbrt.f64 (cbrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)))))) (cbrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y))))
0.8b
(*.f64 (pow.f64 (sqrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y))) 3) (sqrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y))))
0.8b
(*.f64 (*.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) (cbrt.f64 (pow.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) 2))) (cbrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y))))
34.4b
(fma.f64 (/.f64 z t) (/.f64 z t) (*.f64 x (pow.f64 (/.f64 (sqrt.f64 x) y) 2)))
0.4b
(*.f64 (*.f64 (pow.f64 1 3/2) (pow.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) 3/2)) (sqrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y))))
0.6b
(*.f64 (*.f64 (pow.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) 3/4) (pow.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) 3/4)) (sqrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y))))
36.4b
(cbrt.f64 (*.f64 (pow.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) 3/2) (pow.f64 (pow.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) 3/2) 3)))
4.7b
(fma.f64 x (*.f64 (/.f64 1 y) (/.f64 x y)) (pow.f64 (/.f64 z t) 2))
4.8b
(fma.f64 z (*.f64 (/.f64 1 t) (/.f64 z t)) (pow.f64 (/.f64 x y) 2))
Compiler

Compiled 8687 to 3502 computations (59.7% saved)

regimes1.6s (23.1%)

Accuracy

Total 0.4b remaining (87.1%)

Threshold costs 0.4b (87.1%)

Counts
141 → 1
Compiler

Compiled 33736 to 19606 computations (41.9% saved)

simplify3.0ms (0%)

Algorithm
egg-herbie
Rules
1-exp_binary64
unpow1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01213
11413
Stop Event
saturated

end149.0ms (2.2%)

Compiler

Compiled 296 to 156 computations (47.3% saved)

Profiling

Loading profile data...