FUNCTION DomingoDePascoa( nAno )
LOCAL nA, nB, nC, nD, nE, nF, nG, nH, nI, nK, nL, nM, nMes, nDia
nA := nAno % 19
nB := Int( nAno / 100 )
nC := nAno % 100
nD := Int( nB / 4 )
nE := nB % 4
nF := Int( ( nB + 8 ) / 25 )
nG := Int( ( nB - nF + 1 ) / 3 )
nH := ( 19 * nA + nB - nD - nG + 15 ) % 30
nI := Int( nC / 4 )
nK := nC % 4
nL := ( 32 + 2 * nE + 2 * nI - nH - nK ) % 7
nM := Int( ( nA + 11 * nH + 22 * nL ) / 451 )
nMes := Int( ( nH + nL - 7 * nM + 114 ) / 31 )
nDia := ( ( nH + nL - 7 * nM + 114 ) % 31 ) + 1
RETURN Stod( StrZero( nAno, 4 ) + StrZero( nMes, 2 ) + StrZero( nDia, 2 ) )
À primeira vista, uma parte é pra simplificar o cálculo, talvez pra usar números menores e/ou fazer a mão.