/* alglib1.c */

/* generated by GNU MARST -- Algol-to-C Translator, Version 2.7 */

#include "algol.h"

extern struct desc abs_0 /* precompiled real procedure */
(     struct arg /* E: by value real */
);

extern struct desc iabs_0 /* precompiled integer procedure */
(     struct arg /* E: by value integer */
);

extern struct desc sign_0 /* precompiled integer procedure */
(     struct arg /* E: by value real */
);

extern struct desc entier_0 /* precompiled integer procedure */
(     struct arg /* E: by value real */
);

extern struct desc sqrt_0 /* precompiled real procedure */
(     struct arg /* E: by value real */
);

extern struct desc sin_0 /* precompiled real procedure */
(     struct arg /* E: by value real */
);

extern struct desc cos_0 /* precompiled real procedure */
(     struct arg /* E: by value real */
);

extern struct desc arctan_0 /* precompiled real procedure */
(     struct arg /* E: by value real */
);

extern struct desc ln_0 /* precompiled real procedure */
(     struct arg /* E: by value real */
);

extern struct desc exp_0 /* precompiled real procedure */
(     struct arg /* E: by value real */
);

extern struct desc stop_0 /* precompiled void procedure */ (void);

extern struct desc fault_0 /* precompiled void procedure */
(     struct arg /* str: by name string */,
      struct arg /* r: by value real */
);

extern struct desc inchar_0 /* precompiled void procedure */
(     struct arg /* channel: by value integer */,
      struct arg /* str: by name string */,
      struct arg /* int: by name integer */
);

extern struct desc outchar_0 /* precompiled void procedure */
(     struct arg /* channel: by value integer */,
      struct arg /* str: by name string */,
      struct arg /* int: by value integer */
);

extern struct desc length_0 /* precompiled integer procedure */
(     struct arg /* str: by name string */
);

extern struct desc outstring_0 /* precompiled void procedure */
(     struct arg /* channel: by value integer */,
      struct arg /* str: by name string */
);

extern struct desc outterminator_0 /* precompiled void procedure */
(     struct arg /* channel: by value integer */
);

extern struct desc ininteger_0 /* precompiled void procedure */
(     struct arg /* channel: by value integer */,
      struct arg /* int: by name integer */
);

extern struct desc outinteger_0 /* precompiled void procedure */
(     struct arg /* channel: by value integer */,
      struct arg /* int: by value integer */
);

extern struct desc inreal_0 /* precompiled void procedure */
(     struct arg /* channel: by value integer */,
      struct arg /* re: by name real */
);

extern struct desc outreal_0 /* precompiled void procedure */
(     struct arg /* channel: by value integer */,
      struct arg /* re: by value real */
);

extern struct desc maxreal_0 /* precompiled real procedure */ (void);

extern struct desc minreal_0 /* precompiled real procedure */ (void);

extern struct desc maxint_0 /* precompiled integer procedure */ (void);

extern struct desc epsilon_0 /* precompiled real procedure */ (void);

struct dsa_abs_0
{     /* procedure abs (level 0) declared at line 26 */
      char *proc;
      char *file;
      int line;
      struct dsa *parent;
      struct dsa *vector[0+1];
      /* level of innermost block = 1 */
      struct mem *old_top_0;
      struct mem *new_top_0;
      struct mem *old_top_1;
      struct mem *new_top_1;
      /* procedure block 1 (level 0) beginning at line 26 */
      struct desc retval;
      /* E: by value real
         specified at line 27 and first referenced at line 28 */
      double E_1;
      /* local block 2 (level 1) beginning at line 28 */
};

struct dsa_iabs_0
{     /* procedure iabs (level 0) declared at line 30 */
      char *proc;
      char *file;
      int line;
      struct dsa *parent;
      struct dsa *vector[0+1];
      /* level of innermost block = 1 */
      struct mem *old_top_0;
      struct mem *new_top_0;
      struct mem *old_top_1;
      struct mem *new_top_1;
      /* procedure block 3 (level 0) beginning at line 30 */
      struct desc retval;
      /* E: by value integer
         specified at line 31 and first referenced at line 32 */
      int E_3;
      /* local block 4 (level 1) beginning at line 32 */
};

struct dsa_sign_0
{     /* procedure sign (level 0) declared at line 34 */
      char *proc;
      char *file;
      int line;
      struct dsa *parent;
      struct dsa *vector[0+1];
      /* level of innermost block = 1 */
      struct mem *old_top_0;
      struct mem *new_top_0;
      struct mem *old_top_1;
      struct mem *new_top_1;
      /* procedure block 5 (level 0) beginning at line 34 */
      struct desc retval;
      /* E: by value real
         specified at line 35 and first referenced at line 36 */
      double E_5;
      /* local block 6 (level 1) beginning at line 36 */
};

struct dsa_entier_0
{     /* procedure entier (level 0) declared at line 39 */
      char *proc;
      char *file;
      int line;
      struct dsa *parent;
      struct dsa *vector[0+1];
      /* level of innermost block = 2 */
      struct mem *old_top_0;
      struct mem *new_top_0;
      struct mem *old_top_1;
      struct mem *new_top_1;
      struct mem *old_top_2;
      struct mem *new_top_2;
      /* procedure block 7 (level 0) beginning at line 39 */
      struct desc retval;
      /* E: by value real
         specified at line 40 and first referenced at line 45 */
      double E_7;
      /* local block 8 (level 1) beginning at line 43 */
      /* local block 9 (level 2) beginning at line 44 */
      /* j: integer
         declared at line 44 and first referenced at line 45 */
      int j_9;
};

struct dsa_sqrt_0
{     /* procedure sqrt (level 0) declared at line 51 */
      char *proc;
      char *file;
      int line;
      struct dsa *parent;
      struct dsa *vector[0+1];
      /* level of innermost block = 1 */
      struct mem *old_top_0;
      struct mem *new_top_0;
      struct mem *old_top_1;
      struct mem *new_top_1;
      /* procedure block 10 (level 0) beginning at line 51 */
      struct desc retval;
      /* E: by value real
         specified at line 52 and first referenced at line 53 */
      double E_10;
      /* local block 11 (level 1) beginning at line 53 */
};

struct dsa_sin_0
{     /* procedure sin (level 0) declared at line 58 */
      char *proc;
      char *file;
      int line;
      struct dsa *parent;
      struct dsa *vector[0+1];
      /* level of innermost block = 1 */
      struct mem *old_top_0;
      struct mem *new_top_0;
      struct mem *old_top_1;
      struct mem *new_top_1;
      /* procedure block 12 (level 0) beginning at line 58 */
      struct desc retval;
      /* E: by value real
         specified at line 59 and never referenced */
      double E_12;
      /* local block 13 (level 1) beginning at line 61 */
};

struct dsa_cos_0
{     /* procedure cos (level 0) declared at line 63 */
      char *proc;
      char *file;
      int line;
      struct dsa *parent;
      struct dsa *vector[0+1];
      /* level of innermost block = 1 */
      struct mem *old_top_0;
      struct mem *new_top_0;
      struct mem *old_top_1;
      struct mem *new_top_1;
      /* procedure block 14 (level 0) beginning at line 63 */
      struct desc retval;
      /* E: by value real
         specified at line 64 and never referenced */
      double E_14;
      /* local block 15 (level 1) beginning at line 66 */
};

