Skip to content
Snippets Groups Projects
Commit e20c28d0 authored by erwan's avatar erwan
Browse files

Spring cleaning

parent 99969816
No related branches found
No related tags found
No related merge requests found
Showing
with 7524 additions and 2 deletions
...@@ -9,7 +9,12 @@ It is dedicated to the [Simulation and Formal Verification of Self-stabilizing A ...@@ -9,7 +9,12 @@ It is dedicated to the [Simulation and Formal Verification of Self-stabilizing A
### Summary ### Summary
dot2lus compiles a graph described in the [DOT format](https://en.wikipedia.org/wiki/DOT_(graph_description_language)) into a Lustre program that executes some [Distributed Self-Stabilizing Algorithm](https://www-verimag.imag.fr/New-Book-Introduction-to-Distributed.html) over an equivalent network topology. dot2lus compiles a graph described in the [DOT
format](https://en.wikipedia.org/wiki/DOT_(graph_description_language))
into a Lustre program that executes some [Distributed
Self-Stabilizing
Algorithm](https://www-verimag.imag.fr/New-Book-Introduction-to-Distributed.html)
over an equivalent network topology.
``` ```
dot2lus <dotfile> [-o <lusfile>] [--clock] [--help] dot2lus <dotfile> [-o <lusfile>] [--clock] [--help]
...@@ -20,7 +25,10 @@ dot2lus <dotfile> [-o <lusfile>] [--clock] [--help] ...@@ -20,7 +25,10 @@ dot2lus <dotfile> [-o <lusfile>] [--clock] [--help]
### Algorithm API ### Algorithm API
Following the conventions used in [SASA's API](https://verimag.gricad-pages.univ-grenoble-alpes.fr/synchrone/sasa/_html/algo/Algo/index.html), every algorithm currently needs to provide the following definitions, which are shared by all nodes: Following the conventions used in [SASA's
API](https://verimag.gricad-pages.univ-grenoble-alpes.fr/synchrone/sasa/_html/algo/Algo/index.html),
every algorithm currently needs to provide the following definitions,
which are shared by all nodes:
```ocaml ```ocaml
(* Represents a node's state. *) (* Represents a node's state. *)
......
-- Signed binary
-- const BIN_SZ=8;
type UsrInt = bool^BIN_SZ;
--const UsrInt_0 = false^BIN_SZ;
node UsrIntIf(
c : bool; x : UsrInt; y : UsrInt
) returns (
s : UsrInt
);
let
s = if c^BIN_SZ then x else y;
tel
node UsrIntPlus( x : UsrInt; y : UsrInt) returns ( s : UsrInt);
var c : bool^(BIN_SZ+1);
let
c[0] = false;
c[1..BIN_SZ] = if c[0..BIN_SZ-1] then (x or y) else (x and y);
s = x xor y xor c[0..BIN_SZ-1];
tel
node UsrInt
Chs( x : UsrInt) returns ( s : UsrInt);
var c : bool^(BIN_SZ+1);
let
c[0] = false;
c[1..BIN_SZ] = c[0..BIN_SZ-1] or x;
s = c[0..BIN_SZ-1] xor x;
tel
node UsrIntIncr(x : UsrInt) returns (s : UsrInt);
var c : bool^(BIN_SZ+1);
let
c[0] = true;
c[1..BIN_SZ] = c[0..BIN_SZ-1] and x;
s = c[0..BIN_SZ-1] xor x;
tel
node UsrIntDecr(x : UsrInt) returns (s : UsrInt);
var c : bool^(BIN_SZ+1);
let
c[0] = true;
c[1..BIN_SZ] = c[0..BIN_SZ-1] and not x;
s = c[0..BIN_SZ-1] xor x;
tel
node UsrIntMinus( x : UsrInt; y : UsrInt) returns ( s : UsrInt);
let
s = UsrIntPlus(x, UsrIntChs(y));
tel
node UsrIntGt( x : UsrInt; y : UsrInt) returns ( o : bool);
var
z : UsrInt;
let
-- x > y <=> y - x < 0
z = UsrIntPlus(y, UsrIntChs(x));
o = z[BIN_SZ-1];
tel
node UsrIntLt( x : UsrInt; y : UsrInt) returns ( o : bool);
let
-- x < y <=> y > x
o = UsrIntGt(y,x);
tel
node UsrIntGte( x : UsrInt; y : UsrInt) returns ( o : bool);
let
-- x >= y <=> not y > x
o = not UsrIntGt(y,x);
tel
node UsrIntLte( x : UsrInt; y : UsrInt) returns ( o : bool);
let
-- x <= y <=> not x > y
o = not UsrIntGt(x,y);
tel
node UsrIntEq( x : UsrInt; y : UsrInt) returns ( o : bool);
var
a : bool^BIN_SZ+1;
let
a[0] = true;
a[1..BIN_SZ] = a[0..BIN_SZ-1] and (x = y);
o = a[BIN_SZ];
tel
node UsrIntNeq( x : UsrInt; y : UsrInt) returns ( o : bool);
let
o = not UsrIntEq(x,y);
tel
-- to be included BEFORE binary.lus
-- Signed binary on 5 bits
-- (range [-15, 15] + nan (0001)
const BIN_SZ=5;
const UsrInt_0 = [0, 0, 0, 0, 0];
const UsrInt_1 = [1, 0, 0, 0, 0];
const UsrInt_2 = [0, 1, 0, 0, 0];
const UsrInt_3 = [1, 1, 0, 0, 0];
const UsrInt_4 = [0, 0, 1, 0, 0];
const UsrInt_5 = [1, 0, 1, 0, 0];
const UsrInt_6 = [0, 1, 1, 0, 0];
const UsrInt_7 = [1, 1, 1, 0, 0];
const UsrInt_8 = [0, 0, 0, 1, 0];
const UsrInt_9 = [1, 0, 0, 1, 0];
const UsrInt_10 = [0, 1, 0, 1, 0];
const UsrInt_11 = [1, 1, 0, 1, 0];
const UsrInt_12 = [0, 0, 1, 1, 0];
const UsrInt_13 = [1, 0, 1, 1, 0];
const UsrInt_14 = [0, 1, 1, 1, 0];
const UsrInt_15 = [1, 1, 1, 1, 0];
-- UNSIGNED binary
/*
- modulo max arithmetic (no overflow)
- diff with signed :
* no csh (indeed)
* comparisons
*/
--const BIN_SZ=5;
type UsrInt = bool^BIN_SZ;
--const UsrInt_0 = false^BIN_SZ;
node UsrIntIf(
c : bool; x : UsrInt; y : UsrInt
) returns (
s : UsrInt
);
let
s = if c^BIN_SZ then x else y;
tel
node UsrIntPlus( x : UsrInt; y : UsrInt) returns ( s : UsrInt);
var c : bool^(BIN_SZ+1);
let
c[0] = false;
c[1..BIN_SZ] = if c[0..BIN_SZ-1] then (x or y) else (x and y);
s = x xor y xor c[0..BIN_SZ-1];
tel
node UsrIntMinus( x : UsrInt; y : UsrInt) returns ( s : UsrInt);
var c : bool^(BIN_SZ+1);
ny: UsrInt;
let
c[0] = true;
ny = not y;
c[1..BIN_SZ] = if c[0..BIN_SZ-1] then (x or ny) else (x and ny);
s = x xor ny xor c[0..BIN_SZ-1];
tel
node UsrIntIncr(x : UsrInt) returns (s : UsrInt);
var c : bool^(BIN_SZ+1);
let
c[0] = true;
c[1..BIN_SZ] = c[0..BIN_SZ-1] and x;
s = c[0..BIN_SZ-1] xor x;
tel
node UsrIntDecr(x : UsrInt) returns (s : UsrInt);
var c : bool^(BIN_SZ+1);
let
c[0] = true;
c[1..BIN_SZ] = c[0..BIN_SZ-1] and not x;
s = c[0..BIN_SZ-1] xor x;
tel
node _internal_GT (const sz : int; x, y: bool^sz) returns (o: bool);
let
o = with (sz = 1) then (x[0] and not y[0])
else if (x[sz-1] and not y[sz-1]) then true
else if (not x[sz-1] and y[sz-1]) then false
else _internal_GT(sz-1, x[0..sz-2], y[0..sz-2]);
tel
node UsrIntGt( x : UsrInt; y : UsrInt) returns ( o : bool);
let
o = _internal_GT(BIN_SZ, x, y);
tel
node UsrIntLt( x : UsrInt; y : UsrInt) returns ( o : bool);
let
o = UsrIntGt(y,x);
tel
node UsrIntGte( x : UsrInt; y : UsrInt) returns ( o : bool);
let
o = not UsrIntGt(y,x);
tel
node UsrIntLte( x : UsrInt; y : UsrInt) returns ( o : bool);
let
o = not UsrIntGt(x,y);
tel
node UsrIntEq( x : UsrInt; y : UsrInt) returns ( o : bool);
var
a : bool^BIN_SZ+1;
let
a[0] = true;
a[1..BIN_SZ] = a[0..BIN_SZ-1] and (x = y);
o = a[BIN_SZ];
tel
node UsrIntNeq( x : UsrInt; y : UsrInt) returns ( o : bool);
let
o = not UsrIntEq(x,y);
tel
-- to be included BEFORE binary.lus
-- unigned binary on 5 bits
-- (range [0, 31])
const BIN_SZ=5;
const UsrInt_0 = [0, 0, 0, 0, 0];
const UsrInt_1 = [1, 0, 0, 0, 0];
const UsrInt_2 = [0, 1, 0, 0, 0];
const UsrInt_3 = [1, 1, 0, 0, 0];
const UsrInt_4 = [0, 0, 1, 0, 0];
const UsrInt_5 = [1, 0, 1, 0, 0];
const UsrInt_6 = [0, 1, 1, 0, 0];
const UsrInt_7 = [1, 1, 1, 0, 0];
const UsrInt_8 = [0, 0, 0, 1, 0];
const UsrInt_9 = [1, 0, 0, 1, 0];
const UsrInt_10 = [0, 1, 0, 1, 0];
const UsrInt_11 = [1, 1, 0, 1, 0];
const UsrInt_12 = [0, 0, 1, 1, 0];
const UsrInt_13 = [1, 0, 1, 1, 0];
const UsrInt_14 = [0, 1, 1, 1, 0];
const UsrInt_15 = [1, 1, 1, 1, 0];
const UsrInt_16 = [0, 0, 0, 0, 1];
const UsrInt_17 = [1, 0, 0, 0, 1];
const UsrInt_18 = [0, 1, 0, 0, 1];
const UsrInt_19 = [1, 1, 0, 0, 1];
const UsrInt_20 = [0, 0, 1, 0, 1];
const UsrInt_21 = [1, 0, 1, 0, 1];
const UsrInt_22 = [0, 1, 1, 0, 1];
const UsrInt_23 = [1, 1, 1, 0, 1];
const UsrInt_24 = [0, 0, 0, 1, 1];
const UsrInt_25 = [1, 0, 0, 1, 1];
const UsrInt_26 = [0, 1, 0, 1, 1];
const UsrInt_27 = [1, 1, 0, 1, 1];
const UsrInt_28 = [0, 0, 1, 1, 1];
const UsrInt_29 = [1, 0, 1, 1, 1];
const UsrInt_30 = [0, 1, 1, 1, 1];
const UsrInt_31 = [1, 1, 1, 1, 1];
gen_binary: gen_binary.ml
ocamlopt gen_binary.ml -o $@
Some lustre files that implements int using bool arrays.
Very useful to perform proof with lesar on integers.
\ No newline at end of file
node UsrIntChs
(x_0: bool;
x_1: bool;
x_2: bool;
x_3: bool;
x_4: bool)
returns
(s_0: bool;
s_1: bool;
s_2: bool;
s_3: bool;
s_4: bool);
var
V145_c_1: bool;
V146_c_2: bool;
V147_c_3: bool;
V148_c_4: bool;
V149_c_5: bool;
let
s_0 = (false xor x_0);
s_1 = (V145_c_1 xor x_1);
s_2 = (V146_c_2 xor x_2);
s_3 = (V147_c_3 xor x_3);
s_4 = (V148_c_4 xor x_4);
V145_c_1 = (false or x_0);
V146_c_2 = (V145_c_1 or x_1);
V147_c_3 = (V146_c_2 or x_2);
V148_c_4 = (V147_c_3 or x_3);
V149_c_5 = (V148_c_4 or x_4);
tel
node UsrIntLt
(x_0: bool;
x_1: bool;
x_2: bool;
x_3: bool;
x_4: bool;
x_5: bool;
x_6: bool;
y_0: bool;
y_1: bool;
y_2: bool;
y_3: bool;
y_4: bool;
y_5: bool;
y_6: bool)
returns
(o: bool);
var
V421_z_0: bool;
V422_z_1: bool;
V423_z_2: bool;
V424_z_3: bool;
V425_z_4: bool;
V426_z_5: bool;
V427_c_1: bool;
V428_c_2: bool;
V429_c_3: bool;
V430_c_4: bool;
V431_c_5: bool;
V432_c_6: bool;
V433_c_7: bool;
V434_c_1: bool;
V435_c_2: bool;
V436_c_3: bool;
V437_c_4: bool;
V438_c_5: bool;
V439_c_6: bool;
V440_c_7: bool;
V441_y_0: bool;
V442_y_1: bool;
V443_y_2: bool;
V444_y_3: bool;
V445_y_4: bool;
V446_y_5: bool;
V447_y_6: bool;
let
o = ((x_6 xor V447_y_6) xor V439_c_6);
V421_z_0 = ((x_0 xor V441_y_0) xor false);
V422_z_1 = ((x_1 xor V442_y_1) xor V434_c_1);
V423_z_2 = ((x_2 xor V443_y_2) xor V435_c_2);
V424_z_3 = ((x_3 xor V444_y_3) xor V436_c_3);
V425_z_4 = ((x_4 xor V445_y_4) xor V437_c_4);
V426_z_5 = ((x_5 xor V446_y_5) xor V438_c_5);
V427_c_1 = (false or y_0);
V428_c_2 = (V427_c_1 or y_1);
V429_c_3 = (V428_c_2 or y_2);
V430_c_4 = (V429_c_3 or y_3);
V431_c_5 = (V430_c_4 or y_4);
V432_c_6 = (V431_c_5 or y_5);
V433_c_7 = (V432_c_6 or y_6);
V434_c_1 = (if false then (x_0 or V441_y_0) else (x_0 and V441_y_0));
V435_c_2 = (if V434_c_1 then (x_1 or V442_y_1) else (x_1 and V442_y_1));
V436_c_3 = (if V435_c_2 then (x_2 or V443_y_2) else (x_2 and V443_y_2));
V437_c_4 = (if V436_c_3 then (x_3 or V444_y_3) else (x_3 and V444_y_3));
V438_c_5 = (if V437_c_4 then (x_4 or V445_y_4) else (x_4 and V445_y_4));
V439_c_6 = (if V438_c_5 then (x_5 or V446_y_5) else (x_5 and V446_y_5));
V440_c_7 = (if V439_c_6 then (x_6 or V447_y_6) else (x_6 and V447_y_6));
V441_y_0 = (false xor y_0);
V442_y_1 = (V427_c_1 xor y_1);
V443_y_2 = (V428_c_2 xor y_2);
V444_y_3 = (V429_c_3 xor y_3);
V445_y_4 = (V430_c_4 xor y_4);
V446_y_5 = (V431_c_5 xor y_5);
V447_y_6 = (V432_c_6 xor y_6);
tel
This diff is collapsed.
File added
-- Signed binary
-- const BIN_SZ=8;
type UsrInt = bool^BIN_SZ;
--const UsrInt_0 = false^BIN_SZ;
node UsrIntIf(
c : bool; x : UsrInt; y : UsrInt
) returns (
s : UsrInt
);
let
s = if c^BIN_SZ then x else y;
tel
node UsrIntPlus( x : UsrInt; y : UsrInt) returns ( s : UsrInt);
var c : bool^(BIN_SZ+1);
let
c[0] = false;
c[1..BIN_SZ] = if c[0..BIN_SZ-1] then (x or y) else (x and y);
s = x xor y xor c[0..BIN_SZ-1];
tel
node UsrIntChs( x : UsrInt) returns ( s : UsrInt);
var c : bool^(BIN_SZ+1);
let
c[0] = false;
c[1..BIN_SZ] = c[0..BIN_SZ-1] or x;
s = c[0..BIN_SZ-1] xor x;
tel
node UsrIntIncr(x : UsrInt) returns (s : UsrInt);
var c : bool^(BIN_SZ+1);
let
c[0] = true;
c[1..BIN_SZ] = c[0..BIN_SZ-1] and x;
s = c[0..BIN_SZ-1] xor x;
tel
node UsrIntDecr(x : UsrInt) returns (s : UsrInt);
var c : bool^(BIN_SZ+1);
let
c[0] = true;
c[1..BIN_SZ] = c[0..BIN_SZ-1] and not x;
s = c[0..BIN_SZ-1] xor x;
tel
node UsrIntMinus( x : UsrInt; y : UsrInt) returns ( s : UsrInt);
let
s = UsrIntPlus(x, UsrIntChs(y));
tel
node UsrIntGt( x : UsrInt; y : UsrInt) returns ( o : bool);
var
z : UsrInt;
let
-- x > y <=> y - x < 0
z = UsrIntPlus(y, UsrIntChs(x));
o = z[BIN_SZ-1];
tel
node UsrIntLt( x : UsrInt; y : UsrInt) returns ( o : bool);
let
-- x < y <=> y > x
o = UsrIntGt(y,x);
tel
node UsrIntGte( x : UsrInt; y : UsrInt) returns ( o : bool);
let
-- x >= y <=> not y > x
o = not UsrIntGt(y,x);
tel
node UsrIntLte( x : UsrInt; y : UsrInt) returns ( o : bool);
let
-- x <= y <=> not x > y
o = not UsrIntGt(x,y);
tel
node UsrIntEq( x : UsrInt; y : UsrInt) returns ( o : bool);
var
a : bool^BIN_SZ+1;
let
a[0] = true;
a[1..BIN_SZ] = a[0..BIN_SZ-1] and (x = y);
o = a[BIN_SZ];
tel
node UsrIntNeq( x : UsrInt; y : UsrInt) returns ( o : bool);
let
o = not UsrIntEq(x,y);
tel
This diff is collapsed.
This diff is collapsed.
-- to be included BEFORE binary.lus
-- Signed binary on 5 bits
-- (range [-15, 15] + nan (0001)
const BIN_SZ=3;
-- const UsrInt_0 = [0, 0, 0];
const UsrInt_1 = [1, 0, 0];
const UsrInt_2 = [0, 1, 0];
const UsrInt_3 = [1, 1, 0];
const UsrInt_4 = [0, 0, 1];
const UsrInt_5 = [1, 0, 1];
const UsrInt_6 = [0, 1, 1];
const UsrInt_7 = [1, 1, 1];
-- to be included BEFORE binary.lus
-- Signed binary on 5 bits
-- (range [-15, 15] + nan (0001)
const BIN_SZ=5;
(* const UsrInt_0 = [0, 0, 0, 0, 0]; *)
const UsrInt_1 = [1, 0, 0, 0, 0];
const UsrInt_2 = [0, 1, 0, 0, 0];
const UsrInt_3 = [1, 1, 0, 0, 0];
const UsrInt_4 = [0, 0, 1, 0, 0];
const UsrInt_5 = [1, 0, 1, 0, 0];
const UsrInt_6 = [0, 1, 1, 0, 0];
const UsrInt_7 = [1, 1, 1, 0, 0];
const UsrInt_8 = [0, 0, 0, 1, 0];
const UsrInt_9 = [1, 0, 0, 1, 0];
const UsrInt_10 = [0, 1, 0, 1, 0];
const UsrInt_11 = [1, 1, 0, 1, 0];
const UsrInt_12 = [0, 0, 1, 1, 0];
const UsrInt_13 = [1, 0, 1, 1, 0];
const UsrInt_14 = [0, 1, 1, 1, 0];
const UsrInt_15 = [1, 1, 1, 1, 0];
-- to be included BEFORE binary.lus
const BIN_SZ=5;
const UsrInt_0 = [0,0,0,0,0];
const UsrInt_1 = [1,0,0,0,0];
const UsrInt_2 = [0,1,0,0,0];
const UsrInt_3 = [1,1,0,0,0];
const UsrInt_4 = [0,0,1,0,0];
const UsrInt_5 = [1,0,1,0,0];
const UsrInt_6 = [0,1,1,0,0];
const UsrInt_7 = [1,1,1,0,0];
const UsrInt_8 = [0,0,0,1,0];
const UsrInt_9 = [1,0,0,1,0];
const UsrInt_10 = [0,1,0,1,0];
const UsrInt_11 = [1,1,0,1,0];
const UsrInt_12 = [0,0,1,1,0];
const UsrInt_13 = [1,0,1,1,0];
const UsrInt_14 = [0,1,1,1,0];
const UsrInt_15 = [1,1,1,1,0];
const nan = [0,0,0,0,1];
const UsrInt_minus_15 = [1,0,0,0,1];
const UsrInt_minus_14 = [0,1,0,0,1];
const UsrInt_minus_13 = [1,1,0,0,1];
const UsrInt_minus_12 = [0,0,1,0,1];
const UsrInt_minus_11 = [1,0,1,0,1];
const UsrInt_minus_10 = [0,1,1,0,1];
const UsrInt_minus_9 = [1,1,1,0,1];
const UsrInt_minus_8 = [0,0,0,1,1];
const UsrInt_minus_7 = [1,0,0,1,1];
const UsrInt_minus_6 = [0,1,0,1,1];
const UsrInt_minus_5 = [1,1,0,1,1];
const UsrInt_minus_4 = [0,0,1,1,1];
const UsrInt_minus_3 = [1,0,1,1,1];
const UsrInt_minus_2 = [0,1,1,1,1];
const UsrInt_minus_1 = [1,1,1,1,1];
-- to be included BEFORE binary.lus
const BIN_SZ=6;
const UsrInt_0 = [0,0,0,0,0,0];
const UsrInt_1 = [1,0,0,0,0,0];
const UsrInt_2 = [0,1,0,0,0,0];
const UsrInt_3 = [1,1,0,0,0,0];
const UsrInt_4 = [0,0,1,0,0,0];
const UsrInt_5 = [1,0,1,0,0,0];
const UsrInt_6 = [0,1,1,0,0,0];
const UsrInt_7 = [1,1,1,0,0,0];
const UsrInt_8 = [0,0,0,1,0,0];
const UsrInt_9 = [1,0,0,1,0,0];
const UsrInt_10 = [0,1,0,1,0,0];
const UsrInt_11 = [1,1,0,1,0,0];
const UsrInt_12 = [0,0,1,1,0,0];
const UsrInt_13 = [1,0,1,1,0,0];
const UsrInt_14 = [0,1,1,1,0,0];
const UsrInt_15 = [1,1,1,1,0,0];
const UsrInt_16 = [0,0,0,0,1,0];
const UsrInt_17 = [1,0,0,0,1,0];
const UsrInt_18 = [0,1,0,0,1,0];
const UsrInt_19 = [1,1,0,0,1,0];
const UsrInt_20 = [0,0,1,0,1,0];
const UsrInt_21 = [1,0,1,0,1,0];
const UsrInt_22 = [0,1,1,0,1,0];
const UsrInt_23 = [1,1,1,0,1,0];
const UsrInt_24 = [0,0,0,1,1,0];
const UsrInt_25 = [1,0,0,1,1,0];
const UsrInt_26 = [0,1,0,1,1,0];
const UsrInt_27 = [1,1,0,1,1,0];
const UsrInt_28 = [0,0,1,1,1,0];
const UsrInt_29 = [1,0,1,1,1,0];
const UsrInt_30 = [0,1,1,1,1,0];
const UsrInt_31 = [1,1,1,1,1,0];
const nan = [0,0,0,0,0,1];
const UsrInt_minus_31 = [1,0,0,0,0,1];
const UsrInt_minus_30 = [0,1,0,0,0,1];
const UsrInt_minus_29 = [1,1,0,0,0,1];
const UsrInt_minus_28 = [0,0,1,0,0,1];
const UsrInt_minus_27 = [1,0,1,0,0,1];
const UsrInt_minus_26 = [0,1,1,0,0,1];
const UsrInt_minus_25 = [1,1,1,0,0,1];
const UsrInt_minus_24 = [0,0,0,1,0,1];
const UsrInt_minus_23 = [1,0,0,1,0,1];
const UsrInt_minus_22 = [0,1,0,1,0,1];
const UsrInt_minus_21 = [1,1,0,1,0,1];
const UsrInt_minus_20 = [0,0,1,1,0,1];
const UsrInt_minus_19 = [1,0,1,1,0,1];
const UsrInt_minus_18 = [0,1,1,1,0,1];
const UsrInt_minus_17 = [1,1,1,1,0,1];
const UsrInt_minus_16 = [0,0,0,0,1,1];
const UsrInt_minus_15 = [1,0,0,0,1,1];
const UsrInt_minus_14 = [0,1,0,0,1,1];
const UsrInt_minus_13 = [1,1,0,0,1,1];
const UsrInt_minus_12 = [0,0,1,0,1,1];
const UsrInt_minus_11 = [1,0,1,0,1,1];
const UsrInt_minus_10 = [0,1,1,0,1,1];
const UsrInt_minus_9 = [1,1,1,0,1,1];
const UsrInt_minus_8 = [0,0,0,1,1,1];
const UsrInt_minus_7 = [1,0,0,1,1,1];
const UsrInt_minus_6 = [0,1,0,1,1,1];
const UsrInt_minus_5 = [1,1,0,1,1,1];
const UsrInt_minus_4 = [0,0,1,1,1,1];
const UsrInt_minus_3 = [1,0,1,1,1,1];
const UsrInt_minus_2 = [0,1,1,1,1,1];
const UsrInt_minus_1 = [1,1,1,1,1,1];
-- to be included BEFORE binary.lus
const BIN_SZ=7;
const UsrInt_0 = [0,0,0,0,0,0,0];
const UsrInt_1 = [1,0,0,0,0,0,0];
const UsrInt_2 = [0,1,0,0,0,0,0];
const UsrInt_3 = [1,1,0,0,0,0,0];
const UsrInt_4 = [0,0,1,0,0,0,0];
const UsrInt_5 = [1,0,1,0,0,0,0];
const UsrInt_6 = [0,1,1,0,0,0,0];
const UsrInt_7 = [1,1,1,0,0,0,0];
const UsrInt_8 = [0,0,0,1,0,0,0];
const UsrInt_9 = [1,0,0,1,0,0,0];
const UsrInt_10 = [0,1,0,1,0,0,0];
const UsrInt_11 = [1,1,0,1,0,0,0];
const UsrInt_12 = [0,0,1,1,0,0,0];
const UsrInt_13 = [1,0,1,1,0,0,0];
const UsrInt_14 = [0,1,1,1,0,0,0];
const UsrInt_15 = [1,1,1,1,0,0,0];
const UsrInt_16 = [0,0,0,0,1,0,0];
const UsrInt_17 = [1,0,0,0,1,0,0];
const UsrInt_18 = [0,1,0,0,1,0,0];
const UsrInt_19 = [1,1,0,0,1,0,0];
const UsrInt_20 = [0,0,1,0,1,0,0];
const UsrInt_21 = [1,0,1,0,1,0,0];
const UsrInt_22 = [0,1,1,0,1,0,0];
const UsrInt_23 = [1,1,1,0,1,0,0];
const UsrInt_24 = [0,0,0,1,1,0,0];
const UsrInt_25 = [1,0,0,1,1,0,0];
const UsrInt_26 = [0,1,0,1,1,0,0];
const UsrInt_27 = [1,1,0,1,1,0,0];
const UsrInt_28 = [0,0,1,1,1,0,0];
const UsrInt_29 = [1,0,1,1,1,0,0];
const UsrInt_30 = [0,1,1,1,1,0,0];
const UsrInt_31 = [1,1,1,1,1,0,0];
const UsrInt_32 = [0,0,0,0,0,1,0];
const UsrInt_33 = [1,0,0,0,0,1,0];
const UsrInt_34 = [0,1,0,0,0,1,0];
const UsrInt_35 = [1,1,0,0,0,1,0];
const UsrInt_36 = [0,0,1,0,0,1,0];
const UsrInt_37 = [1,0,1,0,0,1,0];
const UsrInt_38 = [0,1,1,0,0,1,0];
const UsrInt_39 = [1,1,1,0,0,1,0];
const UsrInt_40 = [0,0,0,1,0,1,0];
const UsrInt_41 = [1,0,0,1,0,1,0];
const UsrInt_42 = [0,1,0,1,0,1,0];
const UsrInt_43 = [1,1,0,1,0,1,0];
const UsrInt_44 = [0,0,1,1,0,1,0];
const UsrInt_45 = [1,0,1,1,0,1,0];
const UsrInt_46 = [0,1,1,1,0,1,0];
const UsrInt_47 = [1,1,1,1,0,1,0];
const UsrInt_48 = [0,0,0,0,1,1,0];
const UsrInt_49 = [1,0,0,0,1,1,0];
const UsrInt_50 = [0,1,0,0,1,1,0];
const UsrInt_51 = [1,1,0,0,1,1,0];
const UsrInt_52 = [0,0,1,0,1,1,0];
const UsrInt_53 = [1,0,1,0,1,1,0];
const UsrInt_54 = [0,1,1,0,1,1,0];
const UsrInt_55 = [1,1,1,0,1,1,0];
const UsrInt_56 = [0,0,0,1,1,1,0];
const UsrInt_57 = [1,0,0,1,1,1,0];
const UsrInt_58 = [0,1,0,1,1,1,0];
const UsrInt_59 = [1,1,0,1,1,1,0];
const UsrInt_60 = [0,0,1,1,1,1,0];
const UsrInt_61 = [1,0,1,1,1,1,0];
const UsrInt_62 = [0,1,1,1,1,1,0];
const UsrInt_63 = [1,1,1,1,1,1,0];
const nan = [0,0,0,0,0,0,1];
const UsrInt_minus_63 = [1,0,0,0,0,0,1];
const UsrInt_minus_62 = [0,1,0,0,0,0,1];
const UsrInt_minus_61 = [1,1,0,0,0,0,1];
const UsrInt_minus_60 = [0,0,1,0,0,0,1];
const UsrInt_minus_59 = [1,0,1,0,0,0,1];
const UsrInt_minus_58 = [0,1,1,0,0,0,1];
const UsrInt_minus_57 = [1,1,1,0,0,0,1];
const UsrInt_minus_56 = [0,0,0,1,0,0,1];
const UsrInt_minus_55 = [1,0,0,1,0,0,1];
const UsrInt_minus_54 = [0,1,0,1,0,0,1];
const UsrInt_minus_53 = [1,1,0,1,0,0,1];
const UsrInt_minus_52 = [0,0,1,1,0,0,1];
const UsrInt_minus_51 = [1,0,1,1,0,0,1];
const UsrInt_minus_50 = [0,1,1,1,0,0,1];
const UsrInt_minus_49 = [1,1,1,1,0,0,1];
const UsrInt_minus_48 = [0,0,0,0,1,0,1];
const UsrInt_minus_47 = [1,0,0,0,1,0,1];
const UsrInt_minus_46 = [0,1,0,0,1,0,1];
const UsrInt_minus_45 = [1,1,0,0,1,0,1];
const UsrInt_minus_44 = [0,0,1,0,1,0,1];
const UsrInt_minus_43 = [1,0,1,0,1,0,1];
const UsrInt_minus_42 = [0,1,1,0,1,0,1];
const UsrInt_minus_41 = [1,1,1,0,1,0,1];
const UsrInt_minus_40 = [0,0,0,1,1,0,1];
const UsrInt_minus_39 = [1,0,0,1,1,0,1];
const UsrInt_minus_38 = [0,1,0,1,1,0,1];
const UsrInt_minus_37 = [1,1,0,1,1,0,1];
const UsrInt_minus_36 = [0,0,1,1,1,0,1];
const UsrInt_minus_35 = [1,0,1,1,1,0,1];
const UsrInt_minus_34 = [0,1,1,1,1,0,1];
const UsrInt_minus_33 = [1,1,1,1,1,0,1];
const UsrInt_minus_32 = [0,0,0,0,0,1,1];
const UsrInt_minus_31 = [1,0,0,0,0,1,1];
const UsrInt_minus_30 = [0,1,0,0,0,1,1];
const UsrInt_minus_29 = [1,1,0,0,0,1,1];
const UsrInt_minus_28 = [0,0,1,0,0,1,1];
const UsrInt_minus_27 = [1,0,1,0,0,1,1];
const UsrInt_minus_26 = [0,1,1,0,0,1,1];
const UsrInt_minus_25 = [1,1,1,0,0,1,1];
const UsrInt_minus_24 = [0,0,0,1,0,1,1];
const UsrInt_minus_23 = [1,0,0,1,0,1,1];
const UsrInt_minus_22 = [0,1,0,1,0,1,1];
const UsrInt_minus_21 = [1,1,0,1,0,1,1];
const UsrInt_minus_20 = [0,0,1,1,0,1,1];
const UsrInt_minus_19 = [1,0,1,1,0,1,1];
const UsrInt_minus_18 = [0,1,1,1,0,1,1];
const UsrInt_minus_17 = [1,1,1,1,0,1,1];
const UsrInt_minus_16 = [0,0,0,0,1,1,1];
const UsrInt_minus_15 = [1,0,0,0,1,1,1];
const UsrInt_minus_14 = [0,1,0,0,1,1,1];
const UsrInt_minus_13 = [1,1,0,0,1,1,1];
const UsrInt_minus_12 = [0,0,1,0,1,1,1];
const UsrInt_minus_11 = [1,0,1,0,1,1,1];
const UsrInt_minus_10 = [0,1,1,0,1,1,1];
const UsrInt_minus_9 = [1,1,1,0,1,1,1];
const UsrInt_minus_8 = [0,0,0,1,1,1,1];
const UsrInt_minus_7 = [1,0,0,1,1,1,1];
const UsrInt_minus_6 = [0,1,0,1,1,1,1];
const UsrInt_minus_5 = [1,1,0,1,1,1,1];
const UsrInt_minus_4 = [0,0,1,1,1,1,1];
const UsrInt_minus_3 = [1,0,1,1,1,1,1];
const UsrInt_minus_2 = [0,1,1,1,1,1,1];
const UsrInt_minus_1 = [1,1,1,1,1,1,1];
-- to be included BEFORE binary.lus
const BIN_SZ=8;
const UsrInt_0 = [0,0,0,0,0,0,0,0];
const UsrInt_1 = [1,0,0,0,0,0,0,0];
const UsrInt_2 = [0,1,0,0,0,0,0,0];
const UsrInt_3 = [1,1,0,0,0,0,0,0];
const UsrInt_4 = [0,0,1,0,0,0,0,0];
const UsrInt_5 = [1,0,1,0,0,0,0,0];
const UsrInt_6 = [0,1,1,0,0,0,0,0];
const UsrInt_7 = [1,1,1,0,0,0,0,0];
const UsrInt_8 = [0,0,0,1,0,0,0,0];
const UsrInt_9 = [1,0,0,1,0,0,0,0];
const UsrInt_10 = [0,1,0,1,0,0,0,0];
const UsrInt_11 = [1,1,0,1,0,0,0,0];
const UsrInt_12 = [0,0,1,1,0,0,0,0];
const UsrInt_13 = [1,0,1,1,0,0,0,0];
const UsrInt_14 = [0,1,1,1,0,0,0,0];
const UsrInt_15 = [1,1,1,1,0,0,0,0];
const UsrInt_16 = [0,0,0,0,1,0,0,0];
const UsrInt_17 = [1,0,0,0,1,0,0,0];
const UsrInt_18 = [0,1,0,0,1,0,0,0];
const UsrInt_19 = [1,1,0,0,1,0,0,0];
const UsrInt_20 = [0,0,1,0,1,0,0,0];
const UsrInt_21 = [1,0,1,0,1,0,0,0];
const UsrInt_22 = [0,1,1,0,1,0,0,0];
const UsrInt_23 = [1,1,1,0,1,0,0,0];
const UsrInt_24 = [0,0,0,1,1,0,0,0];
const UsrInt_25 = [1,0,0,1,1,0,0,0];
const UsrInt_26 = [0,1,0,1,1,0,0,0];
const UsrInt_27 = [1,1,0,1,1,0,0,0];
const UsrInt_28 = [0,0,1,1,1,0,0,0];
const UsrInt_29 = [1,0,1,1,1,0,0,0];
const UsrInt_30 = [0,1,1,1,1,0,0,0];
const UsrInt_31 = [1,1,1,1,1,0,0,0];
const UsrInt_32 = [0,0,0,0,0,1,0,0];
const UsrInt_33 = [1,0,0,0,0,1,0,0];
const UsrInt_34 = [0,1,0,0,0,1,0,0];
const UsrInt_35 = [1,1,0,0,0,1,0,0];
const UsrInt_36 = [0,0,1,0,0,1,0,0];
const UsrInt_37 = [1,0,1,0,0,1,0,0];
const UsrInt_38 = [0,1,1,0,0,1,0,0];
const UsrInt_39 = [1,1,1,0,0,1,0,0];
const UsrInt_40 = [0,0,0,1,0,1,0,0];
const UsrInt_41 = [1,0,0,1,0,1,0,0];
const UsrInt_42 = [0,1,0,1,0,1,0,0];
const UsrInt_43 = [1,1,0,1,0,1,0,0];
const UsrInt_44 = [0,0,1,1,0,1,0,0];
const UsrInt_45 = [1,0,1,1,0,1,0,0];
const UsrInt_46 = [0,1,1,1,0,1,0,0];
const UsrInt_47 = [1,1,1,1,0,1,0,0];
const UsrInt_48 = [0,0,0,0,1,1,0,0];
const UsrInt_49 = [1,0,0,0,1,1,0,0];
const UsrInt_50 = [0,1,0,0,1,1,0,0];
const UsrInt_51 = [1,1,0,0,1,1,0,0];
const UsrInt_52 = [0,0,1,0,1,1,0,0];
const UsrInt_53 = [1,0,1,0,1,1,0,0];
const UsrInt_54 = [0,1,1,0,1,1,0,0];
const UsrInt_55 = [1,1,1,0,1,1,0,0];
const UsrInt_56 = [0,0,0,1,1,1,0,0];
const UsrInt_57 = [1,0,0,1,1,1,0,0];
const UsrInt_58 = [0,1,0,1,1,1,0,0];
const UsrInt_59 = [1,1,0,1,1,1,0,0];
const UsrInt_60 = [0,0,1,1,1,1,0,0];
const UsrInt_61 = [1,0,1,1,1,1,0,0];
const UsrInt_62 = [0,1,1,1,1,1,0,0];
const UsrInt_63 = [1,1,1,1,1,1,0,0];
const UsrInt_64 = [0,0,0,0,0,0,1,0];
const UsrInt_65 = [1,0,0,0,0,0,1,0];
const UsrInt_66 = [0,1,0,0,0,0,1,0];
const UsrInt_67 = [1,1,0,0,0,0,1,0];
const UsrInt_68 = [0,0,1,0,0,0,1,0];
const UsrInt_69 = [1,0,1,0,0,0,1,0];
const UsrInt_70 = [0,1,1,0,0,0,1,0];
const UsrInt_71 = [1,1,1,0,0,0,1,0];
const UsrInt_72 = [0,0,0,1,0,0,1,0];
const UsrInt_73 = [1,0,0,1,0,0,1,0];
const UsrInt_74 = [0,1,0,1,0,0,1,0];
const UsrInt_75 = [1,1,0,1,0,0,1,0];
const UsrInt_76 = [0,0,1,1,0,0,1,0];
const UsrInt_77 = [1,0,1,1,0,0,1,0];
const UsrInt_78 = [0,1,1,1,0,0,1,0];
const UsrInt_79 = [1,1,1,1,0,0,1,0];
const UsrInt_80 = [0,0,0,0,1,0,1,0];
const UsrInt_81 = [1,0,0,0,1,0,1,0];
const UsrInt_82 = [0,1,0,0,1,0,1,0];
const UsrInt_83 = [1,1,0,0,1,0,1,0];
const UsrInt_84 = [0,0,1,0,1,0,1,0];
const UsrInt_85 = [1,0,1,0,1,0,1,0];
const UsrInt_86 = [0,1,1,0,1,0,1,0];
const UsrInt_87 = [1,1,1,0,1,0,1,0];
const UsrInt_88 = [0,0,0,1,1,0,1,0];
const UsrInt_89 = [1,0,0,1,1,0,1,0];
const UsrInt_90 = [0,1,0,1,1,0,1,0];
const UsrInt_91 = [1,1,0,1,1,0,1,0];
const UsrInt_92 = [0,0,1,1,1,0,1,0];
const UsrInt_93 = [1,0,1,1,1,0,1,0];
const UsrInt_94 = [0,1,1,1,1,0,1,0];
const UsrInt_95 = [1,1,1,1,1,0,1,0];
const UsrInt_96 = [0,0,0,0,0,1,1,0];
const UsrInt_97 = [1,0,0,0,0,1,1,0];
const UsrInt_98 = [0,1,0,0,0,1,1,0];
const UsrInt_99 = [1,1,0,0,0,1,1,0];
const UsrInt_100 = [0,0,1,0,0,1,1,0];
const UsrInt_101 = [1,0,1,0,0,1,1,0];
const UsrInt_102 = [0,1,1,0,0,1,1,0];
const UsrInt_103 = [1,1,1,0,0,1,1,0];
const UsrInt_104 = [0,0,0,1,0,1,1,0];
const UsrInt_105 = [1,0,0,1,0,1,1,0];
const UsrInt_106 = [0,1,0,1,0,1,1,0];
const UsrInt_107 = [1,1,0,1,0,1,1,0];
const UsrInt_108 = [0,0,1,1,0,1,1,0];
const UsrInt_109 = [1,0,1,1,0,1,1,0];
const UsrInt_110 = [0,1,1,1,0,1,1,0];
const UsrInt_111 = [1,1,1,1,0,1,1,0];
const UsrInt_112 = [0,0,0,0,1,1,1,0];
const UsrInt_113 = [1,0,0,0,1,1,1,0];
const UsrInt_114 = [0,1,0,0,1,1,1,0];
const UsrInt_115 = [1,1,0,0,1,1,1,0];
const UsrInt_116 = [0,0,1,0,1,1,1,0];
const UsrInt_117 = [1,0,1,0,1,1,1,0];
const UsrInt_118 = [0,1,1,0,1,1,1,0];
const UsrInt_119 = [1,1,1,0,1,1,1,0];
const UsrInt_120 = [0,0,0,1,1,1,1,0];
const UsrInt_121 = [1,0,0,1,1,1,1,0];
const UsrInt_122 = [0,1,0,1,1,1,1,0];
const UsrInt_123 = [1,1,0,1,1,1,1,0];
const UsrInt_124 = [0,0,1,1,1,1,1,0];
const UsrInt_125 = [1,0,1,1,1,1,1,0];
const UsrInt_126 = [0,1,1,1,1,1,1,0];
const UsrInt_127 = [1,1,1,1,1,1,1,0];
const nan = [0,0,0,0,0,0,0,1];
const UsrInt_minus_127 = [1,0,0,0,0,0,0,1];
const UsrInt_minus_126 = [0,1,0,0,0,0,0,1];
const UsrInt_minus_125 = [1,1,0,0,0,0,0,1];
const UsrInt_minus_124 = [0,0,1,0,0,0,0,1];
const UsrInt_minus_123 = [1,0,1,0,0,0,0,1];
const UsrInt_minus_122 = [0,1,1,0,0,0,0,1];
const UsrInt_minus_121 = [1,1,1,0,0,0,0,1];
const UsrInt_minus_120 = [0,0,0,1,0,0,0,1];
const UsrInt_minus_119 = [1,0,0,1,0,0,0,1];
const UsrInt_minus_118 = [0,1,0,1,0,0,0,1];
const UsrInt_minus_117 = [1,1,0,1,0,0,0,1];
const UsrInt_minus_116 = [0,0,1,1,0,0,0,1];
const UsrInt_minus_115 = [1,0,1,1,0,0,0,1];
const UsrInt_minus_114 = [0,1,1,1,0,0,0,1];
const UsrInt_minus_113 = [1,1,1,1,0,0,0,1];
const UsrInt_minus_112 = [0,0,0,0,1,0,0,1];
const UsrInt_minus_111 = [1,0,0,0,1,0,0,1];
const UsrInt_minus_110 = [0,1,0,0,1,0,0,1];
const UsrInt_minus_109 = [1,1,0,0,1,0,0,1];
const UsrInt_minus_108 = [0,0,1,0,1,0,0,1];
const UsrInt_minus_107 = [1,0,1,0,1,0,0,1];
const UsrInt_minus_106 = [0,1,1,0,1,0,0,1];
const UsrInt_minus_105 = [1,1,1,0,1,0,0,1];
const UsrInt_minus_104 = [0,0,0,1,1,0,0,1];
const UsrInt_minus_103 = [1,0,0,1,1,0,0,1];
const UsrInt_minus_102 = [0,1,0,1,1,0,0,1];
const UsrInt_minus_101 = [1,1,0,1,1,0,0,1];
const UsrInt_minus_100 = [0,0,1,1,1,0,0,1];
const UsrInt_minus_99 = [1,0,1,1,1,0,0,1];
const UsrInt_minus_98 = [0,1,1,1,1,0,0,1];
const UsrInt_minus_97 = [1,1,1,1,1,0,0,1];
const UsrInt_minus_96 = [0,0,0,0,0,1,0,1];
const UsrInt_minus_95 = [1,0,0,0,0,1,0,1];
const UsrInt_minus_94 = [0,1,0,0,0,1,0,1];
const UsrInt_minus_93 = [1,1,0,0,0,1,0,1];
const UsrInt_minus_92 = [0,0,1,0,0,1,0,1];
const UsrInt_minus_91 = [1,0,1,0,0,1,0,1];
const UsrInt_minus_90 = [0,1,1,0,0,1,0,1];
const UsrInt_minus_89 = [1,1,1,0,0,1,0,1];
const UsrInt_minus_88 = [0,0,0,1,0,1,0,1];
const UsrInt_minus_87 = [1,0,0,1,0,1,0,1];
const UsrInt_minus_86 = [0,1,0,1,0,1,0,1];
const UsrInt_minus_85 = [1,1,0,1,0,1,0,1];
const UsrInt_minus_84 = [0,0,1,1,0,1,0,1];
const UsrInt_minus_83 = [1,0,1,1,0,1,0,1];
const UsrInt_minus_82 = [0,1,1,1,0,1,0,1];
const UsrInt_minus_81 = [1,1,1,1,0,1,0,1];
const UsrInt_minus_80 = [0,0,0,0,1,1,0,1];
const UsrInt_minus_79 = [1,0,0,0,1,1,0,1];
const UsrInt_minus_78 = [0,1,0,0,1,1,0,1];
const UsrInt_minus_77 = [1,1,0,0,1,1,0,1];
const UsrInt_minus_76 = [0,0,1,0,1,1,0,1];
const UsrInt_minus_75 = [1,0,1,0,1,1,0,1];
const UsrInt_minus_74 = [0,1,1,0,1,1,0,1];
const UsrInt_minus_73 = [1,1,1,0,1,1,0,1];
const UsrInt_minus_72 = [0,0,0,1,1,1,0,1];
const UsrInt_minus_71 = [1,0,0,1,1,1,0,1];
const UsrInt_minus_70 = [0,1,0,1,1,1,0,1];
const UsrInt_minus_69 = [1,1,0,1,1,1,0,1];
const UsrInt_minus_68 = [0,0,1,1,1,1,0,1];
const UsrInt_minus_67 = [1,0,1,1,1,1,0,1];
const UsrInt_minus_66 = [0,1,1,1,1,1,0,1];
const UsrInt_minus_65 = [1,1,1,1,1,1,0,1];
const UsrInt_minus_64 = [0,0,0,0,0,0,1,1];
const UsrInt_minus_63 = [1,0,0,0,0,0,1,1];
const UsrInt_minus_62 = [0,1,0,0,0,0,1,1];
const UsrInt_minus_61 = [1,1,0,0,0,0,1,1];
const UsrInt_minus_60 = [0,0,1,0,0,0,1,1];
const UsrInt_minus_59 = [1,0,1,0,0,0,1,1];
const UsrInt_minus_58 = [0,1,1,0,0,0,1,1];
const UsrInt_minus_57 = [1,1,1,0,0,0,1,1];
const UsrInt_minus_56 = [0,0,0,1,0,0,1,1];
const UsrInt_minus_55 = [1,0,0,1,0,0,1,1];
const UsrInt_minus_54 = [0,1,0,1,0,0,1,1];
const UsrInt_minus_53 = [1,1,0,1,0,0,1,1];
const UsrInt_minus_52 = [0,0,1,1,0,0,1,1];
const UsrInt_minus_51 = [1,0,1,1,0,0,1,1];
const UsrInt_minus_50 = [0,1,1,1,0,0,1,1];
const UsrInt_minus_49 = [1,1,1,1,0,0,1,1];
const UsrInt_minus_48 = [0,0,0,0,1,0,1,1];
const UsrInt_minus_47 = [1,0,0,0,1,0,1,1];
const UsrInt_minus_46 = [0,1,0,0,1,0,1,1];
const UsrInt_minus_45 = [1,1,0,0,1,0,1,1];
const UsrInt_minus_44 = [0,0,1,0,1,0,1,1];
const UsrInt_minus_43 = [1,0,1,0,1,0,1,1];
const UsrInt_minus_42 = [0,1,1,0,1,0,1,1];
const UsrInt_minus_41 = [1,1,1,0,1,0,1,1];
const UsrInt_minus_40 = [0,0,0,1,1,0,1,1];
const UsrInt_minus_39 = [1,0,0,1,1,0,1,1];
const UsrInt_minus_38 = [0,1,0,1,1,0,1,1];
const UsrInt_minus_37 = [1,1,0,1,1,0,1,1];
const UsrInt_minus_36 = [0,0,1,1,1,0,1,1];
const UsrInt_minus_35 = [1,0,1,1,1,0,1,1];
const UsrInt_minus_34 = [0,1,1,1,1,0,1,1];
const UsrInt_minus_33 = [1,1,1,1,1,0,1,1];
const UsrInt_minus_32 = [0,0,0,0,0,1,1,1];
const UsrInt_minus_31 = [1,0,0,0,0,1,1,1];
const UsrInt_minus_30 = [0,1,0,0,0,1,1,1];
const UsrInt_minus_29 = [1,1,0,0,0,1,1,1];
const UsrInt_minus_28 = [0,0,1,0,0,1,1,1];
const UsrInt_minus_27 = [1,0,1,0,0,1,1,1];
const UsrInt_minus_26 = [0,1,1,0,0,1,1,1];
const UsrInt_minus_25 = [1,1,1,0,0,1,1,1];
const UsrInt_minus_24 = [0,0,0,1,0,1,1,1];
const UsrInt_minus_23 = [1,0,0,1,0,1,1,1];
const UsrInt_minus_22 = [0,1,0,1,0,1,1,1];
const UsrInt_minus_21 = [1,1,0,1,0,1,1,1];
const UsrInt_minus_20 = [0,0,1,1,0,1,1,1];
const UsrInt_minus_19 = [1,0,1,1,0,1,1,1];
const UsrInt_minus_18 = [0,1,1,1,0,1,1,1];
const UsrInt_minus_17 = [1,1,1,1,0,1,1,1];
const UsrInt_minus_16 = [0,0,0,0,1,1,1,1];
const UsrInt_minus_15 = [1,0,0,0,1,1,1,1];
const UsrInt_minus_14 = [0,1,0,0,1,1,1,1];
const UsrInt_minus_13 = [1,1,0,0,1,1,1,1];
const UsrInt_minus_12 = [0,0,1,0,1,1,1,1];
const UsrInt_minus_11 = [1,0,1,0,1,1,1,1];
const UsrInt_minus_10 = [0,1,1,0,1,1,1,1];
const UsrInt_minus_9 = [1,1,1,0,1,1,1,1];
const UsrInt_minus_8 = [0,0,0,1,1,1,1,1];
const UsrInt_minus_7 = [1,0,0,1,1,1,1,1];
const UsrInt_minus_6 = [0,1,0,1,1,1,1,1];
const UsrInt_minus_5 = [1,1,0,1,1,1,1,1];
const UsrInt_minus_4 = [0,0,1,1,1,1,1,1];
const UsrInt_minus_3 = [1,0,1,1,1,1,1,1];
const UsrInt_minus_2 = [0,1,1,1,1,1,1,1];
const UsrInt_minus_1 = [1,1,1,1,1,1,1,1];
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment