Softcaps

root: val.times(start.pow(mag.sub(1))).root(mag)

expRoot: Decimal.pow(10, val.log10.root(mag).times(start.log10.pow(Decimal.sub(1, mag.pow(-1)))))

log: val.log10.pow(exp).times(start.div(start.log10.pow(exp)))