struct dsa_arctan_0
{     /* procedure arctan (level 0) declared at line 68 */
      char *proc;
      char *file;
      int line;
      struct dsa *parent;
      struct dsa *vector[0+1];
      /* level of innermost block = 1 */
      struct mem *old_top_0;
      struct mem *new_top_0;
      struct mem *old_top_1;
      struct mem *new_top_1;
      /* procedure block 16 (level 0) beginning at line 68 */
      struct desc retval;
      /* E: by value real
         specified at line 69 and never referenced */
      double E_16;
      /* local block 17 (level 1) beginning at line 72 */
};

struct dsa_ln_0
{     /* procedure ln (level 0) declared at line 74 */
      char *proc;
      char *file;
      int line;
      struct dsa *parent;
      struct dsa *vector[0+1];
      /* level of innermost block = 1 */
      struct mem *old_top_0;
      struct mem *new_top_0;
      struct mem *old_top_1;
      struct mem *new_top_1;
      /* procedure block 18 (level 0) beginning at line 74 */
      struct desc retval;
      /* E: by value real
         specified at line 75 and first referenced at line 77 */
      double E_18;
      /* local block 19 (level 1) beginning at line 77 */
};

struct dsa_exp_0
{     /* procedure exp (level 0) declared at line 82 */
      char *proc;
      char *file;
      int line;
      struct dsa *parent;
      struct dsa *vector[0+1];
      /* level of innermost block = 1 */
      struct mem *old_top_0;
      struct mem *new_top_0;
      struct mem *old_top_1;
      struct mem *new_top_1;
      /* procedure block 20 (level 0) beginning at line 82 */
      struct desc retval;
      /* E: by value real
         specified at line 83 and first referenced at line 85 */
      double E_20;
      /* local block 21 (level 1) beginning at line 85 */
};

struct dsa_stop_0
{     /* procedure stop (level 0) declared at line 92 */
      char *proc;
      char *file;
      int line;
      struct dsa *parent;
      struct dsa *vector[0+1];
      /* level of innermost block = 1 */
      struct mem *old_top_0;
      struct mem *new_top_0;
      struct mem *old_top_1;
      struct mem *new_top_1;
      /* procedure block 22 (level 0) beginning at line 92 */
      struct desc retval;
      /* local block 23 (level 1) beginning at line 93 */
};

struct dsa_fault_0
{     /* procedure fault (level 0) declared at line 95 */
      char *proc;
      char *file;
      int line;
      struct dsa *parent;
      struct dsa *vector[0+1];
      /* level of innermost block = 1 */
      struct mem *old_top_0;
      struct mem *new_top_0;
      struct mem *old_top_1;
      struct mem *new_top_1;
      /* procedure block 24 (level 0) beginning at line 95 */
      struct desc retval;
      /* str: by name string
         specified at line 96 and never referenced */
      char *str_24;
      /* r: by value real
         specified at line 96 and never referenced */
      double r_24;
      /* local block 25 (level 1) beginning at line 97 */
};

struct dsa_inchar_0
{     /* procedure inchar (level 0) declared at line 101 */
      char *proc;
      char *file;
      int line;
      struct dsa *parent;
      struct dsa *vector[0+1];
      /* level of innermost block = 2 */
      struct mem *old_top_0;
      struct mem *new_top_0;
      struct mem *old_top_1;
      struct mem *new_top_1;
      struct mem *old_top_2;
      struct mem *new_top_2;
      /* procedure block 26 (level 0) beginning at line 101 */
      struct desc retval;
      /* channel: by value integer
         specified at line 103 and never referenced */
      int channel_26;
      /* str: by name string
         specified at line 103 and never referenced */
      char *str_26;
      /* int: by name integer
         specified at line 103 and first referenced at line 114 */
      struct arg int_26;
      /* local block 27 (level 1) beginning at line 107 */
      /* local block 28 (level 2) beginning at line 108 */
      /* val: integer
         declared at line 108 and first referenced at line 114 */
      int val_28;
};

struct dsa_outchar_0
{     /* procedure outchar (level 0) declared at line 117 */
      char *proc;
      char *file;
      int line;
      struct dsa *parent;
      struct dsa *vector[0+1];
      /* level of innermost block = 1 */
      struct mem *old_top_0;
      struct mem *new_top_0;
      struct mem *old_top_1;
      struct mem *new_top_1;
      /* procedure block 29 (level 0) beginning at line 117 */
      struct desc retval;
      /* channel: by value integer
         specified at line 119 and never referenced */
      int channel_29;
      /* str: by name string
         specified at line 119 and first referenced at line 122 */
      char *str_29;
      /* int: by value integer
         specified at line 119 and first referenced at line 122 */
      int int_29;
      /* local block 30 (level 1) beginning at line 122 */
};

struct dsa_length_0
{     /* procedure length (level 0) declared at line 128 */
      char *proc;
      char *file;
      int line;
      struct dsa *parent;
      struct dsa *vector[0+1];
      /* level of innermost block = 1 */
      struct mem *old_top_0;
      struct mem *new_top_0;
      struct mem *old_top_1;
      struct mem *new_top_1;
      /* procedure block 31 (level 0) beginning at line 128 */
      struct desc retval;
      /* str: by name string
         specified at line 130 and never referenced */
      char *str_31;
      /* local block 32 (level 1) beginning at line 131 */
};

struct dsa_outstring_0
{     /* procedure outstring (level 0) declared at line 133 */
      char *proc;
      char *file;
      int line;
      struct dsa *parent;
      struct dsa *vector[0+1];
      /* level of innermost block = 1 */
      struct mem *old_top_0;
      struct mem *new_top_0;
      struct mem *old_top_1;
      struct mem *new_top_1;
      /* procedure block 33 (level 0) beginning at line 133 */
      struct desc retval;
      /* channel: by value integer
         specified at line 135 and never referenced */
      int channel_33;
      /* str: by name string
         specified at line 135 and never referenced */
      char *str_33;
      /* local block 34 (level 1) beginning at line 136 */
};

struct dsa_outterminator_0
{     /* procedure outterminator (level 0) declared at line 138 */
      char *proc;
      char *file;
      int line;
      struct dsa *parent;
      struct dsa *vector[0+1];
      /* level of innermost block = 1 */
      struct mem *old_top_0;
      struct mem *new_top_0;
      struct mem *old_top_1;
      struct mem *new_top_1;
      /* procedure block 35 (level 0) beginning at line 138 */
      struct desc retval;
      /* channel: by value integer
         specified at line 139 and never referenced */
      int channel_35;
      /* local block 36 (level 1) beginning at line 141 */
};

struct dsa_ininteger_0
{     /* procedure ininteger (level 0) declared at line 143 */
      char *proc;
      char *file;
      int line;
      struct dsa *parent;
      struct dsa *vector[0+1];
      /* level of innermost block = 2 */
      struct mem *old_top_0;
      struct mem *new_top_0;
      struct mem *old_top_1;
      struct mem *new_top_1;
      struct mem *old_top_2;
      struct mem *new_top_2;
      /* procedure block 37 (level 0) beginning at line 143 */
      struct desc retval;
      /* channel: by value integer
         specified at line 144 and never referenced */
      int channel_37;
      /* int: by name integer
         specified at line 144 and first referenced at line 149 */
      struct arg int_37;
      /* local block 38 (level 1) beginning at line 146 */
      /* local block 39 (level 2) beginning at line 147 */
      /* val: integer
         declared at line 147 and first referenced at line 149 */
      int val_39;
};

