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
ival-and: 0.0ms (0% of total)
ival-==: 0.0ms (0% of total)
const: 0.0ms (0% of total)
backward-pass: 0.0ms (0% of total)

sample511.0ms (19.8%)

Results
330.0ms8256×0valid
Precisions
Click to see histograms. Total time spent on operations: 107.0ms
ival-==: 81.0ms (75.7% of total)
const: 13.0ms (12.2% of total)
ival-and: 10.0ms (9.3% of total)
backward-pass: 3.0ms (2.8% of total)
Bogosity

preprocess138.0ms (5.3%)

Algorithm
egg-herbie
Rules
743×unsub-neg
708×sub-neg
635×fma-neg
347×distribute-lft-neg-in
345×distribute-lft-in
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)

explain956.0ms (37%)

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))))
Results
614.0ms512×0valid
Compiler

Compiled 567 to 389 computations (31.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 522.0ms
ival-mult: 207.0ms (39.7% of total)
ival-pow: 196.0ms (37.6% of total)
ival-sub: 80.0ms (15.3% of total)
ival-add: 15.0ms (2.9% of total)
const: 15.0ms (2.9% of total)
ival-div: 8.0ms (1.5% of total)
backward-pass: 0.0ms (0% of total)

eval3.0ms (0.1%)

Compiler

Compiled 237 to 161 computations (32.1% saved)

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

localize925.0ms (35.8%)

Results
825.0ms256×0valid
Compiler

Compiled 261 to 178 computations (31.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 751.0ms
ival-mult: 522.0ms (69.5% of total)
ival-pow: 160.0ms (21.3% of total)
ival-sub: 37.0ms (4.9% of total)
const: 13.0ms (1.7% of total)
ival-add: 12.0ms (1.6% of total)
ival-div: 6.0ms (0.8% of total)
backward-pass: 0.0ms (0% of total)

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

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

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

soundness1.0ms (0%)

Stop Event
done
Compiler

Compiled 45 to 33 computations (26.7% saved)

preprocess43.0ms (1.7%)

Remove

(sort x y)

(abs y)

(abs x)

Compiler

Compiled 720 to 528 computations (26.7% saved)

end0.0ms (0%)

Profiling

Loading profile data...