lean4-htt/src/boot/init/data/repr.cpp
2019-02-12 15:48:44 -08:00

3329 lines
62 KiB
C++

// Lean compiler output
// Module: init.data.repr
// Imports: init.data.string.basic init.data.uint init.data.usize init.data.nat.div
#include "runtime/object.h"
#include "runtime/apply.h"
typedef lean::object obj; typedef lean::usize usize;
typedef lean::uint8 uint8; typedef lean::uint16 uint16;
typedef lean::uint32 uint32; typedef lean::uint64 uint64;
#if defined(__clang__)
#pragma clang diagnostic ignored "-Wunused-parameter"
#pragma clang diagnostic ignored "-Wunused-label"
#elif defined(__GNUC__) && !defined(__CLANG__)
#pragma GCC diagnostic ignored "-Wunused-parameter"
#pragma GCC diagnostic ignored "-Wunused-label"
#pragma GCC diagnostic ignored "-Wunused-but-set-variable"
#endif
obj* l_usize_has__repr(usize);
obj* l_nat_digit__char___closed__22;
obj* l_nat_digit__char(obj*);
obj* l_nat_digit__char___closed__37;
obj* l_list_repr___main___rarg(obj*, obj*);
obj* l_nat_digit__char___closed__35;
obj* l_string_quote__aux(obj*);
obj* l_string_iterator_has__repr___closed__1;
obj* l_nat_digit__char___closed__29;
obj* l_nat_digit__char___closed__15;
namespace lean {
obj* uint16_to_nat(uint16);
}
obj* l_option_has__repr___rarg___closed__2;
obj* l_id_has__repr___rarg(obj*);
obj* l_string_has__repr;
obj* l_nat_add(obj*, obj*);
obj* l_nat_digit__char___closed__5;
obj* l_fin_has__repr(obj*);
obj* l_nat_digit__char___closed__14;
obj* l_list_repr__aux___rarg___boxed(obj*, obj*, obj*);
obj* l_nat_digit__char___closed__30;
obj* l_nat_digit__char___closed__16;
obj* l_uint32_has__repr(uint32);
obj* l_unit_has__repr___closed__1;
obj* l_nat_mod(obj*, obj*);
obj* l_nat_digit__char___closed__38;
obj* l_list_repr__aux___main(obj*);
obj* l_nat_digit__char___closed__1;
obj* l_char_quote__core___boxed(obj*);
obj* l_nat_digit__char___closed__11;
obj* l_nat_digit__char___closed__3;
obj* l_uint16_has__repr(uint16);
obj* l_nat_digit__char___closed__45;
obj* l_fin_has__repr___rarg(obj*);
obj* l_nat_has__repr;
obj* l_char_repr(uint32);
obj* l_nat_digit__char___closed__9;
obj* l_string_quote(obj*);
obj* l_sum_has__repr___rarg___closed__1;
obj* l_option_has__repr___rarg___closed__1;
obj* l_id_has__repr(obj*);
obj* l_nat_to__digits__core(obj*, obj*, obj*, obj*);
uint8 l_string_is__empty(obj*);
obj* l_list_repr___main___rarg___closed__1;
obj* l_option_has__repr(obj*);
obj* l_nat_digit__char___closed__34;
obj* l_hex__digit__repr(obj*);
namespace lean {
obj* string_append(obj*, obj*);
}
obj* l_char_quote__core___closed__2;
obj* l_usize_has__repr___boxed(obj*);
obj* l_string_quote__aux___main(obj*);
obj* l_char_quote__core___closed__1;
obj* l_nat_digit__char___closed__40;
obj* l_bool_has__repr___boxed(obj*);
obj* l_nat_to__digits(obj*, obj*);
obj* l_sigma_has__repr(obj*, obj*);
obj* l_sum_has__repr___rarg___closed__2;
obj* l_sum_has__repr(obj*, obj*);
obj* l_nat_digit__char___closed__28;
obj* l_nat_digit__char___closed__18;
obj* l_char_quote__core___closed__4;
namespace lean {
obj* string_data(obj*);
}
obj* l_list_repr__aux___main___rarg___closed__1;
obj* l_char_has__repr___boxed(obj*);
obj* l_char_quote__core___closed__5;
obj* l_string_iterator_has__repr(obj*);
obj* l_nat_digit__char___closed__8;
obj* l_list_repr___main___rarg___closed__3;
uint8 l_nat_dec__eq(obj*, obj*);
namespace lean {
obj* string_iterator_remaining_to_string(obj*);
}
obj* l_char_has__repr___closed__1;
obj* l_nat_digit__char___closed__7;
obj* l_decidable_has__repr(obj*);
obj* l_string_quote___closed__1;
obj* l_bool_has__repr(uint8);
obj* l_list_repr___rarg(obj*, obj*);
obj* l_nat_digit__char___closed__47;
extern obj* l_string_join___closed__1;
uint8 l_nat_dec__le(obj*, obj*);
namespace lean {
obj* uint32_to_nat(uint32);
}
obj* l_list_has__repr(obj*);
obj* l_char__to__hex___boxed(obj*);
obj* l_nat_digit__char___closed__12;
obj* l_decidable_has__repr___rarg___boxed(obj*);
obj* l_sigma_has__repr___rarg___closed__1;
obj* l_nat_digit__char___closed__44;
obj* l_nat_digit__char___closed__32;
obj* l_uint64_has__repr(uint64);
obj* l_string_quote___closed__2;
namespace lean {
obj* string_mk(obj*);
}
obj* l_nat_digit__char___closed__51;
obj* l_list_repr__aux___main___rarg___boxed(obj*, obj*, obj*);
obj* l_nat_div(obj*, obj*);
obj* l_char_quote__core___closed__3;
obj* l_char_repr___boxed(obj*);
obj* l_char_has__repr(uint32);
obj* l_nat_digit__char___closed__24;
obj* l_list_has__repr___rarg(obj*);
obj* l_option_has__repr___rarg(obj*, obj*);
obj* l_list_repr___main___rarg___closed__2;
obj* l_nat_digit__char___closed__2;
obj* l_list_repr__aux(obj*);
obj* l_bool_has__repr___closed__2;
obj* l_prod_has__repr___rarg___closed__1;
obj* l_nat_digit__char___closed__23;
obj* l_sigma_has__repr___rarg(obj*, obj*, obj*);
obj* l_uint32_has__repr___boxed(obj*);
obj* l_uint64_has__repr___boxed(obj*);
obj* l_subtype_has__repr___rarg(obj*, obj*);
namespace lean {
obj* uint64_to_nat(uint64);
}
obj* l_nat_digit__char___closed__49;
obj* l_nat_digit__char___closed__46;
obj* l_decidable_has__repr___rarg(uint8);
obj* l_nat_digit__char___closed__50;
obj* l_nat_digit__char___closed__27;
obj* l_nat_digit__char___closed__36;
obj* l_nat_digit__char___closed__19;
obj* l_nat_digit__char___closed__43;
obj* l_sum_has__repr___rarg(obj*, obj*, obj*);
obj* l_bool_has__repr___closed__1;
obj* l_prod_has__repr(obj*, obj*);
obj* l_list_repr(obj*);
obj* l_subtype_has__repr(obj*, obj*);
obj* l_list_repr___main(obj*);
obj* l_nat_repr(obj*);
obj* l_prod_has__repr___rarg(obj*, obj*, obj*);
obj* l_nat_digit__char___closed__41;
obj* l_sigma_has__repr___rarg___closed__2;
obj* l_nat_digit__char___closed__25;
obj* l_nat_digit__char___closed__48;
obj* l_nat_digit__char___closed__4;
obj* l_char__to__hex(uint32);
obj* l_nat_sub(obj*, obj*);
obj* l_nat_digit__char___closed__31;
obj* l_option_has__repr___rarg___closed__3;
obj* l_nat_digit__char___closed__13;
namespace lean {
obj* string_push(obj*, uint32);
}
obj* l_nat_to__digits__core___main(obj*, obj*, obj*, obj*);
obj* l_unit_has__repr(obj*);
obj* l_nat_digit__char___closed__26;
obj* l_nat_digit__char___closed__42;
obj* l_nat_digit__char___closed__17;
obj* l_nat_digit__char___closed__10;
namespace lean {
obj* usize_to_nat(usize);
}
obj* l_char_quote__core(uint32);
obj* l_nat_digit__char___closed__20;
obj* l_list_repr__aux___main___rarg(obj*, uint8, obj*);
obj* l_nat_digit__char___closed__39;
obj* l_nat_digit__char___closed__33;
uint8 l_nat_dec__lt(obj*, obj*);
obj* l_nat_digit__char___closed__6;
obj* l_nat_digit__char___closed__21;
obj* l_uint16_has__repr___boxed(obj*);
obj* l_list_repr__aux___rarg(obj*, uint8, obj*);
obj* l_id_has__repr___rarg(obj* x_0) {
_start:
{
return x_0;
}
}
obj* l_id_has__repr(obj* x_0) {
_start:
{
obj* x_2;
lean::dec(x_0);
x_2 = lean::alloc_closure(reinterpret_cast<void*>(l_id_has__repr___rarg), 1, 0);
return x_2;
}
}
obj* _init_l_bool_has__repr___closed__1() {
_start:
{
obj* x_0;
x_0 = lean::mk_string("ff");
return x_0;
}
}
obj* _init_l_bool_has__repr___closed__2() {
_start:
{
obj* x_0;
x_0 = lean::mk_string("tt");
return x_0;
}
}
obj* l_bool_has__repr(uint8 x_0) {
_start:
{
if (x_0 == 0)
{
obj* x_1;
x_1 = l_bool_has__repr___closed__1;
lean::inc(x_1);
return x_1;
}
else
{
obj* x_3;
x_3 = l_bool_has__repr___closed__2;
lean::inc(x_3);
return x_3;
}
}
}
obj* l_bool_has__repr___boxed(obj* x_0) {
_start:
{
uint8 x_1; obj* x_2;
x_1 = lean::unbox(x_0);
x_2 = l_bool_has__repr(x_1);
return x_2;
}
}
obj* l_decidable_has__repr___rarg(uint8 x_0) {
_start:
{
if (x_0 == 0)
{
obj* x_1;
x_1 = l_bool_has__repr___closed__1;
lean::inc(x_1);
return x_1;
}
else
{
obj* x_3;
x_3 = l_bool_has__repr___closed__2;
lean::inc(x_3);
return x_3;
}
}
}
obj* l_decidable_has__repr(obj* x_0) {
_start:
{
obj* x_2;
lean::dec(x_0);
x_2 = lean::alloc_closure(reinterpret_cast<void*>(l_decidable_has__repr___rarg___boxed), 1, 0);
return x_2;
}
}
obj* l_decidable_has__repr___rarg___boxed(obj* x_0) {
_start:
{
uint8 x_1; obj* x_2;
x_1 = lean::unbox(x_0);
x_2 = l_decidable_has__repr___rarg(x_1);
return x_2;
}
}
obj* _init_l_list_repr__aux___main___rarg___closed__1() {
_start:
{
obj* x_0;
x_0 = lean::mk_string(", ");
return x_0;
}
}
obj* l_list_repr__aux___main___rarg(obj* x_0, uint8 x_1, obj* x_2) {
_start:
{
if (x_1 == 0)
{
if (lean::obj_tag(x_2) == 0)
{
obj* x_5;
lean::dec(x_0);
lean::dec(x_2);
x_5 = l_string_join___closed__1;
lean::inc(x_5);
return x_5;
}
else
{
obj* x_7; obj* x_9; obj* x_13; obj* x_14; obj* x_16; obj* x_18; obj* x_19;
x_7 = lean::cnstr_get(x_2, 0);
lean::inc(x_7);
x_9 = lean::cnstr_get(x_2, 1);
lean::inc(x_9);
lean::dec(x_2);
lean::inc(x_0);
x_13 = lean::apply_1(x_0, x_7);
x_14 = l_list_repr__aux___main___rarg___closed__1;
lean::inc(x_14);
x_16 = lean::string_append(x_14, x_13);
lean::dec(x_13);
x_18 = l_list_repr__aux___main___rarg(x_0, x_1, x_9);
x_19 = lean::string_append(x_16, x_18);
lean::dec(x_18);
return x_19;
}
}
else
{
if (lean::obj_tag(x_2) == 0)
{
obj* x_23;
lean::dec(x_0);
lean::dec(x_2);
x_23 = l_string_join___closed__1;
lean::inc(x_23);
return x_23;
}
else
{
obj* x_25; obj* x_27; obj* x_31; uint8 x_32; obj* x_33; obj* x_34;
x_25 = lean::cnstr_get(x_2, 0);
lean::inc(x_25);
x_27 = lean::cnstr_get(x_2, 1);
lean::inc(x_27);
lean::dec(x_2);
lean::inc(x_0);
x_31 = lean::apply_1(x_0, x_25);
x_32 = 0;
x_33 = l_list_repr__aux___main___rarg(x_0, x_32, x_27);
x_34 = lean::string_append(x_31, x_33);
lean::dec(x_33);
return x_34;
}
}
}
}
obj* l_list_repr__aux___main(obj* x_0) {
_start:
{
obj* x_2;
lean::dec(x_0);
x_2 = lean::alloc_closure(reinterpret_cast<void*>(l_list_repr__aux___main___rarg___boxed), 3, 0);
return x_2;
}
}
obj* l_list_repr__aux___main___rarg___boxed(obj* x_0, obj* x_1, obj* x_2) {
_start:
{
uint8 x_3; obj* x_4;
x_3 = lean::unbox(x_1);
x_4 = l_list_repr__aux___main___rarg(x_0, x_3, x_2);
return x_4;
}
}
obj* l_list_repr__aux___rarg(obj* x_0, uint8 x_1, obj* x_2) {
_start:
{
obj* x_3;
x_3 = l_list_repr__aux___main___rarg(x_0, x_1, x_2);
return x_3;
}
}
obj* l_list_repr__aux(obj* x_0) {
_start:
{
obj* x_2;
lean::dec(x_0);
x_2 = lean::alloc_closure(reinterpret_cast<void*>(l_list_repr__aux___rarg___boxed), 3, 0);
return x_2;
}
}
obj* l_list_repr__aux___rarg___boxed(obj* x_0, obj* x_1, obj* x_2) {
_start:
{
uint8 x_3; obj* x_4;
x_3 = lean::unbox(x_1);
x_4 = l_list_repr__aux___rarg(x_0, x_3, x_2);
return x_4;
}
}
obj* _init_l_list_repr___main___rarg___closed__1() {
_start:
{
obj* x_0;
x_0 = lean::mk_string("[]");
return x_0;
}
}
obj* _init_l_list_repr___main___rarg___closed__2() {
_start:
{
obj* x_0;
x_0 = lean::mk_string("[");
return x_0;
}
}
obj* _init_l_list_repr___main___rarg___closed__3() {
_start:
{
obj* x_0;
x_0 = lean::mk_string("]");
return x_0;
}
}
obj* l_list_repr___main___rarg(obj* x_0, obj* x_1) {
_start:
{
if (lean::obj_tag(x_1) == 0)
{
obj* x_4;
lean::dec(x_1);
lean::dec(x_0);
x_4 = l_list_repr___main___rarg___closed__1;
lean::inc(x_4);
return x_4;
}
else
{
uint8 x_6; obj* x_7; obj* x_8; obj* x_10; obj* x_12; obj* x_13;
x_6 = 1;
x_7 = l_list_repr__aux___main___rarg(x_0, x_6, x_1);
x_8 = l_list_repr___main___rarg___closed__2;
lean::inc(x_8);
x_10 = lean::string_append(x_8, x_7);
lean::dec(x_7);
x_12 = l_list_repr___main___rarg___closed__3;
x_13 = lean::string_append(x_10, x_12);
return x_13;
}
}
}
obj* l_list_repr___main(obj* x_0) {
_start:
{
obj* x_2;
lean::dec(x_0);
x_2 = lean::alloc_closure(reinterpret_cast<void*>(l_list_repr___main___rarg), 2, 0);
return x_2;
}
}
obj* l_list_repr___rarg(obj* x_0, obj* x_1) {
_start:
{
obj* x_2;
x_2 = l_list_repr___main___rarg(x_0, x_1);
return x_2;
}
}
obj* l_list_repr(obj* x_0) {
_start:
{
obj* x_2;
lean::dec(x_0);
x_2 = lean::alloc_closure(reinterpret_cast<void*>(l_list_repr___rarg), 2, 0);
return x_2;
}
}
obj* l_list_has__repr___rarg(obj* x_0) {
_start:
{
obj* x_1;
x_1 = lean::alloc_closure(reinterpret_cast<void*>(l_list_repr___rarg), 2, 1);
lean::closure_set(x_1, 0, x_0);
return x_1;
}
}
obj* l_list_has__repr(obj* x_0) {
_start:
{
obj* x_2;
lean::dec(x_0);
x_2 = lean::alloc_closure(reinterpret_cast<void*>(l_list_has__repr___rarg), 1, 0);
return x_2;
}
}
obj* _init_l_unit_has__repr___closed__1() {
_start:
{
obj* x_0;
x_0 = lean::mk_string("()");
return x_0;
}
}
obj* l_unit_has__repr(obj* x_0) {
_start:
{
obj* x_2;
lean::dec(x_0);
x_2 = l_unit_has__repr___closed__1;
lean::inc(x_2);
return x_2;
}
}
obj* _init_l_option_has__repr___rarg___closed__1() {
_start:
{
obj* x_0;
x_0 = lean::mk_string("none");
return x_0;
}
}
obj* _init_l_option_has__repr___rarg___closed__2() {
_start:
{
obj* x_0;
x_0 = lean::mk_string("(some ");
return x_0;
}
}
obj* _init_l_option_has__repr___rarg___closed__3() {
_start:
{
obj* x_0;
x_0 = lean::mk_string(")");
return x_0;
}
}
obj* l_option_has__repr___rarg(obj* x_0, obj* x_1) {
_start:
{
if (lean::obj_tag(x_1) == 0)
{
obj* x_4;
lean::dec(x_1);
lean::dec(x_0);
x_4 = l_option_has__repr___rarg___closed__1;
lean::inc(x_4);
return x_4;
}
else
{
obj* x_6; obj* x_9; obj* x_10; obj* x_12; obj* x_14; obj* x_15;
x_6 = lean::cnstr_get(x_1, 0);
lean::inc(x_6);
lean::dec(x_1);
x_9 = lean::apply_1(x_0, x_6);
x_10 = l_option_has__repr___rarg___closed__2;
lean::inc(x_10);
x_12 = lean::string_append(x_10, x_9);
lean::dec(x_9);
x_14 = l_option_has__repr___rarg___closed__3;
x_15 = lean::string_append(x_12, x_14);
return x_15;
}
}
}
obj* l_option_has__repr(obj* x_0) {
_start:
{
obj* x_2;
lean::dec(x_0);
x_2 = lean::alloc_closure(reinterpret_cast<void*>(l_option_has__repr___rarg), 2, 0);
return x_2;
}
}
obj* _init_l_sum_has__repr___rarg___closed__1() {
_start:
{
obj* x_0;
x_0 = lean::mk_string("(inl ");
return x_0;
}
}
obj* _init_l_sum_has__repr___rarg___closed__2() {
_start:
{
obj* x_0;
x_0 = lean::mk_string("(inr ");
return x_0;
}
}
obj* l_sum_has__repr___rarg(obj* x_0, obj* x_1, obj* x_2) {
_start:
{
if (lean::obj_tag(x_2) == 0)
{
obj* x_4; obj* x_7; obj* x_8; obj* x_10; obj* x_12; obj* x_13;
lean::dec(x_1);
x_4 = lean::cnstr_get(x_2, 0);
lean::inc(x_4);
lean::dec(x_2);
x_7 = lean::apply_1(x_0, x_4);
x_8 = l_sum_has__repr___rarg___closed__1;
lean::inc(x_8);
x_10 = lean::string_append(x_8, x_7);
lean::dec(x_7);
x_12 = l_option_has__repr___rarg___closed__3;
x_13 = lean::string_append(x_10, x_12);
return x_13;
}
else
{
obj* x_15; obj* x_18; obj* x_19; obj* x_21; obj* x_23; obj* x_24;
lean::dec(x_0);
x_15 = lean::cnstr_get(x_2, 0);
lean::inc(x_15);
lean::dec(x_2);
x_18 = lean::apply_1(x_1, x_15);
x_19 = l_sum_has__repr___rarg___closed__2;
lean::inc(x_19);
x_21 = lean::string_append(x_19, x_18);
lean::dec(x_18);
x_23 = l_option_has__repr___rarg___closed__3;
x_24 = lean::string_append(x_21, x_23);
return x_24;
}
}
}
obj* l_sum_has__repr(obj* x_0, obj* x_1) {
_start:
{
obj* x_4;
lean::dec(x_1);
lean::dec(x_0);
x_4 = lean::alloc_closure(reinterpret_cast<void*>(l_sum_has__repr___rarg), 3, 0);
return x_4;
}
}
obj* _init_l_prod_has__repr___rarg___closed__1() {
_start:
{
obj* x_0;
x_0 = lean::mk_string("(");
return x_0;
}
}
obj* l_prod_has__repr___rarg(obj* x_0, obj* x_1, obj* x_2) {
_start:
{
obj* x_3; obj* x_5; obj* x_8; obj* x_9; obj* x_11; obj* x_13; obj* x_14; obj* x_15; obj* x_16; obj* x_18; obj* x_19;
x_3 = lean::cnstr_get(x_2, 0);
lean::inc(x_3);
x_5 = lean::cnstr_get(x_2, 1);
lean::inc(x_5);
lean::dec(x_2);
x_8 = lean::apply_1(x_0, x_3);
x_9 = l_prod_has__repr___rarg___closed__1;
lean::inc(x_9);
x_11 = lean::string_append(x_9, x_8);
lean::dec(x_8);
x_13 = l_list_repr__aux___main___rarg___closed__1;
x_14 = lean::string_append(x_11, x_13);
x_15 = lean::apply_1(x_1, x_5);
x_16 = lean::string_append(x_14, x_15);
lean::dec(x_15);
x_18 = l_option_has__repr___rarg___closed__3;
x_19 = lean::string_append(x_16, x_18);
return x_19;
}
}
obj* l_prod_has__repr(obj* x_0, obj* x_1) {
_start:
{
obj* x_4;
lean::dec(x_1);
lean::dec(x_0);
x_4 = lean::alloc_closure(reinterpret_cast<void*>(l_prod_has__repr___rarg), 3, 0);
return x_4;
}
}
obj* _init_l_sigma_has__repr___rarg___closed__1() {
_start:
{
obj* x_0;
x_0 = lean::mk_string("\xe2\x9f\xa8");
return x_0;
}
}
obj* _init_l_sigma_has__repr___rarg___closed__2() {
_start:
{
obj* x_0;
x_0 = lean::mk_string("\xe2\x9f\xa9");
return x_0;
}
}
obj* l_sigma_has__repr___rarg(obj* x_0, obj* x_1, obj* x_2) {
_start:
{
obj* x_3; obj* x_5; obj* x_9; obj* x_10; obj* x_12; obj* x_14; obj* x_15; obj* x_16; obj* x_17; obj* x_19; obj* x_20;
x_3 = lean::cnstr_get(x_2, 0);
lean::inc(x_3);
x_5 = lean::cnstr_get(x_2, 1);
lean::inc(x_5);
lean::dec(x_2);
lean::inc(x_3);
x_9 = lean::apply_1(x_0, x_3);
x_10 = l_sigma_has__repr___rarg___closed__1;
lean::inc(x_10);
x_12 = lean::string_append(x_10, x_9);
lean::dec(x_9);
x_14 = l_list_repr__aux___main___rarg___closed__1;
x_15 = lean::string_append(x_12, x_14);
x_16 = lean::apply_2(x_1, x_3, x_5);
x_17 = lean::string_append(x_15, x_16);
lean::dec(x_16);
x_19 = l_sigma_has__repr___rarg___closed__2;
x_20 = lean::string_append(x_17, x_19);
return x_20;
}
}
obj* l_sigma_has__repr(obj* x_0, obj* x_1) {
_start:
{
obj* x_4;
lean::dec(x_1);
lean::dec(x_0);
x_4 = lean::alloc_closure(reinterpret_cast<void*>(l_sigma_has__repr___rarg), 3, 0);
return x_4;
}
}
obj* l_subtype_has__repr___rarg(obj* x_0, obj* x_1) {
_start:
{
obj* x_2;
x_2 = lean::apply_1(x_0, x_1);
return x_2;
}
}
obj* l_subtype_has__repr(obj* x_0, obj* x_1) {
_start:
{
obj* x_4;
lean::dec(x_1);
lean::dec(x_0);
x_4 = lean::alloc_closure(reinterpret_cast<void*>(l_subtype_has__repr___rarg), 2, 0);
return x_4;
}
}
obj* _init_l_nat_digit__char___closed__1() {
_start:
{
obj* x_0; obj* x_1; uint8 x_2;
x_0 = lean::mk_nat_obj(42u);
x_1 = lean::mk_nat_obj(1114112u);
x_2 = lean::nat_dec_lt(x_0, x_1);
lean::dec(x_1);
lean::dec(x_0);
if (x_2 == 0)
{
obj* x_5;
x_5 = lean::mk_nat_obj(0u);
return x_5;
}
else
{
obj* x_6;
x_6 = lean::mk_nat_obj(42u);
return x_6;
}
}
}
obj* _init_l_nat_digit__char___closed__2() {
_start:
{
obj* x_0; obj* x_1; uint8 x_2;
x_0 = lean::mk_nat_obj(57343u);
x_1 = lean::mk_nat_obj(42u);
x_2 = lean::nat_dec_lt(x_0, x_1);
lean::dec(x_1);
lean::dec(x_0);
if (x_2 == 0)
{
obj* x_5;
x_5 = lean::mk_nat_obj(0u);
return x_5;
}
else
{
obj* x_6;
x_6 = l_nat_digit__char___closed__1;
lean::inc(x_6);
return x_6;
}
}
}
obj* _init_l_nat_digit__char___closed__3() {
_start:
{
obj* x_0; obj* x_1; uint8 x_2;
x_0 = lean::mk_nat_obj(42u);
x_1 = lean::mk_nat_obj(55296u);
x_2 = lean::nat_dec_lt(x_0, x_1);
lean::dec(x_1);
lean::dec(x_0);
if (x_2 == 0)
{
obj* x_5;
x_5 = l_nat_digit__char___closed__2;
lean::inc(x_5);
return x_5;
}
else
{
obj* x_7;
x_7 = lean::mk_nat_obj(42u);
return x_7;
}
}
}
obj* _init_l_nat_digit__char___closed__4() {
_start:
{
obj* x_0; obj* x_1; uint8 x_2;
x_0 = lean::mk_nat_obj(102u);
x_1 = lean::mk_nat_obj(1114112u);
x_2 = lean::nat_dec_lt(x_0, x_1);
lean::dec(x_1);
lean::dec(x_0);
if (x_2 == 0)
{
obj* x_5;
x_5 = lean::mk_nat_obj(0u);
return x_5;
}
else
{
obj* x_6;
x_6 = lean::mk_nat_obj(102u);
return x_6;
}
}
}
obj* _init_l_nat_digit__char___closed__5() {
_start:
{
obj* x_0; obj* x_1; uint8 x_2;
x_0 = lean::mk_nat_obj(57343u);
x_1 = lean::mk_nat_obj(102u);
x_2 = lean::nat_dec_lt(x_0, x_1);
lean::dec(x_1);
lean::dec(x_0);
if (x_2 == 0)
{
obj* x_5;
x_5 = lean::mk_nat_obj(0u);
return x_5;
}
else
{
obj* x_6;
x_6 = l_nat_digit__char___closed__4;
lean::inc(x_6);
return x_6;
}
}
}
obj* _init_l_nat_digit__char___closed__6() {
_start:
{
obj* x_0; obj* x_1; uint8 x_2;
x_0 = lean::mk_nat_obj(102u);
x_1 = lean::mk_nat_obj(55296u);
x_2 = lean::nat_dec_lt(x_0, x_1);
lean::dec(x_1);
lean::dec(x_0);
if (x_2 == 0)
{
obj* x_5;
x_5 = l_nat_digit__char___closed__5;
lean::inc(x_5);
return x_5;
}
else
{
obj* x_7;
x_7 = lean::mk_nat_obj(102u);
return x_7;
}
}
}
obj* _init_l_nat_digit__char___closed__7() {
_start:
{
obj* x_0; obj* x_1; uint8 x_2;
x_0 = lean::mk_nat_obj(101u);
x_1 = lean::mk_nat_obj(1114112u);
x_2 = lean::nat_dec_lt(x_0, x_1);
lean::dec(x_1);
lean::dec(x_0);
if (x_2 == 0)
{
obj* x_5;
x_5 = lean::mk_nat_obj(0u);
return x_5;
}
else
{
obj* x_6;
x_6 = lean::mk_nat_obj(101u);
return x_6;
}
}
}
obj* _init_l_nat_digit__char___closed__8() {
_start:
{
obj* x_0; obj* x_1; uint8 x_2;
x_0 = lean::mk_nat_obj(57343u);
x_1 = lean::mk_nat_obj(101u);
x_2 = lean::nat_dec_lt(x_0, x_1);
lean::dec(x_1);
lean::dec(x_0);
if (x_2 == 0)
{
obj* x_5;
x_5 = lean::mk_nat_obj(0u);
return x_5;
}
else
{
obj* x_6;
x_6 = l_nat_digit__char___closed__7;
lean::inc(x_6);
return x_6;
}
}
}
obj* _init_l_nat_digit__char___closed__9() {
_start:
{
obj* x_0; obj* x_1; uint8 x_2;
x_0 = lean::mk_nat_obj(101u);
x_1 = lean::mk_nat_obj(55296u);
x_2 = lean::nat_dec_lt(x_0, x_1);
lean::dec(x_1);
lean::dec(x_0);
if (x_2 == 0)
{
obj* x_5;
x_5 = l_nat_digit__char___closed__8;
lean::inc(x_5);
return x_5;
}
else
{
obj* x_7;
x_7 = lean::mk_nat_obj(101u);
return x_7;
}
}
}
obj* _init_l_nat_digit__char___closed__10() {
_start:
{
obj* x_0; obj* x_1; uint8 x_2;
x_0 = lean::mk_nat_obj(100u);
x_1 = lean::mk_nat_obj(1114112u);
x_2 = lean::nat_dec_lt(x_0, x_1);
lean::dec(x_1);
lean::dec(x_0);
if (x_2 == 0)
{
obj* x_5;
x_5 = lean::mk_nat_obj(0u);
return x_5;
}
else
{
obj* x_6;
x_6 = lean::mk_nat_obj(100u);
return x_6;
}
}
}
obj* _init_l_nat_digit__char___closed__11() {
_start:
{
obj* x_0; obj* x_1; uint8 x_2;
x_0 = lean::mk_nat_obj(57343u);
x_1 = lean::mk_nat_obj(100u);
x_2 = lean::nat_dec_lt(x_0, x_1);
lean::dec(x_1);
lean::dec(x_0);
if (x_2 == 0)
{
obj* x_5;
x_5 = lean::mk_nat_obj(0u);
return x_5;
}
else
{
obj* x_6;
x_6 = l_nat_digit__char___closed__10;
lean::inc(x_6);
return x_6;
}
}
}
obj* _init_l_nat_digit__char___closed__12() {
_start:
{
obj* x_0; obj* x_1; uint8 x_2;
x_0 = lean::mk_nat_obj(100u);
x_1 = lean::mk_nat_obj(55296u);
x_2 = lean::nat_dec_lt(x_0, x_1);
lean::dec(x_1);
lean::dec(x_0);
if (x_2 == 0)
{
obj* x_5;
x_5 = l_nat_digit__char___closed__11;
lean::inc(x_5);
return x_5;
}
else
{
obj* x_7;
x_7 = lean::mk_nat_obj(100u);
return x_7;
}
}
}
obj* _init_l_nat_digit__char___closed__13() {
_start:
{
obj* x_0; obj* x_1; uint8 x_2;
x_0 = lean::mk_nat_obj(99u);
x_1 = lean::mk_nat_obj(1114112u);
x_2 = lean::nat_dec_lt(x_0, x_1);
lean::dec(x_1);
lean::dec(x_0);
if (x_2 == 0)
{
obj* x_5;
x_5 = lean::mk_nat_obj(0u);
return x_5;
}
else
{
obj* x_6;
x_6 = lean::mk_nat_obj(99u);
return x_6;
}
}
}
obj* _init_l_nat_digit__char___closed__14() {
_start:
{
obj* x_0; obj* x_1; uint8 x_2;
x_0 = lean::mk_nat_obj(57343u);
x_1 = lean::mk_nat_obj(99u);
x_2 = lean::nat_dec_lt(x_0, x_1);
lean::dec(x_1);
lean::dec(x_0);
if (x_2 == 0)
{
obj* x_5;
x_5 = lean::mk_nat_obj(0u);
return x_5;
}
else
{
obj* x_6;
x_6 = l_nat_digit__char___closed__13;
lean::inc(x_6);
return x_6;
}
}
}
obj* _init_l_nat_digit__char___closed__15() {
_start:
{
obj* x_0; obj* x_1; uint8 x_2;
x_0 = lean::mk_nat_obj(99u);
x_1 = lean::mk_nat_obj(55296u);
x_2 = lean::nat_dec_lt(x_0, x_1);
lean::dec(x_1);
lean::dec(x_0);
if (x_2 == 0)
{
obj* x_5;
x_5 = l_nat_digit__char___closed__14;
lean::inc(x_5);
return x_5;
}
else
{
obj* x_7;
x_7 = lean::mk_nat_obj(99u);
return x_7;
}
}
}
obj* _init_l_nat_digit__char___closed__16() {
_start:
{
obj* x_0; obj* x_1; uint8 x_2;
x_0 = lean::mk_nat_obj(98u);
x_1 = lean::mk_nat_obj(1114112u);
x_2 = lean::nat_dec_lt(x_0, x_1);
lean::dec(x_1);
lean::dec(x_0);
if (x_2 == 0)
{
obj* x_5;
x_5 = lean::mk_nat_obj(0u);
return x_5;
}
else
{
obj* x_6;
x_6 = lean::mk_nat_obj(98u);
return x_6;
}
}
}
obj* _init_l_nat_digit__char___closed__17() {
_start:
{
obj* x_0; obj* x_1; uint8 x_2;
x_0 = lean::mk_nat_obj(57343u);
x_1 = lean::mk_nat_obj(98u);
x_2 = lean::nat_dec_lt(x_0, x_1);
lean::dec(x_1);
lean::dec(x_0);
if (x_2 == 0)
{
obj* x_5;
x_5 = lean::mk_nat_obj(0u);
return x_5;
}
else
{
obj* x_6;
x_6 = l_nat_digit__char___closed__16;
lean::inc(x_6);
return x_6;
}
}
}
obj* _init_l_nat_digit__char___closed__18() {
_start:
{
obj* x_0; obj* x_1; uint8 x_2;
x_0 = lean::mk_nat_obj(98u);
x_1 = lean::mk_nat_obj(55296u);
x_2 = lean::nat_dec_lt(x_0, x_1);
lean::dec(x_1);
lean::dec(x_0);
if (x_2 == 0)
{
obj* x_5;
x_5 = l_nat_digit__char___closed__17;
lean::inc(x_5);
return x_5;
}
else
{
obj* x_7;
x_7 = lean::mk_nat_obj(98u);
return x_7;
}
}
}
obj* _init_l_nat_digit__char___closed__19() {
_start:
{
obj* x_0; obj* x_1; uint8 x_2;
x_0 = lean::mk_nat_obj(97u);
x_1 = lean::mk_nat_obj(1114112u);
x_2 = lean::nat_dec_lt(x_0, x_1);
lean::dec(x_1);
lean::dec(x_0);
if (x_2 == 0)
{
obj* x_5;
x_5 = lean::mk_nat_obj(0u);
return x_5;
}
else
{
obj* x_6;
x_6 = lean::mk_nat_obj(97u);
return x_6;
}
}
}
obj* _init_l_nat_digit__char___closed__20() {
_start:
{
obj* x_0; obj* x_1; uint8 x_2;
x_0 = lean::mk_nat_obj(57343u);
x_1 = lean::mk_nat_obj(97u);
x_2 = lean::nat_dec_lt(x_0, x_1);
lean::dec(x_1);
lean::dec(x_0);
if (x_2 == 0)
{
obj* x_5;
x_5 = lean::mk_nat_obj(0u);
return x_5;
}
else
{
obj* x_6;
x_6 = l_nat_digit__char___closed__19;
lean::inc(x_6);
return x_6;
}
}
}
obj* _init_l_nat_digit__char___closed__21() {
_start:
{
obj* x_0; obj* x_1; uint8 x_2;
x_0 = lean::mk_nat_obj(97u);
x_1 = lean::mk_nat_obj(55296u);
x_2 = lean::nat_dec_lt(x_0, x_1);
lean::dec(x_1);
lean::dec(x_0);
if (x_2 == 0)
{
obj* x_5;
x_5 = l_nat_digit__char___closed__20;
lean::inc(x_5);
return x_5;
}
else
{
obj* x_7;
x_7 = lean::mk_nat_obj(97u);
return x_7;
}
}
}
obj* _init_l_nat_digit__char___closed__22() {
_start:
{
obj* x_0; obj* x_1; uint8 x_2;
x_0 = lean::mk_nat_obj(57u);
x_1 = lean::mk_nat_obj(1114112u);
x_2 = lean::nat_dec_lt(x_0, x_1);
lean::dec(x_1);
lean::dec(x_0);
if (x_2 == 0)
{
obj* x_5;
x_5 = lean::mk_nat_obj(0u);
return x_5;
}
else
{
obj* x_6;
x_6 = lean::mk_nat_obj(57u);
return x_6;
}
}
}
obj* _init_l_nat_digit__char___closed__23() {
_start:
{
obj* x_0; obj* x_1; uint8 x_2;
x_0 = lean::mk_nat_obj(57343u);
x_1 = lean::mk_nat_obj(57u);
x_2 = lean::nat_dec_lt(x_0, x_1);
lean::dec(x_1);
lean::dec(x_0);
if (x_2 == 0)
{
obj* x_5;
x_5 = lean::mk_nat_obj(0u);
return x_5;
}
else
{
obj* x_6;
x_6 = l_nat_digit__char___closed__22;
lean::inc(x_6);
return x_6;
}
}
}
obj* _init_l_nat_digit__char___closed__24() {
_start:
{
obj* x_0; obj* x_1; uint8 x_2;
x_0 = lean::mk_nat_obj(57u);
x_1 = lean::mk_nat_obj(55296u);
x_2 = lean::nat_dec_lt(x_0, x_1);
lean::dec(x_1);
lean::dec(x_0);
if (x_2 == 0)
{
obj* x_5;
x_5 = l_nat_digit__char___closed__23;
lean::inc(x_5);
return x_5;
}
else
{
obj* x_7;
x_7 = lean::mk_nat_obj(57u);
return x_7;
}
}
}
obj* _init_l_nat_digit__char___closed__25() {
_start:
{
obj* x_0; obj* x_1; uint8 x_2;
x_0 = lean::mk_nat_obj(56u);
x_1 = lean::mk_nat_obj(1114112u);
x_2 = lean::nat_dec_lt(x_0, x_1);
lean::dec(x_1);
lean::dec(x_0);
if (x_2 == 0)
{
obj* x_5;
x_5 = lean::mk_nat_obj(0u);
return x_5;
}
else
{
obj* x_6;
x_6 = lean::mk_nat_obj(56u);
return x_6;
}
}
}
obj* _init_l_nat_digit__char___closed__26() {
_start:
{
obj* x_0; obj* x_1; uint8 x_2;
x_0 = lean::mk_nat_obj(57343u);
x_1 = lean::mk_nat_obj(56u);
x_2 = lean::nat_dec_lt(x_0, x_1);
lean::dec(x_1);
lean::dec(x_0);
if (x_2 == 0)
{
obj* x_5;
x_5 = lean::mk_nat_obj(0u);
return x_5;
}
else
{
obj* x_6;
x_6 = l_nat_digit__char___closed__25;
lean::inc(x_6);
return x_6;
}
}
}
obj* _init_l_nat_digit__char___closed__27() {
_start:
{
obj* x_0; obj* x_1; uint8 x_2;
x_0 = lean::mk_nat_obj(56u);
x_1 = lean::mk_nat_obj(55296u);
x_2 = lean::nat_dec_lt(x_0, x_1);
lean::dec(x_1);
lean::dec(x_0);
if (x_2 == 0)
{
obj* x_5;
x_5 = l_nat_digit__char___closed__26;
lean::inc(x_5);
return x_5;
}
else
{
obj* x_7;
x_7 = lean::mk_nat_obj(56u);
return x_7;
}
}
}
obj* _init_l_nat_digit__char___closed__28() {
_start:
{
obj* x_0; obj* x_1; uint8 x_2;
x_0 = lean::mk_nat_obj(55u);
x_1 = lean::mk_nat_obj(1114112u);
x_2 = lean::nat_dec_lt(x_0, x_1);
lean::dec(x_1);
lean::dec(x_0);
if (x_2 == 0)
{
obj* x_5;
x_5 = lean::mk_nat_obj(0u);
return x_5;
}
else
{
obj* x_6;
x_6 = lean::mk_nat_obj(55u);
return x_6;
}
}
}
obj* _init_l_nat_digit__char___closed__29() {
_start:
{
obj* x_0; obj* x_1; uint8 x_2;
x_0 = lean::mk_nat_obj(57343u);
x_1 = lean::mk_nat_obj(55u);
x_2 = lean::nat_dec_lt(x_0, x_1);
lean::dec(x_1);
lean::dec(x_0);
if (x_2 == 0)
{
obj* x_5;
x_5 = lean::mk_nat_obj(0u);
return x_5;
}
else
{
obj* x_6;
x_6 = l_nat_digit__char___closed__28;
lean::inc(x_6);
return x_6;
}
}
}
obj* _init_l_nat_digit__char___closed__30() {
_start:
{
obj* x_0; obj* x_1; uint8 x_2;
x_0 = lean::mk_nat_obj(55u);
x_1 = lean::mk_nat_obj(55296u);
x_2 = lean::nat_dec_lt(x_0, x_1);
lean::dec(x_1);
lean::dec(x_0);
if (x_2 == 0)
{
obj* x_5;
x_5 = l_nat_digit__char___closed__29;
lean::inc(x_5);
return x_5;
}
else
{
obj* x_7;
x_7 = lean::mk_nat_obj(55u);
return x_7;
}
}
}
obj* _init_l_nat_digit__char___closed__31() {
_start:
{
obj* x_0; obj* x_1; uint8 x_2;
x_0 = lean::mk_nat_obj(54u);
x_1 = lean::mk_nat_obj(1114112u);
x_2 = lean::nat_dec_lt(x_0, x_1);
lean::dec(x_1);
lean::dec(x_0);
if (x_2 == 0)
{
obj* x_5;
x_5 = lean::mk_nat_obj(0u);
return x_5;
}
else
{
obj* x_6;
x_6 = lean::mk_nat_obj(54u);
return x_6;
}
}
}
obj* _init_l_nat_digit__char___closed__32() {
_start:
{
obj* x_0; obj* x_1; uint8 x_2;
x_0 = lean::mk_nat_obj(57343u);
x_1 = lean::mk_nat_obj(54u);
x_2 = lean::nat_dec_lt(x_0, x_1);
lean::dec(x_1);
lean::dec(x_0);
if (x_2 == 0)
{
obj* x_5;
x_5 = lean::mk_nat_obj(0u);
return x_5;
}
else
{
obj* x_6;
x_6 = l_nat_digit__char___closed__31;
lean::inc(x_6);
return x_6;
}
}
}
obj* _init_l_nat_digit__char___closed__33() {
_start:
{
obj* x_0; obj* x_1; uint8 x_2;
x_0 = lean::mk_nat_obj(54u);
x_1 = lean::mk_nat_obj(55296u);
x_2 = lean::nat_dec_lt(x_0, x_1);
lean::dec(x_1);
lean::dec(x_0);
if (x_2 == 0)
{
obj* x_5;
x_5 = l_nat_digit__char___closed__32;
lean::inc(x_5);
return x_5;
}
else
{
obj* x_7;
x_7 = lean::mk_nat_obj(54u);
return x_7;
}
}
}
obj* _init_l_nat_digit__char___closed__34() {
_start:
{
obj* x_0; obj* x_1; uint8 x_2;
x_0 = lean::mk_nat_obj(53u);
x_1 = lean::mk_nat_obj(1114112u);
x_2 = lean::nat_dec_lt(x_0, x_1);
lean::dec(x_1);
lean::dec(x_0);
if (x_2 == 0)
{
obj* x_5;
x_5 = lean::mk_nat_obj(0u);
return x_5;
}
else
{
obj* x_6;
x_6 = lean::mk_nat_obj(53u);
return x_6;
}
}
}
obj* _init_l_nat_digit__char___closed__35() {
_start:
{
obj* x_0; obj* x_1; uint8 x_2;
x_0 = lean::mk_nat_obj(57343u);
x_1 = lean::mk_nat_obj(53u);
x_2 = lean::nat_dec_lt(x_0, x_1);
lean::dec(x_1);
lean::dec(x_0);
if (x_2 == 0)
{
obj* x_5;
x_5 = lean::mk_nat_obj(0u);
return x_5;
}
else
{
obj* x_6;
x_6 = l_nat_digit__char___closed__34;
lean::inc(x_6);
return x_6;
}
}
}
obj* _init_l_nat_digit__char___closed__36() {
_start:
{
obj* x_0; obj* x_1; uint8 x_2;
x_0 = lean::mk_nat_obj(53u);
x_1 = lean::mk_nat_obj(55296u);
x_2 = lean::nat_dec_lt(x_0, x_1);
lean::dec(x_1);
lean::dec(x_0);
if (x_2 == 0)
{
obj* x_5;
x_5 = l_nat_digit__char___closed__35;
lean::inc(x_5);
return x_5;
}
else
{
obj* x_7;
x_7 = lean::mk_nat_obj(53u);
return x_7;
}
}
}
obj* _init_l_nat_digit__char___closed__37() {
_start:
{
obj* x_0; obj* x_1; uint8 x_2;
x_0 = lean::mk_nat_obj(52u);
x_1 = lean::mk_nat_obj(1114112u);
x_2 = lean::nat_dec_lt(x_0, x_1);
lean::dec(x_1);
lean::dec(x_0);
if (x_2 == 0)
{
obj* x_5;
x_5 = lean::mk_nat_obj(0u);
return x_5;
}
else
{
obj* x_6;
x_6 = lean::mk_nat_obj(52u);
return x_6;
}
}
}
obj* _init_l_nat_digit__char___closed__38() {
_start:
{
obj* x_0; obj* x_1; uint8 x_2;
x_0 = lean::mk_nat_obj(57343u);
x_1 = lean::mk_nat_obj(52u);
x_2 = lean::nat_dec_lt(x_0, x_1);
lean::dec(x_1);
lean::dec(x_0);
if (x_2 == 0)
{
obj* x_5;
x_5 = lean::mk_nat_obj(0u);
return x_5;
}
else
{
obj* x_6;
x_6 = l_nat_digit__char___closed__37;
lean::inc(x_6);
return x_6;
}
}
}
obj* _init_l_nat_digit__char___closed__39() {
_start:
{
obj* x_0; obj* x_1; uint8 x_2;
x_0 = lean::mk_nat_obj(52u);
x_1 = lean::mk_nat_obj(55296u);
x_2 = lean::nat_dec_lt(x_0, x_1);
lean::dec(x_1);
lean::dec(x_0);
if (x_2 == 0)
{
obj* x_5;
x_5 = l_nat_digit__char___closed__38;
lean::inc(x_5);
return x_5;
}
else
{
obj* x_7;
x_7 = lean::mk_nat_obj(52u);
return x_7;
}
}
}
obj* _init_l_nat_digit__char___closed__40() {
_start:
{
obj* x_0; obj* x_1; uint8 x_2;
x_0 = lean::mk_nat_obj(51u);
x_1 = lean::mk_nat_obj(1114112u);
x_2 = lean::nat_dec_lt(x_0, x_1);
lean::dec(x_1);
lean::dec(x_0);
if (x_2 == 0)
{
obj* x_5;
x_5 = lean::mk_nat_obj(0u);
return x_5;
}
else
{
obj* x_6;
x_6 = lean::mk_nat_obj(51u);
return x_6;
}
}
}
obj* _init_l_nat_digit__char___closed__41() {
_start:
{
obj* x_0; obj* x_1; uint8 x_2;
x_0 = lean::mk_nat_obj(57343u);
x_1 = lean::mk_nat_obj(51u);
x_2 = lean::nat_dec_lt(x_0, x_1);
lean::dec(x_1);
lean::dec(x_0);
if (x_2 == 0)
{
obj* x_5;
x_5 = lean::mk_nat_obj(0u);
return x_5;
}
else
{
obj* x_6;
x_6 = l_nat_digit__char___closed__40;
lean::inc(x_6);
return x_6;
}
}
}
obj* _init_l_nat_digit__char___closed__42() {
_start:
{
obj* x_0; obj* x_1; uint8 x_2;
x_0 = lean::mk_nat_obj(51u);
x_1 = lean::mk_nat_obj(55296u);
x_2 = lean::nat_dec_lt(x_0, x_1);
lean::dec(x_1);
lean::dec(x_0);
if (x_2 == 0)
{
obj* x_5;
x_5 = l_nat_digit__char___closed__41;
lean::inc(x_5);
return x_5;
}
else
{
obj* x_7;
x_7 = lean::mk_nat_obj(51u);
return x_7;
}
}
}
obj* _init_l_nat_digit__char___closed__43() {
_start:
{
obj* x_0; obj* x_1; uint8 x_2;
x_0 = lean::mk_nat_obj(50u);
x_1 = lean::mk_nat_obj(1114112u);
x_2 = lean::nat_dec_lt(x_0, x_1);
lean::dec(x_1);
lean::dec(x_0);
if (x_2 == 0)
{
obj* x_5;
x_5 = lean::mk_nat_obj(0u);
return x_5;
}
else
{
obj* x_6;
x_6 = lean::mk_nat_obj(50u);
return x_6;
}
}
}
obj* _init_l_nat_digit__char___closed__44() {
_start:
{
obj* x_0; obj* x_1; uint8 x_2;
x_0 = lean::mk_nat_obj(57343u);
x_1 = lean::mk_nat_obj(50u);
x_2 = lean::nat_dec_lt(x_0, x_1);
lean::dec(x_1);
lean::dec(x_0);
if (x_2 == 0)
{
obj* x_5;
x_5 = lean::mk_nat_obj(0u);
return x_5;
}
else
{
obj* x_6;
x_6 = l_nat_digit__char___closed__43;
lean::inc(x_6);
return x_6;
}
}
}
obj* _init_l_nat_digit__char___closed__45() {
_start:
{
obj* x_0; obj* x_1; uint8 x_2;
x_0 = lean::mk_nat_obj(50u);
x_1 = lean::mk_nat_obj(55296u);
x_2 = lean::nat_dec_lt(x_0, x_1);
lean::dec(x_1);
lean::dec(x_0);
if (x_2 == 0)
{
obj* x_5;
x_5 = l_nat_digit__char___closed__44;
lean::inc(x_5);
return x_5;
}
else
{
obj* x_7;
x_7 = lean::mk_nat_obj(50u);
return x_7;
}
}
}
obj* _init_l_nat_digit__char___closed__46() {
_start:
{
obj* x_0; obj* x_1; uint8 x_2;
x_0 = lean::mk_nat_obj(49u);
x_1 = lean::mk_nat_obj(1114112u);
x_2 = lean::nat_dec_lt(x_0, x_1);
lean::dec(x_1);
lean::dec(x_0);
if (x_2 == 0)
{
obj* x_5;
x_5 = lean::mk_nat_obj(0u);
return x_5;
}
else
{
obj* x_6;
x_6 = lean::mk_nat_obj(49u);
return x_6;
}
}
}
obj* _init_l_nat_digit__char___closed__47() {
_start:
{
obj* x_0; obj* x_1; uint8 x_2;
x_0 = lean::mk_nat_obj(57343u);
x_1 = lean::mk_nat_obj(49u);
x_2 = lean::nat_dec_lt(x_0, x_1);
lean::dec(x_1);
lean::dec(x_0);
if (x_2 == 0)
{
obj* x_5;
x_5 = lean::mk_nat_obj(0u);
return x_5;
}
else
{
obj* x_6;
x_6 = l_nat_digit__char___closed__46;
lean::inc(x_6);
return x_6;
}
}
}
obj* _init_l_nat_digit__char___closed__48() {
_start:
{
obj* x_0; obj* x_1; uint8 x_2;
x_0 = lean::mk_nat_obj(49u);
x_1 = lean::mk_nat_obj(55296u);
x_2 = lean::nat_dec_lt(x_0, x_1);
lean::dec(x_1);
lean::dec(x_0);
if (x_2 == 0)
{
obj* x_5;
x_5 = l_nat_digit__char___closed__47;
lean::inc(x_5);
return x_5;
}
else
{
obj* x_7;
x_7 = lean::mk_nat_obj(49u);
return x_7;
}
}
}
obj* _init_l_nat_digit__char___closed__49() {
_start:
{
obj* x_0; obj* x_1; uint8 x_2;
x_0 = lean::mk_nat_obj(48u);
x_1 = lean::mk_nat_obj(1114112u);
x_2 = lean::nat_dec_lt(x_0, x_1);
lean::dec(x_1);
lean::dec(x_0);
if (x_2 == 0)
{
obj* x_5;
x_5 = lean::mk_nat_obj(0u);
return x_5;
}
else
{
obj* x_6;
x_6 = lean::mk_nat_obj(48u);
return x_6;
}
}
}
obj* _init_l_nat_digit__char___closed__50() {
_start:
{
obj* x_0; obj* x_1; uint8 x_2;
x_0 = lean::mk_nat_obj(57343u);
x_1 = lean::mk_nat_obj(48u);
x_2 = lean::nat_dec_lt(x_0, x_1);
lean::dec(x_1);
lean::dec(x_0);
if (x_2 == 0)
{
obj* x_5;
x_5 = lean::mk_nat_obj(0u);
return x_5;
}
else
{
obj* x_6;
x_6 = l_nat_digit__char___closed__49;
lean::inc(x_6);
return x_6;
}
}
}
obj* _init_l_nat_digit__char___closed__51() {
_start:
{
obj* x_0; obj* x_1; uint8 x_2;
x_0 = lean::mk_nat_obj(48u);
x_1 = lean::mk_nat_obj(55296u);
x_2 = lean::nat_dec_lt(x_0, x_1);
lean::dec(x_1);
lean::dec(x_0);
if (x_2 == 0)
{
obj* x_5;
x_5 = l_nat_digit__char___closed__50;
lean::inc(x_5);
return x_5;
}
else
{
obj* x_7;
x_7 = lean::mk_nat_obj(48u);
return x_7;
}
}
}
obj* l_nat_digit__char(obj* x_0) {
_start:
{
obj* x_1; uint8 x_2;
x_1 = lean::mk_nat_obj(0u);
x_2 = lean::nat_dec_eq(x_0, x_1);
lean::dec(x_1);
if (x_2 == 0)
{
obj* x_4; uint8 x_5;
x_4 = lean::mk_nat_obj(1u);
x_5 = lean::nat_dec_eq(x_0, x_4);
lean::dec(x_4);
if (x_5 == 0)
{
obj* x_7; uint8 x_8;
x_7 = lean::mk_nat_obj(2u);
x_8 = lean::nat_dec_eq(x_0, x_7);
lean::dec(x_7);
if (x_8 == 0)
{
obj* x_10; uint8 x_11;
x_10 = lean::mk_nat_obj(3u);
x_11 = lean::nat_dec_eq(x_0, x_10);
lean::dec(x_10);
if (x_11 == 0)
{
obj* x_13; uint8 x_14;
x_13 = lean::mk_nat_obj(4u);
x_14 = lean::nat_dec_eq(x_0, x_13);
lean::dec(x_13);
if (x_14 == 0)
{
obj* x_16; uint8 x_17;
x_16 = lean::mk_nat_obj(5u);
x_17 = lean::nat_dec_eq(x_0, x_16);
lean::dec(x_16);
if (x_17 == 0)
{
obj* x_19; uint8 x_20;
x_19 = lean::mk_nat_obj(6u);
x_20 = lean::nat_dec_eq(x_0, x_19);
lean::dec(x_19);
if (x_20 == 0)
{
obj* x_22; uint8 x_23;
x_22 = lean::mk_nat_obj(7u);
x_23 = lean::nat_dec_eq(x_0, x_22);
lean::dec(x_22);
if (x_23 == 0)
{
obj* x_25; uint8 x_26;
x_25 = lean::mk_nat_obj(8u);
x_26 = lean::nat_dec_eq(x_0, x_25);
lean::dec(x_25);
if (x_26 == 0)
{
obj* x_28; uint8 x_29;
x_28 = lean::mk_nat_obj(9u);
x_29 = lean::nat_dec_eq(x_0, x_28);
lean::dec(x_28);
if (x_29 == 0)
{
obj* x_31; uint8 x_32;
x_31 = lean::mk_nat_obj(10u);
x_32 = lean::nat_dec_eq(x_0, x_31);
lean::dec(x_31);
if (x_32 == 0)
{
obj* x_34; uint8 x_35;
x_34 = lean::mk_nat_obj(11u);
x_35 = lean::nat_dec_eq(x_0, x_34);
lean::dec(x_34);
if (x_35 == 0)
{
obj* x_37; uint8 x_38;
x_37 = lean::mk_nat_obj(12u);
x_38 = lean::nat_dec_eq(x_0, x_37);
lean::dec(x_37);
if (x_38 == 0)
{
obj* x_40; uint8 x_41;
x_40 = lean::mk_nat_obj(13u);
x_41 = lean::nat_dec_eq(x_0, x_40);
lean::dec(x_40);
if (x_41 == 0)
{
obj* x_43; uint8 x_44;
x_43 = lean::mk_nat_obj(14u);
x_44 = lean::nat_dec_eq(x_0, x_43);
lean::dec(x_43);
if (x_44 == 0)
{
obj* x_46; uint8 x_47;
x_46 = lean::mk_nat_obj(15u);
x_47 = lean::nat_dec_eq(x_0, x_46);
lean::dec(x_46);
lean::dec(x_0);
if (x_47 == 0)
{
obj* x_50;
x_50 = l_nat_digit__char___closed__3;
lean::inc(x_50);
return x_50;
}
else
{
obj* x_52;
x_52 = l_nat_digit__char___closed__6;
lean::inc(x_52);
return x_52;
}
}
else
{
obj* x_55;
lean::dec(x_0);
x_55 = l_nat_digit__char___closed__9;
lean::inc(x_55);
return x_55;
}
}
else
{
obj* x_58;
lean::dec(x_0);
x_58 = l_nat_digit__char___closed__12;
lean::inc(x_58);
return x_58;
}
}
else
{
obj* x_61;
lean::dec(x_0);
x_61 = l_nat_digit__char___closed__15;
lean::inc(x_61);
return x_61;
}
}
else
{
obj* x_64;
lean::dec(x_0);
x_64 = l_nat_digit__char___closed__18;
lean::inc(x_64);
return x_64;
}
}
else
{
obj* x_67;
lean::dec(x_0);
x_67 = l_nat_digit__char___closed__21;
lean::inc(x_67);
return x_67;
}
}
else
{
obj* x_70;
lean::dec(x_0);
x_70 = l_nat_digit__char___closed__24;
lean::inc(x_70);
return x_70;
}
}
else
{
obj* x_73;
lean::dec(x_0);
x_73 = l_nat_digit__char___closed__27;
lean::inc(x_73);
return x_73;
}
}
else
{
obj* x_76;
lean::dec(x_0);
x_76 = l_nat_digit__char___closed__30;
lean::inc(x_76);
return x_76;
}
}
else
{
obj* x_79;
lean::dec(x_0);
x_79 = l_nat_digit__char___closed__33;
lean::inc(x_79);
return x_79;
}
}
else
{
obj* x_82;
lean::dec(x_0);
x_82 = l_nat_digit__char___closed__36;
lean::inc(x_82);
return x_82;
}
}
else
{
obj* x_85;
lean::dec(x_0);
x_85 = l_nat_digit__char___closed__39;
lean::inc(x_85);
return x_85;
}
}
else
{
obj* x_88;
lean::dec(x_0);
x_88 = l_nat_digit__char___closed__42;
lean::inc(x_88);
return x_88;
}
}
else
{
obj* x_91;
lean::dec(x_0);
x_91 = l_nat_digit__char___closed__45;
lean::inc(x_91);
return x_91;
}
}
else
{
obj* x_94;
lean::dec(x_0);
x_94 = l_nat_digit__char___closed__48;
lean::inc(x_94);
return x_94;
}
}
else
{
obj* x_97;
lean::dec(x_0);
x_97 = l_nat_digit__char___closed__51;
lean::inc(x_97);
return x_97;
}
}
}
obj* l_nat_to__digits__core___main(obj* x_0, obj* x_1, obj* x_2, obj* x_3) {
_start:
{
obj* x_4; uint8 x_5;
x_4 = lean::mk_nat_obj(0u);
x_5 = lean::nat_dec_eq(x_1, x_4);
if (x_5 == 0)
{
obj* x_6; obj* x_7; obj* x_8; uint8 x_10;
x_6 = lean::nat_mod(x_2, x_0);
x_7 = l_nat_digit__char(x_6);
x_8 = lean::nat_div(x_2, x_0);
lean::dec(x_2);
x_10 = lean::nat_dec_eq(x_8, x_4);
lean::dec(x_4);
if (x_10 == 0)
{
obj* x_12; obj* x_13; obj* x_16;
x_12 = lean::mk_nat_obj(1u);
x_13 = lean::nat_sub(x_1, x_12);
lean::dec(x_12);
lean::dec(x_1);
x_16 = lean::alloc_cnstr(1, 2, 0);
lean::cnstr_set(x_16, 0, x_7);
lean::cnstr_set(x_16, 1, x_3);
x_1 = x_13;
x_2 = x_8;
x_3 = x_16;
goto _start;
}
else
{
obj* x_21;
lean::dec(x_8);
lean::dec(x_1);
lean::dec(x_0);
x_21 = lean::alloc_cnstr(1, 2, 0);
lean::cnstr_set(x_21, 0, x_7);
lean::cnstr_set(x_21, 1, x_3);
return x_21;
}
}
else
{
lean::dec(x_4);
lean::dec(x_1);
lean::dec(x_0);
lean::dec(x_2);
return x_3;
}
}
}
obj* l_nat_to__digits__core(obj* x_0, obj* x_1, obj* x_2, obj* x_3) {
_start:
{
obj* x_4;
x_4 = l_nat_to__digits__core___main(x_0, x_1, x_2, x_3);
return x_4;
}
}
obj* l_nat_to__digits(obj* x_0, obj* x_1) {
_start:
{
obj* x_2; obj* x_3; obj* x_5; obj* x_6;
x_2 = lean::mk_nat_obj(1u);
x_3 = lean::nat_add(x_1, x_2);
lean::dec(x_2);
x_5 = lean::box(0);
x_6 = l_nat_to__digits__core___main(x_0, x_3, x_1, x_5);
return x_6;
}
}
obj* l_nat_repr(obj* x_0) {
_start:
{
obj* x_1; obj* x_2; obj* x_3;
x_1 = lean::mk_nat_obj(10u);
x_2 = l_nat_to__digits(x_1, x_0);
x_3 = lean::string_mk(x_2);
return x_3;
}
}
obj* _init_l_nat_has__repr() {
_start:
{
obj* x_0;
x_0 = lean::alloc_closure(reinterpret_cast<void*>(l_nat_repr), 1, 0);
return x_0;
}
}
obj* l_hex__digit__repr(obj* x_0) {
_start:
{
obj* x_1; uint32 x_2; obj* x_4; obj* x_6;
x_1 = l_nat_digit__char(x_0);
x_2 = lean::unbox_uint32(x_1);
lean::dec(x_1);
x_4 = l_string_join___closed__1;
lean::inc(x_4);
x_6 = lean::string_push(x_4, x_2);
return x_6;
}
}
obj* l_char__to__hex(uint32 x_0) {
_start:
{
obj* x_1; obj* x_2; obj* x_3; obj* x_4; obj* x_7; obj* x_8; obj* x_9;
x_1 = lean::mk_nat_obj(16u);
x_2 = lean::box_uint32(x_0);
x_3 = lean::nat_div(x_2, x_1);
x_4 = lean::nat_mod(x_2, x_1);
lean::dec(x_1);
lean::dec(x_2);
x_7 = l_hex__digit__repr(x_3);
x_8 = l_hex__digit__repr(x_4);
x_9 = lean::string_append(x_7, x_8);
lean::dec(x_8);
return x_9;
}
}
obj* l_char__to__hex___boxed(obj* x_0) {
_start:
{
uint32 x_1; obj* x_2;
x_1 = lean::unbox_uint32(x_0);
x_2 = l_char__to__hex(x_1);
return x_2;
}
}
obj* _init_l_char_quote__core___closed__1() {
_start:
{
obj* x_0;
x_0 = lean::mk_string("\\x");
return x_0;
}
}
obj* _init_l_char_quote__core___closed__2() {
_start:
{
obj* x_0;
x_0 = lean::mk_string("\\\"");
return x_0;
}
}
obj* _init_l_char_quote__core___closed__3() {
_start:
{
obj* x_0;
x_0 = lean::mk_string("\\\\");
return x_0;
}
}
obj* _init_l_char_quote__core___closed__4() {
_start:
{
obj* x_0;
x_0 = lean::mk_string("\\t");
return x_0;
}
}
obj* _init_l_char_quote__core___closed__5() {
_start:
{
obj* x_0;
x_0 = lean::mk_string("\\n");
return x_0;
}
}
obj* l_char_quote__core(uint32 x_0) {
_start:
{
obj* x_1; obj* x_3; obj* x_5; obj* x_7; obj* x_9; obj* x_10; uint8 x_11;
x_9 = lean::mk_nat_obj(10u);
x_10 = lean::mk_nat_obj(55296u);
x_11 = lean::nat_dec_lt(x_9, x_10);
lean::dec(x_10);
if (x_11 == 0)
{
obj* x_13; uint8 x_14;
x_13 = lean::mk_nat_obj(57343u);
x_14 = lean::nat_dec_lt(x_13, x_9);
lean::dec(x_13);
if (x_14 == 0)
{
obj* x_17; obj* x_18; uint8 x_19;
lean::dec(x_9);
x_17 = lean::mk_nat_obj(0u);
x_18 = lean::box_uint32(x_0);
x_19 = lean::nat_dec_eq(x_18, x_17);
lean::dec(x_17);
lean::dec(x_18);
if (x_19 == 0)
{
obj* x_22;
x_22 = lean::box(0);
x_7 = x_22;
goto lbl_8;
}
else
{
obj* x_23;
x_23 = l_char_quote__core___closed__5;
lean::inc(x_23);
return x_23;
}
}
else
{
obj* x_25; uint8 x_26;
x_25 = lean::mk_nat_obj(1114112u);
x_26 = lean::nat_dec_lt(x_9, x_25);
lean::dec(x_25);
if (x_26 == 0)
{
obj* x_29; obj* x_30; uint8 x_31;
lean::dec(x_9);
x_29 = lean::mk_nat_obj(0u);
x_30 = lean::box_uint32(x_0);
x_31 = lean::nat_dec_eq(x_30, x_29);
lean::dec(x_29);
lean::dec(x_30);
if (x_31 == 0)
{
obj* x_34;
x_34 = lean::box(0);
x_7 = x_34;
goto lbl_8;
}
else
{
obj* x_35;
x_35 = l_char_quote__core___closed__5;
lean::inc(x_35);
return x_35;
}
}
else
{
obj* x_37; uint8 x_38;
x_37 = lean::box_uint32(x_0);
x_38 = lean::nat_dec_eq(x_37, x_9);
lean::dec(x_9);
lean::dec(x_37);
if (x_38 == 0)
{
obj* x_41;
x_41 = lean::box(0);
x_7 = x_41;
goto lbl_8;
}
else
{
obj* x_42;
x_42 = l_char_quote__core___closed__5;
lean::inc(x_42);
return x_42;
}
}
}
}
else
{
obj* x_44; uint8 x_45;
x_44 = lean::box_uint32(x_0);
x_45 = lean::nat_dec_eq(x_44, x_9);
lean::dec(x_9);
lean::dec(x_44);
if (x_45 == 0)
{
obj* x_48;
x_48 = lean::box(0);
x_7 = x_48;
goto lbl_8;
}
else
{
obj* x_49;
x_49 = l_char_quote__core___closed__5;
lean::inc(x_49);
return x_49;
}
}
lbl_2:
{
obj* x_52; obj* x_53; uint8 x_54;
lean::dec(x_1);
x_52 = lean::mk_nat_obj(31u);
x_53 = lean::box_uint32(x_0);
x_54 = lean::nat_dec_le(x_53, x_52);
lean::dec(x_52);
if (x_54 == 0)
{
obj* x_56; obj* x_57; uint8 x_58;
x_56 = lean::mk_nat_obj(127u);
x_57 = lean::mk_nat_obj(55296u);
x_58 = lean::nat_dec_lt(x_56, x_57);
lean::dec(x_57);
if (x_58 == 0)
{
obj* x_60; uint8 x_61;
x_60 = lean::mk_nat_obj(57343u);
x_61 = lean::nat_dec_lt(x_60, x_56);
lean::dec(x_60);
if (x_61 == 0)
{
obj* x_64; uint8 x_65;
lean::dec(x_56);
x_64 = lean::mk_nat_obj(0u);
x_65 = lean::nat_dec_eq(x_53, x_64);
lean::dec(x_64);
lean::dec(x_53);
if (x_65 == 0)
{
obj* x_68; obj* x_70;
x_68 = l_string_join___closed__1;
lean::inc(x_68);
x_70 = lean::string_push(x_68, x_0);
return x_70;
}
else
{
obj* x_71; obj* x_72; obj* x_74;
x_71 = l_char__to__hex(x_0);
x_72 = l_char_quote__core___closed__1;
lean::inc(x_72);
x_74 = lean::string_append(x_72, x_71);
lean::dec(x_71);
return x_74;
}
}
else
{
obj* x_76; uint8 x_77;
x_76 = lean::mk_nat_obj(1114112u);
x_77 = lean::nat_dec_lt(x_56, x_76);
lean::dec(x_76);
if (x_77 == 0)
{
obj* x_80; uint8 x_81;
lean::dec(x_56);
x_80 = lean::mk_nat_obj(0u);
x_81 = lean::nat_dec_eq(x_53, x_80);
lean::dec(x_80);
lean::dec(x_53);
if (x_81 == 0)
{
obj* x_84; obj* x_86;
x_84 = l_string_join___closed__1;
lean::inc(x_84);
x_86 = lean::string_push(x_84, x_0);
return x_86;
}
else
{
obj* x_87; obj* x_88; obj* x_90;
x_87 = l_char__to__hex(x_0);
x_88 = l_char_quote__core___closed__1;
lean::inc(x_88);
x_90 = lean::string_append(x_88, x_87);
lean::dec(x_87);
return x_90;
}
}
else
{
uint8 x_92;
x_92 = lean::nat_dec_eq(x_53, x_56);
lean::dec(x_56);
lean::dec(x_53);
if (x_92 == 0)
{
obj* x_95; obj* x_97;
x_95 = l_string_join___closed__1;
lean::inc(x_95);
x_97 = lean::string_push(x_95, x_0);
return x_97;
}
else
{
obj* x_98; obj* x_99; obj* x_101;
x_98 = l_char__to__hex(x_0);
x_99 = l_char_quote__core___closed__1;
lean::inc(x_99);
x_101 = lean::string_append(x_99, x_98);
lean::dec(x_98);
return x_101;
}
}
}
}
else
{
uint8 x_103;
x_103 = lean::nat_dec_eq(x_53, x_56);
lean::dec(x_56);
lean::dec(x_53);
if (x_103 == 0)
{
obj* x_106; obj* x_108;
x_106 = l_string_join___closed__1;
lean::inc(x_106);
x_108 = lean::string_push(x_106, x_0);
return x_108;
}
else
{
obj* x_109; obj* x_110; obj* x_112;
x_109 = l_char__to__hex(x_0);
x_110 = l_char_quote__core___closed__1;
lean::inc(x_110);
x_112 = lean::string_append(x_110, x_109);
lean::dec(x_109);
return x_112;
}
}
}
else
{
obj* x_115; obj* x_116; obj* x_118;
lean::dec(x_53);
x_115 = l_char__to__hex(x_0);
x_116 = l_char_quote__core___closed__1;
lean::inc(x_116);
x_118 = lean::string_append(x_116, x_115);
lean::dec(x_115);
return x_118;
}
}
lbl_4:
{
obj* x_121; obj* x_122; uint8 x_123;
lean::dec(x_3);
x_121 = lean::mk_nat_obj(34u);
x_122 = lean::mk_nat_obj(55296u);
x_123 = lean::nat_dec_lt(x_121, x_122);
lean::dec(x_122);
if (x_123 == 0)
{
obj* x_125; uint8 x_126;
x_125 = lean::mk_nat_obj(57343u);
x_126 = lean::nat_dec_lt(x_125, x_121);
lean::dec(x_125);
if (x_126 == 0)
{
obj* x_129; obj* x_130; uint8 x_131;
lean::dec(x_121);
x_129 = lean::mk_nat_obj(0u);
x_130 = lean::box_uint32(x_0);
x_131 = lean::nat_dec_eq(x_130, x_129);
lean::dec(x_129);
lean::dec(x_130);
if (x_131 == 0)
{
obj* x_134;
x_134 = lean::box(0);
x_1 = x_134;
goto lbl_2;
}
else
{
obj* x_135;
x_135 = l_char_quote__core___closed__2;
lean::inc(x_135);
return x_135;
}
}
else
{
obj* x_137; uint8 x_138;
x_137 = lean::mk_nat_obj(1114112u);
x_138 = lean::nat_dec_lt(x_121, x_137);
lean::dec(x_137);
if (x_138 == 0)
{
obj* x_141; obj* x_142; uint8 x_143;
lean::dec(x_121);
x_141 = lean::mk_nat_obj(0u);
x_142 = lean::box_uint32(x_0);
x_143 = lean::nat_dec_eq(x_142, x_141);
lean::dec(x_141);
lean::dec(x_142);
if (x_143 == 0)
{
obj* x_146;
x_146 = lean::box(0);
x_1 = x_146;
goto lbl_2;
}
else
{
obj* x_147;
x_147 = l_char_quote__core___closed__2;
lean::inc(x_147);
return x_147;
}
}
else
{
obj* x_149; uint8 x_150;
x_149 = lean::box_uint32(x_0);
x_150 = lean::nat_dec_eq(x_149, x_121);
lean::dec(x_121);
lean::dec(x_149);
if (x_150 == 0)
{
obj* x_153;
x_153 = lean::box(0);
x_1 = x_153;
goto lbl_2;
}
else
{
obj* x_154;
x_154 = l_char_quote__core___closed__2;
lean::inc(x_154);
return x_154;
}
}
}
}
else
{
obj* x_156; uint8 x_157;
x_156 = lean::box_uint32(x_0);
x_157 = lean::nat_dec_eq(x_156, x_121);
lean::dec(x_121);
lean::dec(x_156);
if (x_157 == 0)
{
obj* x_160;
x_160 = lean::box(0);
x_1 = x_160;
goto lbl_2;
}
else
{
obj* x_161;
x_161 = l_char_quote__core___closed__2;
lean::inc(x_161);
return x_161;
}
}
}
lbl_6:
{
obj* x_164; obj* x_165; uint8 x_166;
lean::dec(x_5);
x_164 = lean::mk_nat_obj(92u);
x_165 = lean::mk_nat_obj(55296u);
x_166 = lean::nat_dec_lt(x_164, x_165);
lean::dec(x_165);
if (x_166 == 0)
{
obj* x_168; uint8 x_169;
x_168 = lean::mk_nat_obj(57343u);
x_169 = lean::nat_dec_lt(x_168, x_164);
lean::dec(x_168);
if (x_169 == 0)
{
obj* x_172; obj* x_173; uint8 x_174;
lean::dec(x_164);
x_172 = lean::mk_nat_obj(0u);
x_173 = lean::box_uint32(x_0);
x_174 = lean::nat_dec_eq(x_173, x_172);
lean::dec(x_172);
lean::dec(x_173);
if (x_174 == 0)
{
obj* x_177;
x_177 = lean::box(0);
x_3 = x_177;
goto lbl_4;
}
else
{
obj* x_178;
x_178 = l_char_quote__core___closed__3;
lean::inc(x_178);
return x_178;
}
}
else
{
obj* x_180; uint8 x_181;
x_180 = lean::mk_nat_obj(1114112u);
x_181 = lean::nat_dec_lt(x_164, x_180);
lean::dec(x_180);
if (x_181 == 0)
{
obj* x_184; obj* x_185; uint8 x_186;
lean::dec(x_164);
x_184 = lean::mk_nat_obj(0u);
x_185 = lean::box_uint32(x_0);
x_186 = lean::nat_dec_eq(x_185, x_184);
lean::dec(x_184);
lean::dec(x_185);
if (x_186 == 0)
{
obj* x_189;
x_189 = lean::box(0);
x_3 = x_189;
goto lbl_4;
}
else
{
obj* x_190;
x_190 = l_char_quote__core___closed__3;
lean::inc(x_190);
return x_190;
}
}
else
{
obj* x_192; uint8 x_193;
x_192 = lean::box_uint32(x_0);
x_193 = lean::nat_dec_eq(x_192, x_164);
lean::dec(x_164);
lean::dec(x_192);
if (x_193 == 0)
{
obj* x_196;
x_196 = lean::box(0);
x_3 = x_196;
goto lbl_4;
}
else
{
obj* x_197;
x_197 = l_char_quote__core___closed__3;
lean::inc(x_197);
return x_197;
}
}
}
}
else
{
obj* x_199; uint8 x_200;
x_199 = lean::box_uint32(x_0);
x_200 = lean::nat_dec_eq(x_199, x_164);
lean::dec(x_164);
lean::dec(x_199);
if (x_200 == 0)
{
obj* x_203;
x_203 = lean::box(0);
x_3 = x_203;
goto lbl_4;
}
else
{
obj* x_204;
x_204 = l_char_quote__core___closed__3;
lean::inc(x_204);
return x_204;
}
}
}
lbl_8:
{
obj* x_207; obj* x_208; uint8 x_209;
lean::dec(x_7);
x_207 = lean::mk_nat_obj(9u);
x_208 = lean::mk_nat_obj(55296u);
x_209 = lean::nat_dec_lt(x_207, x_208);
lean::dec(x_208);
if (x_209 == 0)
{
obj* x_211; uint8 x_212;
x_211 = lean::mk_nat_obj(57343u);
x_212 = lean::nat_dec_lt(x_211, x_207);
lean::dec(x_211);
if (x_212 == 0)
{
obj* x_215; obj* x_216; uint8 x_217;
lean::dec(x_207);
x_215 = lean::mk_nat_obj(0u);
x_216 = lean::box_uint32(x_0);
x_217 = lean::nat_dec_eq(x_216, x_215);
lean::dec(x_215);
lean::dec(x_216);
if (x_217 == 0)
{
obj* x_220;
x_220 = lean::box(0);
x_5 = x_220;
goto lbl_6;
}
else
{
obj* x_221;
x_221 = l_char_quote__core___closed__4;
lean::inc(x_221);
return x_221;
}
}
else
{
obj* x_223; uint8 x_224;
x_223 = lean::mk_nat_obj(1114112u);
x_224 = lean::nat_dec_lt(x_207, x_223);
lean::dec(x_223);
if (x_224 == 0)
{
obj* x_227; obj* x_228; uint8 x_229;
lean::dec(x_207);
x_227 = lean::mk_nat_obj(0u);
x_228 = lean::box_uint32(x_0);
x_229 = lean::nat_dec_eq(x_228, x_227);
lean::dec(x_227);
lean::dec(x_228);
if (x_229 == 0)
{
obj* x_232;
x_232 = lean::box(0);
x_5 = x_232;
goto lbl_6;
}
else
{
obj* x_233;
x_233 = l_char_quote__core___closed__4;
lean::inc(x_233);
return x_233;
}
}
else
{
obj* x_235; uint8 x_236;
x_235 = lean::box_uint32(x_0);
x_236 = lean::nat_dec_eq(x_235, x_207);
lean::dec(x_207);
lean::dec(x_235);
if (x_236 == 0)
{
obj* x_239;
x_239 = lean::box(0);
x_5 = x_239;
goto lbl_6;
}
else
{
obj* x_240;
x_240 = l_char_quote__core___closed__4;
lean::inc(x_240);
return x_240;
}
}
}
}
else
{
obj* x_242; uint8 x_243;
x_242 = lean::box_uint32(x_0);
x_243 = lean::nat_dec_eq(x_242, x_207);
lean::dec(x_207);
lean::dec(x_242);
if (x_243 == 0)
{
obj* x_246;
x_246 = lean::box(0);
x_5 = x_246;
goto lbl_6;
}
else
{
obj* x_247;
x_247 = l_char_quote__core___closed__4;
lean::inc(x_247);
return x_247;
}
}
}
}
}
obj* l_char_quote__core___boxed(obj* x_0) {
_start:
{
uint32 x_1; obj* x_2;
x_1 = lean::unbox_uint32(x_0);
x_2 = l_char_quote__core(x_1);
return x_2;
}
}
obj* _init_l_char_has__repr___closed__1() {
_start:
{
obj* x_0;
x_0 = lean::mk_string("'");
return x_0;
}
}
obj* l_char_has__repr(uint32 x_0) {
_start:
{
obj* x_1; obj* x_2; obj* x_4; obj* x_6;
x_1 = l_char_quote__core(x_0);
x_2 = l_char_has__repr___closed__1;
lean::inc(x_2);
x_4 = lean::string_append(x_2, x_1);
lean::dec(x_1);
x_6 = lean::string_append(x_4, x_2);
return x_6;
}
}
obj* l_char_has__repr___boxed(obj* x_0) {
_start:
{
uint32 x_1; obj* x_2;
x_1 = lean::unbox_uint32(x_0);
x_2 = l_char_has__repr(x_1);
return x_2;
}
}
obj* l_string_quote__aux___main(obj* x_0) {
_start:
{
if (lean::obj_tag(x_0) == 0)
{
obj* x_2;
lean::dec(x_0);
x_2 = l_string_join___closed__1;
lean::inc(x_2);
return x_2;
}
else
{
obj* x_4; obj* x_6; uint32 x_9; obj* x_11; obj* x_12; obj* x_13;
x_4 = lean::cnstr_get(x_0, 0);
lean::inc(x_4);
x_6 = lean::cnstr_get(x_0, 1);
lean::inc(x_6);
lean::dec(x_0);
x_9 = lean::unbox_uint32(x_4);
lean::dec(x_4);
x_11 = l_char_quote__core(x_9);
x_12 = l_string_quote__aux___main(x_6);
x_13 = lean::string_append(x_11, x_12);
lean::dec(x_12);
return x_13;
}
}
}
obj* l_string_quote__aux(obj* x_0) {
_start:
{
obj* x_1;
x_1 = l_string_quote__aux___main(x_0);
return x_1;
}
}
obj* _init_l_string_quote___closed__1() {
_start:
{
obj* x_0;
x_0 = lean::mk_string("\"");
return x_0;
}
}
obj* _init_l_string_quote___closed__2() {
_start:
{
obj* x_0;
x_0 = lean::mk_string("\"\"");
return x_0;
}
}
obj* l_string_quote(obj* x_0) {
_start:
{
uint8 x_2;
lean::inc(x_0);
x_2 = l_string_is__empty(x_0);
if (x_2 == 0)
{
obj* x_3; obj* x_4; obj* x_5; obj* x_7; obj* x_9;
x_3 = lean::string_data(x_0);
x_4 = l_string_quote__aux___main(x_3);
x_5 = l_string_quote___closed__1;
lean::inc(x_5);
x_7 = lean::string_append(x_5, x_4);
lean::dec(x_4);
x_9 = lean::string_append(x_7, x_5);
return x_9;
}
else
{
obj* x_11;
lean::dec(x_0);
x_11 = l_string_quote___closed__2;
lean::inc(x_11);
return x_11;
}
}
}
obj* _init_l_string_has__repr() {
_start:
{
obj* x_0;
x_0 = lean::alloc_closure(reinterpret_cast<void*>(l_string_quote), 1, 0);
return x_0;
}
}
obj* _init_l_string_iterator_has__repr___closed__1() {
_start:
{
obj* x_0;
x_0 = lean::mk_string(".mk_iterator");
return x_0;
}
}
obj* l_string_iterator_has__repr(obj* x_0) {
_start:
{
obj* x_1; obj* x_3; obj* x_4; obj* x_5;
x_1 = lean::string_iterator_remaining_to_string(x_0);
lean::dec(x_0);
x_3 = l_string_quote(x_1);
x_4 = l_string_iterator_has__repr___closed__1;
x_5 = lean::string_append(x_3, x_4);
return x_5;
}
}
obj* l_fin_has__repr___rarg(obj* x_0) {
_start:
{
obj* x_1;
x_1 = l_nat_repr(x_0);
return x_1;
}
}
obj* l_fin_has__repr(obj* x_0) {
_start:
{
obj* x_2;
lean::dec(x_0);
x_2 = lean::alloc_closure(reinterpret_cast<void*>(l_fin_has__repr___rarg), 1, 0);
return x_2;
}
}
obj* l_uint16_has__repr(uint16 x_0) {
_start:
{
obj* x_1; obj* x_2;
x_1 = lean::uint16_to_nat(x_0);
x_2 = l_nat_repr(x_1);
return x_2;
}
}
obj* l_uint16_has__repr___boxed(obj* x_0) {
_start:
{
uint16 x_1; obj* x_2;
x_1 = lean::unbox(x_0);
x_2 = l_uint16_has__repr(x_1);
return x_2;
}
}
obj* l_uint32_has__repr(uint32 x_0) {
_start:
{
obj* x_1; obj* x_2;
x_1 = lean::uint32_to_nat(x_0);
x_2 = l_nat_repr(x_1);
return x_2;
}
}
obj* l_uint32_has__repr___boxed(obj* x_0) {
_start:
{
uint32 x_1; obj* x_2;
x_1 = lean::unbox_uint32(x_0);
x_2 = l_uint32_has__repr(x_1);
return x_2;
}
}
obj* l_uint64_has__repr(uint64 x_0) {
_start:
{
obj* x_1; obj* x_2;
x_1 = lean::uint64_to_nat(x_0);
x_2 = l_nat_repr(x_1);
return x_2;
}
}
obj* l_uint64_has__repr___boxed(obj* x_0) {
_start:
{
uint64 x_1; obj* x_2;
x_1 = lean::unbox_uint64(x_0);
x_2 = l_uint64_has__repr(x_1);
return x_2;
}
}
obj* l_usize_has__repr(usize x_0) {
_start:
{
obj* x_1; obj* x_2;
x_1 = lean::usize_to_nat(x_0);
x_2 = l_nat_repr(x_1);
return x_2;
}
}
obj* l_usize_has__repr___boxed(obj* x_0) {
_start:
{
usize x_1; obj* x_2;
x_1 = lean::unbox_size_t(x_0);
x_2 = l_usize_has__repr(x_1);
return x_2;
}
}
obj* l_char_repr(uint32 x_0) {
_start:
{
obj* x_1; obj* x_2; obj* x_4; obj* x_6;
x_1 = l_char_quote__core(x_0);
x_2 = l_char_has__repr___closed__1;
lean::inc(x_2);
x_4 = lean::string_append(x_2, x_1);
lean::dec(x_1);
x_6 = lean::string_append(x_4, x_2);
return x_6;
}
}
obj* l_char_repr___boxed(obj* x_0) {
_start:
{
uint32 x_1; obj* x_2;
x_1 = lean::unbox_uint32(x_0);
x_2 = l_char_repr(x_1);
return x_2;
}
}
void initialize_init_data_string_basic();
void initialize_init_data_uint();
void initialize_init_data_usize();
void initialize_init_data_nat_div();
static bool _G_initialized = false;
void initialize_init_data_repr() {
if (_G_initialized) return;
_G_initialized = true;
initialize_init_data_string_basic();
initialize_init_data_uint();
initialize_init_data_usize();
initialize_init_data_nat_div();
l_bool_has__repr___closed__1 = _init_l_bool_has__repr___closed__1();
l_bool_has__repr___closed__2 = _init_l_bool_has__repr___closed__2();
l_list_repr__aux___main___rarg___closed__1 = _init_l_list_repr__aux___main___rarg___closed__1();
l_list_repr___main___rarg___closed__1 = _init_l_list_repr___main___rarg___closed__1();
l_list_repr___main___rarg___closed__2 = _init_l_list_repr___main___rarg___closed__2();
l_list_repr___main___rarg___closed__3 = _init_l_list_repr___main___rarg___closed__3();
l_unit_has__repr___closed__1 = _init_l_unit_has__repr___closed__1();
l_option_has__repr___rarg___closed__1 = _init_l_option_has__repr___rarg___closed__1();
l_option_has__repr___rarg___closed__2 = _init_l_option_has__repr___rarg___closed__2();
l_option_has__repr___rarg___closed__3 = _init_l_option_has__repr___rarg___closed__3();
l_sum_has__repr___rarg___closed__1 = _init_l_sum_has__repr___rarg___closed__1();
l_sum_has__repr___rarg___closed__2 = _init_l_sum_has__repr___rarg___closed__2();
l_prod_has__repr___rarg___closed__1 = _init_l_prod_has__repr___rarg___closed__1();
l_sigma_has__repr___rarg___closed__1 = _init_l_sigma_has__repr___rarg___closed__1();
l_sigma_has__repr___rarg___closed__2 = _init_l_sigma_has__repr___rarg___closed__2();
l_nat_digit__char___closed__1 = _init_l_nat_digit__char___closed__1();
l_nat_digit__char___closed__2 = _init_l_nat_digit__char___closed__2();
l_nat_digit__char___closed__3 = _init_l_nat_digit__char___closed__3();
l_nat_digit__char___closed__4 = _init_l_nat_digit__char___closed__4();
l_nat_digit__char___closed__5 = _init_l_nat_digit__char___closed__5();
l_nat_digit__char___closed__6 = _init_l_nat_digit__char___closed__6();
l_nat_digit__char___closed__7 = _init_l_nat_digit__char___closed__7();
l_nat_digit__char___closed__8 = _init_l_nat_digit__char___closed__8();
l_nat_digit__char___closed__9 = _init_l_nat_digit__char___closed__9();
l_nat_digit__char___closed__10 = _init_l_nat_digit__char___closed__10();
l_nat_digit__char___closed__11 = _init_l_nat_digit__char___closed__11();
l_nat_digit__char___closed__12 = _init_l_nat_digit__char___closed__12();
l_nat_digit__char___closed__13 = _init_l_nat_digit__char___closed__13();
l_nat_digit__char___closed__14 = _init_l_nat_digit__char___closed__14();
l_nat_digit__char___closed__15 = _init_l_nat_digit__char___closed__15();
l_nat_digit__char___closed__16 = _init_l_nat_digit__char___closed__16();
l_nat_digit__char___closed__17 = _init_l_nat_digit__char___closed__17();
l_nat_digit__char___closed__18 = _init_l_nat_digit__char___closed__18();
l_nat_digit__char___closed__19 = _init_l_nat_digit__char___closed__19();
l_nat_digit__char___closed__20 = _init_l_nat_digit__char___closed__20();
l_nat_digit__char___closed__21 = _init_l_nat_digit__char___closed__21();
l_nat_digit__char___closed__22 = _init_l_nat_digit__char___closed__22();
l_nat_digit__char___closed__23 = _init_l_nat_digit__char___closed__23();
l_nat_digit__char___closed__24 = _init_l_nat_digit__char___closed__24();
l_nat_digit__char___closed__25 = _init_l_nat_digit__char___closed__25();
l_nat_digit__char___closed__26 = _init_l_nat_digit__char___closed__26();
l_nat_digit__char___closed__27 = _init_l_nat_digit__char___closed__27();
l_nat_digit__char___closed__28 = _init_l_nat_digit__char___closed__28();
l_nat_digit__char___closed__29 = _init_l_nat_digit__char___closed__29();
l_nat_digit__char___closed__30 = _init_l_nat_digit__char___closed__30();
l_nat_digit__char___closed__31 = _init_l_nat_digit__char___closed__31();
l_nat_digit__char___closed__32 = _init_l_nat_digit__char___closed__32();
l_nat_digit__char___closed__33 = _init_l_nat_digit__char___closed__33();
l_nat_digit__char___closed__34 = _init_l_nat_digit__char___closed__34();
l_nat_digit__char___closed__35 = _init_l_nat_digit__char___closed__35();
l_nat_digit__char___closed__36 = _init_l_nat_digit__char___closed__36();
l_nat_digit__char___closed__37 = _init_l_nat_digit__char___closed__37();
l_nat_digit__char___closed__38 = _init_l_nat_digit__char___closed__38();
l_nat_digit__char___closed__39 = _init_l_nat_digit__char___closed__39();
l_nat_digit__char___closed__40 = _init_l_nat_digit__char___closed__40();
l_nat_digit__char___closed__41 = _init_l_nat_digit__char___closed__41();
l_nat_digit__char___closed__42 = _init_l_nat_digit__char___closed__42();
l_nat_digit__char___closed__43 = _init_l_nat_digit__char___closed__43();
l_nat_digit__char___closed__44 = _init_l_nat_digit__char___closed__44();
l_nat_digit__char___closed__45 = _init_l_nat_digit__char___closed__45();
l_nat_digit__char___closed__46 = _init_l_nat_digit__char___closed__46();
l_nat_digit__char___closed__47 = _init_l_nat_digit__char___closed__47();
l_nat_digit__char___closed__48 = _init_l_nat_digit__char___closed__48();
l_nat_digit__char___closed__49 = _init_l_nat_digit__char___closed__49();
l_nat_digit__char___closed__50 = _init_l_nat_digit__char___closed__50();
l_nat_digit__char___closed__51 = _init_l_nat_digit__char___closed__51();
l_nat_has__repr = _init_l_nat_has__repr();
l_char_quote__core___closed__1 = _init_l_char_quote__core___closed__1();
l_char_quote__core___closed__2 = _init_l_char_quote__core___closed__2();
l_char_quote__core___closed__3 = _init_l_char_quote__core___closed__3();
l_char_quote__core___closed__4 = _init_l_char_quote__core___closed__4();
l_char_quote__core___closed__5 = _init_l_char_quote__core___closed__5();
l_char_has__repr___closed__1 = _init_l_char_has__repr___closed__1();
l_string_quote___closed__1 = _init_l_string_quote___closed__1();
l_string_quote___closed__2 = _init_l_string_quote___closed__2();
l_string_has__repr = _init_l_string_has__repr();
l_string_iterator_has__repr___closed__1 = _init_l_string_iterator_has__repr___closed__1();
}