**** New definitions: T, type: u2[*]
**** New definitions: U, type: u2[*]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[*]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
BndKind:Tuple, Type:({'  T':u2[*]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*])}):({'  T':u2[*]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}))
Func sig: (T:u2[*], U:u2[*]) to ({'  T':u2[*]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>(12)<1> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] },
    {   U: Ten<u2>(12)<1> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] },
    { Add: Ten<u2>(12)<1> [0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22] },
    { Sub: Ten<u2>(12)<1> [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] },
    { Mul: Ten<u2>(12)<1> [0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100, 121] },
    { Div: Ten<u2>(12)<1> [0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] },
    { Min: Ten<u2>(12)<1> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] },
    { Max: Ten<u2>(12)<1> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] })
###

**** New definitions: T, type: u2[*]
**** New definitions: U, type: u2[*,*]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[*]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
BndKind:Tuple, Type:({'  T':u2[*]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*,*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*,*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*,*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*,*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*,*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*,*])}):({'  T':u2[*]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}))
Func sig: (T:u2[*], U:u2[*,*]) to ({'  T':u2[*]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>(12)<1> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] },
    {   U: Ten<u2>(3,4)<4,1>
          [[0, 1, 2, 3]
           [4, 5, 6, 7]
           [8, 9, 10, 11]]
    },
    { Add: Ten<u2>(3,4)<4,1>
          [[0, 2, 4, 6]
           [4, 6, 8, 10]
           [8, 10, 12, 14]]
    },
    { Sub: Ten<u2>(3,4)<4,1>
          [[0, 0, 0, 0]
           [65532, 65532, 65532, 65532]
           [65528, 65528, 65528, 65528]]
    },
    { Mul: Ten<u2>(3,4)<4,1>
          [[0, 1, 4, 9]
           [0, 5, 12, 21]
           [0, 9, 20, 33]]
    },
    { Div: Ten<u2>(3,4)<4,1>
          [[0, 1, 1, 1]
           [0, 0, 0, 0]
           [0, 0, 0, 0]]
    },
    { Min: Ten<u2>(3,4)<4,1>
          [[0, 1, 2, 3]
           [0, 1, 2, 3]
           [0, 1, 2, 3]]
    },
    { Max: Ten<u2>(3,4)<4,1>
          [[0, 1, 2, 3]
           [4, 5, 6, 7]
           [8, 9, 10, 11]]
    })
###

**** New definitions: T, type: u2[*]
**** New definitions: U, type: u2[*]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[*]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
BndKind:Tuple, Type:({'  T':u2[*]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*])}):({'  T':u2[*]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}))
Func sig: (T:u2[*], U:u2[*]) to ({'  T':u2[*]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>(12)<1> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] },
    {   U: Ten<u2>(4)<1> [0, 1, 2, 3] },
    { Add: Ten<u2>(4)<1> [0, 2, 4, 6] },
    { Sub: Ten<u2>(4)<1> [0, 0, 0, 0] },
    { Mul: Ten<u2>(4)<1> [0, 1, 4, 9] },
    { Div: Ten<u2>(4)<1> [0, 1, 1, 1] },
    { Min: Ten<u2>(4)<1> [0, 1, 2, 3] },
    { Max: Ten<u2>(4)<1> [0, 1, 2, 3] })
###

**** New definitions: T, type: u2[*]
**** New definitions: U, type: u2[*]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[*]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
BndKind:Tuple, Type:({'  T':u2[*]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*])}):({'  T':u2[*]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}))
Func sig: (T:u2[*], U:u2[*]) to ({'  T':u2[*]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>(12)<1> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] },
    {   U: Ten<u2>(0)<0> [] },
    { Add: Ten<u2>(0)<0> [] },
    { Sub: Ten<u2>(0)<0> [] },
    { Mul: Ten<u2>(0)<0> [] },
    { Div: Ten<u2>(0)<0> [] },
    { Min: Ten<u2>(0)<0> [] },
    { Max: Ten<u2>(0)<0> [] })
###

**** New definitions: T, type: u2[*]
**** New definitions: U, type: u2[]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[*]}, {'  U':u2[]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
BndKind:Tuple, Type:({'  T':u2[*]}, {'  U':u2[]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*])}):({'  T':u2[*]}, {'  U':u2[]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}))
Func sig: (T:u2[*], U:u2[]) to ({'  T':u2[*]}, {'  U':u2[]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>(12)<1> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] },
    {   U: Ten<u2>()<> [65535] },
    { Add: Ten<u2>(12)<1> [65535, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] },
    { Sub: Ten<u2>(12)<1> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] },
    { Mul: Ten<u2>(12)<1> [0, 65535, 65534, 65533, 65532, 65531, 65530, 65529, 65528, 65527, 65526, 65525] },
    { Div: Ten<u2>(12)<1> [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] },
    { Min: Ten<u2>(12)<1> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] },
    { Max: Ten<u2>(12)<0> [65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535] })
###

**** New definitions: T, type: u2[*]
**** New definitions: U, type: u2[]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[*]}, {'  U':u2[]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
BndKind:Tuple, Type:({'  T':u2[*]}, {'  U':u2[]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*])}):({'  T':u2[*]}, {'  U':u2[]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}))
Func sig: (T:u2[*], U:u2[]) to ({'  T':u2[*]}, {'  U':u2[]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>(12)<1> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] },
    {   U: Ten<u2>()<> [0] },
    { Add: Ten<u2>(12)<1> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] },
    { Sub: Ten<u2>(12)<1> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] },
    { Mul: Ten<u2>(12)<0> [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] },
    { Div: Ten<u2>(12)<0> [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] },
    { Min: Ten<u2>(12)<0> [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] },
    { Max: Ten<u2>(12)<1> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] })
###

**** New definitions: T, type: u2[*]
**** New definitions: U, type: u2[]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[*]}, {'  U':u2[]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
BndKind:Tuple, Type:({'  T':u2[*]}, {'  U':u2[]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*])}):({'  T':u2[*]}, {'  U':u2[]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}))
Func sig: (T:u2[*], U:u2[]) to ({'  T':u2[*]}, {'  U':u2[]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>(12)<1> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] },
    {   U: Ten<u2>()<> [1] },
    { Add: Ten<u2>(12)<1> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] },
    { Sub: Ten<u2>(12)<1> [65535, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] },
    { Mul: Ten<u2>(12)<1> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] },
    { Div: Ten<u2>(12)<1> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] },
    { Min: Ten<u2>(12)<1> [0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] },
    { Max: Ten<u2>(12)<1> [1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] })
###

**** New definitions: T, type: u2[*]
**** New definitions: U, type: u2[]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[*]}, {'  U':u2[]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
BndKind:Tuple, Type:({'  T':u2[*]}, {'  U':u2[]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*])}):({'  T':u2[*]}, {'  U':u2[]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}))
Func sig: (T:u2[*], U:u2[]) to ({'  T':u2[*]}, {'  U':u2[]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>(12)<1> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] },
    {   U: Ten<u2>()<> [5] },
    { Add: Ten<u2>(12)<1> [5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16] },
    { Sub: Ten<u2>(12)<1> [65531, 65532, 65533, 65534, 65535, 0, 1, 2, 3, 4, 5, 6] },
    { Mul: Ten<u2>(12)<1> [0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55] },
    { Div: Ten<u2>(12)<1> [0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2] },
    { Min: Ten<u2>(12)<1> [0, 1, 2, 3, 4, 5, 5, 5, 5, 5, 5, 5] },
    { Max: Ten<u2>(12)<1> [5, 5, 5, 5, 5, 5, 6, 7, 8, 9, 10, 11] })
###

**** New definitions: T, type: u2[*]
**** New definitions: U, type: u2[*,*]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[*]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
BndKind:Tuple, Type:({'  T':u2[*]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*,*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*,*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*,*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*,*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*,*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*,*])}):({'  T':u2[*]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}))
Func sig: (T:u2[*], U:u2[*,*]) to ({'  T':u2[*]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>(12)<1> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] },
    {   U: Ten<u2>(3,4)<0,0>
          [[5, 5, 5, 5]
           [5, 5, 5, 5]
           [5, 5, 5, 5]]
    },
    { Add: Ten<u2>(3,4)<4,1>
          [[5, 6, 7, 8]
           [5, 6, 7, 8]
           [5, 6, 7, 8]]
    },
    { Sub: Ten<u2>(3,4)<4,1>
          [[65531, 65532, 65533, 65534]
           [65531, 65532, 65533, 65534]
           [65531, 65532, 65533, 65534]]
    },
    { Mul: Ten<u2>(3,4)<4,1>
          [[0, 5, 10, 15]
           [0, 5, 10, 15]
           [0, 5, 10, 15]]
    },
    { Div: Ten<u2>(3,4)<4,1>
          [[0, 0, 0, 0]
           [0, 0, 0, 0]
           [0, 0, 0, 0]]
    },
    { Min: Ten<u2>(3,4)<4,1>
          [[0, 1, 2, 3]
           [0, 1, 2, 3]
           [0, 1, 2, 3]]
    },
    { Max: Ten<u2>(3,4)<4,1>
          [[5, 5, 5, 5]
           [5, 5, 5, 5]
           [5, 5, 5, 5]]
    })
###

**** New definitions: T, type: u2[*]
**** New definitions: U, type: u2[]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[*]}, {'  U':u2[]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
BndKind:Tuple, Type:({'  T':u2[*]}, {'  U':u2[]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*])}):({'  T':u2[*]}, {'  U':u2[]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}))
Func sig: (T:u2[*], U:u2[]) to ({'  T':u2[*]}, {'  U':u2[]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>(12)<1> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] },
    {   U: Ten<u2>()<> [32768] },
    { Add: Ten<u2>(12)<1> [32768, 32769, 32770, 32771, 32772, 32773, 32774, 32775, 32776, 32777, 32778, 32779] },
    { Sub: Ten<u2>(12)<1> [32768, 32769, 32770, 32771, 32772, 32773, 32774, 32775, 32776, 32777, 32778, 32779] },
    { Mul: Ten<u2>(12)<1> [0, 32768, 0, 32768, 0, 32768, 0, 32768, 0, 32768, 0, 32768] },
    { Div: Ten<u2>(12)<1> [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] },
    { Min: Ten<u2>(12)<1> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] },
    { Max: Ten<u2>(12)<1> [32768, 32768, 32768, 32768, 32768, 32768, 32768, 32768, 32768, 32768, 32768, 32768] })
###

**** New definitions: T, type: u2[*]
**** New definitions: U, type: u2[]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[*]}, {'  U':u2[]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
BndKind:Tuple, Type:({'  T':u2[*]}, {'  U':u2[]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*])}):({'  T':u2[*]}, {'  U':u2[]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}))
Func sig: (T:u2[*], U:u2[]) to ({'  T':u2[*]}, {'  U':u2[]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>(12)<1> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] },
    {   U: Ten<u2>()<> [32767] },
    { Add: Ten<u2>(12)<1> [32767, 32768, 32769, 32770, 32771, 32772, 32773, 32774, 32775, 32776, 32777, 32778] },
    { Sub: Ten<u2>(12)<1> [32769, 32770, 32771, 32772, 32773, 32774, 32775, 32776, 32777, 32778, 32779, 32780] },
    { Mul: Ten<u2>(12)<1> [0, 32767, 65534, 32765, 65532, 32763, 65530, 32761, 65528, 32759, 65526, 32757] },
    { Div: Ten<u2>(12)<1> [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] },
    { Min: Ten<u2>(12)<1> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] },
    { Max: Ten<u2>(12)<1> [32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767] })
###

**** New definitions: T, type: u2[*,*]
**** New definitions: U, type: u2[*]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[*,*]}, {'  U':u2[*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
BndKind:Tuple, Type:({'  T':u2[*,*]}, {'  U':u2[*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*,*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*,*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*,*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*,*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*,*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*,*])}):({'  T':u2[*,*]}, {'  U':u2[*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}))
Func sig: (T:u2[*,*], U:u2[*]) to ({'  T':u2[*,*]}, {'  U':u2[*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>(3,4)<4,1>
          [[0, 1, 2, 3]
           [4, 5, 6, 7]
           [8, 9, 10, 11]]
    },
    {   U: Ten<u2>(12)<1> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] },
    { Add: Ten<u2>(3,4)<4,1>
          [[0, 2, 4, 6]
           [4, 6, 8, 10]
           [8, 10, 12, 14]]
    },
    { Sub: Ten<u2>(3,4)<4,1>
          [[0, 0, 0, 0]
           [4, 4, 4, 4]
           [8, 8, 8, 8]]
    },
    { Mul: Ten<u2>(3,4)<4,1>
          [[0, 1, 4, 9]
           [0, 5, 12, 21]
           [0, 9, 20, 33]]
    },
    { Div: Ten<u2>(3,4)<4,1>
          [[0, 1, 1, 1]
           [0, 5, 3, 2]
           [0, 9, 5, 3]]
    },
    { Min: Ten<u2>(3,4)<4,1>
          [[0, 1, 2, 3]
           [0, 1, 2, 3]
           [0, 1, 2, 3]]
    },
    { Max: Ten<u2>(3,4)<4,1>
          [[0, 1, 2, 3]
           [4, 5, 6, 7]
           [8, 9, 10, 11]]
    })
###

**** New definitions: T, type: u2[*,*]
**** New definitions: U, type: u2[*,*]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[*,*]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
BndKind:Tuple, Type:({'  T':u2[*,*]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*,*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*,*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*,*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*,*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*,*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*,*])}):({'  T':u2[*,*]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}))
Func sig: (T:u2[*,*], U:u2[*,*]) to ({'  T':u2[*,*]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>(3,4)<4,1>
          [[0, 1, 2, 3]
           [4, 5, 6, 7]
           [8, 9, 10, 11]]
    },
    {   U: Ten<u2>(3,4)<4,1>
          [[0, 1, 2, 3]
           [4, 5, 6, 7]
           [8, 9, 10, 11]]
    },
    { Add: Ten<u2>(3,4)<4,1>
          [[0, 2, 4, 6]
           [8, 10, 12, 14]
           [16, 18, 20, 22]]
    },
    { Sub: Ten<u2>(3,4)<4,1>
          [[0, 0, 0, 0]
           [0, 0, 0, 0]
           [0, 0, 0, 0]]
    },
    { Mul: Ten<u2>(3,4)<4,1>
          [[0, 1, 4, 9]
           [16, 25, 36, 49]
           [64, 81, 100, 121]]
    },
    { Div: Ten<u2>(3,4)<4,1>
          [[0, 1, 1, 1]
           [1, 1, 1, 1]
           [1, 1, 1, 1]]
    },
    { Min: Ten<u2>(3,4)<4,1>
          [[0, 1, 2, 3]
           [4, 5, 6, 7]
           [8, 9, 10, 11]]
    },
    { Max: Ten<u2>(3,4)<4,1>
          [[0, 1, 2, 3]
           [4, 5, 6, 7]
           [8, 9, 10, 11]]
    })
###

