tried to do a C version of the asm for comparsion/compiler-ass-kicking-bragging-rights