Rump's expression from Stadtherr's award speech

Time bar (total: 2.6s)

analyze0.0ms (0%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%0%100%0%0%0%0
100%0%0%100%0%0%0%1
Compiler

Compiled 10 to 8 computations (20% saved)

Precisions
Click to see histograms. Total time spent on operations: 0.0ms
Operation ival-and, time spent: 0.0ms, 0.0% of total-time
Operation ival-==, time spent: 0.0ms, 0.0% of total-time
Operation const, time spent: 0.0ms, 0.0% of total-time

sample726.0ms (27.9%)

Results
663.0ms8255×256valid
0.0ms256valid
Precisions
Click to see histograms. Total time spent on operations: 114.0ms
Operation ival-==, time spent: 86.0ms, 75.0% of total-time
Operation const, time spent: 17.0ms, 15.0% of total-time
Operation ival-and, time spent: 11.0ms, 10.0% of total-time
Bogosity

preprocess1.3s (50.5%)

Algorithm
egg-herbie
Rules
1486×unsub-neg
1416×sub-neg
1270×fma-neg
694×distribute-lft-neg-in
690×distribute-lft-in
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-(-.f64 (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 #s(literal 11 binary64) x) x) y) y) (pow.f64 y #s(literal 6 binary64))) (*.f64 #s(literal 121 binary64) (pow.f64 y #s(literal 4 binary64))))
00-0-x
00-0-(pow.f64 y #s(literal 6 binary64))
00-0-#s(literal 11 binary64)
00-0-(+.f64 (+.f64 (+.f64 (*.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 6 binary64))) (*.f64 (*.f64 x x) (-.f64 (-.f64 (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 #s(literal 11 binary64) x) x) y) y) (pow.f64 y #s(literal 6 binary64))) (*.f64 #s(literal 121 binary64) (pow.f64 y #s(literal 4 binary64)))) #s(literal 2 binary64)))) (*.f64 #s(literal 11/2 binary64) (pow.f64 y #s(literal 8 binary64)))) (/.f64 x (*.f64 #s(literal 2 binary64) y)))
00-0-(*.f64 #s(literal 121 binary64) (pow.f64 y #s(literal 4 binary64)))
00-0-(-.f64 (*.f64 (*.f64 (*.f64 (*.f64 #s(literal 11 binary64) x) x) y) y) (pow.f64 y #s(literal 6 binary64)))
00-0-#s(literal 2 binary64)
00-0-(/.f64 x (*.f64 #s(literal 2 binary64) y))
00-0-#s(literal 6 binary64)
00-0-(*.f64 x x)
00-0-(*.f64 (*.f64 #s(literal 11 binary64) x) x)
00-0-#s(literal 4 binary64)
00-0-(*.f64 #s(literal 11/2 binary64) (pow.f64 y #s(literal 8 binary64)))
00-0-(+.f64 (+.f64 (*.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 6 binary64))) (*.f64 (*.f64 x x) (-.f64 (-.f64 (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 #s(literal 11 binary64) x) x) y) y) (pow.f64 y #s(literal 6 binary64))) (*.f64 #s(literal 121 binary64) (pow.f64 y #s(literal 4 binary64)))) #s(literal 2 binary64)))) (*.f64 #s(literal 11/2 binary64) (pow.f64 y #s(literal 8 binary64))))
00-0-(-.f64 (-.f64 (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 #s(literal 11 binary64) x) x) y) y) (pow.f64 y #s(literal 6 binary64))) (*.f64 #s(literal 121 binary64) (pow.f64 y #s(literal 4 binary64)))) #s(literal 2 binary64))
00-0-(*.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 6 binary64)))
00-0-#s(literal 1335/4 binary64)
00-0-(*.f64 #s(literal 11 binary64) x)
00-0-#s(literal 121 binary64)
00-0-(pow.f64 y #s(literal 8 binary64))
00-0-(*.f64 (*.f64 x x) (-.f64 (-.f64 (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 #s(literal 11 binary64) x) x) y) y) (pow.f64 y #s(literal 6 binary64))) (*.f64 #s(literal 121 binary64) (pow.f64 y #s(literal 4 binary64)))) #s(literal 2 binary64)))
00-0-y
00-0-(*.f64 (*.f64 (*.f64 (*.f64 #s(literal 11 binary64) x) x) y) y)
00-0-(*.f64 (*.f64 (*.f64 #s(literal 11 binary64) x) x) y)
00-0-(pow.f64 y #s(literal 4 binary64))
00-0-#s(literal 11/2 binary64)
00-0-#s(literal 8 binary64)
00-0-(*.f64 #s(literal 2 binary64) y)
00-0-(+.f64 (*.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 6 binary64))) (*.f64 (*.f64 x x) (-.f64 (-.f64 (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 #s(literal 11 binary64) x) x) y) y) (pow.f64 y #s(literal 6 binary64))) (*.f64 #s(literal 121 binary64) (pow.f64 y #s(literal 4 binary64)))) #s(literal 2 binary64))))
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
039165
182157
2207151
3600149
41883149
53588149
65925149
77926149
Stop Event
node limit
Calls
Call 1
Inputs
(+.f64 (+.f64 (+.f64 (*.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 6 binary64))) (*.f64 (*.f64 x x) (-.f64 (-.f64 (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 #s(literal 11 binary64) x) x) y) y) (pow.f64 y #s(literal 6 binary64))) (*.f64 #s(literal 121 binary64) (pow.f64 y #s(literal 4 binary64)))) #s(literal 2 binary64)))) (*.f64 #s(literal 11/2 binary64) (pow.f64 y #s(literal 8 binary64)))) (/.f64 x (*.f64 #s(literal 2 binary64) y)))
#s(literal -54767/66192 binary64)
#s(literal -54767/66192 binary64)
#s(literal -54767/66192 binary64)
(neg.f64 #s(literal -54767/66192 binary64))
(neg.f64 #s(literal -54767/66192 binary64))
#s(literal -54767/66192 binary64)
Outputs
(+.f64 (+.f64 (+.f64 (*.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 6 binary64))) (*.f64 (*.f64 x x) (-.f64 (-.f64 (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 #s(literal 11 binary64) x) x) y) y) (pow.f64 y #s(literal 6 binary64))) (*.f64 #s(literal 121 binary64) (pow.f64 y #s(literal 4 binary64)))) #s(literal 2 binary64)))) (*.f64 #s(literal 11/2 binary64) (pow.f64 y #s(literal 8 binary64)))) (/.f64 x (*.f64 #s(literal 2 binary64) y)))
(+.f64 (fma.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 6 binary64)) (*.f64 (*.f64 x x) (-.f64 (-.f64 (*.f64 y (*.f64 y (*.f64 x (*.f64 x #s(literal 11 binary64))))) (pow.f64 y #s(literal 6 binary64))) (+.f64 (*.f64 #s(literal 121 binary64) (pow.f64 y #s(literal 4 binary64))) #s(literal 2 binary64))))) (+.f64 (*.f64 #s(literal 11/2 binary64) (pow.f64 y #s(literal 8 binary64))) (/.f64 (/.f64 x #s(literal 2 binary64)) y)))
(+.f64 (fma.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 6 binary64)) (fma.f64 (*.f64 x x) (-.f64 (-.f64 (*.f64 y (*.f64 y (*.f64 x (*.f64 x #s(literal 11 binary64))))) (pow.f64 y #s(literal 6 binary64))) (fma.f64 #s(literal 121 binary64) (pow.f64 y #s(literal 4 binary64)) #s(literal 2 binary64))) (*.f64 #s(literal 11/2 binary64) (pow.f64 y #s(literal 8 binary64))))) (/.f64 x (*.f64 y #s(literal 2 binary64))))
(fma.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 6 binary64)) (fma.f64 x (*.f64 x (fma.f64 y (*.f64 x (*.f64 x (*.f64 y #s(literal 11 binary64)))) (fma.f64 #s(literal -1 binary64) (pow.f64 y #s(literal 6 binary64)) (fma.f64 (pow.f64 y #s(literal 4 binary64)) #s(literal -121 binary64) #s(literal -2 binary64))))) (fma.f64 #s(literal 11/2 binary64) (pow.f64 y #s(literal 8 binary64)) (/.f64 x (*.f64 y #s(literal 2 binary64))))))
(fma.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 6 binary64)) (fma.f64 x (*.f64 x (-.f64 (fma.f64 (*.f64 x x) (*.f64 y (*.f64 y #s(literal 11 binary64))) (fma.f64 (pow.f64 y #s(literal 4 binary64)) #s(literal -121 binary64) #s(literal -2 binary64))) (pow.f64 y #s(literal 6 binary64)))) (fma.f64 #s(literal 11/2 binary64) (pow.f64 y #s(literal 8 binary64)) (/.f64 x (*.f64 y #s(literal 2 binary64))))))
(fma.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 6 binary64)) (fma.f64 x (*.f64 x (-.f64 (fma.f64 (*.f64 x x) (*.f64 y (*.f64 y #s(literal 11 binary64))) #s(literal -2 binary64)) (fma.f64 #s(literal 121 binary64) (pow.f64 y #s(literal 4 binary64)) (pow.f64 y #s(literal 6 binary64))))) (fma.f64 #s(literal 11/2 binary64) (pow.f64 y #s(literal 8 binary64)) (/.f64 x (*.f64 y #s(literal 2 binary64))))))
(fma.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 6 binary64)) (fma.f64 x (*.f64 x (-.f64 (fma.f64 (*.f64 x x) (*.f64 y (*.f64 y #s(literal 11 binary64))) #s(literal -2 binary64)) (fma.f64 #s(literal 121 binary64) (pow.f64 y #s(literal 4 binary64)) (pow.f64 y #s(literal 6 binary64))))) (fma.f64 #s(literal 11/2 binary64) (pow.f64 y #s(literal 8 binary64)) (*.f64 (/.f64 x y) #s(literal 1/2 binary64)))))
#s(literal -54767/66192 binary64)
#s(literal -54767/66192 binary64)
#s(literal -54767/66192 binary64)
(neg.f64 #s(literal -54767/66192 binary64))
#s(literal 54767/66192 binary64)
(neg.f64 #s(literal -54767/66192 binary64))
#s(literal 54767/66192 binary64)
#s(literal -54767/66192 binary64)
Symmetry

(abs x)

(abs y)

(sort x y)

Compiler

Compiled 567 to 389 computations (31.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 491.0ms
Operation ival-mult, time spent: 213.0ms, 43.0% of total-time
Operation ival-pow, time spent: 192.0ms, 39.0% of total-time
Operation ival-sub, time spent: 44.0ms, 9.0% of total-time
Operation const, time spent: 20.0ms, 4.0% of total-time
Operation ival-add, time spent: 15.0ms, 3.0% of total-time
Operation ival-div, time spent: 8.0ms, 2.0% of total-time

eval4.0ms (0.2%)

Compiler

Compiled 237 to 161 computations (32.1% saved)

prune2.0ms (0.1%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
1.4%
(+.f64 (+.f64 (+.f64 (*.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 6 binary64))) (*.f64 (*.f64 x x) (-.f64 (-.f64 (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 #s(literal 11 binary64) x) x) y) y) (pow.f64 y #s(literal 6 binary64))) (*.f64 #s(literal 121 binary64) (pow.f64 y #s(literal 4 binary64)))) #s(literal 2 binary64)))) (*.f64 #s(literal 11/2 binary64) (pow.f64 y #s(literal 8 binary64)))) (/.f64 x (*.f64 #s(literal 2 binary64) y)))
Compiler

Compiled 45 to 33 computations (26.7% saved)

localize470.0ms (18.1%)

Compiler

Compiled 261 to 178 computations (31.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 356.0ms
Operation ival-pow, time spent: 158.0ms, 44.0% of total-time
Operation ival-mult, time spent: 152.0ms, 43.0% of total-time
Operation ival-sub, time spent: 26.0ms, 7.0% of total-time
Operation const, time spent: 9.0ms, 3.0% of total-time
Operation ival-add, time spent: 8.0ms, 2.0% of total-time
Operation ival-div, time spent: 4.0ms, 1.0% of total-time

eval3.0ms (0.1%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune2.0ms (0.1%)

Pruning

1 alts after pruning (0 fresh and 1 done)

PrunedKeptTotal
New000
Fresh000
Picked011
Done000
Total011
Accuracy
1.4%
Counts
1 → 1
Alt Table
Click to see full alt table
StatusAccuracyProgram
1.4%
(+.f64 (+.f64 (+.f64 (*.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 6 binary64))) (*.f64 (*.f64 x x) (-.f64 (-.f64 (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 #s(literal 11 binary64) x) x) y) y) (pow.f64 y #s(literal 6 binary64))) (*.f64 #s(literal 121 binary64) (pow.f64 y #s(literal 4 binary64)))) #s(literal 2 binary64)))) (*.f64 #s(literal 11/2 binary64) (pow.f64 y #s(literal 8 binary64)))) (/.f64 x (*.f64 #s(literal 2 binary64) y)))
Compiler

Compiled 90 to 66 computations (26.7% saved)

simplify6.0ms (0.2%)

Algorithm
egg-herbie
Rules
28×*-commutative
22×+-commutative
16×sub-neg
10×neg-sub0
10×neg-mul-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
035163
157163
275163
385163
491163
592163
Stop Event
done
saturated
Calls
Call 1
Inputs
(+.f64 (+.f64 (+.f64 (*.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 6 binary64))) (*.f64 (*.f64 x x) (-.f64 (-.f64 (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 #s(literal 11 binary64) x) x) y) y) (pow.f64 y #s(literal 6 binary64))) (*.f64 #s(literal 121 binary64) (pow.f64 y #s(literal 4 binary64)))) #s(literal 2 binary64)))) (*.f64 #s(literal 11/2 binary64) (pow.f64 y #s(literal 8 binary64)))) (/.f64 x (*.f64 #s(literal 2 binary64) y)))
Outputs
(+.f64 (+.f64 (+.f64 (*.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 6 binary64))) (*.f64 (*.f64 x x) (-.f64 (-.f64 (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 #s(literal 11 binary64) x) x) y) y) (pow.f64 y #s(literal 6 binary64))) (*.f64 #s(literal 121 binary64) (pow.f64 y #s(literal 4 binary64)))) #s(literal 2 binary64)))) (*.f64 #s(literal 11/2 binary64) (pow.f64 y #s(literal 8 binary64)))) (/.f64 x (*.f64 #s(literal 2 binary64) y)))
(+.f64 (+.f64 (+.f64 (*.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 6 binary64))) (*.f64 (*.f64 x x) (-.f64 (-.f64 (-.f64 (*.f64 y (*.f64 y (*.f64 x (*.f64 x #s(literal 11 binary64))))) (pow.f64 y #s(literal 6 binary64))) (*.f64 #s(literal 121 binary64) (pow.f64 y #s(literal 4 binary64)))) #s(literal 2 binary64)))) (*.f64 #s(literal 11/2 binary64) (pow.f64 y #s(literal 8 binary64)))) (/.f64 x (*.f64 y #s(literal 2 binary64))))
Compiler

Compiled 45 to 33 computations (26.7% saved)

soundness0.0ms (0%)

end0.0ms (0%)

preprocess74.0ms (2.9%)

Remove

(sort x y)

(abs y)

(abs x)

Compiler

Compiled 720 to 528 computations (26.7% saved)

Profiling

Loading profile data...