**** New definitions: T, type: u2[*,*]
**** New definitions: U, type: u2[*]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[*,*]}, {'  U':u2[*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
BndKind:Tuple, Type:({'  T':u2[*,*]}, {'  U':u2[*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*,*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*,*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*,*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*,*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*,*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*,*])}):({'  T':u2[*,*]}, {'  U':u2[*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}))
Func sig: (T:u2[*,*], U:u2[*]) to ({'  T':u2[*,*]}, {'  U':u2[*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>(3,4)<4,1>
          [[0, 1, 2, 3]
           [4, 5, 6, 7]
           [8, 9, 10, 11]]
    },
    {   U: Ten<u2>(4)<1> [0, 1, 2, 3] },
    { Add: Ten<u2>(3,4)<4,1>
          [[0, 2, 4, 6]
           [4, 6, 8, 10]
           [8, 10, 12, 14]]
    },
    { Sub: Ten<u2>(3,4)<4,1>
          [[0, 0, 0, 0]
           [4, 4, 4, 4]
           [8, 8, 8, 8]]
    },
    { Mul: Ten<u2>(3,4)<4,1>
          [[0, 1, 4, 9]
           [0, 5, 12, 21]
           [0, 9, 20, 33]]
    },
    { Div: Ten<u2>(3,4)<4,1>
          [[0, 1, 1, 1]
           [0, 5, 3, 2]
           [0, 9, 5, 3]]
    },
    { Min: Ten<u2>(3,4)<4,1>
          [[0, 1, 2, 3]
           [0, 1, 2, 3]
           [0, 1, 2, 3]]
    },
    { Max: Ten<u2>(3,4)<4,1>
          [[0, 1, 2, 3]
           [4, 5, 6, 7]
           [8, 9, 10, 11]]
    })
###

**** New definitions: T, type: u2[*,*]
**** New definitions: U, type: u2[*]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[*,*]}, {'  U':u2[*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
BndKind:Tuple, Type:({'  T':u2[*,*]}, {'  U':u2[*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*,*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*,*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*,*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*,*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*,*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*,*])}):({'  T':u2[*,*]}, {'  U':u2[*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}))
Func sig: (T:u2[*,*], U:u2[*]) to ({'  T':u2[*,*]}, {'  U':u2[*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>(3,4)<4,1>
          [[0, 1, 2, 3]
           [4, 5, 6, 7]
           [8, 9, 10, 11]]
    },
    {   U: Ten<u2>(0)<0> [] },
    { Add: Ten<u2>(3,0)<0,0> [] },
    { Sub: Ten<u2>(3,0)<0,0> [] },
    { Mul: Ten<u2>(3,0)<0,0> [] },
    { Div: Ten<u2>(3,0)<0,0> [] },
    { Min: Ten<u2>(3,0)<0,0> [] },
    { Max: Ten<u2>(3,0)<0,0> [] })
###

**** New definitions: T, type: u2[*,*]
**** New definitions: U, type: u2[]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[*,*]}, {'  U':u2[]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
BndKind:Tuple, Type:({'  T':u2[*,*]}, {'  U':u2[]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*,*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*,*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*,*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*,*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*,*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*,*])}):({'  T':u2[*,*]}, {'  U':u2[]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}))
Func sig: (T:u2[*,*], U:u2[]) to ({'  T':u2[*,*]}, {'  U':u2[]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>(3,4)<4,1>
          [[0, 1, 2, 3]
           [4, 5, 6, 7]
           [8, 9, 10, 11]]
    },
    {   U: Ten<u2>()<> [65535] },
    { Add: Ten<u2>(3,4)<4,1>
          [[65535, 0, 1, 2]
           [3, 4, 5, 6]
           [7, 8, 9, 10]]
    },
    { Sub: Ten<u2>(3,4)<4,1>
          [[1, 2, 3, 4]
           [5, 6, 7, 8]
           [9, 10, 11, 12]]
    },
    { Mul: Ten<u2>(3,4)<4,1>
          [[0, 65535, 65534, 65533]
           [65532, 65531, 65530, 65529]
           [65528, 65527, 65526, 65525]]
    },
    { Div: Ten<u2>(3,4)<4,1>
          [[0, 0, 0, 0]
           [0, 0, 0, 0]
           [0, 0, 0, 0]]
    },
    { Min: Ten<u2>(3,4)<4,1>
          [[0, 1, 2, 3]
           [4, 5, 6, 7]
           [8, 9, 10, 11]]
    },
    { Max: Ten<u2>(3,4)<0,0>
          [[65535, 65535, 65535, 65535]
           [65535, 65535, 65535, 65535]
           [65535, 65535, 65535, 65535]]
    })
###

**** New definitions: T, type: u2[*,*]
**** New definitions: U, type: u2[]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[*,*]}, {'  U':u2[]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
BndKind:Tuple, Type:({'  T':u2[*,*]}, {'  U':u2[]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*,*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*,*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*,*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*,*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*,*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*,*])}):({'  T':u2[*,*]}, {'  U':u2[]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}))
Func sig: (T:u2[*,*], U:u2[]) to ({'  T':u2[*,*]}, {'  U':u2[]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>(3,4)<4,1>
          [[0, 1, 2, 3]
           [4, 5, 6, 7]
           [8, 9, 10, 11]]
    },
    {   U: Ten<u2>()<> [0] },
    { Add: Ten<u2>(3,4)<4,1>
          [[0, 1, 2, 3]
           [4, 5, 6, 7]
           [8, 9, 10, 11]]
    },
    { Sub: Ten<u2>(3,4)<4,1>
          [[0, 1, 2, 3]
           [4, 5, 6, 7]
           [8, 9, 10, 11]]
    },
    { Mul: Ten<u2>(3,4)<0,0>
          [[0, 0, 0, 0]
           [0, 0, 0, 0]
           [0, 0, 0, 0]]
    },
    { Div: Ten<u2>(3,4)<0,0>
          [[0, 0, 0, 0]
           [0, 0, 0, 0]
           [0, 0, 0, 0]]
    },
    { Min: Ten<u2>(3,4)<0,0>
          [[0, 0, 0, 0]
           [0, 0, 0, 0]
           [0, 0, 0, 0]]
    },
    { Max: Ten<u2>(3,4)<4,1>
          [[0, 1, 2, 3]
           [4, 5, 6, 7]
           [8, 9, 10, 11]]
    })
###

**** New definitions: T, type: u2[*,*]
**** New definitions: U, type: u2[]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[*,*]}, {'  U':u2[]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
BndKind:Tuple, Type:({'  T':u2[*,*]}, {'  U':u2[]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*,*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*,*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*,*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*,*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*,*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*,*])}):({'  T':u2[*,*]}, {'  U':u2[]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}))
Func sig: (T:u2[*,*], U:u2[]) to ({'  T':u2[*,*]}, {'  U':u2[]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>(3,4)<4,1>
          [[0, 1, 2, 3]
           [4, 5, 6, 7]
           [8, 9, 10, 11]]
    },
    {   U: Ten<u2>()<> [1] },
    { Add: Ten<u2>(3,4)<4,1>
          [[1, 2, 3, 4]
           [5, 6, 7, 8]
           [9, 10, 11, 12]]
    },
    { Sub: Ten<u2>(3,4)<4,1>
          [[65535, 0, 1, 2]
           [3, 4, 5, 6]
           [7, 8, 9, 10]]
    },
    { Mul: Ten<u2>(3,4)<4,1>
          [[0, 1, 2, 3]
           [4, 5, 6, 7]
           [8, 9, 10, 11]]
    },
    { Div: Ten<u2>(3,4)<4,1>
          [[0, 1, 2, 3]
           [4, 5, 6, 7]
           [8, 9, 10, 11]]
    },
    { Min: Ten<u2>(3,4)<4,1>
          [[0, 1, 1, 1]
           [1, 1, 1, 1]
           [1, 1, 1, 1]]
    },
    { Max: Ten<u2>(3,4)<4,1>
          [[1, 1, 2, 3]
           [4, 5, 6, 7]
           [8, 9, 10, 11]]
    })
###

**** New definitions: T, type: u2[*,*]
**** New definitions: U, type: u2[]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[*,*]}, {'  U':u2[]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
BndKind:Tuple, Type:({'  T':u2[*,*]}, {'  U':u2[]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*,*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*,*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*,*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*,*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*,*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*,*])}):({'  T':u2[*,*]}, {'  U':u2[]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}))
Func sig: (T:u2[*,*], U:u2[]) to ({'  T':u2[*,*]}, {'  U':u2[]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>(3,4)<4,1>
          [[0, 1, 2, 3]
           [4, 5, 6, 7]
           [8, 9, 10, 11]]
    },
    {   U: Ten<u2>()<> [5] },
    { Add: Ten<u2>(3,4)<4,1>
          [[5, 6, 7, 8]
           [9, 10, 11, 12]
           [13, 14, 15, 16]]
    },
    { Sub: Ten<u2>(3,4)<4,1>
          [[65531, 65532, 65533, 65534]
           [65535, 0, 1, 2]
           [3, 4, 5, 6]]
    },
    { Mul: Ten<u2>(3,4)<4,1>
          [[0, 5, 10, 15]
           [20, 25, 30, 35]
           [40, 45, 50, 55]]
    },
    { Div: Ten<u2>(3,4)<4,1>
          [[0, 0, 0, 0]
           [0, 1, 1, 1]
           [1, 1, 2, 2]]
    },
    { Min: Ten<u2>(3,4)<4,1>
          [[0, 1, 2, 3]
           [4, 5, 5, 5]
           [5, 5, 5, 5]]
    },
    { Max: Ten<u2>(3,4)<4,1>
          [[5, 5, 5, 5]
           [5, 5, 6, 7]
           [8, 9, 10, 11]]
    })
###

**** New definitions: T, type: u2[*,*]
**** New definitions: U, type: u2[*,*]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[*,*]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
BndKind:Tuple, Type:({'  T':u2[*,*]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*,*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*,*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*,*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*,*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*,*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*,*])}):({'  T':u2[*,*]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}))
Func sig: (T:u2[*,*], U:u2[*,*]) to ({'  T':u2[*,*]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>(3,4)<4,1>
          [[0, 1, 2, 3]
           [4, 5, 6, 7]
           [8, 9, 10, 11]]
    },
    {   U: Ten<u2>(3,4)<0,0>
          [[5, 5, 5, 5]
           [5, 5, 5, 5]
           [5, 5, 5, 5]]
    },
    { Add: Ten<u2>(3,4)<4,1>
          [[5, 6, 7, 8]
           [9, 10, 11, 12]
           [13, 14, 15, 16]]
    },
    { Sub: Ten<u2>(3,4)<4,1>
          [[65531, 65532, 65533, 65534]
           [65535, 0, 1, 2]
           [3, 4, 5, 6]]
    },
    { Mul: Ten<u2>(3,4)<4,1>
          [[0, 5, 10, 15]
           [20, 25, 30, 35]
           [40, 45, 50, 55]]
    },
    { Div: Ten<u2>(3,4)<4,1>
          [[0, 0, 0, 0]
           [0, 1, 1, 1]
           [1, 1, 2, 2]]
    },
    { Min: Ten<u2>(3,4)<4,1>
          [[0, 1, 2, 3]
           [4, 5, 5, 5]
           [5, 5, 5, 5]]
    },
    { Max: Ten<u2>(3,4)<4,1>
          [[5, 5, 5, 5]
           [5, 5, 6, 7]
           [8, 9, 10, 11]]
    })
###

**** New definitions: T, type: u2[*,*]
**** New definitions: U, type: u2[]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[*,*]}, {'  U':u2[]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
BndKind:Tuple, Type:({'  T':u2[*,*]}, {'  U':u2[]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*,*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*,*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*,*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*,*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*,*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*,*])}):({'  T':u2[*,*]}, {'  U':u2[]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}))
Func sig: (T:u2[*,*], U:u2[]) to ({'  T':u2[*,*]}, {'  U':u2[]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>(3,4)<4,1>
          [[0, 1, 2, 3]
           [4, 5, 6, 7]
           [8, 9, 10, 11]]
    },
    {   U: Ten<u2>()<> [32768] },
    { Add: Ten<u2>(3,4)<4,1>
          [[32768, 32769, 32770, 32771]
           [32772, 32773, 32774, 32775]
           [32776, 32777, 32778, 32779]]
    },
    { Sub: Ten<u2>(3,4)<4,1>
          [[32768, 32769, 32770, 32771]
           [32772, 32773, 32774, 32775]
           [32776, 32777, 32778, 32779]]
    },
    { Mul: Ten<u2>(3,4)<4,1>
          [[0, 32768, 0, 32768]
           [0, 32768, 0, 32768]
           [0, 32768, 0, 32768]]
    },
    { Div: Ten<u2>(3,4)<4,1>
          [[0, 0, 0, 0]
           [0, 0, 0, 0]
           [0, 0, 0, 0]]
    },
    { Min: Ten<u2>(3,4)<4,1>
          [[0, 1, 2, 3]
           [4, 5, 6, 7]
           [8, 9, 10, 11]]
    },
    { Max: Ten<u2>(3,4)<4,1>
          [[32768, 32768, 32768, 32768]
           [32768, 32768, 32768, 32768]
           [32768, 32768, 32768, 32768]]
    })
###

**** New definitions: T, type: u2[*,*]
**** New definitions: U, type: u2[]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[*,*]}, {'  U':u2[]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
BndKind:Tuple, Type:({'  T':u2[*,*]}, {'  U':u2[]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*,*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*,*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*,*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*,*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*,*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*,*])}):({'  T':u2[*,*]}, {'  U':u2[]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}))
Func sig: (T:u2[*,*], U:u2[]) to ({'  T':u2[*,*]}, {'  U':u2[]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>(3,4)<4,1>
          [[0, 1, 2, 3]
           [4, 5, 6, 7]
           [8, 9, 10, 11]]
    },
    {   U: Ten<u2>()<> [32767] },
    { Add: Ten<u2>(3,4)<4,1>
          [[32767, 32768, 32769, 32770]
           [32771, 32772, 32773, 32774]
           [32775, 32776, 32777, 32778]]
    },
    { Sub: Ten<u2>(3,4)<4,1>
          [[32769, 32770, 32771, 32772]
           [32773, 32774, 32775, 32776]
           [32777, 32778, 32779, 32780]]
    },
    { Mul: Ten<u2>(3,4)<4,1>
          [[0, 32767, 65534, 32765]
           [65532, 32763, 65530, 32761]
           [65528, 32759, 65526, 32757]]
    },
    { Div: Ten<u2>(3,4)<4,1>
          [[0, 0, 0, 0]
           [0, 0, 0, 0]
           [0, 0, 0, 0]]
    },
    { Min: Ten<u2>(3,4)<4,1>
          [[0, 1, 2, 3]
           [4, 5, 6, 7]
           [8, 9, 10, 11]]
    },
    { Max: Ten<u2>(3,4)<4,1>
          [[32767, 32767, 32767, 32767]
           [32767, 32767, 32767, 32767]
           [32767, 32767, 32767, 32767]]
    })
###

**** New definitions: T, type: u2[*]
**** New definitions: U, type: u2[*]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[*]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
BndKind:Tuple, Type:({'  T':u2[*]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*])}):({'  T':u2[*]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}))
Func sig: (T:u2[*], U:u2[*]) to ({'  T':u2[*]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>(4)<1> [0, 1, 2, 3] },
    {   U: Ten<u2>(12)<1> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] },
    { Add: Ten<u2>(4)<1> [0, 2, 4, 6] },
    { Sub: Ten<u2>(4)<1> [0, 0, 0, 0] },
    { Mul: Ten<u2>(4)<1> [0, 1, 4, 9] },
    { Div: Ten<u2>(4)<1> [0, 1, 1, 1] },
    { Min: Ten<u2>(4)<1> [0, 1, 2, 3] },
    { Max: Ten<u2>(4)<1> [0, 1, 2, 3] })
###

**** New definitions: T, type: u2[*]
**** New definitions: U, type: u2[*,*]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[*]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
BndKind:Tuple, Type:({'  T':u2[*]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*,*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*,*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*,*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*,*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*,*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*,*])}):({'  T':u2[*]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}))
Func sig: (T:u2[*], U:u2[*,*]) to ({'  T':u2[*]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>(4)<1> [0, 1, 2, 3] },
    {   U: Ten<u2>(3,4)<4,1>
          [[0, 1, 2, 3]
           [4, 5, 6, 7]
           [8, 9, 10, 11]]
    },
    { Add: Ten<u2>(3,4)<4,1>
          [[0, 2, 4, 6]
           [4, 6, 8, 10]
           [8, 10, 12, 14]]
    },
    { Sub: Ten<u2>(3,4)<4,1>
          [[0, 0, 0, 0]
           [65532, 65532, 65532, 65532]
           [65528, 65528, 65528, 65528]]
    },
    { Mul: Ten<u2>(3,4)<4,1>
          [[0, 1, 4, 9]
           [0, 5, 12, 21]
           [0, 9, 20, 33]]
    },
    { Div: Ten<u2>(3,4)<4,1>
          [[0, 1, 1, 1]
           [0, 0, 0, 0]
           [0, 0, 0, 0]]
    },
    { Min: Ten<u2>(3,4)<4,1>
          [[0, 1, 2, 3]
           [0, 1, 2, 3]
           [0, 1, 2, 3]]
    },
    { Max: Ten<u2>(3,4)<4,1>
          [[0, 1, 2, 3]
           [4, 5, 6, 7]
           [8, 9, 10, 11]]
    })
