Consistency f64 and std::Simd<f64, N>

Does anyone know how functions are added to std::Simd? For example, sin() is available in both f64 and std::Simd<f64, N>, but sin_cos() is only available in f64. The same applies to other functions: powf, hypot, atan2, ln_1p, exp_1m etc.
Should we expect std::Simd to include element-by-element emulation (lane-wise scalar fallback) of wide operations/functions?

Because Simd is hard to implement for f32, etc. It also has something to do with predictability and platform compatibility.

Because it's unstable it's pretty haphazard. If it exists on a "major" platform as a real instruction -- not just a sequence polyfill -- you can probably open a PR and it'll be accepted.

But things like ln_1p that are all about extra precision can sometimes be a bit weird for SIMD, which often intentionally does "faster but not necessarily precise everywhere" for things, so it might be that that one just doesn't exist on it.