static union struct typedef while for if else extern volatile return as_float continue break #define unsigned bool char short int long float double size_t ptrdiff_t intptr_t uintptr_t void half complex imaginary float2 float3 float4 double2 double3 double4 (float2) (float3) (float4) (double2) (double3) (double4) .xx .yy .xy .yx .xxx .yyy .zzz .xyz .xzy .yxz .yzx .zxy .zyx .xxxx .yyyy .zzzz .wwww .xyzw .hi .lo image_2d_t image_3d_t __global __local __constant __private __generic __kernel __read_only __write_only __read_write uniform pipe - + -- ++ * / += -= *= /= > < >= <= == != ! & | ^ ~ && || ?: >> << sizeof = get_work_dim get_global_size get_global_id get_local_size get_local_id acos acosh acospi asin asinh asinpi atan atan2 atanh atanpi atan2pi cbrt ceil copysign cos cosh cospi erfc erf exp exp2 exp10 expm1 fabs fdim floor fma mfax fmod fract frexp ilogb ldexp lgamma log log2 log10 log1p logb mad maxmag minmag modf nan nextafter pown powr remainder remquo rint rootn round rsqrt sin sincos sinh sinpi sqrt tan tanh tanpi tgamma trunc half_cos half_divide half_exp half_exp2 half_exp10 half_log half_log2 half_log10 half_powr half_recip half_rsqrt half_sin half_sqrt half_tan MAXFLOAT HUGE_VALF INFINITY NAN clamp degrees max min mix radians step smoothstep cross dot distance length normalize fast_distance fast_length fast_normalize vload2 vload3 vload4 vstore2 vstore3 vstore4 barrier work_group_barrier sub_group_barrier mem_fence read_mem_fence write_mem_fence to_global to_local to_private