###

**** New definitions: T, type: u2[*]
**** New definitions: U, type: u2[*]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[*]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
BndKind:Tuple, Type:({'  T':u2[*]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*])}):({'  T':u2[*]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}))
Func sig: (T:u2[*], U:u2[*]) to ({'  T':u2[*]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>(4)<1> [0, 1, 2, 3] },
    {   U: Ten<u2>(4)<1> [0, 1, 2, 3] },
    { Add: Ten<u2>(4)<1> [0, 2, 4, 6] },
    { Sub: Ten<u2>(4)<1> [0, 0, 0, 0] },
    { Mul: Ten<u2>(4)<1> [0, 1, 4, 9] },
    { Div: Ten<u2>(4)<1> [0, 1, 1, 1] },
    { Min: Ten<u2>(4)<1> [0, 1, 2, 3] },
    { Max: Ten<u2>(4)<1> [0, 1, 2, 3] })
###

**** New definitions: T, type: u2[*]
**** New definitions: U, type: u2[*]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[*]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
BndKind:Tuple, Type:({'  T':u2[*]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*])}):({'  T':u2[*]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}))
Func sig: (T:u2[*], U:u2[*]) to ({'  T':u2[*]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>(4)<1> [0, 1, 2, 3] },
    {   U: Ten<u2>(0)<0> [] },
    { Add: Ten<u2>(0)<0> [] },
    { Sub: Ten<u2>(0)<0> [] },
    { Mul: Ten<u2>(0)<0> [] },
    { Div: Ten<u2>(0)<0> [] },
    { Min: Ten<u2>(0)<0> [] },
    { Max: Ten<u2>(0)<0> [] })
###

**** New definitions: T, type: u2[*]
**** New definitions: U, type: u2[]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[*]}, {'  U':u2[]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
BndKind:Tuple, Type:({'  T':u2[*]}, {'  U':u2[]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*])}):({'  T':u2[*]}, {'  U':u2[]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}))
Func sig: (T:u2[*], U:u2[]) to ({'  T':u2[*]}, {'  U':u2[]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>(4)<1> [0, 1, 2, 3] },
    {   U: Ten<u2>()<> [65535] },
    { Add: Ten<u2>(4)<1> [65535, 0, 1, 2] },
    { Sub: Ten<u2>(4)<1> [1, 2, 3, 4] },
    { Mul: Ten<u2>(4)<1> [0, 65535, 65534, 65533] },
    { Div: Ten<u2>(4)<1> [0, 0, 0, 0] },
    { Min: Ten<u2>(4)<1> [0, 1, 2, 3] },
    { Max: Ten<u2>(4)<0> [65535, 65535, 65535, 65535] })
###

**** New definitions: T, type: u2[*]
**** New definitions: U, type: u2[]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[*]}, {'  U':u2[]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
BndKind:Tuple, Type:({'  T':u2[*]}, {'  U':u2[]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*])}):({'  T':u2[*]}, {'  U':u2[]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}))
Func sig: (T:u2[*], U:u2[]) to ({'  T':u2[*]}, {'  U':u2[]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>(4)<1> [0, 1, 2, 3] },
    {   U: Ten<u2>()<> [0] },
    { Add: Ten<u2>(4)<1> [0, 1, 2, 3] },
    { Sub: Ten<u2>(4)<1> [0, 1, 2, 3] },
    { Mul: Ten<u2>(4)<0> [0, 0, 0, 0] },
    { Div: Ten<u2>(4)<0> [0, 0, 0, 0] },
    { Min: Ten<u2>(4)<0> [0, 0, 0, 0] },
    { Max: Ten<u2>(4)<1> [0, 1, 2, 3] })
###

**** New definitions: T, type: u2[*]
**** New definitions: U, type: u2[]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[*]}, {'  U':u2[]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
BndKind:Tuple, Type:({'  T':u2[*]}, {'  U':u2[]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*])}):({'  T':u2[*]}, {'  U':u2[]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}))
Func sig: (T:u2[*], U:u2[]) to ({'  T':u2[*]}, {'  U':u2[]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>(4)<1> [0, 1, 2, 3] },
    {   U: Ten<u2>()<> [1] },
    { Add: Ten<u2>(4)<1> [1, 2, 3, 4] },
    { Sub: Ten<u2>(4)<1> [65535, 0, 1, 2] },
    { Mul: Ten<u2>(4)<1> [0, 1, 2, 3] },
    { Div: Ten<u2>(4)<1> [0, 1, 2, 3] },
    { Min: Ten<u2>(4)<1> [0, 1, 1, 1] },
    { Max: Ten<u2>(4)<1> [1, 1, 2, 3] })
###

**** New definitions: T, type: u2[*]
**** New definitions: U, type: u2[]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[*]}, {'  U':u2[]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
BndKind:Tuple, Type:({'  T':u2[*]}, {'  U':u2[]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*])}):({'  T':u2[*]}, {'  U':u2[]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}))
Func sig: (T:u2[*], U:u2[]) to ({'  T':u2[*]}, {'  U':u2[]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>(4)<1> [0, 1, 2, 3] },
    {   U: Ten<u2>()<> [5] },
    { Add: Ten<u2>(4)<1> [5, 6, 7, 8] },
    { Sub: Ten<u2>(4)<1> [65531, 65532, 65533, 65534] },
    { Mul: Ten<u2>(4)<1> [0, 5, 10, 15] },
    { Div: Ten<u2>(4)<1> [0, 0, 0, 0] },
    { Min: Ten<u2>(4)<1> [0, 1, 2, 3] },
    { Max: Ten<u2>(4)<1> [5, 5, 5, 5] })
###

**** New definitions: T, type: u2[*]
**** New definitions: U, type: u2[*,*]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[*]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
BndKind:Tuple, Type:({'  T':u2[*]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*,*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*,*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*,*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*,*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*,*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*,*])}):({'  T':u2[*]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}))
Func sig: (T:u2[*], U:u2[*,*]) to ({'  T':u2[*]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>(4)<1> [0, 1, 2, 3] },
    {   U: Ten<u2>(3,4)<0,0>
          [[5, 5, 5, 5]
           [5, 5, 5, 5]
           [5, 5, 5, 5]]
    },
    { Add: Ten<u2>(3,4)<4,1>
          [[5, 6, 7, 8]
           [5, 6, 7, 8]
           [5, 6, 7, 8]]
    },
    { Sub: Ten<u2>(3,4)<4,1>
          [[65531, 65532, 65533, 65534]
           [65531, 65532, 65533, 65534]
           [65531, 65532, 65533, 65534]]
    },
    { Mul: Ten<u2>(3,4)<4,1>
          [[0, 5, 10, 15]
           [0, 5, 10, 15]
           [0, 5, 10, 15]]
    },
    { Div: Ten<u2>(3,4)<4,1>
          [[0, 0, 0, 0]
           [0, 0, 0, 0]
           [0, 0, 0, 0]]
    },
    { Min: Ten<u2>(3,4)<4,1>
          [[0, 1, 2, 3]
           [0, 1, 2, 3]
           [0, 1, 2, 3]]
    },
    { Max: Ten<u2>(3,4)<4,1>
          [[5, 5, 5, 5]
           [5, 5, 5, 5]
           [5, 5, 5, 5]]
    })
###

**** New definitions: T, type: u2[*]
**** New definitions: U, type: u2[]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[*]}, {'  U':u2[]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
BndKind:Tuple, Type:({'  T':u2[*]}, {'  U':u2[]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*])}):({'  T':u2[*]}, {'  U':u2[]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}))
Func sig: (T:u2[*], U:u2[]) to ({'  T':u2[*]}, {'  U':u2[]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>(4)<1> [0, 1, 2, 3] },
    {   U: Ten<u2>()<> [32768] },
    { Add: Ten<u2>(4)<1> [32768, 32769, 32770, 32771] },
    { Sub: Ten<u2>(4)<1> [32768, 32769, 32770, 32771] },
    { Mul: Ten<u2>(4)<1> [0, 32768, 0, 32768] },
    { Div: Ten<u2>(4)<1> [0, 0, 0, 0] },
    { Min: Ten<u2>(4)<1> [0, 1, 2, 3] },
    { Max: Ten<u2>(4)<1> [32768, 32768, 32768, 32768] })
###

**** New definitions: T, type: u2[*]
**** New definitions: U, type: u2[]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[*]}, {'  U':u2[]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
BndKind:Tuple, Type:({'  T':u2[*]}, {'  U':u2[]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*])}):({'  T':u2[*]}, {'  U':u2[]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}))
Func sig: (T:u2[*], U:u2[]) to ({'  T':u2[*]}, {'  U':u2[]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>(4)<1> [0, 1, 2, 3] },
    {   U: Ten<u2>()<> [32767] },
    { Add: Ten<u2>(4)<1> [32767, 32768, 32769, 32770] },
    { Sub: Ten<u2>(4)<1> [32769, 32770, 32771, 32772] },
    { Mul: Ten<u2>(4)<1> [0, 32767, 65534, 32765] },
    { Div: Ten<u2>(4)<1> [0, 0, 0, 0] },
    { Min: Ten<u2>(4)<1> [0, 1, 2, 3] },
    { Max: Ten<u2>(4)<1> [32767, 32767, 32767, 32767] })
###

**** New definitions: T, type: u2[*]
**** New definitions: U, type: u2[*]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[*]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
BndKind:Tuple, Type:({'  T':u2[*]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*])}):({'  T':u2[*]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}))
Func sig: (T:u2[*], U:u2[*]) to ({'  T':u2[*]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>(0)<0> [] },
    {   U: Ten<u2>(12)<1> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] },
    { Add: Ten<u2>(0)<0> [] },
    { Sub: Ten<u2>(0)<0> [] },
    { Mul: Ten<u2>(0)<0> [] },
    { Div: Ten<u2>(0)<0> [] },
    { Min: Ten<u2>(0)<0> [] },
    { Max: Ten<u2>(0)<0> [] })
###

**** New definitions: T, type: u2[*]
**** New definitions: U, type: u2[*,*]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[*]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
BndKind:Tuple, Type:({'  T':u2[*]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*,*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*,*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*,*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*,*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*,*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*,*])}):({'  T':u2[*]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}))
Func sig: (T:u2[*], U:u2[*,*]) to ({'  T':u2[*]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>(0)<0> [] },
    {   U: Ten<u2>(3,4)<4,1>
          [[0, 1, 2, 3]
           [4, 5, 6, 7]
           [8, 9, 10, 11]]
    },
    { Add: Ten<u2>(3,0)<0,0> [] },
    { Sub: Ten<u2>(3,0)<0,0> [] },
    { Mul: Ten<u2>(3,0)<0,0> [] },
    { Div: Ten<u2>(3,0)<0,0> [] },
    { Min: Ten<u2>(3,0)<0,0> [] },
    { Max: Ten<u2>(3,0)<0,0> [] })
###

**** New definitions: T, type: u2[*]
**** New definitions: U, type: u2[*]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[*]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
BndKind:Tuple, Type:({'  T':u2[*]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*])}):({'  T':u2[*]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}))
Func sig: (T:u2[*], U:u2[*]) to ({'  T':u2[*]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>(0)<0> [] },
    {   U: Ten<u2>(4)<1> [0, 1, 2, 3] },
    { Add: Ten<u2>(0)<0> [] },
    { Sub: Ten<u2>(0)<0> [] },
    { Mul: Ten<u2>(0)<0> [] },
    { Div: Ten<u2>(0)<0> [] },
    { Min: Ten<u2>(0)<0> [] },
    { Max: Ten<u2>(0)<0> [] })
###

**** New definitions: T, type: u2[*]
**** New definitions: U, type: u2[*]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[*]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
BndKind:Tuple, Type:({'  T':u2[*]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*])}):({'  T':u2[*]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}))
Func sig: (T:u2[*], U:u2[*]) to ({'  T':u2[*]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>(0)<0> [] },
    {   U: Ten<u2>(0)<0> [] },
    { Add: Ten<u2>(0)<0> [] },
    { Sub: Ten<u2>(0)<0> [] },
    { Mul: Ten<u2>(0)<0> [] },
    { Div: Ten<u2>(0)<0> [] },
    { Min: Ten<u2>(0)<0> [] },
    { Max: Ten<u2>(0)<0> [] })
###

**** New definitions: T, type: u2[*]
**** New definitions: U, type: u2[]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[*]}, {'  U':u2[]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
BndKind:Tuple, Type:({'  T':u2[*]}, {'  U':u2[]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*])}):({'  T':u2[*]}, {'  U':u2[]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}))
Func sig: (T:u2[*], U:u2[]) to ({'  T':u2[*]}, {'  U':u2[]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>(0)<0> [] },
    {   U: Ten<u2>()<> [65535] },
    { Add: Ten<u2>(0)<0> [] },
    { Sub: Ten<u2>(0)<0> [] },
    { Mul: Ten<u2>(0)<0> [] },
    { Div: Ten<u2>(0)<0> [] },
    { Min: Ten<u2>(0)<0> [] },
    { Max: Ten<u2>(0)<0> [] })
###

**** New definitions: T, type: u2[*]
**** New definitions: U, type: u2[]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[*]}, {'  U':u2[]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
BndKind:Tuple, Type:({'  T':u2[*]}, {'  U':u2[]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*])}):({'  T':u2[*]}, {'  U':u2[]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}))
Func sig: (T:u2[*], U:u2[]) to ({'  T':u2[*]}, {'  U':u2[]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>(0)<0> [] },
    {   U: Ten<u2>()<> [0] },
    { Add: Ten<u2>(0)<0> [] },
    { Sub: Ten<u2>(0)<0> [] },
    { Mul: Ten<u2>(0)<0> [] },
    { Div: Ten<u2>(0)<0> [] },
    { Min: Ten<u2>(0)<0> [] },
    { Max: Ten<u2>(0)<0> [] })
###

**** New definitions: T, type: u2[*]
**** New definitions: U, type: u2[]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[*]}, {'  U':u2[]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
BndKind:Tuple, Type:({'  T':u2[*]}, {'  U':u2[]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*])}):({'  T':u2[*]}, {'  U':u2[]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}))
Func sig: (T:u2[*], U:u2[]) to ({'  T':u2[*]}, {'  U':u2[]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>(0)<0> [] },
    {   U: Ten<u2>()<> [1] },
    { Add: Ten<u2>(0)<0> [] },
    { Sub: Ten<u2>(0)<0> [] },
    { Mul: Ten<u2>(0)<0> [] },
    { Div: Ten<u2>(0)<0> [] },
    { Min: Ten<u2>(0)<0> [] },
    { Max: Ten<u2>(0)<0> [] })
###

**** New definitions: T, type: u2[*]
**** New definitions: U, type: u2[]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[*]}, {'  U':u2[]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
BndKind:Tuple, Type:({'  T':u2[*]}, {'  U':u2[]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*])}):({'  T':u2[*]}, {'  U':u2[]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}))
Func sig: (T:u2[*], U:u2[]) to ({'  T':u2[*]}, {'  U':u2[]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>(0)<0> [] },
    {   U: Ten<u2>()<> [5] },
    { Add: Ten<u2>(0)<0> [] },
    { Sub: Ten<u2>(0)<0> [] },
    { Mul: Ten<u2>(0)<0> [] },
    { Div: Ten<u2>(0)<0> [] },
    { Min: Ten<u2>(0)<0> [] },
    { Max: Ten<u2>(0)<0> [] })
