function Z_approx_air (millibar, Celsius, d {nm} : real) : real; {cm2 V-1 s-1}
  const a = 1.165; b = 0.483; c = 0.997; {ISO 15900}   {Valid when d > 0.5 nm}
  var Viscosity, FreePath, Kn, r1, r2, y, dd : real;
  begin
    y  := d + 0.00135 * Celsius - 1.28;
    dd := d + 0.611 - 0.205 * exp(-2.4 * y * y) - 0.071 / d;
    r1 := (Celsius + 273.15) / 296.15;
    r2 := 406.55 / (Celsius + 383.55);
    Viscosity {microPa s} := 18.3245 * r1 * sqrt (r1) * r2;    {ISO 15900}
    FreePath {nm} := 67.3 * sqr (r1) * (1013 / millibar) * r2; {ISO 15900}
    Kn := 2 * FreePath / dd;
    if Kn < 0.03 {underflow safe} then y := 0 else y := exp (- c / Kn);
    Z_approx_air :=
            1.6022 * (1 + Kn * (a + b * y)) / (3 * PI * Viscosity * dd);
   end;