scalar values must not be splat automatically, or we can use functions that are defined on simd/scalar like ellipke