Details

Time bar (total: 8.1s)

analyze858.0ms (10.6%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%99.9%0.1%4
0%99.9%0.1%5
6.2%93.6%0.1%6
12.5%87.4%0.1%7
15.6%84.3%0.1%8
18.7%71.8%9.5%9
23.4%56%20.6%10
26.3%52.2%21.5%11
31%40.1%28.9%12
35.6%28.9%35.5%13
36.8%27.5%35.7%14
Compiler

Compiled 18 to 12 computations (33.3% saved)

sample1.6s (19.4%)

Alt Table
StatusErrorProgram
21.1b
(*.f64 2 (sqrt.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 x z)) (*.f64 y z))))
Symmetry

(sort x y z)

Results
1.2s8256×body128valid
274.0ms2379×body128invalid
Compiler

Compiled 87 to 57 computations (34.5% saved)

localize9.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.2b
(+.f64 (*.f64 x y) (*.f64 x z))
0.4b
(+.f64 (+.f64 (*.f64 x y) (*.f64 x z)) (*.f64 y z))
20.0b
(sqrt.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 x z)) (*.f64 y z)))

series229.0ms (2.8%)

Counts
3 → 84
Calls

3 calls:

213.0ms
(sqrt.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 x z)) (*.f64 y z)))
10.0ms
(+.f64 (+.f64 (*.f64 x y) (*.f64 x z)) (*.f64 y z))
7.0ms
(+.f64 (*.f64 x y) (*.f64 x z))

rewrite116.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
812×fma-def_binary64
462×fma-neg_binary64
205×expm1-udef_binary64
205×log1p-udef_binary64
203×egg-rr
Counts
3 → 203
Calls

3 calls:

111.0ms
(+.f64 (*.f64 x y) (*.f64 x z))
111.0ms
(+.f64 (+.f64 (*.f64 x y) (*.f64 x z)) (*.f64 y z))
111.0ms
(sqrt.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 x z)) (*.f64 y z)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01035
122231
2303231
3499231
4504331
000
100

prune329.0ms (4%)

Pruning

12 alts after pruning (12 fresh and 0 done)

PrunedKeptTotal
New27512287
Fresh000
Picked101
Done000
Total27612288
Error
20.4b
Counts
288 → 12
Alt Table
StatusErrorProgram
21.3b
(*.f64 2 (pow.f64 (pow.f64 (fma.f64 x (+.f64 y z) (*.f64 y z)) 1/4) 2))
63.3b
(*.f64 2 (+.f64 (*.f64 1/2 (*.f64 y (sqrt.f64 (/.f64 z x)))) (+.f64 (*.f64 1/2 (*.f64 y (sqrt.f64 (/.f64 x z)))) (sqrt.f64 (*.f64 z x)))))
21.8b
(*.f64 2 (pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x (+.f64 y z) (*.f64 y z)))) 3))
61.7b
(*.f64 2 (sqrt.f64 (*.f64 z x)))
22.7b
(*.f64 2 (sqrt.f64 (fma.f64 (cbrt.f64 (*.f64 y y)) (*.f64 (cbrt.f64 y) z) (*.f64 x (+.f64 y z)))))
43.7b
(*.f64 2 (sqrt.f64 (*.f64 y z)))
43.9b
(*.f64 2 (+.f64 (sqrt.f64 (*.f64 y x)) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 x y)) z)) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 y x)) z)))))
40.9b
(*.f64 2 (sqrt.f64 (*.f64 y x)))
52.7b
(*.f64 2 (/.f64 (sqrt.f64 (-.f64 (pow.f64 (*.f64 x (+.f64 y z)) 2) (pow.f64 (*.f64 y z) 2))) (sqrt.f64 (-.f64 (*.f64 x (+.f64 y z)) (*.f64 y z)))))
24.2b
(*.f64 2 (sqrt.f64 (fma.f64 (cbrt.f64 (*.f64 y y)) (*.f64 (cbrt.f64 y) x) (*.f64 z (+.f64 x y)))))
21.6b
(*.f64 2 (*.f64 (cbrt.f64 (fma.f64 x (+.f64 y z) (*.f64 y z))) (cbrt.f64 (sqrt.f64 (fma.f64 x (+.f64 y z) (*.f64 y z))))))
42.7b
(*.f64 2 (sqrt.f64 (*.f64 z (+.f64 y x))))
Compiler

