Rump's expression from Stadtherr's award speech

Time bar (total: 2.5s)

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)

sample705.0ms (28%)

Results
522.0ms8256×0valid
Precisions
Click to see histograms. Total time spent on operations: 115.0ms
ival-==: 87.0ms (75.7% of total)
const: 14.0ms (12.2% of total)
ival-and: 10.0ms (8.7% of total)
backward-pass: 3.0ms (2.6% of total)
Bogosity

preprocess148.0ms (5.9%)

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)))
(fma.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 6 binary64)) (fma.f64 (*.f64 x x) (-.f64 (fma.f64 (*.f64 x (*.f64 x #s(literal 11 binary64))) (*.f64 y y) #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)

explain872.0ms (34.6%)

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
659.0ms512×256valid
Compiler

Compiled 567 to 389 computations (31.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 561.0ms
ival-mult: 304.0ms (54.2% of total)
ival-pow: 179.0ms (31.9% of total)
ival-sub: 40.0ms (7.1% of total)
ival-add: 13.0ms (2.3% of total)
const: 13.0ms (2.3% of total)
ival-div: 10.0ms (1.8% of total)

eval1.0ms (0%)

Compiler

Compiled 40 to 28 computations (30% saved)

prune1.0ms (0%)

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)

localize712.0ms (28.3%)

Results
611.0ms256×256valid
Compiler

Compiled 261 to 178 computations (31.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 559.0ms
ival-mult: 394.0ms (70.5% of total)
ival-pow: 127.0ms (22.7% of total)
ival-sub: 20.0ms (3.6% of total)
ival-add: 7.0ms (1.3% of total)
const: 7.0ms (1.3% of total)
ival-div: 4.0ms (0.7% of total)

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)

simplify3.0ms (0.1%)

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)

preprocess75.0ms (3%)

Remove

(sort x y)

(abs y)

(abs x)

Compiler

Compiled 720 to 528 computations (26.7% saved)

end0.0ms (0%)

Profiling

Loading profile data...