1 /* -*- mode: C -*-
2  *
3  * Copyright (c) 2009, 2010, 2011 The University of Utah
4  * All rights reserved.
5  *
6  * This file is part of `csmith', a random generator of C programs.
7  *
8  * Redistribution and use in source and binary forms, with or without
9  * modification, are permitted provided that the following conditions are met:
10  *
11  *   * Redistributions of source code must retain the above copyright notice,
12  *     this list of conditions and the following disclaimer.
13  *
14  *   * Redistributions in binary form must reproduce the above copyright
15  *     notice, this list of conditions and the following disclaimer in the
16  *     documentation and/or other materials provided with the distribution.
17  *
18  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21  * ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
22  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28  * POSSIBILITY OF SUCH DAMAGE.
29  */
30 
31 #define  n8s(_x_)     safe_unary_minus_macro_int8_t_s(_x_)
32 #define  a8s(_x_,_y_) safe_add_macro_int8_t_s_s(_x_,_y_)
33 #define  s8s(_x_,_y_) safe_sub_macro_int8_t_s_s(_x_,_y_)
34 #define  m8s(_x_,_y_) safe_mul_macro_int8_t_s_s(_x_,_y_)
35 #define  o8s(_x_,_y_) safe_mod_macro_int8_t_s_s(_x_,_y_)
36 #define  d8s(_x_,_y_) safe_div_macro_int8_t_s_s(_x_,_y_)
37 #define l8ss(_x_,_y_) safe_lshift_macro_int8_t_s_s(_x_,_y_)
38 #define l8su(_x_,_y_) safe_lshift_macro_int8_t_s_u(_x_,_y_)
39 #define r8ss(_x_,_y_) safe_rshift_macro_int8_t_s_s(_x_,_y_)
40 #define r8su(_x_,_y_) safe_rshift_macro_int8_t_s_u(_x_,_y_)
41 
42 #define  n8u(_x_)     safe_unary_minus_macro_uint8_t_u(_x_)
43 #define  a8u(_x_,_y_) safe_add_macro_uint8_t_u_u(_x_,_y_)
44 #define  s8u(_x_,_y_) safe_sub_macro_uint8_t_u_u(_x_,_y_)
45 #define  m8u(_x_,_y_) safe_mul_macro_uint8_t_u_u(_x_,_y_)
46 #define  o8u(_x_,_y_) safe_mod_macro_uint8_t_u_u(_x_,_y_)
47 #define  d8u(_x_,_y_) safe_div_macro_uint8_t_u_u(_x_,_y_)
48 #define l8us(_x_,_y_) safe_lshift_macro_uint8_t_u_s(_x_,_y_)
49 #define l8uu(_x_,_y_) safe_lshift_macro_uint8_t_u_u(_x_,_y_)
50 #define r8us(_x_,_y_) safe_rshift_macro_uint8_t_u_s(_x_,_y_)
51 #define r8uu(_x_,_y_) safe_rshift_macro_uint8_t_u_u(_x_,_y_)
52 
53 #define  n1s(_x_)     safe_unary_minus_macro_int16_t_s(_x_)
54 #define  a1s(_x_,_y_) safe_add_macro_int16_t_s_s(_x_,_y_)
55 #define  s1s(_x_,_y_) safe_sub_macro_int16_t_s_s(_x_,_y_)
56 #define  m1s(_x_,_y_) safe_mul_macro_int16_t_s_s(_x_,_y_)
57 #define  o1s(_x_,_y_) safe_mod_macro_int16_t_s_s(_x_,_y_)
58 #define  d1s(_x_,_y_) safe_div_macro_int16_t_s_s(_x_,_y_)
59 #define l1ss(_x_,_y_) safe_lshift_macro_int16_t_s_s(_x_,_y_)
60 #define l1su(_x_,_y_) safe_lshift_macro_int16_t_s_u(_x_,_y_)
61 #define r1ss(_x_,_y_) safe_rshift_macro_int16_t_s_s(_x_,_y_)
62 #define r1su(_x_,_y_) safe_rshift_macro_int16_t_s_u(_x_,_y_)
63 
64 #define  n1u(_x_)     safe_unary_minus_macro_uint16_t_u(_x_)
65 #define  a1u(_x_,_y_) safe_add_macro_uint16_t_u_u(_x_,_y_)
66 #define  s1u(_x_,_y_) safe_sub_macro_uint16_t_u_u(_x_,_y_)
67 #define  m1u(_x_,_y_) safe_mul_macro_uint16_t_u_u(_x_,_y_)
68 #define  o1u(_x_,_y_) safe_mod_macro_uint16_t_u_u(_x_,_y_)
69 #define  d1u(_x_,_y_) safe_div_macro_uint16_t_u_u(_x_,_y_)
70 #define l1us(_x_,_y_) safe_lshift_macro_uint16_t_u_s(_x_,_y_)
71 #define l1uu(_x_,_y_) safe_lshift_macro_uint16_t_u_u(_x_,_y_)
72 #define r1us(_x_,_y_) safe_rshift_macro_uint16_t_u_s(_x_,_y_)
73 #define r1uu(_x_,_y_) safe_rshift_macro_uint16_t_u_u(_x_,_y_)
74 
75 #define  n3s(_x_)     safe_unary_minus_macro_int32_t_s(_x_)
76 #define  a3s(_x_,_y_) safe_add_macro_int32_t_s_s(_x_,_y_)
77 #define  s3s(_x_,_y_) safe_sub_macro_int32_t_s_s(_x_,_y_)
78 #define  m3s(_x_,_y_) safe_mul_macro_int32_t_s_s(_x_,_y_)
79 #define  o3s(_x_,_y_) safe_mod_macro_int32_t_s_s(_x_,_y_)
80 #define  d3s(_x_,_y_) safe_div_macro_int32_t_s_s(_x_,_y_)
81 #define l3ss(_x_,_y_) safe_lshift_macro_int32_t_s_s(_x_,_y_)
82 #define l3su(_x_,_y_) safe_lshift_macro_int32_t_s_u(_x_,_y_)
83 #define r3ss(_x_,_y_) safe_rshift_macro_int32_t_s_s(_x_,_y_)
84 #define r3su(_x_,_y_) safe_rshift_macro_int32_t_s_u(_x_,_y_)
85 
86 #define  n3u(_x_)     safe_unary_minus_macro_uint32_t_u(_x_)
87 #define  a3u(_x_,_y_) safe_add_macro_uint32_t_u_u(_x_,_y_)
88 #define  s3u(_x_,_y_) safe_sub_macro_uint32_t_u_u(_x_,_y_)
89 #define  m3u(_x_,_y_) safe_mul_macro_uint32_t_u_u(_x_,_y_)
90 #define  o3u(_x_,_y_) safe_mod_macro_uint32_t_u_u(_x_,_y_)
91 #define  d3u(_x_,_y_) safe_div_macro_uint32_t_u_u(_x_,_y_)
92 #define l3us(_x_,_y_) safe_lshift_macro_uint32_t_u_s(_x_,_y_)
93 #define l3uu(_x_,_y_) safe_lshift_macro_uint32_t_u_u(_x_,_y_)
94 #define r3us(_x_,_y_) safe_rshift_macro_uint32_t_u_s(_x_,_y_)
95 #define r3uu(_x_,_y_) safe_rshift_macro_uint32_t_u_u(_x_,_y_)
96 
97 #define  n6s(_x_)     safe_unary_minus_macro_int64_t_s(_x_)
98 #define  a6s(_x_,_y_) safe_add_macro_int64_t_s_s(_x_,_y_)
99 #define  s6s(_x_,_y_) safe_sub_macro_int64_t_s_s(_x_,_y_)
100 #define  m6s(_x_,_y_) safe_mul_macro_int64_t_s_s(_x_,_y_)
101 #define  o6s(_x_,_y_) safe_mod_macro_int64_t_s_s(_x_,_y_)
102 #define  d6s(_x_,_y_) safe_div_macro_int64_t_s_s(_x_,_y_)
103 #define l6ss(_x_,_y_) safe_lshift_macro_int64_t_s_s(_x_,_y_)
104 #define l6su(_x_,_y_) safe_lshift_macro_int64_t_s_u(_x_,_y_)
105 #define r6ss(_x_,_y_) safe_rshift_macro_int64_t_s_s(_x_,_y_)
106 #define r6su(_x_,_y_) safe_rshift_macro_int64_t_s_u(_x_,_y_)
107 
108 #define  n6u(_x_)     safe_unary_minus_macro_uint64_t_u(_x_)
109 #define  a6u(_x_,_y_) safe_add_macro_uint64_t_u_u(_x_,_y_)
110 #define  s6u(_x_,_y_) safe_sub_macro_uint64_t_u_u(_x_,_y_)
111 #define  m6u(_x_,_y_) safe_mul_macro_uint64_t_u_u(_x_,_y_)
112 #define  o6u(_x_,_y_) safe_mod_macro_uint64_t_u_u(_x_,_y_)
113 #define  d6u(_x_,_y_) safe_div_macro_uint64_t_u_u(_x_,_y_)
114 #define l6us(_x_,_y_) safe_lshift_macro_uint64_t_u_s(_x_,_y_)
115 #define l6uu(_x_,_y_) safe_lshift_macro_uint64_t_u_u(_x_,_y_)
116 #define r6us(_x_,_y_) safe_rshift_macro_uint64_t_u_s(_x_,_y_)
117 #define r6uu(_x_,_y_) safe_rshift_macro_uint64_t_u_u(_x_,_y_)
118