###

**** New definitions: T, type: u2[*]
**** New definitions: U, type: u2[*,*]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[*]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
BndKind:Tuple, Type:({'  T':u2[*]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*,*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*,*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*,*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*,*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*,*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*,*])}):({'  T':u2[*]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}))
Func sig: (T:u2[*], U:u2[*,*]) to ({'  T':u2[*]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>(0)<0> [] },
    {   U: Ten<u2>(3,4)<0,0>
          [[5, 5, 5, 5]
           [5, 5, 5, 5]
           [5, 5, 5, 5]]
    },
    { Add: Ten<u2>(3,0)<0,0> [] },
    { Sub: Ten<u2>(3,0)<0,0> [] },
    { Mul: Ten<u2>(3,0)<0,0> [] },
    { Div: Ten<u2>(3,0)<0,0> [] },
    { Min: Ten<u2>(3,0)<0,0> [] },
    { Max: Ten<u2>(3,0)<0,0> [] })
###

**** New definitions: T, type: u2[*]
**** New definitions: U, type: u2[]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[*]}, {'  U':u2[]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
BndKind:Tuple, Type:({'  T':u2[*]}, {'  U':u2[]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*])}):({'  T':u2[*]}, {'  U':u2[]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}))
Func sig: (T:u2[*], U:u2[]) to ({'  T':u2[*]}, {'  U':u2[]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>(0)<0> [] },
    {   U: Ten<u2>()<> [32768] },
    { Add: Ten<u2>(0)<0> [] },
    { Sub: Ten<u2>(0)<0> [] },
    { Mul: Ten<u2>(0)<0> [] },
    { Div: Ten<u2>(0)<0> [] },
    { Min: Ten<u2>(0)<0> [] },
    { Max: Ten<u2>(0)<0> [] })
###

**** New definitions: T, type: u2[*]
**** New definitions: U, type: u2[]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[*]}, {'  U':u2[]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
BndKind:Tuple, Type:({'  T':u2[*]}, {'  U':u2[]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*])}):({'  T':u2[*]}, {'  U':u2[]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}))
Func sig: (T:u2[*], U:u2[]) to ({'  T':u2[*]}, {'  U':u2[]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>(0)<0> [] },
    {   U: Ten<u2>()<> [32767] },
    { Add: Ten<u2>(0)<0> [] },
    { Sub: Ten<u2>(0)<0> [] },
    { Mul: Ten<u2>(0)<0> [] },
    { Div: Ten<u2>(0)<0> [] },
    { Min: Ten<u2>(0)<0> [] },
    { Max: Ten<u2>(0)<0> [] })
###

**** New definitions: T, type: u2[]
**** New definitions: U, type: u2[*]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
BndKind:Tuple, Type:({'  T':u2[]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*])}):({'  T':u2[]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}))
Func sig: (T:u2[], U:u2[*]) to ({'  T':u2[]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>()<> [65535] },
    {   U: Ten<u2>(12)<1> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] },
    { Add: Ten<u2>(12)<1> [65535, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] },
    { Sub: Ten<u2>(12)<1> [65535, 65534, 65533, 65532, 65531, 65530, 65529, 65528, 65527, 65526, 65525, 65524] },
    { Mul: Ten<u2>(12)<1> [0, 65535, 65534, 65533, 65532, 65531, 65530, 65529, 65528, 65527, 65526, 65525] },
    { Div: Ten<u2>(12)<1> [0, 65535, 32767, 21845, 16383, 13107, 10922, 9362, 8191, 7281, 6553, 5957] },
    { Min: Ten<u2>(12)<1> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] },
    { Max: Ten<u2>(12)<0> [65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535] })
###

**** New definitions: T, type: u2[]
**** New definitions: U, type: u2[*,*]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
BndKind:Tuple, Type:({'  T':u2[]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*,*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*,*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*,*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*,*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*,*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*,*])}):({'  T':u2[]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}))
Func sig: (T:u2[], U:u2[*,*]) to ({'  T':u2[]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>()<> [65535] },
    {   U: Ten<u2>(3,4)<4,1>
          [[0, 1, 2, 3]
           [4, 5, 6, 7]
           [8, 9, 10, 11]]
    },
    { Add: Ten<u2>(3,4)<4,1>
          [[65535, 0, 1, 2]
           [3, 4, 5, 6]
           [7, 8, 9, 10]]
    },
    { Sub: Ten<u2>(3,4)<4,1>
          [[65535, 65534, 65533, 65532]
           [65531, 65530, 65529, 65528]
           [65527, 65526, 65525, 65524]]
    },
    { Mul: Ten<u2>(3,4)<4,1>
          [[0, 65535, 65534, 65533]
           [65532, 65531, 65530, 65529]
           [65528, 65527, 65526, 65525]]
    },
    { Div: Ten<u2>(3,4)<4,1>
          [[0, 65535, 32767, 21845]
           [16383, 13107, 10922, 9362]
           [8191, 7281, 6553, 5957]]
    },
    { Min: Ten<u2>(3,4)<4,1>
          [[0, 1, 2, 3]
           [4, 5, 6, 7]
           [8, 9, 10, 11]]
    },
    { Max: Ten<u2>(3,4)<0,0>
          [[65535, 65535, 65535, 65535]
           [65535, 65535, 65535, 65535]
           [65535, 65535, 65535, 65535]]
    })
###

**** New definitions: T, type: u2[]
**** New definitions: U, type: u2[*]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
BndKind:Tuple, Type:({'  T':u2[]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*])}):({'  T':u2[]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}))
Func sig: (T:u2[], U:u2[*]) to ({'  T':u2[]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>()<> [65535] },
    {   U: Ten<u2>(4)<1> [0, 1, 2, 3] },
    { Add: Ten<u2>(4)<1> [65535, 0, 1, 2] },
    { Sub: Ten<u2>(4)<1> [65535, 65534, 65533, 65532] },
    { Mul: Ten<u2>(4)<1> [0, 65535, 65534, 65533] },
    { Div: Ten<u2>(4)<1> [0, 65535, 32767, 21845] },
    { Min: Ten<u2>(4)<1> [0, 1, 2, 3] },
    { Max: Ten<u2>(4)<0> [65535, 65535, 65535, 65535] })
###

**** New definitions: T, type: u2[]
**** New definitions: U, type: u2[*]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
BndKind:Tuple, Type:({'  T':u2[]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*])}):({'  T':u2[]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}))
Func sig: (T:u2[], U:u2[*]) to ({'  T':u2[]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>()<> [65535] },
    {   U: Ten<u2>(0)<0> [] },
    { Add: Ten<u2>(0)<0> [] },
    { Sub: Ten<u2>(0)<0> [] },
    { Mul: Ten<u2>(0)<0> [] },
    { Div: Ten<u2>(0)<0> [] },
    { Min: Ten<u2>(0)<0> [] },
    { Max: Ten<u2>(0)<0> [] })
###

**** New definitions: T, type: u2[]
**** New definitions: U, type: u2[]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]})
BndKind:Tuple, Type:({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[])}):({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]}))
Func sig: (T:u2[], U:u2[]) to ({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>()<> [65535] },
    {   U: Ten<u2>()<> [65535] },
    { Add: Ten<u2>()<> [65534] },
    { Sub: Ten<u2>()<> [0] },
    { Mul: Ten<u2>()<> [1] },
    { Div: Ten<u2>()<> [1] },
    { Min: Ten<u2>()<> [65535] },
    { Max: Ten<u2>()<> [65535] })
###

**** New definitions: T, type: u2[]
**** New definitions: U, type: u2[]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]})
BndKind:Tuple, Type:({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[])}):({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]}))
Func sig: (T:u2[], U:u2[]) to ({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>()<> [65535] },
    {   U: Ten<u2>()<> [0] },
    { Add: Ten<u2>()<> [65535] },
    { Sub: Ten<u2>()<> [65535] },
    { Mul: Ten<u2>()<> [0] },
    { Div: Ten<u2>()<> [0] },
    { Min: Ten<u2>()<> [0] },
    { Max: Ten<u2>()<> [65535] })
###

**** New definitions: T, type: u2[]
**** New definitions: U, type: u2[]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]})
BndKind:Tuple, Type:({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[])}):({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]}))
Func sig: (T:u2[], U:u2[]) to ({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>()<> [65535] },
    {   U: Ten<u2>()<> [1] },
    { Add: Ten<u2>()<> [0] },
    { Sub: Ten<u2>()<> [65534] },
    { Mul: Ten<u2>()<> [65535] },
    { Div: Ten<u2>()<> [65535] },
    { Min: Ten<u2>()<> [1] },
    { Max: Ten<u2>()<> [65535] })
###

**** New definitions: T, type: u2[]
**** New definitions: U, type: u2[]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]})
BndKind:Tuple, Type:({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[])}):({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]}))
Func sig: (T:u2[], U:u2[]) to ({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>()<> [65535] },
    {   U: Ten<u2>()<> [5] },
    { Add: Ten<u2>()<> [4] },
    { Sub: Ten<u2>()<> [65530] },
    { Mul: Ten<u2>()<> [65531] },
    { Div: Ten<u2>()<> [13107] },
    { Min: Ten<u2>()<> [5] },
    { Max: Ten<u2>()<> [65535] })
###

**** New definitions: T, type: u2[]
**** New definitions: U, type: u2[*,*]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
BndKind:Tuple, Type:({'  T':u2[]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*,*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*,*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*,*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*,*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*,*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*,*])}):({'  T':u2[]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}))
Func sig: (T:u2[], U:u2[*,*]) to ({'  T':u2[]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>()<> [65535] },
    {   U: Ten<u2>(3,4)<0,0>
          [[5, 5, 5, 5]
           [5, 5, 5, 5]
           [5, 5, 5, 5]]
    },
    { Add: Ten<u2>(3,4)<0,0>
          [[4, 4, 4, 4]
           [4, 4, 4, 4]
           [4, 4, 4, 4]]
    },
    { Sub: Ten<u2>(3,4)<0,0>
          [[65530, 65530, 65530, 65530]
           [65530, 65530, 65530, 65530]
           [65530, 65530, 65530, 65530]]
    },
    { Mul: Ten<u2>(3,4)<0,0>
          [[65531, 65531, 65531, 65531]
           [65531, 65531, 65531, 65531]
           [65531, 65531, 65531, 65531]]
    },
    { Div: Ten<u2>(3,4)<0,0>
          [[13107, 13107, 13107, 13107]
           [13107, 13107, 13107, 13107]
           [13107, 13107, 13107, 13107]]
    },
    { Min: Ten<u2>(3,4)<0,0>
          [[5, 5, 5, 5]
           [5, 5, 5, 5]
           [5, 5, 5, 5]]
    },
    { Max: Ten<u2>(3,4)<0,0>
          [[65535, 65535, 65535, 65535]
           [65535, 65535, 65535, 65535]
           [65535, 65535, 65535, 65535]]
    })
###

**** New definitions: T, type: u2[]
**** New definitions: U, type: u2[]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]})
BndKind:Tuple, Type:({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[])}):({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]}))
Func sig: (T:u2[], U:u2[]) to ({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>()<> [65535] },
    {   U: Ten<u2>()<> [32768] },
    { Add: Ten<u2>()<> [32767] },
    { Sub: Ten<u2>()<> [32767] },
    { Mul: Ten<u2>()<> [32768] },
    { Div: Ten<u2>()<> [1] },
    { Min: Ten<u2>()<> [32768] },
    { Max: Ten<u2>()<> [65535] })
###

**** New definitions: T, type: u2[]
**** New definitions: U, type: u2[]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]})
BndKind:Tuple, Type:({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[])}):({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]}))
Func sig: (T:u2[], U:u2[]) to ({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>()<> [65535] },
    {   U: Ten<u2>()<> [32767] },
    { Add: Ten<u2>()<> [32766] },
    { Sub: Ten<u2>()<> [32768] },
    { Mul: Ten<u2>()<> [32769] },
    { Div: Ten<u2>()<> [2] },
    { Min: Ten<u2>()<> [32767] },
    { Max: Ten<u2>()<> [65535] })
###

**** New definitions: T, type: u2[]
**** New definitions: U, type: u2[*]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
BndKind:Tuple, Type:({'  T':u2[]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*])}):({'  T':u2[]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}))
Func sig: (T:u2[], U:u2[*]) to ({'  T':u2[]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>()<> [0] },
    {   U: Ten<u2>(12)<1> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] },
    { Add: Ten<u2>(12)<1> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] },
    { Sub: Ten<u2>(12)<1> [0, 65535, 65534, 65533, 65532, 65531, 65530, 65529, 65528, 65527, 65526, 65525] },
    { Mul: Ten<u2>(12)<0> [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] },
    { Div: Ten<u2>(12)<0> [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] },
    { Min: Ten<u2>(12)<0> [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] },
    { Max: Ten<u2>(12)<1> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] })
###

**** New definitions: T, type: u2[]
**** New definitions: U, type: u2[*,*]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
BndKind:Tuple, Type:({'  T':u2[]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*,*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*,*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*,*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*,*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*,*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*,*])}):({'  T':u2[]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}))
Func sig: (T:u2[], U:u2[*,*]) to ({'  T':u2[]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>()<> [0] },
    {   U: Ten<u2>(3,4)<4,1>
          [[0, 1, 2, 3]
           [4, 5, 6, 7]
           [8, 9, 10, 11]]
    },
    { Add: Ten<u2>(3,4)<4,1>
          [[0, 1, 2, 3]
           [4, 5, 6, 7]
           [8, 9, 10, 11]]
    },
    { Sub: Ten<u2>(3,4)<4,1>
          [[0, 65535, 65534, 65533]
           [65532, 65531, 65530, 65529]
           [65528, 65527, 65526, 65525]]
    },
    { Mul: Ten<u2>(3,4)<0,0>
          [[0, 0, 0, 0]
           [0, 0, 0, 0]
           [0, 0, 0, 0]]
    },
    { Div: Ten<u2>(3,4)<0,0>
          [[0, 0, 0, 0]
           [0, 0, 0, 0]
           [0, 0, 0, 0]]
    },
    { Min: Ten<u2>(3,4)<0,0>
          [[0, 0, 0, 0]
           [0, 0, 0, 0]
           [0, 0, 0, 0]]
    },
    { Max: Ten<u2>(3,4)<4,1>
          [[0, 1, 2, 3]
           [4, 5, 6, 7]
           [8, 9, 10, 11]]
    })
###

**** New definitions: T, type: u2[]
**** New definitions: U, type: u2[*]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
BndKind:Tuple, Type:({'  T':u2[]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*])}):({'  T':u2[]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}))
Func sig: (T:u2[], U:u2[*]) to ({'  T':u2[]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>()<> [0] },
    {   U: Ten<u2>(4)<1> [0, 1, 2, 3] },
    { Add: Ten<u2>(4)<1> [0, 1, 2, 3] },
    { Sub: Ten<u2>(4)<1> [0, 65535, 65534, 65533] },
    { Mul: Ten<u2>(4)<0> [0, 0, 0, 0] },
    { Div: Ten<u2>(4)<0> [0, 0, 0, 0] },
    { Min: Ten<u2>(4)<0> [0, 0, 0, 0] },
    { Max: Ten<u2>(4)<1> [0, 1, 2, 3] })
###

