/**
 ** This file was automatically generated by the Cyclone scheme compiler
 ** http://justinethier.github.io/cyclone/
 **
 ** (c) 2014-2024 Justin Ethier
 ** Version 0.36.0 
 **
 **/

#define closcall1(td, clo, buf) \
if (obj_is_not_closure(clo)) { \
   Cyc_apply(td, clo, 1, buf ); \
} else { \
   ((clo)->fn)(td, clo, 1, buf); \
;\
}
#define return_closcall1(td, clo,a1) { \
 char top; \
 object buf[1]; buf[0] = a1;\
 if (stack_overflow(&top, (((gc_thread_data *)data)->stack_limit))) { \
     GC(td, clo, buf, 1); \
     return; \
 } else {\
     closcall1(td, (closure) (clo), buf); \
     return;\
 } \
}

#define continue_or_gc1(td, clo,a1) { \
 char *top = alloca(sizeof(char)); \
 if (stack_overflow(top, (((gc_thread_data *)data)->stack_limit))) { \
     object buf[1]; buf[0] = a1;\
     GC(td, clo, buf, 1); \
     return; \
 } else {\
     continue;\
 } \
}

#define return_direct1(td, _fn,a1) { \
 char top; \
 object buf[1]; buf[0] = a1; \
 if (stack_overflow(&top, (((gc_thread_data *)data)->stack_limit))) { \
     mclosure0(c1, (function_type) _fn); \
     GC(td, &c1, buf, 1); \
     return; \
 } else { \
     (_fn)(td, (closure)_fn, 1, buf); \
 }}

#define return_direct_with_clo1(td, clo, _fn,a1) { \
 char top; \
 object buf[1]; buf[0] = a1;\
 if (stack_overflow(&top, (((gc_thread_data *)data)->stack_limit))) { \
     GC(td, clo, buf, 1); \
     return; \
 } else { \
     (_fn)(td, (closure)(clo), 1, buf); \
 }}

#define closcall2(td, clo, buf) \
if (obj_is_not_closure(clo)) { \
   Cyc_apply(td, clo, 2, buf ); \
} else { \
   ((clo)->fn)(td, clo, 2, buf); \
;\
}
#define return_closcall2(td, clo,a1,a2) { \
 char top; \
 object buf[2]; buf[0] = a1;buf[1] = a2;\
 if (stack_overflow(&top, (((gc_thread_data *)data)->stack_limit))) { \
     GC(td, clo, buf, 2); \
     return; \
 } else {\
     closcall2(td, (closure) (clo), buf); \
     return;\
 } \
}

#define continue_or_gc2(td, clo,a1,a2) { \
 char *top = alloca(sizeof(char)); \
 if (stack_overflow(top, (((gc_thread_data *)data)->stack_limit))) { \
     object buf[2]; buf[0] = a1;buf[1] = a2;\
     GC(td, clo, buf, 2); \
     return; \
 } else {\
     continue;\
 } \
}

#define return_direct2(td, _fn,a1,a2) { \
 char top; \
 object buf[2]; buf[0] = a1;buf[1] = a2; \
 if (stack_overflow(&top, (((gc_thread_data *)data)->stack_limit))) { \
     mclosure0(c1, (function_type) _fn); \
     GC(td, &c1, buf, 2); \
     return; \
 } else { \
     (_fn)(td, (closure)_fn, 2, buf); \
 }}

#define return_direct_with_clo2(td, clo, _fn,a1,a2) { \
 char top; \
 object buf[2]; buf[0] = a1;buf[1] = a2;\
 if (stack_overflow(&top, (((gc_thread_data *)data)->stack_limit))) { \
     GC(td, clo, buf, 2); \
     return; \
 } else { \
     (_fn)(td, (closure)(clo), 2, buf); \
 }}

#define closcall3(td, clo, buf) \
if (obj_is_not_closure(clo)) { \
   Cyc_apply(td, clo, 3, buf ); \
} else { \
   ((clo)->fn)(td, clo, 3, buf); \
;\
}
#define return_closcall3(td, clo,a1,a2,a3) { \
 char top; \
 object buf[3]; buf[0] = a1;buf[1] = a2;buf[2] = a3;\
 if (stack_overflow(&top, (((gc_thread_data *)data)->stack_limit))) { \
     GC(td, clo, buf, 3); \
     return; \
 } else {\
     closcall3(td, (closure) (clo), buf); \
     return;\
 } \
}

#define continue_or_gc3(td, clo,a1,a2,a3) { \
 char *top = alloca(sizeof(char)); \
 if (stack_overflow(top, (((gc_thread_data *)data)->stack_limit))) { \
     object buf[3]; buf[0] = a1;buf[1] = a2;buf[2] = a3;\
     GC(td, clo, buf, 3); \
     return; \
 } else {\
     continue;\
 } \
}

#define return_direct3(td, _fn,a1,a2,a3) { \
 char top; \
 object buf[3]; buf[0] = a1;buf[1] = a2;buf[2] = a3; \
 if (stack_overflow(&top, (((gc_thread_data *)data)->stack_limit))) { \
     mclosure0(c1, (function_type) _fn); \
     GC(td, &c1, buf, 3); \
     return; \
 } else { \
     (_fn)(td, (closure)_fn, 3, buf); \
 }}

