Educational Use Only — Interactive walk-through of Bühlmann's M-value formula and where its coefficients come from.

M-Value Sandbox

Where the line comes from, and what it looks like for all 16 compartments.

What does M look like at this depth?

Pick a depth, a compartment, and a variant — see Bühlmann's M-value formula evaluate live.

M(Pamb) = a + Pamb / b
5.5588 bar = 0.6200 + 4.0133 / 0.8126
a | tissue intercept
compartment + variant lookup
0.6200 bar
Y-intercept of the M-line. Higher = more supersaturation tolerated at the surface.
Pamb | ambient pressure
= 1.01325 + depth · 0.1
4.0133 bar
The horizontal axis of the M-line. Each meter of depth adds 0.1 bar.
b | tissue slope
compartment lookup (slope = 1/b)
0.8126
Lower b → steeper M-line → faster compartment.
M | tolerated tissue pressure
= a + Pamb / b
5.5588 bar
Above this, the algorithm flags supersaturation as unsafe.
ZH-L16A (long dash) ZH-L16B (short dash) ZH-L16C (solid) Ambient line (y = x) Surface (P_amb = 1.013 bar)

Where do a and b come from?

ZH-L16A's a and b aren't fitted to data — they're computed from half-time alone. Variants B and C are post-hoc adjustments to specific compartments.

a(t½) = 2 · t½−1/3  (bar)
b(t½) = 1.005 − t½−1/2
t½ | half-time
27.0 min
Each compartment's signature time. Not anatomical — a sample point on an exponential axis.
a(t½) | analytical intercept
= 2 · t½−1/3
0.6667 bar
Variants B and C drop a for specific compartments — that's the only place statistics enter Bühlmann.
b(t½) | analytical slope
= 1.005 − t½−1/2
0.8126
Identical across A/B/C except TC1 (whose t½ swap also swaps b).
a(t½) curve + 16 stored values (dots) b(t½) curve + 16 stored values (dots) Slider position (current t½)

See also