(def (ident fn) (decl (list (param (ident x) (option) (option) (False)) (param (ident y) (option) (option) (False)) (param (ident z) (option) (option) (False))) (option)) (list (assign (list (variable (ident q))) (option (None)) (option)) (assign (list (variable (ident q))) (option (- (+ (variable (ident x)) (variable (ident y))) (apply (. (variable (ident z)) (ident sigmoid)) (list) (list)))) (option)) (expression statement (apply (variable (ident print)) (list (variable (ident q))) (list))) (assign (list (variable (ident w))) (option (unary minus (variable (ident z)))) (option)) (if (and (and (not (variable (ident x))) (not (variable (ident y)))) (variable (ident z))) (list (assign (list (variable (ident m))) (option (if (not (variable (ident z))) (variable (ident x)) (variable (ident y)))) (option))) (list)) (while (and (< (variable (ident x)) (variable (ident y))) (> (variable (ident y)) (variable (ident z)))) (list (assign (list (variable (ident q))) (option (variable (ident x))) (option)))) (assert (eq (const 1) (const 1)) (option (string_literal hello))) (return (variable (ident x)))))