Various trees (anything with non-integer exponents acting on a negative number) with throw an ArithmeticException if they are executed, and complex numbers are useful in their own right.
The parser should detect the key variable i (or j?) and create a complex number from it
Exponents should be evaluated via a try - catch, creating a complex number on an exception
Complex numbers should support addition, multiplication, exponentiation, conjugate, etc
Description
Various trees (anything with non-integer exponents acting on a negative number) with throw an ArithmeticException if they are executed, and complex numbers are useful in their own right.