Details

Time bar (total: 5.9s)

analyze410.0ms (6.9%)

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
25%74.9%0.2%5
25%74.9%0.2%6
37.4%62.4%0.2%7
37.4%62.4%0.2%8
56.1%43.7%0.2%9
56.1%43.7%0.2%10
65.5%34.3%0.2%11
65.5%34.3%0.2%12
76.4%23.4%0.2%13
76.4%23.4%0.2%14
Compiler

Compiled 20 to 12 computations (40% saved)

sample870.0ms (14.7%)

Infinites
48.6% of outputs are infinite.
Results
822.0ms8256×body128valid
Compiler

Compiled 59 to 35 computations (40.7% saved)

simplify7.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

prune3.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
19.6b
Counts
3 → 2
Alt Table
StatusErrorProgram
19.6b
(fma.f64 x (/.f64 x (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 t t)))
23.8b
(+.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
1.6b
(fma.f64 x (/.f64 x (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 t t)))
6.4b
(/.f64 x (*.f64 y y))
17.7b
(/.f64 (*.f64 z z) (*.f64 t t))

series159.0ms (2.7%)

Counts
3 → 96
Calls

3 calls:

104.0ms
(fma.f64 x (/.f64 x (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 t t)))
28.0ms
(/.f64 (*.f64 z z) (*.f64 t t))
26.0ms
(/.f64 x (*.f64 y y))

rewrite12.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
20×add-cbrt-cube_binary64
20×add-exp-log_binary64
cbrt-undiv_binary64
div-exp_binary64
*-un-lft-identity_binary64
Counts
3 → 56
Calls

3 calls:

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

simplify106.0ms (1.8%)

Algorithm
egg-herbie
Rules
652×times-frac_binary64
469×unswap-sqr_binary64
438×associate-/l*_binary64
258×associate-*l/_binary64
229×associate-/r*_binary64
Counts
152 → 75
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01062182
12241962
26561913
325971888
443921885
549441885
649651885

prune77.0ms (1.3%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New69675
Fresh101
Picked101
Done000
Total71677
Error
0.0b
Counts
77 → 6
Alt Table
StatusErrorProgram
16.5b
(fma.f64 x (/.f64 1 (/.f64 y (/.f64 x y))) (/.f64 (*.f64 z z) (*.f64 t t)))
16.3b
(fma.f64 x (*.f64 (/.f64 1 y) (/.f64 x y)) (/.f64 (*.f64 z z) (*.f64 t t)))
0.2b
(*.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) (hypot.f64 (/.f64 z t) (/.f64 x y)))
8.1b
(fma.f64 x (/.f64 x (*.f64 y y)) (/.f64 (*.f64 z (/.f64 z t)) t))
12.2b
(fma.f64 x (/.f64 x (*.f64 y y)) (/.f64 (/.f64 (*.f64 z z) t) t))
8.3b
(fma.f64 x (/.f64 x (*.f64 y y)) (/.f64 z (/.f64 t (/.f64 z t))))
Compiler

Compiled 1646 to 397 computations (75.9% 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.2b
(*.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) (hypot.f64 (/.f64 z t) (/.f64 x y)))

series319.0ms (5.4%)

Counts
2 → 96
Calls

2 calls:

270.0ms
(*.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) (hypot.f64 (/.f64 z t) (/.f64 x y)))
48.0ms
(hypot.f64 (/.f64 z t) (/.f64 x y))

rewrite5.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
pow1_binary64
add-sqr-sqrt_binary64
*-un-lft-identity_binary64
add-cube-cbrt_binary64
hypot-udef_binary64
Counts
2 → 39
Calls

2 calls:

3.0ms
(*.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) (hypot.f64 (/.f64 z t) (/.f64 x y)))
0.0ms
(hypot.f64 (/.f64 z t) (/.f64 x y))

simplify76.0ms (1.3%)

Algorithm
egg-herbie
Rules
928×associate-/l*_binary64
772×associate-/r*_binary64
212×fma-def_binary64
151×unswap-sqr_binary64
148×associate-/r/_binary64
Counts
135 → 87
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01173714
13423389
213143211
352683211

prune317.0ms (5.4%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New1245129
Fresh145
Picked011
Done000
Total12510135
Error
0.0b
Counts
135 → 10
Alt Table
StatusErrorProgram
0.5b
(pow.f64 (pow.f64 (sqrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y))) 4) 1)
16.5b
(fma.f64 x (/.f64 1 (/.f64 y (/.f64 x y))) (/.f64 (*.f64 z z) (*.f64 t t)))
16.3b
(fma.f64 x (*.f64 (/.f64 1 y) (/.f64 x y)) (/.f64 (*.f64 z z) (*.f64 t t)))
0.7b
(*.f64 (*.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) (*.f64 (cbrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y))) (cbrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y))))) (cbrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y))))
0.4b
(*.f64 (sqrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y))) (pow.f64 (sqrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y))) 3))
0.6b
(*.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) (*.f64 (*.f64 (cbrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y))) (cbrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)))) (cbrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)))))
0.7b
(*.f64 (*.f64 (cbrt.f64 (*.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) (hypot.f64 (/.f64 z t) (/.f64 x y)))) (cbrt.f64 (*.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) (hypot.f64 (/.f64 z t) (/.f64 x y))))) (cbrt.f64 (*.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) (hypot.f64 (/.f64 z t) (/.f64 x y)))))
0.2b
(*.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) (hypot.f64 (/.f64 z t) (/.f64 x y)))
12.2b
(fma.f64 x (/.f64 x (*.f64 y y)) (/.f64 (/.f64 (*.f64 z z) t) t))
8.3b
(fma.f64 x (/.f64 x (*.f64 y y)) (/.f64 z (/.f64 t (/.f64 z t))))
Compiler