#define return_direct_with_clo3(td, clo, _fn,a1,a2,a3) { \
 char top; \
 object buf[3]; buf[0] = a1;buf[1] = a2;buf[2] = a3;\
 if (stack_overflow(&top, (((gc_thread_data *)data)->stack_limit))) { \
     GC(td, clo, buf, 3); \
     return; \
 } else { \
     (_fn)(td, (closure)(clo), 3, buf); \
 }}

#include "cyclone/types.h"
object __glo_lib_91init_117schemecomplex_scheme_complex = NULL;
object __glo__75make_91rect_scheme_complex = NULL;
object __glo__75imag_91part_scheme_complex = NULL;
object __glo__75real_91part_scheme_complex = NULL;
object __glo_make_91rectangular_scheme_complex = NULL;
object __glo_make_91polar_scheme_complex = NULL;
object __glo_angle_scheme_complex = NULL;
object __glo_magnitude_scheme_complex = NULL;
object __glo_imag_91part_scheme_complex = NULL;
object __glo_real_91part_scheme_complex = NULL;
extern object __glo_member_scheme_base;
extern object __glo_assoc_scheme_base;
extern object __glo_cons_91source_scheme_base;
extern object __glo_syntax_91rules_scheme_base;
extern object __glo_letrec_85_scheme_base;
extern object __glo_guard_scheme_base;
extern object __glo_guard_91aux_scheme_base;
extern object __glo_define_91record_91type_scheme_base;
extern object __glo_record_127_scheme_base;
extern object __glo_is_91a_127_scheme_base;
extern object __glo_register_91simple_91type_scheme_base;
extern object __glo_make_91type_91predicate_scheme_base;
extern object __glo_make_91constructor_scheme_base;
extern object __glo_make_91constructor_95args_scheme_base;
extern object __glo_make_91getter_scheme_base;
extern object __glo_make_91setter_scheme_base;
extern object __glo_slot_91ref_scheme_base;
extern object __glo_slot_91set_67_scheme_base;
extern object __glo_type_91slot_91offset_scheme_base;
extern object __glo_make_91record_91marker_scheme_base;
extern object __glo_receive_scheme_base;
extern object __glo_abs_scheme_base;
extern object __glo_max_scheme_base;
extern object __glo_min_scheme_base;
extern object __glo_modulo_scheme_base;
extern object __glo_floor_91remainder_scheme_base;
extern object __glo_even_127_scheme_base;
extern object __glo_exact_91integer_127_scheme_base;
extern object __glo_exact_91integer_91sqrt_scheme_base;
extern object __glo_exact_127_scheme_base;
extern object __glo_inexact_127_scheme_base;
extern object __glo_odd_127_scheme_base;
extern object __glo_complex_127_scheme_base;
extern object __glo_rational_127_scheme_base;
extern object __glo_bignum_127_scheme_base;
extern object __glo_gcd_scheme_base;
extern object __glo_lcm_scheme_base;
extern object __glo_quotient_scheme_base;
extern object __glo_remainder_scheme_base;
extern object __glo_truncate_91quotient_scheme_base;
extern object __glo_truncate_91remainder_scheme_base;
extern object __glo_truncate_95_scheme_base;
extern object __glo_floor_91quotient_scheme_base;
extern object __glo_floor_91remainder_scheme_base;
extern object __glo_floor_95_scheme_base;
extern object __glo_square_scheme_base;
extern object __glo_expt_scheme_base;
extern object __glo_call_91with_91current_91continuation_scheme_base;
extern object __glo_call_95cc_scheme_base;
extern object __glo_call_91with_91values_scheme_base;
extern object __glo_dynamic_91wind_scheme_base;
extern object __glo_values_scheme_base;
extern object __glo_char_123_127_scheme_base;
extern object __glo_char_121_127_scheme_base;
extern object __glo_char_125_127_scheme_base;
extern object __glo_char_121_123_127_scheme_base;
extern object __glo_char_125_123_127_scheme_base;
extern object __glo_string_123_127_scheme_base;
extern object __glo_string_121_127_scheme_base;
extern object __glo_string_121_123_127_scheme_base;
extern object __glo_string_125_127_scheme_base;
extern object __glo_string_125_123_127_scheme_base;
extern object __glo_fast_91string_123_127_scheme_base;
extern object __glo_fast_91string_121_127_scheme_base;
extern object __glo_fast_91string_121_123_127_scheme_base;
extern object __glo_fast_91string_125_127_scheme_base;
extern object __glo_fast_91string_125_123_127_scheme_base;
extern object __glo_foldl_scheme_base;
extern object __glo_foldr_scheme_base;
extern object __glo_not_scheme_base;
extern object __glo_list_127_scheme_base;
extern object __glo_zero_127_scheme_base;
extern object __glo_positive_127_scheme_base;
extern object __glo_negative_127_scheme_base;
extern object __glo_append_scheme_base;
extern object __glo__list_scheme_base;
extern object __glo_make_91list_scheme_base;
extern object __glo_list_91copy_scheme_base;
extern object __glo_map_scheme_base;
extern object __glo_Cyc_91map_91loop_911_scheme_base;
extern object __glo_Cyc_91map_91loop_912_scheme_base;
extern object __glo_Cyc_91for_91each_91loop_911_scheme_base;
extern object __glo_Cyc_91for_91each_91loop_912_scheme_base;
extern object __glo_for_91each_scheme_base;
extern object __glo_list_91tail_scheme_base;
extern object __glo_list_91ref_scheme_base;
extern object __glo_list_91set_67_scheme_base;
extern object __glo_reverse_scheme_base;
extern object __glo_boolean_123_127_scheme_base;
extern object __glo_symbol_123_127_scheme_base;
extern object __glo_Cyc_91obj_123_127_scheme_base;
extern object __glo_vector_scheme_base;
extern object __glo_vector_91append_scheme_base;
extern object __glo_vector_91copy_scheme_base;
extern object __glo_vector_91copy_67_scheme_base;
extern object __glo_vector_91fill_67_scheme_base;
extern object __glo_vector_91_125list_scheme_base;
extern object __glo_vector_91_125string_scheme_base;
extern object __glo_vector_91map_scheme_base;
extern object __glo_vector_91for_91each_scheme_base;
extern object __glo_make_91string_scheme_base;
extern object __glo_string_scheme_base;
extern object __glo_string_91copy_scheme_base;
extern object __glo_string_91copy_67_scheme_base;
extern object __glo_string_91fill_67_scheme_base;
extern object __glo_string_91_125list_scheme_base;
extern object __glo_string_91_125vector_scheme_base;
extern object __glo_string_91map_scheme_base;
extern object __glo_string_91for_91each_scheme_base;
extern object __glo_make_91parameter_scheme_base;
extern object __glo_current_91output_91port_scheme_base;
extern object __glo_current_91input_91port_scheme_base;
extern object __glo_current_91error_91port_scheme_base;
extern object __glo_call_91with_91port_scheme_base;
extern object __glo_error_91object_127_scheme_base;
extern object __glo_error_91object_91message_scheme_base;
extern object __glo_error_91object_91irritants_scheme_base;
extern object __glo_error_95loc_scheme_base;
extern object __glo_error_scheme_base;
extern object __glo_raise_scheme_base;
extern object __glo_raise_91continuable_scheme_base;
extern object __glo_with_91handler_scheme_base;
extern object __glo_with_91exception_91handler_scheme_base;
extern object __glo_Cyc_91add_91exception_91handler_scheme_base;
extern object __glo_Cyc_91remove_91exception_91handler_scheme_base;
extern object __glo_newline_scheme_base;
extern object __glo_write_91char_scheme_base;
extern object __glo_write_91string_scheme_base;
extern object __glo_write_91string_911_scheme_base;
extern object __glo_write_91string_912_scheme_base;
extern object __glo_flush_91output_91port_scheme_base;
extern object __glo_char_91ready_127_scheme_base;
extern object __glo_peek_91char_scheme_base;
extern object __glo_read_91char_scheme_base;
extern object __glo_read_91line_scheme_base;
extern object __glo_read_91string_scheme_base;
extern object __glo_input_91port_127_scheme_base;
extern object __glo_output_91port_127_scheme_base;
extern object __glo_input_91port_91open_127_scheme_base;
extern object __glo_output_91port_91open_127_scheme_base;
extern object __glo_get_91output_91string_scheme_base;
extern object __glo_open_91output_91string_scheme_base;
extern object __glo_open_91input_91string_scheme_base;
extern object __glo_get_91output_91bytevector_scheme_base;
extern object __glo_open_91input_91bytevector_scheme_base;
extern object __glo_open_91output_91bytevector_scheme_base;
extern object __glo_features_scheme_base;
extern object __glo_Cyc_91add_91feature_67_scheme_base;
extern object __glo_Cyc_91version_scheme_base;
extern object __glo_any_scheme_base;
extern object __glo_every_scheme_base;
extern object __glo_and_scheme_base;
extern object __glo_or_scheme_base;
extern object __glo_let_scheme_base;
extern object __glo_let_85_scheme_base;
extern object __glo_letrec_scheme_base;
extern object __glo_let_85_91values_scheme_base;
extern object __glo_let_91values_scheme_base;
extern object __glo_define_91values_scheme_base;
extern object __glo_begin_scheme_base;
extern object __glo__case_scheme_base;
extern object __glo_cond_scheme_base;
extern object __glo_cond_91expand_scheme_base;
extern object __glo__do_scheme_base;
extern object __glo_when_scheme_base;
extern object __glo_unless_scheme_base;
extern object __glo_quasiquote_scheme_base;
extern object __glo_floor_scheme_base;
extern object __glo_ceiling_scheme_base;
extern object __glo_truncate_scheme_base;
extern object __glo_round_scheme_base;
extern object __glo_exact_scheme_base;
extern object __glo_inexact_scheme_base;
extern object __glo_eof_91object_scheme_base;
extern object __glo__void_scheme_base;
extern object __glo_syntax_91error_scheme_base;
extern object __glo_bytevector_91copy_scheme_base;
extern object __glo_bytevector_91copy_67_scheme_base;
extern object __glo_utf8_91_125string_scheme_base;
extern object __glo_string_91_125utf8_scheme_base;
extern object __glo_denominator_scheme_base;
extern object __glo_numerator_scheme_base;
extern object __glo_parameterize_scheme_base;
extern object __glo_read_91bytevector_scheme_base;
extern object __glo_read_91bytevector_67_scheme_base;
extern object __glo_write_91bytevector_scheme_base;
extern object __glo_peek_91u8_scheme_base;
extern object __glo_read_91u8_scheme_base;
extern object __glo_write_91u8_scheme_base;
extern object __glo_binary_91port_127_scheme_base;
extern object __glo_textual_91port_127_scheme_base;
extern object __glo_rationalize_scheme_base;
extern object __glo_acos_scheme_inexact;
extern object __glo_asin_scheme_inexact;
extern object __glo_atan_scheme_inexact;
extern object __glo_cos_scheme_inexact;
extern object __glo_exp_scheme_inexact;
extern object __glo_finite_127_scheme_inexact;
extern object __glo_infinite_127_scheme_inexact;
extern object __glo_log_scheme_inexact;
extern object __glo_nan_127_scheme_inexact;
extern object __glo_sin_scheme_inexact;
extern object __glo_sqrt_scheme_inexact;
extern object __glo_tan_scheme_inexact;
extern object __glo_fast_91string_123_127_191_191inline_191_191_scheme_base;
extern object __glo_fast_91string_121_127_191_191inline_191_191_scheme_base;
extern object __glo_fast_91string_121_123_127_191_191inline_191_191_scheme_base;
extern object __glo_fast_91string_125_127_191_191inline_191_191_scheme_base;
extern object __glo_fast_91string_125_123_127_191_191inline_191_191_scheme_base;
extern object __glo__75write_91bytevector_191_191inline_191_191_scheme_base;
extern object __glo_not_191_191inline_191_191_scheme_base;
extern object __glo_list_127_191_191inline_191_191_scheme_base;
extern object __glo_zero_127_191_191inline_191_191_scheme_base;
extern object __glo_positive_127_191_191inline_191_191_scheme_base;
extern object __glo_negative_127_191_191inline_191_191_scheme_base;
extern object __glo_floor_191_191inline_191_191_scheme_base;
extern object __glo_ceiling_191_191inline_191_191_scheme_base;
extern object __glo_truncate_191_191inline_191_191_scheme_base;
extern object __glo_round_191_191inline_191_191_scheme_base;
extern object __glo_exact_191_191inline_191_191_scheme_base;
extern object __glo_inexact_191_191inline_191_191_scheme_base;
extern object __glo_sqrt_191_191inline_191_191_scheme_base;
extern object __glo_exact_91integer_127_191_191inline_191_191_scheme_base;
extern object __glo_exact_127_191_191inline_191_191_scheme_base;
extern object __glo_complex_127_191_191inline_191_191_scheme_base;
extern object __glo_fixnum_127_191_191inline_191_191_scheme_base;
extern object __glo_quotient_191_191inline_191_191_scheme_base;
extern object __glo_square_191_191inline_191_191_scheme_base;
extern object __glo_eof_91object_191_191inline_191_191_scheme_base;
extern object __glo_void_191_191inline_191_191_scheme_base;
extern object __glo_make_91record_91marker_191_191inline_191_191_scheme_base;
#include "cyclone/runtime.h"
static void __lambda_17(void *data, object clo, int argc, object *args) ;/*closure _,object k_7352*/
static void __lambda_20(void *data, object clo, int argc, object *args) ;/*(void *data, int argc, closure _, object k, object r, object i)*/
static void __lambda_19(void *data, object clo, int argc, object *args) ;/*(void *data, int argc, closure _, object k, object z)*/
static void __lambda_18(void *data, object clo, int argc, object *args) ;/*(void *data, int argc, closure _, object k, object z)*/
static void __lambda_16(void *data, object clo, int argc, object *args) ;/*closure _,object k_7349, object x_737_7315, object y_738_7316*/
static void __lambda_13(void *data, object clo, int argc, object *args) ;/*closure _,object k_7342, object r_735_7313, object phi_736_7314*/
static void __lambda_14(void *data, object clo, int argc, object *args) ;/*object self_7361, object r_7346*/
static void __lambda_15(void *data, object clo, int argc, object *args) ;/*object self_7362, object r_7345*/
static void __lambda_10(void *data, object clo, int argc, object *args) ;/*closure _,object k_7337, object z_734_7312*/
static void __lambda_11(void *data, object clo, int argc, object *args) ;/*object self_7359, object r_7338*/
static void __lambda_12(void *data, object clo, int argc, object *args) ;/*object self_7360, object r_7339*/
static void __lambda_5(void *data, object clo, int argc, object *args) ;/*closure _,object k_7327, object z_733_7311*/
static void __lambda_6(void *data, object clo, int argc, object *args) ;/*object self_7355, object r_7333*/
static void __lambda_7(void *data, object clo, int argc, object *args) ;/*object self_7356, object r_7334*/
static void __lambda_8(void *data, object clo, int argc, object *args) ;/*object self_7357, object r_7331*/
static void __lambda_9(void *data, object clo, int argc, object *args) ;/*object self_7358, object r_7332*/
static void __lambda_3(void *data, object clo, int argc, object *args) ;/*closure _,object k_7323, object x_732_7310*/
static void __lambda_4(void *data, object clo, int argc, object *args) ;/*object self_7354, object r_7324*/
static void __lambda_1(void *data, object clo, int argc, object *args) ;/*closure _,object k_7319, object x_731_739*/
static void __lambda_2(void *data, object clo, int argc, object *args) ;/*object self_7353, object r_7320*/

static void __lambda_17(void *data, object _, int argc, object *args) /* closure _,object k_7352 */
 {
object k_7352 = args[0];
  Cyc_st_add(data, "scheme/complex.sld:lib-init:schemecomplex");
return_direct_with_clo1(data,  k_7352, (((closure)  k_7352)->fn),  obj_int2obj(0));; 
}

static void __lambda_20(void *data, object _, int argc, object *args) {object k = args[0];object r = args[1];object i = args[2]; Cyc_check_num(data, r);
        Cyc_check_num(data, i);
        Cyc_make_rectangular(data, k, r, i);  }
static void __lambda_19(void *data, object _, int argc, object *args) {object k = args[0];object z = args[1]; make_double(d, cimag(complex_num_value(z)));
        return_closcall1(data, k, &d);  }
static void __lambda_18(void *data, object _, int argc, object *args) {object k = args[0];object z = args[1]; make_double(d, creal(complex_num_value(z)));
        return_closcall1(data, k, &d);  }
static void __lambda_16(void *data, object _, int argc, object *args) /* closure _,object k_7349, object x_737_7315, object y_738_7316 */
 {
object k_7349 = args[0]; object x_737_7315 = args[1]; object y_738_7316 = args[2];
  Cyc_st_add(data, "scheme/complex.sld:make-rectangular");
return_direct_with_clo3(data,  __glo__75make_91rect_scheme_complex, (((closure)  __glo__75make_91rect_scheme_complex)->fn),  k_7349, x_737_7315, y_738_7316);; 
}