Compiled 5773 to 2176 computations (62.3% saved)

localize11.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 x (+.f64 y z) (*.f64 y z))
0.5b
(pow.f64 (pow.f64 (fma.f64 x (+.f64 y z) (*.f64 y z)) 1/4) 2)
20.3b
(pow.f64 (fma.f64 x (+.f64 y z) (*.f64 y z)) 1/4)

series213.0ms (2.6%)

Counts
3 → 108
Calls

3 calls:

129.0ms
(pow.f64 (pow.f64 (fma.f64 x (+.f64 y z) (*.f64 y z)) 1/4) 2)
75.0ms
(pow.f64 (fma.f64 x (+.f64 y z) (*.f64 y z)) 1/4)
8.0ms
(fma.f64 x (+.f64 y z) (*.f64 y z))

rewrite118.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
750×prod-diff_binary64
542×fma-udef_binary64
304×fma-def_binary64
203×fma-neg_binary64
194×expm1-udef_binary64
Counts
3 → 82
Calls

3 calls:

116.0ms
(fma.f64 x (+.f64 y z) (*.f64 y z))
116.0ms
(pow.f64 (pow.f64 (fma.f64 x (+.f64 y z) (*.f64 y z)) 1/4) 2)
116.0ms
(pow.f64 (fma.f64 x (+.f64 y z) (*.f64 y z)) 1/4)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01139
124038
2263138
3473438
4470638
5497238
000
100

prune240.0ms (3%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New1882190
Fresh6511
Picked011
Done000
Total1948202
Error
2.2b
Counts
202 → 8
Alt Table
StatusErrorProgram
21.8b
(*.f64 2 (pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x (+.f64 y z) (*.f64 y z)))) 3))
33.0b
(*.f64 2 (pow.f64 (exp.f64 (*.f64 1/4 (-.f64 (log.f64 (neg.f64 (+.f64 y z))) (log.f64 (/.f64 -1 x))))) 2))
36.9b
(*.f64 2 (pow.f64 (exp.f64 (*.f64 1/4 (-.f64 (log.f64 (+.f64 y x)) (log.f64 (/.f64 1 z))))) 2))
21.3b
(*.f64 2 (pow.f64 (pow.f64 (fma.f64 x (+.f64 y z) (*.f64 y z)) 1/4) 2))
22.7b
(*.f64 2 (sqrt.f64 (fma.f64 (cbrt.f64 (*.f64 y y)) (*.f64 (cbrt.f64 y) z) (*.f64 x (+.f64 y z)))))
52.7b
(*.f64 2 (/.f64 (sqrt.f64 (-.f64 (pow.f64 (*.f64 x (+.f64 y z)) 2) (pow.f64 (*.f64 y z) 2))) (sqrt.f64 (-.f64 (*.f64 x (+.f64 y z)) (*.f64 y z)))))
24.2b
(*.f64 2 (sqrt.f64 (fma.f64 (cbrt.f64 (*.f64 y y)) (*.f64 (cbrt.f64 y) x) (*.f64 z (+.f64 x y)))))
21.6b
(*.f64 2 (*.f64 (cbrt.f64 (fma.f64 x (+.f64 y z) (*.f64 y z))) (cbrt.f64 (sqrt.f64 (fma.f64 x (+.f64 y z) (*.f64 y z))))))
Compiler

Compiled 6922 to 3962 computations (42.8% saved)

localize12.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (cbrt.f64 (fma.f64 x (+.f64 y z) (*.f64 y z))) (cbrt.f64 (sqrt.f64 (fma.f64 x (+.f64 y z) (*.f64 y z)))))
0.6b
(cbrt.f64 (sqrt.f64 (fma.f64 x (+.f64 y z) (*.f64 y z))))
20.0b
(sqrt.f64 (fma.f64 x (+.f64 y z) (*.f64 y z)))
20.6b
(cbrt.f64 (fma.f64 x (+.f64 y z) (*.f64 y z)))

series568.0ms (7%)

Counts
4 → 96
Calls

4 calls:

212.0ms
(*.f64 (cbrt.f64 (fma.f64 x (+.f64 y z) (*.f64 y z))) (cbrt.f64 (sqrt.f64 (fma.f64 x (+.f64 y z) (*.f64 y z)))))
207.0ms
(sqrt.f64 (fma.f64 x (+.f64 y z) (*.f64 y z)))
77.0ms
(cbrt.f64 (fma.f64 x (+.f64 y z) (*.f64 y z)))
73.0ms
(cbrt.f64 (sqrt.f64 (fma.f64 x (+.f64 y z) (*.f64 y z))))

