A reversible circuit synthesis algorithm with progressive increase of controls in generalized Toffoli gates