static void __lambda_13(void *data, object _, int argc, object *args) /* closure _,object k_7342, object r_735_7313, object phi_736_7314 */
 {
object k_7342 = args[0]; object r_735_7313 = args[1]; object phi_736_7314 = args[2];
  Cyc_st_add(data, "scheme/complex.sld:make-polar");

closureN_type c_73134;
object e_73150 [3];
c_73134.hdr.mark = gc_color_red;
 c_73134.hdr.grayed = 0;
c_73134.tag = closureN_tag;
 c_73134.fn = (function_type)__lambda_14;
c_73134.num_args = 1;
c_73134.num_elements = 3;
c_73134.elements = (object *)e_73150;
c_73134.elements[0] = k_7342;
c_73134.elements[1] = phi_736_7314;
c_73134.elements[2] = r_735_7313;

return_direct_with_clo2(data,  __glo_cos_scheme_inexact, (((closure)  __glo_cos_scheme_inexact)->fn),  &c_73134, phi_736_7314);; 
}

static void __lambda_14(void *data, object self_7361, int argc, object *args) /* object self_7361, object r_7346 */
 {
 object r_7346 = args[0];
  
closureN_type c_73136;
object e_73148 [3];
c_73136.hdr.mark = gc_color_red;
 c_73136.hdr.grayed = 0;
c_73136.tag = closureN_tag;
 c_73136.fn = (function_type)__lambda_15;
c_73136.num_args = 1;
c_73136.num_elements = 3;
c_73136.elements = (object *)e_73148;
c_73136.elements[0] = ((closureN)self_7361)->elements[0];
c_73136.elements[1] = r_7346;
c_73136.elements[2] = ((closureN)self_7361)->elements[2];

return_direct_with_clo2(data,  __glo_sin_scheme_inexact, (((closure)  __glo_sin_scheme_inexact)->fn),  &c_73136, ((closureN)self_7361)->elements[1]);; 
}

