// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_stamp_selftest
void x_stamp_selftest( void )
{
    // bcore_x_stamp.h:528:1
    BLM_INIT_LEVEL(0);
    bcore_prsg_lcg_u3_00_s lcg;BLM_T_INIT_SPUSH(bcore_prsg_lcg_u3_00_s, &lcg);;
    
    ASSERT( x_stamp_exists(((const x_stamp*)(&(lcg))),btypeof( "state" ) ) );
    
    u3_t state =*( ((const u3_t*)(x_stamp_c_get(((const x_stamp*)(&(lcg))),btypeof( "state" ) ))));
    ASSERT( state == 16437 );
    
    x_stamp_set_sr_ret(((x_stamp*)(&( lcg))),btypeof( "state" ), sr_u3(12345 ) );
    state = (*(((const u3_t*)(x_stamp_c_get(((const x_stamp*)(&( lcg))),btypeof( "state" ) )))));
    ASSERT( state == 12345 );
    
    const x_inst* inst = x_stamp_path_s_c_get_in(x_stamp_path_s_parse_sc(((x_stamp_path_s*)BLM_LEVEL_T_PUSH(0,x_stamp_path_s,x_stamp_path_s_create())),"state" ),((const x_inst*)(&(lcg ))));
    ASSERT( inst );
    ASSERT( (*(((const u3_t*)(inst)))) == 12345 );
    
    x_inst* zoo = ((x_inst*)BLM_LEVEL_A_PUSH(0,((x_inst*)(bcore_spect_via_create_zoo( 2 ).o))));
    
    sr_s sr = sr_null();
    
    sr = x_stamp_path_s_get_sr_in(x_stamp_path_s_parse_sc(((x_stamp_path_s*)BLM_LEVEL_T_PUSH(0,x_stamp_path_s,x_stamp_path_s_create())),"[0].[1].vdata.data2.[1]" ),zoo );
    ASSERT( sr_s_type(&(sr)) == TYPEOF_u3_t );
    ASSERT( sr_s_to_u3(&(sr)) == 0 );
    
    sr = x_stamp_path_s_set_sr_ret_in(x_stamp_path_s_parse_sc(((x_stamp_path_s*)BLM_LEVEL_T_PUSH(0,x_stamp_path_s,x_stamp_path_s_create())),"[0].[1].vdata.data2.[1]" ),zoo, sr_u3(20 ) );
    ASSERT( sr_s_type(&(sr)) == TYPEOF_u3_t );
    ASSERT( sr_s_to_u3(&(sr)) == 20 );
    BLM_DOWN();
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xe0, %rsp
leaq 0xe83df(%rip), %rax     # 0x117dd0
movq (%rax), %rsi
leaq 0x68(%rsp), %rbx
movq %rbx, 0x48(%rsp)
movq %rbx, %rdi
callq 0x717f5
andq $0x0, 0x10(%rbx)
leaq 0x38(%rsp), %r14
movq %r14, %rdi
callq 0x2fe03
movabsq $-0x1804b258fae5f3f6, %rsi # imm = 0xE7FB4DA7051A0C0A
movq %rbx, %rdi
movq %r14, %rdx
callq 0x71998
leaq 0x7d2e9(%rip), %rdi     # 0xacd1d
callq 0x2f020
movq %r14, %rdi
movq %rax, %rsi
callq 0x2fe15
testb %al, %al
jne 0x2fa71
leaq 0x7abf8(%rip), %rdi     # 0xaa647
leaq 0x84e49(%rip), %rsi     # 0xb489f
leaq 0x84e81(%rip), %rdx     # 0xb48de
leaq 0x84cea(%rip), %rcx     # 0xb474e
movl $0x39a, %r8d            # imm = 0x39A
xorl %eax, %eax
callq 0x5ffac
leaq 0x7d2a5(%rip), %rdi     # 0xacd1d
callq 0x2f020
leaq 0x38(%rsp), %rdi
movq %rax, %rsi
callq 0x2fe3c
cmpq $0x4035, (%rax)         # imm = 0x4035
je 0x2fabc
leaq 0x7abad(%rip), %rdi     # 0xaa647
leaq 0x84e4e(%rip), %rsi     # 0xb48ef
leaq 0x84e36(%rip), %rdx     # 0xb48de
leaq 0x84c9f(%rip), %rcx     # 0xb474e
movl $0x39d, %r8d            # imm = 0x39D
xorl %eax, %eax
callq 0x5ffac
leaq 0x7d25a(%rip), %rbx     # 0xacd1d
movq %rbx, %rdi
callq 0x2f020
movq %rax, %r14
leaq 0xc8(%rsp), %r15
movl $0x3039, %esi           # imm = 0x3039
movq %r15, %rdi
callq 0x8d057
leaq 0x38(%rsp), %r12
movq (%r12), %rdx
movq 0x10(%r15), %rax
movq %rax, 0x10(%rsp)
movups (%r15), %xmm0
movups %xmm0, (%rsp)
leaq 0x20(%rsp), %rdi
movq %r12, %rsi
movq %r14, %rcx
callq 0x2f820
movq %rbx, %rdi
callq 0x2f020
movq %r12, %rdi
movq %rax, %rsi
callq 0x2fe3c
cmpq $0x3039, (%rax)         # imm = 0x3039
je 0x2fb52
leaq 0x7ab17(%rip), %rdi     # 0xaa647
leaq 0x84dc7(%rip), %rsi     # 0xb48fe
leaq 0x84da0(%rip), %rdx     # 0xb48de
leaq 0x84c09(%rip), %rcx     # 0xb474e
movl $0x3a1, %r8d            # imm = 0x3A1
xorl %eax, %eax
callq 0x5ffac
movabsq $-0x74dceedd59a2bd6f, %rbx # imm = 0x8B231122A65D4291
callq 0x2ecc2
leaq 0x68(%rsp), %rdi
xorl %esi, %esi
movq %rbx, %rdx
movq %rax, %rcx
callq 0x71967
movq %rax, %r14
leaq 0x7d1a0(%rip), %rsi     # 0xacd1d
movq %rax, %rdi
callq 0x2fe9e
leaq 0x20(%rsp), %r15
leaq 0x38(%rsp), %rdx
movq %r15, %rdi
movq %r14, %rsi
callq 0x2fefc
testb $0x2, 0x10(%r15)
je 0x2fbab
leaq 0x20(%rsp), %rdi
callq 0x2f2f4
movq 0x20(%rsp), %r14
testq %r14, %r14
jne 0x2fbde
leaq 0x7aa8b(%rip), %rdi     # 0xaa647
leaq 0x922e8(%rip), %rsi     # 0xc1eab
leaq 0x84d14(%rip), %rdx     # 0xb48de
leaq 0x84b7d(%rip), %rcx     # 0xb474e
movl $0x3a4, %r8d            # imm = 0x3A4
xorl %eax, %eax
callq 0x5ffac
cmpq $0x3039, (%r14)         # imm = 0x3039
je 0x2fc10
leaq 0x7aa59(%rip), %rdi     # 0xaa647
leaq 0x84d18(%rip), %rsi     # 0xb490d
leaq 0x84ce2(%rip), %rdx     # 0xb48de
leaq 0x84b4b(%rip), %rcx     # 0xb474e
movl $0x3a5, %r8d            # imm = 0x3A5
xorl %eax, %eax
callq 0x5ffac
movabsq $-0x5aa4411ac4e2880e, %r13 # imm = 0xA55BBEE53B1D77F2
leaq 0xb0(%rsp), %r14
pushq $0x2
popq %rsi
movq %r14, %rdi
callq 0x8b4e4
movq (%r14), %rdx
leaq 0x68(%rsp), %r15
movq %r15, %rdi
xorl %esi, %esi
callq 0x71a90
movq %rax, %r14
callq 0x2ecc2
movq %r15, %rdi
xorl %esi, %esi
movq %rbx, %rdx
movq %rax, %rcx
callq 0x71967
movq %rax, %r15
leaq 0x84cd0(%rip), %rsi     # 0xb4931
movq %rax, %rdi
callq 0x2fe9e
leaq 0x50(%rsp), %r12
movq %r12, %rdi
movq %r15, %rsi
movq %r14, %rdx
callq 0x2fefc
movq 0x10(%r12), %rax
movq %rax, 0x30(%rsp)
movups (%r12), %xmm0
movaps %xmm0, 0x20(%rsp)
movq 0x28(%rsp), %rax
testq %rax, %rax
je 0x2fca0
cmpq %r13, 0x8(%rax)
je 0x2fcc9
leaq 0x7a9a0(%rip), %rdi     # 0xaa647
leaq 0x84c9b(%rip), %rsi     # 0xb4949
leaq 0x84c29(%rip), %rdx     # 0xb48de
leaq 0x84a92(%rip), %rcx     # 0xb474e
movl $0x3ac, %r8d            # imm = 0x3AC
xorl %eax, %eax
callq 0x5ffac
leaq 0x20(%rsp), %rdi
callq 0x8d813
testq %rax, %rax
je 0x2fd01
leaq 0x7a968(%rip), %rdi     # 0xaa647
leaq 0x84c83(%rip), %rsi     # 0xb4969
leaq 0x84bf1(%rip), %rdx     # 0xb48de
leaq 0x84a5a(%rip), %rcx     # 0xb474e
movl $0x3ad, %r8d            # imm = 0x3AD
xorl %eax, %eax
callq 0x5ffac
callq 0x2ecc2
leaq 0x68(%rsp), %rdi
xorl %esi, %esi
movq %rbx, %rdx
movq %rax, %rcx
callq 0x71967
movq %rax, %rbx
leaq 0x84c0f(%rip), %rsi     # 0xb4931
movq %rax, %rdi
callq 0x2fe9e
leaq 0x98(%rsp), %r15
pushq $0x14
popq %rsi
movq %r15, %rdi
callq 0x8d057
movq (%r14), %rdx
movq 0x10(%r15), %rax
movq %rax, 0x10(%rsp)
movups (%r15), %xmm0
movups %xmm0, (%rsp)
leaq 0x50(%rsp), %r15
movq %r15, %rdi
movq %rbx, %rsi
movq %r14, %rcx
callq 0x2f33f
movq 0x10(%r15), %rax
movq %rax, 0x30(%rsp)
movups (%r15), %xmm0
movaps %xmm0, 0x20(%rsp)
movq 0x28(%rsp), %rax
testq %rax, %rax
je 0x2fd86
cmpq %r13, 0x8(%rax)
je 0x2fdaf
leaq 0x7a8ba(%rip), %rdi     # 0xaa647
leaq 0x84bb5(%rip), %rsi     # 0xb4949
leaq 0x84b43(%rip), %rdx     # 0xb48de
leaq 0x849ac(%rip), %rcx     # 0xb474e
movl $0x3b0, %r8d            # imm = 0x3B0
xorl %eax, %eax
callq 0x5ffac
leaq 0x20(%rsp), %rdi
callq 0x8d813
cmpq $0x14, %rax
je 0x2fde8
leaq 0x7a881(%rip), %rdi     # 0xaa647
leaq 0x84bb3(%rip), %rsi     # 0xb4980
leaq 0x84b0a(%rip), %rdx     # 0xb48de
leaq 0x84973(%rip), %rcx     # 0xb474e
movl $0x3b1, %r8d            # imm = 0x3B1
xorl %eax, %eax
callq 0x5ffac
leaq 0x48(%rsp), %rdi
callq 0x71b48
addq $0xe0, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq