(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))))) |