static void __lambda_15(void *data, object self_7362, int argc, object *args) /* object self_7362, object r_7345 */
 {
 object r_7345 = args[0];
  
complex_num_type local_73141; 

complex_num_type local_73146; 
return_direct_with_clo3(data,  __glo__75make_91rect_scheme_complex, (((closure)  __glo__75make_91rect_scheme_complex)->fn),  ((closureN)self_7362)->elements[0], Cyc_fast_mul(data,&local_73141, ((closureN)self_7362)->elements[2], ((closureN)self_7362)->elements[1]), Cyc_fast_mul(data,&local_73146, ((closureN)self_7362)->elements[2], r_7345));; 
}

static void __lambda_10(void *data, object _, int argc, object *args) /* closure _,object k_7337, object z_734_7312 */
 {
object k_7337 = args[0]; object z_734_7312 = args[1];
  Cyc_st_add(data, "scheme/complex.sld:angle");

closureN_type c_73123;
object e_73131 [2];
c_73123.hdr.mark = gc_color_red;
 c_73123.hdr.grayed = 0;
c_73123.tag = closureN_tag;
 c_73123.fn = (function_type)__lambda_11;
c_73123.num_args = 1;
c_73123.num_elements = 2;
c_73123.elements = (object *)e_73131;
c_73123.elements[0] = k_7337;
c_73123.elements[1] = z_734_7312;

return_direct_with_clo2(data,  __glo_imag_91part_scheme_complex, (((closure)  __glo_imag_91part_scheme_complex)->fn),  &c_73123, z_734_7312);; 
}

