1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
Interp-η
(λ var : Syntax.base_type → Type,
λ '(x25, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
uint32_t x27 = (x26 | x25);
uint32_t x28 = (x24 | x27);
uint32_t x29 = (x22 | x28);
uint32_t x30 = (x20 | x29);
uint32_t x31 = (x18 | x30);
uint32_t x32 = (x16 | x31);
uint32_t x33 = (x14 | x32);
uint32_t x34 = (x12 | x33);
uint32_t x35 = (x10 | x34);
uint32_t x36 = (x8 | x35);
uint32_t x37 = (x6 | x36);
uint32_t x38 = (x4 | x37);
uint32_t x39 = (x2 | x38);
return x39)
x
: word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (Tbase match (if match match (let (lower, _) := Synthesis.P.bound1 in
lower) with
| 0%Z => Eq
| Z.pos _ => Lt
| Z.neg _ => Gt
end with
| Eq => true
| Lt => true
| Gt => false
end then Some 5 else None) with
| Some lgsz => Syntax.TWord lgsz
| None => Syntax.TZ
end)
|