**** New definitions: T, type: u2[]
**** New definitions: U, type: u2[*]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
BndKind:Tuple, Type:({'  T':u2[]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*])}):({'  T':u2[]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}))
Func sig: (T:u2[], U:u2[*]) to ({'  T':u2[]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>()<> [0] },
    {   U: Ten<u2>(0)<0> [] },
    { Add: Ten<u2>(0)<0> [] },
    { Sub: Ten<u2>(0)<0> [] },
    { Mul: Ten<u2>(0)<0> [] },
    { Div: Ten<u2>(0)<0> [] },
    { Min: Ten<u2>(0)<0> [] },
    { Max: Ten<u2>(0)<0> [] })
###

**** New definitions: T, type: u2[]
**** New definitions: U, type: u2[]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]})
BndKind:Tuple, Type:({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[])}):({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]}))
Func sig: (T:u2[], U:u2[]) to ({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>()<> [0] },
    {   U: Ten<u2>()<> [65535] },
    { Add: Ten<u2>()<> [65535] },
    { Sub: Ten<u2>()<> [1] },
    { Mul: Ten<u2>()<> [0] },
    { Div: Ten<u2>()<> [0] },
    { Min: Ten<u2>()<> [0] },
    { Max: Ten<u2>()<> [65535] })
###

**** New definitions: T, type: u2[]
**** New definitions: U, type: u2[]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]})
BndKind:Tuple, Type:({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[])}):({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]}))
Func sig: (T:u2[], U:u2[]) to ({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>()<> [0] },
    {   U: Ten<u2>()<> [0] },
    { Add: Ten<u2>()<> [0] },
    { Sub: Ten<u2>()<> [0] },
    { Mul: Ten<u2>()<> [0] },
    { Div: Ten<u2>()<> [0] },
    { Min: Ten<u2>()<> [0] },
    { Max: Ten<u2>()<> [0] })
###

**** New definitions: T, type: u2[]
**** New definitions: U, type: u2[]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]})
BndKind:Tuple, Type:({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[])}):({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]}))
Func sig: (T:u2[], U:u2[]) to ({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>()<> [0] },
    {   U: Ten<u2>()<> [1] },
    { Add: Ten<u2>()<> [1] },
    { Sub: Ten<u2>()<> [65535] },
    { Mul: Ten<u2>()<> [0] },
    { Div: Ten<u2>()<> [0] },
    { Min: Ten<u2>()<> [0] },
    { Max: Ten<u2>()<> [1] })
###

**** New definitions: T, type: u2[]
**** New definitions: U, type: u2[]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]})
BndKind:Tuple, Type:({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[])}):({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]}))
Func sig: (T:u2[], U:u2[]) to ({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>()<> [0] },
    {   U: Ten<u2>()<> [5] },
    { Add: Ten<u2>()<> [5] },
    { Sub: Ten<u2>()<> [65531] },
    { Mul: Ten<u2>()<> [0] },
    { Div: Ten<u2>()<> [0] },
    { Min: Ten<u2>()<> [0] },
    { Max: Ten<u2>()<> [5] })
###

**** New definitions: T, type: u2[]
**** New definitions: U, type: u2[*,*]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
BndKind:Tuple, Type:({'  T':u2[]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*,*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*,*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*,*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*,*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*,*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*,*])}):({'  T':u2[]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}))
Func sig: (T:u2[], U:u2[*,*]) to ({'  T':u2[]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>()<> [0] },
    {   U: Ten<u2>(3,4)<0,0>
          [[5, 5, 5, 5]
           [5, 5, 5, 5]
           [5, 5, 5, 5]]
    },
    { Add: Ten<u2>(3,4)<0,0>
          [[5, 5, 5, 5]
           [5, 5, 5, 5]
           [5, 5, 5, 5]]
    },
    { Sub: Ten<u2>(3,4)<0,0>
          [[65531, 65531, 65531, 65531]
           [65531, 65531, 65531, 65531]
           [65531, 65531, 65531, 65531]]
    },
    { Mul: Ten<u2>(3,4)<0,0>
          [[0, 0, 0, 0]
           [0, 0, 0, 0]
           [0, 0, 0, 0]]
    },
    { Div: Ten<u2>(3,4)<0,0>
          [[0, 0, 0, 0]
           [0, 0, 0, 0]
           [0, 0, 0, 0]]
    },
    { Min: Ten<u2>(3,4)<0,0>
          [[0, 0, 0, 0]
           [0, 0, 0, 0]
           [0, 0, 0, 0]]
    },
    { Max: Ten<u2>(3,4)<0,0>
          [[5, 5, 5, 5]
           [5, 5, 5, 5]
           [5, 5, 5, 5]]
    })
###

**** New definitions: T, type: u2[]
**** New definitions: U, type: u2[]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]})
BndKind:Tuple, Type:({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[])}):({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]}))
Func sig: (T:u2[], U:u2[]) to ({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>()<> [0] },
    {   U: Ten<u2>()<> [32768] },
    { Add: Ten<u2>()<> [32768] },
    { Sub: Ten<u2>()<> [32768] },
    { Mul: Ten<u2>()<> [0] },
    { Div: Ten<u2>()<> [0] },
    { Min: Ten<u2>()<> [0] },
    { Max: Ten<u2>()<> [32768] })
###

**** New definitions: T, type: u2[]
**** New definitions: U, type: u2[]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]})
BndKind:Tuple, Type:({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[])}):({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]}))
Func sig: (T:u2[], U:u2[]) to ({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>()<> [0] },
    {   U: Ten<u2>()<> [32767] },
    { Add: Ten<u2>()<> [32767] },
    { Sub: Ten<u2>()<> [32769] },
    { Mul: Ten<u2>()<> [0] },
    { Div: Ten<u2>()<> [0] },
    { Min: Ten<u2>()<> [0] },
    { Max: Ten<u2>()<> [32767] })
###

**** New definitions: T, type: u2[]
**** New definitions: U, type: u2[*]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
BndKind:Tuple, Type:({'  T':u2[]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*])}):({'  T':u2[]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}))
Func sig: (T:u2[], U:u2[*]) to ({'  T':u2[]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>()<> [1] },
    {   U: Ten<u2>(12)<1> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] },
    { Add: Ten<u2>(12)<1> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] },
    { Sub: Ten<u2>(12)<1> [1, 0, 65535, 65534, 65533, 65532, 65531, 65530, 65529, 65528, 65527, 65526] },
    { Mul: Ten<u2>(12)<1> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] },
    { Div: Ten<u2>(12)<1> [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] },
    { Min: Ten<u2>(12)<1> [0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] },
    { Max: Ten<u2>(12)<1> [1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] })
###

**** New definitions: T, type: u2[]
**** New definitions: U, type: u2[*,*]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
BndKind:Tuple, Type:({'  T':u2[]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*,*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*,*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*,*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*,*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*,*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*,*])}):({'  T':u2[]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}))
Func sig: (T:u2[], U:u2[*,*]) to ({'  T':u2[]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>()<> [1] },
    {   U: Ten<u2>(3,4)<4,1>
          [[0, 1, 2, 3]
           [4, 5, 6, 7]
           [8, 9, 10, 11]]
    },
    { Add: Ten<u2>(3,4)<4,1>
          [[1, 2, 3, 4]
           [5, 6, 7, 8]
           [9, 10, 11, 12]]
    },
    { Sub: Ten<u2>(3,4)<4,1>
          [[1, 0, 65535, 65534]
           [65533, 65532, 65531, 65530]
           [65529, 65528, 65527, 65526]]
    },
    { Mul: Ten<u2>(3,4)<4,1>
          [[0, 1, 2, 3]
           [4, 5, 6, 7]
           [8, 9, 10, 11]]
    },
    { Div: Ten<u2>(3,4)<4,1>
          [[0, 1, 0, 0]
           [0, 0, 0, 0]
           [0, 0, 0, 0]]
    },
    { Min: Ten<u2>(3,4)<4,1>
          [[0, 1, 1, 1]
           [1, 1, 1, 1]
           [1, 1, 1, 1]]
    },
    { Max: Ten<u2>(3,4)<4,1>
          [[1, 1, 2, 3]
           [4, 5, 6, 7]
           [8, 9, 10, 11]]
    })
###

**** New definitions: T, type: u2[]
**** New definitions: U, type: u2[*]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
BndKind:Tuple, Type:({'  T':u2[]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*])}):({'  T':u2[]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}))
Func sig: (T:u2[], U:u2[*]) to ({'  T':u2[]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>()<> [1] },
    {   U: Ten<u2>(4)<1> [0, 1, 2, 3] },
    { Add: Ten<u2>(4)<1> [1, 2, 3, 4] },
    { Sub: Ten<u2>(4)<1> [1, 0, 65535, 65534] },
    { Mul: Ten<u2>(4)<1> [0, 1, 2, 3] },
    { Div: Ten<u2>(4)<1> [0, 1, 0, 0] },
    { Min: Ten<u2>(4)<1> [0, 1, 1, 1] },
    { Max: Ten<u2>(4)<1> [1, 1, 2, 3] })
###

**** New definitions: T, type: u2[]
**** New definitions: U, type: u2[*]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
BndKind:Tuple, Type:({'  T':u2[]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*])}):({'  T':u2[]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}))
Func sig: (T:u2[], U:u2[*]) to ({'  T':u2[]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>()<> [1] },
    {   U: Ten<u2>(0)<0> [] },
    { Add: Ten<u2>(0)<0> [] },
    { Sub: Ten<u2>(0)<0> [] },
    { Mul: Ten<u2>(0)<0> [] },
    { Div: Ten<u2>(0)<0> [] },
    { Min: Ten<u2>(0)<0> [] },
    { Max: Ten<u2>(0)<0> [] })
###

**** New definitions: T, type: u2[]
**** New definitions: U, type: u2[]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]})
BndKind:Tuple, Type:({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[])}):({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]}))
Func sig: (T:u2[], U:u2[]) to ({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>()<> [1] },
    {   U: Ten<u2>()<> [65535] },
    { Add: Ten<u2>()<> [0] },
    { Sub: Ten<u2>()<> [2] },
    { Mul: Ten<u2>()<> [65535] },
    { Div: Ten<u2>()<> [0] },
    { Min: Ten<u2>()<> [1] },
    { Max: Ten<u2>()<> [65535] })
###

**** New definitions: T, type: u2[]
**** New definitions: U, type: u2[]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]})
BndKind:Tuple, Type:({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[])}):({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]}))
Func sig: (T:u2[], U:u2[]) to ({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>()<> [1] },
    {   U: Ten<u2>()<> [0] },
    { Add: Ten<u2>()<> [1] },
    { Sub: Ten<u2>()<> [1] },
    { Mul: Ten<u2>()<> [0] },
    { Div: Ten<u2>()<> [0] },
    { Min: Ten<u2>()<> [0] },
    { Max: Ten<u2>()<> [1] })
###

**** New definitions: T, type: u2[]
**** New definitions: U, type: u2[]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]})
BndKind:Tuple, Type:({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[])}):({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]}))
Func sig: (T:u2[], U:u2[]) to ({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>()<> [1] },
    {   U: Ten<u2>()<> [1] },
    { Add: Ten<u2>()<> [2] },
    { Sub: Ten<u2>()<> [0] },
    { Mul: Ten<u2>()<> [1] },
    { Div: Ten<u2>()<> [1] },
    { Min: Ten<u2>()<> [1] },
    { Max: Ten<u2>()<> [1] })
###

**** New definitions: T, type: u2[]
**** New definitions: U, type: u2[]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]})
BndKind:Tuple, Type:({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[])}):({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]}))
Func sig: (T:u2[], U:u2[]) to ({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>()<> [1] },
    {   U: Ten<u2>()<> [5] },
    { Add: Ten<u2>()<> [6] },
    { Sub: Ten<u2>()<> [65532] },
    { Mul: Ten<u2>()<> [5] },
    { Div: Ten<u2>()<> [0] },
    { Min: Ten<u2>()<> [1] },
    { Max: Ten<u2>()<> [5] })
###

**** New definitions: T, type: u2[]
**** New definitions: U, type: u2[*,*]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
BndKind:Tuple, Type:({'  T':u2[]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*,*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*,*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*,*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*,*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*,*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*,*])}):({'  T':u2[]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}))
Func sig: (T:u2[], U:u2[*,*]) to ({'  T':u2[]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>()<> [1] },
    {   U: Ten<u2>(3,4)<0,0>
          [[5, 5, 5, 5]
           [5, 5, 5, 5]
           [5, 5, 5, 5]]
    },
    { Add: Ten<u2>(3,4)<0,0>
          [[6, 6, 6, 6]
           [6, 6, 6, 6]
           [6, 6, 6, 6]]
    },
    { Sub: Ten<u2>(3,4)<0,0>
          [[65532, 65532, 65532, 65532]
           [65532, 65532, 65532, 65532]
           [65532, 65532, 65532, 65532]]
    },
    { Mul: Ten<u2>(3,4)<0,0>
          [[5, 5, 5, 5]
           [5, 5, 5, 5]
           [5, 5, 5, 5]]
    },
    { Div: Ten<u2>(3,4)<0,0>
          [[0, 0, 0, 0]
           [0, 0, 0, 0]
           [0, 0, 0, 0]]
    },
    { Min: Ten<u2>(3,4)<0,0>
          [[1, 1, 1, 1]
           [1, 1, 1, 1]
           [1, 1, 1, 1]]
    },
    { Max: Ten<u2>(3,4)<0,0>
          [[5, 5, 5, 5]
           [5, 5, 5, 5]
           [5, 5, 5, 5]]
    })
###

**** New definitions: T, type: u2[]
**** New definitions: U, type: u2[]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]})
BndKind:Tuple, Type:({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[])}):({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]}))
Func sig: (T:u2[], U:u2[]) to ({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>()<> [1] },
    {   U: Ten<u2>()<> [32768] },
    { Add: Ten<u2>()<> [32769] },
    { Sub: Ten<u2>()<> [32769] },
    { Mul: Ten<u2>()<> [32768] },
    { Div: Ten<u2>()<> [0] },
    { Min: Ten<u2>()<> [1] },
    { Max: Ten<u2>()<> [32768] })
###

**** New definitions: T, type: u2[]
**** New definitions: U, type: u2[]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]})
BndKind:Tuple, Type:({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[])}):({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]}))
Func sig: (T:u2[], U:u2[]) to ({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>()<> [1] },
    {   U: Ten<u2>()<> [32767] },
    { Add: Ten<u2>()<> [32768] },
    { Sub: Ten<u2>()<> [32770] },
    { Mul: Ten<u2>()<> [32767] },
    { Div: Ten<u2>()<> [0] },
    { Min: Ten<u2>()<> [1] },
    { Max: Ten<u2>()<> [32767] })
###

**** New definitions: T, type: u2[]
**** New definitions: U, type: u2[*]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
BndKind:Tuple, Type:({'  T':u2[]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*])}):({'  T':u2[]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}))
Func sig: (T:u2[], U:u2[*]) to ({'  T':u2[]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>()<> [5] },
    {   U: Ten<u2>(12)<1> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] },
    { Add: Ten<u2>(12)<1> [5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16] },
    { Sub: Ten<u2>(12)<1> [5, 4, 3, 2, 1, 0, 65535, 65534, 65533, 65532, 65531, 65530] },
    { Mul: Ten<u2>(12)<1> [0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55] },
    { Div: Ten<u2>(12)<1> [0, 5, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0] },
    { Min: Ten<u2>(12)<1> [0, 1, 2, 3, 4, 5, 5, 5, 5, 5, 5, 5] },
    { Max: Ten<u2>(12)<1> [5, 5, 5, 5, 5, 5, 6, 7, 8, 9, 10, 11] })
###

