{ lib ? (import <nixpkgs> {}).lib }:
let
inherit (lib)
assertMsg
;
inherit (builtins)
div
;
abs = i:
if i < 0
then -1 * i
else i;
exp = base: pow:
if pow > 0
then base * (exp base (pow - 1))
else if pow < 0
then 1.0 / exp base (abs pow)
else 1;
bitShiftR = bit: count:
div bit (exp 2 count);
in
{
inherit
abs
exp
bitShiftR
;
}