Enter an expression using complex numbers and use the sliders to change variable values. Press space to run a speed test. Angles are in radians. Supported constants: e, pi, i, phi Supported variable names: x, y, z Supported operators: +, - (subtraction and unary minus), *, /, % (modulo of two numbers), ^, ! (factorial), (, ), [, ] Supported functions: round, floor, ceiling, abs, sign, arg, re, im, ord (sum of re and im), min (compares ord values), max, conj (complex conjugate), mod (same as %), sqrt, square, recip (reciprocal), ln, log, exp, sin, cos, tan, asin, acos, atan, sinh, cosh, tanh, asinh, acosh, atanh, gamma Sample expressions: 1 + 2 3x + 1 x^3 - 2x^2 - 3x + 4 x^2/16 + y^2/9 - 1 x*log(x)/log(2) x^y - y^x sqrt((2x + 1/3)pi)(x/e)^x 1 - x^2/2 + x^4/24 - x^6/720 + x^8/40320 ((x^2-9)/(x-3.001))^2+((y^2-9)/(y-3.001))^2-81 This evaluator supports complex numbers and has a number of optimizations to try to make it as fast as possible. It’s usually (not always) faster than @griffpatch’s real number evaluator. However, this comes at the cost of requiring very large scripts. Most functions use a formula provided by WolframAlpha and should produce almost equal results, except mod (which WolframAlpha calculates incorrectly). The factorial and gamma functions also might have a few incorrect digits due to the approximation used. See Inside to learn how to use this. If you find any bugs, please tell me. Credits: Shunting-yard algorithm: https://en.wikipedia.org/wiki/Shunting-yard_algorithm Gamma function approximation: https://en.wikipedia.org/wiki/Lanczos_approximation Various formulas: https://www.wolframalpha.com/ @griffpatch's evaluator: https://scratch.mit.edu/projects/23024829/