**** New definitions: T, type: u2[]
**** New definitions: U, type: u2[*,*]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
BndKind:Tuple, Type:({'  T':u2[]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*,*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*,*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*,*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*,*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*,*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*,*])}):({'  T':u2[]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}))
Func sig: (T:u2[], U:u2[*,*]) to ({'  T':u2[]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>()<> [5] },
    {   U: Ten<u2>(3,4)<4,1>
          [[0, 1, 2, 3]
           [4, 5, 6, 7]
           [8, 9, 10, 11]]
    },
    { Add: Ten<u2>(3,4)<4,1>
          [[5, 6, 7, 8]
           [9, 10, 11, 12]
           [13, 14, 15, 16]]
    },
    { Sub: Ten<u2>(3,4)<4,1>
          [[5, 4, 3, 2]
           [1, 0, 65535, 65534]
           [65533, 65532, 65531, 65530]]
    },
    { Mul: Ten<u2>(3,4)<4,1>
          [[0, 5, 10, 15]
           [20, 25, 30, 35]
           [40, 45, 50, 55]]
    },
    { Div: Ten<u2>(3,4)<4,1>
          [[0, 5, 2, 1]
           [1, 1, 0, 0]
           [0, 0, 0, 0]]
    },
    { Min: Ten<u2>(3,4)<4,1>
          [[0, 1, 2, 3]
           [4, 5, 5, 5]
           [5, 5, 5, 5]]
    },
    { Max: Ten<u2>(3,4)<4,1>
          [[5, 5, 5, 5]
           [5, 5, 6, 7]
           [8, 9, 10, 11]]
    })
###

**** New definitions: T, type: u2[]
**** New definitions: U, type: u2[*]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
BndKind:Tuple, Type:({'  T':u2[]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*])}):({'  T':u2[]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}))
Func sig: (T:u2[], U:u2[*]) to ({'  T':u2[]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>()<> [5] },
    {   U: Ten<u2>(4)<1> [0, 1, 2, 3] },
    { Add: Ten<u2>(4)<1> [5, 6, 7, 8] },
    { Sub: Ten<u2>(4)<1> [5, 4, 3, 2] },
    { Mul: Ten<u2>(4)<1> [0, 5, 10, 15] },
    { Div: Ten<u2>(4)<1> [0, 5, 2, 1] },
    { Min: Ten<u2>(4)<1> [0, 1, 2, 3] },
    { Max: Ten<u2>(4)<1> [5, 5, 5, 5] })
###

**** New definitions: T, type: u2[]
**** New definitions: U, type: u2[*]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
BndKind:Tuple, Type:({'  T':u2[]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*])}):({'  T':u2[]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}))
Func sig: (T:u2[], U:u2[*]) to ({'  T':u2[]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>()<> [5] },
    {   U: Ten<u2>(0)<0> [] },
    { Add: Ten<u2>(0)<0> [] },
    { Sub: Ten<u2>(0)<0> [] },
    { Mul: Ten<u2>(0)<0> [] },
    { Div: Ten<u2>(0)<0> [] },
    { Min: Ten<u2>(0)<0> [] },
    { Max: Ten<u2>(0)<0> [] })
###

**** New definitions: T, type: u2[]
**** New definitions: U, type: u2[]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]})
BndKind:Tuple, Type:({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[])}):({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]}))
Func sig: (T:u2[], U:u2[]) to ({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>()<> [5] },
    {   U: Ten<u2>()<> [65535] },
    { Add: Ten<u2>()<> [4] },
    { Sub: Ten<u2>()<> [6] },
    { Mul: Ten<u2>()<> [65531] },
    { Div: Ten<u2>()<> [0] },
    { Min: Ten<u2>()<> [5] },
    { Max: Ten<u2>()<> [65535] })
###

**** New definitions: T, type: u2[]
**** New definitions: U, type: u2[]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]})
BndKind:Tuple, Type:({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[])}):({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]}))
Func sig: (T:u2[], U:u2[]) to ({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>()<> [5] },
    {   U: Ten<u2>()<> [0] },
    { Add: Ten<u2>()<> [5] },
    { Sub: Ten<u2>()<> [5] },
    { Mul: Ten<u2>()<> [0] },
    { Div: Ten<u2>()<> [0] },
    { Min: Ten<u2>()<> [0] },
    { Max: Ten<u2>()<> [5] })
###

**** New definitions: T, type: u2[]
**** New definitions: U, type: u2[]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]})
BndKind:Tuple, Type:({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[])}):({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]}))
Func sig: (T:u2[], U:u2[]) to ({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>()<> [5] },
    {   U: Ten<u2>()<> [1] },
    { Add: Ten<u2>()<> [6] },
    { Sub: Ten<u2>()<> [4] },
    { Mul: Ten<u2>()<> [5] },
    { Div: Ten<u2>()<> [5] },
    { Min: Ten<u2>()<> [1] },
    { Max: Ten<u2>()<> [5] })
###

**** New definitions: T, type: u2[]
**** New definitions: U, type: u2[]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]})
BndKind:Tuple, Type:({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[])}):({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]}))
Func sig: (T:u2[], U:u2[]) to ({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>()<> [5] },
    {   U: Ten<u2>()<> [5] },
    { Add: Ten<u2>()<> [10] },
    { Sub: Ten<u2>()<> [0] },
    { Mul: Ten<u2>()<> [25] },
    { Div: Ten<u2>()<> [1] },
    { Min: Ten<u2>()<> [5] },
    { Max: Ten<u2>()<> [5] })
###

**** New definitions: T, type: u2[]
**** New definitions: U, type: u2[*,*]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
BndKind:Tuple, Type:({'  T':u2[]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*,*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*,*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*,*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*,*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*,*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*,*])}):({'  T':u2[]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}))
Func sig: (T:u2[], U:u2[*,*]) to ({'  T':u2[]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>()<> [5] },
    {   U: Ten<u2>(3,4)<0,0>
          [[5, 5, 5, 5]
           [5, 5, 5, 5]
           [5, 5, 5, 5]]
    },
    { Add: Ten<u2>(3,4)<0,0>
          [[10, 10, 10, 10]
           [10, 10, 10, 10]
           [10, 10, 10, 10]]
    },
    { Sub: Ten<u2>(3,4)<0,0>
          [[0, 0, 0, 0]
           [0, 0, 0, 0]
           [0, 0, 0, 0]]
    },
    { Mul: Ten<u2>(3,4)<0,0>
          [[25, 25, 25, 25]
           [25, 25, 25, 25]
           [25, 25, 25, 25]]
    },
    { Div: Ten<u2>(3,4)<0,0>
          [[1, 1, 1, 1]
           [1, 1, 1, 1]
           [1, 1, 1, 1]]
    },
    { Min: Ten<u2>(3,4)<0,0>
          [[5, 5, 5, 5]
           [5, 5, 5, 5]
           [5, 5, 5, 5]]
    },
    { Max: Ten<u2>(3,4)<0,0>
          [[5, 5, 5, 5]
           [5, 5, 5, 5]
           [5, 5, 5, 5]]
    })
###

**** New definitions: T, type: u2[]
**** New definitions: U, type: u2[]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]})
BndKind:Tuple, Type:({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[])}):({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]}))
Func sig: (T:u2[], U:u2[]) to ({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>()<> [5] },
    {   U: Ten<u2>()<> [32768] },
    { Add: Ten<u2>()<> [32773] },
    { Sub: Ten<u2>()<> [32773] },
    { Mul: Ten<u2>()<> [32768] },
    { Div: Ten<u2>()<> [0] },
    { Min: Ten<u2>()<> [5] },
    { Max: Ten<u2>()<> [32768] })
###

**** New definitions: T, type: u2[]
**** New definitions: U, type: u2[]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]})
BndKind:Tuple, Type:({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[])}):({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]}))
Func sig: (T:u2[], U:u2[]) to ({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>()<> [5] },
    {   U: Ten<u2>()<> [32767] },
    { Add: Ten<u2>()<> [32772] },
    { Sub: Ten<u2>()<> [32774] },
    { Mul: Ten<u2>()<> [32763] },
    { Div: Ten<u2>()<> [0] },
    { Min: Ten<u2>()<> [5] },
    { Max: Ten<u2>()<> [32767] })
###

**** New definitions: T, type: u2[*,*]
**** New definitions: U, type: u2[*]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[*,*]}, {'  U':u2[*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
BndKind:Tuple, Type:({'  T':u2[*,*]}, {'  U':u2[*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*,*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*,*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*,*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*,*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*,*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*,*])}):({'  T':u2[*,*]}, {'  U':u2[*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}))
Func sig: (T:u2[*,*], U:u2[*]) to ({'  T':u2[*,*]}, {'  U':u2[*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>(3,4)<0,0>
          [[5, 5, 5, 5]
           [5, 5, 5, 5]
           [5, 5, 5, 5]]
    },
    {   U: Ten<u2>(12)<1> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] },
    { Add: Ten<u2>(3,4)<4,1>
          [[5, 6, 7, 8]
           [5, 6, 7, 8]
           [5, 6, 7, 8]]
    },
    { Sub: Ten<u2>(3,4)<4,1>
          [[5, 4, 3, 2]
           [5, 4, 3, 2]
           [5, 4, 3, 2]]
    },
    { Mul: Ten<u2>(3,4)<4,1>
          [[0, 5, 10, 15]
           [0, 5, 10, 15]
           [0, 5, 10, 15]]
    },
    { Div: Ten<u2>(3,4)<4,1>
          [[0, 5, 2, 1]
           [0, 5, 2, 1]
           [0, 5, 2, 1]]
    },
    { Min: Ten<u2>(3,4)<4,1>
          [[0, 1, 2, 3]
           [0, 1, 2, 3]
           [0, 1, 2, 3]]
    },
    { Max: Ten<u2>(3,4)<4,1>
          [[5, 5, 5, 5]
           [5, 5, 5, 5]
           [5, 5, 5, 5]]
    })
###

**** New definitions: T, type: u2[*,*]
**** New definitions: U, type: u2[*,*]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[*,*]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
BndKind:Tuple, Type:({'  T':u2[*,*]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*,*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*,*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*,*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*,*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*,*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*,*])}):({'  T':u2[*,*]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}))
Func sig: (T:u2[*,*], U:u2[*,*]) to ({'  T':u2[*,*]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>(3,4)<0,0>
          [[5, 5, 5, 5]
           [5, 5, 5, 5]
           [5, 5, 5, 5]]
    },
    {   U: Ten<u2>(3,4)<4,1>
          [[0, 1, 2, 3]
           [4, 5, 6, 7]
           [8, 9, 10, 11]]
    },
    { Add: Ten<u2>(3,4)<4,1>
          [[5, 6, 7, 8]
           [9, 10, 11, 12]
           [13, 14, 15, 16]]
    },
    { Sub: Ten<u2>(3,4)<4,1>
          [[5, 4, 3, 2]
           [1, 0, 65535, 65534]
           [65533, 65532, 65531, 65530]]
    },
    { Mul: Ten<u2>(3,4)<4,1>
          [[0, 5, 10, 15]
           [20, 25, 30, 35]
           [40, 45, 50, 55]]
    },
    { Div: Ten<u2>(3,4)<4,1>
          [[0, 5, 2, 1]
           [1, 1, 0, 0]
           [0, 0, 0, 0]]
    },
    { Min: Ten<u2>(3,4)<4,1>
          [[0, 1, 2, 3]
           [4, 5, 5, 5]
           [5, 5, 5, 5]]
    },
    { Max: Ten<u2>(3,4)<4,1>
          [[5, 5, 5, 5]
           [5, 5, 6, 7]
           [8, 9, 10, 11]]
    })
###

**** New definitions: T, type: u2[*,*]
**** New definitions: U, type: u2[*]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[*,*]}, {'  U':u2[*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
BndKind:Tuple, Type:({'  T':u2[*,*]}, {'  U':u2[*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*,*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*,*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*,*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*,*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*,*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*,*])}):({'  T':u2[*,*]}, {'  U':u2[*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}))
Func sig: (T:u2[*,*], U:u2[*]) to ({'  T':u2[*,*]}, {'  U':u2[*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>(3,4)<0,0>
          [[5, 5, 5, 5]
           [5, 5, 5, 5]
           [5, 5, 5, 5]]
    },
    {   U: Ten<u2>(4)<1> [0, 1, 2, 3] },
    { Add: Ten<u2>(3,4)<4,1>
          [[5, 6, 7, 8]
           [5, 6, 7, 8]
           [5, 6, 7, 8]]
    },
    { Sub: Ten<u2>(3,4)<4,1>
          [[5, 4, 3, 2]
           [5, 4, 3, 2]
           [5, 4, 3, 2]]
    },
    { Mul: Ten<u2>(3,4)<4,1>
          [[0, 5, 10, 15]
           [0, 5, 10, 15]
           [0, 5, 10, 15]]
    },
    { Div: Ten<u2>(3,4)<4,1>
          [[0, 5, 2, 1]
           [0, 5, 2, 1]
           [0, 5, 2, 1]]
    },
    { Min: Ten<u2>(3,4)<4,1>
          [[0, 1, 2, 3]
           [0, 1, 2, 3]
           [0, 1, 2, 3]]
    },
    { Max: Ten<u2>(3,4)<4,1>
          [[5, 5, 5, 5]
           [5, 5, 5, 5]
           [5, 5, 5, 5]]
    })
###

**** New definitions: T, type: u2[*,*]
**** New definitions: U, type: u2[*]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[*,*]}, {'  U':u2[*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
BndKind:Tuple, Type:({'  T':u2[*,*]}, {'  U':u2[*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*,*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*,*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*,*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*,*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*,*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*,*])}):({'  T':u2[*,*]}, {'  U':u2[*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}))
Func sig: (T:u2[*,*], U:u2[*]) to ({'  T':u2[*,*]}, {'  U':u2[*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>(3,4)<0,0>
          [[5, 5, 5, 5]
           [5, 5, 5, 5]
           [5, 5, 5, 5]]
    },
    {   U: Ten<u2>(0)<0> [] },
    { Add: Ten<u2>(3,0)<0,0> [] },
    { Sub: Ten<u2>(3,0)<0,0> [] },
    { Mul: Ten<u2>(3,0)<0,0> [] },
    { Div: Ten<u2>(3,0)<0,0> [] },
    { Min: Ten<u2>(3,0)<0,0> [] },
    { Max: Ten<u2>(3,0)<0,0> [] })
###

**** New definitions: T, type: u2[*,*]
**** New definitions: U, type: u2[]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[*,*]}, {'  U':u2[]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
BndKind:Tuple, Type:({'  T':u2[*,*]}, {'  U':u2[]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*,*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*,*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*,*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*,*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*,*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*,*])}):({'  T':u2[*,*]}, {'  U':u2[]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}))
Func sig: (T:u2[*,*], U:u2[]) to ({'  T':u2[*,*]}, {'  U':u2[]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>(3,4)<0,0>
          [[5, 5, 5, 5]
           [5, 5, 5, 5]
           [5, 5, 5, 5]]
    },
    {   U: Ten<u2>()<> [65535] },
    { Add: Ten<u2>(3,4)<0,0>
          [[4, 4, 4, 4]
           [4, 4, 4, 4]
           [4, 4, 4, 4]]
    },
    { Sub: Ten<u2>(3,4)<0,0>
          [[6, 6, 6, 6]
           [6, 6, 6, 6]
           [6, 6, 6, 6]]
    },
    { Mul: Ten<u2>(3,4)<0,0>
          [[65531, 65531, 65531, 65531]
           [65531, 65531, 65531, 65531]
           [65531, 65531, 65531, 65531]]
    },
    { Div: Ten<u2>(3,4)<0,0>
          [[0, 0, 0, 0]
           [0, 0, 0, 0]
           [0, 0, 0, 0]]
    },
    { Min: Ten<u2>(3,4)<0,0>
          [[5, 5, 5, 5]
           [5, 5, 5, 5]
           [5, 5, 5, 5]]
    },
    { Max: Ten<u2>(3,4)<0,0>
          [[65535, 65535, 65535, 65535]
           [65535, 65535, 65535, 65535]
           [65535, 65535, 65535, 65535]]
    })
###

