include ..\Utilitys.pmt 20 var MAX 100000 var ITER def factorial 1 swap for * endfor enddef def expected /# n -- n #/ >ps 0 tps for var i tps factorial tps i power / tps i - factorial / + endfor ps> drop enddef def condition over over bitand not enddef def test /# n -- n #/ 0 >ps ITER for var i 0 1 condition while ps> 1 + >ps bitor over rand * 1 + int 1 - 2 swap power condition endwhile drop drop endfor drop ps> ITER / enddef def printAll len for get print 9 tochar print endfor enddef ( "n" "avg." "exp." "(error%)" ) printAll drop nl ( "==" "======" "======" "========" ) printAll drop nl MAX for var n n test n expected n rot rot over over / 1 swap - abs 100 * 4 tolist printAll drop nl endfor