Thinking about this some more. It having a NAND style combinator for elementary functions is probably impossible. ln(x) is inescapable as part of the composition in the generator somewhere, and you can't generate subtraction without passing through it which means the whole thing doomed as a project.