Compiled 4164 to 1439 computations (65.4% saved)

localize57.0ms (1%)

Local error

Found 4 expressions with local error:

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

series505.0ms (8.5%)

Counts
3 → 96
Calls

3 calls:

271.0ms
(*.f64 (sqrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y))) (pow.f64 (sqrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y))) 3))
163.0ms
(pow.f64 (sqrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y))) 3)
70.0ms
(sqrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)))

rewrite16.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
39×add-sqr-sqrt_binary64
28×sqrt-prod_binary64
18×associate-*r*_binary64
16×cube-prod_binary64
16×unpow-prod-down_binary64
Counts
3 → 100
Calls

3 calls:

7.0ms
(*.f64 (sqrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y))) (pow.f64 (sqrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y))) 3))
2.0ms
(pow.f64 (sqrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y))) 3)
1.0ms
(sqrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)))

simplify128.0ms (2.2%)

Algorithm
egg-herbie
Rules
777×fma-def_binary64
743×times-frac_binary64
413×associate-/r*_binary64
396×associate-/l*_binary64
161×associate-*l*_binary64
Counts
196 → 139
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02075351
14854949
216624639
346964639
451504639

prune356.0ms (6%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New2513254
Fresh448
Picked101
Done011
Total2568264
Error
0.0b
Counts
264 → 8
Alt Table
StatusErrorProgram
0.6b
(*.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) (*.f64 (*.f64 (cbrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y))) (cbrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)))) (cbrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)))))
0.5b
(pow.f64 (sqrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y))) 4)
8.3b
(fma.f64 x (/.f64 x (*.f64 y y)) (/.f64 z (/.f64 t (/.f64 z t))))
0.6b
(*.f64 (*.f64 (sqrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y))) (pow.f64 (sqrt.f64 (sqrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)))) 3)) (pow.f64 (sqrt.f64 (sqrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)))) 3))
0.5b
(*.f64 (sqrt.f64 (*.f64 (cbrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y))) (cbrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y))))) (*.f64 (sqrt.f64 (cbrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)))) (pow.f64 (sqrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y))) 3)))
16.5b
(fma.f64 x (/.f64 1 (/.f64 y (/.f64 x y))) (/.f64 (*.f64 z z) (*.f64 t t)))
0.2b
(*.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) (hypot.f64 (/.f64 z t) (/.f64 x y)))
12.2b
(fma.f64 x (/.f64 x (*.f64 y y)) (/.f64 (/.f64 (*.f64 z z) t) t))
Compiler

Compiled 8653 to 3223 computations (62.8% saved)

localize7.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(hypot.f64 (/.f64 z t) (/.f64 x y))
0.4b
(pow.f64 (sqrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y))) 4)
14.9b
(sqrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)))

series407.0ms (6.9%)

Counts
1 → 24
Calls

1 calls:

407.0ms
(pow.f64 (sqrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y))) 4)

rewrite3.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
unpow-prod-down_binary64
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64
pow1_binary64
Counts
1 → 25
Calls

1 calls:

2.0ms
(pow.f64 (sqrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y))) 4)

simplify66.0ms (1.1%)

Algorithm
egg-herbie
Rules
785×fma-def_binary64
661×associate-/l*_binary64
537×associate-*l*_binary64
379×associate-/r*_binary64
340×associate-*r*_binary64
Counts
49 → 36
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
056966
195863
2165815
3450810
41823802
54744802
65206802

prune119.0ms (2%)

Pruning

8 alts after pruning (6 fresh and 2 done)

PrunedKeptTotal
New1090109
Fresh066
Picked011
Done011
Total1098117
Error
0.0b
Counts
117 → 8
Alt Table
StatusErrorProgram
0.6b
(*.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) (*.f64 (*.f64 (cbrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y))) (cbrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)))) (cbrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)))))
0.5b
(pow.f64 (sqrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y))) 4)
8.3b
(fma.f64 x (/.f64 x (*.f64 y y)) (/.f64 z (/.f64 t (/.f64 z t))))
0.6b
(*.f64 (*.f64 (sqrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y))) (pow.f64 (sqrt.f64 (sqrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)))) 3)) (pow.f64 (sqrt.f64 (sqrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)))) 3))
0.5b
(*.f64 (sqrt.f64 (*.f64 (cbrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y))) (cbrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y))))) (*.f64 (sqrt.f64 (cbrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)))) (pow.f64 (sqrt.f64 (hypot.f64 (/.f64 z t) (/.f64 x y))) 3)))
16.5b
(fma.f64 x (/.f64 1 (/.f64 y (/.f64 x y))) (/.f64 (*.f64 z z) (*.f64 t t)))
0.2b
(*.f64 (hypot.f64 (/.f64 z t) (/.f64 x y)) (hypot.f64 (/.f64 z t) (/.f64 x y)))
12.2b
(fma.f64 x (/.f64 x (*.f64 y y)) (/.f64 (/.f64 (*.f64 z z) t) t))
Compiler

Compiled 2708 to 1334 computations (50.7% saved)

regimes1.8s (29.7%)

Accuracy

Total 0.2b remaining (82.2%)

Threshold costs 0.2b (82.2%)

Counts
154 → 1
Compiler

Compiled 42060 to 22187 computations (47.2% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01013
11013

end113.0ms (1.9%)

Compiler

Compiled 232 to 110 computations (52.6% saved)

Profiling

Loading profile data...