Rump's expression from Stadtherr's award speech

Time bar (total: 2.6s)

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

sample784.0ms (29.9%)

Results
712.0ms8255×0valid
0.0ms0valid
Precisions
Click to see histograms. Total time spent on operations: 129.0ms
Operation ival-==, time spent: 96.0ms, 74.0% of total-time
Operation const, time spent: 17.0ms, 13.0% of total-time
Operation ival-and, time spent: 12.0ms, 9.0% of total-time
Operation backward-pass, time spent: 4.0ms, 3.0% of total-time
Bogosity

preprocess1.3s (50.8%)

Algorithm
egg-herbie
Rules
743×unsub-neg
708×sub-neg
635×fma-neg
347×distribute-lft-neg-in
345×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: 615.0ms
Operation ival-mult, time spent: 321.0ms, 52.0% of total-time
Operation ival-pow, time spent: 175.0ms, 28.0% of total-time
Operation ival-add, time spent: 51.0ms, 8.0% of total-time
Operation ival-sub, time spent: 43.0ms, 7.0% of total-time
Operation const, time spent: 15.0ms, 2.0% of total-time
Operation ival-div, time spent: 11.0ms, 2.0% of total-time

eval11.0ms (0.4%)

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)

localize420.0ms (16%)

Compiler

Compiled 261 to 178 computations (31.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 320.0ms
Operation ival-pow, time spent: 173.0ms, 54.0% of total-time
Operation ival-mult, time spent: 103.0ms, 32.0% of total-time
Operation ival-sub, time spent: 21.0ms, 7.0% of total-time
Operation ival-add, time spent: 12.0ms, 4.0% of total-time
Operation const, time spent: 7.0ms, 2.0% of total-time
Operation ival-div, time spent: 4.0ms, 1.0% of total-time

eval0.0ms (0%)

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)

simplify5.0ms (0.2%)

Algorithm
egg-herbie
Rules
14×*-commutative
11×+-commutative
sub-neg
neg-sub0
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%)

preprocess66.0ms (2.5%)

Remove

(sort x y)

(abs y)

(abs x)

Compiler

Compiled 720 to 528 computations (26.7% saved)

Profiling

Loading profile data...