rewrite125.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
752×prod-diff_binary64
536×fma-udef_binary64
292×fma-def_binary64
216×fma-neg_binary64
174×expm1-udef_binary64
Counts
4 → 101
Calls

4 calls:

122.0ms
(*.f64 (cbrt.f64 (fma.f64 x (+.f64 y z) (*.f64 y z))) (cbrt.f64 (sqrt.f64 (fma.f64 x (+.f64 y z) (*.f64 y z)))))
122.0ms
(cbrt.f64 (sqrt.f64 (fma.f64 x (+.f64 y z) (*.f64 y z))))
122.0ms
(sqrt.f64 (fma.f64 x (+.f64 y z) (*.f64 y z)))
122.0ms
(cbrt.f64 (fma.f64 x (+.f64 y z) (*.f64 y z)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01154
120453
2241453
3475553
4466653
5508653
000
100

prune174.0ms (2.1%)

Pruning

9 alts after pruning (7 fresh and 2 done)

PrunedKeptTotal
New1961197
Fresh066
Picked011
Done011
Total1969205
Error
2.2b
Counts
205 → 9
Alt Table
StatusErrorProgram
21.8b
(*.f64 2 (pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x (+.f64 y z) (*.f64 y z)))) 3))
33.0b
(*.f64 2 (pow.f64 (exp.f64 (*.f64 1/4 (-.f64 (log.f64 (neg.f64 (+.f64 y z))) (log.f64 (/.f64 -1 x))))) 2))
52.7b
(*.f64 2 (/.f64 (sqrt.f64 (-.f64 (pow.f64 (*.f64 x (+.f64 y z)) 2) (pow.f64 (*.f64 y z) 2))) (sqrt.f64 (-.f64 (*.f64 x (+.f64 y z)) (*.f64 y z)))))
22.0b
(*.f64 2 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 x (+.f64 y z) (*.f64 y z)))) 3) (cbrt.f64 (sqrt.f64 (fma.f64 x (+.f64 y z) (*.f64 y z))))))
36.9b
(*.f64 2 (pow.f64 (exp.f64 (*.f64 1/4 (-.f64 (log.f64 (+.f64 y x)) (log.f64 (/.f64 1 z))))) 2))
21.3b
(*.f64 2 (pow.f64 (pow.f64 (fma.f64 x (+.f64 y z) (*.f64 y z)) 1/4) 2))
22.7b
(*.f64 2 (sqrt.f64 (fma.f64 (cbrt.f64 (*.f64 y y)) (*.f64 (cbrt.f64 y) z) (*.f64 x (+.f64 y z)))))
24.2b
(*.f64 2 (sqrt.f64 (fma.f64 (cbrt.f64 (*.f64 y y)) (*.f64 (cbrt.f64 y) x) (*.f64 z (+.f64 x y)))))
21.6b
(*.f64 2 (*.f64 (cbrt.f64 (fma.f64 x (+.f64 y z) (*.f64 y z))) (cbrt.f64 (sqrt.f64 (fma.f64 x (+.f64 y z) (*.f64 y z))))))
Compiler

Compiled 9443 to 4635 computations (50.9% saved)

localize12.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 x (+.f64 y z) (*.f64 y z))
0.6b
(cbrt.f64 (sqrt.f64 (fma.f64 x (+.f64 y z) (*.f64 y z))))
0.7b
(pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x (+.f64 y z) (*.f64 y z)))) 3)
20.0b
(sqrt.f64 (fma.f64 x (+.f64 y z) (*.f64 y z)))

series511.0ms (6.3%)

Counts
4 → 120
Calls

4 calls:

223.0ms
(pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x (+.f64 y z) (*.f64 y z)))) 3)
209.0ms
(sqrt.f64 (fma.f64 x (+.f64 y z) (*.f64 y z)))
71.0ms
(cbrt.f64 (sqrt.f64 (fma.f64 x (+.f64 y z) (*.f64 y z))))
8.0ms
(fma.f64 x (+.f64 y z) (*.f64 y z))

rewrite132.0ms (1.6%)

