minus x 0 x minus s x s y minus x y quot 0 s y 0 quot s x s y s quot minus x y s y le 0 y true le s x 0 false le s x s y le x y inc s x s inc x inc 0 s 0 log x logIter x 0 logIter x y if le s 0 x le s s 0 x quot x s s 0 inc y if false b x y logZeroError if true false x s y y if true true x y logIter x y minus 2 0 0 s 1 quot 2 le 2 true 0 false 0 inc 1 log 1 logIter 2 if 4 logZeroError 0 FULL ./TRS/Thiemann/logarithm.trs