**** New definitions: T, type: u2[*,*]
**** New definitions: U, type: u2[]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[*,*]}, {'  U':u2[]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
BndKind:Tuple, Type:({'  T':u2[*,*]}, {'  U':u2[]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*,*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*,*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*,*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*,*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*,*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*,*])}):({'  T':u2[*,*]}, {'  U':u2[]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}))
Func sig: (T:u2[*,*], U:u2[]) to ({'  T':u2[*,*]}, {'  U':u2[]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>(3,4)<0,0>
          [[5, 5, 5, 5]
           [5, 5, 5, 5]
           [5, 5, 5, 5]]
    },
    {   U: Ten<u2>()<> [0] },
    { Add: Ten<u2>(3,4)<0,0>
          [[5, 5, 5, 5]
           [5, 5, 5, 5]
           [5, 5, 5, 5]]
    },
    { Sub: Ten<u2>(3,4)<0,0>
          [[5, 5, 5, 5]
           [5, 5, 5, 5]
           [5, 5, 5, 5]]
    },
    { Mul: Ten<u2>(3,4)<0,0>
          [[0, 0, 0, 0]
           [0, 0, 0, 0]
           [0, 0, 0, 0]]
    },
    { Div: Ten<u2>(3,4)<0,0>
          [[0, 0, 0, 0]
           [0, 0, 0, 0]
           [0, 0, 0, 0]]
    },
    { Min: Ten<u2>(3,4)<0,0>
          [[0, 0, 0, 0]
           [0, 0, 0, 0]
           [0, 0, 0, 0]]
    },
    { Max: Ten<u2>(3,4)<0,0>
          [[5, 5, 5, 5]
           [5, 5, 5, 5]
           [5, 5, 5, 5]]
    })
###

**** New definitions: T, type: u2[*,*]
**** New definitions: U, type: u2[]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[*,*]}, {'  U':u2[]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
BndKind:Tuple, Type:({'  T':u2[*,*]}, {'  U':u2[]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*,*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*,*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*,*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*,*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*,*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*,*])}):({'  T':u2[*,*]}, {'  U':u2[]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}))
Func sig: (T:u2[*,*], U:u2[]) to ({'  T':u2[*,*]}, {'  U':u2[]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>(3,4)<0,0>
          [[5, 5, 5, 5]
           [5, 5, 5, 5]
           [5, 5, 5, 5]]
    },
    {   U: Ten<u2>()<> [1] },
    { Add: Ten<u2>(3,4)<0,0>
          [[6, 6, 6, 6]
           [6, 6, 6, 6]
           [6, 6, 6, 6]]
    },
    { Sub: Ten<u2>(3,4)<0,0>
          [[4, 4, 4, 4]
           [4, 4, 4, 4]
           [4, 4, 4, 4]]
    },
    { Mul: Ten<u2>(3,4)<0,0>
          [[5, 5, 5, 5]
           [5, 5, 5, 5]
           [5, 5, 5, 5]]
    },
    { Div: Ten<u2>(3,4)<0,0>
          [[5, 5, 5, 5]
           [5, 5, 5, 5]
           [5, 5, 5, 5]]
    },
    { Min: Ten<u2>(3,4)<0,0>
          [[1, 1, 1, 1]
           [1, 1, 1, 1]
           [1, 1, 1, 1]]
    },
    { Max: Ten<u2>(3,4)<0,0>
          [[5, 5, 5, 5]
           [5, 5, 5, 5]
           [5, 5, 5, 5]]
    })
###

**** New definitions: T, type: u2[*,*]
**** New definitions: U, type: u2[]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[*,*]}, {'  U':u2[]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
BndKind:Tuple, Type:({'  T':u2[*,*]}, {'  U':u2[]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*,*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*,*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*,*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*,*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*,*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*,*])}):({'  T':u2[*,*]}, {'  U':u2[]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}))
Func sig: (T:u2[*,*], U:u2[]) to ({'  T':u2[*,*]}, {'  U':u2[]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>(3,4)<0,0>
          [[5, 5, 5, 5]
           [5, 5, 5, 5]
           [5, 5, 5, 5]]
    },
    {   U: Ten<u2>()<> [5] },
    { Add: Ten<u2>(3,4)<0,0>
          [[10, 10, 10, 10]
           [10, 10, 10, 10]
           [10, 10, 10, 10]]
    },
    { Sub: Ten<u2>(3,4)<0,0>
          [[0, 0, 0, 0]
           [0, 0, 0, 0]
           [0, 0, 0, 0]]
    },
    { Mul: Ten<u2>(3,4)<0,0>
          [[25, 25, 25, 25]
           [25, 25, 25, 25]
           [25, 25, 25, 25]]
    },
    { Div: Ten<u2>(3,4)<0,0>
          [[1, 1, 1, 1]
           [1, 1, 1, 1]
           [1, 1, 1, 1]]
    },
    { Min: Ten<u2>(3,4)<0,0>
          [[5, 5, 5, 5]
           [5, 5, 5, 5]
           [5, 5, 5, 5]]
    },
    { Max: Ten<u2>(3,4)<0,0>
          [[5, 5, 5, 5]
           [5, 5, 5, 5]
           [5, 5, 5, 5]]
    })
###

**** New definitions: T, type: u2[*,*]
**** New definitions: U, type: u2[*,*]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[*,*]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
BndKind:Tuple, Type:({'  T':u2[*,*]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*,*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*,*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*,*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*,*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*,*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*,*])}):({'  T':u2[*,*]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}))
Func sig: (T:u2[*,*], U:u2[*,*]) to ({'  T':u2[*,*]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>(3,4)<0,0>
          [[5, 5, 5, 5]
           [5, 5, 5, 5]
           [5, 5, 5, 5]]
    },
    {   U: Ten<u2>(3,4)<0,0>
          [[5, 5, 5, 5]
           [5, 5, 5, 5]
           [5, 5, 5, 5]]
    },
    { Add: Ten<u2>(3,4)<0,0>
          [[10, 10, 10, 10]
           [10, 10, 10, 10]
           [10, 10, 10, 10]]
    },
    { Sub: Ten<u2>(3,4)<0,0>
          [[0, 0, 0, 0]
           [0, 0, 0, 0]
           [0, 0, 0, 0]]
    },
    { Mul: Ten<u2>(3,4)<0,0>
          [[25, 25, 25, 25]
           [25, 25, 25, 25]
           [25, 25, 25, 25]]
    },
    { Div: Ten<u2>(3,4)<0,0>
          [[1, 1, 1, 1]
           [1, 1, 1, 1]
           [1, 1, 1, 1]]
    },
    { Min: Ten<u2>(3,4)<0,0>
          [[5, 5, 5, 5]
           [5, 5, 5, 5]
           [5, 5, 5, 5]]
    },
    { Max: Ten<u2>(3,4)<0,0>
          [[5, 5, 5, 5]
           [5, 5, 5, 5]
           [5, 5, 5, 5]]
    })
###

**** New definitions: T, type: u2[*,*]
**** New definitions: U, type: u2[]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[*,*]}, {'  U':u2[]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
BndKind:Tuple, Type:({'  T':u2[*,*]}, {'  U':u2[]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*,*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*,*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*,*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*,*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*,*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*,*])}):({'  T':u2[*,*]}, {'  U':u2[]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}))
Func sig: (T:u2[*,*], U:u2[]) to ({'  T':u2[*,*]}, {'  U':u2[]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>(3,4)<0,0>
          [[5, 5, 5, 5]
           [5, 5, 5, 5]
           [5, 5, 5, 5]]
    },
    {   U: Ten<u2>()<> [32768] },
    { Add: Ten<u2>(3,4)<0,0>
          [[32773, 32773, 32773, 32773]
           [32773, 32773, 32773, 32773]
           [32773, 32773, 32773, 32773]]
    },
    { Sub: Ten<u2>(3,4)<0,0>
          [[32773, 32773, 32773, 32773]
           [32773, 32773, 32773, 32773]
           [32773, 32773, 32773, 32773]]
    },
    { Mul: Ten<u2>(3,4)<0,0>
          [[32768, 32768, 32768, 32768]
           [32768, 32768, 32768, 32768]
           [32768, 32768, 32768, 32768]]
    },
    { Div: Ten<u2>(3,4)<0,0>
          [[0, 0, 0, 0]
           [0, 0, 0, 0]
           [0, 0, 0, 0]]
    },
    { Min: Ten<u2>(3,4)<0,0>
          [[5, 5, 5, 5]
           [5, 5, 5, 5]
           [5, 5, 5, 5]]
    },
    { Max: Ten<u2>(3,4)<0,0>
          [[32768, 32768, 32768, 32768]
           [32768, 32768, 32768, 32768]
           [32768, 32768, 32768, 32768]]
    })
###

**** New definitions: T, type: u2[*,*]
**** New definitions: U, type: u2[]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[*,*]}, {'  U':u2[]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
BndKind:Tuple, Type:({'  T':u2[*,*]}, {'  U':u2[]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*,*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*,*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*,*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*,*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*,*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*,*])}):({'  T':u2[*,*]}, {'  U':u2[]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}))
Func sig: (T:u2[*,*], U:u2[]) to ({'  T':u2[*,*]}, {'  U':u2[]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>(3,4)<0,0>
          [[5, 5, 5, 5]
           [5, 5, 5, 5]
           [5, 5, 5, 5]]
    },
    {   U: Ten<u2>()<> [32767] },
    { Add: Ten<u2>(3,4)<0,0>
          [[32772, 32772, 32772, 32772]
           [32772, 32772, 32772, 32772]
           [32772, 32772, 32772, 32772]]
    },
    { Sub: Ten<u2>(3,4)<0,0>
          [[32774, 32774, 32774, 32774]
           [32774, 32774, 32774, 32774]
           [32774, 32774, 32774, 32774]]
    },
    { Mul: Ten<u2>(3,4)<0,0>
          [[32763, 32763, 32763, 32763]
           [32763, 32763, 32763, 32763]
           [32763, 32763, 32763, 32763]]
    },
    { Div: Ten<u2>(3,4)<0,0>
          [[0, 0, 0, 0]
           [0, 0, 0, 0]
           [0, 0, 0, 0]]
    },
    { Min: Ten<u2>(3,4)<0,0>
          [[5, 5, 5, 5]
           [5, 5, 5, 5]
           [5, 5, 5, 5]]
    },
    { Max: Ten<u2>(3,4)<0,0>
          [[32767, 32767, 32767, 32767]
           [32767, 32767, 32767, 32767]
           [32767, 32767, 32767, 32767]]
    })
###

**** New definitions: T, type: u2[]
**** New definitions: U, type: u2[*]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
BndKind:Tuple, Type:({'  T':u2[]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*])}):({'  T':u2[]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}))
Func sig: (T:u2[], U:u2[*]) to ({'  T':u2[]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>()<> [32768] },
    {   U: Ten<u2>(12)<1> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] },
    { Add: Ten<u2>(12)<1> [32768, 32769, 32770, 32771, 32772, 32773, 32774, 32775, 32776, 32777, 32778, 32779] },
    { Sub: Ten<u2>(12)<1> [32768, 32767, 32766, 32765, 32764, 32763, 32762, 32761, 32760, 32759, 32758, 32757] },
    { Mul: Ten<u2>(12)<1> [0, 32768, 0, 32768, 0, 32768, 0, 32768, 0, 32768, 0, 32768] },
    { Div: Ten<u2>(12)<1> [0, 32768, 16384, 10922, 8192, 6553, 5461, 4681, 4096, 3640, 3276, 2978] },
    { Min: Ten<u2>(12)<1> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] },
    { Max: Ten<u2>(12)<1> [32768, 32768, 32768, 32768, 32768, 32768, 32768, 32768, 32768, 32768, 32768, 32768] })
###

**** New definitions: T, type: u2[]
**** New definitions: U, type: u2[*,*]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
BndKind:Tuple, Type:({'  T':u2[]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*,*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*,*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*,*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*,*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*,*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*,*])}):({'  T':u2[]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}))
Func sig: (T:u2[], U:u2[*,*]) to ({'  T':u2[]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>()<> [32768] },
    {   U: Ten<u2>(3,4)<4,1>
          [[0, 1, 2, 3]
           [4, 5, 6, 7]
           [8, 9, 10, 11]]
    },
    { Add: Ten<u2>(3,4)<4,1>
          [[32768, 32769, 32770, 32771]
           [32772, 32773, 32774, 32775]
           [32776, 32777, 32778, 32779]]
    },
    { Sub: Ten<u2>(3,4)<4,1>
          [[32768, 32767, 32766, 32765]
           [32764, 32763, 32762, 32761]
           [32760, 32759, 32758, 32757]]
    },
    { Mul: Ten<u2>(3,4)<4,1>
          [[0, 32768, 0, 32768]
           [0, 32768, 0, 32768]
           [0, 32768, 0, 32768]]
    },
    { Div: Ten<u2>(3,4)<4,1>
          [[0, 32768, 16384, 10922]
           [8192, 6553, 5461, 4681]
           [4096, 3640, 3276, 2978]]
    },
    { Min: Ten<u2>(3,4)<4,1>
          [[0, 1, 2, 3]
           [4, 5, 6, 7]
           [8, 9, 10, 11]]
    },
    { Max: Ten<u2>(3,4)<4,1>
          [[32768, 32768, 32768, 32768]
           [32768, 32768, 32768, 32768]
           [32768, 32768, 32768, 32768]]
    })
###

**** New definitions: T, type: u2[]
**** New definitions: U, type: u2[*]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
BndKind:Tuple, Type:({'  T':u2[]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*])}):({'  T':u2[]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}))
Func sig: (T:u2[], U:u2[*]) to ({'  T':u2[]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>()<> [32768] },
    {   U: Ten<u2>(4)<1> [0, 1, 2, 3] },
    { Add: Ten<u2>(4)<1> [32768, 32769, 32770, 32771] },
    { Sub: Ten<u2>(4)<1> [32768, 32767, 32766, 32765] },
    { Mul: Ten<u2>(4)<1> [0, 32768, 0, 32768] },
    { Div: Ten<u2>(4)<1> [0, 32768, 16384, 10922] },
    { Min: Ten<u2>(4)<1> [0, 1, 2, 3] },
    { Max: Ten<u2>(4)<1> [32768, 32768, 32768, 32768] })
###

**** New definitions: T, type: u2[]
**** New definitions: U, type: u2[*]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
BndKind:Tuple, Type:({'  T':u2[]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*])}):({'  T':u2[]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}))
Func sig: (T:u2[], U:u2[*]) to ({'  T':u2[]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>()<> [32768] },
    {   U: Ten<u2>(0)<0> [] },
    { Add: Ten<u2>(0)<0> [] },
    { Sub: Ten<u2>(0)<0> [] },
    { Mul: Ten<u2>(0)<0> [] },
    { Div: Ten<u2>(0)<0> [] },
    { Min: Ten<u2>(0)<0> [] },
    { Max: Ten<u2>(0)<0> [] })
###

**** New definitions: T, type: u2[]
**** New definitions: U, type: u2[]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]})
BndKind:Tuple, Type:({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[])}):({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]}))
Func sig: (T:u2[], U:u2[]) to ({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>()<> [32768] },
    {   U: Ten<u2>()<> [65535] },
    { Add: Ten<u2>()<> [32767] },
    { Sub: Ten<u2>()<> [32769] },
    { Mul: Ten<u2>()<> [32768] },
    { Div: Ten<u2>()<> [0] },
    { Min: Ten<u2>()<> [32768] },
    { Max: Ten<u2>()<> [65535] })
###

**** New definitions: T, type: u2[]
**** New definitions: U, type: u2[]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]})
BndKind:Tuple, Type:({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[])}):({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]}))
Func sig: (T:u2[], U:u2[]) to ({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>()<> [32768] },
    {   U: Ten<u2>()<> [0] },
    { Add: Ten<u2>()<> [32768] },
    { Sub: Ten<u2>()<> [32768] },
    { Mul: Ten<u2>()<> [0] },
    { Div: Ten<u2>()<> [0] },
    { Min: Ten<u2>()<> [0] },
    { Max: Ten<u2>()<> [32768] })
