use vector_of to compute result type of constants instead of using same SIMD extension