(add=a b.!arg:(?a,?b)&!a+!b) & ( multiply = a b.!arg:(?a,?b)&1+!a*!b+-1 ) & (negate=.1+-1*!arg+-1) & ( conjugate = a b . !arg:i&-i | !arg:-i&i | !arg:?a_?b&(conjugate$!a)_(conjugate$!b) | !arg ) & ( invert = conjugated . conjugate$!arg:?conjugated & multiply$(!arg,!conjugated)^-1*!conjugated ) & out$("(a+i*b)+(a+i*b) =" add$(a+i*b,a+i*b)) & out$("(a+i*b)+(a+-i*b) =" add$(a+i*b,a+-i*b)) & out$("(a+i*b)*(a+i*b) =" multiply$(a+i*b,a+i*b)) & out$("(a+i*b)*(a+-i*b) =" multiply$(a+i*b,a+-i*b)) & out$("-1*(a+i*b) =" negate$(a+i*b)) & out$("-1*(a+-i*b) =" negate$(a+-i*b)) & out$("sin$x = " sin$x) & out$("conjugate sin$x =" conjugate$(sin$x)) & out $ ("sin$x minus conjugate sin$x =" sin$x+negate$(conjugate$(sin$x))) & done;