Since your data is scaled "extremely", you need to either rescale as you did or wire the weight. I prefer to leave the data alone and wire the weight instead. A good guess would be 1/variance in the y data. Try e.g. 1e24.
The main problem however is that there is an error in your model function: You forgot to hook up the input to erf(x)! That's why it did not work after rescaling.
The attached modification show how to use weights instead of data scaling.
I have cleaned up your model function a little bit. Remember, there are primitives for square and squareroot, etc. It's just much more readable.