Details

Time bar (total: 8.3s)

analyze1.5s (17.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)

sample2.1s (25.7%)

Results
1.2s8256×body128valid
905.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%)

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)

localize9.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))

series118.0ms (1.4%)

Counts
3 → 96
Calls

3 calls:

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

rewrite67.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:

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

simplify66.0ms (0.8%)

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

prune137.0ms (1.6%)

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
0.4b
(pow.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) 2)
39.1b
(/.f64 z (/.f64 (*.f64 t t) z))
1.2b
(pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) 2)) 3)
42.6b
(/.f64 (pow.f64 z 2) (pow.f64 t 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))
12.6b
(fma.f64 (/.f64 z t) (/.f64 z t) (*.f64 x (*.f64 x (pow.f64 y -2))))
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)))
34.4b
(fma.f64 (/.f64 z t) (/.f64 z t) (*.f64 x (pow.f64 (/.f64 (sqrt.f64 x) y) 2)))
Compiler

Compiled 2084 to 918 computations (56% saved)

localize7.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)

series253.0ms (3%)

Counts
2 → 96
Calls

2 calls:

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

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

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

simplify56.0ms (0.7%)

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

prune109.0ms (1.3%)

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)
4.7b
(fma.f64 x (*.f64 (/.f64 1 y) (/.f64 x y)) (pow.f64 (/.f64 z t) 2))
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))))
3.1b
(fma.f64 (*.f64 (/.f64 z t) z) (/.f64 1 t) (pow.f64 (/.f64 x y) 2))
11.0b
(fma.f64 (/.f64 z t) (/.f64 z t) (/.f64 (/.f64 (*.f64 x x) y) y))
12.6b
(fma.f64 (/.f64 z t) (/.f64 z t) (*.f64 x (*.f64 x (pow.f64 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))
39.1b
(/.f64 z (/.f64 (*.f64 t t) z))
4.8b
(fma.f64 z (*.f64 (/.f64 1 t) (/.f64 z 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
(*.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))))
Compiler

Compiled 2574 to 1252 computations (51.4% saved)

localize15.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))

series439.0ms (5.3%)

Counts
3 → 144
Calls

3 calls:

188.0ms
(*.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) (cbrt.f64 (pow.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) 2)))
141.0ms
(cbrt.f64 (pow.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) 2))
110.0ms
(cbrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)))

rewrite71.0ms (0.9%)

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:

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

simplify120.0ms (1.4%)

Algorithm
egg-herbie
Rules
667×associate-/l*_binary64
560×associate-/r*_binary64
263×fma-def_binary64
227×*-commutative_binary64
224×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
058210302
121279808
Stop Event
node limit
Counts
217 → 265

prune354.0ms (4.2%)

Pruning

13 alts after pruning (12 fresh and 1 done)

PrunedKeptTotal
New3153318
Fresh1910
Picked011
Done000
Total31613329
Error
0.0b
Counts
329 → 13
Alt Table
StatusErrorProgram
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))))
11.0b
(fma.f64 (/.f64 z t) (/.f64 z t) (/.f64 (/.f64 (*.f64 x x) y) y))
1.2b
(pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) 2)) 3)
4.7b
(fma.f64 x (*.f64 (/.f64 1 y) (/.f64 x y)) (pow.f64 (/.f64 z t) 2))
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))))
3.1b
(fma.f64 (*.f64 (/.f64 z t) z) (/.f64 1 t) (pow.f64 (/.f64 x y) 2))
12.6b
(fma.f64 (/.f64 z t) (/.f64 z t) (*.f64 x (*.f64 x (pow.f64 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.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))))
39.1b
(/.f64 z (/.f64 (*.f64 t t) z))
4.8b
(fma.f64 z (*.f64 (/.f64 1 t) (/.f64 z 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
(*.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))))
Compiler

Compiled 17877 to 8801 computations (50.8% saved)

localize10.0ms (0.1%)

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)))

series374.0ms (4.5%)

Counts
3 → 96
Calls

3 calls:

213.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)))

rewrite71.0ms (0.8%)

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:

69.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))))
69.0ms
(pow.f64 (sqrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y))) 3)
69.0ms
(sqrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)))

simplify62.0ms (0.7%)

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

prune272.0ms (3.3%)

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)
4.7b
(fma.f64 x (*.f64 (/.f64 1 y) (/.f64 x y)) (pow.f64 (/.f64 z t) 2))
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.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)))
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))))
39.1b
(/.f64 z (/.f64 (*.f64 t t) z))
4.8b
(fma.f64 z (*.f64 (/.f64 1 t) (/.f64 z 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
(*.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))))
Compiler

Compiled 8687 to 3502 computations (59.7% saved)

regimes1.9s (22.6%)

Accuracy

Total 0.4b remaining (87.1%)

Threshold costs 0.4b (87.1%)

Counts
142 → 1
Compiler

Compiled 34055 to 19760 computations (42% saved)

simplify4.0ms (0%)

Algorithm
egg-herbie
Rules
1-exp_binary64
unpow1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01213
11413
Stop Event
saturated

end170.0ms (2%)

Compiler

Compiled 296 to 156 computations (47.3% saved)

Profiling

Loading profile data...