added a functor to simd-real.sml as there is currently a bunch of code duplication