-- numbers kept as {log,{pow2,pow3,pow5}}, -- value is ~= exp(log), == (2^pow2)*(3^pow3)*(5^pow5) enum LOG, POWS enum POW2, POW3, POW5 function lnmin(sequence a, sequence b) return iff(a[LOG]