To make it more clear about what these operators do, I decided to put a list of ALL the operators in the "What you can use" section.
Basically, you're typing a snippet of JS code into the equation box.
So stuff like "if(isFinite(acoth(x)) == true) y = 5/x; if(isFinite(y) == false) y = 0;" can be plotted. Do try that function, by the way.
testtubegames wrote:Now I'm curious what the caret does... since it clearly does something weird.
I'm sure there's a simple explanation, but it's kinda fun to have a non-destructive bug that makes interesting stuff happen.
^ is a bitwise operator in JS, and as ARP said, it is XOR. I have no clue what it's actually doing with what is being operated on, but it works...

Regardless, the non-destructive bug you are talking about Andy, is not a bug, per se

You can try some other interesting operators like >>, <<, >>>, and ~ for example.
Eventually in that little "auto-correct" feature I recently added, I'll start adding some things to auto-correct besides X being lower-case, or arcsin(x) being changed to asin(x). By things, I mean changing x^2 to square(x) or pow(x,2) and such. It will be toggle-able in-case you actually do happen to want to use the XOR operator.
If somebody would be willing to teach me how to do proper equation parsing, I'd be really happy.
eval() has so many vulnerabilities, as it allows the user to run any JS code they want.
Also, added some asymptote plotting features. It is a WIP, but hopefully it should make vertical asymptotes appear where they should.
That means the arc-cotangent of x plots correctly now. (Not sure if I have the inverse hyperbolic functions right in the first place, though...)
Also: Be sure to try the "Random Function" button! It has some pretty neat stuff in there! I'll add to it as well... maybe you could also tell me about a few neat equations.