I know what I want to do on paper, but I can't seem to translate it into working C code. Here's what I want: V = AntiLog10(Log10(V / 32768) * 0.866667) * 32768 I'm trying to use a bell curve to make small numbers bigger, and the higher V is initially, the less it gets increased. I'm fairly certain the top formula is correct. So he's what I've translated into code: Okay, now if someone could show me how to turn that into working C code, that'd be very helpful! EDIT: For anyone curious, it's sound compression I'm attempting here. The 'V' is a binary number representing the amplitude of the sound. I'm raising the very bottom by 12dB, and raising higher amplitudes by less, and the very tip-top by nothing. That's the idea anyhow.