/* equates.h for Chez Scheme Version 10.5.0-pre-release.1 */

/* Do not edit this file.  It is automatically generated and */
/* specifically tailored to the version of Chez Scheme named */
/* above.  Always be certain that you have the correct version */
/* of this file for the version of Chez Scheme you are using. */

/* Warning: Some macros may evaluate arguments more than once. */

/* Integer typedefs */
typedef int8_t I8;
typedef uint8_t U8;
typedef int16_t I16;
typedef uint16_t U16;
typedef int32_t I32;
typedef uint32_t U32;
typedef int64_t I64;
typedef uint64_t U64;

/* constants from cmacros.ss */
#define sys_c_func_closure_index 0x4
#define sys_c_func_closure_record_index 0x3
#define sys_c_func_code_object_index 0x2
#define sys_c_func_code_record_index 0x1
#define COMPRESS_FORMAT_BITS 0x3
#define COMPRESS_GZIP 0x0
#define COMPRESS_HIGH 0x3
#define COMPRESS_LOW 0x1
#define COMPRESS_LZ4 0x1
#define COMPRESS_MAX 0x4
#define COMPRESS_MEDIUM 0x2
#define COMPRESS_MIN 0x0
#define ERROR_CALL_ARGUMENT_COUNT 0x4
#define ERROR_CALL_NONPROCEDURE 0x3
#define ERROR_CALL_NONPROCEDURE_SYMBOL 0x2
#define ERROR_CALL_UNBOUND 0x1
#define ERROR_MVLET 0x8
#define ERROR_NONCONTINUABLE_INTERRUPT 0x6
#define ERROR_OTHER 0x0
#define ERROR_RESET 0x5
#define ERROR_VALUES 0x7
#define OPEN_ERROR_EXISTS 0x2
#define OPEN_ERROR_EXISTSNOT 0x3
#define OPEN_ERROR_OTHER 0x0
#define OPEN_ERROR_PROTECTION 0x1
#define PORT_FLAG_BINARY 0x400
#define PORT_FLAG_BLOCK_BUFFERED 0x20000
#define PORT_FLAG_BOL 0x8000
#define PORT_FLAG_CHAR_POSITIONS 0x100000
#define PORT_FLAG_CLOSED 0x800
#define PORT_FLAG_COMPRESSED 0x2000
#define PORT_FLAG_EOF 0x10000
#define PORT_FLAG_EXCLUSIVE 0x4000
#define PORT_FLAG_FILE 0x1000
#define PORT_FLAG_FOLD_CASE 0x400000
#define PORT_FLAG_INPUT 0x100
#define PORT_FLAG_INPUT_MODE 0x80000
#define PORT_FLAG_LINE_BUFFERED 0x40000
#define PORT_FLAG_NO_FOLD_CASE 0x800000
#define PORT_FLAG_OUTPUT 0x200
#define PORT_FLAG_R6RS 0x200000
#define SAPPEND 0x3
#define SDEFAULT 0x4
#define SEOF -0x1
#define SERROR 0x0
#define SICONV_DUNNO 0x0
#define SICONV_INCOMPLETE 0x2
#define SICONV_INVALID 0x1
#define SICONV_NOROOM 0x3
#define SREPLACE 0x2
#define STRVNCATE 0x1
#define address_bits 0x40
#define align_rpheader 1
#define alloc_waste_maximum 0x800
#define ancestry_parent_offset 0x2
#define annotation_all 0x3
#define annotation_debug 0x1
#define annotation_profile 0x2
#define architecture pb
#define asm_arg_reg_cnt 0x3
#define asm_arg_reg_max 0x7
#define asm_fpreg_max 0x8
#define bigit_bits 0x20
#define bigit_bytes 0x4
#define bignum_data_disp 0x9
#define bignum_length_factor 0x40
#define bignum_length_offset 0x6
#define bignum_sign_offset 0x5
#define bignum_type_disp 0x1
#define black_hole (ptr)0x46
#define box_ref_disp 0x9
#define box_type_disp 0x1
#define byte_alignment 0x10
#define byte_bits 0x8
#define byte_bytes 0x1
#define byte_constant_mask 0xFFFFFFFFFFFFFFFF
#define bytes_per_card 0x200
#define bytes_per_segment 0x4000
#define bytevector_data_disp 0x9
#define bytevector_immutable_flag 0x4
#define bytevector_length_factor 0x8
#define bytevector_length_offset 0x3
#define bytevector_type_disp 0x1
#define c_entry_name_vector #(thread-context get-thread-context handle-apply-overflood handle-docall-error handle-overflow handle-overflood handle-nonprocedure-symbol thread-list split-and-resize raw-collect-cond raw-collect-thread0-cond raw-tc-mutex raw-terminated-cond activate-thread deactivate-thread unactivate-thread save-errno save-last-error handle-values-error handle-mvlet-error handle-arg-error handle-event-detour foreign-entry install-library-entry get-more-room scan-remembered-set instantiate-code-object Sreturn Scall-one-result Scall-any-results segment-info bignum-mask-test flfloor flceiling flround fltruncate flsin flcos fltan flasin flacos flatan flatan2 flexp fllog fllog2 flexpt flsqrt null-immutable-vector null-immutable-bytevector null-immutable-string)
#define c_entry_vector_size 0x33
#define cached_stack_link_disp 0x8
#define cached_stack_size_disp 0x0
#define card_offset_bits 0x9
#define cards_per_segment 0x20
#define char_data_offset 0x8
#define char_factor 0x100
#define closure_code_disp 0x3
#define closure_data_disp 0xB
#define code_arity_mask_disp 0x21
#define code_closure_length_disp 0x29
#define code_data_disp 0x41
#define code_flag_arity_in_closure 0x20
#define code_flag_continuation 0x2
#define code_flag_guardian 0x8
#define code_flag_lift_barrier 0x80
#define code_flag_mutable_closure 0x10
#define code_flag_no_interrupt_trap 0x100
#define code_flag_single_valued 0x40
#define code_flag_system 0x1
#define code_flag_template 0x4
#define code_flags_offset 0x8
#define code_info_disp 0x31
#define code_length_disp 0x9
#define code_name_disp 0x19
#define code_pinfos_disp 0x39
#define code_reloc_disp 0x11
#define code_type_disp 0x1
#define collect_interrupt_index 0x1
#define compact_frame_mask_offset 0x7
#define compact_frame_max_words 0x1F
#define compact_frame_words_bits 0x5
#define compact_frame_words_mask 0x1F
#define compact_frame_words_offset 0x2
#define compact_header_mask 0x1
#define compact_header_values_error_mask 0x2
#define compact_return_address_mask_size_mode_disp -0x8
#define compact_return_address_toplink_disp -0x10
#define continuation_attachments_disp 0x3B
#define continuation_code_disp 0x3
#define continuation_link_disp 0x23
#define continuation_return_address_disp 0x2B
#define continuation_stack_clength_disp 0x1B
#define continuation_stack_disp 0xB
#define continuation_stack_length_disp 0x13
#define continuation_winders_disp 0x33
#define countof_bignum 0x5
#define countof_box 0x9
#define countof_bytevector 0x15
#define countof_closure 0x3
#define countof_code 0xB
#define countof_continuation 0x4
#define countof_ephemeron 0x19
#define countof_exactnum 0x8
#define countof_flonum 0x2
#define countof_flvector 0x1D
#define countof_fxvector 0x14
#define countof_guardian 0x17
#define countof_inexactnum 0x7
#define countof_locked 0x16
#define countof_oblist 0x18
#define countof_pair 0x0
#define countof_phantom 0x1C
#define countof_port 0xA
#define countof_ratnum 0x6
#define countof_record 0x1B
#define countof_relocation_table 0x10
#define countof_rtd_counts 0xE
#define countof_stack 0xF
#define countof_stencil_vector 0x1A
#define countof_string 0x13
#define countof_symbol 0x1
#define countof_thread 0xC
#define countof_tlc 0xD
#define countof_types 0x1E
#define countof_vector 0x12
#define countof_weakpair 0x11
#define default_collect_trip_bytes 0x800000
#define default_heap_reserve_ratio 1.0
#define default_max_nonstatic_generation 0x4
#define default_stack_size 0xFFF0
#define default_timer_ticks 0x3E8
#define double_bytes 0x8
#define dtvec_hour 0x3
#define dtvec_isdst 0x9
#define dtvec_mday 0x4
#define dtvec_min 0x2
#define dtvec_mon 0x5
#define dtvec_nsec 0x0
#define dtvec_sec 0x1
#define dtvec_size 0xC
#define dtvec_tzname 0xB
#define dtvec_tzoff 0xA
#define dtvec_wday 0x7
#define dtvec_yday 0x8
#define dtvec_year 0x6
#define ephemeron_car_disp 0x7
#define ephemeron_cdr_disp 0xF
#define ephemeron_next_disp 0x1F
#define ephemeron_prev_ref_disp 0x17
#define eq_hashtable_subtype_ephemeron 0x2
#define eq_hashtable_subtype_normal 0x0
#define eq_hashtable_subtype_weak 0x1
#define event_resume_max_preferred_arg_cnt 0x5
#define exactnum_imag_disp 0x11
#define exactnum_pad_disp 0x19
#define exactnum_real_disp 0x9
#define exactnum_type_disp 0x1
#define fasl_endianness little
#define fasl_fld_double 0xA
#define fasl_fld_i16 0x2
#define fasl_fld_i24 0x3
#define fasl_fld_i32 0x4
#define fasl_fld_i40 0x5
#define fasl_fld_i48 0x6
#define fasl_fld_i56 0x7
#define fasl_fld_i64 0x8
#define fasl_fld_ptr 0x0
#define fasl_fld_single 0x9
#define fasl_fld_u8 0x1
#define fasl_header #vu8(0 0 0 0 99 104 101 122)
#define fasl_omit_rtds 0x4
#define fasl_type_base_rtd 0x1B
#define fasl_type_begin 0x2B
#define fasl_type_box 0x1
#define fasl_type_bytevector 0x1E
#define fasl_type_closure 0x6
#define fasl_type_code 0xB
#define fasl_type_entry 0xD
#define fasl_type_ephemeron 0x1D
#define fasl_type_eq_hashtable 0x20
#define fasl_type_exactnum 0x14
#define fasl_type_fasl 0x64
#define fasl_type_flonum 0x8
#define fasl_type_flvector 0x28
#define fasl_type_fxvector 0x1C
#define fasl_type_gensym 0x13
#define fasl_type_graph 0x10
#define fasl_type_graph_def 0x11
#define fasl_type_graph_ref 0x12
#define fasl_type_gzip 0x2D
#define fasl_type_header 0x0
#define fasl_type_immediate 0xC
#define fasl_type_immutable_box 0x2A
#define fasl_type_immutable_bytevector 0x29
#define fasl_type_immutable_string 0x27
#define fasl_type_immutable_vector 0x26
#define fasl_type_inexactnum 0x5
#define fasl_type_large_integer 0xA
#define fasl_type_library 0xE
#define fasl_type_library_code 0xF
#define fasl_type_lz4 0x2E
#define fasl_type_pair 0x7
#define fasl_type_phantom 0x22
#define fasl_type_ratnum 0x3
#define fasl_type_record 0x18
#define fasl_type_revisit 0x24
#define fasl_type_rtd 0x19
#define fasl_type_small_integer 0x1A
#define fasl_type_stencil_vector 0x16
#define fasl_type_string 0x9
#define fasl_type_symbol 0x2
#define fasl_type_symbol_hashtable 0x21
#define fasl_type_system_stencil_vector 0x17
#define fasl_type_terminator 0x7F
#define fasl_type_uncompressed 0x2C
#define fasl_type_uninterned_symbol 0x15
#define fasl_type_vector 0x4
#define fasl_type_vfasl 0x65
#define fasl_type_visit 0x23
#define fasl_type_visit_revisit 0x25
#define fasl_type_weak_pair 0x1F
#define ffi_default_abi 0xC
#define ffi_typerep_double 0xA
#define ffi_typerep_float 0x9
#define ffi_typerep_pointer 0xB
#define ffi_typerep_sint16 0x4
#define ffi_typerep_sint32 0x6
#define ffi_typerep_sint64 0x8
#define ffi_typerep_sint8 0x2
#define ffi_typerep_uint16 0x3
#define ffi_typerep_uint32 0x5
#define ffi_typerep_uint64 0x7
#define ffi_typerep_uint8 0x1
#define ffi_typerep_void 0x0
#define fixnum_bits 0x3D
#define fixnum_factor 0x8
#define fixnum_offset 0x3
#define fld_byte_index 0x4
#define fld_mutablep_index 0x2
#define fld_name_index 0x1
#define fld_type_index 0x3
#define flonum_bits 0x40
#define flonum_bytes 0x8
#define flonum_data_disp 0x6
#define flvector_data_disp 0x9
#define flvector_length_factor 0x10
#define flvector_length_offset 0x4
#define flvector_type_disp 0x1
#define forward_address_disp 0x8
#define forward_marker (ptr)0x3E
#define forward_marker_disp 0x0
#define ftype_guardian_rep (ptr)0x56
#define fuel_word_count_shift 0x2
#define fxvector_data_disp 0x9
#define fxvector_length_factor 0x10
#define fxvector_length_offset 0x4
#define fxvector_type_disp 0x1
#define guardian_entry_next_disp 0x18
#define guardian_entry_obj_disp 0x0
#define guardian_entry_orderedp_disp 0x20
#define guardian_entry_pending_disp 0x28
#define guardian_entry_rep_disp 0x8
#define guardian_entry_tconc_disp 0x10
#define hashtable_default_size 0x8
#define header_size_bignum 0x8
#define header_size_bytevector 0x8
#define header_size_closure 0x8
#define header_size_code 0x40
#define header_size_flvector 0x8
#define header_size_fxvector 0x8
#define header_size_record 0x8
#define header_size_reloc_table 0x10
#define header_size_stencil_vector 0x8
#define header_size_string 0x8
#define header_size_vector 0x8
#define ignore_event_flag 0x0
#define inexactnum_imag_disp 0x19
#define inexactnum_pad_disp 0x9
#define inexactnum_real_disp 0x11
#define inexactnum_type_disp 0x1
#define inline_args_limit 0xA
#define int_bits 0x20
#define integer_divide_instruction 1
#define keyboard_interrupt_index 0x3
#define library_entry_vector_size 0x27A
#define libspec_closure_index 0xD
#define libspec_does_not_expect_headroom_index 0x0
#define libspec_error_index 0xE
#define libspec_fake_index 0x10
#define libspec_flags_index 0x2
#define libspec_has_does_not_expect_headroom_version_index 0xF
#define libspec_index_base_offset 0x1
#define libspec_index_base_size 0x9
#define libspec_index_offset 0x0
#define libspec_index_size 0xA
#define libspec_interface_offset 0xA
#define libspec_interface_size 0x3
#define libspec_name_index 0x1
#define list_bits_mask 0x3
#define log2_byte_bits 0x3
#define log2_ptr_bytes 0x3
#define long_bits 0x40
#define long_long_bits 0x40
#define machine_type 0x1
#define machine_type_a6fb 0x27
#define machine_type_a6gnu 0x1D
#define machine_type_a6hk 0x59
#define machine_type_a6ios 0x23
#define machine_type_a6le 0x25
#define machine_type_a6nb 0x2B
#define machine_type_a6nt 0x1F
#define machine_type_a6ob 0x29
#define machine_type_a6osx 0x21
#define machine_type_a6s2 0x2D
#define machine_type_alist ((0 . any) (1 . pb) (2 . tpb) (3 . pb32l) (4 . tpb32l) (5 . pb32b) (6 . tpb32b) (7 . pb64l) (8 . tpb64l) (9 . pb64b) (10 . tpb64b) (11 . i3nt) (12 . ti3nt) (13 . i3osx) (14 . ti3osx) (15 . i3le) (16 . ti3le) (17 . i3fb) (18 . ti3fb) (19 . i3ob) (20 . ti3ob) (21 . i3nb) (22 . ti3nb) (23 . i3s2) (24 . ti3s2) (25 . i3qnx) (26 . ti3qnx) (27 . i3gnu) (28 . ti3gnu) (29 . a6gnu) (30 . ta6gnu) (31 . a6nt) (32 . ta6nt) (33 . a6osx) (34 . ta6osx) (35 . a6ios) (36 . ta6ios) (37 . a6le) (38 . ta6le) (39 . a6fb) (40 . ta6fb) (41 . a6ob) (42 . ta6ob) (43 . a6nb) (44 . ta6nb) (45 . a6s2) (46 . ta6s2) (47 . ppc32osx) (48 . tppc32osx) (49 . ppc32le) (50 . tppc32le) (51 . ppc32fb) (52 . tppc32fb) (53 . ppc32ob) (54 . tppc32ob) (55 . ppc32nb) (56 . tppc32nb) (57 . arm32le) (58 . tarm32le) (59 . arm32fb) (60 . tarm32fb) (61 . arm32ob) (62 . tarm32ob) (63 . arm32nb) (64 . tarm32nb) (65 . arm64nt) (66 . tarm64nt) (67 . arm64osx) (68 . tarm64osx) (69 . arm64ios) (70 . tarm64ios) (71 . arm64le) (72 . tarm64le) (73 . arm64fb) (74 . tarm64fb) (75 . arm64ob) (76 . tarm64ob) (77 . arm64nb) (78 . tarm64nb) (79 . rv64le) (80 . trv64le) (81 . rv64fb) (82 . trv64fb) (83 . rv64ob) (84 . trv64ob) (85 . rv64nb) (86 . trv64nb) (87 . la64le) (88 . tla64le) (89 . a6hk) (90 . ta6hk))
#define machine_type_any 0x0
#define machine_type_arm32fb 0x3B
#define machine_type_arm32le 0x39
#define machine_type_arm32nb 0x3F
#define machine_type_arm32ob 0x3D
#define machine_type_arm64fb 0x49
#define machine_type_arm64ios 0x45
#define machine_type_arm64le 0x47
#define machine_type_arm64nb 0x4D
#define machine_type_arm64nt 0x41
#define machine_type_arm64ob 0x4B
#define machine_type_arm64osx 0x43
#define machine_type_i3fb 0x11
#define machine_type_i3gnu 0x1B
#define machine_type_i3le 0xF
#define machine_type_i3nb 0x15
#define machine_type_i3nt 0xB
#define machine_type_i3ob 0x13
#define machine_type_i3osx 0xD
#define machine_type_i3qnx 0x19
#define machine_type_i3s2 0x17
#define machine_type_la64le 0x57
#define machine_type_limit 0x5B
#define machine_type_name pb
#define machine_type_pb 0x1
#define machine_type_pb32b 0x5
#define machine_type_pb32l 0x3
#define machine_type_pb64b 0x9
#define machine_type_pb64l 0x7
#define machine_type_ppc32fb 0x33
#define machine_type_ppc32le 0x31
#define machine_type_ppc32nb 0x37
#define machine_type_ppc32ob 0x35
#define machine_type_ppc32osx 0x2F
#define machine_type_rv64fb 0x51
#define machine_type_rv64le 0x4F
#define machine_type_rv64nb 0x55
#define machine_type_rv64ob 0x53
#define machine_type_ta6fb 0x28
#define machine_type_ta6gnu 0x1E
#define machine_type_ta6hk 0x5A
#define machine_type_ta6ios 0x24
#define machine_type_ta6le 0x26
#define machine_type_ta6nb 0x2C
#define machine_type_ta6nt 0x20
#define machine_type_ta6ob 0x2A
#define machine_type_ta6osx 0x22
#define machine_type_ta6s2 0x2E
#define machine_type_tarm32fb 0x3C
#define machine_type_tarm32le 0x3A
#define machine_type_tarm32nb 0x40
#define machine_type_tarm32ob 0x3E
#define machine_type_tarm64fb 0x4A
#define machine_type_tarm64ios 0x46
#define machine_type_tarm64le 0x48
#define machine_type_tarm64nb 0x4E
#define machine_type_tarm64nt 0x42
#define machine_type_tarm64ob 0x4C
#define machine_type_tarm64osx 0x44
#define machine_type_ti3fb 0x12
#define machine_type_ti3gnu 0x1C
#define machine_type_ti3le 0x10
#define machine_type_ti3nb 0x16
#define machine_type_ti3nt 0xC
#define machine_type_ti3ob 0x14
#define machine_type_ti3osx 0xE
#define machine_type_ti3qnx 0x1A
#define machine_type_ti3s2 0x18
#define machine_type_tla64le 0x58
#define machine_type_tpb 0x2
#define machine_type_tpb32b 0x6
#define machine_type_tpb32l 0x4
#define machine_type_tpb64b 0xA
#define machine_type_tpb64l 0x8
#define machine_type_tppc32fb 0x34
#define machine_type_tppc32le 0x32
#define machine_type_tppc32nb 0x38
#define machine_type_tppc32ob 0x36
#define machine_type_tppc32osx 0x30
#define machine_type_trv64fb 0x52
#define machine_type_trv64le 0x50
#define machine_type_trv64nb 0x56
#define machine_type_trv64ob 0x54
#define mask_any_stencil_vector 0x1F
#define mask_bignum 0x1F
#define mask_bignum_sign 0x20
#define mask_binary_input_port 0x5FF
#define mask_binary_output_port 0x6FF
#define mask_binary_port 0x4FF
#define mask_boolean 0xF7
#define mask_box 0xFF
#define mask_bwp 0xFFFFFFFFFFFFFFFF
#define mask_bytevector 0x3
#define mask_char 0xFF
#define mask_closure 0x7
#define mask_code 0xFF
#define mask_code_arity_in_closure 0x20FF
#define mask_code_mutable_closure 0x10FF
#define mask_code_single_valued 0x40FF
#define mask_continuation_code 0x2FF
#define mask_eof 0xFFFFFFFFFFFFFFFF
#define mask_exactnum 0xFFFFFFFFFFFFFFFF
#define mask_false 0xFFFFFFFFFFFFFFFF
#define mask_fixnum 0x7
#define mask_flonum 0x7
#define mask_flvector 0xF
#define mask_fxvector 0xF
#define mask_guardian_code 0x8FF
#define mask_immediate 0x7
#define mask_inexactnum 0xFFFFFFFFFFFFFFFF
#define mask_input_port 0x1FF
#define mask_mutable_box 0x1FF
#define mask_mutable_bytevector 0x7
#define mask_mutable_string 0xF
#define mask_mutable_vector 0xF
#define mask_nil 0xFFFFFFFFFFFFFFFF
#define mask_octet -0x7F9
#define mask_other_number 0xF
#define mask_output_port 0x2FF
#define mask_pair 0x7
#define mask_phantom 0xFFFFFFFFFFFFFFFF
#define mask_port 0xFF
#define mask_ratnum 0xFFFFFFFFFFFFFFFF
#define mask_record 0x7
#define mask_rtd_counts 0xFFFFFFFFFFFFFFFF
#define mask_signed_bignum 0x3F
#define mask_stencil_vector 0x3F
#define mask_string 0x7
#define mask_symbol 0x7
#define mask_sys_stencil_vector 0x3F
#define mask_system_code 0x1FF
#define mask_textual_input_port 0x5FF
#define mask_textual_output_port 0x6FF
#define mask_textual_port 0x4FF
#define mask_thread 0xFFFFFFFFFFFFFFFF
#define mask_tlc 0xFFFFFFFFFFFFFFFF
#define mask_typed_object 0x7
#define mask_unbound 0xFFFFFFFFFFFFFFFF
#define mask_vector 0x7
#define max_float_alignment 0x8
#define max_integer_alignment 0x8
#define max_real_space 0x12
#define max_space 0x13
#define max_sweep_space 0x10
#define maximum_bignum_length (iptr)0x3FFFFFFFFFFFFFF
#define maximum_bytevector_length (iptr)0xFFFFFFFFFFFFFFF
#define maximum_flvector_length (iptr)0xFFFFFFFFFFFFFFF
#define maximum_fxvector_length (iptr)0xFFFFFFFFFFFFFFF
#define maximum_interrupt_index 0x4
#define maximum_parallel_collect_threads 0x10
#define maximum_string_length (iptr)0xFFFFFFFFFFFFFFF
#define maximum_vector_length (iptr)0xFFFFFFFFFFFFFFF
#define minimum_ancestry_vector_length 0x2
#define minimum_segment_request 0x80
#define most_negative_fixnum (iptr)-0x1000000000000000
#define most_positive_fixnum (iptr)0xFFFFFFFFFFFFFFF
#define nan_single_comparison_truep 1
#define native_endianness unknown
#define never_immutable_flag 0x0
#define one_shot_headroom 0xC00
#define open_fd_append 0x8
#define open_fd_compressed 0x40
#define open_fd_lock 0x10
#define open_fd_no_create 0x1
#define open_fd_no_fail 0x2
#define open_fd_no_truncate 0x4
#define open_fd_replace 0x20
#define opportunistic_1_shot_flag -0x10
#define ordinary_type_bits 0x8
#define pair_car_disp 0x7
#define pair_cdr_disp 0xF
#define pair_shift 0x4
#define pb_ab 0xA
#define pb_add 0x0
#define pb_adr 0xD7
#define pb_always 0x4
#define pb_and 0xC
#define pb_argument_types (#f pb-register pb-immediate)
#define pb_asr 0x16
#define pb_bs_op 0xD2
#define pb_bs_op_pb_immediate 0xD3
#define pb_bs_op_pb_register 0xD2
#define pb_b_op 0xCC
#define pb_b_op_pb_always_pb_immediate 0xD1
#define pb_b_op_pb_always_pb_register 0xD0
#define pb_b_op_pb_fals_pb_immediate 0xCD
#define pb_b_op_pb_fals_pb_register 0xCC
#define pb_b_op_pb_true_pb_immediate 0xCF
#define pb_b_op_pb_true_pb_register 0xCE
#define pb_bin_op 0x16
#define pb_bin_op_pb_no_signal_pb_add_pb_immediate 0x17
#define pb_bin_op_pb_no_signal_pb_add_pb_register 0x16
#define pb_bin_op_pb_no_signal_pb_and_pb_immediate 0x23
#define pb_bin_op_pb_no_signal_pb_and_pb_register 0x22
#define pb_bin_op_pb_no_signal_pb_asr_pb_immediate 0x2D
#define pb_bin_op_pb_no_signal_pb_asr_pb_register 0x2C
#define pb_bin_op_pb_no_signal_pb_div_pb_immediate 0x1D
#define pb_bin_op_pb_no_signal_pb_div_pb_register 0x1C
#define pb_bin_op_pb_no_signal_pb_ior_pb_immediate 0x25
#define pb_bin_op_pb_no_signal_pb_ior_pb_register 0x24
#define pb_bin_op_pb_no_signal_pb_lsl_pb_immediate 0x29
#define pb_bin_op_pb_no_signal_pb_lsl_pb_register 0x28
#define pb_bin_op_pb_no_signal_pb_lslo_pb_immediate 0x2F
#define pb_bin_op_pb_no_signal_pb_lslo_pb_register 0x2E
#define pb_bin_op_pb_no_signal_pb_lsr_pb_immediate 0x2B
#define pb_bin_op_pb_no_signal_pb_lsr_pb_register 0x2A
#define pb_bin_op_pb_no_signal_pb_mul_pb_immediate 0x1B
#define pb_bin_op_pb_no_signal_pb_mul_pb_register 0x1A
#define pb_bin_op_pb_no_signal_pb_sub_pb_immediate 0x19
#define pb_bin_op_pb_no_signal_pb_sub_pb_register 0x18
#define pb_bin_op_pb_no_signal_pb_subp_pb_immediate 0x21
#define pb_bin_op_pb_no_signal_pb_subp_pb_register 0x20
#define pb_bin_op_pb_no_signal_pb_subz_pb_immediate 0x1F
#define pb_bin_op_pb_no_signal_pb_subz_pb_register 0x1E
#define pb_bin_op_pb_no_signal_pb_xor_pb_immediate 0x27
#define pb_bin_op_pb_no_signal_pb_xor_pb_register 0x26
#define pb_bin_op_pb_signal_pb_add_pb_immediate 0x31
#define pb_bin_op_pb_signal_pb_add_pb_register 0x30
#define pb_bin_op_pb_signal_pb_and_pb_immediate 0x3D
#define pb_bin_op_pb_signal_pb_and_pb_register 0x3C
#define pb_bin_op_pb_signal_pb_asr_pb_immediate 0x47
#define pb_bin_op_pb_signal_pb_asr_pb_register 0x46
#define pb_bin_op_pb_signal_pb_div_pb_immediate 0x37
#define pb_bin_op_pb_signal_pb_div_pb_register 0x36
#define pb_bin_op_pb_signal_pb_ior_pb_immediate 0x3F
#define pb_bin_op_pb_signal_pb_ior_pb_register 0x3E
#define pb_bin_op_pb_signal_pb_lsl_pb_immediate 0x43
#define pb_bin_op_pb_signal_pb_lsl_pb_register 0x42
#define pb_bin_op_pb_signal_pb_lslo_pb_immediate 0x49
#define pb_bin_op_pb_signal_pb_lslo_pb_register 0x48
#define pb_bin_op_pb_signal_pb_lsr_pb_immediate 0x45
#define pb_bin_op_pb_signal_pb_lsr_pb_register 0x44
#define pb_bin_op_pb_signal_pb_mul_pb_immediate 0x35
#define pb_bin_op_pb_signal_pb_mul_pb_register 0x34
#define pb_bin_op_pb_signal_pb_sub_pb_immediate 0x33
#define pb_bin_op_pb_signal_pb_sub_pb_register 0x32
#define pb_bin_op_pb_signal_pb_subp_pb_immediate 0x3B
#define pb_bin_op_pb_signal_pb_subp_pb_register 0x3A
#define pb_bin_op_pb_signal_pb_subz_pb_immediate 0x39
#define pb_bin_op_pb_signal_pb_subz_pb_register 0x38
#define pb_bin_op_pb_signal_pb_xor_pb_immediate 0x41
#define pb_bin_op_pb_signal_pb_xor_pb_register 0x40
#define pb_binaries (pb-argument-types pb-add pb-sub pb-mul pb-div pb-subz pb-subp pb-and pb-ior pb-xor pb-lsl pb-lsr pb-asr pb-lslo)
#define pb_bl 0xC
#define pb_branches (pb-argument-types pb-fals pb-true pb-always)
#define pb_call 0xD4
#define pb_call_arena_in 0xDC
#define pb_call_arena_out 0xDD
#define pb_call_arena_size 0x80
#define pb_call_double_double 0x1C
#define pb_call_double_double_double 0x1E
#define pb_call_double_uptr 0x1D
#define pb_call_int32 0xF
#define pb_call_int32_double_double_double_double_double_double 0x19
#define pb_call_int32_int32 0x10
#define pb_call_int32_int32_int32 0x16
#define pb_call_int32_int32_uptr 0x13
#define pb_call_int32_int32_voids 0x17
#define pb_call_int32_uptr 0x11
#define pb_call_int32_uptr_int32 0x14
#define pb_call_int32_uptr_uptr 0x15
#define pb_call_int32_uptr_uptr_uptr 0x20
#define pb_call_int32_uptr_uptr_uptr_uptr_uptr 0x1F
#define pb_call_int32_voids 0x12
#define pb_call_int32_voids_int32 0x18
#define pb_call_int32_voids_voids_voids_voids_uptr 0x1A
#define pb_call_uint32 0x1B
#define pb_call_uptr 0x21
#define pb_call_uptr_double_double_double_double_double_double 0x40
#define pb_call_uptr_int32 0x23
#define pb_call_uptr_int32_int32_int32_uptr 0x37
#define pb_call_uptr_int32_int32_uptr 0x30
#define pb_call_uptr_int32_int32_uptr_uptr 0x34
#define pb_call_uptr_int32_uptr 0x27
#define pb_call_uptr_int32_uptr_uptr_uptr 0x33
#define pb_call_uptr_int32_voids_uptr_uptr 0x35
#define pb_call_uptr_uptr 0x22
#define pb_call_uptr_uptr_int32 0x26
#define pb_call_uptr_uptr_int32_int32 0x2D
#define pb_call_uptr_uptr_int32_uptr_uptr_uptr_uptr 0x3C
#define pb_call_uptr_uptr_int64 0x28
#define pb_call_uptr_uptr_uptr 0x25
#define pb_call_uptr_uptr_uptr_int32 0x2E
#define pb_call_uptr_uptr_uptr_uptr 0x2F
#define pb_call_uptr_uptr_uptr_uptr_uptr 0x36
#define pb_call_uptr_uptr_uptr_uptr_uptr_int32 0x39
#define pb_call_uptr_uptr_uptr_uptr_uptr_uptr 0x3A
#define pb_call_uptr_uptr_uptr_uptr_uptr_uptr_uptr 0x3D
#define pb_call_uptr_uptr_uptr_uptr_uptr_uptr_uptr_int32 0x3E
#define pb_call_uptr_uptr_uptr_uptr_uptr_uptr_uptr_uptr 0x3F
#define pb_call_uptr_uptr_voids 0x29
#define pb_call_uptr_uptr_voids_uptr_uptr 0x38
#define pb_call_uptr_voids 0x24
#define pb_call_uptr_voids_int32 0x2B
#define pb_call_uptr_voids_int32_int32 0x31
#define pb_call_uptr_voids_uptr 0x2A
#define pb_call_uptr_voids_uptr_uptr 0x32
#define pb_call_uptr_voids_voids 0x2C
#define pb_call_uptr_voids_voids_voids_voids_uptr 0x3B
#define pb_call_void 0x0
#define pb_call_voids 0x41
#define pb_call_voids_uptr 0x42
#define pb_call_void_int32 0x2
#define pb_call_void_int32_int32 0x7
#define pb_call_void_int32_uptr 0x6
#define pb_call_void_int32_voids 0xA
#define pb_call_void_uint32 0x3
#define pb_call_void_uint32_uint32 0x8
#define pb_call_void_uptr 0x1
#define pb_call_void_uptr_uint32 0x5
#define pb_call_void_uptr_uptr 0x9
#define pb_call_void_uptr_uptr_uptr 0xD
#define pb_call_void_uptr_uptr_uptr_uptr_uptr 0xE
#define pb_call_void_uptr_voids 0xB
#define pb_call_void_voids 0x4
#define pb_call_void_voids_voids 0xC
#define pb_cas 0xDB
#define pb_cc 0x10
#define pb_chunk 0xE4
#define pb_cmp_op 0x4A
#define pb_cmp_op_pb_ab_pb_immediate 0x55
#define pb_cmp_op_pb_ab_pb_register 0x54
#define pb_cmp_op_pb_bl_pb_immediate 0x57
#define pb_cmp_op_pb_bl_pb_register 0x56
#define pb_cmp_op_pb_cc_pb_immediate 0x5B
#define pb_cmp_op_pb_cc_pb_register 0x5A
#define pb_cmp_op_pb_cs_pb_immediate 0x59
#define pb_cmp_op_pb_cs_pb_register 0x58
#define pb_cmp_op_pb_eq_pb_immediate 0x4B
#define pb_cmp_op_pb_eq_pb_register 0x4A
#define pb_cmp_op_pb_ge_pb_immediate 0x53
#define pb_cmp_op_pb_ge_pb_register 0x52
#define pb_cmp_op_pb_gt_pb_immediate 0x4F
#define pb_cmp_op_pb_gt_pb_register 0x4E
#define pb_cmp_op_pb_le_pb_immediate 0x51
#define pb_cmp_op_pb_le_pb_register 0x50
#define pb_cmp_op_pb_lt_pb_immediate 0x4D
#define pb_cmp_op_pb_lt_pb_register 0x4C
#define pb_compares (pb-argument-types pb-eq pb-lt pb-gt pb-le pb-ge pb-ab pb-bl pb-cs pb-cc)
#define pb_cs 0xE
#define pb_d_d 0x1
#define pb_d_i 0x3
#define pb_d_s 0x5
#define pb_d_s_d 0x6
#define pb_d_bits_i_bits 0x8
#define pb_d_hi_bits_i_bits 0xB
#define pb_d_lo_bits_i_bits 0xA
#define pb_div 0x6
#define pb_double 0x12
#define pb_eq 0x0
#define pb_fals 0x0
#define pb_fence 0xE1
#define pb_fence_acquire 0x1
#define pb_fence_pb_fence_acquire 0xE2
#define pb_fence_pb_fence_release 0xE3
#define pb_fence_pb_fence_store_store 0xE1
#define pb_fence_release 0x2
#define pb_fence_store_store 0x0
#define pb_fences (#f pb-fence-store-store pb-fence-acquire pb-fence-release)
#define pb_fp_bin_op 0x5C
#define pb_fp_bin_op_pb_add_pb_immediate 0x5D
#define pb_fp_bin_op_pb_add_pb_register 0x5C
#define pb_fp_bin_op_pb_and_pb_immediate 0x69
#define pb_fp_bin_op_pb_and_pb_register 0x68
#define pb_fp_bin_op_pb_asr_pb_immediate 0x73
#define pb_fp_bin_op_pb_asr_pb_register 0x72
#define pb_fp_bin_op_pb_div_pb_immediate 0x63
#define pb_fp_bin_op_pb_div_pb_register 0x62
#define pb_fp_bin_op_pb_ior_pb_immediate 0x6B
#define pb_fp_bin_op_pb_ior_pb_register 0x6A
#define pb_fp_bin_op_pb_lsl_pb_immediate 0x6F
#define pb_fp_bin_op_pb_lsl_pb_register 0x6E
#define pb_fp_bin_op_pb_lslo_pb_immediate 0x75
#define pb_fp_bin_op_pb_lslo_pb_register 0x74
#define pb_fp_bin_op_pb_lsr_pb_immediate 0x71
#define pb_fp_bin_op_pb_lsr_pb_register 0x70
#define pb_fp_bin_op_pb_mul_pb_immediate 0x61
#define pb_fp_bin_op_pb_mul_pb_register 0x60
#define pb_fp_bin_op_pb_sub_pb_immediate 0x5F
#define pb_fp_bin_op_pb_sub_pb_register 0x5E
#define pb_fp_bin_op_pb_subp_pb_immediate 0x67
#define pb_fp_bin_op_pb_subp_pb_register 0x66
#define pb_fp_bin_op_pb_subz_pb_immediate 0x65
#define pb_fp_bin_op_pb_subz_pb_register 0x64
#define pb_fp_bin_op_pb_xor_pb_immediate 0x6D
#define pb_fp_bin_op_pb_xor_pb_register 0x6C
#define pb_fp_call_arena_in 0xDE
#define pb_fp_call_arena_out 0xDF
#define pb_fp_cmp_op 0x7E
#define pb_fp_cmp_op_pb_ab_pb_immediate 0x89
#define pb_fp_cmp_op_pb_ab_pb_register 0x88
#define pb_fp_cmp_op_pb_bl_pb_immediate 0x8B
#define pb_fp_cmp_op_pb_bl_pb_register 0x8A
#define pb_fp_cmp_op_pb_cc_pb_immediate 0x8F
#define pb_fp_cmp_op_pb_cc_pb_register 0x8E
#define pb_fp_cmp_op_pb_cs_pb_immediate 0x8D
#define pb_fp_cmp_op_pb_cs_pb_register 0x8C
#define pb_fp_cmp_op_pb_eq_pb_immediate 0x7F
#define pb_fp_cmp_op_pb_eq_pb_register 0x7E
#define pb_fp_cmp_op_pb_ge_pb_immediate 0x87
#define pb_fp_cmp_op_pb_ge_pb_register 0x86
#define pb_fp_cmp_op_pb_gt_pb_immediate 0x83
#define pb_fp_cmp_op_pb_gt_pb_register 0x82
#define pb_fp_cmp_op_pb_le_pb_immediate 0x85
#define pb_fp_cmp_op_pb_le_pb_register 0x84
#define pb_fp_cmp_op_pb_lt_pb_immediate 0x81
#define pb_fp_cmp_op_pb_lt_pb_register 0x80
#define pb_fp_un_op 0x7A
#define pb_fp_un_op_pb_not_pb_immediate 0x7B
#define pb_fp_un_op_pb_not_pb_register 0x7A
#define pb_fp_un_op_pb_sqrt_pb_immediate 0x7D
#define pb_fp_un_op_pb_sqrt_pb_register 0x7C
#define pb_fpreg_count 0x8
#define pb_ge 0x8
#define pb_gt 0x4
#define pb_i_d 0x2
#define pb_i_i 0x0
#define pb_i_bits_d_bits 0x7
#define pb_i_i_bits_d_bits 0x9
#define pb_immediate 0x1
#define pb_inc 0xD8
#define pb_inc_pb_immediate 0xD9
#define pb_inc_pb_register 0xD8
#define pb_int16 0x4
#define pb_int32 0x8
#define pb_int64 0xC
#define pb_int8 0x0
#define pb_interp 0xD6
#define pb_ior 0xE
#define pb_keep_bits 0x4
#define pb_keeps (pb-shifts pb-zero-bits pb-keep-bits)
#define pb_ld_op 0xA4
#define pb_ld_op_pb_double_pb_immediate 0xB7
#define pb_ld_op_pb_double_pb_register 0xB6
#define pb_ld_op_pb_int16_pb_immediate 0xA9
#define pb_ld_op_pb_int16_pb_register 0xA8
#define pb_ld_op_pb_int32_pb_immediate 0xAD
#define pb_ld_op_pb_int32_pb_register 0xAC
#define pb_ld_op_pb_int64_pb_immediate 0xB1
#define pb_ld_op_pb_int64_pb_register 0xB0
#define pb_ld_op_pb_int8_pb_immediate 0xA5
#define pb_ld_op_pb_int8_pb_register 0xA4
#define pb_ld_op_pb_single_pb_immediate 0xB5
#define pb_ld_op_pb_single_pb_register 0xB4
#define pb_ld_op_pb_uint16_pb_immediate 0xAB
#define pb_ld_op_pb_uint16_pb_register 0xAA
#define pb_ld_op_pb_uint32_pb_immediate 0xAF
#define pb_ld_op_pb_uint32_pb_register 0xAE
#define pb_ld_op_pb_uint64_pb_immediate 0xB3
#define pb_ld_op_pb_uint64_pb_register 0xB2
#define pb_ld_op_pb_uint8_pb_immediate 0xA7
#define pb_ld_op_pb_uint8_pb_register 0xA6
#define pb_le 0x6
#define pb_literal 0x1
#define pb_lock 0xDA
#define pb_lsl 0x12
#define pb_lslo 0x18
#define pb_lsr 0x14
#define pb_lt 0x2
#define pb_mov 0xA
#define pb_mov_pb_d_d 0xB
#define pb_mov_pb_d_i 0xD
#define pb_mov_pb_d_s 0xF
#define pb_mov_pb_d_s_d 0x10
#define pb_mov_pb_d_bits_i_bits 0x12
#define pb_mov_pb_d_hi_bits_i_bits 0x15
#define pb_mov_pb_d_lo_bits_i_bits 0x14
#define pb_mov_pb_i_d 0xC
#define pb_mov_pb_i_i 0xA
#define pb_mov_pb_i_bits_d_bits 0x11
#define pb_mov_pb_i_i_bits_d_bits 0x13
#define pb_mov_pb_s_d 0xE
#define pb_mov16 0x2
#define pb_mov16_pb_keep_bits_pb_shift0 0x6
#define pb_mov16_pb_keep_bits_pb_shift1 0x7
#define pb_mov16_pb_keep_bits_pb_shift2 0x8
#define pb_mov16_pb_keep_bits_pb_shift3 0x9
#define pb_mov16_pb_zero_bits_pb_shift0 0x2
#define pb_mov16_pb_zero_bits_pb_shift1 0x3
#define pb_mov16_pb_zero_bits_pb_shift2 0x4
#define pb_mov16_pb_zero_bits_pb_shift3 0x5
#define pb_move_types (#f pb-i->i pb-d->d pb-i->d pb-d->i pb-s->d pb-d->s pb-d->s->d pb-i-bits->d-bits pb-d-bits->i-bits pb-i-i-bits->d-bits pb-d-lo-bits->i-bits pb-d-hi-bits->i-bits)
#define pb_mul 0x4
#define pb_no_signal 0x0
#define pb_nop 0x0
#define pb_not 0x0
#define pb_prototype_table (((void* uptr) . 66) ((void*) . 65) ((uptr double double double double double double) . 64) ((uptr uptr uptr uptr uptr uptr uptr uptr) . 63) ((uptr uptr uptr uptr uptr uptr uptr int32) . 62) ((uptr uptr uptr uptr uptr uptr uptr) . 61) ((uptr uptr int32 uptr uptr uptr uptr) . 60) ((uptr void* void* void* void* uptr) . 59) ((uptr uptr uptr uptr uptr uptr) . 58) ((uptr uptr uptr uptr uptr int32) . 57) ((uptr uptr void* uptr uptr) . 56) ((uptr int32 int32 int32 uptr) . 55) ((uptr uptr uptr uptr uptr) . 54) ((uptr int32 void* uptr uptr) . 53) ((uptr int32 int32 uptr uptr) . 52) ((uptr int32 uptr uptr uptr) . 51) ((uptr void* uptr uptr) . 50) ((uptr void* int32 int32) . 49) ((uptr int32 int32 uptr) . 48) ((uptr uptr uptr uptr) . 47) ((uptr uptr uptr int32) . 46) ((uptr uptr int32 int32) . 45) ((uptr void* void*) . 44) ((uptr void* int32) . 43) ((uptr void* uptr) . 42) ((uptr uptr void*) . 41) ((uptr uptr int64) . 40) ((uptr int32 uptr) . 39) ((uptr uptr int32) . 38) ((uptr uptr uptr) . 37) ((uptr void*) . 36) ((uptr int32) . 35) ((uptr uptr) . 34) ((uptr) . 33) ((int32 uptr uptr uptr) . 32) ((int32 uptr uptr uptr uptr uptr) . 31) ((double double double) . 30) ((double uptr) . 29) ((double double) . 28) ((uint32) . 27) ((int32 void* void* void* void* uptr) . 26) ((int32 double double double double double double) . 25) ((int32 void* int32) . 24) ((int32 int32 void*) . 23) ((int32 int32 int32) . 22) ((int32 uptr uptr) . 21) ((int32 uptr int32) . 20) ((int32 int32 uptr) . 19) ((int32 void*) . 18) ((int32 uptr) . 17) ((int32 int32) . 16) ((int32) . 15) ((void uptr uptr uptr uptr uptr) . 14) ((void uptr uptr uptr) . 13) ((void void* void*) . 12) ((void uptr void*) . 11) ((void int32 void*) . 10) ((void uptr uptr) . 9) ((void uint32 uint32) . 8) ((void int32 int32) . 7) ((void int32 uptr) . 6) ((void uptr uint32) . 5) ((void void*) . 4) ((void uint32) . 3) ((void int32) . 2) ((void uptr) . 1) ((void) . 0))
#define pb_reg_count 0x10
#define pb_register 0x0
#define pb_return 0xD5
#define pb_rev_op 0x90
#define pb_rev_op_pb_double_pb_immediate 0xA3
#define pb_rev_op_pb_double_pb_register 0xA2
#define pb_rev_op_pb_int16_pb_immediate 0x95
#define pb_rev_op_pb_int16_pb_register 0x94
#define pb_rev_op_pb_int32_pb_immediate 0x99
#define pb_rev_op_pb_int32_pb_register 0x98
#define pb_rev_op_pb_int64_pb_immediate 0x9D
#define pb_rev_op_pb_int64_pb_register 0x9C
#define pb_rev_op_pb_int8_pb_immediate 0x91
#define pb_rev_op_pb_int8_pb_register 0x90
#define pb_rev_op_pb_single_pb_immediate 0xA1
#define pb_rev_op_pb_single_pb_register 0xA0
#define pb_rev_op_pb_uint16_pb_immediate 0x97
#define pb_rev_op_pb_uint16_pb_register 0x96
#define pb_rev_op_pb_uint32_pb_immediate 0x9B
#define pb_rev_op_pb_uint32_pb_register 0x9A
#define pb_rev_op_pb_uint64_pb_immediate 0x9F
#define pb_rev_op_pb_uint64_pb_register 0x9E
#define pb_rev_op_pb_uint8_pb_immediate 0x93
#define pb_rev_op_pb_uint8_pb_register 0x92
#define pb_s_d 0x4
#define pb_shift0 0x0
#define pb_shift1 0x1
#define pb_shift2 0x2
#define pb_shift3 0x3
#define pb_shifts (#f pb-shift0 pb-shift1 pb-shift2 pb-shift3)
#define pb_signal 0x1A
#define pb_signals (pb-binaries pb-no-signal pb-signal)
#define pb_single 0x10
#define pb_sizes (pb-argument-types pb-int8 pb-uint8 pb-int16 pb-uint16 pb-int32 pb-uint32 pb-int64 pb-uint64 pb-single pb-double)
#define pb_sqrt 0x2
#define pb_st_op 0xB8
#define pb_st_op_pb_double_pb_immediate 0xCB
#define pb_st_op_pb_double_pb_register 0xCA
#define pb_st_op_pb_int16_pb_immediate 0xBD
#define pb_st_op_pb_int16_pb_register 0xBC
#define pb_st_op_pb_int32_pb_immediate 0xC1
#define pb_st_op_pb_int32_pb_register 0xC0
#define pb_st_op_pb_int64_pb_immediate 0xC5
#define pb_st_op_pb_int64_pb_register 0xC4
#define pb_st_op_pb_int8_pb_immediate 0xB9
#define pb_st_op_pb_int8_pb_register 0xB8
#define pb_st_op_pb_single_pb_immediate 0xC9
#define pb_st_op_pb_single_pb_register 0xC8
#define pb_st_op_pb_uint16_pb_immediate 0xBF
#define pb_st_op_pb_uint16_pb_register 0xBE
#define pb_st_op_pb_uint32_pb_immediate 0xC3
#define pb_st_op_pb_uint32_pb_register 0xC2
#define pb_st_op_pb_uint64_pb_immediate 0xC7
#define pb_st_op_pb_uint64_pb_register 0xC6
#define pb_st_op_pb_uint8_pb_immediate 0xBB
#define pb_st_op_pb_uint8_pb_register 0xBA
#define pb_stack_call 0xE0
#define pb_sub 0x2
#define pb_subp 0xA
#define pb_subz 0x8
#define pb_true 0x2
#define pb_uint16 0x6
#define pb_uint32 0xA
#define pb_uint64 0xE
#define pb_uint8 0x2
#define pb_un_op 0x76
#define pb_un_op_pb_not_pb_immediate 0x77
#define pb_un_op_pb_not_pb_register 0x76
#define pb_un_op_pb_sqrt_pb_immediate 0x79
#define pb_un_op_pb_sqrt_pb_register 0x78
#define pb_unaries (pb-argument-types pb-not pb-sqrt)
#define pb_xor 0x10
#define pb_zero_bits 0x0
#define phantom_length_disp 0x9
#define phantom_type_disp 0x1
#define port_flag_binary 0x4
#define port_flag_block_buffered 0x200
#define port_flag_bol 0x80
#define port_flag_char_positions 0x1000
#define port_flag_closed 0x8
#define port_flag_compressed 0x20
#define port_flag_eof 0x100
#define port_flag_exclusive 0x40
#define port_flag_file 0x10
#define port_flag_fold_case 0x4000
#define port_flag_input 0x1
#define port_flag_input_mode 0x800
#define port_flag_line_buffered 0x400
#define port_flag_no_fold_case 0x8000
#define port_flag_output 0x2
#define port_flag_r6rs 0x2000
#define port_flags_offset 0x8
#define port_handler_disp 0x9
#define port_ibuffer_disp 0x39
#define port_icount_disp 0x19
#define port_ilast_disp 0x31
#define port_info_disp 0x41
#define port_name_disp 0x49
#define port_obuffer_disp 0x29
#define port_ocount_disp 0x11
#define port_olast_disp 0x21
#define port_type_disp 0x1
#define prelex_is_flags_offset 0x8
#define prelex_is_mask 0xFF00
#define prelex_sticky_mask 0xFF
#define prelex_was_flags_offset 0x10
#define primary_type_bits 0x3
#define ptr_alignment 0x2
#define ptr_bits 0x40
#define ptr_bytes 0x8
#define ptrdiff_t_bits 0x40
#define ratnum_denominator_disp 0x11
#define ratnum_numerator_disp 0x9
#define ratnum_pad_disp 0x19
#define ratnum_type_disp 0x1
#define real_space_alist ((new . 0) (impure . 1) (symbol . 2) (port . 3) (pure . 4) (continuation . 5) (code . 6) (pure-typed-object . 7) (impure-record . 8) (impure-typed-object . 9) (closure . 10) (immobile-impure . 11) (count-pure . 12) (count-impure . 13) (weakpair . 14) (ephemeron . 15) (reference-array . 16) (data . 17) (immobile-data . 18))
#define record_data_disp 0x9
#define record_ptr_offset 0x1
#define record_type_ancestry_disp 0x9
#define record_type_counts_disp 0x49
#define record_type_disp 0x1
#define record_type_flags_disp 0x39
#define record_type_flds_disp 0x31
#define record_type_mpm_disp 0x21
#define record_type_name_disp 0x29
#define record_type_pm_disp 0x19
#define record_type_size_disp 0x11
#define record_type_type_disp 0x1
#define record_type_uid_disp 0x41
#define reference_disp 0x9
#define reloc_abs 0x0
#define reloc_code_offset_index 0x3
#define reloc_code_offset_mask 0x3FFFFFF
#define reloc_code_offset_offset 0x4
#define reloc_extended_format 0x1
#define reloc_item_offset_index 0x2
#define reloc_item_offset_mask 0x3FFFFFF
#define reloc_item_offset_offset 0x1E
#define reloc_longp_index 0x4
#define reloc_pb_abs 0x1
#define reloc_pb_proc 0x2
#define reloc_table_code_disp 0x8
#define reloc_table_data_disp 0x10
#define reloc_table_size_disp 0x0
#define reloc_type_index 0x1
#define reloc_type_mask 0x7
#define reloc_type_offset 0x1
#define return_address_frame_size_disp -0x8
#define return_address_livemask_disp -0x18
#define return_address_mv_return_address_disp -0x20
#define return_address_toplink_disp -0x10
#define rp_compact_header_mask_size_mode_disp 0x8
#define rp_compact_header_toplink_disp 0x0
#define rp_header_frame_size_disp 0x18
#define rp_header_livemask_disp 0x8
#define rp_header_mv_return_address_disp 0x0
#define rp_header_toplink_disp 0x10
#define rtd_act_sealed 0x8
#define rtd_counts_data_disp 0x11
#define rtd_counts_timestamp_disp 0x9
#define rtd_counts_type_disp 0x1
#define rtd_generative 0x1
#define rtd_opaque 0x2
#define rtd_sealed 0x4
#define sbwp (ptr)0x4E
#define scaled_shot_1_shot_flag -0x8
#define scheme_version 0xA050001
#define seginfo_generation_disp 0x1
#define seginfo_list_bits_disp 0x8
#define seginfo_space_disp 0x0
#define segment_card_offset_bits 0x5
#define segment_offset_bits 0xE
#define segment_t1_bits 0x10
#define segment_t2_bits 0x11
#define segment_t3_bits 0x11
#define segment_table_levels 0x3
#define seof (ptr)0x36
#define sfalse (ptr)0x6
#define short_bits 0x10
#define signal_interrupt_index 0x4
#define singleton_eq 0x9
#define singleton_equal 0xB
#define singleton_eqv 0xA
#define singleton_not_a_singleton 0x0
#define singleton_null_bytevector 0x5
#define singleton_null_flvector 0x4
#define singleton_null_fxvector 0x3
#define singleton_null_immutable_bytevector 0x8
#define singleton_null_immutable_string 0x6
#define singleton_null_immutable_vector 0x7
#define singleton_null_string 0x1
#define singleton_null_vector 0x2
#define singleton_symbol_ht_rtd 0xE
#define singleton_symbol_symbol 0xD
#define singleton_symboleqlp 0xC
#define size_box 0x10
#define size_cached_stack 0x10
#define size_continuation 0x40
#define size_ephemeron 0x20
#define size_exactnum 0x20
#define size_flonum 0x10
#define size_forward 0x10
#define size_guardian_entry 0x30
#define size_inexactnum 0x20
#define size_pair 0x10
#define size_phantom 0x10
#define size_port 0x50
#define size_ratnum 0x20
#define size_record_type 0x50
#define size_rp_compact_header 0x10
#define size_rp_header 0x20
#define size_rtd_counts 0x810
#define size_symbol 0x30
#define size_tc 0x7E0
#define size_thread 0x10
#define size_tlc 0x20
#define size_typed_object 0x10
#define size_vfasl_header 0x70
#define size_t_bits 0x40
#define snil (ptr)0x26
#define space_char_list (#\n #\i #\x #\q #\p #\k #\c #\r #\s #\t #\l #\I #\y #\z #\w #\e #\a #\d #\D #\e)
#define space_closure 0xA
#define space_cname_list ("new" "impure" "symbol" "port" "pure" "cont" "code" "p-tobj" "ip-rec" "ip-tobj" "closure" "im-impure" "cnt-pure" "cnt-impure" "weakpr" "emph" "ref-array" "data" "im-data" "empty")
#define space_code 0x6
#define space_continuation 0x5
#define space_count_impure 0xD
#define space_count_pure 0xC
#define space_data 0x11
#define space_empty 0x13
#define space_ephemeron 0xF
#define space_immobile_data 0x12
#define space_immobile_impure 0xB
#define space_impure 0x1
#define space_impure_record 0x8
#define space_impure_typed_object 0x9
#define space_new 0x0
#define space_port 0x3
#define space_pure 0x4
#define space_pure_typed_object 0x7
#define space_reference_array 0x10
#define space_symbol 0x2
#define space_weakpair 0xE
#define stack_frame_limit 0x200
#define stack_slop 0x400
#define stack_word_alignment 0x1
#define static_generation 0x7
#define stdbool_bits 0x8
#define stencil_vector_data_disp 0x9
#define stencil_vector_mask_bits 0x3A
#define stencil_vector_mask_offset 0x6
#define stencil_vector_type_disp 0x1
#define string_char_bits 0x20
#define string_char_bytes 0x4
#define string_char_offset 0x2
#define string_data_disp 0x9
#define string_immutable_flag 0x8
#define string_length_factor 0x10
#define string_length_offset 0x4
#define string_type_disp 0x1
#define strue (ptr)0xE
#define sunbound (ptr)0x1E
#define svoid (ptr)0x2E
#define symbol_hash_disp 0x2D
#define symbol_name_disp 0x1D
#define symbol_plist_disp 0x15
#define symbol_pvalue_disp 0xD
#define symbol_splist_disp 0x25
#define symbol_value_disp 0x5
#define tc_DSTBV_disp 0x2C0
#define tc_SRCBV_disp 0x2C8
#define tc_U_disp 0x190
#define tc_V_disp 0x198
#define tc_W_disp 0x1A0
#define tc_X_disp 0x1A8
#define tc_Y_disp 0x1B0
#define tc_ac0_disp 0x38
#define tc_ac1_disp 0x40
#define tc_active_disp 0x14C
#define tc_alloc_counter_disp 0x2B0
#define tc_ap_disp 0x60
#define tc_arg_regs_disp 0x0
#define tc_attachments_disp 0x178
#define tc_block_counter_disp 0x210
#define tc_cached_frame_disp 0x188
#define tc_cchain_disp 0x138
#define tc_code_ranges_to_flush_disp 0x140
#define tc_compile_profile_disp 0x248
#define tc_compress_format_disp 0x290
#define tc_compress_level_disp 0x298
#define tc_cp_disp 0x50
#define tc_current_errno_source_disp 0x208
#define tc_current_error_disp 0x200
#define tc_current_input_disp 0x1F0
#define tc_current_mso_disp 0x220
#define tc_current_output_disp 0x1F8
#define tc_default_record_equal_procedure_disp 0x280
#define tc_default_record_hash_procedure_disp 0x288
#define tc_disable_count_disp 0x1C8
#define tc_eap_disp 0x68
#define tc_esp_disp 0x58
#define tc_fpregs_disp 0x2D0
#define tc_fxfirst_bit_set_bv_disp 0x238
#define tc_fxlength_bv_disp 0x230
#define tc_gc_data_disp 0x7D0
#define tc_generate_inspector_information_disp 0x250
#define tc_generate_procedure_source_information_disp 0x258
#define tc_generate_profile_forms_disp 0x260
#define tc_guardian_entries_disp 0x130
#define tc_handler_stack_disp 0x180
#define tc_instr_counter_disp 0x2A8
#define tc_keyboard_interrupt_pending_disp 0x1E0
#define tc_lz4_out_buffer_disp 0x2A0
#define tc_meta_level_disp 0x240
#define tc_optimize_level_disp 0x268
#define tc_parameters_disp 0x2B8
#define tc_pb_call_arena_disp 0x3D0
#define tc_pb_fpregs_disp 0x390
#define tc_pb_regs_disp 0x310
#define tc_random_seed_disp 0x148
#define tc_real_eap_disp 0xA0
#define tc_ret_disp 0x70
#define tc_save1_disp 0xA8
#define tc_scheme_stack_disp 0x150
#define tc_scheme_stack_size_disp 0x168
#define tc_sfd_disp 0x218
#define tc_sfp_disp 0x48
#define tc_signal_interrupt_pending_disp 0x1D0
#define tc_signal_interrupt_queue_disp 0x1D8
#define tc_something_pending_disp 0x1B8
#define tc_stack_cache_disp 0x158
#define tc_stack_link_disp 0x160
#define tc_subset_mode_disp 0x270
#define tc_suppress_primitive_inlining_disp 0x278
#define tc_target_machine_disp 0x228
#define tc_td_disp 0x98
#define tc_threadno_disp 0x1E8
#define tc_timer_ticks_disp 0x1C0
#define tc_trap_disp 0x78
#define tc_ts_disp 0x90
#define tc_virtual_registers_disp 0xB0
#define tc_winders_disp 0x170
#define tc_xp_disp 0x80
#define tc_yp_disp 0x88
#define thread_tc_disp 0x9
#define thread_type_disp 0x1
#define time_collector_cpu 0x5
#define time_collector_real 0x6
#define time_duration 0x2
#define time_monotonic 0x3
#define time_process 0x0
#define time_thread 0x1
#define time_utc 0x4
#define timer_interrupt_index 0x2
#define tlc_ht_disp 0x11
#define tlc_keyval_disp 0x9
#define tlc_next_disp 0x19
#define tlc_type_disp 0x1
#define too_negative_flonum_for_fixnum (double)-1.1529215046068472e18
#define too_positive_flonum_for_fixnum (double)1.152921504606847e18
#define type_any_stencil_vector 0xE
#define type_bignum 0x6
#define type_binary_input_port 0x5DE
#define type_binary_output_port 0x6DE
#define type_binary_port 0x4DE
#define type_boolean 0x6
#define type_box 0x1E
#define type_bytevector 0x1
#define type_char 0x16
#define type_closure 0x5
#define type_code 0xBE
#define type_code_arity_in_closure 0x20BE
#define type_code_mutable_closure 0x10BE
#define type_code_single_valued 0x40BE
#define type_continuation_code 0x2BE
#define type_exactnum 0x56
#define type_fixnum 0x0
#define type_flonum 0x2
#define type_flvector 0xB
#define type_fxvector 0x3
#define type_guardian_code 0x8BE
#define type_immediate 0x6
#define type_immutable_box 0x11E
#define type_immutable_bytevector 0x5
#define type_immutable_string 0xA
#define type_immutable_vector 0x8
#define type_inexactnum 0x36
#define type_input_port 0x1DE
#define type_io_port 0x3DE
#define type_mutable_box 0x1E
#define type_mutable_bytevector 0x1
#define type_mutable_string 0x2
#define type_mutable_vector 0x0
#define type_negative_bignum 0x26
#define type_octet 0x0
#define type_other_number 0x6
#define type_output_port 0x2DE
#define type_pair 0x1
#define type_phantom 0x7E
#define type_port 0xDE
#define type_positive_bignum 0x6
#define type_ratnum 0x16
#define type_record 0x7
#define type_rtd_counts 0x9E
#define type_stencil_vector 0xE
#define type_string 0x2
#define type_symbol 0x3
#define type_sys_stencil_vector 0x2E
#define type_system_code 0x1BE
#define type_textual_input_port 0x1DE
#define type_textual_output_port 0x2DE
#define type_textual_port 0xDE
#define type_thread 0x5E
#define type_tlc 0xFE
#define type_typed_object 0x7
#define type_untyped 0x8
#define type_vector 0x0
#define typed_object_type_disp 0x1
#define typedef_i16 "int16_t"
#define typedef_i32 "int32_t"
#define typedef_i64 "int64_t"
#define typedef_i8 "int8_t"
#define typedef_iptr "int64_t"
#define typedef_ptr "uint64_t"
#define typedef_string_char "uint32_t"
#define typedef_u16 "uint16_t"
#define typedef_u32 "uint32_t"
#define typedef_u64 "uint64_t"
#define typedef_u8 "uint8_t"
#define typedef_uptr "uint64_t"
#define typemod 0x8
#define unactivate_mode_deactivate 0x1
#define unactivate_mode_destroy 0x2
#define unactivate_mode_noop 0x0
#define underflow_limit 0x80
#define unscaled_shot_1_shot_flag -0x1
#define vector_data_disp 0x9
#define vector_immutable_flag 0x8
#define vector_length_factor 0x10
#define vector_length_offset 0x4
#define vector_type_disp 0x1
#define vfasl_header_data_size_disp 0x0
#define vfasl_header_result_offset_disp 0x10
#define vfasl_header_rtdref_count_disp 0x60
#define vfasl_header_singletonref_count_disp 0x68
#define vfasl_header_symref_count_disp 0x58
#define vfasl_header_table_size_disp 0x8
#define vfasl_header_vspace_rel_offsets_disp 0x18
#define vfasl_reloc_c_entry_tag 0x1
#define vfasl_reloc_library_entry_code_tag 0x3
#define vfasl_reloc_library_entry_tag 0x2
#define vfasl_reloc_not_a_tag 0x0
#define vfasl_reloc_singleton_tag 0x5
#define vfasl_reloc_symbol_tag 0x4
#define vfasl_reloc_tag_bits 0x3
#define virtual_register_count 0x10
#define vspace_closure 0x2
#define vspace_code 0x6
#define vspace_data 0x7
#define vspace_impure 0x3
#define vspace_impure_record 0x5
#define vspace_pure_typed 0x4
#define vspace_reloc 0x8
#define vspace_rtd 0x1
#define vspace_symbol 0x0
#define vspaces_count 0x9
#define vspaces_offsets_count 0x8
#define wchar_bits 0x20

