*************************************************************************** * Here is a residual program of the last supercompilation by the SCP4. * The residual program is in Refal5. * You have to change the parametrs of the call of FORMULA0 with data. * Please, be carefull: * a) the order of the parametrs can be incorrect; * b) the residual program cannot be supercompiled * without some transformation to a fragment of Refal5; *************************************************************************** $EXTERN Q_DIV ,Q_MUL ,Q_SUB ,Q_ADD ; $ENTRY Go { * = <Prout <FORMULA0 e.B (e.A )>> ; = <Prout <FORMULA0 3 ( 4 )>> ; } * InputFormat: <FORMULA0 e.1 (e.2 ) > FORMULA0 { e.1 (e.2 ) , /* a + bi , e.2 - a , e.1 - b */ <Q_DIV (1 ) e.1 >:e.41 , /* 1 / b */ <Q_MUL (e.2 ) e.41 >:e.42 , /* a / b */ <Q_SUB (0 ) e.42 >:e.43 , /* -a / b */ <Q_DIV (e.43 ) e.1 >:e.44 , /* -a / b^2 */ <Q_MUL (e.2 ) e.44 >:e.45 , /* -a^2 / b^2 */ <Q_SUB (1 ) e.45 >:e.46 , /* ( a^2 + b^2 ) / b^2 */ <Q_MUL (1 ) e.41 >:e.47 , /* 1 / b */ <Q_MUL (1 ) e.44 >:e.48 , /* -a / b^2 */ <Q_ADD (0 ) e.48 >:e.49 , /* -a / b^2 */ <Q_SUB (0 ) e.47 >:e.50 , /* -1 / b */ <Q_DIV (e.50 ) e.46 >:e.53 , /* -b / (a^2 + b^2) */ <Q_SUB (0 ) e.49 >:e.54 , /* a / b^2 */ <Q_DIV (e.54 ) e.46 >:e.57 /* a / (a^2 + b^2) */ = (e.53 ) (e.57 ) ; /* = (a - bi) / (a^2 + b^2) */ } ****************************** The End ************************************