struct dsa_outinteger_0
{     /* procedure outinteger (level 0) declared at line 152 */
      char *proc;
      char *file;
      int line;
      struct dsa *parent;
      struct dsa *vector[0+1];
      /* level of innermost block = 1 */
      struct mem *old_top_0;
      struct mem *new_top_0;
      struct mem *old_top_1;
      struct mem *new_top_1;
      /* procedure block 40 (level 0) beginning at line 152 */
      struct desc retval;
      /* channel: by value integer
         specified at line 154 and never referenced */
      int channel_40;
      /* int: by value integer
         specified at line 154 and never referenced */
      int int_40;
      /* local block 41 (level 1) beginning at line 157 */
};

struct dsa_inreal_0
{     /* procedure inreal (level 0) declared at line 159 */
      char *proc;
      char *file;
      int line;
      struct dsa *parent;
      struct dsa *vector[0+1];
      /* level of innermost block = 2 */
      struct mem *old_top_0;
      struct mem *new_top_0;
      struct mem *old_top_1;
      struct mem *new_top_1;
      struct mem *old_top_2;
      struct mem *new_top_2;
      /* procedure block 42 (level 0) beginning at line 159 */
      struct desc retval;
      /* channel: by value integer
         specified at line 161 and never referenced */
      int channel_42;
      /* re: by name real
         specified at line 161 and first referenced at line 166 */
      struct arg re_42;
      /* local block 43 (level 1) beginning at line 163 */
      /* local block 44 (level 2) beginning at line 164 */
      /* val: real
         declared at line 164 and first referenced at line 166 */
      double val_44;
};

struct dsa_outreal_0
{     /* procedure outreal (level 0) declared at line 169 */
      char *proc;
      char *file;
      int line;
      struct dsa *parent;
      struct dsa *vector[0+1];
      /* level of innermost block = 1 */
      struct mem *old_top_0;
      struct mem *new_top_0;
      struct mem *old_top_1;
      struct mem *new_top_1;
      /* procedure block 45 (level 0) beginning at line 169 */
      struct desc retval;
      /* channel: by value integer
         specified at line 171 and never referenced */
      int channel_45;
      /* re: by value real
         specified at line 171 and never referenced */
      double re_45;
      /* local block 46 (level 1) beginning at line 174 */
};

struct dsa_maxreal_0
{     /* procedure maxreal (level 0) declared at line 178 */
      char *proc;
      char *file;
      int line;
      struct dsa *parent;
      struct dsa *vector[0+1];
      /* level of innermost block = 1 */
      struct mem *old_top_0;
      struct mem *new_top_0;
      struct mem *old_top_1;
      struct mem *new_top_1;
      /* procedure block 47 (level 0) beginning at line 178 */
      struct desc retval;
      /* local block 48 (level 1) beginning at line 179 */
};

struct dsa_minreal_0
{     /* procedure minreal (level 0) declared at line 181 */
      char *proc;
      char *file;
      int line;
      struct dsa *parent;
      struct dsa *vector[0+1];
      /* level of innermost block = 1 */
      struct mem *old_top_0;
      struct mem *new_top_0;
      struct mem *old_top_1;
      struct mem *new_top_1;
      /* procedure block 49 (level 0) beginning at line 181 */
      struct desc retval;
      /* local block 50 (level 1) beginning at line 182 */
};

struct dsa_maxint_0
{     /* procedure maxint (level 0) declared at line 184 */
      char *proc;
      char *file;
      int line;
      struct dsa *parent;
      struct dsa *vector[0+1];
      /* level of innermost block = 1 */
      struct mem *old_top_0;
      struct mem *new_top_0;
      struct mem *old_top_1;
      struct mem *new_top_1;
      /* procedure block 51 (level 0) beginning at line 184 */
      struct desc retval;
      /* local block 52 (level 1) beginning at line 185 */
};

struct dsa_epsilon_0
{     /* procedure epsilon (level 0) declared at line 198 */
      char *proc;
      char *file;
      int line;
      struct dsa *parent;
      struct dsa *vector[0+1];
      /* level of innermost block = 1 */
      struct mem *old_top_0;
      struct mem *new_top_0;
      struct mem *old_top_1;
      struct mem *new_top_1;
      /* procedure block 53 (level 0) beginning at line 198 */
      struct desc retval;
      /* local block 54 (level 1) beginning at line 202 */
};

struct desc abs_0 /* precompiled real procedure */
(     struct arg E_1 /* by value real */
)
{     struct dsa_abs_0 my_dsa;
      register struct dsa_abs_0 *dsa_0 = &my_dsa;
      my_dsa.proc = "abs";
      my_dsa.file = "alglib1.alg";
      my_dsa.line = 26;
      my_dsa.parent = active_dsa, active_dsa = (struct dsa *)&my_dsa;
      my_dsa.vector[0] = (void *)dsa_0;
      /* start of procedure block 1 (level 0) at line 26 */
      dsa_0->old_top_0 = stack_top;
      my_dsa.line = 27;
      my_dsa.E_1 = get_real((global_dsa = E_1.arg2, (*(struct desc (*)(
         void))E_1.arg1)()));
      dsa_0->new_top_0 = stack_top;
      /* start of local block 2 (level 1) at line 28 */
      dsa_0->old_top_1 = stack_top;
      dsa_0->new_top_1 = stack_top;
      dsa_0->line = 28;
      dsa_0->retval.u.real_val = ((notless(dsa_0->E_1, .0)) ? (
         dsa_0->E_1) : (-dsa_0->E_1));
      pop_stack(dsa_0->old_top_1);
      /* end of block 2 */
      pop_stack(dsa_0->old_top_0);
      /* end of block 1 */
      my_dsa.retval.lval = 0;
      my_dsa.retval.type = 'r';
      active_dsa = my_dsa.parent;
      return my_dsa.retval;
}

struct desc iabs_0 /* precompiled integer procedure */
(     struct arg E_3 /* by value integer */
)
{     struct dsa_iabs_0 my_dsa;
      register struct dsa_iabs_0 *dsa_0 = &my_dsa;
      my_dsa.proc = "iabs";
      my_dsa.file = "alglib1.alg";
      my_dsa.line = 30;
      my_dsa.parent = active_dsa, active_dsa = (struct dsa *)&my_dsa;
      my_dsa.vector[0] = (void *)dsa_0;
      /* start of procedure block 3 (level 0) at line 30 */
      dsa_0->old_top_0 = stack_top;
      my_dsa.line = 31;
      my_dsa.E_3 = get_int((global_dsa = E_3.arg2, (*(struct desc (*)(
         void))E_3.arg1)()));
      dsa_0->new_top_0 = stack_top;
      /* start of local block 4 (level 1) at line 32 */
      dsa_0->old_top_1 = stack_top;
      dsa_0->new_top_1 = stack_top;
      dsa_0->line = 32;
      dsa_0->retval.u.int_val = ((notless(dsa_0->E_3, 0)) ? (dsa_0->E_3)
          : (-dsa_0->E_3));
      pop_stack(dsa_0->old_top_1);
      /* end of block 4 */
      pop_stack(dsa_0->old_top_0);
      /* end of block 3 */
      my_dsa.retval.lval = 0;
      my_dsa.retval.type = 'i';
      active_dsa = my_dsa.parent;
      return my_dsa.retval;
}

