Rump's expression from Stadtherr's award speech

Time bar (total: 15.2s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

analyze0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%0%100%0%0%0%0
100%0%0%100%0%0%0%1
Compiler

Compiled 9 to 9 computations (0% saved)

sample15.0ms (0.1%)

Memory
-1.8MiB live, 5.8MiB allocated
Samples
10.0ms260×0valid
Precisions
Click to see histograms. Total time spent on operations: 5.0ms
const: 3.0ms (56.8% of total)
ival-==: 1.0ms (18.9% of total)
ival-and: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
Bogosity

explain14.9s (98.5%)

Memory
24.2MiB live, 8 855.0MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
2560-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 #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))))
00-0-(*.f64 #s(literal 2 binary64) y)
00-0-#s(literal 8 binary64)
00-0-#s(literal 11/2 binary64)
00-0-(pow.f64 y #s(literal 4 binary64))
00-0-(*.f64 (*.f64 (*.f64 #s(literal 11 binary64) x) x) y)
00-0-(*.f64 (*.f64 (*.f64 (*.f64 #s(literal 11 binary64) x) x) y) y)
00-0-y
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-(pow.f64 y #s(literal 8 binary64))
00-0-#s(literal 121 binary64)
00-0-(*.f64 #s(literal 11 binary64) x)
00-0-#s(literal 1335/4 binary64)
00-0-(*.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 6 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 (*.f64 #s(literal 11 binary64) x) x)
00-0-(*.f64 #s(literal 11/2 binary64) (pow.f64 y #s(literal 8 binary64)))
00-0-#s(literal 4 binary64)
00-0-(*.f64 x x)
00-0-#s(literal 6 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-(/.f64 x (*.f64 #s(literal 2 binary64) y))
00-0-#s(literal 2 binary64)
00-0-(*.f64 #s(literal 121 binary64) (pow.f64 y #s(literal 4 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 (-.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)
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
+.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))))cancellation10
Confusion
Predicted +Predicted -
+2560
-00
Precision
1.0
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+25600
-000
Precision?
1.0
Recall?
1.0
Freqs
test
numberfreq
1256
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Total Time
70.404052734375
Average Time
0.27501583099365234
Samples
6.1s23 040×1valid
Compiler

Compiled 36 945 to 5 580 computations (84.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 4.3s
ival-mult: 1.4s (32% of total)
adjust: 1.2s (28.8% of total)
ival-add: 523.0ms (12.1% of total)
ival-pow: 502.0ms (11.6% of total)
ival-div: 324.0ms (7.5% of total)
ival-sub: 251.0ms (5.8% of total)
exact: 68.0ms (1.6% of total)
ival-true: 19.0ms (0.4% of total)
ival-assert: 9.0ms (0.2% of total)

preprocess173.0ms (1.1%)

Memory
-1.2MiB live, 47.7MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
035
03043
05043
19043
219543
346943
4144543
5301043
6492443
7693143
0819638
Stop Event
iter limit
node limit
iter limit
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)))
(fma.f64 (*.f64 (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 11 binary64)) y) y (fma.f64 (*.f64 (-.f64 #s(literal -2 binary64) (fma.f64 (pow.f64 y #s(literal 4 binary64)) #s(literal 121 binary64) (pow.f64 y #s(literal 6 binary64)))) x) x (fma.f64 (pow.f64 y #s(literal 8 binary64)) #s(literal 11/2 binary64) (fma.f64 (pow.f64 y #s(literal 6 binary64)) #s(literal 1335/4 binary64) (/.f64 x (*.f64 #s(literal 2 binary64) y))))))
Symmetry

(abs y)

(abs x)

(sort x y)

Compiler

Compiled 43 to 30 computations (30.2% saved)

eval0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated
Compiler

Compiled 0 to 2 computations (-∞% saved)

prune1.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated
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 86 to 60 computations (30.2% saved)

simplify21.0ms (0.1%)

Memory
2.5MiB live, 18.3MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03043
15143
26943
37943
48543
58643
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 x (*.f64 #s(literal 2 binary64) y)) (+.f64 (*.f64 (pow.f64 y #s(literal 8 binary64)) #s(literal 11/2 binary64)) (+.f64 (*.f64 (-.f64 (-.f64 (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 #s(literal 11 binary64) x) x) y) y) (pow.f64 y #s(literal 6 binary64))) (*.f64 (pow.f64 y #s(literal 4 binary64)) #s(literal 121 binary64))) #s(literal 2 binary64)) (*.f64 x x)) (*.f64 (pow.f64 y #s(literal 6 binary64)) #s(literal 1335/4 binary64)))))

soundness0.0ms (0%)

Memory
0.3MiB live, 0.3MiB allocated
Stop Event
fuel
Compiler

Compiled 43 to 30 computations (30.2% saved)

preprocess11.0ms (0.1%)

Memory
-0.6MiB live, 7.2MiB allocated
Remove

(sort x y)

(abs x)

(abs y)

Compiler

Compiled 688 to 480 computations (30.2% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...