Digital Lab The digital lab
The digital lab

A little curiosity.
A lot of ones and zeros.

Flip an input, move a threshold, pack a word. Five hands-on experiments connect binary representations to the decisions a network makes.

EXPERIMENT 01 / COMPUTE

The bitwise workbench.

An illustrative primitive, calculated in your browser. Change any input or weight and watch the decision update.

XOR / POPCOUNT / THRESHOLD8-BIT EXPERIMENT
INPUT
WEIGHT

XOR01100110
4
POPCOUNT
4 / 8
4 ≥ 4
OUTPUT
BIT
1
Tap any input or weight bit.

Illustrative operation · 0/1 bits · XOR counts differences.
Example rule: output = 1 when count ≥ threshold.

Explain this step

XOR returns 1 where input and weight bits differ. Popcount counts those 1s. The example threshold turns that count into one output bit. With signed mapping 0 → −1 and 1 → +1, the dot product is 8 − 2 × popcount; a signed activation can therefore use an inverted count inequality. This toy uses the explicitly shown count ≥ T convention and does not emulate every SYMBEX layer.

Three operations. One output.

01 / XOR
Compare each input with a weight. Different values produce 1; matching values produce 0.

02 / POPCOUNT
Count how many result bits are 1. The answer is an integer from 0 to 8.

03 / THRESHOLD
Our example outputs 1 when the count is at least T. Move the threshold to see a decision flip.

A toy count rule, not a full SYMBEX neuron trace. The signed-bit mapping and real folded threshold convention matter; expand the explanation in the lab.
EXPERIMENT 02 / REPRESENT

More values. Fewer bytes.

At the same element count, compare the theoretical packed payload of 1-bit and INT8 representations.

MEMORY PACKINGTHEORETICAL PAYLOAD
1-BIT · PACKED8 Bceil(64 ÷ 8) bytes
INT8 · ONE BYTE EACH64 B8.00× payload ratio
SAME ELEMENT COUNT / PROPORTIONAL BYTE BLOCKS

Each block scales with the current payload; at most 64 blocks shown. Final byte may include unused bits.

Payload is only part of the story.

A packed bit array needs ceil(N ÷ 8) bytes. INT8 needs N bytes. For an array of nine binary values, two bytes are required, with seven unused bits.

Real model memory also includes integer thresholds, descriptors, alignment, activation buffers and hardware-specific counting tables. A wider binary model changes the element count, too.

Compare actual model footprints ↗
EXPERIMENT 03 / ENCODE

A pixel becomes a pattern.

This eight-level channel encoder follows the repository’s integer bins exactly. Slide from dark to bright.

THERMOMETER ENCODINGUINT8 → 8 BITS
142
1≥ 28
1≥ 56
1≥ 85
1≥ 113
1≥ 142
0≥ 170
0≥ 199
0≥ 227
11111000 · 5 thresholds crossed
Show encoding bins & signed mapping

Threshold k = floor((k + 1) × 256 ÷ 9), for k = 0…7. A set bit means pixel ≥ threshold. The Python integer simulation maps 0 → −1 and 1 → +1. The C engine packs the equivalent bits into words. Channels are shown separately here; RGB gives 24 logical channels, with word alignment overhead.

More intensity. More set bits.

The code uses integer thresholds at 28, 56, 85, 113, 142, 170, 199 and 227. Values below the first threshold produce all zeros; 255 produces all ones.

The channel selector only changes the color preview. Every RGB channel uses the same threshold comparisons. This is a single-channel explanation, not an image-classification demo.

C implementation · symbex_thermometer ↗
Python integer reference ↗
EXPERIMENT 04 / CONNECT

One decision feeds another.

A toy two-layer network makes the hidden bits visible. Change its inputs and threshold, then inspect the next layer.

BINARY MINI NETWORKILLUSTRATIVE / 8 → 3 → 1
INPUT
4

LAYER 1 / HIDDEN NEURONS

NEURON 10count 2 < 4
NEURON 20count 2 < 4
NEURON 31count 6 ≥ 4
Inspect fixed example weights

Neuron 1: 10101010

Neuron 2: 00110011

Neuron 3: 11001100

Every hidden neuron uses XOR → popcount → count ≥ T. The final neuron compares the hidden bits against 101 and uses count ≥ 2.

Illustrative binary decisions, not a trained classifier.

Layers build on binary states.

Three hidden neurons compare the same eight inputs against different fixed weights. Each makes a threshold decision, producing three new bits.

A final neuron reads those bits, compares them with 101, and applies its own threshold of two. The displayed weight vectors and thresholds fully define this small example.

It is a deterministic teaching network with no learned task or accuracy claim. SYMBEX’s real networks use their own trained parameters and exported conventions.

See the real engine architecture ↗
EXPERIMENT 05 / MEASURE

Change the question.
Inspect the evidence.

How much memory? How fast? How accurate? Explore actual reported data, with the conditions that make it meaningful.

MEASURED HARDWARE / FILTERABLE EVIDENCE

Device benchmark explorer

Choose hardware, workload and metric. Compare binary and INT8 with a shared axis, exact-value table, source links and explicit status labels.

Open benchmark explorer ↗
ILLUSTRATIONS AND MEASUREMENTS STAY DISTINCT

No invented hardware results.

The four experiments above calculate toy operations or theoretical representations. Hardware data comes only from the versioned repository snapshot; filters never manufacture missing measurements.

Read the methodology ↗