struct desc sign_0 /* precompiled integer procedure */
(     struct arg E_5 /* by value real */
)
{     struct dsa_sign_0 my_dsa;
      register struct dsa_sign_0 *dsa_0 = &my_dsa;
      my_dsa.proc = "sign";
      my_dsa.file = "alglib1.alg";
      my_dsa.line = 34;
      my_dsa.parent = active_dsa, active_dsa = (struct dsa *)&my_dsa;
      my_dsa.vector[0] = (void *)dsa_0;
      /* start of procedure block 5 (level 0) at line 34 */
      dsa_0->old_top_0 = stack_top;
      my_dsa.line = 35;
      my_dsa.E_5 = get_real((global_dsa = E_5.arg2, (*(struct desc (*)(
         void))E_5.arg1)()));
      dsa_0->new_top_0 = stack_top;
      /* start of local block 6 (level 1) at line 36 */
      dsa_0->old_top_1 = stack_top;
      dsa_0->new_top_1 = stack_top;
      dsa_0->line = 36;
      dsa_0->retval.u.int_val = ((greater(dsa_0->E_5, .0)) ? (1) : (((
         less(dsa_0->E_5, .0)) ? (-1) : (0))));
      pop_stack(dsa_0->old_top_1);
      /* end of block 6 */
      pop_stack(dsa_0->old_top_0);
      /* end of block 5 */
      my_dsa.retval.lval = 0;
      my_dsa.retval.type = 'i';
      active_dsa = my_dsa.parent;
      return my_dsa.retval;
}

struct desc entier_0 /* precompiled integer procedure */
(     struct arg E_7 /* by value real */
)
{     struct dsa_entier_0 my_dsa;
      register struct dsa_entier_0 *dsa_0 = &my_dsa;
      my_dsa.proc = "entier";
      my_dsa.file = "alglib1.alg";
      my_dsa.line = 39;
      my_dsa.parent = active_dsa, active_dsa = (struct dsa *)&my_dsa;
      my_dsa.vector[0] = (void *)dsa_0;
      /* start of procedure block 7 (level 0) at line 39 */
      dsa_0->old_top_0 = stack_top;
      my_dsa.line = 40;
      my_dsa.E_7 = get_real((global_dsa = E_7.arg2, (*(struct desc (*)(
         void))E_7.arg1)()));
      dsa_0->new_top_0 = stack_top;
      /* start of local block 8 (level 1) at line 43 */
      dsa_0->old_top_1 = stack_top;
      dsa_0->new_top_1 = stack_top;
      dsa_0->line = 43;
      /* start of local block 9 (level 2) at line 44 */
      dsa_0->old_top_2 = stack_top;
      dsa_0->new_top_2 = stack_top;
      dsa_0->line = 45;
      dsa_0->j_9 = real2int(dsa_0->E_7);
      dsa_0->line = 46;
      dsa_0->retval.u.int_val = ((greater(int2real(dsa_0->j_9), 
         dsa_0->E_7)) ? (dsa_0->j_9 - 1) : (dsa_0->j_9));
      pop_stack(dsa_0->old_top_2);
      /* end of block 9 */
      pop_stack(dsa_0->old_top_1);
      /* end of block 8 */
      pop_stack(dsa_0->old_top_0);
      /* end of block 7 */
      my_dsa.retval.lval = 0;
      my_dsa.retval.type = 'i';
      active_dsa = my_dsa.parent;
      return my_dsa.retval;
}

static struct desc _thunk_1(void)
{     /* actual parameter at line 54 */
      struct desc res;
      register struct dsa_sqrt_0 *dsa_0 = (void *)global_dsa->vector[0];
      dsa_0->line = 54;
      res.lval = 1;
      res.type = 'r';
      res.u.real_ptr = &(dsa_0->E_10);
      return res;
}

struct desc sqrt_0 /* precompiled real procedure */
(     struct arg E_10 /* by value real */
)
{     struct dsa_sqrt_0 my_dsa;
      register struct dsa_sqrt_0 *dsa_0 = &my_dsa;
      my_dsa.proc = "sqrt";
      my_dsa.file = "alglib1.alg";
      my_dsa.line = 51;
      my_dsa.parent = active_dsa, active_dsa = (struct dsa *)&my_dsa;
      my_dsa.vector[0] = (void *)dsa_0;
      /* start of procedure block 10 (level 0) at line 51 */
      dsa_0->old_top_0 = stack_top;
      my_dsa.line = 52;
      my_dsa.E_10 = get_real((global_dsa = E_10.arg2, (*(struct desc (*)
         (void))E_10.arg1)()));
      dsa_0->new_top_0 = stack_top;
      /* start of local block 11 (level 1) at line 53 */
      dsa_0->old_top_1 = stack_top;
      dsa_0->new_top_1 = stack_top;
      dsa_0->line = 53;
      if (!(less(dsa_0->E_10, .0))) goto _gamma_1;
      dsa_0->line = 54;
      ((global_dsa = (void *)dsa_0, fault_0(make_arg("negative sqrt", 
         NULL), make_arg((void *)_thunk_1, dsa_0))));
      goto _omega_1;
_gamma_1:
      dsa_0->line = 56;
      /* inline code */
      my_dsa.retval.u.real_val = sqrt(my_dsa.E_10);
_omega_1:
      pop_stack(dsa_0->old_top_1);
      /* end of block 11 */
      pop_stack(dsa_0->old_top_0);
      /* end of block 10 */
      my_dsa.retval.lval = 0;
      my_dsa.retval.type = 'r';
      active_dsa = my_dsa.parent;
      return my_dsa.retval;
}

struct desc sin_0 /* precompiled real procedure */
(     struct arg E_12 /* by value real */
)
{     struct dsa_sin_0 my_dsa;
      register struct dsa_sin_0 *dsa_0 = &my_dsa;
      my_dsa.proc = "sin";
      my_dsa.file = "alglib1.alg";
      my_dsa.line = 58;
      my_dsa.parent = active_dsa, active_dsa = (struct dsa *)&my_dsa;
      my_dsa.vector[0] = (void *)dsa_0;
      /* start of procedure block 12 (level 0) at line 58 */
      dsa_0->old_top_0 = stack_top;
      my_dsa.line = 59;
      my_dsa.E_12 = get_real((global_dsa = E_12.arg2, (*(struct desc (*)
         (void))E_12.arg1)()));
      dsa_0->new_top_0 = stack_top;
      /* start of local block 13 (level 1) at line 61 */
      dsa_0->old_top_1 = stack_top;
      dsa_0->new_top_1 = stack_top;
      dsa_0->line = 61;
      /* inline code */
      my_dsa.retval.u.real_val = sin(my_dsa.E_12);
      pop_stack(dsa_0->old_top_1);
      /* end of block 13 */
      pop_stack(dsa_0->old_top_0);
      /* end of block 12 */
      my_dsa.retval.lval = 0;
      my_dsa.retval.type = 'r';
      active_dsa = my_dsa.parent;
      return my_dsa.retval;
}

struct desc cos_0 /* precompiled real procedure */
(     struct arg E_14 /* by value real */
)
{     struct dsa_cos_0 my_dsa;
      register struct dsa_cos_0 *dsa_0 = &my_dsa;
      my_dsa.proc = "cos";
      my_dsa.file = "alglib1.alg";
      my_dsa.line = 63;
      my_dsa.parent = active_dsa, active_dsa = (struct dsa *)&my_dsa;
      my_dsa.vector[0] = (void *)dsa_0;
      /* start of procedure block 14 (level 0) at line 63 */
      dsa_0->old_top_0 = stack_top;
      my_dsa.line = 64;
      my_dsa.E_14 = get_real((global_dsa = E_14.arg2, (*(struct desc (*)
         (void))E_14.arg1)()));
      dsa_0->new_top_0 = stack_top;
      /* start of local block 15 (level 1) at line 66 */
      dsa_0->old_top_1 = stack_top;
      dsa_0->new_top_1 = stack_top;
      dsa_0->line = 66;
      /* inline code */
      my_dsa.retval.u.real_val = cos(my_dsa.E_14);
      pop_stack(dsa_0->old_top_1);
      /* end of block 15 */
      pop_stack(dsa_0->old_top_0);
      /* end of block 14 */
      my_dsa.retval.lval = 0;
      my_dsa.retval.type = 'r';
      active_dsa = my_dsa.parent;
      return my_dsa.retval;
}