static void __lambda_11(void *data, object self_7359, int argc, object *args) /* object self_7359, object r_7338 */
 {
 object r_7338 = args[0];
  
closureN_type c_73125;
object e_73129 [2];
c_73125.hdr.mark = gc_color_red;
 c_73125.hdr.grayed = 0;
c_73125.tag = closureN_tag;
 c_73125.fn = (function_type)__lambda_12;
c_73125.num_args = 1;
c_73125.num_elements = 2;
c_73125.elements = (object *)e_73129;
c_73125.elements[0] = ((closureN)self_7359)->elements[0];
c_73125.elements[1] = r_7338;

return_direct_with_clo2(data,  __glo_real_91part_scheme_complex, (((closure)  __glo_real_91part_scheme_complex)->fn),  &c_73125, ((closureN)self_7359)->elements[1]);; 
}

static void __lambda_12(void *data, object self_7360, int argc, object *args) /* object self_7360, object r_7339 */
 {
 object r_7339 = args[0];
  return_direct_with_clo3(data,  __glo_atan_scheme_inexact, (((closure)  __glo_atan_scheme_inexact)->fn),  ((closureN)self_7360)->elements[0], ((closureN)self_7360)->elements[1], r_7339);; 
}

static void __lambda_5(void *data, object _, int argc, object *args) /* closure _,object k_7327, object z_733_7311 */
 {
object k_7327 = args[0]; object z_733_7311 = args[1];
  Cyc_st_add(data, "scheme/complex.sld:magnitude");

closureN_type c_7390;
object e_73120 [2];
c_7390.hdr.mark = gc_color_red;
 c_7390.hdr.grayed = 0;
c_7390.tag = closureN_tag;
 c_7390.fn = (function_type)__lambda_6;
c_7390.num_args = 1;
c_7390.num_elements = 2;
c_7390.elements = (object *)e_73120;
c_7390.elements[0] = k_7327;
c_7390.elements[1] = z_733_7311;

return_direct_with_clo2(data,  __glo_real_91part_scheme_complex, (((closure)  __glo_real_91part_scheme_complex)->fn),  &c_7390, z_733_7311);; 
}

static void __lambda_6(void *data, object self_7355, int argc, object *args) /* object self_7355, object r_7333 */
 {
 object r_7333 = args[0];
  
closureN_type c_7392;
object e_73118 [3];
c_7392.hdr.mark = gc_color_red;
 c_7392.hdr.grayed = 0;
c_7392.tag = closureN_tag;
 c_7392.fn = (function_type)__lambda_7;
c_7392.num_args = 1;
c_7392.num_elements = 3;
c_7392.elements = (object *)e_73118;
c_7392.elements[0] = ((closureN)self_7355)->elements[0];
c_7392.elements[1] = r_7333;
c_7392.elements[2] = ((closureN)self_7355)->elements[1];

return_direct_with_clo2(data,  __glo_real_91part_scheme_complex, (((closure)  __glo_real_91part_scheme_complex)->fn),  &c_7392, ((closureN)self_7355)->elements[1]);; 
}

static void __lambda_7(void *data, object self_7356, int argc, object *args) /* object self_7356, object r_7334 */
 {
 object r_7334 = args[0];
  
closureN_type c_7394;
object e_73116 [4];
c_7394.hdr.mark = gc_color_red;
 c_7394.hdr.grayed = 0;
c_7394.tag = closureN_tag;
 c_7394.fn = (function_type)__lambda_8;
c_7394.num_args = 1;
c_7394.num_elements = 4;
c_7394.elements = (object *)e_73116;
c_7394.elements[0] = ((closureN)self_7356)->elements[0];
c_7394.elements[1] = ((closureN)self_7356)->elements[1];
c_7394.elements[2] = r_7334;
c_7394.elements[3] = ((closureN)self_7356)->elements[2];

return_direct_with_clo2(data,  __glo_imag_91part_scheme_complex, (((closure)  __glo_imag_91part_scheme_complex)->fn),  &c_7394, ((closureN)self_7356)->elements[2]);; 
}

static void __lambda_8(void *data, object self_7357, int argc, object *args) /* object self_7357, object r_7331 */
 {
 object r_7331 = args[0];
  
closureN_type c_7396;
object e_73114 [4];
c_7396.hdr.mark = gc_color_red;
 c_7396.hdr.grayed = 0;
c_7396.tag = closureN_tag;
 c_7396.fn = (function_type)__lambda_9;
c_7396.num_args = 1;
c_7396.num_elements = 4;
c_7396.elements = (object *)e_73114;
c_7396.elements[0] = ((closureN)self_7357)->elements[0];
c_7396.elements[1] = r_7331;
c_7396.elements[2] = ((closureN)self_7357)->elements[1];
c_7396.elements[3] = ((closureN)self_7357)->elements[2];

return_direct_with_clo2(data,  __glo_imag_91part_scheme_complex, (((closure)  __glo_imag_91part_scheme_complex)->fn),  &c_7396, ((closureN)self_7357)->elements[3]);; 
}