Algorithm
batch-egg-rewrite
Rules
750×prod-diff_binary64
541×fma-udef_binary64
304×fma-def_binary64
205×fma-neg_binary64
182×expm1-udef_binary64
Counts
4 → 126
Calls

4 calls:

125.0ms
(fma.f64 x (+.f64 y z) (*.f64 y z))
125.0ms
(cbrt.f64 (sqrt.f64 (fma.f64 x (+.f64 y z) (*.f64 y z))))
125.0ms
(pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x (+.f64 y z) (*.f64 y z)))) 3)
125.0ms
(sqrt.f64 (fma.f64 x (+.f64 y z) (*.f64 y z)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01152
121451
2252351
3472751
4470351
5498151
000
100

prune201.0ms (2.5%)

Pruning

11 alts after pruning (8 fresh and 3 done)

PrunedKeptTotal
New2442246
Fresh066
Picked011
Done022
Total24411255
Error
2.2b
Counts
255 → 11
Alt Table
StatusErrorProgram
21.8b
(*.f64 2 (pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x (+.f64 y z) (*.f64 y z)))) 3))
33.0b
(*.f64 2 (pow.f64 (exp.f64 (*.f64 1/4 (-.f64 (log.f64 (neg.f64 (+.f64 y z))) (log.f64 (/.f64 -1 x))))) 2))
52.7b
(*.f64 2 (/.f64 (sqrt.f64 (-.f64 (pow.f64 (*.f64 x (+.f64 y z)) 2) (pow.f64 (*.f64 y z) 2))) (sqrt.f64 (-.f64 (*.f64 x (+.f64 y z)) (*.f64 y z)))))
22.0b
(*.f64 2 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 x (+.f64 y z) (*.f64 y z)))) 3) (cbrt.f64 (sqrt.f64 (fma.f64 x (+.f64 y z) (*.f64 y z))))))
36.9b
(*.f64 2 (pow.f64 (exp.f64 (*.f64 1/4 (-.f64 (log.f64 (+.f64 y x)) (log.f64 (/.f64 1 z))))) 2))
21.3b
(*.f64 2 (pow.f64 (pow.f64 (fma.f64 x (+.f64 y z) (*.f64 y z)) 1/4) 2))
22.7b
(*.f64 2 (sqrt.f64 (fma.f64 (cbrt.f64 (*.f64 y y)) (*.f64 (cbrt.f64 y) z) (*.f64 x (+.f64 y z)))))
24.2b
(*.f64 2 (sqrt.f64 (fma.f64 (cbrt.f64 (*.f64 y y)) (*.f64 (cbrt.f64 y) x) (*.f64 z (+.f64 x y)))))
21.6b
(*.f64 2 (*.f64 (cbrt.f64 (fma.f64 x (+.f64 y z) (*.f64 y z))) (cbrt.f64 (sqrt.f64 (fma.f64 x (+.f64 y z) (*.f64 y z))))))
38.2b
(*.f64 2 (pow.f64 (exp.f64 (*.f64 1/6 (-.f64 (log.f64 (+.f64 z x)) (log.f64 (/.f64 1 y))))) 3))
33.2b
(*.f64 2 (pow.f64 (exp.f64 (*.f64 1/6 (-.f64 (log.f64 (neg.f64 (+.f64 y z))) (log.f64 (/.f64 -1 x))))) 3))
Compiler

Compiled 8499 to 4622 computations (45.6% saved)

regimes1.9s (23.1%)

Accuracy

Total 3.2b remaining (61%)

Threshold costs 0b (0%)

Counts
133 → 4
Compiler

Compiled 14354 to 9704 computations (32.4% saved)

bsearch151.0ms (1.9%)

Steps
ItersRangePoint
12
-4.1017965464249906e-289
2.0905494539134198e-268
2.0611617972601002e-268
7
-2.2306878865165007e-172
-1.3938296011750175e-174
-5.029427106894932e-174
7
-3.554471203990684e+22
-2.543246854412101e+20
-3.5016519017157693e+22
Compiler

Compiled 4 to 3 computations (25% saved)

simplify8.0ms (0.1%)

Algorithm
egg-herbie
Rules
13×*-commutative_binary64
10×+-commutative_binary64
sub-neg_binary64
neg-sub0_binary64
neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
044119
166119
280119
390119
494119
593119

end655.0ms (8.1%)

Compiler

Compiled 555 to 396 computations (28.6% saved)

Profiling

Loading profile data...