struct desc arctan_0 /* precompiled real procedure */
(     struct arg E_16 /* by value real */
)
{     struct dsa_arctan_0 my_dsa;
      register struct dsa_arctan_0 *dsa_0 = &my_dsa;
      my_dsa.proc = "arctan";
      my_dsa.file = "alglib1.alg";
      my_dsa.line = 68;
      my_dsa.parent = active_dsa, active_dsa = (struct dsa *)&my_dsa;
      my_dsa.vector[0] = (void *)dsa_0;
      /* start of procedure block 16 (level 0) at line 68 */
      dsa_0->old_top_0 = stack_top;
      my_dsa.line = 69;
      my_dsa.E_16 = get_real((global_dsa = E_16.arg2, (*(struct desc (*)
         (void))E_16.arg1)()));
      dsa_0->new_top_0 = stack_top;
      /* start of local block 17 (level 1) at line 72 */
      dsa_0->old_top_1 = stack_top;
      dsa_0->new_top_1 = stack_top;
      dsa_0->line = 72;
      /* inline code */
      my_dsa.retval.u.real_val = atan(my_dsa.E_16);
      pop_stack(dsa_0->old_top_1);
      /* end of block 17 */
      pop_stack(dsa_0->old_top_0);
      /* end of block 16 */
      my_dsa.retval.lval = 0;
      my_dsa.retval.type = 'r';
      active_dsa = my_dsa.parent;
      return my_dsa.retval;
}

static struct desc _thunk_2(void)
{     /* actual parameter at line 78 */
      struct desc res;
      register struct dsa_ln_0 *dsa_0 = (void *)global_dsa->vector[0];
      dsa_0->line = 78;
      res.lval = 1;
      res.type = 'r';
      res.u.real_ptr = &(dsa_0->E_18);
      return res;
}

struct desc ln_0 /* precompiled real procedure */
(     struct arg E_18 /* by value real */
)
{     struct dsa_ln_0 my_dsa;
      register struct dsa_ln_0 *dsa_0 = &my_dsa;
      my_dsa.proc = "ln";
      my_dsa.file = "alglib1.alg";
      my_dsa.line = 74;
      my_dsa.parent = active_dsa, active_dsa = (struct dsa *)&my_dsa;
      my_dsa.vector[0] = (void *)dsa_0;
      /* start of procedure block 18 (level 0) at line 74 */
      dsa_0->old_top_0 = stack_top;
      my_dsa.line = 75;
      my_dsa.E_18 = get_real((global_dsa = E_18.arg2, (*(struct desc (*)
         (void))E_18.arg1)()));
      dsa_0->new_top_0 = stack_top;
      /* start of local block 19 (level 1) at line 77 */
      dsa_0->old_top_1 = stack_top;
      dsa_0->new_top_1 = stack_top;
      dsa_0->line = 77;
      if (!(notgreater(dsa_0->E_18, .0))) goto _gamma_2;
      dsa_0->line = 78;
      ((global_dsa = (void *)dsa_0, fault_0(make_arg("ln not positive", 
         NULL), make_arg((void *)_thunk_2, dsa_0))));
      goto _omega_2;
_gamma_2:
      dsa_0->line = 80;
      /* inline code */
      my_dsa.retval.u.real_val = log(my_dsa.E_18);
_omega_2:
      pop_stack(dsa_0->old_top_1);
      /* end of block 19 */
      pop_stack(dsa_0->old_top_0);
      /* end of block 18 */
      my_dsa.retval.lval = 0;
      my_dsa.retval.type = 'r';
      active_dsa = my_dsa.parent;
      return my_dsa.retval;
}

static struct desc _thunk_3(void)
{     /* actual parameter at line 86 */
      struct desc res;
      register struct dsa_exp_0 *dsa_0 = (void *)global_dsa->vector[0];
      dsa_0->line = 86;
      res.lval = 1;
      res.type = 'r';
      res.u.real_ptr = &(dsa_0->E_20);
      return res;
}

struct desc exp_0 /* precompiled real procedure */
(     struct arg E_20 /* by value real */
)
{     struct dsa_exp_0 my_dsa;
      register struct dsa_exp_0 *dsa_0 = &my_dsa;
      my_dsa.proc = "exp";
      my_dsa.file = "alglib1.alg";
      my_dsa.line = 82;
      my_dsa.parent = active_dsa, active_dsa = (struct dsa *)&my_dsa;
      my_dsa.vector[0] = (void *)dsa_0;
      /* start of procedure block 20 (level 0) at line 82 */
      dsa_0->old_top_0 = stack_top;
      my_dsa.line = 83;
      my_dsa.E_20 = get_real((global_dsa = E_20.arg2, (*(struct desc (*)
         (void))E_20.arg1)()));
      dsa_0->new_top_0 = stack_top;
      /* start of local block 21 (level 1) at line 85 */
      dsa_0->old_top_1 = stack_top;
      dsa_0->new_top_1 = stack_top;
      dsa_0->line = 85;
      if (!(greater(dsa_0->E_20, get_real((global_dsa = (void *)dsa_0, 
         ln_0(make_arg((void *)maxreal_0, dsa_0))))))) goto _gamma_3;
      dsa_0->line = 86;
      ((global_dsa = (void *)dsa_0, fault_0(make_arg("overflow on exp", 
         NULL), make_arg((void *)_thunk_3, dsa_0))));
      goto _omega_3;
_gamma_3:
      dsa_0->line = 88;
      /* inline code */
      my_dsa.retval.u.real_val = exp(my_dsa.E_20);
_omega_3:
      pop_stack(dsa_0->old_top_1);
      /* end of block 21 */
      pop_stack(dsa_0->old_top_0);
      /* end of block 20 */
      my_dsa.retval.lval = 0;
      my_dsa.retval.type = 'r';
      active_dsa = my_dsa.parent;
      return my_dsa.retval;
}

struct desc stop_0 /* precompiled void procedure */ (void)
{     struct dsa_stop_0 my_dsa;
      register struct dsa_stop_0 *dsa_0 = &my_dsa;
      my_dsa.proc = "stop";
      my_dsa.file = "alglib1.alg";
      my_dsa.line = 92;
      my_dsa.parent = active_dsa, active_dsa = (struct dsa *)&my_dsa;
      my_dsa.vector[0] = (void *)dsa_0;
      /* start of procedure block 22 (level 0) at line 92 */
      dsa_0->old_top_0 = stack_top;
      dsa_0->new_top_0 = stack_top;
      /* start of local block 23 (level 1) at line 93 */
      dsa_0->old_top_1 = stack_top;
      dsa_0->new_top_1 = stack_top;
      dsa_0->line = 93;
      /* inline code */
      exit(EXIT_SUCCESS);
      pop_stack(dsa_0->old_top_1);
      /* end of block 23 */
      pop_stack(dsa_0->old_top_0);
      /* end of block 22 */
      my_dsa.retval.lval = 0;
      my_dsa.retval.type = 0;
      active_dsa = my_dsa.parent;
      return my_dsa.retval;
}