static void __lambda_9(void *data, object self_7358, int argc, object *args) /* object self_7358, object r_7332 */
 {
 object r_7332 = args[0];
  
complex_num_type local_73101; 

complex_num_type local_73104; 

complex_num_type local_73107; 

complex_num_type local_73112; 
return_direct_with_clo1(data,  ((closureN)self_7358)->elements[0], (((closure)  ((closureN)self_7358)->elements[0])->fn),  ((inline_function_type)
                   ((closure)__glo_sqrt_191_191inline_191_191_scheme_base)->fn)(data,&local_73101, Cyc_fast_sum(data,&local_73104, Cyc_fast_mul(data,&local_73107, ((closureN)self_7358)->elements[2], ((closureN)self_7358)->elements[3]), Cyc_fast_mul(data,&local_73112, ((closureN)self_7358)->elements[1], r_7332))));; 
}

static void __lambda_3(void *data, object _, int argc, object *args) /* closure _,object k_7323, object x_732_7310 */
 {
object k_7323 = args[0]; object x_732_7310 = args[1];
  Cyc_st_add(data, "scheme/complex.sld:imag-part");

closureN_type c_7378;
object e_7384 [2];
c_7378.hdr.mark = gc_color_red;
 c_7378.hdr.grayed = 0;
c_7378.tag = closureN_tag;
 c_7378.fn = (function_type)__lambda_4;
c_7378.num_args = 1;
c_7378.num_elements = 2;
c_7378.elements = (object *)e_7384;
c_7378.elements[0] = k_7323;
c_7378.elements[1] = x_732_7310;


complex_num_type local_7387; 
return_direct_with_clo1(data,(closure)&c_7378,__lambda_4,  ((inline_function_type)
                   ((closure)__glo_complex_127_191_191inline_191_191_scheme_base)->fn)(data,&local_7387, x_732_7310));; 
}

static void __lambda_4(void *data, object self_7354, int argc, object *args) /* object self_7354, object r_7324 */
 {
 object r_7324 = args[0];
  if( (boolean_f != r_7324) ){ 
  return_direct_with_clo2(data,  __glo__75imag_91part_scheme_complex, (((closure)  __glo__75imag_91part_scheme_complex)->fn),  ((closureN)self_7354)->elements[0], ((closureN)self_7354)->elements[1]);
} else { 
  return_direct_with_clo1(data,  ((closureN)self_7354)->elements[0], (((closure)  ((closureN)self_7354)->elements[0])->fn),  obj_int2obj(0));}
;; 
}

static void __lambda_1(void *data, object _, int argc, object *args) /* closure _,object k_7319, object x_731_739 */
 {
object k_7319 = args[0]; object x_731_739 = args[1];
  Cyc_st_add(data, "scheme/complex.sld:real-part");

closureN_type c_7365;
object e_7372 [2];
c_7365.hdr.mark = gc_color_red;
 c_7365.hdr.grayed = 0;
c_7365.tag = closureN_tag;
 c_7365.fn = (function_type)__lambda_2;
c_7365.num_args = 1;
c_7365.num_elements = 2;
c_7365.elements = (object *)e_7372;
c_7365.elements[0] = k_7319;
c_7365.elements[1] = x_731_739;


complex_num_type local_7375; 
return_direct_with_clo1(data,(closure)&c_7365,__lambda_2,  ((inline_function_type)
                   ((closure)__glo_complex_127_191_191inline_191_191_scheme_base)->fn)(data,&local_7375, x_731_739));; 
}

static void __lambda_2(void *data, object self_7353, int argc, object *args) /* object self_7353, object r_7320 */
 {
 object r_7320 = args[0];
  if( (boolean_f != r_7320) ){ 
  return_direct_with_clo2(data,  __glo__75real_91part_scheme_complex, (((closure)  __glo__75real_91part_scheme_complex)->fn),  ((closureN)self_7353)->elements[0], ((closureN)self_7353)->elements[1]);
} else { 
  return_direct_with_clo1(data,  ((closureN)self_7353)->elements[0], (((closure)  ((closureN)self_7353)->elements[0])->fn),  ((closureN)self_7353)->elements[1]);}
;; 
}

void c_schemecomplex_inlinable_lambdas(void *data, object clo, int argc, object *args){ 
object buf[1]; object cont = args[0];
buf[0] = NULL; (((closure)cont)->fn)(data, cont, 1, buf);
 } 