/* constants from declare-c-entries */
#define CENTRY_Scall_any_results 29
#define CENTRY_Scall_one_result 28
#define CENTRY_Sreturn 27
#define CENTRY_activate_thread 13
#define CENTRY_bignum_mask_test 31
#define CENTRY_deactivate_thread 14
#define CENTRY_flacos 40
#define CENTRY_flasin 39
#define CENTRY_flatan 41
#define CENTRY_flatan2 42
#define CENTRY_flceiling 33
#define CENTRY_flcos 37
#define CENTRY_flexp 43
#define CENTRY_flexpt 46
#define CENTRY_flfloor 32
#define CENTRY_fllog 44
#define CENTRY_fllog2 45
#define CENTRY_flround 34
#define CENTRY_flsin 36
#define CENTRY_flsqrt 47
#define CENTRY_fltan 38
#define CENTRY_fltruncate 35
#define CENTRY_foreign_entry 22
#define CENTRY_get_more_room 24
#define CENTRY_get_thread_context 1
#define CENTRY_handle_apply_overflood 2
#define CENTRY_handle_arg_error 20
#define CENTRY_handle_docall_error 3
#define CENTRY_handle_event_detour 21
#define CENTRY_handle_mvlet_error 19
#define CENTRY_handle_nonprocedure_symbol 6
#define CENTRY_handle_overflood 5
#define CENTRY_handle_overflow 4
#define CENTRY_handle_values_error 18
#define CENTRY_install_library_entry 23
#define CENTRY_instantiate_code_object 26
#define CENTRY_null_immutable_bytevector 49
#define CENTRY_null_immutable_string 50
#define CENTRY_null_immutable_vector 48
#define CENTRY_raw_collect_cond 9
#define CENTRY_raw_collect_thread0_cond 10
#define CENTRY_raw_tc_mutex 11
#define CENTRY_raw_terminated_cond 12
#define CENTRY_save_errno 16
#define CENTRY_save_last_error 17
#define CENTRY_scan_remembered_set 25
#define CENTRY_segment_info 30
#define CENTRY_split_and_resize 8
#define CENTRY_thread_context 0
#define CENTRY_thread_list 7
#define CENTRY_unactivate_thread 15

