source: CIVL/examples/pthread/svcomp/gcd_true-unreach-call_true-termination.i@ 1aaefd4

main test-branch
Last change on this file since 1aaefd4 was ea777aa, checked in by Alex Wilton <awilton@…>, 3 years ago

Moved examples, include, build_default.properties, common.xml, and README out from dev.civl.com into the root of the repo.

git-svn-id: svn://vsl.cis.udel.edu/civl/trunk@5704 fb995dde-84ed-4084-dfe6-e5aef3e2452c

  • Property mode set to 100644
File size: 33.9 KB
Line 
1# 1 "gcd_true-unreach-call_true-termination.c"
2# 1 "<built-in>"
3# 1 "<command-line>"
4# 1 "/usr/include/stdc-predef.h" 1 3 4
5# 1 "<command-line>" 2
6# 1 "gcd_true-unreach-call_true-termination.c"
7# 75 "gcd_true-unreach-call_true-termination.c"
8extern void __VERIFIER_error() __attribute__ ((__noreturn__));
9
10void __VERIFIER_assert(int cond) {
11 if (!(cond)) {
12 ERROR: __VERIFIER_error();
13 }
14 return;
15}
16
17extern unsigned int __VERIFIER_nondet_uint();
18
19# 1 "/usr/include/pthread.h" 1 3 4
20# 21 "/usr/include/pthread.h" 3 4
21# 1 "/usr/include/features.h" 1 3 4
22# 374 "/usr/include/features.h" 3 4
23# 1 "/usr/include/sys/cdefs.h" 1 3 4
24# 385 "/usr/include/sys/cdefs.h" 3 4
25# 1 "/usr/include/bits/wordsize.h" 1 3 4
26# 386 "/usr/include/sys/cdefs.h" 2 3 4
27# 375 "/usr/include/features.h" 2 3 4
28# 398 "/usr/include/features.h" 3 4
29# 1 "/usr/include/gnu/stubs.h" 1 3 4
30
31
32
33
34
35
36# 1 "/usr/include/gnu/stubs-32.h" 1 3 4
37# 8 "/usr/include/gnu/stubs.h" 2 3 4
38# 399 "/usr/include/features.h" 2 3 4
39# 22 "/usr/include/pthread.h" 2 3 4
40# 1 "/usr/include/endian.h" 1 3 4
41# 36 "/usr/include/endian.h" 3 4
42# 1 "/usr/include/bits/endian.h" 1 3 4
43# 37 "/usr/include/endian.h" 2 3 4
44# 60 "/usr/include/endian.h" 3 4
45# 1 "/usr/include/bits/byteswap.h" 1 3 4
46# 27 "/usr/include/bits/byteswap.h" 3 4
47# 1 "/usr/include/bits/types.h" 1 3 4
48# 27 "/usr/include/bits/types.h" 3 4
49# 1 "/usr/include/bits/wordsize.h" 1 3 4
50# 28 "/usr/include/bits/types.h" 2 3 4
51
52
53typedef unsigned char __u_char;
54typedef unsigned short int __u_short;
55typedef unsigned int __u_int;
56typedef unsigned long int __u_long;
57
58
59typedef signed char __int8_t;
60typedef unsigned char __uint8_t;
61typedef signed short int __int16_t;
62typedef unsigned short int __uint16_t;
63typedef signed int __int32_t;
64typedef unsigned int __uint32_t;
65
66
67
68
69__extension__ typedef signed long long int __int64_t;
70__extension__ typedef unsigned long long int __uint64_t;
71
72
73
74
75
76
77
78__extension__ typedef long long int __quad_t;
79__extension__ typedef unsigned long long int __u_quad_t;
80# 121 "/usr/include/bits/types.h" 3 4
81# 1 "/usr/include/bits/typesizes.h" 1 3 4
82# 122 "/usr/include/bits/types.h" 2 3 4
83
84
85__extension__ typedef __u_quad_t __dev_t;
86__extension__ typedef unsigned int __uid_t;
87__extension__ typedef unsigned int __gid_t;
88__extension__ typedef unsigned long int __ino_t;
89__extension__ typedef __u_quad_t __ino64_t;
90__extension__ typedef unsigned int __mode_t;
91__extension__ typedef unsigned int __nlink_t;
92__extension__ typedef long int __off_t;
93__extension__ typedef __quad_t __off64_t;
94__extension__ typedef int __pid_t;
95__extension__ typedef struct { int __val[2]; } __fsid_t;
96__extension__ typedef long int __clock_t;
97__extension__ typedef unsigned long int __rlim_t;
98__extension__ typedef __u_quad_t __rlim64_t;
99__extension__ typedef unsigned int __id_t;
100__extension__ typedef long int __time_t;
101__extension__ typedef unsigned int __useconds_t;
102__extension__ typedef long int __suseconds_t;
103
104__extension__ typedef int __daddr_t;
105__extension__ typedef int __key_t;
106
107
108__extension__ typedef int __clockid_t;
109
110
111__extension__ typedef void * __timer_t;
112
113
114__extension__ typedef long int __blksize_t;
115
116
117
118
119__extension__ typedef long int __blkcnt_t;
120__extension__ typedef __quad_t __blkcnt64_t;
121
122
123__extension__ typedef unsigned long int __fsblkcnt_t;
124__extension__ typedef __u_quad_t __fsblkcnt64_t;
125
126
127__extension__ typedef unsigned long int __fsfilcnt_t;
128__extension__ typedef __u_quad_t __fsfilcnt64_t;
129
130
131__extension__ typedef int __fsword_t;
132
133__extension__ typedef int __ssize_t;
134
135
136__extension__ typedef long int __syscall_slong_t;
137
138__extension__ typedef unsigned long int __syscall_ulong_t;
139
140
141
142typedef __off64_t __loff_t;
143typedef __quad_t *__qaddr_t;
144typedef char *__caddr_t;
145
146
147__extension__ typedef int __intptr_t;
148
149
150__extension__ typedef unsigned int __socklen_t;
151# 28 "/usr/include/bits/byteswap.h" 2 3 4
152# 1 "/usr/include/bits/wordsize.h" 1 3 4
153# 29 "/usr/include/bits/byteswap.h" 2 3 4
154
155
156
157
158
159
160# 1 "/usr/include/bits/byteswap-16.h" 1 3 4
161# 36 "/usr/include/bits/byteswap.h" 2 3 4
162# 44 "/usr/include/bits/byteswap.h" 3 4
163static __inline unsigned int
164__bswap_32 (unsigned int __bsx)
165{
166 return __builtin_bswap32 (__bsx);
167}
168# 108 "/usr/include/bits/byteswap.h" 3 4
169static __inline __uint64_t
170__bswap_64 (__uint64_t __bsx)
171{
172 return __builtin_bswap64 (__bsx);
173}
174# 61 "/usr/include/endian.h" 2 3 4
175# 23 "/usr/include/pthread.h" 2 3 4
176# 1 "/usr/include/sched.h" 1 3 4
177# 28 "/usr/include/sched.h" 3 4
178# 1 "/usr/lib/gcc/x86_64-linux-gnu/4.9/include/stddef.h" 1 3 4
179# 212 "/usr/lib/gcc/x86_64-linux-gnu/4.9/include/stddef.h" 3 4
180typedef unsigned int size_t;
181# 29 "/usr/include/sched.h" 2 3 4
182
183
184
185# 1 "/usr/include/time.h" 1 3 4
186# 73 "/usr/include/time.h" 3 4
187
188
189typedef __time_t time_t;
190
191
192
193# 120 "/usr/include/time.h" 3 4
194struct timespec
195 {
196 __time_t tv_sec;
197 __syscall_slong_t tv_nsec;
198 };
199# 33 "/usr/include/sched.h" 2 3 4
200
201
202typedef __pid_t pid_t;
203
204
205
206
207
208# 1 "/usr/include/bits/sched.h" 1 3 4
209# 72 "/usr/include/bits/sched.h" 3 4
210struct sched_param
211 {
212 int __sched_priority;
213 };
214
215
216# 95 "/usr/include/bits/sched.h" 3 4
217
218
219
220
221
222
223
224
225struct __sched_param
226 {
227 int __sched_priority;
228 };
229# 118 "/usr/include/bits/sched.h" 3 4
230typedef unsigned long int __cpu_mask;
231
232
233
234
235
236
237typedef struct
238{
239 __cpu_mask __bits[1024 / (8 * sizeof (__cpu_mask))];
240} cpu_set_t;
241# 201 "/usr/include/bits/sched.h" 3 4
242
243
244extern int __sched_cpucount (size_t __setsize, const cpu_set_t *__setp)
245 __attribute__ ((__nothrow__ , __leaf__));
246extern cpu_set_t *__sched_cpualloc (size_t __count) __attribute__ ((__nothrow__ , __leaf__)) ;
247extern void __sched_cpufree (cpu_set_t *__set) __attribute__ ((__nothrow__ , __leaf__));
248
249
250# 42 "/usr/include/sched.h" 2 3 4
251
252
253
254
255
256
257
258extern int sched_setparam (__pid_t __pid, const struct sched_param *__param)
259 __attribute__ ((__nothrow__ , __leaf__));
260
261
262extern int sched_getparam (__pid_t __pid, struct sched_param *__param) __attribute__ ((__nothrow__ , __leaf__));
263
264
265extern int sched_setscheduler (__pid_t __pid, int __policy,
266 const struct sched_param *__param) __attribute__ ((__nothrow__ , __leaf__));
267
268
269extern int sched_getscheduler (__pid_t __pid) __attribute__ ((__nothrow__ , __leaf__));
270
271
272extern int sched_yield (void) __attribute__ ((__nothrow__ , __leaf__));
273
274
275extern int sched_get_priority_max (int __algorithm) __attribute__ ((__nothrow__ , __leaf__));
276
277
278extern int sched_get_priority_min (int __algorithm) __attribute__ ((__nothrow__ , __leaf__));
279
280
281extern int sched_rr_get_interval (__pid_t __pid, struct timespec *__t) __attribute__ ((__nothrow__ , __leaf__));
282# 124 "/usr/include/sched.h" 3 4
283
284# 24 "/usr/include/pthread.h" 2 3 4
285# 1 "/usr/include/time.h" 1 3 4
286# 29 "/usr/include/time.h" 3 4
287
288
289
290
291
292
293
294
295# 1 "/usr/lib/gcc/x86_64-linux-gnu/4.9/include/stddef.h" 1 3 4
296# 38 "/usr/include/time.h" 2 3 4
297
298
299
300# 1 "/usr/include/bits/time.h" 1 3 4
301# 42 "/usr/include/time.h" 2 3 4
302# 57 "/usr/include/time.h" 3 4
303
304
305typedef __clock_t clock_t;
306
307
308
309# 91 "/usr/include/time.h" 3 4
310typedef __clockid_t clockid_t;
311# 103 "/usr/include/time.h" 3 4
312typedef __timer_t timer_t;
313# 131 "/usr/include/time.h" 3 4
314
315
316struct tm
317{
318 int tm_sec;
319 int tm_min;
320 int tm_hour;
321 int tm_mday;
322 int tm_mon;
323 int tm_year;
324 int tm_wday;
325 int tm_yday;
326 int tm_isdst;
327
328
329 long int tm_gmtoff;
330 const char *tm_zone;
331
332
333
334
335};
336
337
338
339
340
341
342
343
344struct itimerspec
345 {
346 struct timespec it_interval;
347 struct timespec it_value;
348 };
349
350
351struct sigevent;
352# 186 "/usr/include/time.h" 3 4
353
354
355
356extern clock_t clock (void) __attribute__ ((__nothrow__ , __leaf__));
357
358
359extern time_t time (time_t *__timer) __attribute__ ((__nothrow__ , __leaf__));
360
361
362extern double difftime (time_t __time1, time_t __time0)
363 __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
364
365
366extern time_t mktime (struct tm *__tp) __attribute__ ((__nothrow__ , __leaf__));
367
368
369
370
371
372extern size_t strftime (char *__restrict __s, size_t __maxsize,
373 const char *__restrict __format,
374 const struct tm *__restrict __tp) __attribute__ ((__nothrow__ , __leaf__));
375
376# 221 "/usr/include/time.h" 3 4
377# 1 "/usr/include/xlocale.h" 1 3 4
378# 27 "/usr/include/xlocale.h" 3 4
379typedef struct __locale_struct
380{
381
382 struct __locale_data *__locales[13];
383
384
385 const unsigned short int *__ctype_b;
386 const int *__ctype_tolower;
387 const int *__ctype_toupper;
388
389
390 const char *__names[13];
391} *__locale_t;
392
393
394typedef __locale_t locale_t;
395# 222 "/usr/include/time.h" 2 3 4
396
397extern size_t strftime_l (char *__restrict __s, size_t __maxsize,
398 const char *__restrict __format,
399 const struct tm *__restrict __tp,
400 __locale_t __loc) __attribute__ ((__nothrow__ , __leaf__));
401# 236 "/usr/include/time.h" 3 4
402
403
404
405extern struct tm *gmtime (const time_t *__timer) __attribute__ ((__nothrow__ , __leaf__));
406
407
408
409extern struct tm *localtime (const time_t *__timer) __attribute__ ((__nothrow__ , __leaf__));
410
411
412
413
414
415extern struct tm *gmtime_r (const time_t *__restrict __timer,
416 struct tm *__restrict __tp) __attribute__ ((__nothrow__ , __leaf__));
417
418
419
420extern struct tm *localtime_r (const time_t *__restrict __timer,
421 struct tm *__restrict __tp) __attribute__ ((__nothrow__ , __leaf__));
422
423
424
425
426
427extern char *asctime (const struct tm *__tp) __attribute__ ((__nothrow__ , __leaf__));
428
429
430extern char *ctime (const time_t *__timer) __attribute__ ((__nothrow__ , __leaf__));
431
432
433
434
435
436
437
438extern char *asctime_r (const struct tm *__restrict __tp,
439 char *__restrict __buf) __attribute__ ((__nothrow__ , __leaf__));
440
441
442extern char *ctime_r (const time_t *__restrict __timer,
443 char *__restrict __buf) __attribute__ ((__nothrow__ , __leaf__));
444
445
446
447
448extern char *__tzname[2];
449extern int __daylight;
450extern long int __timezone;
451
452
453
454
455extern char *tzname[2];
456
457
458
459extern void tzset (void) __attribute__ ((__nothrow__ , __leaf__));
460
461
462
463extern int daylight;
464extern long int timezone;
465
466
467
468
469
470extern int stime (const time_t *__when) __attribute__ ((__nothrow__ , __leaf__));
471# 319 "/usr/include/time.h" 3 4
472extern time_t timegm (struct tm *__tp) __attribute__ ((__nothrow__ , __leaf__));
473
474
475extern time_t timelocal (struct tm *__tp) __attribute__ ((__nothrow__ , __leaf__));
476
477
478extern int dysize (int __year) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
479# 334 "/usr/include/time.h" 3 4
480extern int nanosleep (const struct timespec *__requested_time,
481 struct timespec *__remaining);
482
483
484
485extern int clock_getres (clockid_t __clock_id, struct timespec *__res) __attribute__ ((__nothrow__ , __leaf__));
486
487
488extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp) __attribute__ ((__nothrow__ , __leaf__));
489
490
491extern int clock_settime (clockid_t __clock_id, const struct timespec *__tp)
492 __attribute__ ((__nothrow__ , __leaf__));
493
494
495
496
497
498
499extern int clock_nanosleep (clockid_t __clock_id, int __flags,
500 const struct timespec *__req,
501 struct timespec *__rem);
502
503
504extern int clock_getcpuclockid (pid_t __pid, clockid_t *__clock_id) __attribute__ ((__nothrow__ , __leaf__));
505
506
507
508
509extern int timer_create (clockid_t __clock_id,
510 struct sigevent *__restrict __evp,
511 timer_t *__restrict __timerid) __attribute__ ((__nothrow__ , __leaf__));
512
513
514extern int timer_delete (timer_t __timerid) __attribute__ ((__nothrow__ , __leaf__));
515
516
517extern int timer_settime (timer_t __timerid, int __flags,
518 const struct itimerspec *__restrict __value,
519 struct itimerspec *__restrict __ovalue) __attribute__ ((__nothrow__ , __leaf__));
520
521
522extern int timer_gettime (timer_t __timerid, struct itimerspec *__value)
523 __attribute__ ((__nothrow__ , __leaf__));
524
525
526extern int timer_getoverrun (timer_t __timerid) __attribute__ ((__nothrow__ , __leaf__));
527# 430 "/usr/include/time.h" 3 4
528
529# 25 "/usr/include/pthread.h" 2 3 4
530
531# 1 "/usr/include/bits/pthreadtypes.h" 1 3 4
532# 21 "/usr/include/bits/pthreadtypes.h" 3 4
533# 1 "/usr/include/bits/wordsize.h" 1 3 4
534# 22 "/usr/include/bits/pthreadtypes.h" 2 3 4
535# 60 "/usr/include/bits/pthreadtypes.h" 3 4
536typedef unsigned long int pthread_t;
537
538
539union pthread_attr_t
540{
541 char __size[36];
542 long int __align;
543};
544
545typedef union pthread_attr_t pthread_attr_t;
546# 81 "/usr/include/bits/pthreadtypes.h" 3 4
547typedef struct __pthread_internal_slist
548{
549 struct __pthread_internal_slist *__next;
550} __pthread_slist_t;
551
552
553
554
555
556typedef union
557{
558 struct __pthread_mutex_s
559 {
560 int __lock;
561 unsigned int __count;
562 int __owner;
563
564
565
566
567
568 int __kind;
569
570
571
572
573
574
575
576 unsigned int __nusers;
577 __extension__ union
578 {
579 struct
580 {
581 short __espins;
582 short __elision;
583
584
585
586 } d;
587 __pthread_slist_t __list;
588 };
589
590 } __data;
591 char __size[24];
592 long int __align;
593} pthread_mutex_t;
594
595typedef union
596{
597 char __size[4];
598 int __align;
599} pthread_mutexattr_t;
600
601
602
603
604typedef union
605{
606 struct
607 {
608 int __lock;
609 unsigned int __futex;
610 __extension__ unsigned long long int __total_seq;
611 __extension__ unsigned long long int __wakeup_seq;
612 __extension__ unsigned long long int __woken_seq;
613 void *__mutex;
614 unsigned int __nwaiters;
615 unsigned int __broadcast_seq;
616 } __data;
617 char __size[48];
618 __extension__ long long int __align;
619} pthread_cond_t;
620
621typedef union
622{
623 char __size[4];
624 int __align;
625} pthread_condattr_t;
626
627
628
629typedef unsigned int pthread_key_t;
630
631
632
633typedef int pthread_once_t;
634
635
636
637
638
639typedef union
640{
641# 194 "/usr/include/bits/pthreadtypes.h" 3 4
642 struct
643 {
644 int __lock;
645 unsigned int __nr_readers;
646 unsigned int __readers_wakeup;
647 unsigned int __writer_wakeup;
648 unsigned int __nr_readers_queued;
649 unsigned int __nr_writers_queued;
650
651
652 unsigned char __flags;
653 unsigned char __shared;
654 unsigned char __pad1;
655 unsigned char __pad2;
656 int __writer;
657 } __data;
658
659 char __size[32];
660 long int __align;
661} pthread_rwlock_t;
662
663typedef union
664{
665 char __size[8];
666 long int __align;
667} pthread_rwlockattr_t;
668
669
670
671
672
673typedef volatile int pthread_spinlock_t;
674
675
676
677
678typedef union
679{
680 char __size[20];
681 long int __align;
682} pthread_barrier_t;
683
684typedef union
685{
686 char __size[4];
687 int __align;
688} pthread_barrierattr_t;
689# 27 "/usr/include/pthread.h" 2 3 4
690# 1 "/usr/include/bits/setjmp.h" 1 3 4
691# 26 "/usr/include/bits/setjmp.h" 3 4
692# 1 "/usr/include/bits/wordsize.h" 1 3 4
693# 27 "/usr/include/bits/setjmp.h" 2 3 4
694# 35 "/usr/include/bits/setjmp.h" 3 4
695typedef int __jmp_buf[6];
696# 28 "/usr/include/pthread.h" 2 3 4
697# 1 "/usr/include/bits/wordsize.h" 1 3 4
698# 29 "/usr/include/pthread.h" 2 3 4
699
700
701
702enum
703{
704 PTHREAD_CREATE_JOINABLE,
705
706 PTHREAD_CREATE_DETACHED
707
708};
709
710
711
712enum
713{
714 PTHREAD_MUTEX_TIMED_NP,
715 PTHREAD_MUTEX_RECURSIVE_NP,
716 PTHREAD_MUTEX_ERRORCHECK_NP,
717 PTHREAD_MUTEX_ADAPTIVE_NP
718
719 ,
720 PTHREAD_MUTEX_NORMAL = PTHREAD_MUTEX_TIMED_NP,
721 PTHREAD_MUTEX_RECURSIVE = PTHREAD_MUTEX_RECURSIVE_NP,
722 PTHREAD_MUTEX_ERRORCHECK = PTHREAD_MUTEX_ERRORCHECK_NP,
723 PTHREAD_MUTEX_DEFAULT = PTHREAD_MUTEX_NORMAL
724
725
726
727
728
729};
730
731
732
733
734enum
735{
736 PTHREAD_MUTEX_STALLED,
737 PTHREAD_MUTEX_STALLED_NP = PTHREAD_MUTEX_STALLED,
738 PTHREAD_MUTEX_ROBUST,
739 PTHREAD_MUTEX_ROBUST_NP = PTHREAD_MUTEX_ROBUST
740};
741
742
743
744
745
746enum
747{
748 PTHREAD_PRIO_NONE,
749 PTHREAD_PRIO_INHERIT,
750 PTHREAD_PRIO_PROTECT
751};
752# 125 "/usr/include/pthread.h" 3 4
753enum
754{
755 PTHREAD_RWLOCK_PREFER_READER_NP,
756 PTHREAD_RWLOCK_PREFER_WRITER_NP,
757 PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP,
758 PTHREAD_RWLOCK_DEFAULT_NP = PTHREAD_RWLOCK_PREFER_READER_NP
759};
760# 166 "/usr/include/pthread.h" 3 4
761enum
762{
763 PTHREAD_INHERIT_SCHED,
764
765 PTHREAD_EXPLICIT_SCHED
766
767};
768
769
770
771enum
772{
773 PTHREAD_SCOPE_SYSTEM,
774
775 PTHREAD_SCOPE_PROCESS
776
777};
778
779
780
781enum
782{
783 PTHREAD_PROCESS_PRIVATE,
784
785 PTHREAD_PROCESS_SHARED
786
787};
788# 201 "/usr/include/pthread.h" 3 4
789struct _pthread_cleanup_buffer
790{
791 void (*__routine) (void *);
792 void *__arg;
793 int __canceltype;
794 struct _pthread_cleanup_buffer *__prev;
795};
796
797
798enum
799{
800 PTHREAD_CANCEL_ENABLE,
801
802 PTHREAD_CANCEL_DISABLE
803
804};
805enum
806{
807 PTHREAD_CANCEL_DEFERRED,
808
809 PTHREAD_CANCEL_ASYNCHRONOUS
810
811};
812# 239 "/usr/include/pthread.h" 3 4
813
814
815
816
817
818extern int pthread_create (pthread_t *__restrict __newthread,
819 const pthread_attr_t *__restrict __attr,
820 void *(*__start_routine) (void *),
821 void *__restrict __arg) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 3)));
822
823
824
825
826
827extern void pthread_exit (void *__retval) __attribute__ ((__noreturn__));
828
829
830
831
832
833
834
835extern int pthread_join (pthread_t __th, void **__thread_return);
836# 282 "/usr/include/pthread.h" 3 4
837extern int pthread_detach (pthread_t __th) __attribute__ ((__nothrow__ , __leaf__));
838
839
840
841extern pthread_t pthread_self (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
842
843
844extern int pthread_equal (pthread_t __thread1, pthread_t __thread2)
845 __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
846
847
848
849
850
851
852
853extern int pthread_attr_init (pthread_attr_t *__attr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
854
855
856extern int pthread_attr_destroy (pthread_attr_t *__attr)
857 __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
858
859
860extern int pthread_attr_getdetachstate (const pthread_attr_t *__attr,
861 int *__detachstate)
862 __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
863
864
865extern int pthread_attr_setdetachstate (pthread_attr_t *__attr,
866 int __detachstate)
867 __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
868
869
870
871extern int pthread_attr_getguardsize (const pthread_attr_t *__attr,
872 size_t *__guardsize)
873 __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
874
875
876extern int pthread_attr_setguardsize (pthread_attr_t *__attr,
877 size_t __guardsize)
878 __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
879
880
881
882extern int pthread_attr_getschedparam (const pthread_attr_t *__restrict __attr,
883 struct sched_param *__restrict __param)
884 __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
885
886
887extern int pthread_attr_setschedparam (pthread_attr_t *__restrict __attr,
888 const struct sched_param *__restrict
889 __param) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
890
891
892extern int pthread_attr_getschedpolicy (const pthread_attr_t *__restrict
893 __attr, int *__restrict __policy)
894 __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
895
896
897extern int pthread_attr_setschedpolicy (pthread_attr_t *__attr, int __policy)
898 __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
899
900
901extern int pthread_attr_getinheritsched (const pthread_attr_t *__restrict
902 __attr, int *__restrict __inherit)
903 __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
904
905
906extern int pthread_attr_setinheritsched (pthread_attr_t *__attr,
907 int __inherit)
908 __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
909
910
911
912extern int pthread_attr_getscope (const pthread_attr_t *__restrict __attr,
913 int *__restrict __scope)
914 __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
915
916
917extern int pthread_attr_setscope (pthread_attr_t *__attr, int __scope)
918 __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
919
920
921extern int pthread_attr_getstackaddr (const pthread_attr_t *__restrict
922 __attr, void **__restrict __stackaddr)
923 __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__deprecated__));
924
925
926
927
928
929extern int pthread_attr_setstackaddr (pthread_attr_t *__attr,
930 void *__stackaddr)
931 __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__deprecated__));
932
933
934extern int pthread_attr_getstacksize (const pthread_attr_t *__restrict
935 __attr, size_t *__restrict __stacksize)
936 __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
937
938
939
940
941extern int pthread_attr_setstacksize (pthread_attr_t *__attr,
942 size_t __stacksize)
943 __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
944
945
946
947extern int pthread_attr_getstack (const pthread_attr_t *__restrict __attr,
948 void **__restrict __stackaddr,
949 size_t *__restrict __stacksize)
950 __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2, 3)));
951
952
953
954
955extern int pthread_attr_setstack (pthread_attr_t *__attr, void *__stackaddr,
956 size_t __stacksize) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
957# 440 "/usr/include/pthread.h" 3 4
958extern int pthread_setschedparam (pthread_t __target_thread, int __policy,
959 const struct sched_param *__param)
960 __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3)));
961
962
963extern int pthread_getschedparam (pthread_t __target_thread,
964 int *__restrict __policy,
965 struct sched_param *__restrict __param)
966 __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3)));
967
968
969extern int pthread_setschedprio (pthread_t __target_thread, int __prio)
970 __attribute__ ((__nothrow__ , __leaf__));
971# 505 "/usr/include/pthread.h" 3 4
972extern int pthread_once (pthread_once_t *__once_control,
973 void (*__init_routine) (void)) __attribute__ ((__nonnull__ (1, 2)));
974# 517 "/usr/include/pthread.h" 3 4
975extern int pthread_setcancelstate (int __state, int *__oldstate);
976
977
978
979extern int pthread_setcanceltype (int __type, int *__oldtype);
980
981
982extern int pthread_cancel (pthread_t __th);
983
984
985
986
987extern void pthread_testcancel (void);
988
989
990
991
992typedef struct
993{
994 struct
995 {
996 __jmp_buf __cancel_jmp_buf;
997 int __mask_was_saved;
998 } __cancel_jmp_buf[1];
999 void *__pad[4];
1000} __pthread_unwind_buf_t __attribute__ ((__aligned__));
1001# 551 "/usr/include/pthread.h" 3 4
1002struct __pthread_cleanup_frame
1003{
1004 void (*__cancel_routine) (void *);
1005 void *__cancel_arg;
1006 int __do_it;
1007 int __cancel_type;
1008};
1009# 691 "/usr/include/pthread.h" 3 4
1010extern void __pthread_register_cancel (__pthread_unwind_buf_t *__buf)
1011 __attribute__ ((__regparm__ (1)));
1012# 703 "/usr/include/pthread.h" 3 4
1013extern void __pthread_unregister_cancel (__pthread_unwind_buf_t *__buf)
1014 __attribute__ ((__regparm__ (1)));
1015# 744 "/usr/include/pthread.h" 3 4
1016extern void __pthread_unwind_next (__pthread_unwind_buf_t *__buf)
1017 __attribute__ ((__regparm__ (1))) __attribute__ ((__noreturn__))
1018
1019 __attribute__ ((__weak__))
1020
1021 ;
1022
1023
1024
1025struct __jmp_buf_tag;
1026extern int __sigsetjmp (struct __jmp_buf_tag *__env, int __savemask) __attribute__ ((__nothrow__));
1027
1028
1029
1030
1031
1032extern int pthread_mutex_init (pthread_mutex_t *__mutex,
1033 const pthread_mutexattr_t *__mutexattr)
1034 __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
1035
1036
1037extern int pthread_mutex_destroy (pthread_mutex_t *__mutex)
1038 __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
1039
1040
1041extern int pthread_mutex_trylock (pthread_mutex_t *__mutex)
1042 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
1043
1044
1045extern int pthread_mutex_lock (pthread_mutex_t *__mutex)
1046 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
1047
1048
1049
1050extern int pthread_mutex_timedlock (pthread_mutex_t *__restrict __mutex,
1051 const struct timespec *__restrict
1052 __abstime) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
1053
1054
1055
1056extern int pthread_mutex_unlock (pthread_mutex_t *__mutex)
1057 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
1058
1059
1060
1061extern int pthread_mutex_getprioceiling (const pthread_mutex_t *
1062 __restrict __mutex,
1063 int *__restrict __prioceiling)
1064 __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
1065
1066
1067
1068extern int pthread_mutex_setprioceiling (pthread_mutex_t *__restrict __mutex,
1069 int __prioceiling,
1070 int *__restrict __old_ceiling)
1071 __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 3)));
1072
1073
1074
1075
1076extern int pthread_mutex_consistent (pthread_mutex_t *__mutex)
1077 __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
1078# 817 "/usr/include/pthread.h" 3 4
1079extern int pthread_mutexattr_init (pthread_mutexattr_t *__attr)
1080 __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
1081
1082
1083extern int pthread_mutexattr_destroy (pthread_mutexattr_t *__attr)
1084 __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
1085
1086
1087extern int pthread_mutexattr_getpshared (const pthread_mutexattr_t *
1088 __restrict __attr,
1089 int *__restrict __pshared)
1090 __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
1091
1092
1093extern int pthread_mutexattr_setpshared (pthread_mutexattr_t *__attr,
1094 int __pshared)
1095 __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
1096
1097
1098
1099extern int pthread_mutexattr_gettype (const pthread_mutexattr_t *__restrict
1100 __attr, int *__restrict __kind)
1101 __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
1102
1103
1104
1105
1106extern int pthread_mutexattr_settype (pthread_mutexattr_t *__attr, int __kind)
1107 __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
1108
1109
1110
1111extern int pthread_mutexattr_getprotocol (const pthread_mutexattr_t *
1112 __restrict __attr,
1113 int *__restrict __protocol)
1114 __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
1115
1116
1117
1118extern int pthread_mutexattr_setprotocol (pthread_mutexattr_t *__attr,
1119 int __protocol)
1120 __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
1121
1122
1123extern int pthread_mutexattr_getprioceiling (const pthread_mutexattr_t *
1124 __restrict __attr,
1125 int *__restrict __prioceiling)
1126 __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
1127
1128
1129extern int pthread_mutexattr_setprioceiling (pthread_mutexattr_t *__attr,
1130 int __prioceiling)
1131 __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
1132
1133
1134
1135extern int pthread_mutexattr_getrobust (const pthread_mutexattr_t *__attr,
1136 int *__robustness)
1137 __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
1138
1139
1140
1141
1142
1143
1144
1145extern int pthread_mutexattr_setrobust (pthread_mutexattr_t *__attr,
1146 int __robustness)
1147 __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
1148# 899 "/usr/include/pthread.h" 3 4
1149extern int pthread_rwlock_init (pthread_rwlock_t *__restrict __rwlock,
1150 const pthread_rwlockattr_t *__restrict
1151 __attr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
1152
1153
1154extern int pthread_rwlock_destroy (pthread_rwlock_t *__rwlock)
1155 __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
1156
1157
1158extern int pthread_rwlock_rdlock (pthread_rwlock_t *__rwlock)
1159 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
1160
1161
1162extern int pthread_rwlock_tryrdlock (pthread_rwlock_t *__rwlock)
1163 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
1164
1165
1166
1167extern int pthread_rwlock_timedrdlock (pthread_rwlock_t *__restrict __rwlock,
1168 const struct timespec *__restrict
1169 __abstime) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
1170
1171
1172
1173extern int pthread_rwlock_wrlock (pthread_rwlock_t *__rwlock)
1174 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
1175
1176
1177extern int pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock)
1178 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
1179
1180
1181
1182extern int pthread_rwlock_timedwrlock (pthread_rwlock_t *__restrict __rwlock,
1183 const struct timespec *__restrict
1184 __abstime) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
1185
1186
1187
1188extern int pthread_rwlock_unlock (pthread_rwlock_t *__rwlock)
1189 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
1190
1191
1192
1193
1194
1195extern int pthread_rwlockattr_init (pthread_rwlockattr_t *__attr)
1196 __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
1197
1198
1199extern int pthread_rwlockattr_destroy (pthread_rwlockattr_t *__attr)
1200 __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
1201
1202
1203extern int pthread_rwlockattr_getpshared (const pthread_rwlockattr_t *
1204 __restrict __attr,
1205 int *__restrict __pshared)
1206 __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
1207
1208
1209extern int pthread_rwlockattr_setpshared (pthread_rwlockattr_t *__attr,
1210 int __pshared)
1211 __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
1212
1213
1214extern int pthread_rwlockattr_getkind_np (const pthread_rwlockattr_t *
1215 __restrict __attr,
1216 int *__restrict __pref)
1217 __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
1218
1219
1220extern int pthread_rwlockattr_setkind_np (pthread_rwlockattr_t *__attr,
1221 int __pref) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
1222
1223
1224
1225
1226
1227
1228
1229extern int pthread_cond_init (pthread_cond_t *__restrict __cond,
1230 const pthread_condattr_t *__restrict __cond_attr)
1231 __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
1232
1233
1234extern int pthread_cond_destroy (pthread_cond_t *__cond)
1235 __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
1236
1237
1238extern int pthread_cond_signal (pthread_cond_t *__cond)
1239 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
1240
1241
1242extern int pthread_cond_broadcast (pthread_cond_t *__cond)
1243 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
1244
1245
1246
1247
1248
1249
1250extern int pthread_cond_wait (pthread_cond_t *__restrict __cond,
1251 pthread_mutex_t *__restrict __mutex)
1252 __attribute__ ((__nonnull__ (1, 2)));
1253# 1011 "/usr/include/pthread.h" 3 4
1254extern int pthread_cond_timedwait (pthread_cond_t *__restrict __cond,
1255 pthread_mutex_t *__restrict __mutex,
1256 const struct timespec *__restrict __abstime)
1257 __attribute__ ((__nonnull__ (1, 2, 3)));
1258
1259
1260
1261
1262extern int pthread_condattr_init (pthread_condattr_t *__attr)
1263 __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
1264
1265
1266extern int pthread_condattr_destroy (pthread_condattr_t *__attr)
1267 __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
1268
1269
1270extern int pthread_condattr_getpshared (const pthread_condattr_t *
1271 __restrict __attr,
1272 int *__restrict __pshared)
1273 __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
1274
1275
1276extern int pthread_condattr_setpshared (pthread_condattr_t *__attr,
1277 int __pshared) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
1278
1279
1280
1281extern int pthread_condattr_getclock (const pthread_condattr_t *
1282 __restrict __attr,
1283 __clockid_t *__restrict __clock_id)
1284 __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
1285
1286
1287extern int pthread_condattr_setclock (pthread_condattr_t *__attr,
1288 __clockid_t __clock_id)
1289 __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
1290# 1055 "/usr/include/pthread.h" 3 4
1291extern int pthread_spin_init (pthread_spinlock_t *__lock, int __pshared)
1292 __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
1293
1294
1295extern int pthread_spin_destroy (pthread_spinlock_t *__lock)
1296 __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
1297
1298
1299extern int pthread_spin_lock (pthread_spinlock_t *__lock)
1300 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
1301
1302
1303extern int pthread_spin_trylock (pthread_spinlock_t *__lock)
1304 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
1305
1306
1307extern int pthread_spin_unlock (pthread_spinlock_t *__lock)
1308 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
1309
1310
1311
1312
1313
1314
1315extern int pthread_barrier_init (pthread_barrier_t *__restrict __barrier,
1316 const pthread_barrierattr_t *__restrict
1317 __attr, unsigned int __count)
1318 __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
1319
1320
1321extern int pthread_barrier_destroy (pthread_barrier_t *__barrier)
1322 __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
1323
1324
1325extern int pthread_barrier_wait (pthread_barrier_t *__barrier)
1326 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
1327
1328
1329
1330extern int pthread_barrierattr_init (pthread_barrierattr_t *__attr)
1331 __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
1332
1333
1334extern int pthread_barrierattr_destroy (pthread_barrierattr_t *__attr)
1335 __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
1336
1337
1338extern int pthread_barrierattr_getpshared (const pthread_barrierattr_t *
1339 __restrict __attr,
1340 int *__restrict __pshared)
1341 __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
1342
1343
1344extern int pthread_barrierattr_setpshared (pthread_barrierattr_t *__attr,
1345 int __pshared)
1346 __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
1347# 1122 "/usr/include/pthread.h" 3 4
1348extern int pthread_key_create (pthread_key_t *__key,
1349 void (*__destr_function) (void *))
1350 __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
1351
1352
1353extern int pthread_key_delete (pthread_key_t __key) __attribute__ ((__nothrow__ , __leaf__));
1354
1355
1356extern void *pthread_getspecific (pthread_key_t __key) __attribute__ ((__nothrow__ , __leaf__));
1357
1358
1359extern int pthread_setspecific (pthread_key_t __key,
1360 const void *__pointer) __attribute__ ((__nothrow__ , __leaf__)) ;
1361
1362
1363
1364
1365extern int pthread_getcpuclockid (pthread_t __thread_id,
1366 __clockid_t *__clock_id)
1367 __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2)));
1368# 1156 "/usr/include/pthread.h" 3 4
1369extern int pthread_atfork (void (*__prepare) (void),
1370 void (*__parent) (void),
1371 void (*__child) (void)) __attribute__ ((__nothrow__ , __leaf__));
1372# 1170 "/usr/include/pthread.h" 3 4
1373
1374# 85 "gcd_true-unreach-call_true-termination.c" 2
1375
1376unsigned a, b;
1377
1378void __VERIFIER_atomic_dec_a()
1379{
1380 if(a>b)
1381 a=a-b;
1382}
1383
1384void __VERIFIER_atomic_dec_b()
1385{
1386 if(b>a)
1387 b=b-a;
1388}
1389
1390void* dec_a(void* arg)
1391{
1392 (void)arg;
1393
1394 while(a!=b)
1395 {
1396 __VERIFIER_atomic_dec_a();
1397 }
1398
1399 return 0;
1400}
1401
1402void* dec_b(void* arg)
1403{
1404 (void)arg;
1405
1406 while(a!=b)
1407 {
1408 __VERIFIER_atomic_dec_b();
1409 }
1410
1411 return 0;
1412}
1413
1414unsigned start(unsigned a_in, unsigned b_in)
1415{
1416 a=a_in;
1417 b=b_in;
1418
1419 pthread_t t1, t2;
1420
1421 pthread_create(&t1, 0, dec_a, 0);
1422 pthread_create(&t2, 0, dec_b, 0);
1423
1424 pthread_join(t1, 0);
1425 pthread_join(t2, 0);
1426
1427 return a;
1428}
1429
1430void check_gcd(unsigned a_in, unsigned b_in, unsigned gcd)
1431{
1432 unsigned guessed_gcd=__VERIFIER_nondet_uint();
1433 __VERIFIER_assume(guessed_gcd>1);
1434 __VERIFIER_assume(a_in%guessed_gcd==0);
1435 __VERIFIER_assume(b_in%guessed_gcd==0);
1436
1437 __VERIFIER_assert(a_in%gcd==0);
1438 __VERIFIER_assert(b_in%gcd==0);
1439
1440 __VERIFIER_assert(gcd>=guessed_gcd);
1441}
1442
1443int main()
1444{
1445
1446 unsigned a_in=__VERIFIER_nondet_uint();
1447 unsigned b_in=__VERIFIER_nondet_uint();
1448
1449 __VERIFIER_assume(a_in>0);
1450 __VERIFIER_assume(b_in>0);
1451
1452 check_gcd(a_in, b_in, start(a_in, b_in));
1453
1454 return 0;
1455}
Note: See TracBrowser for help on using the repository browser.