struct desc fault_0 /* precompiled void procedure */
(     struct arg str_24 /* by name string */,
      struct arg r_24 /* by value real */
)
{     struct dsa_fault_0 my_dsa;
      register struct dsa_fault_0 *dsa_0 = &my_dsa;
      my_dsa.proc = "fault";
      my_dsa.file = "alglib1.alg";
      my_dsa.line = 95;
      my_dsa.parent = active_dsa, active_dsa = (struct dsa *)&my_dsa;
      my_dsa.vector[0] = (void *)dsa_0;
      /* start of procedure block 24 (level 0) at line 95 */
      dsa_0->old_top_0 = stack_top;
      my_dsa.str_24 = str_24.arg1;
      my_dsa.line = 96;
      my_dsa.r_24 = get_real((global_dsa = r_24.arg2, (*(struct desc (*)
         (void))r_24.arg1)()));
      dsa_0->new_top_0 = stack_top;
      /* start of local block 25 (level 1) at line 97 */
      dsa_0->old_top_1 = stack_top;
      dsa_0->new_top_1 = stack_top;
      dsa_0->line = 97;
      /* inline code */
      fault("%s " REAL_FMT, my_dsa.str_24, my_dsa.r_24);
      pop_stack(dsa_0->old_top_1);
      /* end of block 25 */
      pop_stack(dsa_0->old_top_0);
      /* end of block 24 */
      my_dsa.retval.lval = 0;
      my_dsa.retval.type = 0;
      active_dsa = my_dsa.parent;
      return my_dsa.retval;
}

struct desc inchar_0 /* precompiled void procedure */
(     struct arg channel_26 /* by value integer */,
      struct arg str_26 /* by name string */,
      struct arg int_26 /* by name integer */
)
{     struct dsa_inchar_0 my_dsa;
      register struct dsa_inchar_0 *dsa_0 = &my_dsa;
      my_dsa.proc = "inchar";
      my_dsa.file = "alglib1.alg";
      my_dsa.line = 101;
      my_dsa.parent = active_dsa, active_dsa = (struct dsa *)&my_dsa;
      my_dsa.vector[0] = (void *)dsa_0;
      /* start of procedure block 26 (level 0) at line 101 */
      dsa_0->old_top_0 = stack_top;
      my_dsa.line = 103;
      my_dsa.channel_26 = get_int((global_dsa = channel_26.arg2, (*(
         struct desc (*)(void))channel_26.arg1)()));
      my_dsa.str_26 = str_26.arg1;
      my_dsa.int_26 = int_26;
      dsa_0->new_top_0 = stack_top;
      /* start of local block 27 (level 1) at line 107 */
      dsa_0->old_top_1 = stack_top;
      dsa_0->new_top_1 = stack_top;
      dsa_0->line = 107;
      /* start of local block 28 (level 2) at line 108 */
      dsa_0->old_top_2 = stack_top;
      dsa_0->new_top_2 = stack_top;
      dsa_0->line = 109;
      /* inline code */
      {  char *ptr;
      dsa_0->line = 110;
      /* inline code */
         ptr = strchr(my_dsa.str_26, inchar(my_dsa.channel_26));
      dsa_0->line = 111;
      /* inline code */
         my_dsa.val_28 = (ptr == NULL ? 0 : (ptr - my_dsa.str_26) + 1);
      dsa_0->line = 113;
      /* inline code */
      }
      dsa_0->line = 114;
      set_int((global_dsa = dsa_0->int_26.arg2, (*(struct desc (*)(void)
         )dsa_0->int_26.arg1)()), dsa_0->val_28);
      pop_stack(dsa_0->old_top_2);
      /* end of block 28 */
      pop_stack(dsa_0->old_top_1);
      /* end of block 27 */
      pop_stack(dsa_0->old_top_0);
      /* end of block 26 */
      my_dsa.retval.lval = 0;
      my_dsa.retval.type = 0;
      active_dsa = my_dsa.parent;
      return my_dsa.retval;
}

static struct desc _thunk_4(void)
{     /* actual parameter at line 123 */
      struct desc res;
      register struct dsa_outchar_0 *dsa_0 = (void *)
         global_dsa->vector[0];
      dsa_0->line = 123;
      res.lval = 1;
      res.type = 'i';
      res.u.int_ptr = &(dsa_0->int_29);
      return res;
}

struct desc outchar_0 /* precompiled void procedure */
(     struct arg channel_29 /* by value integer */,
      struct arg str_29 /* by name string */,
      struct arg int_29 /* by value integer */
)
{     struct dsa_outchar_0 my_dsa;
      register struct dsa_outchar_0 *dsa_0 = &my_dsa;
      my_dsa.proc = "outchar";
      my_dsa.file = "alglib1.alg";
      my_dsa.line = 117;
      my_dsa.parent = active_dsa, active_dsa = (struct dsa *)&my_dsa;
      my_dsa.vector[0] = (void *)dsa_0;
      /* start of procedure block 29 (level 0) at line 117 */
      dsa_0->old_top_0 = stack_top;
      my_dsa.line = 119;
      my_dsa.channel_29 = get_int((global_dsa = channel_29.arg2, (*(
         struct desc (*)(void))channel_29.arg1)()));
      my_dsa.str_29 = str_29.arg1;
      my_dsa.line = 119;
      my_dsa.int_29 = get_int((global_dsa = int_29.arg2, (*(struct desc 
         (*)(void))int_29.arg1)()));
      dsa_0->new_top_0 = stack_top;
      /* start of local block 30 (level 1) at line 122 */
      dsa_0->old_top_1 = stack_top;
      dsa_0->new_top_1 = stack_top;
      dsa_0->line = 122;
      if (!(or(less(dsa_0->int_29, 1), greater(dsa_0->int_29, get_int((
         global_dsa = (void *)dsa_0, length_0(make_arg(dsa_0->str_29, 
         NULL)))))))) goto _gamma_4;
      dsa_0->line = 123;
      ((global_dsa = (void *)dsa_0, fault_0(make_arg("character not in "
         "string", NULL), make_arg((void *)_thunk_4, dsa_0))));
      goto _omega_4;
_gamma_4:
      dsa_0->line = 125;
      /* inline code */
      outchar(my_dsa.channel_29, my_dsa.str_29[my_dsa.int_29 - 1]);
_omega_4:
      pop_stack(dsa_0->old_top_1);
      /* end of block 30 */
      pop_stack(dsa_0->old_top_0);
      /* end of block 29 */
      my_dsa.retval.lval = 0;
      my_dsa.retval.type = 0;
      active_dsa = my_dsa.parent;
      return my_dsa.retval;
}

struct desc length_0 /* precompiled integer procedure */
(     struct arg str_31 /* by name string */
)
{     struct dsa_length_0 my_dsa;
      register struct dsa_length_0 *dsa_0 = &my_dsa;
      my_dsa.proc = "length";
      my_dsa.file = "alglib1.alg";
      my_dsa.line = 128;
      my_dsa.parent = active_dsa, active_dsa = (struct dsa *)&my_dsa;
      my_dsa.vector[0] = (void *)dsa_0;
      /* start of procedure block 31 (level 0) at line 128 */
      dsa_0->old_top_0 = stack_top;
      my_dsa.str_31 = str_31.arg1;
      dsa_0->new_top_0 = stack_top;
      /* start of local block 32 (level 1) at line 131 */
      dsa_0->old_top_1 = stack_top;
      dsa_0->new_top_1 = stack_top;
      dsa_0->line = 131;
      /* inline code */
      my_dsa.retval.u.int_val = strlen(my_dsa.str_31);
      pop_stack(dsa_0->old_top_1);
      /* end of block 32 */
      pop_stack(dsa_0->old_top_0);
      /* end of block 31 */
      my_dsa.retval.lval = 0;
      my_dsa.retval.type = 'i';
      active_dsa = my_dsa.parent;
      return my_dsa.retval;
}