/* displacements for records */
#define eq_hashtable_rtd_disp 1
#define eq_hashtable_type_disp 9
#define eq_hashtable_mutablep_disp 17
#define eq_hashtable_vec_disp 25
#define eq_hashtable_minlen_disp 33
#define eq_hashtable_size_disp 41
#define eq_hashtable_subtype_disp 49
#define symbol_hashtable_rtd_disp 1
#define symbol_hashtable_type_disp 9
#define symbol_hashtable_mutablep_disp 17
#define symbol_hashtable_vec_disp 25
#define symbol_hashtable_minlen_disp 33
#define symbol_hashtable_size_disp 41
#define symbol_hashtable_equivp_disp 49
#define code_info_rtd_disp 1
#define code_info_src_disp 9
#define code_info_realm_disp 17
#define code_info_sexpr_disp 25
#define code_info_free_disp 33
#define code_info_live_disp 41
#define code_info_rpis_disp 49

/* derived endianness */
#define native_endianness_is_little 0
#define native_endianness_is_big 0
#define fasl_endianness_is_little 1
#define fasl_endianness_is_big 0

/* predicates */
#define Simmediatep(x) (((uptr)(x)&0x7)==0x6)
#define Sportp(x) ((((uptr)(x)&0x7)==0x7) &&\
    (((uptr)((*((ptr *)TO_VOIDP((uptr)(x)+1))))&0xFF)==0xDE))
#define Scodep(x) ((((uptr)(x)&0x7)==0x7) &&\
    (((uptr)((*((ptr *)TO_VOIDP((uptr)(x)+1))))&0xFF)==0xBE))

/* structure accessors */
#define INITCAR(x) (*((ptr *)TO_VOIDP((uptr)(x)+7)))
#define INITCDR(x) (*((ptr *)TO_VOIDP((uptr)(x)+15)))
#define SETCAR(x,y) DIRTYSET(((ptr *)TO_VOIDP((uptr)(x)+7)),(y))
#define SETCDR(x,y) DIRTYSET(((ptr *)TO_VOIDP((uptr)(x)+15)),(y))
#define BOXTYPE(x) (*((iptr *)TO_VOIDP((uptr)(x)+1)))
#define INITBOXREF(x) (*((ptr *)TO_VOIDP((uptr)(x)+9)))
#define SETBOXREF(x,y) DIRTYSET(((ptr *)TO_VOIDP((uptr)(x)+9)),(y))
#define EPHEMERONPREVREF(x) (*((ptr *)TO_VOIDP((uptr)(x)+23)))
#define INITEPHEMERONPREVREF(x) (*((ptr *)TO_VOIDP((uptr)(x)+23)))
#define EPHEMERONNEXT(x) (*((ptr *)TO_VOIDP((uptr)(x)+31)))
#define INITEPHEMERONNEXT(x) (*((ptr *)TO_VOIDP((uptr)(x)+31)))
#define TLCTYPE(x) (*((iptr *)TO_VOIDP((uptr)(x)+1)))
#define TLCKEYVAL(x) (*((ptr *)TO_VOIDP((uptr)(x)+9)))
#define TLCHT(x) (*((ptr *)TO_VOIDP((uptr)(x)+17)))
#define TLCNEXT(x) (*((ptr *)TO_VOIDP((uptr)(x)+25)))
#define INITTLCKEYVAL(x) (*((ptr *)TO_VOIDP((uptr)(x)+9)))
#define INITTLCHT(x) (*((ptr *)TO_VOIDP((uptr)(x)+17)))
#define INITTLCNEXT(x) (*((ptr *)TO_VOIDP((uptr)(x)+25)))
#define SETTLCNEXT(x,y) DIRTYSET(((ptr *)TO_VOIDP((uptr)(x)+25)),(y))
#define PHANTOMTYPE(x) (*((iptr *)TO_VOIDP((uptr)(x)+1)))
#define PHANTOMLEN(x) (*((uptr *)TO_VOIDP((uptr)(x)+9)))
#define SYMVAL(x) (*((ptr *)TO_VOIDP((uptr)(x)+5)))
#define SYMPVAL(x) (*((ptr *)TO_VOIDP((uptr)(x)+13)))
#define SYMPLIST(x) (*((ptr *)TO_VOIDP((uptr)(x)+21)))
#define SYMNAME(x) (*((ptr *)TO_VOIDP((uptr)(x)+29)))
#define SYMSPLIST(x) (*((ptr *)TO_VOIDP((uptr)(x)+37)))
#define SYMHASH(x) (*((ptr *)TO_VOIDP((uptr)(x)+45)))
#define INITSYMVAL(x) (*((ptr *)TO_VOIDP((uptr)(x)+5)))
#define INITSYMPVAL(x) (*((ptr *)TO_VOIDP((uptr)(x)+13)))
#define INITSYMPLIST(x) (*((ptr *)TO_VOIDP((uptr)(x)+21)))
#define INITSYMNAME(x) (*((ptr *)TO_VOIDP((uptr)(x)+29)))
#define INITSYMSPLIST(x) (*((ptr *)TO_VOIDP((uptr)(x)+37)))
#define INITSYMHASH(x) (*((ptr *)TO_VOIDP((uptr)(x)+45)))
#define SETSYMVAL(x,y) DIRTYSET(((ptr *)TO_VOIDP((uptr)(x)+5)),(y))
#define SETSYMPVAL(x,y) DIRTYSET(((ptr *)TO_VOIDP((uptr)(x)+13)),(y))
#define SETSYMPLIST(x,y) DIRTYSET(((ptr *)TO_VOIDP((uptr)(x)+21)),(y))
#define SETSYMNAME(x,y) DIRTYSET(((ptr *)TO_VOIDP((uptr)(x)+29)),(y))
#define SETSYMSPLIST(x,y) DIRTYSET(((ptr *)TO_VOIDP((uptr)(x)+37)),(y))
#define SETSYMHASH(x,y) DIRTYSET(((ptr *)TO_VOIDP((uptr)(x)+45)),(y))
#define VECTTYPE(x) (*((iptr *)TO_VOIDP((uptr)(x)+1)))
#define INITVECTIT(x,i) (((ptr *)TO_VOIDP((uptr)(x)+9))[i])
#define SETVECTIT(x,i,y) DIRTYSET((((ptr *)TO_VOIDP((uptr)(x)+9))+i),(y))
#define FXVECTOR_TYPE(x) (*((iptr *)TO_VOIDP((uptr)(x)+1)))
#define FXVECTIT(x,i) (((ptr *)TO_VOIDP((uptr)(x)+9))[i])
#define FLVECTOR_TYPE(x) (*((iptr *)TO_VOIDP((uptr)(x)+1)))
#define FLVECTIT(x,i) (((double *)TO_VOIDP((uptr)(x)+9))[i])
#define BYTEVECTOR_TYPE(x) (*((iptr *)TO_VOIDP((uptr)(x)+1)))
#define BVIT(x,i) (((octet *)TO_VOIDP((uptr)(x)+9))[i])
#define STENVECTTYPE(x) (*((iptr *)TO_VOIDP((uptr)(x)+1)))
#define INITSTENVECTIT(x,i) (((ptr *)TO_VOIDP((uptr)(x)+9))[i])
#define INEXACTNUM_TYPE(x) (*((iptr *)TO_VOIDP((uptr)(x)+1)))
#define INEXACTNUM_REAL_PART(x) (*((double *)TO_VOIDP((uptr)(x)+17)))
#define INEXACTNUM_IMAG_PART(x) (*((double *)TO_VOIDP((uptr)(x)+25)))
#define EXACTNUM_TYPE(x) (*((iptr *)TO_VOIDP((uptr)(x)+1)))
#define EXACTNUM_REAL_PART(x) (*((ptr *)TO_VOIDP((uptr)(x)+9)))
#define EXACTNUM_IMAG_PART(x) (*((ptr *)TO_VOIDP((uptr)(x)+17)))
#define EXACTNUM_PAD(x) (*((iptr *)TO_VOIDP((uptr)(x)+25)))
#define RATTYPE(x) (*((iptr *)TO_VOIDP((uptr)(x)+1)))
#define RATNUM(x) (*((ptr *)TO_VOIDP((uptr)(x)+9)))
#define RATDEN(x) (*((ptr *)TO_VOIDP((uptr)(x)+17)))
#define RATPAD(x) (*((iptr *)TO_VOIDP((uptr)(x)+25)))
#define CLOSENTRY(x) (*((ptr *)TO_VOIDP((uptr)(x)+3)))
#define CLOSIT(x,i) (((ptr *)TO_VOIDP((uptr)(x)+11))[i])
#define FLODAT(x) (*((double *)TO_VOIDP((uptr)(x)+6)))
#define PORTTYPE(x) (*((iptr *)TO_VOIDP((uptr)(x)+1)))
#define PORTNAME(x) (*((ptr *)TO_VOIDP((uptr)(x)+73)))
#define PORTHANDLER(x) (*((ptr *)TO_VOIDP((uptr)(x)+9)))
#define PORTINFO(x) (*((ptr *)TO_VOIDP((uptr)(x)+65)))
#define PORTOCNT(x) (*((iptr *)TO_VOIDP((uptr)(x)+17)))
#define PORTOLAST(x) (*((ptr *)TO_VOIDP((uptr)(x)+33)))
#define PORTOBUF(x) (*((ptr *)TO_VOIDP((uptr)(x)+41)))
#define PORTICNT(x) (*((iptr *)TO_VOIDP((uptr)(x)+25)))
#define PORTILAST(x) (*((ptr *)TO_VOIDP((uptr)(x)+49)))
#define PORTIBUF(x) (*((ptr *)TO_VOIDP((uptr)(x)+57)))
#define STRTYPE(x) (*((iptr *)TO_VOIDP((uptr)(x)+1)))
#define STRIT(x,i) (((string_char *)TO_VOIDP((uptr)(x)+9))[i])
#define BIGTYPE(x) (*((iptr *)TO_VOIDP((uptr)(x)+1)))
#define BIGIT(x,i) (((bigit *)TO_VOIDP((uptr)(x)+9))[i])
#define CODETYPE(x) (*((iptr *)TO_VOIDP((uptr)(x)+1)))
#define CODELEN(x) (*((iptr *)TO_VOIDP((uptr)(x)+9)))
#define CODERELOC(x) (*((ptr *)TO_VOIDP((uptr)(x)+17)))
#define CODENAME(x) (*((ptr *)TO_VOIDP((uptr)(x)+25)))
#define CODEARITYMASK(x) (*((ptr *)TO_VOIDP((uptr)(x)+33)))
#define CODEFREE(x) (*((iptr *)TO_VOIDP((uptr)(x)+41)))
#define CODEINFO(x) (*((ptr *)TO_VOIDP((uptr)(x)+49)))
#define CODEPINFOS(x) (*((ptr *)TO_VOIDP((uptr)(x)+57)))
#define CODEIT(x,i) (((octet *)TO_VOIDP((uptr)(x)+65))[i])
#define RELOCSIZE(x) (*((iptr *)TO_VOIDP((uptr)(x)+0)))
#define RELOCCODE(x) (*((ptr *)TO_VOIDP((uptr)(x)+8)))
#define RELOCIT(x,i) (((uptr *)TO_VOIDP((uptr)(x)+16))[i])
#define CONTCODE(x) (*((ptr *)TO_VOIDP((uptr)(x)+3)))
#define CONTSTACK(x) (*((ptr *)TO_VOIDP((uptr)(x)+11)))
#define CONTLENGTH(x) (*((iptr *)TO_VOIDP((uptr)(x)+19)))
#define CONTCLENGTH(x) (*((iptr *)TO_VOIDP((uptr)(x)+27)))
#define CONTLINK(x) (*((ptr *)TO_VOIDP((uptr)(x)+35)))
#define CONTRET(x) (*((ptr *)TO_VOIDP((uptr)(x)+43)))
#define CONTWINDERS(x) (*((ptr *)TO_VOIDP((uptr)(x)+51)))
#define CONTATTACHMENTS(x) (*((ptr *)TO_VOIDP((uptr)(x)+59)))
#define RTDCOUNTSTYPE(x) (*((iptr *)TO_VOIDP((uptr)(x)+1)))
#define RTDCOUNTSTIMESTAMP(x) (*((U64 *)TO_VOIDP((uptr)(x)+9)))
#define RTDCOUNTSIT(x,i) (((uptr *)TO_VOIDP((uptr)(x)+17))[i])
#define RECORDDESCANCESTRY(x) (*((ptr *)TO_VOIDP((uptr)(x)+9)))
#define RECORDDESCSIZE(x) (*((ptr *)TO_VOIDP((uptr)(x)+17)))
#define RECORDDESCPM(x) (*((ptr *)TO_VOIDP((uptr)(x)+25)))
#define RECORDDESCMPM(x) (*((ptr *)TO_VOIDP((uptr)(x)+33)))
#define RECORDDESCNAME(x) (*((ptr *)TO_VOIDP((uptr)(x)+41)))
#define RECORDDESCFLDS(x) (*((ptr *)TO_VOIDP((uptr)(x)+49)))
#define RECORDDESCFLAGS(x) (*((ptr *)TO_VOIDP((uptr)(x)+57)))
#define RECORDDESCUID(x) (*((ptr *)TO_VOIDP((uptr)(x)+65)))
#define RECORDDESCCOUNTS(x) (*((ptr *)TO_VOIDP((uptr)(x)+73)))
#define RECORDINSTTYPE(x) (*((ptr *)TO_VOIDP((uptr)(x)+1)))
#define RECORDINSTIT(x,i) (((ptr *)TO_VOIDP((uptr)(x)+9))[i])
#define CLOSCODE(p) ((ptr)((uptr)CLOSENTRY(p)-code_data_disp))
#define CODEENTRYPOINT(x) ((ptr)((uptr)(x)+code_data_disp))
#define SETCLOSCODE(p,x) (CLOSENTRY(p) = CODEENTRYPOINT(x))
#define SYMCODE(p) ((ptr)((uptr)SYMPVAL(p)-code_data_disp))
#define INITSYMCODE(p,x) (INITSYMPVAL(p) = CODEENTRYPOINT(x))
#define SETSYMCODE(p,x) SETSYMPVAL(p,CODEENTRYPOINT(x))
#define BIGLEN(x) ((iptr)((uptr)BIGTYPE(x) >> bignum_length_offset))
#define BIGSIGN(x) ((BIGTYPE(x) & mask_bignum_sign) >> bignum_sign_offset)
#define SETBIGLENANDSIGN(x,xl,xs) BIGTYPE(x) = (uptr)(xl) << bignum_length_offset | (xs) << bignum_sign_offset | type_bignum
#define CLOSLEN(p) CODEFREE(CLOSCODE(p))
#define GUARDIANOBJ(x) (*((ptr *)TO_VOIDP((uptr)(x)+0)))
#define GUARDIANREP(x) (*((ptr *)TO_VOIDP((uptr)(x)+8)))
#define GUARDIANTCONC(x) (*((ptr *)TO_VOIDP((uptr)(x)+16)))
#define GUARDIANNEXT(x) (*((ptr *)TO_VOIDP((uptr)(x)+24)))
#define GUARDIANORDERED(x) (*((ptr *)TO_VOIDP((uptr)(x)+32)))
#define GUARDIANPENDING(x) (*((ptr *)TO_VOIDP((uptr)(x)+40)))
#define INITGUARDIANOBJ(x) (*((ptr *)TO_VOIDP((uptr)(x)+0)))
#define INITGUARDIANREP(x) (*((ptr *)TO_VOIDP((uptr)(x)+8)))
#define INITGUARDIANTCONC(x) (*((ptr *)TO_VOIDP((uptr)(x)+16)))
#define INITGUARDIANNEXT(x) (*((ptr *)TO_VOIDP((uptr)(x)+24)))
#define INITGUARDIANORDERED(x) (*((ptr *)TO_VOIDP((uptr)(x)+32)))
#define INITGUARDIANPENDING(x) (*((ptr *)TO_VOIDP((uptr)(x)+40)))
#define FORWARDMARKER(x) (*((ptr *)TO_VOIDP((uptr)(x)+0)))
#define FORWARDADDRESS(x) (*((ptr *)TO_VOIDP((uptr)(x)+8)))
#define CACHEDSTACKSIZE(x) (*((iptr *)TO_VOIDP((uptr)(x)+0)))
#define CACHEDSTACKLINK(x) (*((ptr *)TO_VOIDP((uptr)(x)+8)))
#define RPHEADERFRAMESIZE(x) (*((iptr *)TO_VOIDP((uptr)(x)+24)))
#define RPHEADERLIVEMASK(x) (*((ptr *)TO_VOIDP((uptr)(x)+8)))
#define RPHEADERTOPLINK(x) (*((uptr *)TO_VOIDP((uptr)(x)+16)))
#define RPCOMPACTHEADERMASKANDSIZE(x) (*((iptr *)TO_VOIDP((uptr)(x)+8)))
#define RPCOMPACTHEADERTOPLINK(x) (*((uptr *)TO_VOIDP((uptr)(x)+0)))
#define VFASLHEADER_DATA_SIZE(x) (*((uptr *)TO_VOIDP((uptr)(x)+0)))
#define VFASLHEADER_TABLE_SIZE(x) (*((uptr *)TO_VOIDP((uptr)(x)+8)))
#define VFASLHEADER_RESULT_OFFSET(x) (*((uptr *)TO_VOIDP((uptr)(x)+16)))
#define VFASLHEADER_VSPACE_REL_OFFSETS(x,i) (((uptr *)TO_VOIDP((uptr)(x)+24))[i])
#define VFASLHEADER_SYMREF_COUNT(x) (*((uptr *)TO_VOIDP((uptr)(x)+88)))
#define VFASLHEADER_RTDREF_COUNT(x) (*((uptr *)TO_VOIDP((uptr)(x)+96)))
#define VFASLHEADER_SINGLETONREF_COUNT(x) (*((uptr *)TO_VOIDP((uptr)(x)+104)))

