reinserted simple_complex, since on osx std::complex is 3 times slower, at least