I implemented a similar approximation for a soft limiter in my Rust synthesizer. It is not exactly the same because it approximates the hyperbolic tangents which is only equivalent to atan2 for real-valued arguments IIRC.

atan2

I implemented a similar approximation for a soft limiter in my Rust synthesizer. It is not exactly the same because it approximates the hyperbolic tangents which is only equivalent to

`atan2`

for real-valued arguments IIRC.