/* machine types */
#define machine_type_names {"any", "pb", "tpb", "pb32l", "tpb32l", "pb32b", "tpb32b", "pb64l", "tpb64l", "pb64b", "tpb64b", "i3nt", "ti3nt", "i3osx", "ti3osx", "i3le", "ti3le", "i3fb", "ti3fb", "i3ob", "ti3ob", "i3nb", "ti3nb", "i3s2", "ti3s2", "i3qnx", "ti3qnx", "i3gnu", "ti3gnu", "a6gnu", "ta6gnu", "a6nt", "ta6nt", "a6osx", "ta6osx", "a6ios", "ta6ios", "a6le", "ta6le", "a6fb", "ta6fb", "a6ob", "ta6ob", "a6nb", "ta6nb", "a6s2", "ta6s2", "ppc32osx", "tppc32osx", "ppc32le", "tppc32le", "ppc32fb", "tppc32fb", "ppc32ob", "tppc32ob", "ppc32nb", "tppc32nb", "arm32le", "tarm32le", "arm32fb", "tarm32fb", "arm32ob", "tarm32ob", "arm32nb", "tarm32nb", "arm64nt", "tarm64nt", "arm64osx", "tarm64osx", "arm64ios", "tarm64ios", "arm64le", "tarm64le", "arm64fb", "tarm64fb", "arm64ob", "tarm64ob", "arm64nb", "tarm64nb", "rv64le", "trv64le", "rv64fb", "trv64fb", "rv64ob", "trv64ob", "rv64nb", "trv64nb", "la64le", "tla64le", "a6hk", "ta6hk"}

