Changeset a843067


Ignore:
Timestamp:
Sep 21, 2017, 4:39:49 PM (7 years ago)
Author:
Thierry Delisle <tdelisle@…>
Branches:
ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
Children:
dbe7756
Parents:
6ff4507
Message:

Fixed several errors in monitor.c
Update debug prints
Added proper sched-ext-parse test

Location:
src
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • src/Concurrency/Keywords.cc

    r6ff4507 ra843067  
    528528                DeclarationWithType * param = decl->get_functionType()->get_parameters().front();
    529529                auto type  = dynamic_cast< StructInstType * >( InitTweak::getPointerBase( param->get_type() ) );
    530                 // if( type ) std::cerr << "FRED2" << std::endl;
    531530                if( type && type->get_baseStruct()->is_thread() ) {
    532531                        addStartStatement( decl, param );
  • src/libcfa/concurrency/coroutine.c

    r6ff4507 ra843067  
    123123        if(pageSize == 0ul) pageSize = sysconf( _SC_PAGESIZE );
    124124
    125         LIB_DEBUG_PRINT_SAFE("FRED");
    126 
    127125        size_t cxtSize = libCeiling( sizeof(machine_context_t), 8 ); // minimum alignment
    128126
  • src/libcfa/concurrency/monitor.c

    r6ff4507 ra843067  
    8484extern "C" {
    8585        // Enter single monitor
    86         static void __enter_monitor_desc( const __monitor_group_t & group ) {
    87                 monitor_desc * this = group.list[0];
    88 
     86        static void __enter_monitor_desc( monitor_desc * this, const __monitor_group_t & group ) {
    8987                // Lock the monitor spinlock, lock_yield to reduce contention
    9088                lock_yield( &this->lock DEBUG_CTX2 );
     
    137135                lock_yield( &this->lock DEBUG_CTX2 );
    138136
    139                 verifyf( this_thread == this->owner, "Expected owner to be %p, got %p (r: %i)", this_thread, this->owner, this->recursion );
     137                LIB_DEBUG_PRINT_SAFE("Kernel : %10p Leaving mon %p (%p)\n", this_thread, this, this->owner);
     138
     139                verifyf( this_thread == this->owner, "Expected owner to be %p, got %p (r: %i, m: %p)", this_thread, this->owner, this->recursion, this );
    140140
    141141                // Leaving a recursion level, decrement the counter
     
    172172                thrd->self_cor.state = Halted;
    173173
    174                 verifyf( thrd == this->owner, "Expected owner to be %p, got %p (r: %i)", thrd, this->owner, this->recursion );
     174                verifyf( thrd == this->owner, "Expected owner to be %p, got %p (r: %i, m: %p)", thrd, this->owner, this->recursion, this );
    175175
    176176                // Leaving a recursion level, decrement the counter
     
    197197static inline void enter( __monitor_group_t monitors ) {
    198198        for(int i = 0; i < monitors.size; i++) {
    199                 __enter_monitor_desc( monitors );
     199                __enter_monitor_desc( monitors.list[i], monitors );
    200200        }
    201201}
     
    229229        this_thread->monitors.func = func;
    230230
     231        LIB_DEBUG_PRINT_SAFE("MGUARD : enter %d\n", count);
     232
    231233        // Enter the monitors in order
    232234        __monitor_group_t group = {this.m, this.count, func};
    233235        enter( group );
     236
     237        LIB_DEBUG_PRINT_SAFE("MGUARD : entered\n");
    234238}
    235239
     
    237241// Dtor for monitor guard
    238242void ^?{}( monitor_guard_t & this ) {
     243        LIB_DEBUG_PRINT_SAFE("MGUARD : leaving %d\n", this.count);
     244
    239245        // Leave the monitors in order
    240246        leave( this.m, this.count );
     247
     248        LIB_DEBUG_PRINT_SAFE("MGUARD : left\n");
    241249
    242250        // Restore thread context
     
    299307        }
    300308
     309        // Save monitor states
     310        monitor_save;
     311
    301312        // Remove any duplicate threads
    302313        for( int i = 0; i < count; i++) {
     
    305316        }
    306317
    307         blockAndWake( threads, thread_count );
     318        // Everything is ready to go to sleep
     319        BlockInternal( locks, count, threads, thread_count );
     320
     321        // We are back, restore the owners and recursions
     322        monitor_restore;
    308323}
    309324
     
    458473
    459474static inline void set_owner( monitor_desc * this, thread_desc * owner ) {
     475        LIB_DEBUG_PRINT_SAFE("Kernal :   Setting owner of %p to %p ( was %p)\n", this, owner, this->owner );
     476
    460477        //Pass the monitor appropriately
    461478        this->owner = owner;
     
    502519
    503520        // Check if there are any acceptable functions
    504         if( !it ) return -1;
     521        if( !it ) return false;
    505522
    506523        // If this isn't the first monitor to test this, there is no reason to repeat the test.
  • src/tests/.expect/sched-ext-parse.txt

    r6ff4507 ra843067  
    1 /tmp/ccxbaJ5L.o: In function `__foo__F___1':
    2 /home/tdelisle/workspace/cforall/main/src/tests/sched-ext-parse.c:69: undefined reference to `__f1__F_MR2sM__1'
    3 /home/tdelisle/workspace/cforall/main/src/tests/sched-ext-parse.c:75: undefined reference to `____waitfor_internal__Fi_UsP15s__acceptable_ti__1'
    4 /home/tdelisle/workspace/cforall/main/src/tests/sched-ext-parse.c:91: undefined reference to `__f1__F_MR2sM__1'
    5 /home/tdelisle/workspace/cforall/main/src/tests/sched-ext-parse.c:97: undefined reference to `____waitfor_internal__Fi_UsP15s__acceptable_ti__1'
    6 /home/tdelisle/workspace/cforall/main/src/tests/sched-ext-parse.c:113: undefined reference to `__f2__F_MR2sM__1'
    7 /home/tdelisle/workspace/cforall/main/src/tests/sched-ext-parse.c:119: undefined reference to `____waitfor_internal__Fi_UsP15s__acceptable_ti__1'
    8 /home/tdelisle/workspace/cforall/main/src/tests/sched-ext-parse.c:135: undefined reference to `__f2__F_MR2sMMR2sM__1'
    9 /home/tdelisle/workspace/cforall/main/src/tests/sched-ext-parse.c:143: undefined reference to `____waitfor_internal__Fi_UsP15s__acceptable_ti__1'
    10 /home/tdelisle/workspace/cforall/main/src/tests/sched-ext-parse.c:164: undefined reference to `__f3__F_MR2sM__1'
    11 /home/tdelisle/workspace/cforall/main/src/tests/sched-ext-parse.c:172: undefined reference to `____waitfor_internal__Fi_UsP15s__acceptable_ti__1'
    12 /home/tdelisle/workspace/cforall/main/src/tests/sched-ext-parse.c:203: undefined reference to `____waitfor_internal__Fi_UsP15s__acceptable_ti__1'
    13 /home/tdelisle/workspace/cforall/main/src/tests/sched-ext-parse.c:245: undefined reference to `____waitfor_internal__Fi_UsP15s__acceptable_ti__1'
    14 /home/tdelisle/workspace/cforall/main/src/tests/sched-ext-parse.c:279: undefined reference to `__f1__F_MR2sM__1'
    15 /home/tdelisle/workspace/cforall/main/src/tests/sched-ext-parse.c:287: undefined reference to `____waitfor_internal__Fi_UsP15s__acceptable_ti__1'
    16 /home/tdelisle/workspace/cforall/main/src/tests/sched-ext-parse.c:321: undefined reference to `__f2__F_MR2sMMR2sM__1'
    17 /home/tdelisle/workspace/cforall/main/src/tests/sched-ext-parse.c:331: undefined reference to `____waitfor_internal__Fi_UsP15s__acceptable_ti__1'
    18 collect2: error: ld returned 1 exit status
     1__attribute__ ((__nothrow__,__leaf__,__malloc__)) extern void *malloc(unsigned long int __size);
     2__attribute__ ((__nothrow__,__leaf__)) extern void free(void *__ptr);
     3__attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void abort(void);
     4__attribute__ ((__nothrow__,__leaf__,__nonnull__(1))) extern signed int atexit(void (*__func)(void));
     5__attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void exit(signed int __status);
     6extern signed int printf(const char *__restrict __format, ...);
     7__attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void __assert_fail(const char *__assertion, const char *__file, unsigned int __line, const char *__function);
     8__attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void __assert_perror_fail(signed int __errnum, const char *__file, unsigned int __line, const char *__function);
     9__attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void __assert(const char *__assertion, const char *__file, signed int __line);
     10__attribute__ ((noreturn,format(printf, 5, 6))) void __assert_fail_f(const char *assertion, const char *file, unsigned int line, const char *function, const char *fmt, ...);
     11struct spinlock {
     12    volatile signed int lock;
     13    const char *prev_name;
     14    void *prev_thrd;
     15};
     16static inline void ___constructor__F_R9sspinlock_autogen___1(struct spinlock *___dst__R9sspinlock_1);
     17static inline void ___constructor__F_R9sspinlock9sspinlock_autogen___1(struct spinlock *___dst__R9sspinlock_1, struct spinlock ___src__9sspinlock_1);
     18static inline void ___destructor__F_R9sspinlock_autogen___1(struct spinlock *___dst__R9sspinlock_1);
     19static inline struct spinlock ___operator_assign__F9sspinlock_R9sspinlock9sspinlock_autogen___1(struct spinlock *___dst__R9sspinlock_1, struct spinlock ___src__9sspinlock_1);
     20static inline void ___constructor__F_R9sspinlock_autogen___1(struct spinlock *___dst__R9sspinlock_1){
     21    ((void)((*((signed int *)(&(*___dst__R9sspinlock_1).lock)))) /* ?{} */);
     22    ((void)((*___dst__R9sspinlock_1).prev_name) /* ?{} */);
     23    ((void)((*___dst__R9sspinlock_1).prev_thrd) /* ?{} */);
     24}
     25static inline void ___constructor__F_R9sspinlock9sspinlock_autogen___1(struct spinlock *___dst__R9sspinlock_1, struct spinlock ___src__9sspinlock_1){
     26    ((void)((*((signed int *)(&(*___dst__R9sspinlock_1).lock)))=___src__9sspinlock_1.lock) /* ?{} */);
     27    ((void)((*___dst__R9sspinlock_1).prev_name=___src__9sspinlock_1.prev_name) /* ?{} */);
     28    ((void)((*___dst__R9sspinlock_1).prev_thrd=___src__9sspinlock_1.prev_thrd) /* ?{} */);
     29}
     30static inline void ___destructor__F_R9sspinlock_autogen___1(struct spinlock *___dst__R9sspinlock_1){
     31    ((void)((*___dst__R9sspinlock_1).prev_thrd) /* ^?{} */);
     32    ((void)((*___dst__R9sspinlock_1).prev_name) /* ^?{} */);
     33    ((void)((*((signed int *)(&(*___dst__R9sspinlock_1).lock)))) /* ^?{} */);
     34}
     35static inline struct spinlock ___operator_assign__F9sspinlock_R9sspinlock9sspinlock_autogen___1(struct spinlock *___dst__R9sspinlock_1, struct spinlock ___src__9sspinlock_1){
     36    struct spinlock ___ret__9sspinlock_1;
     37    ((void)((*___dst__R9sspinlock_1).lock=___src__9sspinlock_1.lock));
     38    ((void)((*___dst__R9sspinlock_1).prev_name=___src__9sspinlock_1.prev_name));
     39    ((void)((*___dst__R9sspinlock_1).prev_thrd=___src__9sspinlock_1.prev_thrd));
     40    ((void)___constructor__F_R9sspinlock9sspinlock_autogen___1((&___ret__9sspinlock_1), ___src__9sspinlock_1));
     41    return ((struct spinlock )___ret__9sspinlock_1);
     42}
     43static inline void ___constructor__F_R9sspinlockVi_autogen___1(struct spinlock *___dst__R9sspinlock_1, volatile signed int __lock__Vi_1){
     44    ((void)((*((signed int *)(&(*___dst__R9sspinlock_1).lock)))=__lock__Vi_1) /* ?{} */);
     45    ((void)((*___dst__R9sspinlock_1).prev_name) /* ?{} */);
     46    ((void)((*___dst__R9sspinlock_1).prev_thrd) /* ?{} */);
     47}
     48static inline void ___constructor__F_R9sspinlockViPCc_autogen___1(struct spinlock *___dst__R9sspinlock_1, volatile signed int __lock__Vi_1, const char *__prev_name__PCc_1){
     49    ((void)((*((signed int *)(&(*___dst__R9sspinlock_1).lock)))=__lock__Vi_1) /* ?{} */);
     50    ((void)((*___dst__R9sspinlock_1).prev_name=__prev_name__PCc_1) /* ?{} */);
     51    ((void)((*___dst__R9sspinlock_1).prev_thrd) /* ?{} */);
     52}
     53static inline void ___constructor__F_R9sspinlockViPCcPv_autogen___1(struct spinlock *___dst__R9sspinlock_1, volatile signed int __lock__Vi_1, const char *__prev_name__PCc_1, void *__prev_thrd__Pv_1){
     54    ((void)((*((signed int *)(&(*___dst__R9sspinlock_1).lock)))=__lock__Vi_1) /* ?{} */);
     55    ((void)((*___dst__R9sspinlock_1).prev_name=__prev_name__PCc_1) /* ?{} */);
     56    ((void)((*___dst__R9sspinlock_1).prev_thrd=__prev_thrd__Pv_1) /* ?{} */);
     57}
     58struct __thread_queue_t {
     59    struct thread_desc *head;
     60    struct thread_desc **tail;
     61};
     62static inline void ___constructor__F_R17s__thread_queue_t_autogen___1(struct __thread_queue_t *___dst__R17s__thread_queue_t_1);
     63static inline void ___constructor__F_R17s__thread_queue_t17s__thread_queue_t_autogen___1(struct __thread_queue_t *___dst__R17s__thread_queue_t_1, struct __thread_queue_t ___src__17s__thread_queue_t_1);
     64static inline void ___destructor__F_R17s__thread_queue_t_autogen___1(struct __thread_queue_t *___dst__R17s__thread_queue_t_1);
     65static inline struct __thread_queue_t ___operator_assign__F17s__thread_queue_t_R17s__thread_queue_t17s__thread_queue_t_autogen___1(struct __thread_queue_t *___dst__R17s__thread_queue_t_1, struct __thread_queue_t ___src__17s__thread_queue_t_1);
     66static inline void ___constructor__F_R17s__thread_queue_t_autogen___1(struct __thread_queue_t *___dst__R17s__thread_queue_t_1){
     67    ((void)((*___dst__R17s__thread_queue_t_1).head) /* ?{} */);
     68    ((void)((*___dst__R17s__thread_queue_t_1).tail) /* ?{} */);
     69}
     70static inline void ___constructor__F_R17s__thread_queue_t17s__thread_queue_t_autogen___1(struct __thread_queue_t *___dst__R17s__thread_queue_t_1, struct __thread_queue_t ___src__17s__thread_queue_t_1){
     71    ((void)((*___dst__R17s__thread_queue_t_1).head=___src__17s__thread_queue_t_1.head) /* ?{} */);
     72    ((void)((*___dst__R17s__thread_queue_t_1).tail=___src__17s__thread_queue_t_1.tail) /* ?{} */);
     73}
     74static inline void ___destructor__F_R17s__thread_queue_t_autogen___1(struct __thread_queue_t *___dst__R17s__thread_queue_t_1){
     75    ((void)((*___dst__R17s__thread_queue_t_1).tail) /* ^?{} */);
     76    ((void)((*___dst__R17s__thread_queue_t_1).head) /* ^?{} */);
     77}
     78static inline struct __thread_queue_t ___operator_assign__F17s__thread_queue_t_R17s__thread_queue_t17s__thread_queue_t_autogen___1(struct __thread_queue_t *___dst__R17s__thread_queue_t_1, struct __thread_queue_t ___src__17s__thread_queue_t_1){
     79    struct __thread_queue_t ___ret__17s__thread_queue_t_1;
     80    ((void)((*___dst__R17s__thread_queue_t_1).head=___src__17s__thread_queue_t_1.head));
     81    ((void)((*___dst__R17s__thread_queue_t_1).tail=___src__17s__thread_queue_t_1.tail));
     82    ((void)___constructor__F_R17s__thread_queue_t17s__thread_queue_t_autogen___1((&___ret__17s__thread_queue_t_1), ___src__17s__thread_queue_t_1));
     83    return ((struct __thread_queue_t )___ret__17s__thread_queue_t_1);
     84}
     85static inline void ___constructor__F_R17s__thread_queue_tP12sthread_desc_autogen___1(struct __thread_queue_t *___dst__R17s__thread_queue_t_1, struct thread_desc *__head__P12sthread_desc_1){
     86    ((void)((*___dst__R17s__thread_queue_t_1).head=__head__P12sthread_desc_1) /* ?{} */);
     87    ((void)((*___dst__R17s__thread_queue_t_1).tail) /* ?{} */);
     88}
     89static inline void ___constructor__F_R17s__thread_queue_tP12sthread_descPP12sthread_desc_autogen___1(struct __thread_queue_t *___dst__R17s__thread_queue_t_1, struct thread_desc *__head__P12sthread_desc_1, struct thread_desc **__tail__PP12sthread_desc_1){
     90    ((void)((*___dst__R17s__thread_queue_t_1).head=__head__P12sthread_desc_1) /* ?{} */);
     91    ((void)((*___dst__R17s__thread_queue_t_1).tail=__tail__PP12sthread_desc_1) /* ?{} */);
     92}
     93struct __condition_stack_t {
     94    struct __condition_criterion_t *top;
     95};
     96static inline void ___constructor__F_R20s__condition_stack_t_autogen___1(struct __condition_stack_t *___dst__R20s__condition_stack_t_1);
     97static inline void ___constructor__F_R20s__condition_stack_t20s__condition_stack_t_autogen___1(struct __condition_stack_t *___dst__R20s__condition_stack_t_1, struct __condition_stack_t ___src__20s__condition_stack_t_1);
     98static inline void ___destructor__F_R20s__condition_stack_t_autogen___1(struct __condition_stack_t *___dst__R20s__condition_stack_t_1);
     99static inline struct __condition_stack_t ___operator_assign__F20s__condition_stack_t_R20s__condition_stack_t20s__condition_stack_t_autogen___1(struct __condition_stack_t *___dst__R20s__condition_stack_t_1, struct __condition_stack_t ___src__20s__condition_stack_t_1);
     100static inline void ___constructor__F_R20s__condition_stack_t_autogen___1(struct __condition_stack_t *___dst__R20s__condition_stack_t_1){
     101    ((void)((*___dst__R20s__condition_stack_t_1).top) /* ?{} */);
     102}
     103static inline void ___constructor__F_R20s__condition_stack_t20s__condition_stack_t_autogen___1(struct __condition_stack_t *___dst__R20s__condition_stack_t_1, struct __condition_stack_t ___src__20s__condition_stack_t_1){
     104    ((void)((*___dst__R20s__condition_stack_t_1).top=___src__20s__condition_stack_t_1.top) /* ?{} */);
     105}
     106static inline void ___destructor__F_R20s__condition_stack_t_autogen___1(struct __condition_stack_t *___dst__R20s__condition_stack_t_1){
     107    ((void)((*___dst__R20s__condition_stack_t_1).top) /* ^?{} */);
     108}
     109static inline struct __condition_stack_t ___operator_assign__F20s__condition_stack_t_R20s__condition_stack_t20s__condition_stack_t_autogen___1(struct __condition_stack_t *___dst__R20s__condition_stack_t_1, struct __condition_stack_t ___src__20s__condition_stack_t_1){
     110    struct __condition_stack_t ___ret__20s__condition_stack_t_1;
     111    ((void)((*___dst__R20s__condition_stack_t_1).top=___src__20s__condition_stack_t_1.top));
     112    ((void)___constructor__F_R20s__condition_stack_t20s__condition_stack_t_autogen___1((&___ret__20s__condition_stack_t_1), ___src__20s__condition_stack_t_1));
     113    return ((struct __condition_stack_t )___ret__20s__condition_stack_t_1);
     114}
     115static inline void ___constructor__F_R20s__condition_stack_tP24s__condition_criterion_t_autogen___1(struct __condition_stack_t *___dst__R20s__condition_stack_t_1, struct __condition_criterion_t *__top__P24s__condition_criterion_t_1){
     116    ((void)((*___dst__R20s__condition_stack_t_1).top=__top__P24s__condition_criterion_t_1) /* ?{} */);
     117}
     118void ___constructor__F_R17s__thread_queue_t__1(struct __thread_queue_t *__anonymous_object0);
     119void __append__F_P17s__thread_queue_tP12sthread_desc__1(struct __thread_queue_t *__anonymous_object1, struct thread_desc *__anonymous_object2);
     120struct thread_desc *__pop_head__FP12sthread_desc_P17s__thread_queue_t__1(struct __thread_queue_t *__anonymous_object3);
     121struct thread_desc *__remove__FP12sthread_desc_P17s__thread_queue_tPP12sthread_desc__1(struct __thread_queue_t *__anonymous_object4, struct thread_desc **__anonymous_object5);
     122void ___constructor__F_R20s__condition_stack_t__1(struct __condition_stack_t *__anonymous_object6);
     123void __push__F_P20s__condition_stack_tP24s__condition_criterion_t__1(struct __condition_stack_t *__anonymous_object7, struct __condition_criterion_t *__anonymous_object8);
     124struct __condition_criterion_t *__pop__FP24s__condition_criterion_t_P20s__condition_stack_t__1(struct __condition_stack_t *__anonymous_object9);
     125void ___constructor__F_R9sspinlock__1(struct spinlock *__this__R9sspinlock_1);
     126void ___destructor__F_R9sspinlock__1(struct spinlock *__this__R9sspinlock_1);
     127struct coStack_t {
     128    unsigned int size;
     129    void *storage;
     130    void *limit;
     131    void *base;
     132    void *context;
     133    void *top;
     134    _Bool userStack;
     135};
     136static inline void ___constructor__F_R10scoStack_t_autogen___1(struct coStack_t *___dst__R10scoStack_t_1);
     137static inline void ___constructor__F_R10scoStack_t10scoStack_t_autogen___1(struct coStack_t *___dst__R10scoStack_t_1, struct coStack_t ___src__10scoStack_t_1);
     138static inline void ___destructor__F_R10scoStack_t_autogen___1(struct coStack_t *___dst__R10scoStack_t_1);
     139static inline struct coStack_t ___operator_assign__F10scoStack_t_R10scoStack_t10scoStack_t_autogen___1(struct coStack_t *___dst__R10scoStack_t_1, struct coStack_t ___src__10scoStack_t_1);
     140static inline void ___constructor__F_R10scoStack_t_autogen___1(struct coStack_t *___dst__R10scoStack_t_1){
     141    ((void)((*___dst__R10scoStack_t_1).size) /* ?{} */);
     142    ((void)((*___dst__R10scoStack_t_1).storage) /* ?{} */);
     143    ((void)((*___dst__R10scoStack_t_1).limit) /* ?{} */);
     144    ((void)((*___dst__R10scoStack_t_1).base) /* ?{} */);
     145    ((void)((*___dst__R10scoStack_t_1).context) /* ?{} */);
     146    ((void)((*___dst__R10scoStack_t_1).top) /* ?{} */);
     147    ((void)((*___dst__R10scoStack_t_1).userStack) /* ?{} */);
     148}
     149static inline void ___constructor__F_R10scoStack_t10scoStack_t_autogen___1(struct coStack_t *___dst__R10scoStack_t_1, struct coStack_t ___src__10scoStack_t_1){
     150    ((void)((*___dst__R10scoStack_t_1).size=___src__10scoStack_t_1.size) /* ?{} */);
     151    ((void)((*___dst__R10scoStack_t_1).storage=___src__10scoStack_t_1.storage) /* ?{} */);
     152    ((void)((*___dst__R10scoStack_t_1).limit=___src__10scoStack_t_1.limit) /* ?{} */);
     153    ((void)((*___dst__R10scoStack_t_1).base=___src__10scoStack_t_1.base) /* ?{} */);
     154    ((void)((*___dst__R10scoStack_t_1).context=___src__10scoStack_t_1.context) /* ?{} */);
     155    ((void)((*___dst__R10scoStack_t_1).top=___src__10scoStack_t_1.top) /* ?{} */);
     156    ((void)((*___dst__R10scoStack_t_1).userStack=___src__10scoStack_t_1.userStack) /* ?{} */);
     157}
     158static inline void ___destructor__F_R10scoStack_t_autogen___1(struct coStack_t *___dst__R10scoStack_t_1){
     159    ((void)((*___dst__R10scoStack_t_1).userStack) /* ^?{} */);
     160    ((void)((*___dst__R10scoStack_t_1).top) /* ^?{} */);
     161    ((void)((*___dst__R10scoStack_t_1).context) /* ^?{} */);
     162    ((void)((*___dst__R10scoStack_t_1).base) /* ^?{} */);
     163    ((void)((*___dst__R10scoStack_t_1).limit) /* ^?{} */);
     164    ((void)((*___dst__R10scoStack_t_1).storage) /* ^?{} */);
     165    ((void)((*___dst__R10scoStack_t_1).size) /* ^?{} */);
     166}
     167static inline struct coStack_t ___operator_assign__F10scoStack_t_R10scoStack_t10scoStack_t_autogen___1(struct coStack_t *___dst__R10scoStack_t_1, struct coStack_t ___src__10scoStack_t_1){
     168    struct coStack_t ___ret__10scoStack_t_1;
     169    ((void)((*___dst__R10scoStack_t_1).size=___src__10scoStack_t_1.size));
     170    ((void)((*___dst__R10scoStack_t_1).storage=___src__10scoStack_t_1.storage));
     171    ((void)((*___dst__R10scoStack_t_1).limit=___src__10scoStack_t_1.limit));
     172    ((void)((*___dst__R10scoStack_t_1).base=___src__10scoStack_t_1.base));
     173    ((void)((*___dst__R10scoStack_t_1).context=___src__10scoStack_t_1.context));
     174    ((void)((*___dst__R10scoStack_t_1).top=___src__10scoStack_t_1.top));
     175    ((void)((*___dst__R10scoStack_t_1).userStack=___src__10scoStack_t_1.userStack));
     176    ((void)___constructor__F_R10scoStack_t10scoStack_t_autogen___1((&___ret__10scoStack_t_1), ___src__10scoStack_t_1));
     177    return ((struct coStack_t )___ret__10scoStack_t_1);
     178}
     179static inline void ___constructor__F_R10scoStack_tUi_autogen___1(struct coStack_t *___dst__R10scoStack_t_1, unsigned int __size__Ui_1){
     180    ((void)((*___dst__R10scoStack_t_1).size=__size__Ui_1) /* ?{} */);
     181    ((void)((*___dst__R10scoStack_t_1).storage) /* ?{} */);
     182    ((void)((*___dst__R10scoStack_t_1).limit) /* ?{} */);
     183    ((void)((*___dst__R10scoStack_t_1).base) /* ?{} */);
     184    ((void)((*___dst__R10scoStack_t_1).context) /* ?{} */);
     185    ((void)((*___dst__R10scoStack_t_1).top) /* ?{} */);
     186    ((void)((*___dst__R10scoStack_t_1).userStack) /* ?{} */);
     187}
     188static inline void ___constructor__F_R10scoStack_tUiPv_autogen___1(struct coStack_t *___dst__R10scoStack_t_1, unsigned int __size__Ui_1, void *__storage__Pv_1){
     189    ((void)((*___dst__R10scoStack_t_1).size=__size__Ui_1) /* ?{} */);
     190    ((void)((*___dst__R10scoStack_t_1).storage=__storage__Pv_1) /* ?{} */);
     191    ((void)((*___dst__R10scoStack_t_1).limit) /* ?{} */);
     192    ((void)((*___dst__R10scoStack_t_1).base) /* ?{} */);
     193    ((void)((*___dst__R10scoStack_t_1).context) /* ?{} */);
     194    ((void)((*___dst__R10scoStack_t_1).top) /* ?{} */);
     195    ((void)((*___dst__R10scoStack_t_1).userStack) /* ?{} */);
     196}
     197static inline void ___constructor__F_R10scoStack_tUiPvPv_autogen___1(struct coStack_t *___dst__R10scoStack_t_1, unsigned int __size__Ui_1, void *__storage__Pv_1, void *__limit__Pv_1){
     198    ((void)((*___dst__R10scoStack_t_1).size=__size__Ui_1) /* ?{} */);
     199    ((void)((*___dst__R10scoStack_t_1).storage=__storage__Pv_1) /* ?{} */);
     200    ((void)((*___dst__R10scoStack_t_1).limit=__limit__Pv_1) /* ?{} */);
     201    ((void)((*___dst__R10scoStack_t_1).base) /* ?{} */);
     202    ((void)((*___dst__R10scoStack_t_1).context) /* ?{} */);
     203    ((void)((*___dst__R10scoStack_t_1).top) /* ?{} */);
     204    ((void)((*___dst__R10scoStack_t_1).userStack) /* ?{} */);
     205}
     206static inline void ___constructor__F_R10scoStack_tUiPvPvPv_autogen___1(struct coStack_t *___dst__R10scoStack_t_1, unsigned int __size__Ui_1, void *__storage__Pv_1, void *__limit__Pv_1, void *__base__Pv_1){
     207    ((void)((*___dst__R10scoStack_t_1).size=__size__Ui_1) /* ?{} */);
     208    ((void)((*___dst__R10scoStack_t_1).storage=__storage__Pv_1) /* ?{} */);
     209    ((void)((*___dst__R10scoStack_t_1).limit=__limit__Pv_1) /* ?{} */);
     210    ((void)((*___dst__R10scoStack_t_1).base=__base__Pv_1) /* ?{} */);
     211    ((void)((*___dst__R10scoStack_t_1).context) /* ?{} */);
     212    ((void)((*___dst__R10scoStack_t_1).top) /* ?{} */);
     213    ((void)((*___dst__R10scoStack_t_1).userStack) /* ?{} */);
     214}
     215static inline void ___constructor__F_R10scoStack_tUiPvPvPvPv_autogen___1(struct coStack_t *___dst__R10scoStack_t_1, unsigned int __size__Ui_1, void *__storage__Pv_1, void *__limit__Pv_1, void *__base__Pv_1, void *__context__Pv_1){
     216    ((void)((*___dst__R10scoStack_t_1).size=__size__Ui_1) /* ?{} */);
     217    ((void)((*___dst__R10scoStack_t_1).storage=__storage__Pv_1) /* ?{} */);
     218    ((void)((*___dst__R10scoStack_t_1).limit=__limit__Pv_1) /* ?{} */);
     219    ((void)((*___dst__R10scoStack_t_1).base=__base__Pv_1) /* ?{} */);
     220    ((void)((*___dst__R10scoStack_t_1).context=__context__Pv_1) /* ?{} */);
     221    ((void)((*___dst__R10scoStack_t_1).top) /* ?{} */);
     222    ((void)((*___dst__R10scoStack_t_1).userStack) /* ?{} */);
     223}
     224static inline void ___constructor__F_R10scoStack_tUiPvPvPvPvPv_autogen___1(struct coStack_t *___dst__R10scoStack_t_1, unsigned int __size__Ui_1, void *__storage__Pv_1, void *__limit__Pv_1, void *__base__Pv_1, void *__context__Pv_1, void *__top__Pv_1){
     225    ((void)((*___dst__R10scoStack_t_1).size=__size__Ui_1) /* ?{} */);
     226    ((void)((*___dst__R10scoStack_t_1).storage=__storage__Pv_1) /* ?{} */);
     227    ((void)((*___dst__R10scoStack_t_1).limit=__limit__Pv_1) /* ?{} */);
     228    ((void)((*___dst__R10scoStack_t_1).base=__base__Pv_1) /* ?{} */);
     229    ((void)((*___dst__R10scoStack_t_1).context=__context__Pv_1) /* ?{} */);
     230    ((void)((*___dst__R10scoStack_t_1).top=__top__Pv_1) /* ?{} */);
     231    ((void)((*___dst__R10scoStack_t_1).userStack) /* ?{} */);
     232}
     233static inline void ___constructor__F_R10scoStack_tUiPvPvPvPvPvb_autogen___1(struct coStack_t *___dst__R10scoStack_t_1, unsigned int __size__Ui_1, void *__storage__Pv_1, void *__limit__Pv_1, void *__base__Pv_1, void *__context__Pv_1, void *__top__Pv_1, _Bool __userStack__b_1){
     234    ((void)((*___dst__R10scoStack_t_1).size=__size__Ui_1) /* ?{} */);
     235    ((void)((*___dst__R10scoStack_t_1).storage=__storage__Pv_1) /* ?{} */);
     236    ((void)((*___dst__R10scoStack_t_1).limit=__limit__Pv_1) /* ?{} */);
     237    ((void)((*___dst__R10scoStack_t_1).base=__base__Pv_1) /* ?{} */);
     238    ((void)((*___dst__R10scoStack_t_1).context=__context__Pv_1) /* ?{} */);
     239    ((void)((*___dst__R10scoStack_t_1).top=__top__Pv_1) /* ?{} */);
     240    ((void)((*___dst__R10scoStack_t_1).userStack=__userStack__b_1) /* ?{} */);
     241}
     242enum coroutine_state {
     243    Halted,
     244    Start,
     245    Inactive,
     246    Active,
     247    Primed,
     248};
     249struct coroutine_desc {
     250    struct coStack_t stack;
     251    const char *name;
     252    signed int errno_;
     253    enum coroutine_state state;
     254    struct coroutine_desc *starter;
     255    struct coroutine_desc *last;
     256};
     257struct __waitfor_mask_t {
     258    signed short int *accepted;
     259    struct __acceptable_t *clauses;
     260    signed short int size;
     261};
     262static inline void ___constructor__F_R17s__waitfor_mask_t_autogen___1(struct __waitfor_mask_t *___dst__R17s__waitfor_mask_t_1);
     263static inline void ___constructor__F_R17s__waitfor_mask_t17s__waitfor_mask_t_autogen___1(struct __waitfor_mask_t *___dst__R17s__waitfor_mask_t_1, struct __waitfor_mask_t ___src__17s__waitfor_mask_t_1);
     264static inline void ___destructor__F_R17s__waitfor_mask_t_autogen___1(struct __waitfor_mask_t *___dst__R17s__waitfor_mask_t_1);
     265static inline struct __waitfor_mask_t ___operator_assign__F17s__waitfor_mask_t_R17s__waitfor_mask_t17s__waitfor_mask_t_autogen___1(struct __waitfor_mask_t *___dst__R17s__waitfor_mask_t_1, struct __waitfor_mask_t ___src__17s__waitfor_mask_t_1);
     266static inline void ___constructor__F_R17s__waitfor_mask_t_autogen___1(struct __waitfor_mask_t *___dst__R17s__waitfor_mask_t_1){
     267    ((void)((*___dst__R17s__waitfor_mask_t_1).accepted) /* ?{} */);
     268    ((void)((*___dst__R17s__waitfor_mask_t_1).clauses) /* ?{} */);
     269    ((void)((*___dst__R17s__waitfor_mask_t_1).size) /* ?{} */);
     270}
     271static inline void ___constructor__F_R17s__waitfor_mask_t17s__waitfor_mask_t_autogen___1(struct __waitfor_mask_t *___dst__R17s__waitfor_mask_t_1, struct __waitfor_mask_t ___src__17s__waitfor_mask_t_1){
     272    ((void)((*___dst__R17s__waitfor_mask_t_1).accepted=___src__17s__waitfor_mask_t_1.accepted) /* ?{} */);
     273    ((void)((*___dst__R17s__waitfor_mask_t_1).clauses=___src__17s__waitfor_mask_t_1.clauses) /* ?{} */);
     274    ((void)((*___dst__R17s__waitfor_mask_t_1).size=___src__17s__waitfor_mask_t_1.size) /* ?{} */);
     275}
     276static inline void ___destructor__F_R17s__waitfor_mask_t_autogen___1(struct __waitfor_mask_t *___dst__R17s__waitfor_mask_t_1){
     277    ((void)((*___dst__R17s__waitfor_mask_t_1).size) /* ^?{} */);
     278    ((void)((*___dst__R17s__waitfor_mask_t_1).clauses) /* ^?{} */);
     279    ((void)((*___dst__R17s__waitfor_mask_t_1).accepted) /* ^?{} */);
     280}
     281static inline struct __waitfor_mask_t ___operator_assign__F17s__waitfor_mask_t_R17s__waitfor_mask_t17s__waitfor_mask_t_autogen___1(struct __waitfor_mask_t *___dst__R17s__waitfor_mask_t_1, struct __waitfor_mask_t ___src__17s__waitfor_mask_t_1){
     282    struct __waitfor_mask_t ___ret__17s__waitfor_mask_t_1;
     283    ((void)((*___dst__R17s__waitfor_mask_t_1).accepted=___src__17s__waitfor_mask_t_1.accepted));
     284    ((void)((*___dst__R17s__waitfor_mask_t_1).clauses=___src__17s__waitfor_mask_t_1.clauses));
     285    ((void)((*___dst__R17s__waitfor_mask_t_1).size=___src__17s__waitfor_mask_t_1.size));
     286    ((void)___constructor__F_R17s__waitfor_mask_t17s__waitfor_mask_t_autogen___1((&___ret__17s__waitfor_mask_t_1), ___src__17s__waitfor_mask_t_1));
     287    return ((struct __waitfor_mask_t )___ret__17s__waitfor_mask_t_1);
     288}
     289static inline void ___constructor__F_R17s__waitfor_mask_tPs_autogen___1(struct __waitfor_mask_t *___dst__R17s__waitfor_mask_t_1, signed short int *__accepted__Ps_1){
     290    ((void)((*___dst__R17s__waitfor_mask_t_1).accepted=__accepted__Ps_1) /* ?{} */);
     291    ((void)((*___dst__R17s__waitfor_mask_t_1).clauses) /* ?{} */);
     292    ((void)((*___dst__R17s__waitfor_mask_t_1).size) /* ?{} */);
     293}
     294static inline void ___constructor__F_R17s__waitfor_mask_tPsP15s__acceptable_t_autogen___1(struct __waitfor_mask_t *___dst__R17s__waitfor_mask_t_1, signed short int *__accepted__Ps_1, struct __acceptable_t *__clauses__P15s__acceptable_t_1){
     295    ((void)((*___dst__R17s__waitfor_mask_t_1).accepted=__accepted__Ps_1) /* ?{} */);
     296    ((void)((*___dst__R17s__waitfor_mask_t_1).clauses=__clauses__P15s__acceptable_t_1) /* ?{} */);
     297    ((void)((*___dst__R17s__waitfor_mask_t_1).size) /* ?{} */);
     298}
     299static inline void ___constructor__F_R17s__waitfor_mask_tPsP15s__acceptable_ts_autogen___1(struct __waitfor_mask_t *___dst__R17s__waitfor_mask_t_1, signed short int *__accepted__Ps_1, struct __acceptable_t *__clauses__P15s__acceptable_t_1, signed short int __size__s_1){
     300    ((void)((*___dst__R17s__waitfor_mask_t_1).accepted=__accepted__Ps_1) /* ?{} */);
     301    ((void)((*___dst__R17s__waitfor_mask_t_1).clauses=__clauses__P15s__acceptable_t_1) /* ?{} */);
     302    ((void)((*___dst__R17s__waitfor_mask_t_1).size=__size__s_1) /* ?{} */);
     303}
     304struct monitor_desc {
     305    struct spinlock lock;
     306    struct thread_desc *owner;
     307    struct __thread_queue_t entry_queue;
     308    struct __condition_stack_t signal_stack;
     309    unsigned int recursion;
     310    struct __waitfor_mask_t mask;
     311};
     312static inline void ___constructor__F_R13smonitor_desc_autogen___1(struct monitor_desc *___dst__R13smonitor_desc_1);
     313static inline void ___constructor__F_R13smonitor_desc13smonitor_desc_autogen___1(struct monitor_desc *___dst__R13smonitor_desc_1, struct monitor_desc ___src__13smonitor_desc_1);
     314static inline void ___destructor__F_R13smonitor_desc_autogen___1(struct monitor_desc *___dst__R13smonitor_desc_1);
     315static inline struct monitor_desc ___operator_assign__F13smonitor_desc_R13smonitor_desc13smonitor_desc_autogen___1(struct monitor_desc *___dst__R13smonitor_desc_1, struct monitor_desc ___src__13smonitor_desc_1);
     316static inline void ___constructor__F_R13smonitor_desc_autogen___1(struct monitor_desc *___dst__R13smonitor_desc_1){
     317    ((void)___constructor__F_R9sspinlock__1((&(*___dst__R13smonitor_desc_1).lock)));
     318    ((void)((*___dst__R13smonitor_desc_1).owner) /* ?{} */);
     319    ((void)___constructor__F_R17s__thread_queue_t__1((&(*___dst__R13smonitor_desc_1).entry_queue)));
     320    ((void)___constructor__F_R20s__condition_stack_t__1((&(*___dst__R13smonitor_desc_1).signal_stack)));
     321    ((void)((*___dst__R13smonitor_desc_1).recursion) /* ?{} */);
     322    ((void)___constructor__F_R17s__waitfor_mask_t_autogen___1((&(*___dst__R13smonitor_desc_1).mask)));
     323}
     324static inline void ___constructor__F_R13smonitor_desc13smonitor_desc_autogen___1(struct monitor_desc *___dst__R13smonitor_desc_1, struct monitor_desc ___src__13smonitor_desc_1){
     325    ((void)___constructor__F_R9sspinlock9sspinlock_autogen___1((&(*___dst__R13smonitor_desc_1).lock), ___src__13smonitor_desc_1.lock));
     326    ((void)((*___dst__R13smonitor_desc_1).owner=___src__13smonitor_desc_1.owner) /* ?{} */);
     327    ((void)___constructor__F_R17s__thread_queue_t17s__thread_queue_t_autogen___1((&(*___dst__R13smonitor_desc_1).entry_queue), ___src__13smonitor_desc_1.entry_queue));
     328    ((void)___constructor__F_R20s__condition_stack_t20s__condition_stack_t_autogen___1((&(*___dst__R13smonitor_desc_1).signal_stack), ___src__13smonitor_desc_1.signal_stack));
     329    ((void)((*___dst__R13smonitor_desc_1).recursion=___src__13smonitor_desc_1.recursion) /* ?{} */);
     330    ((void)___constructor__F_R17s__waitfor_mask_t17s__waitfor_mask_t_autogen___1((&(*___dst__R13smonitor_desc_1).mask), ___src__13smonitor_desc_1.mask));
     331}
     332static inline void ___destructor__F_R13smonitor_desc_autogen___1(struct monitor_desc *___dst__R13smonitor_desc_1){
     333    ((void)___destructor__F_R17s__waitfor_mask_t_autogen___1((&(*___dst__R13smonitor_desc_1).mask)));
     334    ((void)((*___dst__R13smonitor_desc_1).recursion) /* ^?{} */);
     335    ((void)___destructor__F_R20s__condition_stack_t_autogen___1((&(*___dst__R13smonitor_desc_1).signal_stack)));
     336    ((void)___destructor__F_R17s__thread_queue_t_autogen___1((&(*___dst__R13smonitor_desc_1).entry_queue)));
     337    ((void)((*___dst__R13smonitor_desc_1).owner) /* ^?{} */);
     338    ((void)___destructor__F_R9sspinlock__1((&(*___dst__R13smonitor_desc_1).lock)));
     339}
     340static inline struct monitor_desc ___operator_assign__F13smonitor_desc_R13smonitor_desc13smonitor_desc_autogen___1(struct monitor_desc *___dst__R13smonitor_desc_1, struct monitor_desc ___src__13smonitor_desc_1){
     341    struct monitor_desc ___ret__13smonitor_desc_1;
     342    struct spinlock _tmp_cp0;
     343    struct spinlock _tmp_cp_ret0;
     344    ((void)(((void)(_tmp_cp_ret0=___operator_assign__F9sspinlock_R9sspinlock9sspinlock_autogen___1((&(*___dst__R13smonitor_desc_1).lock), (((void)___constructor__F_R9sspinlock9sspinlock_autogen___1((&_tmp_cp0), ___src__13smonitor_desc_1.lock)) , _tmp_cp0)))) , _tmp_cp_ret0));
     345    ((void)___destructor__F_R9sspinlock__1((&_tmp_cp_ret0)));
     346    ((void)___destructor__F_R9sspinlock__1((&_tmp_cp0)));
     347    ((void)((*___dst__R13smonitor_desc_1).owner=___src__13smonitor_desc_1.owner));
     348    struct __thread_queue_t _tmp_cp1;
     349    struct __thread_queue_t _tmp_cp_ret1;
     350    ((void)(((void)(_tmp_cp_ret1=___operator_assign__F17s__thread_queue_t_R17s__thread_queue_t17s__thread_queue_t_autogen___1((&(*___dst__R13smonitor_desc_1).entry_queue), (((void)___constructor__F_R17s__thread_queue_t17s__thread_queue_t_autogen___1((&_tmp_cp1), ___src__13smonitor_desc_1.entry_queue)) , _tmp_cp1)))) , _tmp_cp_ret1));
     351    ((void)___destructor__F_R17s__thread_queue_t_autogen___1((&_tmp_cp_ret1)));
     352    ((void)___destructor__F_R17s__thread_queue_t_autogen___1((&_tmp_cp1)));
     353    struct __condition_stack_t _tmp_cp2;
     354    struct __condition_stack_t _tmp_cp_ret2;
     355    ((void)(((void)(_tmp_cp_ret2=___operator_assign__F20s__condition_stack_t_R20s__condition_stack_t20s__condition_stack_t_autogen___1((&(*___dst__R13smonitor_desc_1).signal_stack), (((void)___constructor__F_R20s__condition_stack_t20s__condition_stack_t_autogen___1((&_tmp_cp2), ___src__13smonitor_desc_1.signal_stack)) , _tmp_cp2)))) , _tmp_cp_ret2));
     356    ((void)___destructor__F_R20s__condition_stack_t_autogen___1((&_tmp_cp_ret2)));
     357    ((void)___destructor__F_R20s__condition_stack_t_autogen___1((&_tmp_cp2)));
     358    ((void)((*___dst__R13smonitor_desc_1).recursion=___src__13smonitor_desc_1.recursion));
     359    struct __waitfor_mask_t _tmp_cp3;
     360    struct __waitfor_mask_t _tmp_cp_ret3;
     361    ((void)(((void)(_tmp_cp_ret3=___operator_assign__F17s__waitfor_mask_t_R17s__waitfor_mask_t17s__waitfor_mask_t_autogen___1((&(*___dst__R13smonitor_desc_1).mask), (((void)___constructor__F_R17s__waitfor_mask_t17s__waitfor_mask_t_autogen___1((&_tmp_cp3), ___src__13smonitor_desc_1.mask)) , _tmp_cp3)))) , _tmp_cp_ret3));
     362    ((void)___destructor__F_R17s__waitfor_mask_t_autogen___1((&_tmp_cp_ret3)));
     363    ((void)___destructor__F_R17s__waitfor_mask_t_autogen___1((&_tmp_cp3)));
     364    ((void)___constructor__F_R13smonitor_desc13smonitor_desc_autogen___1((&___ret__13smonitor_desc_1), ___src__13smonitor_desc_1));
     365    return ((struct monitor_desc )___ret__13smonitor_desc_1);
     366}
     367static inline void ___constructor__F_R13smonitor_desc9sspinlock_autogen___1(struct monitor_desc *___dst__R13smonitor_desc_1, struct spinlock __lock__9sspinlock_1){
     368    ((void)___constructor__F_R9sspinlock9sspinlock_autogen___1((&(*___dst__R13smonitor_desc_1).lock), __lock__9sspinlock_1));
     369    ((void)((*___dst__R13smonitor_desc_1).owner) /* ?{} */);
     370    ((void)___constructor__F_R17s__thread_queue_t__1((&(*___dst__R13smonitor_desc_1).entry_queue)));
     371    ((void)___constructor__F_R20s__condition_stack_t__1((&(*___dst__R13smonitor_desc_1).signal_stack)));
     372    ((void)((*___dst__R13smonitor_desc_1).recursion) /* ?{} */);
     373    ((void)___constructor__F_R17s__waitfor_mask_t_autogen___1((&(*___dst__R13smonitor_desc_1).mask)));
     374}
     375static inline void ___constructor__F_R13smonitor_desc9sspinlockP12sthread_desc_autogen___1(struct monitor_desc *___dst__R13smonitor_desc_1, struct spinlock __lock__9sspinlock_1, struct thread_desc *__owner__P12sthread_desc_1){
     376    ((void)___constructor__F_R9sspinlock9sspinlock_autogen___1((&(*___dst__R13smonitor_desc_1).lock), __lock__9sspinlock_1));
     377    ((void)((*___dst__R13smonitor_desc_1).owner=__owner__P12sthread_desc_1) /* ?{} */);
     378    ((void)___constructor__F_R17s__thread_queue_t__1((&(*___dst__R13smonitor_desc_1).entry_queue)));
     379    ((void)___constructor__F_R20s__condition_stack_t__1((&(*___dst__R13smonitor_desc_1).signal_stack)));
     380    ((void)((*___dst__R13smonitor_desc_1).recursion) /* ?{} */);
     381    ((void)___constructor__F_R17s__waitfor_mask_t_autogen___1((&(*___dst__R13smonitor_desc_1).mask)));
     382}
     383static inline void ___constructor__F_R13smonitor_desc9sspinlockP12sthread_desc17s__thread_queue_t_autogen___1(struct monitor_desc *___dst__R13smonitor_desc_1, struct spinlock __lock__9sspinlock_1, struct thread_desc *__owner__P12sthread_desc_1, struct __thread_queue_t __entry_queue__17s__thread_queue_t_1){
     384    ((void)___constructor__F_R9sspinlock9sspinlock_autogen___1((&(*___dst__R13smonitor_desc_1).lock), __lock__9sspinlock_1));
     385    ((void)((*___dst__R13smonitor_desc_1).owner=__owner__P12sthread_desc_1) /* ?{} */);
     386    ((void)___constructor__F_R17s__thread_queue_t17s__thread_queue_t_autogen___1((&(*___dst__R13smonitor_desc_1).entry_queue), __entry_queue__17s__thread_queue_t_1));
     387    ((void)___constructor__F_R20s__condition_stack_t__1((&(*___dst__R13smonitor_desc_1).signal_stack)));
     388    ((void)((*___dst__R13smonitor_desc_1).recursion) /* ?{} */);
     389    ((void)___constructor__F_R17s__waitfor_mask_t_autogen___1((&(*___dst__R13smonitor_desc_1).mask)));
     390}
     391static inline void ___constructor__F_R13smonitor_desc9sspinlockP12sthread_desc17s__thread_queue_t20s__condition_stack_t_autogen___1(struct monitor_desc *___dst__R13smonitor_desc_1, struct spinlock __lock__9sspinlock_1, struct thread_desc *__owner__P12sthread_desc_1, struct __thread_queue_t __entry_queue__17s__thread_queue_t_1, struct __condition_stack_t __signal_stack__20s__condition_stack_t_1){
     392    ((void)___constructor__F_R9sspinlock9sspinlock_autogen___1((&(*___dst__R13smonitor_desc_1).lock), __lock__9sspinlock_1));
     393    ((void)((*___dst__R13smonitor_desc_1).owner=__owner__P12sthread_desc_1) /* ?{} */);
     394    ((void)___constructor__F_R17s__thread_queue_t17s__thread_queue_t_autogen___1((&(*___dst__R13smonitor_desc_1).entry_queue), __entry_queue__17s__thread_queue_t_1));
     395    ((void)___constructor__F_R20s__condition_stack_t20s__condition_stack_t_autogen___1((&(*___dst__R13smonitor_desc_1).signal_stack), __signal_stack__20s__condition_stack_t_1));
     396    ((void)((*___dst__R13smonitor_desc_1).recursion) /* ?{} */);
     397    ((void)___constructor__F_R17s__waitfor_mask_t_autogen___1((&(*___dst__R13smonitor_desc_1).mask)));
     398}
     399static inline void ___constructor__F_R13smonitor_desc9sspinlockP12sthread_desc17s__thread_queue_t20s__condition_stack_tUi_autogen___1(struct monitor_desc *___dst__R13smonitor_desc_1, struct spinlock __lock__9sspinlock_1, struct thread_desc *__owner__P12sthread_desc_1, struct __thread_queue_t __entry_queue__17s__thread_queue_t_1, struct __condition_stack_t __signal_stack__20s__condition_stack_t_1, unsigned int __recursion__Ui_1){
     400    ((void)___constructor__F_R9sspinlock9sspinlock_autogen___1((&(*___dst__R13smonitor_desc_1).lock), __lock__9sspinlock_1));
     401    ((void)((*___dst__R13smonitor_desc_1).owner=__owner__P12sthread_desc_1) /* ?{} */);
     402    ((void)___constructor__F_R17s__thread_queue_t17s__thread_queue_t_autogen___1((&(*___dst__R13smonitor_desc_1).entry_queue), __entry_queue__17s__thread_queue_t_1));
     403    ((void)___constructor__F_R20s__condition_stack_t20s__condition_stack_t_autogen___1((&(*___dst__R13smonitor_desc_1).signal_stack), __signal_stack__20s__condition_stack_t_1));
     404    ((void)((*___dst__R13smonitor_desc_1).recursion=__recursion__Ui_1) /* ?{} */);
     405    ((void)___constructor__F_R17s__waitfor_mask_t_autogen___1((&(*___dst__R13smonitor_desc_1).mask)));
     406}
     407static inline void ___constructor__F_R13smonitor_desc9sspinlockP12sthread_desc17s__thread_queue_t20s__condition_stack_tUi17s__waitfor_mask_t_autogen___1(struct monitor_desc *___dst__R13smonitor_desc_1, struct spinlock __lock__9sspinlock_1, struct thread_desc *__owner__P12sthread_desc_1, struct __thread_queue_t __entry_queue__17s__thread_queue_t_1, struct __condition_stack_t __signal_stack__20s__condition_stack_t_1, unsigned int __recursion__Ui_1, struct __waitfor_mask_t __mask__17s__waitfor_mask_t_1){
     408    ((void)___constructor__F_R9sspinlock9sspinlock_autogen___1((&(*___dst__R13smonitor_desc_1).lock), __lock__9sspinlock_1));
     409    ((void)((*___dst__R13smonitor_desc_1).owner=__owner__P12sthread_desc_1) /* ?{} */);
     410    ((void)___constructor__F_R17s__thread_queue_t17s__thread_queue_t_autogen___1((&(*___dst__R13smonitor_desc_1).entry_queue), __entry_queue__17s__thread_queue_t_1));
     411    ((void)___constructor__F_R20s__condition_stack_t20s__condition_stack_t_autogen___1((&(*___dst__R13smonitor_desc_1).signal_stack), __signal_stack__20s__condition_stack_t_1));
     412    ((void)((*___dst__R13smonitor_desc_1).recursion=__recursion__Ui_1) /* ?{} */);
     413    ((void)___constructor__F_R17s__waitfor_mask_t17s__waitfor_mask_t_autogen___1((&(*___dst__R13smonitor_desc_1).mask), __mask__17s__waitfor_mask_t_1));
     414}
     415struct __monitor_group_t {
     416    struct monitor_desc **list;
     417    signed short int size;
     418    void (*func)();
     419};
     420static inline void ___constructor__F_R18s__monitor_group_t_autogen___1(struct __monitor_group_t *___dst__R18s__monitor_group_t_1);
     421static inline void ___constructor__F_R18s__monitor_group_t18s__monitor_group_t_autogen___1(struct __monitor_group_t *___dst__R18s__monitor_group_t_1, struct __monitor_group_t ___src__18s__monitor_group_t_1);
     422static inline void ___destructor__F_R18s__monitor_group_t_autogen___1(struct __monitor_group_t *___dst__R18s__monitor_group_t_1);
     423static inline struct __monitor_group_t ___operator_assign__F18s__monitor_group_t_R18s__monitor_group_t18s__monitor_group_t_autogen___1(struct __monitor_group_t *___dst__R18s__monitor_group_t_1, struct __monitor_group_t ___src__18s__monitor_group_t_1);
     424static inline void ___constructor__F_R18s__monitor_group_t_autogen___1(struct __monitor_group_t *___dst__R18s__monitor_group_t_1){
     425    ((void)((*___dst__R18s__monitor_group_t_1).list) /* ?{} */);
     426    ((void)((*___dst__R18s__monitor_group_t_1).size) /* ?{} */);
     427    ((void)((*___dst__R18s__monitor_group_t_1).func) /* ?{} */);
     428}
     429static inline void ___constructor__F_R18s__monitor_group_t18s__monitor_group_t_autogen___1(struct __monitor_group_t *___dst__R18s__monitor_group_t_1, struct __monitor_group_t ___src__18s__monitor_group_t_1){
     430    ((void)((*___dst__R18s__monitor_group_t_1).list=___src__18s__monitor_group_t_1.list) /* ?{} */);
     431    ((void)((*___dst__R18s__monitor_group_t_1).size=___src__18s__monitor_group_t_1.size) /* ?{} */);
     432    ((void)((*___dst__R18s__monitor_group_t_1).func=___src__18s__monitor_group_t_1.func) /* ?{} */);
     433}
     434static inline void ___destructor__F_R18s__monitor_group_t_autogen___1(struct __monitor_group_t *___dst__R18s__monitor_group_t_1){
     435    ((void)((*___dst__R18s__monitor_group_t_1).func) /* ^?{} */);
     436    ((void)((*___dst__R18s__monitor_group_t_1).size) /* ^?{} */);
     437    ((void)((*___dst__R18s__monitor_group_t_1).list) /* ^?{} */);
     438}
     439static inline struct __monitor_group_t ___operator_assign__F18s__monitor_group_t_R18s__monitor_group_t18s__monitor_group_t_autogen___1(struct __monitor_group_t *___dst__R18s__monitor_group_t_1, struct __monitor_group_t ___src__18s__monitor_group_t_1){
     440    struct __monitor_group_t ___ret__18s__monitor_group_t_1;
     441    ((void)((*___dst__R18s__monitor_group_t_1).list=___src__18s__monitor_group_t_1.list));
     442    ((void)((*___dst__R18s__monitor_group_t_1).size=___src__18s__monitor_group_t_1.size));
     443    ((void)((*___dst__R18s__monitor_group_t_1).func=___src__18s__monitor_group_t_1.func));
     444    ((void)___constructor__F_R18s__monitor_group_t18s__monitor_group_t_autogen___1((&___ret__18s__monitor_group_t_1), ___src__18s__monitor_group_t_1));
     445    return ((struct __monitor_group_t )___ret__18s__monitor_group_t_1);
     446}
     447static inline void ___constructor__F_R18s__monitor_group_tPP13smonitor_desc_autogen___1(struct __monitor_group_t *___dst__R18s__monitor_group_t_1, struct monitor_desc **__list__PP13smonitor_desc_1){
     448    ((void)((*___dst__R18s__monitor_group_t_1).list=__list__PP13smonitor_desc_1) /* ?{} */);
     449    ((void)((*___dst__R18s__monitor_group_t_1).size) /* ?{} */);
     450    ((void)((*___dst__R18s__monitor_group_t_1).func) /* ?{} */);
     451}
     452static inline void ___constructor__F_R18s__monitor_group_tPP13smonitor_descs_autogen___1(struct __monitor_group_t *___dst__R18s__monitor_group_t_1, struct monitor_desc **__list__PP13smonitor_desc_1, signed short int __size__s_1){
     453    ((void)((*___dst__R18s__monitor_group_t_1).list=__list__PP13smonitor_desc_1) /* ?{} */);
     454    ((void)((*___dst__R18s__monitor_group_t_1).size=__size__s_1) /* ?{} */);
     455    ((void)((*___dst__R18s__monitor_group_t_1).func) /* ?{} */);
     456}
     457static inline void ___constructor__F_R18s__monitor_group_tPP13smonitor_descsPF___autogen___1(struct __monitor_group_t *___dst__R18s__monitor_group_t_1, struct monitor_desc **__list__PP13smonitor_desc_1, signed short int __size__s_1, void (*__func__PF___1)()){
     458    ((void)((*___dst__R18s__monitor_group_t_1).list=__list__PP13smonitor_desc_1) /* ?{} */);
     459    ((void)((*___dst__R18s__monitor_group_t_1).size=__size__s_1) /* ?{} */);
     460    ((void)((*___dst__R18s__monitor_group_t_1).func=__func__PF___1) /* ?{} */);
     461}
     462struct thread_desc {
     463    struct coroutine_desc self_cor;
     464    struct monitor_desc self_mon;
     465    struct monitor_desc *self_mon_p;
     466    struct __monitor_group_t monitors;
     467    struct thread_desc *next;
     468};
     469static inline struct monitor_desc *___operator_index__FP13smonitor_desc_RC18s__monitor_group_tl__1(const struct __monitor_group_t *__this__RC18s__monitor_group_t_1, signed long int __index__l_1){
     470    __attribute__ ((unused)) struct monitor_desc *___retval__operator_index__P13smonitor_desc_1;
     471    ((void)(___retval__operator_index__P13smonitor_desc_1=(*__this__RC18s__monitor_group_t_1).list[__index__l_1]) /* ?{} */);
     472    return ((struct monitor_desc *)___retval__operator_index__P13smonitor_desc_1);
     473}
     474static inline _Bool ___operator_equal__Fb_RC18s__monitor_group_tRC18s__monitor_group_t__1(const struct __monitor_group_t *__lhs__RC18s__monitor_group_t_1, const struct __monitor_group_t *__rhs__RC18s__monitor_group_t_1){
     475    __attribute__ ((unused)) _Bool ___retval__operator_equal__b_1;
     476    if ( ((signed int )(((*__lhs__RC18s__monitor_group_t_1).size!=(*__rhs__RC18s__monitor_group_t_1).size)!=((signed int )0))) ) {
     477        ((void)(___retval__operator_equal__b_1=((_Bool )0)) /* ?{} */);
     478        return ((_Bool )___retval__operator_equal__b_1);
     479    }
     480
     481    if ( ((signed int )(((*__lhs__RC18s__monitor_group_t_1).func!=(*__rhs__RC18s__monitor_group_t_1).func)!=((signed int )0))) ) {
     482        ((void)(___retval__operator_equal__b_1=((_Bool )0)) /* ?{} */);
     483        return ((_Bool )___retval__operator_equal__b_1);
     484    }
     485
     486    {
     487        signed int __i__i_3 = ((signed int )0);
     488        for (;((signed int )((__i__i_3<((signed int )(*__lhs__RC18s__monitor_group_t_1).size))!=((signed int )0)));((void)__i__i_3++)) {
     489            struct monitor_desc *_tmp_cp_ret4;
     490            struct monitor_desc *_tmp_cp_ret5;
     491            if ( ((signed int )(((((void)(_tmp_cp_ret4=___operator_index__FP13smonitor_desc_RC18s__monitor_group_tl__1(__lhs__RC18s__monitor_group_t_1, ((signed long int )__i__i_3)))) , _tmp_cp_ret4)!=(((void)(_tmp_cp_ret5=___operator_index__FP13smonitor_desc_RC18s__monitor_group_tl__1(__rhs__RC18s__monitor_group_t_1, ((signed long int )__i__i_3)))) , _tmp_cp_ret5))!=((signed int )0))) ) {
     492                ((void)(___retval__operator_equal__b_1=((_Bool )0)) /* ?{} */);
     493                return ((_Bool )___retval__operator_equal__b_1);
     494            }
     495
     496            ((void)(_tmp_cp_ret4) /* ^?{} */);
     497            ((void)(_tmp_cp_ret5) /* ^?{} */);
     498        }
     499
     500    }
     501
     502    ((void)(___retval__operator_equal__b_1=((_Bool )1)) /* ?{} */);
     503    return ((_Bool )___retval__operator_equal__b_1);
     504}
     505static inline void *__malloc__A0_1_0_0__FPd0___1(__attribute__ ((unused)) unsigned long int _sizeof_2tT, __attribute__ ((unused)) unsigned long int _alignof_2tT){
     506    __attribute__ ((unused)) void *___retval_malloc__P2tT_1;
     507    void *_tmp_cp_ret6;
     508    ((void)(___retval_malloc__P2tT_1=((void *)((void *)(((void)(_tmp_cp_ret6=malloc(((unsigned long int )_sizeof_2tT)))) , _tmp_cp_ret6)))) /* ?{} */);
     509    ((void)(_tmp_cp_ret6) /* ^?{} */);
     510    return ((void *)___retval_malloc__P2tT_1);
     511}
     512void *calloc(unsigned long int dim, unsigned long int size);
     513static inline void *__calloc__A0_1_0_0__FPd0_Ul__1(__attribute__ ((unused)) unsigned long int _sizeof_2tT, __attribute__ ((unused)) unsigned long int _alignof_2tT, unsigned long int __dim__Ul_1){
     514    __attribute__ ((unused)) void *___retval_calloc__P2tT_1;
     515    void *_tmp_cp_ret7;
     516    ((void)(___retval_calloc__P2tT_1=((void *)((void *)(((void)(_tmp_cp_ret7=calloc(__dim__Ul_1, _sizeof_2tT))) , _tmp_cp_ret7)))) /* ?{} */);
     517    ((void)(_tmp_cp_ret7) /* ^?{} */);
     518    return ((void *)___retval_calloc__P2tT_1);
     519}
     520void *realloc(void *ptr, unsigned long int size);
     521static inline void *__realloc__A0_1_0_0__FPd0_Pd0Ul__1(__attribute__ ((unused)) unsigned long int _sizeof_2tT, __attribute__ ((unused)) unsigned long int _alignof_2tT, void *__ptr__P2tT_1, unsigned long int __size__Ul_1){
     522    __attribute__ ((unused)) void *___retval_realloc__P2tT_1;
     523    void *_tmp_cp_ret8;
     524    ((void)(___retval_realloc__P2tT_1=((void *)((void *)(((void)(_tmp_cp_ret8=realloc(((void *)__ptr__P2tT_1), __size__Ul_1))) , _tmp_cp_ret8)))) /* ?{} */);
     525    ((void)(_tmp_cp_ret8) /* ^?{} */);
     526    return ((void *)___retval_realloc__P2tT_1);
     527}
     528void *memalign(unsigned long int align, unsigned long int size);
     529static inline void *__memalign__A0_1_0_0__FPd0_Ul__1(__attribute__ ((unused)) unsigned long int _sizeof_2tT, __attribute__ ((unused)) unsigned long int _alignof_2tT, unsigned long int __align__Ul_1){
     530    __attribute__ ((unused)) void *___retval_memalign__P2tT_1;
     531    void *_tmp_cp_ret9;
     532    ((void)(___retval_memalign__P2tT_1=((void *)(((void)(_tmp_cp_ret9=memalign(__align__Ul_1, _sizeof_2tT))) , _tmp_cp_ret9))) /* ?{} */);
     533    ((void)(_tmp_cp_ret9) /* ^?{} */);
     534    return ((void *)___retval_memalign__P2tT_1);
     535}
     536static inline void *__aligned_alloc__A0_1_0_0__FPd0_Ul__1(__attribute__ ((unused)) unsigned long int _sizeof_2tT, __attribute__ ((unused)) unsigned long int _alignof_2tT, unsigned long int __align__Ul_1){
     537    __attribute__ ((unused)) void *___retval_aligned_alloc__P2tT_1;
     538    void *_tmp_cp_ret10;
     539    ((void)(___retval_aligned_alloc__P2tT_1=((void *)(((void)(_tmp_cp_ret10=memalign(__align__Ul_1, _sizeof_2tT))) , _tmp_cp_ret10))) /* ?{} */);
     540    ((void)(_tmp_cp_ret10) /* ^?{} */);
     541    return ((void *)___retval_aligned_alloc__P2tT_1);
     542}
     543signed int posix_memalign(void **ptr, unsigned long int align, unsigned long int size);
     544static inline signed int __posix_memalign__A0_1_0_0__Fi_PPd0Ul__1(__attribute__ ((unused)) unsigned long int _sizeof_2tT, __attribute__ ((unused)) unsigned long int _alignof_2tT, void **__ptr__PP2tT_1, unsigned long int __align__Ul_1){
     545    __attribute__ ((unused)) signed int ___retval_posix_memalign__i_1;
     546    signed int _tmp_cp_ret11;
     547    ((void)(___retval_posix_memalign__i_1=(((void)(_tmp_cp_ret11=posix_memalign(((void **)__ptr__PP2tT_1), __align__Ul_1, _sizeof_2tT))) , _tmp_cp_ret11)) /* ?{} */);
     548    ((void)(_tmp_cp_ret11) /* ^?{} */);
     549    return ((signed int )___retval_posix_memalign__i_1);
     550}
     551void *memset(void *dest, signed int c, unsigned long int size);
     552static inline void *__alloc__A0_1_0_0__FPd0___1(__attribute__ ((unused)) unsigned long int _sizeof_2tT, __attribute__ ((unused)) unsigned long int _alignof_2tT){
     553    __attribute__ ((unused)) void *___retval_alloc__P2tT_1;
     554    void *_tmp_cp_ret12;
     555    ((void)(___retval_alloc__P2tT_1=((void *)((void *)(((void)(_tmp_cp_ret12=malloc(((unsigned long int )_sizeof_2tT)))) , _tmp_cp_ret12)))) /* ?{} */);
     556    ((void)(_tmp_cp_ret12) /* ^?{} */);
     557    return ((void *)___retval_alloc__P2tT_1);
     558}
     559static inline void *__alloc__A0_1_0_0__FPd0_c__1(__attribute__ ((unused)) unsigned long int _sizeof_2tT, __attribute__ ((unused)) unsigned long int _alignof_2tT, char __fill__c_1){
     560    __attribute__ ((unused)) void *___retval_alloc__P2tT_1;
     561    void *_tmp_cp_ret13;
     562    void *__ptr__P2tT_2 = ((void *)((void *)((void *)(((void)(_tmp_cp_ret13=malloc(((unsigned long int )_sizeof_2tT)))) , _tmp_cp_ret13))));
     563    ((void)(_tmp_cp_ret13) /* ^?{} */);
     564    void *_tmp_cp_ret14;
     565    ((void)(___retval_alloc__P2tT_1=(((void)(_tmp_cp_ret14=memset(((void *)__ptr__P2tT_2), ((signed int )__fill__c_1), _sizeof_2tT))) , _tmp_cp_ret14)) /* ?{} */);
     566    ((void)(_tmp_cp_ret14) /* ^?{} */);
     567    return ((void *)___retval_alloc__P2tT_1);
     568}
     569static inline void *__alloc__A0_1_0_0__FPd0_Ul__1(__attribute__ ((unused)) unsigned long int _sizeof_2tT, __attribute__ ((unused)) unsigned long int _alignof_2tT, unsigned long int __dim__Ul_1){
     570    __attribute__ ((unused)) void *___retval_alloc__P2tT_1;
     571    void *_tmp_cp_ret15;
     572    ((void)(___retval_alloc__P2tT_1=((void *)((void *)(((void)(_tmp_cp_ret15=malloc((__dim__Ul_1*((unsigned long int )_sizeof_2tT))))) , _tmp_cp_ret15)))) /* ?{} */);
     573    ((void)(_tmp_cp_ret15) /* ^?{} */);
     574    return ((void *)___retval_alloc__P2tT_1);
     575}
     576static inline void *__alloc__A0_1_0_0__FPd0_Ulc__1(__attribute__ ((unused)) unsigned long int _sizeof_2tT, __attribute__ ((unused)) unsigned long int _alignof_2tT, unsigned long int __dim__Ul_1, char __fill__c_1){
     577    __attribute__ ((unused)) void *___retval_alloc__P2tT_1;
     578    void *_tmp_cp_ret16;
     579    void *__ptr__P2tT_2 = ((void *)((void *)((void *)(((void)(_tmp_cp_ret16=malloc((__dim__Ul_1*((unsigned long int )_sizeof_2tT))))) , _tmp_cp_ret16))));
     580    ((void)(_tmp_cp_ret16) /* ^?{} */);
     581    void *_tmp_cp_ret17;
     582    ((void)(___retval_alloc__P2tT_1=(((void)(_tmp_cp_ret17=memset(((void *)__ptr__P2tT_2), ((signed int )__fill__c_1), (__dim__Ul_1*_sizeof_2tT)))) , _tmp_cp_ret17)) /* ?{} */);
     583    ((void)(_tmp_cp_ret17) /* ^?{} */);
     584    return ((void *)___retval_alloc__P2tT_1);
     585}
     586static inline void *__alloc__A0_1_0_0__FPd0_Pd0Ul__1(__attribute__ ((unused)) unsigned long int _sizeof_2tT, __attribute__ ((unused)) unsigned long int _alignof_2tT, void *__ptr__P2tT_1, unsigned long int __dim__Ul_1){
     587    __attribute__ ((unused)) void *___retval_alloc__P2tT_1;
     588    void *_tmp_cp_ret18;
     589    ((void)(___retval_alloc__P2tT_1=((void *)(((void)(_tmp_cp_ret18=realloc(((void *)__ptr__P2tT_1), (__dim__Ul_1*((unsigned long int )_sizeof_2tT))))) , _tmp_cp_ret18))) /* ?{} */);
     590    ((void)(_tmp_cp_ret18) /* ^?{} */);
     591    return ((void *)___retval_alloc__P2tT_1);
     592}
     593void *__alloc__A0_1_0_0__FPd0_Pd0Ulc__1(__attribute__ ((unused)) unsigned long int _sizeof_2tT, __attribute__ ((unused)) unsigned long int _alignof_2tT, void *__ptr__P2tT_1, unsigned long int __dim__Ul_1, char __fill__c_1);
     594static inline void *__align_alloc__A0_1_0_0__FPd0_Ul__1(__attribute__ ((unused)) unsigned long int _sizeof_2tT, __attribute__ ((unused)) unsigned long int _alignof_2tT, unsigned long int __align__Ul_1){
     595    __attribute__ ((unused)) void *___retval_align_alloc__P2tT_1;
     596    void *_tmp_cp_ret19;
     597    ((void)(___retval_align_alloc__P2tT_1=((void *)(((void)(_tmp_cp_ret19=memalign(__align__Ul_1, _sizeof_2tT))) , _tmp_cp_ret19))) /* ?{} */);
     598    ((void)(_tmp_cp_ret19) /* ^?{} */);
     599    return ((void *)___retval_align_alloc__P2tT_1);
     600}
     601static inline void *__align_alloc__A0_1_0_0__FPd0_Ulc__1(__attribute__ ((unused)) unsigned long int _sizeof_2tT, __attribute__ ((unused)) unsigned long int _alignof_2tT, unsigned long int __align__Ul_1, char __fill__c_1){
     602    __attribute__ ((unused)) void *___retval_align_alloc__P2tT_1;
     603    void *_tmp_cp_ret20;
     604    void *__ptr__P2tT_2 = ((void *)((void *)(((void)(_tmp_cp_ret20=memalign(__align__Ul_1, _sizeof_2tT))) , _tmp_cp_ret20)));
     605    ((void)(_tmp_cp_ret20) /* ^?{} */);
     606    void *_tmp_cp_ret21;
     607    ((void)(___retval_align_alloc__P2tT_1=(((void)(_tmp_cp_ret21=memset(((void *)__ptr__P2tT_2), ((signed int )__fill__c_1), _sizeof_2tT))) , _tmp_cp_ret21)) /* ?{} */);
     608    ((void)(_tmp_cp_ret21) /* ^?{} */);
     609    return ((void *)___retval_align_alloc__P2tT_1);
     610}
     611static inline void *__align_alloc__A0_1_0_0__FPd0_UlUl__1(__attribute__ ((unused)) unsigned long int _sizeof_2tT, __attribute__ ((unused)) unsigned long int _alignof_2tT, unsigned long int __align__Ul_1, unsigned long int __dim__Ul_1){
     612    __attribute__ ((unused)) void *___retval_align_alloc__P2tT_1;
     613    void *_tmp_cp_ret22;
     614    ((void)(___retval_align_alloc__P2tT_1=((void *)(((void)(_tmp_cp_ret22=memalign(__align__Ul_1, (__dim__Ul_1*_sizeof_2tT)))) , _tmp_cp_ret22))) /* ?{} */);
     615    ((void)(_tmp_cp_ret22) /* ^?{} */);
     616    return ((void *)___retval_align_alloc__P2tT_1);
     617}
     618static inline void *__align_alloc__A0_1_0_0__FPd0_UlUlc__1(__attribute__ ((unused)) unsigned long int _sizeof_2tT, __attribute__ ((unused)) unsigned long int _alignof_2tT, unsigned long int __align__Ul_1, unsigned long int __dim__Ul_1, char __fill__c_1){
     619    __attribute__ ((unused)) void *___retval_align_alloc__P2tT_1;
     620    void *_tmp_cp_ret23;
     621    void *__ptr__P2tT_2 = ((void *)((void *)(((void)(_tmp_cp_ret23=memalign(__align__Ul_1, (__dim__Ul_1*_sizeof_2tT)))) , _tmp_cp_ret23)));
     622    ((void)(_tmp_cp_ret23) /* ^?{} */);
     623    void *_tmp_cp_ret24;
     624    ((void)(___retval_align_alloc__P2tT_1=(((void)(_tmp_cp_ret24=memset(((void *)__ptr__P2tT_2), ((signed int )__fill__c_1), (__dim__Ul_1*_sizeof_2tT)))) , _tmp_cp_ret24)) /* ?{} */);
     625    ((void)(_tmp_cp_ret24) /* ^?{} */);
     626    return ((void *)___retval_align_alloc__P2tT_1);
     627}
     628static inline void *__memset__A0_1_0_0__FPd0_Pd0c__1(__attribute__ ((unused)) unsigned long int _sizeof_2tT, __attribute__ ((unused)) unsigned long int _alignof_2tT, void *__dest__P2tT_1, char __c__c_1){
     629    __attribute__ ((unused)) void *___retval_memset__P2tT_1;
     630    void *_tmp_cp_ret25;
     631    ((void)(___retval_memset__P2tT_1=(((void)(_tmp_cp_ret25=memset(((void *)__dest__P2tT_1), ((signed int )__c__c_1), _sizeof_2tT))) , _tmp_cp_ret25)) /* ?{} */);
     632    ((void)(_tmp_cp_ret25) /* ^?{} */);
     633    return ((void *)___retval_memset__P2tT_1);
     634}
     635void *memcpy(void *dest, const void *src, unsigned long int size);
     636static inline void *__memcpy__A0_1_0_0__FPd0_Pd0PCd0__1(__attribute__ ((unused)) unsigned long int _sizeof_2tT, __attribute__ ((unused)) unsigned long int _alignof_2tT, void *__dest__P2tT_1, const void *__src__PC2tT_1){
     637    __attribute__ ((unused)) void *___retval_memcpy__P2tT_1;
     638    void *_tmp_cp_ret26;
     639    ((void)(___retval_memcpy__P2tT_1=(((void)(_tmp_cp_ret26=memcpy(((void *)__dest__P2tT_1), ((const void *)__src__PC2tT_1), _sizeof_2tT))) , _tmp_cp_ret26)) /* ?{} */);
     640    ((void)(_tmp_cp_ret26) /* ^?{} */);
     641    return ((void *)___retval_memcpy__P2tT_1);
     642}
     643static inline void *__memset__A0_1_0_0__FPd0_Pd0Ulc__1(__attribute__ ((unused)) unsigned long int _sizeof_2tT, __attribute__ ((unused)) unsigned long int _alignof_2tT, void *__dest__P2tT_1, unsigned long int __dim__Ul_1, char __c__c_1){
     644    __attribute__ ((unused)) void *___retval_memset__P2tT_1;
     645    void *_tmp_cp_ret27;
     646    ((void)(___retval_memset__P2tT_1=((void *)(((void)(_tmp_cp_ret27=memset(((void *)__dest__P2tT_1), ((signed int )__c__c_1), (__dim__Ul_1*_sizeof_2tT)))) , _tmp_cp_ret27))) /* ?{} */);
     647    ((void)(_tmp_cp_ret27) /* ^?{} */);
     648    return ((void *)___retval_memset__P2tT_1);
     649}
     650static inline void *__memcpy__A0_1_0_0__FPd0_Pd0PCd0Ul__1(__attribute__ ((unused)) unsigned long int _sizeof_2tT, __attribute__ ((unused)) unsigned long int _alignof_2tT, void *__dest__P2tT_1, const void *__src__PC2tT_1, unsigned long int __dim__Ul_1){
     651    __attribute__ ((unused)) void *___retval_memcpy__P2tT_1;
     652    void *_tmp_cp_ret28;
     653    ((void)(___retval_memcpy__P2tT_1=((void *)(((void)(_tmp_cp_ret28=memcpy(((void *)__dest__P2tT_1), ((const void *)__src__PC2tT_1), (__dim__Ul_1*_sizeof_2tT)))) , _tmp_cp_ret28))) /* ?{} */);
     654    ((void)(_tmp_cp_ret28) /* ^?{} */);
     655    return ((void *)___retval_memcpy__P2tT_1);
     656}
     657void *__new__A0_1_0_1____constructor__PF_Rd0tVARGS1__FPd0_tVARGS1__1(__attribute__ ((unused)) void (*_adapterF_P2tT7tParams__MP)(void (*__anonymous_object10)(), void *__anonymous_object11, void *__anonymous_object12), __attribute__ ((unused)) unsigned long int _sizeof_2tT, __attribute__ ((unused)) unsigned long int _alignof_2tT, __attribute__ ((unused)) unsigned long int _sizeof_7tParams, __attribute__ ((unused)) unsigned long int _alignof_7tParams, __attribute__ ((unused)) void (*___constructor__PF_R2tT7tParams__1)(void *__anonymous_object13, void *__anonymous_object14), void *__p__7tParams_1);
     658void __delete__A0_1_0_0____destructor__PF_Rd0__F_Pd0__1(__attribute__ ((unused)) unsigned long int _sizeof_2tT, __attribute__ ((unused)) unsigned long int _alignof_2tT, __attribute__ ((unused)) void (*___destructor__PF_R2tT__1)(void *__anonymous_object15), void *__ptr__P2tT_1);
     659void __delete__A0_1_0_1____destructor__PF_Rd0___delete__PF_tVARGS1__F_Pd0tVARGS1__1(__attribute__ ((unused)) void (*_adapterF_7tParams__P)(void (*__anonymous_object16)(), void *__anonymous_object17), __attribute__ ((unused)) unsigned long int _sizeof_2tT, __attribute__ ((unused)) unsigned long int _alignof_2tT, __attribute__ ((unused)) unsigned long int _sizeof_7tParams, __attribute__ ((unused)) unsigned long int _alignof_7tParams, __attribute__ ((unused)) void (*___destructor__PF_R2tT__1)(void *__anonymous_object18), __attribute__ ((unused)) void (*__delete__PF_7tParams__1)(void *__anonymous_object19), void *__ptr__P2tT_1, void *__rest__7tParams_1);
     660void *__anew__A0_1_0_1____constructor__PF_Rd0tVARGS1__FPd0_UltVARGS1__1(__attribute__ ((unused)) void (*_adapterF_P2tT7tParams__MP)(void (*__anonymous_object20)(), void *__anonymous_object21, void *__anonymous_object22), __attribute__ ((unused)) unsigned long int _sizeof_2tT, __attribute__ ((unused)) unsigned long int _alignof_2tT, __attribute__ ((unused)) unsigned long int _sizeof_7tParams, __attribute__ ((unused)) unsigned long int _alignof_7tParams, __attribute__ ((unused)) void (*___constructor__PF_R2tT7tParams__1)(void *__anonymous_object23, void *__anonymous_object24), unsigned long int __dim__Ul_1, void *__p__7tParams_1);
     661void __adelete__A0_1_0_0____destructor__PF_Rd0__F_UlPd0__1(__attribute__ ((unused)) unsigned long int _sizeof_2tT, __attribute__ ((unused)) unsigned long int _alignof_2tT, __attribute__ ((unused)) void (*___destructor__PF_R2tT__1)(void *__anonymous_object25), unsigned long int __dim__Ul_1, void *__arr__P2tT_1);
     662void __adelete__A0_1_0_1____destructor__PF_Rd0___adelete__PF_tVARGS1__F_UlPd0tVARGS1__1(__attribute__ ((unused)) void (*_adapterF_7tParams__P)(void (*__anonymous_object26)(), void *__anonymous_object27), __attribute__ ((unused)) unsigned long int _sizeof_2tT, __attribute__ ((unused)) unsigned long int _alignof_2tT, __attribute__ ((unused)) unsigned long int _sizeof_7tParams, __attribute__ ((unused)) unsigned long int _alignof_7tParams, __attribute__ ((unused)) void (*___destructor__PF_R2tT__1)(void *__anonymous_object28), __attribute__ ((unused)) void (*__adelete__PF_7tParams__1)(void *__anonymous_object29), unsigned long int __dim__Ul_1, void *__arr__P2tT_1, void *__rest__7tParams_1);
     663signed int __ato__Fi_PCc__1(const char *__ptr__PCc_1);
     664unsigned int __ato__FUi_PCc__1(const char *__ptr__PCc_1);
     665signed long int __ato__Fl_PCc__1(const char *__ptr__PCc_1);
     666unsigned long int __ato__FUl_PCc__1(const char *__ptr__PCc_1);
     667signed long long int __ato__Fq_PCc__1(const char *__ptr__PCc_1);
     668unsigned long long int __ato__FUq_PCc__1(const char *__ptr__PCc_1);
     669float __ato__Ff_PCc__1(const char *__ptr__PCc_1);
     670double __ato__Fd_PCc__1(const char *__ptr__PCc_1);
     671long double __ato__Fr_PCc__1(const char *__ptr__PCc_1);
     672float _Complex __ato__FXf_PCc__1(const char *__ptr__PCc_1);
     673double _Complex __ato__FXd_PCc__1(const char *__ptr__PCc_1);
     674long double _Complex __ato__FXr_PCc__1(const char *__ptr__PCc_1);
     675signed int __strto__Fi_PCcPPci__1(const char *__sptr__PCc_1, char **__eptr__PPc_1, signed int __base__i_1);
     676unsigned int __strto__FUi_PCcPPci__1(const char *__sptr__PCc_1, char **__eptr__PPc_1, signed int __base__i_1);
     677signed long int __strto__Fl_PCcPPci__1(const char *__sptr__PCc_1, char **__eptr__PPc_1, signed int __base__i_1);
     678unsigned long int __strto__FUl_PCcPPci__1(const char *__sptr__PCc_1, char **__eptr__PPc_1, signed int __base__i_1);
     679signed long long int __strto__Fq_PCcPPci__1(const char *__sptr__PCc_1, char **__eptr__PPc_1, signed int __base__i_1);
     680unsigned long long int __strto__FUq_PCcPPci__1(const char *__sptr__PCc_1, char **__eptr__PPc_1, signed int __base__i_1);
     681float __strto__Ff_PCcPPc__1(const char *__sptr__PCc_1, char **__eptr__PPc_1);
     682double __strto__Fd_PCcPPc__1(const char *__sptr__PCc_1, char **__eptr__PPc_1);
     683long double __strto__Fr_PCcPPc__1(const char *__sptr__PCc_1, char **__eptr__PPc_1);
     684float _Complex __strto__FXf_PCcPPc__1(const char *__sptr__PCc_1, char **__eptr__PPc_1);
     685double _Complex __strto__FXd_PCcPPc__1(const char *__sptr__PCc_1, char **__eptr__PPc_1);
     686long double _Complex __strto__FXr_PCcPPc__1(const char *__sptr__PCc_1, char **__eptr__PPc_1);
     687void *__bsearch__A1_0_0_0____operator_assign__PFt0_Rt0t0____constructor__PF_Rt0____constructor__PF_Rt0t0____destructor__PF_Rt0____operator_less__PFi_t0t0__FPt0_t0PCt0Ul__1(__attribute__ ((unused)) signed int (*_adapterFi_2tT2tT_M_PP)(void (*__anonymous_object30)(), void *__anonymous_object31, void *__anonymous_object32), __attribute__ ((unused)) void (*_adapterF_P2tT2tT__MP)(void (*__anonymous_object33)(), void *__anonymous_object34, void *__anonymous_object35), __attribute__ ((unused)) void (*_adapterF2tT_P2tT2tT_P_MP)(void (*__anonymous_object36)(), __attribute__ ((unused)) void *___retval__operator_assign__2tT_1, void *__anonymous_object37, void *__anonymous_object38), __attribute__ ((unused)) unsigned long int _sizeof_2tT, __attribute__ ((unused)) unsigned long int _alignof_2tT, __attribute__ ((unused)) void *(*___operator_assign__PF2tT_R2tT2tT__1)(void *__anonymous_object39, void *__anonymous_object40), __attribute__ ((unused)) void (*___constructor__PF_R2tT__1)(void *__anonymous_object41), __attribute__ ((unused)) void (*___constructor__PF_R2tT2tT__1)(void *__anonymous_object42, void *__anonymous_object43), __attribute__ ((unused)) void (*___destructor__PF_R2tT__1)(void *__anonymous_object44), __attribute__ ((unused)) signed int (*___operator_less__PFi_2tT2tT__1)(void *__anonymous_object45, void *__anonymous_object46), void *__key__2tT_1, const void *__arr__PC2tT_1, unsigned long int __dim__Ul_1);
     688unsigned int __bsearch__A1_0_0_0____operator_assign__PFt0_Rt0t0____constructor__PF_Rt0____constructor__PF_Rt0t0____destructor__PF_Rt0____operator_less__PFi_t0t0__FUi_t0PCt0Ul__1(__attribute__ ((unused)) signed int (*_adapterFi_2tT2tT_M_PP)(void (*__anonymous_object47)(), void *__anonymous_object48, void *__anonymous_object49), __attribute__ ((unused)) void (*_adapterF_P2tT2tT__MP)(void (*__anonymous_object50)(), void *__anonymous_object51, void *__anonymous_object52), __attribute__ ((unused)) void (*_adapterF2tT_P2tT2tT_P_MP)(void (*__anonymous_object53)(), __attribute__ ((unused)) void *___retval__operator_assign__2tT_1, void *__anonymous_object54, void *__anonymous_object55), __attribute__ ((unused)) unsigned long int _sizeof_2tT, __attribute__ ((unused)) unsigned long int _alignof_2tT, __attribute__ ((unused)) void *(*___operator_assign__PF2tT_R2tT2tT__1)(void *__anonymous_object56, void *__anonymous_object57), __attribute__ ((unused)) void (*___constructor__PF_R2tT__1)(void *__anonymous_object58), __attribute__ ((unused)) void (*___constructor__PF_R2tT2tT__1)(void *__anonymous_object59, void *__anonymous_object60), __attribute__ ((unused)) void (*___destructor__PF_R2tT__1)(void *__anonymous_object61), __attribute__ ((unused)) signed int (*___operator_less__PFi_2tT2tT__1)(void *__anonymous_object62, void *__anonymous_object63), void *__key__2tT_1, const void *__arr__PC2tT_1, unsigned long int __dim__Ul_1);
     689void __qsort__A1_0_0_0____operator_assign__PFt0_Rt0t0____constructor__PF_Rt0____constructor__PF_Rt0t0____destructor__PF_Rt0____operator_less__PFi_t0t0__F_PCt0Ul__1(__attribute__ ((unused)) signed int (*_adapterFi_2tT2tT_M_PP)(void (*__anonymous_object64)(), void *__anonymous_object65, void *__anonymous_object66), __attribute__ ((unused)) void (*_adapterF_P2tT2tT__MP)(void (*__anonymous_object67)(), void *__anonymous_object68, void *__anonymous_object69), __attribute__ ((unused)) void (*_adapterF2tT_P2tT2tT_P_MP)(void (*__anonymous_object70)(), __attribute__ ((unused)) void *___retval__operator_assign__2tT_1, void *__anonymous_object71, void *__anonymous_object72), __attribute__ ((unused)) unsigned long int _sizeof_2tT, __attribute__ ((unused)) unsigned long int _alignof_2tT, __attribute__ ((unused)) void *(*___operator_assign__PF2tT_R2tT2tT__1)(void *__anonymous_object73, void *__anonymous_object74), __attribute__ ((unused)) void (*___constructor__PF_R2tT__1)(void *__anonymous_object75), __attribute__ ((unused)) void (*___constructor__PF_R2tT2tT__1)(void *__anonymous_object76, void *__anonymous_object77), __attribute__ ((unused)) void (*___destructor__PF_R2tT__1)(void *__anonymous_object78), __attribute__ ((unused)) signed int (*___operator_less__PFi_2tT2tT__1)(void *__anonymous_object79, void *__anonymous_object80), const void *__arr__PC2tT_1, unsigned long int __dim__Ul_1);
     690struct _tuple2_ {
     691};
     692static inline void _layoutof__tuple2_(unsigned long int *_sizeof__tuple2_, unsigned long int *_alignof__tuple2_, unsigned long int *_offsetof__tuple2_, unsigned long int _sizeof_16ttuple_param_2_0, unsigned long int _alignof_16ttuple_param_2_0, unsigned long int _sizeof_16ttuple_param_2_1, unsigned long int _alignof_16ttuple_param_2_1){
     693    ((void)((*_sizeof__tuple2_)=0));
     694    ((void)((*_alignof__tuple2_)=1));
     695    ((void)(_offsetof__tuple2_[0]=(*_sizeof__tuple2_)));
     696    ((void)((*_sizeof__tuple2_)+=_sizeof_16ttuple_param_2_0));
     697    if ( ((*_alignof__tuple2_)<_alignof_16ttuple_param_2_0) ) ((void)((*_alignof__tuple2_)=_alignof_16ttuple_param_2_0));
     698
     699    if ( ((*_sizeof__tuple2_)&(_alignof_16ttuple_param_2_1-1)) ) ((void)((*_sizeof__tuple2_)+=(_alignof_16ttuple_param_2_1-((*_sizeof__tuple2_)&(_alignof_16ttuple_param_2_1-1)))));
     700
     701    ((void)(_offsetof__tuple2_[1]=(*_sizeof__tuple2_)));
     702    ((void)((*_sizeof__tuple2_)+=_sizeof_16ttuple_param_2_1));
     703    if ( ((*_alignof__tuple2_)<_alignof_16ttuple_param_2_1) ) ((void)((*_alignof__tuple2_)=_alignof_16ttuple_param_2_1));
     704
     705    if ( ((*_sizeof__tuple2_)&((*_alignof__tuple2_)-1)) ) ((void)((*_sizeof__tuple2_)+=((*_alignof__tuple2_)-((*_sizeof__tuple2_)&((*_alignof__tuple2_)-1)))));
     706
     707}
     708struct _conc__tuple2_0 {
     709    signed int field_0;
     710    signed int field_1;
     711};
     712struct _conc__tuple2_0 __div__FTii__ii__1(signed int __num__i_1, signed int __denom__i_1);
     713struct _conc__tuple2_1 {
     714    signed long int field_0;
     715    signed long int field_1;
     716};
     717struct _conc__tuple2_1 __div__FTll__ll__1(signed long int __num__l_1, signed long int __denom__l_1);
     718struct _conc__tuple2_2 {
     719    signed long long int field_0;
     720    signed long long int field_1;
     721};
     722struct _conc__tuple2_2 __div__FTqq__qq__1(signed long long int __num__q_1, signed long long int __denom__q_1);
     723void __div__A1_0_0_0____operator_assign__PFt0_Rt0t0____constructor__PF_Rt0____constructor__PF_Rt0t0____destructor__PF_Rt0____operator_divide__PFt0_t0t0____operator_modulus__PFt0_t0t0__FTt0t0__t0t0__1(__attribute__ ((unused)) void (*_adapterF2tT_2tT2tT_P_PP)(void (*__anonymous_object81)(), __attribute__ ((unused)) void *___retval__operator_divide__2tT_1, void *__anonymous_object82, void *__anonymous_object83), __attribute__ ((unused)) void (*_adapterF_P2tT2tT__MP)(void (*__anonymous_object84)(), void *__anonymous_object85, void *__anonymous_object86), __attribute__ ((unused)) void (*_adapterF2tT_P2tT2tT_P_MP)(void (*__anonymous_object87)(), __attribute__ ((unused)) void *___retval__operator_assign__2tT_1, void *__anonymous_object88, void *__anonymous_object89), __attribute__ ((unused)) unsigned long int _sizeof_2tT, __attribute__ ((unused)) unsigned long int _alignof_2tT, __attribute__ ((unused)) void *(*___operator_assign__PF2tT_R2tT2tT__1)(void *__anonymous_object90, void *__anonymous_object91), __attribute__ ((unused)) void (*___constructor__PF_R2tT__1)(void *__anonymous_object92), __attribute__ ((unused)) void (*___constructor__PF_R2tT2tT__1)(void *__anonymous_object93, void *__anonymous_object94), __attribute__ ((unused)) void (*___destructor__PF_R2tT__1)(void *__anonymous_object95), __attribute__ ((unused)) void *(*___operator_divide__PF2tT_2tT2tT__1)(void *__anonymous_object96, void *__anonymous_object97), __attribute__ ((unused)) void *(*___operator_modulus__PF2tT_2tT2tT__1)(void *__anonymous_object98, void *__anonymous_object99), __attribute__ ((unused)) void *___retval_div__T2tT2tT__1, void *__num__2tT_1, void *__demon__2tT_1);
     724unsigned char __abs__FUc_Sc__1(signed char __anonymous_object100);
     725signed int abs(signed int __anonymous_object101);
     726unsigned long int __abs__FUl_l__1(signed long int __anonymous_object102);
     727unsigned long long int __abs__FUq_q__1(signed long long int __anonymous_object103);
     728float __abs__Ff_f__1(float __anonymous_object104);
     729double __abs__Fd_d__1(double __anonymous_object105);
     730long double __abs__Fr_r__1(long double __anonymous_object106);
     731float __abs__Ff_Xf__1(float _Complex __anonymous_object107);
     732double __abs__Fd_Xd__1(double _Complex __anonymous_object108);
     733long double __abs__Fr_Xr__1(long double _Complex __anonymous_object109);
     734void __abs__A1_0_0_0____operator_assign__PFt0_Rt0t0____constructor__PF_Rt0____constructor__PF_Rt0t0____destructor__PF_Rt0____constructor__PF_Rt0Z____operator_less__PFi_t0t0____operator_unaryminus__PFt0_t0__Ft0_t0__1(__attribute__ ((unused)) void (*_adapterF2tT_2tT_P_P)(void (*__anonymous_object110)(), __attribute__ ((unused)) void *___retval__operator_unaryminus__2tT_1, void *__anonymous_object111), __attribute__ ((unused)) signed int (*_adapterFi_2tT2tT_M_PP)(void (*__anonymous_object112)(), void *__anonymous_object113, void *__anonymous_object114), __attribute__ ((unused)) void (*_adapterF_P2tT2tT__MP)(void (*__anonymous_object115)(), void *__anonymous_object116, void *__anonymous_object117), __attribute__ ((unused)) void (*_adapterF2tT_P2tT2tT_P_MP)(void (*__anonymous_object118)(), __attribute__ ((unused)) void *___retval__operator_assign__2tT_1, void *__anonymous_object119, void *__anonymous_object120), __attribute__ ((unused)) unsigned long int _sizeof_2tT, __attribute__ ((unused)) unsigned long int _alignof_2tT, __attribute__ ((unused)) void *(*___operator_assign__PF2tT_R2tT2tT__1)(void *__anonymous_object121, void *__anonymous_object122), __attribute__ ((unused)) void (*___constructor__PF_R2tT__1)(void *__anonymous_object123), __attribute__ ((unused)) void (*___constructor__PF_R2tT2tT__1)(void *__anonymous_object124, void *__anonymous_object125), __attribute__ ((unused)) void (*___destructor__PF_R2tT__1)(void *__anonymous_object126), __attribute__ ((unused)) void (*___constructor__PF_R2tTZ__1)(void *__anonymous_object127, long int __anonymous_object128), __attribute__ ((unused)) signed int (*___operator_less__PFi_2tT2tT__1)(void *__anonymous_object129, void *__anonymous_object130), __attribute__ ((unused)) void *(*___operator_unaryminus__PF2tT_2tT__1)(void *__anonymous_object131), __attribute__ ((unused)) void *___retval_abs__2tT_1, void *__anonymous_object132);
     735void __rand48seed__F_l__1(signed long int __s__l_1);
     736char __rand48__Fc___1(void);
     737signed int __rand48__Fi___1(void);
     738unsigned int __rand48__FUi___1(void);
     739signed long int __rand48__Fl___1(void);
     740unsigned long int __rand48__FUl___1(void);
     741float __rand48__Ff___1(void);
     742double __rand48__Fd___1(void);
     743float _Complex __rand48__FXf___1(void);
     744double _Complex __rand48__FXd___1(void);
     745long double _Complex __rand48__FXr___1(void);
     746void __min__A1_0_0_0____operator_assign__PFt0_Rt0t0____constructor__PF_Rt0____constructor__PF_Rt0t0____destructor__PF_Rt0____operator_less__PFi_t0t0__Ft0_t0t0__1(__attribute__ ((unused)) signed int (*_adapterFi_2tT2tT_M_PP)(void (*__anonymous_object133)(), void *__anonymous_object134, void *__anonymous_object135), __attribute__ ((unused)) void (*_adapterF_P2tT2tT__MP)(void (*__anonymous_object136)(), void *__anonymous_object137, void *__anonymous_object138), __attribute__ ((unused)) void (*_adapterF2tT_P2tT2tT_P_MP)(void (*__anonymous_object139)(), __attribute__ ((unused)) void *___retval__operator_assign__2tT_1, void *__anonymous_object140, void *__anonymous_object141), __attribute__ ((unused)) unsigned long int _sizeof_2tT, __attribute__ ((unused)) unsigned long int _alignof_2tT, __attribute__ ((unused)) void *(*___operator_assign__PF2tT_R2tT2tT__1)(void *__anonymous_object142, void *__anonymous_object143), __attribute__ ((unused)) void (*___constructor__PF_R2tT__1)(void *__anonymous_object144), __attribute__ ((unused)) void (*___constructor__PF_R2tT2tT__1)(void *__anonymous_object145, void *__anonymous_object146), __attribute__ ((unused)) void (*___destructor__PF_R2tT__1)(void *__anonymous_object147), __attribute__ ((unused)) signed int (*___operator_less__PFi_2tT2tT__1)(void *__anonymous_object148, void *__anonymous_object149), __attribute__ ((unused)) void *___retval_min__2tT_1, void *__t1__2tT_1, void *__t2__2tT_1);
     747void __max__A1_0_0_0____operator_assign__PFt0_Rt0t0____constructor__PF_Rt0____constructor__PF_Rt0t0____destructor__PF_Rt0____operator_greater__PFi_t0t0__Ft0_t0t0__1(__attribute__ ((unused)) signed int (*_adapterFi_2tT2tT_M_PP)(void (*__anonymous_object150)(), void *__anonymous_object151, void *__anonymous_object152), __attribute__ ((unused)) void (*_adapterF_P2tT2tT__MP)(void (*__anonymous_object153)(), void *__anonymous_object154, void *__anonymous_object155), __attribute__ ((unused)) void (*_adapterF2tT_P2tT2tT_P_MP)(void (*__anonymous_object156)(), __attribute__ ((unused)) void *___retval__operator_assign__2tT_1, void *__anonymous_object157, void *__anonymous_object158), __attribute__ ((unused)) unsigned long int _sizeof_2tT, __attribute__ ((unused)) unsigned long int _alignof_2tT, __attribute__ ((unused)) void *(*___operator_assign__PF2tT_R2tT2tT__1)(void *__anonymous_object159, void *__anonymous_object160), __attribute__ ((unused)) void (*___constructor__PF_R2tT__1)(void *__anonymous_object161), __attribute__ ((unused)) void (*___constructor__PF_R2tT2tT__1)(void *__anonymous_object162, void *__anonymous_object163), __attribute__ ((unused)) void (*___destructor__PF_R2tT__1)(void *__anonymous_object164), __attribute__ ((unused)) signed int (*___operator_greater__PFi_2tT2tT__1)(void *__anonymous_object165, void *__anonymous_object166), __attribute__ ((unused)) void *___retval_max__2tT_1, void *__t1__2tT_1, void *__t2__2tT_1);
     748void __clamp__A1_0_0_0____operator_assign__PFt0_Rt0t0____constructor__PF_Rt0____constructor__PF_Rt0t0____destructor__PF_Rt0___min__PFt0_t0t0___max__PFt0_t0t0__Ft0_t0t0t0__1(__attribute__ ((unused)) void (*_adapterF2tT_2tT2tT_P_PP)(void (*__anonymous_object167)(), __attribute__ ((unused)) void *___retval_min__2tT_1, void *__anonymous_object168, void *__anonymous_object169), __attribute__ ((unused)) void (*_adapterF_P2tT2tT__MP)(void (*__anonymous_object170)(), void *__anonymous_object171, void *__anonymous_object172), __attribute__ ((unused)) void (*_adapterF2tT_P2tT2tT_P_MP)(void (*__anonymous_object173)(), __attribute__ ((unused)) void *___retval__operator_assign__2tT_1, void *__anonymous_object174, void *__anonymous_object175), __attribute__ ((unused)) unsigned long int _sizeof_2tT, __attribute__ ((unused)) unsigned long int _alignof_2tT, __attribute__ ((unused)) void *(*___operator_assign__PF2tT_R2tT2tT__1)(void *__anonymous_object176, void *__anonymous_object177), __attribute__ ((unused)) void (*___constructor__PF_R2tT__1)(void *__anonymous_object178), __attribute__ ((unused)) void (*___constructor__PF_R2tT2tT__1)(void *__anonymous_object179, void *__anonymous_object180), __attribute__ ((unused)) void (*___destructor__PF_R2tT__1)(void *__anonymous_object181), __attribute__ ((unused)) void *(*__min__PF2tT_2tT2tT__1)(void *__anonymous_object182, void *__anonymous_object183), __attribute__ ((unused)) void *(*__max__PF2tT_2tT2tT__1)(void *__anonymous_object184, void *__anonymous_object185), __attribute__ ((unused)) void *___retval_clamp__2tT_1, void *__value__2tT_1, void *__min_val__2tT_1, void *__max_val__2tT_1);
     749void __swap__A1_0_0_0____operator_assign__PFt0_Rt0t0____constructor__PF_Rt0____constructor__PF_Rt0t0____destructor__PF_Rt0__F_Rt0Rt0__1(__attribute__ ((unused)) void (*_adapterF_P2tT2tT__MP)(void (*__anonymous_object186)(), void *__anonymous_object187, void *__anonymous_object188), __attribute__ ((unused)) void (*_adapterF2tT_P2tT2tT_P_MP)(void (*__anonymous_object189)(), __attribute__ ((unused)) void *___retval__operator_assign__2tT_1, void *__anonymous_object190, void *__anonymous_object191), __attribute__ ((unused)) unsigned long int _sizeof_2tT, __attribute__ ((unused)) unsigned long int _alignof_2tT, __attribute__ ((unused)) void *(*___operator_assign__PF2tT_R2tT2tT__1)(void *__anonymous_object192, void *__anonymous_object193), __attribute__ ((unused)) void (*___constructor__PF_R2tT__1)(void *__anonymous_object194), __attribute__ ((unused)) void (*___constructor__PF_R2tT2tT__1)(void *__anonymous_object195, void *__anonymous_object196), __attribute__ ((unused)) void (*___destructor__PF_R2tT__1)(void *__anonymous_object197), void *__t1__R2tT_1, void *__t2__R2tT_1);
     750static inline void ___constructor__F_R13smonitor_desc__1(struct monitor_desc *__this__R13smonitor_desc_1){
     751    ((void)((*__this__R13smonitor_desc_1).owner) /* ?{} */);
     752    ((void)((*__this__R13smonitor_desc_1).recursion) /* ?{} */);
     753    ((void)___constructor__F_R17s__waitfor_mask_t_autogen___1((&(*__this__R13smonitor_desc_1).mask)));
     754    struct spinlock *_tmp_ctor_expr0;
     755    ((void)(((void)(_tmp_ctor_expr0=(&(*__this__R13smonitor_desc_1).lock))) , (((void)___constructor__F_R9sspinlock__1(_tmp_ctor_expr0)) , _tmp_ctor_expr0)));
     756    ((void)((*__this__R13smonitor_desc_1).owner=((void *)0)));
     757    struct __thread_queue_t *_tmp_ctor_expr1;
     758    ((void)(((void)(_tmp_ctor_expr1=(&(*__this__R13smonitor_desc_1).entry_queue))) , (((void)___constructor__F_R17s__thread_queue_t__1(_tmp_ctor_expr1)) , _tmp_ctor_expr1)));
     759    struct __condition_stack_t *_tmp_ctor_expr2;
     760    ((void)(((void)(_tmp_ctor_expr2=(&(*__this__R13smonitor_desc_1).signal_stack))) , (((void)___constructor__F_R20s__condition_stack_t__1(_tmp_ctor_expr2)) , _tmp_ctor_expr2)));
     761    ((void)((*__this__R13smonitor_desc_1).recursion=((unsigned int )0)));
     762    ((void)((*__this__R13smonitor_desc_1).mask.accepted=((void *)0)));
     763    ((void)((*__this__R13smonitor_desc_1).mask.clauses=((void *)0)));
     764    ((void)((*__this__R13smonitor_desc_1).mask.size=((signed short int )0)));
     765}
     766struct monitor_guard_t {
     767    struct monitor_desc **__m__PP13smonitor_desc_1;
     768    signed int __count__i_1;
     769    struct monitor_desc **__prev_mntrs__PP13smonitor_desc_1;
     770    unsigned short int __prev_count__Us_1;
     771    void (*__prev_func__PF___1)();
     772};
     773static inline void ___constructor__F_R16smonitor_guard_t_autogen___1(struct monitor_guard_t *___dst__R16smonitor_guard_t_1);
     774static inline void ___constructor__F_R16smonitor_guard_t16smonitor_guard_t_autogen___1(struct monitor_guard_t *___dst__R16smonitor_guard_t_1, struct monitor_guard_t ___src__16smonitor_guard_t_1);
     775static inline void ___destructor__F_R16smonitor_guard_t_autogen___1(struct monitor_guard_t *___dst__R16smonitor_guard_t_1);
     776static inline struct monitor_guard_t ___operator_assign__F16smonitor_guard_t_R16smonitor_guard_t16smonitor_guard_t_autogen___1(struct monitor_guard_t *___dst__R16smonitor_guard_t_1, struct monitor_guard_t ___src__16smonitor_guard_t_1);
     777static inline void ___constructor__F_R16smonitor_guard_t_autogen___1(struct monitor_guard_t *___dst__R16smonitor_guard_t_1){
     778    ((void)((*___dst__R16smonitor_guard_t_1).__m__PP13smonitor_desc_1) /* ?{} */);
     779    ((void)((*___dst__R16smonitor_guard_t_1).__count__i_1) /* ?{} */);
     780    ((void)((*___dst__R16smonitor_guard_t_1).__prev_mntrs__PP13smonitor_desc_1) /* ?{} */);
     781    ((void)((*___dst__R16smonitor_guard_t_1).__prev_count__Us_1) /* ?{} */);
     782    ((void)((*___dst__R16smonitor_guard_t_1).__prev_func__PF___1) /* ?{} */);
     783}
     784static inline void ___constructor__F_R16smonitor_guard_t16smonitor_guard_t_autogen___1(struct monitor_guard_t *___dst__R16smonitor_guard_t_1, struct monitor_guard_t ___src__16smonitor_guard_t_1){
     785    ((void)((*___dst__R16smonitor_guard_t_1).__m__PP13smonitor_desc_1=___src__16smonitor_guard_t_1.__m__PP13smonitor_desc_1) /* ?{} */);
     786    ((void)((*___dst__R16smonitor_guard_t_1).__count__i_1=___src__16smonitor_guard_t_1.__count__i_1) /* ?{} */);
     787    ((void)((*___dst__R16smonitor_guard_t_1).__prev_mntrs__PP13smonitor_desc_1=___src__16smonitor_guard_t_1.__prev_mntrs__PP13smonitor_desc_1) /* ?{} */);
     788    ((void)((*___dst__R16smonitor_guard_t_1).__prev_count__Us_1=___src__16smonitor_guard_t_1.__prev_count__Us_1) /* ?{} */);
     789    ((void)((*___dst__R16smonitor_guard_t_1).__prev_func__PF___1=___src__16smonitor_guard_t_1.__prev_func__PF___1) /* ?{} */);
     790}
     791static inline void ___destructor__F_R16smonitor_guard_t_autogen___1(struct monitor_guard_t *___dst__R16smonitor_guard_t_1){
     792    ((void)((*___dst__R16smonitor_guard_t_1).__prev_func__PF___1) /* ^?{} */);
     793    ((void)((*___dst__R16smonitor_guard_t_1).__prev_count__Us_1) /* ^?{} */);
     794    ((void)((*___dst__R16smonitor_guard_t_1).__prev_mntrs__PP13smonitor_desc_1) /* ^?{} */);
     795    ((void)((*___dst__R16smonitor_guard_t_1).__count__i_1) /* ^?{} */);
     796    ((void)((*___dst__R16smonitor_guard_t_1).__m__PP13smonitor_desc_1) /* ^?{} */);
     797}
     798static inline struct monitor_guard_t ___operator_assign__F16smonitor_guard_t_R16smonitor_guard_t16smonitor_guard_t_autogen___1(struct monitor_guard_t *___dst__R16smonitor_guard_t_1, struct monitor_guard_t ___src__16smonitor_guard_t_1){
     799    struct monitor_guard_t ___ret__16smonitor_guard_t_1;
     800    ((void)((*___dst__R16smonitor_guard_t_1).__m__PP13smonitor_desc_1=___src__16smonitor_guard_t_1.__m__PP13smonitor_desc_1));
     801    ((void)((*___dst__R16smonitor_guard_t_1).__count__i_1=___src__16smonitor_guard_t_1.__count__i_1));
     802    ((void)((*___dst__R16smonitor_guard_t_1).__prev_mntrs__PP13smonitor_desc_1=___src__16smonitor_guard_t_1.__prev_mntrs__PP13smonitor_desc_1));
     803    ((void)((*___dst__R16smonitor_guard_t_1).__prev_count__Us_1=___src__16smonitor_guard_t_1.__prev_count__Us_1));
     804    ((void)((*___dst__R16smonitor_guard_t_1).__prev_func__PF___1=___src__16smonitor_guard_t_1.__prev_func__PF___1));
     805    ((void)___constructor__F_R16smonitor_guard_t16smonitor_guard_t_autogen___1((&___ret__16smonitor_guard_t_1), ___src__16smonitor_guard_t_1));
     806    return ((struct monitor_guard_t )___ret__16smonitor_guard_t_1);
     807}
     808static inline void ___constructor__F_R16smonitor_guard_tPP13smonitor_desc_autogen___1(struct monitor_guard_t *___dst__R16smonitor_guard_t_1, struct monitor_desc **__m__PP13smonitor_desc_1){
     809    ((void)((*___dst__R16smonitor_guard_t_1).__m__PP13smonitor_desc_1=__m__PP13smonitor_desc_1) /* ?{} */);
     810    ((void)((*___dst__R16smonitor_guard_t_1).__count__i_1) /* ?{} */);
     811    ((void)((*___dst__R16smonitor_guard_t_1).__prev_mntrs__PP13smonitor_desc_1) /* ?{} */);
     812    ((void)((*___dst__R16smonitor_guard_t_1).__prev_count__Us_1) /* ?{} */);
     813    ((void)((*___dst__R16smonitor_guard_t_1).__prev_func__PF___1) /* ?{} */);
     814}
     815static inline void ___constructor__F_R16smonitor_guard_tPP13smonitor_desci_autogen___1(struct monitor_guard_t *___dst__R16smonitor_guard_t_1, struct monitor_desc **__m__PP13smonitor_desc_1, signed int __count__i_1){
     816    ((void)((*___dst__R16smonitor_guard_t_1).__m__PP13smonitor_desc_1=__m__PP13smonitor_desc_1) /* ?{} */);
     817    ((void)((*___dst__R16smonitor_guard_t_1).__count__i_1=__count__i_1) /* ?{} */);
     818    ((void)((*___dst__R16smonitor_guard_t_1).__prev_mntrs__PP13smonitor_desc_1) /* ?{} */);
     819    ((void)((*___dst__R16smonitor_guard_t_1).__prev_count__Us_1) /* ?{} */);
     820    ((void)((*___dst__R16smonitor_guard_t_1).__prev_func__PF___1) /* ?{} */);
     821}
     822static inline void ___constructor__F_R16smonitor_guard_tPP13smonitor_desciPP13smonitor_desc_autogen___1(struct monitor_guard_t *___dst__R16smonitor_guard_t_1, struct monitor_desc **__m__PP13smonitor_desc_1, signed int __count__i_1, struct monitor_desc **__prev_mntrs__PP13smonitor_desc_1){
     823    ((void)((*___dst__R16smonitor_guard_t_1).__m__PP13smonitor_desc_1=__m__PP13smonitor_desc_1) /* ?{} */);
     824    ((void)((*___dst__R16smonitor_guard_t_1).__count__i_1=__count__i_1) /* ?{} */);
     825    ((void)((*___dst__R16smonitor_guard_t_1).__prev_mntrs__PP13smonitor_desc_1=__prev_mntrs__PP13smonitor_desc_1) /* ?{} */);
     826    ((void)((*___dst__R16smonitor_guard_t_1).__prev_count__Us_1) /* ?{} */);
     827    ((void)((*___dst__R16smonitor_guard_t_1).__prev_func__PF___1) /* ?{} */);
     828}
     829static inline void ___constructor__F_R16smonitor_guard_tPP13smonitor_desciPP13smonitor_descUs_autogen___1(struct monitor_guard_t *___dst__R16smonitor_guard_t_1, struct monitor_desc **__m__PP13smonitor_desc_1, signed int __count__i_1, struct monitor_desc **__prev_mntrs__PP13smonitor_desc_1, unsigned short int __prev_count__Us_1){
     830    ((void)((*___dst__R16smonitor_guard_t_1).__m__PP13smonitor_desc_1=__m__PP13smonitor_desc_1) /* ?{} */);
     831    ((void)((*___dst__R16smonitor_guard_t_1).__count__i_1=__count__i_1) /* ?{} */);
     832    ((void)((*___dst__R16smonitor_guard_t_1).__prev_mntrs__PP13smonitor_desc_1=__prev_mntrs__PP13smonitor_desc_1) /* ?{} */);
     833    ((void)((*___dst__R16smonitor_guard_t_1).__prev_count__Us_1=__prev_count__Us_1) /* ?{} */);
     834    ((void)((*___dst__R16smonitor_guard_t_1).__prev_func__PF___1) /* ?{} */);
     835}
     836static inline void ___constructor__F_R16smonitor_guard_tPP13smonitor_desciPP13smonitor_descUsPF___autogen___1(struct monitor_guard_t *___dst__R16smonitor_guard_t_1, struct monitor_desc **__m__PP13smonitor_desc_1, signed int __count__i_1, struct monitor_desc **__prev_mntrs__PP13smonitor_desc_1, unsigned short int __prev_count__Us_1, void (*__prev_func__PF___1)()){
     837    ((void)((*___dst__R16smonitor_guard_t_1).__m__PP13smonitor_desc_1=__m__PP13smonitor_desc_1) /* ?{} */);
     838    ((void)((*___dst__R16smonitor_guard_t_1).__count__i_1=__count__i_1) /* ?{} */);
     839    ((void)((*___dst__R16smonitor_guard_t_1).__prev_mntrs__PP13smonitor_desc_1=__prev_mntrs__PP13smonitor_desc_1) /* ?{} */);
     840    ((void)((*___dst__R16smonitor_guard_t_1).__prev_count__Us_1=__prev_count__Us_1) /* ?{} */);
     841    ((void)((*___dst__R16smonitor_guard_t_1).__prev_func__PF___1=__prev_func__PF___1) /* ?{} */);
     842}
     843static inline signed int ___operator_less__Fi_P13smonitor_descP13smonitor_desc__1(struct monitor_desc *__lhs__P13smonitor_desc_1, struct monitor_desc *__rhs__P13smonitor_desc_1){
     844    __attribute__ ((unused)) signed int ___retval__operator_less__i_1;
     845    ((void)(___retval__operator_less__i_1=(((signed long int )__lhs__P13smonitor_desc_1)<((signed long int )__rhs__P13smonitor_desc_1))) /* ?{} */);
     846    return ((signed int )___retval__operator_less__i_1);
     847}
     848void ___constructor__F_R16smonitor_guard_tPP13smonitor_desciPF____1(struct monitor_guard_t *__this__R16smonitor_guard_t_1, struct monitor_desc **__m__PP13smonitor_desc_1, signed int __count__i_1, void (*__func__PF___1)());
     849void ___destructor__F_R16smonitor_guard_t__1(struct monitor_guard_t *__this__R16smonitor_guard_t_1);
     850struct __condition_criterion_t {
     851    _Bool __ready__b_1;
     852    struct monitor_desc *__target__P13smonitor_desc_1;
     853    struct __condition_node_t *__owner__P19s__condition_node_t_1;
     854    struct __condition_criterion_t *__next__P24s__condition_criterion_t_1;
     855};
     856static inline void ___constructor__F_R24s__condition_criterion_t_autogen___1(struct __condition_criterion_t *___dst__R24s__condition_criterion_t_1);
     857static inline void ___constructor__F_R24s__condition_criterion_t24s__condition_criterion_t_autogen___1(struct __condition_criterion_t *___dst__R24s__condition_criterion_t_1, struct __condition_criterion_t ___src__24s__condition_criterion_t_1);
     858static inline void ___destructor__F_R24s__condition_criterion_t_autogen___1(struct __condition_criterion_t *___dst__R24s__condition_criterion_t_1);
     859static inline struct __condition_criterion_t ___operator_assign__F24s__condition_criterion_t_R24s__condition_criterion_t24s__condition_criterion_t_autogen___1(struct __condition_criterion_t *___dst__R24s__condition_criterion_t_1, struct __condition_criterion_t ___src__24s__condition_criterion_t_1);
     860static inline void ___constructor__F_R24s__condition_criterion_t_autogen___1(struct __condition_criterion_t *___dst__R24s__condition_criterion_t_1){
     861    ((void)((*___dst__R24s__condition_criterion_t_1).__ready__b_1) /* ?{} */);
     862    ((void)((*___dst__R24s__condition_criterion_t_1).__target__P13smonitor_desc_1) /* ?{} */);
     863    ((void)((*___dst__R24s__condition_criterion_t_1).__owner__P19s__condition_node_t_1) /* ?{} */);
     864    ((void)((*___dst__R24s__condition_criterion_t_1).__next__P24s__condition_criterion_t_1) /* ?{} */);
     865}
     866static inline void ___constructor__F_R24s__condition_criterion_t24s__condition_criterion_t_autogen___1(struct __condition_criterion_t *___dst__R24s__condition_criterion_t_1, struct __condition_criterion_t ___src__24s__condition_criterion_t_1){
     867    ((void)((*___dst__R24s__condition_criterion_t_1).__ready__b_1=___src__24s__condition_criterion_t_1.__ready__b_1) /* ?{} */);
     868    ((void)((*___dst__R24s__condition_criterion_t_1).__target__P13smonitor_desc_1=___src__24s__condition_criterion_t_1.__target__P13smonitor_desc_1) /* ?{} */);
     869    ((void)((*___dst__R24s__condition_criterion_t_1).__owner__P19s__condition_node_t_1=___src__24s__condition_criterion_t_1.__owner__P19s__condition_node_t_1) /* ?{} */);
     870    ((void)((*___dst__R24s__condition_criterion_t_1).__next__P24s__condition_criterion_t_1=___src__24s__condition_criterion_t_1.__next__P24s__condition_criterion_t_1) /* ?{} */);
     871}
     872static inline void ___destructor__F_R24s__condition_criterion_t_autogen___1(struct __condition_criterion_t *___dst__R24s__condition_criterion_t_1){
     873    ((void)((*___dst__R24s__condition_criterion_t_1).__next__P24s__condition_criterion_t_1) /* ^?{} */);
     874    ((void)((*___dst__R24s__condition_criterion_t_1).__owner__P19s__condition_node_t_1) /* ^?{} */);
     875    ((void)((*___dst__R24s__condition_criterion_t_1).__target__P13smonitor_desc_1) /* ^?{} */);
     876    ((void)((*___dst__R24s__condition_criterion_t_1).__ready__b_1) /* ^?{} */);
     877}
     878static inline struct __condition_criterion_t ___operator_assign__F24s__condition_criterion_t_R24s__condition_criterion_t24s__condition_criterion_t_autogen___1(struct __condition_criterion_t *___dst__R24s__condition_criterion_t_1, struct __condition_criterion_t ___src__24s__condition_criterion_t_1){
     879    struct __condition_criterion_t ___ret__24s__condition_criterion_t_1;
     880    ((void)((*___dst__R24s__condition_criterion_t_1).__ready__b_1=___src__24s__condition_criterion_t_1.__ready__b_1));
     881    ((void)((*___dst__R24s__condition_criterion_t_1).__target__P13smonitor_desc_1=___src__24s__condition_criterion_t_1.__target__P13smonitor_desc_1));
     882    ((void)((*___dst__R24s__condition_criterion_t_1).__owner__P19s__condition_node_t_1=___src__24s__condition_criterion_t_1.__owner__P19s__condition_node_t_1));
     883    ((void)((*___dst__R24s__condition_criterion_t_1).__next__P24s__condition_criterion_t_1=___src__24s__condition_criterion_t_1.__next__P24s__condition_criterion_t_1));
     884    ((void)___constructor__F_R24s__condition_criterion_t24s__condition_criterion_t_autogen___1((&___ret__24s__condition_criterion_t_1), ___src__24s__condition_criterion_t_1));
     885    return ((struct __condition_criterion_t )___ret__24s__condition_criterion_t_1);
     886}
     887static inline void ___constructor__F_R24s__condition_criterion_tb_autogen___1(struct __condition_criterion_t *___dst__R24s__condition_criterion_t_1, _Bool __ready__b_1){
     888    ((void)((*___dst__R24s__condition_criterion_t_1).__ready__b_1=__ready__b_1) /* ?{} */);
     889    ((void)((*___dst__R24s__condition_criterion_t_1).__target__P13smonitor_desc_1) /* ?{} */);
     890    ((void)((*___dst__R24s__condition_criterion_t_1).__owner__P19s__condition_node_t_1) /* ?{} */);
     891    ((void)((*___dst__R24s__condition_criterion_t_1).__next__P24s__condition_criterion_t_1) /* ?{} */);
     892}
     893static inline void ___constructor__F_R24s__condition_criterion_tbP13smonitor_desc_autogen___1(struct __condition_criterion_t *___dst__R24s__condition_criterion_t_1, _Bool __ready__b_1, struct monitor_desc *__target__P13smonitor_desc_1){
     894    ((void)((*___dst__R24s__condition_criterion_t_1).__ready__b_1=__ready__b_1) /* ?{} */);
     895    ((void)((*___dst__R24s__condition_criterion_t_1).__target__P13smonitor_desc_1=__target__P13smonitor_desc_1) /* ?{} */);
     896    ((void)((*___dst__R24s__condition_criterion_t_1).__owner__P19s__condition_node_t_1) /* ?{} */);
     897    ((void)((*___dst__R24s__condition_criterion_t_1).__next__P24s__condition_criterion_t_1) /* ?{} */);
     898}
     899static inline void ___constructor__F_R24s__condition_criterion_tbP13smonitor_descP19s__condition_node_t_autogen___1(struct __condition_criterion_t *___dst__R24s__condition_criterion_t_1, _Bool __ready__b_1, struct monitor_desc *__target__P13smonitor_desc_1, struct __condition_node_t *__owner__P19s__condition_node_t_1){
     900    ((void)((*___dst__R24s__condition_criterion_t_1).__ready__b_1=__ready__b_1) /* ?{} */);
     901    ((void)((*___dst__R24s__condition_criterion_t_1).__target__P13smonitor_desc_1=__target__P13smonitor_desc_1) /* ?{} */);
     902    ((void)((*___dst__R24s__condition_criterion_t_1).__owner__P19s__condition_node_t_1=__owner__P19s__condition_node_t_1) /* ?{} */);
     903    ((void)((*___dst__R24s__condition_criterion_t_1).__next__P24s__condition_criterion_t_1) /* ?{} */);
     904}
     905static inline void ___constructor__F_R24s__condition_criterion_tbP13smonitor_descP19s__condition_node_tP24s__condition_criterion_t_autogen___1(struct __condition_criterion_t *___dst__R24s__condition_criterion_t_1, _Bool __ready__b_1, struct monitor_desc *__target__P13smonitor_desc_1, struct __condition_node_t *__owner__P19s__condition_node_t_1, struct __condition_criterion_t *__next__P24s__condition_criterion_t_1){
     906    ((void)((*___dst__R24s__condition_criterion_t_1).__ready__b_1=__ready__b_1) /* ?{} */);
     907    ((void)((*___dst__R24s__condition_criterion_t_1).__target__P13smonitor_desc_1=__target__P13smonitor_desc_1) /* ?{} */);
     908    ((void)((*___dst__R24s__condition_criterion_t_1).__owner__P19s__condition_node_t_1=__owner__P19s__condition_node_t_1) /* ?{} */);
     909    ((void)((*___dst__R24s__condition_criterion_t_1).__next__P24s__condition_criterion_t_1=__next__P24s__condition_criterion_t_1) /* ?{} */);
     910}
     911struct __condition_node_t {
     912    struct thread_desc *__waiting_thread__P12sthread_desc_1;
     913    struct __condition_criterion_t *__criteria__P24s__condition_criterion_t_1;
     914    unsigned short int __count__Us_1;
     915    struct __condition_node_t *__next__P19s__condition_node_t_1;
     916    unsigned long int __user_info__Ul_1;
     917};
     918static inline void ___constructor__F_R19s__condition_node_t_autogen___1(struct __condition_node_t *___dst__R19s__condition_node_t_1);
     919static inline void ___constructor__F_R19s__condition_node_t19s__condition_node_t_autogen___1(struct __condition_node_t *___dst__R19s__condition_node_t_1, struct __condition_node_t ___src__19s__condition_node_t_1);
     920static inline void ___destructor__F_R19s__condition_node_t_autogen___1(struct __condition_node_t *___dst__R19s__condition_node_t_1);
     921static inline struct __condition_node_t ___operator_assign__F19s__condition_node_t_R19s__condition_node_t19s__condition_node_t_autogen___1(struct __condition_node_t *___dst__R19s__condition_node_t_1, struct __condition_node_t ___src__19s__condition_node_t_1);
     922static inline void ___constructor__F_R19s__condition_node_t_autogen___1(struct __condition_node_t *___dst__R19s__condition_node_t_1){
     923    ((void)((*___dst__R19s__condition_node_t_1).__waiting_thread__P12sthread_desc_1) /* ?{} */);
     924    ((void)((*___dst__R19s__condition_node_t_1).__criteria__P24s__condition_criterion_t_1) /* ?{} */);
     925    ((void)((*___dst__R19s__condition_node_t_1).__count__Us_1) /* ?{} */);
     926    ((void)((*___dst__R19s__condition_node_t_1).__next__P19s__condition_node_t_1) /* ?{} */);
     927    ((void)((*___dst__R19s__condition_node_t_1).__user_info__Ul_1) /* ?{} */);
     928}
     929static inline void ___constructor__F_R19s__condition_node_t19s__condition_node_t_autogen___1(struct __condition_node_t *___dst__R19s__condition_node_t_1, struct __condition_node_t ___src__19s__condition_node_t_1){
     930    ((void)((*___dst__R19s__condition_node_t_1).__waiting_thread__P12sthread_desc_1=___src__19s__condition_node_t_1.__waiting_thread__P12sthread_desc_1) /* ?{} */);
     931    ((void)((*___dst__R19s__condition_node_t_1).__criteria__P24s__condition_criterion_t_1=___src__19s__condition_node_t_1.__criteria__P24s__condition_criterion_t_1) /* ?{} */);
     932    ((void)((*___dst__R19s__condition_node_t_1).__count__Us_1=___src__19s__condition_node_t_1.__count__Us_1) /* ?{} */);
     933    ((void)((*___dst__R19s__condition_node_t_1).__next__P19s__condition_node_t_1=___src__19s__condition_node_t_1.__next__P19s__condition_node_t_1) /* ?{} */);
     934    ((void)((*___dst__R19s__condition_node_t_1).__user_info__Ul_1=___src__19s__condition_node_t_1.__user_info__Ul_1) /* ?{} */);
     935}
     936static inline void ___destructor__F_R19s__condition_node_t_autogen___1(struct __condition_node_t *___dst__R19s__condition_node_t_1){
     937    ((void)((*___dst__R19s__condition_node_t_1).__user_info__Ul_1) /* ^?{} */);
     938    ((void)((*___dst__R19s__condition_node_t_1).__next__P19s__condition_node_t_1) /* ^?{} */);
     939    ((void)((*___dst__R19s__condition_node_t_1).__count__Us_1) /* ^?{} */);
     940    ((void)((*___dst__R19s__condition_node_t_1).__criteria__P24s__condition_criterion_t_1) /* ^?{} */);
     941    ((void)((*___dst__R19s__condition_node_t_1).__waiting_thread__P12sthread_desc_1) /* ^?{} */);
     942}
     943static inline struct __condition_node_t ___operator_assign__F19s__condition_node_t_R19s__condition_node_t19s__condition_node_t_autogen___1(struct __condition_node_t *___dst__R19s__condition_node_t_1, struct __condition_node_t ___src__19s__condition_node_t_1){
     944    struct __condition_node_t ___ret__19s__condition_node_t_1;
     945    ((void)((*___dst__R19s__condition_node_t_1).__waiting_thread__P12sthread_desc_1=___src__19s__condition_node_t_1.__waiting_thread__P12sthread_desc_1));
     946    ((void)((*___dst__R19s__condition_node_t_1).__criteria__P24s__condition_criterion_t_1=___src__19s__condition_node_t_1.__criteria__P24s__condition_criterion_t_1));
     947    ((void)((*___dst__R19s__condition_node_t_1).__count__Us_1=___src__19s__condition_node_t_1.__count__Us_1));
     948    ((void)((*___dst__R19s__condition_node_t_1).__next__P19s__condition_node_t_1=___src__19s__condition_node_t_1.__next__P19s__condition_node_t_1));
     949    ((void)((*___dst__R19s__condition_node_t_1).__user_info__Ul_1=___src__19s__condition_node_t_1.__user_info__Ul_1));
     950    ((void)___constructor__F_R19s__condition_node_t19s__condition_node_t_autogen___1((&___ret__19s__condition_node_t_1), ___src__19s__condition_node_t_1));
     951    return ((struct __condition_node_t )___ret__19s__condition_node_t_1);
     952}
     953static inline void ___constructor__F_R19s__condition_node_tP12sthread_desc_autogen___1(struct __condition_node_t *___dst__R19s__condition_node_t_1, struct thread_desc *__waiting_thread__P12sthread_desc_1){
     954    ((void)((*___dst__R19s__condition_node_t_1).__waiting_thread__P12sthread_desc_1=__waiting_thread__P12sthread_desc_1) /* ?{} */);
     955    ((void)((*___dst__R19s__condition_node_t_1).__criteria__P24s__condition_criterion_t_1) /* ?{} */);
     956    ((void)((*___dst__R19s__condition_node_t_1).__count__Us_1) /* ?{} */);
     957    ((void)((*___dst__R19s__condition_node_t_1).__next__P19s__condition_node_t_1) /* ?{} */);
     958    ((void)((*___dst__R19s__condition_node_t_1).__user_info__Ul_1) /* ?{} */);
     959}
     960static inline void ___constructor__F_R19s__condition_node_tP12sthread_descP24s__condition_criterion_t_autogen___1(struct __condition_node_t *___dst__R19s__condition_node_t_1, struct thread_desc *__waiting_thread__P12sthread_desc_1, struct __condition_criterion_t *__criteria__P24s__condition_criterion_t_1){
     961    ((void)((*___dst__R19s__condition_node_t_1).__waiting_thread__P12sthread_desc_1=__waiting_thread__P12sthread_desc_1) /* ?{} */);
     962    ((void)((*___dst__R19s__condition_node_t_1).__criteria__P24s__condition_criterion_t_1=__criteria__P24s__condition_criterion_t_1) /* ?{} */);
     963    ((void)((*___dst__R19s__condition_node_t_1).__count__Us_1) /* ?{} */);
     964    ((void)((*___dst__R19s__condition_node_t_1).__next__P19s__condition_node_t_1) /* ?{} */);
     965    ((void)((*___dst__R19s__condition_node_t_1).__user_info__Ul_1) /* ?{} */);
     966}
     967static inline void ___constructor__F_R19s__condition_node_tP12sthread_descP24s__condition_criterion_tUs_autogen___1(struct __condition_node_t *___dst__R19s__condition_node_t_1, struct thread_desc *__waiting_thread__P12sthread_desc_1, struct __condition_criterion_t *__criteria__P24s__condition_criterion_t_1, unsigned short int __count__Us_1){
     968    ((void)((*___dst__R19s__condition_node_t_1).__waiting_thread__P12sthread_desc_1=__waiting_thread__P12sthread_desc_1) /* ?{} */);
     969    ((void)((*___dst__R19s__condition_node_t_1).__criteria__P24s__condition_criterion_t_1=__criteria__P24s__condition_criterion_t_1) /* ?{} */);
     970    ((void)((*___dst__R19s__condition_node_t_1).__count__Us_1=__count__Us_1) /* ?{} */);
     971    ((void)((*___dst__R19s__condition_node_t_1).__next__P19s__condition_node_t_1) /* ?{} */);
     972    ((void)((*___dst__R19s__condition_node_t_1).__user_info__Ul_1) /* ?{} */);
     973}
     974static inline void ___constructor__F_R19s__condition_node_tP12sthread_descP24s__condition_criterion_tUsP19s__condition_node_t_autogen___1(struct __condition_node_t *___dst__R19s__condition_node_t_1, struct thread_desc *__waiting_thread__P12sthread_desc_1, struct __condition_criterion_t *__criteria__P24s__condition_criterion_t_1, unsigned short int __count__Us_1, struct __condition_node_t *__next__P19s__condition_node_t_1){
     975    ((void)((*___dst__R19s__condition_node_t_1).__waiting_thread__P12sthread_desc_1=__waiting_thread__P12sthread_desc_1) /* ?{} */);
     976    ((void)((*___dst__R19s__condition_node_t_1).__criteria__P24s__condition_criterion_t_1=__criteria__P24s__condition_criterion_t_1) /* ?{} */);
     977    ((void)((*___dst__R19s__condition_node_t_1).__count__Us_1=__count__Us_1) /* ?{} */);
     978    ((void)((*___dst__R19s__condition_node_t_1).__next__P19s__condition_node_t_1=__next__P19s__condition_node_t_1) /* ?{} */);
     979    ((void)((*___dst__R19s__condition_node_t_1).__user_info__Ul_1) /* ?{} */);
     980}
     981static inline void ___constructor__F_R19s__condition_node_tP12sthread_descP24s__condition_criterion_tUsP19s__condition_node_tUl_autogen___1(struct __condition_node_t *___dst__R19s__condition_node_t_1, struct thread_desc *__waiting_thread__P12sthread_desc_1, struct __condition_criterion_t *__criteria__P24s__condition_criterion_t_1, unsigned short int __count__Us_1, struct __condition_node_t *__next__P19s__condition_node_t_1, unsigned long int __user_info__Ul_1){
     982    ((void)((*___dst__R19s__condition_node_t_1).__waiting_thread__P12sthread_desc_1=__waiting_thread__P12sthread_desc_1) /* ?{} */);
     983    ((void)((*___dst__R19s__condition_node_t_1).__criteria__P24s__condition_criterion_t_1=__criteria__P24s__condition_criterion_t_1) /* ?{} */);
     984    ((void)((*___dst__R19s__condition_node_t_1).__count__Us_1=__count__Us_1) /* ?{} */);
     985    ((void)((*___dst__R19s__condition_node_t_1).__next__P19s__condition_node_t_1=__next__P19s__condition_node_t_1) /* ?{} */);
     986    ((void)((*___dst__R19s__condition_node_t_1).__user_info__Ul_1=__user_info__Ul_1) /* ?{} */);
     987}
     988struct __condition_blocked_queue_t {
     989    struct __condition_node_t *__head__P19s__condition_node_t_1;
     990    struct __condition_node_t **__tail__PP19s__condition_node_t_1;
     991};
     992static inline void ___constructor__F_R28s__condition_blocked_queue_t_autogen___1(struct __condition_blocked_queue_t *___dst__R28s__condition_blocked_queue_t_1);
     993static inline void ___constructor__F_R28s__condition_blocked_queue_t28s__condition_blocked_queue_t_autogen___1(struct __condition_blocked_queue_t *___dst__R28s__condition_blocked_queue_t_1, struct __condition_blocked_queue_t ___src__28s__condition_blocked_queue_t_1);
     994static inline void ___destructor__F_R28s__condition_blocked_queue_t_autogen___1(struct __condition_blocked_queue_t *___dst__R28s__condition_blocked_queue_t_1);
     995static inline struct __condition_blocked_queue_t ___operator_assign__F28s__condition_blocked_queue_t_R28s__condition_blocked_queue_t28s__condition_blocked_queue_t_autogen___1(struct __condition_blocked_queue_t *___dst__R28s__condition_blocked_queue_t_1, struct __condition_blocked_queue_t ___src__28s__condition_blocked_queue_t_1);
     996static inline void ___constructor__F_R28s__condition_blocked_queue_t_autogen___1(struct __condition_blocked_queue_t *___dst__R28s__condition_blocked_queue_t_1){
     997    ((void)((*___dst__R28s__condition_blocked_queue_t_1).__head__P19s__condition_node_t_1) /* ?{} */);
     998    ((void)((*___dst__R28s__condition_blocked_queue_t_1).__tail__PP19s__condition_node_t_1) /* ?{} */);
     999}
     1000static inline void ___constructor__F_R28s__condition_blocked_queue_t28s__condition_blocked_queue_t_autogen___1(struct __condition_blocked_queue_t *___dst__R28s__condition_blocked_queue_t_1, struct __condition_blocked_queue_t ___src__28s__condition_blocked_queue_t_1){
     1001    ((void)((*___dst__R28s__condition_blocked_queue_t_1).__head__P19s__condition_node_t_1=___src__28s__condition_blocked_queue_t_1.__head__P19s__condition_node_t_1) /* ?{} */);
     1002    ((void)((*___dst__R28s__condition_blocked_queue_t_1).__tail__PP19s__condition_node_t_1=___src__28s__condition_blocked_queue_t_1.__tail__PP19s__condition_node_t_1) /* ?{} */);
     1003}
     1004static inline void ___destructor__F_R28s__condition_blocked_queue_t_autogen___1(struct __condition_blocked_queue_t *___dst__R28s__condition_blocked_queue_t_1){
     1005    ((void)((*___dst__R28s__condition_blocked_queue_t_1).__tail__PP19s__condition_node_t_1) /* ^?{} */);
     1006    ((void)((*___dst__R28s__condition_blocked_queue_t_1).__head__P19s__condition_node_t_1) /* ^?{} */);
     1007}
     1008static inline struct __condition_blocked_queue_t ___operator_assign__F28s__condition_blocked_queue_t_R28s__condition_blocked_queue_t28s__condition_blocked_queue_t_autogen___1(struct __condition_blocked_queue_t *___dst__R28s__condition_blocked_queue_t_1, struct __condition_blocked_queue_t ___src__28s__condition_blocked_queue_t_1){
     1009    struct __condition_blocked_queue_t ___ret__28s__condition_blocked_queue_t_1;
     1010    ((void)((*___dst__R28s__condition_blocked_queue_t_1).__head__P19s__condition_node_t_1=___src__28s__condition_blocked_queue_t_1.__head__P19s__condition_node_t_1));
     1011    ((void)((*___dst__R28s__condition_blocked_queue_t_1).__tail__PP19s__condition_node_t_1=___src__28s__condition_blocked_queue_t_1.__tail__PP19s__condition_node_t_1));
     1012    ((void)___constructor__F_R28s__condition_blocked_queue_t28s__condition_blocked_queue_t_autogen___1((&___ret__28s__condition_blocked_queue_t_1), ___src__28s__condition_blocked_queue_t_1));
     1013    return ((struct __condition_blocked_queue_t )___ret__28s__condition_blocked_queue_t_1);
     1014}
     1015static inline void ___constructor__F_R28s__condition_blocked_queue_tP19s__condition_node_t_autogen___1(struct __condition_blocked_queue_t *___dst__R28s__condition_blocked_queue_t_1, struct __condition_node_t *__head__P19s__condition_node_t_1){
     1016    ((void)((*___dst__R28s__condition_blocked_queue_t_1).__head__P19s__condition_node_t_1=__head__P19s__condition_node_t_1) /* ?{} */);
     1017    ((void)((*___dst__R28s__condition_blocked_queue_t_1).__tail__PP19s__condition_node_t_1) /* ?{} */);
     1018}
     1019static inline void ___constructor__F_R28s__condition_blocked_queue_tP19s__condition_node_tPP19s__condition_node_t_autogen___1(struct __condition_blocked_queue_t *___dst__R28s__condition_blocked_queue_t_1, struct __condition_node_t *__head__P19s__condition_node_t_1, struct __condition_node_t **__tail__PP19s__condition_node_t_1){
     1020    ((void)((*___dst__R28s__condition_blocked_queue_t_1).__head__P19s__condition_node_t_1=__head__P19s__condition_node_t_1) /* ?{} */);
     1021    ((void)((*___dst__R28s__condition_blocked_queue_t_1).__tail__PP19s__condition_node_t_1=__tail__PP19s__condition_node_t_1) /* ?{} */);
     1022}
     1023void ___constructor__F_R28s__condition_blocked_queue_t__1(struct __condition_blocked_queue_t *__anonymous_object198);
     1024void __append__F_P28s__condition_blocked_queue_tP19s__condition_node_t__1(struct __condition_blocked_queue_t *__anonymous_object199, struct __condition_node_t *__anonymous_object200);
     1025struct __condition_node_t *__pop_head__FP19s__condition_node_t_P28s__condition_blocked_queue_t__1(struct __condition_blocked_queue_t *__anonymous_object201);
     1026struct condition {
     1027    struct __condition_blocked_queue_t __blocked__28s__condition_blocked_queue_t_1;
     1028    struct monitor_desc **__monitors__PP13smonitor_desc_1;
     1029    unsigned short int __monitor_count__Us_1;
     1030};
     1031static inline void ___constructor__F_R10scondition_autogen___1(struct condition *___dst__R10scondition_1);
     1032static inline void ___constructor__F_R10scondition10scondition_autogen___1(struct condition *___dst__R10scondition_1, struct condition ___src__10scondition_1);
     1033static inline void ___destructor__F_R10scondition_autogen___1(struct condition *___dst__R10scondition_1);
     1034static inline struct condition ___operator_assign__F10scondition_R10scondition10scondition_autogen___1(struct condition *___dst__R10scondition_1, struct condition ___src__10scondition_1);
     1035static inline void ___constructor__F_R10scondition_autogen___1(struct condition *___dst__R10scondition_1){
     1036    ((void)___constructor__F_R28s__condition_blocked_queue_t__1((&(*___dst__R10scondition_1).__blocked__28s__condition_blocked_queue_t_1)));
     1037    ((void)((*___dst__R10scondition_1).__monitors__PP13smonitor_desc_1) /* ?{} */);
     1038    ((void)((*___dst__R10scondition_1).__monitor_count__Us_1) /* ?{} */);
     1039}
     1040static inline void ___constructor__F_R10scondition10scondition_autogen___1(struct condition *___dst__R10scondition_1, struct condition ___src__10scondition_1){
     1041    ((void)___constructor__F_R28s__condition_blocked_queue_t28s__condition_blocked_queue_t_autogen___1((&(*___dst__R10scondition_1).__blocked__28s__condition_blocked_queue_t_1), ___src__10scondition_1.__blocked__28s__condition_blocked_queue_t_1));
     1042    ((void)((*___dst__R10scondition_1).__monitors__PP13smonitor_desc_1=___src__10scondition_1.__monitors__PP13smonitor_desc_1) /* ?{} */);
     1043    ((void)((*___dst__R10scondition_1).__monitor_count__Us_1=___src__10scondition_1.__monitor_count__Us_1) /* ?{} */);
     1044}
     1045static inline void ___destructor__F_R10scondition_autogen___1(struct condition *___dst__R10scondition_1){
     1046    ((void)((*___dst__R10scondition_1).__monitor_count__Us_1) /* ^?{} */);
     1047    ((void)((*___dst__R10scondition_1).__monitors__PP13smonitor_desc_1) /* ^?{} */);
     1048    ((void)___destructor__F_R28s__condition_blocked_queue_t_autogen___1((&(*___dst__R10scondition_1).__blocked__28s__condition_blocked_queue_t_1)));
     1049}
     1050static inline struct condition ___operator_assign__F10scondition_R10scondition10scondition_autogen___1(struct condition *___dst__R10scondition_1, struct condition ___src__10scondition_1){
     1051    struct condition ___ret__10scondition_1;
     1052    struct __condition_blocked_queue_t _tmp_cp56;
     1053    struct __condition_blocked_queue_t _tmp_cp_ret29;
     1054    ((void)(((void)(_tmp_cp_ret29=___operator_assign__F28s__condition_blocked_queue_t_R28s__condition_blocked_queue_t28s__condition_blocked_queue_t_autogen___1((&(*___dst__R10scondition_1).__blocked__28s__condition_blocked_queue_t_1), (((void)___constructor__F_R28s__condition_blocked_queue_t28s__condition_blocked_queue_t_autogen___1((&_tmp_cp56), ___src__10scondition_1.__blocked__28s__condition_blocked_queue_t_1)) , _tmp_cp56)))) , _tmp_cp_ret29));
     1055    ((void)___destructor__F_R28s__condition_blocked_queue_t_autogen___1((&_tmp_cp_ret29)));
     1056    ((void)___destructor__F_R28s__condition_blocked_queue_t_autogen___1((&_tmp_cp56)));
     1057    ((void)((*___dst__R10scondition_1).__monitors__PP13smonitor_desc_1=___src__10scondition_1.__monitors__PP13smonitor_desc_1));
     1058    ((void)((*___dst__R10scondition_1).__monitor_count__Us_1=___src__10scondition_1.__monitor_count__Us_1));
     1059    ((void)___constructor__F_R10scondition10scondition_autogen___1((&___ret__10scondition_1), ___src__10scondition_1));
     1060    return ((struct condition )___ret__10scondition_1);
     1061}
     1062static inline void ___constructor__F_R10scondition28s__condition_blocked_queue_t_autogen___1(struct condition *___dst__R10scondition_1, struct __condition_blocked_queue_t __blocked__28s__condition_blocked_queue_t_1){
     1063    ((void)___constructor__F_R28s__condition_blocked_queue_t28s__condition_blocked_queue_t_autogen___1((&(*___dst__R10scondition_1).__blocked__28s__condition_blocked_queue_t_1), __blocked__28s__condition_blocked_queue_t_1));
     1064    ((void)((*___dst__R10scondition_1).__monitors__PP13smonitor_desc_1) /* ?{} */);
     1065    ((void)((*___dst__R10scondition_1).__monitor_count__Us_1) /* ?{} */);
     1066}
     1067static inline void ___constructor__F_R10scondition28s__condition_blocked_queue_tPP13smonitor_desc_autogen___1(struct condition *___dst__R10scondition_1, struct __condition_blocked_queue_t __blocked__28s__condition_blocked_queue_t_1, struct monitor_desc **__monitors__PP13smonitor_desc_1){
     1068    ((void)___constructor__F_R28s__condition_blocked_queue_t28s__condition_blocked_queue_t_autogen___1((&(*___dst__R10scondition_1).__blocked__28s__condition_blocked_queue_t_1), __blocked__28s__condition_blocked_queue_t_1));
     1069    ((void)((*___dst__R10scondition_1).__monitors__PP13smonitor_desc_1=__monitors__PP13smonitor_desc_1) /* ?{} */);
     1070    ((void)((*___dst__R10scondition_1).__monitor_count__Us_1) /* ?{} */);
     1071}
     1072static inline void ___constructor__F_R10scondition28s__condition_blocked_queue_tPP13smonitor_descUs_autogen___1(struct condition *___dst__R10scondition_1, struct __condition_blocked_queue_t __blocked__28s__condition_blocked_queue_t_1, struct monitor_desc **__monitors__PP13smonitor_desc_1, unsigned short int __monitor_count__Us_1){
     1073    ((void)___constructor__F_R28s__condition_blocked_queue_t28s__condition_blocked_queue_t_autogen___1((&(*___dst__R10scondition_1).__blocked__28s__condition_blocked_queue_t_1), __blocked__28s__condition_blocked_queue_t_1));
     1074    ((void)((*___dst__R10scondition_1).__monitors__PP13smonitor_desc_1=__monitors__PP13smonitor_desc_1) /* ?{} */);
     1075    ((void)((*___dst__R10scondition_1).__monitor_count__Us_1=__monitor_count__Us_1) /* ?{} */);
     1076}
     1077static inline void ___constructor__F_R10scondition__1(struct condition *__this__R10scondition_1){
     1078    ((void)___constructor__F_R28s__condition_blocked_queue_t__1((&(*__this__R10scondition_1).__blocked__28s__condition_blocked_queue_t_1)));
     1079    ((void)((*__this__R10scondition_1).__monitors__PP13smonitor_desc_1) /* ?{} */);
     1080    ((void)((*__this__R10scondition_1).__monitor_count__Us_1) /* ?{} */);
     1081    ((void)((*__this__R10scondition_1).__monitors__PP13smonitor_desc_1=((void *)0)));
     1082    ((void)((*__this__R10scondition_1).__monitor_count__Us_1=((unsigned short int )0)));
     1083}
     1084static inline void ___destructor__F_R10scondition__1(struct condition *__this__R10scondition_1){
     1085    ((void)free(((void *)(*__this__R10scondition_1).__monitors__PP13smonitor_desc_1)));
     1086    ((void)((*__this__R10scondition_1).__monitor_count__Us_1) /* ^?{} */);
     1087    ((void)((*__this__R10scondition_1).__monitors__PP13smonitor_desc_1) /* ^?{} */);
     1088    ((void)___destructor__F_R28s__condition_blocked_queue_t_autogen___1((&(*__this__R10scondition_1).__blocked__28s__condition_blocked_queue_t_1)));
     1089}
     1090void __wait__F_P10sconditionUl__1(struct condition *__this__P10scondition_1, unsigned long int __user_info__Ul_1);
     1091_Bool __signal__Fb_P10scondition__1(struct condition *__this__P10scondition_1);
     1092_Bool __signal_block__Fb_P10scondition__1(struct condition *__this__P10scondition_1);
     1093static inline _Bool __is_empty__Fb_P10scondition__1(struct condition *__this__P10scondition_1){
     1094    __attribute__ ((unused)) _Bool ___retval_is_empty__b_1;
     1095    ((void)(___retval_is_empty__b_1=((_Bool )(!(*__this__P10scondition_1).__blocked__28s__condition_blocked_queue_t_1.__head__P19s__condition_node_t_1))) /* ?{} */);
     1096    return ((_Bool )___retval_is_empty__b_1);
     1097}
     1098unsigned long int __front__FUl_P10scondition__1(struct condition *__this__P10scondition_1);
     1099struct __acceptable_t {
     1100    struct __monitor_group_t __anonymous_object202;
     1101    _Bool __is_dtor__b_1;
     1102};
     1103static inline void ___constructor__F_R15s__acceptable_t_autogen___1(struct __acceptable_t *___dst__R15s__acceptable_t_1);
     1104static inline void ___constructor__F_R15s__acceptable_t15s__acceptable_t_autogen___1(struct __acceptable_t *___dst__R15s__acceptable_t_1, struct __acceptable_t ___src__15s__acceptable_t_1);
     1105static inline void ___destructor__F_R15s__acceptable_t_autogen___1(struct __acceptable_t *___dst__R15s__acceptable_t_1);
     1106static inline struct __acceptable_t ___operator_assign__F15s__acceptable_t_R15s__acceptable_t15s__acceptable_t_autogen___1(struct __acceptable_t *___dst__R15s__acceptable_t_1, struct __acceptable_t ___src__15s__acceptable_t_1);
     1107static inline void ___constructor__F_R15s__acceptable_t_autogen___1(struct __acceptable_t *___dst__R15s__acceptable_t_1){
     1108    ((void)((*___dst__R15s__acceptable_t_1).__is_dtor__b_1) /* ?{} */);
     1109}
     1110static inline void ___constructor__F_R15s__acceptable_t15s__acceptable_t_autogen___1(struct __acceptable_t *___dst__R15s__acceptable_t_1, struct __acceptable_t ___src__15s__acceptable_t_1){
     1111    ((void)((*___dst__R15s__acceptable_t_1).__is_dtor__b_1=___src__15s__acceptable_t_1.__is_dtor__b_1) /* ?{} */);
     1112}
     1113static inline void ___destructor__F_R15s__acceptable_t_autogen___1(struct __acceptable_t *___dst__R15s__acceptable_t_1){
     1114    ((void)((*___dst__R15s__acceptable_t_1).__is_dtor__b_1) /* ^?{} */);
     1115}
     1116static inline struct __acceptable_t ___operator_assign__F15s__acceptable_t_R15s__acceptable_t15s__acceptable_t_autogen___1(struct __acceptable_t *___dst__R15s__acceptable_t_1, struct __acceptable_t ___src__15s__acceptable_t_1){
     1117    struct __acceptable_t ___ret__15s__acceptable_t_1;
     1118    ((void)((*___dst__R15s__acceptable_t_1).__is_dtor__b_1=___src__15s__acceptable_t_1.__is_dtor__b_1));
     1119    ((void)___constructor__F_R15s__acceptable_t15s__acceptable_t_autogen___1((&___ret__15s__acceptable_t_1), ___src__15s__acceptable_t_1));
     1120    return ((struct __acceptable_t )___ret__15s__acceptable_t_1);
     1121}
     1122static inline void ___constructor__F_R15s__acceptable_tb_autogen___1(struct __acceptable_t *___dst__R15s__acceptable_t_1, _Bool __is_dtor__b_1){
     1123    ((void)((*___dst__R15s__acceptable_t_1).__is_dtor__b_1=__is_dtor__b_1) /* ?{} */);
     1124}
     1125void ____waitfor_internal__F_RC17s__waitfor_mask_ti__1(const struct __waitfor_mask_t *__mask__RC17s__waitfor_mask_t_1, signed int __duration__i_1);
     1126struct M;
     1127static inline struct monitor_desc *__get_monitor__FP13smonitor_desc_R2sM__1(struct M *__this__R2sM_1);
     1128struct M {
     1129    struct monitor_desc ____mon__13smonitor_desc_1;
     1130};
     1131static inline void ___constructor__F_R2sM_autogen___1(struct M *___dst__R2sM_1);
     1132static inline void ___constructor__F_R2sM2sM_autogen___1(struct M *___dst__R2sM_1, struct M ___src__2sM_1);
     1133static inline void ___destructor__F_MR2sM_autogen___1(struct M *___dst__MR2sM_1);
     1134static inline struct M ___operator_assign__F2sM_R2sM2sM_autogen___1(struct M *___dst__R2sM_1, struct M ___src__2sM_1);
     1135static inline void ___constructor__F_R2sM_autogen___1(struct M *___dst__R2sM_1){
     1136    ((void)___constructor__F_R13smonitor_desc__1((&(*___dst__R2sM_1).____mon__13smonitor_desc_1)));
     1137}
     1138static inline void ___constructor__F_R2sM2sM_autogen___1(struct M *___dst__R2sM_1, struct M ___src__2sM_1){
     1139    ((void)___constructor__F_R13smonitor_desc13smonitor_desc_autogen___1((&(*___dst__R2sM_1).____mon__13smonitor_desc_1), ___src__2sM_1.____mon__13smonitor_desc_1));
     1140}
     1141static inline void ___destructor__F_MR2sM_autogen___1(struct M *___dst__MR2sM_1){
     1142    struct monitor_desc *_tmp_cp_ret30;
     1143    struct monitor_desc *____monitors__A0P13smonitor_desc_2[((unsigned long int )1)] = { ((struct monitor_desc *)(((void)(_tmp_cp_ret30=__get_monitor__FP13smonitor_desc_R2sM__1(((struct M *)___dst__MR2sM_1)))) , _tmp_cp_ret30)) };
     1144    ((void)(_tmp_cp_ret30) /* ^?{} */);
     1145    struct monitor_guard_t ____guard__16smonitor_guard_t_2;
     1146    ((void)___constructor__F_R16smonitor_guard_tPP13smonitor_desciPF____1((&____guard__16smonitor_guard_t_2), ____monitors__A0P13smonitor_desc_2, ((signed int )1), ((void (*)())((void (*)())___destructor__F_MR2sM_autogen___1))));
     1147    ((void)___destructor__F_R13smonitor_desc_autogen___1((&(*___dst__MR2sM_1).____mon__13smonitor_desc_1)));
     1148    ((void)___destructor__F_R16smonitor_guard_t__1((&____guard__16smonitor_guard_t_2)));
     1149}
     1150static inline struct M ___operator_assign__F2sM_R2sM2sM_autogen___1(struct M *___dst__R2sM_1, struct M ___src__2sM_1){
     1151    struct M ___ret__2sM_1;
     1152    struct monitor_desc _tmp_cp60;
     1153    struct monitor_desc _tmp_cp_ret31;
     1154    ((void)(((void)(_tmp_cp_ret31=___operator_assign__F13smonitor_desc_R13smonitor_desc13smonitor_desc_autogen___1((&(*___dst__R2sM_1).____mon__13smonitor_desc_1), (((void)___constructor__F_R13smonitor_desc13smonitor_desc_autogen___1((&_tmp_cp60), ___src__2sM_1.____mon__13smonitor_desc_1)) , _tmp_cp60)))) , _tmp_cp_ret31));
     1155    ((void)___destructor__F_R13smonitor_desc_autogen___1((&_tmp_cp_ret31)));
     1156    ((void)___destructor__F_R13smonitor_desc_autogen___1((&_tmp_cp60)));
     1157    ((void)___constructor__F_R2sM2sM_autogen___1((&___ret__2sM_1), ___src__2sM_1));
     1158    return ((struct M )___ret__2sM_1);
     1159}
     1160static inline void ___constructor__F_R2sM13smonitor_desc_autogen___1(struct M *___dst__R2sM_1, struct monitor_desc ____mon__13smonitor_desc_1){
     1161    ((void)___constructor__F_R13smonitor_desc13smonitor_desc_autogen___1((&(*___dst__R2sM_1).____mon__13smonitor_desc_1), ____mon__13smonitor_desc_1));
     1162}
     1163static inline struct monitor_desc *__get_monitor__FP13smonitor_desc_R2sM__1(struct M *__this__R2sM_1){
     1164    struct monitor_desc *__ret__P13smonitor_desc_1;
     1165    ((void)(__ret__P13smonitor_desc_1=(&(*__this__R2sM_1).____mon__13smonitor_desc_1)) /* ?{} */);
     1166    return ((struct monitor_desc *)__ret__P13smonitor_desc_1);
     1167}
     1168struct M __a__2sM_1;
     1169void __f1__F_MR2sM__1(struct M *__a__MR2sM_1);
     1170void __f2__F_MR2sM__1(struct M *__a__MR2sM_1);
     1171void __f2__F_MR2sMMR2sM__1(struct M *__a__MR2sM_1, struct M *__b__MR2sM_1);
     1172void __f3__F_MR2sM__1(struct M *__a__MR2sM_1);
     1173void __f3__F_MR2sMMR2sM__1(struct M *__a__MR2sM_1, struct M *__b__MR2sM_1);
     1174void __f3__F_MR2sMMR2sMMR2sM__1(struct M *__a__MR2sM_1, struct M *__b__MR2sM_1, struct M *__c__MR2sM_1);
     1175void __foo__F___1(){
     1176    {
     1177        struct __acceptable_t __acceptables_0[1];
     1178        ((void)__builtin_memset(((void *)__acceptables_0), 0, sizeof(__acceptables_0)));
     1179        _Bool __do_run_0 = 0;
     1180        struct monitor_desc *__monitors_0[1] = { ((struct monitor_desc *)__get_monitor__FP13smonitor_desc_R2sM__1((&__a__2sM_1))) };
     1181        if ( 1 ) {
     1182            ((void)(__acceptables_0[((signed long int )0)].__is_dtor__b_1=0));
     1183            ((void)(__acceptables_0[((signed long int )0)].__anonymous_object202.func=((void (*)())__f1__F_MR2sM__1)));
     1184            ((void)(__acceptables_0[((signed long int )0)].__anonymous_object202.list=__monitors_0));
     1185            ((void)(__acceptables_0[((signed long int )0)].__anonymous_object202.size=((signed short int )1)));
     1186            ((void)(__do_run_0=((_Bool )1)));
     1187        }
     1188
     1189        unsigned long long int __timeout_0 = -1;
     1190        if ( __do_run_0 ) {
     1191            signed short int __index_0 = -1;
     1192            struct __waitfor_mask_t __mask_0 = { (&__index_0), __acceptables_0, 1 };
     1193            ((void)____waitfor_internal__F_RC17s__waitfor_mask_ti__1((&__mask_0), __timeout_0));
     1194            switch ( __index_0 ) {
     1195                case 0:
     1196                    {
     1197                        ((void)1);
     1198                    }
     1199                    break;
     1200            }
     1201
     1202        }
     1203
     1204    }
     1205
     1206    {
     1207        struct __acceptable_t __acceptables_1[1];
     1208        ((void)__builtin_memset(((void *)__acceptables_1), 0, sizeof(__acceptables_1)));
     1209        _Bool __do_run_1 = 0;
     1210        struct monitor_desc *__monitors_1[1] = { ((struct monitor_desc *)__get_monitor__FP13smonitor_desc_R2sM__1((&__a__2sM_1))) };
     1211        if ( 1 ) {
     1212            ((void)(__acceptables_1[((signed long int )0)].__is_dtor__b_1=0));
     1213            ((void)(__acceptables_1[((signed long int )0)].__anonymous_object202.func=((void (*)())__f1__F_MR2sM__1)));
     1214            ((void)(__acceptables_1[((signed long int )0)].__anonymous_object202.list=__monitors_1));
     1215            ((void)(__acceptables_1[((signed long int )0)].__anonymous_object202.size=((signed short int )1)));
     1216            ((void)(__do_run_1=((_Bool )1)));
     1217        }
     1218
     1219        unsigned long long int __timeout_1 = -1;
     1220        if ( __do_run_1 ) {
     1221            signed short int __index_1 = -1;
     1222            struct __waitfor_mask_t __mask_1 = { (&__index_1), __acceptables_1, 1 };
     1223            ((void)____waitfor_internal__F_RC17s__waitfor_mask_ti__1((&__mask_1), __timeout_1));
     1224            switch ( __index_1 ) {
     1225                case 0:
     1226                    {
     1227                        ((void)2);
     1228                    }
     1229                    break;
     1230            }
     1231
     1232        }
     1233
     1234    }
     1235
     1236    {
     1237        struct __acceptable_t __acceptables_2[1];
     1238        ((void)__builtin_memset(((void *)__acceptables_2), 0, sizeof(__acceptables_2)));
     1239        _Bool __do_run_2 = 0;
     1240        struct monitor_desc *__monitors_2[1] = { ((struct monitor_desc *)__get_monitor__FP13smonitor_desc_R2sM__1((&__a__2sM_1))) };
     1241        if ( 1 ) {
     1242            ((void)(__acceptables_2[((signed long int )0)].__is_dtor__b_1=0));
     1243            ((void)(__acceptables_2[((signed long int )0)].__anonymous_object202.func=((void (*)())__f2__F_MR2sM__1)));
     1244            ((void)(__acceptables_2[((signed long int )0)].__anonymous_object202.list=__monitors_2));
     1245            ((void)(__acceptables_2[((signed long int )0)].__anonymous_object202.size=((signed short int )1)));
     1246            ((void)(__do_run_2=((_Bool )1)));
     1247        }
     1248
     1249        unsigned long long int __timeout_2 = -1;
     1250        if ( __do_run_2 ) {
     1251            signed short int __index_2 = -1;
     1252            struct __waitfor_mask_t __mask_2 = { (&__index_2), __acceptables_2, 1 };
     1253            ((void)____waitfor_internal__F_RC17s__waitfor_mask_ti__1((&__mask_2), __timeout_2));
     1254            switch ( __index_2 ) {
     1255                case 0:
     1256                    {
     1257                        ((void)3);
     1258                    }
     1259                    break;
     1260            }
     1261
     1262        }
     1263
     1264    }
     1265
     1266    {
     1267        struct __acceptable_t __acceptables_3[1];
     1268        ((void)__builtin_memset(((void *)__acceptables_3), 0, sizeof(__acceptables_3)));
     1269        _Bool __do_run_3 = 0;
     1270        struct monitor_desc *__monitors_3[2] = { ((struct monitor_desc *)__get_monitor__FP13smonitor_desc_R2sM__1((&__a__2sM_1))), ((struct monitor_desc *)__get_monitor__FP13smonitor_desc_R2sM__1((&__a__2sM_1))) };
     1271        if ( ((signed int )((((signed int )1)<3)!=((signed int )0))) ) {
     1272            ((void)(__acceptables_3[((signed long int )0)].__is_dtor__b_1=0));
     1273            ((void)(__acceptables_3[((signed long int )0)].__anonymous_object202.func=((void (*)())__f2__F_MR2sMMR2sM__1)));
     1274            ((void)(__acceptables_3[((signed long int )0)].__anonymous_object202.list=__monitors_3));
     1275            ((void)(__acceptables_3[((signed long int )0)].__anonymous_object202.size=((signed short int )2)));
     1276            ((void)(__do_run_3=((_Bool )1)));
     1277        }
     1278
     1279        unsigned long long int __timeout_3 = -1;
     1280        if ( 1 ) {
     1281            ((void)(__timeout_3=((unsigned long long int )100)));
     1282            ((void)(__do_run_3=((_Bool )1)));
     1283        }
     1284
     1285        if ( __do_run_3 ) {
     1286            signed short int __index_3 = -1;
     1287            struct __waitfor_mask_t __mask_3 = { (&__index_3), __acceptables_3, 1 };
     1288            ((void)____waitfor_internal__F_RC17s__waitfor_mask_ti__1((&__mask_3), __timeout_3));
     1289            switch ( __index_3 ) {
     1290                case 0:
     1291                    {
     1292                        ((void)4);
     1293                    }
     1294                    break;
     1295                case -2:
     1296                    {
     1297                        ((void)5);
     1298                    }
     1299                    break;
     1300            }
     1301
     1302        }
     1303
     1304    }
     1305
     1306    {
     1307        struct __acceptable_t __acceptables_4[1];
     1308        ((void)__builtin_memset(((void *)__acceptables_4), 0, sizeof(__acceptables_4)));
     1309        _Bool __do_run_4 = 0;
     1310        struct monitor_desc *__monitors_4[1] = { ((struct monitor_desc *)__get_monitor__FP13smonitor_desc_R2sM__1((&__a__2sM_1))) };
     1311        if ( ((signed int )((2<3)!=((signed int )0))) ) {
     1312            ((void)(__acceptables_4[((signed long int )0)].__is_dtor__b_1=0));
     1313            ((void)(__acceptables_4[((signed long int )0)].__anonymous_object202.func=((void (*)())__f3__F_MR2sM__1)));
     1314            ((void)(__acceptables_4[((signed long int )0)].__anonymous_object202.list=__monitors_4));
     1315            ((void)(__acceptables_4[((signed long int )0)].__anonymous_object202.size=((signed short int )1)));
     1316            ((void)(__do_run_4=((_Bool )1)));
     1317        }
     1318
     1319        unsigned long long int __timeout_4 = -1;
     1320        if ( 1 ) {
     1321            ((void)(__timeout_4=0));
     1322            ((void)(__do_run_4=((_Bool )1)));
     1323        }
     1324
     1325        if ( __do_run_4 ) {
     1326            signed short int __index_4 = -1;
     1327            struct __waitfor_mask_t __mask_4 = { (&__index_4), __acceptables_4, 1 };
     1328            ((void)____waitfor_internal__F_RC17s__waitfor_mask_ti__1((&__mask_4), __timeout_4));
     1329            switch ( __index_4 ) {
     1330                case 0:
     1331                    {
     1332                        ((void)5);
     1333                    }
     1334                    break;
     1335                case -1:
     1336                    {
     1337                        ((void)6);
     1338                    }
     1339                    break;
     1340            }
     1341
     1342        }
     1343
     1344    }
     1345
     1346    {
     1347        struct __acceptable_t __acceptables_5[1];
     1348        ((void)__builtin_memset(((void *)__acceptables_5), 0, sizeof(__acceptables_5)));
     1349        _Bool __do_run_5 = 0;
     1350        struct monitor_desc *__monitors_5[2] = { ((struct monitor_desc *)__get_monitor__FP13smonitor_desc_R2sM__1((&__a__2sM_1))), ((struct monitor_desc *)__get_monitor__FP13smonitor_desc_R2sM__1((&__a__2sM_1))) };
     1351        if ( ((signed int )((3<3)!=((signed int )0))) ) {
     1352            ((void)(__acceptables_5[((signed long int )0)].__is_dtor__b_1=0));
     1353            ((void)(__acceptables_5[((signed long int )0)].__anonymous_object202.func=((void (*)())__f3__F_MR2sMMR2sM__1)));
     1354            ((void)(__acceptables_5[((signed long int )0)].__anonymous_object202.list=__monitors_5));
     1355            ((void)(__acceptables_5[((signed long int )0)].__anonymous_object202.size=((signed short int )2)));
     1356            ((void)(__do_run_5=((_Bool )1)));
     1357        }
     1358
     1359        unsigned long long int __timeout_5 = -1;
     1360        if ( ((signed int )((4<3)!=((signed int )0))) ) {
     1361            ((void)(__timeout_5=((unsigned long long int )101)));
     1362            ((void)(__do_run_5=((_Bool )1)));
     1363        }
     1364
     1365        if ( ((signed int )((5<3)!=((signed int )0))) ) {
     1366            ((void)(__timeout_5=0));
     1367            ((void)(__do_run_5=((_Bool )1)));
     1368        }
     1369
     1370        if ( __do_run_5 ) {
     1371            signed short int __index_5 = -1;
     1372            struct __waitfor_mask_t __mask_5 = { (&__index_5), __acceptables_5, 1 };
     1373            ((void)____waitfor_internal__F_RC17s__waitfor_mask_ti__1((&__mask_5), __timeout_5));
     1374            switch ( __index_5 ) {
     1375                case 0:
     1376                    {
     1377                        ((void)7);
     1378                    }
     1379                    break;
     1380                case -2:
     1381                    {
     1382                        ((void)8);
     1383                    }
     1384                    break;
     1385                case -1:
     1386                    {
     1387                        ((void)9);
     1388                    }
     1389                    break;
     1390            }
     1391
     1392        }
     1393
     1394    }
     1395
     1396    {
     1397        struct __acceptable_t __acceptables_6[2];
     1398        ((void)__builtin_memset(((void *)__acceptables_6), 0, sizeof(__acceptables_6)));
     1399        _Bool __do_run_6 = 0;
     1400        struct monitor_desc *__monitors_6[3] = { ((struct monitor_desc *)__get_monitor__FP13smonitor_desc_R2sM__1((&__a__2sM_1))), ((struct monitor_desc *)__get_monitor__FP13smonitor_desc_R2sM__1((&__a__2sM_1))), ((struct monitor_desc *)__get_monitor__FP13smonitor_desc_R2sM__1((&__a__2sM_1))) };
     1401        if ( ((signed int )((6<3)!=((signed int )0))) ) {
     1402            ((void)(__acceptables_6[((signed long int )0)].__is_dtor__b_1=0));
     1403            ((void)(__acceptables_6[((signed long int )0)].__anonymous_object202.func=((void (*)())__f3__F_MR2sMMR2sMMR2sM__1)));
     1404            ((void)(__acceptables_6[((signed long int )0)].__anonymous_object202.list=__monitors_6));
     1405            ((void)(__acceptables_6[((signed long int )0)].__anonymous_object202.size=((signed short int )3)));
     1406            ((void)(__do_run_6=((_Bool )1)));
     1407        }
     1408
     1409        struct monitor_desc *__monitors_7[1] = { ((struct monitor_desc *)__get_monitor__FP13smonitor_desc_R2sM__1((&__a__2sM_1))) };
     1410        if ( ((signed int )((7<3)!=((signed int )0))) ) {
     1411            ((void)(__acceptables_6[((signed long int )1)].__is_dtor__b_1=0));
     1412            ((void)(__acceptables_6[((signed long int )1)].__anonymous_object202.func=((void (*)())__f1__F_MR2sM__1)));
     1413            ((void)(__acceptables_6[((signed long int )1)].__anonymous_object202.list=__monitors_7));
     1414            ((void)(__acceptables_6[((signed long int )1)].__anonymous_object202.size=((signed short int )1)));
     1415            ((void)(__do_run_6=((_Bool )1)));
     1416        }
     1417
     1418        unsigned long long int __timeout_6 = -1;
     1419        if ( 1 ) {
     1420            ((void)(__timeout_6=0));
     1421            ((void)(__do_run_6=((_Bool )1)));
     1422        }
     1423
     1424        if ( __do_run_6 ) {
     1425            signed short int __index_6 = -1;
     1426            struct __waitfor_mask_t __mask_6 = { (&__index_6), __acceptables_6, 2 };
     1427            ((void)____waitfor_internal__F_RC17s__waitfor_mask_ti__1((&__mask_6), __timeout_6));
     1428            switch ( __index_6 ) {
     1429                case 0:
     1430                    {
     1431                        ((void)10);
     1432                    }
     1433                    break;
     1434                case 1:
     1435                    {
     1436                        ((void)11);
     1437                    }
     1438                    break;
     1439                case -1:
     1440                    {
     1441                        ((void)12);
     1442                    }
     1443                    break;
     1444            }
     1445
     1446        }
     1447
     1448    }
     1449
     1450    {
     1451        struct __acceptable_t __acceptables_7[2];
     1452        ((void)__builtin_memset(((void *)__acceptables_7), 0, sizeof(__acceptables_7)));
     1453        _Bool __do_run_7 = 0;
     1454        struct monitor_desc *__monitors_8[2] = { ((struct monitor_desc *)__get_monitor__FP13smonitor_desc_R2sM__1((&__a__2sM_1))), ((struct monitor_desc *)__get_monitor__FP13smonitor_desc_R2sM__1((&__a__2sM_1))) };
     1455        if ( ((signed int )((8<3)!=((signed int )0))) ) {
     1456            ((void)(__acceptables_7[((signed long int )0)].__is_dtor__b_1=0));
     1457            ((void)(__acceptables_7[((signed long int )0)].__anonymous_object202.func=((void (*)())__f3__F_MR2sMMR2sM__1)));
     1458            ((void)(__acceptables_7[((signed long int )0)].__anonymous_object202.list=__monitors_8));
     1459            ((void)(__acceptables_7[((signed long int )0)].__anonymous_object202.size=((signed short int )2)));
     1460            ((void)(__do_run_7=((_Bool )1)));
     1461        }
     1462
     1463        struct monitor_desc *__monitors_9[1] = { ((struct monitor_desc *)__get_monitor__FP13smonitor_desc_R2sM__1((&__a__2sM_1))) };
     1464        if ( 1 ) {
     1465            ((void)(__acceptables_7[((signed long int )1)].__is_dtor__b_1=0));
     1466            ((void)(__acceptables_7[((signed long int )1)].__anonymous_object202.func=((void (*)())__f1__F_MR2sM__1)));
     1467            ((void)(__acceptables_7[((signed long int )1)].__anonymous_object202.list=__monitors_9));
     1468            ((void)(__acceptables_7[((signed long int )1)].__anonymous_object202.size=((signed short int )1)));
     1469            ((void)(__do_run_7=((_Bool )1)));
     1470        }
     1471
     1472        unsigned long long int __timeout_7 = -1;
     1473        if ( ((signed int )((9<3)!=((signed int )0))) ) {
     1474            ((void)(__timeout_7=((unsigned long long int )102)));
     1475            ((void)(__do_run_7=((_Bool )1)));
     1476        }
     1477
     1478        if ( __do_run_7 ) {
     1479            signed short int __index_7 = -1;
     1480            struct __waitfor_mask_t __mask_7 = { (&__index_7), __acceptables_7, 2 };
     1481            ((void)____waitfor_internal__F_RC17s__waitfor_mask_ti__1((&__mask_7), __timeout_7));
     1482            switch ( __index_7 ) {
     1483                case 0:
     1484                    {
     1485                        ((void)13);
     1486                    }
     1487                    break;
     1488                case 1:
     1489                    {
     1490                        ((void)14);
     1491                    }
     1492                    break;
     1493                case -2:
     1494                    {
     1495                        ((void)15);
     1496                    }
     1497                    break;
     1498            }
     1499
     1500        }
     1501
     1502    }
     1503
     1504    {
     1505        struct __acceptable_t __acceptables_8[2];
     1506        ((void)__builtin_memset(((void *)__acceptables_8), 0, sizeof(__acceptables_8)));
     1507        _Bool __do_run_8 = 0;
     1508        struct monitor_desc *__monitors_10[1] = { ((struct monitor_desc *)__get_monitor__FP13smonitor_desc_R2sM__1((&__a__2sM_1))) };
     1509        if ( ((signed int )((10<3)!=((signed int )0))) ) {
     1510            ((void)(__acceptables_8[((signed long int )0)].__is_dtor__b_1=0));
     1511            ((void)(__acceptables_8[((signed long int )0)].__anonymous_object202.func=((void (*)())__f1__F_MR2sM__1)));
     1512            ((void)(__acceptables_8[((signed long int )0)].__anonymous_object202.list=__monitors_10));
     1513            ((void)(__acceptables_8[((signed long int )0)].__anonymous_object202.size=((signed short int )1)));
     1514            ((void)(__do_run_8=((_Bool )1)));
     1515        }
     1516
     1517        struct monitor_desc *__monitors_11[2] = { ((struct monitor_desc *)__get_monitor__FP13smonitor_desc_R2sM__1((&__a__2sM_1))), ((struct monitor_desc *)__get_monitor__FP13smonitor_desc_R2sM__1((&__a__2sM_1))) };
     1518        if ( 1 ) {
     1519            ((void)(__acceptables_8[((signed long int )1)].__is_dtor__b_1=0));
     1520            ((void)(__acceptables_8[((signed long int )1)].__anonymous_object202.func=((void (*)())__f2__F_MR2sMMR2sM__1)));
     1521            ((void)(__acceptables_8[((signed long int )1)].__anonymous_object202.list=__monitors_11));
     1522            ((void)(__acceptables_8[((signed long int )1)].__anonymous_object202.size=((signed short int )2)));
     1523            ((void)(__do_run_8=((_Bool )1)));
     1524        }
     1525
     1526        unsigned long long int __timeout_8 = -1;
     1527        if ( 1 ) {
     1528            ((void)(__timeout_8=((unsigned long long int )103)));
     1529            ((void)(__do_run_8=((_Bool )1)));
     1530        }
     1531
     1532        if ( ((signed int )((11<3)!=((signed int )0))) ) {
     1533            ((void)(__timeout_8=0));
     1534            ((void)(__do_run_8=((_Bool )1)));
     1535        }
     1536
     1537        if ( __do_run_8 ) {
     1538            signed short int __index_8 = -1;
     1539            struct __waitfor_mask_t __mask_8 = { (&__index_8), __acceptables_8, 2 };
     1540            ((void)____waitfor_internal__F_RC17s__waitfor_mask_ti__1((&__mask_8), __timeout_8));
     1541            switch ( __index_8 ) {
     1542                case 0:
     1543                    {
     1544                        ((void)16);
     1545                    }
     1546                    break;
     1547                case 1:
     1548                    {
     1549                        ((void)17);
     1550                    }
     1551                    break;
     1552                case -2:
     1553                    {
     1554                        ((void)18);
     1555                    }
     1556                    break;
     1557                case -1:
     1558                    {
     1559                        ((void)19);
     1560                    }
     1561                    break;
     1562            }
     1563
     1564        }
     1565
     1566    }
     1567
     1568}
     1569signed int __main__Fi___1(){
     1570    __attribute__ ((unused)) signed int ___retval_main__i_1;
     1571    ((void)(___retval_main__i_1=0) /* ?{} */);
     1572    return ((signed int )___retval_main__i_1);
     1573}
     1574__attribute__ ((constructor)) static void _init_sched_ext_parse(void){
     1575    ((void)___constructor__F_R2sM_autogen___1((&__a__2sM_1)));
     1576}
     1577__attribute__ ((destructor)) static void _destroy_sched_ext_parse(void){
     1578    ((void)___destructor__F_MR2sM_autogen___1((&__a__2sM_1)));
     1579}
     1580static inline int invoke_main(int argc, char* argv[], char* envp[]) { (void)argc; (void)argv; (void)envp; return __main__Fi___1(); }
     1581__attribute__ ((__nothrow__,__leaf__,__malloc__)) extern void *malloc(unsigned long int __size);
     1582__attribute__ ((__nothrow__,__leaf__)) extern void free(void *__ptr);
     1583__attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void abort(void);
     1584__attribute__ ((__nothrow__,__leaf__,__nonnull__(1))) extern signed int atexit(void (*__func)(void));
     1585__attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void exit(signed int __status);
     1586extern signed int printf(const char *__restrict __format, ...);
     1587static inline signed int invoke_main(signed int argc, char **argv, char **envp);
     1588signed int main(signed int __argc__i_1, char **__argv__PPc_1, char **__envp__PPc_1){
     1589    __attribute__ ((unused)) signed int ___retval_main__i_1;
     1590    signed int _tmp_cp_ret0;
     1591    ((void)(___retval_main__i_1=(((void)(_tmp_cp_ret0=invoke_main(__argc__i_1, __argv__PPc_1, __envp__PPc_1))) , _tmp_cp_ret0)) /* ?{} */);
     1592    ((void)(_tmp_cp_ret0) /* ^?{} */);
     1593    return ((signed int )___retval_main__i_1);
     1594}
  • src/tests/Makefile.am

    r6ff4507 ra843067  
    104104        ${CC} ${AM_CFLAGS} ${CFLAGS} -CFA -XCFA -p -XCFA -L ${<} -o ${@}
    105105
     106sched-ext-parse : sched-ext-parse.c @CFA_BINDIR@/@CFA_NAME@
     107        ${CC} ${AM_CFLAGS} ${CFLAGS} -CFA -XCFA -p -XCFA -L ${<} -o ${@}
     108
    106109gmp : gmp.c @CFA_BINDIR@/@CFA_NAME@
    107110        ${CC} ${AM_CFLAGS} ${CFLAGS} -lgmp ${<} -o ${@}
  • src/tests/Makefile.in

    r6ff4507 ra843067  
    856856        ${CC} ${AM_CFLAGS} ${CFLAGS} -CFA -XCFA -p -XCFA -L ${<} -o ${@}
    857857
     858sched-ext-parse : sched-ext-parse.c @CFA_BINDIR@/@CFA_NAME@
     859        ${CC} ${AM_CFLAGS} ${CFLAGS} -CFA -XCFA -p -XCFA -L ${<} -o ${@}
     860
    858861gmp : gmp.c @CFA_BINDIR@/@CFA_NAME@
    859862        ${CC} ${AM_CFLAGS} ${CFLAGS} -lgmp ${<} -o ${@}
Note: See TracChangeset for help on using the changeset viewer.