fixed up c macros in Simd-opts.h and Simd-types.h

The errors were mostly because of overestimating the capiblities of
the c preprocessor, and writing macros more akin to lisp macros.
for example the index variable of a for loop can't be spliced into
c macros which forced me to expand some macros by hand.