/* allocation-space names */
#define alloc_space_names "new", "impure", "symbol", "port", "pure", "cont", "code", "p-tobj", "ip-rec", "ip-tobj", "closure", "im-impure", "cnt-pure", "cnt-impure", "weakpr", "emph", "ref-array", "data", "im-data", "empty"

/* allocation-space characters */
#define alloc_space_chars 'n', 'i', 'x', 'q', 'p', 'k', 'c', 'r', 's', 't', 'l', 'I', 'y', 'z', 'w', 'e', 'a', 'd', 'D', 'e'

/* threads */
#define THREADTYPE(x) (*((iptr *)TO_VOIDP((uptr)(x)+1)))
#define THREADTC(x) (*((uptr *)TO_VOIDP((uptr)(x)+9)))

/* thread-context data */
#define DSTBV(x) (*((ptr *)TO_VOIDP((uptr)(x)+704)))
#define SRCBV(x) (*((ptr *)TO_VOIDP((uptr)(x)+712)))
#define U(x) (*((ptr *)TO_VOIDP((uptr)(x)+400)))
#define V(x) (*((ptr *)TO_VOIDP((uptr)(x)+408)))
#define W(x) (*((ptr *)TO_VOIDP((uptr)(x)+416)))
#define X(x) (*((ptr *)TO_VOIDP((uptr)(x)+424)))
#define Y(x) (*((ptr *)TO_VOIDP((uptr)(x)+432)))
#define AC0(x) (*((xptr *)TO_VOIDP((uptr)(x)+56)))
#define AC1(x) (*((xptr *)TO_VOIDP((uptr)(x)+64)))
#define ACTIVE(x) (*((I32 *)TO_VOIDP((uptr)(x)+332)))
#define ALLOCCOUNTER(x) (*((U64 *)TO_VOIDP((uptr)(x)+688)))
#define AP(x) (*((xptr *)TO_VOIDP((uptr)(x)+96)))
#define ARGREGS(x,i) (((xptr *)TO_VOIDP((uptr)(x)+0))[i])
#define ATTACHMENTS(x) (*((ptr *)TO_VOIDP((uptr)(x)+376)))
#define BLOCKCOUNTER(x) (*((ptr *)TO_VOIDP((uptr)(x)+528)))
#define CACHEDFRAME(x) (*((ptr *)TO_VOIDP((uptr)(x)+392)))
#define CCHAIN(x) (*((ptr *)TO_VOIDP((uptr)(x)+312)))
#define CODERANGESTOFLUSH(x) (*((ptr *)TO_VOIDP((uptr)(x)+320)))
#define COMPILEPROFILE(x) (*((ptr *)TO_VOIDP((uptr)(x)+584)))
#define COMPRESSFORMAT(x) (*((ptr *)TO_VOIDP((uptr)(x)+656)))
#define COMPRESSLEVEL(x) (*((ptr *)TO_VOIDP((uptr)(x)+664)))
#define CP(x) (*((xptr *)TO_VOIDP((uptr)(x)+80)))
#define CURRENTERRNOSOURCE(x) (*((ptr *)TO_VOIDP((uptr)(x)+520)))
#define CURRENTERROR(x) (*((ptr *)TO_VOIDP((uptr)(x)+512)))
#define CURRENTINPUT(x) (*((ptr *)TO_VOIDP((uptr)(x)+496)))
#define CURRENTMSO(x) (*((ptr *)TO_VOIDP((uptr)(x)+544)))
#define CURRENTOUTPUT(x) (*((ptr *)TO_VOIDP((uptr)(x)+504)))
#define DEFAULTRECORDEQUALPROCEDURE(x) (*((ptr *)TO_VOIDP((uptr)(x)+640)))
#define DEFAULTRECORDHASHPROCEDURE(x) (*((ptr *)TO_VOIDP((uptr)(x)+648)))
#define DISABLECOUNT(x) (*((ptr *)TO_VOIDP((uptr)(x)+456)))
#define EAP(x) (*((xptr *)TO_VOIDP((uptr)(x)+104)))
#define ESP(x) (*((xptr *)TO_VOIDP((uptr)(x)+88)))
#define FPREGS(x,i) (((double *)TO_VOIDP((uptr)(x)+720))[i])
#define FXFIRSTBITSETBV(x) (*((ptr *)TO_VOIDP((uptr)(x)+568)))
#define FXLENGTHBV(x) (*((ptr *)TO_VOIDP((uptr)(x)+560)))
#define GCDATA(x) (*((xptr *)TO_VOIDP((uptr)(x)+2000)))
#define GENERATEINSPECTORINFORMATION(x) (*((ptr *)TO_VOIDP((uptr)(x)+592)))
#define GENERATEPROCEDURESOURCEINFORMATION(x) (*((ptr *)TO_VOIDP((uptr)(x)+600)))
#define GENERATEPROFILEFORMS(x) (*((ptr *)TO_VOIDP((uptr)(x)+608)))
#define GUARDIANENTRIES(x) (*((ptr *)TO_VOIDP((uptr)(x)+304)))
#define HANDLERSTACK(x) (*((ptr *)TO_VOIDP((uptr)(x)+384)))
#define INSTRCOUNTER(x) (*((U64 *)TO_VOIDP((uptr)(x)+680)))
#define KEYBOARDINTERRUPTPENDING(x) (*((ptr *)TO_VOIDP((uptr)(x)+480)))
#define LZ4OUTBUFFER(x) (*((xptr *)TO_VOIDP((uptr)(x)+672)))
#define METALEVEL(x) (*((ptr *)TO_VOIDP((uptr)(x)+576)))
#define OPTIMIZELEVEL(x) (*((ptr *)TO_VOIDP((uptr)(x)+616)))
#define PARAMETERS(x) (*((ptr *)TO_VOIDP((uptr)(x)+696)))
#define PBCALLARENA(x,i) (((uptr *)TO_VOIDP((uptr)(x)+976))[i])
#define PBFPREGS(x,i) (((double *)TO_VOIDP((uptr)(x)+912))[i])
#define PBREGS(x,i) (((uptr *)TO_VOIDP((uptr)(x)+784))[i])
#define RANDOMSEED(x) (*((U32 *)TO_VOIDP((uptr)(x)+328)))
#define REAL_EAP(x) (*((xptr *)TO_VOIDP((uptr)(x)+160)))
#define RET(x) (*((xptr *)TO_VOIDP((uptr)(x)+112)))
#define SAVE1(x) (*((xptr *)TO_VOIDP((uptr)(x)+168)))
#define SCHEMESTACK(x) (*((xptr *)TO_VOIDP((uptr)(x)+336)))
#define SCHEMESTACKSIZE(x) (*((iptr *)TO_VOIDP((uptr)(x)+360)))
#define SFD(x) (*((ptr *)TO_VOIDP((uptr)(x)+536)))
#define SFP(x) (*((xptr *)TO_VOIDP((uptr)(x)+72)))
#define SIGNALINTERRUPTPENDING(x) (*((ptr *)TO_VOIDP((uptr)(x)+464)))
#define SIGNALINTERRUPTQUEUE(x) (*((ptr *)TO_VOIDP((uptr)(x)+472)))
#define SOMETHINGPENDING(x) (*((ptr *)TO_VOIDP((uptr)(x)+440)))
#define STACKCACHE(x) (*((ptr *)TO_VOIDP((uptr)(x)+344)))
#define STACKLINK(x) (*((ptr *)TO_VOIDP((uptr)(x)+352)))
#define SUBSETMODE(x) (*((ptr *)TO_VOIDP((uptr)(x)+624)))
#define SUPPRESSPRIMITIVEINLINING(x) (*((ptr *)TO_VOIDP((uptr)(x)+632)))
#define TARGETMACHINE(x) (*((ptr *)TO_VOIDP((uptr)(x)+552)))
#define TD(x) (*((xptr *)TO_VOIDP((uptr)(x)+152)))
#define THREADNO(x) (*((ptr *)TO_VOIDP((uptr)(x)+488)))
#define TIMERTICKS(x) (*((ptr *)TO_VOIDP((uptr)(x)+448)))
#define TRAP(x) (*((xptr *)TO_VOIDP((uptr)(x)+120)))
#define TS(x) (*((xptr *)TO_VOIDP((uptr)(x)+144)))
#define VIRTUALREGISTERS(x,i) (((ptr *)TO_VOIDP((uptr)(x)+176))[i])
#define WINDERS(x) (*((ptr *)TO_VOIDP((uptr)(x)+368)))
#define XP(x) (*((xptr *)TO_VOIDP((uptr)(x)+128)))
#define YP(x) (*((xptr *)TO_VOIDP((uptr)(x)+136)))
#define ARGREG(x,i) (((xptr *)TO_VOIDP((uptr)(x)+0))[i])
#define VIRTREG(x,i) (((ptr *)TO_VOIDP((uptr)(x)+176))[i])

/* library entries we access from C code */
#define library_nonprocedure_code 162
#define library_dounderflow 164
#define library_popcount_slow 630
#define library_cpu_features 632
