﻿:: {g:g, o:o, s:s, b:b, qb:b?, n:n, qn:n?, r8:r8, qr8:r8?, r4:r4, qr4:r4?, i:i, qi:i?, i8:i8, qi8:i8?, i4:i4, qi4:i4?, i2:i2, qi2:i2?, i1:i1, qi1:i1?, u8:u8, qu8:u8?, u4:u4, qu4:u4?, u2:u2, qu2:u2?, u1:u1, qu1:u1?}

8 div 3
8 div 1
i1 div 1
i4 div 1
u1 div 1
u4 div 1
u4 div 1u

53 div 4
53 div 4u
53 div 4ia
53u div 4
53u div 4u
53u div 4ia
53ia div 4
53ia div 4u
53ia div 4ia

 2 div  1
 2 div -1
-2 div  1
-2 div -1

 2 div 0
-2 div 0

(i4 * i4 * -1) div -1

0x3FFFFFFF div 2
0x3FFFFFFF div 4
0x7FFFFFFFU div 2
0x7FFFFFFFU div 2U
0x7FFFFFFFU div 4

0x8000_0000_0000_0000i8 div -1i8
0x8000_0000_0000_0000u8 div -1i8
-0x8000_0000_0000_0000i8 div -1i8
-0x8000_0000_0000_0000u8 div -1i8

3 div null
null div 3
0 div null
null div 0

i4 div 3
3 div i4

i4 div null
null div i4

i4 div 2 div null
null div i4 div 2

i1 div i2 div i2
i1 div i2 div i4
i4 div i2 div i1

(i1 div 3) div (i2 div 2)
(i1 div 3i1) div (i2 div i4)

i1 div 3i1 div 2i1
i1 div -1i1 div -1i1
i1 div 3i1 div -1i1

i2 div qi2 div i1
i4 div qi2 div i1

3 div true
true div 3
false div true
true div false
"3" div true
3 div "true"
"3" div "true"

2.0f div 4.0f
2.0d div 4.0d

i4 div (3 + 2)
i4 div (3 - 2)
i4 div (2 - 3)
i4 div (3 - 3)

(3 + 2) div i4
(3 - 2) div i4
(2 - 3) div i4
(3 - 3) div i4

3 div g
3 div o
3 div s
3 div b
3 div n
3 div r8
3 div r4
3 div i
3 div i8
3 div i4
3 div i2
3 div i1
3 div u8
3 div u4
3 div u2
3 div u1

3u div g
3u div o
3u div s
3u div b
3u div n
3u div r8
3u div r4
3u div i
3u div i8
3u div i4
3u div i2
3u div i1
3u div u8
3u div u4
3u div u2
3u div u1

null div g
null div o
null div s
null div b
null div n
null div r8
null div r4
null div i
null div i8
null div i4
null div i2
null div i1
null div u8
null div u4
null div u2
null div u1

3 div qb
3 div qn
3 div qr8
3 div qr4
3 div qi
3 div qi8
3 div qi4
3 div qi2
3 div qi1
3 div qu8
3 div qu4
3 div qu2
3 div qu1

3u div qb
3u div qn
3u div qr8
3u div qr4
3u div qi
3u div qi8
3u div qi4
3u div qi2
3u div qi1
3u div qu8
3u div qu4
3u div qu2
3u div qu1

null div qb
null div qn
null div qr8
null div qr4
null div qi
null div qi8
null div qi4
null div qi2
null div qi1
null div qu8
null div qu4
null div qu2
null div qu1

i div qb
i div qn
i div qr8
i div qr4
i div qi
i div qi8
i div qi4
i div qi2
i div qi1
i div qu8
i div qu4
i div qu2
i div qu1

qi div qb
qi div qn
qi div qr8
qi div qr4
qi div qi
qi div qi8
qi div qi4
qi div qi2
qi div qi1
qi div qu8
qi div qu4
qi div qu2
qi div qu1

// *** Lifting
:: {g:g*, o:o*, s:s*, b:b*, qb:b?*, n:n*, qn:n?*, r8:r8*, qr8:r8?*, r4:r4*, qr4:r4?*, i:i*, qi:i?*, i8:i8*, qi8:i8?*, i4:i4*, qi4:i4?*, i2:i2*, qi2:i2?*, i1:i1*, qi1:i1?*, u8:u8*, qu8:u8?*, u4:u4*, qu4:u4?*, u2:u2*, qu2:u2?*, u1:u1*, qu1:u1?*}

3 div g
3 div o
3 div s
3 div b
3 div n
3 div r8
3 div r4
3 div i
3 div i8
3 div i4
3 div i2
3 div i1
3 div u8
3 div u4
3 div u2
3 div u1

3 div qb
3 div qn
3 div qr8
3 div qr4
3 div qi
3 div qi8
3 div qi4
3 div qi2
3 div qi1
3 div qu8
3 div qu4
3 div qu2
3 div qu1