struct desc outstring_0 /* precompiled void procedure */
(     struct arg channel_33 /* by value integer */,
      struct arg str_33 /* by name string */
)
{     struct dsa_outstring_0 my_dsa;
      register struct dsa_outstring_0 *dsa_0 = &my_dsa;
      my_dsa.proc = "outstring";
      my_dsa.file = "alglib1.alg";
      my_dsa.line = 133;
      my_dsa.parent = active_dsa, active_dsa = (struct dsa *)&my_dsa;
      my_dsa.vector[0] = (void *)dsa_0;
      /* start of procedure block 33 (level 0) at line 133 */
      dsa_0->old_top_0 = stack_top;
      my_dsa.line = 135;
      my_dsa.channel_33 = get_int((global_dsa = channel_33.arg2, (*(
         struct desc (*)(void))channel_33.arg1)()));
      my_dsa.str_33 = str_33.arg1;
      dsa_0->new_top_0 = stack_top;
      /* start of local block 34 (level 1) at line 136 */
      dsa_0->old_top_1 = stack_top;
      dsa_0->new_top_1 = stack_top;
      dsa_0->line = 136;
      /* inline code */
      outstring(my_dsa.channel_33, my_dsa.str_33);
      pop_stack(dsa_0->old_top_1);
      /* end of block 34 */
      pop_stack(dsa_0->old_top_0);
      /* end of block 33 */
      my_dsa.retval.lval = 0;
      my_dsa.retval.type = 0;
      active_dsa = my_dsa.parent;
      return my_dsa.retval;
}

struct desc outterminator_0 /* precompiled void procedure */
(     struct arg channel_35 /* by value integer */
)
{     struct dsa_outterminator_0 my_dsa;
      register struct dsa_outterminator_0 *dsa_0 = &my_dsa;
      my_dsa.proc = "outterminator";
      my_dsa.file = "alglib1.alg";
      my_dsa.line = 138;
      my_dsa.parent = active_dsa, active_dsa = (struct dsa *)&my_dsa;
      my_dsa.vector[0] = (void *)dsa_0;
      /* start of procedure block 35 (level 0) at line 138 */
      dsa_0->old_top_0 = stack_top;
      my_dsa.line = 139;
      my_dsa.channel_35 = get_int((global_dsa = channel_35.arg2, (*(
         struct desc (*)(void))channel_35.arg1)()));
      dsa_0->new_top_0 = stack_top;
      /* start of local block 36 (level 1) at line 141 */
      dsa_0->old_top_1 = stack_top;
      dsa_0->new_top_1 = stack_top;
      dsa_0->line = 141;
      /* inline code */
      outchar(my_dsa.channel_35, 0x20);
      pop_stack(dsa_0->old_top_1);
      /* end of block 36 */
      pop_stack(dsa_0->old_top_0);
      /* end of block 35 */
      my_dsa.retval.lval = 0;
      my_dsa.retval.type = 0;
      active_dsa = my_dsa.parent;
      return my_dsa.retval;
}

struct desc ininteger_0 /* precompiled void procedure */
(     struct arg channel_37 /* by value integer */,
      struct arg int_37 /* by name integer */
)
{     struct dsa_ininteger_0 my_dsa;
      register struct dsa_ininteger_0 *dsa_0 = &my_dsa;
      my_dsa.proc = "ininteger";
      my_dsa.file = "alglib1.alg";
      my_dsa.line = 143;
      my_dsa.parent = active_dsa, active_dsa = (struct dsa *)&my_dsa;
      my_dsa.vector[0] = (void *)dsa_0;
      /* start of procedure block 37 (level 0) at line 143 */
      dsa_0->old_top_0 = stack_top;
      my_dsa.line = 144;
      my_dsa.channel_37 = get_int((global_dsa = channel_37.arg2, (*(
         struct desc (*)(void))channel_37.arg1)()));
      my_dsa.int_37 = int_37;
      dsa_0->new_top_0 = stack_top;
      /* start of local block 38 (level 1) at line 146 */
      dsa_0->old_top_1 = stack_top;
      dsa_0->new_top_1 = stack_top;
      dsa_0->line = 146;
      /* start of local block 39 (level 2) at line 147 */
      dsa_0->old_top_2 = stack_top;
      dsa_0->new_top_2 = stack_top;
      dsa_0->line = 148;
      /* inline code */
      my_dsa.val_39 = ininteger(my_dsa.channel_37);
      dsa_0->line = 149;
      set_int((global_dsa = dsa_0->int_37.arg2, (*(struct desc (*)(void)
         )dsa_0->int_37.arg1)()), dsa_0->val_39);
      pop_stack(dsa_0->old_top_2);
      /* end of block 39 */
      pop_stack(dsa_0->old_top_1);
      /* end of block 38 */
      pop_stack(dsa_0->old_top_0);
      /* end of block 37 */
      my_dsa.retval.lval = 0;
      my_dsa.retval.type = 0;
      active_dsa = my_dsa.parent;
      return my_dsa.retval;
}

struct desc outinteger_0 /* precompiled void procedure */
(     struct arg channel_40 /* by value integer */,
      struct arg int_40 /* by value integer */
)
{     struct dsa_outinteger_0 my_dsa;
      register struct dsa_outinteger_0 *dsa_0 = &my_dsa;
      my_dsa.proc = "outinteger";
      my_dsa.file = "alglib1.alg";
      my_dsa.line = 152;
      my_dsa.parent = active_dsa, active_dsa = (struct dsa *)&my_dsa;
      my_dsa.vector[0] = (void *)dsa_0;
      /* start of procedure block 40 (level 0) at line 152 */
      dsa_0->old_top_0 = stack_top;
      my_dsa.line = 154;
      my_dsa.channel_40 = get_int((global_dsa = channel_40.arg2, (*(
         struct desc (*)(void))channel_40.arg1)()));
      my_dsa.line = 154;
      my_dsa.int_40 = get_int((global_dsa = int_40.arg2, (*(struct desc 
         (*)(void))int_40.arg1)()));
      dsa_0->new_top_0 = stack_top;
      /* start of local block 41 (level 1) at line 157 */
      dsa_0->old_top_1 = stack_top;
      dsa_0->new_top_1 = stack_top;
      dsa_0->line = 157;
      /* inline code */
      outinteger(my_dsa.channel_40, my_dsa.int_40);
      pop_stack(dsa_0->old_top_1);
      /* end of block 41 */
      pop_stack(dsa_0->old_top_0);
      /* end of block 40 */
      my_dsa.retval.lval = 0;
      my_dsa.retval.type = 0;
      active_dsa = my_dsa.parent;
      return my_dsa.retval;
}

