Comments are {pascal style}, no nesting

Commands:
var = expr assign var to expr
out(var) output var

Expressions (precedence tight to loose):
in(id) Input (id is a integer)
s(a) Sigmoid
- x Negation
a << b, a >> b Shift (b must be a constant)
a * b Multiply
a + b Plus (Choice between + and C is automatic)
a ? b Compare, a ^ b Max

Implemented optimizations:
Common sub-expression elimination

Decimal arith using decimal.js
Parsed using pegjs

Warning: precision is not very good with sigmoid
[Share your fleas]