Transalg: a Tool for Translating Procedural Descriptions of Discrete Functions to SAT