###

**** New definitions: T, type: u2[]
**** New definitions: U, type: u2[]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]})
BndKind:Tuple, Type:({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[])}):({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]}))
Func sig: (T:u2[], U:u2[]) to ({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>()<> [32768] },
    {   U: Ten<u2>()<> [1] },
    { Add: Ten<u2>()<> [32769] },
    { Sub: Ten<u2>()<> [32767] },
    { Mul: Ten<u2>()<> [32768] },
    { Div: Ten<u2>()<> [32768] },
    { Min: Ten<u2>()<> [1] },
    { Max: Ten<u2>()<> [32768] })
###

**** New definitions: T, type: u2[]
**** New definitions: U, type: u2[]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]})
BndKind:Tuple, Type:({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[])}):({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]}))
Func sig: (T:u2[], U:u2[]) to ({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>()<> [32768] },
    {   U: Ten<u2>()<> [5] },
    { Add: Ten<u2>()<> [32773] },
    { Sub: Ten<u2>()<> [32763] },
    { Mul: Ten<u2>()<> [32768] },
    { Div: Ten<u2>()<> [6553] },
    { Min: Ten<u2>()<> [5] },
    { Max: Ten<u2>()<> [32768] })
###

**** New definitions: T, type: u2[]
**** New definitions: U, type: u2[*,*]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
BndKind:Tuple, Type:({'  T':u2[]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*,*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*,*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*,*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*,*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*,*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*,*])}):({'  T':u2[]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}))
Func sig: (T:u2[], U:u2[*,*]) to ({'  T':u2[]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>()<> [32768] },
    {   U: Ten<u2>(3,4)<0,0>
          [[5, 5, 5, 5]
           [5, 5, 5, 5]
           [5, 5, 5, 5]]
    },
    { Add: Ten<u2>(3,4)<0,0>
          [[32773, 32773, 32773, 32773]
           [32773, 32773, 32773, 32773]
           [32773, 32773, 32773, 32773]]
    },
    { Sub: Ten<u2>(3,4)<0,0>
          [[32763, 32763, 32763, 32763]
           [32763, 32763, 32763, 32763]
           [32763, 32763, 32763, 32763]]
    },
    { Mul: Ten<u2>(3,4)<0,0>
          [[32768, 32768, 32768, 32768]
           [32768, 32768, 32768, 32768]
           [32768, 32768, 32768, 32768]]
    },
    { Div: Ten<u2>(3,4)<0,0>
          [[6553, 6553, 6553, 6553]
           [6553, 6553, 6553, 6553]
           [6553, 6553, 6553, 6553]]
    },
    { Min: Ten<u2>(3,4)<0,0>
          [[5, 5, 5, 5]
           [5, 5, 5, 5]
           [5, 5, 5, 5]]
    },
    { Max: Ten<u2>(3,4)<0,0>
          [[32768, 32768, 32768, 32768]
           [32768, 32768, 32768, 32768]
           [32768, 32768, 32768, 32768]]
    })
###

**** New definitions: T, type: u2[]
**** New definitions: U, type: u2[]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]})
BndKind:Tuple, Type:({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[])}):({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]}))
Func sig: (T:u2[], U:u2[]) to ({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>()<> [32768] },
    {   U: Ten<u2>()<> [32768] },
    { Add: Ten<u2>()<> [0] },
    { Sub: Ten<u2>()<> [0] },
    { Mul: Ten<u2>()<> [0] },
    { Div: Ten<u2>()<> [1] },
    { Min: Ten<u2>()<> [32768] },
    { Max: Ten<u2>()<> [32768] })
###

**** New definitions: T, type: u2[]
**** New definitions: U, type: u2[]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]})
BndKind:Tuple, Type:({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[])}):({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]}))
Func sig: (T:u2[], U:u2[]) to ({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>()<> [32768] },
    {   U: Ten<u2>()<> [32767] },
    { Add: Ten<u2>()<> [65535] },
    { Sub: Ten<u2>()<> [1] },
    { Mul: Ten<u2>()<> [32768] },
    { Div: Ten<u2>()<> [1] },
    { Min: Ten<u2>()<> [32767] },
    { Max: Ten<u2>()<> [32768] })
###

**** New definitions: T, type: u2[]
**** New definitions: U, type: u2[*]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
BndKind:Tuple, Type:({'  T':u2[]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*])}):({'  T':u2[]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}))
Func sig: (T:u2[], U:u2[*]) to ({'  T':u2[]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>()<> [32767] },
    {   U: Ten<u2>(12)<1> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] },
    { Add: Ten<u2>(12)<1> [32767, 32768, 32769, 32770, 32771, 32772, 32773, 32774, 32775, 32776, 32777, 32778] },
    { Sub: Ten<u2>(12)<1> [32767, 32766, 32765, 32764, 32763, 32762, 32761, 32760, 32759, 32758, 32757, 32756] },
    { Mul: Ten<u2>(12)<1> [0, 32767, 65534, 32765, 65532, 32763, 65530, 32761, 65528, 32759, 65526, 32757] },
    { Div: Ten<u2>(12)<1> [0, 32767, 16383, 10922, 8191, 6553, 5461, 4681, 4095, 3640, 3276, 2978] },
    { Min: Ten<u2>(12)<1> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] },
    { Max: Ten<u2>(12)<1> [32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767] })
###

**** New definitions: T, type: u2[]
**** New definitions: U, type: u2[*,*]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
BndKind:Tuple, Type:({'  T':u2[]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*,*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*,*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*,*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*,*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*,*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*,*])}):({'  T':u2[]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}))
Func sig: (T:u2[], U:u2[*,*]) to ({'  T':u2[]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>()<> [32767] },
    {   U: Ten<u2>(3,4)<4,1>
          [[0, 1, 2, 3]
           [4, 5, 6, 7]
           [8, 9, 10, 11]]
    },
    { Add: Ten<u2>(3,4)<4,1>
          [[32767, 32768, 32769, 32770]
           [32771, 32772, 32773, 32774]
           [32775, 32776, 32777, 32778]]
    },
    { Sub: Ten<u2>(3,4)<4,1>
          [[32767, 32766, 32765, 32764]
           [32763, 32762, 32761, 32760]
           [32759, 32758, 32757, 32756]]
    },
    { Mul: Ten<u2>(3,4)<4,1>
          [[0, 32767, 65534, 32765]
           [65532, 32763, 65530, 32761]
           [65528, 32759, 65526, 32757]]
    },
    { Div: Ten<u2>(3,4)<4,1>
          [[0, 32767, 16383, 10922]
           [8191, 6553, 5461, 4681]
           [4095, 3640, 3276, 2978]]
    },
    { Min: Ten<u2>(3,4)<4,1>
          [[0, 1, 2, 3]
           [4, 5, 6, 7]
           [8, 9, 10, 11]]
    },
    { Max: Ten<u2>(3,4)<4,1>
          [[32767, 32767, 32767, 32767]
           [32767, 32767, 32767, 32767]
           [32767, 32767, 32767, 32767]]
    })
###

**** New definitions: T, type: u2[]
**** New definitions: U, type: u2[*]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
BndKind:Tuple, Type:({'  T':u2[]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*])}):({'  T':u2[]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}))
Func sig: (T:u2[], U:u2[*]) to ({'  T':u2[]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>()<> [32767] },
    {   U: Ten<u2>(4)<1> [0, 1, 2, 3] },
    { Add: Ten<u2>(4)<1> [32767, 32768, 32769, 32770] },
    { Sub: Ten<u2>(4)<1> [32767, 32766, 32765, 32764] },
    { Mul: Ten<u2>(4)<1> [0, 32767, 65534, 32765] },
    { Div: Ten<u2>(4)<1> [0, 32767, 16383, 10922] },
    { Min: Ten<u2>(4)<1> [0, 1, 2, 3] },
    { Max: Ten<u2>(4)<1> [32767, 32767, 32767, 32767] })
###

**** New definitions: T, type: u2[]
**** New definitions: U, type: u2[*]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
BndKind:Tuple, Type:({'  T':u2[]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*])}):({'  T':u2[]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]}))
Func sig: (T:u2[], U:u2[*]) to ({'  T':u2[]}, {'  U':u2[*]}, {Add:u2[*]}, {Sub:u2[*]}, {Mul:u2[*]}, {Div:u2[*]}, {Min:u2[*]}, {Max:u2[*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>()<> [32767] },
    {   U: Ten<u2>(0)<0> [] },
    { Add: Ten<u2>(0)<0> [] },
    { Sub: Ten<u2>(0)<0> [] },
    { Mul: Ten<u2>(0)<0> [] },
    { Div: Ten<u2>(0)<0> [] },
    { Min: Ten<u2>(0)<0> [] },
    { Max: Ten<u2>(0)<0> [] })
###

**** New definitions: T, type: u2[]
**** New definitions: U, type: u2[]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]})
BndKind:Tuple, Type:({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[])}):({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]}))
Func sig: (T:u2[], U:u2[]) to ({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>()<> [32767] },
    {   U: Ten<u2>()<> [65535] },
    { Add: Ten<u2>()<> [32766] },
    { Sub: Ten<u2>()<> [32768] },
    { Mul: Ten<u2>()<> [32769] },
    { Div: Ten<u2>()<> [0] },
    { Min: Ten<u2>()<> [32767] },
    { Max: Ten<u2>()<> [65535] })
###

**** New definitions: T, type: u2[]
**** New definitions: U, type: u2[]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]})
BndKind:Tuple, Type:({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[])}):({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]}))
Func sig: (T:u2[], U:u2[]) to ({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>()<> [32767] },
    {   U: Ten<u2>()<> [0] },
    { Add: Ten<u2>()<> [32767] },
    { Sub: Ten<u2>()<> [32767] },
    { Mul: Ten<u2>()<> [0] },
    { Div: Ten<u2>()<> [0] },
    { Min: Ten<u2>()<> [0] },
    { Max: Ten<u2>()<> [32767] })
###

**** New definitions: T, type: u2[]
**** New definitions: U, type: u2[]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]})
BndKind:Tuple, Type:({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[])}):({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]}))
Func sig: (T:u2[], U:u2[]) to ({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>()<> [32767] },
    {   U: Ten<u2>()<> [1] },
    { Add: Ten<u2>()<> [32768] },
    { Sub: Ten<u2>()<> [32766] },
    { Mul: Ten<u2>()<> [32767] },
    { Div: Ten<u2>()<> [32767] },
    { Min: Ten<u2>()<> [1] },
    { Max: Ten<u2>()<> [32767] })
###

**** New definitions: T, type: u2[]
**** New definitions: U, type: u2[]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]})
BndKind:Tuple, Type:({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[])}):({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]}))
Func sig: (T:u2[], U:u2[]) to ({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>()<> [32767] },
    {   U: Ten<u2>()<> [5] },
    { Add: Ten<u2>()<> [32772] },
    { Sub: Ten<u2>()<> [32762] },
    { Mul: Ten<u2>()<> [32763] },
    { Div: Ten<u2>()<> [6553] },
    { Min: Ten<u2>()<> [5] },
    { Max: Ten<u2>()<> [32767] })
###

**** New definitions: T, type: u2[]
**** New definitions: U, type: u2[*,*]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
BndKind:Tuple, Type:({'  T':u2[]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[*,*])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[*,*])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[*,*])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[*,*])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[*,*])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[*,*])}):({'  T':u2[]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]}))
Func sig: (T:u2[], U:u2[*,*]) to ({'  T':u2[]}, {'  U':u2[*,*]}, {Add:u2[*,*]}, {Sub:u2[*,*]}, {Mul:u2[*,*]}, {Div:u2[*,*]}, {Min:u2[*,*]}, {Max:u2[*,*]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>()<> [32767] },
    {   U: Ten<u2>(3,4)<0,0>
          [[5, 5, 5, 5]
           [5, 5, 5, 5]
           [5, 5, 5, 5]]
    },
    { Add: Ten<u2>(3,4)<0,0>
          [[32772, 32772, 32772, 32772]
           [32772, 32772, 32772, 32772]
           [32772, 32772, 32772, 32772]]
    },
    { Sub: Ten<u2>(3,4)<0,0>
          [[32762, 32762, 32762, 32762]
           [32762, 32762, 32762, 32762]
           [32762, 32762, 32762, 32762]]
    },
    { Mul: Ten<u2>(3,4)<0,0>
          [[32763, 32763, 32763, 32763]
           [32763, 32763, 32763, 32763]
           [32763, 32763, 32763, 32763]]
    },
    { Div: Ten<u2>(3,4)<0,0>
          [[6553, 6553, 6553, 6553]
           [6553, 6553, 6553, 6553]
           [6553, 6553, 6553, 6553]]
    },
    { Min: Ten<u2>(3,4)<0,0>
          [[5, 5, 5, 5]
           [5, 5, 5, 5]
           [5, 5, 5, 5]]
    },
    { Max: Ten<u2>(3,4)<0,0>
          [[32767, 32767, 32767, 32767]
           [32767, 32767, 32767, 32767]
           [32767, 32767, 32767, 32767]]
    })
###

**** New definitions: T, type: u2[]
**** New definitions: U, type: u2[]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]})
BndKind:Tuple, Type:({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[])}):({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]}))
Func sig: (T:u2[], U:u2[]) to ({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>()<> [32767] },
    {   U: Ten<u2>()<> [32768] },
    { Add: Ten<u2>()<> [65535] },
    { Sub: Ten<u2>()<> [65535] },
    { Mul: Ten<u2>()<> [32768] },
    { Div: Ten<u2>()<> [0] },
    { Min: Ten<u2>()<> [32767] },
    { Max: Ten<u2>()<> [32768] })
###

**** New definitions: T, type: u2[]
**** New definitions: U, type: u2[]

> ({'  T': T }, {'  U': U }, {'Add': T->Add(U) }, {'Sub': T->Sub(U) }, {'Mul': T->Mul(U) }, {'Div': T->Div(U) }, {'Min': T->Min(U) }, {'Max': T->Max(U) })
({ '  T' : T }, { '  U' : U }, { 'Add' : T->Add(U) }, { 'Sub' : T->Sub(U) }, { 'Mul' : T->Mul(U) }, { 'Div' : T->Div(U) }, { 'Min' : T->Min(U) }, { 'Max' : T->Max(U) }) : ({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]})
BndKind:Tuple, Type:({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]}), Bnd:(({  T:Global(T)}, {  U:Global(U)}, {Add:Call(∂.Tensor.Add(Global(T), Global(U)):u2[])}, {Sub:Call(∂.Tensor.Sub(Global(T), Global(U)):u2[])}, {Mul:Call(∂.Tensor.Mul(Global(T), Global(U)):u2[])}, {Div:Call(∂.Tensor.Div(Global(T), Global(U)):u2[])}, {Min:Call(∂.Tensor.Min(Global(T), Global(U)):u2[])}, {Max:Call(∂.Tensor.Max(Global(T), Global(U)):u2[])}):({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]}))
Func sig: (T:u2[], U:u2[]) to ({'  T':u2[]}, {'  U':u2[]}, {Add:u2[]}, {Sub:u2[]}, {Mul:u2[]}, {Div:u2[]}, {Min:u2[]}, {Max:u2[]})
Type: ({Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>},{Ten<u2>}), Value: (
    {   T: Ten<u2>()<> [32767] },
    {   U: Ten<u2>()<> [32767] },
    { Add: Ten<u2>()<> [65534] },
    { Sub: Ten<u2>()<> [0] },
    { Mul: Ten<u2>()<> [1] },
    { Div: Ten<u2>()<> [1] },
    { Min: Ten<u2>()<> [32767] },
    { Max: Ten<u2>()<> [32767] })
###