struct desc inreal_0 /* precompiled void procedure */
(     struct arg channel_42 /* by value integer */,
      struct arg re_42 /* by name real */
)
{     struct dsa_inreal_0 my_dsa;
      register struct dsa_inreal_0 *dsa_0 = &my_dsa;
      my_dsa.proc = "inreal";
      my_dsa.file = "alglib1.alg";
      my_dsa.line = 159;
      my_dsa.parent = active_dsa, active_dsa = (struct dsa *)&my_dsa;
      my_dsa.vector[0] = (void *)dsa_0;
      /* start of procedure block 42 (level 0) at line 159 */
      dsa_0->old_top_0 = stack_top;
      my_dsa.line = 161;
      my_dsa.channel_42 = get_int((global_dsa = channel_42.arg2, (*(
         struct desc (*)(void))channel_42.arg1)()));
      my_dsa.re_42 = re_42;
      dsa_0->new_top_0 = stack_top;
      /* start of local block 43 (level 1) at line 163 */
      dsa_0->old_top_1 = stack_top;
      dsa_0->new_top_1 = stack_top;
      dsa_0->line = 163;
      /* start of local block 44 (level 2) at line 164 */
      dsa_0->old_top_2 = stack_top;
      dsa_0->new_top_2 = stack_top;
      dsa_0->line = 165;
      /* inline code */
      my_dsa.val_44 = inreal(my_dsa.channel_42);
      dsa_0->line = 166;
      set_real((global_dsa = dsa_0->re_42.arg2, (*(struct desc (*)(void)
         )dsa_0->re_42.arg1)()), dsa_0->val_44);
      pop_stack(dsa_0->old_top_2);
      /* end of block 44 */
      pop_stack(dsa_0->old_top_1);
      /* end of block 43 */
      pop_stack(dsa_0->old_top_0);
      /* end of block 42 */
      my_dsa.retval.lval = 0;
      my_dsa.retval.type = 0;
      active_dsa = my_dsa.parent;
      return my_dsa.retval;
}

struct desc outreal_0 /* precompiled void procedure */
(     struct arg channel_45 /* by value integer */,
      struct arg re_45 /* by value real */
)
{     struct dsa_outreal_0 my_dsa;
      register struct dsa_outreal_0 *dsa_0 = &my_dsa;
      my_dsa.proc = "outreal";
      my_dsa.file = "alglib1.alg";
      my_dsa.line = 169;
      my_dsa.parent = active_dsa, active_dsa = (struct dsa *)&my_dsa;
      my_dsa.vector[0] = (void *)dsa_0;
      /* start of procedure block 45 (level 0) at line 169 */
      dsa_0->old_top_0 = stack_top;
      my_dsa.line = 171;
      my_dsa.channel_45 = get_int((global_dsa = channel_45.arg2, (*(
         struct desc (*)(void))channel_45.arg1)()));
      my_dsa.line = 171;
      my_dsa.re_45 = get_real((global_dsa = re_45.arg2, (*(struct desc (
         *)(void))re_45.arg1)()));
      dsa_0->new_top_0 = stack_top;
      /* start of local block 46 (level 1) at line 174 */
      dsa_0->old_top_1 = stack_top;
      dsa_0->new_top_1 = stack_top;
      dsa_0->line = 174;
      /* inline code */
      outreal(my_dsa.channel_45, my_dsa.re_45);
      pop_stack(dsa_0->old_top_1);
      /* end of block 46 */
      pop_stack(dsa_0->old_top_0);
      /* end of block 45 */
      my_dsa.retval.lval = 0;
      my_dsa.retval.type = 0;
      active_dsa = my_dsa.parent;
      return my_dsa.retval;
}

struct desc maxreal_0 /* precompiled real procedure */ (void)
{     struct dsa_maxreal_0 my_dsa;
      register struct dsa_maxreal_0 *dsa_0 = &my_dsa;
      my_dsa.proc = "maxreal";
      my_dsa.file = "alglib1.alg";
      my_dsa.line = 178;
      my_dsa.parent = active_dsa, active_dsa = (struct dsa *)&my_dsa;
      my_dsa.vector[0] = (void *)dsa_0;
      /* start of procedure block 47 (level 0) at line 178 */
      dsa_0->old_top_0 = stack_top;
      dsa_0->new_top_0 = stack_top;
      /* start of local block 48 (level 1) at line 179 */
      dsa_0->old_top_1 = stack_top;
      dsa_0->new_top_1 = stack_top;
      dsa_0->line = 179;
      /* inline code */
      my_dsa.retval.u.real_val = DBL_MAX;
      pop_stack(dsa_0->old_top_1);
      /* end of block 48 */
      pop_stack(dsa_0->old_top_0);
      /* end of block 47 */
      my_dsa.retval.lval = 0;
      my_dsa.retval.type = 'r';
      active_dsa = my_dsa.parent;
      return my_dsa.retval;
}

struct desc minreal_0 /* precompiled real procedure */ (void)
{     struct dsa_minreal_0 my_dsa;
      register struct dsa_minreal_0 *dsa_0 = &my_dsa;
      my_dsa.proc = "minreal";
      my_dsa.file = "alglib1.alg";
      my_dsa.line = 181;
      my_dsa.parent = active_dsa, active_dsa = (struct dsa *)&my_dsa;
      my_dsa.vector[0] = (void *)dsa_0;
      /* start of procedure block 49 (level 0) at line 181 */
      dsa_0->old_top_0 = stack_top;
      dsa_0->new_top_0 = stack_top;
      /* start of local block 50 (level 1) at line 182 */
      dsa_0->old_top_1 = stack_top;
      dsa_0->new_top_1 = stack_top;
      dsa_0->line = 182;
      /* inline code */
      my_dsa.retval.u.real_val = DBL_MIN;
      pop_stack(dsa_0->old_top_1);
      /* end of block 50 */
      pop_stack(dsa_0->old_top_0);
      /* end of block 49 */
      my_dsa.retval.lval = 0;
      my_dsa.retval.type = 'r';
      active_dsa = my_dsa.parent;
      return my_dsa.retval;
}

struct desc maxint_0 /* precompiled integer procedure */ (void)
{     struct dsa_maxint_0 my_dsa;
      register struct dsa_maxint_0 *dsa_0 = &my_dsa;
      my_dsa.proc = "maxint";
      my_dsa.file = "alglib1.alg";
      my_dsa.line = 184;
      my_dsa.parent = active_dsa, active_dsa = (struct dsa *)&my_dsa;
      my_dsa.vector[0] = (void *)dsa_0;
      /* start of procedure block 51 (level 0) at line 184 */
      dsa_0->old_top_0 = stack_top;
      dsa_0->new_top_0 = stack_top;
      /* start of local block 52 (level 1) at line 185 */
      dsa_0->old_top_1 = stack_top;
      dsa_0->new_top_1 = stack_top;
      dsa_0->line = 185;
      /* inline code */
      my_dsa.retval.u.int_val = INT_MAX;
      pop_stack(dsa_0->old_top_1);
      /* end of block 52 */
      pop_stack(dsa_0->old_top_0);
      /* end of block 51 */
      my_dsa.retval.lval = 0;
      my_dsa.retval.type = 'i';
      active_dsa = my_dsa.parent;
      return my_dsa.retval;
}

struct desc epsilon_0 /* precompiled real procedure */ (void)
{     struct dsa_epsilon_0 my_dsa;
      register struct dsa_epsilon_0 *dsa_0 = &my_dsa;
      my_dsa.proc = "epsilon";
      my_dsa.file = "alglib1.alg";
      my_dsa.line = 198;
      my_dsa.parent = active_dsa, active_dsa = (struct dsa *)&my_dsa;
      my_dsa.vector[0] = (void *)dsa_0;
      /* start of procedure block 53 (level 0) at line 198 */
      dsa_0->old_top_0 = stack_top;
      dsa_0->new_top_0 = stack_top;
      /* start of local block 54 (level 1) at line 202 */
      dsa_0->old_top_1 = stack_top;
      dsa_0->new_top_1 = stack_top;
      dsa_0->line = 202;
      /* inline code */
      my_dsa.retval.u.real_val = DBL_EPSILON;
      pop_stack(dsa_0->old_top_1);
      /* end of block 54 */
      pop_stack(dsa_0->old_top_0);
      /* end of block 53 */
      my_dsa.retval.lval = 0;
      my_dsa.retval.type = 'r';
      active_dsa = my_dsa.parent;
      return my_dsa.retval;
}

/* eof */