void c_schemecomplex_entry_pt_first_lambda(void *data, object clo, int argc, object *args){ 
Cyc_set_globals_changed((gc_thread_data *)data);

  add_global("__glo_lib_91init_117schemecomplex_scheme_complex", (object *) &__glo_lib_91init_117schemecomplex_scheme_complex);
  add_global("__glo__75make_91rect_scheme_complex", (object *) &__glo__75make_91rect_scheme_complex);
  add_global("__glo__75imag_91part_scheme_complex", (object *) &__glo__75imag_91part_scheme_complex);
  add_global("__glo__75real_91part_scheme_complex", (object *) &__glo__75real_91part_scheme_complex);
  add_global("__glo_make_91rectangular_scheme_complex", (object *) &__glo_make_91rectangular_scheme_complex);
  add_global("__glo_make_91polar_scheme_complex", (object *) &__glo_make_91polar_scheme_complex);
  add_global("__glo_angle_scheme_complex", (object *) &__glo_angle_scheme_complex);
  add_global("__glo_magnitude_scheme_complex", (object *) &__glo_magnitude_scheme_complex);
  add_global("__glo_imag_91part_scheme_complex", (object *) &__glo_imag_91part_scheme_complex);
  add_global("__glo_real_91part_scheme_complex", (object *) &__glo_real_91part_scheme_complex);
  mclosure0(c_73156, (function_type)__lambda_17);c_73156.num_args = 0; 
  __glo_lib_91init_117schemecomplex_scheme_complex = &c_73156; 
  mclosure0(c_73155, (function_type)__lambda_20);c_73155.num_args = 2; 
  __glo__75make_91rect_scheme_complex = &c_73155; 
  mclosure0(c_73154, (function_type)__lambda_19);c_73154.num_args = 1; 
  __glo__75imag_91part_scheme_complex = &c_73154; 
  mclosure0(c_73153, (function_type)__lambda_18);c_73153.num_args = 1; 
  __glo__75real_91part_scheme_complex = &c_73153; 
  mclosure0(c_73151, (function_type)__lambda_16);c_73151.num_args = 2; 
  __glo_make_91rectangular_scheme_complex = &c_73151; 
  mclosure0(c_73132, (function_type)__lambda_13);c_73132.num_args = 2; 
  __glo_make_91polar_scheme_complex = &c_73132; 
  mclosure0(c_73121, (function_type)__lambda_10);c_73121.num_args = 1; 
  __glo_angle_scheme_complex = &c_73121; 
  mclosure0(c_7388, (function_type)__lambda_5);c_7388.num_args = 1; 
  __glo_magnitude_scheme_complex = &c_7388; 
  mclosure0(c_7376, (function_type)__lambda_3);c_7376.num_args = 1; 
  __glo_imag_91part_scheme_complex = &c_7376; 
  mclosure0(c_7363, (function_type)__lambda_1);c_7363.num_args = 1; 
  __glo_real_91part_scheme_complex = &c_7363; 

  mclosure0(clo_73159, c_schemecomplex_inlinable_lambdas); make_pair(pair_73158, find_or_add_symbol("c_schemecomplex_inlinable_lambdas"), &clo_73159);
  make_cvar(cvar_73160, (object *)&__glo_lib_91init_117schemecomplex_scheme_complex);make_pair(pair_73161, find_or_add_symbol("lib-init:schemecomplex"), &cvar_73160);
  make_cvar(cvar_73162, (object *)&__glo__75make_91rect_scheme_complex);make_pair(pair_73163, find_or_add_symbol("%make-rect"), &cvar_73162);
  make_cvar(cvar_73164, (object *)&__glo__75imag_91part_scheme_complex);make_pair(pair_73165, find_or_add_symbol("%imag-part"), &cvar_73164);
  make_cvar(cvar_73166, (object *)&__glo__75real_91part_scheme_complex);make_pair(pair_73167, find_or_add_symbol("%real-part"), &cvar_73166);
  make_cvar(cvar_73168, (object *)&__glo_make_91rectangular_scheme_complex);make_pair(pair_73169, find_or_add_symbol("make-rectangular"), &cvar_73168);
  make_cvar(cvar_73170, (object *)&__glo_make_91polar_scheme_complex);make_pair(pair_73171, find_or_add_symbol("make-polar"), &cvar_73170);
  make_cvar(cvar_73172, (object *)&__glo_angle_scheme_complex);make_pair(pair_73173, find_or_add_symbol("angle"), &cvar_73172);
  make_cvar(cvar_73174, (object *)&__glo_magnitude_scheme_complex);make_pair(pair_73175, find_or_add_symbol("magnitude"), &cvar_73174);
  make_cvar(cvar_73176, (object *)&__glo_imag_91part_scheme_complex);make_pair(pair_73177, find_or_add_symbol("imag-part"), &cvar_73176);
  make_cvar(cvar_73178, (object *)&__glo_real_91part_scheme_complex);make_pair(pair_73179, find_or_add_symbol("real-part"), &cvar_73178);
make_pair(c_73190, &pair_73158,Cyc_global_variables);
make_pair(c_73189, &pair_73161, &c_73190);
make_pair(c_73188, &pair_73163, &c_73189);
make_pair(c_73187, &pair_73165, &c_73188);
make_pair(c_73186, &pair_73167, &c_73187);
make_pair(c_73185, &pair_73169, &c_73186);
make_pair(c_73184, &pair_73171, &c_73185);
make_pair(c_73183, &pair_73173, &c_73184);
make_pair(c_73182, &pair_73175, &c_73183);
make_pair(c_73181, &pair_73177, &c_73182);
make_pair(c_73180, &pair_73179, &c_73181);
Cyc_global_variables = &c_73180;
object buf[1]; buf[0] = ((closure1_type *)clo)->element;
(((closure)__glo_lib_91init_117schemecomplex_scheme_complex)->fn)(data, buf[0], 1, buf);
}
void c_schemecomplex_entry_pt(void *data, object cont, int argc, object value){ 
  register_library("scheme_complex");
  c_schemecomplex_entry_pt_first_lambda(data, cont, argc, value);
}
