diff --git a/core/.buildinfo b/core/.buildinfo index 8376729f8c..ff7fac559a 100644 --- a/core/.buildinfo +++ b/core/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: 35ae415874d053daf9db09403a80c2b8 +config: a9b2a6c375758cb0fb64ad9d46cf0897 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/core/_download/WebAssembly.pdf b/core/_download/WebAssembly.pdf index f476961998..640394ac78 100644 Binary files a/core/_download/WebAssembly.pdf and b/core/_download/WebAssembly.pdf differ diff --git a/core/_static/documentation_options.js b/core/_static/documentation_options.js index 228b6713cd..a12f10c5dc 100644 --- a/core/_static/documentation_options.js +++ b/core/_static/documentation_options.js @@ -1,6 +1,6 @@ var DOCUMENTATION_OPTIONS = { URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'), - VERSION: '3.0 (Draft 2024-05-03)', + VERSION: '3.0 (Draft 2024-05-17)', LANGUAGE: 'en', COLLAPSE_INDEX: false, BUILDER: 'html', diff --git a/core/appendix/algorithm.html b/core/appendix/algorithm.html index 2a171b2f81..0ab15e3fa0 100644 --- a/core/appendix/algorithm.html +++ b/core/appendix/algorithm.html @@ -6,7 +6,7 @@ - Validation Algorithm — WebAssembly 3.0 (Draft 2024-05-03) + Validation Algorithm — WebAssembly 3.0 (Draft 2024-05-17) diff --git a/core/appendix/changes.html b/core/appendix/changes.html index a57601e813..f71ae87bc5 100644 --- a/core/appendix/changes.html +++ b/core/appendix/changes.html @@ -6,7 +6,7 @@ - Change History — WebAssembly 3.0 (Draft 2024-05-03) + Change History — WebAssembly 3.0 (Draft 2024-05-17) @@ -243,7 +243,7 @@

Multiple memoriesreference instructions: \(\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.as\_non\_null}}\), \(\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{br\_on\_null}}\), \(\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{br\_on\_non\_null}}\)

  • New control instruction: \(\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{call\_ref}}\)

  • Refined typing of reference instruction \(\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.func}}\) with more precise result type

  • -
  • Refined typing of local instructions and instruction sequences to track the initialization status of locals with non-defaultable type

  • +
  • Refined typing of local instructions and instruction sequences to track the initialization status of locals with non-defaultable type

  • Extended table definitions with optional initializer expression

  • diff --git a/core/appendix/custom.html b/core/appendix/custom.html index 362584797d..6dac367304 100644 --- a/core/appendix/custom.html +++ b/core/appendix/custom.html @@ -6,7 +6,7 @@ - Custom Sections — WebAssembly 3.0 (Draft 2024-05-03) + Custom Sections — WebAssembly 3.0 (Draft 2024-05-17) diff --git a/core/appendix/embedding.html b/core/appendix/embedding.html index 1850035d95..071348e360 100644 --- a/core/appendix/embedding.html +++ b/core/appendix/embedding.html @@ -6,7 +6,7 @@ - Embedding — WebAssembly 3.0 (Draft 2024-05-03) + Embedding — WebAssembly 3.0 (Draft 2024-05-17) diff --git a/core/appendix/implementation.html b/core/appendix/implementation.html index 2bd1a75656..dc4b6a0e5a 100644 --- a/core/appendix/implementation.html +++ b/core/appendix/implementation.html @@ -6,7 +6,7 @@ - Implementation Limitations — WebAssembly 3.0 (Draft 2024-05-03) + Implementation Limitations — WebAssembly 3.0 (Draft 2024-05-17) diff --git a/core/appendix/index-instructions.html b/core/appendix/index-instructions.html index 5b2f388b3f..7445266fd7 100644 --- a/core/appendix/index-instructions.html +++ b/core/appendix/index-instructions.html @@ -6,7 +6,7 @@ - Index of Instructions — WebAssembly 3.0 (Draft 2024-05-03) + Index of Instructions — WebAssembly 3.0 (Draft 2024-05-17) @@ -2472,7 +2472,7 @@

    Quick search

    validation

    execution (operator)

    -

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{f64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{promote}}\mathsf{\_low\_f32x4}\)

    +

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{f64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{promote}}\mathsf{\_}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{low}}\mathsf{\_f32x4}\)

    \(\def\mathdef819#1{\mathtt{0x#1}}\mathdef819{FD}~~\def\mathdef820#1{\mathtt{0x#1}}\mathdef820{5F}\)

    \([\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}} [\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}]\)

    validation

    @@ -2568,13 +2568,13 @@

    Quick search

    validation

    execution (operator)

    -

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{i8x16}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{add}}\mathsf{\_sat\_s}\)

    +

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{i8x16}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{add\_sat}}\mathsf{\_s}\)

    \(\def\mathdef851#1{\mathtt{0x#1}}\mathdef851{FD}~~\def\mathdef852#1{\mathtt{0x#1}}\mathdef852{6F}\)

    \([\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}~\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}} [\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}]\)

    validation

    execution (operator)

    -

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{i8x16}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{add}}\mathsf{\_sat\_u}\)

    +

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{i8x16}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{add\_sat}}\mathsf{\_u}\)

    \(\def\mathdef853#1{\mathtt{0x#1}}\mathdef853{FD}~~\def\mathdef854#1{\mathtt{0x#1}}\mathdef854{70}\)

    \([\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}~\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}} [\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}]\)

    validation

    @@ -2586,13 +2586,13 @@

    Quick search

    validation

    execution (operator)

    -

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{i8x16}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{sub}}\mathsf{\_sat\_s}\)

    +

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{i8x16}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{sub\_sat}}\mathsf{\_s}\)

    \(\def\mathdef857#1{\mathtt{0x#1}}\mathdef857{FD}~~\def\mathdef858#1{\mathtt{0x#1}}\mathdef858{72}\)

    \([\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}~\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}} [\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}]\)

    validation

    execution (operator)

    -

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{i8x16}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{sub}}\mathsf{\_sat\_u}\)

    +

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{i8x16}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{sub\_sat}}\mathsf{\_u}\)

    \(\def\mathdef859#1{\mathtt{0x#1}}\mathdef859{FD}~~\def\mathdef860#1{\mathtt{0x#1}}\mathdef860{73}\)

    \([\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}~\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}} [\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}]\)

    validation

    @@ -2640,7 +2640,7 @@

    Quick search

    validation

    execution (operator)

    -

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{i8x16}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{avgr}}\mathsf{\_u}\)

    +

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{i8x16}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{avgr\_u}}\)

    \(\def\mathdef875#1{\mathtt{0x#1}}\mathdef875{FD}~~\def\mathdef876#1{\mathtt{0x#1}}\mathdef876{7B}\)

    \([\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}~\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}} [\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}]\)

    validation

    @@ -2682,7 +2682,7 @@

    Quick search

    validation

    execution (operator)

    -

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{q15mulr\_sat}}\mathsf{\_s}\)

    +

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{q15mulr\_sat\_s}}\)

    \(\def\mathdef891#1{\mathtt{0x#1}}\mathdef891{FD}~~\def\mathdef892#1{\mathtt{0x#1}}\mathdef892{82}~~\def\mathdef893#1{\mathtt{0x#1}}\mathdef893{01}\)

    \([\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}~\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}} [\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}]\)

    validation

    @@ -2712,25 +2712,25 @@

    Quick search

    validation

    execution

    -

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extend}}\mathsf{\_low\_i8x16\_s}\)

    +

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extend}}\mathsf{\_}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{low}}\mathsf{\_i8x16\_s}\)

    \(\def\mathdef906#1{\mathtt{0x#1}}\mathdef906{FD}~~\def\mathdef907#1{\mathtt{0x#1}}\mathdef907{87}~~\def\mathdef908#1{\mathtt{0x#1}}\mathdef908{01}\)

    \([\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}} [\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}]\)

    validation

    execution

    -

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extend}}\mathsf{\_high\_i8x16\_s}\)

    +

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extend}}\mathsf{\_}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{high}}\mathsf{\_i8x16\_s}\)

    \(\def\mathdef909#1{\mathtt{0x#1}}\mathdef909{FD}~~\def\mathdef910#1{\mathtt{0x#1}}\mathdef910{88}~~\def\mathdef911#1{\mathtt{0x#1}}\mathdef911{01}\)

    \([\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}} [\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}]\)

    validation

    execution

    -

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extend}}\mathsf{\_low\_i8x16\_u}\)

    +

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extend}}\mathsf{\_}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{low}}\mathsf{\_i8x16\_u}\)

    \(\def\mathdef912#1{\mathtt{0x#1}}\mathdef912{FD}~~\def\mathdef913#1{\mathtt{0x#1}}\mathdef913{89}~~\def\mathdef914#1{\mathtt{0x#1}}\mathdef914{01}\)

    \([\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}} [\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}]\)

    validation

    execution

    -

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extend}}\mathsf{\_high\_i8x16\_u}\)

    +

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extend}}\mathsf{\_}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{high}}\mathsf{\_i8x16\_u}\)

    \(\def\mathdef915#1{\mathtt{0x#1}}\mathdef915{FD}~~\def\mathdef916#1{\mathtt{0x#1}}\mathdef916{8A}~~\def\mathdef917#1{\mathtt{0x#1}}\mathdef917{01}\)

    \([\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}} [\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}]\)

    validation

    @@ -2832,31 +2832,31 @@

    Quick search

    -

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{avgr}}\mathsf{\_u}\)

    +

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{avgr\_u}}\)

    \(\def\mathdef966#1{\mathtt{0x#1}}\mathdef966{FD}~~\def\mathdef967#1{\mathtt{0x#1}}\mathdef967{9B}~~\def\mathdef968#1{\mathtt{0x#1}}\mathdef968{01}\)

    \([\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}~\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}} [\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}]\)

    validation

    execution (operator)

    -

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extmul}}\mathsf{\_low\_i8x16\_s}\)

    +

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extmul}}\mathsf{\_}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{low}}\mathsf{\_i8x16\_s}\)

    \(\def\mathdef969#1{\mathtt{0x#1}}\mathdef969{FD}~~\def\mathdef970#1{\mathtt{0x#1}}\mathdef970{9C}~~\def\mathdef971#1{\mathtt{0x#1}}\mathdef971{01}\)

    \([\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}~\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}} [\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}]\)

    validation

    execution

    -

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extmul}}\mathsf{\_high\_i8x16\_s}\)

    +

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extmul}}\mathsf{\_}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{high}}\mathsf{\_i8x16\_s}\)

    \(\def\mathdef972#1{\mathtt{0x#1}}\mathdef972{FD}~~\def\mathdef973#1{\mathtt{0x#1}}\mathdef973{9D}~~\def\mathdef974#1{\mathtt{0x#1}}\mathdef974{01}\)

    \([\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}~\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}} [\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}]\)

    validation

    execution

    -

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extmul}}\mathsf{\_low\_i8x16\_u}\)

    +

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extmul}}\mathsf{\_}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{low}}\mathsf{\_i8x16\_u}\)

    \(\def\mathdef975#1{\mathtt{0x#1}}\mathdef975{FD}~~\def\mathdef976#1{\mathtt{0x#1}}\mathdef976{9E}~~\def\mathdef977#1{\mathtt{0x#1}}\mathdef977{01}\)

    \([\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}~\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}} [\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}]\)

    validation

    execution

    -

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extmul}}\mathsf{\_high\_i8x16\_u}\)

    +

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extmul}}\mathsf{\_}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{high}}\mathsf{\_i8x16\_u}\)

    \(\def\mathdef978#1{\mathtt{0x#1}}\mathdef978{FD}~~\def\mathdef979#1{\mathtt{0x#1}}\mathdef979{9F}~~\def\mathdef980#1{\mathtt{0x#1}}\mathdef980{01}\)

    \([\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}~\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}} [\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}]\)

    validation

    @@ -2904,25 +2904,25 @@

    Quick search

    -

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extend}}\mathsf{\_low\_i16x8\_s}\)

    +

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extend}}\mathsf{\_}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{low}}\mathsf{\_i16x8\_s}\)

    \(\def\mathdef1002#1{\mathtt{0x#1}}\mathdef1002{FD}~~\def\mathdef1003#1{\mathtt{0x#1}}\mathdef1003{A7}~~\def\mathdef1004#1{\mathtt{0x#1}}\mathdef1004{01}\)

    \([\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}} [\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}]\)

    validation

    execution

    -

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extend}}\mathsf{\_high\_i16x8\_s}\)

    +

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extend}}\mathsf{\_}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{high}}\mathsf{\_i16x8\_s}\)

    \(\def\mathdef1005#1{\mathtt{0x#1}}\mathdef1005{FD}~~\def\mathdef1006#1{\mathtt{0x#1}}\mathdef1006{A8}~~\def\mathdef1007#1{\mathtt{0x#1}}\mathdef1007{01}\)

    \([\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}} [\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}]\)

    validation

    execution

    -

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extend}}\mathsf{\_low\_i16x8\_u}\)

    +

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extend}}\mathsf{\_}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{low}}\mathsf{\_i16x8\_u}\)

    \(\def\mathdef1008#1{\mathtt{0x#1}}\mathdef1008{FD}~~\def\mathdef1009#1{\mathtt{0x#1}}\mathdef1009{A9}~~\def\mathdef1010#1{\mathtt{0x#1}}\mathdef1010{01}\)

    \([\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}} [\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}]\)

    validation

    execution

    -

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extend}}\mathsf{\_high\_i16x8\_u}\)

    +

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extend}}\mathsf{\_}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{high}}\mathsf{\_i16x8\_u}\)

    \(\def\mathdef1011#1{\mathtt{0x#1}}\mathdef1011{FD}~~\def\mathdef1012#1{\mathtt{0x#1}}\mathdef1012{AA}~~\def\mathdef1013#1{\mathtt{0x#1}}\mathdef1013{01}\)

    \([\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}} [\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}]\)

    validation

    @@ -3024,25 +3024,25 @@

    Quick search

    validation

    execution

    -

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extmul}}\mathsf{\_low\_i16x8\_s}\)

    +

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extmul}}\mathsf{\_}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{low}}\mathsf{\_i16x8\_s}\)

    \(\def\mathdef1062#1{\mathtt{0x#1}}\mathdef1062{FD}~~\def\mathdef1063#1{\mathtt{0x#1}}\mathdef1063{BC}~~\def\mathdef1064#1{\mathtt{0x#1}}\mathdef1064{01}\)

    \([\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}~\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}} [\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}]\)

    validation

    execution

    -

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extmul}}\mathsf{\_high\_i16x8\_s}\)

    +

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extmul}}\mathsf{\_}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{high}}\mathsf{\_i16x8\_s}\)

    \(\def\mathdef1065#1{\mathtt{0x#1}}\mathdef1065{FD}~~\def\mathdef1066#1{\mathtt{0x#1}}\mathdef1066{BD}~~\def\mathdef1067#1{\mathtt{0x#1}}\mathdef1067{01}\)

    \([\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}~\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}} [\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}]\)

    validation

    execution

    -

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extmul}}\mathsf{\_low\_i16x8\_u}\)

    +

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extmul}}\mathsf{\_}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{low}}\mathsf{\_i16x8\_u}\)

    \(\def\mathdef1068#1{\mathtt{0x#1}}\mathdef1068{FD}~~\def\mathdef1069#1{\mathtt{0x#1}}\mathdef1069{BE}~~\def\mathdef1070#1{\mathtt{0x#1}}\mathdef1070{01}\)

    \([\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}~\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}} [\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}]\)

    validation

    execution

    -

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extmul}}\mathsf{\_high\_i16x8\_u}\)

    +

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extmul}}\mathsf{\_}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{high}}\mathsf{\_i16x8\_u}\)

    \(\def\mathdef1071#1{\mathtt{0x#1}}\mathdef1071{FD}~~\def\mathdef1072#1{\mathtt{0x#1}}\mathdef1072{BF}~~\def\mathdef1073#1{\mathtt{0x#1}}\mathdef1073{01}\)

    \([\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}~\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}} [\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}]\)

    validation

    @@ -3090,25 +3090,25 @@

    Quick search

    -

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{i64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extend}}\mathsf{\_low\_i32x4\_s}\)

    +

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{i64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extend}}\mathsf{\_}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{low}}\mathsf{\_i32x4\_s}\)

    \(\def\mathdef1095#1{\mathtt{0x#1}}\mathdef1095{FD}~~\def\mathdef1096#1{\mathtt{0x#1}}\mathdef1096{C7}~~\def\mathdef1097#1{\mathtt{0x#1}}\mathdef1097{01}\)

    \([\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}} [\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}]\)

    validation

    execution

    -

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{i64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extend}}\mathsf{\_high\_i32x4\_s}\)

    +

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{i64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extend}}\mathsf{\_}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{high}}\mathsf{\_i32x4\_s}\)

    \(\def\mathdef1098#1{\mathtt{0x#1}}\mathdef1098{FD}~~\def\mathdef1099#1{\mathtt{0x#1}}\mathdef1099{C8}~~\def\mathdef1100#1{\mathtt{0x#1}}\mathdef1100{01}\)

    \([\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}} [\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}]\)

    validation

    execution

    -

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{i64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extend}}\mathsf{\_low\_i32x4\_u}\)

    +

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{i64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extend}}\mathsf{\_}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{low}}\mathsf{\_i32x4\_u}\)

    \(\def\mathdef1101#1{\mathtt{0x#1}}\mathdef1101{FD}~~\def\mathdef1102#1{\mathtt{0x#1}}\mathdef1102{C9}~~\def\mathdef1103#1{\mathtt{0x#1}}\mathdef1103{01}\)

    \([\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}} [\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}]\)

    validation

    execution

    -

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{i64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extend}}\mathsf{\_high\_i32x4\_u}\)

    +

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{i64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extend}}\mathsf{\_}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{high}}\mathsf{\_i32x4\_u}\)

    \(\def\mathdef1104#1{\mathtt{0x#1}}\mathdef1104{FD}~~\def\mathdef1105#1{\mathtt{0x#1}}\mathdef1105{CA}~~\def\mathdef1106#1{\mathtt{0x#1}}\mathdef1106{01}\)

    \([\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}} [\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}]\)

    validation

    @@ -3216,25 +3216,25 @@

    Quick search

    validation

    execution (operator)

    -

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{i64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extmul}}\mathsf{\_low\_i32x4\_s}\)

    +

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{i64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extmul}}\mathsf{\_}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{low}}\mathsf{\_i32x4\_s}\)

    \(\def\mathdef1158#1{\mathtt{0x#1}}\mathdef1158{FD}~~\def\mathdef1159#1{\mathtt{0x#1}}\mathdef1159{DC}~~\def\mathdef1160#1{\mathtt{0x#1}}\mathdef1160{01}\)

    \([\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}~\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}} [\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}]\)

    validation

    execution

    -

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{i64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extmul}}\mathsf{\_high\_i32x4\_s}\)

    +

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{i64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extmul}}\mathsf{\_}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{high}}\mathsf{\_i32x4\_s}\)

    \(\def\mathdef1161#1{\mathtt{0x#1}}\mathdef1161{FD}~~\def\mathdef1162#1{\mathtt{0x#1}}\mathdef1162{DD}~~\def\mathdef1163#1{\mathtt{0x#1}}\mathdef1163{01}\)

    \([\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}~\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}} [\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}]\)

    validation

    execution

    -

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{i64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extmul}}\mathsf{\_low\_i32x4\_u}\)

    +

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{i64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extmul}}\mathsf{\_}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{low}}\mathsf{\_i32x4\_u}\)

    \(\def\mathdef1164#1{\mathtt{0x#1}}\mathdef1164{FD}~~\def\mathdef1165#1{\mathtt{0x#1}}\mathdef1165{DE}~~\def\mathdef1166#1{\mathtt{0x#1}}\mathdef1166{01}\)

    \([\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}~\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}} [\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}]\)

    validation

    execution

    -

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{i64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extmul}}\mathsf{\_high\_i32x4\_u}\)

    +

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{i64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extmul}}\mathsf{\_}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{high}}\mathsf{\_i32x4\_u}\)

    \(\def\mathdef1167#1{\mathtt{0x#1}}\mathdef1167{FD}~~\def\mathdef1168#1{\mathtt{0x#1}}\mathdef1168{DF}~~\def\mathdef1169#1{\mathtt{0x#1}}\mathdef1169{01}\)

    \([\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}~\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}} [\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}]\)

    validation

    @@ -3378,13 +3378,13 @@

    Quick search

    validation

    execution (operator)

    -

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{trunc}}\mathsf{\_sat\_f32x4\_s}\)

    +

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{trunc\_sat}}\mathsf{\_f32x4\_s}\)

    \(\def\mathdef1239#1{\mathtt{0x#1}}\mathdef1239{FD}~~\def\mathdef1240#1{\mathtt{0x#1}}\mathdef1240{F8}~~\def\mathdef1241#1{\mathtt{0x#1}}\mathdef1241{01}\)

    \([\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}} [\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}]\)

    validation

    execution (operator)

    -

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{trunc}}\mathsf{\_sat\_f32x4\_u}\)

    +

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{trunc\_sat}}\mathsf{\_f32x4\_u}\)

    \(\def\mathdef1242#1{\mathtt{0x#1}}\mathdef1242{FD}~~\def\mathdef1243#1{\mathtt{0x#1}}\mathdef1243{F9}~~\def\mathdef1244#1{\mathtt{0x#1}}\mathdef1244{01}\)

    \([\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}} [\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}]\)

    validation

    @@ -3402,25 +3402,25 @@

    Quick search

    validation

    execution (operator)

    -

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{trunc}}\mathsf{\_sat\_f64x2\_s\_zero}\)

    +

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{trunc\_sat}}\mathsf{\_f64x2\_s\_zero}\)

    \(\def\mathdef1251#1{\mathtt{0x#1}}\mathdef1251{FD}~~\def\mathdef1252#1{\mathtt{0x#1}}\mathdef1252{FC}~~\def\mathdef1253#1{\mathtt{0x#1}}\mathdef1253{01}\)

    \([\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}} [\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}]\)

    validation

    execution (operator)

    -

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{trunc}}\mathsf{\_sat\_f64x2\_u\_zero}\)

    +

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{trunc\_sat}}\mathsf{\_f64x2\_u\_zero}\)

    \(\def\mathdef1254#1{\mathtt{0x#1}}\mathdef1254{FD}~~\def\mathdef1255#1{\mathtt{0x#1}}\mathdef1255{FD}~~\def\mathdef1256#1{\mathtt{0x#1}}\mathdef1256{01}\)

    \([\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}} [\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}]\)

    validation

    execution (operator)

    -

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{f64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{convert}}\mathsf{\_low\_i32x4\_s}\)

    +

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{f64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{convert}}\mathsf{\_}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{low}}\mathsf{\_i32x4\_s}\)

    \(\def\mathdef1257#1{\mathtt{0x#1}}\mathdef1257{FD}~~\def\mathdef1258#1{\mathtt{0x#1}}\mathdef1258{FE}~~\def\mathdef1259#1{\mathtt{0x#1}}\mathdef1259{01}\)

    \([\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}} [\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}]\)

    validation

    execution (operator)

    -

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{f64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{convert}}\mathsf{\_low\_i32x4\_u}\)

    +

    \(\href{../syntax/instructions.html#syntax-shape}{\mathsf{f64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{convert}}\mathsf{\_}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{low}}\mathsf{\_i32x4\_u}\)

    \(\def\mathdef1260#1{\mathtt{0x#1}}\mathdef1260{FD}~~\def\mathdef1261#1{\mathtt{0x#1}}\mathdef1261{FF}~~\def\mathdef1262#1{\mathtt{0x#1}}\mathdef1262{01}\)

    \([\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}} [\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}]\)

    validation

    diff --git a/core/appendix/index-rules.html b/core/appendix/index-rules.html index cd0fa5a501..6f1c65a2ea 100644 --- a/core/appendix/index-rules.html +++ b/core/appendix/index-rules.html @@ -6,7 +6,7 @@ - Index of Semantic Rules — WebAssembly 3.0 (Draft 2024-05-03) + Index of Semantic Rules — WebAssembly 3.0 (Draft 2024-05-17) @@ -98,73 +98,73 @@

    Quick search

    Numeric type

    -

    \(C \href{../valid/types.html#valid-numtype}{\vdash} \href{../syntax/types.html#syntax-numtype}{\mathit{numtype}} \mathrel{\mbox{ok}}\)

    +

    \(C \href{../valid/types.html#valid-numtype}{\vdash} \href{../syntax/types.html#syntax-numtype}{\mathit{numtype}} : \href{../valid/types.html#valid-numtype}{\mathsf{ok}}\)

    Vector type

    -

    \(C \href{../valid/types.html#valid-vectype}{\vdash} \href{../syntax/types.html#syntax-vectype}{\mathit{vectype}} \mathrel{\mbox{ok}}\)

    +

    \(C \href{../valid/types.html#valid-vectype}{\vdash} \href{../syntax/types.html#syntax-vectype}{\mathit{vectype}} : \href{../valid/types.html#valid-vectype}{\mathsf{ok}}\)

    Heap type

    -

    \(C \href{../valid/types.html#valid-heaptype}{\vdash} \href{../syntax/types.html#syntax-heaptype}{\mathit{heaptype}} \mathrel{\mbox{ok}}\)

    +

    \(C \href{../valid/types.html#valid-heaptype}{\vdash} \href{../syntax/types.html#syntax-heaptype}{\mathit{heaptype}} : \href{../valid/types.html#valid-heaptype}{\mathsf{ok}}\)

    Reference type

    -

    \(C \href{../valid/types.html#valid-reftype}{\vdash} \href{../syntax/types.html#syntax-reftype}{\mathit{reftype}} \mathrel{\mbox{ok}}\)

    +

    \(C \href{../valid/types.html#valid-reftype}{\vdash} \href{../syntax/types.html#syntax-reftype}{\mathit{reftype}} : \href{../valid/types.html#valid-reftype}{\mathsf{ok}}\)

    Value type

    -

    \(C \href{../valid/types.html#valid-valtype}{\vdash} \href{../syntax/types.html#syntax-valtype}{\mathit{valtype}} \mathrel{\mbox{ok}}\)

    +

    \(C \href{../valid/types.html#valid-valtype}{\vdash} \href{../syntax/types.html#syntax-valtype}{\mathit{valtype}} : \href{../valid/types.html#valid-valtype}{\mathsf{ok}}\)

    Packed type

    -

    \(C \href{../valid/types.html#valid-packtype}{\vdash} \href{../syntax/types.html#syntax-packtype}{\mathit{packtype}} \mathrel{\mbox{ok}}\)

    +

    \(C \href{../valid/types.html#valid-packtype}{\vdash} \href{../syntax/types.html#syntax-packtype}{\mathit{packtype}} : \href{../valid/types.html#valid-packtype}{\mathsf{ok}}\)

    Storage type

    -

    \(C \href{../valid/types.html#valid-storagetype}{\vdash} \href{../syntax/types.html#syntax-storagetype}{\mathit{storagetype}} \mathrel{\mbox{ok}}\)

    +

    \(C \href{../valid/types.html#valid-storagetype}{\vdash} \href{../syntax/types.html#syntax-storagetype}{\mathit{storagetype}} : \href{../valid/types.html#valid-storagetype}{\mathsf{ok}}\)

    Field type

    -

    \(C \href{../valid/types.html#valid-fieldtype}{\vdash} \href{../syntax/types.html#syntax-fieldtype}{\mathit{fieldtype}} \mathrel{\mbox{ok}}\)

    +

    \(C \href{../valid/types.html#valid-fieldtype}{\vdash} \href{../syntax/types.html#syntax-fieldtype}{\mathit{fieldtype}} : \href{../valid/types.html#valid-fieldtype}{\mathsf{ok}}\)

    Result type

    -

    \(C \href{../valid/types.html#valid-resulttype}{\vdash} \href{../syntax/types.html#syntax-resulttype}{\mathit{resulttype}} \mathrel{\mbox{ok}}\)

    +

    \(C \href{../valid/types.html#valid-resulttype}{\vdash} \href{../syntax/types.html#syntax-resulttype}{\mathit{resulttype}} : \href{../valid/types.html#valid-resulttype}{\mathsf{ok}}\)

    Instruction type

    -

    \(C \href{../valid/types.html#valid-instrtype}{\vdash} \href{../valid/conventions.html#syntax-instrtype}{\mathit{instrtype}} \mathrel{\mbox{ok}}\)

    +

    \(C \href{../valid/types.html#valid-instrtype}{\vdash} \href{../valid/conventions.html#syntax-instrtype}{\mathit{instrtype}} : \href{../valid/types.html#valid-instrtype}{\mathsf{ok}}\)

    Function type

    -

    \(C \href{../valid/types.html#valid-functype}{\vdash} \href{../syntax/types.html#syntax-functype}{\mathit{functype}} \mathrel{\mbox{ok}}\)

    +

    \(C \href{../valid/types.html#valid-functype}{\vdash} \href{../syntax/types.html#syntax-functype}{\mathit{functype}} : \href{../valid/types.html#valid-functype}{\mathsf{ok}}\)

    Structure type

    -

    \(C \href{../valid/types.html#valid-structtype}{\vdash} \href{../syntax/types.html#syntax-structtype}{\mathit{structtype}} \mathrel{\mbox{ok}}\)

    +

    \(C \href{../valid/types.html#valid-structtype}{\vdash} \href{../syntax/types.html#syntax-structtype}{\mathit{structtype}} : \href{../valid/types.html#valid-structtype}{\mathsf{ok}}\)

    Array type

    -

    \(C \href{../valid/types.html#valid-arraytype}{\vdash} \href{../syntax/types.html#syntax-arraytype}{\mathit{arraytype}} \mathrel{\mbox{ok}}\)

    +

    \(C \href{../valid/types.html#valid-arraytype}{\vdash} \href{../syntax/types.html#syntax-arraytype}{\mathit{arraytype}} : \href{../valid/types.html#valid-arraytype}{\mathsf{ok}}\)

    Composite type

    -

    \(C \href{../valid/types.html#valid-comptype}{\vdash} \href{../syntax/types.html#syntax-comptype}{\mathit{comptype}} \mathrel{\mbox{ok}}\)

    +

    \(C \href{../valid/types.html#valid-comptype}{\vdash} \href{../syntax/types.html#syntax-comptype}{\mathit{comptype}} : \href{../valid/types.html#valid-comptype}{\mathsf{ok}}\)

    Sub type

    -

    \(C \href{../valid/types.html#valid-subtype}{\vdash} \href{../syntax/types.html#syntax-subtype}{\mathit{subtype}} \mathrel{\mbox{ok}}\)

    +

    \(C \href{../valid/types.html#valid-subtype}{\vdash} \href{../syntax/types.html#syntax-subtype}{\mathit{subtype}} : \href{../valid/types.html#valid-subtype}{\mathsf{ok}}\)

    Recursive type

    -

    \(C \href{../valid/types.html#valid-rectype}{\vdash} \href{../syntax/types.html#syntax-rectype}{\mathit{rectype}} \mathrel{\mbox{ok}}\)

    +

    \(C \href{../valid/types.html#valid-rectype}{\vdash} \href{../syntax/types.html#syntax-rectype}{\mathit{rectype}} : \href{../valid/types.html#valid-rectype}{\mathsf{ok}}\)

    Defined type

    -

    \(C \href{../valid/types.html#valid-deftype}{\vdash} \href{../valid/conventions.html#syntax-deftype}{\mathit{deftype}} \mathrel{\mbox{ok}}\)

    +

    \(C \href{../valid/types.html#valid-deftype}{\vdash} \href{../valid/conventions.html#syntax-deftype}{\mathit{deftype}} : \href{../valid/types.html#valid-deftype}{\mathsf{ok}}\)

    Block type

    \(C \href{../valid/types.html#valid-blocktype}{\vdash} \href{../syntax/instructions.html#syntax-blocktype}{\mathit{blocktype}} : \href{../valid/conventions.html#syntax-instrtype}{\mathit{instrtype}}\)

    Table type

    -

    \(C \href{../valid/types.html#valid-tabletype}{\vdash} \href{../syntax/types.html#syntax-tabletype}{\mathit{tabletype}} \mathrel{\mbox{ok}}\)

    +

    \(C \href{../valid/types.html#valid-tabletype}{\vdash} \href{../syntax/types.html#syntax-tabletype}{\mathit{tabletype}} : \href{../valid/types.html#valid-tabletype}{\mathsf{ok}}\)

    Memory type

    -

    \(C \href{../valid/types.html#valid-memtype}{\vdash} \href{../syntax/types.html#syntax-memtype}{\mathit{memtype}} \mathrel{\mbox{ok}}\)

    +

    \(C \href{../valid/types.html#valid-memtype}{\vdash} \href{../syntax/types.html#syntax-memtype}{\mathit{memtype}} : \href{../valid/types.html#valid-memtype}{\mathsf{ok}}\)

    Global type

    -

    \(C \href{../valid/types.html#valid-globaltype}{\vdash} \href{../syntax/types.html#syntax-globaltype}{\mathit{globaltype}} \mathrel{\mbox{ok}}\)

    +

    \(C \href{../valid/types.html#valid-globaltype}{\vdash} \href{../syntax/types.html#syntax-globaltype}{\mathit{globaltype}} : \href{../valid/types.html#valid-globaltype}{\mathsf{ok}}\)

    External type

    -

    \(C \href{../valid/types.html#valid-externtype}{\vdash} \href{../syntax/types.html#syntax-externtype}{\mathit{externtype}} \mathrel{\mbox{ok}}\)

    +

    \(C \href{../valid/types.html#valid-externtype}{\vdash} \href{../syntax/types.html#syntax-externtype}{\mathit{externtype}} : \href{../valid/types.html#valid-externtype}{\mathsf{ok}}\)

    Type definitions

    -

    \(C \href{../valid/modules.html#valid-types}{\vdash} \href{../syntax/types.html#syntax-rectype}{\mathit{type}}^\ast \mathrel{\mbox{ok}}\)

    +

    \(C \href{../valid/modules.html#valid-types}{\vdash} \href{../syntax/types.html#syntax-rectype}{\mathit{type}}^\ast : \href{../valid/modules.html#valid-types}{\mathsf{ok}}\)

    @@ -181,8 +181,8 @@

    Typing of Static Constructs

    Instruction

    \(S;C \href{../valid/instructions.html#valid-instr}{\vdash} \href{../syntax/instructions.html#syntax-instr}{\mathit{instr}} : \href{../syntax/types.html#syntax-functype}{\mathit{functype}}\)

    -

    Instruction sequence

    -

    \(S;C \href{../valid/instructions.html#valid-instr-seq}{\vdash} \href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}^\ast : \href{../syntax/types.html#syntax-functype}{\mathit{functype}}\)

    +

    Instruction sequence

    +

    \(S;C \href{../valid/instructions.html#valid-instrs}{\vdash} \href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}^\ast : \href{../syntax/types.html#syntax-functype}{\mathit{functype}}\)

    Expression

    \(C \href{../valid/instructions.html#valid-expr}{\vdash} \href{../syntax/instructions.html#syntax-expr}{\mathit{expr}} : \href{../syntax/types.html#syntax-resulttype}{\mathit{resulttype}}\)

    @@ -212,13 +212,13 @@

    Typing of Static Constructs\(C \href{../valid/modules.html#valid-elemmode}{\vdash} \href{../syntax/modules.html#syntax-elemmode}{\mathit{elemmode}} : \href{../syntax/types.html#syntax-reftype}{\mathit{reftype}}\)

    Data segment

    -

    \(C \href{../valid/modules.html#valid-data}{\vdash} \href{../syntax/modules.html#syntax-data}{\mathit{data}} \mathrel{\mbox{ok}}\)

    +

    \(C \href{../valid/modules.html#valid-data}{\vdash} \href{../syntax/modules.html#syntax-data}{\mathit{data}} : \href{../valid/modules.html#valid-data}{\mathsf{ok}}\)

    Data mode

    -

    \(C \href{../valid/modules.html#valid-datamode}{\vdash} \href{../syntax/modules.html#syntax-datamode}{\mathit{datamode}} \mathrel{\mbox{ok}}\)

    +

    \(C \href{../valid/modules.html#valid-datamode}{\vdash} \href{../syntax/modules.html#syntax-datamode}{\mathit{datamode}} : \href{../valid/modules.html#valid-datamode}{\mathsf{ok}}\)

    Start function

    -

    \(C \href{../valid/modules.html#valid-start}{\vdash} \href{../syntax/modules.html#syntax-start}{\mathit{start}} \mathrel{\mbox{ok}}\)

    +

    \(C \href{../valid/modules.html#valid-start}{\vdash} \href{../syntax/modules.html#syntax-start}{\mathit{start}} : \href{../valid/modules.html#valid-start}{\mathsf{ok}}\)

    Export

    \(C \href{../valid/modules.html#valid-export}{\vdash} \href{../syntax/modules.html#syntax-export}{\mathit{export}} : \href{../syntax/types.html#syntax-externtype}{\mathit{externtype}}\)

    @@ -278,25 +278,25 @@

    Typing of Static Constructs\(S \href{../appendix/properties.html#valid-eleminst}{\vdash} \href{../exec/runtime.html#syntax-eleminst}{\mathit{eleminst}} : t\)

    Data instance

    -

    \(S \href{../appendix/properties.html#valid-datainst}{\vdash} \href{../exec/runtime.html#syntax-datainst}{\mathit{datainst}} \mathrel{\mbox{ok}}\)

    +

    \(S \href{../appendix/properties.html#valid-datainst}{\vdash} \href{../exec/runtime.html#syntax-datainst}{\mathit{datainst}} : \href{../appendix/properties.html#valid-datainst}{\mathsf{ok}}\)

    Structure instance

    -

    \(S \href{../appendix/properties.html#valid-structinst}{\vdash} \href{../exec/runtime.html#syntax-structinst}{\mathit{structinst}} \mathrel{\mbox{ok}}\)

    +

    \(S \href{../appendix/properties.html#valid-structinst}{\vdash} \href{../exec/runtime.html#syntax-structinst}{\mathit{structinst}} : \href{../appendix/properties.html#valid-structinst}{\mathsf{ok}}\)

    Array instance

    -

    \(S \href{../appendix/properties.html#valid-arrayinst}{\vdash} \href{../exec/runtime.html#syntax-arrayinst}{\mathit{arrayinst}} \mathrel{\mbox{ok}}\)

    +

    \(S \href{../appendix/properties.html#valid-arrayinst}{\vdash} \href{../exec/runtime.html#syntax-arrayinst}{\mathit{arrayinst}} : \href{../appendix/properties.html#valid-arrayinst}{\mathsf{ok}}\)

    Export instance

    -

    \(S \href{../appendix/properties.html#valid-exportinst}{\vdash} \href{../exec/runtime.html#syntax-exportinst}{\mathit{exportinst}} \mathrel{\mbox{ok}}\)

    +

    \(S \href{../appendix/properties.html#valid-exportinst}{\vdash} \href{../exec/runtime.html#syntax-exportinst}{\mathit{exportinst}} : \href{../appendix/properties.html#valid-exportinst}{\mathsf{ok}}\)

    Module instance

    \(S \href{../appendix/properties.html#valid-moduleinst}{\vdash} \href{../exec/runtime.html#syntax-moduleinst}{\mathit{moduleinst}} : C\)

    Store

    -

    \(\href{../appendix/properties.html#valid-store}{\vdash} \href{../exec/runtime.html#syntax-store}{\mathit{store}} \mathrel{\mbox{ok}}\)

    +

    \(\href{../appendix/properties.html#valid-store}{\vdash} \href{../exec/runtime.html#syntax-store}{\mathit{store}} : \href{../appendix/properties.html#valid-store}{\mathsf{ok}}\)

    Configuration

    -

    \(\href{../appendix/properties.html#valid-config}{\vdash} \href{../exec/runtime.html#syntax-config}{\mathit{config}} \mathrel{\mbox{ok}}\)

    +

    \(\href{../appendix/properties.html#valid-config}{\vdash} \href{../exec/runtime.html#syntax-config}{\mathit{config}} : [t^\ast]\)

    Thread

    \(S;\href{../syntax/types.html#syntax-resulttype}{\mathit{resulttype}}^? \href{../appendix/properties.html#valid-thread}{\vdash} \href{../exec/runtime.html#syntax-thread}{\mathit{thread}} : \href{../syntax/types.html#syntax-resulttype}{\mathit{resulttype}}\)

    @@ -317,10 +317,10 @@

    Constantness

    Constant expression

    -

    \(C \href{../valid/instructions.html#valid-constant}{\vdash} \href{../syntax/instructions.html#syntax-expr}{\mathit{expr}} \href{../valid/instructions.html#valid-constant}{\mathrel{\mbox{const}}}\)

    +

    \(C \href{../valid/instructions.html#valid-const}{\vdash} \href{../syntax/instructions.html#syntax-expr}{\mathit{expr}} \href{../valid/instructions.html#valid-const}{\mathsf{const}}\)

    Constant instruction

    -

    \(C \href{../valid/instructions.html#valid-constant}{\vdash} \href{../syntax/instructions.html#syntax-instr}{\mathit{instr}} \href{../valid/instructions.html#valid-constant}{\mathrel{\mbox{const}}}\)

    +

    \(C \href{../valid/instructions.html#valid-const}{\vdash} \href{../syntax/instructions.html#syntax-instr}{\mathit{instr}} \href{../valid/instructions.html#valid-const}{\mathsf{const}}\)

    diff --git a/core/appendix/index-types.html b/core/appendix/index-types.html index 3be50a4929..16773c38ab 100644 --- a/core/appendix/index-types.html +++ b/core/appendix/index-types.html @@ -6,7 +6,7 @@ - Index of Types — WebAssembly 3.0 (Draft 2024-05-03) + Index of Types — WebAssembly 3.0 (Draft 2024-05-17) diff --git a/core/appendix/index.html b/core/appendix/index.html index 160b7b36fe..a0fcd9c057 100644 --- a/core/appendix/index.html +++ b/core/appendix/index.html @@ -6,7 +6,7 @@ - Appendix — WebAssembly 3.0 (Draft 2024-05-03) + Appendix — WebAssembly 3.0 (Draft 2024-05-17) diff --git a/core/appendix/properties.html b/core/appendix/properties.html index 0d8a109451..1d05c7508f 100644 --- a/core/appendix/properties.html +++ b/core/appendix/properties.html @@ -6,7 +6,7 @@ - Type Soundness — WebAssembly 3.0 (Draft 2024-05-03) + Type Soundness — WebAssembly 3.0 (Draft 2024-05-17) @@ -124,7 +124,7 @@

    Quick search

    \[\frac{ }{ - C \href{../valid/types.html#valid-heaptype}{\vdash} \href{../valid/conventions.html#syntax-heaptype-ext}{\mathsf{bot}} \mathrel{\mbox{ok}} + C \href{../valid/types.html#valid-heaptype}{\vdash} \href{../valid/conventions.html#syntax-heaptype-ext}{\mathsf{bot}} : \href{../valid/types.html#valid-heaptype}{\mathsf{ok}} }\]
    @@ -137,7 +137,7 @@

    @@ -148,7 +148,7 @@

    \[\frac{ }{ - C \href{../valid/types.html#valid-valtype}{\vdash} \href{../valid/conventions.html#syntax-valtype-ext}{\mathsf{bot}} \mathrel{\mbox{ok}} + C \href{../valid/types.html#valid-valtype}{\vdash} \href{../valid/conventions.html#syntax-valtype-ext}{\mathsf{bot}} : \href{../valid/types.html#valid-valtype}{\mathsf{ok}} }\]

    @@ -164,22 +164,22 @@

    \[\frac{ - C,\href{../appendix/properties.html#context-ext}{\mathsf{recs}}~\href{../syntax/types.html#syntax-subtype}{\mathit{subtype}}^\ast \href{../valid/types.html#valid-rectype}{\vdash} \href{../syntax/types.html#syntax-rectype}{\mathsf{rec}}~\href{../syntax/types.html#syntax-subtype}{\mathit{subtype}}^\ast ~{\mathrel{\mbox{ok}}}(x,0) + C,\href{../appendix/properties.html#context-ext}{\mathsf{recs}}~\href{../syntax/types.html#syntax-subtype}{\mathit{subtype}}^\ast \href{../valid/types.html#valid-rectype}{\vdash} \href{../syntax/types.html#syntax-rectype}{\mathsf{rec}}~\href{../syntax/types.html#syntax-subtype}{\mathit{subtype}}^\ast : {\href{../valid/types.html#valid-rectype}{\mathsf{ok}}}(x,0) }{ - C \href{../valid/types.html#valid-rectype}{\vdash} \href{../syntax/types.html#syntax-rectype}{\mathsf{rec}}~\href{../syntax/types.html#syntax-subtype}{\mathit{subtype}}^\ast ~{\mathrel{\mbox{ok}}}(x) + C \href{../valid/types.html#valid-rectype}{\vdash} \href{../syntax/types.html#syntax-rectype}{\mathsf{rec}}~\href{../syntax/types.html#syntax-subtype}{\mathit{subtype}}^\ast : {\href{../valid/types.html#valid-rectype}{\mathsf{ok}}}(x) }\]
    \[\frac{ }{ - C \href{../valid/types.html#valid-rectype}{\vdash} \href{../syntax/types.html#syntax-rectype}{\mathsf{rec}}~\epsilon ~{\mathrel{\mbox{ok}}}(x,i) + C \href{../valid/types.html#valid-rectype}{\vdash} \href{../syntax/types.html#syntax-rectype}{\mathsf{rec}}~\epsilon : {\href{../valid/types.html#valid-rectype}{\mathsf{ok}}}(x,i) } \qquad \frac{ - C \href{../valid/types.html#valid-subtype}{\vdash} \href{../syntax/types.html#syntax-subtype}{\mathit{subtype}} ~{\mathrel{\mbox{ok}}}(x,i) + C \href{../valid/types.html#valid-subtype}{\vdash} \href{../syntax/types.html#syntax-subtype}{\mathit{subtype}} : {\href{../valid/types.html#valid-subtype}{\mathsf{ok}}}(x,i) \qquad - C \href{../valid/types.html#valid-rectype}{\vdash} \href{../syntax/types.html#syntax-rectype}{\mathsf{rec}}~{\href{../syntax/types.html#syntax-subtype}{\mathit{subtype}}'}^\ast ~{\mathrel{\mbox{ok}}}(x+1,i+1) + C \href{../valid/types.html#valid-rectype}{\vdash} \href{../syntax/types.html#syntax-rectype}{\mathsf{rec}}~{\href{../syntax/types.html#syntax-subtype}{\mathit{subtype}}'}^\ast : {\href{../valid/types.html#valid-rectype}{\mathsf{ok}}}(x+1,i+1) }{ - C \href{../valid/types.html#valid-rectype}{\vdash} \href{../syntax/types.html#syntax-rectype}{\mathsf{rec}}~\href{../syntax/types.html#syntax-subtype}{\mathit{subtype}}~{\href{../syntax/types.html#syntax-subtype}{\mathit{subtype}}'}^\ast ~{\mathrel{\mbox{ok}}}(x,i) + C \href{../valid/types.html#valid-rectype}{\vdash} \href{../syntax/types.html#syntax-rectype}{\mathsf{rec}}~\href{../syntax/types.html#syntax-subtype}{\mathit{subtype}}~{\href{../syntax/types.html#syntax-subtype}{\mathit{subtype}}'}^\ast : {\href{../valid/types.html#valid-rectype}{\mathsf{ok}}}(x,i) }\]

    Note

    @@ -223,12 +223,12 @@

    where:

    @@ -293,7 +293,7 @@

    \[\frac{ - \href{../valid/types.html#valid-resulttype}{\vdash} [t^\ast] \mathrel{\mbox{ok}} + \href{../valid/types.html#valid-resulttype}{\vdash} [t^\ast] : \href{../valid/types.html#valid-resulttype}{\mathsf{ok}} }{ S \href{../appendix/properties.html#valid-result}{\vdash} \href{../exec/runtime.html#syntax-trap}{\mathsf{trap}} : [t^\ast] }\]
    @@ -335,11 +335,11 @@

    where \(\href{../exec/runtime.html#syntax-val}{\mathit{val}}_1 \gg^+_S \href{../exec/runtime.html#syntax-val}{\mathit{val}}_2\) denotes the transitive closure of the following reachability relation on values:

    @@ -395,7 +395,7 @@

    \[\begin{split}\frac{ \begin{array}{@{}c@{}} - \href{../valid/types.html#valid-functype}{\vdash} \href{../syntax/types.html#syntax-functype}{\mathit{functype}} \mathrel{\mbox{ok}} + \href{../valid/types.html#valid-functype}{\vdash} \href{../syntax/types.html#syntax-functype}{\mathit{functype}} : \href{../valid/types.html#valid-functype}{\mathsf{ok}} \qquad S \href{../appendix/properties.html#valid-moduleinst}{\vdash} \href{../exec/runtime.html#syntax-moduleinst}{\mathit{moduleinst}} : C \\ @@ -428,12 +428,12 @@

    \[\begin{split}\frac{ \begin{array}[b]{@{}l@{}} - \href{../valid/types.html#valid-functype}{\vdash} [t_1^\ast] \href{../syntax/types.html#syntax-functype}{\rightarrow} [t_2^\ast] \mathrel{\mbox{ok}} \\ + \href{../valid/types.html#valid-functype}{\vdash} [t_1^\ast] \href{../syntax/types.html#syntax-functype}{\rightarrow} [t_2^\ast] : \href{../valid/types.html#valid-functype}{\mathsf{ok}} \\ \end{array} \quad \begin{array}[b]{@{}l@{}} \forall S_1, \href{../exec/runtime.html#syntax-val}{\mathit{val}}^\ast,~ - {\href{../appendix/properties.html#valid-store}{\vdash} S_1 \mathrel{\mbox{ok}}} \wedge + {\href{../appendix/properties.html#valid-store}{\vdash} S_1 : \href{../appendix/properties.html#valid-store}{\mathsf{ok}}} \wedge {\href{../appendix/properties.html#extend-store}{\vdash} S \href{../appendix/properties.html#extend}{\preceq} S_1} \wedge {S_1 \href{../appendix/properties.html#valid-result}{\vdash} \href{../exec/runtime.html#syntax-val}{\mathit{val}}^\ast : [t_1^\ast]} \Longrightarrow {} \\ \qquad @@ -441,7 +441,7 @@

    \[\frac{ - \href{../valid/types.html#valid-tabletype}{\vdash} \href{../syntax/types.html#syntax-limits}{\mathit{limits}}~t \mathrel{\mbox{ok}} + \href{../valid/types.html#valid-tabletype}{\vdash} \href{../syntax/types.html#syntax-limits}{\mathit{limits}}~t : \href{../valid/types.html#valid-tabletype}{\mathsf{ok}} \qquad n = \href{../syntax/types.html#syntax-limits}{\mathit{limits}}.\href{../syntax/types.html#syntax-limits}{\mathsf{min}} \qquad @@ -492,7 +492,7 @@

    \[\frac{ - \href{../valid/types.html#valid-memtype}{\vdash} \href{../syntax/types.html#syntax-limits}{\mathit{limits}} \mathrel{\mbox{ok}} + \href{../valid/types.html#valid-memtype}{\vdash} \href{../syntax/types.html#syntax-limits}{\mathit{limits}} : \href{../valid/types.html#valid-memtype}{\mathsf{ok}} \qquad n = \href{../syntax/types.html#syntax-limits}{\mathit{limits}}.\href{../syntax/types.html#syntax-limits}{\mathsf{min}} \cdot 64\,\mathrm{Ki} }{ @@ -509,7 +509,7 @@

    @@ -568,13 +568,13 @@

    \[\frac{ - \href{../valid/types.html#valid-deftype}{\vdash} \mathit{dt} \mathrel{\mbox{ok}} + \href{../valid/types.html#valid-deftype}{\vdash} \mathit{dt} : \href{../valid/types.html#valid-deftype}{\mathsf{ok}} \qquad \href{../valid/conventions.html#aux-expand-deftype}{\mathrm{expand}}(\mathit{dt}) = \href{../syntax/types.html#syntax-comptype}{\mathsf{struct}}~(\href{../syntax/types.html#syntax-mut}{\mathit{mut}}~\mathit{st})^\ast \qquad (S \href{../appendix/properties.html#valid-fieldval}{\vdash} \mathit{fv} : \mathit{st})^\ast }{ - S \href{../appendix/properties.html#valid-structinst}{\vdash} \{ \href{../exec/runtime.html#syntax-structinst}{\mathsf{type}}~\mathit{dt}, \href{../exec/runtime.html#syntax-structinst}{\mathsf{fields}}~\mathit{fv}^\ast \} \mathrel{\mbox{ok}} + S \href{../appendix/properties.html#valid-structinst}{\vdash} \{ \href{../exec/runtime.html#syntax-structinst}{\mathsf{type}}~\mathit{dt}, \href{../exec/runtime.html#syntax-structinst}{\mathsf{fields}}~\mathit{fv}^\ast \} : \href{../appendix/properties.html#valid-structinst}{\mathsf{ok}} }\]

    @@ -592,13 +592,13 @@

    \[\frac{ - \href{../valid/types.html#valid-deftype}{\vdash} \mathit{dt} \mathrel{\mbox{ok}} + \href{../valid/types.html#valid-deftype}{\vdash} \mathit{dt} : \href{../valid/types.html#valid-deftype}{\mathsf{ok}} \qquad \href{../valid/conventions.html#aux-expand-deftype}{\mathrm{expand}}(\mathit{dt}) = \href{../syntax/types.html#syntax-comptype}{\mathsf{array}}~(\href{../syntax/types.html#syntax-mut}{\mathit{mut}}~\mathit{st}) \qquad (S \href{../appendix/properties.html#valid-fieldval}{\vdash} \mathit{fv} : \mathit{st})^\ast }{ - S \href{../appendix/properties.html#valid-arrayinst}{\vdash} \{ \href{../exec/runtime.html#syntax-arrayinst}{\mathsf{type}}~\mathit{dt}, \href{../exec/runtime.html#syntax-arrayinst}{\mathsf{fields}}~\mathit{fv}^\ast \} \mathrel{\mbox{ok}} + S \href{../appendix/properties.html#valid-arrayinst}{\vdash} \{ \href{../exec/runtime.html#syntax-arrayinst}{\mathsf{type}}~\mathit{dt}, \href{../exec/runtime.html#syntax-arrayinst}{\mathsf{fields}}~\mathit{fv}^\ast \} : \href{../appendix/properties.html#valid-arrayinst}{\mathsf{ok}} }\]

    @@ -633,7 +633,7 @@

    @@ -645,7 +645,7 @@

    For each memory address \(\href{../exec/runtime.html#syntax-memaddr}{\mathit{memaddr}}_i\) in \(\href{../exec/runtime.html#syntax-moduleinst}{\mathit{moduleinst}}.\href{../exec/runtime.html#syntax-moduleinst}{\mathsf{memaddrs}}\), the external value \(\href{../exec/runtime.html#syntax-externval}{\mathsf{mem}}~\href{../exec/runtime.html#syntax-memaddr}{\mathit{memaddr}}_i\) must be valid with some external type \(\href{../syntax/types.html#syntax-externtype}{\mathsf{mem}}~\href{../syntax/types.html#syntax-memtype}{\mathit{memtype}}_i\).

  • For each global address \(\href{../exec/runtime.html#syntax-globaladdr}{\mathit{globaladdr}}_i\) in \(\href{../exec/runtime.html#syntax-moduleinst}{\mathit{moduleinst}}.\href{../exec/runtime.html#syntax-moduleinst}{\mathsf{globaladdrs}}\), the external value \(\href{../exec/runtime.html#syntax-externval}{\mathsf{global}}~\href{../exec/runtime.html#syntax-globaladdr}{\mathit{globaladdr}}_i\) must be valid with some external type \(\href{../syntax/types.html#syntax-externtype}{\mathsf{global}}~\href{../syntax/types.html#syntax-globaltype}{\mathit{globaltype}}_i\).

  • For each element address \(\href{../exec/runtime.html#syntax-elemaddr}{\mathit{elemaddr}}_i\) in \(\href{../exec/runtime.html#syntax-moduleinst}{\mathit{moduleinst}}.\href{../exec/runtime.html#syntax-moduleinst}{\mathsf{elemaddrs}}\), the element instance \(S.\href{../exec/runtime.html#syntax-store}{\mathsf{elems}}[\href{../exec/runtime.html#syntax-elemaddr}{\mathit{elemaddr}}_i]\) must be valid with some reference type \(\href{../syntax/types.html#syntax-reftype}{\mathit{reftype}}_i\).

  • -
  • For each data address \(\href{../exec/runtime.html#syntax-dataaddr}{\mathit{dataaddr}}_i\) in \(\href{../exec/runtime.html#syntax-moduleinst}{\mathit{moduleinst}}.\href{../exec/runtime.html#syntax-moduleinst}{\mathsf{dataaddrs}}\), the data instance \(S.\href{../exec/runtime.html#syntax-store}{\mathsf{datas}}[\href{../exec/runtime.html#syntax-dataaddr}{\mathit{dataaddr}}_i]\) must be valid.

  • +
  • For each data address \(\href{../exec/runtime.html#syntax-dataaddr}{\mathit{dataaddr}}_i\) in \(\href{../exec/runtime.html#syntax-moduleinst}{\mathit{moduleinst}}.\href{../exec/runtime.html#syntax-moduleinst}{\mathsf{dataaddrs}}\), the data instance \(S.\href{../exec/runtime.html#syntax-store}{\mathsf{datas}}[\href{../exec/runtime.html#syntax-dataaddr}{\mathit{dataaddr}}_i]\) must be valid with \(\mathit{ok}_i\).

  • Each export instance \(\href{../exec/runtime.html#syntax-exportinst}{\mathit{exportinst}}_i\) in \(\href{../exec/runtime.html#syntax-moduleinst}{\mathit{moduleinst}}.\href{../exec/runtime.html#syntax-moduleinst}{\mathsf{exports}}\) must be valid.

  • For each export instance \(\href{../exec/runtime.html#syntax-exportinst}{\mathit{exportinst}}_i\) in \(\href{../exec/runtime.html#syntax-moduleinst}{\mathit{moduleinst}}.\href{../exec/runtime.html#syntax-moduleinst}{\mathsf{exports}}\), the name \(\href{../exec/runtime.html#syntax-exportinst}{\mathit{exportinst}}_i.\href{../exec/runtime.html#syntax-exportinst}{\mathsf{name}}\) must be different from any other name occurring in \(\href{../exec/runtime.html#syntax-moduleinst}{\mathit{moduleinst}}.\href{../exec/runtime.html#syntax-moduleinst}{\mathsf{exports}}\).

  • Let \(\href{../valid/conventions.html#syntax-deftype}{\mathit{deftype}}^\ast\) be the concatenation of all \(\href{../valid/conventions.html#syntax-deftype}{\mathit{deftype}}_i\) in order.

  • @@ -654,17 +654,17 @@

    Let \(\href{../syntax/types.html#syntax-memtype}{\mathit{memtype}}^\ast\) be the concatenation of all \(\href{../syntax/types.html#syntax-memtype}{\mathit{memtype}}_i\) in order.

  • Let \(\href{../syntax/types.html#syntax-globaltype}{\mathit{globaltype}}^\ast\) be the concatenation of all \(\href{../syntax/types.html#syntax-globaltype}{\mathit{globaltype}}_i\) in order.

  • Let \(\href{../syntax/types.html#syntax-reftype}{\mathit{reftype}}^\ast\) be the concatenation of all \(\href{../syntax/types.html#syntax-reftype}{\mathit{reftype}}_i\) in order.

  • +
  • Let \(\mathit{ok}^\ast\) be the concatenation of all \(\mathit{ok}_i\) in order.

  • Let \(m\) be the length of \(\href{../exec/runtime.html#syntax-moduleinst}{\mathit{moduleinst}}.\href{../exec/runtime.html#syntax-moduleinst}{\mathsf{funcaddrs}}\).

  • -
  • Let \(n\) be the length of \(\href{../exec/runtime.html#syntax-moduleinst}{\mathit{moduleinst}}.\href{../exec/runtime.html#syntax-moduleinst}{\mathsf{dataaddrs}}\).

  • Let \(x^\ast\) be the sequence of function indices from \(0\) to \(m-1\).

  • Then the module instance is valid with context -\(\{\href{../valid/conventions.html#context}{\mathsf{types}}~\href{../valid/conventions.html#syntax-deftype}{\mathit{deftype}}^\ast,\) \(\href{../valid/conventions.html#context}{\mathsf{funcs}}~\href{../syntax/types.html#syntax-functype}{\mathit{functype}}^\ast,\) \(\href{../valid/conventions.html#context}{\mathsf{tables}}~\href{../syntax/types.html#syntax-tabletype}{\mathit{tabletype}}^\ast,\) \(\href{../valid/conventions.html#context}{\mathsf{mems}}~\href{../syntax/types.html#syntax-memtype}{\mathit{memtype}}^\ast,\) \(\href{../valid/conventions.html#context}{\mathsf{globals}}~\href{../syntax/types.html#syntax-globaltype}{\mathit{globaltype}}^\ast,\) \(\href{../valid/conventions.html#context}{\mathsf{elems}}~\href{../syntax/types.html#syntax-reftype}{\mathit{reftype}}^\ast,\) \(\href{../valid/conventions.html#context}{\mathsf{datas}}~{\mathrel{\mbox{ok}}}^n,\) \(\href{../valid/conventions.html#context}{\mathsf{refs}}~x^\ast\}\).

  • +\(\{\href{../valid/conventions.html#context}{\mathsf{types}}~\href{../valid/conventions.html#syntax-deftype}{\mathit{deftype}}^\ast,\) \(\href{../valid/conventions.html#context}{\mathsf{funcs}}~\href{../syntax/types.html#syntax-functype}{\mathit{functype}}^\ast,\) \(\href{../valid/conventions.html#context}{\mathsf{tables}}~\href{../syntax/types.html#syntax-tabletype}{\mathit{tabletype}}^\ast,\) \(\href{../valid/conventions.html#context}{\mathsf{mems}}~\href{../syntax/types.html#syntax-memtype}{\mathit{memtype}}^\ast,\) \(\href{../valid/conventions.html#context}{\mathsf{globals}}~\href{../syntax/types.html#syntax-globaltype}{\mathit{globaltype}}^\ast,\) \(\href{../valid/conventions.html#context}{\mathsf{elems}}~\href{../syntax/types.html#syntax-reftype}{\mathit{reftype}}^\ast,\) \(\href{../valid/conventions.html#context}{\mathsf{datas}}~\mathit{ok}^\ast,\) \(\href{../valid/conventions.html#context}{\mathsf{refs}}~x^\ast\}\).

    \[\begin{split}~\\[-1ex] \frac{ \begin{array}{@{}c@{}} - (\href{../valid/types.html#valid-deftype}{\vdash} \href{../valid/conventions.html#syntax-deftype}{\mathit{deftype}} \mathrel{\mbox{ok}})^\ast + (\href{../valid/types.html#valid-deftype}{\vdash} \href{../valid/conventions.html#syntax-deftype}{\mathit{deftype}} : \href{../valid/types.html#valid-deftype}{\mathsf{ok}})^\ast \\ (S \href{../exec/values.html#valid-externval}{\vdash} \href{../exec/runtime.html#syntax-externval}{\mathsf{func}}~\href{../exec/runtime.html#syntax-funcaddr}{\mathit{funcaddr}} : \href{../syntax/types.html#syntax-externtype}{\mathsf{func}}~\href{../syntax/types.html#syntax-functype}{\mathit{functype}})^\ast \qquad @@ -676,9 +676,9 @@

    \[\frac{ - \href{../appendix/properties.html#valid-store}{\vdash} S \mathrel{\mbox{ok}} + \href{../appendix/properties.html#valid-store}{\vdash} S : \href{../appendix/properties.html#valid-store}{\mathsf{ok}} \qquad S; \epsilon \href{../appendix/properties.html#valid-thread}{\vdash} T : [t^\ast] }{ @@ -739,14 +739,14 @@

    The frame \(F\) must be valid with a context \(C\).

  • Let \(C'\) be the same context as \(C\), but with \(\href{../valid/conventions.html#context}{\mathsf{return}}\) set to \(\href{../syntax/types.html#syntax-resulttype}{\mathit{resulttype}}^?\).

  • Under context \(C'\), -the instruction sequence \(\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}^\ast\) must be valid with some type \([] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}} [t^\ast]\).

  • +the instruction sequence \(\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}^\ast\) must be valid with some type \([] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}} [t^\ast]\).

  • Then the thread is valid with the result type \([t^\ast]\).

  • \[\frac{ S \href{../appendix/properties.html#valid-frame}{\vdash} F : C \qquad - S; C,\href{../valid/conventions.html#context}{\mathsf{return}}~\href{../syntax/types.html#syntax-resulttype}{\mathit{resulttype}}^? \href{../valid/instructions.html#valid-instr-seq}{\vdash} \href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}^\ast : [] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}} [t^\ast] + S; C,\href{../valid/conventions.html#context}{\mathsf{return}}~\href{../syntax/types.html#syntax-resulttype}{\mathit{resulttype}}^? \href{../valid/instructions.html#valid-instrs}{\vdash} \href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}^\ast : [] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}} [t^\ast] }{ S; \href{../syntax/types.html#syntax-resulttype}{\mathit{resulttype}}^? \href{../appendix/properties.html#valid-thread}{\vdash} F; \href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}^\ast : [t^\ast] }\]
    @@ -782,7 +782,7 @@

    \[\frac{ - C \href{../valid/types.html#valid-instrtype}{\vdash} [t_1^\ast] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}} [t_2^\ast] \mathrel{\mbox{ok}} + C \href{../valid/types.html#valid-instrtype}{\vdash} [t_1^\ast] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}} [t_2^\ast] : \href{../valid/types.html#valid-instrtype}{\mathsf{ok}} }{ S; C \href{../appendix/properties.html#valid-instr-admin}{\vdash} \href{../exec/runtime.html#syntax-trap}{\mathsf{trap}} : [t_1^\ast] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}} [t_2^\ast] }\]
    @@ -817,17 +817,17 @@

    \(\href{../exec/runtime.html#syntax-label}{\mathsf{label}}_n\{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}_0^\ast\}~\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}^\ast~\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{end}}\)

      -
    • The instruction sequence \(\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}_0^\ast\) must be valid with some type \([t_1^n] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}}_{x^\ast} [t_2^*]\).

    • +
    • The instruction sequence \(\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}_0^\ast\) must be valid with some type \([t_1^n] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}}_{x^\ast} [t_2^*]\).

    • Let \(C'\) be the same context as \(C\), but with the result type \([t_1^n]\) prepended to the \(\href{../valid/conventions.html#context}{\mathsf{labels}}\) list.

    • Under context \(C'\), -the instruction sequence \(\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}^\ast\) must be valid with type \([] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}}_{{x'}^\ast} [t_2^*]\).

    • +the instruction sequence \(\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}^\ast\) must be valid with type \([] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}}_{{x'}^\ast} [t_2^*]\).

    • Then the compound instruction is valid with type \([] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}} [t_2^*]\).

    \[\frac{ - S; C \href{../valid/instructions.html#valid-instr-seq}{\vdash} \href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}_0^\ast : [t_1^n] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}}_{x^\ast} [t_2^*] + S; C \href{../valid/instructions.html#valid-instrs}{\vdash} \href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}_0^\ast : [t_1^n] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}}_{x^\ast} [t_2^*] \qquad - S; C,\href{../valid/conventions.html#context}{\mathsf{labels}}\,[t_1^n] \href{../valid/instructions.html#valid-instr-seq}{\vdash} \href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}^\ast : [] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}}_{{x'}^\ast} [t_2^*] + S; C,\href{../valid/conventions.html#context}{\mathsf{labels}}\,[t_1^n] \href{../valid/instructions.html#valid-instrs}{\vdash} \href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}^\ast : [] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}}_{{x'}^\ast} [t_2^*] }{ S; C \href{../appendix/properties.html#valid-instr-admin}{\vdash} \href{../exec/runtime.html#syntax-label}{\mathsf{label}}_n\{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}_0^\ast\}~\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}^\ast~\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{end}} : [] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}} [t_2^*] }\]
    @@ -841,9 +841,9 @@

    \[\frac{ - C \href{../valid/types.html#valid-resulttype}{\vdash} [t^n] \mathrel{\mbox{ok}} + C \href{../valid/types.html#valid-resulttype}{\vdash} [t^n] : \href{../valid/types.html#valid-resulttype}{\mathsf{ok}} \qquad - S; [t^n] \href{../valid/instructions.html#valid-instr-seq}{\vdash} F; \href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}^\ast : [t^n] + S; [t^n] \href{../valid/instructions.html#valid-instrs}{\vdash} F; \href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}^\ast : [t^n] }{ S; C \href{../appendix/properties.html#valid-instr-admin}{\vdash} \href{../exec/runtime.html#syntax-frame}{\mathsf{frame}}_n\{F\}~\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}^\ast~\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{end}} : [] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}} [t^n] }\]
    @@ -1130,17 +1130,17 @@

    type substitution \(\sigma\) is a finite mapping from type variables to closed types of the respective syntactic class. When applied to an open type, it replaces the type variables \(\alpha\) from its domain with the respective \(\sigma(\alpha)\).

    Theorem (Principal Types). -If an instruction sequence \(\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}^\ast\) is valid with some closed instruction type \(\href{../valid/conventions.html#syntax-instrtype}{\mathit{instrtype}}\) (i.e., \(C \href{../valid/instructions.html#valid-instr-seq}{\vdash} \href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}^\ast : \href{../valid/conventions.html#syntax-instrtype}{\mathit{instrtype}}\)), -then it is also valid with a possibly open instruction type \(\href{../valid/conventions.html#syntax-instrtype}{\mathit{instrtype}}_{\min}\) (i.e., \(C \href{../valid/instructions.html#valid-instr-seq}{\vdash} \href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}^\ast : \href{../valid/conventions.html#syntax-instrtype}{\mathit{instrtype}}_{\min}\)), -such that for every closed type \(\href{../valid/conventions.html#syntax-instrtype}{\mathit{instrtype}}'\) with which \(\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}^\ast\) is valid (i.e., for all \(C \href{../valid/instructions.html#valid-instr-seq}{\vdash} \href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}^\ast : \href{../valid/conventions.html#syntax-instrtype}{\mathit{instrtype}}'\)), +If an instruction sequence \(\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}^\ast\) is valid with some closed instruction type \(\href{../valid/conventions.html#syntax-instrtype}{\mathit{instrtype}}\) (i.e., \(C \href{../valid/instructions.html#valid-instrs}{\vdash} \href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}^\ast : \href{../valid/conventions.html#syntax-instrtype}{\mathit{instrtype}}\)), +then it is also valid with a possibly open instruction type \(\href{../valid/conventions.html#syntax-instrtype}{\mathit{instrtype}}_{\min}\) (i.e., \(C \href{../valid/instructions.html#valid-instrs}{\vdash} \href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}^\ast : \href{../valid/conventions.html#syntax-instrtype}{\mathit{instrtype}}_{\min}\)), +such that for every closed type \(\href{../valid/conventions.html#syntax-instrtype}{\mathit{instrtype}}'\) with which \(\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}^\ast\) is valid (i.e., for all \(C \href{../valid/instructions.html#valid-instrs}{\vdash} \href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}^\ast : \href{../valid/conventions.html#syntax-instrtype}{\mathit{instrtype}}'\)), there exists a substitution \(\sigma\), such that \(\sigma(\href{../valid/conventions.html#syntax-instrtype}{\mathit{instrtype}}_{\min})\) is a subtype of \(\href{../valid/conventions.html#syntax-instrtype}{\mathit{instrtype}}'\) (i.e., \(C \href{../valid/matching.html#match-instrtype}{\vdash} \sigma(\href{../valid/conventions.html#syntax-instrtype}{\mathit{instrtype}}_{\min}) \href{../valid/matching.html#match-instrtype}{\leq} \href{../valid/conventions.html#syntax-instrtype}{\mathit{instrtype}}'\)). Furthermore, \(\href{../valid/conventions.html#syntax-instrtype}{\mathit{instrtype}}_{\min}\) is unique up to the choice of type variables.

    Theorem (Closed Principal Forward Types). -If closed input type \([t_1^\ast]\) is given and the instruction sequence \(\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}^\ast\) is valid with instruction type \([t_1^\ast] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}}_{x^\ast} [t_2^\ast]\) (i.e., \(C \href{../valid/instructions.html#valid-instr-seq}{\vdash} \href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}^\ast : [t_1^\ast] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}}_{x^\ast} [t_2^\ast]\)), -then it is also valid with instruction type \([t_1^\ast] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}}_{x^\ast} [\alpha_{\href{../syntax/types.html#syntax-valtype}{\mathit{valtype}}^\ast}~t^\ast]\) (i.e., \(C \href{../valid/instructions.html#valid-instr-seq}{\vdash} \href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}^\ast : [t_1^\ast] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}}_{x^\ast} [\alpha_{\href{../syntax/types.html#syntax-valtype}{\mathit{valtype}}^\ast}~t^\ast]\)), +If closed input type \([t_1^\ast]\) is given and the instruction sequence \(\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}^\ast\) is valid with instruction type \([t_1^\ast] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}}_{x^\ast} [t_2^\ast]\) (i.e., \(C \href{../valid/instructions.html#valid-instrs}{\vdash} \href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}^\ast : [t_1^\ast] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}}_{x^\ast} [t_2^\ast]\)), +then it is also valid with instruction type \([t_1^\ast] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}}_{x^\ast} [\alpha_{\href{../syntax/types.html#syntax-valtype}{\mathit{valtype}}^\ast}~t^\ast]\) (i.e., \(C \href{../valid/instructions.html#valid-instrs}{\vdash} \href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}^\ast : [t_1^\ast] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}}_{x^\ast} [\alpha_{\href{../syntax/types.html#syntax-valtype}{\mathit{valtype}}^\ast}~t^\ast]\)), where all \(t^\ast\) are closed, -such that for every closed result type \([{t'_2}^\ast]\) with which \(\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}^\ast\) is valid (i.e., for all \(C \href{../valid/instructions.html#valid-instr-seq}{\vdash} \href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}^\ast : [t_1^\ast] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}}_{x^\ast} [{t'_2}^\ast]\)), +such that for every closed result type \([{t'_2}^\ast]\) with which \(\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}^\ast\) is valid (i.e., for all \(C \href{../valid/instructions.html#valid-instrs}{\vdash} \href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}^\ast : [t_1^\ast] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}}_{x^\ast} [{t'_2}^\ast]\)), there exists a substitution \(\sigma\), such that \([{t'_2}^\ast] = [\sigma(\alpha_{\href{../syntax/types.html#syntax-valtype}{\mathit{valtype}}^\ast})~t^\ast]\).

    @@ -1149,11 +1149,11 @@

    The Principal Types property depends on the existence of a greatest lower bound for any pair of types.

    Theorem (Greatest Lower Bounds for Value Types). For any two value types \(t_1\) and \(t_2\) that are valid -(i.e., \(C \href{../valid/types.html#valid-valtype}{\vdash} t_1 \mathrel{\mbox{ok}}\) and \(C \href{../valid/types.html#valid-valtype}{\vdash} t_2 \mathrel{\mbox{ok}}\)), +(i.e., \(C \href{../valid/types.html#valid-valtype}{\vdash} t_1 : \href{../valid/types.html#valid-valtype}{\mathsf{ok}}\) and \(C \href{../valid/types.html#valid-valtype}{\vdash} t_2 : \href{../valid/types.html#valid-valtype}{\mathsf{ok}}\)), there exists a valid value type \(t\) that is a subtype of both \(t_1\) and \(t_2\) -(i.e., \(C \href{../valid/types.html#valid-valtype}{\vdash} t \mathrel{\mbox{ok}}\) and \(C \href{../valid/matching.html#match-valtype}{\vdash} t \href{../valid/matching.html#match-valtype}{\leq} t_1\) and \(C \href{../valid/matching.html#match-valtype}{\vdash} t \href{../valid/matching.html#match-valtype}{\leq} t_2\)), +(i.e., \(C \href{../valid/types.html#valid-valtype}{\vdash} t : \href{../valid/types.html#valid-valtype}{\mathsf{ok}}\) and \(C \href{../valid/matching.html#match-valtype}{\vdash} t \href{../valid/matching.html#match-valtype}{\leq} t_1\) and \(C \href{../valid/matching.html#match-valtype}{\vdash} t \href{../valid/matching.html#match-valtype}{\leq} t_2\)), such that every valid value type \(t'\) that also is a subtype of both \(t_1\) and \(t_2\) -(i.e., for all \(C \href{../valid/types.html#valid-valtype}{\vdash} t' \mathrel{\mbox{ok}}\) and \(C \href{../valid/matching.html#match-valtype}{\vdash} t' \href{../valid/matching.html#match-valtype}{\leq} t_1\) and \(C \href{../valid/matching.html#match-valtype}{\vdash} t' \href{../valid/matching.html#match-valtype}{\leq} t_2\)), +(i.e., for all \(C \href{../valid/types.html#valid-valtype}{\vdash} t' : \href{../valid/types.html#valid-valtype}{\mathsf{ok}}\) and \(C \href{../valid/matching.html#match-valtype}{\vdash} t' \href{../valid/matching.html#match-valtype}{\leq} t_1\) and \(C \href{../valid/matching.html#match-valtype}{\vdash} t' \href{../valid/matching.html#match-valtype}{\leq} t_2\)), is a subtype of \(t\) (i.e., \(C \href{../valid/matching.html#match-valtype}{\vdash} t' \href{../valid/matching.html#match-valtype}{\leq} t\)).

    @@ -1162,12 +1162,12 @@

    Theorem (Conditional Least Upper Bounds for Value Types). Any two value types \(t_1\) and \(t_2\) that are valid -(i.e., \(C \href{../valid/types.html#valid-valtype}{\vdash} t_1 \mathrel{\mbox{ok}}\) and \(C \href{../valid/types.html#valid-valtype}{\vdash} t_2 \mathrel{\mbox{ok}}\)) +(i.e., \(C \href{../valid/types.html#valid-valtype}{\vdash} t_1 : \href{../valid/types.html#valid-valtype}{\mathsf{ok}}\) and \(C \href{../valid/types.html#valid-valtype}{\vdash} t_2 : \href{../valid/types.html#valid-valtype}{\mathsf{ok}}\)) either have no common supertype, or there exists a valid value type \(t\) that is a supertype of both \(t_1\) and \(t_2\) -(i.e., \(C \href{../valid/types.html#valid-valtype}{\vdash} t \mathrel{\mbox{ok}}\) and \(C \href{../valid/matching.html#match-valtype}{\vdash} t_1 \href{../valid/matching.html#match-valtype}{\leq} t\) and \(C \href{../valid/matching.html#match-valtype}{\vdash} t_2 \href{../valid/matching.html#match-valtype}{\leq} t\)), +(i.e., \(C \href{../valid/types.html#valid-valtype}{\vdash} t : \href{../valid/types.html#valid-valtype}{\mathsf{ok}}\) and \(C \href{../valid/matching.html#match-valtype}{\vdash} t_1 \href{../valid/matching.html#match-valtype}{\leq} t\) and \(C \href{../valid/matching.html#match-valtype}{\vdash} t_2 \href{../valid/matching.html#match-valtype}{\leq} t\)), such that every valid value type \(t'\) that also is a supertype of both \(t_1\) and \(t_2\) -(i.e., for all \(C \href{../valid/types.html#valid-valtype}{\vdash} t' \mathrel{\mbox{ok}}\) and \(C \href{../valid/matching.html#match-valtype}{\vdash} t_1 \href{../valid/matching.html#match-valtype}{\leq} t'\) and \(C \href{../valid/matching.html#match-valtype}{\vdash} t_2 \href{../valid/matching.html#match-valtype}{\leq} t'\)), +(i.e., for all \(C \href{../valid/types.html#valid-valtype}{\vdash} t' : \href{../valid/types.html#valid-valtype}{\mathsf{ok}}\) and \(C \href{../valid/matching.html#match-valtype}{\vdash} t_1 \href{../valid/matching.html#match-valtype}{\leq} t'\) and \(C \href{../valid/matching.html#match-valtype}{\vdash} t_2 \href{../valid/matching.html#match-valtype}{\leq} t'\)), is a supertype of \(t\) (i.e., \(C \href{../valid/matching.html#match-valtype}{\vdash} t \href{../valid/matching.html#match-valtype}{\leq} t'\)).

    @@ -1192,20 +1192,20 @@

    Compositionality

    -

    Valid instruction sequences can be freely composed, as long as their types match up.

    +

    Valid instruction sequences can be freely composed, as long as their types match up.

    Theorem (Composition). -If two instruction sequences \(\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}_1^\ast\) and \(\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}_2^\ast\) are valid with types \([t_1^\ast] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}}_{x_1^\ast} [t^\ast]\) and \([t^\ast] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}}_{x_2^\ast} [t_2^\ast]\), respectively (i.e., \(C \href{../valid/instructions.html#valid-instr-seq}{\vdash} \href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}_1^\ast : [t_1^\ast] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}}_{x_1^\ast} [t^\ast]\) and \(C \href{../valid/instructions.html#valid-instr-seq}{\vdash} \href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}_1^\ast : [t^\ast] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}}_{x_2^\ast} [t_2^\ast]\)), -then the concatenated instruction sequence \((\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}_1^\ast\;\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}_2^\ast)\) is valid with type \([t_1^\ast] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}}_{x_1^\ast\,x_2^\ast} [t_2^\ast]\) (i.e., \(C \href{../valid/instructions.html#valid-instr-seq}{\vdash} \href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}_1^\ast\;\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}_2^\ast : [t_1^\ast] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}}_{x_1^\ast\,x_2^\ast} [t_2^\ast]\)).

    +If two instruction sequences \(\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}_1^\ast\) and \(\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}_2^\ast\) are valid with types \([t_1^\ast] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}}_{x_1^\ast} [t^\ast]\) and \([t^\ast] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}}_{x_2^\ast} [t_2^\ast]\), respectively (i.e., \(C \href{../valid/instructions.html#valid-instrs}{\vdash} \href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}_1^\ast : [t_1^\ast] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}}_{x_1^\ast} [t^\ast]\) and \(C \href{../valid/instructions.html#valid-instrs}{\vdash} \href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}_1^\ast : [t^\ast] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}}_{x_2^\ast} [t_2^\ast]\)), +then the concatenated instruction sequence \((\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}_1^\ast\;\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}_2^\ast)\) is valid with type \([t_1^\ast] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}}_{x_1^\ast\,x_2^\ast} [t_2^\ast]\) (i.e., \(C \href{../valid/instructions.html#valid-instrs}{\vdash} \href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}_1^\ast\;\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}_2^\ast : [t_1^\ast] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}}_{x_1^\ast\,x_2^\ast} [t_2^\ast]\)).

    Note

    More generally, instead of a shared type \([t^\ast]\), it suffices if the output type of \(\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}_1^\ast\) is a subtype of the input type of \(\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}_1^\ast\), since the subtype can always be weakened to its supertype by subsumption.

    -

    Inversely, valid instruction sequences can also freely be decomposed, that is, splitting them anywhere produces two instruction sequences that are both valid.

    +

    Inversely, valid instruction sequences can also freely be decomposed, that is, splitting them anywhere produces two instruction sequences that are both valid.

    Theorem (Decomposition). -If an instruction sequence \(\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}^\ast\) that is valid with type \([t_1^\ast] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}}_{x^\ast} [t_2^\ast]\) (i.e., \(C \href{../valid/instructions.html#valid-instr-seq}{\vdash} \href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}^\ast : [t_1^\ast] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}}_{x^\ast} [t_2^\ast]\)) +If an instruction sequence \(\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}^\ast\) that is valid with type \([t_1^\ast] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}}_{x^\ast} [t_2^\ast]\) (i.e., \(C \href{../valid/instructions.html#valid-instrs}{\vdash} \href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}^\ast : [t_1^\ast] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}}_{x^\ast} [t_2^\ast]\)) is split into two instruction sequences \(\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}_1^\ast\) and \(\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}_2^\ast\) at any point (i.e., \(\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}^\ast = \href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}_1^\ast\;\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}_2^\ast\)), -then these are separately valid with some types \([t_1^\ast] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}}_{x_1^\ast} [t^\ast]\) and \([t^\ast] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}}_{x_2^\ast} [t_2^\ast]\), respectively (i.e., \(C \href{../valid/instructions.html#valid-instr-seq}{\vdash} \href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}_1^\ast : [t_1^\ast] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}}_{x_1^\ast} [t^\ast]\) and \(C \href{../valid/instructions.html#valid-instr-seq}{\vdash} \href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}_1^\ast : [t^\ast] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}}_{x_2^\ast} [t_2^\ast]\)), +then these are separately valid with some types \([t_1^\ast] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}}_{x_1^\ast} [t^\ast]\) and \([t^\ast] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}}_{x_2^\ast} [t_2^\ast]\), respectively (i.e., \(C \href{../valid/instructions.html#valid-instrs}{\vdash} \href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}_1^\ast : [t_1^\ast] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}}_{x_1^\ast} [t^\ast]\) and \(C \href{../valid/instructions.html#valid-instrs}{\vdash} \href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}_1^\ast : [t^\ast] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}}_{x_2^\ast} [t_2^\ast]\)), where \(x^\ast = x_1^\ast\;x_2^\ast\).

    Note

    diff --git a/core/binary/conventions.html b/core/binary/conventions.html index 75260177b5..a28cf2d4d8 100644 --- a/core/binary/conventions.html +++ b/core/binary/conventions.html @@ -6,7 +6,7 @@ - Conventions — WebAssembly 3.0 (Draft 2024-05-03) + Conventions — WebAssembly 3.0 (Draft 2024-05-17) diff --git a/core/binary/index.html b/core/binary/index.html index 645ddba936..b1b2220a71 100644 --- a/core/binary/index.html +++ b/core/binary/index.html @@ -6,7 +6,7 @@ - Binary Format — WebAssembly 3.0 (Draft 2024-05-03) + Binary Format — WebAssembly 3.0 (Draft 2024-05-17) diff --git a/core/binary/instructions.html b/core/binary/instructions.html index 24df7318a2..5d9d163ccc 100644 --- a/core/binary/instructions.html +++ b/core/binary/instructions.html @@ -6,7 +6,7 @@ - Instructions — WebAssembly 3.0 (Draft 2024-05-03) + Instructions — WebAssembly 3.0 (Draft 2024-05-17) @@ -455,14 +455,14 @@

    Quick search

    \[\begin{split}\begin{array}{llclll} \def\mathdef1512#1{{}}\mathdef1512{instruction} & \href{../binary/instructions.html#binary-instr}{\mathtt{instr}} &::=& \dots && \phantom{thisshouldbeenough} \\&&|& - \def\mathdef1791#1{\mathtt{0x#1}}\mathdef1791{FC}~~0{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}.\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{trunc}}\mathsf{\_sat\_}\href{../syntax/types.html#syntax-numtype}{\mathsf{f32}}\mathsf{\_s} \\ &&|& - \def\mathdef1792#1{\mathtt{0x#1}}\mathdef1792{FC}~~1{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}.\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{trunc}}\mathsf{\_sat\_}\href{../syntax/types.html#syntax-numtype}{\mathsf{f32}}\mathsf{\_u} \\ &&|& - \def\mathdef1793#1{\mathtt{0x#1}}\mathdef1793{FC}~~2{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}.\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{trunc}}\mathsf{\_sat\_}\href{../syntax/types.html#syntax-numtype}{\mathsf{f64}}\mathsf{\_s} \\ &&|& - \def\mathdef1794#1{\mathtt{0x#1}}\mathdef1794{FC}~~3{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}.\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{trunc}}\mathsf{\_sat\_}\href{../syntax/types.html#syntax-numtype}{\mathsf{f64}}\mathsf{\_u} \\ &&|& - \def\mathdef1795#1{\mathtt{0x#1}}\mathdef1795{FC}~~4{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html#syntax-numtype}{\mathsf{i64}}.\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{trunc}}\mathsf{\_sat\_}\href{../syntax/types.html#syntax-numtype}{\mathsf{f32}}\mathsf{\_s} \\ &&|& - \def\mathdef1796#1{\mathtt{0x#1}}\mathdef1796{FC}~~5{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html#syntax-numtype}{\mathsf{i64}}.\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{trunc}}\mathsf{\_sat\_}\href{../syntax/types.html#syntax-numtype}{\mathsf{f32}}\mathsf{\_u} \\ &&|& - \def\mathdef1797#1{\mathtt{0x#1}}\mathdef1797{FC}~~6{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html#syntax-numtype}{\mathsf{i64}}.\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{trunc}}\mathsf{\_sat\_}\href{../syntax/types.html#syntax-numtype}{\mathsf{f64}}\mathsf{\_s} \\ &&|& - \def\mathdef1798#1{\mathtt{0x#1}}\mathdef1798{FC}~~7{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html#syntax-numtype}{\mathsf{i64}}.\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{trunc}}\mathsf{\_sat\_}\href{../syntax/types.html#syntax-numtype}{\mathsf{f64}}\mathsf{\_u} \\ + \def\mathdef1791#1{\mathtt{0x#1}}\mathdef1791{FC}~~0{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}.\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{trunc\_sat}}\mathsf{\_}\href{../syntax/types.html#syntax-numtype}{\mathsf{f32}}\mathsf{\_s} \\ &&|& + \def\mathdef1792#1{\mathtt{0x#1}}\mathdef1792{FC}~~1{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}.\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{trunc\_sat}}\mathsf{\_}\href{../syntax/types.html#syntax-numtype}{\mathsf{f32}}\mathsf{\_u} \\ &&|& + \def\mathdef1793#1{\mathtt{0x#1}}\mathdef1793{FC}~~2{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}.\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{trunc\_sat}}\mathsf{\_}\href{../syntax/types.html#syntax-numtype}{\mathsf{f64}}\mathsf{\_s} \\ &&|& + \def\mathdef1794#1{\mathtt{0x#1}}\mathdef1794{FC}~~3{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}.\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{trunc\_sat}}\mathsf{\_}\href{../syntax/types.html#syntax-numtype}{\mathsf{f64}}\mathsf{\_u} \\ &&|& + \def\mathdef1795#1{\mathtt{0x#1}}\mathdef1795{FC}~~4{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html#syntax-numtype}{\mathsf{i64}}.\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{trunc\_sat}}\mathsf{\_}\href{../syntax/types.html#syntax-numtype}{\mathsf{f32}}\mathsf{\_s} \\ &&|& + \def\mathdef1796#1{\mathtt{0x#1}}\mathdef1796{FC}~~5{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html#syntax-numtype}{\mathsf{i64}}.\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{trunc\_sat}}\mathsf{\_}\href{../syntax/types.html#syntax-numtype}{\mathsf{f32}}\mathsf{\_u} \\ &&|& + \def\mathdef1797#1{\mathtt{0x#1}}\mathdef1797{FC}~~6{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html#syntax-numtype}{\mathsf{i64}}.\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{trunc\_sat}}\mathsf{\_}\href{../syntax/types.html#syntax-numtype}{\mathsf{f64}}\mathsf{\_s} \\ &&|& + \def\mathdef1798#1{\mathtt{0x#1}}\mathdef1798{FC}~~7{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/types.html#syntax-numtype}{\mathsf{i64}}.\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{trunc\_sat}}\mathsf{\_}\href{../syntax/types.html#syntax-numtype}{\mathsf{f64}}\mathsf{\_u} \\ \end{array}\end{split}\]
    @@ -648,7 +648,7 @@

    Quick search

    \def\mathdef1916#1{\mathtt{0x#1}}\mathdef1916{FD}~~119{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i8x16}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{min}}\mathsf{\_u} \\ &&|& \def\mathdef1917#1{\mathtt{0x#1}}\mathdef1917{FD}~~120{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i8x16}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{max}}\mathsf{\_s} \\ &&|& \def\mathdef1918#1{\mathtt{0x#1}}\mathdef1918{FD}~~121{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i8x16}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{max}}\mathsf{\_u} \\ &&|& - \def\mathdef1919#1{\mathtt{0x#1}}\mathdef1919{FD}~~123{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i8x16}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{avgr}}\mathsf{\_u} \\ + \def\mathdef1919#1{\mathtt{0x#1}}\mathdef1919{FD}~~123{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i8x16}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{avgr\_u}} \\ \end{array}\end{split}\]

    \[\begin{split}\begin{array}{llclll} @@ -657,34 +657,34 @@

    Quick search

    \def\mathdef1921#1{\mathtt{0x#1}}\mathdef1921{FD}~~125{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extadd\_pairwise}}\mathsf{\_i8x16\_u}\\ &&|& \def\mathdef1922#1{\mathtt{0x#1}}\mathdef1922{FD}~~128{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{abs}} \\ &&|& \def\mathdef1923#1{\mathtt{0x#1}}\mathdef1923{FD}~~129{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{neg}} \\ &&|& - \def\mathdef1924#1{\mathtt{0x#1}}\mathdef1924{FD}~~130{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{q15mulr\_sat}}\mathsf{\_s} \\ &&|& + \def\mathdef1924#1{\mathtt{0x#1}}\mathdef1924{FD}~~130{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{q15mulr\_sat\_s}} \\ &&|& \def\mathdef1925#1{\mathtt{0x#1}}\mathdef1925{FD}~~131{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{all\_true}} \\ &&|& \def\mathdef1926#1{\mathtt{0x#1}}\mathdef1926{FD}~~132{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{bitmask}} \\ &&|& \def\mathdef1927#1{\mathtt{0x#1}}\mathdef1927{FD}~~133{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{narrow}}\mathsf{\_i32x4\_s} \\ &&|& \def\mathdef1928#1{\mathtt{0x#1}}\mathdef1928{FD}~~134{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{narrow}}\mathsf{\_i32x4\_u} \\ &&|& - \def\mathdef1929#1{\mathtt{0x#1}}\mathdef1929{FD}~~135{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extend}}\mathsf{\_low\_i8x16\_s} \\ &&|& - \def\mathdef1930#1{\mathtt{0x#1}}\mathdef1930{FD}~~136{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extend}}\mathsf{\_high\_i8x16\_s} \\ &&|& - \def\mathdef1931#1{\mathtt{0x#1}}\mathdef1931{FD}~~137{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extend}}\mathsf{\_low\_i8x16\_u} \\ &&|& - \def\mathdef1932#1{\mathtt{0x#1}}\mathdef1932{FD}~~138{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extend}}\mathsf{\_high\_i8x16\_u} \\ &&|& + \def\mathdef1929#1{\mathtt{0x#1}}\mathdef1929{FD}~~135{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extend}}\mathsf{\_}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{low}}\mathsf{\_i8x16\_s} \\ &&|& + \def\mathdef1930#1{\mathtt{0x#1}}\mathdef1930{FD}~~136{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extend}}\mathsf{\_}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{high}}\mathsf{\_i8x16\_s} \\ &&|& + \def\mathdef1931#1{\mathtt{0x#1}}\mathdef1931{FD}~~137{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extend}}\mathsf{\_}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{low}}\mathsf{\_i8x16\_u} \\ &&|& + \def\mathdef1932#1{\mathtt{0x#1}}\mathdef1932{FD}~~138{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extend}}\mathsf{\_}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{high}}\mathsf{\_i8x16\_u} \\ &&|& \def\mathdef1933#1{\mathtt{0x#1}}\mathdef1933{FD}~~139{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{shl}} \\ &&|& \def\mathdef1934#1{\mathtt{0x#1}}\mathdef1934{FD}~~140{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{shr}}\mathsf{\_s} \\ &&|& \def\mathdef1935#1{\mathtt{0x#1}}\mathdef1935{FD}~~141{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{shr}}\mathsf{\_u} \\ &&|& \def\mathdef1936#1{\mathtt{0x#1}}\mathdef1936{FD}~~142{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{add}} \\ &&|& - \def\mathdef1937#1{\mathtt{0x#1}}\mathdef1937{FD}~~143{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{add}}\mathsf{\_sat\_s} \\ &&|& - \def\mathdef1938#1{\mathtt{0x#1}}\mathdef1938{FD}~~144{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{add}}\mathsf{\_sat\_u} \\ &&|& + \def\mathdef1937#1{\mathtt{0x#1}}\mathdef1937{FD}~~143{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{add\_sat}}\mathsf{\_s} \\ &&|& + \def\mathdef1938#1{\mathtt{0x#1}}\mathdef1938{FD}~~144{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{add\_sat}}\mathsf{\_u} \\ &&|& \def\mathdef1939#1{\mathtt{0x#1}}\mathdef1939{FD}~~145{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{sub}} \\ &&|& - \def\mathdef1940#1{\mathtt{0x#1}}\mathdef1940{FD}~~146{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{sub}}\mathsf{\_sat\_s} \\ &&|& - \def\mathdef1941#1{\mathtt{0x#1}}\mathdef1941{FD}~~147{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{sub}}\mathsf{\_sat\_u} \\ &&|& + \def\mathdef1940#1{\mathtt{0x#1}}\mathdef1940{FD}~~146{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{sub\_sat}}\mathsf{\_s} \\ &&|& + \def\mathdef1941#1{\mathtt{0x#1}}\mathdef1941{FD}~~147{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{sub\_sat}}\mathsf{\_u} \\ &&|& \def\mathdef1942#1{\mathtt{0x#1}}\mathdef1942{FD}~~149{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{mul}} \\ &&|& \def\mathdef1943#1{\mathtt{0x#1}}\mathdef1943{FD}~~150{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{min}}\mathsf{\_s} \\ &&|& \def\mathdef1944#1{\mathtt{0x#1}}\mathdef1944{FD}~~151{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{min}}\mathsf{\_u} \\ &&|& \def\mathdef1945#1{\mathtt{0x#1}}\mathdef1945{FD}~~152{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{max}}\mathsf{\_s} \\ &&|& \def\mathdef1946#1{\mathtt{0x#1}}\mathdef1946{FD}~~153{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{max}}\mathsf{\_u} \\ &&|& - \def\mathdef1947#1{\mathtt{0x#1}}\mathdef1947{FD}~~155{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{avgr}}\mathsf{\_u} \\ &&|& - \def\mathdef1948#1{\mathtt{0x#1}}\mathdef1948{FD}~~156{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extmul}}\mathsf{\_low\_i8x16\_s}\\ &&|& - \def\mathdef1949#1{\mathtt{0x#1}}\mathdef1949{FD}~~157{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extmul}}\mathsf{\_high\_i8x16\_s}\\ &&|& - \def\mathdef1950#1{\mathtt{0x#1}}\mathdef1950{FD}~~158{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extmul}}\mathsf{\_low\_i8x16\_u}\\ &&|& - \def\mathdef1951#1{\mathtt{0x#1}}\mathdef1951{FD}~~159{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extmul}}\mathsf{\_high\_i8x16\_u}\\ + \def\mathdef1947#1{\mathtt{0x#1}}\mathdef1947{FD}~~155{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{avgr\_u}} \\ &&|& + \def\mathdef1948#1{\mathtt{0x#1}}\mathdef1948{FD}~~156{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extmul}}\mathsf{\_}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{low}}\mathsf{\_i8x16\_s}\\ &&|& + \def\mathdef1949#1{\mathtt{0x#1}}\mathdef1949{FD}~~157{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extmul}}\mathsf{\_}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{high}}\mathsf{\_i8x16\_s}\\ &&|& + \def\mathdef1950#1{\mathtt{0x#1}}\mathdef1950{FD}~~158{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extmul}}\mathsf{\_}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{low}}\mathsf{\_i8x16\_u}\\ &&|& + \def\mathdef1951#1{\mathtt{0x#1}}\mathdef1951{FD}~~159{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i16x8}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extmul}}\mathsf{\_}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{high}}\mathsf{\_i8x16\_u}\\ \end{array}\end{split}\]
    \[\begin{split}\begin{array}{llclll} @@ -695,10 +695,10 @@

    Quick search

    \def\mathdef1955#1{\mathtt{0x#1}}\mathdef1955{FD}~~161{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{neg}} \\ &&|& \def\mathdef1956#1{\mathtt{0x#1}}\mathdef1956{FD}~~163{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{all\_true}} \\ &&|& \def\mathdef1957#1{\mathtt{0x#1}}\mathdef1957{FD}~~164{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{bitmask}} \\ &&|& - \def\mathdef1958#1{\mathtt{0x#1}}\mathdef1958{FD}~~167{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extend}}\mathsf{\_low\_i16x8\_s} \\ &&|& - \def\mathdef1959#1{\mathtt{0x#1}}\mathdef1959{FD}~~168{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extend}}\mathsf{\_high\_i16x8\_s} \\ &&|& - \def\mathdef1960#1{\mathtt{0x#1}}\mathdef1960{FD}~~169{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extend}}\mathsf{\_low\_i16x8\_u} \\ &&|& - \def\mathdef1961#1{\mathtt{0x#1}}\mathdef1961{FD}~~170{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extend}}\mathsf{\_high\_i16x8\_u} \\ &&|& + \def\mathdef1958#1{\mathtt{0x#1}}\mathdef1958{FD}~~167{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extend}}\mathsf{\_}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{low}}\mathsf{\_i16x8\_s} \\ &&|& + \def\mathdef1959#1{\mathtt{0x#1}}\mathdef1959{FD}~~168{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extend}}\mathsf{\_}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{high}}\mathsf{\_i16x8\_s} \\ &&|& + \def\mathdef1960#1{\mathtt{0x#1}}\mathdef1960{FD}~~169{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extend}}\mathsf{\_}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{low}}\mathsf{\_i16x8\_u} \\ &&|& + \def\mathdef1961#1{\mathtt{0x#1}}\mathdef1961{FD}~~170{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extend}}\mathsf{\_}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{high}}\mathsf{\_i16x8\_u} \\ &&|& \def\mathdef1962#1{\mathtt{0x#1}}\mathdef1962{FD}~~171{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{shl}} \\ &&|& \def\mathdef1963#1{\mathtt{0x#1}}\mathdef1963{FD}~~172{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{shr}}\mathsf{\_s} \\ &&|& \def\mathdef1964#1{\mathtt{0x#1}}\mathdef1964{FD}~~173{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{shr}}\mathsf{\_u} \\ &&|& @@ -710,10 +710,10 @@

    Quick search

    \def\mathdef1970#1{\mathtt{0x#1}}\mathdef1970{FD}~~184{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{max}}\mathsf{\_s} \\ &&|& \def\mathdef1971#1{\mathtt{0x#1}}\mathdef1971{FD}~~185{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{max}}\mathsf{\_u} \\ &&|& \def\mathdef1972#1{\mathtt{0x#1}}\mathdef1972{FD}~~186{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{dot}}\mathsf{\_i16x8\_s}\\ &&|& - \def\mathdef1973#1{\mathtt{0x#1}}\mathdef1973{FD}~~188{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extmul}}\mathsf{\_low\_i16x8\_s}\\ &&|& - \def\mathdef1974#1{\mathtt{0x#1}}\mathdef1974{FD}~~189{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extmul}}\mathsf{\_high\_i16x8\_s}\\ &&|& - \def\mathdef1975#1{\mathtt{0x#1}}\mathdef1975{FD}~~190{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extmul}}\mathsf{\_low\_i16x8\_u}\\ &&|& - \def\mathdef1976#1{\mathtt{0x#1}}\mathdef1976{FD}~~191{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extmul}}\mathsf{\_high\_i16x8\_u}\\ + \def\mathdef1973#1{\mathtt{0x#1}}\mathdef1973{FD}~~188{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extmul}}\mathsf{\_}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{low}}\mathsf{\_i16x8\_s}\\ &&|& + \def\mathdef1974#1{\mathtt{0x#1}}\mathdef1974{FD}~~189{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extmul}}\mathsf{\_}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{high}}\mathsf{\_i16x8\_s}\\ &&|& + \def\mathdef1975#1{\mathtt{0x#1}}\mathdef1975{FD}~~190{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extmul}}\mathsf{\_}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{low}}\mathsf{\_i16x8\_u}\\ &&|& + \def\mathdef1976#1{\mathtt{0x#1}}\mathdef1976{FD}~~191{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extmul}}\mathsf{\_}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{high}}\mathsf{\_i16x8\_u}\\ \end{array}\end{split}\]
    \[\begin{split}\begin{array}{llclll} @@ -722,20 +722,20 @@

    Quick search

    \def\mathdef1978#1{\mathtt{0x#1}}\mathdef1978{FD}~~193{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{neg}} \\ &&|& \def\mathdef1979#1{\mathtt{0x#1}}\mathdef1979{FD}~~195{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{all\_true}} \\ &&|& \def\mathdef1980#1{\mathtt{0x#1}}\mathdef1980{FD}~~196{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{bitmask}} \\ &&|& - \def\mathdef1981#1{\mathtt{0x#1}}\mathdef1981{FD}~~199{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extend}}\mathsf{\_low\_i32x4\_s} \\ &&|& - \def\mathdef1982#1{\mathtt{0x#1}}\mathdef1982{FD}~~200{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extend}}\mathsf{\_high\_i32x4\_s} \\ &&|& - \def\mathdef1983#1{\mathtt{0x#1}}\mathdef1983{FD}~~201{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extend}}\mathsf{\_low\_i32x4\_u} \\ &&|& - \def\mathdef1984#1{\mathtt{0x#1}}\mathdef1984{FD}~~202{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extend}}\mathsf{\_high\_i32x4\_u} \\ &&|& + \def\mathdef1981#1{\mathtt{0x#1}}\mathdef1981{FD}~~199{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extend}}\mathsf{\_}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{low}}\mathsf{\_i32x4\_s} \\ &&|& + \def\mathdef1982#1{\mathtt{0x#1}}\mathdef1982{FD}~~200{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extend}}\mathsf{\_}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{high}}\mathsf{\_i32x4\_s} \\ &&|& + \def\mathdef1983#1{\mathtt{0x#1}}\mathdef1983{FD}~~201{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extend}}\mathsf{\_}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{low}}\mathsf{\_i32x4\_u} \\ &&|& + \def\mathdef1984#1{\mathtt{0x#1}}\mathdef1984{FD}~~202{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extend}}\mathsf{\_}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{high}}\mathsf{\_i32x4\_u} \\ &&|& \def\mathdef1985#1{\mathtt{0x#1}}\mathdef1985{FD}~~203{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{shl}} \\ &&|& \def\mathdef1986#1{\mathtt{0x#1}}\mathdef1986{FD}~~204{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{shr}}\mathsf{\_s} \\ &&|& \def\mathdef1987#1{\mathtt{0x#1}}\mathdef1987{FD}~~205{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{shr}}\mathsf{\_u} \\ &&|& \def\mathdef1988#1{\mathtt{0x#1}}\mathdef1988{FD}~~206{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{add}} \\ &&|& \def\mathdef1989#1{\mathtt{0x#1}}\mathdef1989{FD}~~209{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{sub}} \\ &&|& \def\mathdef1990#1{\mathtt{0x#1}}\mathdef1990{FD}~~213{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{mul}} \\ &&|& - \def\mathdef1991#1{\mathtt{0x#1}}\mathdef1991{FD}~~220{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extmul}}\mathsf{\_low\_i32x4\_s}\\ &&|& - \def\mathdef1992#1{\mathtt{0x#1}}\mathdef1992{FD}~~221{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extmul}}\mathsf{\_high\_i32x4\_s}\\ &&|& - \def\mathdef1993#1{\mathtt{0x#1}}\mathdef1993{FD}~~222{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extmul}}\mathsf{\_low\_i32x4\_u}\\ &&|& - \def\mathdef1994#1{\mathtt{0x#1}}\mathdef1994{FD}~~223{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extmul}}\mathsf{\_high\_i32x4\_u}\\ + \def\mathdef1991#1{\mathtt{0x#1}}\mathdef1991{FD}~~220{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extmul}}\mathsf{\_}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{low}}\mathsf{\_i32x4\_s}\\ &&|& + \def\mathdef1992#1{\mathtt{0x#1}}\mathdef1992{FD}~~221{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extmul}}\mathsf{\_}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{high}}\mathsf{\_i32x4\_s}\\ &&|& + \def\mathdef1993#1{\mathtt{0x#1}}\mathdef1993{FD}~~222{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extmul}}\mathsf{\_}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{low}}\mathsf{\_i32x4\_u}\\ &&|& + \def\mathdef1994#1{\mathtt{0x#1}}\mathdef1994{FD}~~223{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extmul}}\mathsf{\_}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{high}}\mathsf{\_i32x4\_u}\\ \end{array}\end{split}\]
    \[\begin{split}\begin{array}{llclll} @@ -778,16 +778,16 @@

    Quick search

    \[\begin{split}\begin{array}{llclll} \phantom{\def\mathdef1512#1{{}}\mathdef1512{instruction}} & \phantom{\href{../binary/instructions.html#binary-instr}{\mathtt{instr}}} &\phantom{::=}& \phantom{\dots} && \phantom{vechaslongerinstructionnames} \\[-2ex] &&|& - \def\mathdef2025#1{\mathtt{0x#1}}\mathdef2025{FD}~~248{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{trunc}}\mathsf{\_sat\_f32x4\_s} \\ &&|& - \def\mathdef2026#1{\mathtt{0x#1}}\mathdef2026{FD}~~249{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{trunc}}\mathsf{\_sat\_f32x4\_u} \\ &&|& - \def\mathdef2027#1{\mathtt{0x#1}}\mathdef2027{FD}~~250{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{f32x4}}.\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{convert}}\mathsf{\_i32x4\_s} \\ &&|& - \def\mathdef2028#1{\mathtt{0x#1}}\mathdef2028{FD}~~251{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{f32x4}}.\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{convert}}\mathsf{\_i32x4\_u} \\ &&|& + \def\mathdef2025#1{\mathtt{0x#1}}\mathdef2025{FD}~~248{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{trunc}}\mathsf{\_sat\_f32x4\_s} \\ &&|& + \def\mathdef2026#1{\mathtt{0x#1}}\mathdef2026{FD}~~249{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{trunc}}\mathsf{\_sat\_f32x4\_u} \\ &&|& + \def\mathdef2027#1{\mathtt{0x#1}}\mathdef2027{FD}~~250{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{f32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{convert}}\mathsf{\_i32x4\_s} \\ &&|& + \def\mathdef2028#1{\mathtt{0x#1}}\mathdef2028{FD}~~251{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{f32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{convert}}\mathsf{\_i32x4\_u} \\ &&|& \def\mathdef2029#1{\mathtt{0x#1}}\mathdef2029{FD}~~252{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{trunc}}\mathsf{\_sat\_f64x2\_s\_zero}\\ &&|& \def\mathdef2030#1{\mathtt{0x#1}}\mathdef2030{FD}~~253{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{trunc}}\mathsf{\_sat\_f64x2\_u\_zero}\\ &&|& - \def\mathdef2031#1{\mathtt{0x#1}}\mathdef2031{FD}~~254{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{f64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{convert}}\mathsf{\_low\_i32x4\_s}\\ &&|& - \def\mathdef2032#1{\mathtt{0x#1}}\mathdef2032{FD}~~255{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{f64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{convert}}\mathsf{\_low\_i32x4\_u}\\ &&|& + \def\mathdef2031#1{\mathtt{0x#1}}\mathdef2031{FD}~~254{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{f64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{convert}}\mathsf{\_}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{low}}\mathsf{\_i32x4\_s}\\ &&|& + \def\mathdef2032#1{\mathtt{0x#1}}\mathdef2032{FD}~~255{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{f64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{convert}}\mathsf{\_}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{low}}\mathsf{\_i32x4\_u}\\ &&|& \def\mathdef2033#1{\mathtt{0x#1}}\mathdef2033{FD}~~94{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{f32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{demote}}\mathsf{\_f64x2\_zero}\\ &&|& - \def\mathdef2034#1{\mathtt{0x#1}}\mathdef2034{FD}~~95{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{f64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{promote}}\mathsf{\_low\_f32x4}\\ + \def\mathdef2034#1{\mathtt{0x#1}}\mathdef2034{FD}~~95{:}\href{../binary/values.html#binary-int}{\def\mathdef1517#1{{\mathtt{u}#1}}\mathdef1517{\mathtt{32}}} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{f64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{promote}}\mathsf{\_}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{low}}\mathsf{\_f32x4}\\ \end{array}\end{split}\]
    diff --git a/core/binary/modules.html b/core/binary/modules.html index 2e418b5984..5651c28eaa 100644 --- a/core/binary/modules.html +++ b/core/binary/modules.html @@ -6,7 +6,7 @@ - Modules — WebAssembly 3.0 (Draft 2024-05-03) + Modules — WebAssembly 3.0 (Draft 2024-05-17) diff --git a/core/binary/types.html b/core/binary/types.html index af29cf813b..8452560478 100644 --- a/core/binary/types.html +++ b/core/binary/types.html @@ -6,7 +6,7 @@ - Types — WebAssembly 3.0 (Draft 2024-05-03) + Types — WebAssembly 3.0 (Draft 2024-05-17) diff --git a/core/binary/values.html b/core/binary/values.html index a8b8d4687a..da4c2dc727 100644 --- a/core/binary/values.html +++ b/core/binary/values.html @@ -6,7 +6,7 @@ - Values — WebAssembly 3.0 (Draft 2024-05-03) + Values — WebAssembly 3.0 (Draft 2024-05-17) diff --git a/core/exec/conventions.html b/core/exec/conventions.html index 3054c74432..a26c3a7753 100644 --- a/core/exec/conventions.html +++ b/core/exec/conventions.html @@ -6,7 +6,7 @@ - Conventions — WebAssembly 3.0 (Draft 2024-05-03) + Conventions — WebAssembly 3.0 (Draft 2024-05-17) @@ -122,8 +122,8 @@

    Quick search

    in which case the entire computation is aborted and no further modifications to the store are performed by it. (Other computations can still be initiated afterwards.)

  • The execution of an instruction may also end in a jump to a designated target, which defines the next instruction to execute.

  • -
  • Execution can enter and exit instruction sequences that form blocks.

  • -
  • Instruction sequences are implicitly executed in order, unless a trap or jump occurs.

  • +
  • Execution can enter and exit instruction sequences that form blocks.

  • +
  • Instruction sequences are implicitly executed in order, unless a trap or jump occurs.

  • In various places the rules contain assertions expressing crucial invariants about the program state.

  • diff --git a/core/exec/index.html b/core/exec/index.html index e744a061fd..d54c84d5e6 100644 --- a/core/exec/index.html +++ b/core/exec/index.html @@ -6,7 +6,7 @@ - Execution — WebAssembly 3.0 (Draft 2024-05-03) + Execution — WebAssembly 3.0 (Draft 2024-05-17) diff --git a/core/exec/instructions.html b/core/exec/instructions.html index bb7fdb27b9..abfa9070ad 100644 --- a/core/exec/instructions.html +++ b/core/exec/instructions.html @@ -6,7 +6,7 @@ - Instructions — WebAssembly 3.0 (Draft 2024-05-03) + Instructions — WebAssembly 3.0 (Draft 2024-05-17) @@ -92,28 +92,28 @@

    Quick search

    WebAssembly computation is performed by executing individual instructions.

    Parametric Instructions

    -
    -

    \(\mathsf{nop}\)

    +
    +

    \(\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{nop}}\)

    1. Do nothing.

    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& \mathsf{nop} &\hookrightarrow& \epsilon \\ +& \href{../syntax/instructions.html#syntax-instr-control}{\mathsf{nop}} &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \epsilon \\ \end{array}\end{split}\]
    -
    -

    \(\mathsf{unreachable}\)

    +
    +

    \(\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{unreachable}}\)

    1. Trap.

    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& \mathsf{unreachable} &\hookrightarrow& \mathsf{trap} \\ +& \href{../syntax/instructions.html#syntax-instr-control}{\mathsf{unreachable}} &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \href{../exec/runtime.html#syntax-trap}{\mathsf{trap}} \\ \end{array}\end{split}\]
    -
    -

    \(\mathsf{drop}\)

    +
    +

    \(\href{../syntax/instructions.html#syntax-instr-parametric}{\mathsf{drop}}\)

    1. Assert: Due to validation, a value is on the top of the stack.

    2. Pop the value \({\href{../exec/runtime.html#syntax-val}{\mathit{val}}}\) from the stack.

    3. @@ -127,14 +127,14 @@

      Quick search

    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& {\href{../exec/runtime.html#syntax-val}{\mathit{val}}}~\mathsf{drop} &\hookrightarrow& \epsilon \\ +& {\href{../exec/runtime.html#syntax-val}{\mathit{val}}}~\href{../syntax/instructions.html#syntax-instr-parametric}{\mathsf{drop}} &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \epsilon \\ \end{array}\end{split}\]
    -
    -

    \(\mathsf{select}~{({t^\ast})^?}\)

    +
    +

    \(\href{../syntax/instructions.html#syntax-instr-parametric}{\mathsf{select}}~{({t^\ast})^?}\)

      -
    1. Assert: Due to validation, a value of value type \(\mathsf{i{\scriptstyle32}}\) is on the top of the stack.

    2. -
    3. Pop the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~c)\) from the stack.

    4. +
    5. Assert: Due to validation, a value of value type \(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}\) is on the top of the stack.

    6. +
    7. Pop the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c)\) from the stack.

    8. Assert: Due to validation, a value is on the top of the stack.

    9. Pop the value \({\href{../exec/runtime.html#syntax-val}{\mathit{val}}}_2\) from the stack.

    10. Assert: Due to validation, a value is on the top of the stack.

    11. @@ -156,9 +156,9 @@

      Quick search

    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& {\href{../exec/runtime.html#syntax-val}{\mathit{val}}}_1~{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}_2~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~c)~(\mathsf{select}~{({t^\ast})^?}) &\hookrightarrow& {\href{../exec/runtime.html#syntax-val}{\mathit{val}}}_1 +& {\href{../exec/runtime.html#syntax-val}{\mathit{val}}}_1~{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}_2~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c)~(\href{../syntax/instructions.html#syntax-instr-parametric}{\mathsf{select}}~{({t^\ast})^?}) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& {\href{../exec/runtime.html#syntax-val}{\mathit{val}}}_1 &\qquad \mbox{if}~c \neq 0 \\ -& {\href{../exec/runtime.html#syntax-val}{\mathit{val}}}_1~{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}_2~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~c)~(\mathsf{select}~{({t^\ast})^?}) &\hookrightarrow& {\href{../exec/runtime.html#syntax-val}{\mathit{val}}}_2 +& {\href{../exec/runtime.html#syntax-val}{\mathit{val}}}_1~{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}_2~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c)~(\href{../syntax/instructions.html#syntax-instr-parametric}{\mathsf{select}}~{({t^\ast})^?}) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& {\href{../exec/runtime.html#syntax-val}{\mathit{val}}}_2 &\qquad \mbox{if}~c = 0 \\ \end{array}\end{split}\]
    @@ -203,19 +203,19 @@

    Quick search

    -

    \({\mathit{nt}} . {\mathit{unop}}\)

    +

    \({\mathit{nt}} {.} {\mathit{unop}}\)

    1. Assert: Due to validation, a value of value type \({\mathit{nt}}\) is on the top of the stack.

    2. -
    3. Pop the value \(({\mathit{nt}}{.}\mathsf{const}~c_1)\) from the stack.

    4. -
    5. If \({|{{{\mathit{unop}}}{{}_{{\mathit{nt}}}}}{(c_1)}|}\) is \(1\), then:

      +
    6. Pop the value \(({\mathit{nt}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_1)\) from the stack.

    7. +
    8. If \({|{{\mathit{unop}}}{{}_{{\mathit{nt}}}}{(c_1)}|}\) is \(1\), then:

        -
      1. Let \(c\) be \({{{\mathit{unop}}}{{}_{{\mathit{nt}}}}}{(c_1)}\).

      2. -
      3. Push the value \(({\mathit{nt}}{.}\mathsf{const}~c)\) to the stack.

      4. +
      5. Let \(c\) be \({{\mathit{unop}}}{{}_{{\mathit{nt}}}}{(c_1)}\).

      6. +
      7. Push the value \(({\mathit{nt}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c)\) to the stack.

    9. -
    10. If \({{{\mathit{unop}}}{{}_{{\mathit{nt}}}}}{(c_1)}\) is \(\epsilon\), then:

      +
    11. If \({{\mathit{unop}}}{{}_{{\mathit{nt}}}}{(c_1)}\) is \(\epsilon\), then:

      1. Trap.

      2. @@ -231,28 +231,28 @@

        Quick search

      \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& ({\mathit{nt}}{.}\mathsf{const}~c_1)~({\mathit{nt}} . {\mathit{unop}}) &\hookrightarrow& ({\mathit{nt}}{.}\mathsf{const}~c) - &\qquad \mbox{if}~{{{\mathit{unop}}}{{}_{{\mathit{nt}}}}}{(c_1)} = c \\ -& ({\mathit{nt}}{.}\mathsf{const}~c_1)~({\mathit{nt}} . {\mathit{unop}}) &\hookrightarrow& \mathsf{trap} - &\qquad \mbox{if}~{{{\mathit{unop}}}{{}_{{\mathit{nt}}}}}{(c_1)} = \epsilon \\ +& ({\mathit{nt}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_1)~({\mathit{nt}} {.} {\mathit{unop}}) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& ({\mathit{nt}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c) + &\qquad \mbox{if}~{{\mathit{unop}}}{{}_{{\mathit{nt}}}}{(c_1)} = c \\ +& ({\mathit{nt}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_1)~({\mathit{nt}} {.} {\mathit{unop}}) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \href{../exec/runtime.html#syntax-trap}{\mathsf{trap}} + &\qquad \mbox{if}~{{\mathit{unop}}}{{}_{{\mathit{nt}}}}{(c_1)} = \epsilon \\ \end{array}\end{split}\]
    -

    \({\mathit{nt}} . {\mathit{binop}}\)

    +

    \({\mathit{nt}} {.} {\mathit{binop}}\)

    1. Assert: Due to validation, a value of value type \({\mathit{nt}}\) is on the top of the stack.

    2. -
    3. Pop the value \(({\mathit{nt}}{.}\mathsf{const}~c_2)\) from the stack.

    4. +
    5. Pop the value \(({\mathit{nt}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_2)\) from the stack.

    6. Assert: Due to validation, a value of value type \({\mathit{nt}}\) is on the top of the stack.

    7. -
    8. Pop the value \(({\mathit{nt}}{.}\mathsf{const}~c_1)\) from the stack.

    9. -
    10. If \({|{{{\mathit{binop}}}{{}_{{\mathit{nt}}}}}{(c_1,\, c_2)}|}\) is \(1\), then:

      +
    11. Pop the value \(({\mathit{nt}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_1)\) from the stack.

    12. +
    13. If \({|{{\mathit{binop}}}{{}_{{\mathit{nt}}}}{(c_1,\, c_2)}|}\) is \(1\), then:

        -
      1. Let \(c\) be \({{{\mathit{binop}}}{{}_{{\mathit{nt}}}}}{(c_1,\, c_2)}\).

      2. -
      3. Push the value \(({\mathit{nt}}{.}\mathsf{const}~c)\) to the stack.

      4. +
      5. Let \(c\) be \({{\mathit{binop}}}{{}_{{\mathit{nt}}}}{(c_1,\, c_2)}\).

      6. +
      7. Push the value \(({\mathit{nt}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c)\) to the stack.

    14. -
    15. If \({{{\mathit{binop}}}{{}_{{\mathit{nt}}}}}{(c_1,\, c_2)}\) is \(\epsilon\), then:

      +
    16. If \({{\mathit{binop}}}{{}_{{\mathit{nt}}}}{(c_1,\, c_2)}\) is \(\epsilon\), then:

      1. Trap.

      2. @@ -268,19 +268,19 @@

        Quick search

      \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& ({\mathit{nt}}{.}\mathsf{const}~c_1)~({\mathit{nt}}{.}\mathsf{const}~c_2)~({\mathit{nt}} . {\mathit{binop}}) &\hookrightarrow& ({\mathit{nt}}{.}\mathsf{const}~c) - &\qquad \mbox{if}~{{{\mathit{binop}}}{{}_{{\mathit{nt}}}}}{(c_1,\, c_2)} = c \\ -& ({\mathit{nt}}{.}\mathsf{const}~c_1)~({\mathit{nt}}{.}\mathsf{const}~c_2)~({\mathit{nt}} . {\mathit{binop}}) &\hookrightarrow& \mathsf{trap} - &\qquad \mbox{if}~{{{\mathit{binop}}}{{}_{{\mathit{nt}}}}}{(c_1,\, c_2)} = \epsilon \\ +& ({\mathit{nt}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_1)~({\mathit{nt}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_2)~({\mathit{nt}} {.} {\mathit{binop}}) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& ({\mathit{nt}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c) + &\qquad \mbox{if}~{{\mathit{binop}}}{{}_{{\mathit{nt}}}}{(c_1,\, c_2)} = c \\ +& ({\mathit{nt}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_1)~({\mathit{nt}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_2)~({\mathit{nt}} {.} {\mathit{binop}}) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \href{../exec/runtime.html#syntax-trap}{\mathsf{trap}} + &\qquad \mbox{if}~{{\mathit{binop}}}{{}_{{\mathit{nt}}}}{(c_1,\, c_2)} = \epsilon \\ \end{array}\end{split}\]
    -

    \({\mathit{nt}} . {\mathit{testop}}\)

    +

    \({\mathit{nt}} {.} {\mathit{testop}}\)

    1. Assert: Due to validation, a value of value type \({\mathit{nt}}\) is on the top of the stack.

    2. -
    3. Pop the value \(({\mathit{nt}}{.}\mathsf{const}~c_1)\) from the stack.

    4. -
    5. Let \(c\) be \({{{\mathit{testop}}}{{}_{{\mathit{nt}}}}}{(c_1)}\).

    6. -
    7. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~c)\) to the stack.

    8. +
    9. Pop the value \(({\mathit{nt}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_1)\) from the stack.

    10. +
    11. Let \(c\) be \({{\mathit{testop}}}{{}_{{\mathit{nt}}}}{(c_1)}\).

    12. +
    13. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c)\) to the stack.

    Todo

    @@ -290,19 +290,19 @@

    Quick search

    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& ({\mathit{nt}}{.}\mathsf{const}~c_1)~({\mathit{nt}} . {\mathit{testop}}) &\hookrightarrow& (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~c) - &\qquad \mbox{if}~c = {{{\mathit{testop}}}{{}_{{\mathit{nt}}}}}{(c_1)} \\ +& ({\mathit{nt}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_1)~({\mathit{nt}} {.} {\mathit{testop}}) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c) + &\qquad \mbox{if}~c = {{\mathit{testop}}}{{}_{{\mathit{nt}}}}{(c_1)} \\ \end{array}\end{split}\]
    -

    \({\mathit{nt}} . {\mathit{relop}}\)

    +

    \({\mathit{nt}} {.} {\mathit{relop}}\)

    1. Assert: Due to validation, a value of value type \({\mathit{nt}}\) is on the top of the stack.

    2. -
    3. Pop the value \(({\mathit{nt}}{.}\mathsf{const}~c_2)\) from the stack.

    4. +
    5. Pop the value \(({\mathit{nt}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_2)\) from the stack.

    6. Assert: Due to validation, a value of value type \({\mathit{nt}}\) is on the top of the stack.

    7. -
    8. Pop the value \(({\mathit{nt}}{.}\mathsf{const}~c_1)\) from the stack.

    9. -
    10. Let \(c\) be \({{{\mathit{relop}}}{{}_{{\mathit{nt}}}}}{(c_1,\, c_2)}\).

    11. -
    12. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~c)\) to the stack.

    13. +
    14. Pop the value \(({\mathit{nt}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_1)\) from the stack.

    15. +
    16. Let \(c\) be \({{\mathit{relop}}}{{}_{{\mathit{nt}}}}{(c_1,\, c_2)}\).

    17. +
    18. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c)\) to the stack.

    Todo

    @@ -312,24 +312,24 @@

    Quick search

    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& ({\mathit{nt}}{.}\mathsf{const}~c_1)~({\mathit{nt}}{.}\mathsf{const}~c_2)~({\mathit{nt}} . {\mathit{relop}}) &\hookrightarrow& (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~c) - &\qquad \mbox{if}~c = {{{\mathit{relop}}}{{}_{{\mathit{nt}}}}}{(c_1,\, c_2)} \\ +& ({\mathit{nt}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_1)~({\mathit{nt}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_2)~({\mathit{nt}} {.} {\mathit{relop}}) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c) + &\qquad \mbox{if}~c = {{\mathit{relop}}}{{}_{{\mathit{nt}}}}{(c_1,\, c_2)} \\ \end{array}\end{split}\]
    -

    \({\mathit{nt}}_2 . {{{\href{../syntax/instructions.html#syntax-cvtop}{\mathit{cvtop}}}}{\mathsf{\_}}}{{\mathit{nt}}_1}\)

    +

    \({\mathit{nt}}_2 {.} {{\href{../syntax/instructions.html#syntax-cvtop}{\mathit{cvtop}}}}{\mathsf{\_}}{{\mathit{nt}}_1}\)

    1. Assert: Due to validation, a value of value type \({\mathit{nt}}_1\) is on the top of the stack.

    2. -
    3. Pop the value \(({\mathit{nt}}_1{.}\mathsf{const}~c_1)\) from the stack.

    4. -
    5. If \({|{{{\href{../syntax/instructions.html#syntax-cvtop}{\mathit{cvtop}}}}{{{}_{{\mathit{nt}}_1, {\mathit{nt}}_2}^{{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}^?}}}}}{(c_1)}|}\) is \(1\), then:

      +
    6. Pop the value \(({\mathit{nt}}_1{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_1)\) from the stack.

    7. +
    8. If \({|{{\href{../syntax/instructions.html#syntax-cvtop}{\mathit{cvtop}}}}{{{}_{{\mathit{nt}}_1, {\mathit{nt}}_2}^{{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}^?}}}}{(c_1)}|}\) is \(1\), then:

        -
      1. Let \(c\) be \({{{\href{../syntax/instructions.html#syntax-cvtop}{\mathit{cvtop}}}}{{{}_{{\mathit{nt}}_1, {\mathit{nt}}_2}^{{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}^?}}}}}{(c_1)}\).

      2. -
      3. Push the value \(({\mathit{nt}}_2{.}\mathsf{const}~c)\) to the stack.

      4. +
      5. Let \(c\) be \({{\href{../syntax/instructions.html#syntax-cvtop}{\mathit{cvtop}}}}{{{}_{{\mathit{nt}}_1, {\mathit{nt}}_2}^{{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}^?}}}}{(c_1)}\).

      6. +
      7. Push the value \(({\mathit{nt}}_2{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c)\) to the stack.

    9. -
    10. If \({{{\href{../syntax/instructions.html#syntax-cvtop}{\mathit{cvtop}}}}{{{}_{{\mathit{nt}}_1, {\mathit{nt}}_2}^{{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}^?}}}}}{(c_1)}\) is \(\epsilon\), then:

      +
    11. If \({{\href{../syntax/instructions.html#syntax-cvtop}{\mathit{cvtop}}}}{{{}_{{\mathit{nt}}_1, {\mathit{nt}}_2}^{{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}^?}}}}{(c_1)}\) is \(\epsilon\), then:

      1. Trap.

      2. @@ -345,10 +345,10 @@

        Quick search

      \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& ({\mathit{nt}}_1{.}\mathsf{const}~c_1)~({\mathit{nt}}_2 . {{{\href{../syntax/instructions.html#syntax-cvtop}{\mathit{cvtop}}}}{\mathsf{\_}}}{{\mathit{nt}}_1}) &\hookrightarrow& ({\mathit{nt}}_2{.}\mathsf{const}~c) - &\qquad \mbox{if}~{{{\href{../syntax/instructions.html#syntax-cvtop}{\mathit{cvtop}}}}{{{}_{{\mathit{nt}}_1, {\mathit{nt}}_2}^{{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}^?}}}}}{(c_1)} = c \\ -& ({\mathit{nt}}_1{.}\mathsf{const}~c_1)~({\mathit{nt}}_2 . {{{\href{../syntax/instructions.html#syntax-cvtop}{\mathit{cvtop}}}}{\mathsf{\_}}}{{\mathit{nt}}_1}) &\hookrightarrow& \mathsf{trap} - &\qquad \mbox{if}~{{{\href{../syntax/instructions.html#syntax-cvtop}{\mathit{cvtop}}}}{{{}_{{\mathit{nt}}_1, {\mathit{nt}}_2}^{{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}^?}}}}}{(c_1)} = \epsilon \\ +& ({\mathit{nt}}_1{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_1)~({\mathit{nt}}_2 {.} {{\href{../syntax/instructions.html#syntax-cvtop}{\mathit{cvtop}}}}{\mathsf{\_}}{{\mathit{nt}}_1}) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& ({\mathit{nt}}_2{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c) + &\qquad \mbox{if}~{{\href{../syntax/instructions.html#syntax-cvtop}{\mathit{cvtop}}}}{{{}_{{\mathit{nt}}_1, {\mathit{nt}}_2}^{{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}^?}}}}{(c_1)} = c \\ +& ({\mathit{nt}}_1{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_1)~({\mathit{nt}}_2 {.} {{\href{../syntax/instructions.html#syntax-cvtop}{\mathit{cvtop}}}}{\mathsf{\_}}{{\mathit{nt}}_1}) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \href{../exec/runtime.html#syntax-trap}{\mathsf{trap}} + &\qquad \mbox{if}~{{\href{../syntax/instructions.html#syntax-cvtop}{\mathit{cvtop}}}}{{{}_{{\mathit{nt}}_1, {\mathit{nt}}_2}^{{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}^?}}}}{(c_1)} = \epsilon \\ \end{array}\end{split}\]
    @@ -364,7 +364,7 @@

    Quick search

    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& z ; (\mathsf{ref.null}~x) &\hookrightarrow& (\mathsf{ref.null}~z{.}\mathsf{types}{}[x]) \\ +& z ; (\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.null}}~x) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& (\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.null}}~z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{types}}{}[x]) \\ \end{array}\end{split}\]

    Note

    @@ -372,34 +372,34 @@

    Quick search

    since the instruction form is already a value.

    -
    -

    \(\mathsf{ref.func}~x\)

    +
    +

    \(\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.func}}~x\)

    1. Let \(z\) be the current state.

    2. -
    3. Assert: Due to validation, \(x\) is less than \({|z{.}\mathsf{module}{.}\mathsf{funcs}|}\).

    4. -
    5. Push the value \((\mathsf{ref.func}~z{.}\mathsf{module}{.}\mathsf{funcs}{}[x])\) to the stack.

    6. +
    7. Assert: Due to validation, \(x\) is less than \({|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{module}}{.}\mathsf{funcs}|}\).

    8. +
    9. Push the value \((\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}func}}~z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{module}}{.}\mathsf{funcs}{}[x])\) to the stack.

    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& z ; (\mathsf{ref.func}~x) &\hookrightarrow& (\mathsf{ref.func}~z{.}\mathsf{module}{.}\mathsf{funcs}{}[x]) \\ +& z ; (\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.func}}~x) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& (\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}func}}~z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{module}}{.}\mathsf{funcs}{}[x]) \\ \end{array}\end{split}\]
    -
    -

    \(\mathsf{ref.is\_null}\)

    +
    +

    \(\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.is\_null}}\)

    1. Assert: Due to validation, a value is on the top of the stack.

    2. Pop the value \({\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}\) from the stack.

    3. -
    4. If \({\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}\) is of the case \(\mathsf{ref.null}\), then:

      +
    5. If \({\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}\) is of the case \(\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.null}}\), then:

        -
      1. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~1)\) to the stack.

      2. +
      3. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~1)\) to the stack.

    6. Else:

        -
      1. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~0)\) to the stack.

      2. +
      3. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~0)\) to the stack.

    7. @@ -412,18 +412,18 @@

      Quick search

    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& {\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}~\mathsf{ref.is\_null} &\hookrightarrow& (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~1) - &\qquad \mbox{if}~{\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}} = (\mathsf{ref.null}~{\mathit{ht}}) \\ -& {\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}~\mathsf{ref.is\_null} &\hookrightarrow& (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~0) +& {\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}~\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.is\_null}} &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~1) + &\qquad \mbox{if}~{\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}} = (\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.null}}~{\mathit{ht}}) \\ +& {\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}~\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.is\_null}} &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~0) &\qquad \mbox{otherwise} \\ \end{array}\end{split}\]
    -
    -

    \(\mathsf{ref.as\_non\_null}\)

    +
    +

    \(\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.as\_non\_null}}\)

    1. Assert: Due to validation, a value is on the top of the stack.

    2. Pop the value \({\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}\) from the stack.

    3. -
    4. If \({\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}\) is of the case \(\mathsf{ref.null}\), then:

      +
    5. If \({\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}\) is of the case \(\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.null}}\), then:

      1. Trap.

      2. @@ -440,37 +440,37 @@

        Quick search

      \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& {\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}~\mathsf{ref.as\_non\_null} &\hookrightarrow& \mathsf{trap} - &\qquad \mbox{if}~{\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}} = (\mathsf{ref.null}~{\mathit{ht}}) \\ -& {\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}~\mathsf{ref.as\_non\_null} &\hookrightarrow& {\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}} +& {\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}~\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.as\_non\_null}} &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \href{../exec/runtime.html#syntax-trap}{\mathsf{trap}} + &\qquad \mbox{if}~{\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}} = (\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.null}}~{\mathit{ht}}) \\ +& {\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}~\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.as\_non\_null}} &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& {\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}} &\qquad \mbox{otherwise} \\ \end{array}\end{split}\]
    -
    -

    \(\mathsf{ref.eq}\)

    +
    +

    \(\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.eq}}\)

    1. Assert: Due to validation, a value is on the top of the stack.

    2. Pop the value \({\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}_2\) from the stack.

    3. Assert: Due to validation, a value is on the top of the stack.

    4. Pop the value \({\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}_1\) from the stack.

    5. -
    6. If \({\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}_1\) is of the case \(\mathsf{ref.null}\) and \({\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}_2\) is of the case \(\mathsf{ref.null}\), then:

      +
    7. If \({\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}_1\) is of the case \(\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.null}}\) and \({\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}_2\) is of the case \(\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.null}}\), then:

        -
      1. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~1)\) to the stack.

      2. +
      3. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~1)\) to the stack.

    8. Else if \({\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}_1\) is \({\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}_2\), then:

        -
      1. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~1)\) to the stack.

      2. +
      3. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~1)\) to the stack.

    9. Else:

        -
      1. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~0)\) to the stack.

      2. +
      3. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~0)\) to the stack.

    10. @@ -483,16 +483,16 @@

      Quick search

      \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& {\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}_1~{\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}_2~\mathsf{ref.eq} &\hookrightarrow& (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~1) - &\qquad \mbox{if}~{\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}_1 = (\mathsf{ref.null}~{\mathit{ht}}_1) \land {\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}_2 = (\mathsf{ref.null}~{\mathit{ht}}_2) \\ -& {\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}_1~{\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}_2~\mathsf{ref.eq} &\hookrightarrow& (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~1) +& {\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}_1~{\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}_2~\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.eq}} &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~1) + &\qquad \mbox{if}~{\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}_1 = (\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.null}}~{\mathit{ht}}_1) \land {\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}_2 = (\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.null}}~{\mathit{ht}}_2) \\ +& {\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}_1~{\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}_2~\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.eq}} &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~1) &\qquad \mbox{otherwise, if}~{\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}_1 = {\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}_2 \\ -& {\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}_1~{\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}_2~\mathsf{ref.eq} &\hookrightarrow& (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~0) +& {\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}_1~{\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}_2~\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.eq}} &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~0) &\qquad \mbox{otherwise} \\ \end{array}\end{split}\]
    -
    -

    \(\mathsf{ref.test}~{\mathit{rt}}\)

    +
    +

    \(\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.test}}~{\mathit{rt}}\)

    1. Let \(f\) be the current frame.

    2. Assert: Due to validation, a value is on the top of the stack.

    3. @@ -501,14 +501,14 @@

      Quick search

    4. If \({\mathit{rt}'}\) matches \({{\href{../exec/types.html#type-inst}{\mathrm{clos}}}}_{f{.}\mathsf{module}}({\mathit{rt}})\), then:

        -
      1. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~1)\) to the stack.

      2. +
      3. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~1)\) to the stack.

    5. Else:

        -
      1. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~0)\) to the stack.

      2. +
      3. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~0)\) to the stack.

    6. @@ -539,16 +539,16 @@

      Quick search

    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& s ; f ; {\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}~(\mathsf{ref.test}~{\mathit{rt}}) &\hookrightarrow& (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~1) +& s ; f ; {\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}~(\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.test}}~{\mathit{rt}}) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~1) &\qquad \mbox{if}~s \vdash {\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}} : {\mathit{rt}'} \\ &&&&\qquad {\land}~\{ \begin{array}[t]{@{}l@{}} - \}\end{array} \vdash {\mathit{rt}'} \leq {{\href{../exec/types.html#type-inst}{\mathrm{clos}}}}_{f{.}\mathsf{module}}({\mathit{rt}}) \\ -& s ; f ; {\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}~(\mathsf{ref.test}~{\mathit{rt}}) &\hookrightarrow& (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~0) + \}\end{array} \href{../valid/matching.html#match-reftype}{\vdash} {\mathit{rt}'} \href{../valid/matching.html#match-reftype}{\leq} {{\href{../exec/types.html#type-inst}{\mathrm{clos}}}}_{f{.}\mathsf{module}}({\mathit{rt}}) \\ +& s ; f ; {\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}~(\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.test}}~{\mathit{rt}}) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~0) &\qquad \mbox{otherwise} \\ \end{array}\end{split}\]
    -
    -

    \(\mathsf{ref.cast}~{\mathit{rt}}\)

    +
    +

    \(\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.cast}}~{\mathit{rt}}\)

    1. Let \(f\) be the current frame.

    2. Assert: Due to validation, a value is on the top of the stack.

    3. @@ -589,43 +589,43 @@

      Quick search

    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& s ; f ; {\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}~(\mathsf{ref.cast}~{\mathit{rt}}) &\hookrightarrow& {\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}} +& s ; f ; {\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}~(\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.cast}}~{\mathit{rt}}) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& {\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}} &\qquad \mbox{if}~s \vdash {\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}} : {\mathit{rt}'} \\ &&&&\qquad {\land}~\{ \begin{array}[t]{@{}l@{}} - \}\end{array} \vdash {\mathit{rt}'} \leq {{\href{../exec/types.html#type-inst}{\mathrm{clos}}}}_{f{.}\mathsf{module}}({\mathit{rt}}) \\ -& s ; f ; {\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}~(\mathsf{ref.cast}~{\mathit{rt}}) &\hookrightarrow& \mathsf{trap} + \}\end{array} \href{../valid/matching.html#match-reftype}{\vdash} {\mathit{rt}'} \href{../valid/matching.html#match-reftype}{\leq} {{\href{../exec/types.html#type-inst}{\mathrm{clos}}}}_{f{.}\mathsf{module}}({\mathit{rt}}) \\ +& s ; f ; {\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}~(\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.cast}}~{\mathit{rt}}) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \href{../exec/runtime.html#syntax-trap}{\mathsf{trap}} &\qquad \mbox{otherwise} \\ \end{array}\end{split}\]
    -
    -

    \(\mathsf{ref.i{\scriptstyle31}}\)

    +
    +

    \(\href{../syntax/instructions.html#syntax-instr-i31}{\mathsf{ref.i31}}\)

      -
    1. Assert: Due to validation, a value of value type \(\mathsf{i{\scriptstyle32}}\) is on the top of the stack.

    2. -
    3. Pop the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)\) from the stack.

    4. -
    5. Push the value \((\mathsf{ref.i{\scriptstyle31}}~{{{\href{../exec/numerics.html#op-wrap}{\mathrm{wrap}}}}_{32, 31}}{(i)})\) to the stack.

    6. +
    7. Assert: Due to validation, a value of value type \(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}\) is on the top of the stack.

    8. +
    9. Pop the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)\) from the stack.

    10. +
    11. Push the value \((\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}i31}}~{{{\href{../exec/numerics.html#op-wrap}{\mathrm{wrap}}}}_{32, 31}}{(i)})\) to the stack.

    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)~\mathsf{ref.i{\scriptstyle31}} &\hookrightarrow& (\mathsf{ref.i{\scriptstyle31}}~{{{\href{../exec/numerics.html#op-wrap}{\mathrm{wrap}}}}_{32, 31}}{(i)}) \\ +& (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)~\href{../syntax/instructions.html#syntax-instr-i31}{\mathsf{ref.i31}} &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& (\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}i31}}~{{{\href{../exec/numerics.html#op-wrap}{\mathrm{wrap}}}}_{32, 31}}{(i)}) \\ \end{array}\end{split}\]
    -
    -

    \({{\mathsf{i{\scriptstyle31}.get}}{\mathsf{\_}}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}}\)

    +
    +

    \({\href{../syntax/instructions.html#syntax-instr-i31}{\mathsf{i31.get}}}{\mathsf{\_}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}}\)

    1. Assert: Due to validation, a value is on the top of the stack.

    2. Pop the value \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) from the stack.

    3. -
    4. If \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) is of the case \(\mathsf{ref.null}\), then:

      +
    5. If \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) is of the case \(\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.null}}\), then:

      1. Trap.

    6. -
    7. If \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) is of the case \(\mathsf{ref.i{\scriptstyle31}\_num}\), then:

      +
    8. If \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) is of the case \(\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}i31}}\), then:

        -
      1. Let \((\mathsf{ref.i{\scriptstyle31}}~i)\) be \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\).

      2. -
      3. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~{{{{\href{../exec/numerics.html#op-ext}{\mathrm{extend}}}}_{31, 32}^{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}}}}{(i)})\) to the stack.

      4. +
      5. Let \((\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}i31}}~i)\) be \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\).

      6. +
      7. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~{{{{\href{../exec/numerics.html#op-ext}{\mathrm{extend}}}}_{31, 32}^{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}}}}{(i)})\) to the stack.

    9. @@ -651,23 +651,23 @@

      Quick search

    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& (\mathsf{ref.null}~{\mathit{ht}})~({{\mathsf{i{\scriptstyle31}.get}}{\mathsf{\_}}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}}) &\hookrightarrow& \mathsf{trap} \\ -& (\mathsf{ref.i{\scriptstyle31}}~i)~({{\mathsf{i{\scriptstyle31}.get}}{\mathsf{\_}}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}}) &\hookrightarrow& (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~{{{{\href{../exec/numerics.html#op-ext}{\mathrm{extend}}}}_{31, 32}^{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}}}}{(i)}) \\ +& (\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.null}}~{\mathit{ht}})~({\href{../syntax/instructions.html#syntax-instr-i31}{\mathsf{i31.get}}}{\mathsf{\_}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}}) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \href{../exec/runtime.html#syntax-trap}{\mathsf{trap}} \\ +& (\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}i31}}~i)~({\href{../syntax/instructions.html#syntax-instr-i31}{\mathsf{i31.get}}}{\mathsf{\_}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}}) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~{{{{\href{../exec/numerics.html#op-ext}{\mathrm{extend}}}}_{31, 32}^{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}}}}{(i)}) \\ \end{array}\end{split}\]
    -
    -

    \(\mathsf{struct.new}~x\)

    +
    +

    \(\href{../syntax/instructions.html#syntax-instr-struct}{\mathsf{struct.new}}~x\)

    1. Let \(z\) be the current state.

    2. -
    3. Let \(a\) be \({|z{.}\mathsf{structs}|}\).

    4. -
    5. Assert: Due to validation, \({\href{../valid/conventions.html#aux-expand-deftype}{\mathrm{expand}}}(z{.}\mathsf{types}{}[x])\) is of the case \(\mathsf{struct}\).

    6. -
    7. Let \((\mathsf{struct}~y_0)\) be \({\href{../valid/conventions.html#aux-expand-deftype}{\mathrm{expand}}}(z{.}\mathsf{types}{}[x])\).

    8. +
    9. Let \(a\) be \({|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{structs}}|}\).

    10. +
    11. Assert: Due to validation, \({\href{../valid/conventions.html#aux-expand-deftype}{\mathrm{expand}}}(z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{types}}{}[x])\) is of the case \(\href{../syntax/types.html#syntax-comptype}{\mathsf{struct}}\).

    12. +
    13. Let \((\href{../syntax/types.html#syntax-comptype}{\mathsf{struct}}~y_0)\) be \({\href{../valid/conventions.html#aux-expand-deftype}{\mathrm{expand}}}(z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{types}}{}[x])\).

    14. Let \({({\mathsf{mut}^?},\, {\mathit{zt}})^{n}}\) be \(y_0\).

    15. Assert: Due to validation, there are at least \(n\) values on the top of the stack.

    16. Pop the values \({{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^{n}}\) from the stack.

    17. -
    18. Let \({\mathit{si}}\) be \(\{ \begin{array}[t]{@{}l@{}}\mathsf{type}~z{.}\mathsf{types}{}[x],\; \mathsf{fields}~{{{\href{../exec/runtime.html#aux-packfield}{\mathrm{pack}}}}_{{\mathit{zt}}}({\href{../exec/runtime.html#syntax-val}{\mathit{val}}})^{n}} \}\end{array}\).

    19. -
    20. Push the value \((\mathsf{ref.struct}~a)\) to the stack.

    21. -
    22. Perform \(z{}[\mathsf{structs} = ..{\mathit{si}}]\).

    23. +
    24. Let \({\mathit{si}}\) be \(\{ \begin{array}[t]{@{}l@{}}\mathsf{type}~z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{types}}{}[x],\; \mathsf{fields}~{{{\href{../exec/runtime.html#aux-packfield}{\mathrm{pack}}}}_{{\mathit{zt}}}({\href{../exec/runtime.html#syntax-val}{\mathit{val}}})^{n}} \}\end{array}\).

    25. +
    26. Push the value \((\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}struct}}~a)\) to the stack.

    27. +
    28. Perform \(z{}[\href{../exec/runtime.html#syntax-store}{\mathsf{structs}} = ..{\mathit{si}}]\).

    Todo

    @@ -697,26 +697,26 @@

    Quick search

    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& z ; {{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^{n}}~(\mathsf{struct.new}~x) &\hookrightarrow& z{}[\mathsf{structs} = ..{\mathit{si}}] ; (\mathsf{ref.struct}~a) - &\qquad \mbox{if}~z{.}\mathsf{types}{}[x] \approx \mathsf{struct}~{({\mathsf{mut}^?}~{\mathit{zt}})^{n}} \\ - &&&&\qquad {\land}~a = {|z{.}\mathsf{structs}|} \\ +& z ; {{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^{n}}~(\href{../syntax/instructions.html#syntax-instr-struct}{\mathsf{struct.new}}~x) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& z{}[\href{../exec/runtime.html#syntax-store}{\mathsf{structs}} = ..{\mathit{si}}] ; (\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}struct}}~a) + &\qquad \mbox{if}~z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{types}}{}[x] \approx \href{../syntax/types.html#syntax-comptype}{\mathsf{struct}}~{({\mathsf{mut}^?}~{\mathit{zt}})^{n}} \\ + &&&&\qquad {\land}~a = {|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{structs}}|} \\ &&&&\qquad {\land}~{\mathit{si}} = \{ \begin{array}[t]{@{}l@{}} -\mathsf{type}~z{.}\mathsf{types}{}[x],\; \mathsf{fields}~{({{\href{../exec/runtime.html#aux-packfield}{\mathrm{pack}}}}_{{\mathit{zt}}}({\href{../exec/runtime.html#syntax-val}{\mathit{val}}}))^{n}} \}\end{array} \\ +\mathsf{type}~z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{types}}{}[x],\; \mathsf{fields}~{({{\href{../exec/runtime.html#aux-packfield}{\mathrm{pack}}}}_{{\mathit{zt}}}({\href{../exec/runtime.html#syntax-val}{\mathit{val}}}))^{n}} \}\end{array} \\ \end{array}\end{split}\]
    -
    -

    \(\mathsf{struct.new\_default}~x\)

    +
    +

    \(\href{../syntax/instructions.html#syntax-instr-struct}{\mathsf{struct.new\_default}}~x\)

    1. Let \(z\) be the current state.

    2. -
    3. Assert: Due to validation, \({\href{../valid/conventions.html#aux-expand-deftype}{\mathrm{expand}}}(z{.}\mathsf{types}{}[x])\) is of the case \(\mathsf{struct}\).

    4. -
    5. Let \((\mathsf{struct}~y_0)\) be \({\href{../valid/conventions.html#aux-expand-deftype}{\mathrm{expand}}}(z{.}\mathsf{types}{}[x])\).

    6. +
    7. Assert: Due to validation, \({\href{../valid/conventions.html#aux-expand-deftype}{\mathrm{expand}}}(z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{types}}{}[x])\) is of the case \(\href{../syntax/types.html#syntax-comptype}{\mathsf{struct}}\).

    8. +
    9. Let \((\href{../syntax/types.html#syntax-comptype}{\mathsf{struct}}~y_0)\) be \({\href{../valid/conventions.html#aux-expand-deftype}{\mathrm{expand}}}(z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{types}}{}[x])\).

    10. Let \({({\mathsf{mut}^?},\, {\mathit{zt}})^\ast}\) be \(y_0\).

    11. Assert: Due to validation, \({|{{\mathsf{mut}^?}^\ast}|}\) is \({|{{\mathit{zt}}^\ast}|}\).

    12. Assert: Due to validation, for all \({({\mathit{zt}})^\ast}\), \({{\href{../exec/runtime.html#default-val}{\mathrm{default}}}}_{{\href{../syntax/types.html#aux-unpack}{\mathrm{unpack}}}({\mathit{zt}})}\) is defined.

    13. Let \({{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^\ast}\) be \({{{\href{../exec/runtime.html#default-val}{\mathrm{default}}}}_{{\href{../syntax/types.html#aux-unpack}{\mathrm{unpack}}}({\mathit{zt}})}^\ast}\).

    14. Assert: Due to validation, \({|{{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^\ast}|}\) is \({|{{\mathit{zt}}^\ast}|}\).

    15. Push the values \({{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^\ast}\) to the stack.

    16. -
    17. Execute the instruction \((\mathsf{struct.new}~x)\).

    18. +
    19. Execute the instruction \((\href{../syntax/instructions.html#syntax-instr-struct}{\mathsf{struct.new}}~x)\).

    Todo

    @@ -742,35 +742,35 @@

    Quick search

    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& z ; (\mathsf{struct.new\_default}~x) &\hookrightarrow& {{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^\ast}~(\mathsf{struct.new}~x) - &\qquad \mbox{if}~z{.}\mathsf{types}{}[x] \approx \mathsf{struct}~{({\mathsf{mut}^?}~{\mathit{zt}})^\ast} \\ +& z ; (\href{../syntax/instructions.html#syntax-instr-struct}{\mathsf{struct.new\_default}}~x) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& {{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^\ast}~(\href{../syntax/instructions.html#syntax-instr-struct}{\mathsf{struct.new}}~x) + &\qquad \mbox{if}~z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{types}}{}[x] \approx \href{../syntax/types.html#syntax-comptype}{\mathsf{struct}}~{({\mathsf{mut}^?}~{\mathit{zt}})^\ast} \\ &&&&\qquad {\land}~({{\href{../exec/runtime.html#default-val}{\mathrm{default}}}}_{{\href{../syntax/types.html#aux-unpack}{\mathrm{unpack}}}({\mathit{zt}})} = {\href{../exec/runtime.html#syntax-val}{\mathit{val}}})^\ast \\ \end{array}\end{split}\]
    -
    -

    \({{\mathsf{struct.get}}{\mathsf{\_}}}{{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}^?}}~x~i\)

    +
    +

    \({\href{../syntax/instructions.html#syntax-instr-struct}{\mathsf{struct.get}}}{\mathsf{\_}}{{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}^?}}~x~i\)

    1. Let \(z\) be the current state.

    2. Assert: Due to validation, a value is on the top of the stack.

    3. Pop the value \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) from the stack.

    4. -
    5. If \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) is of the case \(\mathsf{ref.null}\), then:

      +
    6. If \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) is of the case \(\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.null}}\), then:

      1. Trap.

    7. -
    8. Assert: Due to validation, \({\href{../valid/conventions.html#aux-expand-deftype}{\mathrm{expand}}}(z{.}\mathsf{types}{}[x])\) is of the case \(\mathsf{struct}\).

    9. -
    10. Let \((\mathsf{struct}~y_0)\) be \({\href{../valid/conventions.html#aux-expand-deftype}{\mathrm{expand}}}(z{.}\mathsf{types}{}[x])\).

    11. +
    12. Assert: Due to validation, \({\href{../valid/conventions.html#aux-expand-deftype}{\mathrm{expand}}}(z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{types}}{}[x])\) is of the case \(\href{../syntax/types.html#syntax-comptype}{\mathsf{struct}}\).

    13. +
    14. Let \((\href{../syntax/types.html#syntax-comptype}{\mathsf{struct}}~y_0)\) be \({\href{../valid/conventions.html#aux-expand-deftype}{\mathrm{expand}}}(z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{types}}{}[x])\).

    15. Let \({({\mathsf{mut}^?},\, {\mathit{zt}})^\ast}\) be \(y_0\).

    16. -
    17. If \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) is of the case \(\mathsf{ref.struct\_addr}\), then:

      +
    18. If \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) is of the case \(\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}struct}}\), then:

        -
      1. Let \((\mathsf{ref.struct}~a)\) be \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\).

      2. -
      3. If \(i\) is less than \({|z{.}\mathsf{structs}{}[a]{.}\mathsf{fields}|}\) and \(a\) is less than \({|z{.}\mathsf{structs}|}\) and \({|{{\mathsf{mut}^?}^\ast}|}\) is \({|{{\mathit{zt}}^\ast}|}\) and \(i\) is less than \({|{{\mathit{zt}}^\ast}|}\), then:

        +
      4. Let \((\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}struct}}~a)\) be \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\).

      5. +
      6. If \(i\) is less than \({|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{structs}}{}[a]{.}\mathsf{fields}|}\) and \(a\) is less than \({|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{structs}}|}\) and \({|{{\mathsf{mut}^?}^\ast}|}\) is \({|{{\mathit{zt}}^\ast}|}\) and \(i\) is less than \({|{{\mathit{zt}}^\ast}|}\), then:

          -
        1. Push the value \({{{{\href{../exec/runtime.html#aux-unpackfield}{\mathrm{unpack}}}}_{{{\mathit{zt}}^\ast}{}[i]}^{{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}^?}}}}{(z{.}\mathsf{structs}{}[a]{.}\mathsf{fields}{}[i])}\) to the stack.

        2. +
        3. Push the value \({{{{\href{../exec/runtime.html#aux-unpackfield}{\mathrm{unpack}}}}_{{{\mathit{zt}}^\ast}{}[i]}^{{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}^?}}}}{(z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{structs}}{}[a]{.}\mathsf{fields}{}[i])}\) to the stack.

      7. @@ -807,36 +807,36 @@

        Quick search

      \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& z ; (\mathsf{ref.null}~{\mathit{ht}})~({{\mathsf{struct.get}}{\mathsf{\_}}}{{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}^?}}~x~i) &\hookrightarrow& \mathsf{trap} \\ -& z ; (\mathsf{ref.struct}~a)~({{\mathsf{struct.get}}{\mathsf{\_}}}{{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}^?}}~x~i) &\hookrightarrow& {{{{\href{../exec/runtime.html#aux-unpackfield}{\mathrm{unpack}}}}_{{{\mathit{zt}}^\ast}{}[i]}^{{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}^?}}}}{(z{.}\mathsf{structs}{}[a]{.}\mathsf{fields}{}[i])} - &\qquad \mbox{if}~z{.}\mathsf{types}{}[x] \approx \mathsf{struct}~{({\mathsf{mut}^?}~{\mathit{zt}})^\ast} \\ +& z ; (\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.null}}~{\mathit{ht}})~({\href{../syntax/instructions.html#syntax-instr-struct}{\mathsf{struct.get}}}{\mathsf{\_}}{{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}^?}}~x~i) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \href{../exec/runtime.html#syntax-trap}{\mathsf{trap}} \\ +& z ; (\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}struct}}~a)~({\href{../syntax/instructions.html#syntax-instr-struct}{\mathsf{struct.get}}}{\mathsf{\_}}{{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}^?}}~x~i) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& {{{{\href{../exec/runtime.html#aux-unpackfield}{\mathrm{unpack}}}}_{{{\mathit{zt}}^\ast}{}[i]}^{{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}^?}}}}{(z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{structs}}{}[a]{.}\mathsf{fields}{}[i])} + &\qquad \mbox{if}~z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{types}}{}[x] \approx \href{../syntax/types.html#syntax-comptype}{\mathsf{struct}}~{({\mathsf{mut}^?}~{\mathit{zt}})^\ast} \\ \end{array}\end{split}\]
    -
    -

    \(\mathsf{struct.set}~x~i\)

    +
    +

    \(\href{../syntax/instructions.html#syntax-instr-struct}{\mathsf{struct.set}}~x~i\)

    1. Let \(z\) be the current state.

    2. Assert: Due to validation, a value is on the top of the stack.

    3. Pop the value \({\href{../exec/runtime.html#syntax-val}{\mathit{val}}}\) from the stack.

    4. Assert: Due to validation, a value is on the top of the stack.

    5. Pop the value \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) from the stack.

    6. -
    7. If \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) is of the case \(\mathsf{ref.null}\), then:

      +
    8. If \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) is of the case \(\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.null}}\), then:

      1. Trap.

    9. -
    10. Assert: Due to validation, \({\href{../valid/conventions.html#aux-expand-deftype}{\mathrm{expand}}}(z{.}\mathsf{types}{}[x])\) is of the case \(\mathsf{struct}\).

    11. -
    12. Let \((\mathsf{struct}~y_0)\) be \({\href{../valid/conventions.html#aux-expand-deftype}{\mathrm{expand}}}(z{.}\mathsf{types}{}[x])\).

    13. +
    14. Assert: Due to validation, \({\href{../valid/conventions.html#aux-expand-deftype}{\mathrm{expand}}}(z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{types}}{}[x])\) is of the case \(\href{../syntax/types.html#syntax-comptype}{\mathsf{struct}}\).

    15. +
    16. Let \((\href{../syntax/types.html#syntax-comptype}{\mathsf{struct}}~y_0)\) be \({\href{../valid/conventions.html#aux-expand-deftype}{\mathrm{expand}}}(z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{types}}{}[x])\).

    17. Let \({({\mathsf{mut}^?},\, {\mathit{zt}})^\ast}\) be \(y_0\).

    18. -
    19. If \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) is of the case \(\mathsf{ref.struct\_addr}\), then:

      +
    20. If \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) is of the case \(\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}struct}}\), then:

        -
      1. Let \((\mathsf{ref.struct}~a)\) be \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\).

      2. +
      3. Let \((\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}struct}}~a)\) be \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\).

      4. If \({|{{\mathsf{mut}^?}^\ast}|}\) is \({|{{\mathit{zt}}^\ast}|}\) and \(i\) is less than \({|{{\mathit{zt}}^\ast}|}\), then:

          -
        1. Perform \(z{}[\mathsf{structs}{}[a].\mathsf{fields}{}[i] = {{\href{../exec/runtime.html#aux-packfield}{\mathrm{pack}}}}_{{{\mathit{zt}}^\ast}{}[i]}({\href{../exec/runtime.html#syntax-val}{\mathit{val}}})]\).

        2. +
        3. Perform \(z{}[\href{../exec/runtime.html#syntax-store}{\mathsf{structs}}{}[a]{.}\href{../exec/runtime.html#syntax-structinst}{\mathsf{fields}}{}[i] = {{\href{../exec/runtime.html#aux-packfield}{\mathrm{pack}}}}_{{{\mathit{zt}}^\ast}{}[i]}({\href{../exec/runtime.html#syntax-val}{\mathit{val}}})]\).

      5. @@ -876,39 +876,39 @@

        Quick search

      \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& z ; (\mathsf{ref.null}~{\mathit{ht}})~{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}~(\mathsf{struct.set}~x~i) &\hookrightarrow& z ; \mathsf{trap} \\ -& z ; (\mathsf{ref.struct}~a)~{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}~(\mathsf{struct.set}~x~i) &\hookrightarrow& z{}[\mathsf{structs}{}[a].\mathsf{fields}{}[i] = {{\href{../exec/runtime.html#aux-packfield}{\mathrm{pack}}}}_{{{\mathit{zt}}^\ast}{}[i]}({\href{../exec/runtime.html#syntax-val}{\mathit{val}}})] ; \epsilon - &\qquad \mbox{if}~z{.}\mathsf{types}{}[x] \approx \mathsf{struct}~{({\mathsf{mut}^?}~{\mathit{zt}})^\ast} \\ +& z ; (\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.null}}~{\mathit{ht}})~{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}~(\href{../syntax/instructions.html#syntax-instr-struct}{\mathsf{struct.set}}~x~i) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& z ; \href{../exec/runtime.html#syntax-trap}{\mathsf{trap}} \\ +& z ; (\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}struct}}~a)~{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}~(\href{../syntax/instructions.html#syntax-instr-struct}{\mathsf{struct.set}}~x~i) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& z{}[\href{../exec/runtime.html#syntax-store}{\mathsf{structs}}{}[a]{.}\href{../exec/runtime.html#syntax-structinst}{\mathsf{fields}}{}[i] = {{\href{../exec/runtime.html#aux-packfield}{\mathrm{pack}}}}_{{{\mathit{zt}}^\ast}{}[i]}({\href{../exec/runtime.html#syntax-val}{\mathit{val}}})] ; \epsilon + &\qquad \mbox{if}~z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{types}}{}[x] \approx \href{../syntax/types.html#syntax-comptype}{\mathsf{struct}}~{({\mathsf{mut}^?}~{\mathit{zt}})^\ast} \\ \end{array}\end{split}\]
    -
    -

    \(\mathsf{array.new}~x\)

    +
    +

    \(\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.new}}~x\)

      -
    1. Assert: Due to validation, a value of value type \(\mathsf{i{\scriptstyle32}}\) is on the top of the stack.

    2. -
    3. Pop the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n)\) from the stack.

    4. +
    5. Assert: Due to validation, a value of value type \(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}\) is on the top of the stack.

    6. +
    7. Pop the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n)\) from the stack.

    8. Assert: Due to validation, a value is on the top of the stack.

    9. Pop the value \({\href{../exec/runtime.html#syntax-val}{\mathit{val}}}\) from the stack.

    10. Push the values \({{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^{n}}\) to the stack.

    11. -
    12. Execute the instruction \((\mathsf{array.new\_fixed}~x~n)\).

    13. +
    14. Execute the instruction \((\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.new\_fixed}}~x~n)\).

    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& {\href{../exec/runtime.html#syntax-val}{\mathit{val}}}~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n)~(\mathsf{array.new}~x) &\hookrightarrow& {{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^{n}}~(\mathsf{array.new\_fixed}~x~n) \\ +& {\href{../exec/runtime.html#syntax-val}{\mathit{val}}}~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n)~(\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.new}}~x) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& {{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^{n}}~(\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.new\_fixed}}~x~n) \\ \end{array}\end{split}\]
    -
    -

    \(\mathsf{array.new\_default}~x\)

    +
    +

    \(\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.new\_default}}~x\)

    1. Let \(z\) be the current state.

    2. -
    3. Assert: Due to validation, a value of value type \(\mathsf{i{\scriptstyle32}}\) is on the top of the stack.

    4. -
    5. Pop the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n)\) from the stack.

    6. -
    7. Assert: Due to validation, \({\href{../valid/conventions.html#aux-expand-deftype}{\mathrm{expand}}}(z{.}\mathsf{types}{}[x])\) is of the case \(\mathsf{array}\).

    8. -
    9. Let \((\mathsf{array}~y_0)\) be \({\href{../valid/conventions.html#aux-expand-deftype}{\mathrm{expand}}}(z{.}\mathsf{types}{}[x])\).

    10. +
    11. Assert: Due to validation, a value of value type \(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}\) is on the top of the stack.

    12. +
    13. Pop the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n)\) from the stack.

    14. +
    15. Assert: Due to validation, \({\href{../valid/conventions.html#aux-expand-deftype}{\mathrm{expand}}}(z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{types}}{}[x])\) is of the case \(\href{../syntax/types.html#syntax-comptype}{\mathsf{array}}\).

    16. +
    17. Let \((\href{../syntax/types.html#syntax-comptype}{\mathsf{array}}~y_0)\) be \({\href{../valid/conventions.html#aux-expand-deftype}{\mathrm{expand}}}(z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{types}}{}[x])\).

    18. Let \(({\mathsf{mut}^?},\, {\mathit{zt}})\) be \(y_0\).

    19. Assert: Due to validation, \({{\href{../exec/runtime.html#default-val}{\mathrm{default}}}}_{{\href{../syntax/types.html#aux-unpack}{\mathrm{unpack}}}({\mathit{zt}})}\) is defined.

    20. Let \({\href{../exec/runtime.html#syntax-val}{\mathit{val}}}\) be \({{\href{../exec/runtime.html#default-val}{\mathrm{default}}}}_{{\href{../syntax/types.html#aux-unpack}{\mathrm{unpack}}}({\mathit{zt}})}\).

    21. Push the values \({{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^{n}}\) to the stack.

    22. -
    23. Execute the instruction \((\mathsf{array.new\_fixed}~x~n)\).

    24. +
    25. Execute the instruction \((\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.new\_fixed}}~x~n)\).

    Todo

    @@ -931,24 +931,24 @@

    Quick search

    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& z ; (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n)~(\mathsf{array.new\_default}~x) &\hookrightarrow& {{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^{n}}~(\mathsf{array.new\_fixed}~x~n) - &\qquad \mbox{if}~z{.}\mathsf{types}{}[x] \approx \mathsf{array}~({\mathsf{mut}^?}~{\mathit{zt}}) \\ +& z ; (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n)~(\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.new\_default}}~x) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& {{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^{n}}~(\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.new\_fixed}}~x~n) + &\qquad \mbox{if}~z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{types}}{}[x] \approx \href{../syntax/types.html#syntax-comptype}{\mathsf{array}}~({\mathsf{mut}^?}~{\mathit{zt}}) \\ &&&&\qquad {\land}~{{\href{../exec/runtime.html#default-val}{\mathrm{default}}}}_{{\href{../syntax/types.html#aux-unpack}{\mathrm{unpack}}}({\mathit{zt}})} = {\href{../exec/runtime.html#syntax-val}{\mathit{val}}} \\ \end{array}\end{split}\]
    -
    -

    \(\mathsf{array.new\_fixed}~x~n\)

    +
    +

    \(\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.new\_fixed}}~x~n\)

    1. Let \(z\) be the current state.

    2. Assert: Due to validation, there are at least \(n\) values on the top of the stack.

    3. Pop the values \({{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^{n}}\) from the stack.

    4. -
    5. Let \(a\) be \({|z{.}\mathsf{arrays}|}\).

    6. -
    7. Assert: Due to validation, \({\href{../valid/conventions.html#aux-expand-deftype}{\mathrm{expand}}}(z{.}\mathsf{types}{}[x])\) is of the case \(\mathsf{array}\).

    8. -
    9. Let \((\mathsf{array}~y_0)\) be \({\href{../valid/conventions.html#aux-expand-deftype}{\mathrm{expand}}}(z{.}\mathsf{types}{}[x])\).

    10. +
    11. Let \(a\) be \({|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{arrays}}|}\).

    12. +
    13. Assert: Due to validation, \({\href{../valid/conventions.html#aux-expand-deftype}{\mathrm{expand}}}(z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{types}}{}[x])\) is of the case \(\href{../syntax/types.html#syntax-comptype}{\mathsf{array}}\).

    14. +
    15. Let \((\href{../syntax/types.html#syntax-comptype}{\mathsf{array}}~y_0)\) be \({\href{../valid/conventions.html#aux-expand-deftype}{\mathrm{expand}}}(z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{types}}{}[x])\).

    16. Let \(({\mathsf{mut}^?},\, {\mathit{zt}})\) be \(y_0\).

    17. -
    18. Let \({\mathit{ai}}\) be \(\{ \begin{array}[t]{@{}l@{}}\mathsf{type}~z{.}\mathsf{types}{}[x],\; \mathsf{fields}~{{{\href{../exec/runtime.html#aux-packfield}{\mathrm{pack}}}}_{{\mathit{zt}}}({\href{../exec/runtime.html#syntax-val}{\mathit{val}}})^{n}} \}\end{array}\).

    19. -
    20. Push the value \((\mathsf{ref.array}~a)\) to the stack.

    21. -
    22. Perform \(z{}[\mathsf{arrays} = ..{\mathit{ai}}]\).

    23. +
    24. Let \({\mathit{ai}}\) be \(\{ \begin{array}[t]{@{}l@{}}\mathsf{type}~z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{types}}{}[x],\; \mathsf{fields}~{{{\href{../exec/runtime.html#aux-packfield}{\mathrm{pack}}}}_{{\mathit{zt}}}({\href{../exec/runtime.html#syntax-val}{\mathit{val}}})^{n}} \}\end{array}\).

    25. +
    26. Push the value \((\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a)\) to the stack.

    27. +
    28. Perform \(z{}[\href{../exec/runtime.html#syntax-store}{\mathsf{arrays}} = ..{\mathit{ai}}]\).

    Todo

    @@ -977,25 +977,26 @@

    Quick search

    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& z ; {{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^{n}}~(\mathsf{array.new\_fixed}~x~n) &\hookrightarrow& \multicolumn{2}{l@{}}{ z{}[\mathsf{arrays} = ..{\mathit{ai}}] ; (\mathsf{ref.array}~a) } \\ - &&& \multicolumn{2}{l@{}}{\quad \mbox{if}~z{.}\mathsf{types}{}[x] \approx \mathsf{array}~({\mathsf{mut}^?}~{\mathit{zt}})} \\ - &&& \multicolumn{2}{l@{}}{\quad {\land}~a = {|z{.}\mathsf{arrays}|} \land {\mathit{ai}} = \{ \begin{array}[t]{@{}l@{}} -\mathsf{type}~z{.}\mathsf{types}{}[x],\; \mathsf{fields}~{({{\href{../exec/runtime.html#aux-packfield}{\mathrm{pack}}}}_{{\mathit{zt}}}({\href{../exec/runtime.html#syntax-val}{\mathit{val}}}))^{n}} \}\end{array}} \\ +& z ; {{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^{n}}~(\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.new\_fixed}}~x~n) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \multicolumn{2}{l@{}}{ z{}[\href{../exec/runtime.html#syntax-store}{\mathsf{arrays}} = ..{\mathit{ai}}] ; (\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a) } \\ + &&& \multicolumn{2}{l@{}}{\quad \mbox{if}~z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{types}}{}[x] \approx \href{../syntax/types.html#syntax-comptype}{\mathsf{array}}~({\mathsf{mut}^?}~{\mathit{zt}})} \\ + &&& \multicolumn{2}{l@{}}{\quad {\land}~a = {|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{arrays}}|} \land {\mathit{ai}} = \{ \begin{array}[t]{@{}l@{}} +\mathsf{type}~z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{types}}{}[x],\; \mathsf{fields}~{({{\href{../exec/runtime.html#aux-packfield}{\mathrm{pack}}}}_{{\mathit{zt}}}({\href{../exec/runtime.html#syntax-val}{\mathit{val}}}))^{n}} \}\end{array}} \\ \end{array}\end{split}\]
    -
    -

    \(\mathsf{array.new\_data}~x~y\)

    +
    +

    \(\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.new\_data}}~x~y\)

      -
    1. Assert: Due to validation, a value of value type \(\mathsf{i{\scriptstyle32}}\) is on the top of the stack.

    2. -
    3. Pop the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n)\) from the stack.

    4. -
    5. Assert: Due to validation, a value of value type \(\mathsf{i{\scriptstyle32}}\) is on the top of the stack.

    6. -
    7. Pop the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)\) from the stack.

    8. -
    9. If \({\href{../valid/conventions.html#aux-expand-deftype}{\mathrm{expand}}}({\href{../syntax/types.html#syntax-rectype}{\mathit{type}}}(x))\) is of the case \(\mathsf{array}\), then:

      +
    10. Let \(z\) be the current state.

    11. +
    12. Assert: Due to validation, a value of value type \(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}\) is on the top of the stack.

    13. +
    14. Pop the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n)\) from the stack.

    15. +
    16. Assert: Due to validation, a value of value type \(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}\) is on the top of the stack.

    17. +
    18. Pop the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)\) from the stack.

    19. +
    20. If \({\href{../valid/conventions.html#aux-expand-deftype}{\mathrm{expand}}}(z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{types}}{}[x])\) is of the case \(\href{../syntax/types.html#syntax-comptype}{\mathsf{array}}\), then:

        -
      1. Let \((\mathsf{array}~y_0)\) be \({\href{../valid/conventions.html#aux-expand-deftype}{\mathrm{expand}}}({\href{../syntax/types.html#syntax-rectype}{\mathit{type}}}(x))\).

      2. +
      3. Let \((\href{../syntax/types.html#syntax-comptype}{\mathsf{array}}~y_0)\) be \({\href{../valid/conventions.html#aux-expand-deftype}{\mathrm{expand}}}(z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{types}}{}[x])\).

      4. Let \(({\mathsf{mut}^?},\, {\mathit{zt}})\) be \(y_0\).

      5. -
      6. If \(i + n \cdot {|{\mathit{zt}}|} / 8\) is greater than \({|{\href{../syntax/modules.html#syntax-data}{\mathit{data}}}(y){.}\mathsf{bytes}|}\), then:

        +
      7. If \(i + n \cdot {|{\mathit{zt}}|} / 8\) is greater than \({|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{datas}}{}[y]{.}\mathsf{bytes}|}\), then:

        1. Trap.

        2. @@ -1003,11 +1004,11 @@

          Quick search

      8. Let \({\mathit{cnn}}\) be \({\href{../syntax/types.html#aux-unpack}{\mathrm{unpack}}}({\mathit{zt}})\).

      9. -
      10. Let \({b^\ast}\) be \({\href{../syntax/modules.html#syntax-data}{\mathit{data}}}(y){.}\mathsf{bytes}{}[i : n \cdot {|{\mathit{zt}}|} / 8]\).

      11. +
      12. Let \({b^\ast}\) be \(z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{datas}}{}[y]{.}\mathsf{bytes}{}[i : n \cdot {|{\mathit{zt}}|} / 8]\).

      13. Let \({{\mathit{gb}}^\ast}\) be \({\mathrm{group}}_{{\mathit{bytes}}_{\mathit{by}}}({|{\mathit{zt}}|} / 8, {b^\ast})\).

      14. Let \({c^{n}}\) be \({{\mathrm{inverse}}_{{\mathit{of}}_{\mathit{ibytes}}}({|{\mathit{zt}}|}, {\mathit{gb}})^\ast}\).

      15. -
      16. Push the values \({({\mathit{cnn}}{.}\mathsf{const}~c)^{n}}\) to the stack.

      17. -
      18. Execute the instruction \((\mathsf{array.new\_fixed}~x~n)\).

      19. +
      20. Push the values \({({\mathit{cnn}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c)^{n}}\) to the stack.

      21. +
      22. Execute the instruction \((\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.new\_fixed}}~x~n)\).

    21. @@ -1050,61 +1051,61 @@

      Quick search

    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& z ; (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n)~(\mathsf{array.new\_data}~x~y) &\hookrightarrow& \multicolumn{2}{l@{}}{ \mathsf{trap} } \\ - &&& \multicolumn{2}{l@{}}{\quad \mbox{if}~z{.}\mathsf{types}{}[x] \approx \mathsf{array}~({\mathsf{mut}^?}~{\mathit{zt}})} \\ - &&& \multicolumn{2}{l@{}}{\quad {\land}~i + n \cdot {|{\mathit{zt}}|} / 8 > {|z{.}\mathsf{datas}{}[y]{.}\mathsf{bytes}|}} \\ -& z ; (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n)~(\mathsf{array.new\_data}~x~y) &\hookrightarrow& \multicolumn{2}{l@{}}{ {({\href{../syntax/types.html#aux-unpack}{\mathrm{unpack}}}({\mathit{zt}}){.}\mathsf{const}~{{\href{../exec/numerics.html#aux-unpacknum}{\mathrm{unpack}}}}_{{\mathit{zt}}}(c))^{n}}~(\mathsf{array.new\_fixed}~x~n) } \\ - &&& \multicolumn{2}{l@{}}{\quad \mbox{if}~z{.}\mathsf{types}{}[x] \approx \mathsf{array}~({\mathsf{mut}^?}~{\mathit{zt}})} \\ - &&& \multicolumn{2}{l@{}}{\quad {\land}~{\href{../syntax/conventions.html#notation-concat}{\mathrm{concat}}}({{{\href{../exec/numerics.html#aux-bytes}{\mathrm{bytes}}}}_{{\mathit{zt}}}(c)^{n}}) = z{.}\mathsf{datas}{}[y]{.}\mathsf{bytes}{}[i : n \cdot {|{\mathit{zt}}|} / 8]} \\ +& z ; (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n)~(\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.new\_data}}~x~y) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \multicolumn{2}{l@{}}{ \href{../exec/runtime.html#syntax-trap}{\mathsf{trap}} } \\ + &&& \multicolumn{2}{l@{}}{\quad \mbox{if}~z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{types}}{}[x] \approx \href{../syntax/types.html#syntax-comptype}{\mathsf{array}}~({\mathsf{mut}^?}~{\mathit{zt}})} \\ + &&& \multicolumn{2}{l@{}}{\quad {\land}~i + n \cdot {|{\mathit{zt}}|} / 8 > {|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{datas}}{}[y]{.}\mathsf{bytes}|}} \\ +& z ; (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n)~(\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.new\_data}}~x~y) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \multicolumn{2}{l@{}}{ {({\href{../syntax/types.html#aux-unpack}{\mathrm{unpack}}}({\mathit{zt}}){.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~{{\href{../exec/numerics.html#aux-unpacknum}{\mathrm{unpack}}}}_{{\mathit{zt}}}(c))^{n}}~(\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.new\_fixed}}~x~n) } \\ + &&& \multicolumn{2}{l@{}}{\quad \mbox{if}~z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{types}}{}[x] \approx \href{../syntax/types.html#syntax-comptype}{\mathsf{array}}~({\mathsf{mut}^?}~{\mathit{zt}})} \\ + &&& \multicolumn{2}{l@{}}{\quad {\land}~{\href{../syntax/conventions.html#notation-concat}{\mathrm{concat}}}({{{\href{../exec/numerics.html#aux-bytes}{\mathrm{bytes}}}}_{{\mathit{zt}}}(c)^{n}}) = z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{datas}}{}[y]{.}\mathsf{bytes}{}[i : n \cdot {|{\mathit{zt}}|} / 8]} \\ \end{array}\end{split}\]
    -
    -

    \(\mathsf{array.new\_elem}~x~y\)

    +
    +

    \(\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.new\_elem}}~x~y\)

    1. Let \(z\) be the current state.

    2. -
    3. Assert: Due to validation, a value of value type \(\mathsf{i{\scriptstyle32}}\) is on the top of the stack.

    4. -
    5. Pop the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n)\) from the stack.

    6. -
    7. Assert: Due to validation, a value of value type \(\mathsf{i{\scriptstyle32}}\) is on the top of the stack.

    8. -
    9. Pop the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)\) from the stack.

    10. -
    11. If \(i + n\) is greater than \({|z{.}\mathsf{elems}{}[y]{.}\mathsf{refs}|}\), then:

      +
    12. Assert: Due to validation, a value of value type \(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}\) is on the top of the stack.

    13. +
    14. Pop the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n)\) from the stack.

    15. +
    16. Assert: Due to validation, a value of value type \(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}\) is on the top of the stack.

    17. +
    18. Pop the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)\) from the stack.

    19. +
    20. If \(i + n\) is greater than \({|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{elems}}{}[y]{.}\mathsf{refs}|}\), then:

      1. Trap.

    21. -
    22. Let \({{\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}^{n}}\) be \(z{.}\mathsf{elems}{}[y]{.}\mathsf{refs}{}[i : n]\).

    23. +
    24. Let \({{\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}^{n}}\) be \(z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{elems}}{}[y]{.}\mathsf{refs}{}[i : n]\).

    25. Push the values \({{\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}^{n}}\) to the stack.

    26. -
    27. Execute the instruction \((\mathsf{array.new\_fixed}~x~n)\).

    28. +
    29. Execute the instruction \((\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.new\_fixed}}~x~n)\).

    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& z ; (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n)~(\mathsf{array.new\_elem}~x~y) &\hookrightarrow& \mathsf{trap} - &\qquad \mbox{if}~i + n > {|z{.}\mathsf{elems}{}[y]{.}\mathsf{refs}|} \\ -& z ; (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n)~(\mathsf{array.new\_elem}~x~y) &\hookrightarrow& \multicolumn{2}{l@{}}{ {{\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}^{n}}~(\mathsf{array.new\_fixed}~x~n) } \\ - &&& \multicolumn{2}{l@{}}{\quad \mbox{if}~{{\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}^{n}} = z{.}\mathsf{elems}{}[y]{.}\mathsf{refs}{}[i : n]} \\ +& z ; (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n)~(\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.new\_elem}}~x~y) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \href{../exec/runtime.html#syntax-trap}{\mathsf{trap}} + &\qquad \mbox{if}~i + n > {|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{elems}}{}[y]{.}\mathsf{refs}|} \\ +& z ; (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n)~(\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.new\_elem}}~x~y) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \multicolumn{2}{l@{}}{ {{\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}^{n}}~(\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.new\_fixed}}~x~n) } \\ + &&& \multicolumn{2}{l@{}}{\quad \mbox{if}~{{\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}^{n}} = z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{elems}}{}[y]{.}\mathsf{refs}{}[i : n]} \\ \end{array}\end{split}\]
    -
    -

    \({{\mathsf{array.get}}{\mathsf{\_}}}{{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}^?}}~x\)

    +
    +

    \({\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.get}}}{\mathsf{\_}}{{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}^?}}~x\)

    1. Let \(z\) be the current state.

    2. -
    3. Assert: Due to validation, a value of value type \(\mathsf{i{\scriptstyle32}}\) is on the top of the stack.

    4. -
    5. Pop the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)\) from the stack.

    6. +
    7. Assert: Due to validation, a value of value type \(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}\) is on the top of the stack.

    8. +
    9. Pop the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)\) from the stack.

    10. Assert: Due to validation, a value is on the top of the stack.

    11. Pop the value \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) from the stack.

    12. -
    13. If \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) is of the case \(\mathsf{ref.null}\), then:

      +
    14. If \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) is of the case \(\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.null}}\), then:

      1. Trap.

    15. -
    16. If \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) is of the case \(\mathsf{ref.array\_addr}\), then:

      +
    17. If \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) is of the case \(\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}\), then:

        -
      1. Let \((\mathsf{ref.array}~a)\) be \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\).

      2. -
      3. If \(a\) is less than \({|z{.}\mathsf{arrays}|}\) and \(i\) is greater than or equal to \({|z{.}\mathsf{arrays}{}[a]{.}\mathsf{fields}|}\), then:

        +
      4. Let \((\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a)\) be \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\).

      5. +
      6. If \(a\) is less than \({|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{arrays}}|}\) and \(i\) is greater than or equal to \({|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{arrays}}{}[a]{.}\mathsf{fields}|}\), then:

        1. Trap.

        2. @@ -1114,16 +1115,16 @@

          Quick search

      7. -
      8. Assert: Due to validation, \({\href{../valid/conventions.html#aux-expand-deftype}{\mathrm{expand}}}(z{.}\mathsf{types}{}[x])\) is of the case \(\mathsf{array}\).

      9. -
      10. Let \((\mathsf{array}~y_0)\) be \({\href{../valid/conventions.html#aux-expand-deftype}{\mathrm{expand}}}(z{.}\mathsf{types}{}[x])\).

      11. +
      12. Assert: Due to validation, \({\href{../valid/conventions.html#aux-expand-deftype}{\mathrm{expand}}}(z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{types}}{}[x])\) is of the case \(\href{../syntax/types.html#syntax-comptype}{\mathsf{array}}\).

      13. +
      14. Let \((\href{../syntax/types.html#syntax-comptype}{\mathsf{array}}~y_0)\) be \({\href{../valid/conventions.html#aux-expand-deftype}{\mathrm{expand}}}(z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{types}}{}[x])\).

      15. Let \(({\mathsf{mut}^?},\, {\mathit{zt}})\) be \(y_0\).

      16. -
      17. If \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) is of the case \(\mathsf{ref.array\_addr}\), then:

        +
      18. If \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) is of the case \(\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}\), then:

          -
        1. Let \((\mathsf{ref.array}~a)\) be \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\).

        2. -
        3. If \(i\) is less than \({|z{.}\mathsf{arrays}{}[a]{.}\mathsf{fields}|}\) and \(a\) is less than \({|z{.}\mathsf{arrays}|}\), then:

          +
        4. Let \((\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a)\) be \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\).

        5. +
        6. If \(i\) is less than \({|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{arrays}}{}[a]{.}\mathsf{fields}|}\) and \(a\) is less than \({|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{arrays}}|}\), then:

            -
          1. Push the value \({{{{\href{../exec/runtime.html#aux-unpackfield}{\mathrm{unpack}}}}_{{\mathit{zt}}}^{{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}^?}}}}{(z{.}\mathsf{arrays}{}[a]{.}\mathsf{fields}{}[i])}\) to the stack.

          2. +
          3. Push the value \({{{{\href{../exec/runtime.html#aux-unpackfield}{\mathrm{unpack}}}}_{{\mathit{zt}}}^{{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}^?}}}}{(z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{arrays}}{}[a]{.}\mathsf{fields}{}[i])}\) to the stack.

        7. @@ -1168,35 +1169,35 @@

          Quick search

        \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& z ; (\mathsf{ref.null}~{\mathit{ht}})~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)~({{\mathsf{array.get}}{\mathsf{\_}}}{{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}^?}}~x) &\hookrightarrow& \mathsf{trap} \\ -& z ; (\mathsf{ref.array}~a)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)~({{\mathsf{array.get}}{\mathsf{\_}}}{{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}^?}}~x) &\hookrightarrow& \mathsf{trap} - &\qquad \mbox{if}~i \geq {|z{.}\mathsf{arrays}{}[a]{.}\mathsf{fields}|} \\ -& z ; (\mathsf{ref.array}~a)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)~({{\mathsf{array.get}}{\mathsf{\_}}}{{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}^?}}~x) &\hookrightarrow& \multicolumn{2}{l@{}}{ {{{{\href{../exec/runtime.html#aux-unpackfield}{\mathrm{unpack}}}}_{{\mathit{zt}}}^{{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}^?}}}}{(z{.}\mathsf{arrays}{}[a]{.}\mathsf{fields}{}[i])} } \\ - &&& \multicolumn{2}{l@{}}{\quad \mbox{if}~z{.}\mathsf{types}{}[x] \approx \mathsf{array}~({\mathsf{mut}^?}~{\mathit{zt}})} \\ +& z ; (\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.null}}~{\mathit{ht}})~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)~({\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.get}}}{\mathsf{\_}}{{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}^?}}~x) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \href{../exec/runtime.html#syntax-trap}{\mathsf{trap}} \\ +& z ; (\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)~({\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.get}}}{\mathsf{\_}}{{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}^?}}~x) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \href{../exec/runtime.html#syntax-trap}{\mathsf{trap}} + &\qquad \mbox{if}~i \geq {|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{arrays}}{}[a]{.}\mathsf{fields}|} \\ +& z ; (\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)~({\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.get}}}{\mathsf{\_}}{{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}^?}}~x) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \multicolumn{2}{l@{}}{ {{{{\href{../exec/runtime.html#aux-unpackfield}{\mathrm{unpack}}}}_{{\mathit{zt}}}^{{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}^?}}}}{(z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{arrays}}{}[a]{.}\mathsf{fields}{}[i])} } \\ + &&& \multicolumn{2}{l@{}}{\quad \mbox{if}~z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{types}}{}[x] \approx \href{../syntax/types.html#syntax-comptype}{\mathsf{array}}~({\mathsf{mut}^?}~{\mathit{zt}})} \\ \end{array}\end{split}\]
    -
    -

    \(\mathsf{array.set}~x\)

    +
    +

    \(\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.set}}~x\)

    1. Let \(z\) be the current state.

    2. Assert: Due to validation, a value is on the top of the stack.

    3. Pop the value \({\href{../exec/runtime.html#syntax-val}{\mathit{val}}}\) from the stack.

    4. -
    5. Assert: Due to validation, a value of value type \(\mathsf{i{\scriptstyle32}}\) is on the top of the stack.

    6. -
    7. Pop the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)\) from the stack.

    8. +
    9. Assert: Due to validation, a value of value type \(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}\) is on the top of the stack.

    10. +
    11. Pop the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)\) from the stack.

    12. Assert: Due to validation, a value is on the top of the stack.

    13. Pop the value \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) from the stack.

    14. -
    15. If \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) is of the case \(\mathsf{ref.null}\), then:

      +
    16. If \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) is of the case \(\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.null}}\), then:

      1. Trap.

    17. -
    18. If \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) is of the case \(\mathsf{ref.array\_addr}\), then:

      +
    19. If \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) is of the case \(\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}\), then:

        -
      1. Let \((\mathsf{ref.array}~a)\) be \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\).

      2. -
      3. If \(a\) is less than \({|z{.}\mathsf{arrays}|}\) and \(i\) is greater than or equal to \({|z{.}\mathsf{arrays}{}[a]{.}\mathsf{fields}|}\), then:

        +
      4. Let \((\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a)\) be \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\).

      5. +
      6. If \(a\) is less than \({|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{arrays}}|}\) and \(i\) is greater than or equal to \({|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{arrays}}{}[a]{.}\mathsf{fields}|}\), then:

        1. Trap.

        2. @@ -1206,13 +1207,13 @@

          Quick search

      7. -
      8. Assert: Due to validation, \({\href{../valid/conventions.html#aux-expand-deftype}{\mathrm{expand}}}(z{.}\mathsf{types}{}[x])\) is of the case \(\mathsf{array}\).

      9. -
      10. Let \((\mathsf{array}~y_0)\) be \({\href{../valid/conventions.html#aux-expand-deftype}{\mathrm{expand}}}(z{.}\mathsf{types}{}[x])\).

      11. +
      12. Assert: Due to validation, \({\href{../valid/conventions.html#aux-expand-deftype}{\mathrm{expand}}}(z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{types}}{}[x])\) is of the case \(\href{../syntax/types.html#syntax-comptype}{\mathsf{array}}\).

      13. +
      14. Let \((\href{../syntax/types.html#syntax-comptype}{\mathsf{array}}~y_0)\) be \({\href{../valid/conventions.html#aux-expand-deftype}{\mathrm{expand}}}(z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{types}}{}[x])\).

      15. Let \(({\mathsf{mut}^?},\, {\mathit{zt}})\) be \(y_0\).

      16. -
      17. If \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) is of the case \(\mathsf{ref.array\_addr}\), then:

        +
      18. If \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) is of the case \(\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}\), then:

          -
        1. Let \((\mathsf{ref.array}~a)\) be \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\).

        2. -
        3. Perform \(z{}[\mathsf{arrays}{}[a].\mathsf{fields}{}[i] = {{\href{../exec/runtime.html#aux-packfield}{\mathrm{pack}}}}_{{\mathit{zt}}}({\href{../exec/runtime.html#syntax-val}{\mathit{val}}})]\).

        4. +
        5. Let \((\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a)\) be \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\).

        6. +
        7. Perform \(z{}[\href{../exec/runtime.html#syntax-store}{\mathsf{arrays}}{}[a]{.}\href{../exec/runtime.html#syntax-arrayinst}{\mathsf{fields}}{}[i] = {{\href{../exec/runtime.html#aux-packfield}{\mathrm{pack}}}}_{{\mathit{zt}}}({\href{../exec/runtime.html#syntax-val}{\mathit{val}}})]\).

      @@ -1255,34 +1256,34 @@

      Quick search

    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& z ; (\mathsf{ref.null}~{\mathit{ht}})~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)~{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}~(\mathsf{array.set}~x) &\hookrightarrow& z ; \mathsf{trap} \\ -& z ; (\mathsf{ref.array}~a)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)~{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}~(\mathsf{array.set}~x) &\hookrightarrow& z ; \mathsf{trap} - &\qquad \mbox{if}~i \geq {|z{.}\mathsf{arrays}{}[a]{.}\mathsf{fields}|} \\ -& z ; (\mathsf{ref.array}~a)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)~{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}~(\mathsf{array.set}~x) &\hookrightarrow& \multicolumn{2}{l@{}}{ z{}[\mathsf{arrays}{}[a].\mathsf{fields}{}[i] = {{\href{../exec/runtime.html#aux-packfield}{\mathrm{pack}}}}_{{\mathit{zt}}}({\href{../exec/runtime.html#syntax-val}{\mathit{val}}})] ; \epsilon } \\ - &&& \multicolumn{2}{l@{}}{\quad \mbox{if}~z{.}\mathsf{types}{}[x] \approx \mathsf{array}~({\mathsf{mut}^?}~{\mathit{zt}})} \\ +& z ; (\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.null}}~{\mathit{ht}})~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)~{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}~(\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.set}}~x) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& z ; \href{../exec/runtime.html#syntax-trap}{\mathsf{trap}} \\ +& z ; (\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)~{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}~(\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.set}}~x) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& z ; \href{../exec/runtime.html#syntax-trap}{\mathsf{trap}} + &\qquad \mbox{if}~i \geq {|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{arrays}}{}[a]{.}\mathsf{fields}|} \\ +& z ; (\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)~{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}~(\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.set}}~x) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \multicolumn{2}{l@{}}{ z{}[\href{../exec/runtime.html#syntax-store}{\mathsf{arrays}}{}[a]{.}\href{../exec/runtime.html#syntax-arrayinst}{\mathsf{fields}}{}[i] = {{\href{../exec/runtime.html#aux-packfield}{\mathrm{pack}}}}_{{\mathit{zt}}}({\href{../exec/runtime.html#syntax-val}{\mathit{val}}})] ; \epsilon } \\ + &&& \multicolumn{2}{l@{}}{\quad \mbox{if}~z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{types}}{}[x] \approx \href{../syntax/types.html#syntax-comptype}{\mathsf{array}}~({\mathsf{mut}^?}~{\mathit{zt}})} \\ \end{array}\end{split}\]
    -
    -

    \(\mathsf{array.len}\)

    +
    +

    \(\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.len}}\)

    1. Let \(z\) be the current state.

    2. Assert: Due to validation, a value is on the top of the stack.

    3. Pop the value \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) from the stack.

    4. -
    5. If \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) is of the case \(\mathsf{ref.null}\), then:

      +
    6. If \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) is of the case \(\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.null}}\), then:

      1. Trap.

    7. -
    8. If \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) is of the case \(\mathsf{ref.array\_addr}\), then:

      +
    9. If \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) is of the case \(\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}\), then:

        -
      1. Let \((\mathsf{ref.array}~a)\) be \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\).

      2. -
      3. If \(a\) is less than \({|z{.}\mathsf{arrays}|}\), then:

        +
      4. Let \((\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a)\) be \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\).

      5. +
      6. If \(a\) is less than \({|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{arrays}}|}\), then:

          -
        1. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~{|z{.}\mathsf{arrays}{}[a]{.}\mathsf{fields}|})\) to the stack.

        2. +
        3. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~{|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{arrays}}{}[a]{.}\mathsf{fields}|})\) to the stack.

      7. @@ -1298,31 +1299,31 @@

        Quick search

      \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& z ; (\mathsf{ref.null}~{\mathit{ht}})~\mathsf{array.len} &\hookrightarrow& \mathsf{trap} \\ -& z ; (\mathsf{ref.array}~a)~\mathsf{array.len} &\hookrightarrow& (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~{|z{.}\mathsf{arrays}{}[a]{.}\mathsf{fields}|}) \\ +& z ; (\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.null}}~{\mathit{ht}})~\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.len}} &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \href{../exec/runtime.html#syntax-trap}{\mathsf{trap}} \\ +& z ; (\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a)~\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.len}} &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~{|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{arrays}}{}[a]{.}\mathsf{fields}|}) \\ \end{array}\end{split}\]
    -
    -

    \(\mathsf{array.fill}~x\)

    +
    +

    \(\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.fill}}~x\)

    1. Let \(z\) be the current state.

    2. -
    3. Assert: Due to validation, a value of value type \(\mathsf{i{\scriptstyle32}}\) is on the top of the stack.

    4. -
    5. Pop the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n)\) from the stack.

    6. +
    7. Assert: Due to validation, a value of value type \(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}\) is on the top of the stack.

    8. +
    9. Pop the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n)\) from the stack.

    10. Assert: Due to validation, a value is on the top of the stack.

    11. Pop the value \({\href{../exec/runtime.html#syntax-val}{\mathit{val}}}\) from the stack.

    12. -
    13. Assert: Due to validation, a value of value type \(\mathsf{i{\scriptstyle32}}\) is on the top of the stack.

    14. -
    15. Pop the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)\) from the stack.

    16. +
    17. Assert: Due to validation, a value of value type \(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}\) is on the top of the stack.

    18. +
    19. Pop the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)\) from the stack.

    20. Assert: Due to validation, a value is on the top of the stack.

    21. Pop the value \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) from the stack.

    22. -
    23. If \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) is of the case \(\mathsf{ref.null}\), then:

      +
    24. If \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) is of the case \(\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.null}}\), then:

      1. Trap.

    25. -
    26. If \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) is of the case \(\mathsf{ref.array\_addr}\), then:

      +
    27. If \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) is of the case \(\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}\), then:

        -
      1. Let \((\mathsf{ref.array}~a)\) be \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\).

      2. -
      3. If \(a\) is less than \({|z{.}\mathsf{arrays}|}\) and \(i + n\) is greater than \({|z{.}\mathsf{arrays}{}[a]{.}\mathsf{fields}|}\), then:

        +
      4. Let \((\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a)\) be \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\).

      5. +
      6. If \(a\) is less than \({|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{arrays}}|}\) and \(i + n\) is greater than \({|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{arrays}}{}[a]{.}\mathsf{fields}|}\), then:

        1. Trap.

        2. @@ -1339,16 +1340,16 @@

          Quick search

        3. Else:

            -
          1. Let \((\mathsf{ref.array}~a)\) be \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\).

          2. -
          3. Push the value \((\mathsf{ref.array}~a)\) to the stack.

          4. -
          5. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)\) to the stack.

          6. +
          7. Let \((\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a)\) be \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\).

          8. +
          9. Push the value \((\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a)\) to the stack.

          10. +
          11. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)\) to the stack.

          12. Push the value \({\href{../exec/runtime.html#syntax-val}{\mathit{val}}}\) to the stack.

          13. -
          14. Execute the instruction \((\mathsf{array.set}~x)\).

          15. -
          16. Push the value \((\mathsf{ref.array}~a)\) to the stack.

          17. -
          18. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i + 1)\) to the stack.

          19. +
          20. Execute the instruction \((\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.set}}~x)\).

          21. +
          22. Push the value \((\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a)\) to the stack.

          23. +
          24. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i + 1)\) to the stack.

          25. Push the value \({\href{../exec/runtime.html#syntax-val}{\mathit{val}}}\) to the stack.

          26. -
          27. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n - 1)\) to the stack.

          28. -
          29. Execute the instruction \((\mathsf{array.fill}~x)\).

          30. +
          31. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n - 1)\) to the stack.

          32. +
          33. Execute the instruction \((\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.fill}}~x)\).

        4. @@ -1363,55 +1364,55 @@

          Quick search

        \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& z ; (\mathsf{ref.null}~{\mathit{ht}})~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)~{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n)~(\mathsf{array.fill}~x) &\hookrightarrow& \mathsf{trap} \\ -& z ; (\mathsf{ref.array}~a)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)~{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n)~(\mathsf{array.fill}~x) &\hookrightarrow& \mathsf{trap} - &\qquad \mbox{if}~i + n > {|z{.}\mathsf{arrays}{}[a]{.}\mathsf{fields}|} \\ -& z ; (\mathsf{ref.array}~a)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)~{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n)~(\mathsf{array.fill}~x) &\hookrightarrow& \epsilon +& z ; (\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.null}}~{\mathit{ht}})~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)~{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n)~(\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.fill}}~x) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \href{../exec/runtime.html#syntax-trap}{\mathsf{trap}} \\ +& z ; (\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)~{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n)~(\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.fill}}~x) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \href{../exec/runtime.html#syntax-trap}{\mathsf{trap}} + &\qquad \mbox{if}~i + n > {|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{arrays}}{}[a]{.}\mathsf{fields}|} \\ +& z ; (\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)~{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n)~(\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.fill}}~x) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \epsilon &\qquad \mbox{otherwise, if}~n = 0 \\ -& z ; (\mathsf{ref.array}~a)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)~{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n)~(\mathsf{array.fill}~x) &\hookrightarrow& \\ - & \multicolumn{3}{@{}l@{}}{\qquad \begin{array}[t]{@{}l@{}} (\mathsf{ref.array}~a)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)~{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}~(\mathsf{array.set}~x) \\ (\mathsf{ref.array}~a)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i + 1)~{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n - 1)~(\mathsf{array.fill}~x) \end{array} } +& z ; (\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)~{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n)~(\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.fill}}~x) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \\ + & \multicolumn{3}{@{}l@{}}{\qquad \begin{array}[t]{@{}l@{}} (\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)~{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}~(\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.set}}~x) \\ (\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i + 1)~{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n - 1)~(\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.fill}}~x) \end{array} } &\qquad \mbox{otherwise} \\ \end{array}\end{split}\]
    -
    -

    \(\mathsf{array.copy}~x_1~x_2\)

    +
    +

    \(\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.copy}}~x_1~x_2\)

    1. Let \(z\) be the current state.

    2. -
    3. Assert: Due to validation, a value of value type \(\mathsf{i{\scriptstyle32}}\) is on the top of the stack.

    4. -
    5. Pop the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n)\) from the stack.

    6. -
    7. Assert: Due to validation, a value of value type \(\mathsf{i{\scriptstyle32}}\) is on the top of the stack.

    8. -
    9. Pop the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i_2)\) from the stack.

    10. +
    11. Assert: Due to validation, a value of value type \(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}\) is on the top of the stack.

    12. +
    13. Pop the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n)\) from the stack.

    14. +
    15. Assert: Due to validation, a value of value type \(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}\) is on the top of the stack.

    16. +
    17. Pop the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i_2)\) from the stack.

    18. Assert: Due to validation, a value is on the top of the stack.

    19. Pop the value \({\mathit{admin}}_{\mathit{u{\scriptstyle1}}}\) from the stack.

    20. -
    21. Assert: Due to validation, a value of value type \(\mathsf{i{\scriptstyle32}}\) is on the top of the stack.

    22. -
    23. Pop the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i_1)\) from the stack.

    24. +
    25. Assert: Due to validation, a value of value type \(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}\) is on the top of the stack.

    26. +
    27. Pop the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i_1)\) from the stack.

    28. Assert: Due to validation, a value is on the top of the stack.

    29. Pop the value \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) from the stack.

    30. -
    31. If \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) is of the case \(\mathsf{ref.null}\) and the type of \({\mathit{admin}}_{\mathit{u{\scriptstyle1}}}\) is ref, then:

      +
    32. If \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) is of the case \(\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.null}}\) and the type of \({\mathit{admin}}_{\mathit{u{\scriptstyle1}}}\) is ref, then:

      1. Trap.

    33. -
    34. If \({\mathit{admin}}_{\mathit{u{\scriptstyle1}}}\) is of the case \(\mathsf{ref.null}\) and the type of \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) is ref, then:

      +
    35. If \({\mathit{admin}}_{\mathit{u{\scriptstyle1}}}\) is of the case \(\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.null}}\) and the type of \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) is ref, then:

      1. Trap.

    36. -
    37. If \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) is of the case \(\mathsf{ref.array\_addr}\), then:

      +
    38. If \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) is of the case \(\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}\), then:

        -
      1. Let \((\mathsf{ref.array}~a_1)\) be \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\).

      2. -
      3. If \({\mathit{admin}}_{\mathit{u{\scriptstyle1}}}\) is of the case \(\mathsf{ref.array\_addr}\), then:

        +
      4. Let \((\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a_1)\) be \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\).

      5. +
      6. If \({\mathit{admin}}_{\mathit{u{\scriptstyle1}}}\) is of the case \(\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}\), then:

          -
        1. If \(a_1\) is less than \({|z{.}\mathsf{arrays}|}\) and \(i_1 + n\) is greater than \({|z{.}\mathsf{arrays}{}[a_1]{.}\mathsf{fields}|}\), then:

          +
        2. If \(a_1\) is less than \({|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{arrays}}|}\) and \(i_1 + n\) is greater than \({|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{arrays}}{}[a_1]{.}\mathsf{fields}|}\), then:

          1. Trap.

        3. -
        4. Let \((\mathsf{ref.array}~a_2)\) be \({\mathit{admin}}_{\mathit{u{\scriptstyle1}}}\).

        5. -
        6. If \(a_2\) is less than \({|z{.}\mathsf{arrays}|}\) and \(i_2 + n\) is greater than \({|z{.}\mathsf{arrays}{}[a_2]{.}\mathsf{fields}|}\), then:

          +
        7. Let \((\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a_2)\) be \({\mathit{admin}}_{\mathit{u{\scriptstyle1}}}\).

        8. +
        9. If \(a_2\) is less than \({|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{arrays}}|}\) and \(i_2 + n\) is greater than \({|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{arrays}}{}[a_2]{.}\mathsf{fields}|}\), then:

          1. Trap.

          2. @@ -1424,7 +1425,7 @@

            Quick search

          3. If \(n\) is \(0\), then:

              -
            1. If \({\mathit{admin}}_{\mathit{u{\scriptstyle1}}}\) is of the case \(\mathsf{ref.array\_addr}\), then:

              +
            2. If \({\mathit{admin}}_{\mathit{u{\scriptstyle1}}}\) is of the case \(\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}\), then:

              1. Do nothing.

              2. @@ -1437,27 +1438,27 @@

                Quick search

              3. Else if \(i_1\) is greater than \(i_2\), then:

                  -
                1. Assert: Due to validation, \({\href{../valid/conventions.html#aux-expand-deftype}{\mathrm{expand}}}(z{.}\mathsf{types}{}[x_2])\) is of the case \(\mathsf{array}\).

                2. -
                3. Let \((\mathsf{array}~y_0)\) be \({\href{../valid/conventions.html#aux-expand-deftype}{\mathrm{expand}}}(z{.}\mathsf{types}{}[x_2])\).

                4. +
                5. Assert: Due to validation, \({\href{../valid/conventions.html#aux-expand-deftype}{\mathrm{expand}}}(z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{types}}{}[x_2])\) is of the case \(\href{../syntax/types.html#syntax-comptype}{\mathsf{array}}\).

                6. +
                7. Let \((\href{../syntax/types.html#syntax-comptype}{\mathsf{array}}~y_0)\) be \({\href{../valid/conventions.html#aux-expand-deftype}{\mathrm{expand}}}(z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{types}}{}[x_2])\).

                8. Let \(({\mathsf{mut}^?},\, {\mathit{zt}}_2)\) be \(y_0\).

                9. -
                10. Let \((\mathsf{ref.array}~a_1)\) be \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\).

                11. -
                12. If \({\mathit{admin}}_{\mathit{u{\scriptstyle1}}}\) is of the case \(\mathsf{ref.array\_addr}\), then:

                  +
                13. Let \((\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a_1)\) be \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\).

                14. +
                15. If \({\mathit{admin}}_{\mathit{u{\scriptstyle1}}}\) is of the case \(\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}\), then:

                    -
                  1. Let \((\mathsf{ref.array}~a_2)\) be \({\mathit{admin}}_{\mathit{u{\scriptstyle1}}}\).

                  2. +
                  3. Let \((\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a_2)\) be \({\mathit{admin}}_{\mathit{u{\scriptstyle1}}}\).

                  4. Let \({{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}^?}\) be \({\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}({\mathit{zt}}_2)\).

                  5. -
                  6. Push the value \((\mathsf{ref.array}~a_1)\) to the stack.

                  7. -
                  8. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i_1 + n - 1)\) to the stack.

                  9. -
                  10. Push the value \((\mathsf{ref.array}~a_2)\) to the stack.

                  11. -
                  12. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i_2 + n - 1)\) to the stack.

                  13. -
                  14. Execute the instruction \(({{\mathsf{array.get}}{\mathsf{\_}}}{{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}^?}}~x_2)\).

                  15. -
                  16. Execute the instruction \((\mathsf{array.set}~x_1)\).

                  17. -
                  18. Push the value \((\mathsf{ref.array}~a_1)\) to the stack.

                  19. -
                  20. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i_1)\) to the stack.

                  21. -
                  22. Push the value \((\mathsf{ref.array}~a_2)\) to the stack.

                  23. -
                  24. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i_2)\) to the stack.

                  25. -
                  26. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n - 1)\) to the stack.

                  27. -
                  28. Execute the instruction \((\mathsf{array.copy}~x_1~x_2)\).

                  29. +
                  30. Push the value \((\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a_1)\) to the stack.

                  31. +
                  32. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i_1 + n - 1)\) to the stack.

                  33. +
                  34. Push the value \((\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a_2)\) to the stack.

                  35. +
                  36. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i_2 + n - 1)\) to the stack.

                  37. +
                  38. Execute the instruction \(({\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.get}}}{\mathsf{\_}}{{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}^?}}~x_2)\).

                  39. +
                  40. Execute the instruction \((\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.set}}~x_1)\).

                  41. +
                  42. Push the value \((\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a_1)\) to the stack.

                  43. +
                  44. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i_1)\) to the stack.

                  45. +
                  46. Push the value \((\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a_2)\) to the stack.

                  47. +
                  48. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i_2)\) to the stack.

                  49. +
                  50. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n - 1)\) to the stack.

                  51. +
                  52. Execute the instruction \((\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.copy}}~x_1~x_2)\).

                16. @@ -1467,27 +1468,27 @@

                  Quick search

                17. Else:

                    -
                  1. Assert: Due to validation, \({\href{../valid/conventions.html#aux-expand-deftype}{\mathrm{expand}}}(z{.}\mathsf{types}{}[x_2])\) is of the case \(\mathsf{array}\).

                  2. -
                  3. Let \((\mathsf{array}~y_0)\) be \({\href{../valid/conventions.html#aux-expand-deftype}{\mathrm{expand}}}(z{.}\mathsf{types}{}[x_2])\).

                  4. +
                  5. Assert: Due to validation, \({\href{../valid/conventions.html#aux-expand-deftype}{\mathrm{expand}}}(z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{types}}{}[x_2])\) is of the case \(\href{../syntax/types.html#syntax-comptype}{\mathsf{array}}\).

                  6. +
                  7. Let \((\href{../syntax/types.html#syntax-comptype}{\mathsf{array}}~y_0)\) be \({\href{../valid/conventions.html#aux-expand-deftype}{\mathrm{expand}}}(z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{types}}{}[x_2])\).

                  8. Let \(({\mathsf{mut}^?},\, {\mathit{zt}}_2)\) be \(y_0\).

                  9. -
                  10. Let \((\mathsf{ref.array}~a_1)\) be \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\).

                  11. -
                  12. If \({\mathit{admin}}_{\mathit{u{\scriptstyle1}}}\) is of the case \(\mathsf{ref.array\_addr}\), then:

                    +
                  13. Let \((\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a_1)\) be \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\).

                  14. +
                  15. If \({\mathit{admin}}_{\mathit{u{\scriptstyle1}}}\) is of the case \(\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}\), then:

                      -
                    1. Let \((\mathsf{ref.array}~a_2)\) be \({\mathit{admin}}_{\mathit{u{\scriptstyle1}}}\).

                    2. +
                    3. Let \((\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a_2)\) be \({\mathit{admin}}_{\mathit{u{\scriptstyle1}}}\).

                    4. Let \({{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}^?}\) be \({\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}({\mathit{zt}}_2)\).

                    5. -
                    6. Push the value \((\mathsf{ref.array}~a_1)\) to the stack.

                    7. -
                    8. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i_1)\) to the stack.

                    9. -
                    10. Push the value \((\mathsf{ref.array}~a_2)\) to the stack.

                    11. -
                    12. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i_2)\) to the stack.

                    13. -
                    14. Execute the instruction \(({{\mathsf{array.get}}{\mathsf{\_}}}{{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}^?}}~x_2)\).

                    15. -
                    16. Execute the instruction \((\mathsf{array.set}~x_1)\).

                    17. -
                    18. Push the value \((\mathsf{ref.array}~a_1)\) to the stack.

                    19. -
                    20. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i_1 + 1)\) to the stack.

                    21. -
                    22. Push the value \((\mathsf{ref.array}~a_2)\) to the stack.

                    23. -
                    24. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i_2 + 1)\) to the stack.

                    25. -
                    26. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n - 1)\) to the stack.

                    27. -
                    28. Execute the instruction \((\mathsf{array.copy}~x_1~x_2)\).

                    29. +
                    30. Push the value \((\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a_1)\) to the stack.

                    31. +
                    32. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i_1)\) to the stack.

                    33. +
                    34. Push the value \((\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a_2)\) to the stack.

                    35. +
                    36. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i_2)\) to the stack.

                    37. +
                    38. Execute the instruction \(({\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.get}}}{\mathsf{\_}}{{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}^?}}~x_2)\).

                    39. +
                    40. Execute the instruction \((\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.set}}~x_1)\).

                    41. +
                    42. Push the value \((\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a_1)\) to the stack.

                    43. +
                    44. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i_1 + 1)\) to the stack.

                    45. +
                    46. Push the value \((\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a_2)\) to the stack.

                    47. +
                    48. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i_2 + 1)\) to the stack.

                    49. +
                    50. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n - 1)\) to the stack.

                    51. +
                    52. Execute the instruction \((\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.copy}}~x_1~x_2)\).

                  16. @@ -1593,51 +1594,51 @@

                    Quick search

                  \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& z ; (\mathsf{ref.null}~{\mathit{ht}}_1)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i_1)~{\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i_2)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n)~(\mathsf{array.copy}~x_1~x_2) &\hookrightarrow& \mathsf{trap} \\ -& z ; {\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i_1)~(\mathsf{ref.null}~{\mathit{ht}}_2)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i_2)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n)~(\mathsf{array.copy}~x_1~x_2) &\hookrightarrow& \mathsf{trap} \\ -& z ; (\mathsf{ref.array}~a_1)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i_1)~(\mathsf{ref.array}~a_2)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i_2)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n)~(\mathsf{array.copy}~x_1~x_2) &\hookrightarrow& \multicolumn{2}{l@{}}{ \mathsf{trap} } \\ - & \multicolumn{4}{@{}l@{}}{\qquad\quad \mbox{if}~i_1 + n > {|z{.}\mathsf{arrays}{}[a_1]{.}\mathsf{fields}|}} \\ -& z ; (\mathsf{ref.array}~a_1)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i_1)~(\mathsf{ref.array}~a_2)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i_2)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n)~(\mathsf{array.copy}~x_1~x_2) &\hookrightarrow& \multicolumn{2}{l@{}}{ \mathsf{trap} } \\ - & \multicolumn{4}{@{}l@{}}{\qquad\quad \mbox{if}~i_2 + n > {|z{.}\mathsf{arrays}{}[a_2]{.}\mathsf{fields}|}} \\ -& z ; (\mathsf{ref.array}~a_1)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i_1)~(\mathsf{ref.array}~a_2)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i_2)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n)~(\mathsf{array.copy}~x_1~x_2) &\hookrightarrow& \multicolumn{2}{l@{}}{ \epsilon } \\ +& z ; (\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.null}}~{\mathit{ht}}_1)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i_1)~{\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i_2)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n)~(\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.copy}}~x_1~x_2) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \href{../exec/runtime.html#syntax-trap}{\mathsf{trap}} \\ +& z ; {\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i_1)~(\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.null}}~{\mathit{ht}}_2)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i_2)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n)~(\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.copy}}~x_1~x_2) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \href{../exec/runtime.html#syntax-trap}{\mathsf{trap}} \\ +& z ; (\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a_1)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i_1)~(\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a_2)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i_2)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n)~(\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.copy}}~x_1~x_2) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \multicolumn{2}{l@{}}{ \href{../exec/runtime.html#syntax-trap}{\mathsf{trap}} } \\ + & \multicolumn{4}{@{}l@{}}{\qquad\quad \mbox{if}~i_1 + n > {|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{arrays}}{}[a_1]{.}\mathsf{fields}|}} \\ +& z ; (\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a_1)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i_1)~(\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a_2)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i_2)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n)~(\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.copy}}~x_1~x_2) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \multicolumn{2}{l@{}}{ \href{../exec/runtime.html#syntax-trap}{\mathsf{trap}} } \\ + & \multicolumn{4}{@{}l@{}}{\qquad\quad \mbox{if}~i_2 + n > {|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{arrays}}{}[a_2]{.}\mathsf{fields}|}} \\ +& z ; (\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a_1)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i_1)~(\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a_2)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i_2)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n)~(\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.copy}}~x_1~x_2) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \multicolumn{2}{l@{}}{ \epsilon } \\ & \multicolumn{4}{@{}l@{}}{\qquad\quad \mbox{otherwise, if}~n = 0} \\ -& z ; (\mathsf{ref.array}~a_1)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i_1)~(\mathsf{ref.array}~a_2)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i_2)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n)~(\mathsf{array.copy}~x_1~x_2) &\hookrightarrow& \\ - & \multicolumn{3}{@{}l@{}}{\qquad \begin{array}[t]{@{}l@{}} (\mathsf{ref.array}~a_1)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i_1) \\ (\mathsf{ref.array}~a_2)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i_2) \\ ({{\mathsf{array.get}}{\mathsf{\_}}}{{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}^?}}~x_2)~(\mathsf{array.set}~x_1) \\ (\mathsf{ref.array}~a_1)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i_1 + 1)~(\mathsf{ref.array}~a_2)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i_2 + 1)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n - 1)~(\mathsf{array.copy}~x_1~x_2) \end{array} } \\ - & \multicolumn{4}{@{}l@{}}{\qquad\quad \mbox{otherwise, if}~z{.}\mathsf{types}{}[x_2] \approx \mathsf{array}~({\mathsf{mut}^?}~{\mathit{zt}}_2)} \\ +& z ; (\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a_1)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i_1)~(\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a_2)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i_2)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n)~(\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.copy}}~x_1~x_2) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \\ + & \multicolumn{3}{@{}l@{}}{\qquad \begin{array}[t]{@{}l@{}} (\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a_1)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i_1) \\ (\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a_2)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i_2) \\ ({\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.get}}}{\mathsf{\_}}{{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}^?}}~x_2)~(\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.set}}~x_1) \\ (\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a_1)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i_1 + 1)~(\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a_2)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i_2 + 1)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n - 1)~(\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.copy}}~x_1~x_2) \end{array} } \\ + & \multicolumn{4}{@{}l@{}}{\qquad\quad \mbox{otherwise, if}~z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{types}}{}[x_2] \approx \href{../syntax/types.html#syntax-comptype}{\mathsf{array}}~({\mathsf{mut}^?}~{\mathit{zt}}_2)} \\ & \multicolumn{4}{@{}l@{}}{\qquad\quad {\land}~i_1 \leq i_2 \land {{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}^?} = {\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}({\mathit{zt}}_2)} \\ -& z ; (\mathsf{ref.array}~a_1)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i_1)~(\mathsf{ref.array}~a_2)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i_2)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n)~(\mathsf{array.copy}~x_1~x_2) &\hookrightarrow& \\ - & \multicolumn{3}{@{}l@{}}{\qquad \begin{array}[t]{@{}l@{}} (\mathsf{ref.array}~a_1)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i_1 + n - 1) \\ (\mathsf{ref.array}~a_2)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i_2 + n - 1) \\ ({{\mathsf{array.get}}{\mathsf{\_}}}{{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}^?}}~x_2)~(\mathsf{array.set}~x_1) \\ (\mathsf{ref.array}~a_1)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i_1)~(\mathsf{ref.array}~a_2)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i_2)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n - 1)~(\mathsf{array.copy}~x_1~x_2) \end{array} } \\ - & \multicolumn{4}{@{}l@{}}{\qquad\quad \mbox{otherwise, if}~z{.}\mathsf{types}{}[x_2] \approx \mathsf{array}~({\mathsf{mut}^?}~{\mathit{zt}}_2)} \\ +& z ; (\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a_1)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i_1)~(\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a_2)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i_2)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n)~(\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.copy}}~x_1~x_2) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \\ + & \multicolumn{3}{@{}l@{}}{\qquad \begin{array}[t]{@{}l@{}} (\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a_1)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i_1 + n - 1) \\ (\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a_2)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i_2 + n - 1) \\ ({\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.get}}}{\mathsf{\_}}{{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}^?}}~x_2)~(\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.set}}~x_1) \\ (\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a_1)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i_1)~(\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a_2)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i_2)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n - 1)~(\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.copy}}~x_1~x_2) \end{array} } \\ + & \multicolumn{4}{@{}l@{}}{\qquad\quad \mbox{otherwise, if}~z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{types}}{}[x_2] \approx \href{../syntax/types.html#syntax-comptype}{\mathsf{array}}~({\mathsf{mut}^?}~{\mathit{zt}}_2)} \\ & \multicolumn{4}{@{}l@{}}{\qquad\quad {\land}~{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}^?} = {\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}({\mathit{zt}}_2)} \\ \end{array}\end{split}\]

                  Where:

                  \[\begin{split}\begin{array}{@{}lcl@{}l@{}} {\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}({\href{../syntax/types.html#syntax-consttype}{\mathit{consttype}}}) &=& \epsilon \\ -{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}({\href{../syntax/types.html#syntax-packtype}{\mathit{packtype}}}) &=& \mathsf{s} \\ +{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}({\href{../syntax/types.html#syntax-packtype}{\mathit{packtype}}}) &=& \href{../syntax/instructions.html#syntax-sx}{\mathsf{S}} \\ \end{array}\end{split}\]
    -
    -

    \(\mathsf{array.init\_data}~x~y\)

    +
    +

    \(\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.init\_data}}~x~y\)

    1. Let \(z\) be the current state.

    2. -
    3. Assert: Due to validation, a value of value type \(\mathsf{i{\scriptstyle32}}\) is on the top of the stack.

    4. -
    5. Pop the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n)\) from the stack.

    6. -
    7. Assert: Due to validation, a value of value type \(\mathsf{i{\scriptstyle32}}\) is on the top of the stack.

    8. -
    9. Pop the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~j)\) from the stack.

    10. -
    11. Assert: Due to validation, a value of value type \(\mathsf{i{\scriptstyle32}}\) is on the top of the stack.

    12. -
    13. Pop the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)\) from the stack.

    14. +
    15. Assert: Due to validation, a value of value type \(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}\) is on the top of the stack.

    16. +
    17. Pop the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n)\) from the stack.

    18. +
    19. Assert: Due to validation, a value of value type \(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}\) is on the top of the stack.

    20. +
    21. Pop the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~j)\) from the stack.

    22. +
    23. Assert: Due to validation, a value of value type \(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}\) is on the top of the stack.

    24. +
    25. Pop the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)\) from the stack.

    26. Assert: Due to validation, a value is on the top of the stack.

    27. Pop the value \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) from the stack.

    28. -
    29. If \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) is of the case \(\mathsf{ref.null}\), then:

      +
    30. If \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) is of the case \(\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.null}}\), then:

      1. Trap.

    31. -
    32. If \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) is of the case \(\mathsf{ref.array\_addr}\), then:

      +
    33. If \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) is of the case \(\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}\), then:

        -
      1. Let \((\mathsf{ref.array}~a)\) be \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\).

      2. -
      3. If \(a\) is less than \({|z{.}\mathsf{arrays}|}\) and \(i + n\) is greater than \({|z{.}\mathsf{arrays}{}[a]{.}\mathsf{fields}|}\), then:

        +
      4. Let \((\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a)\) be \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\).

      5. +
      6. If \(a\) is less than \({|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{arrays}}|}\) and \(i + n\) is greater than \({|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{arrays}}{}[a]{.}\mathsf{fields}|}\), then:

        1. Trap.

        2. @@ -1646,9 +1647,9 @@

          Quick search

      7. -
      8. If \({\href{../valid/conventions.html#aux-expand-deftype}{\mathrm{expand}}}(z{.}\mathsf{types}{}[x])\) is not of the case \(\mathsf{array}\), then:

        +
      9. If \({\href{../valid/conventions.html#aux-expand-deftype}{\mathrm{expand}}}(z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{types}}{}[x])\) is not of the case \(\href{../syntax/types.html#syntax-comptype}{\mathsf{array}}\), then:

          -
        1. If \(n\) is \(0\) and \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) is of the case \(\mathsf{ref.array\_addr}\), then:

          +
        2. If \(n\) is \(0\) and \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) is of the case \(\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}\), then:

          1. Do nothing.

          2. @@ -1659,12 +1660,12 @@

            Quick search

          3. Else:

              -
            1. Let \((\mathsf{array}~y_0)\) be \({\href{../valid/conventions.html#aux-expand-deftype}{\mathrm{expand}}}(z{.}\mathsf{types}{}[x])\).

            2. +
            3. Let \((\href{../syntax/types.html#syntax-comptype}{\mathsf{array}}~y_0)\) be \({\href{../valid/conventions.html#aux-expand-deftype}{\mathrm{expand}}}(z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{types}}{}[x])\).

            4. Let \(({\mathsf{mut}^?},\, {\mathit{zt}})\) be \(y_0\).

            5. -
            6. If \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) is of the case \(\mathsf{ref.array\_addr}\), then:

              +
            7. If \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) is of the case \(\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}\), then:

                -
              1. If \(j + n \cdot {|{\mathit{zt}}|} / 8\) is greater than \({|z{.}\mathsf{datas}{}[y]{.}\mathsf{bytes}|}\), then:

                +
              2. If \(j + n \cdot {|{\mathit{zt}}|} / 8\) is greater than \({|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{datas}}{}[y]{.}\mathsf{bytes}|}\), then:

                1. Trap.

                2. @@ -1681,19 +1682,19 @@

                  Quick search

                3. Else:

                    -
                  1. Let \((\mathsf{array}~y_0)\) be \({\href{../valid/conventions.html#aux-expand-deftype}{\mathrm{expand}}}(z{.}\mathsf{types}{}[x])\).

                  2. +
                  3. Let \((\href{../syntax/types.html#syntax-comptype}{\mathsf{array}}~y_0)\) be \({\href{../valid/conventions.html#aux-expand-deftype}{\mathrm{expand}}}(z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{types}}{}[x])\).

                  4. Let \(({\mathsf{mut}^?},\, {\mathit{zt}})\) be \(y_0\).

                  5. -
                  6. Let \((\mathsf{ref.array}~a)\) be \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\).

                  7. -
                  8. Let \(c\) be \({\mathrm{inverse}}_{{\mathit{of}}_{\mathit{zbytes}}}({\mathit{zt}}, z{.}\mathsf{datas}{}[y]{.}\mathsf{bytes}{}[j : {|{\mathit{zt}}|} / 8])\).

                  9. -
                  10. Push the value \((\mathsf{ref.array}~a)\) to the stack.

                  11. -
                  12. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)\) to the stack.

                  13. -
                  14. Push the value \({\href{../syntax/types.html#aux-unpack}{\mathrm{unpack}}}({\mathit{zt}}){.}\mathsf{const}~{{\href{../exec/numerics.html#aux-unpacknum}{\mathrm{unpack}}}}_{{\mathit{zt}}}(c)\) to the stack.

                  15. -
                  16. Execute the instruction \((\mathsf{array.set}~x)\).

                  17. -
                  18. Push the value \((\mathsf{ref.array}~a)\) to the stack.

                  19. -
                  20. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i + 1)\) to the stack.

                  21. -
                  22. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~j + {|{\mathit{zt}}|} / 8)\) to the stack.

                  23. -
                  24. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n - 1)\) to the stack.

                  25. -
                  26. Execute the instruction \((\mathsf{array.init\_data}~x~y)\).

                  27. +
                  28. Let \((\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a)\) be \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\).

                  29. +
                  30. Let \(c\) be \({\mathrm{inverse}}_{{\mathit{of}}_{\mathit{zbytes}}}({\mathit{zt}}, z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{datas}}{}[y]{.}\mathsf{bytes}{}[j : {|{\mathit{zt}}|} / 8])\).

                  31. +
                  32. Push the value \((\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a)\) to the stack.

                  33. +
                  34. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)\) to the stack.

                  35. +
                  36. Push the value \({\href{../syntax/types.html#aux-unpack}{\mathrm{unpack}}}({\mathit{zt}}){.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~{{\href{../exec/numerics.html#aux-unpacknum}{\mathrm{unpack}}}}_{{\mathit{zt}}}(c)\) to the stack.

                  37. +
                  38. Execute the instruction \((\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.set}}~x)\).

                  39. +
                  40. Push the value \((\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a)\) to the stack.

                  41. +
                  42. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i + 1)\) to the stack.

                  43. +
                  44. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~j + {|{\mathit{zt}}|} / 8)\) to the stack.

                  45. +
                  46. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n - 1)\) to the stack.

                  47. +
                  48. Execute the instruction \((\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.init\_data}}~x~y)\).

                4. @@ -1763,41 +1764,41 @@

                  Quick search

                \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& z ; (\mathsf{ref.null}~{\mathit{ht}})~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~j)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n)~(\mathsf{array.init\_data}~x~y) &\hookrightarrow& \mathsf{trap} \\ -& z ; (\mathsf{ref.array}~a)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~j)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n)~(\mathsf{array.init\_data}~x~y) &\hookrightarrow& \multicolumn{2}{l@{}}{ \mathsf{trap} } \\ - & \multicolumn{4}{@{}l@{}}{\qquad\quad \mbox{if}~i + n > {|z{.}\mathsf{arrays}{}[a]{.}\mathsf{fields}|}} \\ -& z ; (\mathsf{ref.array}~a)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~j)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n)~(\mathsf{array.init\_data}~x~y) &\hookrightarrow& \multicolumn{2}{l@{}}{ \mathsf{trap} } \\ - & \multicolumn{4}{@{}l@{}}{\qquad\quad \mbox{if}~z{.}\mathsf{types}{}[x] \approx \mathsf{array}~({\mathsf{mut}^?}~{\mathit{zt}})} \\ - & \multicolumn{4}{@{}l@{}}{\qquad\quad {\land}~j + n \cdot {|{\mathit{zt}}|} / 8 > {|z{.}\mathsf{datas}{}[y]{.}\mathsf{bytes}|}} \\ -& z ; (\mathsf{ref.array}~a)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~j)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n)~(\mathsf{array.init\_data}~x~y) &\hookrightarrow& \multicolumn{2}{l@{}}{ \epsilon } \\ +& z ; (\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.null}}~{\mathit{ht}})~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~j)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n)~(\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.init\_data}}~x~y) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \href{../exec/runtime.html#syntax-trap}{\mathsf{trap}} \\ +& z ; (\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~j)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n)~(\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.init\_data}}~x~y) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \multicolumn{2}{l@{}}{ \href{../exec/runtime.html#syntax-trap}{\mathsf{trap}} } \\ + & \multicolumn{4}{@{}l@{}}{\qquad\quad \mbox{if}~i + n > {|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{arrays}}{}[a]{.}\mathsf{fields}|}} \\ +& z ; (\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~j)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n)~(\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.init\_data}}~x~y) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \multicolumn{2}{l@{}}{ \href{../exec/runtime.html#syntax-trap}{\mathsf{trap}} } \\ + & \multicolumn{4}{@{}l@{}}{\qquad\quad \mbox{if}~z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{types}}{}[x] \approx \href{../syntax/types.html#syntax-comptype}{\mathsf{array}}~({\mathsf{mut}^?}~{\mathit{zt}})} \\ + & \multicolumn{4}{@{}l@{}}{\qquad\quad {\land}~j + n \cdot {|{\mathit{zt}}|} / 8 > {|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{datas}}{}[y]{.}\mathsf{bytes}|}} \\ +& z ; (\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~j)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n)~(\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.init\_data}}~x~y) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \multicolumn{2}{l@{}}{ \epsilon } \\ & \multicolumn{4}{@{}l@{}}{\qquad\quad \mbox{otherwise, if}~n = 0} \\ -& z ; (\mathsf{ref.array}~a)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~j)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n)~(\mathsf{array.init\_data}~x~y) &\hookrightarrow& \\ - & \multicolumn{3}{@{}l@{}}{\qquad \begin{array}[t]{@{}l@{}} (\mathsf{ref.array}~a)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)~({\href{../syntax/types.html#aux-unpack}{\mathrm{unpack}}}({\mathit{zt}}){.}\mathsf{const}~{{\href{../exec/numerics.html#aux-unpacknum}{\mathrm{unpack}}}}_{{\mathit{zt}}}(c))~(\mathsf{array.set}~x) \\ (\mathsf{ref.array}~a)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i + 1)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~j + {|{\mathit{zt}}|} / 8)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n - 1)~(\mathsf{array.init\_data}~x~y) \end{array} } \\ - & \multicolumn{4}{@{}l@{}}{\qquad\quad \mbox{otherwise, if}~z{.}\mathsf{types}{}[x] \approx \mathsf{array}~({\mathsf{mut}^?}~{\mathit{zt}})} \\ - & \multicolumn{4}{@{}l@{}}{\qquad\quad {\land}~{{\href{../exec/numerics.html#aux-bytes}{\mathrm{bytes}}}}_{{\mathit{zt}}}(c) = z{.}\mathsf{datas}{}[y]{.}\mathsf{bytes}{}[j : {|{\mathit{zt}}|} / 8]} \\ +& z ; (\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~j)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n)~(\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.init\_data}}~x~y) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \\ + & \multicolumn{3}{@{}l@{}}{\qquad \begin{array}[t]{@{}l@{}} (\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)~({\href{../syntax/types.html#aux-unpack}{\mathrm{unpack}}}({\mathit{zt}}){.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~{{\href{../exec/numerics.html#aux-unpacknum}{\mathrm{unpack}}}}_{{\mathit{zt}}}(c))~(\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.set}}~x) \\ (\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i + 1)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~j + {|{\mathit{zt}}|} / 8)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n - 1)~(\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.init\_data}}~x~y) \end{array} } \\ + & \multicolumn{4}{@{}l@{}}{\qquad\quad \mbox{otherwise, if}~z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{types}}{}[x] \approx \href{../syntax/types.html#syntax-comptype}{\mathsf{array}}~({\mathsf{mut}^?}~{\mathit{zt}})} \\ + & \multicolumn{4}{@{}l@{}}{\qquad\quad {\land}~{{\href{../exec/numerics.html#aux-bytes}{\mathrm{bytes}}}}_{{\mathit{zt}}}(c) = z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{datas}}{}[y]{.}\mathsf{bytes}{}[j : {|{\mathit{zt}}|} / 8]} \\ \end{array}\end{split}\]
    -
    -

    \(\mathsf{array.init\_elem}~x~y\)

    +
    +

    \(\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.init\_elem}}~x~y\)

    1. Let \(z\) be the current state.

    2. -
    3. Assert: Due to validation, a value of value type \(\mathsf{i{\scriptstyle32}}\) is on the top of the stack.

    4. -
    5. Pop the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n)\) from the stack.

    6. -
    7. Assert: Due to validation, a value of value type \(\mathsf{i{\scriptstyle32}}\) is on the top of the stack.

    8. -
    9. Pop the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~j)\) from the stack.

    10. -
    11. Assert: Due to validation, a value of value type \(\mathsf{i{\scriptstyle32}}\) is on the top of the stack.

    12. -
    13. Pop the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)\) from the stack.

    14. +
    15. Assert: Due to validation, a value of value type \(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}\) is on the top of the stack.

    16. +
    17. Pop the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n)\) from the stack.

    18. +
    19. Assert: Due to validation, a value of value type \(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}\) is on the top of the stack.

    20. +
    21. Pop the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~j)\) from the stack.

    22. +
    23. Assert: Due to validation, a value of value type \(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}\) is on the top of the stack.

    24. +
    25. Pop the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)\) from the stack.

    26. Assert: Due to validation, a value is on the top of the stack.

    27. Pop the value \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) from the stack.

    28. -
    29. If \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) is of the case \(\mathsf{ref.null}\), then:

      +
    30. If \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) is of the case \(\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.null}}\), then:

      1. Trap.

    31. -
    32. If \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) is of the case \(\mathsf{ref.array\_addr}\), then:

      +
    33. If \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) is of the case \(\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}\), then:

        -
      1. Let \((\mathsf{ref.array}~a)\) be \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\).

      2. -
      3. If \(a\) is less than \({|z{.}\mathsf{arrays}|}\) and \(i + n\) is greater than \({|z{.}\mathsf{arrays}{}[a]{.}\mathsf{fields}|}\), then:

        +
      4. Let \((\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a)\) be \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\).

      5. +
      6. If \(a\) is less than \({|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{arrays}}|}\) and \(i + n\) is greater than \({|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{arrays}}{}[a]{.}\mathsf{fields}|}\), then:

        1. Trap.

        2. @@ -1806,32 +1807,32 @@

          Quick search

      7. -
      8. If \(j + n\) is greater than \({|z{.}\mathsf{elems}{}[y]{.}\mathsf{refs}|}\), then:

        +
      9. If \(j + n\) is greater than \({|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{elems}}{}[y]{.}\mathsf{refs}|}\), then:

          -
        1. If \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) is of the case \(\mathsf{ref.array\_addr}\), then:

          +
        2. If \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) is of the case \(\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}\), then:

          1. Trap.

        3. -
        4. If \(n\) is \(0\) and \(j\) is less than \({|z{.}\mathsf{elems}{}[y]{.}\mathsf{refs}|}\), then:

          +
        5. If \(n\) is \(0\) and \(j\) is less than \({|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{elems}}{}[y]{.}\mathsf{refs}|}\), then:

            -
          1. Let \({\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}\) be \(z{.}\mathsf{elems}{}[y]{.}\mathsf{refs}{}[j]\).

          2. -
          3. If \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) is of the case \(\mathsf{ref.array\_addr}\), then:

            +
          4. Let \({\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}\) be \(z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{elems}}{}[y]{.}\mathsf{refs}{}[j]\).

          5. +
          6. If \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) is of the case \(\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}\), then:

              -
            1. Let \((\mathsf{ref.array}~a)\) be \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\).

            2. -
            3. Push the value \((\mathsf{ref.array}~a)\) to the stack.

            4. -
            5. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)\) to the stack.

            6. +
            7. Let \((\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a)\) be \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\).

            8. +
            9. Push the value \((\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a)\) to the stack.

            10. +
            11. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)\) to the stack.

            12. Push the value \({\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}\) to the stack.

            13. -
            14. Execute the instruction \((\mathsf{array.set}~x)\).

            15. -
            16. Push the value \((\mathsf{ref.array}~a)\) to the stack.

            17. -
            18. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i + 1)\) to the stack.

            19. -
            20. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~j + 1)\) to the stack.

            21. -
            22. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n - 1)\) to the stack.

            23. -
            24. Execute the instruction \((\mathsf{array.init\_elem}~x~y)\).

            25. +
            26. Execute the instruction \((\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.set}}~x)\).

            27. +
            28. Push the value \((\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a)\) to the stack.

            29. +
            30. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i + 1)\) to the stack.

            31. +
            32. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~j + 1)\) to the stack.

            33. +
            34. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n - 1)\) to the stack.

            35. +
            36. Execute the instruction \((\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.init\_elem}}~x~y)\).

          7. @@ -1842,7 +1843,7 @@

            Quick search

          8. Else if \(n\) is \(0\), then:

              -
            1. If \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) is of the case \(\mathsf{ref.array\_addr}\), then:

              +
            2. If \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) is of the case \(\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}\), then:

              1. Do nothing.

              2. @@ -1853,23 +1854,23 @@

                Quick search

              3. Else:

                  -
                1. If \(j\) is less than \({|z{.}\mathsf{elems}{}[y]{.}\mathsf{refs}|}\), then:

                  +
                2. If \(j\) is less than \({|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{elems}}{}[y]{.}\mathsf{refs}|}\), then:

                    -
                  1. Let \({\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}\) be \(z{.}\mathsf{elems}{}[y]{.}\mathsf{refs}{}[j]\).

                  2. -
                  3. If \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) is of the case \(\mathsf{ref.array\_addr}\), then:

                    +
                  4. Let \({\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}\) be \(z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{elems}}{}[y]{.}\mathsf{refs}{}[j]\).

                  5. +
                  6. If \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) is of the case \(\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}\), then:

                      -
                    1. Let \((\mathsf{ref.array}~a)\) be \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\).

                    2. -
                    3. Push the value \((\mathsf{ref.array}~a)\) to the stack.

                    4. -
                    5. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)\) to the stack.

                    6. +
                    7. Let \((\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a)\) be \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\).

                    8. +
                    9. Push the value \((\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a)\) to the stack.

                    10. +
                    11. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)\) to the stack.

                    12. Push the value \({\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}\) to the stack.

                    13. -
                    14. Execute the instruction \((\mathsf{array.set}~x)\).

                    15. -
                    16. Push the value \((\mathsf{ref.array}~a)\) to the stack.

                    17. -
                    18. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i + 1)\) to the stack.

                    19. -
                    20. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~j + 1)\) to the stack.

                    21. -
                    22. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n - 1)\) to the stack.

                    23. -
                    24. Execute the instruction \((\mathsf{array.init\_elem}~x~y)\).

                    25. +
                    26. Execute the instruction \((\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.set}}~x)\).

                    27. +
                    28. Push the value \((\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a)\) to the stack.

                    29. +
                    30. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i + 1)\) to the stack.

                    31. +
                    32. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~j + 1)\) to the stack.

                    33. +
                    34. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n - 1)\) to the stack.

                    35. +
                    36. Execute the instruction \((\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.init\_elem}}~x~y)\).

                  7. @@ -1887,34 +1888,34 @@

                    Quick search

                  \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& z ; (\mathsf{ref.null}~{\mathit{ht}})~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~j)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n)~(\mathsf{array.init\_elem}~x~y) &\hookrightarrow& \mathsf{trap} \\ -& z ; (\mathsf{ref.array}~a)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~j)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n)~(\mathsf{array.init\_elem}~x~y) &\hookrightarrow& \multicolumn{2}{l@{}}{ \mathsf{trap} } \\ - & \multicolumn{4}{@{}l@{}}{\qquad\quad \mbox{if}~i + n > {|z{.}\mathsf{arrays}{}[a]{.}\mathsf{fields}|}} \\ -& z ; (\mathsf{ref.array}~a)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~j)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n)~(\mathsf{array.init\_elem}~x~y) &\hookrightarrow& \multicolumn{2}{l@{}}{ \mathsf{trap} } \\ - & \multicolumn{4}{@{}l@{}}{\qquad\quad \mbox{if}~j + n > {|z{.}\mathsf{elems}{}[y]{.}\mathsf{refs}|}} \\ -& z ; (\mathsf{ref.array}~a)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~j)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n)~(\mathsf{array.init\_elem}~x~y) &\hookrightarrow& \multicolumn{2}{l@{}}{ \epsilon } \\ +& z ; (\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.null}}~{\mathit{ht}})~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~j)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n)~(\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.init\_elem}}~x~y) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \href{../exec/runtime.html#syntax-trap}{\mathsf{trap}} \\ +& z ; (\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~j)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n)~(\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.init\_elem}}~x~y) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \multicolumn{2}{l@{}}{ \href{../exec/runtime.html#syntax-trap}{\mathsf{trap}} } \\ + & \multicolumn{4}{@{}l@{}}{\qquad\quad \mbox{if}~i + n > {|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{arrays}}{}[a]{.}\mathsf{fields}|}} \\ +& z ; (\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~j)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n)~(\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.init\_elem}}~x~y) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \multicolumn{2}{l@{}}{ \href{../exec/runtime.html#syntax-trap}{\mathsf{trap}} } \\ + & \multicolumn{4}{@{}l@{}}{\qquad\quad \mbox{if}~j + n > {|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{elems}}{}[y]{.}\mathsf{refs}|}} \\ +& z ; (\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~j)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n)~(\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.init\_elem}}~x~y) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \multicolumn{2}{l@{}}{ \epsilon } \\ & \multicolumn{4}{@{}l@{}}{\qquad\quad \mbox{otherwise, if}~n = 0} \\ -& z ; (\mathsf{ref.array}~a)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~j)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n)~(\mathsf{array.init\_elem}~x~y) &\hookrightarrow& \\ - & \multicolumn{3}{@{}l@{}}{\qquad \begin{array}[t]{@{}l@{}} (\mathsf{ref.array}~a)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)~{\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}~(\mathsf{array.set}~x) \\ (\mathsf{ref.array}~a)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i + 1)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~j + 1)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n - 1)~(\mathsf{array.init\_elem}~x~y) \end{array} } \\ - & \multicolumn{4}{@{}l@{}}{\qquad\quad \mbox{otherwise, if}~{\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}} = z{.}\mathsf{elems}{}[y]{.}\mathsf{refs}{}[j]} \\ +& z ; (\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~j)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n)~(\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.init\_elem}}~x~y) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \\ + & \multicolumn{3}{@{}l@{}}{\qquad \begin{array}[t]{@{}l@{}} (\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)~{\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}~(\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.set}}~x) \\ (\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}array}}~a)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i + 1)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~j + 1)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n - 1)~(\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.init\_elem}}~x~y) \end{array} } \\ + & \multicolumn{4}{@{}l@{}}{\qquad\quad \mbox{otherwise, if}~{\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}} = z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{elems}}{}[y]{.}\mathsf{refs}{}[j]} \\ \end{array}\end{split}\]
    -
    -

    \(\mathsf{any.convert\_extern}\)

    +
    +

    \(\href{../syntax/instructions.html#syntax-instr-extern}{\mathsf{any.convert\_extern}}\)

    1. Assert: Due to validation, a value is on the top of the stack.

    2. Pop the value \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) from the stack.

    3. -
    4. If \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) is of the case \(\mathsf{ref.null}\), then:

      +
    5. If \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) is of the case \(\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.null}}\), then:

        -
      1. Push the value \((\mathsf{ref.null}~\mathsf{any})\) to the stack.

      2. +
      3. Push the value \((\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.null}}~\href{../syntax/types.html#syntax-heaptype}{\mathsf{any}})\) to the stack.

    6. -
    7. If \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) is of the case \(\mathsf{ref.extern}\), then:

      +
    8. If \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) is of the case \(\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}extern}}\), then:

        -
      1. Let \((\mathsf{ref.extern}~{\href{../exec/runtime.html#syntax-addrref}{\mathit{addrref}}})\) be \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\).

      2. +
      3. Let \((\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}extern}}~{\href{../exec/runtime.html#syntax-addrref}{\mathit{addrref}}})\) be \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\).

      4. Push the value \({\href{../exec/runtime.html#syntax-addrref}{\mathit{addrref}}}\) to the stack.

      @@ -1928,19 +1929,19 @@

      Quick search

      \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& (\mathsf{ref.null}~{\mathit{ht}})~\mathsf{any.convert\_extern} &\hookrightarrow& (\mathsf{ref.null}~\mathsf{any}) \\ -& (\mathsf{ref.extern}~{\href{../exec/runtime.html#syntax-addrref}{\mathit{addrref}}})~\mathsf{any.convert\_extern} &\hookrightarrow& {\href{../exec/runtime.html#syntax-addrref}{\mathit{addrref}}} \\ +& (\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.null}}~{\mathit{ht}})~\href{../syntax/instructions.html#syntax-instr-extern}{\mathsf{any.convert\_extern}} &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& (\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.null}}~\href{../syntax/types.html#syntax-heaptype}{\mathsf{any}}) \\ +& (\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}extern}}~{\href{../exec/runtime.html#syntax-addrref}{\mathit{addrref}}})~\href{../syntax/instructions.html#syntax-instr-extern}{\mathsf{any.convert\_extern}} &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& {\href{../exec/runtime.html#syntax-addrref}{\mathit{addrref}}} \\ \end{array}\end{split}\]
    -
    -

    \(\mathsf{extern.convert\_any}\)

    +
    +

    \(\href{../syntax/instructions.html#syntax-instr-extern}{\mathsf{extern.convert\_any}}\)

    1. Assert: Due to validation, a value is on the top of the stack.

    2. Pop the value \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) from the stack.

    3. -
    4. If \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) is of the case \(\mathsf{ref.null}\), then:

      +
    5. If \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\) is of the case \(\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.null}}\), then:

        -
      1. Push the value \((\mathsf{ref.null}~\mathsf{extern})\) to the stack.

      2. +
      3. Push the value \((\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.null}}~\href{../syntax/types.html#syntax-heaptype}{\mathsf{extern}})\) to the stack.

    6. @@ -1948,7 +1949,7 @@

      Quick search

      1. Let \({\href{../exec/runtime.html#syntax-addrref}{\mathit{addrref}}}\) be \({\mathit{admin}}_{\mathit{u{\scriptstyle0}}}\).

      2. -
      3. Push the value \((\mathsf{ref.extern}~{\href{../exec/runtime.html#syntax-addrref}{\mathit{addrref}}})\) to the stack.

      4. +
      5. Push the value \((\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}extern}}~{\href{../exec/runtime.html#syntax-addrref}{\mathit{addrref}}})\) to the stack.

      @@ -1961,8 +1962,8 @@

      Quick search

      \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& (\mathsf{ref.null}~{\mathit{ht}})~\mathsf{extern.convert\_any} &\hookrightarrow& (\mathsf{ref.null}~\mathsf{extern}) \\ -& {\href{../exec/runtime.html#syntax-addrref}{\mathit{addrref}}}~\mathsf{extern.convert\_any} &\hookrightarrow& (\mathsf{ref.extern}~{\href{../exec/runtime.html#syntax-addrref}{\mathit{addrref}}}) \\ +& (\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.null}}~{\mathit{ht}})~\href{../syntax/instructions.html#syntax-instr-extern}{\mathsf{extern.convert\_any}} &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& (\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.null}}~\href{../syntax/types.html#syntax-heaptype}{\mathsf{extern}}) \\ +& {\href{../exec/runtime.html#syntax-addrref}{\mathit{addrref}}}~\href{../syntax/instructions.html#syntax-instr-extern}{\mathsf{extern.convert\_any}} &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& (\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}extern}}~{\href{../exec/runtime.html#syntax-addrref}{\mathit{addrref}}}) \\ \end{array}\end{split}\]
    @@ -1998,98 +1999,98 @@

    Quick search

    No formal reduction rule is required for this instruction, since \(\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{const}}\) instructions coincide with values.

    -
    -

    \(\mathsf{v{\scriptstyle128}} . {\href{../syntax/instructions.html#syntax-vvunop}{\mathit{vvunop}}}\)

    +
    +

    \(\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}} {.} {\href{../syntax/instructions.html#syntax-vvunop}{\mathit{vvunop}}}\)

    1. Assert: Due to validation, a value is on the top of the stack.

    2. -
    3. Pop the value \((\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c_1)\) from the stack.

    4. -
    5. Let \(c\) be \({{{\href{../syntax/instructions.html#syntax-vvunop}{\mathit{vvunop}}}}{{}_{\mathsf{v{\scriptstyle128}}}}}{(c_1)}\).

    6. -
    7. Push the value \((\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c)\) to the stack.

    8. +
    9. Pop the value \((\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_1)\) from the stack.

    10. +
    11. Let \(c\) be \({{\href{../syntax/instructions.html#syntax-vvunop}{\mathit{vvunop}}}}{{}_{\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}}}{(c_1)}\).

    12. +
    13. Push the value \((\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c)\) to the stack.

    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& (\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c_1)~(\mathsf{v{\scriptstyle128}} . {\href{../syntax/instructions.html#syntax-vvunop}{\mathit{vvunop}}}) &\hookrightarrow& (\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c) - &\qquad \mbox{if}~c = {{{\href{../syntax/instructions.html#syntax-vvunop}{\mathit{vvunop}}}}{{}_{\mathsf{v{\scriptstyle128}}}}}{(c_1)} \\ +& (\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_1)~(\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}} {.} {\href{../syntax/instructions.html#syntax-vvunop}{\mathit{vvunop}}}) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& (\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c) + &\qquad \mbox{if}~c = {{\href{../syntax/instructions.html#syntax-vvunop}{\mathit{vvunop}}}}{{}_{\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}}}{(c_1)} \\ \end{array}\end{split}\]
    -
    -

    \(\mathsf{v{\scriptstyle128}} . {\href{../syntax/instructions.html#syntax-vvbinop}{\mathit{vvbinop}}}\)

    +
    +

    \(\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}} {.} {\href{../syntax/instructions.html#syntax-vvbinop}{\mathit{vvbinop}}}\)

    1. Assert: Due to validation, a value is on the top of the stack.

    2. -
    3. Pop the value \((\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c_2)\) from the stack.

    4. +
    5. Pop the value \((\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_2)\) from the stack.

    6. Assert: Due to validation, a value is on the top of the stack.

    7. -
    8. Pop the value \((\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c_1)\) from the stack.

    9. -
    10. Let \(c\) be \({{{\href{../syntax/instructions.html#syntax-vvbinop}{\mathit{vvbinop}}}}{{}_{\mathsf{v{\scriptstyle128}}}}}{(c_1,\, c_2)}\).

    11. -
    12. Push the value \((\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c)\) to the stack.

    13. +
    14. Pop the value \((\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_1)\) from the stack.

    15. +
    16. Let \(c\) be \({{\href{../syntax/instructions.html#syntax-vvbinop}{\mathit{vvbinop}}}}{{}_{\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}}}{(c_1,\, c_2)}\).

    17. +
    18. Push the value \((\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c)\) to the stack.

    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& (\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c_1)~(\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c_2)~(\mathsf{v{\scriptstyle128}} . {\href{../syntax/instructions.html#syntax-vvbinop}{\mathit{vvbinop}}}) &\hookrightarrow& (\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c) - &\qquad \mbox{if}~c = {{{\href{../syntax/instructions.html#syntax-vvbinop}{\mathit{vvbinop}}}}{{}_{\mathsf{v{\scriptstyle128}}}}}{(c_1,\, c_2)} \\ +& (\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_1)~(\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_2)~(\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}} {.} {\href{../syntax/instructions.html#syntax-vvbinop}{\mathit{vvbinop}}}) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& (\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c) + &\qquad \mbox{if}~c = {{\href{../syntax/instructions.html#syntax-vvbinop}{\mathit{vvbinop}}}}{{}_{\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}}}{(c_1,\, c_2)} \\ \end{array}\end{split}\]
    -
    -

    \(\mathsf{v{\scriptstyle128}} . {\href{../syntax/instructions.html#syntax-vvternop}{\mathit{vvternop}}}\)

    +
    +

    \(\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}} {.} {\href{../syntax/instructions.html#syntax-vvternop}{\mathit{vvternop}}}\)

    1. Assert: Due to validation, a value is on the top of the stack.

    2. -
    3. Pop the value \((\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c_3)\) from the stack.

    4. +
    5. Pop the value \((\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_3)\) from the stack.

    6. Assert: Due to validation, a value is on the top of the stack.

    7. -
    8. Pop the value \((\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c_2)\) from the stack.

    9. +
    10. Pop the value \((\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_2)\) from the stack.

    11. Assert: Due to validation, a value is on the top of the stack.

    12. -
    13. Pop the value \((\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c_1)\) from the stack.

    14. -
    15. Let \(c\) be \({{{\href{../syntax/instructions.html#syntax-vvternop}{\mathit{vvternop}}}}{{}_{\mathsf{v{\scriptstyle128}}}}}{(c_1,\, c_2,\, c_3)}\).

    16. -
    17. Push the value \((\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c)\) to the stack.

    18. +
    19. Pop the value \((\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_1)\) from the stack.

    20. +
    21. Let \(c\) be \({{\href{../syntax/instructions.html#syntax-vvternop}{\mathit{vvternop}}}}{{}_{\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}}}{(c_1,\, c_2,\, c_3)}\).

    22. +
    23. Push the value \((\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c)\) to the stack.

    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& (\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c_1)~(\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c_2)~(\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c_3)~(\mathsf{v{\scriptstyle128}} . {\href{../syntax/instructions.html#syntax-vvternop}{\mathit{vvternop}}}) &\hookrightarrow& \multicolumn{2}{l@{}}{ (\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c) } \\ - &&& \multicolumn{2}{l@{}}{\quad \mbox{if}~c = {{{\href{../syntax/instructions.html#syntax-vvternop}{\mathit{vvternop}}}}{{}_{\mathsf{v{\scriptstyle128}}}}}{(c_1,\, c_2,\, c_3)}} \\ +& (\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_1)~(\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_2)~(\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_3)~(\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}} {.} {\href{../syntax/instructions.html#syntax-vvternop}{\mathit{vvternop}}}) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \multicolumn{2}{l@{}}{ (\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c) } \\ + &&& \multicolumn{2}{l@{}}{\quad \mbox{if}~c = {{\href{../syntax/instructions.html#syntax-vvternop}{\mathit{vvternop}}}}{{}_{\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}}}{(c_1,\, c_2,\, c_3)}} \\ \end{array}\end{split}\]
    -
    -

    \(\mathsf{v{\scriptstyle128}} . \mathsf{any\_true}\)

    +
    +

    \(\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}} {.} \href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{any\_true}}\)

    1. Assert: Due to validation, a value is on the top of the stack.

    2. -
    3. Pop the value \((\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c_1)\) from the stack.

    4. -
    5. Let \(c\) be \({{\href{../exec/numerics.html#op-ine}{\mathrm{ine}}}}_{{|\mathsf{v{\scriptstyle128}}|}}(c_1, 0)\).

    6. -
    7. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~c)\) to the stack.

    8. +
    9. Pop the value \((\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_1)\) from the stack.

    10. +
    11. Let \(c\) be \({{\href{../exec/numerics.html#op-ine}{\mathrm{ine}}}}_{{|\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}|}}(c_1, 0)\).

    12. +
    13. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c)\) to the stack.

    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& (\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c_1)~(\mathsf{v{\scriptstyle128}} . \mathsf{any\_true}) &\hookrightarrow& (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~c) - &\qquad \mbox{if}~c = {{\href{../exec/numerics.html#op-ine}{\mathrm{ine}}}}_{{|\mathsf{v{\scriptstyle128}}|}}(c_1, 0) \\ +& (\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_1)~(\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}} {.} \href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{any\_true}}) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c) + &\qquad \mbox{if}~c = {{\href{../exec/numerics.html#op-ine}{\mathrm{ine}}}}_{{|\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}|}}(c_1, 0) \\ \end{array}\end{split}\]
    -

    \({\mathit{sh}} . {\mathit{vunop}}\)

    +

    \({\mathit{sh}} {.} {\mathit{vunop}}\)

    1. Assert: Due to validation, a value is on the top of the stack.

    2. -
    3. Pop the value \((\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c_1)\) from the stack.

    4. -
    5. Let \(c\) be \({{{\mathit{vunop}}}{{}_{{\mathit{sh}}}}}{(c_1)}\).

    6. -
    7. Push the value \((\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c)\) to the stack.

    8. +
    9. Pop the value \((\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_1)\) from the stack.

    10. +
    11. Let \(c\) be \({{\mathit{vunop}}}{{}_{{\mathit{sh}}}}{(c_1)}\).

    12. +
    13. Push the value \((\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c)\) to the stack.

    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& (\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c_1)~({\mathit{sh}} . {\mathit{vunop}}) &\hookrightarrow& (\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c) - &\qquad \mbox{if}~c = {{{\mathit{vunop}}}{{}_{{\mathit{sh}}}}}{(c_1)} \\ +& (\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_1)~({\mathit{sh}} {.} {\mathit{vunop}}) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& (\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c) + &\qquad \mbox{if}~c = {{\mathit{vunop}}}{{}_{{\mathit{sh}}}}{(c_1)} \\ \end{array}\end{split}\]
    -

    \({\mathit{sh}} . {\mathit{vbinop}}\)

    +

    \({\mathit{sh}} {.} {\mathit{vbinop}}\)

    1. Assert: Due to validation, a value is on the top of the stack.

    2. -
    3. Pop the value \((\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c_2)\) from the stack.

    4. +
    5. Pop the value \((\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_2)\) from the stack.

    6. Assert: Due to validation, a value is on the top of the stack.

    7. -
    8. Pop the value \((\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c_1)\) from the stack.

    9. -
    10. If \({|{{{\mathit{vbinop}}}{{}_{{\mathit{sh}}}}}{(c_1,\, c_2)}|}\) is \(1\), then:

      +
    11. Pop the value \((\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_1)\) from the stack.

    12. +
    13. If \({|{{\mathit{vbinop}}}{{}_{{\mathit{sh}}}}{(c_1,\, c_2)}|}\) is \(1\), then:

        -
      1. Let \(c\) be \({{{\mathit{vbinop}}}{{}_{{\mathit{sh}}}}}{(c_1,\, c_2)}\).

      2. -
      3. Push the value \((\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c)\) to the stack.

      4. +
      5. Let \(c\) be \({{\mathit{vbinop}}}{{}_{{\mathit{sh}}}}{(c_1,\, c_2)}\).

      6. +
      7. Push the value \((\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c)\) to the stack.

    14. -
    15. If \({{{\mathit{vbinop}}}{{}_{{\mathit{sh}}}}}{(c_1,\, c_2)}\) is \(\epsilon\), then:

      +
    16. If \({{\mathit{vbinop}}}{{}_{{\mathit{sh}}}}{(c_1,\, c_2)}\) is \(\epsilon\), then:

      1. Trap.

      2. @@ -2105,51 +2106,51 @@

        Quick search

      \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& (\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c_1)~(\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c_2)~({\mathit{sh}} . {\mathit{vbinop}}) &\hookrightarrow& (\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c) - &\qquad \mbox{if}~{{{\mathit{vbinop}}}{{}_{{\mathit{sh}}}}}{(c_1,\, c_2)} = c \\ -& (\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c_1)~(\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c_2)~({\mathit{sh}} . {\mathit{vbinop}}) &\hookrightarrow& \mathsf{trap} - &\qquad \mbox{if}~{{{\mathit{vbinop}}}{{}_{{\mathit{sh}}}}}{(c_1,\, c_2)} = \epsilon \\ +& (\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_1)~(\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_2)~({\mathit{sh}} {.} {\mathit{vbinop}}) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& (\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c) + &\qquad \mbox{if}~{{\mathit{vbinop}}}{{}_{{\mathit{sh}}}}{(c_1,\, c_2)} = c \\ +& (\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_1)~(\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_2)~({\mathit{sh}} {.} {\mathit{vbinop}}) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \href{../exec/runtime.html#syntax-trap}{\mathsf{trap}} + &\qquad \mbox{if}~{{\mathit{vbinop}}}{{}_{{\mathit{sh}}}}{(c_1,\, c_2)} = \epsilon \\ \end{array}\end{split}\]
    -
    -

    \({{{\mathsf{i}}{n}}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N} . \mathsf{all\_true}\)

    +
    +

    \({{\mathsf{i}}{n}}{\mathsf{x}}{N} {.} \href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{all\_true}}\)

    1. Assert: Due to validation, a value is on the top of the stack.

    2. -
    3. Pop the value \((\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c)\) from the stack.

    4. -
    5. Let \({{\mathit{ci}}_1^\ast}\) be \({{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{{\mathsf{i}}{n}}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N}}(c)\).

    6. +
    7. Pop the value \((\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c)\) from the stack.

    8. +
    9. Let \({{\mathit{ci}}_1^\ast}\) be \({{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{\mathsf{i}}{n}}{\mathsf{x}}{N}}(c)\).

    10. If for all \({({\mathit{ci}}_1)^\ast}\), \({\mathit{ci}}_1\) is not \(0\), then:

        -
      1. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~1)\) to the stack.

      2. +
      3. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~1)\) to the stack.

    11. Else:

        -
      1. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~0)\) to the stack.

      2. +
      3. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~0)\) to the stack.

    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& (\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c)~({{{\mathsf{i}}{n}}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N} . \mathsf{all\_true}) &\hookrightarrow& (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~1) - &\qquad \mbox{if}~{{\mathit{ci}}_1^\ast} = {{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{{\mathsf{i}}{n}}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N}}(c) \\ +& (\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c)~({{\mathsf{i}}{n}}{\mathsf{x}}{N} {.} \href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{all\_true}}) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~1) + &\qquad \mbox{if}~{{\mathit{ci}}_1^\ast} = {{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{\mathsf{i}}{n}}{\mathsf{x}}{N}}(c) \\ &&&&\qquad {\land}~({\mathit{ci}}_1 \neq 0)^\ast \\ -& (\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c)~({{{\mathsf{i}}{n}}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N} . \mathsf{all\_true}) &\hookrightarrow& (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~0) +& (\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c)~({{\mathsf{i}}{n}}{\mathsf{x}}{N} {.} \href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{all\_true}}) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~0) &\qquad \mbox{otherwise} \\ \end{array}\end{split}\]
    -

    \({\mathit{sh}} . {\mathit{vrelop}}\)

    +

    \({\mathit{sh}} {.} {\mathit{vrelop}}\)

    1. Assert: Due to validation, a value is on the top of the stack.

    2. -
    3. Pop the value \((\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c_2)\) from the stack.

    4. +
    5. Pop the value \((\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_2)\) from the stack.

    6. Assert: Due to validation, a value is on the top of the stack.

    7. -
    8. Pop the value \((\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c_1)\) from the stack.

    9. -
    10. Let \(c\) be \({{{\mathit{vrelop}}}{{}_{{\mathit{sh}}}}}{(c_1,\, c_2)}\).

    11. -
    12. Push the value \((\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c)\) to the stack.

    13. +
    14. Pop the value \((\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_1)\) from the stack.

    15. +
    16. Let \(c\) be \({{\mathit{vrelop}}}{{}_{{\mathit{sh}}}}{(c_1,\, c_2)}\).

    17. +
    18. Push the value \((\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c)\) to the stack.

    Todo

    @@ -2168,8 +2169,8 @@

    Quick search

    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& (\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c_1)~(\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c_2)~({\mathit{sh}} . {\mathit{vrelop}}) &\hookrightarrow& (\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c) - &\qquad \mbox{if}~{{{\mathit{vrelop}}}{{}_{{\mathit{sh}}}}}{(c_1,\, c_2)} = c \\ +& (\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_1)~(\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_2)~({\mathit{sh}} {.} {\mathit{vrelop}}) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& (\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c) + &\qquad \mbox{if}~{{\mathit{vrelop}}}{{}_{{\mathit{sh}}}}{(c_1,\, c_2)} = c \\ \end{array}\end{split}\]
    \[\begin{split}\begin{array}{l} @@ -2182,16 +2183,16 @@

    Quick search

    \end{array} \end{array}\end{split}\]
    -
    -

    \({{{\mathsf{i}}{n}}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N} . {\mathit{vshiftop}}\)

    +
    +

    \({{\mathsf{i}}{n}}{\mathsf{x}}{N} {.} {\mathit{vshiftop}}\)

      -
    1. Assert: Due to validation, a value of value type \(\mathsf{i{\scriptstyle32}}\) is on the top of the stack.

    2. -
    3. Pop the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n)\) from the stack.

    4. +
    5. Assert: Due to validation, a value of value type \(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}\) is on the top of the stack.

    6. +
    7. Pop the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n)\) from the stack.

    8. Assert: Due to validation, a value is on the top of the stack.

    9. -
    10. Pop the value \((\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c_1)\) from the stack.

    11. -
    12. Let \({{c'}^\ast}\) be \({{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{{\mathsf{i}}{n}}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N}}(c_1)\).

    13. -
    14. Let \(c\) be \({{{{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{{\mathsf{i}}{n}}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N}}^{{-1}}}}{({{{{\mathit{vshiftop}}}{{}_{{{{\mathsf{i}}{n}}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N}}}}{({c'},\, n)}^\ast})}\).

    15. -
    16. Push the value \((\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c)\) to the stack.

    17. +
    18. Pop the value \((\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_1)\) from the stack.

    19. +
    20. Let \({{c'}^\ast}\) be \({{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{\mathsf{i}}{n}}{\mathsf{x}}{N}}(c_1)\).

    21. +
    22. Let \(c\) be \({{{{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{\mathsf{i}}{n}}{\mathsf{x}}{N}}^{{-1}}}}{({{{\mathit{vshiftop}}}{{}_{{{\mathsf{i}}{n}}{\mathsf{x}}{N}}}{({c'},\, n)}^\ast})}\).

    23. +
    24. Push the value \((\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c)\) to the stack.

    Todo

    @@ -2209,9 +2210,9 @@

    Quick search

    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& (\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c_1)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n)~({{{\mathsf{i}}{n}}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N} . {\mathit{vshiftop}}) &\hookrightarrow& (\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c) - &\qquad \mbox{if}~{{c'}^\ast} = {{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{{\mathsf{i}}{n}}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N}}(c_1) \\ - &&&&\qquad {\land}~c = {{{{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{{\mathsf{i}}{n}}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N}}^{{-1}}}}{({{{{\mathit{vshiftop}}}{{}_{{{{\mathsf{i}}{n}}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N}}}}{({c'},\, n)}^\ast})} \\ +& (\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_1)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n)~({{\mathsf{i}}{n}}{\mathsf{x}}{N} {.} {\mathit{vshiftop}}) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& (\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c) + &\qquad \mbox{if}~{{c'}^\ast} = {{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{\mathsf{i}}{n}}{\mathsf{x}}{N}}(c_1) \\ + &&&&\qquad {\land}~c = {{{{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{\mathsf{i}}{n}}{\mathsf{x}}{N}}^{{-1}}}}{({{{\mathit{vshiftop}}}{{}_{{{\mathsf{i}}{n}}{\mathsf{x}}{N}}}{({c'},\, n)}^\ast})} \\ \end{array}\end{split}\]
    \[\begin{split}\begin{array}{l} @@ -2225,14 +2226,14 @@

    Quick search

    \end{array} \end{array}\end{split}\]
    -
    -

    \({{{\mathsf{i}}{n}}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N}{.}\mathsf{bitmask}\)

    +
    +

    \({{\mathsf{i}}{n}}{\mathsf{x}}{N}{.}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{bitmask}}\)

    1. Assert: Due to validation, a value is on the top of the stack.

    2. -
    3. Pop the value \((\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c)\) from the stack.

    4. -
    5. Let \({{\mathit{ci}}_1^\ast}\) be \({{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{{\mathsf{i}}{n}}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N}}(c)\).

    6. -
    7. Let \({\mathit{ci}}\) be \({\mathrm{inverse}}_{{\mathit{of}}_{\mathit{ibits}}}(32, {{{{{\href{../exec/numerics.html#op-ilt}{\mathrm{ilt}}}}_{{|{\mathsf{i}}{n}|}}^{\mathsf{s}}}}{({\mathit{ci}}_1,\, 0)}^\ast})\).

    8. -
    9. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~{\mathit{ci}})\) to the stack.

    10. +
    11. Pop the value \((\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c)\) from the stack.

    12. +
    13. Let \({{\mathit{ci}}_1^\ast}\) be \({{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{\mathsf{i}}{n}}{\mathsf{x}}{N}}(c)\).

    14. +
    15. Let \({\mathit{ci}}\) be \({\mathrm{inverse}}_{{\mathit{of}}_{\mathit{ibits}}}(32, {{{{{\href{../exec/numerics.html#op-ilt}{\mathrm{ilt}}}}_{{|{\mathsf{i}}{n}|}}^{\href{../syntax/instructions.html#syntax-sx}{\mathsf{S}}}}}{({\mathit{ci}}_1,\, 0)}^\ast})\).

    16. +
    17. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~{\mathit{ci}})\) to the stack.

    Todo

    @@ -2250,9 +2251,9 @@

    Quick search

    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& (\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c)~(({{{\mathsf{i}}{n}}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N}){.}\mathsf{bitmask}) &\hookrightarrow& (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~{\mathit{ci}}) - &\qquad \mbox{if}~{{\mathit{ci}}_1^\ast} = {{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{{\mathsf{i}}{n}}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N}}(c) \\ - &&&&\qquad {\land}~{{\href{../exec/numerics.html#aux-bits}{\mathrm{bits}}}}_{{\mathsf{i}}{32}}({\mathit{ci}}) = {{{{{\href{../exec/numerics.html#op-ilt}{\mathrm{ilt}}}}_{{|{\mathsf{i}}{n}|}}^{\mathsf{s}}}}{({\mathit{ci}}_1,\, 0)}^\ast} \\ +& (\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c)~(({{\mathsf{i}}{n}}{\mathsf{x}}{N}){.}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{bitmask}}) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~{\mathit{ci}}) + &\qquad \mbox{if}~{{\mathit{ci}}_1^\ast} = {{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{\mathsf{i}}{n}}{\mathsf{x}}{N}}(c) \\ + &&&&\qquad {\land}~{{\href{../exec/numerics.html#aux-bits}{\mathrm{bits}}}}_{{\href{../syntax/types.html#syntax-numtype}{\mathit{numtype}}}{32}}({\mathit{ci}}) = {{{{{\href{../exec/numerics.html#op-ilt}{\mathrm{ilt}}}}_{{|{\mathsf{i}}{n}|}}^{\href{../syntax/instructions.html#syntax-sx}{\mathsf{S}}}}}{({\mathit{ci}}_1,\, 0)}^\ast} \\ \end{array}\end{split}\]
    \[\begin{split}\begin{array}{lcl@{\qquad}l} @@ -2261,19 +2262,19 @@

    Quick search

    \\ \end{array}\end{split}\]
    -
    -

    \({{{\mathsf{i}}{n}}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N}{.}\mathsf{swizzle}\)

    +
    +

    \({{\mathsf{i}}{n}}{\mathsf{x}}{N}{.}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{swizzle}}\)

    1. Assert: Due to validation, a value is on the top of the stack.

    2. -
    3. Pop the value \((\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c_2)\) from the stack.

    4. +
    5. Pop the value \((\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_2)\) from the stack.

    6. Assert: Due to validation, a value is on the top of the stack.

    7. -
    8. Pop the value \((\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c_1)\) from the stack.

    9. -
    10. Let \({c^\ast}\) be \({{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{{\mathsf{i}}{n}}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N}}(c_1)~{0^{256 - N}}\).

    11. -
    12. Let \({{\mathit{ci}}^\ast}\) be \({{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{{\mathsf{i}}{n}}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N}}(c_2)\).

    13. +
    14. Pop the value \((\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_1)\) from the stack.

    15. +
    16. Let \({c^\ast}\) be \({{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{\mathsf{i}}{n}}{\mathsf{x}}{N}}(c_1)~{0^{256 - N}}\).

    17. +
    18. Let \({{\mathit{ci}}^\ast}\) be \({{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{\mathsf{i}}{n}}{\mathsf{x}}{N}}(c_2)\).

    19. Assert: Due to validation, for all \({(k)^{k<N}}\), \({{\mathit{ci}}^\ast}{}[k]\) is less than \({|{c^\ast}|}\).

    20. Assert: Due to validation, for all \({(k)^{k<N}}\), \(k\) is less than \({|{{\mathit{ci}}^\ast}|}\).

    21. -
    22. Let \({c'}\) be \({{{{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{{\mathsf{i}}{n}}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N}}^{{-1}}}}{({{c^\ast}{}[{{\mathit{ci}}^\ast}{}[k]]^{k<N}})}\).

    23. -
    24. Push the value \((\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~{c'})\) to the stack.

    25. +
    26. Let \({c'}\) be \({{{{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{\mathsf{i}}{n}}{\mathsf{x}}{N}}^{{-1}}}}{({{c^\ast}{}[{{\mathit{ci}}^\ast}{}[k]]^{k<N}})}\).

    27. +
    28. Push the value \((\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~{c'})\) to the stack.

    Todo

    @@ -2291,10 +2292,10 @@

    Quick search

    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& (\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c_1)~(\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c_2)~(({{{\mathsf{i}}{n}}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N}){.}\mathsf{swizzle}) &\hookrightarrow& (\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~{c'}) - &\qquad \mbox{if}~{{\mathit{ci}}^\ast} = {{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{{\mathsf{i}}{n}}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N}}(c_2) \\ - &&&&\qquad {\land}~{c^\ast} = {{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{{\mathsf{i}}{n}}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N}}(c_1)~{0^{256 - N}} \\ - &&&&\qquad {\land}~{c'} = {{{{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{{\mathsf{i}}{n}}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N}}^{{-1}}}}{({{c^\ast}{}[{{\mathit{ci}}^\ast}{}[k]]^{k<N}})} \\ +& (\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_1)~(\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_2)~(({{\mathsf{i}}{n}}{\mathsf{x}}{N}){.}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{swizzle}}) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& (\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~{c'}) + &\qquad \mbox{if}~{{\mathit{ci}}^\ast} = {{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{\mathsf{i}}{n}}{\mathsf{x}}{N}}(c_2) \\ + &&&&\qquad {\land}~{c^\ast} = {{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{\mathsf{i}}{n}}{\mathsf{x}}{N}}(c_1)~{0^{256 - N}} \\ + &&&&\qquad {\land}~{c'} = {{{{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{\mathsf{i}}{n}}{\mathsf{x}}{N}}^{{-1}}}}{({{c^\ast}{}[{{\mathit{ci}}^\ast}{}[k]]^{k<N}})} \\ \end{array}\end{split}\]
    \[\begin{split}\begin{array}{l} @@ -2309,18 +2310,18 @@

    Quick search

    \end{array} \end{array}\end{split}\]
    -
    -

    \({{{\mathsf{i}}{n}}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N}{.}\mathsf{shuffle}~{i^\ast}\)

    +
    +

    \({{\mathsf{i}}{n}}{\mathsf{x}}{N}{.}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{shuffle}}~{i^\ast}\)

    1. Assert: Due to validation, a value is on the top of the stack.

    2. -
    3. Pop the value \((\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c_2)\) from the stack.

    4. +
    5. Pop the value \((\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_2)\) from the stack.

    6. Assert: Due to validation, a value is on the top of the stack.

    7. -
    8. Pop the value \((\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c_1)\) from the stack.

    9. +
    10. Pop the value \((\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_1)\) from the stack.

    11. Assert: Due to validation, for all \({(k)^{k<N}}\), \(k\) is less than \({|{i^\ast}|}\).

    12. -
    13. Let \({{c'}^\ast}\) be \({{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{{\mathsf{i}}{n}}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N}}(c_1)~{{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{{\mathsf{i}}{n}}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N}}(c_2)\).

    14. +
    15. Let \({{c'}^\ast}\) be \({{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{\mathsf{i}}{n}}{\mathsf{x}}{N}}(c_1)~{{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{\mathsf{i}}{n}}{\mathsf{x}}{N}}(c_2)\).

    16. Assert: Due to validation, for all \({(k)^{k<N}}\), \({i^\ast}{}[k]\) is less than \({|{{c'}^\ast}|}\).

    17. -
    18. Let \(c\) be \({{{{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{{\mathsf{i}}{n}}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N}}^{{-1}}}}{({{{c'}^\ast}{}[{i^\ast}{}[k]]^{k<N}})}\).

    19. -
    20. Push the value \((\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c)\) to the stack.

    21. +
    22. Let \(c\) be \({{{{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{\mathsf{i}}{n}}{\mathsf{x}}{N}}^{{-1}}}}{({{{c'}^\ast}{}[{i^\ast}{}[k]]^{k<N}})}\).

    23. +
    24. Push the value \((\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c)\) to the stack.

    Todo

    @@ -2339,9 +2340,9 @@

    Quick search

    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& (\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c_1)~(\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c_2)~(({{{\mathsf{i}}{n}}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N}){.}\mathsf{shuffle}~{i^\ast}) &\hookrightarrow& (\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c) - &\qquad \mbox{if}~{{c'}^\ast} = {{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{{\mathsf{i}}{n}}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N}}(c_1)~{{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{{\mathsf{i}}{n}}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N}}(c_2) \\ - &&&&\qquad {\land}~c = {{{{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{{\mathsf{i}}{n}}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N}}^{{-1}}}}{({{{c'}^\ast}{}[{i^\ast}{}[k]]^{k<N}})} \\ +& (\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_1)~(\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_2)~(({{\mathsf{i}}{n}}{\mathsf{x}}{N}){.}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{shuffle}}~{i^\ast}) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& (\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c) + &\qquad \mbox{if}~{{c'}^\ast} = {{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{\mathsf{i}}{n}}{\mathsf{x}}{N}}(c_1)~{{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{\mathsf{i}}{n}}{\mathsf{x}}{N}}(c_2) \\ + &&&&\qquad {\land}~c = {{{{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{\mathsf{i}}{n}}{\mathsf{x}}{N}}^{{-1}}}}{({{{c'}^\ast}{}[{i^\ast}{}[k]]^{k<N}})} \\ \end{array}\end{split}\]
    \[\begin{split}\begin{array}{l} @@ -2355,13 +2356,13 @@

    Quick search

    \end{array} \end{array}\end{split}\]
    -
    -

    \({{{\mathsf{i}}{n}}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N}{.}\mathsf{splat}\)

    +
    +

    \({{\mathsf{i}}{n}}{\mathsf{x}}{N}{.}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{splat}}\)

    1. Assert: Due to validation, a value of value type \({\href{../syntax/types.html#aux-unpack}{\mathrm{unpack}}}({\mathsf{i}}{n})\) is on the top of the stack.

    2. -
    3. Pop the value \(({\mathit{nt}}_0{.}\mathsf{const}~c_1)\) from the stack.

    4. -
    5. Let \(c\) be \({{{{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{{\mathsf{i}}{n}}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N}}^{{-1}}}}{({{{\href{../exec/numerics.html#aux-packnum}{\mathrm{pack}}}}_{{\mathsf{i}}{n}}(c_1)^{N}})}\).

    6. -
    7. Push the value \((\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c)\) to the stack.

    8. +
    9. Pop the value \(({\mathit{nt}}_0{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_1)\) from the stack.

    10. +
    11. Let \(c\) be \({{{{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{\mathsf{i}}{n}}{\mathsf{x}}{N}}^{{-1}}}}{({{{\href{../exec/numerics.html#aux-packnum}{\mathrm{pack}}}}_{{\mathsf{i}}{n}}(c_1)^{N}})}\).

    12. +
    13. Push the value \((\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c)\) to the stack.

    Todo

    @@ -2377,8 +2378,8 @@

    Quick search

    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& ({\href{../syntax/types.html#aux-unpack}{\mathrm{unpack}}}({\mathsf{i}}{n}){.}\mathsf{const}~c_1)~(({{{\mathsf{i}}{n}}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N}){.}\mathsf{splat}) &\hookrightarrow& (\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c) - &\qquad \mbox{if}~c = {{{{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{{\mathsf{i}}{n}}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N}}^{{-1}}}}{({{{\href{../exec/numerics.html#aux-packnum}{\mathrm{pack}}}}_{{\mathsf{i}}{n}}(c_1)^{N}})} \\ +& ({\href{../syntax/types.html#aux-unpack}{\mathrm{unpack}}}({\mathsf{i}}{n}){.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_1)~(({{\mathsf{i}}{n}}{\mathsf{x}}{N}){.}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{splat}}) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& (\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c) + &\qquad \mbox{if}~c = {{{{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{\mathsf{i}}{n}}{\mathsf{x}}{N}}^{{-1}}}}{({{{\href{../exec/numerics.html#aux-packnum}{\mathrm{pack}}}}_{{\mathsf{i}}{n}}(c_1)^{N}})} \\ \end{array}\end{split}\]
    \[\begin{split}\begin{array}{lcl@{\qquad}l} @@ -2388,20 +2389,20 @@

    Quick search

    \\ \end{array}\end{split}\]
    -
    -

    \({{{{\mathit{lanet}}_{\mathit{u{\scriptstyle0}}}}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N}{.}\mathsf{extract\_lane\_}}{{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}_{\mathit{u{\scriptstyle1}}}^?}}~i\)

    +
    +

    \({{{\mathit{lanet}}_{\mathit{u{\scriptstyle0}}}}{\mathsf{x}}{N}{.}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extract\_lane}}}{\mathsf{\_}}{{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}_{\mathit{u{\scriptstyle1}}}^?}}~i\)

    1. Assert: Due to validation, a value is on the top of the stack.

    2. -
    3. Pop the value \((\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c_1)\) from the stack.

    4. +
    5. Pop the value \((\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_1)\) from the stack.

    6. If \({{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}_{\mathit{u{\scriptstyle1}}}^?}\) is not defined and the type of \({\mathit{lanet}}_{\mathit{u{\scriptstyle0}}}\) is numtype, then:

      1. Let \({\mathit{nt}}\) be \({\mathit{lanet}}_{\mathit{u{\scriptstyle0}}}\).

      2. -
      3. If \(i\) is less than \({|{{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{{\mathit{nt}}}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N}}(c_1)|}\), then:

        +
      4. If \(i\) is less than \({|{{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{\mathit{nt}}}{\mathsf{x}}{N}}(c_1)|}\), then:

          -
        1. Let \(c_2\) be \({{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{{\mathit{nt}}}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N}}(c_1){}[i]\).

        2. -
        3. Push the value \(({\mathit{nt}}{.}\mathsf{const}~c_2)\) to the stack.

        4. +
        5. Let \(c_2\) be \({{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{\mathit{nt}}}{\mathsf{x}}{N}}(c_1){}[i]\).

        6. +
        7. Push the value \(({\mathit{nt}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_2)\) to the stack.

      5. @@ -2416,11 +2417,11 @@

        Quick search

        1. Let \({\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}\) be \({{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}_{\mathit{u{\scriptstyle1}}}^?}\).

        2. -
        3. If \(i\) is less than \({|{{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{{\mathit{pt}}}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N}}(c_1)|}\), then:

          +
        4. If \(i\) is less than \({|{{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{\mathit{pt}}}{\mathsf{x}}{N}}(c_1)|}\), then:

            -
          1. Let \(c_2\) be \({{{{\href{../exec/numerics.html#op-ext}{\mathrm{extend}}}}_{{|{\mathit{pt}}|}, 32}^{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}}}}{({{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{{\mathit{pt}}}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N}}(c_1){}[i])}\).

          2. -
          3. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~c_2)\) to the stack.

          4. +
          5. Let \(c_2\) be \({{{{\href{../exec/numerics.html#op-ext}{\mathrm{extend}}}}_{{|{\mathit{pt}}|}, 32}^{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}}}}{({{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{\mathit{pt}}}{\mathsf{x}}{N}}(c_1){}[i])}\).

          6. +
          7. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_2)\) to the stack.

        5. @@ -2446,10 +2447,10 @@

          Quick search

        \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& (\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c_1)~(\mathsf{vextract\_lane}~({{{\mathit{nt}}}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N})~i) &\hookrightarrow& ({\mathit{nt}}{.}\mathsf{const}~c_2) - &\qquad \mbox{if}~c_2 = {{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{{\mathit{nt}}}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N}}(c_1){}[i] \\ -& (\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c_1)~({({{{\mathit{pt}}}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N}){.}\mathsf{extract\_lane\_}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}}~i) &\hookrightarrow& (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~c_2) - &\qquad \mbox{if}~c_2 = {{{{\href{../exec/numerics.html#op-ext}{\mathrm{extend}}}}_{{|{\mathit{pt}}|}, 32}^{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}}}}{({{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{{\mathit{pt}}}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N}}(c_1){}[i])} \\ +& (\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_1)~(\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extract\_lane}}~({{\mathit{nt}}}{\mathsf{x}}{N})~i) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& ({\mathit{nt}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_2) + &\qquad \mbox{if}~c_2 = {{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{\mathit{nt}}}{\mathsf{x}}{N}}(c_1){}[i] \\ +& (\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_1)~({({{\mathit{pt}}}{\mathsf{x}}{N}){.}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extract\_lane}}}{\mathsf{\_}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}}~i) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_2) + &\qquad \mbox{if}~c_2 = {{{{\href{../exec/numerics.html#op-ext}{\mathrm{extend}}}}_{{|{\mathit{pt}}|}, 32}^{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}}}}{({{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{\mathit{pt}}}{\mathsf{x}}{N}}(c_1){}[i])} \\ \end{array}\end{split}\]
        \[\begin{split}\begin{array}{l} @@ -2463,15 +2464,15 @@

        Quick search

        \end{array} \end{array}\end{split}\]
    -
    -

    \({{{\mathsf{i}}{n}}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N}{.}\mathsf{replace\_lane}~i\)

    +
    +

    \({{\mathsf{i}}{n}}{\mathsf{x}}{N}{.}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{replace\_lane}}~i\)

    1. Assert: Due to validation, a value of value type \({\href{../syntax/types.html#aux-unpack}{\mathrm{unpack}}}({\mathsf{i}}{n})\) is on the top of the stack.

    2. -
    3. Pop the value \(({\mathit{nt}}_0{.}\mathsf{const}~c_2)\) from the stack.

    4. +
    5. Pop the value \(({\mathit{nt}}_0{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_2)\) from the stack.

    6. Assert: Due to validation, a value is on the top of the stack.

    7. -
    8. Pop the value \((\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c_1)\) from the stack.

    9. -
    10. Let \(c\) be \({{{{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{{\mathsf{i}}{n}}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N}}^{{-1}}}}{({{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{{\mathsf{i}}{n}}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N}}(c_1){}[{}[i] = {{\href{../exec/numerics.html#aux-packnum}{\mathrm{pack}}}}_{{\mathsf{i}}{n}}(c_2)])}\).

    11. -
    12. Push the value \((\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c)\) to the stack.

    13. +
    14. Pop the value \((\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_1)\) from the stack.

    15. +
    16. Let \(c\) be \({{{{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{\mathsf{i}}{n}}{\mathsf{x}}{N}}^{{-1}}}}{({{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{\mathsf{i}}{n}}{\mathsf{x}}{N}}(c_1){}[{}[i] = {{\href{../exec/numerics.html#aux-packnum}{\mathrm{pack}}}}_{{\mathsf{i}}{n}}(c_2)])}\).

    17. +
    18. Push the value \((\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c)\) to the stack.

    Todo

    @@ -2490,8 +2491,8 @@

    Quick search

    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& (\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c_1)~({\href{../syntax/types.html#aux-unpack}{\mathrm{unpack}}}({\mathsf{i}}{n}){.}\mathsf{const}~c_2)~(({{{\mathsf{i}}{n}}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N}){.}\mathsf{replace\_lane}~i) &\hookrightarrow& (\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c) - &\qquad \mbox{if}~c = {{{{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{{\mathsf{i}}{n}}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N}}^{{-1}}}}{({{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{{\mathsf{i}}{n}}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N}}(c_1){}[{}[i] = {{\href{../exec/numerics.html#aux-packnum}{\mathrm{pack}}}}_{{\mathsf{i}}{n}}(c_2)])} \\ +& (\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_1)~({\href{../syntax/types.html#aux-unpack}{\mathrm{unpack}}}({\mathsf{i}}{n}){.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_2)~(({{\mathsf{i}}{n}}{\mathsf{x}}{N}){.}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{replace\_lane}}~i) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& (\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c) + &\qquad \mbox{if}~c = {{{{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{\mathsf{i}}{n}}{\mathsf{x}}{N}}^{{-1}}}}{({{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{\mathsf{i}}{n}}{\mathsf{x}}{N}}(c_1){}[{}[i] = {{\href{../exec/numerics.html#aux-packnum}{\mathrm{pack}}}}_{{\mathsf{i}}{n}}(c_2)])} \\ \end{array}\end{split}\]
    \[\begin{split}\begin{array}{l} @@ -2506,12 +2507,12 @@

    Quick search

    \end{array}\end{split}\]
    -

    \({\mathit{sh}}_1 . {{{{{\mathit{vextunop}}}{\mathsf{\_}}}{{\mathit{sh}}_2}}{\mathsf{\_}}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}}\)

    +

    \({\mathit{sh}}_1 {.} {{\mathit{vextunop}}}{\mathsf{\_}}{{\mathit{sh}}_2}{\mathsf{\_}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}}\)

    1. Assert: Due to validation, a value is on the top of the stack.

    2. -
    3. Pop the value \((\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c_1)\) from the stack.

    4. +
    5. Pop the value \((\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_1)\) from the stack.

    6. Let \(c\) be \({\href{../syntax/instructions.html#syntax-vextunop}{\mathit{vextunop}}}({\mathit{sh}}_1, {\mathit{sh}}_2, {\mathit{vextunop}}, {\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}, c_1)\).

    7. -
    8. Push the value \((\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c)\) to the stack.

    9. +
    10. Push the value \((\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c)\) to the stack.

    Todo

    @@ -2529,7 +2530,7 @@

    Quick search

    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& (\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c_1)~({\mathit{sh}}_1 . {{{{{\mathit{vextunop}}}{\mathsf{\_}}}{{\mathit{sh}}_2}}{\mathsf{\_}}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}}) &\hookrightarrow& (\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c) +& (\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_1)~({\mathit{sh}}_1 {.} {{\mathit{vextunop}}}{\mathsf{\_}}{{\mathit{sh}}_2}{\mathsf{\_}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}}) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& (\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c) &\qquad \mbox{if}~{\href{../syntax/instructions.html#syntax-vextunop}{\mathit{vextunop}}}({\mathit{sh}}_1, {\mathit{sh}}_2, {\mathit{vextunop}}, {\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}, c_1) = c \\ \end{array}\end{split}\]
    @@ -2546,14 +2547,14 @@

    Quick search

    \end{array}\end{split}\]
    -

    \({\mathit{sh}}_1 . {{{{{\mathit{vextbinop}}}{\mathsf{\_}}}{{\mathit{sh}}_2}}{\mathsf{\_}}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}}\)

    +

    \({\mathit{sh}}_1 {.} {{\mathit{vextbinop}}}{\mathsf{\_}}{{\mathit{sh}}_2}{\mathsf{\_}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}}\)

    1. Assert: Due to validation, a value is on the top of the stack.

    2. -
    3. Pop the value \((\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c_2)\) from the stack.

    4. +
    5. Pop the value \((\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_2)\) from the stack.

    6. Assert: Due to validation, a value is on the top of the stack.

    7. -
    8. Pop the value \((\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c_1)\) from the stack.

    9. +
    10. Pop the value \((\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_1)\) from the stack.

    11. Let \(c\) be \({\href{../syntax/instructions.html#syntax-vextbinop}{\mathit{vextbinop}}}({\mathit{sh}}_1, {\mathit{sh}}_2, {\mathit{vextbinop}}, {\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}, c_1, c_2)\).

    12. -
    13. Push the value \((\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c)\) to the stack.

    14. +
    15. Push the value \((\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c)\) to the stack.

    Todo

    @@ -2586,7 +2587,7 @@

    Quick search

    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& (\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c_1)~(\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c_2)~({\mathit{sh}}_1 . {{{{{\mathit{vextbinop}}}{\mathsf{\_}}}{{\mathit{sh}}_2}}{\mathsf{\_}}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}}) &\hookrightarrow& (\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c) +& (\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_1)~(\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_2)~({\mathit{sh}}_1 {.} {{\mathit{vextbinop}}}{\mathsf{\_}}{{\mathit{sh}}_2}{\mathsf{\_}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}}) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& (\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c) &\qquad \mbox{if}~{\href{../syntax/instructions.html#syntax-vextbinop}{\mathit{vextbinop}}}({\mathit{sh}}_1, {\mathit{sh}}_2, {\mathit{vextbinop}}, {\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}, c_1, c_2) = c \\ \end{array}\end{split}\]
    @@ -2638,19 +2639,19 @@

    Quick search

    \end{array} \end{array}\end{split}\]
    -
    -

    \({{{{{{{{\mathsf{i}}{n}}_2}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N_2}{.}\mathsf{narrow}}{\mathsf{\_}}}{{{{{\mathsf{i}}{n}}_1}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N_1}}}{\mathsf{\_}}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}}\)

    +
    +

    \({{{{\mathsf{i}}{n}}_2}{\mathsf{x}}{N_2}{.}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{narrow}}}{\mathsf{\_}}{{{{\mathsf{i}}{n}}_1}{\mathsf{x}}{N_1}}{\mathsf{\_}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}}\)

    1. Assert: Due to validation, a value is on the top of the stack.

    2. -
    3. Pop the value \((\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c_2)\) from the stack.

    4. +
    5. Pop the value \((\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_2)\) from the stack.

    6. Assert: Due to validation, a value is on the top of the stack.

    7. -
    8. Pop the value \((\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c_1)\) from the stack.

    9. -
    10. Let \({{\mathit{ci}}_1^\ast}\) be \({{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{{{\mathsf{i}}{n}}_1}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N_1}}(c_1)\).

    11. -
    12. Let \({{\mathit{ci}}_2^\ast}\) be \({{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{{{\mathsf{i}}{n}}_1}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N_1}}(c_2)\).

    13. +
    14. Pop the value \((\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_1)\) from the stack.

    15. +
    16. Let \({{\mathit{ci}}_1^\ast}\) be \({{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{{\mathsf{i}}{n}}_1}{\mathsf{x}}{N_1}}(c_1)\).

    17. +
    18. Let \({{\mathit{ci}}_2^\ast}\) be \({{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{{\mathsf{i}}{n}}_1}{\mathsf{x}}{N_1}}(c_2)\).

    19. Let \({{\mathit{cj}}_1^\ast}\) be \({{{{{\href{../exec/numerics.html#op-narrow}{\mathrm{narrow}}}}_{{|{{\mathsf{i}}{n}}_1|}, {|{{\mathsf{i}}{n}}_2|}}^{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}}}}{{\mathit{ci}}_1}^\ast}\).

    20. Let \({{\mathit{cj}}_2^\ast}\) be \({{{{{\href{../exec/numerics.html#op-narrow}{\mathrm{narrow}}}}_{{|{{\mathsf{i}}{n}}_1|}, {|{{\mathsf{i}}{n}}_2|}}^{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}}}}{{\mathit{ci}}_2}^\ast}\).

    21. -
    22. Let \(c\) be \({{{{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{{{\mathsf{i}}{n}}_2}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N_2}}^{{-1}}}}{({{\mathit{cj}}_1^\ast}~{{\mathit{cj}}_2^\ast})}\).

    23. -
    24. Push the value \((\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c)\) to the stack.

    25. +
    26. Let \(c\) be \({{{{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{{\mathsf{i}}{n}}_2}{\mathsf{x}}{N_2}}^{{-1}}}}{({{\mathit{cj}}_1^\ast}~{{\mathit{cj}}_2^\ast})}\).

    27. +
    28. Push the value \((\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c)\) to the stack.

    Todo

    @@ -2671,12 +2672,12 @@

    Quick search

    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& (\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c_1)~(\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c_2)~({{{{({{{{\mathsf{i}}{n}}_2}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N_2}){.}\mathsf{narrow}}{\mathsf{\_}}}{{{{{\mathsf{i}}{n}}_1}{\mathsf{x}}}{N_1}}}{\mathsf{\_}}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}}) &\hookrightarrow& (\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c) - &\qquad \mbox{if}~{{\mathit{ci}}_1^\ast} = {{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{{{\mathsf{i}}{n}}_1}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N_1}}(c_1) \\ - &&&&\qquad {\land}~{{\mathit{ci}}_2^\ast} = {{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{{{\mathsf{i}}{n}}_1}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N_1}}(c_2) \\ +& (\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_1)~(\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_2)~({({{{\mathsf{i}}{n}}_2}{\mathsf{x}}{N_2}){.}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{narrow}}}{\mathsf{\_}}{({{{\mathsf{i}}{n}}_1}{\mathsf{x}}{N_1})}{\mathsf{\_}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}}) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& (\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c) + &\qquad \mbox{if}~{{\mathit{ci}}_1^\ast} = {{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{{\mathsf{i}}{n}}_1}{\mathsf{x}}{N_1}}(c_1) \\ + &&&&\qquad {\land}~{{\mathit{ci}}_2^\ast} = {{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{{\mathsf{i}}{n}}_1}{\mathsf{x}}{N_1}}(c_2) \\ &&&&\qquad {\land}~{{\mathit{cj}}_1^\ast} = {{{{{\href{../exec/numerics.html#op-narrow}{\mathrm{narrow}}}}_{{|{{\mathsf{i}}{n}}_1|}, {|{{\mathsf{i}}{n}}_2|}}^{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}}}}{{\mathit{ci}}_1}^\ast} \\ &&&&\qquad {\land}~{{\mathit{cj}}_2^\ast} = {{{{{\href{../exec/numerics.html#op-narrow}{\mathrm{narrow}}}}_{{|{{\mathsf{i}}{n}}_1|}, {|{{\mathsf{i}}{n}}_2|}}^{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}}}}{{\mathit{ci}}_2}^\ast} \\ - &&&&\qquad {\land}~c = {{{{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{{{\mathsf{i}}{n}}_2}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N_2}}^{{-1}}}}{({{\mathit{cj}}_1^\ast}~{{\mathit{cj}}_2^\ast})} \\ + &&&&\qquad {\land}~c = {{{{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{{\mathsf{i}}{n}}_2}{\mathsf{x}}{N_2}}^{{-1}}}}{({{\mathit{cj}}_1^\ast}~{{\mathit{cj}}_2^\ast})} \\ \end{array}\end{split}\]
    \[\begin{split}\begin{array}{l} @@ -2708,9 +2709,9 @@

    Quick search

    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& (\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c_1)~(({{{{\mathsf{i}}{n}}_2}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N_2}) . {{{\mathit{vcvtop}}}{\mathsf{\_}}}{{{{{\mathsf{i}}{n}}_1}{\mathsf{x}}}{N_1}}) &\hookrightarrow& (\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c) - &\qquad \mbox{if}~{{c'}^\ast} = {{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{{{\mathsf{i}}{n}}_1}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N_1}}(c_1) \\ - &&&&\qquad {\land}~c = {{{{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{{{\mathsf{i}}{n}}_2}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N_2}}^{{-1}}}}{({{\href{../syntax/instructions.html#syntax-vcvtop}{\mathit{vcvtop}}}({{{{\mathsf{i}}{n}}_1}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N_1}, {{{{\mathsf{i}}{n}}_2}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N_2}, {\mathit{vcvtop}}, {{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}^?}, {c'})^\ast})} \\ +& (\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_1)~(({{{\mathsf{i}}{n}}_2}{\mathsf{x}}{N_2}) {.} {{\mathit{vcvtop}}}{\mathsf{\_}}{{{{\mathsf{i}}{n}}_1}{\mathsf{x}}{N_1}}) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& (\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c) + &\qquad \mbox{if}~{{c'}^\ast} = {{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{{\mathsf{i}}{n}}_1}{\mathsf{x}}{N_1}}(c_1) \\ + &&&&\qquad {\land}~c = {{{{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{{\mathsf{i}}{n}}_2}{\mathsf{x}}{N_2}}^{{-1}}}}{({{\href{../syntax/instructions.html#syntax-vcvtop}{\mathit{vcvtop}}}({{{\mathsf{i}}{n}}_1}{\mathsf{x}}{N_1}, {{{\mathsf{i}}{n}}_2}{\mathsf{x}}{N_2}, {\mathit{vcvtop}}, {{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}^?}, {c'})^\ast})} \\ \end{array}\end{split}\]
    \[\begin{split}\begin{array}{l} @@ -2750,9 +2751,9 @@

    \(t_2\mathsf{x}N\mathsf{.}\href{.
    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& (\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c_1)~(({{{{\mathsf{i}}{n}}_2}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N_2}) . {{{\mathit{vcvtop}}}{\mathsf{\_}}}{{{{{\mathsf{i}}{n}}_1}{\mathsf{x}}}{N_1}}) &\hookrightarrow& (\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c) - &\qquad \mbox{if}~{{\mathit{ci}}^\ast} = {{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{{{\mathsf{i}}{n}}_1}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N_1}}(c_1){}[{\href{../syntax/instructions.html#syntax-half}{\mathit{half}}}({\href{../syntax/instructions.html#syntax-half}{\mathit{half}}}, 0, N_2) : N_2] \\ - &&&&\qquad {\land}~c = {{{{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{{{\mathsf{i}}{n}}_2}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N_2}}^{{-1}}}}{({{\href{../syntax/instructions.html#syntax-vcvtop}{\mathit{vcvtop}}}({{{{\mathsf{i}}{n}}_1}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N_1}, {{{{\mathsf{i}}{n}}_2}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N_2}, {\mathit{vcvtop}}, {{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}^?}, {\mathit{ci}})^\ast})} \\ +& (\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_1)~(({{{\mathsf{i}}{n}}_2}{\mathsf{x}}{N_2}) {.} {{\mathit{vcvtop}}}{\mathsf{\_}}{{{{\mathsf{i}}{n}}_1}{\mathsf{x}}{N_1}}) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& (\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c) + &\qquad \mbox{if}~{{\mathit{ci}}^\ast} = {{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{{\mathsf{i}}{n}}_1}{\mathsf{x}}{N_1}}(c_1){}[{\href{../syntax/instructions.html#syntax-half}{\mathit{half}}}({\href{../syntax/instructions.html#syntax-half}{\mathit{half}}}, 0, N_2) : N_2] \\ + &&&&\qquad {\land}~c = {{{{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{{\mathsf{i}}{n}}_2}{\mathsf{x}}{N_2}}^{{-1}}}}{({{\href{../syntax/instructions.html#syntax-vcvtop}{\mathit{vcvtop}}}({{{\mathsf{i}}{n}}_1}{\mathsf{x}}{N_1}, {{{\mathsf{i}}{n}}_2}{\mathsf{x}}{N_2}, {\mathit{vcvtop}}, {{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}^?}, {\mathit{ci}})^\ast})} \\ \end{array}\end{split}\]
    \[\begin{split}\begin{array}{l} @@ -2789,9 +2790,9 @@

    \(t_2\mathsf{x}N\mathsf{.}\href{.
    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& (\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c_1)~(({{{\mathit{nt}}_2}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N_2}) . {{{\mathit{vcvtop}}}{\mathsf{\_}}}{{{{\mathit{nt}}_1}{\mathsf{x}}}{N_1}}) &\hookrightarrow& (\mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c) - &\qquad \mbox{if}~{{\mathit{ci}}^\ast} = {{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{{\mathit{nt}}_1}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N_1}}(c_1) \\ - &&&&\qquad {\land}~c = {{{{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{{\mathit{nt}}_2}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N_2}}^{{-1}}}}{({{\href{../syntax/instructions.html#syntax-vcvtop}{\mathit{vcvtop}}}({{{\mathit{nt}}_1}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N_1}, {{{\mathit{nt}}_2}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N_2}, {\mathit{vcvtop}}, {{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}^?}, {\mathit{ci}})^\ast}~{0^{N_1}})} \\ +& (\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_1)~(({{\mathit{nt}}_2}{\mathsf{x}}{N_2}) {.} {{\mathit{vcvtop}}}{\mathsf{\_}}{{{\mathit{nt}}_1}{\mathsf{x}}{N_1}}) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& (\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c) + &\qquad \mbox{if}~{{\mathit{ci}}^\ast} = {{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{\mathit{nt}}_1}{\mathsf{x}}{N_1}}(c_1) \\ + &&&&\qquad {\land}~c = {{{{\href{../exec/numerics.html#aux-lanes}{\mathrm{lanes}}}}_{{{\mathit{nt}}_2}{\mathsf{x}}{N_2}}^{{-1}}}}{({{\href{../syntax/instructions.html#syntax-vcvtop}{\mathit{vcvtop}}}({{\mathit{nt}}_1}{\mathsf{x}}{N_1}, {{\mathit{nt}}_2}{\mathsf{x}}{N_2}, {\mathit{vcvtop}}, {{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}^?}, {\mathit{ci}})^\ast}~{0^{N_1}})} \\ \end{array}\end{split}\]
    \[\begin{split}\begin{array}{l} @@ -2807,158 +2808,158 @@

    \(t_2\mathsf{x}N\mathsf{.}\href{.

    Variable Instructions

    -
    -

    \(\mathsf{local.get}~x\)

    +
    +

    \(\href{../syntax/instructions.html#syntax-instr-variable}{\mathsf{local.get}}~x\)

    1. Let \(z\) be the current state.

    2. -
    3. Assert: Due to validation, \(z{.}\mathsf{locals}{}[x]\) is defined.

    4. -
    5. Let \({\href{../exec/runtime.html#syntax-val}{\mathit{val}}}\) be \(z{.}\mathsf{locals}{}[x]\).

    6. +
    7. Assert: Due to validation, \(z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{locals}}{}[x]\) is defined.

    8. +
    9. Let \({\href{../exec/runtime.html#syntax-val}{\mathit{val}}}\) be \(z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{locals}}{}[x]\).

    10. Push the value \({\href{../exec/runtime.html#syntax-val}{\mathit{val}}}\) to the stack.

    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& z ; (\mathsf{local.get}~x) &\hookrightarrow& {\href{../exec/runtime.html#syntax-val}{\mathit{val}}} - &\qquad \mbox{if}~z{.}\mathsf{locals}{}[x] = {\href{../exec/runtime.html#syntax-val}{\mathit{val}}} \\ +& z ; (\href{../syntax/instructions.html#syntax-instr-variable}{\mathsf{local.get}}~x) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& {\href{../exec/runtime.html#syntax-val}{\mathit{val}}} + &\qquad \mbox{if}~z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{locals}}{}[x] = {\href{../exec/runtime.html#syntax-val}{\mathit{val}}} \\ \end{array}\end{split}\]
    -
    -

    \(\mathsf{local.set}~x\)

    +
    +

    \(\href{../syntax/instructions.html#syntax-instr-variable}{\mathsf{local.set}}~x\)

    1. Let \(z\) be the current state.

    2. Assert: Due to validation, a value is on the top of the stack.

    3. Pop the value \({\href{../exec/runtime.html#syntax-val}{\mathit{val}}}\) from the stack.

    4. -
    5. Perform \(z{}[\mathsf{locals}{}[x] = {\href{../exec/runtime.html#syntax-val}{\mathit{val}}}]\).

    6. +
    7. Perform \(z{}[\href{../exec/runtime.html#syntax-store}{\mathsf{locals}}{}[x] = {\href{../exec/runtime.html#syntax-val}{\mathit{val}}}]\).

    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& z ; {\href{../exec/runtime.html#syntax-val}{\mathit{val}}}~(\mathsf{local.set}~x) &\hookrightarrow& z{}[\mathsf{locals}{}[x] = {\href{../exec/runtime.html#syntax-val}{\mathit{val}}}] ; \epsilon \\ +& z ; {\href{../exec/runtime.html#syntax-val}{\mathit{val}}}~(\href{../syntax/instructions.html#syntax-instr-variable}{\mathsf{local.set}}~x) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& z{}[\href{../exec/runtime.html#syntax-store}{\mathsf{locals}}{}[x] = {\href{../exec/runtime.html#syntax-val}{\mathit{val}}}] ; \epsilon \\ \end{array}\end{split}\]
    -
    -

    \(\mathsf{local.tee}~x\)

    +
    +

    \(\href{../syntax/instructions.html#syntax-instr-variable}{\mathsf{local.tee}}~x\)

    1. Assert: Due to validation, a value is on the top of the stack.

    2. Pop the value \({\href{../exec/runtime.html#syntax-val}{\mathit{val}}}\) from the stack.

    3. Push the value \({\href{../exec/runtime.html#syntax-val}{\mathit{val}}}\) to the stack.

    4. Push the value \({\href{../exec/runtime.html#syntax-val}{\mathit{val}}}\) to the stack.

    5. -
    6. Execute the instruction \((\mathsf{local.set}~x)\).

    7. +
    8. Execute the instruction \((\href{../syntax/instructions.html#syntax-instr-variable}{\mathsf{local.set}}~x)\).

    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& {\href{../exec/runtime.html#syntax-val}{\mathit{val}}}~(\mathsf{local.tee}~x) &\hookrightarrow& {\href{../exec/runtime.html#syntax-val}{\mathit{val}}}~{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}~(\mathsf{local.set}~x) \\ +& {\href{../exec/runtime.html#syntax-val}{\mathit{val}}}~(\href{../syntax/instructions.html#syntax-instr-variable}{\mathsf{local.tee}}~x) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& {\href{../exec/runtime.html#syntax-val}{\mathit{val}}}~{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}~(\href{../syntax/instructions.html#syntax-instr-variable}{\mathsf{local.set}}~x) \\ \end{array}\end{split}\]
    -
    -

    \(\mathsf{global.get}~x\)

    +
    +

    \(\href{../syntax/instructions.html#syntax-instr-variable}{\mathsf{global.get}}~x\)

    1. Let \(z\) be the current state.

    2. -
    3. Let \({\href{../exec/runtime.html#syntax-val}{\mathit{val}}}\) be \(z{.}\mathsf{globals}{}[x]{.}\mathsf{value}\).

    4. +
    5. Let \({\href{../exec/runtime.html#syntax-val}{\mathit{val}}}\) be \(z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{globals}}{}[x]{.}\mathsf{value}\).

    6. Push the value \({\href{../exec/runtime.html#syntax-val}{\mathit{val}}}\) to the stack.

    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& z ; (\mathsf{global.get}~x) &\hookrightarrow& {\href{../exec/runtime.html#syntax-val}{\mathit{val}}} - &\qquad \mbox{if}~z{.}\mathsf{globals}{}[x]{.}\mathsf{value} = {\href{../exec/runtime.html#syntax-val}{\mathit{val}}} \\ +& z ; (\href{../syntax/instructions.html#syntax-instr-variable}{\mathsf{global.get}}~x) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& {\href{../exec/runtime.html#syntax-val}{\mathit{val}}} + &\qquad \mbox{if}~z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{globals}}{}[x]{.}\mathsf{value} = {\href{../exec/runtime.html#syntax-val}{\mathit{val}}} \\ \end{array}\end{split}\]
    -
    -

    \(\mathsf{global.set}~x\)

    +
    +

    \(\href{../syntax/instructions.html#syntax-instr-variable}{\mathsf{global.set}}~x\)

    1. Let \(z\) be the current state.

    2. Assert: Due to validation, a value is on the top of the stack.

    3. Pop the value \({\href{../exec/runtime.html#syntax-val}{\mathit{val}}}\) from the stack.

    4. -
    5. Perform \(z{}[\mathsf{globals}{}[x].\mathsf{value} = {\href{../exec/runtime.html#syntax-val}{\mathit{val}}}]\).

    6. +
    7. Perform \(z{}[\href{../exec/runtime.html#syntax-store}{\mathsf{globals}}{}[x]{.}\href{../exec/runtime.html#syntax-globalinst}{\mathsf{value}} = {\href{../exec/runtime.html#syntax-val}{\mathit{val}}}]\).

    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& z ; {\href{../exec/runtime.html#syntax-val}{\mathit{val}}}~(\mathsf{global.set}~x) &\hookrightarrow& z{}[\mathsf{globals}{}[x].\mathsf{value} = {\href{../exec/runtime.html#syntax-val}{\mathit{val}}}] ; \epsilon \\ +& z ; {\href{../exec/runtime.html#syntax-val}{\mathit{val}}}~(\href{../syntax/instructions.html#syntax-instr-variable}{\mathsf{global.set}}~x) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& z{}[\href{../exec/runtime.html#syntax-store}{\mathsf{globals}}{}[x]{.}\href{../exec/runtime.html#syntax-globalinst}{\mathsf{value}} = {\href{../exec/runtime.html#syntax-val}{\mathit{val}}}] ; \epsilon \\ \end{array}\end{split}\]

    Table Instructions

    -
    -

    \(\mathsf{table.get}~x\)

    +
    +

    \(\href{../syntax/instructions.html#syntax-instr-table}{\mathsf{table.get}}~x\)

    1. Let \(z\) be the current state.

    2. -
    3. Assert: Due to validation, a value of value type \(\mathsf{i{\scriptstyle32}}\) is on the top of the stack.

    4. -
    5. Pop the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)\) from the stack.

    6. -
    7. If \(i\) is greater than or equal to \({|z{.}\mathsf{tables}{}[x]{.}\mathsf{refs}|}\), then:

      +
    8. Assert: Due to validation, a value of value type \(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}\) is on the top of the stack.

    9. +
    10. Pop the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)\) from the stack.

    11. +
    12. If \(i\) is greater than or equal to \({|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{tables}}{}[x]{.}\mathsf{refs}|}\), then:

      1. Trap.

    13. -
    14. Push the value \(z{.}\mathsf{tables}{}[x]{.}\mathsf{refs}{}[i]\) to the stack.

    15. +
    16. Push the value \(z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{tables}}{}[x]{.}\mathsf{refs}{}[i]\) to the stack.

    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& z ; (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)~(\mathsf{table.get}~x) &\hookrightarrow& \mathsf{trap} - &\qquad \mbox{if}~i \geq {|z{.}\mathsf{tables}{}[x]{.}\mathsf{refs}|} \\ -& z ; (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)~(\mathsf{table.get}~x) &\hookrightarrow& z{.}\mathsf{tables}{}[x]{.}\mathsf{refs}{}[i] - &\qquad \mbox{if}~i < {|z{.}\mathsf{tables}{}[x]{.}\mathsf{refs}|} \\ +& z ; (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)~(\href{../syntax/instructions.html#syntax-instr-table}{\mathsf{table.get}}~x) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \href{../exec/runtime.html#syntax-trap}{\mathsf{trap}} + &\qquad \mbox{if}~i \geq {|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{tables}}{}[x]{.}\mathsf{refs}|} \\ +& z ; (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)~(\href{../syntax/instructions.html#syntax-instr-table}{\mathsf{table.get}}~x) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{tables}}{}[x]{.}\mathsf{refs}{}[i] + &\qquad \mbox{if}~i < {|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{tables}}{}[x]{.}\mathsf{refs}|} \\ \end{array}\end{split}\]
    -
    -

    \(\mathsf{table.set}~x\)

    +
    +

    \(\href{../syntax/instructions.html#syntax-instr-table}{\mathsf{table.set}}~x\)

    1. Let \(z\) be the current state.

    2. Assert: Due to validation, a value is on the top of the stack.

    3. Pop the value \({\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}\) from the stack.

    4. -
    5. Assert: Due to validation, a value of value type \(\mathsf{i{\scriptstyle32}}\) is on the top of the stack.

    6. -
    7. Pop the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)\) from the stack.

    8. -
    9. If \(i\) is greater than or equal to \({|z{.}\mathsf{tables}{}[x]{.}\mathsf{refs}|}\), then:

      +
    10. Assert: Due to validation, a value of value type \(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}\) is on the top of the stack.

    11. +
    12. Pop the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)\) from the stack.

    13. +
    14. If \(i\) is greater than or equal to \({|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{tables}}{}[x]{.}\mathsf{refs}|}\), then:

      1. Trap.

    15. -
    16. Perform \(z{}[\mathsf{tables}{}[x].\mathsf{refs}{}[i] = {\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}]\).

    17. +
    18. Perform \(z{}[\href{../exec/runtime.html#syntax-store}{\mathsf{tables}}{}[x]{.}\href{../exec/runtime.html#syntax-tableinst}{\mathsf{elem}}{}[i] = {\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}]\).

    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& z ; (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)~{\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}~(\mathsf{table.set}~x) &\hookrightarrow& z ; \mathsf{trap} - &\qquad \mbox{if}~i \geq {|z{.}\mathsf{tables}{}[x]{.}\mathsf{refs}|} \\ -& z ; (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)~{\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}~(\mathsf{table.set}~x) &\hookrightarrow& z{}[\mathsf{tables}{}[x].\mathsf{refs}{}[i] = {\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}] ; \epsilon - &\qquad \mbox{if}~i < {|z{.}\mathsf{tables}{}[x]{.}\mathsf{refs}|} \\ +& z ; (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)~{\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}~(\href{../syntax/instructions.html#syntax-instr-table}{\mathsf{table.set}}~x) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& z ; \href{../exec/runtime.html#syntax-trap}{\mathsf{trap}} + &\qquad \mbox{if}~i \geq {|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{tables}}{}[x]{.}\mathsf{refs}|} \\ +& z ; (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)~{\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}~(\href{../syntax/instructions.html#syntax-instr-table}{\mathsf{table.set}}~x) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& z{}[\href{../exec/runtime.html#syntax-store}{\mathsf{tables}}{}[x]{.}\href{../exec/runtime.html#syntax-tableinst}{\mathsf{elem}}{}[i] = {\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}] ; \epsilon + &\qquad \mbox{if}~i < {|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{tables}}{}[x]{.}\mathsf{refs}|} \\ \end{array}\end{split}\]
    -
    -

    \(\mathsf{table.size}~x\)

    +
    +

    \(\href{../syntax/instructions.html#syntax-instr-table}{\mathsf{table.size}}~x\)

    1. Let \(z\) be the current state.

    2. -
    3. Let \(n\) be \({|z{.}\mathsf{tables}{}[x]{.}\mathsf{refs}|}\).

    4. -
    5. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n)\) to the stack.

    6. +
    7. Let \(n\) be \({|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{tables}}{}[x]{.}\mathsf{refs}|}\).

    8. +
    9. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n)\) to the stack.

    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& z ; (\mathsf{table.size}~x) &\hookrightarrow& (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n) - &\qquad \mbox{if}~{|z{.}\mathsf{tables}{}[x]{.}\mathsf{refs}|} = n \\ +& z ; (\href{../syntax/instructions.html#syntax-instr-table}{\mathsf{table.size}}~x) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n) + &\qquad \mbox{if}~{|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{tables}}{}[x]{.}\mathsf{refs}|} = n \\ \end{array}\end{split}\]
    -
    -

    \(\mathsf{table.grow}~x\)

    +
    +

    \(\href{../syntax/instructions.html#syntax-instr-table}{\mathsf{table.grow}}~x\)

    1. Let \(z\) be the current state.

    2. -
    3. Assert: Due to validation, a value of value type \(\mathsf{i{\scriptstyle32}}\) is on the top of the stack.

    4. -
    5. Pop the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n)\) from the stack.

    6. +
    7. Assert: Due to validation, a value of value type \(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}\) is on the top of the stack.

    8. +
    9. Pop the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n)\) from the stack.

    10. Assert: Due to validation, a value is on the top of the stack.

    11. Pop the value \({\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}\) from the stack.

    12. Either:

        -
      1. Let \({\mathit{ti}}\) be \({\href{../exec/modules.html#grow-table}{\mathrm{growtable}}}(z{.}\mathsf{tables}{}[x], n, {\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}})\).

      2. -
      3. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~{|z{.}\mathsf{tables}{}[x]{.}\mathsf{refs}|})\) to the stack.

      4. -
      5. Perform \(z{}[\mathsf{tables}{}[x] = {\mathit{ti}}]\).

      6. +
      7. Let \({\mathit{ti}}\) be \({\href{../exec/modules.html#grow-table}{\mathrm{growtable}}}(z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{tables}}{}[x], n, {\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}})\).

      8. +
      9. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~{|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{tables}}{}[x]{.}\mathsf{refs}|})\) to the stack.

      10. +
      11. Perform \(z{}[\href{../exec/runtime.html#syntax-store}{\mathsf{tables}}{}[x] = {\mathit{ti}}]\).

    13. Or:

        -
      1. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~{{{{\href{../exec/numerics.html#aux-signed}{\mathrm{signed}}}}_{32}^{{-1}}}}{({-1})})\) to the stack.

      2. +
      3. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~{{{{\href{../exec/numerics.html#aux-signed}{\mathrm{signed}}}}_{32}^{{-1}}}}{({-1})})\) to the stack.

    14. @@ -2971,9 +2972,9 @@

      \(t_2\mathsf{x}N\mathsf{.}\href{.
      \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& z ; {\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n)~(\mathsf{table.grow}~x) &\hookrightarrow& \multicolumn{2}{l@{}}{ z{}[\mathsf{tables}{}[x] = {\mathit{ti}}] ; (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~{|z{.}\mathsf{tables}{}[x]{.}\mathsf{refs}|}) } \\ - &&& \multicolumn{2}{l@{}}{\quad \mbox{if}~{\mathit{ti}} = {\href{../exec/modules.html#grow-table}{\mathrm{growtable}}}(z{.}\mathsf{tables}{}[x], n, {\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}})} \\ -& z ; {\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n)~(\mathsf{table.grow}~x) &\hookrightarrow& z ; (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~{{{{\href{../exec/numerics.html#aux-signed}{\mathrm{signed}}}}_{32}^{{-1}}}}{({-1})}) \\ +& z ; {\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n)~(\href{../syntax/instructions.html#syntax-instr-table}{\mathsf{table.grow}}~x) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \multicolumn{2}{l@{}}{ z{}[\href{../exec/runtime.html#syntax-store}{\mathsf{tables}}{}[x] = {\mathit{ti}}] ; (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~{|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{tables}}{}[x]{.}\mathsf{refs}|}) } \\ + &&& \multicolumn{2}{l@{}}{\quad \mbox{if}~{\mathit{ti}} = {\href{../exec/modules.html#grow-table}{\mathrm{growtable}}}(z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{tables}}{}[x], n, {\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}})} \\ +& z ; {\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n)~(\href{../syntax/instructions.html#syntax-instr-table}{\mathsf{table.grow}}~x) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& z ; (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~{{{{\href{../exec/numerics.html#aux-signed}{\mathrm{signed}}}}_{32}^{{-1}}}}{({-1})}) \\ \end{array}\end{split}\]

      Note

      @@ -2985,17 +2986,17 @@

      \(t_2\mathsf{x}N\mathsf{.}\href{. In practice, the choice depends on the resources available to the embedder.

    -
    -

    \(\mathsf{table.fill}~x\)

    +
    +

    \(\href{../syntax/instructions.html#syntax-instr-table}{\mathsf{table.fill}}~x\)

    1. Let \(z\) be the current state.

    2. -
    3. Assert: Due to validation, a value of value type \(\mathsf{i{\scriptstyle32}}\) is on the top of the stack.

    4. -
    5. Pop the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n)\) from the stack.

    6. +
    7. Assert: Due to validation, a value of value type \(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}\) is on the top of the stack.

    8. +
    9. Pop the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n)\) from the stack.

    10. Assert: Due to validation, a value is on the top of the stack.

    11. Pop the value \({\href{../exec/runtime.html#syntax-val}{\mathit{val}}}\) from the stack.

    12. -
    13. Assert: Due to validation, a value of value type \(\mathsf{i{\scriptstyle32}}\) is on the top of the stack.

    14. -
    15. Pop the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)\) from the stack.

    16. -
    17. If \(i + n\) is greater than \({|z{.}\mathsf{tables}{}[x]{.}\mathsf{refs}|}\), then:

      +
    18. Assert: Due to validation, a value of value type \(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}\) is on the top of the stack.

    19. +
    20. Pop the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)\) from the stack.

    21. +
    22. If \(i + n\) is greater than \({|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{tables}}{}[x]{.}\mathsf{refs}|}\), then:

      1. Trap.

      2. @@ -3011,45 +3012,45 @@

        \(t_2\mathsf{x}N\mathsf{.}\href{.
      3. Else:

          -
        1. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)\) to the stack.

        2. +
        3. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)\) to the stack.

        4. Push the value \({\href{../exec/runtime.html#syntax-val}{\mathit{val}}}\) to the stack.

        5. -
        6. Execute the instruction \((\mathsf{table.set}~x)\).

        7. -
        8. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i + 1)\) to the stack.

        9. +
        10. Execute the instruction \((\href{../syntax/instructions.html#syntax-instr-table}{\mathsf{table.set}}~x)\).

        11. +
        12. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i + 1)\) to the stack.

        13. Push the value \({\href{../exec/runtime.html#syntax-val}{\mathit{val}}}\) to the stack.

        14. -
        15. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n - 1)\) to the stack.

        16. -
        17. Execute the instruction \((\mathsf{table.fill}~x)\).

        18. +
        19. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n - 1)\) to the stack.

        20. +
        21. Execute the instruction \((\href{../syntax/instructions.html#syntax-instr-table}{\mathsf{table.fill}}~x)\).

      \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& z ; (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)~{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n)~(\mathsf{table.fill}~x) &\hookrightarrow& \mathsf{trap} - &\qquad \mbox{if}~i + n > {|z{.}\mathsf{tables}{}[x]{.}\mathsf{refs}|} \\ -& z ; (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)~{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n)~(\mathsf{table.fill}~x) &\hookrightarrow& \epsilon +& z ; (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)~{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n)~(\href{../syntax/instructions.html#syntax-instr-table}{\mathsf{table.fill}}~x) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \href{../exec/runtime.html#syntax-trap}{\mathsf{trap}} + &\qquad \mbox{if}~i + n > {|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{tables}}{}[x]{.}\mathsf{refs}|} \\ +& z ; (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)~{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n)~(\href{../syntax/instructions.html#syntax-instr-table}{\mathsf{table.fill}}~x) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \epsilon &\qquad \mbox{otherwise, if}~n = 0 \\ -& z ; (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)~{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n)~(\mathsf{table.fill}~x) &\hookrightarrow& \\ - & \multicolumn{3}{@{}l@{}}{\qquad \begin{array}[t]{@{}l@{}} (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)~{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}~(\mathsf{table.set}~x) \\ (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i + 1)~{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n - 1)~(\mathsf{table.fill}~x) \end{array} } +& z ; (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)~{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n)~(\href{../syntax/instructions.html#syntax-instr-table}{\mathsf{table.fill}}~x) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \\ + & \multicolumn{3}{@{}l@{}}{\qquad \begin{array}[t]{@{}l@{}} (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)~{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}~(\href{../syntax/instructions.html#syntax-instr-table}{\mathsf{table.set}}~x) \\ (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i + 1)~{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n - 1)~(\href{../syntax/instructions.html#syntax-instr-table}{\mathsf{table.fill}}~x) \end{array} } &\qquad \mbox{otherwise} \\ \end{array}\end{split}\]
    -
    -

    \(\mathsf{table.copy}~x~y\)

    +
    +

    \(\href{../syntax/instructions.html#syntax-instr-table}{\mathsf{table.copy}}~x~y\)

    1. Let \(z\) be the current state.

    2. -
    3. Assert: Due to validation, a value of value type \(\mathsf{i{\scriptstyle32}}\) is on the top of the stack.

    4. -
    5. Pop the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n)\) from the stack.

    6. -
    7. Assert: Due to validation, a value of value type \(\mathsf{i{\scriptstyle32}}\) is on the top of the stack.

    8. -
    9. Pop the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)\) from the stack.

    10. -
    11. Assert: Due to validation, a value of value type \(\mathsf{i{\scriptstyle32}}\) is on the top of the stack.

    12. -
    13. Pop the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~j)\) from the stack.

    14. -
    15. If \(i + n\) is greater than \({|z{.}\mathsf{tables}{}[y]{.}\mathsf{refs}|}\), then:

      +
    16. Assert: Due to validation, a value of value type \(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}\) is on the top of the stack.

    17. +
    18. Pop the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n)\) from the stack.

    19. +
    20. Assert: Due to validation, a value of value type \(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}\) is on the top of the stack.

    21. +
    22. Pop the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)\) from the stack.

    23. +
    24. Assert: Due to validation, a value of value type \(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}\) is on the top of the stack.

    25. +
    26. Pop the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~j)\) from the stack.

    27. +
    28. If \(i + n\) is greater than \({|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{tables}}{}[y]{.}\mathsf{refs}|}\), then:

      1. Trap.

    29. -
    30. If \(j + n\) is greater than \({|z{.}\mathsf{tables}{}[x]{.}\mathsf{refs}|}\), then:

      +
    31. If \(j + n\) is greater than \({|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{tables}}{}[x]{.}\mathsf{refs}|}\), then:

      1. Trap.

      2. @@ -3066,64 +3067,64 @@

        \(t_2\mathsf{x}N\mathsf{.}\href{.
      3. If \(j\) is less than or equal to \(i\), then:

          -
        1. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~j)\) to the stack.

        2. -
        3. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)\) to the stack.

        4. -
        5. Execute the instruction \((\mathsf{table.get}~y)\).

        6. -
        7. Execute the instruction \((\mathsf{table.set}~x)\).

        8. -
        9. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~j + 1)\) to the stack.

        10. -
        11. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i + 1)\) to the stack.

        12. +
        13. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~j)\) to the stack.

        14. +
        15. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)\) to the stack.

        16. +
        17. Execute the instruction \((\href{../syntax/instructions.html#syntax-instr-table}{\mathsf{table.get}}~y)\).

        18. +
        19. Execute the instruction \((\href{../syntax/instructions.html#syntax-instr-table}{\mathsf{table.set}}~x)\).

        20. +
        21. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~j + 1)\) to the stack.

        22. +
        23. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i + 1)\) to the stack.

      4. Else:

          -
        1. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~j + n - 1)\) to the stack.

        2. -
        3. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i + n - 1)\) to the stack.

        4. -
        5. Execute the instruction \((\mathsf{table.get}~y)\).

        6. -
        7. Execute the instruction \((\mathsf{table.set}~x)\).

        8. -
        9. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~j)\) to the stack.

        10. -
        11. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)\) to the stack.

        12. +
        13. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~j + n - 1)\) to the stack.

        14. +
        15. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i + n - 1)\) to the stack.

        16. +
        17. Execute the instruction \((\href{../syntax/instructions.html#syntax-instr-table}{\mathsf{table.get}}~y)\).

        18. +
        19. Execute the instruction \((\href{../syntax/instructions.html#syntax-instr-table}{\mathsf{table.set}}~x)\).

        20. +
        21. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~j)\) to the stack.

        22. +
        23. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)\) to the stack.

      5. -
      6. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n - 1)\) to the stack.

      7. -
      8. Execute the instruction \((\mathsf{table.copy}~x~y)\).

      9. +
      10. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n - 1)\) to the stack.

      11. +
      12. Execute the instruction \((\href{../syntax/instructions.html#syntax-instr-table}{\mathsf{table.copy}}~x~y)\).

    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& z ; (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~j)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n)~(\mathsf{table.copy}~x~y) &\hookrightarrow& \multicolumn{2}{l@{}}{ \mathsf{trap} } \\ - & \multicolumn{4}{@{}l@{}}{\qquad\quad \mbox{if}~i + n > {|z{.}\mathsf{tables}{}[y]{.}\mathsf{refs}|} \lor j + n > {|z{.}\mathsf{tables}{}[x]{.}\mathsf{refs}|}} \\ -& z ; (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~j)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n)~(\mathsf{table.copy}~x~y) &\hookrightarrow& \epsilon +& z ; (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~j)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n)~(\href{../syntax/instructions.html#syntax-instr-table}{\mathsf{table.copy}}~x~y) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \multicolumn{2}{l@{}}{ \href{../exec/runtime.html#syntax-trap}{\mathsf{trap}} } \\ + & \multicolumn{4}{@{}l@{}}{\qquad\quad \mbox{if}~i + n > {|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{tables}}{}[y]{.}\mathsf{refs}|} \lor j + n > {|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{tables}}{}[x]{.}\mathsf{refs}|}} \\ +& z ; (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~j)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n)~(\href{../syntax/instructions.html#syntax-instr-table}{\mathsf{table.copy}}~x~y) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \epsilon &\qquad \mbox{otherwise, if}~n = 0 \\ -& z ; (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~j)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n)~(\mathsf{table.copy}~x~y) &\hookrightarrow& \\ - & \multicolumn{3}{@{}l@{}}{\qquad \begin{array}[t]{@{}l@{}} (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~j)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)~(\mathsf{table.get}~y)~(\mathsf{table.set}~x) \\ (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~j + 1)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i + 1)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n - 1)~(\mathsf{table.copy}~x~y) \end{array} } +& z ; (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~j)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n)~(\href{../syntax/instructions.html#syntax-instr-table}{\mathsf{table.copy}}~x~y) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \\ + & \multicolumn{3}{@{}l@{}}{\qquad \begin{array}[t]{@{}l@{}} (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~j)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)~(\href{../syntax/instructions.html#syntax-instr-table}{\mathsf{table.get}}~y)~(\href{../syntax/instructions.html#syntax-instr-table}{\mathsf{table.set}}~x) \\ (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~j + 1)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i + 1)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n - 1)~(\href{../syntax/instructions.html#syntax-instr-table}{\mathsf{table.copy}}~x~y) \end{array} } &\qquad \mbox{otherwise, if}~j \leq i \\ -& z ; (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~j)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n)~(\mathsf{table.copy}~x~y) &\hookrightarrow& \\ - & \multicolumn{3}{@{}l@{}}{\qquad \begin{array}[t]{@{}l@{}} (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~j + n - 1)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i + n - 1)~(\mathsf{table.get}~y)~(\mathsf{table.set}~x) \\ (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~j)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n - 1)~(\mathsf{table.copy}~x~y) \end{array} } +& z ; (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~j)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n)~(\href{../syntax/instructions.html#syntax-instr-table}{\mathsf{table.copy}}~x~y) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \\ + & \multicolumn{3}{@{}l@{}}{\qquad \begin{array}[t]{@{}l@{}} (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~j + n - 1)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i + n - 1)~(\href{../syntax/instructions.html#syntax-instr-table}{\mathsf{table.get}}~y)~(\href{../syntax/instructions.html#syntax-instr-table}{\mathsf{table.set}}~x) \\ (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~j)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n - 1)~(\href{../syntax/instructions.html#syntax-instr-table}{\mathsf{table.copy}}~x~y) \end{array} } &\qquad \mbox{otherwise} \\ \end{array}\end{split}\]
    -
    -

    \(\mathsf{table.init}~x~y\)

    +
    +

    \(\href{../syntax/instructions.html#syntax-instr-table}{\mathsf{table.init}}~x~y\)

    1. Let \(z\) be the current state.

    2. -
    3. Assert: Due to validation, a value of value type \(\mathsf{i{\scriptstyle32}}\) is on the top of the stack.

    4. -
    5. Pop the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n)\) from the stack.

    6. -
    7. Assert: Due to validation, a value of value type \(\mathsf{i{\scriptstyle32}}\) is on the top of the stack.

    8. -
    9. Pop the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)\) from the stack.

    10. -
    11. Assert: Due to validation, a value of value type \(\mathsf{i{\scriptstyle32}}\) is on the top of the stack.

    12. -
    13. Pop the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~j)\) from the stack.

    14. -
    15. If \(i + n\) is greater than \({|z{.}\mathsf{elems}{}[y]{.}\mathsf{refs}|}\), then:

      +
    16. Assert: Due to validation, a value of value type \(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}\) is on the top of the stack.

    17. +
    18. Pop the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n)\) from the stack.

    19. +
    20. Assert: Due to validation, a value of value type \(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}\) is on the top of the stack.

    21. +
    22. Pop the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)\) from the stack.

    23. +
    24. Assert: Due to validation, a value of value type \(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}\) is on the top of the stack.

    25. +
    26. Pop the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~j)\) from the stack.

    27. +
    28. If \(i + n\) is greater than \({|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{elems}}{}[y]{.}\mathsf{refs}|}\), then:

      1. Trap.

    29. -
    30. If \(j + n\) is greater than \({|z{.}\mathsf{tables}{}[x]{.}\mathsf{refs}|}\), then:

      +
    31. If \(j + n\) is greater than \({|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{tables}}{}[x]{.}\mathsf{refs}|}\), then:

      1. Trap.

      2. @@ -3135,38 +3136,38 @@

        \(t_2\mathsf{x}N\mathsf{.}\href{.
      3. Do nothing.

    32. -
    33. Else if \(i\) is less than \({|z{.}\mathsf{elems}{}[y]{.}\mathsf{refs}|}\), then:

      +
    34. Else if \(i\) is less than \({|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{elems}}{}[y]{.}\mathsf{refs}|}\), then:

        -
      1. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~j)\) to the stack.

      2. -
      3. Push the value \(z{.}\mathsf{elems}{}[y]{.}\mathsf{refs}{}[i]\) to the stack.

      4. -
      5. Execute the instruction \((\mathsf{table.set}~x)\).

      6. -
      7. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~j + 1)\) to the stack.

      8. -
      9. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i + 1)\) to the stack.

      10. -
      11. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n - 1)\) to the stack.

      12. -
      13. Execute the instruction \((\mathsf{table.init}~x~y)\).

      14. +
      15. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~j)\) to the stack.

      16. +
      17. Push the value \(z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{elems}}{}[y]{.}\mathsf{refs}{}[i]\) to the stack.

      18. +
      19. Execute the instruction \((\href{../syntax/instructions.html#syntax-instr-table}{\mathsf{table.set}}~x)\).

      20. +
      21. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~j + 1)\) to the stack.

      22. +
      23. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i + 1)\) to the stack.

      24. +
      25. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n - 1)\) to the stack.

      26. +
      27. Execute the instruction \((\href{../syntax/instructions.html#syntax-instr-table}{\mathsf{table.init}}~x~y)\).

    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& z ; (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~j)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n)~(\mathsf{table.init}~x~y) &\hookrightarrow& \multicolumn{2}{l@{}}{ \mathsf{trap} } \\ - & \multicolumn{4}{@{}l@{}}{\qquad\quad \mbox{if}~i + n > {|z{.}\mathsf{elems}{}[y]{.}\mathsf{refs}|} \lor j + n > {|z{.}\mathsf{tables}{}[x]{.}\mathsf{refs}|}} \\ -& z ; (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~j)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n)~(\mathsf{table.init}~x~y) &\hookrightarrow& \epsilon +& z ; (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~j)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n)~(\href{../syntax/instructions.html#syntax-instr-table}{\mathsf{table.init}}~x~y) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \multicolumn{2}{l@{}}{ \href{../exec/runtime.html#syntax-trap}{\mathsf{trap}} } \\ + & \multicolumn{4}{@{}l@{}}{\qquad\quad \mbox{if}~i + n > {|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{elems}}{}[y]{.}\mathsf{refs}|} \lor j + n > {|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{tables}}{}[x]{.}\mathsf{refs}|}} \\ +& z ; (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~j)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n)~(\href{../syntax/instructions.html#syntax-instr-table}{\mathsf{table.init}}~x~y) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \epsilon &\qquad \mbox{otherwise, if}~n = 0 \\ -& z ; (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~j)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n)~(\mathsf{table.init}~x~y) &\hookrightarrow& \\ - & \multicolumn{3}{@{}l@{}}{\qquad \begin{array}[t]{@{}l@{}} (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~j)~z{.}\mathsf{elems}{}[y]{.}\mathsf{refs}{}[i]~(\mathsf{table.set}~x) \\ (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~j + 1)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i + 1)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n - 1)~(\mathsf{table.init}~x~y) \end{array} } +& z ; (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~j)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n)~(\href{../syntax/instructions.html#syntax-instr-table}{\mathsf{table.init}}~x~y) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \\ + & \multicolumn{3}{@{}l@{}}{\qquad \begin{array}[t]{@{}l@{}} (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~j)~z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{elems}}{}[y]{.}\mathsf{refs}{}[i]~(\href{../syntax/instructions.html#syntax-instr-table}{\mathsf{table.set}}~x) \\ (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~j + 1)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i + 1)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n - 1)~(\href{../syntax/instructions.html#syntax-instr-table}{\mathsf{table.init}}~x~y) \end{array} } &\qquad \mbox{otherwise} \\ \end{array}\end{split}\]
    -
    -

    \(\mathsf{elem.drop}~x\)

    +
    +

    \(\href{../syntax/instructions.html#syntax-instr-table}{\mathsf{elem.drop}}~x\)

    1. Let \(z\) be the current state.

    2. -
    3. Perform \(z{}[\mathsf{elems}{}[x].\mathsf{refs} = \epsilon]\).

    4. +
    5. Perform \(z{}[\href{../exec/runtime.html#syntax-store}{\mathsf{elems}}{}[x]{.}\href{../exec/runtime.html#syntax-eleminst}{\mathsf{elem}} = \epsilon]\).

    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& z ; (\mathsf{elem.drop}~x) &\hookrightarrow& z{}[\mathsf{elems}{}[x].\mathsf{refs} = \epsilon] ; \epsilon \\ +& z ; (\href{../syntax/instructions.html#syntax-instr-table}{\mathsf{elem.drop}}~x) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& z{}[\href{../exec/runtime.html#syntax-store}{\mathsf{elems}}{}[x]{.}\href{../exec/runtime.html#syntax-eleminst}{\mathsf{elem}} = \epsilon] ; \epsilon \\ \end{array}\end{split}\]
    @@ -3180,25 +3181,25 @@

    \(t_2\mathsf{x}N\mathsf{.}\href{. Unaligned access violating that property is still allowed and must succeed regardless of the annotation. However, it may be substantially slower on some hardware.

    -
    -

    \({{\mathit{numty}}_{\mathit{u{\scriptstyle0}}}{.}\mathsf{load}}{{{\href{../syntax/instructions.html#syntax-sz}{\mathit{sz}}}_{{\mathit{sx}}_{\mathit{u{\scriptstyle1}}}}^?}}~x~{\mathit{ao}}\)

    +
    +

    \({{\mathit{numty}}_{\mathit{u{\scriptstyle0}}}{.}\href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{load}}}{{{\href{../syntax/instructions.html#syntax-sz}{\mathit{sz}}}_{{\mathit{sx}}_{\mathit{u{\scriptstyle1}}}}^?}}~x~{\mathit{ao}}\)

    1. Let \(z\) be the current state.

    2. -
    3. Assert: Due to validation, a value of value type \(\mathsf{i{\scriptstyle32}}\) is on the top of the stack.

    4. -
    5. Pop the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)\) from the stack.

    6. +
    7. Assert: Due to validation, a value of value type \(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}\) is on the top of the stack.

    8. +
    9. Pop the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)\) from the stack.

    10. If \({{\href{../syntax/instructions.html#syntax-sz}{\mathit{sz}}}_{{\mathit{sx}}_{\mathit{u{\scriptstyle1}}}}^?}\) is not defined, then:

      1. Let \({\mathit{nt}}\) be \({\mathit{numty}}_{\mathit{u{\scriptstyle0}}}\).

      2. -
      3. If \(i + {\mathit{ao}}{.}\mathsf{offset} + {|{\mathit{nt}}|} / 8\) is greater than \({|z{.}\mathsf{mems}{}[x]{.}\mathsf{bytes}|}\), then:

        +
      4. If \(i + {\mathit{ao}}{.}\mathsf{offset} + {|{\mathit{nt}}|} / 8\) is greater than \({|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{mems}}{}[x]{.}\mathsf{bytes}|}\), then:

        1. Trap.

      5. -
      6. Let \(c\) be \({\mathrm{inverse}}_{{\mathit{of}}_{\mathit{nbytes}}}({\mathit{nt}}, z{.}\mathsf{mems}{}[x]{.}\mathsf{bytes}{}[i + {\mathit{ao}}{.}\mathsf{offset} : {|{\mathit{nt}}|} / 8])\).

      7. -
      8. Push the value \(({\mathit{nt}}{.}\mathsf{const}~c)\) to the stack.

      9. +
      10. Let \(c\) be \({\mathrm{inverse}}_{{\mathit{of}}_{\mathit{nbytes}}}({\mathit{nt}}, z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{mems}}{}[x]{.}\mathsf{bytes}{}[i + {\mathit{ao}}{.}\mathsf{offset} : {|{\mathit{nt}}|} / 8])\).

      11. +
      12. Push the value \(({\mathit{nt}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c)\) to the stack.

    11. @@ -3210,7 +3211,7 @@

      \(t_2\mathsf{x}N\mathsf{.}\href{.
      1. Let \(y_0\) be \({{\href{../syntax/instructions.html#syntax-sz}{\mathit{sz}}}_{{\mathit{sx}}_{\mathit{u{\scriptstyle1}}}}^?}\).

      2. Let \((n,\, {\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}})\) be \(y_0\).

      3. -
      4. If \(i + {\mathit{ao}}{.}\mathsf{offset} + n / 8\) is greater than \({|z{.}\mathsf{mems}{}[x]{.}\mathsf{bytes}|}\), then:

        +
      5. If \(i + {\mathit{ao}}{.}\mathsf{offset} + n / 8\) is greater than \({|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{mems}}{}[x]{.}\mathsf{bytes}|}\), then:

        1. Trap.

        2. @@ -3226,8 +3227,8 @@

          \(t_2\mathsf{x}N\mathsf{.}\href{.
          1. Let \(y_0\) be \({{\href{../syntax/instructions.html#syntax-sz}{\mathit{sz}}}_{{\mathit{sx}}_{\mathit{u{\scriptstyle1}}}}^?}\).

          2. Let \((n,\, {\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}})\) be \(y_0\).

          3. -
          4. Let \(c\) be \({\mathrm{inverse}}_{{\mathit{of}}_{\mathit{ibytes}}}(n, z{.}\mathsf{mems}{}[x]{.}\mathsf{bytes}{}[i + {\mathit{ao}}{.}\mathsf{offset} : n / 8])\).

          5. -
          6. Push the value \(({\mathsf{i}}{n}{.}\mathsf{const}~{{{{\href{../exec/numerics.html#op-ext}{\mathrm{extend}}}}_{n, {|{\mathsf{i}}{n}|}}^{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}}}}{(c)})\) to the stack.

          7. +
          8. Let \(c\) be \({\mathrm{inverse}}_{{\mathit{of}}_{\mathit{ibytes}}}(n, z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{mems}}{}[x]{.}\mathsf{bytes}{}[i + {\mathit{ao}}{.}\mathsf{offset} : n / 8])\).

          9. +
          10. Push the value \(({\mathsf{i}}{n}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~{{{{\href{../exec/numerics.html#op-ext}{\mathrm{extend}}}}_{n, {|{\mathsf{i}}{n}|}}^{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}}}}{(c)})\) to the stack.

      6. @@ -3275,14 +3276,14 @@

        \(t_2\mathsf{x}N\mathsf{.}\href{.

      \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& z ; (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)~({\mathit{nt}}{.}\mathsf{load}~x~{\mathit{ao}}) &\hookrightarrow& \multicolumn{2}{l@{}}{ \mathsf{trap} } \\ - &&& \multicolumn{2}{l@{}}{\quad \mbox{if}~i + {\mathit{ao}}{.}\mathsf{offset} + {|{\mathit{nt}}|} / 8 > {|z{.}\mathsf{mems}{}[x]{.}\mathsf{bytes}|}} \\ -& z ; (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)~({\mathit{nt}}{.}\mathsf{load}~x~{\mathit{ao}}) &\hookrightarrow& \multicolumn{2}{l@{}}{ ({\mathit{nt}}{.}\mathsf{const}~c) } \\ - &&& \multicolumn{2}{l@{}}{\quad \mbox{if}~{{\href{../exec/numerics.html#aux-bytes}{\mathrm{bytes}}}}_{{\mathit{nt}}}(c) = z{.}\mathsf{mems}{}[x]{.}\mathsf{bytes}{}[i + {\mathit{ao}}{.}\mathsf{offset} : {|{\mathit{nt}}|} / 8]} \\ -& z ; (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)~({{\mathsf{i}}{n}{.}\mathsf{load}}{{{n}{\mathsf{\_}}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}}}~x~{\mathit{ao}}) &\hookrightarrow& \multicolumn{2}{l@{}}{ \mathsf{trap} } \\ - &&& \multicolumn{2}{l@{}}{\quad \mbox{if}~i + {\mathit{ao}}{.}\mathsf{offset} + n / 8 > {|z{.}\mathsf{mems}{}[x]{.}\mathsf{bytes}|}} \\ -& z ; (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)~({{\mathsf{i}}{n}{.}\mathsf{load}}{{{n}{\mathsf{\_}}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}}}~x~{\mathit{ao}}) &\hookrightarrow& \multicolumn{2}{l@{}}{ ({\mathsf{i}}{n}{.}\mathsf{const}~{{{{\href{../exec/numerics.html#op-ext}{\mathrm{extend}}}}_{n, {|{\mathsf{i}}{n}|}}^{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}}}}{(c)}) } \\ - &&& \multicolumn{2}{l@{}}{\quad \mbox{if}~{{\href{../exec/numerics.html#aux-bytes}{\mathrm{bytes}}}}_{{\mathsf{i}}{n}}(c) = z{.}\mathsf{mems}{}[x]{.}\mathsf{bytes}{}[i + {\mathit{ao}}{.}\mathsf{offset} : n / 8]} \\ +& z ; (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)~({\mathit{nt}}{.}\href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{load}}~x~{\mathit{ao}}) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \multicolumn{2}{l@{}}{ \href{../exec/runtime.html#syntax-trap}{\mathsf{trap}} } \\ + &&& \multicolumn{2}{l@{}}{\quad \mbox{if}~i + {\mathit{ao}}{.}\mathsf{offset} + {|{\mathit{nt}}|} / 8 > {|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{mems}}{}[x]{.}\mathsf{bytes}|}} \\ +& z ; (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)~({\mathit{nt}}{.}\href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{load}}~x~{\mathit{ao}}) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \multicolumn{2}{l@{}}{ ({\mathit{nt}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c) } \\ + &&& \multicolumn{2}{l@{}}{\quad \mbox{if}~{{\href{../exec/numerics.html#aux-bytes}{\mathrm{bytes}}}}_{{\mathit{nt}}}(c) = z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{mems}}{}[x]{.}\mathsf{bytes}{}[i + {\mathit{ao}}{.}\mathsf{offset} : {|{\mathit{nt}}|} / 8]} \\ +& z ; (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)~({{\mathsf{i}}{n}{.}\href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{load}}}{{n}{\mathsf{\_}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}}}~x~{\mathit{ao}}) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \multicolumn{2}{l@{}}{ \href{../exec/runtime.html#syntax-trap}{\mathsf{trap}} } \\ + &&& \multicolumn{2}{l@{}}{\quad \mbox{if}~i + {\mathit{ao}}{.}\mathsf{offset} + n / 8 > {|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{mems}}{}[x]{.}\mathsf{bytes}|}} \\ +& z ; (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)~({{\mathsf{i}}{n}{.}\href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{load}}}{{n}{\mathsf{\_}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}}}~x~{\mathit{ao}}) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \multicolumn{2}{l@{}}{ ({\mathsf{i}}{n}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~{{{{\href{../exec/numerics.html#op-ext}{\mathrm{extend}}}}_{n, {|{\mathsf{i}}{n}|}}^{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}}}}{(c)}) } \\ + &&& \multicolumn{2}{l@{}}{\quad \mbox{if}~{{\href{../exec/numerics.html#aux-bytes}{\mathrm{bytes}}}}_{{\href{../syntax/types.html#syntax-numtype}{\mathit{numtype}}}{n}}(c) = z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{mems}}{}[x]{.}\mathsf{bytes}{}[i + {\mathit{ao}}{.}\mathsf{offset} : n / 8]} \\ \end{array}\end{split}\]

    @@ -3485,18 +3486,18 @@

    \(t_2\mathsf{x}N\mathsf{.}\href{. (\mathrel{\mbox{otherwise}}) \\ \end{array}\end{split}\]

    -
    -

    \({{\mathit{nt}}{.}\mathsf{store}}{{{\href{../syntax/instructions.html#syntax-sz}{\mathit{sz}}}_{\mathit{u{\scriptstyle1}}}^?}}~x~{\mathit{ao}}\)

    +
    +

    \({{\mathit{nt}}{.}\href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{store}}}{{{\href{../syntax/instructions.html#syntax-sz}{\mathit{sz}}}_{\mathit{u{\scriptstyle1}}}^?}}~x~{\mathit{ao}}\)

    1. Let \(z\) be the current state.

    2. Assert: Due to validation, a value of value type \({\mathit{numty}}_{\mathit{u{\scriptstyle0}}}\) is on the top of the stack.

    3. -
    4. Pop the value \(({\mathit{numty}}_{\mathit{u{\scriptstyle0}}}{.}\mathsf{const}~c)\) from the stack.

    5. -
    6. Assert: Due to validation, a value of value type \(\mathsf{i{\scriptstyle32}}\) is on the top of the stack.

    7. -
    8. Pop the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)\) from the stack.

    9. +
    10. Pop the value \(({\mathit{numty}}_{\mathit{u{\scriptstyle0}}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c)\) from the stack.

    11. +
    12. Assert: Due to validation, a value of value type \(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}\) is on the top of the stack.

    13. +
    14. Pop the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)\) from the stack.

    15. If \({\mathit{numty}}_{\mathit{u{\scriptstyle0}}}\) is \({\mathit{nt}}\), then:

        -
      1. If \(i + {\mathit{ao}}{.}\mathsf{offset} + {|{\mathit{nt}}|} / 8\) is greater than \({|z{.}\mathsf{mems}{}[x]{.}\mathsf{bytes}|}\) and \({{\href{../syntax/instructions.html#syntax-sz}{\mathit{sz}}}_{\mathit{u{\scriptstyle1}}}^?}\) is not defined, then:

        +
      2. If \(i + {\mathit{ao}}{.}\mathsf{offset} + {|{\mathit{nt}}|} / 8\) is greater than \({|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{mems}}{}[x]{.}\mathsf{bytes}|}\) and \({{\href{../syntax/instructions.html#syntax-sz}{\mathit{sz}}}_{\mathit{u{\scriptstyle1}}}^?}\) is not defined, then:

        1. Trap.

        2. @@ -3507,7 +3508,7 @@

          \(t_2\mathsf{x}N\mathsf{.}\href{.
          1. Let \({b^\ast}\) be \({{\href{../exec/numerics.html#aux-bytes}{\mathrm{bytes}}}}_{{\mathit{nt}}}(c)\).

          2. -
          3. Perform \(z{}[\mathsf{mems}{}[x].\mathsf{bytes}{}[i + {\mathit{ao}}{.}\mathsf{offset} : {|{\mathit{nt}}|} / 8] = {b^\ast}]\).

          4. +
          5. Perform \(z{}[\href{../exec/runtime.html#syntax-store}{\mathsf{mems}}{}[x]{.}\href{../exec/runtime.html#syntax-meminst}{\mathsf{data}}{}[i + {\mathit{ao}}{.}\mathsf{offset} : {|{\mathit{nt}}|} / 8] = {b^\ast}]\).

          @@ -3521,7 +3522,7 @@

          \(t_2\mathsf{x}N\mathsf{.}\href{.
          1. Let \(n\) be \({{\href{../syntax/instructions.html#syntax-sz}{\mathit{sz}}}_{\mathit{u{\scriptstyle1}}}^?}\).

          2. -
          3. If \(i + {\mathit{ao}}{.}\mathsf{offset} + n / 8\) is greater than \({|z{.}\mathsf{mems}{}[x]{.}\mathsf{bytes}|}\), then:

            +
          4. If \(i + {\mathit{ao}}{.}\mathsf{offset} + n / 8\) is greater than \({|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{mems}}{}[x]{.}\mathsf{bytes}|}\), then:

            1. Trap.

            2. @@ -3536,8 +3537,8 @@

              \(t_2\mathsf{x}N\mathsf{.}\href{.
              1. Let \(n\) be \({{\href{../syntax/instructions.html#syntax-sz}{\mathit{sz}}}_{\mathit{u{\scriptstyle1}}}^?}\).

              2. -
              3. Let \({b^\ast}\) be \({{\href{../exec/numerics.html#aux-bytes}{\mathrm{bytes}}}}_{{\mathsf{i}}{n}}({{{\href{../exec/numerics.html#op-wrap}{\mathrm{wrap}}}}_{{|{\mathsf{i}}{n}|}, n}}{(c)})\).

              4. -
              5. Perform \(z{}[\mathsf{mems}{}[x].\mathsf{bytes}{}[i + {\mathit{ao}}{.}\mathsf{offset} : n / 8] = {b^\ast}]\).

              6. +
              7. Let \({b^\ast}\) be \({{\href{../exec/numerics.html#aux-bytes}{\mathrm{bytes}}}}_{{\href{../syntax/types.html#syntax-numtype}{\mathit{numtype}}}{n}}({{{\href{../exec/numerics.html#op-wrap}{\mathrm{wrap}}}}_{{|{\mathsf{i}}{n}|}, n}}{(c)})\).

              8. +
              9. Perform \(z{}[\href{../exec/runtime.html#syntax-store}{\mathsf{mems}}{}[x]{.}\href{../exec/runtime.html#syntax-meminst}{\mathsf{data}}{}[i + {\mathit{ao}}{.}\mathsf{offset} : n / 8] = {b^\ast}]\).

              @@ -3547,14 +3548,14 @@

              \(t_2\mathsf{x}N\mathsf{.}\href{.

            \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& z ; (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)~({\mathit{nt}}{.}\mathsf{const}~c)~({\mathit{nt}}{.}\mathsf{store}~x~{\mathit{ao}}) &\hookrightarrow& \multicolumn{2}{l@{}}{ z ; \mathsf{trap} } \\ - &&& \multicolumn{2}{l@{}}{\quad \mbox{if}~i + {\mathit{ao}}{.}\mathsf{offset} + {|{\mathit{nt}}|} / 8 > {|z{.}\mathsf{mems}{}[x]{.}\mathsf{bytes}|}} \\ -& z ; (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)~({\mathit{nt}}{.}\mathsf{const}~c)~({\mathit{nt}}{.}\mathsf{store}~x~{\mathit{ao}}) &\hookrightarrow& \multicolumn{2}{l@{}}{ z{}[\mathsf{mems}{}[x].\mathsf{bytes}{}[i + {\mathit{ao}}{.}\mathsf{offset} : {|{\mathit{nt}}|} / 8] = {b^\ast}] ; \epsilon } \\ +& z ; (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)~({\mathit{nt}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c)~({\mathit{nt}}{.}\href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{store}}~x~{\mathit{ao}}) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \multicolumn{2}{l@{}}{ z ; \href{../exec/runtime.html#syntax-trap}{\mathsf{trap}} } \\ + &&& \multicolumn{2}{l@{}}{\quad \mbox{if}~i + {\mathit{ao}}{.}\mathsf{offset} + {|{\mathit{nt}}|} / 8 > {|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{mems}}{}[x]{.}\mathsf{bytes}|}} \\ +& z ; (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)~({\mathit{nt}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c)~({\mathit{nt}}{.}\href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{store}}~x~{\mathit{ao}}) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \multicolumn{2}{l@{}}{ z{}[\href{../exec/runtime.html#syntax-store}{\mathsf{mems}}{}[x]{.}\href{../exec/runtime.html#syntax-meminst}{\mathsf{data}}{}[i + {\mathit{ao}}{.}\mathsf{offset} : {|{\mathit{nt}}|} / 8] = {b^\ast}] ; \epsilon } \\ &&& \multicolumn{2}{l@{}}{\quad \mbox{if}~{b^\ast} = {{\href{../exec/numerics.html#aux-bytes}{\mathrm{bytes}}}}_{{\mathit{nt}}}(c)} \\ -& z ; (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)~({\mathsf{i}}{n}{.}\mathsf{const}~c)~({{\mathit{nt}}{.}\mathsf{store}}{n}~x~{\mathit{ao}}) &\hookrightarrow& \multicolumn{2}{l@{}}{ z ; \mathsf{trap} } \\ - &&& \multicolumn{2}{l@{}}{\quad \mbox{if}~i + {\mathit{ao}}{.}\mathsf{offset} + n / 8 > {|z{.}\mathsf{mems}{}[x]{.}\mathsf{bytes}|}} \\ -& z ; (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)~({\mathsf{i}}{n}{.}\mathsf{const}~c)~({{\mathit{nt}}{.}\mathsf{store}}{n}~x~{\mathit{ao}}) &\hookrightarrow& \multicolumn{2}{l@{}}{ z{}[\mathsf{mems}{}[x].\mathsf{bytes}{}[i + {\mathit{ao}}{.}\mathsf{offset} : n / 8] = {b^\ast}] ; \epsilon } \\ - &&& \multicolumn{2}{l@{}}{\quad \mbox{if}~{b^\ast} = {{\href{../exec/numerics.html#aux-bytes}{\mathrm{bytes}}}}_{{\mathsf{i}}{n}}({{{\href{../exec/numerics.html#op-wrap}{\mathrm{wrap}}}}_{{|{\mathsf{i}}{n}|}, n}}{(c)})} \\ +& z ; (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)~({\mathsf{i}}{n}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c)~({{\mathit{nt}}{.}\href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{store}}}{n}~x~{\mathit{ao}}) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \multicolumn{2}{l@{}}{ z ; \href{../exec/runtime.html#syntax-trap}{\mathsf{trap}} } \\ + &&& \multicolumn{2}{l@{}}{\quad \mbox{if}~i + {\mathit{ao}}{.}\mathsf{offset} + n / 8 > {|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{mems}}{}[x]{.}\mathsf{bytes}|}} \\ +& z ; (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)~({\mathsf{i}}{n}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c)~({{\mathit{nt}}{.}\href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{store}}}{n}~x~{\mathit{ao}}) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \multicolumn{2}{l@{}}{ z{}[\href{../exec/runtime.html#syntax-store}{\mathsf{mems}}{}[x]{.}\href{../exec/runtime.html#syntax-meminst}{\mathsf{data}}{}[i + {\mathit{ao}}{.}\mathsf{offset} : n / 8] = {b^\ast}] ; \epsilon } \\ + &&& \multicolumn{2}{l@{}}{\quad \mbox{if}~{b^\ast} = {{\href{../exec/numerics.html#aux-bytes}{\mathrm{bytes}}}}_{{\href{../syntax/types.html#syntax-numtype}{\mathit{numtype}}}{n}}({{{\href{../exec/numerics.html#op-wrap}{\mathrm{wrap}}}}_{{|{\mathsf{i}}{n}|}, n}}{(c)})} \\ \end{array}\end{split}\]

    @@ -3605,38 +3606,38 @@

    \(t_2\mathsf{x}N\mathsf{.}\href{. (\mathrel{\mbox{otherwise}}) \\ \end{array}\end{split}\]

    -
    -

    \(\mathsf{memory.size}~x\)

    +
    +

    \(\href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{memory.size}}~x\)

    1. Let \(z\) be the current state.

    2. -
    3. Let \(n \cdot 64 \, {\mathrm{Ki}}\) be \({|z{.}\mathsf{mems}{}[x]{.}\mathsf{bytes}|}\).

    4. -
    5. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n)\) to the stack.

    6. +
    7. Let \(n \cdot 64 \, {\mathrm{Ki}}\) be \({|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{mems}}{}[x]{.}\mathsf{bytes}|}\).

    8. +
    9. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n)\) to the stack.

    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& z ; (\mathsf{memory.size}~x) &\hookrightarrow& (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n) - &\qquad \mbox{if}~n \cdot 64 \, {\mathrm{Ki}} = {|z{.}\mathsf{mems}{}[x]{.}\mathsf{bytes}|} \\ +& z ; (\href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{memory.size}}~x) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n) + &\qquad \mbox{if}~n \cdot 64 \, {\mathrm{Ki}} = {|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{mems}}{}[x]{.}\mathsf{bytes}|} \\ \end{array}\end{split}\]
    -
    -

    \(\mathsf{memory.grow}~x\)

    +
    +

    \(\href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{memory.grow}}~x\)

    1. Let \(z\) be the current state.

    2. -
    3. Assert: Due to validation, a value of value type \(\mathsf{i{\scriptstyle32}}\) is on the top of the stack.

    4. -
    5. Pop the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n)\) from the stack.

    6. +
    7. Assert: Due to validation, a value of value type \(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}\) is on the top of the stack.

    8. +
    9. Pop the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n)\) from the stack.

    10. Either:

        -
      1. Let \({\mathit{mi}}\) be \({\href{../exec/modules.html#grow-mem}{\mathrm{growmem}}}(z{.}\mathsf{mems}{}[x], n)\).

      2. -
      3. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~{|z{.}\mathsf{mems}{}[x]{.}\mathsf{bytes}|} / 64 \, {\mathrm{Ki}})\) to the stack.

      4. -
      5. Perform \(z{}[\mathsf{mems}{}[x] = {\mathit{mi}}]\).

      6. +
      7. Let \({\mathit{mi}}\) be \({\href{../exec/modules.html#grow-mem}{\mathrm{growmem}}}(z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{mems}}{}[x], n)\).

      8. +
      9. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~{|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{mems}}{}[x]{.}\mathsf{bytes}|} / 64 \, {\mathrm{Ki}})\) to the stack.

      10. +
      11. Perform \(z{}[\href{../exec/runtime.html#syntax-store}{\mathsf{mems}}{}[x] = {\mathit{mi}}]\).

    11. Or:

        -
      1. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~{{{{\href{../exec/numerics.html#aux-signed}{\mathrm{signed}}}}_{32}^{{-1}}}}{({-1})})\) to the stack.

      2. +
      3. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~{{{{\href{../exec/numerics.html#aux-signed}{\mathrm{signed}}}}_{32}^{{-1}}}}{({-1})})\) to the stack.

    12. @@ -3649,9 +3650,9 @@

      \(t_2\mathsf{x}N\mathsf{.}\href{.
      \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& z ; (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n)~(\mathsf{memory.grow}~x) &\hookrightarrow& \multicolumn{2}{l@{}}{ z{}[\mathsf{mems}{}[x] = {\mathit{mi}}] ; (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~{|z{.}\mathsf{mems}{}[x]{.}\mathsf{bytes}|} / 64 \, {\mathrm{Ki}}) } \\ - &&& \multicolumn{2}{l@{}}{\quad \mbox{if}~{\mathit{mi}} = {\href{../exec/modules.html#grow-mem}{\mathrm{growmem}}}(z{.}\mathsf{mems}{}[x], n)} \\ -& z ; (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n)~(\mathsf{memory.grow}~x) &\hookrightarrow& z ; (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~{{{{\href{../exec/numerics.html#aux-signed}{\mathrm{signed}}}}_{32}^{{-1}}}}{({-1})}) \\ +& z ; (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n)~(\href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{memory.grow}}~x) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \multicolumn{2}{l@{}}{ z{}[\href{../exec/runtime.html#syntax-store}{\mathsf{mems}}{}[x] = {\mathit{mi}}] ; (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~{|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{mems}}{}[x]{.}\mathsf{bytes}|} / 64 \, {\mathrm{Ki}}) } \\ + &&& \multicolumn{2}{l@{}}{\quad \mbox{if}~{\mathit{mi}} = {\href{../exec/modules.html#grow-mem}{\mathrm{growmem}}}(z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{mems}}{}[x], n)} \\ +& z ; (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n)~(\href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{memory.grow}}~x) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& z ; (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~{{{{\href{../exec/numerics.html#aux-signed}{\mathrm{signed}}}}_{32}^{{-1}}}}{({-1})}) \\ \end{array}\end{split}\]

      Note

      @@ -3663,17 +3664,17 @@

      \(t_2\mathsf{x}N\mathsf{.}\href{. In practice, the choice depends on the resources available to the embedder.

    -
    -

    \(\mathsf{memory.fill}~x\)

    +
    +

    \(\href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{memory.fill}}~x\)

    1. Let \(z\) be the current state.

    2. -
    3. Assert: Due to validation, a value of value type \(\mathsf{i{\scriptstyle32}}\) is on the top of the stack.

    4. -
    5. Pop the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n)\) from the stack.

    6. +
    7. Assert: Due to validation, a value of value type \(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}\) is on the top of the stack.

    8. +
    9. Pop the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n)\) from the stack.

    10. Assert: Due to validation, a value is on the top of the stack.

    11. Pop the value \({\href{../exec/runtime.html#syntax-val}{\mathit{val}}}\) from the stack.

    12. -
    13. Assert: Due to validation, a value of value type \(\mathsf{i{\scriptstyle32}}\) is on the top of the stack.

    14. -
    15. Pop the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)\) from the stack.

    16. -
    17. If \(i + n\) is greater than \({|z{.}\mathsf{mems}{}[x]{.}\mathsf{bytes}|}\), then:

      +
    18. Assert: Due to validation, a value of value type \(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}\) is on the top of the stack.

    19. +
    20. Pop the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)\) from the stack.

    21. +
    22. If \(i + n\) is greater than \({|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{mems}}{}[x]{.}\mathsf{bytes}|}\), then:

      1. Trap.

      2. @@ -3689,45 +3690,45 @@

        \(t_2\mathsf{x}N\mathsf{.}\href{.
      3. Else:

          -
        1. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)\) to the stack.

        2. +
        3. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)\) to the stack.

        4. Push the value \({\href{../exec/runtime.html#syntax-val}{\mathit{val}}}\) to the stack.

        5. -
        6. Execute the instruction \(({\mathsf{i{\scriptstyle32}}{.}\mathsf{store}}{8}~x)\).

        7. -
        8. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i + 1)\) to the stack.

        9. +
        10. Execute the instruction \(({\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{store}}}{8}~x)\).

        11. +
        12. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i + 1)\) to the stack.

        13. Push the value \({\href{../exec/runtime.html#syntax-val}{\mathit{val}}}\) to the stack.

        14. -
        15. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n - 1)\) to the stack.

        16. -
        17. Execute the instruction \((\mathsf{memory.fill}~x)\).

        18. +
        19. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n - 1)\) to the stack.

        20. +
        21. Execute the instruction \((\href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{memory.fill}}~x)\).

      \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& z ; (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)~{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n)~(\mathsf{memory.fill}~x) &\hookrightarrow& \mathsf{trap} - &\qquad \mbox{if}~i + n > {|z{.}\mathsf{mems}{}[x]{.}\mathsf{bytes}|} \\ -& z ; (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)~{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n)~(\mathsf{memory.fill}~x) &\hookrightarrow& \epsilon +& z ; (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)~{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n)~(\href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{memory.fill}}~x) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \href{../exec/runtime.html#syntax-trap}{\mathsf{trap}} + &\qquad \mbox{if}~i + n > {|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{mems}}{}[x]{.}\mathsf{bytes}|} \\ +& z ; (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)~{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n)~(\href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{memory.fill}}~x) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \epsilon &\qquad \mbox{otherwise, if}~n = 0 \\ -& z ; (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)~{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n)~(\mathsf{memory.fill}~x) &\hookrightarrow& \\ - & \multicolumn{3}{@{}l@{}}{\qquad \begin{array}[t]{@{}l@{}} (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)~{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}~({\mathsf{i{\scriptstyle32}}{.}\mathsf{store}}{8}~x) \\ (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i + 1)~{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n - 1)~(\mathsf{memory.fill}~x) \end{array} } +& z ; (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)~{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n)~(\href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{memory.fill}}~x) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \\ + & \multicolumn{3}{@{}l@{}}{\qquad \begin{array}[t]{@{}l@{}} (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)~{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}~({\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{store}}}{8}~x) \\ (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i + 1)~{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n - 1)~(\href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{memory.fill}}~x) \end{array} } &\qquad \mbox{otherwise} \\ \end{array}\end{split}\]
    -
    -

    \(\mathsf{memory.copy}~x_1~x_2\)

    +
    +

    \(\href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{memory.copy}}~x_1~x_2\)

    1. Let \(z\) be the current state.

    2. -
    3. Assert: Due to validation, a value of value type \(\mathsf{i{\scriptstyle32}}\) is on the top of the stack.

    4. -
    5. Pop the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n)\) from the stack.

    6. -
    7. Assert: Due to validation, a value of value type \(\mathsf{i{\scriptstyle32}}\) is on the top of the stack.

    8. -
    9. Pop the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i_2)\) from the stack.

    10. -
    11. Assert: Due to validation, a value of value type \(\mathsf{i{\scriptstyle32}}\) is on the top of the stack.

    12. -
    13. Pop the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i_1)\) from the stack.

    14. -
    15. If \(i_1 + n\) is greater than \({|z{.}\mathsf{mems}{}[x_1]{.}\mathsf{bytes}|}\), then:

      +
    16. Assert: Due to validation, a value of value type \(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}\) is on the top of the stack.

    17. +
    18. Pop the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n)\) from the stack.

    19. +
    20. Assert: Due to validation, a value of value type \(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}\) is on the top of the stack.

    21. +
    22. Pop the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i_2)\) from the stack.

    23. +
    24. Assert: Due to validation, a value of value type \(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}\) is on the top of the stack.

    25. +
    26. Pop the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i_1)\) from the stack.

    27. +
    28. If \(i_1 + n\) is greater than \({|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{mems}}{}[x_1]{.}\mathsf{bytes}|}\), then:

      1. Trap.

    29. -
    30. If \(i_2 + n\) is greater than \({|z{.}\mathsf{mems}{}[x_2]{.}\mathsf{bytes}|}\), then:

      +
    31. If \(i_2 + n\) is greater than \({|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{mems}}{}[x_2]{.}\mathsf{bytes}|}\), then:

      1. Trap.

      2. @@ -3744,64 +3745,64 @@

        \(t_2\mathsf{x}N\mathsf{.}\href{.
      3. If \(i_1\) is less than or equal to \(i_2\), then:

          -
        1. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i_1)\) to the stack.

        2. -
        3. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i_2)\) to the stack.

        4. -
        5. Execute the instruction \(({\mathsf{i{\scriptstyle32}}{.}\mathsf{load}}{(8,\, \mathsf{u})}~x_2)\).

        6. -
        7. Execute the instruction \(({\mathsf{i{\scriptstyle32}}{.}\mathsf{store}}{8}~x_1)\).

        8. -
        9. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i_1 + 1)\) to the stack.

        10. -
        11. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i_2 + 1)\) to the stack.

        12. +
        13. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i_1)\) to the stack.

        14. +
        15. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i_2)\) to the stack.

        16. +
        17. Execute the instruction \(({\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{load}}}{(8,\, \href{../syntax/instructions.html#syntax-sx}{\mathsf{U}})}~x_2)\).

        18. +
        19. Execute the instruction \(({\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{store}}}{8}~x_1)\).

        20. +
        21. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i_1 + 1)\) to the stack.

        22. +
        23. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i_2 + 1)\) to the stack.

      4. Else:

          -
        1. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i_1 + n - 1)\) to the stack.

        2. -
        3. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i_2 + n - 1)\) to the stack.

        4. -
        5. Execute the instruction \(({\mathsf{i{\scriptstyle32}}{.}\mathsf{load}}{(8,\, \mathsf{u})}~x_2)\).

        6. -
        7. Execute the instruction \(({\mathsf{i{\scriptstyle32}}{.}\mathsf{store}}{8}~x_1)\).

        8. -
        9. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i_1)\) to the stack.

        10. -
        11. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i_2)\) to the stack.

        12. +
        13. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i_1 + n - 1)\) to the stack.

        14. +
        15. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i_2 + n - 1)\) to the stack.

        16. +
        17. Execute the instruction \(({\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{load}}}{(8,\, \href{../syntax/instructions.html#syntax-sx}{\mathsf{U}})}~x_2)\).

        18. +
        19. Execute the instruction \(({\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{store}}}{8}~x_1)\).

        20. +
        21. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i_1)\) to the stack.

        22. +
        23. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i_2)\) to the stack.

      5. -
      6. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n - 1)\) to the stack.

      7. -
      8. Execute the instruction \((\mathsf{memory.copy}~x_1~x_2)\).

      9. +
      10. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n - 1)\) to the stack.

      11. +
      12. Execute the instruction \((\href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{memory.copy}}~x_1~x_2)\).

    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& z ; (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i_1)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i_2)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n)~(\mathsf{memory.copy}~x_1~x_2) &\hookrightarrow& \multicolumn{2}{l@{}}{ \mathsf{trap} } \\ - & \multicolumn{4}{@{}l@{}}{\qquad\quad \mbox{if}~i_1 + n > {|z{.}\mathsf{mems}{}[x_1]{.}\mathsf{bytes}|} \lor i_2 + n > {|z{.}\mathsf{mems}{}[x_2]{.}\mathsf{bytes}|}} \\ -& z ; (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i_1)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i_2)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n)~(\mathsf{memory.copy}~x_1~x_2) &\hookrightarrow& \epsilon +& z ; (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i_1)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i_2)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n)~(\href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{memory.copy}}~x_1~x_2) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \multicolumn{2}{l@{}}{ \href{../exec/runtime.html#syntax-trap}{\mathsf{trap}} } \\ + & \multicolumn{4}{@{}l@{}}{\qquad\quad \mbox{if}~i_1 + n > {|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{mems}}{}[x_1]{.}\mathsf{bytes}|} \lor i_2 + n > {|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{mems}}{}[x_2]{.}\mathsf{bytes}|}} \\ +& z ; (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i_1)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i_2)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n)~(\href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{memory.copy}}~x_1~x_2) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \epsilon &\qquad \mbox{otherwise, if}~n = 0 \\ -& z ; (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i_1)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i_2)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n)~(\mathsf{memory.copy}~x_1~x_2) &\hookrightarrow& \\ - & \multicolumn{3}{@{}l@{}}{\qquad \begin{array}[t]{@{}l@{}} (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i_1)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i_2)~({\mathsf{i{\scriptstyle32}}{.}\mathsf{load}}{{{8}{\mathsf{\_}}}{\mathsf{u}}}~x_2)~({\mathsf{i{\scriptstyle32}}{.}\mathsf{store}}{8}~x_1) \\ (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i_1 + 1)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i_2 + 1)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n - 1)~(\mathsf{memory.copy}~x_1~x_2) \end{array} } +& z ; (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i_1)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i_2)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n)~(\href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{memory.copy}}~x_1~x_2) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \\ + & \multicolumn{3}{@{}l@{}}{\qquad \begin{array}[t]{@{}l@{}} (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i_1)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i_2)~({\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{load}}}{{8}{\mathsf{\_}}{\href{../syntax/instructions.html#syntax-sx}{\mathsf{U}}}}~x_2)~({\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{store}}}{8}~x_1) \\ (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i_1 + 1)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i_2 + 1)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n - 1)~(\href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{memory.copy}}~x_1~x_2) \end{array} } &\qquad \mbox{otherwise, if}~i_1 \leq i_2 \\ -& z ; (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i_1)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i_2)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n)~(\mathsf{memory.copy}~x_1~x_2) &\hookrightarrow& \\ - & \multicolumn{3}{@{}l@{}}{\qquad \begin{array}[t]{@{}l@{}} (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i_1 + n - 1)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i_2 + n - 1)~({\mathsf{i{\scriptstyle32}}{.}\mathsf{load}}{{{8}{\mathsf{\_}}}{\mathsf{u}}}~x_2)~({\mathsf{i{\scriptstyle32}}{.}\mathsf{store}}{8}~x_1) \\ (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i_1)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i_2)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n - 1)~(\mathsf{memory.copy}~x_1~x_2) \end{array} } +& z ; (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i_1)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i_2)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n)~(\href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{memory.copy}}~x_1~x_2) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \\ + & \multicolumn{3}{@{}l@{}}{\qquad \begin{array}[t]{@{}l@{}} (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i_1 + n - 1)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i_2 + n - 1)~({\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{load}}}{{8}{\mathsf{\_}}{\href{../syntax/instructions.html#syntax-sx}{\mathsf{U}}}}~x_2)~({\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{store}}}{8}~x_1) \\ (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i_1)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i_2)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n - 1)~(\href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{memory.copy}}~x_1~x_2) \end{array} } &\qquad \mbox{otherwise} \\ \end{array}\end{split}\]
    -
    -

    \(\mathsf{memory.init}~x~y\)

    +
    +

    \(\href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{memory.init}}~x~y\)

    1. Let \(z\) be the current state.

    2. -
    3. Assert: Due to validation, a value of value type \(\mathsf{i{\scriptstyle32}}\) is on the top of the stack.

    4. -
    5. Pop the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n)\) from the stack.

    6. -
    7. Assert: Due to validation, a value of value type \(\mathsf{i{\scriptstyle32}}\) is on the top of the stack.

    8. -
    9. Pop the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)\) from the stack.

    10. -
    11. Assert: Due to validation, a value of value type \(\mathsf{i{\scriptstyle32}}\) is on the top of the stack.

    12. -
    13. Pop the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~j)\) from the stack.

    14. -
    15. If \(i + n\) is greater than \({|z{.}\mathsf{datas}{}[y]{.}\mathsf{bytes}|}\), then:

      +
    16. Assert: Due to validation, a value of value type \(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}\) is on the top of the stack.

    17. +
    18. Pop the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n)\) from the stack.

    19. +
    20. Assert: Due to validation, a value of value type \(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}\) is on the top of the stack.

    21. +
    22. Pop the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)\) from the stack.

    23. +
    24. Assert: Due to validation, a value of value type \(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}\) is on the top of the stack.

    25. +
    26. Pop the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~j)\) from the stack.

    27. +
    28. If \(i + n\) is greater than \({|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{datas}}{}[y]{.}\mathsf{bytes}|}\), then:

      1. Trap.

    29. -
    30. If \(j + n\) is greater than \({|z{.}\mathsf{mems}{}[x]{.}\mathsf{bytes}|}\), then:

      +
    31. If \(j + n\) is greater than \({|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{mems}}{}[x]{.}\mathsf{bytes}|}\), then:

      1. Trap.

      2. @@ -3813,48 +3814,48 @@

        \(t_2\mathsf{x}N\mathsf{.}\href{.
      3. Do nothing.

    32. -
    33. Else if \(i\) is less than \({|z{.}\mathsf{datas}{}[y]{.}\mathsf{bytes}|}\), then:

      +
    34. Else if \(i\) is less than \({|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{datas}}{}[y]{.}\mathsf{bytes}|}\), then:

        -
      1. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~j)\) to the stack.

      2. -
      3. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~z{.}\mathsf{datas}{}[y]{.}\mathsf{bytes}{}[i])\) to the stack.

      4. -
      5. Execute the instruction \(({\mathsf{i{\scriptstyle32}}{.}\mathsf{store}}{8}~x)\).

      6. -
      7. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~j + 1)\) to the stack.

      8. -
      9. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i + 1)\) to the stack.

      10. -
      11. Push the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n - 1)\) to the stack.

      12. -
      13. Execute the instruction \((\mathsf{memory.init}~x~y)\).

      14. +
      15. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~j)\) to the stack.

      16. +
      17. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{datas}}{}[y]{.}\mathsf{bytes}{}[i])\) to the stack.

      18. +
      19. Execute the instruction \(({\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{store}}}{8}~x)\).

      20. +
      21. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~j + 1)\) to the stack.

      22. +
      23. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i + 1)\) to the stack.

      24. +
      25. Push the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n - 1)\) to the stack.

      26. +
      27. Execute the instruction \((\href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{memory.init}}~x~y)\).

    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& z ; (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~j)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n)~(\mathsf{memory.init}~x~y) &\hookrightarrow& \multicolumn{2}{l@{}}{ \mathsf{trap} } \\ - & \multicolumn{4}{@{}l@{}}{\qquad\quad \mbox{if}~i + n > {|z{.}\mathsf{datas}{}[y]{.}\mathsf{bytes}|} \lor j + n > {|z{.}\mathsf{mems}{}[x]{.}\mathsf{bytes}|}} \\ -& z ; (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~j)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n)~(\mathsf{memory.init}~x~y) &\hookrightarrow& \epsilon +& z ; (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~j)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n)~(\href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{memory.init}}~x~y) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \multicolumn{2}{l@{}}{ \href{../exec/runtime.html#syntax-trap}{\mathsf{trap}} } \\ + & \multicolumn{4}{@{}l@{}}{\qquad\quad \mbox{if}~i + n > {|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{datas}}{}[y]{.}\mathsf{bytes}|} \lor j + n > {|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{mems}}{}[x]{.}\mathsf{bytes}|}} \\ +& z ; (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~j)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n)~(\href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{memory.init}}~x~y) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \epsilon &\qquad \mbox{otherwise, if}~n = 0 \\ -& z ; (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~j)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n)~(\mathsf{memory.init}~x~y) &\hookrightarrow& \\ - & \multicolumn{3}{@{}l@{}}{\qquad \begin{array}[t]{@{}l@{}} (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~j)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~z{.}\mathsf{datas}{}[y]{.}\mathsf{bytes}{}[i])~({\mathsf{i{\scriptstyle32}}{.}\mathsf{store}}{8}~x) \\ (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~j + 1)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i + 1)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~n - 1)~(\mathsf{memory.init}~x~y) \end{array} } +& z ; (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~j)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n)~(\href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{memory.init}}~x~y) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \\ + & \multicolumn{3}{@{}l@{}}{\qquad \begin{array}[t]{@{}l@{}} (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~j)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{datas}}{}[y]{.}\mathsf{bytes}{}[i])~({\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{store}}}{8}~x) \\ (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~j + 1)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i + 1)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n - 1)~(\href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{memory.init}}~x~y) \end{array} } &\qquad \mbox{otherwise} \\ \end{array}\end{split}\]
    -
    -

    \(\mathsf{data.drop}~x\)

    +
    +

    \(\href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{data.drop}}~x\)

    1. Let \(z\) be the current state.

    2. -
    3. Perform \(z{}[\mathsf{datas}{}[x].\mathsf{bytes} = \epsilon]\).

    4. +
    5. Perform \(z{}[\href{../exec/runtime.html#syntax-store}{\mathsf{datas}}{}[x]{.}\href{../exec/runtime.html#syntax-datainst}{\mathsf{data}} = \epsilon]\).

    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& z ; (\mathsf{data.drop}~x) &\hookrightarrow& z{}[\mathsf{datas}{}[x].\mathsf{bytes} = \epsilon] ; \epsilon \\ +& z ; (\href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{data.drop}}~x) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& z{}[\href{../exec/runtime.html#syntax-store}{\mathsf{datas}}{}[x]{.}\href{../exec/runtime.html#syntax-datainst}{\mathsf{data}} = \epsilon] ; \epsilon \\ \end{array}\end{split}\]

    Control Instructions

    -
    -

    \(\mathsf{block}~{\mathit{bt}}~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast}\)

    +
    +

    \(\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{block}}~{\mathit{bt}}~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast}\)

    1. Let \(z\) be the current state.

    2. -
    3. Let \({t_1^{m}} \rightarrow {t_2^{n}}\) be \({{\href{../syntax/instructions.html#syntax-blocktype}{\mathit{blocktype}}}}_{z}({\mathit{bt}})\).

    4. +
    5. Let \({t_1^{m}} \href{../syntax/types.html#syntax-functype}{\rightarrow} {t_2^{n}}\) be \({{\href{../syntax/instructions.html#syntax-blocktype}{\mathit{blocktype}}}}_{z}({\mathit{bt}})\).

    6. Assert: Due to validation, there are at least \(m\) values on the top of the stack.

    7. Pop the values \({{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^{m}}\) from the stack.

    8. Let \(L\) be the label whose arity is \(n\) and whose continuation is \(\epsilon\).

    9. @@ -3862,56 +3863,56 @@

      \(t_2\mathsf{x}N\mathsf{.}\href{.

    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& z ; {{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^{m}}~(\mathsf{block}~{\mathit{bt}}~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast}) &\hookrightarrow& ({{\mathsf{label}}_{n}}{\{\epsilon\}}~{{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^{m}}~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast}) - &\qquad \mbox{if}~{{\href{../syntax/instructions.html#syntax-blocktype}{\mathit{blocktype}}}}_{z}({\mathit{bt}}) = {t_1^{m}} \rightarrow {t_2^{n}} \\ +& z ; {{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^{m}}~(\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{block}}~{\mathit{bt}}~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast}) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& ({{\href{../exec/runtime.html#syntax-label}{\mathsf{label}}}_{n}}{\{ \epsilon \}}~{{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^{m}}~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast}) + &\qquad \mbox{if}~{{\href{../syntax/instructions.html#syntax-blocktype}{\mathit{blocktype}}}}_{z}({\mathit{bt}}) = {t_1^{m}} \href{../syntax/types.html#syntax-functype}{\rightarrow} {t_2^{n}} \\ \end{array}\end{split}\]
    -
    -

    \(\mathsf{loop}~{\mathit{bt}}~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast}\)

    +
    +

    \(\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{loop}}~{\mathit{bt}}~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast}\)

    1. Let \(z\) be the current state.

    2. -
    3. Let \({t_1^{m}} \rightarrow {t_2^{n}}\) be \({{\href{../syntax/instructions.html#syntax-blocktype}{\mathit{blocktype}}}}_{z}({\mathit{bt}})\).

    4. +
    5. Let \({t_1^{m}} \href{../syntax/types.html#syntax-functype}{\rightarrow} {t_2^{n}}\) be \({{\href{../syntax/instructions.html#syntax-blocktype}{\mathit{blocktype}}}}_{z}({\mathit{bt}})\).

    6. Assert: Due to validation, there are at least \(m\) values on the top of the stack.

    7. Pop the values \({{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^{m}}\) from the stack.

    8. -
    9. Let \(L\) be the label whose arity is \(m\) and whose continuation is \((\mathsf{loop}~{\mathit{bt}}~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast})\).

    10. +
    11. Let \(L\) be the label whose arity is \(m\) and whose continuation is \((\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{loop}}~{\mathit{bt}}~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast})\).

    12. Enter \({{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^{m}}~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast}\) with label \(L\).

    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& z ; {{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^{m}}~(\mathsf{loop}~{\mathit{bt}}~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast}) &\hookrightarrow& ({{\mathsf{label}}_{m}}{\{\mathsf{loop}~{\mathit{bt}}~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast}\}}~{{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^{m}}~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast}) - &\qquad \mbox{if}~{{\href{../syntax/instructions.html#syntax-blocktype}{\mathit{blocktype}}}}_{z}({\mathit{bt}}) = {t_1^{m}} \rightarrow {t_2^{n}} \\ +& z ; {{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^{m}}~(\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{loop}}~{\mathit{bt}}~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast}) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& ({{\href{../exec/runtime.html#syntax-label}{\mathsf{label}}}_{m}}{\{ \href{../syntax/instructions.html#syntax-instr-control}{\mathsf{loop}}~{\mathit{bt}}~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast} \}}~{{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^{m}}~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast}) + &\qquad \mbox{if}~{{\href{../syntax/instructions.html#syntax-blocktype}{\mathit{blocktype}}}}_{z}({\mathit{bt}}) = {t_1^{m}} \href{../syntax/types.html#syntax-functype}{\rightarrow} {t_2^{n}} \\ \end{array}\end{split}\]
    -
    -

    \(\mathsf{if}~{\mathit{bt}}~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}_1^\ast}~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}_2^\ast}\)

    +
    +

    \(\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{if}}~{\mathit{bt}}~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}_1^\ast}~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}_2^\ast}\)

      -
    1. Assert: Due to validation, a value of value type \(\mathsf{i{\scriptstyle32}}\) is on the top of the stack.

    2. -
    3. Pop the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~c)\) from the stack.

    4. +
    5. Assert: Due to validation, a value of value type \(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}\) is on the top of the stack.

    6. +
    7. Pop the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c)\) from the stack.

    8. If \(c\) is not \(0\), then:

        -
      1. Execute the instruction \((\mathsf{block}~{\mathit{bt}}~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}_1^\ast})\).

      2. +
      3. Execute the instruction \((\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{block}}~{\mathit{bt}}~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}_1^\ast})\).

    9. Else:

        -
      1. Execute the instruction \((\mathsf{block}~{\mathit{bt}}~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}_2^\ast})\).

      2. +
      3. Execute the instruction \((\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{block}}~{\mathit{bt}}~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}_2^\ast})\).

    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~c)~(\mathsf{if}~{\mathit{bt}}~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}_1^\ast}~\mathsf{else}~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}_2^\ast}) &\hookrightarrow& (\mathsf{block}~{\mathit{bt}}~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}_1^\ast}) +& (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c)~(\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{if}}~{\mathit{bt}}~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}_1^\ast}~\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{else}}~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}_2^\ast}) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& (\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{block}}~{\mathit{bt}}~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}_1^\ast}) &\qquad \mbox{if}~c \neq 0 \\ -& (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~c)~(\mathsf{if}~{\mathit{bt}}~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}_1^\ast}~\mathsf{else}~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}_2^\ast}) &\hookrightarrow& (\mathsf{block}~{\mathit{bt}}~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}_2^\ast}) +& (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c)~(\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{if}}~{\mathit{bt}}~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}_1^\ast}~\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{else}}~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}_2^\ast}) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& (\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{block}}~{\mathit{bt}}~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}_2^\ast}) &\qquad \mbox{if}~c = 0 \\ \end{array}\end{split}\]
    -
    -

    \(\mathsf{br}~l\)

    +
    +

    \(\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{br}}~l\)

    1. Pop all values \({{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^\ast}\) from the top of the stack.

    2. Let \(L\) be the current label.

    3. @@ -3933,28 +3934,28 @@

      \(t_2\mathsf{x}N\mathsf{.}\href{.
      1. Let \({{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^\ast}\) be \({{\mathit{admin}}_{\mathit{u{\scriptstyle0}}}^\ast}\).

      2. Push the values \({{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^\ast}\) to the stack.

      3. -
      4. Execute the instruction \((\mathsf{br}~l - 1)\).

      5. +
      6. Execute the instruction \((\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{br}}~l - 1)\).

    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& ({{\mathsf{label}}_{n}}{\{{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}'}^\ast}\}}~{{\href{../exec/runtime.html#syntax-val}{\mathit{val}}'}^\ast}~{{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^{n}}~(\mathsf{br}~l)~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast}) &\hookrightarrow& {{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^{n}}~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}'}^\ast} +& ({{\href{../exec/runtime.html#syntax-label}{\mathsf{label}}}_{n}}{\{ {{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}'}^\ast} \}}~{{\href{../exec/runtime.html#syntax-val}{\mathit{val}}'}^\ast}~{{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^{n}}~(\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{br}}~l)~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast}) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& {{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^{n}}~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}'}^\ast} &\qquad \mbox{if}~l = 0 \\ -& ({{\mathsf{label}}_{n}}{\{{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}'}^\ast}\}}~{{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^\ast}~(\mathsf{br}~l)~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast}) &\hookrightarrow& {{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^\ast}~(\mathsf{br}~l - 1) +& ({{\href{../exec/runtime.html#syntax-label}{\mathsf{label}}}_{n}}{\{ {{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}'}^\ast} \}}~{{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^\ast}~(\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{br}}~l)~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast}) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& {{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^\ast}~(\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{br}}~l - 1) &\qquad \mbox{if}~l > 0 \\ \end{array}\end{split}\]
    -
    -

    \(\mathsf{br\_if}~l\)

    +
    +

    \(\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{br\_if}}~l\)

      -
    1. Assert: Due to validation, a value of value type \(\mathsf{i{\scriptstyle32}}\) is on the top of the stack.

    2. -
    3. Pop the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~c)\) from the stack.

    4. +
    5. Assert: Due to validation, a value of value type \(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}\) is on the top of the stack.

    6. +
    7. Pop the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c)\) from the stack.

    8. If \(c\) is not \(0\), then:

        -
      1. Execute the instruction \((\mathsf{br}~l)\).

      2. +
      3. Execute the instruction \((\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{br}}~l)\).

    9. @@ -3968,49 +3969,49 @@

      \(t_2\mathsf{x}N\mathsf{.}\href{.

    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~c)~(\mathsf{br\_if}~l) &\hookrightarrow& (\mathsf{br}~l) +& (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c)~(\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{br\_if}}~l) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& (\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{br}}~l) &\qquad \mbox{if}~c \neq 0 \\ -& (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~c)~(\mathsf{br\_if}~l) &\hookrightarrow& \epsilon +& (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c)~(\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{br\_if}}~l) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \epsilon &\qquad \mbox{if}~c = 0 \\ \end{array}\end{split}\]
    -
    -

    \(\mathsf{br\_table}~{l^\ast}~{l'}\)

    +
    +

    \(\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{br\_table}}~{l^\ast}~{l'}\)

      -
    1. Assert: Due to validation, a value of value type \(\mathsf{i{\scriptstyle32}}\) is on the top of the stack.

    2. -
    3. Pop the value \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)\) from the stack.

    4. +
    5. Assert: Due to validation, a value of value type \(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}\) is on the top of the stack.

    6. +
    7. Pop the value \((\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)\) from the stack.

    8. If \(i\) is less than \({|{l^\ast}|}\), then:

        -
      1. Execute the instruction \((\mathsf{br}~{l^\ast}{}[i])\).

      2. +
      3. Execute the instruction \((\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{br}}~{l^\ast}{}[i])\).

    9. Else:

        -
      1. Execute the instruction \((\mathsf{br}~{l'})\).

      2. +
      3. Execute the instruction \((\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{br}}~{l'})\).

    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)~(\mathsf{br\_table}~{l^\ast}~{l'}) &\hookrightarrow& (\mathsf{br}~{l^\ast}{}[i]) +& (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)~(\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{br\_table}}~{l^\ast}~{l'}) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& (\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{br}}~{l^\ast}{}[i]) &\qquad \mbox{if}~i < {|{l^\ast}|} \\ -& (\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~i)~(\mathsf{br\_table}~{l^\ast}~{l'}) &\hookrightarrow& (\mathsf{br}~{l'}) +& (\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~i)~(\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{br\_table}}~{l^\ast}~{l'}) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& (\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{br}}~{l'}) &\qquad \mbox{if}~i \geq {|{l^\ast}|} \\ \end{array}\end{split}\]
    -
    -

    \(\mathsf{br\_on\_null}~l\)

    +
    +

    \(\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{br\_on\_null}}~l\)

    1. Assert: Due to validation, a value is on the top of the stack.

    2. Pop the value \({\href{../exec/runtime.html#syntax-val}{\mathit{val}}}\) from the stack.

    3. -
    4. If \({\href{../exec/runtime.html#syntax-val}{\mathit{val}}}\) is of the case \(\mathsf{ref.null}\), then:

      +
    5. If \({\href{../exec/runtime.html#syntax-val}{\mathit{val}}}\) is of the case \(\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.null}}\), then:

        -
      1. Execute the instruction \((\mathsf{br}~l)\).

      2. +
      3. Execute the instruction \((\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{br}}~l)\).

    6. @@ -4030,18 +4031,18 @@

      \(t_2\mathsf{x}N\mathsf{.}\href{.
      \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& {\href{../exec/runtime.html#syntax-val}{\mathit{val}}}~(\mathsf{br\_on\_null}~l) &\hookrightarrow& (\mathsf{br}~l) - &\qquad \mbox{if}~{\href{../exec/runtime.html#syntax-val}{\mathit{val}}} = \mathsf{ref.null}~{\mathit{ht}} \\ -& {\href{../exec/runtime.html#syntax-val}{\mathit{val}}}~(\mathsf{br\_on\_null}~l) &\hookrightarrow& {\href{../exec/runtime.html#syntax-val}{\mathit{val}}} +& {\href{../exec/runtime.html#syntax-val}{\mathit{val}}}~(\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{br\_on\_null}}~l) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& (\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{br}}~l) + &\qquad \mbox{if}~{\href{../exec/runtime.html#syntax-val}{\mathit{val}}} = \href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.null}}~{\mathit{ht}} \\ +& {\href{../exec/runtime.html#syntax-val}{\mathit{val}}}~(\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{br\_on\_null}}~l) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& {\href{../exec/runtime.html#syntax-val}{\mathit{val}}} &\qquad \mbox{otherwise} \\ \end{array}\end{split}\]

    -
    -

    \(\mathsf{br\_on\_non\_null}~l\)

    +
    +

    \(\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{br\_on\_non\_null}}~l\)

    1. Assert: Due to validation, a value is on the top of the stack.

    2. Pop the value \({\href{../exec/runtime.html#syntax-val}{\mathit{val}}}\) from the stack.

    3. -
    4. If \({\href{../exec/runtime.html#syntax-val}{\mathit{val}}}\) is of the case \(\mathsf{ref.null}\), then:

      +
    5. If \({\href{../exec/runtime.html#syntax-val}{\mathit{val}}}\) is of the case \(\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.null}}\), then:

      1. Do nothing.

      2. @@ -4052,7 +4053,7 @@

        \(t_2\mathsf{x}N\mathsf{.}\href{.
        1. Push the value \({\href{../exec/runtime.html#syntax-val}{\mathit{val}}}\) to the stack.

        2. -
        3. Execute the instruction \((\mathsf{br}~l)\).

        4. +
        5. Execute the instruction \((\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{br}}~l)\).

        @@ -4065,14 +4066,14 @@

        \(t_2\mathsf{x}N\mathsf{.}\href{.

      \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& {\href{../exec/runtime.html#syntax-val}{\mathit{val}}}~(\mathsf{br\_on\_non\_null}~l) &\hookrightarrow& \epsilon - &\qquad \mbox{if}~{\href{../exec/runtime.html#syntax-val}{\mathit{val}}} = \mathsf{ref.null}~{\mathit{ht}} \\ -& {\href{../exec/runtime.html#syntax-val}{\mathit{val}}}~(\mathsf{br\_on\_non\_null}~l) &\hookrightarrow& {\href{../exec/runtime.html#syntax-val}{\mathit{val}}}~(\mathsf{br}~l) +& {\href{../exec/runtime.html#syntax-val}{\mathit{val}}}~(\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{br\_on\_non\_null}}~l) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \epsilon + &\qquad \mbox{if}~{\href{../exec/runtime.html#syntax-val}{\mathit{val}}} = \href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.null}}~{\mathit{ht}} \\ +& {\href{../exec/runtime.html#syntax-val}{\mathit{val}}}~(\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{br\_on\_non\_null}}~l) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& {\href{../exec/runtime.html#syntax-val}{\mathit{val}}}~(\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{br}}~l) &\qquad \mbox{otherwise} \\ \end{array}\end{split}\]
    -
    -

    \(\mathsf{br\_on\_cast}~l~{\mathit{rt}}_1~{\mathit{rt}}_2\)

    +
    +

    \(\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{br\_on\_cast}}~l~{\mathit{rt}}_1~{\mathit{rt}}_2\)

    1. Let \(f\) be the current frame.

    2. Assert: Due to validation, a value is on the top of the stack.

    3. @@ -4089,7 +4090,7 @@

      \(t_2\mathsf{x}N\mathsf{.}\href{.
      1. Push the value \({\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}\) to the stack.

      2. -
      3. Execute the instruction \((\mathsf{br}~l)\).

      4. +
      5. Execute the instruction \((\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{br}}~l)\).

      @@ -4116,16 +4117,16 @@

      \(t_2\mathsf{x}N\mathsf{.}\href{.

    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& s ; f ; {\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}~(\mathsf{br\_on\_cast}~l~{\mathit{rt}}_1~{\mathit{rt}}_2) &\hookrightarrow& {\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}~(\mathsf{br}~l) +& s ; f ; {\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}~(\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{br\_on\_cast}}~l~{\mathit{rt}}_1~{\mathit{rt}}_2) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& {\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}~(\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{br}}~l) &\qquad \mbox{if}~s \vdash {\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}} : {\mathit{rt}} \\ &&&&\qquad {\land}~\{ \begin{array}[t]{@{}l@{}} - \}\end{array} \vdash {\mathit{rt}} \leq {{\href{../exec/types.html#type-inst}{\mathrm{clos}}}}_{f{.}\mathsf{module}}({\mathit{rt}}_2) \\ -& s ; f ; {\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}~(\mathsf{br\_on\_cast}~l~{\mathit{rt}}_1~{\mathit{rt}}_2) &\hookrightarrow& {\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}} + \}\end{array} \href{../valid/matching.html#match-reftype}{\vdash} {\mathit{rt}} \href{../valid/matching.html#match-reftype}{\leq} {{\href{../exec/types.html#type-inst}{\mathrm{clos}}}}_{f{.}\mathsf{module}}({\mathit{rt}}_2) \\ +& s ; f ; {\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}~(\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{br\_on\_cast}}~l~{\mathit{rt}}_1~{\mathit{rt}}_2) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& {\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}} &\qquad \mbox{otherwise} \\ \end{array}\end{split}\]
    -
    -

    \(\mathsf{br\_on\_cast\_fail}~l~{\mathit{rt}}_1~{\mathit{rt}}_2\)

    +
    +

    \(\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{br\_on\_cast\_fail}}~l~{\mathit{rt}}_1~{\mathit{rt}}_2\)

    1. Let \(f\) be the current frame.

    2. Assert: Due to validation, a value is on the top of the stack.

    3. @@ -4142,7 +4143,7 @@

      \(t_2\mathsf{x}N\mathsf{.}\href{.
      1. Push the value \({\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}\) to the stack.

      2. -
      3. Execute the instruction \((\mathsf{br}~l)\).

      4. +
      5. Execute the instruction \((\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{br}}~l)\).

      @@ -4169,16 +4170,16 @@

      \(t_2\mathsf{x}N\mathsf{.}\href{.

    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& s ; f ; {\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}~(\mathsf{br\_on\_cast\_fail}~l~{\mathit{rt}}_1~{\mathit{rt}}_2) &\hookrightarrow& {\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}} +& s ; f ; {\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}~(\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{br\_on\_cast\_fail}}~l~{\mathit{rt}}_1~{\mathit{rt}}_2) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& {\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}} &\qquad \mbox{if}~s \vdash {\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}} : {\mathit{rt}} \\ &&&&\qquad {\land}~\{ \begin{array}[t]{@{}l@{}} - \}\end{array} \vdash {\mathit{rt}} \leq {{\href{../exec/types.html#type-inst}{\mathrm{clos}}}}_{f{.}\mathsf{module}}({\mathit{rt}}_2) \\ -& s ; f ; {\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}~(\mathsf{br\_on\_cast\_fail}~l~{\mathit{rt}}_1~{\mathit{rt}}_2) &\hookrightarrow& {\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}~(\mathsf{br}~l) + \}\end{array} \href{../valid/matching.html#match-reftype}{\vdash} {\mathit{rt}} \href{../valid/matching.html#match-reftype}{\leq} {{\href{../exec/types.html#type-inst}{\mathrm{clos}}}}_{f{.}\mathsf{module}}({\mathit{rt}}_2) \\ +& s ; f ; {\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}~(\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{br\_on\_cast\_fail}}~l~{\mathit{rt}}_1~{\mathit{rt}}_2) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& {\href{../exec/runtime.html#syntax-ref}{\mathit{ref}}}~(\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{br}}~l) &\qquad \mbox{otherwise} \\ \end{array}\end{split}\]
    -
    -

    \(\mathsf{return}\)

    +
    +

    \(\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{return}}\)

    1. Pop all values \({{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^\ast}\) from the top of the stack.

    2. If a frame is now on the top of the stack, then:

      @@ -4197,31 +4198,31 @@

      \(t_2\mathsf{x}N\mathsf{.}\href{.
      1. Pop the current label from the stack.

      2. Push the values \({{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^\ast}\) to the stack.

      3. -
      4. Execute the instruction \(\mathsf{return}\).

      5. +
      6. Execute the instruction \(\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{return}}\).

    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& ({{\mathsf{frame}}_{n}}{\{f\}}~{{\href{../exec/runtime.html#syntax-val}{\mathit{val}}'}^\ast}~{{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^{n}}~\mathsf{return}~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast}) &\hookrightarrow& {{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^{n}} \\ -& ({{\mathsf{label}}_{n}}{\{{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}'}^\ast}\}}~{{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^\ast}~\mathsf{return}~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast}) &\hookrightarrow& {{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^\ast}~\mathsf{return} \\ +& ({{\href{../exec/runtime.html#syntax-frame}{\mathsf{frame}}}_{n}}{\{ f \}}~{{\href{../exec/runtime.html#syntax-val}{\mathit{val}}'}^\ast}~{{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^{n}}~\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{return}}~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast}) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& {{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^{n}} \\ +& ({{\href{../exec/runtime.html#syntax-label}{\mathsf{label}}}_{n}}{\{ {{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}'}^\ast} \}}~{{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^\ast}~\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{return}}~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast}) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& {{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^\ast}~\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{return}} \\ \end{array}\end{split}\]
    -
    -

    \(\mathsf{call}~x\)

    +
    +

    \(\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{call}}~x\)

    1. Let \(z\) be the current state.

    2. -
    3. Assert: Due to validation, \(x\) is less than \({|z{.}\mathsf{module}{.}\mathsf{funcs}|}\).

    4. -
    5. Let \(a\) be \(z{.}\mathsf{module}{.}\mathsf{funcs}{}[x]\).

    6. -
    7. Assert: Due to validation, \(a\) is less than \({|z{.}\mathsf{funcs}|}\).

    8. -
    9. Push the value \((\mathsf{ref.func}~a)\) to the stack.

    10. -
    11. Execute the instruction \((\mathsf{call\_ref}~z{.}\mathsf{funcs}{}[a]{.}\mathsf{type})\).

    12. +
    13. Assert: Due to validation, \(x\) is less than \({|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{module}}{.}\mathsf{funcs}|}\).

    14. +
    15. Let \(a\) be \(z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{module}}{.}\mathsf{funcs}{}[x]\).

    16. +
    17. Assert: Due to validation, \(a\) is less than \({|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{funcs}}|}\).

    18. +
    19. Push the value \((\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}func}}~a)\) to the stack.

    20. +
    21. Execute the instruction \((\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{call\_ref}}~z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{funcs}}{}[a]{.}\mathsf{type})\).

    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& z ; (\mathsf{call}~x) &\hookrightarrow& (\mathsf{ref.func}~a)~(\mathsf{call\_ref}~z{.}\mathsf{funcs}{}[a]{.}\mathsf{type}) - &\qquad \mbox{if}~z{.}\mathsf{module}{.}\mathsf{funcs}{}[x] = a \\ +& z ; (\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{call}}~x) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& (\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}func}}~a)~(\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{call\_ref}}~z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{funcs}}{}[a]{.}\mathsf{type}) + &\qquad \mbox{if}~z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{module}}{.}\mathsf{funcs}{}[x] = a \\ \end{array}\end{split}\]
    @@ -4246,19 +4247,19 @@

    \(t_2\mathsf{x}N\mathsf{.}\href{.
    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& z ; (\mathsf{ref.null}~{\mathit{ht}})~(\mathsf{call\_ref}~y) &\hookrightarrow& \mathsf{trap} \\ +& z ; (\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.null}}~{\mathit{ht}})~(\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{call\_ref}}~y) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \href{../exec/runtime.html#syntax-trap}{\mathsf{trap}} \\ \end{array}\end{split}\]

    Note

    The formal rule for calling a non-null function reference is described below.

    -
    -

    \(\mathsf{call\_indirect}~x~y\)

    +
    +

    \(\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{call\_indirect}}~x~y\)

      -
    1. Execute the instruction \((\mathsf{table.get}~x)\).

    2. -
    3. Execute the instruction \((\mathsf{ref.cast}~(\mathsf{ref}~(\mathsf{null}~())~y))\).

    4. -
    5. Execute the instruction \((\mathsf{call\_ref}~y)\).

    6. +
    7. Execute the instruction \((\href{../syntax/instructions.html#syntax-instr-table}{\mathsf{table.get}}~x)\).

    8. +
    9. Execute the instruction \((\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.cast}}~(\href{../syntax/types.html#syntax-reftype}{\mathsf{ref}}~(\mathsf{null}~())~y))\).

    10. +
    11. Execute the instruction \((\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{call\_ref}}~y)\).

    Todo

    @@ -4300,23 +4301,23 @@

    \(t_2\mathsf{x}N\mathsf{.}\href{.
    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& (\mathsf{call\_indirect}~x~y) &\hookrightarrow& (\mathsf{table.get}~x)~(\mathsf{ref.cast}~(\mathsf{ref}~\mathsf{null}~y))~(\mathsf{call\_ref}~y) \\ +& (\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{call\_indirect}}~x~y) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& (\href{../syntax/instructions.html#syntax-instr-table}{\mathsf{table.get}}~x)~(\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.cast}}~(\href{../syntax/types.html#syntax-reftype}{\mathsf{ref}}~\mathsf{null}~y))~(\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{call\_ref}}~y) \\ \end{array}\end{split}\]

    -
    -

    \(\mathsf{return\_call}~x\)

    +
    +

    \(\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{return\_call}}~x\)

    1. Let \(z\) be the current state.

    2. -
    3. Assert: Due to validation, \(x\) is less than \({|z{.}\mathsf{module}{.}\mathsf{funcs}|}\).

    4. -
    5. Let \(a\) be \(z{.}\mathsf{module}{.}\mathsf{funcs}{}[x]\).

    6. -
    7. Assert: Due to validation, \(a\) is less than \({|z{.}\mathsf{funcs}|}\).

    8. -
    9. Push the value \((\mathsf{ref.func}~a)\) to the stack.

    10. -
    11. Execute the instruction \((\mathsf{return\_call\_ref}~z{.}\mathsf{funcs}{}[a]{.}\mathsf{type})\).

    12. +
    13. Assert: Due to validation, \(x\) is less than \({|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{module}}{.}\mathsf{funcs}|}\).

    14. +
    15. Let \(a\) be \(z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{module}}{.}\mathsf{funcs}{}[x]\).

    16. +
    17. Assert: Due to validation, \(a\) is less than \({|z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{funcs}}|}\).

    18. +
    19. Push the value \((\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}func}}~a)\) to the stack.

    20. +
    21. Execute the instruction \((\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{return\_call\_ref}}~z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{funcs}}{}[a]{.}\mathsf{type})\).

    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& z ; (\mathsf{return\_call}~x) &\hookrightarrow& (\mathsf{ref.func}~a)~(\mathsf{return\_call\_ref}~z{.}\mathsf{funcs}{}[a]{.}\mathsf{type}) - &\qquad \mbox{if}~z{.}\mathsf{module}{.}\mathsf{funcs}{}[x] = a \\ +& z ; (\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{return\_call}}~x) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& (\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}func}}~a)~(\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{return\_call\_ref}}~z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{funcs}}{}[a]{.}\mathsf{type}) + &\qquad \mbox{if}~z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{module}}{.}\mathsf{funcs}{}[x] = a \\ \end{array}\end{split}\]
    @@ -4341,18 +4342,18 @@

    \(t_2\mathsf{x}N\mathsf{.}\href{.
    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& z ; ({{\mathsf{label}}_{k}}{\{{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}'}^\ast}\}}~{{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^\ast}~(\mathsf{return\_call\_ref}~y)~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast}) &\hookrightarrow& {{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^\ast}~(\mathsf{return\_call\_ref}~y) \\ -& z ; ({{\mathsf{frame}}_{k}}{\{f\}}~{{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^\ast}~(\mathsf{ref.null}~{\mathit{ht}})~(\mathsf{return\_call\_ref}~y)~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast}) &\hookrightarrow& \mathsf{trap} \\ -& z ; ({{\mathsf{frame}}_{k}}{\{f\}}~{{\href{../exec/runtime.html#syntax-val}{\mathit{val}}'}^\ast}~{{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^{n}}~(\mathsf{ref.func}~a)~(\mathsf{return\_call\_ref}~y)~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast}) &\hookrightarrow& \multicolumn{2}{l@{}}{ {{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^{n}}~(\mathsf{ref.func}~a)~(\mathsf{call\_ref}~y) } \\ - &&& \multicolumn{2}{l@{}}{\quad \mbox{if}~z{.}\mathsf{funcs}{}[a]{.}\mathsf{type} \approx \mathsf{func}~({t_1^{n}} \rightarrow {t_2^{m}})} \\ +& z ; ({{\href{../exec/runtime.html#syntax-label}{\mathsf{label}}}_{k}}{\{ {{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}'}^\ast} \}}~{{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^\ast}~(\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{return\_call\_ref}}~y)~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast}) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& {{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^\ast}~(\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{return\_call\_ref}}~y) \\ +& z ; ({{\href{../exec/runtime.html#syntax-frame}{\mathsf{frame}}}_{k}}{\{ f \}}~{{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^\ast}~(\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.null}}~{\mathit{ht}})~(\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{return\_call\_ref}}~y)~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast}) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \href{../exec/runtime.html#syntax-trap}{\mathsf{trap}} \\ +& z ; ({{\href{../exec/runtime.html#syntax-frame}{\mathsf{frame}}}_{k}}{\{ f \}}~{{\href{../exec/runtime.html#syntax-val}{\mathit{val}}'}^\ast}~{{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^{n}}~(\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}func}}~a)~(\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{return\_call\_ref}}~y)~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast}) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \multicolumn{2}{l@{}}{ {{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^{n}}~(\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}func}}~a)~(\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{call\_ref}}~y) } \\ + &&& \multicolumn{2}{l@{}}{\quad \mbox{if}~z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{funcs}}{}[a]{.}\mathsf{type} \approx \href{../syntax/types.html#syntax-comptype}{\mathsf{func}}~({t_1^{n}} \href{../syntax/types.html#syntax-functype}{\rightarrow} {t_2^{m}})} \\ \end{array}\end{split}\]

    -
    -

    \(\mathsf{return\_call\_indirect}~x~y\)

    +
    +

    \(\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{return\_call\_indirect}}~x~y\)

      -
    1. Execute the instruction \((\mathsf{table.get}~x)\).

    2. -
    3. Execute the instruction \((\mathsf{ref.cast}~(\mathsf{ref}~(\mathsf{null}~())~y))\).

    4. -
    5. Execute the instruction \((\mathsf{return\_call\_ref}~y)\).

    6. +
    7. Execute the instruction \((\href{../syntax/instructions.html#syntax-instr-table}{\mathsf{table.get}}~x)\).

    8. +
    9. Execute the instruction \((\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.cast}}~(\href{../syntax/types.html#syntax-reftype}{\mathsf{ref}}~(\mathsf{null}~())~y))\).

    10. +
    11. Execute the instruction \((\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{return\_call\_ref}}~y)\).

    Todo

    @@ -4392,16 +4393,16 @@

    \(t_2\mathsf{x}N\mathsf{.}\href{.
    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& (\mathsf{return\_call\_indirect}~x~y) &\hookrightarrow& (\mathsf{table.get}~x)~(\mathsf{ref.cast}~(\mathsf{ref}~\mathsf{null}~y))~(\mathsf{return\_call\_ref}~y) \\ +& (\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{return\_call\_indirect}}~x~y) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& (\href{../syntax/instructions.html#syntax-instr-table}{\mathsf{table.get}}~x)~(\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.cast}}~(\href{../syntax/types.html#syntax-reftype}{\mathsf{ref}}~\mathsf{null}~y))~(\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{return\_call\_ref}}~y) \\ \end{array}\end{split}\]

    -

    Blocks

    -

    The following auxiliary rules define the semantics of executing an instruction sequence +

    Blocks

    +

    The following auxiliary rules define the semantics of executing an instruction sequence that forms a block.

    -

    Entering \(\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}^\ast\) with label \(L\)

    +

    Entering \(\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}^\ast\) with label \(L\)

    1. Push \(L\) to the stack.

    2. Jump to the start of the instruction sequence \(\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}^\ast\).

    3. @@ -4413,18 +4414,18 @@

      \(t_2\mathsf{x}N\mathsf{.}\href{.

    -

    Exiting \(\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}^\ast\) with label \(L\)

    +

    Exiting \(\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}^\ast\) with label \(L\)

    When the end of a block is reached without a jump or trap aborting it, then the following steps are performed.

    1. Pop all values \(\href{../exec/runtime.html#syntax-val}{\mathit{val}}^\ast\) from the top of the stack.

    2. -
    3. Assert: due to validation, the label \(L\) is now on the top of the stack.

    4. +
    5. Assert: due to validation, the label \(L\) is now on the top of the stack.

    6. Pop the label from the stack.

    7. Push \(\href{../exec/runtime.html#syntax-val}{\mathit{val}}^\ast\) back to the stack.

    8. Jump to the position after the \(\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{end}}\) of the structured control instruction associated with the label \(L\).

    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& ({{\mathsf{label}}_{n}}{\{{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast}\}}~{{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^\ast}) &\hookrightarrow& {{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^\ast} \\ +& ({{\href{../exec/runtime.html#syntax-label}{\mathsf{label}}}_{n}}{\{ {{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast} \}}~{{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^\ast}) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& {{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^\ast} \\ \end{array}\end{split}\]

    Note

    @@ -4451,14 +4452,14 @@

    \(t_2\mathsf{x}N\mathsf{.}\href{.
  • Let \(F\) be the frame \(\{ \href{../exec/runtime.html#syntax-frame}{\mathsf{module}}~f.\href{../exec/runtime.html#syntax-funcinst}{\mathsf{module}}, \href{../exec/runtime.html#syntax-frame}{\mathsf{locals}}~\href{../exec/runtime.html#syntax-val}{\mathit{val}}^n~(\href{../exec/runtime.html#default-val}{\mathrm{default}}_t)^\ast \}\).

  • Push the activation of \(F\) with arity \(m\) to the stack.

  • Let \(L\) be the label whose arity is \(m\) and whose continuation is the end of the function.

  • -
  • Enter the instruction sequence \(\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}^\ast\) with label \(L\).

  • +
  • Enter the instruction sequence \(\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}^\ast\) with label \(L\).

  • \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& z ; {{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^{n}}~(\mathsf{ref.func}~a)~(\mathsf{call\_ref}~y) &\hookrightarrow& \multicolumn{2}{l@{}}{ ({{\mathsf{frame}}_{m}}{\{f\}}~({{\mathsf{label}}_{m}}{\{\epsilon\}}~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast})) } \\ - &&& \multicolumn{2}{l@{}}{\quad \mbox{if}~z{.}\mathsf{funcs}{}[a] = {\mathit{fi}}} \\ - &&& \multicolumn{2}{l@{}}{\quad {\land}~{\mathit{fi}}{.}\mathsf{type} \approx \mathsf{func}~({t_1^{n}} \rightarrow {t_2^{m}})} \\ - &&& \multicolumn{2}{l@{}}{\quad {\land}~{\mathit{fi}}{.}\mathsf{code} = \mathsf{func}~x~{(\mathsf{local}~t)^\ast}~({{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast})} \\ +& z ; {{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^{n}}~(\href{../exec/runtime.html#syntax-ref}{\mathsf{ref{.}func}}~a)~(\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{call\_ref}}~y) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& \multicolumn{2}{l@{}}{ ({{\href{../exec/runtime.html#syntax-frame}{\mathsf{frame}}}_{m}}{\{ f \}}~({{\href{../exec/runtime.html#syntax-label}{\mathsf{label}}}_{m}}{\{ \epsilon \}}~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast})) } \\ + &&& \multicolumn{2}{l@{}}{\quad \mbox{if}~z{.}\href{../exec/runtime.html#syntax-store}{\mathsf{funcs}}{}[a] = {\mathit{fi}}} \\ + &&& \multicolumn{2}{l@{}}{\quad {\land}~{\mathit{fi}}{.}\mathsf{type} \approx \href{../syntax/types.html#syntax-comptype}{\mathsf{func}}~({t_1^{n}} \href{../syntax/types.html#syntax-functype}{\rightarrow} {t_2^{m}})} \\ + &&& \multicolumn{2}{l@{}}{\quad {\land}~{\mathit{fi}}{.}\mathsf{code} = \href{../syntax/modules.html#syntax-func}{\mathsf{func}}~x~{(\href{../syntax/modules.html#syntax-func}{\mathsf{local}}~t)^\ast}~({{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast})} \\ &&& \multicolumn{2}{l@{}}{\quad {\land}~f = \{ \begin{array}[t]{@{}l@{}} \mathsf{locals}~{{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^{n}}~{({{\href{../exec/runtime.html#default-val}{\mathrm{default}}}}_{t})^\ast},\; \mathsf{module}~{\mathit{fi}}{.}\mathsf{module} \}\end{array}} \\ \end{array}\end{split}\]
    @@ -4473,7 +4474,7 @@

    \(t_2\mathsf{x}N\mathsf{.}\href{.
    1. Let \(F\) be the current frame.

    2. Let \(n\) be the arity of the activation of \(F\).

    3. -
    4. Assert: due to validation, there are \(n\) values on the top of the stack.

    5. +
    6. Assert: due to validation, there are \(n\) values on the top of the stack.

    7. Pop the results \(\href{../exec/runtime.html#syntax-val}{\mathit{val}}^n\) from the stack.

    8. Assert: due to validation, the frame \(F\) is now on the top of the stack.

    9. Pop the frame from the stack.

    10. @@ -4482,7 +4483,7 @@

      \(t_2\mathsf{x}N\mathsf{.}\href{.

    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& ({{\mathsf{frame}}_{n}}{\{f\}}~{{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^{n}}) &\hookrightarrow& {{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^{n}} \\ +& ({{\href{../exec/runtime.html#syntax-frame}{\mathsf{frame}}}_{n}}{\{ f \}}~{{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^{n}}) &\href{../exec/conventions.html#exec-notation}{\hookrightarrow}& {{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^{n}} \\ \end{array}\end{split}\]

    @@ -4545,8 +4546,8 @@

    \(t_2\mathsf{x}N\mathsf{.}\href{.

    The value \(\href{../exec/runtime.html#syntax-val}{\mathit{val}}\) is the result of the evaluation.

    \[\begin{split}\begin{array}{@{}l@{}rcl@{}l@{}} -& z ; {{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast} &\hookrightarrow^\ast& {z'} ; {{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^\ast} - &\qquad \mbox{if}~z ; {{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast} \hookrightarrow^\ast {z'} ; {{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^\ast} \\ +& z ; {{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast} &\href{../exec/conventions.html#exec-notation}{\hookrightarrow^\ast}& {z'} ; {{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^\ast} + &\qquad \mbox{if}~z ; {{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast} \href{../exec/conventions.html#exec-notation}{\hookrightarrow^\ast} {z'} ; {{\href{../exec/runtime.html#syntax-val}{\mathit{val}}}^\ast} \\ \end{array}\end{split}\]
    \[S; F; \href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}^\ast \href{../exec/conventions.html#exec-notation}{\hookrightarrow} S'; F'; \href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}'^\ast diff --git a/core/exec/modules.html b/core/exec/modules.html index 90ffd09831..6356fb76c1 100644 --- a/core/exec/modules.html +++ b/core/exec/modules.html @@ -6,7 +6,7 @@ - Modules — WebAssembly 3.0 (Draft 2024-05-03) + Modules — WebAssembly 3.0 (Draft 2024-05-17) @@ -255,7 +255,7 @@

    Moduleselement segment \(\href{../syntax/modules.html#syntax-elem}{\mathit{elem}}_i\) in \(\href{../syntax/modules.html#syntax-module}{\mathit{module}}.\href{../syntax/modules.html#syntax-module}{\mathsf{elems}}\) whose mode is of the form \(\href{../syntax/modules.html#syntax-elemmode}{\mathsf{active}}~\{ \href{../syntax/modules.html#syntax-elem}{\mathsf{table}}~\href{../syntax/modules.html#syntax-tableidx}{\mathit{tableidx}}_i, \href{../syntax/modules.html#syntax-elem}{\mathsf{offset}}~\mathit{einstr}^\ast_i~\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{end}} \}\), do:

    1. Let \(n\) be the length of the list \(\href{../syntax/modules.html#syntax-elem}{\mathit{elem}}_i.\href{../syntax/modules.html#syntax-elem}{\mathsf{init}}\).

    2. -
    3. Execute the instruction sequence \(\mathit{einstr}^\ast_i\).

    4. +
    5. Execute the instruction sequence \(\mathit{einstr}^\ast_i\).

    6. Execute the instruction \(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}.\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~0\).

    7. Execute the instruction \(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}.\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n\).

    8. Execute the instruction \(\href{../syntax/instructions.html#syntax-instr-table}{\mathsf{table.init}}~\href{../syntax/modules.html#syntax-tableidx}{\mathit{tableidx}}_i~i\).

    9. @@ -528,7 +528,7 @@

      Modules
    10. Assert: \(\href{../syntax/modules.html#syntax-memidx}{\mathit{memidx}}_i\) is \(0\).

    11. Let \(n\) be the length of the list \(\href{../syntax/modules.html#syntax-data}{\mathit{data}}_i.\href{../syntax/modules.html#syntax-data}{\mathsf{init}}\).

    12. -
    13. Execute the instruction sequence \(\mathit{dinstr}^\ast_i\).

    14. +
    15. Execute the instruction sequence \(\mathit{dinstr}^\ast_i\).

    16. Execute the instruction \(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}.\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~0\).

    17. Execute the instruction \(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}.\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~n\).

    18. Execute the instruction \(\href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{memory.init}}~i\).

    19. diff --git a/core/exec/numerics.html b/core/exec/numerics.html index 03cc426c61..21f0b0926d 100644 --- a/core/exec/numerics.html +++ b/core/exec/numerics.html @@ -6,7 +6,7 @@ - Numerics — WebAssembly 3.0 (Draft 2024-05-03) + Numerics — WebAssembly 3.0 (Draft 2024-05-17) diff --git a/core/exec/runtime.html b/core/exec/runtime.html index 1c3524f4d4..627df9e6d3 100644 --- a/core/exec/runtime.html +++ b/core/exec/runtime.html @@ -6,7 +6,7 @@ - Runtime Structure — WebAssembly 3.0 (Draft 2024-05-03) + Runtime Structure — WebAssembly 3.0 (Draft 2024-05-17) @@ -517,7 +517,7 @@

      Activation Frames\(\href{../exec/runtime.html#syntax-return-invoke}{\mathsf{return\_invoke}}\) represents the imminent tail invocation of a function instance.

      The \(\href{../exec/runtime.html#syntax-label}{\mathsf{label}}\) and \(\href{../exec/runtime.html#syntax-frame}{\mathsf{frame}}\) instructions model labels and frames “on the stack”. -Moreover, the administrative syntax maintains the nesting structure of the original structured control instruction or function body and their instruction sequences with an \(\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{end}}\) marker. +Moreover, the administrative syntax maintains the nesting structure of the original structured control instruction or function body and their instruction sequences with an \(\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{end}}\) marker. That way, the end of the inner instruction sequence is known when part of an outer sequence.

      Note

      diff --git a/core/exec/types.html b/core/exec/types.html index 452a7cbe00..ef04d39f50 100644 --- a/core/exec/types.html +++ b/core/exec/types.html @@ -6,7 +6,7 @@ - Types — WebAssembly 3.0 (Draft 2024-05-03) + Types — WebAssembly 3.0 (Draft 2024-05-17) diff --git a/core/exec/values.html b/core/exec/values.html index 1741c8fecc..21432cd243 100644 --- a/core/exec/values.html +++ b/core/exec/values.html @@ -6,7 +6,7 @@ - Values — WebAssembly 3.0 (Draft 2024-05-03) + Values — WebAssembly 3.0 (Draft 2024-05-17) @@ -124,7 +124,7 @@

      Values
      \[\frac{ - \href{../valid/types.html#valid-heaptype}{\vdash} t \mathrel{\mbox{ok}} + \href{../valid/types.html#valid-heaptype}{\vdash} t : \href{../valid/types.html#valid-heaptype}{\mathsf{ok}} \qquad t' \in \{\href{../syntax/types.html#syntax-heaptype}{\mathsf{none}}, \href{../syntax/types.html#syntax-heaptype}{\mathsf{nofunc}}, \href{../syntax/types.html#syntax-heaptype}{\mathsf{noextern}}\} \qquad @@ -245,7 +245,7 @@

      Subsumption - Index — WebAssembly 3.0 (Draft 2024-05-03) + Index — WebAssembly 3.0 (Draft 2024-05-17) diff --git a/core/index.html b/core/index.html index 5903ede093..42211e7a10 100644 --- a/core/index.html +++ b/core/index.html @@ -6,7 +6,7 @@ - WebAssembly Specification — WebAssembly 3.0 (Draft 2024-05-03) + WebAssembly Specification — WebAssembly 3.0 (Draft 2024-05-17) @@ -80,7 +80,7 @@

      Quick search

      WebAssembly Specification

      -
      Release 3.0 (Draft 2024-05-03)
      +
      Release 3.0 (Draft 2024-05-17)
      Editor: Andreas Rossberg
      diff --git a/core/intro/index.html b/core/intro/index.html index fc6eba7d9d..32760e2146 100644 --- a/core/intro/index.html +++ b/core/intro/index.html @@ -6,7 +6,7 @@ - Introduction — WebAssembly 3.0 (Draft 2024-05-03) + Introduction — WebAssembly 3.0 (Draft 2024-05-17) diff --git a/core/intro/introduction.html b/core/intro/introduction.html index c27736b8c3..58f26db7f7 100644 --- a/core/intro/introduction.html +++ b/core/intro/introduction.html @@ -6,7 +6,7 @@ - Introduction — WebAssembly 3.0 (Draft 2024-05-03) + Introduction — WebAssembly 3.0 (Draft 2024-05-17) @@ -88,7 +88,7 @@

      IntroductionW3C Community Group.

      -

      This document describes version 3.0 (Draft 2024-05-03) of the core WebAssembly standard. +

      This document describes version 3.0 (Draft 2024-05-17) of the core WebAssembly standard. It is intended that it will be superseded by new incremental releases with additional features in the future.

      Design Goals

      diff --git a/core/intro/overview.html b/core/intro/overview.html index 269c9be166..765f78ffff 100644 --- a/core/intro/overview.html +++ b/core/intro/overview.html @@ -6,7 +6,7 @@ - Overview — WebAssembly 3.0 (Draft 2024-05-03) + Overview — WebAssembly 3.0 (Draft 2024-05-17) diff --git a/core/objects.inv b/core/objects.inv index 01f5224458..1e8703c3fd 100644 Binary files a/core/objects.inv and b/core/objects.inv differ diff --git a/core/search.html b/core/search.html index 7b9abddbfb..10d85c1927 100644 --- a/core/search.html +++ b/core/search.html @@ -5,7 +5,7 @@ - Search — WebAssembly 3.0 (Draft 2024-05-03) + Search — WebAssembly 3.0 (Draft 2024-05-17) diff --git a/core/searchindex.js b/core/searchindex.js index d1f0e8b6cf..aa8e2aea87 100644 --- a/core/searchindex.js +++ b/core/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["appendix/algorithm", "appendix/changes", "appendix/custom", "appendix/embedding", "appendix/implementation", "appendix/index", "appendix/index-instructions", "appendix/index-rules", "appendix/index-types", "appendix/properties", "binary/conventions", "binary/index", "binary/instructions", "binary/modules", "binary/types", "binary/values", "exec/conventions", "exec/index", "exec/instructions", "exec/modules", "exec/numerics", "exec/runtime", "exec/types", "exec/values", "index", "intro/index", "intro/introduction", "intro/overview", "syntax/conventions", "syntax/index", "syntax/instructions", "syntax/modules", "syntax/types", "syntax/values", "text/conventions", "text/index", "text/instructions", "text/lexical", "text/modules", "text/types", "text/values", "valid/conventions", "valid/index", "valid/instructions", "valid/matching", "valid/modules", "valid/types"], "filenames": ["appendix/algorithm.rst", "appendix/changes.rst", "appendix/custom.rst", "appendix/embedding.rst", "appendix/implementation.rst", "appendix/index.rst", "appendix/index-instructions.rst", "appendix/index-rules.rst", "appendix/index-types.rst", "appendix/properties.rst", "binary/conventions.rst", "binary/index.rst", "binary/instructions.rst", "binary/modules.rst", "binary/types.rst", "binary/values.rst", "exec/conventions.rst", "exec/index.rst", "exec/instructions.rst", "exec/modules.rst", "exec/numerics.rst", "exec/runtime.rst", "exec/types.rst", "exec/values.rst", "index.rst", "intro/index.rst", "intro/introduction.rst", "intro/overview.rst", "syntax/conventions.rst", "syntax/index.rst", "syntax/instructions.rst", "syntax/modules.rst", "syntax/types.rst", "syntax/values.rst", "text/conventions.rst", "text/index.rst", "text/instructions.rst", "text/lexical.rst", "text/modules.rst", "text/types.rst", "text/values.rst", "valid/conventions.rst", "valid/index.rst", "valid/instructions.rst", "valid/matching.rst", "valid/modules.rst", "valid/types.rst"], "titles": ["Validation Algorithm", "Change History", "Custom Sections", "Embedding", "Implementation Limitations", "Appendix", "Index of Instructions", "Index of Semantic Rules", "Index of Types", "Type Soundness", "Conventions", "Binary Format", "Instructions", "Modules", "Types", "Values", "Conventions", "Execution", "Instructions", "Modules", "Numerics", "Runtime Structure", "Types", "Values", "WebAssembly Specification", "Introduction", "Introduction", "Overview", "Conventions", "Structure", "Instructions", "Modules", "Types", "Values", "Conventions", "Text Format", "Instructions", "Lexical Format", "Modules", "Types", "Values", "Conventions", "Validation", "Instructions", "Matching", "Modules", "Types"], "terms": {"http": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "github": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "com": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "webassembli": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "spec": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "issu": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "io": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "core": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "ieee": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "754": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "unicod": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "ascii": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "littl": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "endian": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "leb128": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "unsign": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "sign": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "express": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 37, 38, 39, 40, 41, 42, 44, 45, 46], "media": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "bring": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "web": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "up": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "speed": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "mechanis": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "verifi": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "specif": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "two": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "1": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "0": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "program": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "languag": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "mathit": [0, 1, 2, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44], "mathrm": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "mathsf": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 19, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44], "mathtt": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "mathbin": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "mod": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "mathrel": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "mbox": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "otherwis": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "where": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "def": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "mathdef1": 0, "xref": [0, 1, 2, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 19, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44], "convent": [0, 1, 2, 3, 4, 5, 6, 7, 8, 11, 12, 13, 14, 15, 17, 18, 19, 20, 22, 23, 24, 25, 26, 27, 29, 35, 36, 37, 38, 39, 42, 43, 44, 45], "notat": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 46], "subst": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "mathbf": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "syntax": [0, 1, 2, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44], "slice": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "replac": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "concat": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "compos": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "oplu": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "bigoplu": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "list": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "0x": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "u": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "valu": [0, 2, 4, 5, 6, 7, 8, 10, 11, 12, 13, 16, 17, 18, 19, 20, 22, 24, 25, 26, 27, 28, 29, 30, 31, 34, 35, 36, 37, 38, 41, 42, 43], "float": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46], "nan": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "byte": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "i": [0, 1, 2, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 19, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45], "f": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "v": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "int": [0, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "n": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45], "m": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45], "u1": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "u8": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "u16": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "u31": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "u32": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "u64": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "s8": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "s16": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "s32": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "s64": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "i8": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "i16": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "i32": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "i64": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "i128": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "nmag": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "f32": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "f64": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "name": [0, 1, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 46], "char": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "aux": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "canon": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "signif": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "expon": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "functyp": [0, 1, 2, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45], "rightarrow": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45], "instrtyp": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "heaptyp": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45], "ext": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "bot": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "valtyp": [0, 1, 2, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44], "storagetyp": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45], "numtyp": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "vectyp": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "v128": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "reftyp": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45], "anyref": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "eqref": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "i31ref": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "structref": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "arrayref": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "funcref": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "externref": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "nullref": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "nullfuncref": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "nullexternref": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "ref": [0, 1, 2, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45], "null": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45], "ani": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "eq": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "i31": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "struct": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45], "arrai": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45], "func": [0, 1, 2, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44], "extern": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 22, 24, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45], "none": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "nofunc": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "noextern": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "instruct": [0, 2, 3, 4, 5, 7, 8, 10, 11, 13, 14, 15, 16, 17, 19, 20, 22, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 37, 38, 39, 40, 42], "shape": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "i8x16": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "i16x8": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "i32x4": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "i64x2": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "f32x4": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "f64x2": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "rec": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45], "comptyp": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45], "subtyp": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45], "sub": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45], "rectyp": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44], "final": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45], "mut": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44], "var": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "const": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "init": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 46], "set": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "unset": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "limit": [0, 1, 2, 3, 5, 6, 7, 8, 10, 11, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 45], "min": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45], "max": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45], "externtyp": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45], "tabl": [0, 2, 4, 5, 6, 7, 8, 10, 11, 15, 16, 17, 20, 22, 24, 25, 26, 27, 28, 29, 33, 34, 35, 37, 40, 41, 42], "mem": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44], "global": [0, 1, 2, 4, 5, 6, 7, 8, 10, 11, 12, 15, 16, 17, 20, 22, 24, 25, 26, 27, 28, 29, 30, 33, 34, 35, 36, 37, 40, 41, 42], "typeus": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "packtyp": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45], "lanetyp": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "absheaptyp": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45], "consttyp": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "resulttyp": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "structtyp": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "arraytyp": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "fieldtyp": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45], "deftyp": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45], "globaltyp": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44], "tabletyp": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44], "memtyp": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44], "localtyp": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "reftypediff": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "setminu": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "roll": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 46], "unrol": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 46], "ast": [0, 1, 2, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44], "expand": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "appendix": [0, 1, 2, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "properti": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "unpack": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "modul": [0, 1, 4, 5, 6, 7, 8, 10, 11, 12, 14, 15, 16, 17, 18, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 43, 44], "typeidx": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45], "funcidx": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "tableidx": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "memidx": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "globalidx": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "elemidx": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "dataidx": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "localidx": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "labelidx": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "fieldidx": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "import": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 43, 44, 46], "export": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 14, 15, 16, 17, 18, 19, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 43, 44, 46], "elem": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 46], "start": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 43, 44, 46], "local": [0, 1, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 44, 46], "bodi": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46], "memori": [0, 2, 4, 5, 6, 7, 8, 10, 11, 15, 16, 17, 20, 22, 23, 24, 25, 26, 27, 28, 29, 33, 34, 35, 37, 40, 41, 42], "mode": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46], "elemmod": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46], "passiv": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46], "activ": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46], "declar": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46], "offset": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46], "datamod": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46], "desc": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46], "exportdesc": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46], "importdesc": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46], "sx": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "instr": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "align": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "x": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44], "control": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 37, 38, 39, 40, 41, 42, 44, 45, 46], "unreach": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "nop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "block": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45], "loop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "els": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "end": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "br": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "_if": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "_tabl": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "_on": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "_null": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "_non": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "_cast": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "_fail": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "return": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "call": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "_ref": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "_indirect": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "_call": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "parametr": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 37, 38, 39, 40, 41, 42, 44, 45, 46], "drop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "select": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "variabl": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 37, 38, 39, 40, 41, 42, 44, 45, 46], "get": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "tee": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "size": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "grow": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "fill": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "copi": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "load": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "store": [0, 1, 2, 4, 5, 6, 8, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "test": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "cast": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "new": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "_default": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "_": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "_u": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "_fix": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "_data": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "_elem": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "len": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "convert": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "_extern": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "_ani": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "numer": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 19, 21, 22, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 37, 38, 39, 40, 41, 42, 44, 45, 46], "eqz": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "ne": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "lt": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "gt": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "le": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "ge": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "clz": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "ctz": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "popcnt": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "ab": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "neg": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "ceil": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "floor": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "trunc": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "nearest": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "sqrt": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "add": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "mul": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "div": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "rem": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "xor": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "shl": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "shr": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "rotl": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "rotr": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "copysign": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "extend": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "wrap": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "promot": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "demot": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "reinterpret": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "vec": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "shuffl": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "swizzl": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "splat": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "extract": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "_lane": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "andnot": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "bitselect": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "_true": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "all": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "bitmask": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "pmin": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "pmax": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "narrow": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "avgr": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "dot": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "extmul": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "q15mulr": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "_sat": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "extadd": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "_pairwis": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "unop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "binop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "testop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "relop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "cvtop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "exec": [0, 1, 2, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 19, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "iunop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "ibinop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "itestop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "irelop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "funop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "fbinop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "ftestop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "frelop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "dim": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "ishap": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "fshape": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "vvunop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "vvbinop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "vvternop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "vvtestop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "vunop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "vbinop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "vrelop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "vtestop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "vcvtop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "vextunop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "vextbinop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "vshiftop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "viunop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "vibinop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "vitestop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "virelop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "vishiftop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "vfunop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "vfbinop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "vftestop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "vfrelop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "viminmaxop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "visatbinop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "vloadop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "sz": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "half": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "memarg": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "laneidx": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "blocktyp": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "expr": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46], "binari": [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "mathdef2": 0, "mathdef3": 0, "mathdef4": 0, "8": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "mathdef5": 0, "16": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "mathdef6": 0, "32": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "mathdef7": 0, "64": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "mathdef8": 0, "mathdef9": 0, "7": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "mathdef10": 0, "mathdef11": 0, "33": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "mathdef12": 0, "mathdef13": 0, "mathdef14": 0, "mathdef15": 0, "mathdef16": 0, "mathdef17": 0, "mathdef18": 0, "utf8": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "aggrtyp": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "index": [0, 1, 2, 3, 4, 5, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "idx": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "magic": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "version": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "section": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "customsec": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "typesec": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "funcsec": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "codesec": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "tablesec": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "memsec": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "globalsec": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "importsec": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "exportsec": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "elemsec": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "datasec": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "startsec": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "datacountsec": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "custom": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "typedef": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "elemkind": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "code": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "castflag": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "text": [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "mathdef19": 0, "mathdef20": 0, "mathdef21": 0, "lexic": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 38, 39, 40, 41, 42, 43, 44, 45, 46], "sourc": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "space": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 38, 39, 40, 41, 42, 43, 44, 45, 46], "format": [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 36, 38, 39, 40, 41, 42, 43, 44, 45, 46], "newlin": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "token": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 38, 39, 40, 41, 42, 43, 44, 45, 46], "keyword": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "reserv": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "comment": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 38, 39, 40, 41, 42, 43, 44, 45, 46], "linecom": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "blockcom": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "linechar": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "blockchar": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "digit": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "hexdigit": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "num": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "hexnum": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "frac": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "hexfrac": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "hexfloat": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "mathdef22": 0, "mathdef23": 0, "mathdef24": 0, "mathdef25": 0, "mathdef26": 0, "mathdef27": 0, "mathdef28": 0, "mathdef29": 0, "mathdef30": 0, "mathdef31": 0, "mathdef32": 0, "mathdef33": 0, "mathdef34": 0, "mathdef35": 0, "mathdef36": 0, "mathdef37": 0, "mag": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "mathdef38": 0, "mathdef39": 0, "string": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46], "stringelem": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "stringchar": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "id": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "idchar": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "param": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "result": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 15, 16, 17, 18, 19, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45], "field": [0, 1, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45], "modulefield": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "elemlist": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "elemexpr": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "tableus": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "datastr": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "memus": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "label": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "plaininstr": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "blockinstr": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "foldedinstr": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "fresh": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "wf": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "well": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "form": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "ok": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "constant": [0, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "leq": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "match": [0, 1, 2, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46], "clostyp": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "clo": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "vdash": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "seq": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "globalseq": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "unpackshap": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "hookrightarrow": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "preceq": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "inst": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "alloc": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "alloctyp": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "allocfunc": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "hostfunc": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "allochostfunc": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "alloct": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "allocmem": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "allocglob": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "allocelem": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "allocdata": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "allocmodul": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "growtabl": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "growmem": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "runtim": [0, 1, 2, 4, 5, 6, 8, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "addr": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "funcaddr": [0, 1, 2, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "tableaddr": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "memaddr": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "globaladdr": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "elemaddr": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "dataaddr": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "structaddr": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "arrayaddr": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "hostaddr": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "funcinst": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "hostcod": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "tableinst": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "meminst": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "globalinst": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "eleminst": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "datainst": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "exportinst": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "externv": [0, 1, 2, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "moduleinst": [0, 1, 2, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "structinst": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "arrayinst": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "packval": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "pack": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "fieldval": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "frame": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "framest": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "fblocktyp": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "host": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "trap": [0, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "invok": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "return_invok": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "_invok": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "addrref": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "val": [0, 1, 2, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "default": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "packnum": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "unpacknum": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "packfield": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "unpackfield": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "ctxt": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "b": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46], "config": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "thread": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "op": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "iadd": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "isub": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "imul": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "idiv": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "irem": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "inot": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "iand": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "iandnot": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "ior": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "ixor": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "ishl": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "ishr": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "irotl": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "irotr": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "iclz": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "ictz": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "ipopcnt": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "ieqz": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "ieq": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "ine": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "ilt": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "igt": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "il": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "ig": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "iextendn": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "iextend": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "ibitselect": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "iab": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "ineg": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "imin": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "imax": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "iadd_sat": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "isub_sat": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "iavgr": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "iq15mulrsat": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "fadd": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "fsub": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "fmul": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "fdiv": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "fmin": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "fmax": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "fcopysign": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "fab": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "fneg": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "fsqrt": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "fceil": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "ffloor": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "ftrunc": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "fnearest": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "feq": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "fne": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "flt": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "fgt": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "fle": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "fge": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "fpmin": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "fpmax": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "trunc_sat": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "bit": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "ibit": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "fbit": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "fsign": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "fbia": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "littleendian": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "tobool": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "bool": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "sat": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "lane": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "instanti": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "invoc": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "admin": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "namesubsect": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "namesec": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "namedata": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "namemap": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "nameassoc": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "indirectnamemap": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "indirectnameassoc": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "modulenamesec": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "modulenamesubsec": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "funcnamesec": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "funcnamesubsec": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "localnamesec": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "localnamesubsec": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "typenamesec": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "typenamesubsec": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "fieldnamesec": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "fieldnamesubsec": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "embed": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "emb": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "true": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "fals": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "error": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "The": [0, 1, 2, 3, 4, 9, 10, 12, 13, 14, 15, 16, 18, 19, 20, 21, 23, 26, 27, 28, 30, 31, 32, 33, 34, 36, 37, 38, 39, 40, 41, 43, 44, 45, 46], "pure": 0, "It": [0, 2, 3, 13, 16, 18, 19, 20, 21, 22, 26, 27, 30, 31, 32, 34, 37, 38, 41, 44], "describ": [0, 9, 13, 16, 18, 21, 26, 28, 30, 31, 32, 33, 41, 43], "constraint": [0, 4, 9, 15, 21, 41, 43], "must": [0, 2, 3, 4, 9, 10, 13, 15, 18, 20, 21, 23, 28, 30, 31, 34, 36, 37, 38, 40, 41, 43, 44, 45, 46], "met": [0, 3, 41], "thi": [0, 2, 3, 4, 9, 10, 13, 15, 16, 18, 19, 20, 21, 22, 23, 26, 27, 28, 30, 31, 32, 33, 34, 36, 37, 38, 40, 41, 43, 45], "sketch": 0, "skeleton": [0, 41], "sound": [0, 5, 16, 18, 24, 41], "complet": [0, 3, 9, 10, 27, 31, 34, 41], "effect": [0, 9, 16, 18, 21, 30, 36, 37, 43, 45], "e": [0, 2, 9, 10, 13, 18, 19, 20, 21, 26, 28, 30, 32, 33, 34, 38, 40, 41, 44], "other": [0, 3, 4, 9, 10, 12, 13, 15, 16, 18, 19, 20, 21, 26, 27, 30, 31, 32, 33, 34, 36, 37, 38, 40, 41, 43, 45, 46], "aspect": [0, 4, 26], "ar": [0, 1, 2, 3, 4, 6, 9, 10, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 26, 27, 28, 30, 31, 32, 33, 34, 36, 37, 38, 39, 40, 41, 43, 44, 45, 46], "straightforward": 0, "implement": [0, 2, 3, 5, 9, 10, 13, 16, 18, 19, 21, 24, 27, 30, 31, 41, 43], "In": [0, 3, 9, 10, 13, 14, 16, 18, 19, 20, 21, 26, 27, 30, 31, 32, 33, 34, 36, 38, 40, 41, 43], "fact": [0, 36, 37], "over": [0, 3, 4, 9, 13, 20, 21, 28, 30, 31, 32, 33, 34, 38, 41, 45], "flat": [0, 28], "occur": [0, 2, 9, 13, 14, 16, 18, 19, 20, 21, 22, 27, 31, 33, 36, 37, 38, 40, 41, 43, 45], "perform": [0, 1, 9, 16, 18, 19, 21, 26, 27, 30, 32, 41, 43, 44, 45], "onli": [0, 2, 3, 9, 10, 12, 16, 18, 19, 21, 26, 27, 30, 31, 33, 34, 36, 37, 38, 39, 41, 43, 44, 45, 46], "singl": [0, 1, 2, 9, 12, 13, 14, 20, 21, 26, 27, 30, 31, 32, 33, 34, 36, 37, 38, 39], "pass": [0, 3, 13, 19, 21, 26, 45], "consequ": [0, 6, 9, 10, 30, 31, 37, 38, 43, 45], "can": [0, 1, 2, 3, 9, 10, 12, 13, 14, 16, 18, 19, 20, 21, 22, 26, 27, 28, 30, 31, 32, 33, 34, 36, 37, 38, 39, 40, 41, 43, 45], "integr": [0, 1, 20, 21, 26], "directli": [0, 1, 3, 9, 14, 15, 18, 26, 27, 34, 36, 38, 41, 43], "decod": [0, 10, 13, 26, 27], "pseudo": [0, 30, 36, 37], "whose": [0, 2, 9, 10, 13, 18, 19, 20, 33, 34, 38, 41, 43], "semant": [0, 2, 3, 5, 9, 13, 16, 18, 19, 21, 22, 24, 25, 26, 41], "intend": [0, 3, 13, 18, 26, 30, 31], "self": [0, 26], "explanatori": 0, "represent": [0, 1, 6, 9, 10, 15, 16, 17, 21, 26, 27, 28, 32, 33, 40, 41], "enumer": [0, 41, 43], "num_typ": 0, "vec_typ": 0, "heap_typ": 0, "def_typ": 0, "ref_typ": 0, "heap": [0, 1, 7, 8, 11, 21, 23, 29, 35, 41, 42, 43], "val_typ": 0, "is_num": 0, "t": [0, 1, 3, 6, 7, 12, 13, 14, 15, 19, 20, 21, 22, 28, 30, 32, 34, 36, 38, 39, 40, 41, 44], "is_vec": 0, "is_ref": 0, "similarli": [0, 13, 15, 16, 18, 19, 21, 28, 30, 33, 39, 41], "defin": [0, 1, 2, 3, 7, 9, 10, 13, 15, 16, 18, 19, 20, 21, 22, 23, 26, 27, 28, 31, 32, 33, 34, 36, 37, 38, 39, 40, 42, 43, 45], "repres": [0, 2, 9, 12, 13, 16, 20, 21, 27, 30, 32, 33, 36, 37, 40, 41], "pack_typ": 0, "field_typ": 0, "struct_typ": 0, "array_typ": 0, "func_typ": 0, "comp_typ": 0, "sub_typ": 0, "super": [0, 14, 39, 43, 44], "rec_typ": 0, "proj": 0, "int32": 0, "unpack_field": 0, "expand_def": 0, "These": [0, 4, 9, 19, 21, 26, 27, 30, 31, 32, 34, 41], "assum": [0, 3, 4, 9, 16, 19, 20, 21, 28, 34, 37, 41, 43], "have": [0, 1, 4, 9, 10, 12, 13, 18, 20, 21, 26, 28, 30, 31, 32, 33, 34, 36, 39, 41, 43, 46], "been": [0, 1, 16, 19, 21, 26, 31, 41, 43], "close": [0, 9, 10, 18, 19, 22, 30, 34, 41, 44, 45], "substitut": [0, 9, 19, 22, 38, 41], "indic": [0, 2, 3, 4, 9, 11, 12, 14, 18, 21, 22, 27, 28, 29, 30, 32, 34, 35, 36, 37, 40, 41, 43, 45], "concret": [0, 4, 28, 32, 34, 41, 46], "respect": [0, 1, 3, 9, 10, 12, 13, 14, 16, 18, 19, 20, 21, 23, 26, 27, 28, 30, 31, 32, 33, 34, 36, 37, 38, 40, 41, 43], "includ": [0, 4, 9, 12, 14, 16, 19, 20, 21, 27, 30, 31, 32, 33, 36, 38, 41], "recurs": [0, 1, 4, 7, 8, 11, 13, 19, 27, 28, 29, 31, 34, 35, 36, 38, 41, 42, 43, 45], "refer": [0, 3, 7, 8, 9, 11, 16, 17, 19, 21, 27, 29, 31, 35, 38, 41, 42, 45], "enclos": [0, 30, 34, 37, 40], "graph": 0, "mai": [0, 1, 2, 3, 4, 9, 10, 13, 16, 18, 19, 20, 21, 26, 27, 28, 30, 31, 32, 33, 34, 36, 37, 38, 39, 40, 41, 43, 44, 45, 46], "cyclic": [0, 9, 46], "we": [0, 18, 21], "canonic": [0, 19], "equal": [0, 3, 9, 10, 18, 19, 20, 26, 28, 38, 41, 43, 44], "hold": [0, 9, 18, 20, 21, 32, 41], "closur": [0, 9, 19, 21, 22], "syntact": [0, 3, 5, 9, 16, 21, 28, 34, 36, 37, 38, 40, 41, 44], "equival": [0, 13, 16, 22, 31, 41], "make": [0, 2, 9, 21, 26, 38, 43], "time": [0, 1, 3, 4, 9, 10, 18, 19, 21, 26, 28, 30, 31, 34], "check": [0, 1, 9, 13, 18, 19, 22, 23, 27, 30, 32, 36, 41, 43, 44, 45, 46], "For": [0, 3, 4, 9, 10, 12, 13, 15, 16, 18, 19, 20, 21, 23, 27, 28, 30, 31, 32, 34, 36, 37, 41, 43, 44, 45, 46], "purpos": [0, 2, 21, 23, 32, 39], "from": [0, 3, 4, 9, 10, 13, 16, 19, 20, 21, 22, 26, 27, 28, 30, 31, 32, 33, 34, 36, 37, 38, 39, 41, 43, 44, 45], "an": [0, 1, 2, 3, 4, 9, 10, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 26, 27, 28, 30, 31, 32, 33, 34, 36, 37, 38, 40, 41, 43, 44, 45], "forward": [0, 9, 13, 19, 30, 31], "edg": 0, "cycl": [0, 9], "need": [0, 2, 3, 9, 13, 18, 27, 32, 34, 43, 45], "distinguish": [0, 10, 13, 21, 30, 31, 33, 34, 36, 41, 43], "previous": [0, 1, 9, 38, 43, 45, 46], "howev": [0, 2, 4, 6, 9, 10, 13, 15, 18, 19, 21, 26, 27, 30, 31, 33, 34, 36, 38, 41, 45, 46], "distinct": [0, 14, 27, 33, 34], "doe": [0, 3, 9, 13, 18, 19, 20, 26, 30, 37, 40, 41, 43, 45], "affect": [0, 2, 18, 19, 30, 37, 41], "so": [0, 10, 12, 13, 14, 16, 18, 26, 30, 34, 36, 38, 41, 43], "ignor": [0, 2, 13, 37, 44], "here": [0, 3, 10, 13, 18, 19, 21, 33, 37, 41, 43], "infinit": 0, "further": [0, 1, 13, 15, 16, 27, 30, 31, 32, 43, 44], "few": [0, 10, 16, 22, 34], "auxiliari": [0, 3, 11, 15, 18, 19, 20, 21, 23, 29, 31, 32, 33, 36, 38, 41, 43], "function": [0, 1, 4, 5, 7, 10, 11, 15, 16, 17, 20, 26, 27, 29, 30, 34, 35, 36, 41, 42, 43], "composit": [0, 7, 8, 9, 11, 18, 19, 28, 29, 35, 38, 42], "validate_val_typ": 0, "validate_ref_typ": 0, "matches_v": 0, "t1": 0, "t2": 0, "matches_ref": 0, "is_func": 0, "is_struct": 0, "is_arrai": 0, "follow": [0, 1, 2, 3, 4, 6, 9, 10, 12, 13, 14, 15, 16, 18, 19, 20, 21, 23, 26, 27, 28, 30, 31, 32, 34, 36, 37, 38, 40, 41, 46], "comput": [0, 1, 4, 9, 16, 18, 19, 20, 21, 26, 27, 30, 32, 34, 41, 43], "least": [0, 9, 16, 18, 23, 43], "precis": [0, 1, 3, 9, 16, 18, 21, 26, 32, 43], "supertyp": [0, 3, 9, 32, 41, 43, 44, 46], "given": [0, 2, 4, 6, 9, 10, 16, 18, 19, 20, 21, 26, 27, 28, 30, 31, 32, 34, 36, 38, 40, 41, 43, 46], "its": [0, 3, 4, 9, 12, 13, 16, 18, 19, 20, 21, 23, 26, 27, 28, 30, 31, 33, 36, 38, 40, 41, 43, 45], "correspond": [0, 3, 9, 12, 13, 14, 18, 19, 20, 21, 22, 28, 31, 32, 33, 34, 36, 37, 40, 41, 43, 44], "top": [0, 9, 10, 18, 19, 43], "top_heap_typ": 0, "switch": 0, "case": [0, 3, 4, 9, 10, 13, 14, 16, 18, 20, 21, 26, 28, 30, 34, 36, 38, 40, 41, 43, 45], "dt": [0, 9, 18, 32, 41, 43, 45, 46], "rais": 0, "cannotoccurinsourc": 0, "requir": [0, 3, 4, 9, 10, 13, 16, 18, 19, 20, 21, 27, 28, 30, 31, 32, 40, 41, 43, 45], "us": [0, 1, 2, 3, 4, 9, 10, 12, 13, 15, 16, 18, 20, 21, 26, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 40, 41, 44], "present": [0, 12, 13, 14, 19, 21, 31, 43, 44], "maintain": [0, 21, 27, 38], "return_typ": 0, "locals_init": 0, "global_typ": 0, "table_typ": 0, "mem_typ": 0, "suitabl": [0, 3, 9, 18, 19, 26, 27, 30, 38, 41, 45], "variou": [0, 16, 32, 41], "besid": [0, 20, 21], "which": [0, 2, 3, 4, 9, 10, 12, 13, 15, 16, 18, 19, 20, 21, 23, 26, 27, 30, 31, 32, 33, 34, 36, 37, 38, 40, 41, 43, 44, 45, 46], "omit": [0, 12, 13, 16, 34, 36, 38, 39, 41], "addit": [0, 1, 3, 4, 9, 10, 13, 14, 15, 21, 26, 27, 30, 31, 32, 34, 36, 38, 41], "record": [0, 9, 13, 16, 21, 28, 34, 41], "initi": [0, 1, 3, 13, 16, 19, 27, 30, 31, 38, 41, 43, 44, 45], "statu": [0, 1, 20, 41, 43], "each": [0, 2, 3, 9, 10, 12, 13, 16, 18, 19, 20, 21, 22, 26, 27, 28, 30, 31, 32, 34, 38, 40, 41, 43, 45, 46], "three": [0, 16, 18, 21, 27, 30, 32], "separ": [0, 9, 10, 12, 13, 16, 20, 21, 26, 27, 28, 30, 32, 34, 37, 40], "track": [0, 1, 41], "operand": [0, 9, 12, 16, 18, 20, 21, 27, 30, 36, 41, 43], "surround": [0, 21, 38, 41, 43], "associ": [0, 2, 9, 18, 19, 21, 30, 32, 34], "sinc": [0, 1, 9, 13, 18, 30, 33, 36, 41, 44], "begin": [0, 2, 3, 4, 9, 10, 12, 13, 14, 15, 16, 18, 19, 20, 21, 26, 28, 30, 31, 32, 33, 34, 36, 37, 38, 39, 40, 41, 43, 44, 45, 46], "val_stack": 0, "init_stack": 0, "ctrl_stack": 0, "ctrl_frame": 0, "start_typ": 0, "end_typ": 0, "val_height": 0, "nat": [0, 30], "init_height": 0, "enter": [0, 16, 30], "origin": [0, 1, 9, 16, 18, 20, 21, 41], "branch": [0, 18, 21, 27, 30, 36], "height": [0, 21, 27, 30], "do": [0, 2, 3, 9, 13, 16, 18, 19, 30, 38, 40, 41, 43], "underflow": 0, "current": [0, 2, 9, 10, 13, 16, 18, 21, 27, 30, 31, 38, 41, 43, 45], "reset": 0, "flag": [0, 12, 14, 20], "whether": [0, 9, 13, 14, 21, 30, 31, 33], "remaind": [0, 20, 43, 45], "handl": [0, 9, 18, 20, 21, 27, 36, 45], "polymorph": [0, 9, 43], "after": [0, 2, 9, 13, 16, 18, 30, 31, 36, 41], "simpli": [0, 2, 21, 30], "ctrl": 0, "manipul": [0, 1, 3, 9, 21, 27, 28, 30, 41, 43], "main": [0, 1, 3, 26, 27, 33], "through": [0, 3, 9, 13, 18, 21, 27, 30, 31, 32], "push_val": 0, "push": [0, 16, 18, 19, 21, 27, 30, 41, 43], "pop_val": 0, "error_if": 0, "pop": [0, 16, 18, 19, 27, 30, 41, 43], "expect": [0, 3, 4, 9, 13, 18, 19, 30, 43], "let": [0, 3, 9, 18, 19, 20, 23, 43, 44, 45, 46], "actual": [0, 2, 6, 10, 12, 13, 18, 19, 27, 30, 32, 34, 45], "pop_num": 0, "pop_ref": 0, "foreach": 0, "revers": 0, "prepend": [0, 9, 41, 43, 45], "remov": [0, 9, 16, 18, 21], "one": [0, 1, 2, 9, 10, 12, 13, 16, 18, 19, 20, 27, 28, 30, 31, 34, 36, 38, 41, 43, 44, 46], "But": [0, 43], "first": [0, 4, 6, 19, 20, 28, 30, 31, 32, 38, 41, 43, 45, 46], "special": [0, 9, 12, 18, 33, 36], "contain": [0, 9, 10, 12, 13, 15, 16, 18, 19, 21, 26, 27, 30, 31, 34, 36, 37, 38, 40, 41, 43, 45, 46], "known": [0, 1, 21, 27, 30, 32, 33], "ha": [0, 1, 2, 3, 6, 9, 10, 13, 16, 18, 19, 20, 21, 22, 26, 27, 28, 31, 32, 33, 34, 41, 43, 45], "mark": [0, 21, 40], "That": [0, 9, 10, 20, 21, 23, 30, 32, 37, 38, 40, 41, 43, 44], "uncondit": [0, 30, 43], "when": [0, 1, 2, 3, 9, 10, 13, 16, 18, 19, 20, 21, 28, 31, 32, 34, 38, 40, 41, 43, 44, 45, 46], "becaus": [0, 9, 18, 19, 20, 21, 26, 43], "princip": [0, 5, 41], "choic": [0, 9, 18, 21, 38, 43], "trivial": 0, "satisfi": [0, 3, 9, 18], "A": [0, 2, 3, 4, 9, 10, 16, 18, 19, 20, 21, 23, 26, 27, 28, 30, 31, 32, 33, 34, 37, 38, 40, 41, 43, 44, 45], "second": [0, 30, 38], "take": [0, 1, 2, 4, 9, 19, 20, 21, 26, 27, 30, 34], "against": [0, 18, 23, 30], "differ": [0, 3, 9, 10, 12, 18, 19, 20, 21, 26, 27, 28, 30, 31, 32, 33, 41, 43, 45], "therebi": [0, 16, 27, 38], "uncondition": [0, 41], "accumul": [0, 21, 43], "multipl": [0, 6, 9, 10, 18, 19, 20, 21, 22, 28, 30, 31, 32, 33, 34, 38, 39, 43], "meant": 0, "g": [0, 2, 9, 10, 19, 26, 33, 34], "access": [0, 1, 3, 9, 18, 26, 27, 28, 30, 31, 32, 36, 41, 45], "element": [0, 1, 3, 4, 7, 10, 11, 14, 17, 18, 20, 28, 29, 30, 32, 35, 40, 41, 42, 43, 44], "last": [0, 4, 43, 45], "get_loc": 0, "set_loc": 0, "reset_loc": 0, "while": [0, 9, 13, 19, 30, 31, 32, 33, 37], "wa": [0, 9, 30], "alreadi": [0, 4, 9, 18, 19, 36, 40, 44], "updat": [0, 3, 19, 28, 36, 43], "chang": [0, 5, 9, 13, 24, 41], "thu": [0, 10, 14, 20, 27, 31, 34, 41], "previou": [0, 9, 30, 43, 45], "state": [0, 3, 9, 16, 18, 21, 27, 31, 36, 41], "denot": [0, 9, 10, 13, 14, 18, 20, 21, 28, 30, 31, 32, 33, 34, 40, 41, 46], "bound": [0, 9, 10, 13, 15, 27, 28, 30, 33, 34, 36, 38, 43, 46], "number": [0, 1, 4, 7, 8, 9, 10, 11, 13, 15, 18, 19, 20, 21, 23, 27, 29, 30, 33, 34, 35, 38, 40, 42, 43, 45], "non": [0, 3, 9, 10, 15, 18, 20, 21, 28, 30, 32, 34, 44, 45], "prealloc": 0, "likewis": [0, 2, 21], "push_ctrl": 0, "out": [0, 4, 13, 20, 21, 30, 31, 32, 34, 41], "pop_ctrl": 0, "is_empti": 0, "label_typ": 0, "resiz": [0, 32], "them": [0, 3, 9, 16, 20, 21, 27, 30, 31, 32, 33, 36, 38, 41], "along": 0, "reachabl": [0, 9], "empti": [0, 3, 9, 10, 12, 13, 16, 18, 19, 20, 21, 23, 28, 31, 34, 36, 38, 41, 44, 45, 46], "right": [0, 9, 16, 18, 20, 37], "exit": [0, 16], "off": [0, 16, 18, 41, 43], "afterward": [0, 16], "shrunk": 0, "back": [0, 18, 27, 30, 41, 43], "undo": 0, "happend": 0, "insid": [0, 9, 21, 22, 26, 31, 37, 41], "either": [0, 9, 10, 12, 14, 15, 16, 18, 19, 20, 21, 26, 27, 28, 30, 31, 32, 33, 34, 37, 38, 40, 41, 43, 44, 46], "determin": [0, 9, 16, 19, 20, 30, 32, 33, 36, 45], "exist": [0, 3, 9, 18, 19, 20, 21, 23, 26, 36, 38, 41, 43, 44, 46], "purg": 0, "order": [0, 2, 3, 9, 10, 12, 13, 15, 16, 18, 19, 20, 21, 27, 30, 31, 32, 33, 34, 38, 41, 45], "allow": [0, 1, 4, 9, 10, 12, 14, 15, 18, 20, 21, 26, 27, 30, 31, 32, 34, 36, 37, 38, 40, 41, 43, 44, 46], "logic": [0, 21], "everi": [0, 3, 4, 9, 13, 16, 18, 31, 33, 41, 43, 44, 46], "implicit": [0, 3, 16, 21, 27, 30], "outermost": [0, 30], "invari": [0, 9, 16, 21, 22, 41, 44], "alwai": [0, 9, 13, 20, 21, 27, 30, 37, 40, 41, 46], "henc": [0, 3, 13, 20, 21, 26, 34, 40, 41, 43], "even": [0, 3, 9, 20, 21, 31], "consecut": [0, 4, 18, 21, 38], "still": [0, 4, 9, 15, 16, 18, 31], "necessari": [0, 9, 19, 30, 43], "detect": 0, "invalid": [0, 4, 13, 43], "exampl": [0, 3, 9, 10, 15, 16, 18, 20, 21, 27, 30, 31, 32, 34, 36, 37, 41, 43], "like": [0, 2, 3, 4, 13, 19, 20, 21, 26, 27, 30, 31, 32, 33, 34, 41, 43], "cannot": [0, 12, 13, 14, 18, 19, 26, 27, 30, 31, 37, 39, 41], "instead": [0, 1, 9, 10, 13, 16, 18, 26, 27, 30, 34, 37, 45], "gener": [0, 1, 9, 10, 12, 13, 16, 18, 20, 22, 28, 32, 34, 41], "show": 0, "similar": [0, 20], "manner": [0, 4, 9, 20, 26, 41, 44], "is_nul": 0, "as_non_nul": 0, "rt": [0, 13, 14, 41, 45], "br_if": 0, "br_tabl": 0, "ariti": [0, 18, 21, 44], "br_on_nul": 0, "br_on_cast": 0, "rt1": 0, "rt2": 0, "diff_ref_typ": 0, "call_ref": 0, "return_call_ref": 0, "ti": [0, 3, 18, 19, 20], "st": [0, 9, 13, 14, 18, 38, 39, 44], "under": [0, 3, 9, 18, 21, 23, 27, 41, 43, 44, 45], "never": [0, 9, 19, 21], "duplic": [0, 30, 34, 38], "would": [0, 9, 13, 18, 21, 43], "were": 0, "dup": 0, "extens": [0, 5, 10, 12, 13, 18, 20, 30, 34, 41, 43], "abov": [0, 4, 9, 18, 33, 37, 44], "refin": [0, 1, 3], "proper": [0, 32], "ensur": [0, 9, 19, 21, 23, 27, 38, 41, 46], "consist": [0, 2, 9, 12, 13, 16, 18, 19, 20, 21, 27, 30, 31, 32, 36, 37, 38, 41, 45], "mathdef40": 1, "valid": [1, 2, 3, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 45], "data": [1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 14, 15, 16, 17, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 44, 46], "mathdef41": 1, "mathdef42": 1, "mathdef43": 1, "mathdef44": 1, "mathdef45": 1, "mathdef46": 1, "mathdef47": 1, "mathdef48": 1, "mathdef49": 1, "mathdef50": 1, "mathdef51": 1, "mathdef52": 1, "mathdef53": 1, "mathdef54": 1, "mathdef55": 1, "mathdef56": 1, "mathdef57": 1, "mathdef58": 1, "mathdef59": 1, "mathdef60": 1, "mathdef61": 1, "mathdef62": 1, "mathdef63": 1, "mathdef64": 1, "mathdef65": 1, "mathdef66": 1, "mathdef67": 1, "mathdef68": 1, "mathdef69": 1, "mathdef70": 1, "mathdef71": 1, "mathdef72": 1, "mathdef73": 1, "mathdef74": 1, "mathdef75": 1, "mathdef76": 1, "mathdef77": 1, "mathdef78": 1, "context": [1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 46], "propos": 1, "provid": [1, 2, 3, 10, 19, 20, 21, 26, 27, 28, 30, 31, 34, 40, 41, 43, 44], "overview": [1, 24, 25], "what": [1, 6, 41], "ad": [1, 6, 9, 12, 13, 19, 20, 30, 44], "within": [1, 9, 15, 20, 21, 27, 30, 31, 32, 34, 40, 45, 46], "integ": [1, 10, 11, 12, 13, 14, 17, 18, 21, 27, 29, 30, 32, 34, 35], "nn": [1, 30, 43], "avoid": [1, 12, 16, 21, 34], "point": [1, 3, 9, 11, 17, 18, 21, 26, 28, 29, 30, 32, 35], "_f": 1, "mm": 1, "introduc": [1, 9, 10, 18, 30, 41], "abil": 1, "paramet": [1, 3, 4, 14, 18, 23, 27, 31, 32, 34, 38, 39, 41, 45], "more": [1, 9, 16, 18, 27, 30, 33, 34, 40, 41, 43, 45, 46], "than": [1, 3, 9, 13, 18, 19, 20, 21, 26, 27, 30, 33, 40, 43, 44, 45, 46], "arbitrari": [1, 20, 33, 34, 40, 44], "4": [1, 2, 8, 12, 13, 15, 18, 20, 27, 30, 33, 36, 37], "option": [1, 10, 13, 21, 27, 28, 30, 32, 34, 36, 38, 39, 40, 41], "immedi": [1, 12, 27, 30, 36, 41], "segment": [1, 4, 7, 13, 21, 27, 29, 30, 35, 41, 42, 43], "modifi": [1, 3, 9, 16, 18], "per": [1, 2, 3, 16, 18, 34, 43], "rang": [1, 3, 4, 9, 12, 13, 20, 21, 26, 28, 30, 31, 32, 33, 40, 46], "entri": [1, 3, 13, 21, 23, 30, 32, 34, 36, 41], "5": [1, 8, 12, 13, 18, 20, 33, 34, 40], "count": [1, 11, 20, 21], "boundari": [1, 41], "longer": [1, 9, 21, 30, 46], "compil": [1, 2, 4, 13, 19, 26, 27, 31], "parallel": [1, 13, 26, 41], "also": [1, 3, 9, 10, 12, 14, 16, 18, 19, 20, 21, 26, 27, 28, 30, 31, 32, 33, 34, 36, 38, 40, 41, 43, 44], "simd": [1, 30, 32, 33], "6": [1, 12, 13, 15], "_zero": [1, 6, 12, 30, 36], "_splat": [1, 6, 12, 30, 36], "unari": [1, 14, 20, 30], "_i": [1, 3, 9, 13, 18, 19, 36, 38, 39, 43, 44, 45, 46], "_i16x8": [1, 6, 12, 30, 36], "_i8x16": [1, 6, 12, 30, 36], "ternari": [1, 30], "relat": [1, 9, 20, 23, 30], "_f32x4": [1, 6, 12, 30, 36], "_f64x2": [1, 6, 12, 30, 36], "_i32x4": [1, 6, 12, 30, 36], "_low": [1, 6, 12, 30, 36], "split": [1, 9, 13, 26, 28, 38], "combin": [1, 20, 38, 39, 43], "reorder": 1, "inject": [1, 32], "project": [1, 41], "tree": 1, "nontrap": 1, "multi": [1, 6], "oper": [1, 3, 4, 6, 16, 17, 18, 21, 26, 27, 30, 32, 33, 41], "basic": [1, 10, 21, 27, 30], "immut": [1, 9, 21, 27, 31, 32, 33], "9": [1, 8, 12, 13, 15, 18, 40], "10": [1, 2, 6, 12, 13, 15, 40], "generalis": [1, 9], "class": [1, 3, 9, 31, 32, 33, 36, 37], "sequenc": [1, 2, 3, 4, 5, 7, 9, 10, 12, 13, 15, 16, 18, 19, 20, 21, 27, 28, 30, 31, 32, 33, 34, 36, 37, 38, 40, 41, 42, 44, 45, 46], "definit": [1, 2, 3, 7, 9, 13, 16, 18, 19, 20, 21, 26, 27, 28, 31, 32, 33, 37, 38, 41, 43, 44, 45], "manag": [1, 32], "11": [1, 6, 12, 13, 18, 33, 44], "short": [1, 14, 28, 31], "hand": [1, 3, 21], "structur": [1, 2, 3, 5, 7, 12, 13, 14, 17, 18, 19, 24, 27, 28, 30, 31, 32, 36, 39, 41, 43, 44], "enrich": [1, 9], "base": [1, 20, 27, 30, 31, 33, 36], "explicitli": [1, 3, 9, 16, 18, 37, 41], "unbox": [1, 21, 30, 32], "scalar": [1, 18, 21, 30, 32, 33, 34, 37, 40, 42], "blob": 1, "gc": 1, "mathdef79": 2, "mathdef80": 2, "mathdef81": 2, "mathdef82": 2, "mathdef83": 2, "mathdef84": 2, "mathdef85": 2, "mathdef86": 2, "mathdef87": 2, "mathdef88": 2, "mathdef89": 2, "mathdef90": 2, "mathdef91": 2, "mathdef92": 2, "mathdef93": 2, "mathdef94": 2, "mathdef95": 2, "mathdef96": 2, "mathdef97": 2, "mathdef98": 2, "mathdef99": 2, "mathdef100": 2, "mathdef101": 2, "mathdef102": 2, "mathdef103": 2, "mathdef104": 2, "mathdef105": 2, "mathdef106": 2, "mathdef107": 2, "mathdef108": 2, "mathdef109": 2, "mathdef110": 2, "mathdef111": 2, "mathdef112": 2, "mathdef113": 2, "mathdef114": 2, "mathdef115": 2, "mathdef116": 2, "mathdef117": 2, "dedic": 2, "Such": [2, 16, 26, 27, 36, 38, 41, 43], "contribut": 2, "thei": [2, 4, 9, 10, 12, 13, 14, 18, 20, 21, 26, 27, 30, 31, 32, 33, 34, 36, 37, 38, 39, 40, 41, 43, 45], "meta": [2, 10, 13, 20, 21, 28, 31, 32, 33, 34], "improv": 2, "user": 2, "experi": 2, "hint": [2, 18, 30], "itself": [2, 9, 16, 19, 21, 27, 30, 31, 40, 41, 45], "mathdef118": 2, "should": [2, 18], "appear": [2, 10, 28, 34, 36, 38, 45], "onc": [2, 13, 19, 27, 31], "attach": 2, "printabl": [2, 40], "debugg": 2, "part": [2, 3, 16, 18, 21, 26, 27, 28, 30, 41, 43], "render": [2, 16, 18, 34, 41], "encod": [2, 6, 10, 12, 13, 14, 15, 21, 26, 27, 33, 34, 40, 41], "utf": [2, 15, 26, 33, 34, 40], "uniqu": [2, 9, 21, 31, 34, 41], "content": [2, 13, 18, 19, 21, 28, 31, 41, 45], "depend": [2, 4, 9, 13, 18, 19, 20, 25, 30, 31, 33, 34, 40, 41, 45], "llcll": [2, 10, 15, 34, 38, 39], "_0": [2, 13, 18, 19, 21], "mathdef119": 2, "_n": [2, 13, 15, 18, 21, 36, 40, 41], "2": [2, 5, 8, 9, 12, 13, 15, 16, 18, 19, 20, 21, 26, 27, 28, 30, 33, 34, 36, 37, 40, 41, 43, 46], "most": [2, 9, 13, 16, 18, 20, 21, 28, 30, 31, 33, 34, 38, 43, 44, 45, 46], "increas": [2, 13, 30], "assign": [2, 21, 32, 34, 37], "pair": [2, 3, 9, 10, 13, 18, 20, 27, 31, 38], "llclll": [2, 10, 12, 13, 14, 15, 34, 36, 37, 38, 39, 40], "indirect": [2, 9, 21, 30], "dimension": 2, "secondari": [2, 19], "group": [2, 18, 26, 30, 32, 36, 41, 46], "primari": 2, "turn": [2, 4, 13, 43], "individu": [2, 4, 18, 19, 21, 30, 31, 32, 38, 41, 43], "_1": [2, 7, 9, 12, 13, 14, 30, 36, 38, 41, 44, 46], "_2": [2, 7, 9, 12, 13, 14, 30, 36, 38, 41, 44], "mathdef120": 3, "mathdef121": 3, "mathdef122": 3, "mathdef123": 3, "mathdef124": 3, "mathdef125": 3, "mathdef126": 3, "mathdef127": 3, "mathdef128": 3, "mathdef129": 3, "mathdef130": 3, "mathdef131": 3, "mathdef132": 3, "mathdef133": 3, "mathdef134": 3, "mathdef135": 3, "mathdef136": 3, "mathdef137": 3, "mathdef138": 3, "mathdef139": 3, "mathdef140": 3, "mathdef141": 3, "mathdef142": 3, "mathdef143": 3, "mathdef144": 3, "mathdef145": 3, "mathdef146": 3, "mathdef147": 3, "mathdef148": 3, "mathdef149": 3, "mathdef150": 3, "mathdef151": 3, "mathdef152": 3, "mathdef153": 3, "mathdef154": 3, "mathdef155": 3, "mathdef156": 3, "mathdef157": 3, "mathdef158": 3, "typic": [3, 4, 16, 26, 27, 30], "environ": [3, 4, 26, 27, 31], "embedd": [3, 4, 9, 18, 19, 21, 26, 27, 31, 32], "connect": 3, "between": [3, 20, 27, 30, 33, 34, 41, 43], "interact": [3, 21, 26], "wai": [3, 9, 19, 21, 26, 27, 32], "interfac": [3, 26], "sens": 3, "On": [3, 44], "support": [3, 4, 10, 20, 21, 26, 27, 31, 37, 40], "pars": [3, 10, 34, 36], "descript": [3, 7, 13, 16, 31, 34, 38, 41, 45], "abstract": [3, 9, 10, 14, 16, 20, 21, 27, 28, 32, 33, 34, 38, 39, 40, 41], "machin": [3, 9, 16, 21, 26, 27, 30], "possibl": [3, 6, 9, 10, 14, 18, 19, 20, 21, 26, 31, 33, 37, 38, 43], "object": [3, 19, 21, 26, 32], "interpret": [3, 4, 13, 16, 21, 27, 28, 30, 32, 33, 40, 41], "specifi": [3, 4, 9, 16, 20, 21, 23, 27, 30, 31, 32, 34, 38, 41], "symbol": [3, 4, 10, 28, 34, 36, 37, 38, 40], "predic": [3, 20], "llll": [3, 9, 18, 21, 34, 37, 41], "failur": [3, 18, 19, 30], "reach": [3, 9, 18, 21], "unspecif": 3, "carri": [3, 21], "classif": 3, "diagnost": 3, "messag": 3, "some": [3, 4, 9, 10, 14, 15, 16, 18, 20, 23, 27, 28, 30, 32, 33, 34, 40, 41, 43, 44, 45, 46], "about": [3, 9, 16, 21, 26, 41], "argument": [3, 9, 12, 18, 19, 20, 21, 23, 27, 30, 36, 39, 41, 43], "respons": [3, 26], "meet": [3, 43], "If": [3, 4, 9, 10, 13, 18, 19, 20, 28, 30, 32, 34, 36, 38, 41, 43, 45, 46], "guarante": [3, 16, 18, 26, 27, 30], "adopt": [3, 10, 16, 28, 34, 41], "address": [3, 9, 17, 18, 19, 23, 27, 30], "As": [3, 15, 16, 20, 26, 30, 36, 38], "long": [3, 9, 16, 20, 43], "treat": [3, 12, 28, 30], "creat": [3, 21, 27, 30], "automat": [3, 9, 27, 31, 38], "lclll": 3, "epsilon": [3, 8, 9, 10, 12, 13, 14, 16, 18, 19, 20, 21, 28, 30, 32, 34, 36, 38, 39, 40, 41, 44, 45, 46], "deriv": [3, 9, 10, 16, 41], "accord": [3, 18, 30, 37, 41], "grammar": [3, 11, 13, 29, 30, 33, 35, 36, 37, 38, 40], "yield": [3, 18, 30, 43, 45], "stackrel": 3, "longrightarrow": [3, 9], "c": [3, 7, 9, 15, 30, 33, 36, 37, 40, 41, 44, 45, 46], "noth": [3, 18, 30], "try": 3, "succe": [3, 18, 30], "ev": 3, "assert": [3, 9, 16, 18, 19], "length": [3, 4, 6, 9, 10, 12, 13, 15, 18, 19, 20, 21, 28, 30, 33, 34, 38, 43, 45, 46], "tripl": 3, "concaten": [3, 9, 13, 18, 19, 28, 43, 45], "im": [3, 13, 19, 38], "qquad": [3, 9, 10, 12, 13, 14, 15, 18, 19, 20, 21, 23, 28, 30, 32, 33, 34, 36, 37, 38, 39, 40, 41, 43, 44, 45, 46], "wedg": [3, 9, 15, 18, 19, 20, 38, 40], "ex": [3, 13, 19, 38], "due": [3, 9, 18, 19, 30, 33], "ta": [3, 18, 38], "regular": [3, 9, 21, 36, 38, 41], "indirectli": [3, 27, 30], "tt": [3, 9, 13, 32, 38, 45], "r": [3, 9, 18, 19, 20, 21, 28, 40, 41], "larger": [3, 18, 19, 20, 30, 43, 44, 45, 46], "mt": [3, 9, 13, 32, 38, 43, 45], "mi": [3, 9, 18], "divid": [3, 18, 19, 20, 21, 27, 30, 37, 43], "page": [3, 9, 19, 21, 30, 31, 32, 38], "cdot": [3, 9, 15, 16, 18, 19, 20, 30, 33, 40, 41, 43], "ki": [3, 9, 18, 19, 21, 38], "gi": 3, "futur": [3, 4, 9, 12, 13, 14, 18, 20, 21, 26, 30, 43, 45, 46], "inform": [3, 13, 26, 41], "run": [3, 9, 21, 26], "less": [3, 18, 20], "_t": [3, 18, 20, 21], "_reftyp": 3, "t_1": [3, 6, 9, 19, 34, 36, 38, 39, 41, 44, 45], "t_2": [3, 6, 9, 19, 36, 38, 39, 41, 44, 45], "et": [3, 13, 14, 19, 23, 38, 39, 45], "type": [4, 5, 6, 10, 11, 12, 15, 16, 17, 19, 20, 21, 24, 25, 26, 27, 28, 29, 30, 33, 34, 35, 36, 37, 40, 42], "mathdef159": 4, "mathdef160": 4, "mathdef161": 4, "mathdef162": 4, "mathdef163": 4, "mathdef164": 4, "mathdef165": 4, "mathdef166": 4, "mathdef167": 4, "mathdef168": 4, "mathdef169": 4, "mathdef170": 4, "mathdef171": 4, "mathdef172": 4, "mathdef173": 4, "mathdef174": 4, "mathdef175": 4, "mathdef176": 4, "mathdef177": 4, "mathdef178": 4, "mathdef179": 4, "mathdef180": 4, "mathdef181": 4, "mathdef182": 4, "mathdef183": 4, "mathdef184": 4, "mathdef185": 4, "mathdef186": 4, "mathdef187": 4, "mathdef188": 4, "mathdef189": 4, "mathdef190": 4, "mathdef191": 4, "mathdef192": 4, "mathdef193": 4, "mathdef194": 4, "mathdef195": 4, "mathdef196": 4, "mathdef197": 4, "impos": [4, 38, 43], "restrict": [4, 10, 15, 21, 30, 31, 34, 37, 38, 45, 46], "stem": 4, "physic": 4, "resourc": [4, 18, 26, 30], "strategi": 4, "minimum": [4, 32], "nor": [4, 20, 26, 32], "fix": [4, 9, 28, 30, 33], "reason": [4, 26], "larg": [4, 21, 28], "enabl": [4, 13, 21, 26], "common": [4, 9, 21, 26, 28, 32, 44], "applic": [4, 10, 16, 18, 20, 26, 34, 44, 45], "conform": 4, "leav": [4, 21], "featur": [4, 9, 26], "design": [4, 9, 16, 25, 41], "subset": [4, 34, 37], "dimens": [4, 30], "depth": [4, 30], "nest": [4, 12, 18, 21, 27, 28, 30, 36, 37], "charact": [4, 15, 26, 33, 34, 35, 40], "exceed": [4, 18], "reject": 4, "item": [4, 38], "without": [4, 9, 12, 13, 14, 18, 32, 41, 43, 45], "fold": [4, 35], "identifi": [4, 13, 20, 21, 31, 34, 35, 36, 38, 39], "liter": [4, 12, 33, 34, 37, 38, 40], "defer": [4, 13], "until": [4, 13, 18], "same": [4, 9, 10, 13, 14, 20, 21, 28, 30, 31, 33, 34, 36, 38, 41, 43, 44, 45], "just": [4, 18, 19, 20, 26, 38, 45], "fulli": [4, 9, 26, 43], "befor": [4, 9, 13, 19, 26, 30, 31, 34, 38], "dure": [4, 9, 18, 21, 22, 31, 32, 41, 44, 46], "instanc": [4, 5, 7, 16, 17, 18, 19, 22, 23, 27], "stack": [4, 9, 16, 17, 18, 19, 27, 30, 31, 41, 43, 44], "termin": [4, 9, 10, 12, 15, 16, 18, 21, 28, 30, 31, 34, 37], "report": [4, 19, 27], "usual": [4, 10, 20, 27, 30, 34], "interdepend": [4, 21], "vari": [4, 12, 33], "situat": 4, "event": 4, "mathdef198": 5, "mathdef199": 5, "mathdef200": 5, "mathdef201": 5, "mathdef202": 5, "mathdef203": 5, "mathdef204": 5, "mathdef205": 5, "mathdef206": 5, "mathdef207": 5, "mathdef208": 5, "mathdef209": 5, "mathdef210": 5, "mathdef211": 5, "mathdef212": 5, "mathdef213": 5, "mathdef214": 5, "mathdef215": 5, "mathdef216": 5, "mathdef217": 5, "mathdef218": 5, "mathdef219": 5, "mathdef220": 5, "mathdef221": 5, "mathdef222": 5, "mathdef223": 5, "mathdef224": 5, "mathdef225": 5, "mathdef226": 5, "mathdef227": 5, "mathdef228": 5, "mathdef229": 5, "mathdef230": 5, "mathdef231": 5, "mathdef232": 5, "mathdef233": 5, "mathdef234": 5, "mathdef235": 5, "mathdef236": 5, "boolean": [5, 27, 30], "pre": [5, 9, 18, 19, 38, 45], "post": [5, 9, 18], "condit": [5, 9, 10, 15, 18, 19, 20, 27, 28, 30, 34, 36, 38, 41, 44, 46], "execut": [5, 6, 9, 16, 18, 19, 21, 22, 24, 26, 27, 30, 32, 41, 43, 44], "configur": [5, 7, 16], "administr": [5, 17, 18], "theorem": 5, "system": [5, 16, 24, 26, 27, 41], "lattic": 5, "composition": 5, "algorithm": [5, 9, 18, 24, 41, 43], "opcod": [5, 6, 8, 12], "histori": [5, 24], "releas": [5, 24, 26], "3": [5, 8, 9, 12, 13, 15, 18, 20, 24, 26, 32, 33, 36, 43], "rule": [5, 9, 10, 13, 16, 18, 21, 23, 24, 28, 34, 36, 37, 40, 41, 43, 44, 45, 46], "formed": [5, 9, 27, 38, 45], "static": [5, 9, 19, 21, 27, 30, 31, 32], "construct": [5, 9, 16, 21, 27, 28, 30, 31, 33, 34, 38, 41, 45], "mathdef237": 6, "mathdef238": 6, "mathdef239": 6, "mathdef240": 6, "mathdef241": 6, "mathdef242": 6, "mathdef243": 6, "mathdef244": 6, "mathdef245": 6, "mathdef246": 6, "mathdef247": 6, "mathdef248": 6, "mathdef249": 6, "mathdef250": 6, "mathdef251": 6, "mathdef252": 6, "mathdef253": 6, "mathdef254": 6, "mathdef255": 6, "mathdef256": 6, "mathdef257": 6, "mathdef258": 6, "mathdef259": 6, "mathdef260": 6, "mathdef261": 6, "mathdef262": 6, "mathdef263": 6, "mathdef264": 6, "mathdef265": 6, "mathdef266": 6, "mathdef267": 6, "mathdef268": 6, "mathdef269": 6, "mathdef270": 6, "mathdef271": 6, "mathdef272": 6, "mathdef273": 6, "mathdef274": 6, "mathdef275": 6, "mathdef276": 6, "00": [6, 10, 12, 13, 14, 15, 19, 33, 37], "mathdef277": 6, "01": [6, 10, 12, 13, 14], "bt": [6, 12, 36, 43], "mathdef278": 6, "02": [6, 12, 13], "mathdef279": 6, "03": [6, 12, 13, 15, 24, 26], "mathdef280": 6, "04": [6, 12], "mathdef281": 6, "05": [6, 12, 24, 26], "mathdef282": 6, "06": 6, "mathdef283": 6, "07": 6, "mathdef284": 6, "08": 6, "mathdef285": 6, "09": [6, 37, 40], "mathdef286": 6, "0a": [6, 34, 37, 40], "mathdef287": 6, "0b": [6, 12], "l": [6, 9, 10, 12, 13, 14, 15, 19, 20, 21, 28, 30, 31, 32, 33, 34, 36, 37, 38, 39, 40, 41, 44, 45], "mathdef288": 6, "0c": [6, 12], "mathdef289": 6, "0d": [6, 12, 37, 40], "mathdef290": 6, "0e": [6, 12], "mathdef291": 6, "0f": [6, 10, 12], "mathdef292": 6, "y": [6, 9, 12, 13, 31, 34, 36, 38, 39], "mathdef293": 6, "mathdef294": 6, "12": [6, 12, 13, 15, 44], "mathdef295": 6, "13": [6, 8, 12], "mathdef296": 6, "14": [6, 8, 12, 20], "mathdef297": 6, "15": [6, 8, 12, 18, 20, 40], "mathdef298": 6, "mathdef299": 6, "17": [6, 8, 12], "mathdef300": 6, "18": [6, 8, 12, 15], "mathdef301": 6, "19": [6, 8, 12], "mathdef302": 6, "1a": [6, 12], "mathdef303": 6, "1b": [6, 12], "mathdef304": 6, "1c": [6, 12], "mathdef305": 6, "1d": 6, "mathdef306": 6, "1e": 6, "mathdef307": 6, "1f": 6, "mathdef308": 6, "20": [6, 8, 12, 40], "mathdef309": 6, "21": [6, 8, 12, 44], "mathdef310": 6, "22": [6, 8, 12, 40, 44], "mathdef311": 6, "23": [6, 12, 33], "mathdef312": 6, "24": [6, 12], "mathdef313": 6, "25": [6, 12], "mathdef314": 6, "26": [6, 12], "mathdef315": 6, "27": [6, 12, 40], "mathdef316": 6, "28": [6, 8, 12], "mathdef317": 6, "29": [6, 8, 12], "mathdef318": 6, "2a": [6, 12], "mathdef319": 6, "2b": [6, 12], "mathdef320": 6, "2c": [6, 12], "mathdef321": 6, "2d": [6, 12], "mathdef322": 6, "2e": [6, 12], "mathdef323": 6, "2f": [6, 12], "mathdef324": 6, "30": [6, 12], "mathdef325": 6, "31": [6, 12, 18, 21, 32], "mathdef326": 6, "mathdef327": 6, "mathdef328": 6, "34": [6, 8, 12], "mathdef329": 6, "35": [6, 12], "mathdef330": 6, "36": [6, 12], "mathdef331": 6, "37": [6, 12], "mathdef332": 6, "38": [6, 12], "mathdef333": 6, "39": [6, 12], "mathdef334": 6, "3a": [6, 12], "mathdef335": 6, "3b": [6, 12], "mathdef336": 6, "3c": [6, 12], "mathdef337": 6, "3d": [6, 12], "mathdef338": 6, "3e": [6, 12, 15], "mathdef339": 6, "3f": [6, 12], "mathdef340": 6, "40": [6, 8, 12, 13], "mathdef341": 6, "41": [6, 8, 12], "mathdef342": 6, "42": [6, 12], "mathdef343": 6, "43": [6, 12], "mathdef344": 6, "44": [6, 12], "mathdef345": 6, "45": [6, 12], "mathdef346": 6, "46": [6, 12], "mathdef347": 6, "47": [6, 12], "mathdef348": 6, "48": [6, 8, 12], "mathdef349": 6, "49": [6, 8, 12], "mathdef350": 6, "4a": [6, 12], "mathdef351": 6, "4b": [6, 12], "mathdef352": 6, "4c": [6, 12], "mathdef353": 6, "4d": [6, 8, 12], "mathdef354": 6, "4e": [6, 8, 12, 14], "mathdef355": 6, "4f": [6, 8, 12, 14], "mathdef356": 6, "50": [6, 8, 12, 14], "mathdef357": 6, "51": [6, 8, 12], "mathdef358": 6, "52": [6, 12, 33], "mathdef359": 6, "53": [6, 12], "mathdef360": 6, "54": [6, 12], "mathdef361": 6, "55": [6, 12], "mathdef362": 6, "56": [6, 12], "mathdef363": 6, "57": [6, 12], "mathdef364": 6, "58": [6, 12], "mathdef365": 6, "59": [6, 12], "mathdef366": 6, "5a": [6, 12], "mathdef367": 6, "5b": [6, 12], "mathdef368": 6, "5c": [6, 12, 40], "mathdef369": 6, "5d": [6, 8, 12], "mathdef370": 6, "5e": [6, 8, 12, 14], "mathdef371": 6, "5f": [6, 8, 12, 14], "mathdef372": 6, "60": [6, 8, 12, 14], "mathdef373": 6, "61": [6, 8, 12, 13], "mathdef374": 6, "62": [6, 8, 12], "mathdef375": 6, "63": [6, 8, 12, 14], "mathdef376": 6, "mathdef377": 6, "65": [6, 8, 12], "mathdef378": 6, "66": [6, 12], "mathdef379": 6, "67": [6, 12], "mathdef380": 6, "68": [6, 12], "mathdef381": 6, "69": [6, 8, 12], "mathdef382": 6, "6a": [6, 8, 12, 14], "mathdef383": 6, "6b": [6, 8, 12, 14], "mathdef384": 6, "6c": [6, 8, 12, 14], "mathdef385": 6, "6d": [6, 8, 12, 13, 14], "mathdef386": 6, "6e": [6, 8, 12, 14], "mathdef387": 6, "6f": [6, 8, 12, 14], "mathdef388": 6, "70": [6, 8, 12, 14], "mathdef389": 6, "71": [6, 8, 12, 14], "mathdef390": 6, "72": [6, 8, 12, 14], "mathdef391": 6, "73": [6, 8, 12, 13, 14], "mathdef392": 6, "74": [6, 8, 12], "mathdef393": 6, "75": [6, 12], "mathdef394": 6, "76": [6, 12], "mathdef395": 6, "77": [6, 8, 12, 14], "mathdef396": 6, "78": [6, 8, 12, 14], "mathdef397": 6, "79": [6, 8, 12], "mathdef398": 6, "7a": [6, 8, 12], "mathdef399": 6, "7b": [6, 8, 12, 14, 15], "mathdef400": 6, "7c": [6, 8, 10, 12, 14], "mathdef401": 6, "7d": [6, 8, 10, 12, 14], "mathdef402": 6, "7e": [6, 8, 10, 12, 14, 15], "mathdef403": 6, "7f": [6, 8, 10, 12, 14, 15, 40], "mathdef404": 6, "80": [6, 12, 15], "mathdef405": 6, "81": [6, 12], "mathdef406": 6, "82": [6, 12], "mathdef407": 6, "83": [6, 12, 15], "mathdef408": 6, "84": [6, 12], "mathdef409": 6, "85": [6, 12], "mathdef410": 6, "86": [6, 12], "mathdef411": 6, "87": [6, 12], "mathdef412": 6, "88": [6, 12], "mathdef413": 6, "89": [6, 12], "mathdef414": 6, "8a": [6, 12], "mathdef415": 6, "8b": [6, 12], "mathdef416": 6, "8c": [6, 12], "mathdef417": 6, "8d": [6, 12], "mathdef418": 6, "8e": [6, 12], "mathdef419": 6, "8f": [6, 12], "mathdef420": 6, "90": [6, 12], "mathdef421": 6, "91": [6, 12], "mathdef422": 6, "92": [6, 12], "mathdef423": 6, "93": [6, 12], "mathdef424": 6, "94": [6, 12], "mathdef425": 6, "95": [6, 12], "mathdef426": 6, "96": [6, 12], "mathdef427": 6, "97": [6, 12], "mathdef428": 6, "98": [6, 12], "mathdef429": 6, "99": [6, 12], "mathdef430": 6, "9a": [6, 12], "mathdef431": 6, "9b": [6, 12], "mathdef432": 6, "9c": [6, 12], "mathdef433": 6, "9d": [6, 12], "mathdef434": 6, "9e": [6, 12], "mathdef435": 6, "9f": [6, 12], "mathdef436": 6, "a0": [6, 12], "mathdef437": 6, "a1": [6, 12], "mathdef438": 6, "a2": [6, 12], "mathdef439": 6, "a3": [6, 12], "mathdef440": 6, "a4": [6, 12], "mathdef441": 6, "a5": [6, 12], "mathdef442": 6, "a6": [6, 12], "mathdef443": 6, "a7": [6, 12], "mathdef444": 6, "a8": [6, 12], "mathdef445": 6, "a9": [6, 12], "mathdef446": 6, "aa": [6, 12], "mathdef447": 6, "mathdef448": 6, "ac": [6, 12], "mathdef449": 6, "mathdef450": 6, "ae": [6, 12], "mathdef451": 6, "af": [6, 12], "mathdef452": 6, "b0": [6, 12], "mathdef453": 6, "b1": [6, 12], "mathdef454": 6, "b2": [6, 12], "mathdef455": 6, "b3": [6, 12], "mathdef456": 6, "b4": [6, 12], "mathdef457": 6, "b5": [6, 12], "mathdef458": 6, "b6": [6, 12], "mathdef459": 6, "b7": [6, 12], "mathdef460": 6, "b8": [6, 12], "mathdef461": 6, "b9": [6, 12], "mathdef462": 6, "ba": [6, 12], "mathdef463": 6, "bb": [6, 12], "mathdef464": 6, "bc": [6, 12], "mathdef465": 6, "bd": [6, 12], "mathdef466": 6, "BE": [6, 12], "mathdef467": 6, "bf": [6, 12], "mathdef468": 6, "c0": [6, 12, 15], "mathdef469": 6, "c1": [6, 12], "mathdef470": 6, "c2": [6, 12], "mathdef471": 6, "c3": [6, 12], "mathdef472": 6, "c4": [6, 12], "mathdef473": 6, "c5": 6, "mathdef474": 6, "c6": 6, "mathdef475": 6, "c7": 6, "mathdef476": 6, "c8": 6, "mathdef477": 6, "c9": 6, "mathdef478": 6, "ca": 6, "mathdef479": 6, "cb": 6, "mathdef480": 6, "cc": 6, "mathdef481": 6, "cd": 6, "mathdef482": 6, "ce": 6, "mathdef483": 6, "cf": 6, "ht": [6, 12, 13, 14, 18, 32, 38, 39, 41, 44], "mathdef484": 6, "d0": [6, 12], "mathdef485": 6, "d1": [6, 12], "mathdef486": 6, "d2": [6, 12], "mathdef487": 6, "d3": [6, 12], "mathdef488": 6, "d4": [6, 12], "mathdef489": 6, "d5": [6, 12], "mathdef490": 6, "d6": [6, 12], "mathdef491": 6, "d7": 6, "mathdef492": 6, "d8": 6, "mathdef493": 6, "d9": 6, "mathdef494": 6, "da": [6, 18, 38], "mathdef495": 6, "db": 6, "mathdef496": 6, "dc": 6, "mathdef497": 6, "dd": 6, "mathdef498": 6, "de": 6, "mathdef499": 6, "df": 6, "mathdef500": 6, "e0": [6, 15], "mathdef501": 6, "e1": 6, "mathdef502": 6, "e2": 6, "mathdef503": 6, "e3": 6, "mathdef504": 6, "e4": 6, "mathdef505": 6, "e5": 6, "mathdef506": 6, "e6": 6, "mathdef507": 6, "e7": 6, "mathdef508": 6, "e8": 6, "mathdef509": 6, "e9": 6, "mathdef510": 6, "ea": [6, 18], "mathdef511": 6, "eb": 6, "mathdef512": 6, "ec": 6, "mathdef513": 6, "ed": 6, "mathdef514": 6, "ee": 6, "mathdef515": 6, "ef": 6, "mathdef516": 6, "f0": [6, 15], "mathdef517": 6, "f1": 6, "mathdef518": 6, "f2": 6, "mathdef519": 6, "f3": 6, "mathdef520": 6, "f4": 6, "mathdef521": 6, "f5": 6, "mathdef522": 6, "f6": 6, "mathdef523": 6, "f7": 6, "mathdef524": 6, "f8": 6, "mathdef525": 6, "f9": 6, "mathdef526": 6, "fa": [6, 9], "mathdef527": 6, "fb": [6, 12], "mathdef528": 6, "mathdef529": 6, "mathdef530": 6, "mathdef531": 6, "mathdef532": 6, "mathdef533": 6, "mathdef534": 6, "mathdef535": 6, "mathdef536": 6, "mathdef537": 6, "mathdef538": 6, "mathdef539": 6, "mathdef540": 6, "mathdef541": 6, "mathdef542": 6, "mathdef543": 6, "mathdef544": 6, "mathdef545": 6, "mathdef546": 6, "mathdef547": 6, "mathdef548": 6, "mathdef549": 6, "mathdef550": 6, "mathdef551": 6, "mathdef552": 6, "mathdef553": 6, "mathdef554": 6, "mathdef555": 6, "mathdef556": 6, "mathdef557": 6, "mathdef558": 6, "mathdef559": 6, "mathdef560": 6, "mathdef561": 6, "mathdef562": 6, "mathdef563": 6, "mathdef564": 6, "mathdef565": 6, "mathdef566": 6, "mathdef567": 6, "mathdef568": 6, "mathdef569": 6, "mathdef570": 6, "mathdef571": 6, "mathdef572": 6, "mathdef573": 6, "mathdef574": 6, "mathdef575": 6, "mathdef576": 6, "mathdef577": 6, "mathdef578": 6, "mathdef579": 6, "mathdef580": 6, "mathdef581": 6, "mathdef582": 6, "mathdef583": 6, "mathdef584": 6, "mathdef585": 6, "mathdef586": 6, "mathdef587": 6, "mathdef588": 6, "mathdef589": 6, "mathdef590": 6, "mathdef591": 6, "fc": [6, 12], "mathdef592": 6, "mathdef593": 6, "mathdef594": 6, "mathdef595": 6, "mathdef596": 6, "mathdef597": 6, "mathdef598": 6, "mathdef599": 6, "mathdef600": 6, "mathdef601": 6, "mathdef602": 6, "mathdef603": 6, "mathdef604": 6, "mathdef605": 6, "mathdef606": 6, "mathdef607": 6, "mathdef608": 6, "mathdef609": 6, "mathdef610": 6, "mathdef611": 6, "mathdef612": 6, "mathdef613": 6, "mathdef614": 6, "mathdef615": 6, "mathdef616": 6, "mathdef617": 6, "mathdef618": 6, "mathdef619": 6, "mathdef620": 6, "mathdef621": 6, "mathdef622": 6, "mathdef623": 6, "mathdef624": 6, "mathdef625": 6, "mathdef626": 6, "mathdef627": 6, "mathdef628": 6, "mathdef629": 6, "fd": [6, 12], "mathdef630": 6, "8x8": [6, 12, 30, 36], "mathdef631": 6, "mathdef632": 6, "mathdef633": 6, "mathdef634": 6, "16x4": [6, 12, 30, 36], "mathdef635": 6, "mathdef636": 6, "mathdef637": 6, "mathdef638": 6, "32x2": [6, 12, 30, 36], "mathdef639": 6, "mathdef640": 6, "mathdef641": 6, "mathdef642": 6, "mathdef643": 6, "mathdef644": 6, "mathdef645": 6, "mathdef646": 6, "mathdef647": 6, "mathdef648": 6, "mathdef649": 6, "mathdef650": 6, "mathdef651": 6, "mathdef652": 6, "mathdef653": 6, "mathdef654": 6, "mathdef655": 6, "mathdef656": 6, "mathdef657": 6, "mathdef658": 6, "mathdef659": 6, "mathdef660": 6, "mathdef661": 6, "mathdef662": 6, "mathdef663": 6, "mathdef664": 6, "mathdef665": 6, "mathdef666": 6, "mathdef667": 6, "mathdef668": 6, "mathdef669": 6, "mathdef670": 6, "mathdef671": 6, "mathdef672": 6, "mathdef673": 6, "mathdef674": 6, "mathdef675": 6, "mathdef676": 6, "mathdef677": 6, "mathdef678": 6, "mathdef679": 6, "mathdef680": 6, "mathdef681": 6, "mathdef682": 6, "mathdef683": 6, "mathdef684": 6, "mathdef685": 6, "mathdef686": 6, "mathdef687": 6, "mathdef688": 6, "mathdef689": 6, "mathdef690": 6, "mathdef691": 6, "mathdef692": 6, "mathdef693": 6, "mathdef694": 6, "mathdef695": 6, "mathdef696": 6, "mathdef697": 6, "mathdef698": 6, "mathdef699": 6, "mathdef700": 6, "mathdef701": 6, "mathdef702": 6, "mathdef703": 6, "mathdef704": 6, "mathdef705": 6, "mathdef706": 6, "mathdef707": 6, "mathdef708": 6, "mathdef709": 6, "mathdef710": 6, "mathdef711": 6, "mathdef712": 6, "mathdef713": 6, "mathdef714": 6, "mathdef715": 6, "mathdef716": 6, "mathdef717": 6, "mathdef718": 6, "mathdef719": 6, "mathdef720": 6, "mathdef721": 6, "mathdef722": 6, "mathdef723": 6, "mathdef724": 6, "mathdef725": 6, "mathdef726": 6, "mathdef727": 6, "mathdef728": 6, "mathdef729": 6, "mathdef730": 6, "mathdef731": 6, "mathdef732": 6, "mathdef733": 6, "mathdef734": 6, "mathdef735": 6, "mathdef736": 6, "mathdef737": 6, "mathdef738": 6, "mathdef739": 6, "mathdef740": 6, "mathdef741": 6, "mathdef742": 6, "mathdef743": 6, "mathdef744": 6, "mathdef745": 6, "mathdef746": 6, "mathdef747": 6, "mathdef748": 6, "mathdef749": 6, "mathdef750": 6, "mathdef751": 6, "mathdef752": 6, "mathdef753": 6, "mathdef754": 6, "mathdef755": 6, "mathdef756": 6, "mathdef757": 6, "mathdef758": 6, "mathdef759": 6, "mathdef760": 6, "mathdef761": 6, "mathdef762": 6, "mathdef763": 6, "mathdef764": 6, "mathdef765": 6, "mathdef766": 6, "mathdef767": 6, "mathdef768": 6, "mathdef769": 6, "mathdef770": 6, "mathdef771": 6, "mathdef772": 6, "mathdef773": 6, "mathdef774": 6, "mathdef775": 6, "mathdef776": 6, "mathdef777": 6, "mathdef778": 6, "mathdef779": 6, "mathdef780": 6, "mathdef781": 6, "mathdef782": 6, "mathdef783": 6, "mathdef784": 6, "mathdef785": 6, "mathdef786": 6, "mathdef787": 6, "mathdef788": 6, "mathdef789": 6, "mathdef790": 6, "mathdef791": 6, "mathdef792": 6, "mathdef793": 6, "mathdef794": 6, "mathdef795": 6, "mathdef796": 6, "mathdef797": 6, "mathdef798": 6, "mathdef799": 6, "mathdef800": 6, "mathdef801": 6, "mathdef802": 6, "mathdef803": 6, "mathdef804": 6, "mathdef805": 6, "mathdef806": 6, "mathdef807": 6, "mathdef808": 6, "mathdef809": 6, "mathdef810": 6, "mathdef811": 6, "mathdef812": 6, "mathdef813": 6, "mathdef814": 6, "mathdef815": 6, "mathdef816": 6, "mathdef817": 6, "mathdef818": 6, "mathdef819": 6, "mathdef820": 6, "mathdef821": 6, "mathdef822": 6, "mathdef823": 6, "mathdef824": 6, "mathdef825": 6, "mathdef826": 6, "mathdef827": 6, "mathdef828": 6, "mathdef829": 6, "mathdef830": 6, "mathdef831": 6, "mathdef832": 6, "mathdef833": 6, "mathdef834": 6, "mathdef835": 6, "mathdef836": 6, "mathdef837": 6, "mathdef838": 6, "mathdef839": 6, "mathdef840": 6, "mathdef841": 6, "mathdef842": 6, "mathdef843": 6, "mathdef844": 6, "mathdef845": 6, "mathdef846": 6, "mathdef847": 6, "mathdef848": 6, "mathdef849": 6, "mathdef850": 6, "mathdef851": 6, "mathdef852": 6, "mathdef853": 6, "mathdef854": 6, "mathdef855": 6, "mathdef856": 6, "mathdef857": 6, "mathdef858": 6, "mathdef859": 6, "mathdef860": 6, "mathdef861": 6, "mathdef862": 6, "mathdef863": 6, "mathdef864": 6, "mathdef865": 6, "mathdef866": 6, "mathdef867": 6, "mathdef868": 6, "mathdef869": 6, "mathdef870": 6, "mathdef871": 6, "mathdef872": 6, "mathdef873": 6, "mathdef874": 6, "mathdef875": 6, "mathdef876": 6, "mathdef877": 6, "mathdef878": 6, "mathdef879": 6, "mathdef880": 6, "mathdef881": 6, "mathdef882": 6, "mathdef883": 6, "mathdef884": 6, "mathdef885": 6, "mathdef886": 6, "mathdef887": 6, "mathdef888": 6, "mathdef889": 6, "mathdef890": 6, "mathdef891": 6, "mathdef892": 6, "mathdef893": 6, "mathdef894": 6, "mathdef895": 6, "mathdef896": 6, "mathdef897": 6, "mathdef898": 6, "mathdef899": 6, "mathdef900": 6, "mathdef901": 6, "mathdef902": 6, "mathdef903": 6, "mathdef904": 6, "mathdef905": 6, "mathdef906": 6, "mathdef907": 6, "mathdef908": 6, "_high": [6, 12, 36], "mathdef909": 6, "mathdef910": 6, "mathdef911": 6, "mathdef912": 6, "mathdef913": 6, "mathdef914": 6, "mathdef915": 6, "mathdef916": 6, "mathdef917": 6, "mathdef918": 6, "mathdef919": 6, "mathdef920": 6, "mathdef921": 6, "mathdef922": 6, "mathdef923": 6, "mathdef924": 6, "mathdef925": 6, "mathdef926": 6, "mathdef927": 6, "mathdef928": 6, "mathdef929": 6, "mathdef930": 6, "mathdef931": 6, "mathdef932": 6, "mathdef933": 6, "mathdef934": 6, "mathdef935": 6, "mathdef936": 6, "mathdef937": 6, "mathdef938": 6, "mathdef939": 6, "mathdef940": 6, "mathdef941": 6, "mathdef942": 6, "mathdef943": 6, "mathdef944": 6, "mathdef945": 6, "mathdef946": 6, "mathdef947": 6, "mathdef948": 6, "mathdef949": 6, "mathdef950": 6, "mathdef951": 6, "mathdef952": 6, "mathdef953": 6, "mathdef954": 6, "mathdef955": 6, "mathdef956": 6, "mathdef957": 6, "mathdef958": 6, "mathdef959": 6, "mathdef960": 6, "mathdef961": 6, "mathdef962": 6, "mathdef963": 6, "mathdef964": 6, "mathdef965": 6, "mathdef966": 6, "mathdef967": 6, "mathdef968": 6, "mathdef969": 6, "mathdef970": 6, "mathdef971": 6, "mathdef972": 6, "mathdef973": 6, "mathdef974": 6, "mathdef975": 6, "mathdef976": 6, "mathdef977": 6, "mathdef978": 6, "mathdef979": 6, "mathdef980": 6, "mathdef981": 6, "mathdef982": 6, "mathdef983": 6, "mathdef984": 6, "mathdef985": 6, "mathdef986": 6, "mathdef987": 6, "mathdef988": 6, "mathdef989": 6, "mathdef990": 6, "mathdef991": 6, "mathdef992": 6, "mathdef993": 6, "mathdef994": 6, "mathdef995": 6, "mathdef996": 6, "mathdef997": 6, "mathdef998": 6, "mathdef999": 6, "mathdef1000": 6, "mathdef1001": 6, "mathdef1002": 6, "mathdef1003": 6, "mathdef1004": 6, "mathdef1005": 6, "mathdef1006": 6, "mathdef1007": 6, "mathdef1008": 6, "mathdef1009": 6, "mathdef1010": 6, "mathdef1011": 6, "mathdef1012": 6, "mathdef1013": 6, "mathdef1014": 6, "mathdef1015": 6, "mathdef1016": 6, "mathdef1017": 6, "mathdef1018": 6, "mathdef1019": 6, "mathdef1020": 6, "mathdef1021": 6, "mathdef1022": 6, "mathdef1023": 6, "mathdef1024": 6, "mathdef1025": 6, "mathdef1026": 6, "mathdef1027": 6, "mathdef1028": 6, "mathdef1029": 6, "mathdef1030": 6, "mathdef1031": 6, "mathdef1032": 6, "mathdef1033": 6, "mathdef1034": 6, "mathdef1035": 6, "mathdef1036": 6, "mathdef1037": 6, "mathdef1038": 6, "mathdef1039": 6, "mathdef1040": 6, "mathdef1041": 6, "mathdef1042": 6, "mathdef1043": 6, "mathdef1044": 6, "mathdef1045": 6, "mathdef1046": 6, "mathdef1047": 6, "mathdef1048": 6, "mathdef1049": 6, "mathdef1050": 6, "mathdef1051": 6, "mathdef1052": 6, "mathdef1053": 6, "mathdef1054": 6, "mathdef1055": 6, "mathdef1056": 6, "mathdef1057": 6, "mathdef1058": 6, "mathdef1059": 6, "mathdef1060": 6, "mathdef1061": 6, "mathdef1062": 6, "mathdef1063": 6, "mathdef1064": 6, "mathdef1065": 6, "mathdef1066": 6, "mathdef1067": 6, "mathdef1068": 6, "mathdef1069": 6, "mathdef1070": 6, "mathdef1071": 6, "mathdef1072": 6, "mathdef1073": 6, "mathdef1074": 6, "mathdef1075": 6, "mathdef1076": 6, "mathdef1077": 6, "mathdef1078": 6, "mathdef1079": 6, "mathdef1080": 6, "mathdef1081": 6, "mathdef1082": 6, "mathdef1083": 6, "mathdef1084": 6, "mathdef1085": 6, "mathdef1086": 6, "mathdef1087": 6, "mathdef1088": 6, "mathdef1089": 6, "mathdef1090": 6, "mathdef1091": 6, "mathdef1092": 6, "mathdef1093": 6, "mathdef1094": 6, "mathdef1095": 6, "mathdef1096": 6, "mathdef1097": 6, "mathdef1098": 6, "mathdef1099": 6, "mathdef1100": 6, "mathdef1101": 6, "mathdef1102": 6, "mathdef1103": 6, "mathdef1104": 6, "mathdef1105": 6, "mathdef1106": 6, "mathdef1107": 6, "mathdef1108": 6, "mathdef1109": 6, "mathdef1110": 6, "mathdef1111": 6, "mathdef1112": 6, "mathdef1113": 6, "mathdef1114": 6, "mathdef1115": 6, "mathdef1116": 6, "mathdef1117": 6, "mathdef1118": 6, "mathdef1119": 6, "mathdef1120": 6, "mathdef1121": 6, "mathdef1122": 6, "mathdef1123": 6, "mathdef1124": 6, "mathdef1125": 6, "mathdef1126": 6, "mathdef1127": 6, "mathdef1128": 6, "mathdef1129": 6, "mathdef1130": 6, "mathdef1131": 6, "mathdef1132": 6, "mathdef1133": 6, "mathdef1134": 6, "mathdef1135": 6, "mathdef1136": 6, "mathdef1137": 6, "mathdef1138": 6, "mathdef1139": 6, "mathdef1140": 6, "mathdef1141": 6, "mathdef1142": 6, "mathdef1143": 6, "mathdef1144": 6, "mathdef1145": 6, "mathdef1146": 6, "mathdef1147": 6, "mathdef1148": 6, "mathdef1149": 6, "mathdef1150": 6, "mathdef1151": 6, "mathdef1152": 6, "mathdef1153": 6, "mathdef1154": 6, "mathdef1155": 6, "mathdef1156": 6, "mathdef1157": 6, "mathdef1158": 6, "mathdef1159": 6, "mathdef1160": 6, "mathdef1161": 6, "mathdef1162": 6, "mathdef1163": 6, "mathdef1164": 6, "mathdef1165": 6, "mathdef1166": 6, "mathdef1167": 6, "mathdef1168": 6, "mathdef1169": 6, "mathdef1170": 6, "mathdef1171": 6, "mathdef1172": 6, "mathdef1173": 6, "mathdef1174": 6, "mathdef1175": 6, "mathdef1176": 6, "mathdef1177": 6, "mathdef1178": 6, "mathdef1179": 6, "mathdef1180": 6, "mathdef1181": 6, "mathdef1182": 6, "mathdef1183": 6, "mathdef1184": 6, "mathdef1185": 6, "mathdef1186": 6, "mathdef1187": 6, "mathdef1188": 6, "mathdef1189": 6, "mathdef1190": 6, "mathdef1191": 6, "mathdef1192": 6, "mathdef1193": 6, "mathdef1194": 6, "mathdef1195": 6, "mathdef1196": 6, "mathdef1197": 6, "mathdef1198": 6, "mathdef1199": 6, "mathdef1200": 6, "mathdef1201": 6, "mathdef1202": 6, "mathdef1203": 6, "mathdef1204": 6, "mathdef1205": 6, "mathdef1206": 6, "mathdef1207": 6, "mathdef1208": 6, "mathdef1209": 6, "mathdef1210": 6, "mathdef1211": 6, "mathdef1212": 6, "mathdef1213": 6, "mathdef1214": 6, "mathdef1215": 6, "mathdef1216": 6, "mathdef1217": 6, "mathdef1218": 6, "mathdef1219": 6, "mathdef1220": 6, "mathdef1221": 6, "mathdef1222": 6, "mathdef1223": 6, "mathdef1224": 6, "mathdef1225": 6, "mathdef1226": 6, "mathdef1227": 6, "mathdef1228": 6, "mathdef1229": 6, "mathdef1230": 6, "mathdef1231": 6, "mathdef1232": 6, "mathdef1233": 6, "mathdef1234": 6, "mathdef1235": 6, "mathdef1236": 6, "mathdef1237": 6, "mathdef1238": 6, "mathdef1239": 6, "mathdef1240": 6, "mathdef1241": 6, "mathdef1242": 6, "mathdef1243": 6, "mathdef1244": 6, "mathdef1245": 6, "mathdef1246": 6, "mathdef1247": 6, "mathdef1248": 6, "mathdef1249": 6, "mathdef1250": 6, "mathdef1251": 6, "mathdef1252": 6, "mathdef1253": 6, "mathdef1254": 6, "mathdef1255": 6, "mathdef1256": 6, "mathdef1257": 6, "mathdef1258": 6, "fe": [6, 15], "mathdef1259": 6, "mathdef1260": 6, "mathdef1261": 6, "ff": [6, 15], "mathdef1262": 6, "mathdef1263": 6, "mathdef1264": 6, "mathdef1265": 6, "mathdef1266": 6, "mathdef1267": 6, "shortest": 6, "mathdef1268": 7, "mathdef1269": 7, "mathdef1270": 7, "mathdef1271": 7, "mathdef1272": 7, "mathdef1273": 7, "mathdef1274": 7, "mathdef1275": 7, "mathdef1276": 7, "mathdef1277": 7, "mathdef1278": 7, "mathdef1279": 7, "mathdef1280": 7, "mathdef1281": 7, "mathdef1282": 7, "mathdef1283": 7, "mathdef1284": 7, "mathdef1285": 7, "mathdef1286": 7, "mathdef1287": 7, "mathdef1288": 7, "mathdef1289": 7, "mathdef1290": 7, "mathdef1291": 7, "mathdef1292": 7, "mathdef1293": 7, "mathdef1294": 7, "mathdef1295": 7, "mathdef1296": 7, "mathdef1297": 7, "mathdef1298": 7, "mathdef1299": 7, "mathdef1300": 7, "mathdef1301": 7, "mathdef1302": 7, "mathdef1303": 7, "mathdef1304": 7, "mathdef1305": 7, "mathdef1306": 7, "judgement": [7, 9, 41, 45], "vector": [7, 8, 11, 17, 21, 27, 29, 35, 42], "storag": [7, 9, 14, 27, 30, 32, 36, 39, 43, 44, 46], "k": [7, 18, 19, 20, 21, 46], "mathdef1307": 8, "mathdef1308": 8, "mathdef1309": 8, "mathdef1310": 8, "mathdef1311": 8, "mathdef1312": 8, "mathdef1313": 8, "mathdef1314": 8, "mathdef1315": 8, "mathdef1316": 8, "mathdef1317": 8, "mathdef1318": 8, "mathdef1319": 8, "mathdef1320": 8, "mathdef1321": 8, "mathdef1322": 8, "mathdef1323": 8, "mathdef1324": 8, "mathdef1325": 8, "mathdef1326": 8, "mathdef1327": 8, "mathdef1328": 8, "mathdef1329": 8, "mathdef1330": 8, "mathdef1331": 8, "mathdef1332": 8, "mathdef1333": 8, "mathdef1334": 8, "mathdef1335": 8, "mathdef1336": 8, "mathdef1337": 8, "mathdef1338": 8, "mathdef1339": 8, "mathdef1340": 8, "mathdef1341": 8, "mathdef1342": 8, "mathdef1343": 8, "mathdef1344": 8, "mathdef1345": 8, "categori": [8, 21, 27, 30, 37], "constructor": [8, 14], "posit": [8, 12, 14, 15, 18, 20, 33, 36, 41], "mathdef1346": 8, "mathdef1347": 8, "mathdef1348": 8, "mathdef1349": 8, "mathdef1350": 8, "mathdef1351": 8, "mathdef1352": 8, "mathdef1353": 8, "mathdef1354": 8, "mathdef1355": 8, "mathdef1356": 8, "mathdef1357": 8, "mathdef1358": 8, "mathdef1359": 8, "mathdef1360": 8, "mathdef1361": 8, "mathdef1362": 8, "mathdef1363": 8, "mathdef1364": 8, "mathdef1365": 8, "mathdef1366": 8, "mathdef1367": 8, "mathdef1368": 8, "mathdef1369": 8, "mathdef1370": 8, "mathdef1371": 8, "mathdef1372": 8, "mathdef1373": 8, "mathdef1374": 8, "mathdef1375": 8, "mathdef1376": 8, "mathdef1377": 8, "mathdef1378": 8, "mathdef1379": 8, "mathdef1380": 8, "mathdef1381": 8, "mathdef1382": 8, "mathdef1383": 8, "mathdef1384": 9, "mathdef1385": 9, "mathdef1386": 9, "mathdef1387": 9, "mathdef1388": 9, "mathdef1389": 9, "mathdef1390": 9, "mathdef1391": 9, "mathdef1392": 9, "mathdef1393": 9, "mathdef1394": 9, "mathdef1395": 9, "mathdef1396": 9, "mathdef1397": 9, "mathdef1398": 9, "mathdef1399": 9, "mathdef1400": 9, "mathdef1401": 9, "mathdef1402": 9, "mathdef1403": 9, "mathdef1404": 9, "mathdef1405": 9, "mathdef1406": 9, "mathdef1407": 9, "mathdef1408": 9, "mathdef1409": 9, "mathdef1410": 9, "mathdef1411": 9, "mathdef1412": 9, "mathdef1413": 9, "mathdef1414": 9, "mathdef1415": 9, "mathdef1416": 9, "mathdef1417": 9, "mathdef1418": 9, "mathdef1419": 9, "mathdef1420": 9, "mathdef1421": 9, "mathdef1422": 9, "impli": [9, 30, 36], "both": [9, 14, 15, 16, 18, 20, 21, 28, 30, 31, 32, 36, 38, 40, 41, 43, 44, 45, 46], "safeti": 9, "correct": 9, "appli": [9, 16, 18, 20, 21, 34, 38, 41, 46], "evalu": [9, 16, 18, 19, 45], "diverg": [9, 18], "No": [9, 10, 18, 26, 33, 36, 41], "locat": 9, "read": [9, 13, 16, 20, 30, 41], "written": [9, 10, 20, 28, 30, 32, 34, 36, 38, 40, 41], "except": [9, 10, 12, 13, 16, 20, 28, 34, 37, 40, 41, 43, 45], "those": [9, 10, 28, 30, 34, 41, 45], "linear": [9, 10, 21, 26, 27, 30, 31, 32, 43], "There": [9, 16, 20, 21, 27, 32, 39, 43, 44], "undefin": [9, 20], "behavior": [9, 16, 18, 21, 26, 30], "cover": 9, "mutual": [9, 19, 32, 45], "instrument": 9, "notabl": 9, "encapsul": 9, "scope": [9, 10, 21, 25, 27, 38, 41], "outsid": [9, 10, 21, 27, 30, 40, 41], "own": [9, 19, 21, 26, 27, 31, 32], "compon": [9, 13, 16, 21, 28, 31, 34, 41, 45], "unless": [9, 16, 18], "prove": 9, "dynam": [9, 19, 21, 27, 30, 32], "Then": [9, 23, 43, 44, 45, 46], "ones": [9, 15, 20, 30, 41], "_k": 9, "mean": [9, 18, 21, 27, 30, 32, 37, 41], "Or": [9, 18, 44, 46], "y_k": 9, "smaller": [9, 18, 20, 26, 27, 30, 43, 44, 46], "j_k": 9, "prec": 9, "lll": [9, 18, 20, 32, 38, 41], "j": [9, 18, 19, 20, 33], "2ex": [9, 12, 36, 38, 41], "anoth": [9, 23, 30, 38], "classifi": [9, 19, 23, 32, 41, 43, 45], "t_i": [9, 13, 18, 19, 34, 43, 46], "themselv": [9, 15, 21, 30, 37, 41, 45], "rel": [9, 18, 20, 21, 23, 30, 36, 41, 43], "To": [9, 12, 16, 26, 34, 41, 43], "kind": [9, 13, 19, 21, 31, 32], "repurpos": 9, "path": [9, 28], "1ex": [9, 15, 18, 19, 20, 21, 36, 38, 40, 44], "a_": 9, "gg": 9, "transit": 9, "lcll": [9, 20, 36, 41], "gg_": 9, "ft": [9, 14, 18, 39, 44], "prevent": [9, 26, 30, 32, 40, 46], "presenc": [9, 13, 16, 18, 41], "mutat": [9, 16, 18, 19, 21], "s_1": [9, 19], "coincid": [9, 16, 18, 44], "outcom": [9, 18, 21, 45], "s_2": [9, 19], "quad": [9, 13, 16, 18, 19, 21, 31, 34, 36, 38, 44, 45], "foral": [9, 20], "supset": 9, "emptyset": [9, 13], "vee": [9, 13, 15, 20, 36, 38, 40], "appropri": [9, 16, 19, 30], "abl": [9, 13], "suffici": 9, "assumpt": [9, 26, 41], "multipli": [9, 20], "expans": [9, 10, 18, 20, 23, 28, 34, 38, 40, 41, 43, 45, 46], "fv": 9, "pt": [9, 18], "disjoint": [9, 32, 45], "absent": [9, 41, 43, 44, 46], "prop": 9, "implicitli": [9, 10, 16, 27, 28, 30, 31, 34, 37, 41], "extra": 9, "below": [9, 18, 19, 45], "compound": [9, 32, 43], "modif": [9, 16, 18], "certain": [9, 16, 20, 21, 27], "inher": [9, 32], "adher": [9, 18], "explicit": [9, 12, 13, 21, 28, 30, 36, 38, 40, 44], "codifi": 9, "notion": [9, 18, 33, 44], "shrink": 9, "old": [9, 18], "ccc": 9, "remain": [9, 30, 46], "unchang": 9, "n_1": [9, 16, 44], "n_2": [9, 16, 44], "b_1": [9, 10, 15, 28], "b_2": [9, 15, 28], "standard": [9, 16, 20, 26, 32, 33, 41], "preserv": [9, 21, 31, 32], "step": [9, 16, 18, 19, 21], "furthermor": [9, 13, 16, 18, 21, 30, 38, 40, 43, 45], "progress": 9, "corollari": 9, "finit": 9, "word": [9, 41], "forev": 9, "crash": 9, "behav": [9, 21, 30], "formal": [9, 17, 18, 20, 21, 26, 42], "articl": [9, 16, 41], "andrea": [9, 16, 18, 24, 41], "haa": [9, 16, 41], "rossberg": [9, 16, 24, 41], "derek": [9, 16, 41], "schuff": [9, 16, 41], "ben": [9, 16, 41], "titzer": [9, 16, 41], "dan": [9, 16, 41], "gohman": [9, 16, 41], "luke": [9, 16, 41], "wagner": [9, 16, 41], "alon": [9, 16, 26, 41], "zakai": [9, 16, 41], "jf": [9, 16, 41], "bastien": [9, 16, 41], "michael": [9, 16, 41], "holman": [9, 16, 41], "proceed": [9, 16, 41], "38th": [9, 16, 41], "acm": [9, 16, 41], "sigplan": [9, 16, 41], "confer": [9, 16, 41], "pldi": [9, 16, 41], "2017": [9, 16, 41], "proof": [9, 16, 41], "paper": 9, "conrad": 9, "watt": 9, "7th": 9, "certifi": 9, "cpp": 9, "2018": 9, "offici": 9, "xiaojia": 9, "rao": 9, "jean": 9, "pichon": 9, "pharabod": 9, "martin": 9, "bodin": 9, "philippa": 9, "gardner": 9, "24th": 9, "intern": [9, 23, 27, 32, 41, 45], "symposium": 9, "method": 9, "fm": 9, "2021": 9, "springer": 9, "simpl": [9, 21, 26, 27, 33, 41, 43, 45, 46], "particular": [9, 16, 20, 26, 27, 31], "scheme": 9, "possibli": [9, 10, 12, 13, 23, 28, 30, 32, 34, 38], "unconstrain": [9, 43], "place": [9, 13, 14, 16, 19, 21, 22, 26, 30, 34, 38, 41], "holder": 9, "moreov": [9, 19, 21, 28, 31, 33, 40, 41, 43, 46], "input": [9, 20, 30, 32, 37, 41, 43, 44], "output": [9, 20, 30, 32, 41, 43, 44], "bottom": [9, 41], "isol": [9, 26], "implic": [9, 41], "latter": [9, 18, 30, 32, 33, 34, 38], "left": [9, 18, 20, 21, 37, 41], "introduct": [9, 16, 24, 41], "capabl": [9, 26], "partial": [9, 18, 20], "might": [9, 21, 30, 38], "consid": [9, 20, 21, 23, 26, 34, 36, 37, 43], "analysi": 9, "backtrack": 9, "technic": [9, 20], "nullabl": [9, 21, 23, 30, 32], "alpha_": 9, "numvectyp": 9, "xyz": 9, "unannot": 9, "open": [9, 26], "sigma": 9, "map": [9, 18, 28, 32, 38, 43, 45], "alpha": 9, "domain": 9, "greatest": [9, 43], "lower": [9, 20, 43], "upper": [9, 20], "provision": 9, "partit": 9, "hierarchi": [9, 23, 32, 43, 46], "vice": [9, 44], "versa": [9, 44], "safe": [9, 26, 27], "incompat": [9, 13, 32], "flow": [9, 27, 30], "freeli": 9, "x_1": [9, 16, 21, 43, 44], "x_2": [9, 16, 21, 43, 44], "share": [9, 21], "suffic": 9, "weaken": [9, 43], "subsumpt": 9, "invers": [9, 18, 20, 21], "decompos": [9, 21], "anywher": [9, 21, 36, 39], "produc": [9, 13, 16, 18, 19, 20, 21, 27, 30, 31, 32, 38, 41, 43], "decomposit": 9, "mathdef1423": 10, "mathdef1424": 10, "mathdef1425": 10, "mathdef1426": 10, "mathdef1427": 10, "mathdef1428": 10, "mathdef1429": 10, "mathdef1430": 10, "mathdef1431": 10, "mathdef1432": 10, "mathdef1433": 10, "mathdef1434": 10, "mathdef1435": 10, "mathdef1436": 10, "mathdef1437": 10, "mathdef1438": 10, "mathdef1439": 10, "mathdef1440": 10, "mathdef1441": 10, "mathdef1442": 10, "mathdef1443": 10, "mathdef1444": 10, "mathdef1445": 10, "mathdef1446": 10, "mathdef1447": 10, "mathdef1448": 10, "mathdef1449": 10, "mathdef1450": 10, "mathdef1451": 10, "mathdef1452": 10, "mathdef1453": 10, "mathdef1454": 10, "mathdef1455": 10, "mathdef1456": 10, "mathdef1457": 10, "mathdef1458": 10, "mathdef1459": 10, "mathdef1460": 10, "mathdef1461": 10, "dens": 10, "attribut": [10, 20, 34, 38], "product": [10, 15, 28, 34, 37, 38, 40], "exactli": [10, 20, 21], "synthes": [10, 34, 38], "mirror": [10, 34, 36, 38], "phrase": [10, 36, 41], "had": 10, "lead": [10, 20, 33], "zero": [10, 13, 15, 19, 20, 30, 31, 33], "altern": [10, 20, 30], "pick": [10, 20, 41, 43], "recommend": [10, 20, 34], "file": [10, 34, 38], "wasm": [10, 26], "layer": [10, 26], "compress": [10, 12, 13], "typewrit": [10, 34], "font": [10, 28, 34], "former": [10, 30, 34, 45], "hexadecim": [10, 33, 40], "mathdef1462": 10, "nontermin": [10, 28, 34], "geq": [10, 12, 14, 15, 18, 20, 28, 30, 33, 34, 40, 44], "iter": [10, 18, 28, 34], "shorthand": [10, 14, 19, 20, 28, 30, 33, 34, 39, 41], "relev": [10, 21, 26, 28, 34, 37, 38, 41], "occurr": [10, 12, 21, 28, 34, 37], "bind": [10, 18, 34, 36, 38], "pattern": [10, 12, 15, 32, 34], "sym": [10, 28, 34], "a_1": [10, 18, 28, 34], "b_n": 10, "a_n": [10, 28, 34], "a_i": [10, 28, 34], "b_i": 10, "augment": [10, 28, 34, 38], "side": [10, 15, 21, 26, 27, 28, 34, 36, 38, 41, 44, 46], "parenthes": [10, 33, 34, 36, 37], "combinatori": [10, 28, 34], "mani": [10, 26, 28, 34], "mathdef1463": 10, "mathdef1464": 10, "mathdef1465": 10, "mathdef1466": 10, "mathdef1467": 10, "mathdef1468": 10, "forth": 10, "mathdef1469": 10, "mathdef1470": 10, "mathdef1471": 10, "mathdef1472": 10, "term": [10, 16, 18, 19, 21, 28, 34, 38], "deal": [10, 28], "mathdef1473": 11, "mathdef1474": 11, "mathdef1475": 11, "mathdef1476": 11, "mathdef1477": 11, "mathdef1478": 11, "mathdef1479": 11, "mathdef1480": 11, "mathdef1481": 11, "mathdef1482": 11, "mathdef1483": 11, "mathdef1484": 11, "mathdef1485": 11, "mathdef1486": 11, "mathdef1487": 11, "mathdef1488": 11, "mathdef1489": 11, "mathdef1490": 11, "mathdef1491": 11, "mathdef1492": 11, "mathdef1493": 11, "mathdef1494": 11, "mathdef1495": 11, "mathdef1496": 11, "mathdef1497": 11, "mathdef1498": 11, "mathdef1499": 11, "mathdef1500": 11, "mathdef1501": 11, "mathdef1502": 11, "mathdef1503": 11, "mathdef1504": 11, "mathdef1505": 11, "mathdef1506": 11, "mathdef1507": 11, "mathdef1508": 11, "mathdef1509": 11, "mathdef1510": 11, "mathdef1511": 11, "aggreg": [11, 17, 29, 31, 35, 42], "mathdef1512": 12, "mathdef1513": 12, "mathdef1514": 12, "mathdef1515": 12, "mathdef1516": 12, "mathdef1517": 12, "mathdef1518": 12, "mathdef1519": 12, "mathdef1520": 12, "mathdef1521": 12, "mathdef1522": 12, "mathdef1523": 12, "mathdef1524": 12, "mathdef1525": 12, "mathdef1526": 12, "mathdef1527": 12, "mathdef1528": 12, "mathdef1529": 12, "mathdef1530": 12, "mathdef1531": 12, "mathdef1532": 12, "mathdef1533": 12, "mathdef1534": 12, "mathdef1535": 12, "mathdef1536": 12, "mathdef1537": 12, "mathdef1538": 12, "mathdef1539": 12, "mathdef1540": 12, "mathdef1541": 12, "mathdef1542": 12, "mathdef1543": 12, "mathdef1544": 12, "mathdef1545": 12, "mathdef1546": 12, "mathdef1547": 12, "mathdef1548": 12, "mathdef1549": 12, "mathdef1550": 12, "sever": [12, 20, 26, 30, 43], "bracket": [12, 30, 32, 36, 37, 40], "gap": 12, "mathdef1551": 12, "llcllll": [12, 13, 36, 38], "mathdef1552": 12, "mathdef1553": 12, "mathdef1554": 12, "mathdef1555": 12, "mathdef1556": 12, "mathdef1557": 12, "mathdef1558": 12, "mathdef1559": 12, "mathdef1560": 12, "mathdef1561": 12, "mathdef1562": 12, "mathdef1563": 12, "mathdef1564": 12, "mathdef1565": 12, "mathdef1566": 12, "l_n": [12, 36], "mathdef1567": 12, "mathdef1568": 12, "mathdef1569": 12, "mathdef1570": 12, "mathdef1571": 12, "mathdef1572": 12, "mathdef1573": 12, "mathdef1574": 12, "mathdef1575": 12, "mathdef1576": 12, "mathdef1577": 12, "mathdef1578": 12, "unlik": [12, 15, 27, 30, 31], "collid": 12, "mathdef1579": 12, "loss": 12, "prefix": [12, 30, 43], "mathdef1580": 12, "mathdef1581": 12, "mathdef1582": 12, "mathdef1583": 12, "mathdef1584": 12, "mathdef1585": 12, "mathdef1586": 12, "mathdef1587": 12, "mathdef1588": 12, "mathdef1589": 12, "mathdef1590": 12, "mathdef1591": 12, "mathdef1592": 12, "mathdef1593": 12, "mathdef1594": 12, "mathdef1595": 12, "mathdef1596": 12, "mathdef1597": 12, "mathdef1598": 12, "mathdef1599": 12, "mathdef1600": 12, "mathdef1601": 12, "mathdef1602": 12, "mathdef1603": 12, "mathdef1604": 12, "mathdef1605": 12, "mathdef1606": 12, "mathdef1607": 12, "mathdef1608": 12, "mathdef1609": 12, "mathdef1610": 12, "mathdef1611": 12, "mathdef1612": 12, "mathdef1613": 12, "annot": [12, 18, 30, 36, 41, 43], "mathdef1614": 12, "mathdef1615": 12, "mathdef1616": 12, "mathdef1617": 12, "mathdef1618": 12, "mathdef1619": 12, "mathdef1620": 12, "mathdef1621": 12, "mathdef1622": 12, "mathdef1623": 12, "mathdef1624": 12, "mathdef1625": 12, "mathdef1626": 12, "mathdef1627": 12, "mathdef1628": 12, "mathdef1629": 12, "variant": [12, 15, 30], "o": [12, 26, 36], "mathdef1630": 12, "mathdef1631": 12, "mathdef1632": 12, "mathdef1633": 12, "mathdef1634": 12, "mathdef1635": 12, "mathdef1636": 12, "mathdef1637": 12, "mathdef1638": 12, "mathdef1639": 12, "mathdef1640": 12, "mathdef1641": 12, "mathdef1642": 12, "mathdef1643": 12, "mathdef1644": 12, "mathdef1645": 12, "mathdef1646": 12, "mathdef1647": 12, "mathdef1648": 12, "mathdef1649": 12, "mathdef1650": 12, "mathdef1651": 12, "mathdef1652": 12, "mathdef1653": 12, "mathdef1654": 12, "mathdef1655": 12, "mathdef1656": 12, "mathdef1657": 12, "mathdef1658": 12, "mathdef1659": 12, "mathdef1660": 12, "mathdef1661": 12, "z": [12, 18, 33, 36, 37, 40], "mathdef1662": 12, "plain": [12, 20, 34, 36, 46], "phantom": [12, 36], "thisshouldbeenough": [12, 36], "mathdef1663": 12, "mathdef1664": 12, "mathdef1665": 12, "mathdef1666": 12, "mathdef1667": 12, "mathdef1668": 12, "mathdef1669": 12, "mathdef1670": 12, "mathdef1671": 12, "mathdef1672": 12, "mathdef1673": 12, "mathdef1674": 12, "mathdef1675": 12, "mathdef1676": 12, "mathdef1677": 12, "mathdef1678": 12, "mathdef1679": 12, "mathdef1680": 12, "mathdef1681": 12, "mathdef1682": 12, "mathdef1683": 12, "mathdef1684": 12, "mathdef1685": 12, "mathdef1686": 12, "mathdef1687": 12, "mathdef1688": 12, "mathdef1689": 12, "mathdef1690": 12, "mathdef1691": 12, "mathdef1692": 12, "mathdef1693": 12, "mathdef1694": 12, "mathdef1695": 12, "mathdef1696": 12, "mathdef1697": 12, "mathdef1698": 12, "mathdef1699": 12, "mathdef1700": 12, "mathdef1701": 12, "mathdef1702": 12, "mathdef1703": 12, "mathdef1704": 12, "mathdef1705": 12, "mathdef1706": 12, "mathdef1707": 12, "mathdef1708": 12, "mathdef1709": 12, "mathdef1710": 12, "mathdef1711": 12, "mathdef1712": 12, "mathdef1713": 12, "mathdef1714": 12, "mathdef1715": 12, "mathdef1716": 12, "mathdef1717": 12, "mathdef1718": 12, "mathdef1719": 12, "mathdef1720": 12, "mathdef1721": 12, "mathdef1722": 12, "mathdef1723": 12, "mathdef1724": 12, "mathdef1725": 12, "mathdef1726": 12, "mathdef1727": 12, "mathdef1728": 12, "mathdef1729": 12, "mathdef1730": 12, "mathdef1731": 12, "mathdef1732": 12, "mathdef1733": 12, "mathdef1734": 12, "mathdef1735": 12, "mathdef1736": 12, "mathdef1737": 12, "mathdef1738": 12, "mathdef1739": 12, "mathdef1740": 12, "mathdef1741": 12, "mathdef1742": 12, "mathdef1743": 12, "mathdef1744": 12, "mathdef1745": 12, "mathdef1746": 12, "mathdef1747": 12, "mathdef1748": 12, "mathdef1749": 12, "mathdef1750": 12, "mathdef1751": 12, "mathdef1752": 12, "mathdef1753": 12, "mathdef1754": 12, "mathdef1755": 12, "mathdef1756": 12, "mathdef1757": 12, "mathdef1758": 12, "mathdef1759": 12, "mathdef1760": 12, "mathdef1761": 12, "mathdef1762": 12, "mathdef1763": 12, "mathdef1764": 12, "mathdef1765": 12, "mathdef1766": 12, "mathdef1767": 12, "mathdef1768": 12, "mathdef1769": 12, "mathdef1770": 12, "mathdef1771": 12, "mathdef1772": 12, "mathdef1773": 12, "mathdef1774": 12, "mathdef1775": 12, "mathdef1776": 12, "mathdef1777": 12, "mathdef1778": 12, "mathdef1779": 12, "mathdef1780": 12, "mathdef1781": 12, "mathdef1782": 12, "mathdef1783": 12, "mathdef1784": 12, "mathdef1785": 12, "mathdef1786": 12, "mathdef1787": 12, "mathdef1788": 12, "mathdef1789": 12, "mathdef1790": 12, "satur": [12, 20, 30], "truncat": [12, 20], "wherea": 12, "mathdef1791": 12, "mathdef1792": 12, "mathdef1793": 12, "mathdef1794": 12, "mathdef1795": 12, "mathdef1796": 12, "mathdef1797": 12, "mathdef1798": 12, "mathdef1799": 12, "mathdef1800": 12, "mathdef1801": 12, "mathdef1802": 12, "mathdef1803": 12, "mathdef1804": 12, "mathdef1805": 12, "mathdef1806": 12, "mathdef1807": 12, "mathdef1808": 12, "mathdef1809": 12, "mathdef1810": 12, "mathdef1811": 12, "mathdef1812": 12, "mathdef1813": 12, "mathdef1814": 12, "mathdef1815": 12, "mathdef1816": 12, "mathdef1817": 12, "mathdef1818": 12, "mathdef1819": 12, "mathdef1820": 12, "mathdef1821": 12, "b_": 12, "mathdef1822": 12, "mathdef1823": 12, "mathdef1824": 12, "mathdef1825": 12, "mathdef1826": 12, "mathdef1827": 12, "mathdef1828": 12, "mathdef1829": 12, "mathdef1830": 12, "mathdef1831": 12, "mathdef1832": 12, "mathdef1833": 12, "mathdef1834": 12, "mathdef1835": 12, "mathdef1836": 12, "vechaslongerinstructionnam": 12, "mathdef1837": 12, "mathdef1838": 12, "mathdef1839": 12, "mathdef1840": 12, "mathdef1841": 12, "mathdef1842": 12, "mathdef1843": 12, "mathdef1844": 12, "mathdef1845": 12, "mathdef1846": 12, "mathdef1847": 12, "mathdef1848": 12, "mathdef1849": 12, "mathdef1850": 12, "mathdef1851": 12, "mathdef1852": 12, "mathdef1853": 12, "mathdef1854": 12, "mathdef1855": 12, "mathdef1856": 12, "mathdef1857": 12, "mathdef1858": 12, "mathdef1859": 12, "mathdef1860": 12, "mathdef1861": 12, "mathdef1862": 12, "mathdef1863": 12, "mathdef1864": 12, "mathdef1865": 12, "mathdef1866": 12, "mathdef1867": 12, "mathdef1868": 12, "mathdef1869": 12, "mathdef1870": 12, "mathdef1871": 12, "mathdef1872": 12, "mathdef1873": 12, "mathdef1874": 12, "214": 12, "mathdef1875": 12, "215": 12, "mathdef1876": 12, "216": 12, "mathdef1877": 12, "217": 12, "mathdef1878": 12, "218": 12, "mathdef1879": 12, "219": 12, "mathdef1880": 12, "mathdef1881": 12, "mathdef1882": 12, "mathdef1883": 12, "mathdef1884": 12, "mathdef1885": 12, "mathdef1886": 12, "mathdef1887": 12, "mathdef1888": 12, "mathdef1889": 12, "mathdef1890": 12, "mathdef1891": 12, "mathdef1892": 12, "mathdef1893": 12, "mathdef1894": 12, "mathdef1895": 12, "mathdef1896": 12, "mathdef1897": 12, "mathdef1898": 12, "mathdef1899": 12, "mathdef1900": 12, "mathdef1901": 12, "mathdef1902": 12, "mathdef1903": 12, "100": 12, "mathdef1904": 12, "101": 12, "mathdef1905": 12, "102": 12, "mathdef1906": 12, "107": 12, "mathdef1907": 12, "108": 12, "mathdef1908": 12, "109": 12, "mathdef1909": 12, "110": 12, "mathdef1910": 12, "111": 12, "mathdef1911": 12, "112": 12, "mathdef1912": 12, "113": 12, "mathdef1913": 12, "114": 12, "mathdef1914": 12, "115": 12, "mathdef1915": 12, "118": 12, "mathdef1916": 12, "119": 12, "mathdef1917": 12, "120": 12, "mathdef1918": 12, "121": 12, "mathdef1919": 12, "123": 12, "mathdef1920": 12, "124": 12, "mathdef1921": 12, "125": 12, "mathdef1922": 12, "128": [12, 18, 20, 21, 27, 30, 32, 33, 43], "mathdef1923": 12, "129": 12, "mathdef1924": 12, "130": 12, "mathdef1925": 12, "131": 12, "mathdef1926": 12, "132": 12, "mathdef1927": 12, "133": 12, "mathdef1928": 12, "134": 12, "mathdef1929": 12, "135": 12, "mathdef1930": 12, "136": 12, "mathdef1931": 12, "137": 12, "mathdef1932": 12, "138": 12, "mathdef1933": 12, "139": 12, "mathdef1934": 12, "140": 12, "mathdef1935": 12, "141": 12, "mathdef1936": 12, "142": 12, "mathdef1937": 12, "143": 12, "mathdef1938": 12, "144": 12, "mathdef1939": 12, "145": 12, "mathdef1940": 12, "146": 12, "mathdef1941": 12, "147": 12, "mathdef1942": 12, "149": 12, "mathdef1943": 12, "150": 12, "mathdef1944": 12, "151": 12, "mathdef1945": 12, "152": 12, "mathdef1946": 12, "153": 12, "mathdef1947": 12, "155": 12, "mathdef1948": 12, "156": 12, "mathdef1949": 12, "157": 12, "mathdef1950": 12, "158": 12, "mathdef1951": 12, "159": 12, "mathdef1952": 12, "126": 12, "mathdef1953": 12, "127": 12, "mathdef1954": 12, "160": 12, "mathdef1955": 12, "161": 12, "mathdef1956": 12, "163": 12, "mathdef1957": 12, "164": 12, "mathdef1958": 12, "167": 12, "mathdef1959": 12, "168": 12, "mathdef1960": 12, "169": 12, "mathdef1961": 12, "170": 12, "mathdef1962": 12, "171": 12, "mathdef1963": 12, "172": 12, "mathdef1964": 12, "173": 12, "mathdef1965": 12, "174": 12, "mathdef1966": 12, "177": 12, "mathdef1967": 12, "181": 12, "mathdef1968": 12, "182": 12, "mathdef1969": 12, "183": 12, "mathdef1970": 12, "184": 12, "mathdef1971": 12, "185": 12, "mathdef1972": 12, "186": 12, "mathdef1973": 12, "188": 12, "mathdef1974": 12, "189": 12, "mathdef1975": 12, "190": 12, "mathdef1976": 12, "191": 12, "mathdef1977": 12, "192": 12, "mathdef1978": 12, "193": 12, "mathdef1979": 12, "195": 12, "mathdef1980": 12, "196": 12, "mathdef1981": 12, "199": 12, "mathdef1982": 12, "200": 12, "mathdef1983": 12, "201": 12, "mathdef1984": 12, "202": 12, "mathdef1985": 12, "203": 12, "mathdef1986": 12, "204": 12, "mathdef1987": 12, "205": 12, "mathdef1988": 12, "206": 12, "mathdef1989": 12, "209": 12, "mathdef1990": 12, "213": 12, "mathdef1991": 12, "220": 12, "mathdef1992": 12, "221": 12, "mathdef1993": 12, "222": 12, "mathdef1994": 12, "223": 12, "mathdef1995": 12, "103": 12, "mathdef1996": 12, "104": 12, "mathdef1997": 12, "105": 12, "mathdef1998": 12, "106": 12, "mathdef1999": 12, "224": 12, "mathdef2000": 12, "225": 12, "mathdef2001": 12, "227": 12, "mathdef2002": 12, "228": 12, "mathdef2003": 12, "229": 12, "mathdef2004": 12, "230": 12, "mathdef2005": 12, "231": 12, "mathdef2006": 12, "232": 12, "mathdef2007": 12, "233": 12, "mathdef2008": 12, "234": 12, "mathdef2009": 12, "235": 12, "mathdef2010": 12, "116": 12, "mathdef2011": 12, "117": 12, "mathdef2012": 12, "122": 12, "mathdef2013": 12, "148": 12, "mathdef2014": 12, "236": 12, "mathdef2015": 12, "237": 12, "mathdef2016": 12, "239": 12, "mathdef2017": 12, "240": [12, 18], "mathdef2018": 12, "241": 12, "mathdef2019": 12, "242": 12, "mathdef2020": 12, "243": 12, "mathdef2021": 12, "244": 12, "mathdef2022": 12, "245": 12, "mathdef2023": 12, "246": 12, "mathdef2024": 12, "247": 12, "mathdef2025": 12, "248": 12, "mathdef2026": 12, "249": 12, "mathdef2027": 12, "250": 12, "mathdef2028": 12, "251": 12, "mathdef2029": 12, "252": 12, "mathdef2030": 12, "253": 12, "mathdef2031": 12, "254": 12, "mathdef2032": 12, "255": 12, "mathdef2033": 12, "mathdef2034": 12, "mathdef2035": 12, "mathdef2036": 12, "mathdef2037": 13, "mathdef2038": 13, "mathdef2039": 13, "mathdef2040": 13, "mathdef2041": 13, "mathdef2042": 13, "mathdef2043": 13, "mathdef2044": 13, "mathdef2045": 13, "mathdef2046": 13, "mathdef2047": 13, "mathdef2048": 13, "mathdef2049": 13, "mathdef2050": 13, "mathdef2051": 13, "mathdef2052": 13, "mathdef2053": 13, "mathdef2054": 13, "mathdef2055": 13, "mathdef2056": 13, "mathdef2057": 13, "mathdef2058": 13, "mathdef2059": 13, "mathdef2060": 13, "mathdef2061": 13, "mathdef2062": 13, "mathdef2063": 13, "mathdef2064": 13, "mathdef2065": 13, "mathdef2066": 13, "mathdef2067": 13, "mathdef2068": 13, "mathdef2069": 13, "mathdef2070": 13, "mathdef2071": 13, "mathdef2072": 13, "mathdef2073": 13, "mathdef2074": 13, "mathdef2075": 13, "organ": [13, 27, 31], "stream": [13, 16, 37], "being": [13, 26, 30, 41, 43], "parameter": 13, "cont": 13, "unknown": 13, "skip": 13, "navig": 13, "malform": [13, 15], "debug": [13, 26], "third": [13, 30], "parti": 13, "Their": [13, 32, 36], "uninterpret": [13, 15, 21, 31, 33, 40], "placement": 13, "nm": [13, 38], "d": [13, 18, 20, 38, 40], "mathdef2076": 13, "mathdef2077": 13, "mathdef2078": 13, "mathdef2079": 13, "_3": 13, "tab": [13, 18], "_4": [13, 36], "mathdef2080": 13, "mathdef2081": 13, "mathdef2082": 13, "unambigu": [13, 14, 34], "_5": 13, "glob": 13, "_6": 13, "_7": 13, "mathdef2083": 13, "mathdef2084": 13, "mathdef2085": 13, "mathdef2086": 13, "_8": [13, 20, 36], "seg": 13, "_9": 13, "el": [13, 18, 38], "mathdef2087": 13, "bitfield": 13, "maximum": [13, 14, 18, 21, 26, 32, 46], "simplifi": [13, 18, 19, 38], "preambl": 13, "mathdef2088": 13, "backslash0asm": 13, "insert": [13, 36, 38, 40, 43], "prescrib": [13, 30, 43], "mathdef2089": 13, "mathdef2090": 13, "mathdef2091": 13, "mathdef2092": 13, "mathdef2093": 13, "mathdef2094": 13, "mathdef2095": 13, "mathdef2096": 13, "neq": [13, 18, 20, 21, 30, 37, 38, 40], "e_i": [13, 45], "backward": [13, 18, 30, 36, 38], "made": [13, 18, 21, 33, 34], "veri": [13, 16], "infrequ": 13, "ever": 13, "compat": [13, 23, 32, 36, 38], "increment": [13, 26, 45], "mathdef2097": 14, "mathdef2098": 14, "mathdef2099": 14, "mathdef2100": 14, "mathdef2101": 14, "mathdef2102": 14, "mathdef2103": 14, "mathdef2104": 14, "mathdef2105": 14, "mathdef2106": 14, "mathdef2107": 14, "mathdef2108": 14, "mathdef2109": 14, "mathdef2110": 14, "mathdef2111": 14, "mathdef2112": 14, "mathdef2113": 14, "mathdef2114": 14, "mathdef2115": 14, "mathdef2116": 14, "mathdef2117": 14, "mathdef2118": 14, "mathdef2119": 14, "mathdef2120": 14, "mathdef2121": 14, "mathdef2122": 14, "mathdef2123": 14, "mathdef2124": 14, "mathdef2125": 14, "mathdef2126": 14, "mathdef2127": 14, "mathdef2128": 14, "mathdef2129": 14, "mathdef2130": 14, "mathdef2131": 14, "mathdef2132": 14, "mathdef2133": 14, "mathdef2134": 14, "mathdef2135": 14, "small": 14, "sint": 14, "mathdef2136": 14, "mathdef2137": 14, "mathdef2138": 14, "mathdef2139": 14, "mathdef2140": 14, "mathdef2141": 14, "mathdef2142": 14, "mathdef2143": 14, "mathdef2144": 14, "mathdef2145": 14, "mathdef2146": 14, "mathdef2147": 14, "mathdef2148": 14, "mathdef2149": 14, "mathdef2150": 14, "mathdef2151": 14, "mathdef2152": 14, "coexist": 14, "mathdef2153": 14, "mathdef2154": 14, "mathdef2155": 14, "mathdef2156": 14, "mathdef2157": 14, "mathdef2158": 14, "recogn": [14, 37], "mathdef2159": 14, "mathdef2160": 14, "ct": [14, 39], "mathdef2161": 14, "preced": [14, 19, 20, 31, 38, 43], "mathdef2162": 14, "mathdef2163": 14, "lim": [14, 39, 43], "mutabl": [14, 18, 21, 27, 31, 32, 43], "mathdef2164": 14, "mathdef2165": 14, "mathdef2166": 15, "mathdef2167": 15, "mathdef2168": 15, "mathdef2169": 15, "mathdef2170": 15, "mathdef2171": 15, "mathdef2172": 15, "mathdef2173": 15, "mathdef2174": 15, "mathdef2175": 15, "mathdef2176": 15, "mathdef2177": 15, "mathdef2178": 15, "mathdef2179": 15, "mathdef2180": 15, "mathdef2181": 15, "mathdef2182": 15, "mathdef2183": 15, "mathdef2184": 15, "mathdef2185": 15, "mathdef2186": 15, "mathdef2187": 15, "mathdef2188": 15, "mathdef2189": 15, "mathdef2190": 15, "mathdef2191": 15, "mathdef2192": 15, "mathdef2193": 15, "mathdef2194": 15, "mathdef2195": 15, "mathdef2196": 15, "mathdef2197": 15, "mathdef2198": 15, "mathdef2199": 15, "mathdef2200": 15, "mathdef2201": 15, "mathdef2202": 15, "mathdef2203": 15, "mathdef2204": 15, "mathdef2205": 15, "mathdef2206": 15, "mathdef2207": 15, "mathdef2208": 15, "total": 15, "exce": [15, 21], "mathdef2209": 15, "complement": [15, 20, 26, 27, 30, 33], "mathdef2210": 15, "mathdef2211": 15, "mathdef2212": 15, "trail": [15, 18, 20], "mathdef2213": 15, "mathdef2214": 15, "mathdef2215": 15, "mathdef2216": 15, "mathdef2217": 15, "mathdef2218": 15, "mathdef2219": 15, "mathdef2220": 15, "mathdef2221": 15, "enforc": [15, 30, 36, 38, 41, 43], "unus": 15, "mathdef2222": 15, "mathdef2223": 15, "mathdef2224": 15, "mathdef2225": 15, "mathdef2226": 15, "mathdef2227": 15, "llclllll": 15, "lcl": [15, 18, 19, 21, 32, 33, 38, 43], "mathdef2228": 15, "mathdef2229": 15, "mathdef2230": 15, "800": 15, "mathdef2231": 15, "mathdef2232": 15, "b_3": 15, "mathdef2233": 15, "mathdef2234": 15, "d800": [15, 40], "mathdef2235": 15, "e000": [15, 33, 37, 40], "mathdef2236": 15, "10000": 15, "mathdef2237": 15, "mathdef2238": 15, "mathdef2239": 15, "b_4": 15, "mathdef2240": 15, "mathdef2241": 15, "110000": [15, 40], "mathdef2242": 15, "mathdef2243": 15, "mathdef2244": 15, "mathdef2245": 15, "mathdef2246": 15, "mathdef2247": 16, "mathdef2248": 16, "mathdef2249": 16, "mathdef2250": 16, "mathdef2251": 16, "mathdef2252": 16, "mathdef2253": 16, "mathdef2254": 16, "mathdef2255": 16, "mathdef2256": 16, "mathdef2257": 16, "mathdef2258": 16, "mathdef2259": 16, "mathdef2260": 16, "mathdef2261": 16, "mathdef2262": 16, "mathdef2263": 16, "mathdef2264": 16, "mathdef2265": 16, "mathdef2266": 16, "mathdef2267": 16, "mathdef2268": 16, "mathdef2269": 16, "mathdef2270": 16, "mathdef2271": 16, "mathdef2272": 16, "mathdef2273": 16, "mathdef2274": 16, "mathdef2275": 16, "mathdef2276": 16, "mathdef2277": 16, "mathdef2278": 16, "mathdef2279": 16, "mathdef2280": 16, "mathdef2281": 16, "mathdef2282": 16, "mathdef2283": 16, "mathdef2284": 16, "mathdef2285": 16, "model": [16, 21, 26, 27, 30], "intuit": [16, 21, 30, 41], "mathemat": [16, 20, 41], "understand": [16, 41], "offer": [16, 41], "concis": [16, 28, 41], "wide": [16, 27, 41], "readili": [16, 41], "amen": [16, 41], "stylis": [16, 41], "wise": [16, 18, 20, 28, 30], "recent": [16, 43], "entir": [16, 21, 31, 38, 43, 45], "abort": [16, 18, 27, 30], "jump": [16, 18, 30], "target": [16, 20, 21, 27, 30], "next": [16, 21, 37], "crucial": 16, "give": [16, 41], "brief": [16, 41], "explan": [16, 41], "interest": [16, 41], "reader": [16, 41], "thorough": [16, 41], "found": [16, 41], "book": [16, 21, 41], "approach": [16, 41], "reduct": [16, 18, 21], "determinist": [16, 18, 20, 21, 43], "note": [16, 44], "tupl": 16, "later": [16, 31], "unnecessari": [16, 34], "clutter": [16, 34], "touch": 16, "conveni": [16, 20, 21, 34], "reduc": [16, 18, 21], "x_3": [16, 21], "ll": [16, 21, 34, 41], "x_4": 16, "x_5": 16, "x_6": 16, "benjamin": [16, 41], "pierc": [16, 41], "mit": [16, 41], "press": [16, 41], "2002": [16, 41], "mathdef2286": 17, "mathdef2287": 17, "mathdef2288": 17, "mathdef2289": 17, "mathdef2290": 17, "mathdef2291": 17, "mathdef2292": 17, "mathdef2293": 17, "mathdef2294": 17, "mathdef2295": 17, "mathdef2296": 17, "mathdef2297": 17, "mathdef2298": 17, "mathdef2299": 17, "mathdef2300": 17, "mathdef2301": 17, "mathdef2302": 17, "mathdef2303": 17, "mathdef2304": 17, "mathdef2305": 17, "mathdef2306": 17, "mathdef2307": 17, "mathdef2308": 17, "mathdef2309": 17, "mathdef2310": 17, "mathdef2311": 17, "mathdef2312": 17, "mathdef2313": 17, "mathdef2314": 17, "mathdef2315": 17, "mathdef2316": 17, "mathdef2317": 17, "mathdef2318": 17, "mathdef2319": 17, "mathdef2320": 17, "mathdef2321": 17, "mathdef2322": 17, "mathdef2323": 17, "mathdef2324": 17, "prose": [17, 18, 19, 42], "convers": [17, 18, 21, 27, 30], "mathdef2325": 18, "mathdef2326": 18, "mathdef2327": 18, "mathdef2328": 18, "mathdef2329": 18, "mathdef2330": 18, "mathdef2331": 18, "mathdef2332": 18, "mathdef2333": 18, "mathdef2334": 18, "mathdef2335": 18, "mathdef2336": 18, "mathdef2337": 18, "mathdef2338": 18, "mathdef2339": 18, "mathdef2340": 18, "mathdef2341": 18, "mathdef2342": 18, "mathdef2343": 18, "mathdef2344": 18, "mathdef2345": 18, "mathdef2346": 18, "mathdef2347": 18, "mathdef2348": 18, "mathdef2349": 18, "mathdef2350": 18, "mathdef2351": 18, "mathdef2352": 18, "mathdef2353": 18, "mathdef2354": 18, "mathdef2355": 18, "mathdef2356": 18, "mathdef2357": 18, "mathdef2358": 18, "mathdef2359": 18, "mathdef2360": 18, "mathdef2361": 18, "mathdef2362": 18, "mathdef2363": 18, "rcl": [18, 21], "scriptstyle32": [18, 28, 30, 32, 33, 43], "underli": [18, 20, 33], "i_1": 18, "i_k": 18, "z_1": 18, "z_k": 18, "And": 18, "i_2": 18, "via": [18, 19], "c_1": [18, 20], "spectec": 18, "imag": 18, "c_2": 18, "land": [18, 30, 33, 37, 41, 43], "rulepr": 18, "properli": 18, "ref_type_of": 18, "_num": 18, "help": [18, 20], "y_0": 18, "zt": [18, 43], "si": 18, "append": [18, 19, 28, 41, 45], "approx": [18, 43, 46], "_addr": 18, "_y": 18, "th": [18, 28, 41], "ai": 18, "multicolumn": 18, "greater": [18, 20, 44], "cnn": 18, "gb": 18, "ibyt": 18, "inverse_": 18, "displai": 18, "width": [18, 20, 21, 27, 30, 32, 33, 43], "eight": 18, "sum": 18, "subsequ": [18, 43], "c_i": [18, 20], "a_2": [18, 28], "getfield": 18, "earlier": [18, 36, 38], "zbyte": 18, "bitwis": [18, 20, 30], "n_k": 18, "v_1": 18, "v_2": 18, "c_3": 18, "ci": 18, "onto": 18, "256": [18, 33], "x_i": [18, 19, 46], "vextract": 18, "j_1": [18, 20], "j_2": [18, 20], "_t_1": 18, "low": [18, 26, 27, 30], "k_1": 18, "k_2": 18, "high": [18, 26, 30], "splice": 18, "seem": [18, 43], "wip": 18, "cj": 18, "d_2": [18, 20], "d_1": [18, 20], "merg": 18, "mayb": 18, "want": 18, "sai": [18, 41], "elabor": 18, "fail": [18, 19, 30], "referenc": [18, 21, 23, 27, 30, 31, 38, 39, 46], "practic": [18, 19, 21, 27, 32, 43], "avail": [18, 26, 27, 30, 31, 41], "lor": [18, 30, 43], "optim": [18, 30], "unalign": [18, 27], "violat": 18, "regardless": [18, 30, 32], "substanti": 18, "slower": 18, "hardwar": [18, 26, 30], "nbyte": 18, "inn": 18, "inverse_of_nbyt": 18, "m_k": 18, "w": [18, 20], "n_0": 18, "n_": 18, "m_0": [18, 33], "m_": 18, "continu": [18, 21, 28, 30], "acut": 18, "now": [18, 19], "al": 18, "phase": [18, 25], "sphinx": 18, "build": 18, "document": [18, 26, 39], "deepli": 18, "mainli": 18, "caus": [18, 30], "spuriou": 18, "tail": [18, 21, 30], "uniniti": [18, 21, 31], "therefor": [18, 21, 43], "fall": [18, 27, 37], "fi": 18, "regularli": 18, "consum": [18, 26, 30, 41, 43], "hf": 18, "singular": [18, 38, 39, 45], "ascrib": 18, "subsum": 18, "constitut": 18, "mathdef2364": 19, "mathdef2365": 19, "mathdef2366": 19, "mathdef2367": 19, "mathdef2368": 19, "mathdef2369": 19, "mathdef2370": 19, "mathdef2371": 19, "mathdef2372": 19, "mathdef2373": 19, "mathdef2374": 19, "mathdef2375": 19, "mathdef2376": 19, "mathdef2377": 19, "mathdef2378": 19, "mathdef2379": 19, "mathdef2380": 19, "mathdef2381": 19, "mathdef2382": 19, "mathdef2383": 19, "mathdef2384": 19, "mathdef2385": 19, "mathdef2386": 19, "mathdef2387": 19, "mathdef2388": 19, "mathdef2389": 19, "mathdef2390": 19, "mathdef2391": 19, "mathdef2392": 19, "mathdef2393": 19, "mathdef2394": 19, "mathdef2395": 19, "mathdef2396": 19, "mathdef2397": 19, "mathdef2398": 19, "mathdef2399": 19, "mathdef2400": 19, "mathdef2401": 19, "mathdef2402": 19, "primarili": [19, 41], "free": [19, 21, 31, 41, 45], "rlll": 19, "hfill": 19, "mathdef2403": 19, "mathdef2404": 19, "rllll": 19, "divis": [19, 20], "mathdef2405": 19, "mathdef2406": 19, "obtain": [19, 32], "insanti": 19, "s_3": 19, "s_4": 19, "s_5": 19, "allocx": 19, "s_0": 19, "s_n": 19, "s_": 19, "s_i": [19, 28], "pointwis": [19, 20, 44], "m_i": 19, "x_": 19, "x_n": 19, "easili": [19, 45], "unravel": 19, "suppli": [19, 21, 31], "how": [19, 26, 27, 30, 31, 36, 41, 43], "calcul": 19, "ij": 19, "ast_i": 19, "einstr": 19, "dinstr": 19, "rcll": 19, "runelem": 19, "rundata": 19, "mere": [19, 30, 31, 41, 45], "beforehand": 19, "stage": 19, "again": [19, 20, 30], "devic": [19, 26, 45], "rest": [19, 37], "observ": [19, 20, 21, 27, 32], "atom": [19, 28], "happen": 19, "interleav": [19, 21], "fit": [19, 43], "api": [19, 26, 27], "val_i": 19, "dummi": 19, "re": 19, "mathdef2407": 20, "mathdef2408": 20, "mathdef2409": 20, "mathdef2410": 20, "mathdef2411": 20, "mathdef2412": 20, "mathdef2413": 20, "mathdef2414": 20, "mathdef2415": 20, "mathdef2416": 20, "mathdef2417": 20, "mathdef2418": 20, "mathdef2419": 20, "mathdef2420": 20, "mathdef2421": 20, "mathdef2422": 20, "mathdef2423": 20, "mathdef2424": 20, "mathdef2425": 20, "mathdef2426": 20, "mathdef2427": 20, "mathdef2428": 20, "mathdef2429": 20, "mathdef2430": 20, "mathdef2431": 20, "mathdef2432": 20, "mathdef2433": 20, "mathdef2434": 20, "mathdef2435": 20, "mathdef2436": 20, "mathdef2437": 20, "mathdef2438": 20, "mathdef2439": 20, "mathdef2440": 20, "mathdef2441": 20, "mathdef2442": 20, "mathdef2443": 20, "mathdef2444": 20, "mathdef2445": 20, "primit": [20, 33], "singleton": 20, "equat": 20, "claus": [20, 38], "decreas": 20, "pm": [20, 33, 40], "mp": 20, "placehold": 20, "resolv": [20, 21, 31, 34, 38, 41], "chosen": [20, 43], "p_1": 20, "p_2": 20, "lift": [20, 30, 44, 45], "c_k": 20, "p": [20, 40], "signless": 20, "magnitud": [20, 33, 40], "infti": [20, 33, 40], "q": [20, 30, 40], "ration": 20, "exclud": 20, "biject": 20, "mathbb": 20, "clamp": 20, "invert": 20, "d_": 20, "d_0": 20, "veebar": 20, "_e": 20, "_m": [20, 21], "c_0": [20, 45], "c_": [20, 43], "li": [20, 30], "signific": [20, 33, 40], "modulo": 20, "subtract": 20, "toward": [20, 27], "dividend": 20, "negat": 20, "conjunct": 20, "disjunct": 20, "exclus": [20, 37], "shift": [20, 30, 36, 41, 43], "rotat": 20, "j_3": 20, "arithmet": [20, 33], "qualif": 20, "direct": [20, 30, 43], "payload": [20, 33, 40], "permit": 20, "stop": 20, "neither": [20, 32], "quiet": [20, 33], "signal": [20, 21, 33], "exact": [20, 30], "smallest": [20, 31, 33, 38], "power": [20, 30], "1024": 20, "candid": 20, "real": [20, 27], "significand": [20, 33], "closest": 20, "candidatepair": 20, "rectifi": 20, "cap": [20, 26], "cup": 20, "leftrightarrow": [20, 30, 43], "among": [20, 33], "unspecifi": 20, "infin": [20, 33, 40], "opposit": 20, "q_2": 20, "regard": [20, 36], "q_1": 20, "squar": 20, "root": 20, "largest": 20, "mathdef2446": 21, "mathdef2447": 21, "mathdef2448": 21, "mathdef2449": 21, "mathdef2450": 21, "mathdef2451": 21, "mathdef2452": 21, "mathdef2453": 21, "mathdef2454": 21, "mathdef2455": 21, "mathdef2456": 21, "mathdef2457": 21, "mathdef2458": 21, "mathdef2459": 21, "mathdef2460": 21, "mathdef2461": 21, "mathdef2462": 21, "mathdef2463": 21, "mathdef2464": 21, "mathdef2465": 21, "mathdef2466": 21, "mathdef2467": 21, "mathdef2468": 21, "mathdef2469": 21, "mathdef2470": 21, "mathdef2471": 21, "mathdef2472": 21, "mathdef2473": 21, "mathdef2474": 21, "mathdef2475": 21, "mathdef2476": 21, "mathdef2477": 21, "mathdef2478": 21, "mathdef2479": 21, "mathdef2480": 21, "mathdef2481": 21, "mathdef2482": 21, "mathdef2483": 21, "mathdef2484": 21, "four": [21, 27, 30], "ambigu": [21, 32], "reus": [21, 26, 38], "aforment": 21, "llcl": [21, 31, 36], "clear": [21, 32, 33], "life": 21, "techniqu": 21, "garbag": 21, "collect": [21, 31, 41], "ident": 21, "contrast": [21, 43], "arbitrarili": [21, 43], "natur": [21, 33, 36], "sometim": [21, 31, 33], "entiti": [21, 27, 31, 32], "65536": 21, "abbrevi": [21, 26, 32, 35, 40], "filter": [21, 31, 32], "fashion": [21, 31, 32], "keep": 21, "simpler": [21, 32], "taken": [21, 38], "restart": [21, 30], "proce": [21, 41], "look": [21, 37, 38, 41], "bubbl": 21, "ultim": 21, "abrupt": 21, "immin": 21, "unifi": 21, "analog": [21, 36], "marker": 21, "inner": 21, "outer": 21, "rather": 21, "elimin": 21, "courtesi": 21, "hole": 21, "hop": 21, "propag": 21, "mathdef2485": 22, "mathdef2486": 22, "mathdef2487": 22, "mathdef2488": 22, "mathdef2489": 22, "mathdef2490": 22, "mathdef2491": 22, "mathdef2492": 22, "mathdef2493": 22, "mathdef2494": 22, "mathdef2495": 22, "mathdef2496": 22, "mathdef2497": 22, "mathdef2498": 22, "mathdef2499": 22, "mathdef2500": 22, "mathdef2501": 22, "mathdef2502": 22, "mathdef2503": 22, "mathdef2504": 22, "mathdef2505": 22, "mathdef2506": 22, "mathdef2507": 22, "mathdef2508": 22, "mathdef2509": 22, "mathdef2510": 22, "mathdef2511": 22, "mathdef2512": 22, "mathdef2513": 22, "mathdef2514": 22, "mathdef2515": 22, "mathdef2516": 22, "mathdef2517": 22, "mathdef2518": 22, "mathdef2519": 22, "mathdef2520": 22, "mathdef2521": 22, "mathdef2522": 22, "mathdef2523": 22, "compar": [22, 30, 32, 41], "involv": [22, 30], "meaning": [22, 27, 41, 46], "mathdef2524": 23, "mathdef2525": 23, "mathdef2526": 23, "mathdef2527": 23, "mathdef2528": 23, "mathdef2529": 23, "mathdef2530": 23, "mathdef2531": 23, "mathdef2532": 23, "mathdef2533": 23, "mathdef2534": 23, "mathdef2535": 23, "mathdef2536": 23, "mathdef2537": 23, "mathdef2538": 23, "mathdef2539": 23, "mathdef2540": 23, "mathdef2541": 23, "mathdef2542": 23, "mathdef2543": 23, "mathdef2544": 23, "mathdef2545": 23, "mathdef2546": 23, "mathdef2547": 23, "mathdef2548": 23, "mathdef2549": 23, "mathdef2550": 23, "mathdef2551": 23, "mathdef2552": 23, "mathdef2553": 23, "mathdef2554": 23, "mathdef2555": 23, "mathdef2556": 23, "mathdef2557": 23, "mathdef2558": 23, "mathdef2559": 23, "mathdef2560": 23, "mathdef2561": 23, "mathdef2562": 23, "live": 23, "mathdef2563": 24, "mathdef2564": 24, "mathdef2565": 24, "mathdef2566": 24, "mathdef2567": 24, "mathdef2568": 24, "mathdef2569": 24, "mathdef2570": 24, "mathdef2571": 24, "mathdef2572": 24, "mathdef2573": 24, "mathdef2574": 24, "mathdef2575": 24, "mathdef2576": 24, "mathdef2577": 24, "mathdef2578": 24, "mathdef2579": 24, "mathdef2580": 24, "mathdef2581": 24, "mathdef2582": 24, "mathdef2583": 24, "mathdef2584": 24, "mathdef2585": 24, "mathdef2586": 24, "mathdef2587": 24, "mathdef2588": 24, "mathdef2589": 24, "mathdef2590": 24, "mathdef2591": 24, "mathdef2592": 24, "mathdef2593": 24, "mathdef2594": 24, "mathdef2595": 24, "mathdef2596": 24, "mathdef2597": 24, "mathdef2598": 24, "mathdef2599": 24, "mathdef2600": 24, "mathdef2601": 24, "draft": [24, 26], "2024": [24, 26], "editor": 24, "latest": 24, "tracker": 24, "mathdef2602": 25, "mathdef2603": 25, "mathdef2604": 25, "mathdef2605": 25, "mathdef2606": 25, "mathdef2607": 25, "mathdef2608": 25, "mathdef2609": 25, "mathdef2610": 25, "mathdef2611": 25, "mathdef2612": 25, "mathdef2613": 25, "mathdef2614": 25, "mathdef2615": 25, "mathdef2616": 25, "mathdef2617": 25, "mathdef2618": 25, "mathdef2619": 25, "mathdef2620": 25, "mathdef2621": 25, "mathdef2622": 25, "mathdef2623": 25, "mathdef2624": 25, "mathdef2625": 25, "mathdef2626": 25, "mathdef2627": 25, "mathdef2628": 25, "mathdef2629": 25, "mathdef2630": 25, "mathdef2631": 25, "mathdef2632": 25, "mathdef2633": 25, "mathdef2634": 25, "mathdef2635": 25, "mathdef2636": 25, "mathdef2637": 25, "mathdef2638": 25, "mathdef2639": 25, "mathdef2640": 25, "goal": 25, "secur": 25, "consider": 25, "concept": 25, "mathdef2641": 26, "mathdef2642": 26, "mathdef2643": 26, "mathdef2644": 26, "mathdef2645": 26, "mathdef2646": 26, "mathdef2647": 26, "mathdef2648": 26, "mathdef2649": 26, "mathdef2650": 26, "mathdef2651": 26, "mathdef2652": 26, "mathdef2653": 26, "mathdef2654": 26, "mathdef2655": 26, "mathdef2656": 26, "mathdef2657": 26, "mathdef2658": 26, "mathdef2659": 26, "mathdef2660": 26, "mathdef2661": 26, "mathdef2662": 26, "mathdef2663": 26, "mathdef2664": 26, "mathdef2665": 26, "mathdef2666": 26, "mathdef2667": 26, "mathdef2668": 26, "mathdef2669": 26, "mathdef2670": 26, "mathdef2671": 26, "mathdef2672": 26, "mathdef2673": 26, "mathdef2674": 26, "mathdef2675": 26, "mathdef2676": 26, "mathdef2677": 26, "mathdef2678": 26, "mathdef2679": 26, "portabl": 26, "level": [26, 27, 31], "effici": [26, 43], "compact": 26, "Its": [26, 30, 31, 46], "emploi": [26, 28], "develop": 26, "w3c": 26, "commun": 26, "supersed": 26, "fast": 26, "nativ": 26, "advantag": 26, "contemporari": 26, "sandbox": 26, "corrupt": 26, "breach": 26, "easi": 26, "independ": [26, 41], "modern": 26, "architectur": 26, "desktop": 26, "mobil": 26, "alik": 26, "privileg": 26, "platform": 26, "browser": 26, "stand": [26, 40, 41], "vm": 26, "interoper": 26, "univers": [26, 46], "transmit": 26, "modular": 26, "cach": 26, "jit": 26, "ahead": [26, 37], "aot": 26, "streamabl": 26, "soon": 26, "seen": 26, "paralleliz": 26, "task": 26, "broadli": 26, "across": [26, 41], "inspect": 26, "especi": 26, "beyond": [26, 27], "contract": 26, "acronym": 26, "break": [26, 30], "Of": 26, "cours": 26, "unsaf": 26, "layout": 26, "At": [26, 38], "virtual": [26, 27], "isa": 26, "encompass": 26, "varieti": 26, "concern": [26, 30], "textual": [26, 34, 40], "ambient": 26, "establish": 26, "polici": 26, "subject": 26, "translat": 26, "potenti": 26, "vulner": 26, "channel": 26, "attack": 26, "put": 26, "mitig": 26, "aforement": 26, "round": [26, 38, 40], "authorit": 26, "discrep": 26, "mathdef2680": 27, "mathdef2681": 27, "mathdef2682": 27, "mathdef2683": 27, "mathdef2684": 27, "mathdef2685": 27, "mathdef2686": 27, "mathdef2687": 27, "mathdef2688": 27, "mathdef2689": 27, "mathdef2690": 27, "mathdef2691": 27, "mathdef2692": 27, "mathdef2693": 27, "mathdef2694": 27, "mathdef2695": 27, "mathdef2696": 27, "mathdef2697": 27, "mathdef2698": 27, "mathdef2699": 27, "mathdef2700": 27, "mathdef2701": 27, "mathdef2702": 27, "mathdef2703": 27, "mathdef2704": 27, "mathdef2705": 27, "mathdef2706": 27, "mathdef2707": 27, "mathdef2708": 27, "mathdef2709": 27, "mathdef2710": 27, "mathdef2711": 27, "mathdef2712": 27, "mathdef2713": 27, "mathdef2714": 27, "mathdef2715": 27, "mathdef2716": 27, "mathdef2717": 27, "mathdef2718": 27, "assembli": 27, "around": [27, 36], "serv": [27, 31, 38], "full": 27, "matrix": 27, "opaqu": [27, 31, 32], "pointer": [27, 32], "sort": [27, 41, 44], "alter": 27, "caught": 27, "usabl": 27, "regist": 27, "emul": 27, "contigu": 27, "raw": [27, 31, 33, 38, 40], "grown": 27, "detail": 27, "complementari": 27, "view": 27, "anonym": [27, 38, 39], "conceptu": 27, "distribut": 27, "process": [27, 32, 33, 38, 46], "could": 27, "mathdef2719": 28, "mathdef2720": 28, "mathdef2721": 28, "mathdef2722": 28, "mathdef2723": 28, "mathdef2724": 28, "mathdef2725": 28, "mathdef2726": 28, "mathdef2727": 28, "mathdef2728": 28, "mathdef2729": 28, "mathdef2730": 28, "mathdef2731": 28, "mathdef2732": 28, "mathdef2733": 28, "mathdef2734": 28, "mathdef2735": 28, "mathdef2736": 28, "mathdef2737": 28, "mathdef2738": 28, "mathdef2739": 28, "mathdef2740": 28, "mathdef2741": 28, "mathdef2742": 28, "mathdef2743": 28, "mathdef2744": 28, "mathdef2745": 28, "mathdef2746": 28, "mathdef2747": 28, "mathdef2748": 28, "mathdef2749": 28, "mathdef2750": 28, "mathdef2751": 28, "mathdef2752": 28, "mathdef2753": 28, "mathdef2754": 28, "mathdef2755": 28, "mathdef2756": 28, "mathdef2757": 28, "san": 28, "serif": 28, "ital": 28, "ellips": 28, "rrl": [28, 30, 32, 33], "r_1": 28, "r_2": 28, "pth": 28, "mid": 28, "shorten": 28, "complex": [28, 33], "mathdef2758": 29, "mathdef2759": 29, "mathdef2760": 29, "mathdef2761": 29, "mathdef2762": 29, "mathdef2763": 29, "mathdef2764": 29, "mathdef2765": 29, "mathdef2766": 29, "mathdef2767": 29, "mathdef2768": 29, "mathdef2769": 29, "mathdef2770": 29, "mathdef2771": 29, "mathdef2772": 29, "mathdef2773": 29, "mathdef2774": 29, "mathdef2775": 29, "mathdef2776": 29, "mathdef2777": 29, "mathdef2778": 29, "mathdef2779": 29, "mathdef2780": 29, "mathdef2781": 29, "mathdef2782": 29, "mathdef2783": 29, "mathdef2784": 29, "mathdef2785": 29, "mathdef2786": 29, "mathdef2787": 29, "mathdef2788": 29, "mathdef2789": 29, "mathdef2790": 29, "mathdef2791": 29, "mathdef2792": 29, "mathdef2793": 29, "mathdef2794": 29, "mathdef2795": 29, "mathdef2796": 29, "mathdef2797": 30, "mathdef2798": 30, "mathdef2799": 30, "mathdef2800": 30, "mathdef2801": 30, "mathdef2802": 30, "mathdef2803": 30, "mathdef2804": 30, "mathdef2805": 30, "mathdef2806": 30, "mathdef2807": 30, "mathdef2808": 30, "mathdef2809": 30, "mathdef2810": 30, "mathdef2811": 30, "mathdef2812": 30, "mathdef2813": 30, "mathdef2814": 30, "mathdef2815": 30, "mathdef2816": 30, "mathdef2817": 30, "mathdef2818": 30, "mathdef2819": 30, "mathdef2820": 30, "mathdef2821": 30, "mathdef2822": 30, "mathdef2823": 30, "mathdef2824": 30, "mathdef2825": 30, "mathdef2826": 30, "mathdef2827": 30, "mathdef2828": 30, "mathdef2829": 30, "mathdef2830": 30, "mathdef2831": 30, "mathdef2832": 30, "mathdef2833": 30, "mathdef2834": 30, "mathdef2835": 30, "throw": 30, "awai": 30, "miss": 30, "8ex": [30, 32, 33], "subcategori": 30, "comparison": 30, "come": 30, "flavor": 30, "signed": [30, 33, 40], "scriptstyle1": 30, "scriptstyle2": 30, "scriptstyle4": 30, "scriptstyle8": [30, 32, 33, 43, 46], "scriptstyle16": [30, 32, 33, 43], "scriptstyle15": 30, "mulr": 30, "scriptstyle64": [30, 32, 33, 43], "llrl": [30, 31, 41], "scriptstyle128": [30, 32, 33, 43], "encount": 30, "downcast": 30, "success": 30, "scriptstyle31": [30, 32, 43], "slot": [30, 31], "lossless": 30, "math": 30, "delta": 30, "enough": 30, "newli": 30, "region": 30, "overlap": [30, 37, 38], "destin": 30, "retriev": 30, "freed": 30, "ww": 30, "unit": [30, 31, 32], "regionof": 30, "inlin": [30, 36, 38], "innermost": 30, "farther": 30, "outward": 30, "resum": 30, "statement": [30, 41], "attempt": 30, "shortcut": 30, "unwind": 30, "addition": 30, "heterogen": [30, 32], "calle": 30, "exhaust": 30, "hit": 30, "mathdef2836": 31, "mathdef2837": 31, "mathdef2838": 31, "mathdef2839": 31, "mathdef2840": 31, "mathdef2841": 31, "mathdef2842": 31, "mathdef2843": 31, "mathdef2844": 31, "mathdef2845": 31, "mathdef2846": 31, "mathdef2847": 31, "mathdef2848": 31, "mathdef2849": 31, "mathdef2850": 31, "mathdef2851": 31, "mathdef2852": 31, "mathdef2853": 31, "mathdef2854": 31, "mathdef2855": 31, "mathdef2856": 31, "mathdef2857": 31, "mathdef2858": 31, "mathdef2859": 31, "mathdef2860": 31, "mathdef2861": 31, "mathdef2862": 31, "mathdef2863": 31, "mathdef2864": 31, "mathdef2865": 31, "mathdef2866": 31, "mathdef2867": 31, "mathdef2868": 31, "mathdef2869": 31, "mathdef2870": 31, "mathdef2871": 31, "mathdef2872": 31, "mathdef2873": 31, "mathdef2874": 31, "deploy": 31, "llrll": [31, 39], "signatur": [31, 32], "upon": 31, "subrang": 31, "becom": [31, 36], "descriptor": [31, 36, 38], "go": 31, "necessarili": 31, "overload": 31, "mathdef2875": 32, "mathdef2876": 32, "mathdef2877": 32, "mathdef2878": 32, "mathdef2879": 32, "mathdef2880": 32, "mathdef2881": 32, "mathdef2882": 32, "mathdef2883": 32, "mathdef2884": 32, "mathdef2885": 32, "mathdef2886": 32, "mathdef2887": 32, "mathdef2888": 32, "mathdef2889": 32, "mathdef2890": 32, "mathdef2891": 32, "mathdef2892": 32, "mathdef2893": 32, "mathdef2894": 32, "mathdef2895": 32, "mathdef2896": 32, "mathdef2897": 32, "mathdef2898": 32, "mathdef2899": 32, "mathdef2900": 32, "mathdef2901": 32, "mathdef2902": 32, "mathdef2903": 32, "mathdef2904": 32, "mathdef2905": 32, "mathdef2906": 32, "mathdef2907": 32, "mathdef2908": 32, "mathdef2909": 32, "mathdef2910": 32, "mathdef2911": 32, "mathdef2912": 32, "mathdef2913": 32, "doubl": [32, 37], "transpar": 32, "interconvert": 32, "inhabit": [32, 41], "isomorph": 32, "dualli": 32, "receiv": 32, "eqt": 32, "mix": 32, "engin": 32, "tag": 32, "achiev": 32, "why": 32, "although": [32, 43], "characteris": 32, "accept": 32, "subclass": 32, "thereof": 32, "homogen": 32, "member": 32, "constrain": [32, 43], "xt": 32, "mathdef2914": 33, "mathdef2915": 33, "mathdef2916": 33, "mathdef2917": 33, "mathdef2918": 33, "mathdef2919": 33, "mathdef2920": 33, "mathdef2921": 33, "mathdef2922": 33, "mathdef2923": 33, "mathdef2924": 33, "mathdef2925": 33, "mathdef2926": 33, "mathdef2927": 33, "mathdef2928": 33, "mathdef2929": 33, "mathdef2930": 33, "mathdef2931": 33, "mathdef2932": 33, "mathdef2933": 33, "mathdef2934": 33, "mathdef2935": 33, "mathdef2936": 33, "mathdef2937": 33, "mathdef2938": 33, "mathdef2939": 33, "mathdef2940": 33, "mathdef2941": 33, "mathdef2942": 33, "mathdef2943": 33, "mathdef2944": 33, "mathdef2945": 33, "mathdef2946": 33, "mathdef2947": 33, "mathdef2948": 33, "mathdef2949": 33, "mathdef2950": 33, "mathdef2951": 33, "mathdef2952": 33, "simplest": 33, "0x00": 33, "0xff": 33, "normal": [33, 40], "m_1": [33, 38, 44], "m_2": [33, 38, 44], "m_m": 33, "subnorm": 33, "mantissa": 33, "unrel": 33, "decim": [33, 40], "interchang": 33, "d7ff": [33, 37], "10ffff": [33, 37], "1114112": 33, "mathdef2953": 34, "mathdef2954": 34, "mathdef2955": 34, "mathdef2956": 34, "mathdef2957": 34, "mathdef2958": 34, "mathdef2959": 34, "mathdef2960": 34, "mathdef2961": 34, "mathdef2962": 34, "mathdef2963": 34, "mathdef2964": 34, "mathdef2965": 34, "mathdef2966": 34, "mathdef2967": 34, "mathdef2968": 34, "mathdef2969": 34, "mathdef2970": 34, "mathdef2971": 34, "mathdef2972": 34, "mathdef2973": 34, "mathdef2974": 34, "mathdef2975": 34, "mathdef2976": 34, "mathdef2977": 34, "mathdef2978": 34, "mathdef2979": 34, "mathdef2980": 34, "mathdef2981": 34, "mathdef2982": 34, "mathdef2983": 34, "mathdef2984": 34, "mathdef2985": 34, "mathdef2986": 34, "mathdef2987": 34, "mathdef2988": 34, "mathdef2989": 34, "mathdef2990": 34, "mathdef2991": 34, "inherit": 34, "sugar": [34, 36], "wat": 34, "quot": 34, "mathdef2992": 34, "mathdef2993": 34, "drawn": 34, "t_n": 34, "white": [34, 35, 36, 40], "mathdef2994": 34, "mathdef2995": 34, "mathdef2996": 34, "mathdef2997": 34, "readabl": 34, "rewrit": 34, "equiv": [34, 36, 38, 39], "unnam": [34, 36], "write": 34, "mathdef2998": 35, "mathdef2999": 35, "mathdef3000": 35, "mathdef3001": 35, "mathdef3002": 35, "mathdef3003": 35, "mathdef3004": 35, "mathdef3005": 35, "mathdef3006": 35, "mathdef3007": 35, "mathdef3008": 35, "mathdef3009": 35, "mathdef3010": 35, "mathdef3011": 35, "mathdef3012": 35, "mathdef3013": 35, "mathdef3014": 35, "mathdef3015": 35, "mathdef3016": 35, "mathdef3017": 35, "mathdef3018": 35, "mathdef3019": 35, "mathdef3020": 35, "mathdef3021": 35, "mathdef3022": 35, "mathdef3023": 35, "mathdef3024": 35, "mathdef3025": 35, "mathdef3026": 35, "mathdef3027": 35, "mathdef3028": 35, "mathdef3029": 35, "mathdef3030": 35, "mathdef3031": 35, "mathdef3032": 35, "mathdef3033": 35, "mathdef3034": 35, "mathdef3035": 35, "mathdef3036": 35, "mathdef3037": 36, "mathdef3038": 36, "mathdef3039": 36, "mathdef3040": 36, "mathdef3041": 36, "mathdef3042": 36, "mathdef3043": 36, "mathdef3044": 36, "mathdef3045": 36, "mathdef3046": 36, "mathdef3047": 36, "mathdef3048": 36, "mathdef3049": 36, "mathdef3050": 36, "mathdef3051": 36, "mathdef3052": 36, "mathdef3053": 36, "mathdef3054": 36, "mathdef3055": 36, "mathdef3056": 36, "mathdef3057": 36, "mathdef3058": 36, "mathdef3059": 36, "mathdef3060": 36, "mathdef3061": 36, "mathdef3062": 36, "mathdef3063": 36, "mathdef3064": 36, "mathdef3065": 36, "mathdef3066": 36, "mathdef3067": 36, "mathdef3068": 36, "mathdef3069": 36, "mathdef3070": 36, "mathdef3071": 36, "mathdef3072": 36, "mathdef3073": 36, "mathdef3074": 36, "mathdef3075": 36, "visual": 36, "notin": 36, "absolut": 36, "shadow": 36, "inaccess": 36, "repeat": 36, "delimit": [36, 37], "mathdef3076": 36, "mathdef3077": 36, "mathdef3078": 36, "mathdef3079": 36, "mathdef3080": 36, "mathdef3081": 36, "mathdef3082": 36, "verbatim": 36, "mathdef3083": 36, "mathdef3084": 36, "mathdef3085": 36, "mathdef3086": 36, "mathdef3087": 36, "mathdef3088": 36, "mathdef3089": 36, "mathdef3090": 36, "mathdef3091": 36, "mathdef3092": 36, "mathdef3093": 36, "mathdef3094": 36, "mathdef3095": 36, "mathdef3096": 36, "mathdef3097": 36, "mathdef3098": 36, "mathdef3099": 36, "mathdef3100": 36, "mathdef3101": 36, "mathdef3102": 36, "mathdef3103": 36, "mathdef3104": 36, "mathdef3105": 36, "mathdef3106": 36, "mathdef3107": 36, "mathdef3108": 36, "mathdef3109": 36, "mathdef3110": 36, "mathdef3111": 36, "mathdef3112": 36, "mathdef3113": 36, "mathdef3114": 36, "mathdef3115": 36, "mathdef3116": 36, "mathdef3117": 36, "mathdef3118": 36, "mathdef3119": 36, "mathdef3120": 36, "mathdef3121": 36, "mathdef3122": 36, "mathdef3123": 36, "mathdef3124": 36, "mathdef3125": 36, "mathdef3126": 36, "mathdef3127": 36, "mathdef3128": 36, "mathdef3129": 36, "mathdef3130": 36, "mathdef3131": 36, "mathdef3132": 36, "mathdef3133": 36, "mathdef3134": 36, "mathdef3135": 36, "mathdef3136": 36, "mathdef3137": 36, "mathdef3138": 36, "mathdef3139": 36, "mathdef3140": 36, "mathdef3141": 36, "mathdef3142": 36, "mathdef3143": 36, "mathdef3144": 36, "mathdef3145": 36, "mathdef3146": 36, "mathdef3147": 36, "mathdef3148": 36, "mathdef3149": 36, "mathdef3150": 36, "mathdef3151": 36, "mathdef3152": 36, "mathdef3153": 36, "mathdef3154": 36, "mathdef3155": 36, "mathdef3156": 36, "mathdef3157": 36, "mathdef3158": 36, "mathdef3159": 36, "mathdef3160": 36, "mathdef3161": 36, "mathdef3162": 36, "mathdef3163": 36, "mathdef3164": 36, "mathdef3165": 36, "mathdef3166": 36, "mathdef3167": 36, "mathdef3168": 36, "mathdef3169": 36, "mathdef3170": 36, "mathdef3171": 36, "mathdef3172": 36, "mathdef3173": 36, "mathdef3174": 36, "mathdef3175": 36, "mathdef3176": 36, "mathdef3177": 36, "mathdef3178": 36, "mathdef3179": 36, "mathdef3180": 36, "mathdef3181": 36, "mathdef3182": 36, "mathdef3183": 36, "averylonginstructionnameforvectext": 36, "vechasreallylonginstructionnam": 36, "mathdef3184": 36, "mathdef3185": 36, "mathdef3186": 36, "mathdef3187": 36, "mathdef3188": 36, "mathdef3189": 36, "load8": 36, "mathdef3190": 36, "mathdef3191": 36, "load16": 36, "mathdef3192": 36, "mathdef3193": 36, "mathdef3194": 36, "mathdef3195": 36, "mathdef3196": 36, "mathdef3197": 36, "load32": 36, "mathdef3198": 36, "mathdef3199": 36, "load8x8": 36, "mathdef3200": 36, "mathdef3201": 36, "load16x4": 36, "mathdef3202": 36, "mathdef3203": 36, "load32x2": 36, "mathdef3204": 36, "mathdef3205": 36, "mathdef3206": 36, "mathdef3207": 36, "mathdef3208": 36, "load64": 36, "mathdef3209": 36, "mathdef3210": 36, "mathdef3211": 36, "mathdef3212": 36, "mathdef3213": 36, "mathdef3214": 36, "mathdef3215": 36, "mathdef3216": 36, "mathdef3217": 36, "mathdef3218": 36, "mathdef3219": 36, "mathdef3220": 36, "store8": 36, "mathdef3221": 36, "store16": 36, "mathdef3222": 36, "mathdef3223": 36, "mathdef3224": 36, "store32": 36, "mathdef3225": 36, "mathdef3226": 36, "mathdef3227": 36, "mathdef3228": 36, "store64": 36, "mathdef3229": 36, "mathdef3230": 36, "mathdef3231": 36, "mathdef3232": 36, "mathdef3233": 36, "mathdef3234": 36, "mathdef3235": 36, "mathdef3236": 36, "mathdef3237": 36, "mathdef3238": 36, "mathdef3239": 36, "mathdef3240": 36, "mathdef3241": 36, "mathdef3242": 36, "mathdef3243": 36, "mathdef3244": 36, "mathdef3245": 36, "mathdef3246": 36, "mathdef3247": 36, "mathdef3248": 36, "mathdef3249": 36, "mathdef3250": 36, "mathdef3251": 36, "mathdef3252": 36, "mathdef3253": 36, "mathdef3254": 36, "mathdef3255": 36, "mathdef3256": 36, "mathdef3257": 36, "mathdef3258": 36, "mathdef3259": 36, "mathdef3260": 36, "mathdef3261": 36, "mathdef3262": 36, "mathdef3263": 36, "mathdef3264": 36, "mathdef3265": 36, "mathdef3266": 36, "mathdef3267": 36, "mathdef3268": 36, "mathdef3269": 36, "mathdef3270": 36, "mathdef3271": 36, "mathdef3272": 36, "mathdef3273": 36, "mathdef3274": 36, "mathdef3275": 36, "mathdef3276": 36, "mathdef3277": 36, "mathdef3278": 36, "mathdef3279": 36, "mathdef3280": 36, "mathdef3281": 36, "mathdef3282": 36, "mathdef3283": 36, "mathdef3284": 36, "mathdef3285": 36, "mathdef3286": 36, "mathdef3287": 36, "mathdef3288": 36, "mathdef3289": 36, "mathdef3290": 36, "mathdef3291": 36, "mathdef3292": 36, "mathdef3293": 36, "mathdef3294": 36, "mathdef3295": 36, "mathdef3296": 36, "mathdef3297": 36, "mathdef3298": 36, "mathdef3299": 36, "thisisenough": 36, "mathdef3300": 36, "mathdef3301": 36, "mathdef3302": 36, "mathdef3303": 36, "mathdef3304": 36, "mathdef3305": 36, "mathdef3306": 36, "mathdef3307": 36, "mathdef3308": 36, "mathdef3309": 36, "mathdef3310": 36, "mathdef3311": 36, "mathdef3312": 36, "mathdef3313": 36, "mathdef3314": 36, "mathdef3315": 36, "mathdef3316": 36, "mathdef3317": 36, "mathdef3318": 36, "mathdef3319": 36, "mathdef3320": 36, "mathdef3321": 36, "mathdef3322": 36, "mathdef3323": 36, "mathdef3324": 36, "mathdef3325": 36, "mathdef3326": 36, "mathdef3327": 36, "mathdef3328": 36, "mathdef3329": 36, "mathdef3330": 36, "mathdef3331": 36, "mathdef3332": 36, "mathdef3333": 36, "mathdef3334": 36, "mathdef3335": 36, "mathdef3336": 36, "mathdef3337": 36, "mathdef3338": 36, "mathdef3339": 36, "mathdef3340": 36, "mathdef3341": 36, "mathdef3342": 36, "mathdef3343": 36, "mathdef3344": 36, "mathdef3345": 36, "mathdef3346": 36, "mathdef3347": 36, "mathdef3348": 36, "mathdef3349": 36, "mathdef3350": 36, "mathdef3351": 36, "mathdef3352": 36, "mathdef3353": 36, "mathdef3354": 36, "mathdef3355": 36, "mathdef3356": 36, "mathdef3357": 36, "mathdef3358": 36, "mathdef3359": 36, "mathdef3360": 36, "mathdef3361": 36, "mathdef3362": 36, "mathdef3363": 36, "mathdef3364": 36, "mathdef3365": 36, "mathdef3366": 36, "mathdef3367": 36, "mathdef3368": 36, "mathdef3369": 36, "mathdef3370": 36, "mathdef3371": 36, "mathdef3372": 36, "mathdef3373": 36, "mathdef3374": 36, "mathdef3375": 36, "mathdef3376": 36, "mathdef3377": 36, "mathdef3378": 36, "mathdef3379": 36, "mathdef3380": 36, "mathdef3381": 36, "mathdef3382": 36, "mathdef3383": 36, "mathdef3384": 36, "mathdef3385": 36, "mathdef3386": 36, "mathdef3387": 36, "mathdef3388": 36, "mathdef3389": 36, "mathdef3390": 36, "mathdef3391": 36, "mathdef3392": 36, "mathdef3393": 36, "mathdef3394": 36, "mathdef3395": 36, "mathdef3396": 36, "mathdef3397": 36, "mathdef3398": 36, "_i64": 36, "mathdef3399": 36, "_f32": 36, "mathdef3400": 36, "mathdef3401": 36, "_f64": 36, "mathdef3402": 36, "mathdef3403": 36, "mathdef3404": 36, "mathdef3405": 36, "mathdef3406": 36, "mathdef3407": 36, "_i32": 36, "mathdef3408": 36, "mathdef3409": 36, "mathdef3410": 36, "mathdef3411": 36, "mathdef3412": 36, "mathdef3413": 36, "mathdef3414": 36, "mathdef3415": 36, "mathdef3416": 36, "mathdef3417": 36, "mathdef3418": 36, "mathdef3419": 36, "mathdef3420": 36, "mathdef3421": 36, "mathdef3422": 36, "mathdef3423": 36, "mathdef3424": 36, "mathdef3425": 36, "mathdef3426": 36, "mathdef3427": 36, "mathdef3428": 36, "mathdef3429": 36, "mathdef3430": 36, "mathdef3431": 36, "extend8": 36, "mathdef3432": 36, "extend16": 36, "mathdef3433": 36, "mathdef3434": 36, "mathdef3435": 36, "extend32": 36, "mandatori": 36, "mathdef3436": 36, "mathdef3437": 36, "mathdef3438": 36, "mathdef3439": 36, "mathdef3440": 36, "mathdef3441": 36, "mathdef3442": 36, "mathdef3443": 36, "mathdef3444": 36, "mathdef3445": 36, "mathdef3446": 36, "mathdef3447": 36, "mathdef3448": 36, "mathdef3449": 36, "mathdef3450": 36, "mathdef3451": 36, "mathdef3452": 36, "mathdef3453": 36, "mathdef3454": 36, "mathdef3455": 36, "mathdef3456": 36, "mathdef3457": 36, "mathdef3458": 36, "mathdef3459": 36, "mathdef3460": 36, "mathdef3461": 36, "mathdef3462": 36, "mathdef3463": 36, "mathdef3464": 36, "mathdef3465": 36, "mathdef3466": 36, "mathdef3467": 36, "mathdef3468": 36, "mathdef3469": 36, "mathdef3470": 36, "mathdef3471": 36, "mathdef3472": 36, "mathdef3473": 36, "mathdef3474": 36, "mathdef3475": 36, "mathdef3476": 36, "mathdef3477": 36, "mathdef3478": 36, "mathdef3479": 36, "mathdef3480": 36, "mathdef3481": 36, "mathdef3482": 36, "mathdef3483": 36, "mathdef3484": 36, "mathdef3485": 36, "mathdef3486": 36, "mathdef3487": 36, "mathdef3488": 36, "mathdef3489": 36, "mathdef3490": 36, "mathdef3491": 36, "mathdef3492": 36, "mathdef3493": 36, "mathdef3494": 36, "mathdef3495": 36, "mathdef3496": 36, "mathdef3497": 36, "mathdef3498": 36, "mathdef3499": 36, "mathdef3500": 36, "mathdef3501": 36, "mathdef3502": 36, "mathdef3503": 36, "mathdef3504": 36, "mathdef3505": 36, "mathdef3506": 36, "mathdef3507": 36, "mathdef3508": 36, "mathdef3509": 36, "mathdef3510": 36, "mathdef3511": 36, "mathdef3512": 36, "mathdef3513": 36, "mathdef3514": 36, "mathdef3515": 36, "mathdef3516": 36, "mathdef3517": 36, "mathdef3518": 36, "mathdef3519": 36, "mathdef3520": 36, "mathdef3521": 36, "mathdef3522": 36, "mathdef3523": 36, "mathdef3524": 36, "mathdef3525": 36, "mathdef3526": 36, "mathdef3527": 36, "mathdef3528": 36, "mathdef3529": 36, "mathdef3530": 36, "mathdef3531": 36, "mathdef3532": 36, "mathdef3533": 36, "mathdef3534": 36, "mathdef3535": 36, "mathdef3536": 36, "mathdef3537": 36, "mathdef3538": 36, "mathdef3539": 36, "mathdef3540": 36, "mathdef3541": 36, "mathdef3542": 36, "mathdef3543": 36, "mathdef3544": 36, "mathdef3545": 36, "mathdef3546": 36, "mathdef3547": 36, "mathdef3548": 36, "mathdef3549": 36, "mathdef3550": 36, "mathdef3551": 36, "mathdef3552": 36, "mathdef3553": 36, "mathdef3554": 36, "mathdef3555": 36, "mathdef3556": 36, "mathdef3557": 36, "mathdef3558": 36, "mathdef3559": 36, "mathdef3560": 36, "mathdef3561": 36, "mathdef3562": 36, "mathdef3563": 36, "mathdef3564": 36, "mathdef3565": 36, "mathdef3566": 36, "mathdef3567": 36, "mathdef3568": 36, "mathdef3569": 36, "mathdef3570": 36, "mathdef3571": 36, "mathdef3572": 36, "mathdef3573": 36, "mathdef3574": 36, "mathdef3575": 36, "mathdef3576": 36, "mathdef3577": 36, "mathdef3578": 36, "mathdef3579": 36, "mathdef3580": 36, "mathdef3581": 36, "mathdef3582": 36, "mathdef3583": 36, "mathdef3584": 36, "mathdef3585": 36, "mathdef3586": 36, "mathdef3587": 36, "mathdef3588": 36, "mathdef3589": 36, "mathdef3590": 36, "mathdef3591": 36, "mathdef3592": 36, "mathdef3593": 36, "mathdef3594": 36, "mathdef3595": 36, "mathdef3596": 36, "mathdef3597": 36, "mathdef3598": 36, "mathdef3599": 36, "mathdef3600": 36, "mathdef3601": 36, "mathdef3602": 36, "mathdef3603": 36, "mathdef3604": 36, "mathdef3605": 36, "mathdef3606": 36, "mathdef3607": 36, "mathdef3608": 36, "mathdef3609": 36, "mathdef3610": 36, "mathdef3611": 36, "mathdef3612": 36, "mathdef3613": 36, "mathdef3614": 36, "mathdef3615": 36, "mathdef3616": 36, "mathdef3617": 36, "mathdef3618": 36, "mathdef3619": 36, "mathdef3620": 36, "mathdef3621": 36, "mathdef3622": 36, "mathdef3623": 36, "mathdef3624": 36, "mathdef3625": 36, "mathdef3626": 36, "mathdef3627": 36, "mathdef3628": 36, "mathdef3629": 36, "mathdef3630": 36, "mathdef3631": 36, "mathdef3632": 36, "mathdef3633": 36, "mathdef3634": 36, "mathdef3635": 36, "mathdef3636": 36, "mathdef3637": 36, "mathdef3638": 36, "mathdef3639": 36, "mathdef3640": 36, "mathdef3641": 36, "mathdef3642": 36, "mathdef3643": 36, "mathdef3644": 36, "mathdef3645": 36, "mathdef3646": 36, "mathdef3647": 36, "mathdef3648": 36, "mathdef3649": 36, "mathdef3650": 36, "mathdef3651": 36, "mathdef3652": 36, "mathdef3653": 36, "mathdef3654": 36, "mathdef3655": 36, "mathdef3656": 36, "mathdef3657": 36, "mathdef3658": 36, "mathdef3659": 36, "mathdef3660": 36, "head": 36, "mathdef3661": 36, "mathdef3662": 36, "lllll": 36, "mathdef3663": 36, "mathdef3664": 36, "mathdef3665": 36, "mathdef3666": 36, "mathdef3667": 36, "mathdef3668": 36, "mathdef3669": 36, "mathdef3670": 36, "mathdef3671": 36, "mathdef3672": 36, "mathdef3673": 36, "mathdef3674": 36, "mathdef3675": 36, "mathdef3676": 36, "hspace": 36, "3ex": [36, 43], "mathdef3677": 36, "mathdef3678": 36, "mathdef3679": 36, "mathdef3680": 36, "mathdef3681": 36, "mathdef3682": 36, "mathdef3683": 36, "mathdef3684": 36, "mathdef3685": 36, "mathdef3686": 36, "sole": 36, "mathdef3687": 36, "mathdef3688": 37, "mathdef3689": 37, "mathdef3690": 37, "mathdef3691": 37, "mathdef3692": 37, "mathdef3693": 37, "mathdef3694": 37, "mathdef3695": 37, "mathdef3696": 37, "mathdef3697": 37, "mathdef3698": 37, "mathdef3699": 37, "mathdef3700": 37, "mathdef3701": 37, "mathdef3702": 37, "mathdef3703": 37, "mathdef3704": 37, "mathdef3705": 37, "mathdef3706": 37, "mathdef3707": 37, "mathdef3708": 37, "mathdef3709": 37, "mathdef3710": 37, "mathdef3711": 37, "mathdef3712": 37, "mathdef3713": 37, "mathdef3714": 37, "mathdef3715": 37, "mathdef3716": 37, "mathdef3717": 37, "mathdef3718": 37, "mathdef3719": 37, "mathdef3720": 37, "mathdef3721": 37, "mathdef3722": 37, "mathdef3723": 37, "mathdef3724": 37, "mathdef3725": 37, "mathdef3726": 37, "mathdef3727": 37, "mathdef3728": 37, "mathdef3729": 37, "mathdef3730": 37, "mathdef3731": 37, "mathdef3732": 37, "mathdef3733": 37, "mathdef3734": 37, "longest": 37, "whitespac": 37, "mathdef3735": 37, "chapter": 37, "aris": 37, "mathdef3736": 37, "mathdef3737": 37, "mathdef3738": 37, "mathdef3739": 37, "disallow": 37, "effector": 37, "horizont": 37, "tabul": 37, "mathdef3740": 37, "line": 37, "feed": 37, "mathdef3741": 37, "carriag": 37, "mathdef3742": 37, "mathdef3743": 37, "mathdef3744": 37, "mathdef3745": 37, "mathdef3746": 37, "mathdef3747": 37, "mathdef3748": 37, "semicolon": [37, 40], "eof": 37, "mathdef3749": 37, "mathdef3750": 37, "mathdef3751": 37, "mathdef3752": 37, "mathdef3753": 37, "mathdef3754": 37, "mathdef3755": 37, "mathdef3756": 37, "disambigu": 37, "mathdef3757": 38, "mathdef3758": 38, "mathdef3759": 38, "mathdef3760": 38, "mathdef3761": 38, "mathdef3762": 38, "mathdef3763": 38, "mathdef3764": 38, "mathdef3765": 38, "mathdef3766": 38, "mathdef3767": 38, "mathdef3768": 38, "mathdef3769": 38, "mathdef3770": 38, "mathdef3771": 38, "mathdef3772": 38, "mathdef3773": 38, "mathdef3774": 38, "mathdef3775": 38, "mathdef3776": 38, "mathdef3777": 38, "mathdef3778": 38, "mathdef3779": 38, "mathdef3780": 38, "mathdef3781": 38, "mathdef3782": 38, "mathdef3783": 38, "mathdef3784": 38, "mathdef3785": 38, "mathdef3786": 38, "mathdef3787": 38, "mathdef3788": 38, "mathdef3789": 38, "mathdef3790": 38, "mathdef3791": 38, "mathdef3792": 38, "mathdef3793": 38, "mathdef3794": 38, "mathdef3795": 38, "llcllllllll": 38, "mathdef3796": 38, "mathdef3797": 38, "mathdef3798": 38, "mathdef3799": 38, "mathdef3800": 38, "mathdef3801": 38, "account": 38, "mathdef3802": 38, "mathdef3803": 38, "mathdef3804": 38, "immateri": 38, "mathdef3805": 38, "mathdef3806": 38, "mathdef3807": 38, "mathdef3808": 38, "mathdef3809": 38, "mathdef3810": 38, "mathdef3811": 38, "mathdef3812": 38, "mathdef3813": 38, "mathdef3814": 38, "mathdef3815": 38, "mathdef3816": 38, "mathdef3817": 38, "mathdef3818": 38, "mathdef3819": 38, "mathdef3820": 38, "mathdef3821": 38, "mathdef3822": 38, "mathdef3823": 38, "mathdef3824": 38, "mathdef3825": 38, "mathdef3826": 38, "mathdef3827": 38, "mathdef3828": 38, "mathdef3829": 38, "mathdef3830": 38, "mathdef3831": 38, "mathdef3832": 38, "mathdef3833": 38, "mathdef3834": 38, "mathdef3835": 38, "see": 38, "mathdef3836": 38, "mathdef3837": 38, "loc": 38, "mathdef3838": 38, "mathdef3839": 38, "mathdef3840": 38, "mathdef3841": 38, "mathdef3842": 38, "mathdef3843": 38, "mathdef3844": 38, "mathdef3845": 38, "mathdef3846": 38, "mathdef3847": 38, "mathdef3848": 38, "mathdef3849": 38, "mathdef3850": 38, "mathdef3851": 38, "mathdef3852": 38, "mathdef3853": 38, "mathdef3854": 38, "mathdef3855": 38, "mathdef3856": 38, "mathdef3857": 38, "mathdef3858": 38, "mathdef3859": 38, "mathdef3860": 38, "mathdef3861": 38, "mathdef3862": 38, "mathdef3863": 38, "mathdef3864": 38, "mathdef3865": 38, "mathdef3866": 38, "mathdef3867": 38, "mathdef3868": 38, "mathdef3869": 38, "mathdef3870": 38, "mathdef3871": 38, "mathdef3872": 38, "mathdef3873": 38, "mathdef3874": 38, "mathdef3875": 38, "mathdef3876": 38, "mathdef3877": 38, "repeatedli": 38, "mathdef3878": 38, "mathdef3879": 38, "mathdef3880": 38, "mathdef3881": 38, "mathdef3882": 38, "mathdef3883": 38, "mathdef3884": 38, "mathdef3885": 38, "mathdef3886": 38, "mathdef3887": 38, "mathdef3888": 38, "mathdef3889": 38, "mathdef3890": 38, "mathdef3891": 38, "mathdef3892": 38, "infer": 38, "mathdef3893": 38, "mathdef3894": 38, "mathdef3895": 38, "mathdef3896": 38, "mathdef3897": 38, "mathdef3898": 38, "mathdef3899": 38, "mathdef3900": 38, "mathdef3901": 38, "mathdef3902": 38, "mathdef3903": 38, "mathdef3904": 38, "mathdef3905": 38, "mathdef3906": 38, "mathdef3907": 38, "mathdef3908": 38, "mathdef3909": 38, "mathdef3910": 38, "mathdef3911": 38, "mathdef3912": 38, "mathdef3913": 38, "mathdef3914": 38, "mathdef3915": 38, "mathdef3916": 38, "mathdef3917": 38, "mathdef3918": 38, "mathdef3919": 38, "mathdef3920": 38, "mathdef3921": 38, "mathdef3922": 38, "mathdef3923": 38, "mathdef3924": 38, "mathdef3925": 38, "mathdef3926": 38, "mathdef3927": 38, "mathdef3928": 38, "mathdef3929": 38, "mathdef3930": 38, "mathdef3931": 38, "mathdef3932": 38, "mathdef3933": 38, "mathdef3934": 38, "mathdef3935": 38, "mathdef3936": 38, "mathdef3937": 38, "mathdef3938": 38, "mathdef3939": 38, "mathdef3940": 38, "mathdef3941": 38, "mathdef3942": 38, "mathdef3943": 38, "mathdef3944": 38, "mathdef3945": 38, "mathdef3946": 38, "mathdef3947": 38, "mathdef3948": 38, "mathdef3949": 38, "mathdef3950": 38, "mathdef3951": 38, "mathdef3952": 38, "mathdef3953": 38, "mathdef3954": 38, "mathdef3955": 38, "mathdef3956": 38, "mathdef3957": 38, "mathdef3958": 38, "mathdef3959": 38, "mathdef3960": 38, "mathdef3961": 38, "mathdef3962": 38, "mathdef3963": 38, "mathdef3964": 38, "mathdef3965": 38, "mathdef3966": 38, "mathdef3967": 38, "mathdef3968": 38, "mathdef3969": 38, "mathdef3970": 38, "mathdef3971": 38, "mathdef3972": 38, "mathdef3973": 38, "mathdef3974": 38, "mathdef3975": 38, "mathdef3976": 38, "mathdef3977": 38, "mathdef3978": 38, "mathdef3979": 38, "mathdef3980": 38, "mathdef3981": 38, "mathdef3982": 38, "mathdef3983": 38, "mathdef3984": 38, "mathdef3985": 38, "mathdef3986": 38, "mathdef3987": 38, "mathdef3988": 38, "mathdef3989": 38, "mathdef3990": 38, "mathdef3991": 38, "mathdef3992": 38, "mathdef3993": 38, "mathdef3994": 38, "mathdef3995": 38, "mathdef3996": 38, "mathdef3997": 38, "mathdef3998": 38, "mathdef3999": 38, "mathdef4000": 38, "mathdef4001": 38, "mathdef4002": 38, "mathdef4003": 38, "mathdef4004": 38, "mathdef4005": 38, "mathdef4006": 38, "mathdef4007": 38, "mathdef4008": 38, "mathdef4009": 38, "mathdef4010": 38, "mathdef4011": 38, "mathdef4012": 38, "mathdef4013": 38, "mathdef4014": 38, "mathdef4015": 38, "mathdef4016": 38, "mathdef4017": 38, "mathdef4018": 38, "mathdef4019": 38, "mathdef4020": 38, "mathdef4021": 38, "mathdef4022": 38, "mathdef4023": 38, "mathdef4024": 38, "mathdef4025": 38, "mathdef4026": 38, "mathdef4027": 38, "mathdef4028": 38, "mathdef4029": 38, "mathdef4030": 38, "mathdef4031": 38, "mathdef4032": 38, "mathdef4033": 38, "mathdef4034": 38, "mathdef4035": 38, "mathdef4036": 38, "mathdef4037": 38, "mathdef4038": 38, "mathdef4039": 38, "mathdef4040": 38, "mathdef4041": 38, "mathdef4042": 38, "mathdef4043": 38, "mathdef4044": 38, "mathdef4045": 38, "mathdef4046": 38, "mathdef4047": 38, "mathdef4048": 38, "mathdef4049": 38, "mathdef4050": 38, "mathdef4051": 38, "mathdef4052": 38, "mathdef4053": 38, "mathdef4054": 38, "mathdef4055": 38, "mathdef4056": 38, "mathdef4057": 38, "mathdef4058": 38, "mathdef4059": 38, "mathdef4060": 38, "mathdef4061": 38, "mathdef4062": 38, "mathdef4063": 38, "mathdef4064": 38, "mathdef4065": 38, "mathdef4066": 38, "mathdef4067": 38, "mathdef4068": 38, "mathdef4069": 38, "mathdef4070": 38, "mathdef4071": 38, "mathdef4072": 38, "mathdef4073": 38, "mathdef4074": 38, "mathdef4075": 38, "mathdef4076": 38, "mathdef4077": 38, "mathdef4078": 38, "mathdef4079": 38, "mathdef4080": 38, "mathdef4081": 38, "mathdef4082": 38, "mathdef4083": 38, "mathdef4084": 38, "mathdef4085": 38, "mathdef4086": 38, "mathdef4087": 38, "mathdef4088": 38, "mathdef4089": 38, "mathdef4090": 38, "mathdef4091": 38, "mathdef4092": 38, "mathdef4093": 38, "mathdef4094": 38, "mathdef4095": 38, "mathdef4096": 38, "mathdef4097": 38, "mathdef4098": 38, "mathdef4099": 38, "mathdef4100": 38, "mathdef4101": 38, "mathdef4102": 38, "mathdef4103": 38, "mathdef4104": 38, "mathdef4105": 38, "mathdef4106": 38, "mathdef4107": 38, "mathdef4108": 38, "mathdef4109": 38, "mathdef4110": 38, "mathdef4111": 38, "mathdef4112": 38, "mathdef4113": 38, "mathdef4114": 38, "mathdef4115": 38, "mathdef4116": 38, "mathdef4117": 38, "mathdef4118": 38, "mathdef4119": 38, "mathdef4120": 38, "mathdef4121": 38, "mathdef4122": 38, "mathdef4123": 38, "mathdef4124": 38, "mathdef4125": 38, "mathdef4126": 38, "mathdef4127": 38, "mathdef4128": 38, "mathdef4129": 38, "mathdef4130": 38, "mathdef4131": 38, "mathdef4132": 38, "mathdef4133": 38, "mathdef4134": 38, "mathdef4135": 38, "documentari": 38, "role": 38, "tool": 38, "cllll": 38, "mathdef4136": 38, "mathdef4137": 38, "mathdef4138": 38, "idc": 38, "clll": 38, "ty": 38, "fn": 38, "me": 38, "gl": 38, "namespac": 38, "mathdef4139": 38, "mathdef4140": 38, "mathdef4141": 38, "mathdef4142": 38, "mathdef4143": 38, "mathdef4144": 38, "idf": 38, "mathdef4145": 38, "mathdef4146": 38, "mathdef4147": 38, "mathdef4148": 38, "mathdef4149": 38, "mathdef4150": 38, "mathdef4151": 38, "mathdef4152": 38, "mathdef4153": 38, "mathdef4154": 38, "mathdef4155": 38, "mathdef4156": 38, "mathdef4157": 38, "mathdef4158": 38, "mathdef4159": 38, "mathdef4160": 38, "mathdef4161": 38, "mathdef4162": 38, "mathdef4163": 38, "mathdef4164": 38, "mathdef4165": 38, "mathdef4166": 38, "mathdef4167": 38, "mathdef4168": 38, "mathdef4169": 38, "mathdef4170": 38, "mathdef4171": 38, "mathdef4172": 38, "mathdef4173": 38, "mathdef4174": 38, "mathdef4175": 38, "mathdef4176": 38, "mathdef4177": 38, "mathdef4178": 38, "mathdef4179": 38, "mathdef4180": 38, "mathdef4181": 38, "mathdef4182": 38, "mathdef4183": 38, "mathdef4184": 38, "mathdef4185": 38, "mathdef4186": 38, "mathdef4187": 38, "mathdef4188": 38, "mathdef4189": 38, "mathdef4190": 38, "mathdef4191": 38, "mathdef4192": 38, "mathdef4193": 38, "tfield": 38, "mathdef4194": 38, "mathdef4195": 38, "mathdef4196": 38, "mathdef4197": 38, "mathdef4198": 38, "mathdef4199": 38, "mathdef4200": 38, "mathdef4201": 38, "mathdef4202": 38, "mathdef4203": 38, "toplevel": 38, "mathdef4204": 38, "mathdef4205": 38, "mathdef4206": 38, "mathdef4207": 39, "mathdef4208": 39, "mathdef4209": 39, "mathdef4210": 39, "mathdef4211": 39, "mathdef4212": 39, "mathdef4213": 39, "mathdef4214": 39, "mathdef4215": 39, "mathdef4216": 39, "mathdef4217": 39, "mathdef4218": 39, "mathdef4219": 39, "mathdef4220": 39, "mathdef4221": 39, "mathdef4222": 39, "mathdef4223": 39, "mathdef4224": 39, "mathdef4225": 39, "mathdef4226": 39, "mathdef4227": 39, "mathdef4228": 39, "mathdef4229": 39, "mathdef4230": 39, "mathdef4231": 39, "mathdef4232": 39, "mathdef4233": 39, "mathdef4234": 39, "mathdef4235": 39, "mathdef4236": 39, "mathdef4237": 39, "mathdef4238": 39, "mathdef4239": 39, "mathdef4240": 39, "mathdef4241": 39, "mathdef4242": 39, "mathdef4243": 39, "mathdef4244": 39, "mathdef4245": 39, "mathdef4246": 39, "mathdef4247": 39, "mathdef4248": 39, "mathdef4249": 39, "mathdef4250": 39, "mathdef4251": 39, "mathdef4252": 39, "mathdef4253": 39, "mathdef4254": 39, "mathdef4255": 39, "mathdef4256": 39, "mathdef4257": 39, "mathdef4258": 39, "mathdef4259": 39, "mathdef4260": 39, "mathdef4261": 39, "mathdef4262": 39, "mathdef4263": 39, "mathdef4264": 39, "mathdef4265": 39, "mathdef4266": 39, "mathdef4267": 39, "mathdef4268": 39, "mathdef4269": 39, "mathdef4270": 39, "mathdef4271": 39, "mathdef4272": 39, "mathdef4273": 39, "mathdef4274": 39, "mathdef4275": 39, "mathdef4276": 39, "mathdef4277": 39, "mathdef4278": 39, "mathdef4279": 39, "mathdef4280": 39, "mathdef4281": 39, "mathdef4282": 39, "mathdef4283": 39, "mathdef4284": 39, "mathdef4285": 39, "mathdef4286": 39, "mathdef4287": 39, "mathdef4288": 39, "mathdef4289": 39, "mathdef4290": 39, "mathdef4291": 39, "mathdef4292": 39, "mathdef4293": 39, "mathdef4294": 39, "mathdef4295": 39, "mathdef4296": 39, "mathdef4297": 39, "mathdef4298": 39, "mathdef4299": 39, "mathdef4300": 39, "mathdef4301": 39, "mathdef4302": 39, "mathdef4303": 39, "mathdef4304": 39, "mathdef4305": 39, "mathdef4306": 39, "mathdef4307": 39, "mathdef4308": 39, "mathdef4309": 39, "mathdef4310": 39, "mathdef4311": 39, "mathdef4312": 39, "mathdef4313": 39, "mathdef4314": 39, "mathdef4315": 39, "mathdef4316": 39, "mathdef4317": 39, "mathdef4318": 39, "mathdef4319": 39, "mathdef4320": 39, "mathdef4321": 39, "mathdef4322": 39, "mathdef4323": 39, "mathdef4324": 39, "mathdef4325": 39, "mathdef4326": 39, "mathdef4327": 39, "mathdef4328": 39, "mathdef4329": 39, "mathdef4330": 39, "mathdef4331": 39, "mathdef4332": 39, "mathdef4333": 39, "mathdef4334": 39, "mathdef4335": 39, "mathdef4336": 39, "mathdef4337": 39, "mathdef4338": 39, "mathdef4339": 39, "mathdef4340": 39, "mathdef4341": 39, "mathdef4342": 39, "mathdef4343": 39, "mathdef4344": 39, "mathdef4345": 39, "mathdef4346": 39, "mathdef4347": 39, "mathdef4348": 39, "mathdef4349": 39, "mathdef4350": 39, "mathdef4351": 39, "mathdef4352": 39, "mathdef4353": 39, "mathdef4354": 39, "mathdef4355": 39, "mathdef4356": 39, "mathdef4357": 39, "mathdef4358": 39, "mathdef4359": 39, "mathdef4360": 39, "mathdef4361": 39, "mathdef4362": 39, "mathdef4363": 39, "mathdef4364": 39, "mathdef4365": 39, "mathdef4366": 39, "mathdef4367": 39, "mathdef4368": 39, "mathdef4369": 39, "mathdef4370": 39, "mathdef4371": 39, "mathdef4372": 39, "mathdef4373": 39, "mathdef4374": 39, "mathdef4375": 39, "mathdef4376": 39, "mathdef4377": 39, "mathdef4378": 39, "mathdef4379": 39, "mathdef4380": 39, "mathdef4381": 39, "mathdef4382": 39, "mathdef4383": 39, "mathdef4384": 39, "mathdef4385": 39, "mathdef4386": 39, "mathdef4387": 39, "mathdef4388": 39, "mathdef4389": 39, "mathdef4390": 40, "mathdef4391": 40, "mathdef4392": 40, "mathdef4393": 40, "mathdef4394": 40, "mathdef4395": 40, "mathdef4396": 40, "mathdef4397": 40, "mathdef4398": 40, "mathdef4399": 40, "mathdef4400": 40, "mathdef4401": 40, "mathdef4402": 40, "mathdef4403": 40, "mathdef4404": 40, "mathdef4405": 40, "mathdef4406": 40, "mathdef4407": 40, "mathdef4408": 40, "mathdef4409": 40, "mathdef4410": 40, "mathdef4411": 40, "mathdef4412": 40, "mathdef4413": 40, "mathdef4414": 40, "mathdef4415": 40, "mathdef4416": 40, "mathdef4417": 40, "mathdef4418": 40, "mathdef4419": 40, "mathdef4420": 40, "mathdef4421": 40, "mathdef4422": 40, "mathdef4423": 40, "mathdef4424": 40, "mathdef4425": 40, "mathdef4426": 40, "mathdef4427": 40, "mathdef4428": 40, "underscor": 40, "mathdef4429": 40, "mathdef4430": 40, "mathdef4431": 40, "mathdef4432": 40, "mathdef4433": 40, "mathdef4434": 40, "mathdef4435": 40, "mathdef4436": 40, "mathdef4437": 40, "h": 40, "mathdef4438": 40, "lie": 40, "mathdef4439": 40, "mathdef4440": 40, "fraction": 40, "mathdef4441": 40, "mathdef4442": 40, "mathdef4443": 40, "mathdef4444": 40, "mathdef4445": 40, "mathdef4446": 40, "mathdef4447": 40, "mathdef4448": 40, "mathdef4449": 40, "mathdef4450": 40, "mathdef4451": 40, "mathdef4452": 40, "mathdef4453": 40, "mathdef4454": 40, "mathdef4455": 40, "mathdef4456": 40, "mathdef4457": 40, "mathdef4458": 40, "mathdef4459": 40, "mathdef4460": 40, "mathdef4461": 40, "mathdef4462": 40, "overflow": 40, "mathdef4463": 40, "inf": 40, "mathdef4464": 40, "mathdef4465": 40, "quotat": 40, "mathdef4466": 40, "backslash": 40, "mathdef4467": 40, "escap": 40, "mathdef4468": 40, "mathdef4469": 40, "mathdef4470": 40, "hh": 40, "mathdef4471": 40, "mathdef4472": 40, "mathdef4473": 40, "mathdef4474": 40, "mathdef4475": 40, "mathdef4476": 40, "mathdef4477": 40, "mathdef4478": 40, "mathdef4479": 40, "mathdef4480": 40, "mathdef4481": 40, "mathdef4482": 40, "mathdef4483": 40, "mathdef4484": 40, "mathdef4485": 40, "mathdef4486": 40, "mathdef4487": 40, "mathdef4488": 40, "mathdef4489": 40, "mathdef4490": 40, "mathdef4491": 40, "mathdef4492": 40, "presum": 40, "correctli": 40, "lieu": 40, "mathdef4493": 40, "comma": 40, "mathdef4494": 40, "mathdef4495": 40, "mathdef4496": 40, "mathdef4497": 40, "mathdef4498": 40, "mathdef4499": 40, "mathdef4500": 40, "mathdef4501": 40, "mathdef4502": 40, "mathdef4503": 40, "mathdef4504": 40, "mathdef4505": 40, "mathdef4506": 40, "mathdef4507": 40, "mathdef4508": 40, "mathdef4509": 40, "mathdef4510": 40, "mathdef4511": 40, "mathdef4512": 40, "mathdef4513": 40, "mathdef4514": 40, "mathdef4515": 40, "mathdef4516": 40, "mathdef4517": 40, "mathdef4518": 40, "mathdef4519": 40, "hat": 40, "mathdef4520": 40, "mathdef4521": 40, "grave": 40, "mathdef4522": 40, "mathdef4523": 40, "tild": 40, "mathdef4524": 41, "mathdef4525": 41, "mathdef4526": 41, "mathdef4527": 41, "mathdef4528": 41, "mathdef4529": 41, "mathdef4530": 41, "mathdef4531": 41, "mathdef4532": 41, "mathdef4533": 41, "mathdef4534": 41, "mathdef4535": 41, "mathdef4536": 41, "mathdef4537": 41, "mathdef4538": 41, "mathdef4539": 41, "mathdef4540": 41, "mathdef4541": 41, "mathdef4542": 41, "mathdef4543": 41, "mathdef4544": 41, "mathdef4545": 41, "mathdef4546": 41, "mathdef4547": 41, "mathdef4548": 41, "mathdef4549": 41, "mathdef4550": 41, "mathdef4551": 41, "mathdef4552": 41, "mathdef4553": 41, "mathdef4554": 41, "mathdef4555": 41, "mathdef4556": 41, "mathdef4557": 41, "mathdef4558": 41, "mathdef4559": 41, "mathdef4560": 41, "mathdef4561": 41, "mathdef4562": 41, "piec": 41, "formul": 41, "By": 41, "virtu": 41, "approxim": 41, "union": 41, "defnit": 41, "absenc": 41, "rise": 41, "iso": 41, "behaviour": 41, "elsewher": 41, "spell": 41, "accordingli": [41, 43], "front": 41, "_c": [41, 44], "said": 41, "embodi": 41, "proposit": 41, "deduct": 41, "premis": [41, 44], "conclus": 41, "big": 41, "axiom": 41, "judgment": 41, "ill": 41, "mathdef4563": 42, "mathdef4564": 42, "mathdef4565": 42, "mathdef4566": 42, "mathdef4567": 42, "mathdef4568": 42, "mathdef4569": 42, "mathdef4570": 42, "mathdef4571": 42, "mathdef4572": 42, "mathdef4573": 42, "mathdef4574": 42, "mathdef4575": 42, "mathdef4576": 42, "mathdef4577": 42, "mathdef4578": 42, "mathdef4579": 42, "mathdef4580": 42, "mathdef4581": 42, "mathdef4582": 42, "mathdef4583": 42, "mathdef4584": 42, "mathdef4585": 42, "mathdef4586": 42, "mathdef4587": 42, "mathdef4588": 42, "mathdef4589": 42, "mathdef4590": 42, "mathdef4591": 42, "mathdef4592": 42, "mathdef4593": 42, "mathdef4594": 42, "mathdef4595": 42, "mathdef4596": 42, "mathdef4597": 42, "mathdef4598": 42, "mathdef4599": 42, "mathdef4600": 42, "mathdef4601": 42, "mathdef4602": 43, "mathdef4603": 43, "mathdef4604": 43, "mathdef4605": 43, "mathdef4606": 43, "mathdef4607": 43, "mathdef4608": 43, "mathdef4609": 43, "mathdef4610": 43, "mathdef4611": 43, "mathdef4612": 43, "mathdef4613": 43, "mathdef4614": 43, "mathdef4615": 43, "mathdef4616": 43, "mathdef4617": 43, "mathdef4618": 43, "mathdef4619": 43, "mathdef4620": 43, "mathdef4621": 43, "mathdef4622": 43, "mathdef4623": 43, "mathdef4624": 43, "mathdef4625": 43, "mathdef4626": 43, "mathdef4627": 43, "mathdef4628": 43, "mathdef4629": 43, "mathdef4630": 43, "mathdef4631": 43, "mathdef4632": 43, "mathdef4633": 43, "mathdef4634": 43, "mathdef4635": 43, "mathdef4636": 43, "mathdef4637": 43, "mathdef4638": 43, "mathdef4639": 43, "mathdef4640": 43, "degre": 43, "transfer": 43, "displaystyl": [43, 46], "nt": 43, "liberti": 43, "yt": 43, "sh": 43, "imm": 43, "lookup": 43, "l_i": 43, "t_l": 43, "anyth": 43, "t_3": 43, "t_4": 43, "intermedi": 43, "vt": 43, "mathdef4641": 44, "mathdef4642": 44, "mathdef4643": 44, "mathdef4644": 44, "mathdef4645": 44, "mathdef4646": 44, "mathdef4647": 44, "mathdef4648": 44, "mathdef4649": 44, "mathdef4650": 44, "mathdef4651": 44, "mathdef4652": 44, "mathdef4653": 44, "mathdef4654": 44, "mathdef4655": 44, "mathdef4656": 44, "mathdef4657": 44, "mathdef4658": 44, "mathdef4659": 44, "mathdef4660": 44, "mathdef4661": 44, "mathdef4662": 44, "mathdef4663": 44, "mathdef4664": 44, "mathdef4665": 44, "mathdef4666": 44, "mathdef4667": 44, "mathdef4668": 44, "mathdef4669": 44, "mathdef4670": 44, "mathdef4671": 44, "mathdef4672": 44, "mathdef4673": 44, "mathdef4674": 44, "mathdef4675": 44, "mathdef4676": 44, "mathdef4677": 44, "mathdef4678": 44, "mathdef4679": 44, "heaptype_1": 44, "heaptype_2": 44, "t_": 44, "t_x": 44, "contravari": 44, "covari": 44, "incorpor": 44, "vacuous": 44, "2i": 44, "1i": 44, "_equivalence_": 44, "fomer": 44, "mathdef4680": 45, "mathdef4681": 45, "mathdef4682": 45, "mathdef4683": 45, "mathdef4684": 45, "mathdef4685": 45, "mathdef4686": 45, "mathdef4687": 45, "mathdef4688": 45, "mathdef4689": 45, "mathdef4690": 45, "mathdef4691": 45, "mathdef4692": 45, "mathdef4693": 45, "mathdef4694": 45, "mathdef4695": 45, "mathdef4696": 45, "mathdef4697": 45, "mathdef4698": 45, "mathdef4699": 45, "mathdef4700": 45, "mathdef4701": 45, "mathdef4702": 45, "mathdef4703": 45, "mathdef4704": 45, "mathdef4705": 45, "mathdef4706": 45, "mathdef4707": 45, "mathdef4708": 45, "mathdef4709": 45, "mathdef4710": 45, "mathdef4711": 45, "mathdef4712": 45, "mathdef4713": 45, "mathdef4714": 45, "mathdef4715": 45, "mathdef4716": 45, "mathdef4717": 45, "mathdef4718": 45, "despit": 45, "_output_": 45, "permiss": 45, "apppend": 45, "idt": 45, "itt": 45, "imt": 45, "sequenti": 45, "mathdef4719": 46, "mathdef4720": 46, "mathdef4721": 46, "mathdef4722": 46, "mathdef4723": 46, "mathdef4724": 46, "mathdef4725": 46, "mathdef4726": 46, "mathdef4727": 46, "mathdef4728": 46, "mathdef4729": 46, "mathdef4730": 46, "mathdef4731": 46, "mathdef4732": 46, "mathdef4733": 46, "mathdef4734": 46, "mathdef4735": 46, "mathdef4736": 46, "mathdef4737": 46, "mathdef4738": 46, "mathdef4739": 46, "mathdef4740": 46, "mathdef4741": 46, "mathdef4742": 46, "mathdef4743": 46, "mathdef4744": 46, "mathdef4745": 46, "mathdef4746": 46, "mathdef4747": 46, "mathdef4748": 46, "mathdef4749": 46, "mathdef4750": 46, "mathdef4751": 46, "mathdef4752": 46, "mathdef4753": 46, "mathdef4754": 46, "mathdef4755": 46, "mathdef4756": 46, "mathdef4757": 46, "eas": 46, "y_i": 46, "x_0": 46}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"valid": [0, 4, 9, 42, 46], "algorithm": 0, "data": [0, 9, 13, 18, 19, 21, 31, 38, 43, 45], "structur": [0, 4, 9, 21, 23, 29], "type": [0, 1, 2, 3, 7, 8, 9, 13, 14, 18, 22, 23, 31, 32, 38, 39, 41, 43, 44, 45, 46], "context": [0, 9, 21, 34, 41], "stack": [0, 21], "opcod": 0, "sequenc": [0, 43], "chang": 1, "histori": 1, "releas": 1, "2": 1, "0": 1, "sign": [1, 20], "extens": [1, 7, 9], "instruct": [1, 6, 9, 12, 18, 21, 23, 30, 36, 41, 43, 44, 45, 46], "non": [1, 43], "trap": [1, 9], "float": [1, 15, 20, 33, 40], "int": [1, 3], "convers": [1, 20], "multipl": 1, "valu": [1, 3, 9, 14, 15, 21, 23, 32, 33, 39, 40, 44, 45, 46], "refer": [1, 12, 14, 18, 23, 30, 32, 36, 39, 43, 44, 46], "tabl": [1, 3, 9, 12, 13, 14, 18, 19, 21, 23, 30, 31, 32, 36, 38, 39, 43, 44, 45, 46], "bulk": 1, "memori": [1, 3, 9, 12, 13, 14, 18, 19, 21, 30, 31, 32, 36, 38, 39, 43, 44, 45, 46], "vector": [1, 12, 14, 18, 20, 23, 30, 32, 33, 36, 39, 43, 44, 46], "3": 1, "extend": [1, 20], "constant": [1, 7, 43], "express": [1, 12, 18, 30, 36, 43], "tail": 1, "call": [1, 18, 43], "garbag": 1, "collect": 1, "custom": [2, 13], "section": [2, 13], "name": [2, 3, 9, 15, 33, 40, 45], "subsect": 2, "map": 2, "modul": [2, 3, 9, 13, 19, 21, 31, 38, 45, 46], "function": [2, 3, 9, 13, 14, 18, 19, 21, 23, 31, 32, 38, 39, 44, 45, 46], "local": [2, 9, 18, 41, 43, 45], "field": [2, 9, 44, 46], "embed": 3, "boolean": [3, 20], "error": 3, "pre": 3, "post": 3, "condit": 3, "store": [3, 7, 9, 18, 21, 43], "mathrm": [3, 20], "_init": 3, "xref": [3, 9, 18, 20, 23, 43, 45, 46], "exec": [3, 9, 18, 20, 23], "runtim": [3, 7, 9, 18, 21, 23], "syntax": [3, 9, 18, 23, 43, 45, 46], "mathit": [3, 9, 18, 23, 43, 45, 46], "_decod": 3, "byte": [3, 15, 33], "ast": [3, 9, 18, 43, 45, 46], "appendix": [3, 5], "emb": 3, "_pars": 3, "char": 3, "_valid": 3, "_instanti": 3, "externv": [3, 9, 23], "moduleinst": [3, 9], "_import": 3, "externtyp": [3, 46], "_export": 3, "instanc": [3, 9, 21], "func": [3, 9, 18, 23, 43, 45, 46], "_alloc": 3, "functyp": [3, 9, 46], "hostfunc": 3, "funcaddr": [3, 9], "_type": 3, "_invok": 3, "val": [3, 9], "tabletyp": [3, 45, 46], "ref": [3, 9, 18, 23, 43, 46], "tableaddr": 3, "_read": 3, "i": [3, 9, 18, 20, 23, 43, 46], "u32": 3, "_write": 3, "_size": 3, "_grow": 3, "n": [3, 18, 20, 43, 46], "mem": [3, 23, 45, 46], "memtyp": [3, 45, 46], "memaddr": 3, "global": [3, 9, 13, 14, 18, 19, 21, 23, 31, 32, 38, 39, 43, 44, 45, 46], "globaltyp": [3, 45, 46], "globaladdr": 3, "reftyp": [3, 46], "_default": [3, 18, 43], "valtyp": [3, 9, 45, 46], "match": [3, 7, 44], "_valtyp": 3, "_1": [3, 18, 43, 45], "_2": [3, 18, 43, 45], "bool": 3, "_externtyp": 3, "implement": 4, "limit": [4, 9, 14, 32, 39, 44, 46], "syntact": 4, "binari": [4, 11], "format": [4, 11, 35, 37], "text": [4, 35], "execut": [4, 7, 17], "index": [6, 7, 8], "semant": [7, 27], "rule": 7, "well": 7, "formed": 7, "static": 7, "construct": 7, "sound": 9, "heap": [9, 14, 32, 39, 44, 46], "convent": [9, 10, 16, 21, 28, 30, 31, 32, 33, 34, 40, 41, 46], "heaptyp": [9, 46], "ext": [9, 20], "mathsf": [9, 18, 20, 23, 43, 45, 46], "bot": 9, "rec": [9, 46], "recurs": [9, 14, 32, 39, 46], "rectyp": [9, 45, 46], "subtyp": [9, 46], "sub": [9, 46], "final": [9, 46], "ht": [9, 43], "comptyp": [9, 46], "result": [9, 14, 21, 32, 44, 46], "": [9, 20], "funcinst": 9, "code": [9, 13], "host": [9, 18, 19, 23], "hostcod": 9, "hf": 9, "tableinst": 9, "t": [9, 18, 23, 43, 45, 46], "elem": [9, 18, 43, 45], "meminst": 9, "b": [9, 45], "globalinst": 9, "mut": [9, 45, 46], "element": [9, 13, 19, 21, 31, 38, 45], "eleminst": 9, "datainst": 9, "structinst": 9, "deftyp": [9, 46], "fieldval": 9, "arrai": [9, 18, 23, 43, 46], "arrayinst": 9, "export": [9, 13, 21, 31, 38, 45], "exportinst": 9, "configur": [9, 21], "thread": 9, "f": 9, "instr": [9, 18, 23, 43], "frame": [9, 21], "administr": [9, 21], "invok": 9, "label": [9, 18, 21, 36], "_n": [9, 20], "_0": 9, "control": [9, 12, 18, 30, 36, 43], "end": [9, 43], "theorem": 9, "system": 9, "properti": 9, "princip": 9, "lattic": 9, "composition": 9, "grammar": [10, 28, 34], "auxiliari": [10, 28], "notat": [10, 16, 28, 41], "list": [10, 28, 34], "parametr": [12, 18, 30, 36, 43], "variabl": [12, 18, 30, 36, 43], "numer": [12, 18, 20, 23, 30, 36, 43], "indic": [13, 31, 38], "import": [13, 31, 38, 45], "start": [13, 31, 38, 45], "count": 13, "number": [14, 32, 39, 44, 46], "aggreg": [14, 21, 30, 32, 39, 43], "composit": [14, 32, 39, 44, 46], "integ": [15, 20, 33, 40], "point": [15, 20, 33, 40], "prose": [16, 41], "formal": [16, 41], "nop": [18, 43], "unreach": [18, 43], "drop": [18, 43], "todo": [18, 19, 20], "select": [18, 43], "const": [18, 23, 43], "c": [18, 20, 23, 43], "nt": 18, "unop": [18, 43], "binop": [18, 43], "testop": [18, 43], "relop": [18, 43], "cvtop": [18, 43], "_": [18, 20, 43], "null": [18, 23, 43, 46], "x": [18, 43, 45, 46], "_null": [18, 43], "_non": [18, 43], "eq": [18, 43], "test": [18, 43], "rt": [18, 43], "cast": [18, 43], "scriptstyle31": 18, "get": [18, 43], "sx": [18, 43], "struct": [18, 23, 43, 46], "new": [18, 43], "set": [18, 43], "_fix": [18, 43], "_data": [18, 43], "y": [18, 43, 46], "_elem": [18, 43], "len": [18, 43], "fill": [18, 43], "copi": [18, 43], "x_1": 18, "x_2": 18, "init": [18, 43, 45], "ani": [18, 43], "convert": [18, 20, 43], "_extern": [18, 43], "extern": [18, 21, 23, 32, 43, 44, 46], "_ani": [18, 43], "vectyp": [18, 43], "v128": [18, 43], "vec": [18, 43], "v": 18, "scriptstyle128": 18, "vvunop": [18, 43], "vvbinop": [18, 43], "vvternop": [18, 43], "_true": 18, "sh": 18, "vunop": [18, 43], "vbinop": [18, 43], "shape": [18, 43], "all": 18, "vrelop": [18, 43], "vshiftop": [18, 43], "bitmask": [18, 43], "swizzl": [18, 43], "shuffl": [18, 43], "splat": [18, 43], "lanet": 18, "u": [18, 20], "scriptstyle0": 18, "extract": [18, 43], "_lane": [18, 43], "scriptstyle1": 18, "replac": [18, 43], "vextunop": 18, "vextbinop": 18, "i32x4": 18, "dot": 18, "_i16x8": 18, "n_2": 18, "narrow": [18, 20, 43], "n_1": 18, "t_2": [18, 20, 43, 46], "vcvtop": [18, 43], "t_1": [18, 20, 43, 46], "m": [18, 20, 43, 46], "half": [18, 43], "_zero": [18, 43], "tee": [18, 43], "size": [18, 43], "grow": [18, 19, 43], "numti": 18, "load": [18, 43], "sz": 18, "ao": 18, "memarg": [18, 43], "_splat": [18, 43], "block": [18, 21, 43, 46], "bt": 18, "loop": [18, 43], "br": [18, 43], "l": [18, 43], "_if": [18, 43], "_tabl": [18, 43], "_on": [18, 43], "_cast": [18, 43], "_fail": [18, 43], "return": [18, 43], "_ref": [18, 43], "_indirect": [18, 43], "_call": [18, 43], "enter": 18, "exit": 18, "invoc": [18, 19], "from": 18, "alloc": 19, "segment": [19, 31, 38, 45], "instanti": [19, 22], "represent": 20, "storag": 20, "oper": 20, "interpret": 20, "op": 20, "iadd": 20, "i_1": 20, "i_2": 20, "isub": 20, "imul": 20, "idiv": 20, "_u": 20, "irem": 20, "inot": 20, "iand": 20, "iandnot": 20, "ior": 20, "ixor": 20, "ishl": 20, "ishr": 20, "irotl": 20, "irotr": 20, "iclz": 20, "ictz": 20, "ipopcnt": 20, "ieqz": 20, "ieq": 20, "ine": 20, "ilt": 20, "igt": 20, "il": 20, "ig": 20, "iextendn": 20, "iextend": 20, "ibitselect": 20, "i_3": 20, "iab": 20, "ineg": 20, "imin": 20, "imax": 20, "iadd_sat": 20, "_sat": 20, "isub_sat": 20, "iavgr": 20, "iq15mulrsat": 20, "round": 20, "nan": 20, "propag": 20, "fadd": 20, "z_1": 20, "z_2": 20, "fsub": 20, "fmul": 20, "fdiv": 20, "fmin": 20, "fmax": 20, "fcopysign": 20, "fab": 20, "z": 20, "fneg": 20, "fsqrt": 20, "fceil": 20, "ffloor": 20, "ftrunc": 20, "fnearest": 20, "feq": 20, "fne": 20, "flt": 20, "fgt": 20, "fle": 20, "fge": 20, "fpmin": 20, "fpmax": 20, "wrap": 20, "trunc": 20, "trunc_sat": 20, "promot": 20, "demot": 20, "reinterpret": 20, "address": 21, "activ": [21, 45], "evalu": 21, "scalar": [23, 43], "i31": [23, 43], "subsumpt": [23, 43], "webassembli": 24, "specif": 24, "introduct": [25, 26], "design": 26, "goal": 26, "scope": 26, "secur": 26, "consider": 26, "depend": 26, "overview": 27, "concept": 27, "phase": 27, "abbrevi": [34, 36, 38, 39], "fold": 36, "lexic": 37, "charact": 37, "token": 37, "white": 37, "space": 37, "comment": 37, "us": 38, "string": 40, "identifi": 40, "defin": [41, 44, 46], "roll": 41, "unrol": 41, "vvtestop": 43, "vtestop": 43, "ishap": 43, "vishiftop": 43, "i8x16": 43, "laneidx": 43, "16": 43, "extadd": 43, "_pairwis": 43, "extmul": 43, "blocktyp": 43, "els": 43, "l_n": 43, "empti": 43, "epsilon": 43, "bodi": 45, "expr": 45, "e": 45, "mode": 45, "elemmod": 45, "passiv": 45, "offset": 45, "declar": 45, "datamod": 45, "desc": 45, "exportdesc": 45, "importdesc": 45, "absheaptyp": 46, "typeidx": 46, "rightarrow_": 46, "rightarrow": 46, "fieldtyp": 46, "storagetyp": 46, "packtyp": 46, "min": 46, "max": 46}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 6, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.todo": 2, "sphinx": 56}}) \ No newline at end of file +Search.setIndex({"docnames": ["appendix/algorithm", "appendix/changes", "appendix/custom", "appendix/embedding", "appendix/implementation", "appendix/index", "appendix/index-instructions", "appendix/index-rules", "appendix/index-types", "appendix/properties", "binary/conventions", "binary/index", "binary/instructions", "binary/modules", "binary/types", "binary/values", "exec/conventions", "exec/index", "exec/instructions", "exec/modules", "exec/numerics", "exec/runtime", "exec/types", "exec/values", "index", "intro/index", "intro/introduction", "intro/overview", "syntax/conventions", "syntax/index", "syntax/instructions", "syntax/modules", "syntax/types", "syntax/values", "text/conventions", "text/index", "text/instructions", "text/lexical", "text/modules", "text/types", "text/values", "valid/conventions", "valid/index", "valid/instructions", "valid/matching", "valid/modules", "valid/types"], "filenames": ["appendix/algorithm.rst", "appendix/changes.rst", "appendix/custom.rst", "appendix/embedding.rst", "appendix/implementation.rst", "appendix/index.rst", "appendix/index-instructions.rst", "appendix/index-rules.rst", "appendix/index-types.rst", "appendix/properties.rst", "binary/conventions.rst", "binary/index.rst", "binary/instructions.rst", "binary/modules.rst", "binary/types.rst", "binary/values.rst", "exec/conventions.rst", "exec/index.rst", "exec/instructions.rst", "exec/modules.rst", "exec/numerics.rst", "exec/runtime.rst", "exec/types.rst", "exec/values.rst", "index.rst", "intro/index.rst", "intro/introduction.rst", "intro/overview.rst", "syntax/conventions.rst", "syntax/index.rst", "syntax/instructions.rst", "syntax/modules.rst", "syntax/types.rst", "syntax/values.rst", "text/conventions.rst", "text/index.rst", "text/instructions.rst", "text/lexical.rst", "text/modules.rst", "text/types.rst", "text/values.rst", "valid/conventions.rst", "valid/index.rst", "valid/instructions.rst", "valid/matching.rst", "valid/modules.rst", "valid/types.rst"], "titles": ["Validation Algorithm", "Change History", "Custom Sections", "Embedding", "Implementation Limitations", "Appendix", "Index of Instructions", "Index of Semantic Rules", "Index of Types", "Type Soundness", "Conventions", "Binary Format", "Instructions", "Modules", "Types", "Values", "Conventions", "Execution", "Instructions", "Modules", "Numerics", "Runtime Structure", "Types", "Values", "WebAssembly Specification", "Introduction", "Introduction", "Overview", "Conventions", "Structure", "Instructions", "Modules", "Types", "Values", "Conventions", "Text Format", "Instructions", "Lexical Format", "Modules", "Types", "Values", "Conventions", "Validation", "Instructions", "Matching", "Modules", "Types"], "terms": {"http": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "github": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "com": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "webassembli": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "spec": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "issu": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "io": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "core": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "ieee": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "754": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "unicod": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "ascii": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "littl": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "endian": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "leb128": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "unsign": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "sign": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "express": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 37, 38, 39, 40, 41, 42, 44, 45, 46], "media": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "bring": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "web": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "up": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "speed": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "mechanis": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "verifi": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "specif": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "two": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "1": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "0": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "program": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "languag": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "mathit": [0, 1, 2, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44], "mathrm": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "mathsf": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 19, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44], "mathtt": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "mathbin": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "mod": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "mathrel": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "mbox": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "otherwis": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "where": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "def": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "mathdef1": 0, "xref": [0, 1, 2, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 19, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44], "convent": [0, 1, 2, 3, 4, 5, 6, 7, 8, 11, 12, 13, 14, 15, 17, 18, 19, 20, 22, 23, 24, 25, 26, 27, 29, 35, 36, 37, 38, 39, 42, 43, 44, 45], "notat": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 46], "subst": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "mathbf": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "syntax": [0, 1, 2, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44], "slice": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "replac": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "concat": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "compos": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "oplu": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "bigoplu": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "list": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "0x": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "u": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "valu": [0, 2, 4, 5, 6, 7, 8, 10, 11, 12, 13, 16, 17, 18, 19, 20, 22, 24, 25, 26, 27, 28, 29, 30, 31, 34, 35, 36, 37, 38, 41, 42, 43], "float": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46], "nan": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "byte": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "i": [0, 1, 2, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 19, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45], "f": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "v": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "int": [0, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "n": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45], "m": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45], "u1": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "u8": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "u16": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "u31": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "u32": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "u64": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "s8": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "s16": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "s32": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "s64": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "i8": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "i16": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "i32": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "i64": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "i128": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "nmag": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "f32": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "f64": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "name": [0, 1, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 46], "char": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "aux": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "canon": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "signif": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "expon": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "functyp": [0, 1, 2, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45], "rightarrow": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45], "instrtyp": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "heaptyp": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45], "ext": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "bot": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "valtyp": [0, 1, 2, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44], "storagetyp": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45], "numtyp": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "vectyp": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "v128": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "reftyp": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45], "anyref": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "eqref": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "i31ref": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "structref": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "arrayref": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "funcref": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "externref": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "nullref": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "nullfuncref": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "nullexternref": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "ref": [0, 1, 2, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45], "null": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45], "ani": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "eq": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "i31": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "struct": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45], "arrai": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45], "func": [0, 1, 2, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44], "extern": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 22, 24, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45], "none": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "nofunc": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "noextern": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "instruct": [0, 2, 3, 4, 5, 7, 8, 10, 11, 13, 14, 15, 16, 17, 19, 20, 22, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 37, 38, 39, 40, 42], "shape": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "i8x16": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "i16x8": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "i32x4": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "i64x2": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "f32x4": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "f64x2": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "rec": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45], "comptyp": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45], "subtyp": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45], "sub": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45], "rectyp": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44], "final": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45], "mut": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44], "var": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "const": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "init": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 46], "set": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "unset": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "limit": [0, 1, 2, 3, 5, 6, 7, 8, 10, 11, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 45], "min": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45], "max": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45], "externtyp": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45], "tabl": [0, 2, 4, 5, 6, 7, 8, 10, 11, 15, 16, 17, 20, 22, 24, 25, 26, 27, 28, 29, 33, 34, 35, 37, 40, 41, 42], "mem": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44], "global": [0, 1, 2, 4, 5, 6, 7, 8, 10, 11, 12, 15, 16, 17, 20, 22, 24, 25, 26, 27, 28, 29, 30, 33, 34, 35, 36, 37, 40, 41, 42], "typeus": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "packtyp": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45], "lanetyp": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "absheaptyp": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45], "consttyp": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "resulttyp": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "structtyp": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "arraytyp": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "fieldtyp": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45], "deftyp": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45], "globaltyp": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44], "tabletyp": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44], "memtyp": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44], "modul": [0, 1, 4, 5, 6, 7, 8, 10, 11, 12, 14, 15, 16, 17, 18, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 43, 44], "datatyp": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "localtyp": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "reftypediff": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "setminu": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "roll": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 46], "unrol": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 46], "ast": [0, 1, 2, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44], "expand": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "appendix": [0, 1, 2, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "properti": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "unpack": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "typeidx": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45], "funcidx": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "tableidx": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "memidx": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "globalidx": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "elemidx": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "dataidx": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "localidx": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "labelidx": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "fieldidx": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "import": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 43, 44, 46], "export": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 14, 15, 16, 17, 18, 19, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 43, 44, 46], "elem": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 46], "start": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 43, 44, 46], "local": [0, 1, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 44, 46], "bodi": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46], "memori": [0, 2, 4, 5, 6, 7, 8, 10, 11, 15, 16, 17, 20, 22, 23, 24, 25, 26, 27, 28, 29, 33, 34, 35, 37, 40, 41, 42], "mode": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46], "elemmod": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46], "passiv": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46], "activ": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46], "declar": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46], "offset": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46], "datamod": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46], "desc": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46], "exportdesc": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46], "importdesc": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46], "sx": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "instr": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "align": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "x": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44], "control": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 37, 38, 39, 40, 41, 42, 44, 45, 46], "unreach": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "nop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "block": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45], "loop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "els": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "end": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "br": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "_if": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "_tabl": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "_on": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "_null": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "_non": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "_cast": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "_fail": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "return": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "call": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "_ref": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "_indirect": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "_call": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "parametr": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 37, 38, 39, 40, 41, 42, 44, 45, 46], "drop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "select": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "variabl": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 37, 38, 39, 40, 41, 42, 44, 45, 46], "get": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "tee": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "size": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "grow": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "fill": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "copi": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "load": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "store": [0, 1, 2, 4, 5, 6, 8, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "lane": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "splat": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "zero": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "test": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "cast": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "new": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "_default": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "_": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "_u": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "_fix": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "_data": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "_elem": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "len": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "convert": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "_extern": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "_ani": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "numer": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 19, 21, 22, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 37, 38, 39, 40, 41, 42, 44, 45, 46], "eqz": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "ne": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "lt": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "gt": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "le": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "ge": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "clz": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "ctz": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "popcnt": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "ab": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "neg": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "ceil": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "floor": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "trunc": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "nearest": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "sqrt": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "add": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "mul": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "div": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "rem": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "xor": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "shl": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "shr": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "rotl": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "rotr": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "copysign": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "_sat": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "extend": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "wrap": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "promot": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "demot": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "reinterpret": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "vec": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "shuffl": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "swizzl": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "extract": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "_lane": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "andnot": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "bitselect": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "_true": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "all": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "bitmask": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "pmin": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "pmax": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "narrow": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "avgr": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "dot": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "extmul": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "q15mulr": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "extadd": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "_pairwis": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "low": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "high": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "unop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "binop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "testop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "relop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "cvtop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "exec": [0, 1, 2, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 19, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "iunop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "ibinop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "itestop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "irelop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "funop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "fbinop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "ftestop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "frelop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "dim": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "ishap": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "fshape": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "vvunop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "vvbinop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "vvternop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "vvtestop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "vunop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "vbinop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "vrelop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "vtestop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "vcvtop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "vextunop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "vextbinop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "vshiftop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "viunop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "vibinop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "vitestop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "virelop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "vishiftop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "vfunop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "vfbinop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "vftestop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "vfrelop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "viminmaxop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "visatbinop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "vloadop": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "sz": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "half": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "memarg": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "laneidx": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "blocktyp": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "expr": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46], "binari": [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "mathdef2": 0, "mathdef3": 0, "mathdef4": 0, "8": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "mathdef5": 0, "16": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46], "mathdef6": 0, "32": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "mathdef7": 0, "64": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "mathdef8": 0, "mathdef9": 0, "7": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "mathdef10": 0, "mathdef11": 0, "33": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "mathdef12": 0, "mathdef13": 0, "mathdef14": 0, "mathdef15": 0, "mathdef16": 0, "mathdef17": 0, "mathdef18": 0, "utf8": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "aggrtyp": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "index": [0, 1, 2, 3, 4, 5, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "idx": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "magic": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "version": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "section": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "customsec": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "typesec": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "funcsec": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "codesec": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "tablesec": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "memsec": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "globalsec": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "importsec": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "exportsec": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "elemsec": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "datasec": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "startsec": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "datacountsec": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "custom": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "typedef": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "elemkind": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "code": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "castflag": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "text": [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "mathdef19": 0, "mathdef20": 0, "mathdef21": 0, "lexic": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 38, 39, 40, 41, 42, 43, 44, 45, 46], "sourc": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "space": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 38, 39, 40, 41, 42, 43, 44, 45, 46], "format": [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 36, 38, 39, 40, 41, 42, 43, 44, 45, 46], "newlin": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "token": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 38, 39, 40, 41, 42, 43, 44, 45, 46], "keyword": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "reserv": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "comment": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 38, 39, 40, 41, 42, 43, 44, 45, 46], "linecom": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "blockcom": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "linechar": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "blockchar": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "digit": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "hexdigit": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "num": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "hexnum": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "frac": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "hexfrac": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "hexfloat": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "mathdef22": 0, "mathdef23": 0, "mathdef24": 0, "mathdef25": 0, "mathdef26": 0, "mathdef27": 0, "mathdef28": 0, "mathdef29": 0, "mathdef30": 0, "mathdef31": 0, "mathdef32": 0, "mathdef33": 0, "mathdef34": 0, "mathdef35": 0, "mathdef36": 0, "mathdef37": 0, "mag": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "mathdef38": 0, "mathdef39": 0, "string": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46], "stringelem": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "stringchar": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "id": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "idchar": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "param": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "result": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 15, 16, 17, 18, 19, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45], "field": [0, 1, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45], "modulefield": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "elemlist": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "elemexpr": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "tableus": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "datastr": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "memus": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "label": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "plaininstr": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "blockinstr": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "foldedinstr": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "fresh": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "wf": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "well": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "form": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "clostyp": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "clo": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "vdash": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "ok": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "match": [0, 1, 2, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46], "leq": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "globalseq": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "unpackshap": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "hookrightarrow": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "preceq": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "inst": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "alloc": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "alloctyp": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "allocfunc": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "hostfunc": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "allochostfunc": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "alloct": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "allocmem": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "allocglob": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "allocelem": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "allocdata": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "allocmodul": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "growtabl": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "growmem": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "runtim": [0, 1, 2, 4, 5, 6, 8, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "addr": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "funcaddr": [0, 1, 2, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "tableaddr": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "memaddr": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "globaladdr": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "elemaddr": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "dataaddr": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "structaddr": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "arrayaddr": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "hostaddr": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "funcinst": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "hostcod": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "tableinst": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "meminst": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "globalinst": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "eleminst": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "datainst": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "exportinst": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "externv": [0, 1, 2, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "moduleinst": [0, 1, 2, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "structinst": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "arrayinst": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "packval": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "pack": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "frame": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "fieldval": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "framest": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "fblocktyp": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "host": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "trap": [0, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "invok": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "return_invok": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "_invok": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "addrref": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "val": [0, 1, 2, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "default": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "packnum": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "unpacknum": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "packfield": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "unpackfield": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "ctxt": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "b": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46], "config": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "thread": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "op": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "iadd": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "isub": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "imul": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "idiv": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "irem": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "inot": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "iand": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "iandnot": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "ior": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "ixor": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "ishl": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "ishr": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "irotl": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "irotr": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "iclz": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "ictz": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "ipopcnt": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "ieqz": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "ieq": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "ine": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "ilt": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "igt": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "il": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "ig": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "iextendn": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "iextend": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "ibitselect": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "iab": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "ineg": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "imin": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "imax": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "iadd_sat": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "isub_sat": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "iavgr": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "iq15mulrsat": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "fadd": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "fsub": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "fmul": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "fdiv": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "fmin": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "fmax": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "fcopysign": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "fab": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "fneg": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "fsqrt": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "fceil": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "ffloor": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "ftrunc": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "fnearest": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "feq": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "fne": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "flt": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "fgt": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "fle": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "fge": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "fpmin": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "fpmax": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "trunc_sat": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "bit": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "ibit": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "fbit": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "fsign": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "fbia": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "littleendian": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "tobool": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "bool": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "sat": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "instanti": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "invoc": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "admin": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "namesubsect": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "namesec": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "namedata": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "namemap": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "nameassoc": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "indirectnamemap": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "indirectnameassoc": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "modulenamesec": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "modulenamesubsec": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "funcnamesec": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "funcnamesubsec": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "localnamesec": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "localnamesubsec": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "typenamesec": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "typenamesubsec": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "fieldnamesec": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "fieldnamesubsec": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "embed": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "emb": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "true": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "fals": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "error": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "The": [0, 1, 2, 3, 4, 9, 10, 12, 13, 14, 15, 16, 18, 19, 20, 21, 23, 26, 27, 28, 30, 31, 32, 33, 34, 36, 37, 38, 39, 40, 41, 43, 44, 45, 46], "pure": 0, "It": [0, 2, 3, 13, 16, 18, 19, 20, 21, 22, 26, 27, 30, 31, 32, 34, 37, 38, 41, 44], "describ": [0, 9, 13, 16, 18, 21, 26, 28, 30, 31, 32, 33, 41, 43], "constraint": [0, 4, 9, 15, 21, 41, 43], "must": [0, 2, 3, 4, 9, 10, 13, 15, 18, 20, 21, 23, 28, 30, 31, 34, 36, 37, 38, 40, 41, 43, 44, 45, 46], "met": [0, 3, 41], "thi": [0, 2, 3, 4, 9, 10, 13, 15, 16, 18, 19, 20, 21, 22, 23, 26, 27, 28, 30, 31, 32, 33, 34, 36, 37, 38, 40, 41, 43, 45], "sketch": 0, "skeleton": [0, 41], "sound": [0, 5, 16, 18, 24, 41], "complet": [0, 3, 9, 10, 27, 31, 34, 41], "effect": [0, 9, 16, 18, 21, 30, 36, 37, 43, 45], "e": [0, 2, 9, 10, 13, 18, 19, 20, 21, 26, 28, 30, 32, 33, 34, 38, 40, 41, 44], "other": [0, 3, 4, 9, 10, 12, 13, 15, 16, 18, 19, 20, 21, 26, 27, 30, 31, 32, 33, 34, 36, 37, 38, 40, 41, 43, 45, 46], "aspect": [0, 4, 26], "ar": [0, 1, 2, 3, 4, 6, 9, 10, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 26, 27, 28, 30, 31, 32, 33, 34, 36, 37, 38, 39, 40, 41, 43, 44, 45, 46], "straightforward": 0, "implement": [0, 2, 3, 5, 9, 10, 13, 16, 18, 19, 21, 24, 27, 30, 31, 41, 43], "In": [0, 3, 9, 10, 13, 14, 16, 18, 19, 20, 21, 26, 27, 30, 31, 32, 33, 34, 36, 38, 40, 41, 43], "fact": [0, 36, 37], "over": [0, 3, 4, 9, 13, 20, 21, 28, 30, 31, 32, 33, 34, 38, 41, 45], "flat": [0, 28], "occur": [0, 2, 9, 13, 14, 16, 18, 19, 20, 21, 22, 27, 31, 33, 36, 37, 38, 40, 41, 43, 45], "perform": [0, 1, 9, 16, 18, 19, 21, 26, 27, 30, 32, 41, 43, 44, 45], "onli": [0, 2, 3, 9, 10, 12, 16, 18, 19, 21, 26, 27, 30, 31, 33, 34, 36, 37, 38, 39, 41, 43, 44, 45, 46], "singl": [0, 1, 2, 9, 12, 13, 14, 20, 21, 26, 27, 30, 31, 32, 33, 34, 36, 37, 38, 39], "pass": [0, 3, 13, 19, 21, 26, 45], "consequ": [0, 6, 9, 10, 30, 31, 37, 38, 43, 45], "can": [0, 1, 2, 3, 9, 10, 12, 13, 14, 16, 18, 19, 20, 21, 22, 26, 27, 28, 30, 31, 32, 33, 34, 36, 37, 38, 39, 40, 41, 43, 45], "integr": [0, 1, 20, 21, 26], "directli": [0, 1, 3, 9, 14, 15, 18, 26, 27, 34, 36, 38, 41, 43], "decod": [0, 10, 13, 26, 27], "pseudo": [0, 30, 36, 37], "whose": [0, 2, 9, 10, 13, 18, 19, 20, 33, 34, 38, 41, 43], "semant": [0, 2, 3, 5, 9, 13, 16, 18, 19, 21, 22, 24, 25, 26, 41], "intend": [0, 3, 13, 18, 26, 30, 31], "self": [0, 26], "explanatori": 0, "represent": [0, 1, 6, 9, 10, 15, 16, 17, 21, 26, 27, 28, 32, 33, 40, 41], "enumer": [0, 41, 43], "num_typ": 0, "vec_typ": 0, "heap_typ": 0, "def_typ": 0, "ref_typ": 0, "heap": [0, 1, 7, 8, 11, 21, 23, 29, 35, 41, 42, 43], "val_typ": 0, "is_num": 0, "t": [0, 1, 3, 6, 7, 12, 13, 14, 15, 19, 20, 21, 22, 28, 30, 32, 34, 36, 38, 39, 40, 41, 44], "is_vec": 0, "is_ref": 0, "similarli": [0, 13, 15, 16, 18, 19, 21, 28, 30, 33, 39, 41], "defin": [0, 1, 2, 3, 7, 9, 10, 13, 15, 16, 18, 19, 20, 21, 22, 23, 26, 27, 28, 31, 32, 33, 34, 36, 37, 38, 39, 40, 42, 43, 45], "repres": [0, 2, 9, 12, 13, 16, 20, 21, 27, 30, 32, 33, 36, 37, 40, 41], "pack_typ": 0, "field_typ": 0, "struct_typ": 0, "array_typ": 0, "func_typ": 0, "comp_typ": 0, "sub_typ": 0, "super": [0, 14, 39, 43, 44], "rec_typ": 0, "proj": 0, "int32": 0, "unpack_field": 0, "expand_def": 0, "These": [0, 4, 9, 19, 21, 26, 27, 30, 31, 32, 34, 41], "assum": [0, 3, 4, 9, 16, 19, 20, 21, 28, 34, 37, 41, 43], "have": [0, 1, 4, 9, 10, 12, 13, 18, 20, 21, 26, 28, 30, 31, 32, 33, 34, 36, 39, 41, 43, 46], "been": [0, 1, 16, 19, 21, 26, 31, 41, 43], "close": [0, 9, 10, 18, 19, 22, 30, 34, 41, 44, 45], "substitut": [0, 9, 19, 22, 38, 41], "indic": [0, 2, 3, 4, 9, 11, 12, 14, 18, 21, 22, 27, 28, 29, 30, 32, 34, 35, 36, 37, 40, 41, 43, 45], "concret": [0, 4, 28, 32, 34, 41, 46], "respect": [0, 1, 3, 9, 10, 12, 13, 14, 16, 18, 19, 20, 21, 23, 26, 27, 28, 30, 31, 32, 33, 34, 36, 37, 38, 40, 41, 43], "includ": [0, 4, 9, 12, 14, 16, 19, 20, 21, 27, 30, 31, 32, 33, 36, 38, 41], "recurs": [0, 1, 4, 7, 8, 11, 13, 19, 27, 28, 29, 31, 34, 35, 36, 38, 41, 42, 43, 45], "refer": [0, 3, 7, 8, 9, 11, 16, 17, 19, 21, 27, 29, 31, 35, 38, 41, 42, 45], "enclos": [0, 30, 34, 37, 40], "graph": 0, "mai": [0, 1, 2, 3, 4, 9, 10, 13, 16, 18, 19, 20, 21, 26, 27, 28, 30, 31, 32, 33, 34, 36, 37, 38, 39, 40, 41, 43, 44, 45, 46], "cyclic": [0, 9, 46], "we": [0, 18, 21], "canonic": [0, 19], "equal": [0, 3, 9, 10, 18, 19, 20, 26, 28, 38, 41, 43, 44], "hold": [0, 9, 18, 20, 21, 32, 41], "closur": [0, 9, 19, 21, 22], "syntact": [0, 3, 5, 9, 16, 21, 28, 34, 36, 37, 38, 40, 41, 44], "equival": [0, 13, 16, 22, 31, 41], "make": [0, 2, 9, 21, 26, 38, 43], "constant": [0, 4, 5, 18, 19, 20, 21, 30, 31, 36, 40, 45], "time": [0, 1, 3, 4, 9, 10, 18, 19, 21, 26, 28, 30, 31, 34], "check": [0, 1, 9, 13, 18, 19, 22, 23, 27, 30, 32, 36, 41, 43, 44, 45, 46], "For": [0, 3, 4, 9, 10, 12, 13, 15, 16, 18, 19, 20, 21, 23, 27, 28, 30, 31, 32, 34, 36, 37, 41, 43, 44, 45, 46], "purpos": [0, 2, 21, 23, 32, 39], "from": [0, 3, 4, 9, 10, 13, 16, 19, 20, 21, 22, 26, 27, 28, 30, 31, 32, 33, 34, 36, 37, 38, 39, 41, 43, 44, 45], "an": [0, 1, 2, 3, 4, 9, 10, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 26, 27, 28, 30, 31, 32, 33, 34, 36, 37, 38, 40, 41, 43, 44, 45], "forward": [0, 9, 13, 19, 30, 31], "edg": 0, "cycl": [0, 9], "need": [0, 2, 3, 9, 13, 18, 27, 32, 34, 43, 45], "distinguish": [0, 10, 13, 21, 30, 31, 33, 34, 36, 41, 43], "previous": [0, 1, 9, 38, 43, 45, 46], "howev": [0, 2, 4, 6, 9, 10, 13, 15, 18, 19, 21, 26, 27, 30, 31, 33, 34, 36, 38, 41, 45, 46], "distinct": [0, 14, 27, 33, 34], "doe": [0, 3, 9, 13, 18, 19, 20, 26, 30, 37, 40, 41, 43, 45], "affect": [0, 2, 18, 19, 30, 37, 41], "so": [0, 10, 12, 13, 14, 16, 18, 26, 30, 34, 36, 38, 41, 43], "ignor": [0, 2, 13, 37, 44], "here": [0, 3, 10, 13, 18, 19, 21, 33, 37, 41, 43], "infinit": 0, "further": [0, 1, 13, 15, 16, 27, 30, 31, 32, 43, 44], "few": [0, 10, 16, 22, 34], "auxiliari": [0, 3, 11, 15, 18, 19, 20, 21, 23, 29, 31, 32, 33, 36, 38, 41, 43], "function": [0, 1, 4, 5, 7, 10, 11, 15, 16, 17, 20, 26, 27, 29, 30, 34, 35, 36, 41, 42, 43], "composit": [0, 7, 8, 9, 11, 18, 19, 28, 29, 35, 38, 42], "validate_val_typ": 0, "validate_ref_typ": 0, "matches_v": 0, "t1": 0, "t2": 0, "matches_ref": 0, "is_func": 0, "is_struct": 0, "is_arrai": 0, "follow": [0, 1, 2, 3, 4, 6, 9, 10, 12, 13, 14, 15, 16, 18, 19, 20, 21, 23, 26, 27, 28, 30, 31, 32, 34, 36, 37, 38, 40, 41, 46], "comput": [0, 1, 4, 9, 16, 18, 19, 20, 21, 26, 27, 30, 32, 34, 41, 43], "least": [0, 9, 16, 18, 23, 43], "precis": [0, 1, 3, 9, 16, 18, 21, 26, 32, 43], "supertyp": [0, 3, 9, 32, 41, 43, 44, 46], "given": [0, 2, 4, 6, 9, 10, 16, 18, 19, 20, 21, 26, 27, 28, 30, 31, 32, 34, 36, 38, 40, 41, 43, 46], "its": [0, 3, 4, 9, 12, 13, 16, 18, 19, 20, 21, 23, 26, 27, 28, 30, 31, 33, 36, 38, 40, 41, 43, 45], "correspond": [0, 3, 9, 12, 13, 14, 18, 19, 20, 21, 22, 28, 31, 32, 33, 34, 36, 37, 40, 41, 43, 44], "top": [0, 9, 10, 18, 19, 43], "top_heap_typ": 0, "switch": 0, "case": [0, 3, 4, 9, 10, 13, 14, 16, 18, 20, 21, 26, 28, 30, 34, 36, 38, 40, 41, 43, 45], "dt": [0, 9, 18, 32, 41, 43, 45, 46], "rais": 0, "cannotoccurinsourc": 0, "requir": [0, 3, 4, 9, 10, 13, 16, 18, 19, 20, 21, 27, 28, 30, 31, 32, 40, 41, 43, 45], "us": [0, 1, 2, 3, 4, 9, 10, 12, 13, 15, 16, 18, 20, 21, 26, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 40, 41, 44], "present": [0, 12, 13, 14, 19, 21, 31, 43, 44], "maintain": [0, 21, 27, 38], "return_typ": 0, "locals_init": 0, "global_typ": 0, "table_typ": 0, "mem_typ": 0, "suitabl": [0, 3, 9, 18, 19, 26, 27, 30, 38, 41, 45], "variou": [0, 16, 32, 41], "besid": [0, 20, 21], "which": [0, 2, 3, 4, 9, 10, 12, 13, 15, 16, 18, 19, 20, 21, 23, 26, 27, 30, 31, 32, 33, 34, 36, 37, 38, 40, 41, 43, 44, 45, 46], "omit": [0, 12, 13, 16, 34, 36, 38, 39, 41], "addit": [0, 1, 3, 4, 9, 10, 13, 14, 15, 21, 26, 27, 30, 31, 32, 34, 36, 38, 41], "record": [0, 9, 13, 16, 21, 28, 34, 41], "initi": [0, 1, 3, 13, 16, 19, 27, 30, 31, 38, 41, 43, 44, 45], "statu": [0, 1, 20, 41, 43], "each": [0, 2, 3, 9, 10, 12, 13, 16, 18, 19, 20, 21, 22, 26, 27, 28, 30, 31, 32, 34, 38, 40, 41, 43, 45, 46], "three": [0, 16, 18, 21, 27, 30, 32], "separ": [0, 9, 10, 12, 13, 16, 20, 21, 26, 27, 28, 30, 32, 34, 37, 40], "track": [0, 1, 41], "operand": [0, 9, 12, 16, 18, 20, 21, 27, 30, 36, 41, 43], "surround": [0, 21, 38, 41, 43], "associ": [0, 2, 9, 18, 19, 21, 30, 32, 34], "sinc": [0, 1, 9, 13, 18, 30, 33, 36, 41, 44], "begin": [0, 2, 3, 4, 9, 10, 12, 13, 14, 15, 16, 18, 19, 20, 21, 26, 28, 30, 31, 32, 33, 34, 36, 37, 38, 39, 40, 41, 43, 44, 45, 46], "val_stack": 0, "init_stack": 0, "ctrl_stack": 0, "ctrl_frame": 0, "start_typ": 0, "end_typ": 0, "val_height": 0, "nat": 0, "init_height": 0, "enter": [0, 16, 30], "origin": [0, 1, 9, 16, 18, 20, 21, 41], "branch": [0, 18, 21, 27, 30, 36], "height": [0, 21, 27, 30], "do": [0, 2, 3, 9, 13, 16, 18, 19, 30, 38, 40, 41, 43], "underflow": 0, "current": [0, 2, 9, 10, 13, 16, 18, 21, 27, 30, 31, 38, 41, 43, 45], "reset": 0, "flag": [0, 12, 14, 20], "whether": [0, 9, 13, 14, 21, 30, 31, 33], "remaind": [0, 20, 43, 45], "handl": [0, 9, 18, 20, 21, 27, 36, 45], "polymorph": [0, 9, 43], "after": [0, 2, 9, 13, 16, 18, 30, 31, 36, 41], "simpli": [0, 2, 21, 30], "ctrl": 0, "manipul": [0, 1, 3, 9, 21, 27, 28, 30, 41, 43], "main": [0, 1, 3, 26, 27, 33], "through": [0, 3, 9, 13, 18, 21, 27, 30, 31, 32], "push_val": 0, "push": [0, 16, 18, 19, 21, 27, 30, 41, 43], "pop_val": 0, "error_if": 0, "pop": [0, 16, 18, 19, 27, 30, 41, 43], "expect": [0, 3, 4, 9, 13, 18, 19, 30, 43], "let": [0, 3, 9, 18, 19, 20, 23, 43, 44, 45, 46], "actual": [0, 2, 6, 10, 12, 13, 18, 19, 27, 30, 32, 34, 45], "pop_num": 0, "pop_ref": 0, "foreach": 0, "revers": 0, "prepend": [0, 9, 41, 43, 45], "remov": [0, 9, 16, 18, 21], "one": [0, 1, 2, 9, 10, 12, 13, 16, 18, 19, 20, 27, 28, 30, 31, 34, 36, 38, 41, 43, 44, 46], "But": [0, 43], "first": [0, 4, 6, 19, 20, 28, 30, 31, 32, 38, 41, 43, 45, 46], "special": [0, 9, 12, 18, 33, 36], "contain": [0, 9, 10, 12, 13, 15, 16, 18, 19, 21, 26, 27, 30, 31, 34, 36, 37, 38, 40, 41, 43, 45, 46], "known": [0, 1, 21, 27, 30, 32, 33], "ha": [0, 1, 2, 3, 6, 9, 10, 13, 16, 18, 19, 20, 21, 22, 26, 27, 28, 31, 32, 33, 34, 41, 43, 45], "mark": [0, 21, 40], "That": [0, 9, 10, 20, 21, 23, 30, 32, 37, 38, 40, 41, 43, 44], "uncondit": [0, 30, 43], "when": [0, 1, 2, 3, 9, 10, 13, 16, 18, 19, 20, 21, 28, 31, 32, 34, 38, 40, 41, 43, 44, 45, 46], "becaus": [0, 9, 18, 19, 20, 21, 26, 43], "princip": [0, 5, 41], "choic": [0, 9, 18, 21, 38, 43], "trivial": 0, "satisfi": [0, 3, 9, 18], "A": [0, 2, 3, 4, 9, 10, 16, 18, 19, 20, 21, 23, 26, 27, 28, 30, 31, 32, 33, 34, 37, 38, 40, 41, 43, 44, 45], "second": [0, 30, 38], "take": [0, 1, 2, 4, 9, 19, 20, 21, 26, 27, 30, 34], "against": [0, 18, 23, 30], "differ": [0, 3, 9, 10, 12, 18, 19, 20, 21, 26, 27, 28, 30, 31, 32, 33, 41, 43, 45], "therebi": [0, 16, 27, 38], "uncondition": [0, 41], "accumul": [0, 21, 43], "multipl": [0, 6, 9, 10, 18, 19, 20, 21, 22, 28, 30, 31, 32, 33, 34, 38, 39, 43], "meant": 0, "g": [0, 2, 9, 10, 19, 26, 33, 34], "access": [0, 1, 3, 9, 18, 26, 27, 28, 30, 31, 32, 36, 41, 45], "element": [0, 1, 3, 4, 7, 10, 11, 14, 17, 18, 20, 28, 29, 30, 32, 35, 40, 41, 42, 43, 44], "last": [0, 4, 43, 45], "get_loc": 0, "set_loc": 0, "reset_loc": 0, "while": [0, 9, 13, 19, 30, 31, 32, 33, 37], "wa": [0, 9, 30], "alreadi": [0, 4, 9, 18, 19, 36, 40, 44], "updat": [0, 3, 19, 28, 36, 43], "chang": [0, 5, 9, 13, 24, 41], "thu": [0, 10, 14, 20, 27, 31, 34, 41], "previou": [0, 9, 30, 43, 45], "state": [0, 3, 9, 16, 18, 21, 27, 31, 36, 41], "denot": [0, 9, 10, 13, 14, 18, 20, 21, 28, 30, 31, 32, 33, 34, 40, 41, 46], "bound": [0, 9, 10, 13, 15, 27, 28, 30, 33, 34, 36, 38, 43, 46], "number": [0, 1, 4, 7, 8, 9, 10, 11, 13, 15, 18, 19, 20, 21, 23, 27, 29, 30, 33, 34, 35, 38, 40, 42, 43, 45], "non": [0, 3, 9, 10, 15, 18, 20, 21, 28, 30, 32, 34, 44, 45], "prealloc": 0, "likewis": [0, 2, 21], "push_ctrl": 0, "out": [0, 4, 13, 20, 21, 30, 31, 32, 34, 41], "pop_ctrl": 0, "is_empti": 0, "label_typ": 0, "resiz": [0, 32], "them": [0, 3, 9, 16, 20, 21, 27, 30, 31, 32, 33, 36, 38, 41], "along": 0, "reachabl": [0, 9], "empti": [0, 3, 9, 10, 12, 13, 16, 18, 19, 20, 21, 23, 28, 31, 34, 36, 38, 41, 44, 45, 46], "right": [0, 9, 16, 18, 20, 37], "exit": [0, 16], "off": [0, 16, 18, 41, 43], "afterward": [0, 16], "shrunk": 0, "back": [0, 18, 27, 30, 41, 43], "undo": 0, "happend": 0, "insid": [0, 9, 21, 22, 26, 31, 37, 41], "either": [0, 9, 10, 12, 14, 15, 16, 18, 19, 20, 21, 26, 27, 28, 30, 31, 32, 33, 34, 37, 38, 40, 41, 43, 44, 46], "determin": [0, 9, 16, 19, 20, 30, 32, 33, 36, 45], "exist": [0, 3, 9, 18, 19, 20, 21, 23, 26, 36, 38, 41, 43, 44, 46], "purg": 0, "order": [0, 2, 3, 9, 10, 12, 13, 15, 16, 18, 19, 20, 21, 27, 30, 31, 32, 33, 34, 38, 41, 45], "allow": [0, 1, 4, 9, 10, 12, 14, 15, 18, 20, 21, 26, 27, 30, 31, 32, 34, 36, 37, 38, 40, 41, 43, 44, 46], "logic": [0, 21], "everi": [0, 3, 4, 9, 13, 16, 18, 31, 33, 41, 43, 44, 46], "implicit": [0, 3, 16, 21, 27, 30], "outermost": [0, 30], "invari": [0, 9, 16, 21, 22, 41, 44], "alwai": [0, 9, 13, 20, 21, 27, 30, 37, 40, 41, 46], "henc": [0, 3, 13, 20, 21, 26, 34, 40, 41, 43], "even": [0, 3, 9, 20, 21, 31], "consecut": [0, 4, 18, 21, 38], "still": [0, 4, 9, 15, 16, 18, 31], "necessari": [0, 9, 19, 30, 43], "detect": 0, "invalid": [0, 4, 13, 43], "exampl": [0, 3, 9, 10, 15, 16, 18, 20, 21, 27, 30, 31, 32, 34, 36, 37, 41, 43], "like": [0, 2, 3, 4, 13, 19, 20, 21, 26, 27, 30, 31, 32, 33, 34, 41, 43], "cannot": [0, 12, 13, 14, 18, 19, 26, 27, 30, 31, 37, 39, 41], "instead": [0, 1, 9, 10, 13, 16, 18, 26, 27, 30, 34, 37, 45], "gener": [0, 1, 9, 10, 12, 13, 16, 18, 20, 22, 28, 32, 34, 41], "show": 0, "similar": [0, 20], "manner": [0, 4, 9, 20, 26, 41, 44], "is_nul": 0, "as_non_nul": 0, "rt": [0, 13, 14, 41, 45], "br_if": 0, "br_tabl": 0, "ariti": [0, 18, 21, 44], "br_on_nul": 0, "br_on_cast": 0, "rt1": 0, "rt2": 0, "diff_ref_typ": 0, "call_ref": 0, "return_call_ref": 0, "ti": [0, 3, 18, 19, 20], "st": [0, 9, 13, 14, 18, 38, 39, 44], "under": [0, 3, 9, 18, 21, 23, 27, 41, 43, 44, 45], "never": [0, 9, 19, 21], "duplic": [0, 30, 34, 38], "would": [0, 9, 13, 18, 21, 43], "were": 0, "dup": 0, "extens": [0, 5, 10, 12, 13, 18, 20, 30, 34, 41, 43], "abov": [0, 4, 9, 18, 33, 37, 44], "refin": [0, 1, 3], "proper": [0, 32], "ensur": [0, 9, 19, 21, 23, 27, 38, 41, 46], "consist": [0, 2, 9, 12, 13, 16, 18, 19, 20, 21, 27, 30, 31, 32, 36, 37, 38, 41, 45], "mathdef40": 1, "valid": [1, 2, 3, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 45], "data": [1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 14, 15, 16, 17, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 44, 46], "mathdef41": 1, "mathdef42": 1, "mathdef43": 1, "mathdef44": 1, "mathdef45": 1, "mathdef46": 1, "mathdef47": 1, "mathdef48": 1, "mathdef49": 1, "mathdef50": 1, "mathdef51": 1, "mathdef52": 1, "mathdef53": 1, "mathdef54": 1, "mathdef55": 1, "mathdef56": 1, "mathdef57": 1, "mathdef58": 1, "mathdef59": 1, "mathdef60": 1, "mathdef61": 1, "mathdef62": 1, "mathdef63": 1, "mathdef64": 1, "mathdef65": 1, "mathdef66": 1, "mathdef67": 1, "mathdef68": 1, "mathdef69": 1, "mathdef70": 1, "mathdef71": 1, "mathdef72": 1, "mathdef73": 1, "mathdef74": 1, "mathdef75": 1, "mathdef76": 1, "mathdef77": 1, "mathdef78": 1, "context": [1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 46], "propos": 1, "provid": [1, 2, 3, 10, 19, 20, 21, 26, 27, 28, 30, 31, 34, 40, 41, 43, 44], "overview": [1, 24, 25], "what": [1, 6, 41], "ad": [1, 6, 9, 12, 13, 19, 20, 30, 44], "within": [1, 9, 15, 20, 21, 27, 30, 31, 32, 34, 40, 45, 46], "integ": [1, 10, 11, 12, 13, 14, 17, 18, 21, 27, 29, 30, 32, 34, 35], "nn": [1, 30, 43], "avoid": [1, 12, 16, 21, 34], "point": [1, 3, 9, 11, 17, 18, 21, 26, 28, 29, 30, 32, 35], "_f": 1, "mm": 1, "introduc": [1, 9, 10, 18, 30, 41], "abil": 1, "paramet": [1, 3, 4, 14, 18, 23, 27, 31, 32, 34, 38, 39, 41, 45], "more": [1, 9, 16, 18, 27, 30, 33, 34, 40, 41, 43, 45, 46], "than": [1, 3, 9, 13, 18, 19, 20, 21, 26, 27, 30, 33, 40, 43, 44, 45, 46], "arbitrari": [1, 20, 33, 34, 40, 44], "4": [1, 2, 8, 12, 13, 15, 18, 20, 27, 30, 33, 36, 37], "option": [1, 10, 13, 21, 27, 28, 30, 32, 34, 36, 38, 39, 40, 41], "immedi": [1, 12, 27, 30, 36, 41], "segment": [1, 4, 7, 13, 21, 27, 29, 30, 35, 41, 42, 43], "modifi": [1, 3, 9, 16, 18], "per": [1, 2, 3, 16, 18, 34, 43], "rang": [1, 3, 4, 9, 12, 13, 20, 21, 26, 28, 30, 31, 32, 33, 40, 46], "entri": [1, 3, 13, 21, 23, 30, 32, 34, 36, 41], "5": [1, 8, 12, 13, 18, 20, 33, 34, 40], "count": [1, 11, 20, 21], "boundari": [1, 41], "longer": [1, 9, 21, 30, 46], "compil": [1, 2, 4, 13, 19, 26, 27, 31], "parallel": [1, 13, 26, 41], "also": [1, 3, 9, 10, 12, 14, 16, 18, 19, 20, 21, 26, 27, 28, 30, 31, 32, 33, 34, 36, 38, 40, 41, 43, 44], "simd": [1, 30, 32, 33], "6": [1, 12, 13, 15], "_zero": [1, 6, 12, 30, 36], "_splat": [1, 6, 12, 30, 36], "unari": [1, 14, 20, 30], "_i": [1, 3, 9, 13, 18, 19, 36, 38, 39, 43, 44, 45, 46], "_i16x8": [1, 6, 12, 30, 36], "_i8x16": [1, 6, 12, 30, 36], "ternari": [1, 30], "relat": [1, 9, 20, 23, 30], "_f32x4": [1, 6, 12, 30, 36], "_f64x2": [1, 6, 12, 30, 36], "_i32x4": [1, 6, 12, 30, 36], "_low": [1, 30, 36], "split": [1, 9, 13, 26, 28, 38], "combin": [1, 20, 38, 39, 43], "reorder": 1, "inject": [1, 32], "project": [1, 41], "tree": 1, "nontrap": 1, "multi": [1, 6], "oper": [1, 3, 4, 6, 16, 17, 18, 21, 26, 27, 30, 32, 33, 41], "basic": [1, 10, 21, 27, 30], "immut": [1, 9, 21, 27, 31, 32, 33], "9": [1, 8, 12, 13, 15, 18, 40], "10": [1, 2, 6, 12, 13, 15, 40], "generalis": [1, 9], "class": [1, 3, 9, 31, 32, 33, 36, 37], "sequenc": [1, 2, 3, 4, 5, 7, 9, 10, 12, 13, 15, 16, 18, 19, 20, 21, 27, 28, 30, 31, 32, 33, 34, 36, 37, 38, 40, 41, 42, 44, 45, 46], "definit": [1, 2, 3, 7, 9, 13, 16, 18, 19, 20, 21, 26, 27, 28, 31, 32, 33, 37, 38, 41, 43, 44, 45], "manag": [1, 32], "11": [1, 6, 12, 13, 18, 33, 44], "short": [1, 14, 28, 31], "hand": [1, 3, 21], "structur": [1, 2, 3, 5, 7, 12, 13, 14, 17, 18, 19, 24, 27, 28, 30, 31, 32, 36, 39, 41, 43, 44], "enrich": [1, 9], "base": [1, 20, 27, 30, 31, 33, 36], "explicitli": [1, 3, 9, 16, 18, 37, 41], "unbox": [1, 21, 30, 32], "scalar": [1, 18, 21, 30, 32, 33, 34, 37, 40, 42], "blob": 1, "gc": 1, "mathdef79": 2, "mathdef80": 2, "mathdef81": 2, "mathdef82": 2, "mathdef83": 2, "mathdef84": 2, "mathdef85": 2, "mathdef86": 2, "mathdef87": 2, "mathdef88": 2, "mathdef89": 2, "mathdef90": 2, "mathdef91": 2, "mathdef92": 2, "mathdef93": 2, "mathdef94": 2, "mathdef95": 2, "mathdef96": 2, "mathdef97": 2, "mathdef98": 2, "mathdef99": 2, "mathdef100": 2, "mathdef101": 2, "mathdef102": 2, "mathdef103": 2, "mathdef104": 2, "mathdef105": 2, "mathdef106": 2, "mathdef107": 2, "mathdef108": 2, "mathdef109": 2, "mathdef110": 2, "mathdef111": 2, "mathdef112": 2, "mathdef113": 2, "mathdef114": 2, "mathdef115": 2, "mathdef116": 2, "mathdef117": 2, "dedic": 2, "Such": [2, 16, 26, 27, 36, 38, 41, 43], "contribut": 2, "thei": [2, 4, 9, 10, 12, 13, 14, 18, 20, 21, 26, 27, 30, 31, 32, 33, 34, 36, 37, 38, 39, 40, 41, 43, 45], "meta": [2, 10, 13, 20, 21, 28, 31, 32, 33, 34], "improv": 2, "user": 2, "experi": 2, "hint": [2, 18, 30], "itself": [2, 9, 16, 19, 21, 27, 30, 31, 40, 41, 45], "mathdef118": 2, "should": [2, 18], "appear": [2, 10, 28, 34, 36, 38, 45], "onc": [2, 13, 19, 27, 31], "attach": 2, "printabl": [2, 40], "debugg": 2, "part": [2, 3, 16, 18, 21, 26, 27, 28, 30, 41, 43], "render": [2, 16, 18, 34, 41], "encod": [2, 6, 10, 12, 13, 14, 15, 21, 26, 27, 33, 34, 40, 41], "utf": [2, 15, 26, 33, 34, 40], "uniqu": [2, 9, 21, 31, 34, 41], "content": [2, 13, 18, 19, 21, 28, 31, 41, 45], "depend": [2, 4, 9, 13, 18, 19, 20, 25, 30, 31, 33, 34, 40, 41, 45], "llcll": [2, 10, 15, 34, 38, 39], "_0": [2, 13, 18, 19, 21], "mathdef119": 2, "_n": [2, 13, 15, 18, 21, 36, 40, 41], "2": [2, 5, 8, 9, 12, 13, 15, 16, 18, 19, 20, 21, 26, 27, 28, 30, 33, 34, 36, 37, 40, 41, 43, 46], "most": [2, 9, 13, 16, 18, 20, 21, 28, 30, 31, 33, 34, 38, 43, 44, 45, 46], "increas": [2, 13, 30], "assign": [2, 21, 32, 34, 37], "pair": [2, 3, 9, 10, 13, 18, 20, 27, 31, 38], "llclll": [2, 10, 12, 13, 14, 15, 34, 36, 37, 38, 39, 40], "indirect": [2, 9, 21, 30], "dimension": 2, "secondari": [2, 19], "group": [2, 18, 26, 30, 32, 36, 41, 46], "primari": 2, "turn": [2, 4, 13, 43], "individu": [2, 4, 18, 19, 21, 30, 31, 32, 38, 41, 43], "_1": [2, 7, 9, 12, 13, 14, 30, 36, 38, 41, 44, 46], "_2": [2, 7, 9, 12, 13, 14, 30, 36, 38, 41, 44], "mathdef120": 3, "mathdef121": 3, "mathdef122": 3, "mathdef123": 3, "mathdef124": 3, "mathdef125": 3, "mathdef126": 3, "mathdef127": 3, "mathdef128": 3, "mathdef129": 3, "mathdef130": 3, "mathdef131": 3, "mathdef132": 3, "mathdef133": 3, "mathdef134": 3, "mathdef135": 3, "mathdef136": 3, "mathdef137": 3, "mathdef138": 3, "mathdef139": 3, "mathdef140": 3, "mathdef141": 3, "mathdef142": 3, "mathdef143": 3, "mathdef144": 3, "mathdef145": 3, "mathdef146": 3, "mathdef147": 3, "mathdef148": 3, "mathdef149": 3, "mathdef150": 3, "mathdef151": 3, "mathdef152": 3, "mathdef153": 3, "mathdef154": 3, "mathdef155": 3, "mathdef156": 3, "mathdef157": 3, "mathdef158": 3, "typic": [3, 4, 16, 26, 27, 30], "environ": [3, 4, 26, 27, 31], "embedd": [3, 4, 9, 18, 19, 21, 26, 27, 31, 32], "connect": 3, "between": [3, 20, 27, 30, 33, 34, 41, 43], "interact": [3, 21, 26], "wai": [3, 9, 19, 21, 26, 27, 32], "interfac": [3, 26], "sens": 3, "On": [3, 44], "support": [3, 4, 10, 20, 21, 26, 27, 31, 37, 40], "pars": [3, 10, 34, 36], "descript": [3, 7, 13, 16, 31, 34, 38, 41, 45], "abstract": [3, 9, 10, 14, 16, 20, 21, 27, 28, 32, 33, 34, 38, 39, 40, 41], "machin": [3, 9, 16, 21, 26, 27, 30], "possibl": [3, 6, 9, 10, 14, 18, 19, 20, 21, 26, 31, 33, 37, 38, 43], "object": [3, 19, 21, 26, 32], "interpret": [3, 4, 13, 16, 21, 27, 28, 30, 32, 33, 40, 41], "specifi": [3, 4, 9, 16, 20, 21, 23, 27, 30, 31, 32, 34, 38, 41], "symbol": [3, 4, 10, 28, 34, 36, 37, 38, 40], "predic": [3, 20], "llll": [3, 9, 18, 21, 34, 37, 41], "failur": [3, 18, 19, 30], "reach": [3, 9, 18, 21], "unspecif": 3, "carri": [3, 21], "classif": 3, "diagnost": 3, "messag": 3, "some": [3, 4, 9, 10, 14, 15, 16, 18, 20, 23, 27, 28, 30, 32, 33, 34, 40, 41, 43, 44, 45, 46], "about": [3, 9, 16, 21, 26, 41], "argument": [3, 9, 12, 18, 19, 20, 21, 23, 27, 30, 36, 39, 41, 43], "respons": [3, 26], "meet": [3, 43], "If": [3, 4, 9, 10, 13, 18, 19, 20, 28, 30, 32, 34, 36, 38, 41, 43, 45, 46], "guarante": [3, 16, 18, 26, 27, 30], "adopt": [3, 10, 16, 28, 34, 41], "address": [3, 9, 17, 18, 19, 23, 27, 30], "As": [3, 15, 16, 20, 26, 30, 36, 38], "long": [3, 9, 16, 20, 43], "treat": [3, 12, 28, 30], "creat": [3, 21, 27, 30], "automat": [3, 9, 27, 31, 38], "lclll": 3, "epsilon": [3, 8, 9, 10, 12, 13, 14, 16, 18, 19, 20, 21, 28, 30, 32, 34, 36, 38, 39, 40, 41, 44, 45, 46], "deriv": [3, 9, 10, 16, 41], "accord": [3, 18, 30, 37, 41], "grammar": [3, 11, 13, 29, 30, 33, 35, 36, 37, 38, 40], "yield": [3, 18, 30, 43, 45], "stackrel": 3, "longrightarrow": [3, 9], "c": [3, 7, 9, 15, 30, 33, 36, 37, 40, 41, 44, 45, 46], "noth": [3, 18, 30], "try": 3, "succe": [3, 18, 30], "ev": 3, "assert": [3, 9, 16, 18, 19], "length": [3, 4, 6, 9, 10, 12, 13, 15, 18, 19, 20, 21, 28, 30, 33, 34, 38, 43, 45, 46], "tripl": 3, "concaten": [3, 9, 13, 18, 19, 28, 43, 45], "im": [3, 13, 19, 38], "qquad": [3, 9, 10, 12, 13, 14, 15, 18, 19, 20, 21, 23, 28, 30, 32, 33, 34, 36, 37, 38, 39, 40, 41, 43, 44, 45, 46], "wedg": [3, 9, 15, 18, 19, 20, 38, 40], "ex": [3, 13, 19, 38], "due": [3, 9, 18, 19, 30, 33], "ta": [3, 18, 38], "regular": [3, 9, 21, 36, 38, 41], "indirectli": [3, 27, 30], "tt": [3, 9, 13, 32, 38, 45], "r": [3, 9, 18, 19, 20, 21, 28, 40, 41], "larger": [3, 18, 19, 20, 30, 43, 44, 45, 46], "mt": [3, 9, 13, 32, 38, 43, 45], "mi": [3, 9, 18], "divid": [3, 18, 19, 20, 21, 27, 30, 37, 43], "page": [3, 9, 19, 21, 30, 31, 32, 38], "cdot": [3, 9, 15, 16, 18, 19, 20, 30, 33, 40, 41, 43], "ki": [3, 9, 18, 19, 21, 38], "gi": 3, "futur": [3, 4, 9, 12, 13, 14, 18, 20, 21, 26, 30, 43, 45, 46], "inform": [3, 13, 26, 41], "run": [3, 9, 21, 26], "less": [3, 18, 20], "_t": [3, 18, 20, 21], "_reftyp": 3, "t_1": [3, 6, 9, 19, 34, 36, 38, 39, 41, 44, 45], "t_2": [3, 6, 9, 19, 36, 38, 39, 41, 44, 45], "et": [3, 13, 14, 19, 23, 38, 39, 45], "type": [4, 5, 6, 10, 11, 12, 15, 16, 17, 19, 20, 21, 24, 25, 26, 27, 28, 29, 30, 33, 34, 35, 36, 37, 40, 42], "mathdef159": 4, "mathdef160": 4, "mathdef161": 4, "mathdef162": 4, "mathdef163": 4, "mathdef164": 4, "mathdef165": 4, "mathdef166": 4, "mathdef167": 4, "mathdef168": 4, "mathdef169": 4, "mathdef170": 4, "mathdef171": 4, "mathdef172": 4, "mathdef173": 4, "mathdef174": 4, "mathdef175": 4, "mathdef176": 4, "mathdef177": 4, "mathdef178": 4, "mathdef179": 4, "mathdef180": 4, "mathdef181": 4, "mathdef182": 4, "mathdef183": 4, "mathdef184": 4, "mathdef185": 4, "mathdef186": 4, "mathdef187": 4, "mathdef188": 4, "mathdef189": 4, "mathdef190": 4, "mathdef191": 4, "mathdef192": 4, "mathdef193": 4, "mathdef194": 4, "mathdef195": 4, "mathdef196": 4, "mathdef197": 4, "impos": [4, 38, 43], "restrict": [4, 10, 15, 21, 30, 31, 34, 37, 38, 45, 46], "stem": 4, "physic": 4, "resourc": [4, 18, 26, 30], "strategi": 4, "minimum": [4, 32], "nor": [4, 20, 26, 32], "fix": [4, 9, 28, 30, 33], "reason": [4, 26], "larg": [4, 21, 28], "enabl": [4, 13, 21, 26], "common": [4, 9, 21, 26, 28, 32, 44], "applic": [4, 10, 16, 18, 20, 26, 34, 44, 45], "conform": 4, "leav": [4, 21], "featur": [4, 9, 26], "design": [4, 9, 16, 25, 41], "subset": [4, 34, 37], "dimens": [4, 30], "depth": [4, 30], "nest": [4, 12, 18, 21, 27, 28, 30, 36, 37], "charact": [4, 15, 26, 33, 34, 35, 40], "exceed": [4, 18], "reject": 4, "item": [4, 38], "without": [4, 9, 12, 13, 14, 18, 32, 41, 43, 45], "fold": [4, 35], "identifi": [4, 13, 20, 21, 31, 34, 35, 36, 38, 39], "liter": [4, 12, 33, 34, 37, 38, 40], "defer": [4, 13], "until": [4, 13, 18], "same": [4, 9, 10, 13, 14, 20, 21, 28, 30, 31, 33, 34, 36, 38, 41, 43, 44, 45], "just": [4, 18, 19, 20, 26, 38, 45], "fulli": [4, 9, 26, 43], "befor": [4, 9, 13, 19, 26, 30, 31, 34, 38], "dure": [4, 9, 18, 21, 22, 31, 32, 41, 44, 46], "instanc": [4, 5, 7, 16, 17, 18, 19, 22, 23, 27], "stack": [4, 9, 16, 17, 18, 19, 27, 30, 31, 41, 43, 44], "termin": [4, 9, 10, 12, 15, 16, 18, 21, 28, 30, 31, 34, 37], "report": [4, 19, 27], "usual": [4, 10, 20, 27, 30, 34], "interdepend": [4, 21], "vari": [4, 12, 33], "situat": 4, "event": 4, "mathdef198": 5, "mathdef199": 5, "mathdef200": 5, "mathdef201": 5, "mathdef202": 5, "mathdef203": 5, "mathdef204": 5, "mathdef205": 5, "mathdef206": 5, "mathdef207": 5, "mathdef208": 5, "mathdef209": 5, "mathdef210": 5, "mathdef211": 5, "mathdef212": 5, "mathdef213": 5, "mathdef214": 5, "mathdef215": 5, "mathdef216": 5, "mathdef217": 5, "mathdef218": 5, "mathdef219": 5, "mathdef220": 5, "mathdef221": 5, "mathdef222": 5, "mathdef223": 5, "mathdef224": 5, "mathdef225": 5, "mathdef226": 5, "mathdef227": 5, "mathdef228": 5, "mathdef229": 5, "mathdef230": 5, "mathdef231": 5, "mathdef232": 5, "mathdef233": 5, "mathdef234": 5, "mathdef235": 5, "mathdef236": 5, "boolean": [5, 27, 30], "pre": [5, 9, 18, 19, 38, 45], "post": [5, 9, 18], "condit": [5, 9, 10, 15, 18, 19, 20, 27, 28, 30, 34, 36, 38, 41, 44, 46], "execut": [5, 6, 9, 16, 18, 19, 21, 22, 24, 26, 27, 30, 32, 41, 43, 44], "configur": [5, 7, 16], "administr": [5, 17, 18], "theorem": 5, "system": [5, 16, 24, 26, 27, 41], "lattic": 5, "composition": 5, "algorithm": [5, 9, 18, 24, 41, 43], "opcod": [5, 6, 8, 12], "histori": [5, 24], "releas": [5, 24, 26], "3": [5, 8, 9, 12, 13, 15, 18, 20, 24, 26, 32, 33, 36, 43], "rule": [5, 9, 10, 13, 16, 18, 21, 23, 24, 28, 34, 36, 37, 40, 41, 43, 44, 45, 46], "formed": [5, 9, 27, 38, 45], "static": [5, 9, 19, 21, 27, 30, 31, 32], "construct": [5, 9, 16, 21, 27, 28, 30, 31, 33, 34, 38, 41, 45], "mathdef237": 6, "mathdef238": 6, "mathdef239": 6, "mathdef240": 6, "mathdef241": 6, "mathdef242": 6, "mathdef243": 6, "mathdef244": 6, "mathdef245": 6, "mathdef246": 6, "mathdef247": 6, "mathdef248": 6, "mathdef249": 6, "mathdef250": 6, "mathdef251": 6, "mathdef252": 6, "mathdef253": 6, "mathdef254": 6, "mathdef255": 6, "mathdef256": 6, "mathdef257": 6, "mathdef258": 6, "mathdef259": 6, "mathdef260": 6, "mathdef261": 6, "mathdef262": 6, "mathdef263": 6, "mathdef264": 6, "mathdef265": 6, "mathdef266": 6, "mathdef267": 6, "mathdef268": 6, "mathdef269": 6, "mathdef270": 6, "mathdef271": 6, "mathdef272": 6, "mathdef273": 6, "mathdef274": 6, "mathdef275": 6, "mathdef276": 6, "00": [6, 10, 12, 13, 14, 15, 19, 33, 37], "mathdef277": 6, "01": [6, 10, 12, 13, 14], "bt": [6, 12, 36, 43], "mathdef278": 6, "02": [6, 12, 13], "mathdef279": 6, "03": [6, 12, 13, 15], "mathdef280": 6, "04": [6, 12], "mathdef281": 6, "05": [6, 12, 24, 26], "mathdef282": 6, "06": 6, "mathdef283": 6, "07": 6, "mathdef284": 6, "08": 6, "mathdef285": 6, "09": [6, 37, 40], "mathdef286": 6, "0a": [6, 34, 37, 40], "mathdef287": 6, "0b": [6, 12], "l": [6, 9, 10, 12, 13, 14, 15, 19, 20, 21, 28, 30, 31, 32, 33, 34, 36, 37, 38, 39, 40, 41, 44, 45], "mathdef288": 6, "0c": [6, 12], "mathdef289": 6, "0d": [6, 12, 37, 40], "mathdef290": 6, "0e": [6, 12], "mathdef291": 6, "0f": [6, 10, 12], "mathdef292": 6, "y": [6, 9, 12, 13, 31, 34, 36, 38, 39], "mathdef293": 6, "mathdef294": 6, "12": [6, 12, 13, 15, 44], "mathdef295": 6, "13": [6, 8, 12], "mathdef296": 6, "14": [6, 8, 12, 20], "mathdef297": 6, "15": [6, 8, 12, 18, 20, 40], "mathdef298": 6, "mathdef299": 6, "17": [6, 8, 12, 24, 26], "mathdef300": 6, "18": [6, 8, 12, 15], "mathdef301": 6, "19": [6, 8, 12], "mathdef302": 6, "1a": [6, 12], "mathdef303": 6, "1b": [6, 12], "mathdef304": 6, "1c": [6, 12], "mathdef305": 6, "1d": 6, "mathdef306": 6, "1e": 6, "mathdef307": 6, "1f": 6, "mathdef308": 6, "20": [6, 8, 12, 40], "mathdef309": 6, "21": [6, 8, 12, 44], "mathdef310": 6, "22": [6, 8, 12, 40, 44], "mathdef311": 6, "23": [6, 12, 33], "mathdef312": 6, "24": [6, 12], "mathdef313": 6, "25": [6, 12], "mathdef314": 6, "26": [6, 12], "mathdef315": 6, "27": [6, 12, 40], "mathdef316": 6, "28": [6, 8, 12], "mathdef317": 6, "29": [6, 8, 12], "mathdef318": 6, "2a": [6, 12], "mathdef319": 6, "2b": [6, 12], "mathdef320": 6, "2c": [6, 12], "mathdef321": 6, "2d": [6, 12], "mathdef322": 6, "2e": [6, 12], "mathdef323": 6, "2f": [6, 12], "mathdef324": 6, "30": [6, 12], "mathdef325": 6, "31": [6, 12, 18, 21, 32], "mathdef326": 6, "mathdef327": 6, "mathdef328": 6, "34": [6, 8, 12], "mathdef329": 6, "35": [6, 12], "mathdef330": 6, "36": [6, 12], "mathdef331": 6, "37": [6, 12], "mathdef332": 6, "38": [6, 12], "mathdef333": 6, "39": [6, 12], "mathdef334": 6, "3a": [6, 12], "mathdef335": 6, "3b": [6, 12], "mathdef336": 6, "3c": [6, 12], "mathdef337": 6, "3d": [6, 12], "mathdef338": 6, "3e": [6, 12, 15], "mathdef339": 6, "3f": [6, 12], "mathdef340": 6, "40": [6, 8, 12, 13], "mathdef341": 6, "41": [6, 8, 12], "mathdef342": 6, "42": [6, 12], "mathdef343": 6, "43": [6, 12], "mathdef344": 6, "44": [6, 12], "mathdef345": 6, "45": [6, 12], "mathdef346": 6, "46": [6, 12], "mathdef347": 6, "47": [6, 12], "mathdef348": 6, "48": [6, 8, 12], "mathdef349": 6, "49": [6, 8, 12], "mathdef350": 6, "4a": [6, 12], "mathdef351": 6, "4b": [6, 12], "mathdef352": 6, "4c": [6, 12], "mathdef353": 6, "4d": [6, 8, 12], "mathdef354": 6, "4e": [6, 8, 12, 14], "mathdef355": 6, "4f": [6, 8, 12, 14], "mathdef356": 6, "50": [6, 8, 12, 14], "mathdef357": 6, "51": [6, 8, 12], "mathdef358": 6, "52": [6, 12, 33], "mathdef359": 6, "53": [6, 12], "mathdef360": 6, "54": [6, 12], "mathdef361": 6, "55": [6, 12], "mathdef362": 6, "56": [6, 12], "mathdef363": 6, "57": [6, 12], "mathdef364": 6, "58": [6, 12], "mathdef365": 6, "59": [6, 12], "mathdef366": 6, "5a": [6, 12], "mathdef367": 6, "5b": [6, 12], "mathdef368": 6, "5c": [6, 12, 40], "mathdef369": 6, "5d": [6, 8, 12], "mathdef370": 6, "5e": [6, 8, 12, 14], "mathdef371": 6, "5f": [6, 8, 12, 14], "mathdef372": 6, "60": [6, 8, 12, 14], "mathdef373": 6, "61": [6, 8, 12, 13], "mathdef374": 6, "62": [6, 8, 12], "mathdef375": 6, "63": [6, 8, 12, 14], "mathdef376": 6, "mathdef377": 6, "65": [6, 8, 12], "mathdef378": 6, "66": [6, 12], "mathdef379": 6, "67": [6, 12], "mathdef380": 6, "68": [6, 12], "mathdef381": 6, "69": [6, 8, 12], "mathdef382": 6, "6a": [6, 8, 12, 14], "mathdef383": 6, "6b": [6, 8, 12, 14], "mathdef384": 6, "6c": [6, 8, 12, 14], "mathdef385": 6, "6d": [6, 8, 12, 13, 14], "mathdef386": 6, "6e": [6, 8, 12, 14], "mathdef387": 6, "6f": [6, 8, 12, 14], "mathdef388": 6, "70": [6, 8, 12, 14], "mathdef389": 6, "71": [6, 8, 12, 14], "mathdef390": 6, "72": [6, 8, 12, 14], "mathdef391": 6, "73": [6, 8, 12, 13, 14], "mathdef392": 6, "74": [6, 8, 12], "mathdef393": 6, "75": [6, 12], "mathdef394": 6, "76": [6, 12], "mathdef395": 6, "77": [6, 8, 12, 14], "mathdef396": 6, "78": [6, 8, 12, 14], "mathdef397": 6, "79": [6, 8, 12], "mathdef398": 6, "7a": [6, 8, 12], "mathdef399": 6, "7b": [6, 8, 12, 14, 15], "mathdef400": 6, "7c": [6, 8, 10, 12, 14], "mathdef401": 6, "7d": [6, 8, 10, 12, 14], "mathdef402": 6, "7e": [6, 8, 10, 12, 14, 15], "mathdef403": 6, "7f": [6, 8, 10, 12, 14, 15, 40], "mathdef404": 6, "80": [6, 12, 15], "mathdef405": 6, "81": [6, 12], "mathdef406": 6, "82": [6, 12], "mathdef407": 6, "83": [6, 12, 15], "mathdef408": 6, "84": [6, 12], "mathdef409": 6, "85": [6, 12], "mathdef410": 6, "86": [6, 12], "mathdef411": 6, "87": [6, 12], "mathdef412": 6, "88": [6, 12], "mathdef413": 6, "89": [6, 12], "mathdef414": 6, "8a": [6, 12], "mathdef415": 6, "8b": [6, 12], "mathdef416": 6, "8c": [6, 12], "mathdef417": 6, "8d": [6, 12], "mathdef418": 6, "8e": [6, 12], "mathdef419": 6, "8f": [6, 12], "mathdef420": 6, "90": [6, 12], "mathdef421": 6, "91": [6, 12], "mathdef422": 6, "92": [6, 12], "mathdef423": 6, "93": [6, 12], "mathdef424": 6, "94": [6, 12], "mathdef425": 6, "95": [6, 12], "mathdef426": 6, "96": [6, 12], "mathdef427": 6, "97": [6, 12], "mathdef428": 6, "98": [6, 12], "mathdef429": 6, "99": [6, 12], "mathdef430": 6, "9a": [6, 12], "mathdef431": 6, "9b": [6, 12], "mathdef432": 6, "9c": [6, 12], "mathdef433": 6, "9d": [6, 12], "mathdef434": 6, "9e": [6, 12], "mathdef435": 6, "9f": [6, 12], "mathdef436": 6, "a0": [6, 12], "mathdef437": 6, "a1": [6, 12], "mathdef438": 6, "a2": [6, 12], "mathdef439": 6, "a3": [6, 12], "mathdef440": 6, "a4": [6, 12], "mathdef441": 6, "a5": [6, 12], "mathdef442": 6, "a6": [6, 12], "mathdef443": 6, "a7": [6, 12], "mathdef444": 6, "a8": [6, 12], "mathdef445": 6, "a9": [6, 12], "mathdef446": 6, "aa": [6, 12], "mathdef447": 6, "mathdef448": 6, "ac": [6, 12], "mathdef449": 6, "mathdef450": 6, "ae": [6, 12], "mathdef451": 6, "af": [6, 12], "mathdef452": 6, "b0": [6, 12], "mathdef453": 6, "b1": [6, 12], "mathdef454": 6, "b2": [6, 12], "mathdef455": 6, "b3": [6, 12], "mathdef456": 6, "b4": [6, 12], "mathdef457": 6, "b5": [6, 12], "mathdef458": 6, "b6": [6, 12], "mathdef459": 6, "b7": [6, 12], "mathdef460": 6, "b8": [6, 12], "mathdef461": 6, "b9": [6, 12], "mathdef462": 6, "ba": [6, 12], "mathdef463": 6, "bb": [6, 12], "mathdef464": 6, "bc": [6, 12], "mathdef465": 6, "bd": [6, 12], "mathdef466": 6, "BE": [6, 12], "mathdef467": 6, "bf": [6, 12], "mathdef468": 6, "c0": [6, 12, 15], "mathdef469": 6, "c1": [6, 12], "mathdef470": 6, "c2": [6, 12], "mathdef471": 6, "c3": [6, 12], "mathdef472": 6, "c4": [6, 12], "mathdef473": 6, "c5": 6, "mathdef474": 6, "c6": 6, "mathdef475": 6, "c7": 6, "mathdef476": 6, "c8": 6, "mathdef477": 6, "c9": 6, "mathdef478": 6, "ca": 6, "mathdef479": 6, "cb": 6, "mathdef480": 6, "cc": 6, "mathdef481": 6, "cd": 6, "mathdef482": 6, "ce": 6, "mathdef483": 6, "cf": 6, "ht": [6, 12, 13, 14, 18, 32, 38, 39, 41, 44], "mathdef484": 6, "d0": [6, 12], "mathdef485": 6, "d1": [6, 12], "mathdef486": 6, "d2": [6, 12], "mathdef487": 6, "d3": [6, 12], "mathdef488": 6, "d4": [6, 12], "mathdef489": 6, "d5": [6, 12], "mathdef490": 6, "d6": [6, 12], "mathdef491": 6, "d7": 6, "mathdef492": 6, "d8": 6, "mathdef493": 6, "d9": 6, "mathdef494": 6, "da": [6, 18, 38], "mathdef495": 6, "db": 6, "mathdef496": 6, "dc": 6, "mathdef497": 6, "dd": 6, "mathdef498": 6, "de": 6, "mathdef499": 6, "df": 6, "mathdef500": 6, "e0": [6, 15], "mathdef501": 6, "e1": 6, "mathdef502": 6, "e2": 6, "mathdef503": 6, "e3": 6, "mathdef504": 6, "e4": 6, "mathdef505": 6, "e5": 6, "mathdef506": 6, "e6": 6, "mathdef507": 6, "e7": 6, "mathdef508": 6, "e8": 6, "mathdef509": 6, "e9": 6, "mathdef510": 6, "ea": [6, 18], "mathdef511": 6, "eb": 6, "mathdef512": 6, "ec": 6, "mathdef513": 6, "ed": 6, "mathdef514": 6, "ee": 6, "mathdef515": 6, "ef": 6, "mathdef516": 6, "f0": [6, 15], "mathdef517": 6, "f1": 6, "mathdef518": 6, "f2": 6, "mathdef519": 6, "f3": 6, "mathdef520": 6, "f4": 6, "mathdef521": 6, "f5": 6, "mathdef522": 6, "f6": 6, "mathdef523": 6, "f7": 6, "mathdef524": 6, "f8": 6, "mathdef525": 6, "f9": 6, "mathdef526": 6, "fa": [6, 9], "mathdef527": 6, "fb": [6, 12], "mathdef528": 6, "mathdef529": 6, "mathdef530": 6, "mathdef531": 6, "mathdef532": 6, "mathdef533": 6, "mathdef534": 6, "mathdef535": 6, "mathdef536": 6, "mathdef537": 6, "mathdef538": 6, "mathdef539": 6, "mathdef540": 6, "mathdef541": 6, "mathdef542": 6, "mathdef543": 6, "mathdef544": 6, "mathdef545": 6, "mathdef546": 6, "mathdef547": 6, "mathdef548": 6, "mathdef549": 6, "mathdef550": 6, "mathdef551": 6, "mathdef552": 6, "mathdef553": 6, "mathdef554": 6, "mathdef555": 6, "mathdef556": 6, "mathdef557": 6, "mathdef558": 6, "mathdef559": 6, "mathdef560": 6, "mathdef561": 6, "mathdef562": 6, "mathdef563": 6, "mathdef564": 6, "mathdef565": 6, "mathdef566": 6, "mathdef567": 6, "mathdef568": 6, "mathdef569": 6, "mathdef570": 6, "mathdef571": 6, "mathdef572": 6, "mathdef573": 6, "mathdef574": 6, "mathdef575": 6, "mathdef576": 6, "mathdef577": 6, "mathdef578": 6, "mathdef579": 6, "mathdef580": 6, "mathdef581": 6, "mathdef582": 6, "mathdef583": 6, "mathdef584": 6, "mathdef585": 6, "mathdef586": 6, "mathdef587": 6, "mathdef588": 6, "mathdef589": 6, "mathdef590": 6, "mathdef591": 6, "fc": [6, 12], "mathdef592": 6, "mathdef593": 6, "mathdef594": 6, "mathdef595": 6, "mathdef596": 6, "mathdef597": 6, "mathdef598": 6, "mathdef599": 6, "mathdef600": 6, "mathdef601": 6, "mathdef602": 6, "mathdef603": 6, "mathdef604": 6, "mathdef605": 6, "mathdef606": 6, "mathdef607": 6, "mathdef608": 6, "mathdef609": 6, "mathdef610": 6, "mathdef611": 6, "mathdef612": 6, "mathdef613": 6, "mathdef614": 6, "mathdef615": 6, "mathdef616": 6, "mathdef617": 6, "mathdef618": 6, "mathdef619": 6, "mathdef620": 6, "mathdef621": 6, "mathdef622": 6, "mathdef623": 6, "mathdef624": 6, "mathdef625": 6, "mathdef626": 6, "mathdef627": 6, "mathdef628": 6, "mathdef629": 6, "fd": [6, 12], "mathdef630": 6, "8x8": [6, 12, 30, 36], "mathdef631": 6, "mathdef632": 6, "mathdef633": 6, "mathdef634": 6, "16x4": [6, 12, 30, 36], "mathdef635": 6, "mathdef636": 6, "mathdef637": 6, "mathdef638": 6, "32x2": [6, 12, 30, 36], "mathdef639": 6, "mathdef640": 6, "mathdef641": 6, "mathdef642": 6, "mathdef643": 6, "mathdef644": 6, "mathdef645": 6, "mathdef646": 6, "mathdef647": 6, "mathdef648": 6, "mathdef649": 6, "mathdef650": 6, "mathdef651": 6, "mathdef652": 6, "mathdef653": 6, "mathdef654": 6, "mathdef655": 6, "mathdef656": 6, "mathdef657": 6, "mathdef658": 6, "mathdef659": 6, "mathdef660": 6, "mathdef661": 6, "mathdef662": 6, "mathdef663": 6, "mathdef664": 6, "mathdef665": 6, "mathdef666": 6, "mathdef667": 6, "mathdef668": 6, "mathdef669": 6, "mathdef670": 6, "mathdef671": 6, "mathdef672": 6, "mathdef673": 6, "mathdef674": 6, "mathdef675": 6, "mathdef676": 6, "mathdef677": 6, "mathdef678": 6, "mathdef679": 6, "mathdef680": 6, "mathdef681": 6, "mathdef682": 6, "mathdef683": 6, "mathdef684": 6, "mathdef685": 6, "mathdef686": 6, "mathdef687": 6, "mathdef688": 6, "mathdef689": 6, "mathdef690": 6, "mathdef691": 6, "mathdef692": 6, "mathdef693": 6, "mathdef694": 6, "mathdef695": 6, "mathdef696": 6, "mathdef697": 6, "mathdef698": 6, "mathdef699": 6, "mathdef700": 6, "mathdef701": 6, "mathdef702": 6, "mathdef703": 6, "mathdef704": 6, "mathdef705": 6, "mathdef706": 6, "mathdef707": 6, "mathdef708": 6, "mathdef709": 6, "mathdef710": 6, "mathdef711": 6, "mathdef712": 6, "mathdef713": 6, "mathdef714": 6, "mathdef715": 6, "mathdef716": 6, "mathdef717": 6, "mathdef718": 6, "mathdef719": 6, "mathdef720": 6, "mathdef721": 6, "mathdef722": 6, "mathdef723": 6, "mathdef724": 6, "mathdef725": 6, "mathdef726": 6, "mathdef727": 6, "mathdef728": 6, "mathdef729": 6, "mathdef730": 6, "mathdef731": 6, "mathdef732": 6, "mathdef733": 6, "mathdef734": 6, "mathdef735": 6, "mathdef736": 6, "mathdef737": 6, "mathdef738": 6, "mathdef739": 6, "mathdef740": 6, "mathdef741": 6, "mathdef742": 6, "mathdef743": 6, "mathdef744": 6, "mathdef745": 6, "mathdef746": 6, "mathdef747": 6, "mathdef748": 6, "mathdef749": 6, "mathdef750": 6, "mathdef751": 6, "mathdef752": 6, "mathdef753": 6, "mathdef754": 6, "mathdef755": 6, "mathdef756": 6, "mathdef757": 6, "mathdef758": 6, "mathdef759": 6, "mathdef760": 6, "mathdef761": 6, "mathdef762": 6, "mathdef763": 6, "mathdef764": 6, "mathdef765": 6, "mathdef766": 6, "mathdef767": 6, "mathdef768": 6, "mathdef769": 6, "mathdef770": 6, "mathdef771": 6, "mathdef772": 6, "mathdef773": 6, "mathdef774": 6, "mathdef775": 6, "mathdef776": 6, "mathdef777": 6, "mathdef778": 6, "mathdef779": 6, "mathdef780": 6, "mathdef781": 6, "mathdef782": 6, "mathdef783": 6, "mathdef784": 6, "mathdef785": 6, "mathdef786": 6, "mathdef787": 6, "mathdef788": 6, "mathdef789": 6, "mathdef790": 6, "mathdef791": 6, "mathdef792": 6, "mathdef793": 6, "mathdef794": 6, "mathdef795": 6, "mathdef796": 6, "mathdef797": 6, "mathdef798": 6, "mathdef799": 6, "mathdef800": 6, "mathdef801": 6, "mathdef802": 6, "mathdef803": 6, "mathdef804": 6, "mathdef805": 6, "mathdef806": 6, "mathdef807": 6, "mathdef808": 6, "mathdef809": 6, "mathdef810": 6, "mathdef811": 6, "mathdef812": 6, "mathdef813": 6, "mathdef814": 6, "mathdef815": 6, "mathdef816": 6, "mathdef817": 6, "mathdef818": 6, "mathdef819": 6, "mathdef820": 6, "mathdef821": 6, "mathdef822": 6, "mathdef823": 6, "mathdef824": 6, "mathdef825": 6, "mathdef826": 6, "mathdef827": 6, "mathdef828": 6, "mathdef829": 6, "mathdef830": 6, "mathdef831": 6, "mathdef832": 6, "mathdef833": 6, "mathdef834": 6, "mathdef835": 6, "mathdef836": 6, "mathdef837": 6, "mathdef838": 6, "mathdef839": 6, "mathdef840": 6, "mathdef841": 6, "mathdef842": 6, "mathdef843": 6, "mathdef844": 6, "mathdef845": 6, "mathdef846": 6, "mathdef847": 6, "mathdef848": 6, "mathdef849": 6, "mathdef850": 6, "mathdef851": 6, "mathdef852": 6, "mathdef853": 6, "mathdef854": 6, "mathdef855": 6, "mathdef856": 6, "mathdef857": 6, "mathdef858": 6, "mathdef859": 6, "mathdef860": 6, "mathdef861": 6, "mathdef862": 6, "mathdef863": 6, "mathdef864": 6, "mathdef865": 6, "mathdef866": 6, "mathdef867": 6, "mathdef868": 6, "mathdef869": 6, "mathdef870": 6, "mathdef871": 6, "mathdef872": 6, "mathdef873": 6, "mathdef874": 6, "mathdef875": 6, "mathdef876": 6, "mathdef877": 6, "mathdef878": 6, "mathdef879": 6, "mathdef880": 6, "mathdef881": 6, "mathdef882": 6, "mathdef883": 6, "mathdef884": 6, "mathdef885": 6, "mathdef886": 6, "mathdef887": 6, "mathdef888": 6, "mathdef889": 6, "mathdef890": 6, "mathdef891": 6, "mathdef892": 6, "mathdef893": 6, "mathdef894": 6, "mathdef895": 6, "mathdef896": 6, "mathdef897": 6, "mathdef898": 6, "mathdef899": 6, "mathdef900": 6, "mathdef901": 6, "mathdef902": 6, "mathdef903": 6, "mathdef904": 6, "mathdef905": 6, "mathdef906": 6, "mathdef907": 6, "mathdef908": 6, "mathdef909": 6, "mathdef910": 6, "mathdef911": 6, "mathdef912": 6, "mathdef913": 6, "mathdef914": 6, "mathdef915": 6, "mathdef916": 6, "mathdef917": 6, "mathdef918": 6, "mathdef919": 6, "mathdef920": 6, "mathdef921": 6, "mathdef922": 6, "mathdef923": 6, "mathdef924": 6, "mathdef925": 6, "mathdef926": 6, "mathdef927": 6, "mathdef928": 6, "mathdef929": 6, "mathdef930": 6, "mathdef931": 6, "mathdef932": 6, "mathdef933": 6, "mathdef934": 6, "mathdef935": 6, "mathdef936": 6, "mathdef937": 6, "mathdef938": 6, "mathdef939": 6, "mathdef940": 6, "mathdef941": 6, "mathdef942": 6, "mathdef943": 6, "mathdef944": 6, "mathdef945": 6, "mathdef946": 6, "mathdef947": 6, "mathdef948": 6, "mathdef949": 6, "mathdef950": 6, "mathdef951": 6, "mathdef952": 6, "mathdef953": 6, "mathdef954": 6, "mathdef955": 6, "mathdef956": 6, "mathdef957": 6, "mathdef958": 6, "mathdef959": 6, "mathdef960": 6, "mathdef961": 6, "mathdef962": 6, "mathdef963": 6, "mathdef964": 6, "mathdef965": 6, "mathdef966": 6, "mathdef967": 6, "mathdef968": 6, "mathdef969": 6, "mathdef970": 6, "mathdef971": 6, "mathdef972": 6, "mathdef973": 6, "mathdef974": 6, "mathdef975": 6, "mathdef976": 6, "mathdef977": 6, "mathdef978": 6, "mathdef979": 6, "mathdef980": 6, "mathdef981": 6, "mathdef982": 6, "mathdef983": 6, "mathdef984": 6, "mathdef985": 6, "mathdef986": 6, "mathdef987": 6, "mathdef988": 6, "mathdef989": 6, "mathdef990": 6, "mathdef991": 6, "mathdef992": 6, "mathdef993": 6, "mathdef994": 6, "mathdef995": 6, "mathdef996": 6, "mathdef997": 6, "mathdef998": 6, "mathdef999": 6, "mathdef1000": 6, "mathdef1001": 6, "mathdef1002": 6, "mathdef1003": 6, "mathdef1004": 6, "mathdef1005": 6, "mathdef1006": 6, "mathdef1007": 6, "mathdef1008": 6, "mathdef1009": 6, "mathdef1010": 6, "mathdef1011": 6, "mathdef1012": 6, "mathdef1013": 6, "mathdef1014": 6, "mathdef1015": 6, "mathdef1016": 6, "mathdef1017": 6, "mathdef1018": 6, "mathdef1019": 6, "mathdef1020": 6, "mathdef1021": 6, "mathdef1022": 6, "mathdef1023": 6, "mathdef1024": 6, "mathdef1025": 6, "mathdef1026": 6, "mathdef1027": 6, "mathdef1028": 6, "mathdef1029": 6, "mathdef1030": 6, "mathdef1031": 6, "mathdef1032": 6, "mathdef1033": 6, "mathdef1034": 6, "mathdef1035": 6, "mathdef1036": 6, "mathdef1037": 6, "mathdef1038": 6, "mathdef1039": 6, "mathdef1040": 6, "mathdef1041": 6, "mathdef1042": 6, "mathdef1043": 6, "mathdef1044": 6, "mathdef1045": 6, "mathdef1046": 6, "mathdef1047": 6, "mathdef1048": 6, "mathdef1049": 6, "mathdef1050": 6, "mathdef1051": 6, "mathdef1052": 6, "mathdef1053": 6, "mathdef1054": 6, "mathdef1055": 6, "mathdef1056": 6, "mathdef1057": 6, "mathdef1058": 6, "mathdef1059": 6, "mathdef1060": 6, "mathdef1061": 6, "mathdef1062": 6, "mathdef1063": 6, "mathdef1064": 6, "mathdef1065": 6, "mathdef1066": 6, "mathdef1067": 6, "mathdef1068": 6, "mathdef1069": 6, "mathdef1070": 6, "mathdef1071": 6, "mathdef1072": 6, "mathdef1073": 6, "mathdef1074": 6, "mathdef1075": 6, "mathdef1076": 6, "mathdef1077": 6, "mathdef1078": 6, "mathdef1079": 6, "mathdef1080": 6, "mathdef1081": 6, "mathdef1082": 6, "mathdef1083": 6, "mathdef1084": 6, "mathdef1085": 6, "mathdef1086": 6, "mathdef1087": 6, "mathdef1088": 6, "mathdef1089": 6, "mathdef1090": 6, "mathdef1091": 6, "mathdef1092": 6, "mathdef1093": 6, "mathdef1094": 6, "mathdef1095": 6, "mathdef1096": 6, "mathdef1097": 6, "mathdef1098": 6, "mathdef1099": 6, "mathdef1100": 6, "mathdef1101": 6, "mathdef1102": 6, "mathdef1103": 6, "mathdef1104": 6, "mathdef1105": 6, "mathdef1106": 6, "mathdef1107": 6, "mathdef1108": 6, "mathdef1109": 6, "mathdef1110": 6, "mathdef1111": 6, "mathdef1112": 6, "mathdef1113": 6, "mathdef1114": 6, "mathdef1115": 6, "mathdef1116": 6, "mathdef1117": 6, "mathdef1118": 6, "mathdef1119": 6, "mathdef1120": 6, "mathdef1121": 6, "mathdef1122": 6, "mathdef1123": 6, "mathdef1124": 6, "mathdef1125": 6, "mathdef1126": 6, "mathdef1127": 6, "mathdef1128": 6, "mathdef1129": 6, "mathdef1130": 6, "mathdef1131": 6, "mathdef1132": 6, "mathdef1133": 6, "mathdef1134": 6, "mathdef1135": 6, "mathdef1136": 6, "mathdef1137": 6, "mathdef1138": 6, "mathdef1139": 6, "mathdef1140": 6, "mathdef1141": 6, "mathdef1142": 6, "mathdef1143": 6, "mathdef1144": 6, "mathdef1145": 6, "mathdef1146": 6, "mathdef1147": 6, "mathdef1148": 6, "mathdef1149": 6, "mathdef1150": 6, "mathdef1151": 6, "mathdef1152": 6, "mathdef1153": 6, "mathdef1154": 6, "mathdef1155": 6, "mathdef1156": 6, "mathdef1157": 6, "mathdef1158": 6, "mathdef1159": 6, "mathdef1160": 6, "mathdef1161": 6, "mathdef1162": 6, "mathdef1163": 6, "mathdef1164": 6, "mathdef1165": 6, "mathdef1166": 6, "mathdef1167": 6, "mathdef1168": 6, "mathdef1169": 6, "mathdef1170": 6, "mathdef1171": 6, "mathdef1172": 6, "mathdef1173": 6, "mathdef1174": 6, "mathdef1175": 6, "mathdef1176": 6, "mathdef1177": 6, "mathdef1178": 6, "mathdef1179": 6, "mathdef1180": 6, "mathdef1181": 6, "mathdef1182": 6, "mathdef1183": 6, "mathdef1184": 6, "mathdef1185": 6, "mathdef1186": 6, "mathdef1187": 6, "mathdef1188": 6, "mathdef1189": 6, "mathdef1190": 6, "mathdef1191": 6, "mathdef1192": 6, "mathdef1193": 6, "mathdef1194": 6, "mathdef1195": 6, "mathdef1196": 6, "mathdef1197": 6, "mathdef1198": 6, "mathdef1199": 6, "mathdef1200": 6, "mathdef1201": 6, "mathdef1202": 6, "mathdef1203": 6, "mathdef1204": 6, "mathdef1205": 6, "mathdef1206": 6, "mathdef1207": 6, "mathdef1208": 6, "mathdef1209": 6, "mathdef1210": 6, "mathdef1211": 6, "mathdef1212": 6, "mathdef1213": 6, "mathdef1214": 6, "mathdef1215": 6, "mathdef1216": 6, "mathdef1217": 6, "mathdef1218": 6, "mathdef1219": 6, "mathdef1220": 6, "mathdef1221": 6, "mathdef1222": 6, "mathdef1223": 6, "mathdef1224": 6, "mathdef1225": 6, "mathdef1226": 6, "mathdef1227": 6, "mathdef1228": 6, "mathdef1229": 6, "mathdef1230": 6, "mathdef1231": 6, "mathdef1232": 6, "mathdef1233": 6, "mathdef1234": 6, "mathdef1235": 6, "mathdef1236": 6, "mathdef1237": 6, "mathdef1238": 6, "mathdef1239": 6, "mathdef1240": 6, "mathdef1241": 6, "mathdef1242": 6, "mathdef1243": 6, "mathdef1244": 6, "mathdef1245": 6, "mathdef1246": 6, "mathdef1247": 6, "mathdef1248": 6, "mathdef1249": 6, "mathdef1250": 6, "mathdef1251": 6, "mathdef1252": 6, "mathdef1253": 6, "mathdef1254": 6, "mathdef1255": 6, "mathdef1256": 6, "mathdef1257": 6, "mathdef1258": 6, "fe": [6, 15], "mathdef1259": 6, "mathdef1260": 6, "mathdef1261": 6, "ff": [6, 15], "mathdef1262": 6, "mathdef1263": 6, "mathdef1264": 6, "mathdef1265": 6, "mathdef1266": 6, "mathdef1267": 6, "shortest": 6, "mathdef1268": 7, "mathdef1269": 7, "mathdef1270": 7, "mathdef1271": 7, "mathdef1272": 7, "mathdef1273": 7, "mathdef1274": 7, "mathdef1275": 7, "mathdef1276": 7, "mathdef1277": 7, "mathdef1278": 7, "mathdef1279": 7, "mathdef1280": 7, "mathdef1281": 7, "mathdef1282": 7, "mathdef1283": 7, "mathdef1284": 7, "mathdef1285": 7, "mathdef1286": 7, "mathdef1287": 7, "mathdef1288": 7, "mathdef1289": 7, "mathdef1290": 7, "mathdef1291": 7, "mathdef1292": 7, "mathdef1293": 7, "mathdef1294": 7, "mathdef1295": 7, "mathdef1296": 7, "mathdef1297": 7, "mathdef1298": 7, "mathdef1299": 7, "mathdef1300": 7, "mathdef1301": 7, "mathdef1302": 7, "mathdef1303": 7, "mathdef1304": 7, "mathdef1305": 7, "mathdef1306": 7, "judgement": [7, 9, 41, 45], "vector": [7, 8, 11, 17, 21, 27, 29, 35, 42], "storag": [7, 9, 14, 27, 30, 32, 36, 39, 43, 44, 46], "k": [7, 18, 19, 20, 21, 46], "mathdef1307": 8, "mathdef1308": 8, "mathdef1309": 8, "mathdef1310": 8, "mathdef1311": 8, "mathdef1312": 8, "mathdef1313": 8, "mathdef1314": 8, "mathdef1315": 8, "mathdef1316": 8, "mathdef1317": 8, "mathdef1318": 8, "mathdef1319": 8, "mathdef1320": 8, "mathdef1321": 8, "mathdef1322": 8, "mathdef1323": 8, "mathdef1324": 8, "mathdef1325": 8, "mathdef1326": 8, "mathdef1327": 8, "mathdef1328": 8, "mathdef1329": 8, "mathdef1330": 8, "mathdef1331": 8, "mathdef1332": 8, "mathdef1333": 8, "mathdef1334": 8, "mathdef1335": 8, "mathdef1336": 8, "mathdef1337": 8, "mathdef1338": 8, "mathdef1339": 8, "mathdef1340": 8, "mathdef1341": 8, "mathdef1342": 8, "mathdef1343": 8, "mathdef1344": 8, "mathdef1345": 8, "categori": [8, 21, 27, 30, 37], "constructor": [8, 14], "posit": [8, 12, 14, 15, 18, 20, 33, 36, 41], "mathdef1346": 8, "mathdef1347": 8, "mathdef1348": 8, "mathdef1349": 8, "mathdef1350": 8, "mathdef1351": 8, "mathdef1352": 8, "mathdef1353": 8, "mathdef1354": 8, "mathdef1355": 8, "mathdef1356": 8, "mathdef1357": 8, "mathdef1358": 8, "mathdef1359": 8, "mathdef1360": 8, "mathdef1361": 8, "mathdef1362": 8, "mathdef1363": 8, "mathdef1364": 8, "mathdef1365": 8, "mathdef1366": 8, "mathdef1367": 8, "mathdef1368": 8, "mathdef1369": 8, "mathdef1370": 8, "mathdef1371": 8, "mathdef1372": 8, "mathdef1373": 8, "mathdef1374": 8, "mathdef1375": 8, "mathdef1376": 8, "mathdef1377": 8, "mathdef1378": 8, "mathdef1379": 8, "mathdef1380": 8, "mathdef1381": 8, "mathdef1382": 8, "mathdef1383": 8, "mathdef1384": 9, "mathdef1385": 9, "mathdef1386": 9, "mathdef1387": 9, "mathdef1388": 9, "mathdef1389": 9, "mathdef1390": 9, "mathdef1391": 9, "mathdef1392": 9, "mathdef1393": 9, "mathdef1394": 9, "mathdef1395": 9, "mathdef1396": 9, "mathdef1397": 9, "mathdef1398": 9, "mathdef1399": 9, "mathdef1400": 9, "mathdef1401": 9, "mathdef1402": 9, "mathdef1403": 9, "mathdef1404": 9, "mathdef1405": 9, "mathdef1406": 9, "mathdef1407": 9, "mathdef1408": 9, "mathdef1409": 9, "mathdef1410": 9, "mathdef1411": 9, "mathdef1412": 9, "mathdef1413": 9, "mathdef1414": 9, "mathdef1415": 9, "mathdef1416": 9, "mathdef1417": 9, "mathdef1418": 9, "mathdef1419": 9, "mathdef1420": 9, "mathdef1421": 9, "mathdef1422": 9, "impli": [9, 30, 36], "both": [9, 14, 15, 16, 18, 20, 21, 28, 30, 31, 32, 36, 38, 40, 41, 43, 44, 45, 46], "safeti": 9, "correct": 9, "appli": [9, 16, 18, 20, 21, 34, 38, 41, 46], "evalu": [9, 16, 18, 19, 45], "diverg": [9, 18], "No": [9, 10, 18, 26, 33, 36, 41], "locat": 9, "read": [9, 13, 16, 20, 30, 41], "written": [9, 10, 20, 28, 30, 32, 34, 36, 38, 40, 41], "except": [9, 10, 12, 13, 16, 20, 28, 34, 37, 40, 41, 43, 45], "those": [9, 10, 28, 30, 34, 41, 45], "linear": [9, 10, 21, 26, 27, 30, 31, 32, 43], "There": [9, 16, 20, 21, 27, 32, 39, 43, 44], "undefin": [9, 20], "behavior": [9, 16, 18, 21, 26, 30], "cover": 9, "mutual": [9, 19, 32, 45], "instrument": 9, "notabl": 9, "encapsul": 9, "scope": [9, 10, 21, 25, 27, 38, 41], "outsid": [9, 10, 21, 27, 30, 40, 41], "own": [9, 19, 21, 26, 27, 31, 32], "compon": [9, 13, 16, 21, 28, 31, 34, 41, 45], "unless": [9, 16, 18], "prove": 9, "dynam": [9, 19, 21, 27, 30, 32], "Then": [9, 23, 43, 44, 45, 46], "ones": [9, 15, 20, 30, 41], "_k": 9, "mean": [9, 18, 21, 27, 30, 32, 37, 41], "Or": [9, 18, 44, 46], "y_k": 9, "smaller": [9, 18, 20, 26, 27, 30, 43, 44, 46], "j_k": 9, "prec": 9, "lll": [9, 18, 20, 32, 38, 41], "j": [9, 18, 19, 20, 33], "2ex": [9, 12, 36, 38, 41], "anoth": [9, 23, 30, 38], "classifi": [9, 19, 23, 32, 41, 43, 45], "t_i": [9, 13, 18, 19, 34, 43, 46], "themselv": [9, 15, 21, 30, 37, 41, 45], "rel": [9, 18, 20, 21, 23, 30, 36, 41, 43], "To": [9, 12, 16, 26, 34, 41, 43], "kind": [9, 13, 19, 21, 31, 32], "repurpos": 9, "path": [9, 28], "1ex": [9, 15, 18, 19, 20, 21, 36, 38, 40, 44], "a_": 9, "gg": 9, "transit": 9, "lcll": [9, 20, 36, 41], "gg_": 9, "ft": [9, 14, 18, 39, 44], "prevent": [9, 26, 30, 32, 40, 46], "presenc": [9, 13, 16, 18, 41], "mutat": [9, 16, 18, 19, 21], "s_1": [9, 19], "coincid": [9, 16, 18, 44], "outcom": [9, 18, 21, 45], "s_2": [9, 19], "quad": [9, 13, 16, 18, 19, 21, 31, 34, 36, 38, 44, 45], "foral": [9, 20], "supset": 9, "emptyset": [9, 13], "vee": [9, 13, 15, 20, 36, 38, 40], "appropri": [9, 16, 19, 30], "abl": [9, 13], "suffici": 9, "assumpt": [9, 26, 41], "multipli": [9, 20], "expans": [9, 10, 18, 20, 23, 28, 34, 38, 40, 41, 43, 45, 46], "fv": 9, "pt": [9, 18], "disjoint": [9, 32, 45], "absent": [9, 41, 43, 44, 46], "prop": 9, "implicitli": [9, 10, 16, 27, 28, 30, 31, 34, 37, 41], "extra": 9, "below": [9, 18, 19, 45], "compound": [9, 32, 43], "modif": [9, 16, 18], "certain": [9, 16, 20, 21, 27], "inher": [9, 32], "adher": [9, 18], "explicit": [9, 12, 13, 21, 28, 30, 36, 38, 40, 44], "codifi": 9, "notion": [9, 18, 33, 44], "shrink": 9, "old": [9, 18], "ccc": 9, "remain": [9, 30, 46], "unchang": 9, "n_1": [9, 16, 44], "n_2": [9, 16, 44], "b_1": [9, 10, 15, 28], "b_2": [9, 15, 28], "standard": [9, 16, 20, 26, 32, 33, 41], "preserv": [9, 21, 31, 32], "step": [9, 16, 18, 19, 21], "furthermor": [9, 13, 16, 18, 21, 30, 38, 40, 43, 45], "progress": 9, "corollari": 9, "finit": 9, "word": [9, 41], "forev": 9, "crash": 9, "behav": [9, 21, 30], "formal": [9, 17, 18, 20, 21, 26, 42], "articl": [9, 16, 41], "andrea": [9, 16, 18, 24, 41], "haa": [9, 16, 41], "rossberg": [9, 16, 24, 41], "derek": [9, 16, 41], "schuff": [9, 16, 41], "ben": [9, 16, 41], "titzer": [9, 16, 41], "dan": [9, 16, 41], "gohman": [9, 16, 41], "luke": [9, 16, 41], "wagner": [9, 16, 41], "alon": [9, 16, 26, 41], "zakai": [9, 16, 41], "jf": [9, 16, 41], "bastien": [9, 16, 41], "michael": [9, 16, 41], "holman": [9, 16, 41], "proceed": [9, 16, 41], "38th": [9, 16, 41], "acm": [9, 16, 41], "sigplan": [9, 16, 41], "confer": [9, 16, 41], "pldi": [9, 16, 41], "2017": [9, 16, 41], "proof": [9, 16, 41], "paper": 9, "conrad": 9, "watt": 9, "7th": 9, "certifi": 9, "cpp": 9, "2018": 9, "offici": 9, "xiaojia": 9, "rao": 9, "jean": 9, "pichon": 9, "pharabod": 9, "martin": 9, "bodin": 9, "philippa": 9, "gardner": 9, "24th": 9, "intern": [9, 23, 27, 32, 41, 45], "symposium": 9, "method": 9, "fm": 9, "2021": 9, "springer": 9, "simpl": [9, 21, 26, 27, 33, 41, 43, 45, 46], "particular": [9, 16, 20, 26, 27, 31], "scheme": 9, "possibli": [9, 10, 12, 13, 23, 28, 30, 32, 34, 38], "unconstrain": [9, 43], "place": [9, 13, 14, 16, 19, 21, 22, 26, 30, 34, 38, 41], "holder": 9, "moreov": [9, 19, 21, 28, 31, 33, 40, 41, 43, 46], "input": [9, 20, 30, 32, 37, 41, 43, 44], "output": [9, 20, 30, 32, 41, 43, 44], "bottom": [9, 41], "isol": [9, 26], "implic": [9, 41], "latter": [9, 18, 30, 32, 33, 34, 38], "left": [9, 18, 20, 21, 37, 41], "introduct": [9, 16, 24, 41], "capabl": [9, 26], "partial": [9, 18, 20], "might": [9, 21, 30, 38], "consid": [9, 20, 21, 23, 26, 34, 36, 37, 43], "analysi": 9, "backtrack": 9, "technic": [9, 20], "nullabl": [9, 21, 23, 30, 32], "alpha_": 9, "numvectyp": 9, "xyz": 9, "unannot": 9, "open": [9, 26], "sigma": 9, "map": [9, 18, 28, 32, 38, 43, 45], "alpha": 9, "domain": 9, "greatest": [9, 43], "lower": [9, 20, 43], "upper": [9, 20], "provision": 9, "partit": 9, "hierarchi": [9, 23, 32, 43, 46], "vice": [9, 44], "versa": [9, 44], "safe": [9, 26, 27], "incompat": [9, 13, 32], "flow": [9, 27, 30], "freeli": 9, "x_1": [9, 16, 21, 43, 44], "x_2": [9, 16, 21, 43, 44], "share": [9, 21], "suffic": 9, "weaken": [9, 43], "subsumpt": 9, "invers": [9, 18, 20, 21], "decompos": [9, 21], "anywher": [9, 21, 36, 39], "produc": [9, 13, 16, 18, 19, 20, 21, 27, 30, 31, 32, 38, 41, 43], "decomposit": 9, "mathdef1423": 10, "mathdef1424": 10, "mathdef1425": 10, "mathdef1426": 10, "mathdef1427": 10, "mathdef1428": 10, "mathdef1429": 10, "mathdef1430": 10, "mathdef1431": 10, "mathdef1432": 10, "mathdef1433": 10, "mathdef1434": 10, "mathdef1435": 10, "mathdef1436": 10, "mathdef1437": 10, "mathdef1438": 10, "mathdef1439": 10, "mathdef1440": 10, "mathdef1441": 10, "mathdef1442": 10, "mathdef1443": 10, "mathdef1444": 10, "mathdef1445": 10, "mathdef1446": 10, "mathdef1447": 10, "mathdef1448": 10, "mathdef1449": 10, "mathdef1450": 10, "mathdef1451": 10, "mathdef1452": 10, "mathdef1453": 10, "mathdef1454": 10, "mathdef1455": 10, "mathdef1456": 10, "mathdef1457": 10, "mathdef1458": 10, "mathdef1459": 10, "mathdef1460": 10, "mathdef1461": 10, "dens": 10, "attribut": [10, 20, 34, 38], "product": [10, 15, 28, 34, 37, 38, 40], "exactli": [10, 20, 21], "synthes": [10, 34, 38], "mirror": [10, 34, 36, 38], "phrase": [10, 36, 41], "had": 10, "lead": [10, 20, 33], "altern": [10, 20, 30], "pick": [10, 20, 41, 43], "recommend": [10, 20, 34], "file": [10, 34, 38], "wasm": [10, 26], "layer": [10, 26], "compress": [10, 12, 13], "typewrit": [10, 34], "font": [10, 28, 34], "former": [10, 30, 34, 45], "hexadecim": [10, 33, 40], "mathdef1462": 10, "nontermin": [10, 28, 34], "geq": [10, 12, 14, 15, 18, 20, 28, 30, 33, 34, 40, 44], "iter": [10, 18, 28, 34], "shorthand": [10, 14, 19, 20, 28, 30, 33, 34, 39, 41], "relev": [10, 21, 26, 28, 34, 37, 38, 41], "occurr": [10, 12, 21, 28, 34, 37], "bind": [10, 18, 34, 36, 38], "pattern": [10, 12, 15, 32, 34], "sym": [10, 28, 34], "a_1": [10, 18, 28, 34], "b_n": 10, "a_n": [10, 28, 34], "a_i": [10, 28, 34], "b_i": 10, "augment": [10, 28, 34, 38], "side": [10, 15, 21, 26, 27, 28, 34, 36, 38, 41, 44, 46], "parenthes": [10, 33, 34, 36, 37], "combinatori": [10, 28, 34], "mani": [10, 26, 28, 34], "mathdef1463": 10, "mathdef1464": 10, "mathdef1465": 10, "mathdef1466": 10, "mathdef1467": 10, "mathdef1468": 10, "forth": 10, "mathdef1469": 10, "mathdef1470": 10, "mathdef1471": 10, "mathdef1472": 10, "term": [10, 16, 18, 19, 21, 28, 34, 38], "deal": [10, 28], "mathdef1473": 11, "mathdef1474": 11, "mathdef1475": 11, "mathdef1476": 11, "mathdef1477": 11, "mathdef1478": 11, "mathdef1479": 11, "mathdef1480": 11, "mathdef1481": 11, "mathdef1482": 11, "mathdef1483": 11, "mathdef1484": 11, "mathdef1485": 11, "mathdef1486": 11, "mathdef1487": 11, "mathdef1488": 11, "mathdef1489": 11, "mathdef1490": 11, "mathdef1491": 11, "mathdef1492": 11, "mathdef1493": 11, "mathdef1494": 11, "mathdef1495": 11, "mathdef1496": 11, "mathdef1497": 11, "mathdef1498": 11, "mathdef1499": 11, "mathdef1500": 11, "mathdef1501": 11, "mathdef1502": 11, "mathdef1503": 11, "mathdef1504": 11, "mathdef1505": 11, "mathdef1506": 11, "mathdef1507": 11, "mathdef1508": 11, "mathdef1509": 11, "mathdef1510": 11, "mathdef1511": 11, "aggreg": [11, 17, 29, 31, 35, 42], "mathdef1512": 12, "mathdef1513": 12, "mathdef1514": 12, "mathdef1515": 12, "mathdef1516": 12, "mathdef1517": 12, "mathdef1518": 12, "mathdef1519": 12, "mathdef1520": 12, "mathdef1521": 12, "mathdef1522": 12, "mathdef1523": 12, "mathdef1524": 12, "mathdef1525": 12, "mathdef1526": 12, "mathdef1527": 12, "mathdef1528": 12, "mathdef1529": 12, "mathdef1530": 12, "mathdef1531": 12, "mathdef1532": 12, "mathdef1533": 12, "mathdef1534": 12, "mathdef1535": 12, "mathdef1536": 12, "mathdef1537": 12, "mathdef1538": 12, "mathdef1539": 12, "mathdef1540": 12, "mathdef1541": 12, "mathdef1542": 12, "mathdef1543": 12, "mathdef1544": 12, "mathdef1545": 12, "mathdef1546": 12, "mathdef1547": 12, "mathdef1548": 12, "mathdef1549": 12, "mathdef1550": 12, "sever": [12, 20, 26, 30, 43], "bracket": [12, 30, 32, 36, 37, 40], "gap": 12, "mathdef1551": 12, "llcllll": [12, 13, 36, 38], "mathdef1552": 12, "mathdef1553": 12, "mathdef1554": 12, "mathdef1555": 12, "mathdef1556": 12, "mathdef1557": 12, "mathdef1558": 12, "mathdef1559": 12, "mathdef1560": 12, "mathdef1561": 12, "mathdef1562": 12, "mathdef1563": 12, "mathdef1564": 12, "mathdef1565": 12, "mathdef1566": 12, "l_n": [12, 36], "mathdef1567": 12, "mathdef1568": 12, "mathdef1569": 12, "mathdef1570": 12, "mathdef1571": 12, "mathdef1572": 12, "mathdef1573": 12, "mathdef1574": 12, "mathdef1575": 12, "mathdef1576": 12, "mathdef1577": 12, "mathdef1578": 12, "unlik": [12, 15, 27, 30, 31], "collid": 12, "mathdef1579": 12, "loss": 12, "prefix": [12, 30, 43], "mathdef1580": 12, "mathdef1581": 12, "mathdef1582": 12, "mathdef1583": 12, "mathdef1584": 12, "mathdef1585": 12, "mathdef1586": 12, "mathdef1587": 12, "mathdef1588": 12, "mathdef1589": 12, "mathdef1590": 12, "mathdef1591": 12, "mathdef1592": 12, "mathdef1593": 12, "mathdef1594": 12, "mathdef1595": 12, "mathdef1596": 12, "mathdef1597": 12, "mathdef1598": 12, "mathdef1599": 12, "mathdef1600": 12, "mathdef1601": 12, "mathdef1602": 12, "mathdef1603": 12, "mathdef1604": 12, "mathdef1605": 12, "mathdef1606": 12, "mathdef1607": 12, "mathdef1608": 12, "mathdef1609": 12, "mathdef1610": 12, "mathdef1611": 12, "mathdef1612": 12, "mathdef1613": 12, "annot": [12, 18, 30, 36, 41, 43], "mathdef1614": 12, "mathdef1615": 12, "mathdef1616": 12, "mathdef1617": 12, "mathdef1618": 12, "mathdef1619": 12, "mathdef1620": 12, "mathdef1621": 12, "mathdef1622": 12, "mathdef1623": 12, "mathdef1624": 12, "mathdef1625": 12, "mathdef1626": 12, "mathdef1627": 12, "mathdef1628": 12, "mathdef1629": 12, "variant": [12, 15, 30], "o": [12, 26, 36], "mathdef1630": 12, "mathdef1631": 12, "mathdef1632": 12, "mathdef1633": 12, "mathdef1634": 12, "mathdef1635": 12, "mathdef1636": 12, "mathdef1637": 12, "mathdef1638": 12, "mathdef1639": 12, "mathdef1640": 12, "mathdef1641": 12, "mathdef1642": 12, "mathdef1643": 12, "mathdef1644": 12, "mathdef1645": 12, "mathdef1646": 12, "mathdef1647": 12, "mathdef1648": 12, "mathdef1649": 12, "mathdef1650": 12, "mathdef1651": 12, "mathdef1652": 12, "mathdef1653": 12, "mathdef1654": 12, "mathdef1655": 12, "mathdef1656": 12, "mathdef1657": 12, "mathdef1658": 12, "mathdef1659": 12, "mathdef1660": 12, "mathdef1661": 12, "z": [12, 18, 33, 36, 37, 40], "mathdef1662": 12, "plain": [12, 20, 34, 36, 46], "phantom": [12, 36], "thisshouldbeenough": [12, 36], "mathdef1663": 12, "mathdef1664": 12, "mathdef1665": 12, "mathdef1666": 12, "mathdef1667": 12, "mathdef1668": 12, "mathdef1669": 12, "mathdef1670": 12, "mathdef1671": 12, "mathdef1672": 12, "mathdef1673": 12, "mathdef1674": 12, "mathdef1675": 12, "mathdef1676": 12, "mathdef1677": 12, "mathdef1678": 12, "mathdef1679": 12, "mathdef1680": 12, "mathdef1681": 12, "mathdef1682": 12, "mathdef1683": 12, "mathdef1684": 12, "mathdef1685": 12, "mathdef1686": 12, "mathdef1687": 12, "mathdef1688": 12, "mathdef1689": 12, "mathdef1690": 12, "mathdef1691": 12, "mathdef1692": 12, "mathdef1693": 12, "mathdef1694": 12, "mathdef1695": 12, "mathdef1696": 12, "mathdef1697": 12, "mathdef1698": 12, "mathdef1699": 12, "mathdef1700": 12, "mathdef1701": 12, "mathdef1702": 12, "mathdef1703": 12, "mathdef1704": 12, "mathdef1705": 12, "mathdef1706": 12, "mathdef1707": 12, "mathdef1708": 12, "mathdef1709": 12, "mathdef1710": 12, "mathdef1711": 12, "mathdef1712": 12, "mathdef1713": 12, "mathdef1714": 12, "mathdef1715": 12, "mathdef1716": 12, "mathdef1717": 12, "mathdef1718": 12, "mathdef1719": 12, "mathdef1720": 12, "mathdef1721": 12, "mathdef1722": 12, "mathdef1723": 12, "mathdef1724": 12, "mathdef1725": 12, "mathdef1726": 12, "mathdef1727": 12, "mathdef1728": 12, "mathdef1729": 12, "mathdef1730": 12, "mathdef1731": 12, "mathdef1732": 12, "mathdef1733": 12, "mathdef1734": 12, "mathdef1735": 12, "mathdef1736": 12, "mathdef1737": 12, "mathdef1738": 12, "mathdef1739": 12, "mathdef1740": 12, "mathdef1741": 12, "mathdef1742": 12, "mathdef1743": 12, "mathdef1744": 12, "mathdef1745": 12, "mathdef1746": 12, "mathdef1747": 12, "mathdef1748": 12, "mathdef1749": 12, "mathdef1750": 12, "mathdef1751": 12, "mathdef1752": 12, "mathdef1753": 12, "mathdef1754": 12, "mathdef1755": 12, "mathdef1756": 12, "mathdef1757": 12, "mathdef1758": 12, "mathdef1759": 12, "mathdef1760": 12, "mathdef1761": 12, "mathdef1762": 12, "mathdef1763": 12, "mathdef1764": 12, "mathdef1765": 12, "mathdef1766": 12, "mathdef1767": 12, "mathdef1768": 12, "mathdef1769": 12, "mathdef1770": 12, "mathdef1771": 12, "mathdef1772": 12, "mathdef1773": 12, "mathdef1774": 12, "mathdef1775": 12, "mathdef1776": 12, "mathdef1777": 12, "mathdef1778": 12, "mathdef1779": 12, "mathdef1780": 12, "mathdef1781": 12, "mathdef1782": 12, "mathdef1783": 12, "mathdef1784": 12, "mathdef1785": 12, "mathdef1786": 12, "mathdef1787": 12, "mathdef1788": 12, "mathdef1789": 12, "mathdef1790": 12, "satur": [12, 20, 30], "truncat": [12, 20], "wherea": 12, "mathdef1791": 12, "mathdef1792": 12, "mathdef1793": 12, "mathdef1794": 12, "mathdef1795": 12, "mathdef1796": 12, "mathdef1797": 12, "mathdef1798": 12, "mathdef1799": 12, "mathdef1800": 12, "mathdef1801": 12, "mathdef1802": 12, "mathdef1803": 12, "mathdef1804": 12, "mathdef1805": 12, "mathdef1806": 12, "mathdef1807": 12, "mathdef1808": 12, "mathdef1809": 12, "mathdef1810": 12, "mathdef1811": 12, "mathdef1812": 12, "mathdef1813": 12, "mathdef1814": 12, "mathdef1815": 12, "mathdef1816": 12, "mathdef1817": 12, "mathdef1818": 12, "mathdef1819": 12, "mathdef1820": 12, "mathdef1821": 12, "b_": 12, "mathdef1822": 12, "mathdef1823": 12, "mathdef1824": 12, "mathdef1825": 12, "mathdef1826": 12, "mathdef1827": 12, "mathdef1828": 12, "mathdef1829": 12, "mathdef1830": 12, "mathdef1831": 12, "mathdef1832": 12, "mathdef1833": 12, "mathdef1834": 12, "mathdef1835": 12, "mathdef1836": 12, "vechaslongerinstructionnam": 12, "mathdef1837": 12, "mathdef1838": 12, "mathdef1839": 12, "mathdef1840": 12, "mathdef1841": 12, "mathdef1842": 12, "mathdef1843": 12, "mathdef1844": 12, "mathdef1845": 12, "mathdef1846": 12, "mathdef1847": 12, "mathdef1848": 12, "mathdef1849": 12, "mathdef1850": 12, "mathdef1851": 12, "mathdef1852": 12, "mathdef1853": 12, "mathdef1854": 12, "mathdef1855": 12, "mathdef1856": 12, "mathdef1857": 12, "mathdef1858": 12, "mathdef1859": 12, "mathdef1860": 12, "mathdef1861": 12, "mathdef1862": 12, "mathdef1863": 12, "mathdef1864": 12, "mathdef1865": 12, "mathdef1866": 12, "mathdef1867": 12, "mathdef1868": 12, "mathdef1869": 12, "mathdef1870": 12, "mathdef1871": 12, "mathdef1872": 12, "mathdef1873": 12, "mathdef1874": 12, "214": 12, "mathdef1875": 12, "215": 12, "mathdef1876": 12, "216": 12, "mathdef1877": 12, "217": 12, "mathdef1878": 12, "218": 12, "mathdef1879": 12, "219": 12, "mathdef1880": 12, "mathdef1881": 12, "mathdef1882": 12, "mathdef1883": 12, "mathdef1884": 12, "mathdef1885": 12, "mathdef1886": 12, "mathdef1887": 12, "mathdef1888": 12, "mathdef1889": 12, "mathdef1890": 12, "mathdef1891": 12, "mathdef1892": 12, "mathdef1893": 12, "mathdef1894": 12, "mathdef1895": 12, "mathdef1896": 12, "mathdef1897": 12, "mathdef1898": 12, "mathdef1899": 12, "mathdef1900": 12, "mathdef1901": 12, "mathdef1902": 12, "mathdef1903": 12, "100": 12, "mathdef1904": 12, "101": 12, "mathdef1905": 12, "102": 12, "mathdef1906": 12, "107": 12, "mathdef1907": 12, "108": 12, "mathdef1908": 12, "109": 12, "mathdef1909": 12, "110": 12, "mathdef1910": 12, "111": 12, "mathdef1911": 12, "112": 12, "mathdef1912": 12, "113": 12, "mathdef1913": 12, "114": 12, "mathdef1914": 12, "115": 12, "mathdef1915": 12, "118": 12, "mathdef1916": 12, "119": 12, "mathdef1917": 12, "120": 12, "mathdef1918": 12, "121": 12, "mathdef1919": 12, "123": 12, "mathdef1920": 12, "124": 12, "mathdef1921": 12, "125": 12, "mathdef1922": 12, "128": [12, 18, 20, 21, 27, 30, 32, 33, 43], "mathdef1923": 12, "129": 12, "mathdef1924": 12, "130": 12, "mathdef1925": 12, "131": 12, "mathdef1926": 12, "132": 12, "mathdef1927": 12, "133": 12, "mathdef1928": 12, "134": 12, "mathdef1929": 12, "135": 12, "mathdef1930": 12, "136": 12, "mathdef1931": 12, "137": 12, "mathdef1932": 12, "138": 12, "mathdef1933": 12, "139": 12, "mathdef1934": 12, "140": 12, "mathdef1935": 12, "141": 12, "mathdef1936": 12, "142": 12, "mathdef1937": 12, "143": 12, "mathdef1938": 12, "144": 12, "mathdef1939": 12, "145": 12, "mathdef1940": 12, "146": 12, "mathdef1941": 12, "147": 12, "mathdef1942": 12, "149": 12, "mathdef1943": 12, "150": 12, "mathdef1944": 12, "151": 12, "mathdef1945": 12, "152": 12, "mathdef1946": 12, "153": 12, "mathdef1947": 12, "155": 12, "mathdef1948": 12, "156": 12, "mathdef1949": 12, "157": 12, "mathdef1950": 12, "158": 12, "mathdef1951": 12, "159": 12, "mathdef1952": 12, "126": 12, "mathdef1953": 12, "127": 12, "mathdef1954": 12, "160": 12, "mathdef1955": 12, "161": 12, "mathdef1956": 12, "163": 12, "mathdef1957": 12, "164": 12, "mathdef1958": 12, "167": 12, "mathdef1959": 12, "168": 12, "mathdef1960": 12, "169": 12, "mathdef1961": 12, "170": 12, "mathdef1962": 12, "171": 12, "mathdef1963": 12, "172": 12, "mathdef1964": 12, "173": 12, "mathdef1965": 12, "174": 12, "mathdef1966": 12, "177": 12, "mathdef1967": 12, "181": 12, "mathdef1968": 12, "182": 12, "mathdef1969": 12, "183": 12, "mathdef1970": 12, "184": 12, "mathdef1971": 12, "185": 12, "mathdef1972": 12, "186": 12, "mathdef1973": 12, "188": 12, "mathdef1974": 12, "189": 12, "mathdef1975": 12, "190": 12, "mathdef1976": 12, "191": 12, "mathdef1977": 12, "192": 12, "mathdef1978": 12, "193": 12, "mathdef1979": 12, "195": 12, "mathdef1980": 12, "196": 12, "mathdef1981": 12, "199": 12, "mathdef1982": 12, "200": 12, "mathdef1983": 12, "201": 12, "mathdef1984": 12, "202": 12, "mathdef1985": 12, "203": 12, "mathdef1986": 12, "204": 12, "mathdef1987": 12, "205": 12, "mathdef1988": 12, "206": 12, "mathdef1989": 12, "209": 12, "mathdef1990": 12, "213": 12, "mathdef1991": 12, "220": 12, "mathdef1992": 12, "221": 12, "mathdef1993": 12, "222": 12, "mathdef1994": 12, "223": 12, "mathdef1995": 12, "103": 12, "mathdef1996": 12, "104": 12, "mathdef1997": 12, "105": 12, "mathdef1998": 12, "106": 12, "mathdef1999": 12, "224": 12, "mathdef2000": 12, "225": 12, "mathdef2001": 12, "227": 12, "mathdef2002": 12, "228": 12, "mathdef2003": 12, "229": 12, "mathdef2004": 12, "230": 12, "mathdef2005": 12, "231": 12, "mathdef2006": 12, "232": 12, "mathdef2007": 12, "233": 12, "mathdef2008": 12, "234": 12, "mathdef2009": 12, "235": 12, "mathdef2010": 12, "116": 12, "mathdef2011": 12, "117": 12, "mathdef2012": 12, "122": 12, "mathdef2013": 12, "148": 12, "mathdef2014": 12, "236": 12, "mathdef2015": 12, "237": 12, "mathdef2016": 12, "239": 12, "mathdef2017": 12, "240": [12, 18], "mathdef2018": 12, "241": 12, "mathdef2019": 12, "242": 12, "mathdef2020": 12, "243": 12, "mathdef2021": 12, "244": 12, "mathdef2022": 12, "245": 12, "mathdef2023": 12, "246": 12, "mathdef2024": 12, "247": 12, "mathdef2025": 12, "248": 12, "mathdef2026": 12, "249": 12, "mathdef2027": 12, "250": 12, "mathdef2028": 12, "251": 12, "mathdef2029": 12, "252": 12, "mathdef2030": 12, "253": 12, "mathdef2031": 12, "254": 12, "mathdef2032": 12, "255": 12, "mathdef2033": 12, "mathdef2034": 12, "mathdef2035": 12, "mathdef2036": 12, "mathdef2037": 13, "mathdef2038": 13, "mathdef2039": 13, "mathdef2040": 13, "mathdef2041": 13, "mathdef2042": 13, "mathdef2043": 13, "mathdef2044": 13, "mathdef2045": 13, "mathdef2046": 13, "mathdef2047": 13, "mathdef2048": 13, "mathdef2049": 13, "mathdef2050": 13, "mathdef2051": 13, "mathdef2052": 13, "mathdef2053": 13, "mathdef2054": 13, "mathdef2055": 13, "mathdef2056": 13, "mathdef2057": 13, "mathdef2058": 13, "mathdef2059": 13, "mathdef2060": 13, "mathdef2061": 13, "mathdef2062": 13, "mathdef2063": 13, "mathdef2064": 13, "mathdef2065": 13, "mathdef2066": 13, "mathdef2067": 13, "mathdef2068": 13, "mathdef2069": 13, "mathdef2070": 13, "mathdef2071": 13, "mathdef2072": 13, "mathdef2073": 13, "mathdef2074": 13, "mathdef2075": 13, "organ": [13, 27, 31], "stream": [13, 16, 37], "being": [13, 26, 30, 41, 43], "parameter": 13, "cont": 13, "unknown": 13, "skip": 13, "navig": 13, "malform": [13, 15], "debug": [13, 26], "third": [13, 30], "parti": 13, "Their": [13, 32, 36], "uninterpret": [13, 15, 21, 31, 33, 40], "placement": 13, "nm": [13, 38], "d": [13, 18, 20, 38, 40], "mathdef2076": 13, "mathdef2077": 13, "mathdef2078": 13, "mathdef2079": 13, "_3": 13, "tab": [13, 18], "_4": [13, 36], "mathdef2080": 13, "mathdef2081": 13, "mathdef2082": 13, "unambigu": [13, 14, 34], "_5": 13, "glob": 13, "_6": 13, "_7": 13, "mathdef2083": 13, "mathdef2084": 13, "mathdef2085": 13, "mathdef2086": 13, "_8": [13, 20, 36], "seg": 13, "_9": 13, "el": [13, 18, 38], "mathdef2087": 13, "bitfield": 13, "maximum": [13, 14, 18, 21, 26, 32, 46], "simplifi": [13, 18, 19, 38], "preambl": 13, "mathdef2088": 13, "backslash0asm": 13, "insert": [13, 36, 38, 40, 43], "prescrib": [13, 30, 43], "mathdef2089": 13, "mathdef2090": 13, "mathdef2091": 13, "mathdef2092": 13, "mathdef2093": 13, "mathdef2094": 13, "mathdef2095": 13, "mathdef2096": 13, "neq": [13, 18, 20, 21, 30, 37, 38, 40], "e_i": [13, 45], "backward": [13, 18, 30, 36, 38], "made": [13, 18, 21, 33, 34], "veri": [13, 16], "infrequ": 13, "ever": 13, "compat": [13, 23, 32, 36, 38], "increment": [13, 26, 45], "mathdef2097": 14, "mathdef2098": 14, "mathdef2099": 14, "mathdef2100": 14, "mathdef2101": 14, "mathdef2102": 14, "mathdef2103": 14, "mathdef2104": 14, "mathdef2105": 14, "mathdef2106": 14, "mathdef2107": 14, "mathdef2108": 14, "mathdef2109": 14, "mathdef2110": 14, "mathdef2111": 14, "mathdef2112": 14, "mathdef2113": 14, "mathdef2114": 14, "mathdef2115": 14, "mathdef2116": 14, "mathdef2117": 14, "mathdef2118": 14, "mathdef2119": 14, "mathdef2120": 14, "mathdef2121": 14, "mathdef2122": 14, "mathdef2123": 14, "mathdef2124": 14, "mathdef2125": 14, "mathdef2126": 14, "mathdef2127": 14, "mathdef2128": 14, "mathdef2129": 14, "mathdef2130": 14, "mathdef2131": 14, "mathdef2132": 14, "mathdef2133": 14, "mathdef2134": 14, "mathdef2135": 14, "small": 14, "sint": 14, "mathdef2136": 14, "mathdef2137": 14, "mathdef2138": 14, "mathdef2139": 14, "mathdef2140": 14, "mathdef2141": 14, "mathdef2142": 14, "mathdef2143": 14, "mathdef2144": 14, "mathdef2145": 14, "mathdef2146": 14, "mathdef2147": 14, "mathdef2148": 14, "mathdef2149": 14, "mathdef2150": 14, "mathdef2151": 14, "mathdef2152": 14, "coexist": 14, "mathdef2153": 14, "mathdef2154": 14, "mathdef2155": 14, "mathdef2156": 14, "mathdef2157": 14, "mathdef2158": 14, "recogn": [14, 37], "mathdef2159": 14, "mathdef2160": 14, "ct": [14, 39], "mathdef2161": 14, "preced": [14, 19, 20, 31, 38, 43], "mathdef2162": 14, "mathdef2163": 14, "lim": [14, 39, 43], "mutabl": [14, 18, 21, 27, 31, 32, 43], "mathdef2164": 14, "mathdef2165": 14, "mathdef2166": 15, "mathdef2167": 15, "mathdef2168": 15, "mathdef2169": 15, "mathdef2170": 15, "mathdef2171": 15, "mathdef2172": 15, "mathdef2173": 15, "mathdef2174": 15, "mathdef2175": 15, "mathdef2176": 15, "mathdef2177": 15, "mathdef2178": 15, "mathdef2179": 15, "mathdef2180": 15, "mathdef2181": 15, "mathdef2182": 15, "mathdef2183": 15, "mathdef2184": 15, "mathdef2185": 15, "mathdef2186": 15, "mathdef2187": 15, "mathdef2188": 15, "mathdef2189": 15, "mathdef2190": 15, "mathdef2191": 15, "mathdef2192": 15, "mathdef2193": 15, "mathdef2194": 15, "mathdef2195": 15, "mathdef2196": 15, "mathdef2197": 15, "mathdef2198": 15, "mathdef2199": 15, "mathdef2200": 15, "mathdef2201": 15, "mathdef2202": 15, "mathdef2203": 15, "mathdef2204": 15, "mathdef2205": 15, "mathdef2206": 15, "mathdef2207": 15, "mathdef2208": 15, "total": 15, "exce": [15, 21], "mathdef2209": 15, "complement": [15, 20, 26, 27, 30, 33], "mathdef2210": 15, "mathdef2211": 15, "mathdef2212": 15, "trail": [15, 18, 20], "mathdef2213": 15, "mathdef2214": 15, "mathdef2215": 15, "mathdef2216": 15, "mathdef2217": 15, "mathdef2218": 15, "mathdef2219": 15, "mathdef2220": 15, "mathdef2221": 15, "enforc": [15, 30, 36, 38, 41, 43], "unus": 15, "mathdef2222": 15, "mathdef2223": 15, "mathdef2224": 15, "mathdef2225": 15, "mathdef2226": 15, "mathdef2227": 15, "llclllll": 15, "lcl": [15, 18, 19, 21, 32, 33, 38, 43], "mathdef2228": 15, "mathdef2229": 15, "mathdef2230": 15, "800": 15, "mathdef2231": 15, "mathdef2232": 15, "b_3": 15, "mathdef2233": 15, "mathdef2234": 15, "d800": [15, 40], "mathdef2235": 15, "e000": [15, 33, 37, 40], "mathdef2236": 15, "10000": 15, "mathdef2237": 15, "mathdef2238": 15, "mathdef2239": 15, "b_4": 15, "mathdef2240": 15, "mathdef2241": 15, "110000": [15, 40], "mathdef2242": 15, "mathdef2243": 15, "mathdef2244": 15, "mathdef2245": 15, "mathdef2246": 15, "mathdef2247": 16, "mathdef2248": 16, "mathdef2249": 16, "mathdef2250": 16, "mathdef2251": 16, "mathdef2252": 16, "mathdef2253": 16, "mathdef2254": 16, "mathdef2255": 16, "mathdef2256": 16, "mathdef2257": 16, "mathdef2258": 16, "mathdef2259": 16, "mathdef2260": 16, "mathdef2261": 16, "mathdef2262": 16, "mathdef2263": 16, "mathdef2264": 16, "mathdef2265": 16, "mathdef2266": 16, "mathdef2267": 16, "mathdef2268": 16, "mathdef2269": 16, "mathdef2270": 16, "mathdef2271": 16, "mathdef2272": 16, "mathdef2273": 16, "mathdef2274": 16, "mathdef2275": 16, "mathdef2276": 16, "mathdef2277": 16, "mathdef2278": 16, "mathdef2279": 16, "mathdef2280": 16, "mathdef2281": 16, "mathdef2282": 16, "mathdef2283": 16, "mathdef2284": 16, "mathdef2285": 16, "model": [16, 21, 26, 27, 30], "intuit": [16, 21, 30, 41], "mathemat": [16, 20, 41], "understand": [16, 41], "offer": [16, 41], "concis": [16, 28, 41], "wide": [16, 27, 41], "readili": [16, 41], "amen": [16, 41], "stylis": [16, 41], "wise": [16, 18, 20, 28, 30], "recent": [16, 43], "entir": [16, 21, 31, 38, 43, 45], "abort": [16, 18, 27, 30], "jump": [16, 18, 30], "target": [16, 20, 21, 27, 30], "next": [16, 21, 37], "crucial": 16, "give": [16, 41], "brief": [16, 41], "explan": [16, 41], "interest": [16, 41], "reader": [16, 41], "thorough": [16, 41], "found": [16, 41], "book": [16, 21, 41], "approach": [16, 41], "reduct": [16, 18, 21], "determinist": [16, 18, 20, 21, 43], "note": [16, 44], "tupl": 16, "later": [16, 31], "unnecessari": [16, 34], "clutter": [16, 34], "touch": 16, "conveni": [16, 20, 21, 34], "reduc": [16, 18, 21], "x_3": [16, 21], "ll": [16, 21, 34, 41], "x_4": 16, "x_5": 16, "x_6": 16, "benjamin": [16, 41], "pierc": [16, 41], "mit": [16, 41], "press": [16, 41], "2002": [16, 41], "mathdef2286": 17, "mathdef2287": 17, "mathdef2288": 17, "mathdef2289": 17, "mathdef2290": 17, "mathdef2291": 17, "mathdef2292": 17, "mathdef2293": 17, "mathdef2294": 17, "mathdef2295": 17, "mathdef2296": 17, "mathdef2297": 17, "mathdef2298": 17, "mathdef2299": 17, "mathdef2300": 17, "mathdef2301": 17, "mathdef2302": 17, "mathdef2303": 17, "mathdef2304": 17, "mathdef2305": 17, "mathdef2306": 17, "mathdef2307": 17, "mathdef2308": 17, "mathdef2309": 17, "mathdef2310": 17, "mathdef2311": 17, "mathdef2312": 17, "mathdef2313": 17, "mathdef2314": 17, "mathdef2315": 17, "mathdef2316": 17, "mathdef2317": 17, "mathdef2318": 17, "mathdef2319": 17, "mathdef2320": 17, "mathdef2321": 17, "mathdef2322": 17, "mathdef2323": 17, "mathdef2324": 17, "prose": [17, 18, 19, 42], "convers": [17, 18, 21, 27, 30], "mathdef2325": 18, "mathdef2326": 18, "mathdef2327": 18, "mathdef2328": 18, "mathdef2329": 18, "mathdef2330": 18, "mathdef2331": 18, "mathdef2332": 18, "mathdef2333": 18, "mathdef2334": 18, "mathdef2335": 18, "mathdef2336": 18, "mathdef2337": 18, "mathdef2338": 18, "mathdef2339": 18, "mathdef2340": 18, "mathdef2341": 18, "mathdef2342": 18, "mathdef2343": 18, "mathdef2344": 18, "mathdef2345": 18, "mathdef2346": 18, "mathdef2347": 18, "mathdef2348": 18, "mathdef2349": 18, "mathdef2350": 18, "mathdef2351": 18, "mathdef2352": 18, "mathdef2353": 18, "mathdef2354": 18, "mathdef2355": 18, "mathdef2356": 18, "mathdef2357": 18, "mathdef2358": 18, "mathdef2359": 18, "mathdef2360": 18, "mathdef2361": 18, "mathdef2362": 18, "mathdef2363": 18, "rcl": [18, 21], "underli": [18, 20, 33], "i_1": 18, "i_k": 18, "z_1": 18, "z_k": 18, "And": 18, "i_2": 18, "via": [18, 19], "c_1": [18, 20], "spectec": 18, "imag": 18, "c_2": 18, "land": [18, 30, 33, 37, 41, 43], "rulepr": 18, "properli": 18, "ref_type_of": 18, "help": [18, 20], "y_0": 18, "zt": [18, 43], "si": 18, "append": [18, 19, 28, 41, 45], "approx": [18, 43, 46], "_y": 18, "th": [18, 28, 41], "ai": 18, "multicolumn": 18, "greater": [18, 20, 44], "cnn": 18, "gb": 18, "ibyt": 18, "inverse_": 18, "displai": 18, "width": [18, 20, 21, 27, 30, 32, 33, 43], "eight": 18, "sum": 18, "subsequ": [18, 43], "c_i": [18, 20], "a_2": [18, 28], "getfield": 18, "earlier": [18, 36, 38], "zbyte": 18, "bitwis": [18, 20, 30], "n_k": 18, "v_1": 18, "v_2": 18, "c_3": 18, "ci": 18, "onto": 18, "256": [18, 33], "x_i": [18, 19, 46], "j_1": [18, 20], "j_2": [18, 20], "_t_1": 18, "k_1": 18, "k_2": 18, "splice": 18, "seem": [18, 43], "wip": 18, "cj": 18, "d_2": [18, 20], "d_1": [18, 20], "merg": 18, "mayb": 18, "want": 18, "sai": [18, 41], "elabor": 18, "fail": [18, 19, 30], "referenc": [18, 21, 23, 27, 30, 31, 38, 39, 46], "practic": [18, 19, 21, 27, 32, 43], "avail": [18, 26, 27, 30, 31, 41], "lor": [18, 30, 43], "optim": [18, 30], "unalign": [18, 27], "violat": 18, "regardless": [18, 30, 32], "substanti": 18, "slower": 18, "hardwar": [18, 26, 30], "nbyte": 18, "inn": 18, "inverse_of_nbyt": 18, "m_k": 18, "w": [18, 20], "n_0": 18, "n_": 18, "m_0": [18, 33], "m_": 18, "continu": [18, 21, 28, 30], "acut": 18, "now": [18, 19], "al": 18, "phase": [18, 25], "sphinx": 18, "build": 18, "document": [18, 26, 39], "deepli": 18, "mainli": 18, "caus": [18, 30], "spuriou": 18, "tail": [18, 21, 30], "uniniti": [18, 21, 31], "therefor": [18, 21, 43], "fall": [18, 27, 37], "fi": 18, "regularli": 18, "consum": [18, 26, 30, 41, 43], "hf": 18, "singular": [18, 38, 39, 45], "ascrib": 18, "subsum": 18, "constitut": 18, "mathdef2364": 19, "mathdef2365": 19, "mathdef2366": 19, "mathdef2367": 19, "mathdef2368": 19, "mathdef2369": 19, "mathdef2370": 19, "mathdef2371": 19, "mathdef2372": 19, "mathdef2373": 19, "mathdef2374": 19, "mathdef2375": 19, "mathdef2376": 19, "mathdef2377": 19, "mathdef2378": 19, "mathdef2379": 19, "mathdef2380": 19, "mathdef2381": 19, "mathdef2382": 19, "mathdef2383": 19, "mathdef2384": 19, "mathdef2385": 19, "mathdef2386": 19, "mathdef2387": 19, "mathdef2388": 19, "mathdef2389": 19, "mathdef2390": 19, "mathdef2391": 19, "mathdef2392": 19, "mathdef2393": 19, "mathdef2394": 19, "mathdef2395": 19, "mathdef2396": 19, "mathdef2397": 19, "mathdef2398": 19, "mathdef2399": 19, "mathdef2400": 19, "mathdef2401": 19, "mathdef2402": 19, "primarili": [19, 41], "free": [19, 21, 31, 41, 45], "rlll": 19, "hfill": 19, "mathdef2403": 19, "mathdef2404": 19, "rllll": 19, "divis": [19, 20], "mathdef2405": 19, "mathdef2406": 19, "obtain": [19, 32], "insanti": 19, "s_3": 19, "s_4": 19, "s_5": 19, "allocx": 19, "s_0": 19, "s_n": 19, "s_": 19, "s_i": [19, 28], "pointwis": [19, 20, 44], "m_i": 19, "x_": 19, "x_n": 19, "easili": [19, 45], "unravel": 19, "suppli": [19, 21, 31], "how": [19, 26, 27, 30, 31, 36, 41, 43], "calcul": 19, "ij": 19, "ast_i": 19, "einstr": 19, "dinstr": 19, "rcll": 19, "runelem": 19, "rundata": 19, "mere": [19, 30, 31, 41, 45], "beforehand": 19, "stage": 19, "again": [19, 20, 30], "devic": [19, 26, 45], "rest": [19, 37], "observ": [19, 20, 21, 27, 32], "atom": [19, 28], "happen": 19, "interleav": [19, 21], "fit": [19, 43], "api": [19, 26, 27], "val_i": 19, "dummi": 19, "re": 19, "mathdef2407": 20, "mathdef2408": 20, "mathdef2409": 20, "mathdef2410": 20, "mathdef2411": 20, "mathdef2412": 20, "mathdef2413": 20, "mathdef2414": 20, "mathdef2415": 20, "mathdef2416": 20, "mathdef2417": 20, "mathdef2418": 20, "mathdef2419": 20, "mathdef2420": 20, "mathdef2421": 20, "mathdef2422": 20, "mathdef2423": 20, "mathdef2424": 20, "mathdef2425": 20, "mathdef2426": 20, "mathdef2427": 20, "mathdef2428": 20, "mathdef2429": 20, "mathdef2430": 20, "mathdef2431": 20, "mathdef2432": 20, "mathdef2433": 20, "mathdef2434": 20, "mathdef2435": 20, "mathdef2436": 20, "mathdef2437": 20, "mathdef2438": 20, "mathdef2439": 20, "mathdef2440": 20, "mathdef2441": 20, "mathdef2442": 20, "mathdef2443": 20, "mathdef2444": 20, "mathdef2445": 20, "primit": [20, 33], "singleton": 20, "equat": 20, "claus": [20, 38], "decreas": 20, "pm": [20, 33, 40], "mp": 20, "placehold": 20, "resolv": [20, 21, 31, 34, 38, 41], "chosen": [20, 43], "p_1": 20, "p_2": 20, "lift": [20, 30, 44, 45], "c_k": 20, "p": [20, 40], "signless": 20, "magnitud": [20, 33, 40], "infti": [20, 33, 40], "q": [20, 40], "ration": 20, "exclud": 20, "biject": 20, "mathbb": 20, "clamp": 20, "invert": 20, "d_": 20, "d_0": 20, "veebar": 20, "_e": 20, "_m": [20, 21], "c_0": [20, 45], "c_": [20, 43], "li": [20, 30], "signific": [20, 33, 40], "modulo": 20, "subtract": 20, "toward": [20, 27], "dividend": 20, "negat": 20, "conjunct": 20, "disjunct": 20, "exclus": [20, 37], "shift": [20, 30, 36, 41, 43], "rotat": 20, "j_3": 20, "arithmet": [20, 33], "qualif": 20, "direct": [20, 30, 43], "payload": [20, 33, 40], "permit": 20, "stop": 20, "neither": [20, 32], "quiet": [20, 33], "signal": [20, 21, 33], "exact": [20, 30], "smallest": [20, 31, 33, 38], "power": [20, 30], "1024": 20, "candid": 20, "real": [20, 27], "significand": [20, 33], "closest": 20, "candidatepair": 20, "rectifi": 20, "cap": [20, 26], "cup": 20, "leftrightarrow": [20, 30, 43], "among": [20, 33], "unspecifi": 20, "infin": [20, 33, 40], "opposit": 20, "q_2": 20, "regard": [20, 36], "q_1": 20, "squar": 20, "root": 20, "largest": 20, "mathdef2446": 21, "mathdef2447": 21, "mathdef2448": 21, "mathdef2449": 21, "mathdef2450": 21, "mathdef2451": 21, "mathdef2452": 21, "mathdef2453": 21, "mathdef2454": 21, "mathdef2455": 21, "mathdef2456": 21, "mathdef2457": 21, "mathdef2458": 21, "mathdef2459": 21, "mathdef2460": 21, "mathdef2461": 21, "mathdef2462": 21, "mathdef2463": 21, "mathdef2464": 21, "mathdef2465": 21, "mathdef2466": 21, "mathdef2467": 21, "mathdef2468": 21, "mathdef2469": 21, "mathdef2470": 21, "mathdef2471": 21, "mathdef2472": 21, "mathdef2473": 21, "mathdef2474": 21, "mathdef2475": 21, "mathdef2476": 21, "mathdef2477": 21, "mathdef2478": 21, "mathdef2479": 21, "mathdef2480": 21, "mathdef2481": 21, "mathdef2482": 21, "mathdef2483": 21, "mathdef2484": 21, "four": [21, 27, 30], "ambigu": [21, 32], "reus": [21, 26, 38], "aforment": 21, "llcl": [21, 31, 36], "clear": [21, 32, 33], "life": 21, "techniqu": 21, "garbag": 21, "collect": [21, 31, 41], "ident": 21, "contrast": [21, 43], "arbitrarili": [21, 43], "natur": [21, 33, 36], "sometim": [21, 31, 33], "entiti": [21, 27, 31, 32], "65536": 21, "abbrevi": [21, 26, 32, 35, 40], "filter": [21, 31, 32], "fashion": [21, 31, 32], "keep": 21, "simpler": [21, 32], "taken": [21, 38], "restart": [21, 30], "proce": [21, 41], "look": [21, 37, 38, 41], "bubbl": 21, "ultim": 21, "abrupt": 21, "immin": 21, "unifi": 21, "analog": [21, 36], "marker": 21, "inner": 21, "outer": 21, "rather": 21, "elimin": 21, "courtesi": 21, "hole": 21, "hop": 21, "propag": 21, "mathdef2485": 22, "mathdef2486": 22, "mathdef2487": 22, "mathdef2488": 22, "mathdef2489": 22, "mathdef2490": 22, "mathdef2491": 22, "mathdef2492": 22, "mathdef2493": 22, "mathdef2494": 22, "mathdef2495": 22, "mathdef2496": 22, "mathdef2497": 22, "mathdef2498": 22, "mathdef2499": 22, "mathdef2500": 22, "mathdef2501": 22, "mathdef2502": 22, "mathdef2503": 22, "mathdef2504": 22, "mathdef2505": 22, "mathdef2506": 22, "mathdef2507": 22, "mathdef2508": 22, "mathdef2509": 22, "mathdef2510": 22, "mathdef2511": 22, "mathdef2512": 22, "mathdef2513": 22, "mathdef2514": 22, "mathdef2515": 22, "mathdef2516": 22, "mathdef2517": 22, "mathdef2518": 22, "mathdef2519": 22, "mathdef2520": 22, "mathdef2521": 22, "mathdef2522": 22, "mathdef2523": 22, "compar": [22, 30, 32, 41], "involv": [22, 30], "meaning": [22, 27, 41, 46], "mathdef2524": 23, "mathdef2525": 23, "mathdef2526": 23, "mathdef2527": 23, "mathdef2528": 23, "mathdef2529": 23, "mathdef2530": 23, "mathdef2531": 23, "mathdef2532": 23, "mathdef2533": 23, "mathdef2534": 23, "mathdef2535": 23, "mathdef2536": 23, "mathdef2537": 23, "mathdef2538": 23, "mathdef2539": 23, "mathdef2540": 23, "mathdef2541": 23, "mathdef2542": 23, "mathdef2543": 23, "mathdef2544": 23, "mathdef2545": 23, "mathdef2546": 23, "mathdef2547": 23, "mathdef2548": 23, "mathdef2549": 23, "mathdef2550": 23, "mathdef2551": 23, "mathdef2552": 23, "mathdef2553": 23, "mathdef2554": 23, "mathdef2555": 23, "mathdef2556": 23, "mathdef2557": 23, "mathdef2558": 23, "mathdef2559": 23, "mathdef2560": 23, "mathdef2561": 23, "mathdef2562": 23, "live": 23, "mathdef2563": 24, "mathdef2564": 24, "mathdef2565": 24, "mathdef2566": 24, "mathdef2567": 24, "mathdef2568": 24, "mathdef2569": 24, "mathdef2570": 24, "mathdef2571": 24, "mathdef2572": 24, "mathdef2573": 24, "mathdef2574": 24, "mathdef2575": 24, "mathdef2576": 24, "mathdef2577": 24, "mathdef2578": 24, "mathdef2579": 24, "mathdef2580": 24, "mathdef2581": 24, "mathdef2582": 24, "mathdef2583": 24, "mathdef2584": 24, "mathdef2585": 24, "mathdef2586": 24, "mathdef2587": 24, "mathdef2588": 24, "mathdef2589": 24, "mathdef2590": 24, "mathdef2591": 24, "mathdef2592": 24, "mathdef2593": 24, "mathdef2594": 24, "mathdef2595": 24, "mathdef2596": 24, "mathdef2597": 24, "mathdef2598": 24, "mathdef2599": 24, "mathdef2600": 24, "mathdef2601": 24, "draft": [24, 26], "2024": [24, 26], "editor": 24, "latest": 24, "tracker": 24, "mathdef2602": 25, "mathdef2603": 25, "mathdef2604": 25, "mathdef2605": 25, "mathdef2606": 25, "mathdef2607": 25, "mathdef2608": 25, "mathdef2609": 25, "mathdef2610": 25, "mathdef2611": 25, "mathdef2612": 25, "mathdef2613": 25, "mathdef2614": 25, "mathdef2615": 25, "mathdef2616": 25, "mathdef2617": 25, "mathdef2618": 25, "mathdef2619": 25, "mathdef2620": 25, "mathdef2621": 25, "mathdef2622": 25, "mathdef2623": 25, "mathdef2624": 25, "mathdef2625": 25, "mathdef2626": 25, "mathdef2627": 25, "mathdef2628": 25, "mathdef2629": 25, "mathdef2630": 25, "mathdef2631": 25, "mathdef2632": 25, "mathdef2633": 25, "mathdef2634": 25, "mathdef2635": 25, "mathdef2636": 25, "mathdef2637": 25, "mathdef2638": 25, "mathdef2639": 25, "mathdef2640": 25, "goal": 25, "secur": 25, "consider": 25, "concept": 25, "mathdef2641": 26, "mathdef2642": 26, "mathdef2643": 26, "mathdef2644": 26, "mathdef2645": 26, "mathdef2646": 26, "mathdef2647": 26, "mathdef2648": 26, "mathdef2649": 26, "mathdef2650": 26, "mathdef2651": 26, "mathdef2652": 26, "mathdef2653": 26, "mathdef2654": 26, "mathdef2655": 26, "mathdef2656": 26, "mathdef2657": 26, "mathdef2658": 26, "mathdef2659": 26, "mathdef2660": 26, "mathdef2661": 26, "mathdef2662": 26, "mathdef2663": 26, "mathdef2664": 26, "mathdef2665": 26, "mathdef2666": 26, "mathdef2667": 26, "mathdef2668": 26, "mathdef2669": 26, "mathdef2670": 26, "mathdef2671": 26, "mathdef2672": 26, "mathdef2673": 26, "mathdef2674": 26, "mathdef2675": 26, "mathdef2676": 26, "mathdef2677": 26, "mathdef2678": 26, "mathdef2679": 26, "portabl": 26, "level": [26, 27, 31], "effici": [26, 43], "compact": 26, "Its": [26, 30, 31, 46], "emploi": [26, 28], "develop": 26, "w3c": 26, "commun": 26, "supersed": 26, "fast": 26, "nativ": 26, "advantag": 26, "contemporari": 26, "sandbox": 26, "corrupt": 26, "breach": 26, "easi": 26, "independ": [26, 41], "modern": 26, "architectur": 26, "desktop": 26, "mobil": 26, "alik": 26, "privileg": 26, "platform": 26, "browser": 26, "stand": [26, 40, 41], "vm": 26, "interoper": 26, "univers": [26, 46], "transmit": 26, "modular": 26, "cach": 26, "jit": 26, "ahead": [26, 37], "aot": 26, "streamabl": 26, "soon": 26, "seen": 26, "paralleliz": 26, "task": 26, "broadli": 26, "across": [26, 41], "inspect": 26, "especi": 26, "beyond": [26, 27], "contract": 26, "acronym": 26, "break": [26, 30], "Of": 26, "cours": 26, "unsaf": 26, "layout": 26, "At": [26, 38], "virtual": [26, 27], "isa": 26, "encompass": 26, "varieti": 26, "concern": [26, 30], "textual": [26, 34, 40], "ambient": 26, "establish": 26, "polici": 26, "subject": 26, "translat": 26, "potenti": 26, "vulner": 26, "channel": 26, "attack": 26, "put": 26, "mitig": 26, "aforement": 26, "round": [26, 38, 40], "authorit": 26, "discrep": 26, "mathdef2680": 27, "mathdef2681": 27, "mathdef2682": 27, "mathdef2683": 27, "mathdef2684": 27, "mathdef2685": 27, "mathdef2686": 27, "mathdef2687": 27, "mathdef2688": 27, "mathdef2689": 27, "mathdef2690": 27, "mathdef2691": 27, "mathdef2692": 27, "mathdef2693": 27, "mathdef2694": 27, "mathdef2695": 27, "mathdef2696": 27, "mathdef2697": 27, "mathdef2698": 27, "mathdef2699": 27, "mathdef2700": 27, "mathdef2701": 27, "mathdef2702": 27, "mathdef2703": 27, "mathdef2704": 27, "mathdef2705": 27, "mathdef2706": 27, "mathdef2707": 27, "mathdef2708": 27, "mathdef2709": 27, "mathdef2710": 27, "mathdef2711": 27, "mathdef2712": 27, "mathdef2713": 27, "mathdef2714": 27, "mathdef2715": 27, "mathdef2716": 27, "mathdef2717": 27, "mathdef2718": 27, "assembli": 27, "around": [27, 36], "serv": [27, 31, 38], "full": 27, "matrix": 27, "opaqu": [27, 31, 32], "pointer": [27, 32], "sort": [27, 41, 44], "alter": 27, "caught": 27, "usabl": 27, "regist": 27, "emul": 27, "contigu": 27, "raw": [27, 31, 33, 38, 40], "grown": 27, "detail": 27, "complementari": 27, "view": 27, "anonym": [27, 38, 39], "conceptu": 27, "distribut": 27, "process": [27, 32, 33, 38, 46], "could": 27, "mathdef2719": 28, "mathdef2720": 28, "mathdef2721": 28, "mathdef2722": 28, "mathdef2723": 28, "mathdef2724": 28, "mathdef2725": 28, "mathdef2726": 28, "mathdef2727": 28, "mathdef2728": 28, "mathdef2729": 28, "mathdef2730": 28, "mathdef2731": 28, "mathdef2732": 28, "mathdef2733": 28, "mathdef2734": 28, "mathdef2735": 28, "mathdef2736": 28, "mathdef2737": 28, "mathdef2738": 28, "mathdef2739": 28, "mathdef2740": 28, "mathdef2741": 28, "mathdef2742": 28, "mathdef2743": 28, "mathdef2744": 28, "mathdef2745": 28, "mathdef2746": 28, "mathdef2747": 28, "mathdef2748": 28, "mathdef2749": 28, "mathdef2750": 28, "mathdef2751": 28, "mathdef2752": 28, "mathdef2753": 28, "mathdef2754": 28, "mathdef2755": 28, "mathdef2756": 28, "mathdef2757": 28, "san": 28, "serif": 28, "scriptstyle32": [28, 30, 32, 33, 43], "ital": 28, "ellips": 28, "rrl": [28, 30, 32, 33], "r_1": 28, "r_2": 28, "pth": 28, "mid": 28, "_pth": 28, "_field": 28, "shorten": 28, "complex": [28, 33], "mathdef2758": 29, "mathdef2759": 29, "mathdef2760": 29, "mathdef2761": 29, "mathdef2762": 29, "mathdef2763": 29, "mathdef2764": 29, "mathdef2765": 29, "mathdef2766": 29, "mathdef2767": 29, "mathdef2768": 29, "mathdef2769": 29, "mathdef2770": 29, "mathdef2771": 29, "mathdef2772": 29, "mathdef2773": 29, "mathdef2774": 29, "mathdef2775": 29, "mathdef2776": 29, "mathdef2777": 29, "mathdef2778": 29, "mathdef2779": 29, "mathdef2780": 29, "mathdef2781": 29, "mathdef2782": 29, "mathdef2783": 29, "mathdef2784": 29, "mathdef2785": 29, "mathdef2786": 29, "mathdef2787": 29, "mathdef2788": 29, "mathdef2789": 29, "mathdef2790": 29, "mathdef2791": 29, "mathdef2792": 29, "mathdef2793": 29, "mathdef2794": 29, "mathdef2795": 29, "mathdef2796": 29, "mathdef2797": 30, "mathdef2798": 30, "mathdef2799": 30, "mathdef2800": 30, "mathdef2801": 30, "mathdef2802": 30, "mathdef2803": 30, "mathdef2804": 30, "mathdef2805": 30, "mathdef2806": 30, "mathdef2807": 30, "mathdef2808": 30, "mathdef2809": 30, "mathdef2810": 30, "mathdef2811": 30, "mathdef2812": 30, "mathdef2813": 30, "mathdef2814": 30, "mathdef2815": 30, "mathdef2816": 30, "mathdef2817": 30, "mathdef2818": 30, "mathdef2819": 30, "mathdef2820": 30, "mathdef2821": 30, "mathdef2822": 30, "mathdef2823": 30, "mathdef2824": 30, "mathdef2825": 30, "mathdef2826": 30, "mathdef2827": 30, "mathdef2828": 30, "mathdef2829": 30, "mathdef2830": 30, "mathdef2831": 30, "mathdef2832": 30, "mathdef2833": 30, "mathdef2834": 30, "mathdef2835": 30, "throw": 30, "awai": 30, "miss": 30, "8ex": [30, 32, 33], "subcategori": 30, "comparison": 30, "come": 30, "flavor": 30, "signed": [30, 33, 40], "scriptstyle1": 30, "scriptstyle2": 30, "scriptstyle4": 30, "scriptstyle8": [30, 32, 33, 46], "scriptstyle16": [30, 32, 33], "scriptstyle64": [30, 32, 33, 43], "llrl": [30, 31, 41], "scriptstyle128": [30, 32, 33], "encount": 30, "downcast": 30, "success": 30, "slot": [30, 31], "scriptstyle31": [30, 32, 43], "lossless": 30, "math": 30, "delta": 30, "enough": 30, "newli": 30, "region": 30, "overlap": [30, 37, 38], "destin": 30, "retriev": 30, "freed": 30, "ww": 30, "unit": [30, 31, 32], "regionof": 30, "inlin": [30, 36, 38], "innermost": 30, "farther": 30, "outward": 30, "resum": 30, "statement": [30, 41], "attempt": 30, "shortcut": 30, "unwind": 30, "addition": 30, "heterogen": [30, 32], "calle": 30, "exhaust": 30, "hit": 30, "mathdef2836": 31, "mathdef2837": 31, "mathdef2838": 31, "mathdef2839": 31, "mathdef2840": 31, "mathdef2841": 31, "mathdef2842": 31, "mathdef2843": 31, "mathdef2844": 31, "mathdef2845": 31, "mathdef2846": 31, "mathdef2847": 31, "mathdef2848": 31, "mathdef2849": 31, "mathdef2850": 31, "mathdef2851": 31, "mathdef2852": 31, "mathdef2853": 31, "mathdef2854": 31, "mathdef2855": 31, "mathdef2856": 31, "mathdef2857": 31, "mathdef2858": 31, "mathdef2859": 31, "mathdef2860": 31, "mathdef2861": 31, "mathdef2862": 31, "mathdef2863": 31, "mathdef2864": 31, "mathdef2865": 31, "mathdef2866": 31, "mathdef2867": 31, "mathdef2868": 31, "mathdef2869": 31, "mathdef2870": 31, "mathdef2871": 31, "mathdef2872": 31, "mathdef2873": 31, "mathdef2874": 31, "deploy": 31, "llrll": [31, 39], "signatur": [31, 32], "upon": 31, "subrang": 31, "becom": [31, 36], "descriptor": [31, 36, 38], "go": 31, "necessarili": 31, "overload": 31, "mathdef2875": 32, "mathdef2876": 32, "mathdef2877": 32, "mathdef2878": 32, "mathdef2879": 32, "mathdef2880": 32, "mathdef2881": 32, "mathdef2882": 32, "mathdef2883": 32, "mathdef2884": 32, "mathdef2885": 32, "mathdef2886": 32, "mathdef2887": 32, "mathdef2888": 32, "mathdef2889": 32, "mathdef2890": 32, "mathdef2891": 32, "mathdef2892": 32, "mathdef2893": 32, "mathdef2894": 32, "mathdef2895": 32, "mathdef2896": 32, "mathdef2897": 32, "mathdef2898": 32, "mathdef2899": 32, "mathdef2900": 32, "mathdef2901": 32, "mathdef2902": 32, "mathdef2903": 32, "mathdef2904": 32, "mathdef2905": 32, "mathdef2906": 32, "mathdef2907": 32, "mathdef2908": 32, "mathdef2909": 32, "mathdef2910": 32, "mathdef2911": 32, "mathdef2912": 32, "mathdef2913": 32, "doubl": [32, 37], "transpar": 32, "interconvert": 32, "inhabit": [32, 41], "isomorph": 32, "dualli": 32, "receiv": 32, "eqt": 32, "mix": 32, "engin": 32, "tag": 32, "achiev": 32, "why": 32, "although": [32, 43], "characteris": 32, "accept": 32, "subclass": 32, "thereof": 32, "homogen": 32, "member": 32, "constrain": [32, 43], "xt": 32, "mathdef2914": 33, "mathdef2915": 33, "mathdef2916": 33, "mathdef2917": 33, "mathdef2918": 33, "mathdef2919": 33, "mathdef2920": 33, "mathdef2921": 33, "mathdef2922": 33, "mathdef2923": 33, "mathdef2924": 33, "mathdef2925": 33, "mathdef2926": 33, "mathdef2927": 33, "mathdef2928": 33, "mathdef2929": 33, "mathdef2930": 33, "mathdef2931": 33, "mathdef2932": 33, "mathdef2933": 33, "mathdef2934": 33, "mathdef2935": 33, "mathdef2936": 33, "mathdef2937": 33, "mathdef2938": 33, "mathdef2939": 33, "mathdef2940": 33, "mathdef2941": 33, "mathdef2942": 33, "mathdef2943": 33, "mathdef2944": 33, "mathdef2945": 33, "mathdef2946": 33, "mathdef2947": 33, "mathdef2948": 33, "mathdef2949": 33, "mathdef2950": 33, "mathdef2951": 33, "mathdef2952": 33, "simplest": 33, "0x00": 33, "0xff": 33, "normal": [33, 40], "m_1": [33, 38, 44], "m_2": [33, 38, 44], "m_m": 33, "subnorm": 33, "mantissa": 33, "unrel": 33, "decim": [33, 40], "interchang": 33, "po": 33, "norm": 33, "d7ff": [33, 37], "10ffff": [33, 37], "1114112": 33, "mathdef2953": 34, "mathdef2954": 34, "mathdef2955": 34, "mathdef2956": 34, "mathdef2957": 34, "mathdef2958": 34, "mathdef2959": 34, "mathdef2960": 34, "mathdef2961": 34, "mathdef2962": 34, "mathdef2963": 34, "mathdef2964": 34, "mathdef2965": 34, "mathdef2966": 34, "mathdef2967": 34, "mathdef2968": 34, "mathdef2969": 34, "mathdef2970": 34, "mathdef2971": 34, "mathdef2972": 34, "mathdef2973": 34, "mathdef2974": 34, "mathdef2975": 34, "mathdef2976": 34, "mathdef2977": 34, "mathdef2978": 34, "mathdef2979": 34, "mathdef2980": 34, "mathdef2981": 34, "mathdef2982": 34, "mathdef2983": 34, "mathdef2984": 34, "mathdef2985": 34, "mathdef2986": 34, "mathdef2987": 34, "mathdef2988": 34, "mathdef2989": 34, "mathdef2990": 34, "mathdef2991": 34, "inherit": 34, "sugar": [34, 36], "wat": 34, "quot": 34, "mathdef2992": 34, "mathdef2993": 34, "drawn": 34, "t_n": 34, "white": [34, 35, 36, 40], "mathdef2994": 34, "mathdef2995": 34, "mathdef2996": 34, "mathdef2997": 34, "readabl": 34, "rewrit": 34, "equiv": [34, 36, 38, 39], "unnam": [34, 36], "write": 34, "mathdef2998": 35, "mathdef2999": 35, "mathdef3000": 35, "mathdef3001": 35, "mathdef3002": 35, "mathdef3003": 35, "mathdef3004": 35, "mathdef3005": 35, "mathdef3006": 35, "mathdef3007": 35, "mathdef3008": 35, "mathdef3009": 35, "mathdef3010": 35, "mathdef3011": 35, "mathdef3012": 35, "mathdef3013": 35, "mathdef3014": 35, "mathdef3015": 35, "mathdef3016": 35, "mathdef3017": 35, "mathdef3018": 35, "mathdef3019": 35, "mathdef3020": 35, "mathdef3021": 35, "mathdef3022": 35, "mathdef3023": 35, "mathdef3024": 35, "mathdef3025": 35, "mathdef3026": 35, "mathdef3027": 35, "mathdef3028": 35, "mathdef3029": 35, "mathdef3030": 35, "mathdef3031": 35, "mathdef3032": 35, "mathdef3033": 35, "mathdef3034": 35, "mathdef3035": 35, "mathdef3036": 35, "mathdef3037": 36, "mathdef3038": 36, "mathdef3039": 36, "mathdef3040": 36, "mathdef3041": 36, "mathdef3042": 36, "mathdef3043": 36, "mathdef3044": 36, "mathdef3045": 36, "mathdef3046": 36, "mathdef3047": 36, "mathdef3048": 36, "mathdef3049": 36, "mathdef3050": 36, "mathdef3051": 36, "mathdef3052": 36, "mathdef3053": 36, "mathdef3054": 36, "mathdef3055": 36, "mathdef3056": 36, "mathdef3057": 36, "mathdef3058": 36, "mathdef3059": 36, "mathdef3060": 36, "mathdef3061": 36, "mathdef3062": 36, "mathdef3063": 36, "mathdef3064": 36, "mathdef3065": 36, "mathdef3066": 36, "mathdef3067": 36, "mathdef3068": 36, "mathdef3069": 36, "mathdef3070": 36, "mathdef3071": 36, "mathdef3072": 36, "mathdef3073": 36, "mathdef3074": 36, "mathdef3075": 36, "visual": 36, "notin": 36, "absolut": 36, "shadow": 36, "inaccess": 36, "repeat": 36, "delimit": [36, 37], "mathdef3076": 36, "mathdef3077": 36, "mathdef3078": 36, "mathdef3079": 36, "mathdef3080": 36, "mathdef3081": 36, "mathdef3082": 36, "verbatim": 36, "mathdef3083": 36, "mathdef3084": 36, "mathdef3085": 36, "mathdef3086": 36, "mathdef3087": 36, "mathdef3088": 36, "mathdef3089": 36, "mathdef3090": 36, "mathdef3091": 36, "mathdef3092": 36, "mathdef3093": 36, "mathdef3094": 36, "mathdef3095": 36, "mathdef3096": 36, "mathdef3097": 36, "mathdef3098": 36, "mathdef3099": 36, "mathdef3100": 36, "mathdef3101": 36, "mathdef3102": 36, "mathdef3103": 36, "mathdef3104": 36, "mathdef3105": 36, "mathdef3106": 36, "mathdef3107": 36, "mathdef3108": 36, "mathdef3109": 36, "mathdef3110": 36, "mathdef3111": 36, "mathdef3112": 36, "mathdef3113": 36, "mathdef3114": 36, "mathdef3115": 36, "mathdef3116": 36, "mathdef3117": 36, "mathdef3118": 36, "mathdef3119": 36, "mathdef3120": 36, "mathdef3121": 36, "mathdef3122": 36, "mathdef3123": 36, "mathdef3124": 36, "mathdef3125": 36, "mathdef3126": 36, "mathdef3127": 36, "mathdef3128": 36, "mathdef3129": 36, "mathdef3130": 36, "mathdef3131": 36, "mathdef3132": 36, "mathdef3133": 36, "mathdef3134": 36, "mathdef3135": 36, "mathdef3136": 36, "mathdef3137": 36, "mathdef3138": 36, "mathdef3139": 36, "mathdef3140": 36, "mathdef3141": 36, "mathdef3142": 36, "mathdef3143": 36, "mathdef3144": 36, "mathdef3145": 36, "mathdef3146": 36, "mathdef3147": 36, "mathdef3148": 36, "mathdef3149": 36, "mathdef3150": 36, "mathdef3151": 36, "mathdef3152": 36, "mathdef3153": 36, "mathdef3154": 36, "mathdef3155": 36, "mathdef3156": 36, "mathdef3157": 36, "mathdef3158": 36, "mathdef3159": 36, "mathdef3160": 36, "mathdef3161": 36, "mathdef3162": 36, "mathdef3163": 36, "mathdef3164": 36, "mathdef3165": 36, "mathdef3166": 36, "mathdef3167": 36, "mathdef3168": 36, "mathdef3169": 36, "mathdef3170": 36, "mathdef3171": 36, "mathdef3172": 36, "mathdef3173": 36, "mathdef3174": 36, "mathdef3175": 36, "mathdef3176": 36, "mathdef3177": 36, "mathdef3178": 36, "mathdef3179": 36, "mathdef3180": 36, "mathdef3181": 36, "mathdef3182": 36, "mathdef3183": 36, "averylonginstructionnameforvectext": 36, "vechasreallylonginstructionnam": 36, "mathdef3184": 36, "mathdef3185": 36, "mathdef3186": 36, "mathdef3187": 36, "mathdef3188": 36, "mathdef3189": 36, "load8": 36, "mathdef3190": 36, "mathdef3191": 36, "load16": 36, "mathdef3192": 36, "mathdef3193": 36, "mathdef3194": 36, "mathdef3195": 36, "mathdef3196": 36, "mathdef3197": 36, "load32": 36, "mathdef3198": 36, "mathdef3199": 36, "load8x8": 36, "mathdef3200": 36, "mathdef3201": 36, "load16x4": 36, "mathdef3202": 36, "mathdef3203": 36, "load32x2": 36, "mathdef3204": 36, "mathdef3205": 36, "mathdef3206": 36, "mathdef3207": 36, "mathdef3208": 36, "load64": 36, "mathdef3209": 36, "mathdef3210": 36, "mathdef3211": 36, "mathdef3212": 36, "mathdef3213": 36, "mathdef3214": 36, "mathdef3215": 36, "mathdef3216": 36, "mathdef3217": 36, "mathdef3218": 36, "mathdef3219": 36, "mathdef3220": 36, "store8": 36, "mathdef3221": 36, "store16": 36, "mathdef3222": 36, "mathdef3223": 36, "mathdef3224": 36, "store32": 36, "mathdef3225": 36, "mathdef3226": 36, "mathdef3227": 36, "mathdef3228": 36, "store64": 36, "mathdef3229": 36, "mathdef3230": 36, "mathdef3231": 36, "mathdef3232": 36, "mathdef3233": 36, "mathdef3234": 36, "mathdef3235": 36, "mathdef3236": 36, "mathdef3237": 36, "mathdef3238": 36, "mathdef3239": 36, "mathdef3240": 36, "mathdef3241": 36, "mathdef3242": 36, "mathdef3243": 36, "mathdef3244": 36, "mathdef3245": 36, "mathdef3246": 36, "mathdef3247": 36, "mathdef3248": 36, "mathdef3249": 36, "mathdef3250": 36, "mathdef3251": 36, "mathdef3252": 36, "mathdef3253": 36, "mathdef3254": 36, "mathdef3255": 36, "mathdef3256": 36, "mathdef3257": 36, "mathdef3258": 36, "mathdef3259": 36, "mathdef3260": 36, "mathdef3261": 36, "mathdef3262": 36, "mathdef3263": 36, "mathdef3264": 36, "mathdef3265": 36, "mathdef3266": 36, "mathdef3267": 36, "mathdef3268": 36, "mathdef3269": 36, "mathdef3270": 36, "mathdef3271": 36, "mathdef3272": 36, "mathdef3273": 36, "mathdef3274": 36, "mathdef3275": 36, "mathdef3276": 36, "mathdef3277": 36, "mathdef3278": 36, "mathdef3279": 36, "mathdef3280": 36, "mathdef3281": 36, "mathdef3282": 36, "mathdef3283": 36, "mathdef3284": 36, "mathdef3285": 36, "mathdef3286": 36, "mathdef3287": 36, "mathdef3288": 36, "mathdef3289": 36, "mathdef3290": 36, "mathdef3291": 36, "mathdef3292": 36, "mathdef3293": 36, "mathdef3294": 36, "mathdef3295": 36, "mathdef3296": 36, "mathdef3297": 36, "mathdef3298": 36, "mathdef3299": 36, "thisisenough": 36, "mathdef3300": 36, "mathdef3301": 36, "mathdef3302": 36, "mathdef3303": 36, "mathdef3304": 36, "mathdef3305": 36, "mathdef3306": 36, "mathdef3307": 36, "mathdef3308": 36, "mathdef3309": 36, "mathdef3310": 36, "mathdef3311": 36, "mathdef3312": 36, "mathdef3313": 36, "mathdef3314": 36, "mathdef3315": 36, "mathdef3316": 36, "mathdef3317": 36, "mathdef3318": 36, "mathdef3319": 36, "mathdef3320": 36, "mathdef3321": 36, "mathdef3322": 36, "mathdef3323": 36, "mathdef3324": 36, "mathdef3325": 36, "mathdef3326": 36, "mathdef3327": 36, "mathdef3328": 36, "mathdef3329": 36, "mathdef3330": 36, "mathdef3331": 36, "mathdef3332": 36, "mathdef3333": 36, "mathdef3334": 36, "mathdef3335": 36, "mathdef3336": 36, "mathdef3337": 36, "mathdef3338": 36, "mathdef3339": 36, "mathdef3340": 36, "mathdef3341": 36, "mathdef3342": 36, "mathdef3343": 36, "mathdef3344": 36, "mathdef3345": 36, "mathdef3346": 36, "mathdef3347": 36, "mathdef3348": 36, "mathdef3349": 36, "mathdef3350": 36, "mathdef3351": 36, "mathdef3352": 36, "mathdef3353": 36, "mathdef3354": 36, "mathdef3355": 36, "mathdef3356": 36, "mathdef3357": 36, "mathdef3358": 36, "mathdef3359": 36, "mathdef3360": 36, "mathdef3361": 36, "mathdef3362": 36, "mathdef3363": 36, "mathdef3364": 36, "mathdef3365": 36, "mathdef3366": 36, "mathdef3367": 36, "mathdef3368": 36, "mathdef3369": 36, "mathdef3370": 36, "mathdef3371": 36, "mathdef3372": 36, "mathdef3373": 36, "mathdef3374": 36, "mathdef3375": 36, "mathdef3376": 36, "mathdef3377": 36, "mathdef3378": 36, "mathdef3379": 36, "mathdef3380": 36, "mathdef3381": 36, "mathdef3382": 36, "mathdef3383": 36, "mathdef3384": 36, "mathdef3385": 36, "mathdef3386": 36, "mathdef3387": 36, "mathdef3388": 36, "mathdef3389": 36, "mathdef3390": 36, "mathdef3391": 36, "mathdef3392": 36, "mathdef3393": 36, "mathdef3394": 36, "mathdef3395": 36, "mathdef3396": 36, "mathdef3397": 36, "mathdef3398": 36, "_i64": 36, "mathdef3399": 36, "_f32": 36, "mathdef3400": 36, "mathdef3401": 36, "_f64": 36, "mathdef3402": 36, "mathdef3403": 36, "mathdef3404": 36, "mathdef3405": 36, "mathdef3406": 36, "mathdef3407": 36, "_i32": 36, "mathdef3408": 36, "mathdef3409": 36, "mathdef3410": 36, "mathdef3411": 36, "mathdef3412": 36, "mathdef3413": 36, "mathdef3414": 36, "mathdef3415": 36, "mathdef3416": 36, "mathdef3417": 36, "mathdef3418": 36, "mathdef3419": 36, "mathdef3420": 36, "mathdef3421": 36, "mathdef3422": 36, "mathdef3423": 36, "mathdef3424": 36, "mathdef3425": 36, "mathdef3426": 36, "mathdef3427": 36, "mathdef3428": 36, "mathdef3429": 36, "mathdef3430": 36, "mathdef3431": 36, "extend8": 36, "mathdef3432": 36, "extend16": 36, "mathdef3433": 36, "mathdef3434": 36, "mathdef3435": 36, "extend32": 36, "mandatori": 36, "mathdef3436": 36, "mathdef3437": 36, "mathdef3438": 36, "mathdef3439": 36, "mathdef3440": 36, "mathdef3441": 36, "mathdef3442": 36, "mathdef3443": 36, "mathdef3444": 36, "mathdef3445": 36, "mathdef3446": 36, "mathdef3447": 36, "mathdef3448": 36, "mathdef3449": 36, "mathdef3450": 36, "mathdef3451": 36, "mathdef3452": 36, "mathdef3453": 36, "mathdef3454": 36, "mathdef3455": 36, "mathdef3456": 36, "mathdef3457": 36, "mathdef3458": 36, "mathdef3459": 36, "mathdef3460": 36, "mathdef3461": 36, "mathdef3462": 36, "mathdef3463": 36, "mathdef3464": 36, "mathdef3465": 36, "mathdef3466": 36, "mathdef3467": 36, "mathdef3468": 36, "mathdef3469": 36, "mathdef3470": 36, "mathdef3471": 36, "mathdef3472": 36, "mathdef3473": 36, "mathdef3474": 36, "mathdef3475": 36, "mathdef3476": 36, "mathdef3477": 36, "mathdef3478": 36, "mathdef3479": 36, "mathdef3480": 36, "mathdef3481": 36, "mathdef3482": 36, "mathdef3483": 36, "mathdef3484": 36, "mathdef3485": 36, "mathdef3486": 36, "mathdef3487": 36, "mathdef3488": 36, "mathdef3489": 36, "mathdef3490": 36, "mathdef3491": 36, "mathdef3492": 36, "mathdef3493": 36, "mathdef3494": 36, "mathdef3495": 36, "mathdef3496": 36, "mathdef3497": 36, "mathdef3498": 36, "mathdef3499": 36, "mathdef3500": 36, "mathdef3501": 36, "mathdef3502": 36, "mathdef3503": 36, "mathdef3504": 36, "mathdef3505": 36, "mathdef3506": 36, "mathdef3507": 36, "mathdef3508": 36, "mathdef3509": 36, "mathdef3510": 36, "mathdef3511": 36, "mathdef3512": 36, "mathdef3513": 36, "mathdef3514": 36, "mathdef3515": 36, "mathdef3516": 36, "mathdef3517": 36, "mathdef3518": 36, "mathdef3519": 36, "mathdef3520": 36, "mathdef3521": 36, "mathdef3522": 36, "mathdef3523": 36, "mathdef3524": 36, "mathdef3525": 36, "mathdef3526": 36, "mathdef3527": 36, "mathdef3528": 36, "mathdef3529": 36, "mathdef3530": 36, "mathdef3531": 36, "mathdef3532": 36, "mathdef3533": 36, "mathdef3534": 36, "mathdef3535": 36, "mathdef3536": 36, "mathdef3537": 36, "mathdef3538": 36, "mathdef3539": 36, "mathdef3540": 36, "mathdef3541": 36, "mathdef3542": 36, "mathdef3543": 36, "mathdef3544": 36, "mathdef3545": 36, "mathdef3546": 36, "mathdef3547": 36, "mathdef3548": 36, "mathdef3549": 36, "mathdef3550": 36, "mathdef3551": 36, "mathdef3552": 36, "mathdef3553": 36, "_high": 36, "mathdef3554": 36, "mathdef3555": 36, "mathdef3556": 36, "mathdef3557": 36, "mathdef3558": 36, "mathdef3559": 36, "mathdef3560": 36, "mathdef3561": 36, "mathdef3562": 36, "mathdef3563": 36, "mathdef3564": 36, "mathdef3565": 36, "mathdef3566": 36, "mathdef3567": 36, "mathdef3568": 36, "mathdef3569": 36, "mathdef3570": 36, "mathdef3571": 36, "mathdef3572": 36, "mathdef3573": 36, "mathdef3574": 36, "mathdef3575": 36, "mathdef3576": 36, "mathdef3577": 36, "mathdef3578": 36, "mathdef3579": 36, "mathdef3580": 36, "mathdef3581": 36, "mathdef3582": 36, "mathdef3583": 36, "mathdef3584": 36, "mathdef3585": 36, "mathdef3586": 36, "mathdef3587": 36, "mathdef3588": 36, "mathdef3589": 36, "mathdef3590": 36, "mathdef3591": 36, "mathdef3592": 36, "mathdef3593": 36, "mathdef3594": 36, "mathdef3595": 36, "mathdef3596": 36, "mathdef3597": 36, "mathdef3598": 36, "mathdef3599": 36, "mathdef3600": 36, "mathdef3601": 36, "mathdef3602": 36, "mathdef3603": 36, "mathdef3604": 36, "mathdef3605": 36, "mathdef3606": 36, "mathdef3607": 36, "mathdef3608": 36, "mathdef3609": 36, "mathdef3610": 36, "mathdef3611": 36, "mathdef3612": 36, "mathdef3613": 36, "mathdef3614": 36, "mathdef3615": 36, "mathdef3616": 36, "mathdef3617": 36, "mathdef3618": 36, "mathdef3619": 36, "mathdef3620": 36, "mathdef3621": 36, "mathdef3622": 36, "mathdef3623": 36, "mathdef3624": 36, "mathdef3625": 36, "mathdef3626": 36, "mathdef3627": 36, "mathdef3628": 36, "mathdef3629": 36, "mathdef3630": 36, "mathdef3631": 36, "mathdef3632": 36, "mathdef3633": 36, "mathdef3634": 36, "mathdef3635": 36, "mathdef3636": 36, "mathdef3637": 36, "mathdef3638": 36, "mathdef3639": 36, "mathdef3640": 36, "mathdef3641": 36, "mathdef3642": 36, "mathdef3643": 36, "mathdef3644": 36, "mathdef3645": 36, "mathdef3646": 36, "mathdef3647": 36, "mathdef3648": 36, "mathdef3649": 36, "mathdef3650": 36, "mathdef3651": 36, "mathdef3652": 36, "mathdef3653": 36, "mathdef3654": 36, "mathdef3655": 36, "mathdef3656": 36, "mathdef3657": 36, "mathdef3658": 36, "mathdef3659": 36, "mathdef3660": 36, "head": 36, "mathdef3661": 36, "mathdef3662": 36, "lllll": 36, "mathdef3663": 36, "mathdef3664": 36, "mathdef3665": 36, "mathdef3666": 36, "mathdef3667": 36, "mathdef3668": 36, "mathdef3669": 36, "mathdef3670": 36, "mathdef3671": 36, "mathdef3672": 36, "mathdef3673": 36, "mathdef3674": 36, "mathdef3675": 36, "mathdef3676": 36, "hspace": 36, "3ex": [36, 43], "mathdef3677": 36, "mathdef3678": 36, "mathdef3679": 36, "mathdef3680": 36, "mathdef3681": 36, "mathdef3682": 36, "mathdef3683": 36, "mathdef3684": 36, "mathdef3685": 36, "mathdef3686": 36, "sole": 36, "mathdef3687": 36, "mathdef3688": 37, "mathdef3689": 37, "mathdef3690": 37, "mathdef3691": 37, "mathdef3692": 37, "mathdef3693": 37, "mathdef3694": 37, "mathdef3695": 37, "mathdef3696": 37, "mathdef3697": 37, "mathdef3698": 37, "mathdef3699": 37, "mathdef3700": 37, "mathdef3701": 37, "mathdef3702": 37, "mathdef3703": 37, "mathdef3704": 37, "mathdef3705": 37, "mathdef3706": 37, "mathdef3707": 37, "mathdef3708": 37, "mathdef3709": 37, "mathdef3710": 37, "mathdef3711": 37, "mathdef3712": 37, "mathdef3713": 37, "mathdef3714": 37, "mathdef3715": 37, "mathdef3716": 37, "mathdef3717": 37, "mathdef3718": 37, "mathdef3719": 37, "mathdef3720": 37, "mathdef3721": 37, "mathdef3722": 37, "mathdef3723": 37, "mathdef3724": 37, "mathdef3725": 37, "mathdef3726": 37, "mathdef3727": 37, "mathdef3728": 37, "mathdef3729": 37, "mathdef3730": 37, "mathdef3731": 37, "mathdef3732": 37, "mathdef3733": 37, "mathdef3734": 37, "longest": 37, "whitespac": 37, "mathdef3735": 37, "chapter": 37, "aris": 37, "mathdef3736": 37, "mathdef3737": 37, "mathdef3738": 37, "mathdef3739": 37, "disallow": 37, "effector": 37, "horizont": 37, "tabul": 37, "mathdef3740": 37, "line": 37, "feed": 37, "mathdef3741": 37, "carriag": 37, "mathdef3742": 37, "mathdef3743": 37, "mathdef3744": 37, "mathdef3745": 37, "mathdef3746": 37, "mathdef3747": 37, "mathdef3748": 37, "semicolon": [37, 40], "eof": 37, "mathdef3749": 37, "mathdef3750": 37, "mathdef3751": 37, "mathdef3752": 37, "mathdef3753": 37, "mathdef3754": 37, "mathdef3755": 37, "mathdef3756": 37, "disambigu": 37, "mathdef3757": 38, "mathdef3758": 38, "mathdef3759": 38, "mathdef3760": 38, "mathdef3761": 38, "mathdef3762": 38, "mathdef3763": 38, "mathdef3764": 38, "mathdef3765": 38, "mathdef3766": 38, "mathdef3767": 38, "mathdef3768": 38, "mathdef3769": 38, "mathdef3770": 38, "mathdef3771": 38, "mathdef3772": 38, "mathdef3773": 38, "mathdef3774": 38, "mathdef3775": 38, "mathdef3776": 38, "mathdef3777": 38, "mathdef3778": 38, "mathdef3779": 38, "mathdef3780": 38, "mathdef3781": 38, "mathdef3782": 38, "mathdef3783": 38, "mathdef3784": 38, "mathdef3785": 38, "mathdef3786": 38, "mathdef3787": 38, "mathdef3788": 38, "mathdef3789": 38, "mathdef3790": 38, "mathdef3791": 38, "mathdef3792": 38, "mathdef3793": 38, "mathdef3794": 38, "mathdef3795": 38, "llcllllllll": 38, "mathdef3796": 38, "mathdef3797": 38, "mathdef3798": 38, "mathdef3799": 38, "mathdef3800": 38, "mathdef3801": 38, "account": 38, "mathdef3802": 38, "mathdef3803": 38, "mathdef3804": 38, "immateri": 38, "mathdef3805": 38, "mathdef3806": 38, "mathdef3807": 38, "mathdef3808": 38, "mathdef3809": 38, "mathdef3810": 38, "mathdef3811": 38, "mathdef3812": 38, "mathdef3813": 38, "mathdef3814": 38, "mathdef3815": 38, "mathdef3816": 38, "mathdef3817": 38, "mathdef3818": 38, "mathdef3819": 38, "mathdef3820": 38, "mathdef3821": 38, "mathdef3822": 38, "mathdef3823": 38, "mathdef3824": 38, "mathdef3825": 38, "mathdef3826": 38, "mathdef3827": 38, "mathdef3828": 38, "mathdef3829": 38, "mathdef3830": 38, "mathdef3831": 38, "mathdef3832": 38, "mathdef3833": 38, "mathdef3834": 38, "mathdef3835": 38, "see": 38, "mathdef3836": 38, "mathdef3837": 38, "loc": 38, "mathdef3838": 38, "mathdef3839": 38, "mathdef3840": 38, "mathdef3841": 38, "mathdef3842": 38, "mathdef3843": 38, "mathdef3844": 38, "mathdef3845": 38, "mathdef3846": 38, "mathdef3847": 38, "mathdef3848": 38, "mathdef3849": 38, "mathdef3850": 38, "mathdef3851": 38, "mathdef3852": 38, "mathdef3853": 38, "mathdef3854": 38, "mathdef3855": 38, "mathdef3856": 38, "mathdef3857": 38, "mathdef3858": 38, "mathdef3859": 38, "mathdef3860": 38, "mathdef3861": 38, "mathdef3862": 38, "mathdef3863": 38, "mathdef3864": 38, "mathdef3865": 38, "mathdef3866": 38, "mathdef3867": 38, "mathdef3868": 38, "mathdef3869": 38, "mathdef3870": 38, "mathdef3871": 38, "mathdef3872": 38, "mathdef3873": 38, "mathdef3874": 38, "mathdef3875": 38, "mathdef3876": 38, "mathdef3877": 38, "repeatedli": 38, "mathdef3878": 38, "mathdef3879": 38, "mathdef3880": 38, "mathdef3881": 38, "mathdef3882": 38, "mathdef3883": 38, "mathdef3884": 38, "mathdef3885": 38, "mathdef3886": 38, "mathdef3887": 38, "mathdef3888": 38, "mathdef3889": 38, "mathdef3890": 38, "mathdef3891": 38, "mathdef3892": 38, "infer": 38, "mathdef3893": 38, "mathdef3894": 38, "mathdef3895": 38, "mathdef3896": 38, "mathdef3897": 38, "mathdef3898": 38, "mathdef3899": 38, "mathdef3900": 38, "mathdef3901": 38, "mathdef3902": 38, "mathdef3903": 38, "mathdef3904": 38, "mathdef3905": 38, "mathdef3906": 38, "mathdef3907": 38, "mathdef3908": 38, "mathdef3909": 38, "mathdef3910": 38, "mathdef3911": 38, "mathdef3912": 38, "mathdef3913": 38, "mathdef3914": 38, "mathdef3915": 38, "mathdef3916": 38, "mathdef3917": 38, "mathdef3918": 38, "mathdef3919": 38, "mathdef3920": 38, "mathdef3921": 38, "mathdef3922": 38, "mathdef3923": 38, "mathdef3924": 38, "mathdef3925": 38, "mathdef3926": 38, "mathdef3927": 38, "mathdef3928": 38, "mathdef3929": 38, "mathdef3930": 38, "mathdef3931": 38, "mathdef3932": 38, "mathdef3933": 38, "mathdef3934": 38, "mathdef3935": 38, "mathdef3936": 38, "mathdef3937": 38, "mathdef3938": 38, "mathdef3939": 38, "mathdef3940": 38, "mathdef3941": 38, "mathdef3942": 38, "mathdef3943": 38, "mathdef3944": 38, "mathdef3945": 38, "mathdef3946": 38, "mathdef3947": 38, "mathdef3948": 38, "mathdef3949": 38, "mathdef3950": 38, "mathdef3951": 38, "mathdef3952": 38, "mathdef3953": 38, "mathdef3954": 38, "mathdef3955": 38, "mathdef3956": 38, "mathdef3957": 38, "mathdef3958": 38, "mathdef3959": 38, "mathdef3960": 38, "mathdef3961": 38, "mathdef3962": 38, "mathdef3963": 38, "mathdef3964": 38, "mathdef3965": 38, "mathdef3966": 38, "mathdef3967": 38, "mathdef3968": 38, "mathdef3969": 38, "mathdef3970": 38, "mathdef3971": 38, "mathdef3972": 38, "mathdef3973": 38, "mathdef3974": 38, "mathdef3975": 38, "mathdef3976": 38, "mathdef3977": 38, "mathdef3978": 38, "mathdef3979": 38, "mathdef3980": 38, "mathdef3981": 38, "mathdef3982": 38, "mathdef3983": 38, "mathdef3984": 38, "mathdef3985": 38, "mathdef3986": 38, "mathdef3987": 38, "mathdef3988": 38, "mathdef3989": 38, "mathdef3990": 38, "mathdef3991": 38, "mathdef3992": 38, "mathdef3993": 38, "mathdef3994": 38, "mathdef3995": 38, "mathdef3996": 38, "mathdef3997": 38, "mathdef3998": 38, "mathdef3999": 38, "mathdef4000": 38, "mathdef4001": 38, "mathdef4002": 38, "mathdef4003": 38, "mathdef4004": 38, "mathdef4005": 38, "mathdef4006": 38, "mathdef4007": 38, "mathdef4008": 38, "mathdef4009": 38, "mathdef4010": 38, "mathdef4011": 38, "mathdef4012": 38, "mathdef4013": 38, "mathdef4014": 38, "mathdef4015": 38, "mathdef4016": 38, "mathdef4017": 38, "mathdef4018": 38, "mathdef4019": 38, "mathdef4020": 38, "mathdef4021": 38, "mathdef4022": 38, "mathdef4023": 38, "mathdef4024": 38, "mathdef4025": 38, "mathdef4026": 38, "mathdef4027": 38, "mathdef4028": 38, "mathdef4029": 38, "mathdef4030": 38, "mathdef4031": 38, "mathdef4032": 38, "mathdef4033": 38, "mathdef4034": 38, "mathdef4035": 38, "mathdef4036": 38, "mathdef4037": 38, "mathdef4038": 38, "mathdef4039": 38, "mathdef4040": 38, "mathdef4041": 38, "mathdef4042": 38, "mathdef4043": 38, "mathdef4044": 38, "mathdef4045": 38, "mathdef4046": 38, "mathdef4047": 38, "mathdef4048": 38, "mathdef4049": 38, "mathdef4050": 38, "mathdef4051": 38, "mathdef4052": 38, "mathdef4053": 38, "mathdef4054": 38, "mathdef4055": 38, "mathdef4056": 38, "mathdef4057": 38, "mathdef4058": 38, "mathdef4059": 38, "mathdef4060": 38, "mathdef4061": 38, "mathdef4062": 38, "mathdef4063": 38, "mathdef4064": 38, "mathdef4065": 38, "mathdef4066": 38, "mathdef4067": 38, "mathdef4068": 38, "mathdef4069": 38, "mathdef4070": 38, "mathdef4071": 38, "mathdef4072": 38, "mathdef4073": 38, "mathdef4074": 38, "mathdef4075": 38, "mathdef4076": 38, "mathdef4077": 38, "mathdef4078": 38, "mathdef4079": 38, "mathdef4080": 38, "mathdef4081": 38, "mathdef4082": 38, "mathdef4083": 38, "mathdef4084": 38, "mathdef4085": 38, "mathdef4086": 38, "mathdef4087": 38, "mathdef4088": 38, "mathdef4089": 38, "mathdef4090": 38, "mathdef4091": 38, "mathdef4092": 38, "mathdef4093": 38, "mathdef4094": 38, "mathdef4095": 38, "mathdef4096": 38, "mathdef4097": 38, "mathdef4098": 38, "mathdef4099": 38, "mathdef4100": 38, "mathdef4101": 38, "mathdef4102": 38, "mathdef4103": 38, "mathdef4104": 38, "mathdef4105": 38, "mathdef4106": 38, "mathdef4107": 38, "mathdef4108": 38, "mathdef4109": 38, "mathdef4110": 38, "mathdef4111": 38, "mathdef4112": 38, "mathdef4113": 38, "mathdef4114": 38, "mathdef4115": 38, "mathdef4116": 38, "mathdef4117": 38, "mathdef4118": 38, "mathdef4119": 38, "mathdef4120": 38, "mathdef4121": 38, "mathdef4122": 38, "mathdef4123": 38, "mathdef4124": 38, "mathdef4125": 38, "mathdef4126": 38, "mathdef4127": 38, "mathdef4128": 38, "mathdef4129": 38, "mathdef4130": 38, "mathdef4131": 38, "mathdef4132": 38, "mathdef4133": 38, "mathdef4134": 38, "mathdef4135": 38, "documentari": 38, "role": 38, "tool": 38, "cllll": 38, "mathdef4136": 38, "mathdef4137": 38, "mathdef4138": 38, "idc": 38, "clll": 38, "ty": 38, "fn": 38, "me": 38, "gl": 38, "namespac": 38, "mathdef4139": 38, "mathdef4140": 38, "mathdef4141": 38, "mathdef4142": 38, "mathdef4143": 38, "mathdef4144": 38, "idf": 38, "mathdef4145": 38, "mathdef4146": 38, "mathdef4147": 38, "mathdef4148": 38, "mathdef4149": 38, "mathdef4150": 38, "mathdef4151": 38, "mathdef4152": 38, "mathdef4153": 38, "mathdef4154": 38, "mathdef4155": 38, "mathdef4156": 38, "mathdef4157": 38, "mathdef4158": 38, "mathdef4159": 38, "mathdef4160": 38, "mathdef4161": 38, "mathdef4162": 38, "mathdef4163": 38, "mathdef4164": 38, "mathdef4165": 38, "mathdef4166": 38, "mathdef4167": 38, "mathdef4168": 38, "mathdef4169": 38, "mathdef4170": 38, "mathdef4171": 38, "mathdef4172": 38, "mathdef4173": 38, "mathdef4174": 38, "mathdef4175": 38, "mathdef4176": 38, "mathdef4177": 38, "mathdef4178": 38, "mathdef4179": 38, "mathdef4180": 38, "mathdef4181": 38, "mathdef4182": 38, "mathdef4183": 38, "mathdef4184": 38, "mathdef4185": 38, "mathdef4186": 38, "mathdef4187": 38, "mathdef4188": 38, "mathdef4189": 38, "mathdef4190": 38, "mathdef4191": 38, "mathdef4192": 38, "mathdef4193": 38, "tfield": 38, "mathdef4194": 38, "mathdef4195": 38, "mathdef4196": 38, "mathdef4197": 38, "mathdef4198": 38, "mathdef4199": 38, "mathdef4200": 38, "mathdef4201": 38, "mathdef4202": 38, "mathdef4203": 38, "toplevel": 38, "mathdef4204": 38, "mathdef4205": 38, "mathdef4206": 38, "mathdef4207": 39, "mathdef4208": 39, "mathdef4209": 39, "mathdef4210": 39, "mathdef4211": 39, "mathdef4212": 39, "mathdef4213": 39, "mathdef4214": 39, "mathdef4215": 39, "mathdef4216": 39, "mathdef4217": 39, "mathdef4218": 39, "mathdef4219": 39, "mathdef4220": 39, "mathdef4221": 39, "mathdef4222": 39, "mathdef4223": 39, "mathdef4224": 39, "mathdef4225": 39, "mathdef4226": 39, "mathdef4227": 39, "mathdef4228": 39, "mathdef4229": 39, "mathdef4230": 39, "mathdef4231": 39, "mathdef4232": 39, "mathdef4233": 39, "mathdef4234": 39, "mathdef4235": 39, "mathdef4236": 39, "mathdef4237": 39, "mathdef4238": 39, "mathdef4239": 39, "mathdef4240": 39, "mathdef4241": 39, "mathdef4242": 39, "mathdef4243": 39, "mathdef4244": 39, "mathdef4245": 39, "mathdef4246": 39, "mathdef4247": 39, "mathdef4248": 39, "mathdef4249": 39, "mathdef4250": 39, "mathdef4251": 39, "mathdef4252": 39, "mathdef4253": 39, "mathdef4254": 39, "mathdef4255": 39, "mathdef4256": 39, "mathdef4257": 39, "mathdef4258": 39, "mathdef4259": 39, "mathdef4260": 39, "mathdef4261": 39, "mathdef4262": 39, "mathdef4263": 39, "mathdef4264": 39, "mathdef4265": 39, "mathdef4266": 39, "mathdef4267": 39, "mathdef4268": 39, "mathdef4269": 39, "mathdef4270": 39, "mathdef4271": 39, "mathdef4272": 39, "mathdef4273": 39, "mathdef4274": 39, "mathdef4275": 39, "mathdef4276": 39, "mathdef4277": 39, "mathdef4278": 39, "mathdef4279": 39, "mathdef4280": 39, "mathdef4281": 39, "mathdef4282": 39, "mathdef4283": 39, "mathdef4284": 39, "mathdef4285": 39, "mathdef4286": 39, "mathdef4287": 39, "mathdef4288": 39, "mathdef4289": 39, "mathdef4290": 39, "mathdef4291": 39, "mathdef4292": 39, "mathdef4293": 39, "mathdef4294": 39, "mathdef4295": 39, "mathdef4296": 39, "mathdef4297": 39, "mathdef4298": 39, "mathdef4299": 39, "mathdef4300": 39, "mathdef4301": 39, "mathdef4302": 39, "mathdef4303": 39, "mathdef4304": 39, "mathdef4305": 39, "mathdef4306": 39, "mathdef4307": 39, "mathdef4308": 39, "mathdef4309": 39, "mathdef4310": 39, "mathdef4311": 39, "mathdef4312": 39, "mathdef4313": 39, "mathdef4314": 39, "mathdef4315": 39, "mathdef4316": 39, "mathdef4317": 39, "mathdef4318": 39, "mathdef4319": 39, "mathdef4320": 39, "mathdef4321": 39, "mathdef4322": 39, "mathdef4323": 39, "mathdef4324": 39, "mathdef4325": 39, "mathdef4326": 39, "mathdef4327": 39, "mathdef4328": 39, "mathdef4329": 39, "mathdef4330": 39, "mathdef4331": 39, "mathdef4332": 39, "mathdef4333": 39, "mathdef4334": 39, "mathdef4335": 39, "mathdef4336": 39, "mathdef4337": 39, "mathdef4338": 39, "mathdef4339": 39, "mathdef4340": 39, "mathdef4341": 39, "mathdef4342": 39, "mathdef4343": 39, "mathdef4344": 39, "mathdef4345": 39, "mathdef4346": 39, "mathdef4347": 39, "mathdef4348": 39, "mathdef4349": 39, "mathdef4350": 39, "mathdef4351": 39, "mathdef4352": 39, "mathdef4353": 39, "mathdef4354": 39, "mathdef4355": 39, "mathdef4356": 39, "mathdef4357": 39, "mathdef4358": 39, "mathdef4359": 39, "mathdef4360": 39, "mathdef4361": 39, "mathdef4362": 39, "mathdef4363": 39, "mathdef4364": 39, "mathdef4365": 39, "mathdef4366": 39, "mathdef4367": 39, "mathdef4368": 39, "mathdef4369": 39, "mathdef4370": 39, "mathdef4371": 39, "mathdef4372": 39, "mathdef4373": 39, "mathdef4374": 39, "mathdef4375": 39, "mathdef4376": 39, "mathdef4377": 39, "mathdef4378": 39, "mathdef4379": 39, "mathdef4380": 39, "mathdef4381": 39, "mathdef4382": 39, "mathdef4383": 39, "mathdef4384": 39, "mathdef4385": 39, "mathdef4386": 39, "mathdef4387": 39, "mathdef4388": 39, "mathdef4389": 39, "mathdef4390": 40, "mathdef4391": 40, "mathdef4392": 40, "mathdef4393": 40, "mathdef4394": 40, "mathdef4395": 40, "mathdef4396": 40, "mathdef4397": 40, "mathdef4398": 40, "mathdef4399": 40, "mathdef4400": 40, "mathdef4401": 40, "mathdef4402": 40, "mathdef4403": 40, "mathdef4404": 40, "mathdef4405": 40, "mathdef4406": 40, "mathdef4407": 40, "mathdef4408": 40, "mathdef4409": 40, "mathdef4410": 40, "mathdef4411": 40, "mathdef4412": 40, "mathdef4413": 40, "mathdef4414": 40, "mathdef4415": 40, "mathdef4416": 40, "mathdef4417": 40, "mathdef4418": 40, "mathdef4419": 40, "mathdef4420": 40, "mathdef4421": 40, "mathdef4422": 40, "mathdef4423": 40, "mathdef4424": 40, "mathdef4425": 40, "mathdef4426": 40, "mathdef4427": 40, "mathdef4428": 40, "underscor": 40, "mathdef4429": 40, "mathdef4430": 40, "mathdef4431": 40, "mathdef4432": 40, "mathdef4433": 40, "mathdef4434": 40, "mathdef4435": 40, "mathdef4436": 40, "mathdef4437": 40, "h": 40, "mathdef4438": 40, "lie": 40, "mathdef4439": 40, "mathdef4440": 40, "fraction": 40, "mathdef4441": 40, "mathdef4442": 40, "mathdef4443": 40, "mathdef4444": 40, "mathdef4445": 40, "mathdef4446": 40, "mathdef4447": 40, "mathdef4448": 40, "mathdef4449": 40, "mathdef4450": 40, "mathdef4451": 40, "mathdef4452": 40, "mathdef4453": 40, "mathdef4454": 40, "mathdef4455": 40, "mathdef4456": 40, "mathdef4457": 40, "mathdef4458": 40, "mathdef4459": 40, "mathdef4460": 40, "mathdef4461": 40, "mathdef4462": 40, "overflow": 40, "mathdef4463": 40, "inf": 40, "mathdef4464": 40, "mathdef4465": 40, "quotat": 40, "mathdef4466": 40, "backslash": 40, "mathdef4467": 40, "escap": 40, "mathdef4468": 40, "mathdef4469": 40, "mathdef4470": 40, "hh": 40, "mathdef4471": 40, "mathdef4472": 40, "mathdef4473": 40, "mathdef4474": 40, "mathdef4475": 40, "mathdef4476": 40, "mathdef4477": 40, "mathdef4478": 40, "mathdef4479": 40, "mathdef4480": 40, "mathdef4481": 40, "mathdef4482": 40, "mathdef4483": 40, "mathdef4484": 40, "mathdef4485": 40, "mathdef4486": 40, "mathdef4487": 40, "mathdef4488": 40, "mathdef4489": 40, "mathdef4490": 40, "mathdef4491": 40, "mathdef4492": 40, "presum": 40, "correctli": 40, "lieu": 40, "mathdef4493": 40, "comma": 40, "mathdef4494": 40, "mathdef4495": 40, "mathdef4496": 40, "mathdef4497": 40, "mathdef4498": 40, "mathdef4499": 40, "mathdef4500": 40, "mathdef4501": 40, "mathdef4502": 40, "mathdef4503": 40, "mathdef4504": 40, "mathdef4505": 40, "mathdef4506": 40, "mathdef4507": 40, "mathdef4508": 40, "mathdef4509": 40, "mathdef4510": 40, "mathdef4511": 40, "mathdef4512": 40, "mathdef4513": 40, "mathdef4514": 40, "mathdef4515": 40, "mathdef4516": 40, "mathdef4517": 40, "mathdef4518": 40, "mathdef4519": 40, "hat": 40, "mathdef4520": 40, "mathdef4521": 40, "grave": 40, "mathdef4522": 40, "mathdef4523": 40, "tild": 40, "mathdef4524": 41, "mathdef4525": 41, "mathdef4526": 41, "mathdef4527": 41, "mathdef4528": 41, "mathdef4529": 41, "mathdef4530": 41, "mathdef4531": 41, "mathdef4532": 41, "mathdef4533": 41, "mathdef4534": 41, "mathdef4535": 41, "mathdef4536": 41, "mathdef4537": 41, "mathdef4538": 41, "mathdef4539": 41, "mathdef4540": 41, "mathdef4541": 41, "mathdef4542": 41, "mathdef4543": 41, "mathdef4544": 41, "mathdef4545": 41, "mathdef4546": 41, "mathdef4547": 41, "mathdef4548": 41, "mathdef4549": 41, "mathdef4550": 41, "mathdef4551": 41, "mathdef4552": 41, "mathdef4553": 41, "mathdef4554": 41, "mathdef4555": 41, "mathdef4556": 41, "mathdef4557": 41, "mathdef4558": 41, "mathdef4559": 41, "mathdef4560": 41, "mathdef4561": 41, "mathdef4562": 41, "piec": 41, "formul": 41, "By": 41, "virtu": 41, "approxim": 41, "union": 41, "defnit": 41, "absenc": 41, "rise": 41, "iso": 41, "behaviour": 41, "elsewher": 41, "spell": 41, "accordingli": [41, 43], "front": 41, "_c": [41, 44], "said": 41, "embodi": 41, "proposit": 41, "deduct": 41, "premis": [41, 44], "conclus": 41, "big": 41, "axiom": 41, "judgment": 41, "ill": 41, "mathdef4563": 42, "mathdef4564": 42, "mathdef4565": 42, "mathdef4566": 42, "mathdef4567": 42, "mathdef4568": 42, "mathdef4569": 42, "mathdef4570": 42, "mathdef4571": 42, "mathdef4572": 42, "mathdef4573": 42, "mathdef4574": 42, "mathdef4575": 42, "mathdef4576": 42, "mathdef4577": 42, "mathdef4578": 42, "mathdef4579": 42, "mathdef4580": 42, "mathdef4581": 42, "mathdef4582": 42, "mathdef4583": 42, "mathdef4584": 42, "mathdef4585": 42, "mathdef4586": 42, "mathdef4587": 42, "mathdef4588": 42, "mathdef4589": 42, "mathdef4590": 42, "mathdef4591": 42, "mathdef4592": 42, "mathdef4593": 42, "mathdef4594": 42, "mathdef4595": 42, "mathdef4596": 42, "mathdef4597": 42, "mathdef4598": 42, "mathdef4599": 42, "mathdef4600": 42, "mathdef4601": 42, "mathdef4602": 43, "mathdef4603": 43, "mathdef4604": 43, "mathdef4605": 43, "mathdef4606": 43, "mathdef4607": 43, "mathdef4608": 43, "mathdef4609": 43, "mathdef4610": 43, "mathdef4611": 43, "mathdef4612": 43, "mathdef4613": 43, "mathdef4614": 43, "mathdef4615": 43, "mathdef4616": 43, "mathdef4617": 43, "mathdef4618": 43, "mathdef4619": 43, "mathdef4620": 43, "mathdef4621": 43, "mathdef4622": 43, "mathdef4623": 43, "mathdef4624": 43, "mathdef4625": 43, "mathdef4626": 43, "mathdef4627": 43, "mathdef4628": 43, "mathdef4629": 43, "mathdef4630": 43, "mathdef4631": 43, "mathdef4632": 43, "mathdef4633": 43, "mathdef4634": 43, "mathdef4635": 43, "mathdef4636": 43, "mathdef4637": 43, "mathdef4638": 43, "mathdef4639": 43, "mathdef4640": 43, "degre": 43, "transfer": 43, "displaystyl": [43, 46], "nt": 43, "liberti": 43, "yt": 43, "sh": 43, "imm": 43, "lookup": 43, "l_i": 43, "t_l": 43, "anyth": 43, "t_3": 43, "t_4": 43, "intermedi": 43, "vt": 43, "mathdef4641": 44, "mathdef4642": 44, "mathdef4643": 44, "mathdef4644": 44, "mathdef4645": 44, "mathdef4646": 44, "mathdef4647": 44, "mathdef4648": 44, "mathdef4649": 44, "mathdef4650": 44, "mathdef4651": 44, "mathdef4652": 44, "mathdef4653": 44, "mathdef4654": 44, "mathdef4655": 44, "mathdef4656": 44, "mathdef4657": 44, "mathdef4658": 44, "mathdef4659": 44, "mathdef4660": 44, "mathdef4661": 44, "mathdef4662": 44, "mathdef4663": 44, "mathdef4664": 44, "mathdef4665": 44, "mathdef4666": 44, "mathdef4667": 44, "mathdef4668": 44, "mathdef4669": 44, "mathdef4670": 44, "mathdef4671": 44, "mathdef4672": 44, "mathdef4673": 44, "mathdef4674": 44, "mathdef4675": 44, "mathdef4676": 44, "mathdef4677": 44, "mathdef4678": 44, "mathdef4679": 44, "heaptype_1": 44, "heaptype_2": 44, "t_": 44, "t_x": 44, "contravari": 44, "covari": 44, "incorpor": 44, "vacuous": 44, "2i": 44, "1i": 44, "_equivalence_": 44, "fomer": 44, "mathdef4680": 45, "mathdef4681": 45, "mathdef4682": 45, "mathdef4683": 45, "mathdef4684": 45, "mathdef4685": 45, "mathdef4686": 45, "mathdef4687": 45, "mathdef4688": 45, "mathdef4689": 45, "mathdef4690": 45, "mathdef4691": 45, "mathdef4692": 45, "mathdef4693": 45, "mathdef4694": 45, "mathdef4695": 45, "mathdef4696": 45, "mathdef4697": 45, "mathdef4698": 45, "mathdef4699": 45, "mathdef4700": 45, "mathdef4701": 45, "mathdef4702": 45, "mathdef4703": 45, "mathdef4704": 45, "mathdef4705": 45, "mathdef4706": 45, "mathdef4707": 45, "mathdef4708": 45, "mathdef4709": 45, "mathdef4710": 45, "mathdef4711": 45, "mathdef4712": 45, "mathdef4713": 45, "mathdef4714": 45, "mathdef4715": 45, "mathdef4716": 45, "mathdef4717": 45, "mathdef4718": 45, "despit": 45, "_output_": 45, "permiss": 45, "apppend": 45, "idt": 45, "itt": 45, "imt": 45, "sequenti": 45, "mathdef4719": 46, "mathdef4720": 46, "mathdef4721": 46, "mathdef4722": 46, "mathdef4723": 46, "mathdef4724": 46, "mathdef4725": 46, "mathdef4726": 46, "mathdef4727": 46, "mathdef4728": 46, "mathdef4729": 46, "mathdef4730": 46, "mathdef4731": 46, "mathdef4732": 46, "mathdef4733": 46, "mathdef4734": 46, "mathdef4735": 46, "mathdef4736": 46, "mathdef4737": 46, "mathdef4738": 46, "mathdef4739": 46, "mathdef4740": 46, "mathdef4741": 46, "mathdef4742": 46, "mathdef4743": 46, "mathdef4744": 46, "mathdef4745": 46, "mathdef4746": 46, "mathdef4747": 46, "mathdef4748": 46, "mathdef4749": 46, "mathdef4750": 46, "mathdef4751": 46, "mathdef4752": 46, "mathdef4753": 46, "mathdef4754": 46, "mathdef4755": 46, "mathdef4756": 46, "mathdef4757": 46, "eas": 46, "y_i": 46, "x_0": 46}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"valid": [0, 4, 9, 42, 46], "algorithm": 0, "data": [0, 9, 13, 18, 19, 21, 31, 38, 43, 45], "structur": [0, 4, 9, 21, 23, 29], "type": [0, 1, 2, 3, 7, 8, 9, 13, 14, 18, 22, 23, 31, 32, 38, 39, 41, 43, 44, 45, 46], "context": [0, 9, 21, 34, 41], "stack": [0, 21], "opcod": 0, "sequenc": [0, 43], "chang": 1, "histori": 1, "releas": 1, "2": 1, "0": 1, "sign": [1, 20], "extens": [1, 7, 9], "instruct": [1, 6, 9, 12, 18, 21, 23, 30, 36, 41, 43, 44, 45, 46], "non": [1, 43], "trap": [1, 9], "float": [1, 15, 20, 33, 40], "int": [1, 3], "convers": [1, 20], "multipl": 1, "valu": [1, 3, 9, 14, 15, 21, 23, 32, 33, 39, 40, 44, 45, 46], "refer": [1, 12, 14, 18, 23, 30, 32, 36, 39, 43, 44, 46], "tabl": [1, 3, 9, 12, 13, 14, 18, 19, 21, 23, 30, 31, 32, 36, 38, 39, 43, 44, 45, 46], "bulk": 1, "memori": [1, 3, 9, 12, 13, 14, 18, 19, 21, 30, 31, 32, 36, 38, 39, 43, 44, 45, 46], "vector": [1, 12, 14, 18, 20, 23, 30, 32, 33, 36, 39, 43, 44, 46], "3": 1, "extend": [1, 20], "constant": [1, 7, 43], "express": [1, 12, 18, 30, 36, 43], "tail": 1, "call": [1, 18, 43], "garbag": 1, "collect": 1, "custom": [2, 13], "section": [2, 13], "name": [2, 3, 9, 15, 33, 40, 45], "subsect": 2, "map": 2, "modul": [2, 3, 9, 13, 19, 21, 31, 38, 45, 46], "function": [2, 3, 9, 13, 14, 18, 19, 21, 23, 31, 32, 38, 39, 44, 45, 46], "local": [2, 9, 18, 41, 43, 45], "field": [2, 9, 44, 46], "embed": 3, "boolean": [3, 20], "error": 3, "pre": 3, "post": 3, "condit": 3, "store": [3, 7, 9, 18, 21, 43], "mathrm": [3, 20], "_init": 3, "xref": [3, 9, 18, 20, 23, 43, 45, 46], "exec": [3, 9, 18, 20, 23], "runtim": [3, 7, 9, 18, 21, 23], "syntax": [3, 9, 18, 23, 43, 45, 46], "mathit": [3, 9, 18, 23, 43, 45, 46], "_decod": 3, "byte": [3, 15, 33], "ast": [3, 9, 18, 43, 45, 46], "appendix": [3, 5], "emb": 3, "_pars": 3, "char": 3, "_valid": 3, "_instanti": 3, "externv": [3, 9, 23], "moduleinst": [3, 9], "_import": 3, "externtyp": [3, 46], "_export": 3, "instanc": [3, 9, 21], "func": [3, 9, 18, 23, 43, 45, 46], "_alloc": 3, "functyp": [3, 9, 46], "hostfunc": 3, "funcaddr": [3, 9], "_type": 3, "_invok": 3, "val": [3, 9], "tabletyp": [3, 45, 46], "ref": [3, 9, 18, 23, 43, 46], "tableaddr": 3, "_read": 3, "i": [3, 9, 18, 20, 23, 43, 46], "u32": 3, "_write": 3, "_size": 3, "_grow": 3, "n": [3, 18, 20, 43, 46], "mem": [3, 23, 45, 46], "memtyp": [3, 45, 46], "memaddr": 3, "global": [3, 9, 13, 14, 18, 19, 21, 23, 31, 32, 38, 39, 43, 44, 45, 46], "globaltyp": [3, 45, 46], "globaladdr": 3, "reftyp": [3, 46], "_default": [3, 18, 43], "valtyp": [3, 9, 45, 46], "match": [3, 7, 44], "_valtyp": 3, "_1": [3, 18, 43, 45], "_2": [3, 18, 43, 45], "bool": 3, "_externtyp": 3, "implement": 4, "limit": [4, 9, 14, 32, 39, 44, 46], "syntact": 4, "binari": [4, 11], "format": [4, 11, 35, 37], "text": [4, 35], "execut": [4, 7, 17], "index": [6, 7, 8], "semant": [7, 27], "rule": 7, "well": 7, "formed": 7, "static": 7, "construct": 7, "sound": 9, "heap": [9, 14, 32, 39, 44, 46], "convent": [9, 10, 16, 21, 28, 30, 31, 32, 33, 34, 40, 41, 46], "heaptyp": [9, 46], "ext": [9, 20], "mathsf": [9, 18, 20, 23, 43, 45, 46], "bot": 9, "rec": [9, 46], "recurs": [9, 14, 32, 39, 46], "rectyp": [9, 45, 46], "subtyp": [9, 46], "sub": [9, 46], "final": [9, 46], "ht": [9, 43], "comptyp": [9, 46], "result": [9, 14, 21, 32, 44, 46], "": [9, 20], "funcinst": 9, "code": [9, 13], "host": [9, 18, 19, 23], "hostcod": 9, "hf": 9, "tableinst": 9, "t": [9, 18, 23, 43, 45, 46], "elem": [9, 18, 43, 45], "meminst": 9, "b": [9, 45], "globalinst": 9, "mut": [9, 45, 46], "element": [9, 13, 19, 21, 31, 38, 45], "eleminst": 9, "datainst": 9, "structinst": 9, "deftyp": [9, 46], "fieldval": 9, "arrai": [9, 18, 23, 43, 46], "arrayinst": 9, "export": [9, 13, 21, 31, 38, 45], "exportinst": 9, "configur": [9, 21], "thread": 9, "f": 9, "instr": [9, 18, 23, 43], "frame": [9, 21], "administr": [9, 21], "invok": 9, "label": [9, 18, 21, 36], "_n": [9, 20], "_0": 9, "control": [9, 12, 18, 30, 36, 43], "end": [9, 43], "theorem": 9, "system": 9, "properti": 9, "princip": 9, "lattic": 9, "composition": 9, "grammar": [10, 28, 34], "auxiliari": [10, 28], "notat": [10, 16, 28, 41], "list": [10, 28, 34], "parametr": [12, 18, 30, 36, 43], "variabl": [12, 18, 30, 36, 43], "numer": [12, 18, 20, 23, 30, 36, 43], "indic": [13, 31, 38], "import": [13, 31, 38, 45], "start": [13, 31, 38, 45], "count": 13, "number": [14, 32, 39, 44, 46], "aggreg": [14, 21, 30, 32, 39, 43], "composit": [14, 32, 39, 44, 46], "integ": [15, 20, 33, 40], "point": [15, 20, 33, 40], "prose": [16, 41], "formal": [16, 41], "nop": [18, 43], "unreach": [18, 43], "drop": [18, 43], "todo": [18, 19, 20], "select": [18, 43], "const": [18, 23, 43], "c": [18, 20, 23, 43], "nt": 18, "unop": [18, 43], "binop": [18, 43], "testop": [18, 43], "relop": [18, 43], "cvtop": [18, 43], "_": [18, 20, 43], "null": [18, 23, 43, 46], "x": [18, 43, 45, 46], "_null": [18, 43], "_non": [18, 43], "eq": [18, 43], "test": [18, 43], "rt": [18, 43], "cast": [18, 43], "i31": [18, 23, 43], "get": [18, 43], "sx": [18, 43], "struct": [18, 23, 43, 46], "new": [18, 43], "set": [18, 43], "_fix": [18, 43], "_data": [18, 43], "y": [18, 43, 46], "_elem": [18, 43], "len": [18, 43], "fill": [18, 43], "copi": [18, 43], "x_1": 18, "x_2": 18, "init": [18, 43, 45], "extern": [18, 21, 23, 32, 43, 44, 46], "ani": [18, 43], "convert": [18, 20, 43], "_extern": [18, 43], "_ani": [18, 43], "vectyp": [18, 43], "v128": [18, 43], "vec": [18, 43], "vvunop": [18, 43], "vvbinop": [18, 43], "vvternop": [18, 43], "_true": 18, "sh": 18, "vunop": [18, 43], "vbinop": [18, 43], "all": 18, "vrelop": [18, 43], "vshiftop": [18, 43], "bitmask": [18, 43], "swizzl": [18, 43], "shuffl": [18, 43], "splat": [18, 43], "lanet": 18, "u": [18, 20], "scriptstyle0": 18, "extract": [18, 43], "_lane": [18, 43], "scriptstyle1": 18, "replac": [18, 43], "vextunop": 18, "vextbinop": 18, "i32x4": 18, "dot": 18, "_i16x8": 18, "n_2": 18, "narrow": [18, 20, 43], "n_1": 18, "t_2": [18, 20, 43, 46], "vcvtop": [18, 43], "t_1": [18, 20, 43, 46], "m": [18, 20, 43, 46], "half": [18, 43], "_zero": [18, 43], "tee": [18, 43], "size": [18, 43], "grow": [18, 19, 43], "numti": 18, "load": [18, 43], "sz": 18, "ao": 18, "memarg": [18, 43], "_splat": [18, 43], "block": [18, 21, 43, 46], "bt": 18, "loop": [18, 43], "br": [18, 43], "l": [18, 43], "_if": [18, 43], "_tabl": [18, 43], "_on": [18, 43], "_cast": [18, 43], "_fail": [18, 43], "return": [18, 43], "_ref": [18, 43], "_indirect": [18, 43], "_call": [18, 43], "enter": 18, "exit": 18, "invoc": [18, 19], "from": 18, "alloc": 19, "segment": [19, 31, 38, 45], "instanti": [19, 22], "represent": 20, "storag": 20, "oper": 20, "interpret": 20, "op": 20, "iadd": 20, "i_1": 20, "i_2": 20, "isub": 20, "imul": 20, "idiv": 20, "_u": 20, "irem": 20, "inot": 20, "iand": 20, "iandnot": 20, "ior": 20, "ixor": 20, "ishl": 20, "ishr": 20, "irotl": 20, "irotr": 20, "iclz": 20, "ictz": 20, "ipopcnt": 20, "ieqz": 20, "ieq": 20, "ine": 20, "ilt": 20, "igt": 20, "il": 20, "ig": 20, "iextendn": 20, "iextend": 20, "ibitselect": 20, "i_3": 20, "iab": 20, "ineg": 20, "imin": 20, "imax": 20, "iadd_sat": 20, "_sat": 20, "isub_sat": 20, "iavgr": 20, "iq15mulrsat": 20, "round": 20, "nan": 20, "propag": 20, "fadd": 20, "z_1": 20, "z_2": 20, "fsub": 20, "fmul": 20, "fdiv": 20, "fmin": 20, "fmax": 20, "fcopysign": 20, "fab": 20, "z": 20, "fneg": 20, "fsqrt": 20, "fceil": 20, "ffloor": 20, "ftrunc": 20, "fnearest": 20, "feq": 20, "fne": 20, "flt": 20, "fgt": 20, "fle": 20, "fge": 20, "fpmin": 20, "fpmax": 20, "wrap": 20, "trunc": 20, "trunc_sat": 20, "promot": 20, "demot": 20, "reinterpret": 20, "address": 21, "activ": [21, 45], "evalu": 21, "scalar": [23, 43], "subsumpt": [23, 43], "webassembli": 24, "specif": 24, "introduct": [25, 26], "design": 26, "goal": 26, "scope": 26, "secur": 26, "consider": 26, "depend": 26, "overview": 27, "concept": 27, "phase": 27, "abbrevi": [34, 36, 38, 39], "fold": 36, "lexic": 37, "charact": 37, "token": 37, "white": 37, "space": 37, "comment": 37, "us": 38, "string": 40, "identifi": 40, "defin": [41, 44, 46], "roll": 41, "unrol": 41, "vvtestop": 43, "shape": 43, "vtestop": 43, "ishap": 43, "vishiftop": 43, "i8x16": 43, "laneidx": 43, "16": 43, "extadd": 43, "_pairwis": 43, "extmul": 43, "blocktyp": 43, "els": 43, "l_n": 43, "empti": 43, "epsilon": 43, "bodi": 45, "expr": 45, "e": 45, "mode": 45, "elemmod": 45, "passiv": 45, "offset": 45, "declar": 45, "datamod": 45, "desc": 45, "exportdesc": 45, "importdesc": 45, "absheaptyp": 46, "typeidx": 46, "rightarrow_": 46, "rightarrow": 46, "fieldtyp": 46, "storagetyp": 46, "packtyp": 46, "min": 46, "max": 46}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 6, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.todo": 2, "sphinx": 56}}) \ No newline at end of file diff --git a/core/syntax/conventions.html b/core/syntax/conventions.html index ba6fc42b22..ee1e615fb6 100644 --- a/core/syntax/conventions.html +++ b/core/syntax/conventions.html @@ -6,7 +6,7 @@ - Conventions — WebAssembly 3.0 (Draft 2024-05-03) + Conventions — WebAssembly 3.0 (Draft 2024-05-17) @@ -96,7 +96,7 @@

      Quick search

      Grammar Notation

      The following conventions are adopted in defining grammar rules for abstract syntax.

        -
      • Terminal symbols (atoms) are written in sans-serif font or in symbolic form: \(\mathsf{i{\scriptstyle32}}\), \(\mathsf{nop}\), \(\rightarrow\), \({}[,]\).

      • +
      • Terminal symbols (atoms) are written in sans-serif font or in symbolic form: \(\mathsf{i{\scriptstyle32}}\), \(\mathsf{nop}\), \(\rightarrow\), \({}[ , ]\).

      • Nonterminal symbols are written in italic font: \({\href{../syntax/types.html#syntax-valtype}{\mathit{valtype}}}\), \({\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}\).

      • \({A^{n}}\) is a sequence of \(n \geq 0\) iterations of \(A\).

      • \({A^\ast}\) is a possibly empty sequence of iterations of \(A\). @@ -124,7 +124,7 @@

        Quick search

        except that the \(i\)-th element is replaced with \(A\).

      • \(s{}[{}[i : n] = {A^{n}}]\) denotes the same sequence as \(s\), except that the sub-sequence \(s{}[i : n]\) is replaced with \({A^{n}}\).

      • -
      • \({\href{../syntax/conventions.html#notation-concat}{\mathrm{concat}}}({s^\ast})\) denotes the flat sequence formed by concatenating all sequences \(s_i\) in \({s^\ast}\).

      • +
      • \({\mathrm{concat}}({s^\ast})\) denotes the flat sequence formed by concatenating all sequences \(s_i\) in \({s^\ast}\).

      Moreover, the following conventions are employed:

        @@ -151,18 +151,18 @@

        Quick search

      • \(r_1 \oplus r_2\) denotes the composition of two records with the same fields of sequences by appending each sequence point-wise:

        \[\begin{split}\begin{array}[t]{@{}l@{}} \{ \begin{array}[t]{@{}l@{}} -\mathsf{field\_}~1~{A_1^\ast},\; \mathsf{field\_}~2~{A_2^\ast},\; \dots~ \}\end{array}~\oplus \\ \{ \begin{array}[t]{@{}l@{}} -\mathsf{field\_}~1~{B_1^\ast},\; \mathsf{field\_}~2~{B_2^\ast},\; \dots~ \}\end{array}~= \\ \{ \begin{array}[t]{@{}l@{}} -\mathsf{field\_}~1~{A_1^\ast}~{B_1^\ast},\; \mathsf{field\_}~2~{A_2^\ast}~{B_2^\ast},\; \dots~ \}\end{array} \end{array}\end{split}\]
        +\mathsf{field}~1~{A_1^\ast},\; \mathsf{field}~2~{A_2^\ast},\; \dots~ \}\end{array}~\oplus \\ \{ \begin{array}[t]{@{}l@{}} +\mathsf{field}~1~{B_1^\ast},\; \mathsf{field}~2~{B_2^\ast},\; \dots~ \}\end{array}~= \\ \{ \begin{array}[t]{@{}l@{}} +\mathsf{field}~1~{A_1^\ast}~{B_1^\ast},\; \mathsf{field}~2~{A_2^\ast}~{B_2^\ast},\; \dots~ \}\end{array} \end{array}\end{split}\]

    20. \({ \bigoplus }\;{r^\ast}\) denotes the composition of a sequence of records, respectively; if the sequence is empty, then all fields of the resulting record are empty.

    21. -

      The update notation for sequences and records generalizes recursively to nested components accessed by “paths” \(\begin{array}{@{}l@{}r@{~}r@{~}l@{}l@{}} & {\mathit{pth}} &::=& {({}[i]~\mid~{.}\mathsf{field})^{+}} \\ \end{array}\):

      +

      The update notation for sequences and records generalizes recursively to nested components accessed by “paths” \(\begin{array}{@{}l@{}r@{~}r@{~}l@{}l@{}} & {\mathit{pth}} &::=& {({}[ i ]~\mid~{.}\mathsf{field})^{+}} \\ \end{array}\):

        -
      • \(s{}[{}[i]~{\mathit{pth}} = A]\) is short for \(s{}[{}[i] = (s{}[i]{}[{\mathit{pth}} = A])]\),

      • -
      • \(r{}[\mathsf{field}~{\mathit{pth}} = A]\) is short for \(r{}[\mathsf{field} = (s{.}\mathsf{field}{}[{\mathit{pth}} = A])]\),

      • +
      • \(s{}[\mathsf{i\_pth} = A]\) is short for \(s{}[{}[i] = (s{}[i]{}[\mathsf{pth} = A])]\),

      • +
      • \(r{}[\mathsf{field\_pth} = A]\) is short for \(r{}[\mathsf{field} = (s{.}\mathsf{field}{}[\mathsf{pth} = A])]\),

      -

      where \(r{}[{.}\mathsf{field} = A]\) is shortened to \(r{}[\mathsf{field} = A]\).

      +

      where \(r{}[\mathsf{dot\_field\_pth} = A]\) is shortened to \(r{}[\mathsf{field} = A]\).

      Lists

      diff --git a/core/syntax/index.html b/core/syntax/index.html index 05638e80d4..a61f548b18 100644 --- a/core/syntax/index.html +++ b/core/syntax/index.html @@ -6,7 +6,7 @@ - Structure — WebAssembly 3.0 (Draft 2024-05-03) + Structure — WebAssembly 3.0 (Draft 2024-05-17) diff --git a/core/syntax/instructions.html b/core/syntax/instructions.html index cf9e83d0f3..c729417b0c 100644 --- a/core/syntax/instructions.html +++ b/core/syntax/instructions.html @@ -6,7 +6,7 @@ - Instructions — WebAssembly 3.0 (Draft 2024-05-03) + Instructions — WebAssembly 3.0 (Draft 2024-05-17) @@ -100,10 +100,10 @@

      Quick search

      Instructions in this group can operate on operands of any value type.

      \[\begin{split}\begin{array}{@{}l@{}rrl@{}l@{}} -& {\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}} &::=& \mathsf{nop} \\ &&|& -\mathsf{unreachable} \\ &&|& -\mathsf{drop} \\ &&|& -\mathsf{select}~{({{\href{../syntax/types.html#syntax-valtype}{\mathit{valtype}}}^\ast})^?} \\ &&|& +& {\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}} &::=& \href{../syntax/instructions.html#syntax-instr-control}{\mathsf{nop}} \\ &&|& +\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{unreachable}} \\ &&|& +\href{../syntax/instructions.html#syntax-instr-parametric}{\mathsf{drop}} \\ &&|& +\href{../syntax/instructions.html#syntax-instr-parametric}{\mathsf{select}}~{({{\href{../syntax/types.html#syntax-valtype}{\mathit{valtype}}}^\ast})^?} \\ &&|& \dots \\ \end{array}\end{split}\]

      The \(\mathsf{nop}\) instruction does nothing.

      @@ -122,28 +122,28 @@

      Quick search

      These operations closely match respective operations available in hardware.

      \[\begin{split}\begin{array}{@{}l@{}rrl@{}l@{}} -& {\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}} &::=& \mathsf{u} ~|~ \mathsf{s} \\[0.8ex] +& {\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}} &::=& \href{../syntax/instructions.html#syntax-sx}{\mathsf{U}} ~|~ \href{../syntax/instructions.html#syntax-sx}{\mathsf{S}} \\[0.8ex] & {{\href{../exec/runtime.html#syntax-num}{\mathit{num}}}}_{{\mathsf{i}}{n}} &::=& {{\href{../syntax/values.html#syntax-int}{\mathit{i}N}}}{n} \\ & {{\href{../exec/runtime.html#syntax-num}{\mathit{num}}}}_{{\mathsf{f}}{n}} &::=& {{\href{../syntax/values.html#syntax-float}{\mathit{f}N}}}{n} \\[0.8ex] & {\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}} &::=& \dots \\ &&|& -{\href{../syntax/types.html#syntax-numtype}{\mathit{numtype}}}{.}\mathsf{const}~{{\href{../exec/runtime.html#syntax-num}{\mathit{num}}}}_{{\href{../syntax/types.html#syntax-numtype}{\mathit{numtype}}}} \\ &&|& -{\href{../syntax/types.html#syntax-numtype}{\mathit{numtype}}} . {{\href{../syntax/instructions.html#syntax-unop}{\mathit{unop}}}}_{{\href{../syntax/types.html#syntax-numtype}{\mathit{numtype}}}} \\ &&|& -{\href{../syntax/types.html#syntax-numtype}{\mathit{numtype}}} . {{\href{../syntax/instructions.html#syntax-binop}{\mathit{binop}}}}_{{\href{../syntax/types.html#syntax-numtype}{\mathit{numtype}}}} \\ &&|& -{\href{../syntax/types.html#syntax-numtype}{\mathit{numtype}}} . {{\href{../syntax/instructions.html#syntax-testop}{\mathit{testop}}}}_{{\href{../syntax/types.html#syntax-numtype}{\mathit{numtype}}}} \\ &&|& -{\href{../syntax/types.html#syntax-numtype}{\mathit{numtype}}} . {{\href{../syntax/instructions.html#syntax-relop}{\mathit{relop}}}}_{{\href{../syntax/types.html#syntax-numtype}{\mathit{numtype}}}} \\ &&|& -{\href{../syntax/types.html#syntax-numtype}{\mathit{numtype}}}_1 . {{{\href{../syntax/instructions.html#syntax-cvtop}{\mathit{cvtop}}}}{\mathsf{\_}}}{{\href{../syntax/types.html#syntax-numtype}{\mathit{numtype}}}_2} +{\href{../syntax/types.html#syntax-numtype}{\mathit{numtype}}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~{{\href{../exec/runtime.html#syntax-num}{\mathit{num}}}}_{{\href{../syntax/types.html#syntax-numtype}{\mathit{numtype}}}} \\ &&|& +{\href{../syntax/types.html#syntax-numtype}{\mathit{numtype}}} {.} {{\href{../syntax/instructions.html#syntax-unop}{\mathit{unop}}}}_{{\href{../syntax/types.html#syntax-numtype}{\mathit{numtype}}}} \\ &&|& +{\href{../syntax/types.html#syntax-numtype}{\mathit{numtype}}} {.} {{\href{../syntax/instructions.html#syntax-binop}{\mathit{binop}}}}_{{\href{../syntax/types.html#syntax-numtype}{\mathit{numtype}}}} \\ &&|& +{\href{../syntax/types.html#syntax-numtype}{\mathit{numtype}}} {.} {{\href{../syntax/instructions.html#syntax-testop}{\mathit{testop}}}}_{{\href{../syntax/types.html#syntax-numtype}{\mathit{numtype}}}} \\ &&|& +{\href{../syntax/types.html#syntax-numtype}{\mathit{numtype}}} {.} {{\href{../syntax/instructions.html#syntax-relop}{\mathit{relop}}}}_{{\href{../syntax/types.html#syntax-numtype}{\mathit{numtype}}}} \\ &&|& +{\href{../syntax/types.html#syntax-numtype}{\mathit{numtype}}}_1 {.} {{\href{../syntax/instructions.html#syntax-cvtop}{\mathit{cvtop}}}}{\mathsf{\_}}{{\href{../syntax/types.html#syntax-numtype}{\mathit{numtype}}}_2} &\qquad \mbox{if}~{\href{../syntax/types.html#syntax-numtype}{\mathit{numtype}}}_1 \neq {\href{../syntax/types.html#syntax-numtype}{\mathit{numtype}}}_2 \\ &&|& -{{{{\href{../syntax/types.html#syntax-numtype}{\mathit{numtype}}}{.}\mathsf{extend}}{n}}{\mathsf{\_}}}{\mathsf{s}} \\ &&|& +{{\href{../syntax/types.html#syntax-numtype}{\mathit{numtype}}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{extend}}}{n}{\mathsf{\_}}{\href{../syntax/instructions.html#syntax-sx}{\mathsf{S}}} \\ &&|& \dots \\[0.8ex] -& {{\href{../syntax/instructions.html#syntax-unop}{\mathit{unop}}}}_{{\mathsf{i}}{n}} &::=& \mathsf{clz} ~|~ \mathsf{ctz} ~|~ \mathsf{popcnt} ~|~ \mathsf{extend}~n \\ -& {{\href{../syntax/instructions.html#syntax-unop}{\mathit{unop}}}}_{{\mathsf{f}}{n}} &::=& \mathsf{abs} ~|~ \mathsf{neg} ~|~ \mathsf{sqrt} ~|~ \mathsf{ceil} ~|~ \mathsf{floor} ~|~ \mathsf{trunc} ~|~ \mathsf{nearest} \\[0.8ex] -& {{\href{../syntax/instructions.html#syntax-binop}{\mathit{binop}}}}_{{\mathsf{i}}{n}} &::=& \mathsf{add} ~|~ \mathsf{sub} ~|~ \mathsf{mul} ~|~ {\mathsf{div\_}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}} ~|~ {\mathsf{rem\_}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}} \\ &&|& -\mathsf{and} ~|~ \mathsf{or} ~|~ \mathsf{xor} ~|~ \mathsf{shl} ~|~ {\mathsf{shr\_}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}} ~|~ \mathsf{rotl} ~|~ \mathsf{rotr} \\ -& {{\href{../syntax/instructions.html#syntax-binop}{\mathit{binop}}}}_{{\mathsf{f}}{n}} &::=& \mathsf{add} ~|~ \mathsf{sub} ~|~ \mathsf{mul} ~|~ \mathsf{div} ~|~ \mathsf{min} ~|~ \mathsf{max} ~|~ \mathsf{copysign} \\[0.8ex] -& {{\href{../syntax/instructions.html#syntax-testop}{\mathit{testop}}}}_{{\mathsf{i}}{n}} &::=& \mathsf{eqz} \\[0.8ex] -& {{\href{../syntax/instructions.html#syntax-relop}{\mathit{relop}}}}_{{\mathsf{i}}{n}} &::=& \mathsf{eq} ~|~ \mathsf{ne} ~|~ {\mathsf{lt\_}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}} ~|~ {\mathsf{gt\_}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}} ~|~ {\mathsf{le\_}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}} ~|~ {\mathsf{ge\_}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}} \\ -& {{\href{../syntax/instructions.html#syntax-relop}{\mathit{relop}}}}_{{\mathsf{f}}{n}} &::=& \mathsf{eq} ~|~ \mathsf{ne} ~|~ \mathsf{lt} ~|~ \mathsf{gt} ~|~ \mathsf{le} ~|~ \mathsf{ge} \\[0.8ex] -& {\href{../syntax/instructions.html#syntax-cvtop}{\mathit{cvtop}}} &::=& \mathsf{convert} ~|~ \mathsf{convert\_sat} ~|~ \mathsf{reinterpret} \\ +& {{\href{../syntax/instructions.html#syntax-unop}{\mathit{unop}}}}_{{\mathsf{i}}{n}} &::=& \href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{clz}} ~|~ \href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{ctz}} ~|~ \href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{popcnt}} ~|~ \href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{extend}}~n \\ +& {{\href{../syntax/instructions.html#syntax-unop}{\mathit{unop}}}}_{{\mathsf{f}}{n}} &::=& \href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{abs}} ~|~ \href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{neg}} ~|~ \href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{sqrt}} ~|~ \href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{ceil}} ~|~ \href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{floor}} ~|~ \href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{trunc}} ~|~ \href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{nearest}} \\[0.8ex] +& {{\href{../syntax/instructions.html#syntax-binop}{\mathit{binop}}}}_{{\mathsf{i}}{n}} &::=& \href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{add}} ~|~ \href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{sub}} ~|~ \href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{mul}} ~|~ {\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{div}}}{\mathsf{\_}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}} ~|~ {\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{rem}}}{\mathsf{\_}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}} \\ &&|& +\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{and}} ~|~ \href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{or}} ~|~ \href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{xor}} ~|~ \href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{shl}} ~|~ {\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{shr}}}{\mathsf{\_}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}} ~|~ \href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{rotl}} ~|~ \href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{rotr}} \\ +& {{\href{../syntax/instructions.html#syntax-binop}{\mathit{binop}}}}_{{\mathsf{f}}{n}} &::=& \href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{add}} ~|~ \href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{sub}} ~|~ \href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{mul}} ~|~ \href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{div}} ~|~ \href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{min}} ~|~ \href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{max}} ~|~ \href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{copysign}} \\[0.8ex] +& {{\href{../syntax/instructions.html#syntax-testop}{\mathit{testop}}}}_{{\mathsf{i}}{n}} &::=& \href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{eqz}} \\[0.8ex] +& {{\href{../syntax/instructions.html#syntax-relop}{\mathit{relop}}}}_{{\mathsf{i}}{n}} &::=& \href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{eq}} ~|~ \href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{ne}} ~|~ {\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{lt}}}{\mathsf{\_}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}} ~|~ {\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{gt}}}{\mathsf{\_}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}} ~|~ {\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{le}}}{\mathsf{\_}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}} ~|~ {\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{ge}}}{\mathsf{\_}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}} \\ +& {{\href{../syntax/instructions.html#syntax-relop}{\mathit{relop}}}}_{{\mathsf{f}}{n}} &::=& \href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{eq}} ~|~ \href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{ne}} ~|~ \href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{lt}} ~|~ \href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{gt}} ~|~ \href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{le}} ~|~ \href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{ge}} \\[0.8ex] +& {\href{../syntax/instructions.html#syntax-cvtop}{\mathit{cvtop}}} &::=& \href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{convert}} ~|~ \href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{convert\_sat}} ~|~ \href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{reinterpret}} \\ \end{array}\end{split}\]

      Numeric instructions are divided by number type. For each type, several subcategories can be distinguished:

      @@ -167,83 +167,83 @@

      Quick search

      \[\begin{split}\begin{array}{@{}l@{}rrl@{}l@{}} & {\href{../syntax/instructions.html#syntax-lanetype}{\mathit{lanetype}}} &::=& {\href{../syntax/types.html#syntax-numtype}{\mathit{numtype}}} ~|~ {\href{../syntax/types.html#syntax-packtype}{\mathit{packtype}}} \\ & {\href{../syntax/instructions.html#syntax-dim}{\mathit{dim}}} &::=& \mathsf{{\scriptstyle1}} ~|~ \mathsf{{\scriptstyle2}} ~|~ \mathsf{{\scriptstyle4}} ~|~ \mathsf{{\scriptstyle8}} ~|~ \mathsf{{\scriptstyle16}} \\ -& {\href{../syntax/instructions.html#syntax-shape}{\mathit{shape}}} &::=& {{{\href{../syntax/instructions.html#syntax-lanetype}{\mathit{lanetype}}}}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{{\href{../syntax/instructions.html#syntax-dim}{\mathit{dim}}}} \\ -& {\href{../syntax/instructions.html#syntax-shape}{\mathit{ishape}}} &::=& {{{\mathsf{i}}{n}}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{{\href{../syntax/instructions.html#syntax-dim}{\mathit{dim}}}} \\[0.8ex] -& {\href{../syntax/instructions.html#syntax-half}{\mathit{half}}} &::=& \mathsf{low} ~|~ \mathsf{high} \\[0.8ex] +& {\href{../syntax/instructions.html#syntax-shape}{\mathit{shape}}} &::=& {{\href{../syntax/instructions.html#syntax-lanetype}{\mathit{lanetype}}}}{\mathsf{x}}{{\href{../syntax/instructions.html#syntax-dim}{\mathit{dim}}}} \\ +& {\href{../syntax/instructions.html#syntax-shape}{\mathit{ishape}}} &::=& {{\mathsf{i}}{n}}{\mathsf{x}}{{\href{../syntax/instructions.html#syntax-dim}{\mathit{dim}}}} \\[0.8ex] +& {\href{../syntax/instructions.html#syntax-half}{\mathit{half}}} &::=& \href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{low}} ~|~ \href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{high}} \\[0.8ex] & {\href{../syntax/instructions.html#syntax-laneidx}{\mathit{laneidx}}} &::=& {\href{../syntax/values.html#syntax-int}{\mathit{u8}}} \\[0.8ex] & {\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}} &::=& \dots \\ &&|& -{\href{../syntax/types.html#syntax-vectype}{\mathit{vectype}}}{.}\mathsf{const}~{{\href{../exec/runtime.html#syntax-vec}{\mathit{vec}}}}_{{\href{../syntax/types.html#syntax-vectype}{\mathit{vectype}}}} \\ &&|& -{\href{../syntax/types.html#syntax-vectype}{\mathit{vectype}}} . {\href{../syntax/instructions.html#syntax-vvunop}{\mathit{vvunop}}} \\ &&|& -{\href{../syntax/types.html#syntax-vectype}{\mathit{vectype}}} . {\href{../syntax/instructions.html#syntax-vvbinop}{\mathit{vvbinop}}} \\ &&|& -{\href{../syntax/types.html#syntax-vectype}{\mathit{vectype}}} . {\href{../syntax/instructions.html#syntax-vvternop}{\mathit{vvternop}}} \\ &&|& -{\href{../syntax/types.html#syntax-vectype}{\mathit{vectype}}} . {\href{../syntax/instructions.html#syntax-vvtestop}{\mathit{vvtestop}}} \\ &&|& -{\href{../syntax/instructions.html#syntax-shape}{\mathit{shape}}} . {{\href{../syntax/instructions.html#syntax-vunop}{\mathit{vunop}}}}_{{\href{../syntax/instructions.html#syntax-shape}{\mathit{shape}}}} \\ &&|& -{\href{../syntax/instructions.html#syntax-shape}{\mathit{shape}}} . {{\href{../syntax/instructions.html#syntax-vbinop}{\mathit{vbinop}}}}_{{\href{../syntax/instructions.html#syntax-shape}{\mathit{shape}}}} \\ &&|& -{\href{../syntax/instructions.html#syntax-shape}{\mathit{shape}}} . {{\href{../syntax/instructions.html#syntax-vrelop}{\mathit{vtestop}}}}_{{\href{../syntax/instructions.html#syntax-shape}{\mathit{shape}}}} \\ &&|& -{\href{../syntax/instructions.html#syntax-shape}{\mathit{shape}}} . {{\href{../syntax/instructions.html#syntax-vrelop}{\mathit{vrelop}}}}_{{\href{../syntax/instructions.html#syntax-shape}{\mathit{shape}}}} \\ &&|& -{\href{../syntax/instructions.html#syntax-shape}{\mathit{ishape}}} . {{\href{../syntax/instructions.html#syntax-vshiftop}{\mathit{vshiftop}}}}_{{\href{../syntax/instructions.html#syntax-shape}{\mathit{ishape}}}} \\ &&|& -{\href{../syntax/instructions.html#syntax-shape}{\mathit{ishape}}}{.}\mathsf{bitmask} \\ &&|& -{\href{../syntax/instructions.html#syntax-shape}{\mathit{ishape}}}{.}\mathsf{swizzle} - &\qquad \mbox{if}~{\href{../syntax/instructions.html#syntax-shape}{\mathit{ishape}}} = {{\mathsf{i{\scriptstyle8}}}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{\mathsf{{\scriptstyle16}}} \\ &&|& -{\href{../syntax/instructions.html#syntax-shape}{\mathit{ishape}}}{.}\mathsf{shuffle}~{{\href{../syntax/instructions.html#syntax-laneidx}{\mathit{laneidx}}}^\ast} - &\qquad \mbox{if}~{\href{../syntax/instructions.html#syntax-shape}{\mathit{ishape}}} = {{\mathsf{i{\scriptstyle8}}}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{\mathsf{{\scriptstyle16}}} \land {|{{\href{../syntax/instructions.html#syntax-laneidx}{\mathit{laneidx}}}^\ast}|} = 16 \\ &&|& -{\href{../syntax/instructions.html#syntax-shape}{\mathit{shape}}}{.}\mathsf{splat} \\ &&|& -{{\href{../syntax/instructions.html#syntax-shape}{\mathit{shape}}}{.}\mathsf{extract\_lane\_}}{{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}^?}}~{\href{../syntax/instructions.html#syntax-laneidx}{\mathit{laneidx}}} +{\href{../syntax/types.html#syntax-vectype}{\mathit{vectype}}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~{{\href{../exec/runtime.html#syntax-vec}{\mathit{vec}}}}_{{\href{../syntax/types.html#syntax-vectype}{\mathit{vectype}}}} \\ &&|& +{\href{../syntax/types.html#syntax-vectype}{\mathit{vectype}}} {.} {\href{../syntax/instructions.html#syntax-vvunop}{\mathit{vvunop}}} \\ &&|& +{\href{../syntax/types.html#syntax-vectype}{\mathit{vectype}}} {.} {\href{../syntax/instructions.html#syntax-vvbinop}{\mathit{vvbinop}}} \\ &&|& +{\href{../syntax/types.html#syntax-vectype}{\mathit{vectype}}} {.} {\href{../syntax/instructions.html#syntax-vvternop}{\mathit{vvternop}}} \\ &&|& +{\href{../syntax/types.html#syntax-vectype}{\mathit{vectype}}} {.} {\href{../syntax/instructions.html#syntax-vvtestop}{\mathit{vvtestop}}} \\ &&|& +{\href{../syntax/instructions.html#syntax-shape}{\mathit{shape}}} {.} {{\href{../syntax/instructions.html#syntax-vunop}{\mathit{vunop}}}}_{{\href{../syntax/instructions.html#syntax-shape}{\mathit{shape}}}} \\ &&|& +{\href{../syntax/instructions.html#syntax-shape}{\mathit{shape}}} {.} {{\href{../syntax/instructions.html#syntax-vbinop}{\mathit{vbinop}}}}_{{\href{../syntax/instructions.html#syntax-shape}{\mathit{shape}}}} \\ &&|& +{\href{../syntax/instructions.html#syntax-shape}{\mathit{shape}}} {.} {{\href{../syntax/instructions.html#syntax-vrelop}{\mathit{vtestop}}}}_{{\href{../syntax/instructions.html#syntax-shape}{\mathit{shape}}}} \\ &&|& +{\href{../syntax/instructions.html#syntax-shape}{\mathit{shape}}} {.} {{\href{../syntax/instructions.html#syntax-vrelop}{\mathit{vrelop}}}}_{{\href{../syntax/instructions.html#syntax-shape}{\mathit{shape}}}} \\ &&|& +{\href{../syntax/instructions.html#syntax-shape}{\mathit{ishape}}} {.} {{\href{../syntax/instructions.html#syntax-vshiftop}{\mathit{vshiftop}}}}_{{\href{../syntax/instructions.html#syntax-shape}{\mathit{ishape}}}} \\ &&|& +{\href{../syntax/instructions.html#syntax-shape}{\mathit{ishape}}}{.}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{bitmask}} \\ &&|& +{\href{../syntax/instructions.html#syntax-shape}{\mathit{ishape}}}{.}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{swizzle}} + &\qquad \mbox{if}~{\href{../syntax/instructions.html#syntax-shape}{\mathit{ishape}}} = {\href{../syntax/types.html#syntax-storagetype}{\mathsf{i8}}}{\mathsf{x}}{\mathsf{{\scriptstyle16}}} \\ &&|& +{\href{../syntax/instructions.html#syntax-shape}{\mathit{ishape}}}{.}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{shuffle}}~{{\href{../syntax/instructions.html#syntax-laneidx}{\mathit{laneidx}}}^\ast} + &\qquad \mbox{if}~{\href{../syntax/instructions.html#syntax-shape}{\mathit{ishape}}} = {\href{../syntax/types.html#syntax-storagetype}{\mathsf{i8}}}{\mathsf{x}}{\mathsf{{\scriptstyle16}}} \land {|{{\href{../syntax/instructions.html#syntax-laneidx}{\mathit{laneidx}}}^\ast}|} = 16 \\ &&|& +{\href{../syntax/instructions.html#syntax-shape}{\mathit{shape}}}{.}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{splat}} \\ &&|& +{{\href{../syntax/instructions.html#syntax-shape}{\mathit{shape}}}{.}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extract\_lane}}}{\mathsf{\_}}{{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}^?}}~{\href{../syntax/instructions.html#syntax-laneidx}{\mathit{laneidx}}} &\qquad \mbox{if}~{\href{../syntax/instructions.html#aux-lanetype}{\mathrm{lanetype}}}({\href{../syntax/instructions.html#syntax-shape}{\mathit{shape}}}) = {\href{../syntax/types.html#syntax-numtype}{\mathit{numtype}}} \Leftrightarrow {{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}^?} = \epsilon \\ &&|& -{\href{../syntax/instructions.html#syntax-shape}{\mathit{shape}}}{.}\mathsf{replace\_lane}~{\href{../syntax/instructions.html#syntax-laneidx}{\mathit{laneidx}}} \\ &&|& -{\href{../syntax/instructions.html#syntax-shape}{\mathit{ishape}}}_1 . {{{{{{\href{../syntax/instructions.html#syntax-vextunop}{\mathit{vextunop}}}}_{{\href{../syntax/instructions.html#syntax-shape}{\mathit{ishape}}}_1}}{\mathsf{\_}}}{{\href{../syntax/instructions.html#syntax-shape}{\mathit{ishape}}}_2}}{\mathsf{\_}}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}} +{\href{../syntax/instructions.html#syntax-shape}{\mathit{shape}}}{.}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{replace\_lane}}~{\href{../syntax/instructions.html#syntax-laneidx}{\mathit{laneidx}}} \\ &&|& +{\href{../syntax/instructions.html#syntax-shape}{\mathit{ishape}}}_1 {.} {{{\href{../syntax/instructions.html#syntax-vextunop}{\mathit{vextunop}}}}_{{\href{../syntax/instructions.html#syntax-shape}{\mathit{ishape}}}_1}}{\mathsf{\_}}{{\href{../syntax/instructions.html#syntax-shape}{\mathit{ishape}}}_2}{\mathsf{\_}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}} &\qquad \mbox{if}~{|{\href{../syntax/instructions.html#aux-lanetype}{\mathrm{lanetype}}}({\href{../syntax/instructions.html#syntax-shape}{\mathit{ishape}}}_1)|} = 2 \cdot {|{\href{../syntax/instructions.html#aux-lanetype}{\mathrm{lanetype}}}({\href{../syntax/instructions.html#syntax-shape}{\mathit{ishape}}}_2)|} \\ &&|& -{\href{../syntax/instructions.html#syntax-shape}{\mathit{ishape}}}_1 . {{{{{{\href{../syntax/instructions.html#syntax-vextbinop}{\mathit{vextbinop}}}}_{{\href{../syntax/instructions.html#syntax-shape}{\mathit{ishape}}}_1}}{\mathsf{\_}}}{{\href{../syntax/instructions.html#syntax-shape}{\mathit{ishape}}}_2}}{\mathsf{\_}}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}} +{\href{../syntax/instructions.html#syntax-shape}{\mathit{ishape}}}_1 {.} {{{\href{../syntax/instructions.html#syntax-vextbinop}{\mathit{vextbinop}}}}_{{\href{../syntax/instructions.html#syntax-shape}{\mathit{ishape}}}_1}}{\mathsf{\_}}{{\href{../syntax/instructions.html#syntax-shape}{\mathit{ishape}}}_2}{\mathsf{\_}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}} &\qquad \mbox{if}~{|{\href{../syntax/instructions.html#aux-lanetype}{\mathrm{lanetype}}}({\href{../syntax/instructions.html#syntax-shape}{\mathit{ishape}}}_1)|} = 2 \cdot {|{\href{../syntax/instructions.html#aux-lanetype}{\mathrm{lanetype}}}({\href{../syntax/instructions.html#syntax-shape}{\mathit{ishape}}}_2)|} \\ &&|& -{{{{{\href{../syntax/instructions.html#syntax-shape}{\mathit{ishape}}}_1{.}\mathsf{narrow}}{\mathsf{\_}}}{{\href{../syntax/instructions.html#syntax-shape}{\mathit{ishape}}}_2}}{\mathsf{\_}}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}} +{{\href{../syntax/instructions.html#syntax-shape}{\mathit{ishape}}}_1{.}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{narrow}}}{\mathsf{\_}}{{\href{../syntax/instructions.html#syntax-shape}{\mathit{ishape}}}_2}{\mathsf{\_}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}} &\qquad \mbox{if}~{|{\href{../syntax/instructions.html#aux-lanetype}{\mathrm{lanetype}}}({\href{../syntax/instructions.html#syntax-shape}{\mathit{ishape}}}_2)|} = 2 \cdot {|{\href{../syntax/instructions.html#aux-lanetype}{\mathrm{lanetype}}}({\href{../syntax/instructions.html#syntax-shape}{\mathit{ishape}}}_1)|} \leq 32 \\ &&|& -{\href{../syntax/instructions.html#syntax-shape}{\mathit{shape}}}_1 . {{{{\href{../syntax/instructions.html#syntax-vcvtop}{\mathit{vcvtop}}}}_{{\href{../syntax/instructions.html#syntax-shape}{\mathit{shape}}}_2}({\href{../syntax/instructions.html#syntax-shape}{\mathit{shape}}}_1)}{\mathsf{\_}}}{{\href{../syntax/instructions.html#syntax-shape}{\mathit{shape}}}_2} +{\href{../syntax/instructions.html#syntax-shape}{\mathit{shape}}}_1 {.} {{{\href{../syntax/instructions.html#syntax-vcvtop}{\mathit{vcvtop}}}}_{{\href{../syntax/instructions.html#syntax-shape}{\mathit{shape}}}_2}({\href{../syntax/instructions.html#syntax-shape}{\mathit{shape}}}_1)}{\mathsf{\_}}{{\href{../syntax/instructions.html#syntax-shape}{\mathit{shape}}}_2} &\qquad \mbox{if}~{\href{../syntax/instructions.html#aux-lanetype}{\mathrm{lanetype}}}({\href{../syntax/instructions.html#syntax-shape}{\mathit{shape}}}_1) \neq {\href{../syntax/instructions.html#aux-lanetype}{\mathrm{lanetype}}}({\href{../syntax/instructions.html#syntax-shape}{\mathit{shape}}}_2) \\ &&|& \dots \\ \end{array}\end{split}\]

      \[\begin{split}\begin{array}{@{}l@{}rrl@{}l@{}} -& {\href{../syntax/instructions.html#syntax-vvunop}{\mathit{vvunop}}} &::=& \mathsf{not} \\[0.8ex] -& {\href{../syntax/instructions.html#syntax-vvbinop}{\mathit{vvbinop}}} &::=& \mathsf{and} ~|~ \mathsf{andnot} ~|~ \mathsf{or} ~|~ \mathsf{xor} \\[0.8ex] -& {\href{../syntax/instructions.html#syntax-vvternop}{\mathit{vvternop}}} &::=& \mathsf{bitselect} \\[0.8ex] -& {\href{../syntax/instructions.html#syntax-vvtestop}{\mathit{vvtestop}}} &::=& \mathsf{any\_true} \\[0.8ex] -& {{\href{../syntax/instructions.html#syntax-vunop}{\mathit{vunop}}}}_{{{{\mathsf{i}}{n}}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N}} &::=& \mathsf{abs} ~|~ \mathsf{neg} \\ &&|& -\mathsf{popcnt} - &\qquad \mbox{if}~{\mathsf{i}}{n} = \mathsf{i{\scriptstyle8}} \\ -& {{\href{../syntax/instructions.html#syntax-vunop}{\mathit{vunop}}}}_{{{{\mathsf{f}}{n}}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N}} &::=& \mathsf{abs} ~|~ \mathsf{neg} ~|~ \mathsf{sqrt} ~|~ \mathsf{ceil} ~|~ \mathsf{floor} ~|~ \mathsf{trunc} ~|~ \mathsf{nearest} \\[0.8ex] -& {{\href{../syntax/instructions.html#syntax-vbinop}{\mathit{vbinop}}}}_{{{{\mathsf{i}}{n}}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N}} &::=& \mathsf{add} \\ &&|& -\mathsf{sub} \\ &&|& -{{\mathsf{add\_sat}}{\mathsf{\_}}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}} +& {\href{../syntax/instructions.html#syntax-vvunop}{\mathit{vvunop}}} &::=& \href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{not}} \\[0.8ex] +& {\href{../syntax/instructions.html#syntax-vvbinop}{\mathit{vvbinop}}} &::=& \href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{and}} ~|~ \href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{andnot}} ~|~ \href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{or}} ~|~ \href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{xor}} \\[0.8ex] +& {\href{../syntax/instructions.html#syntax-vvternop}{\mathit{vvternop}}} &::=& \href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{bitselect}} \\[0.8ex] +& {\href{../syntax/instructions.html#syntax-vvtestop}{\mathit{vvtestop}}} &::=& \href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{any\_true}} \\[0.8ex] +& {{\href{../syntax/instructions.html#syntax-vunop}{\mathit{vunop}}}}_{{{\mathsf{i}}{n}}{\mathsf{x}}{N}} &::=& \href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{abs}} ~|~ \href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{neg}} \\ &&|& +\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{popcnt}} + &\qquad \mbox{if}~{\mathsf{i}}{n} = \href{../syntax/types.html#syntax-storagetype}{\mathsf{i8}} \\ +& {{\href{../syntax/instructions.html#syntax-vunop}{\mathit{vunop}}}}_{{{\mathsf{f}}{n}}{\mathsf{x}}{N}} &::=& \href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{abs}} ~|~ \href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{neg}} ~|~ \href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{sqrt}} ~|~ \href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{ceil}} ~|~ \href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{floor}} ~|~ \href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{trunc}} ~|~ \href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{nearest}} \\[0.8ex] +& {{\href{../syntax/instructions.html#syntax-vbinop}{\mathit{vbinop}}}}_{{{\mathsf{i}}{n}}{\mathsf{x}}{N}} &::=& \href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{add}} \\ &&|& +\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{sub}} \\ &&|& +{\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{add\_sat}}}{\mathsf{\_}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}} &\qquad \mbox{if}~n \leq \mathsf{{\scriptstyle16}} \\ &&|& -{{\mathsf{sub\_sat}}{\mathsf{\_}}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}} +{\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{sub\_sat}}}{\mathsf{\_}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}} &\qquad \mbox{if}~n \leq \mathsf{{\scriptstyle16}} \\ &&|& -\mathsf{mul} +\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{mul}} &\qquad \mbox{if}~n \geq \mathsf{{\scriptstyle16}} \\ &&|& -\mathsf{avgr\_u} +\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{avgr\_u}} &\qquad \mbox{if}~n \leq \mathsf{{\scriptstyle16}} \\ &&|& -\mathsf{q{\scriptstyle15}mulr\_sat\_s} +\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{q15mulr\_sat\_s}} &\qquad \mbox{if}~n = \mathsf{{\scriptstyle16}} \\ &&|& -{{\mathsf{min}}{\mathsf{\_}}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}} +{\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{min}}}{\mathsf{\_}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}} &\qquad \mbox{if}~n \leq \mathsf{{\scriptstyle32}} \\ &&|& -{{\mathsf{max}}{\mathsf{\_}}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}} +{\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{max}}}{\mathsf{\_}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}} &\qquad \mbox{if}~n \leq \mathsf{{\scriptstyle32}} \\ -& {{\href{../syntax/instructions.html#syntax-vbinop}{\mathit{vbinop}}}}_{{{{\mathsf{f}}{n}}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N}} &::=& \mathsf{add} ~|~ \mathsf{sub} ~|~ \mathsf{mul} ~|~ \mathsf{div} ~|~ \mathsf{min} ~|~ \mathsf{max} ~|~ \mathsf{pmin} ~|~ \mathsf{pmax} \\[0.8ex] -& {{\href{../syntax/instructions.html#syntax-vrelop}{\mathit{vtestop}}}}_{{{{\mathsf{i}}{n}}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N}} &::=& \mathsf{all\_true} \\[0.8ex] -& {{\href{../syntax/instructions.html#syntax-vrelop}{\mathit{vrelop}}}}_{{{{\mathsf{i}}{n}}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N}} &::=& \mathsf{eq} ~|~ \mathsf{ne} \\ &&|& -{\mathsf{lt\_}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}} - &\qquad \mbox{if}~n \neq \mathsf{{\scriptstyle64}} \lor {\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}} = \mathsf{s} \\ &&|& -{\mathsf{gt\_}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}} - &\qquad \mbox{if}~n \neq \mathsf{{\scriptstyle64}} \lor {\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}} = \mathsf{s} \\ &&|& -{\mathsf{le\_}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}} - &\qquad \mbox{if}~n \neq \mathsf{{\scriptstyle64}} \lor {\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}} = \mathsf{s} \\ &&|& -{\mathsf{ge\_}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}} - &\qquad \mbox{if}~n \neq \mathsf{{\scriptstyle64}} \lor {\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}} = \mathsf{s} \\ -& {{\href{../syntax/instructions.html#syntax-vrelop}{\mathit{vrelop}}}}_{{{{\mathsf{f}}{n}}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N}} &::=& \mathsf{eq} ~|~ \mathsf{ne} ~|~ \mathsf{lt} ~|~ \mathsf{gt} ~|~ \mathsf{le} ~|~ \mathsf{ge} \\[0.8ex] -& {{\href{../syntax/instructions.html#syntax-vshiftop}{\mathit{vshiftop}}}}_{{{{\mathsf{i}}{n}}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N}} &::=& \mathsf{shl} ~|~ {\mathsf{shr\_}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}} \\[0.8ex] -& {{\href{../syntax/instructions.html#syntax-vextunop}{\mathit{vextunop}}}}_{{{{\mathsf{i}}{n}}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N}} &::=& \mathsf{extadd\_pairwise} +& {{\href{../syntax/instructions.html#syntax-vbinop}{\mathit{vbinop}}}}_{{{\mathsf{f}}{n}}{\mathsf{x}}{N}} &::=& \href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{add}} ~|~ \href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{sub}} ~|~ \href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{mul}} ~|~ \href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{div}} ~|~ \href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{min}} ~|~ \href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{max}} ~|~ \href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{pmin}} ~|~ \href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{pmax}} \\[0.8ex] +& {{\href{../syntax/instructions.html#syntax-vrelop}{\mathit{vtestop}}}}_{{{\mathsf{i}}{n}}{\mathsf{x}}{N}} &::=& \href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{all\_true}} \\[0.8ex] +& {{\href{../syntax/instructions.html#syntax-vrelop}{\mathit{vrelop}}}}_{{{\mathsf{i}}{n}}{\mathsf{x}}{N}} &::=& \href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{eq}} ~|~ \href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{ne}} \\ &&|& +{\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{lt}}}{\mathsf{\_}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}} + &\qquad \mbox{if}~n \neq \mathsf{{\scriptstyle64}} \lor {\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}} = \href{../syntax/instructions.html#syntax-sx}{\mathsf{S}} \\ &&|& +{\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{gt}}}{\mathsf{\_}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}} + &\qquad \mbox{if}~n \neq \mathsf{{\scriptstyle64}} \lor {\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}} = \href{../syntax/instructions.html#syntax-sx}{\mathsf{S}} \\ &&|& +{\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{le}}}{\mathsf{\_}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}} + &\qquad \mbox{if}~n \neq \mathsf{{\scriptstyle64}} \lor {\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}} = \href{../syntax/instructions.html#syntax-sx}{\mathsf{S}} \\ &&|& +{\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{ge}}}{\mathsf{\_}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}} + &\qquad \mbox{if}~n \neq \mathsf{{\scriptstyle64}} \lor {\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}} = \href{../syntax/instructions.html#syntax-sx}{\mathsf{S}} \\ +& {{\href{../syntax/instructions.html#syntax-vrelop}{\mathit{vrelop}}}}_{{{\mathsf{f}}{n}}{\mathsf{x}}{N}} &::=& \href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{eq}} ~|~ \href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{ne}} ~|~ \href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{lt}} ~|~ \href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{gt}} ~|~ \href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{le}} ~|~ \href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{ge}} \\[0.8ex] +& {{\href{../syntax/instructions.html#syntax-vshiftop}{\mathit{vshiftop}}}}_{{{\mathsf{i}}{n}}{\mathsf{x}}{N}} &::=& \href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{shl}} ~|~ {\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{shr}}}{\mathsf{\_}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}} \\[0.8ex] +& {{\href{../syntax/instructions.html#syntax-vextunop}{\mathit{vextunop}}}}_{{{\mathsf{i}}{n}}{\mathsf{x}}{N}} &::=& \href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extadd\_pairwise}} &\qquad \mbox{if}~\mathsf{{\scriptstyle16}} \leq n \leq \mathsf{{\scriptstyle32}} \\[0.8ex] -& {{\href{../syntax/instructions.html#syntax-vextbinop}{\mathit{vextbinop}}}}_{{{{\mathsf{i}}{n}}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N}} &::=& {{\mathsf{extmul}}{\mathsf{\_}}}{{\href{../syntax/instructions.html#syntax-half}{\mathit{half}}}} \\ &&|& -\mathsf{dot} +& {{\href{../syntax/instructions.html#syntax-vextbinop}{\mathit{vextbinop}}}}_{{{\mathsf{i}}{n}}{\mathsf{x}}{N}} &::=& {\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extmul}}}{\mathsf{\_}}{{\href{../syntax/instructions.html#syntax-half}{\mathit{half}}}} \\ &&|& +\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{dot}} &\qquad \mbox{if}~n = \mathsf{{\scriptstyle32}} \\ \end{array}\end{split}\]
      @@ -276,7 +276,7 @@

      Quick search

      \href{../syntax/instructions.html#syntax-shape}{\mathit{fshape}}\mathsf{.}\href{../syntax/instructions.html#syntax-vrelop}{\mathit{vfrelop}} \\&&|& \href{../syntax/instructions.html#syntax-shape}{\mathit{ishape}}\mathsf{.}\href{../syntax/instructions.html#syntax-vunop}{\mathit{viunop}} ~|~ \mathsf{i8x16.}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{popcnt}} \\&&|& - \mathsf{i16x8.}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{q15mulr\_sat}}\mathsf{\_s} \\ &&|& + \mathsf{i16x8.}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{q15mulr\_sat\_s}} \\ &&|& \mathsf{i32x4.}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{dot}}\mathsf{\_i16x8\_s} \\ &&|& \href{../syntax/instructions.html#syntax-shape}{\mathit{fshape}}\mathsf{.}\href{../syntax/instructions.html#syntax-vunop}{\mathit{vfunop}} \\&&|& \href{../syntax/instructions.html#syntax-shape}{\mathit{ishape}}\mathsf{.}\href{../syntax/instructions.html#syntax-vtestop}{\mathit{vitestop}} \\ &&|& @@ -296,16 +296,16 @@

      Quick search

      \mathsf{i16x8.}\mathsf{mul} ~|~ \mathsf{i32x4.}\mathsf{mul} ~|~ \mathsf{i64x2.}\mathsf{mul} \\&&|& - \mathsf{i8x16.}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{avgr}}\mathsf{\_u} ~|~ - \mathsf{i16x8.}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{avgr}}\mathsf{\_u} \\&&|& + \mathsf{i8x16.}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{avgr\_u}} ~|~ + \mathsf{i16x8.}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{avgr\_u}} \\&&|& \mathsf{i16x8.}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extmul}}\mathsf{\_}\href{../syntax/instructions.html#syntax-half}{\mathit{half}}\mathsf{\_i8x16\_}\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}} ~|~ \mathsf{i32x4.}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extmul}}\mathsf{\_}\href{../syntax/instructions.html#syntax-half}{\mathit{half}}\mathsf{\_i16x8\_}\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}} ~|~ \mathsf{i64x2.}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extmul}}\mathsf{\_}\href{../syntax/instructions.html#syntax-half}{\mathit{half}}\mathsf{\_i32x4\_}\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}} \\ &&|& \mathsf{i16x8.}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extadd\_pairwise}}\mathsf{\_i8x16\_}\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}} ~|~ \mathsf{i32x4.}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extadd\_pairwise}}\mathsf{\_i16x8\_}\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}} \\ &&|& \href{../syntax/instructions.html#syntax-shape}{\mathit{fshape}}\mathsf{.}\href{../syntax/instructions.html#syntax-vbinop}{\mathit{vfbinop}} \\&&|& - \mathsf{i32x4.}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{trunc}}\mathsf{\_sat\_f32x4\_}\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}} ~|~ - \mathsf{i32x4.}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{trunc}}\mathsf{\_sat\_f64x2\_}\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}\mathsf{\_zero} \\&&|& + \mathsf{i32x4.}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{trunc\_sat}}\mathsf{\_f32x4\_}\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}} ~|~ + \mathsf{i32x4.}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{trunc\_sat}}\mathsf{\_f64x2\_}\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}\mathsf{\_zero} \\&&|& \mathsf{f32x4.}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{convert}}\mathsf{\_i32x4\_}\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}} ~|~ \mathsf{f32x4.}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{demote}}\mathsf{\_f64x2\_zero} \\&&|& \mathsf{f64x2.}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{convert}}\mathsf{\_low\_i32x4\_}\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}} ~|~ @@ -377,11 +377,11 @@

      Quick search

      Vector instructions have a naming convention involving a prefix that determines how their operands will be interpreted. This prefix describes the shape of the operand, -written \({{{\mathit{lt}}}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N}\), and consisting of a lane type \({\mathit{lt}}\), a possibly packed numeric type, and the number of lanes \(N\) of that type. +written \({{\mathit{lt}}}{\mathsf{x}}{N}\), and consisting of a lane type \({\mathit{lt}}\), a possibly packed numeric type, and the number of lanes \(N\) of that type. Operations are performed point-wise on the values of each lane.

      Note

      -

      For example, the shape \({{\mathsf{i{\scriptstyle32}}}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{4}\) interprets the operand +

      For example, the shape \({\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}}{\mathsf{x}}{4}\) interprets the operand as four \({\mathit{i{\scriptstyle32}}}\) values, packed into an \({\mathit{i{\scriptstyle128}}}\). The bit width of the numeric type \(t\) times \(N\) always is \(128\).

      @@ -414,13 +414,13 @@

      Quick search

      \[\begin{split}\begin{array}{@{}l@{}rrl@{}l@{}} & {\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}} &::=& \dots \\ &&|& -\mathsf{ref.func}~{\href{../syntax/modules.html#syntax-funcidx}{\mathit{funcidx}}} \\ &&|& -\mathsf{ref.null}~{\href{../syntax/types.html#syntax-heaptype}{\mathit{heaptype}}} \\ &&|& -\mathsf{ref.is\_null} \\ &&|& -\mathsf{ref.as\_non\_null} \\ &&|& -\mathsf{ref.eq} \\ &&|& -\mathsf{ref.test}~{\href{../syntax/types.html#syntax-reftype}{\mathit{reftype}}} \\ &&|& -\mathsf{ref.cast}~{\href{../syntax/types.html#syntax-reftype}{\mathit{reftype}}} \\ &&|& +\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.func}}~{\href{../syntax/modules.html#syntax-funcidx}{\mathit{funcidx}}} \\ &&|& +\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.null}}~{\href{../syntax/types.html#syntax-heaptype}{\mathit{heaptype}}} \\ &&|& +\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.is\_null}} \\ &&|& +\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.as\_non\_null}} \\ &&|& +\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.eq}} \\ &&|& +\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.test}}~{\href{../syntax/types.html#syntax-reftype}{\mathit{reftype}}} \\ &&|& +\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.cast}}~{\href{../syntax/types.html#syntax-reftype}{\mathit{reftype}}} \\ &&|& \dots \\ \end{array}\end{split}\]
      @@ -455,26 +455,26 @@

      Quick search

      \[\begin{split}\begin{array}{@{}l@{}rrl@{}l@{}} & {\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}} &::=& \dots \\ &&|& -\mathsf{struct.new}~{\href{../syntax/modules.html#syntax-typeidx}{\mathit{typeidx}}} \\ &&|& -\mathsf{struct.new\_default}~{\href{../syntax/modules.html#syntax-typeidx}{\mathit{typeidx}}} \\ &&|& -{{\mathsf{struct.get}}{\mathsf{\_}}}{{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}^?}}~{\href{../syntax/modules.html#syntax-typeidx}{\mathit{typeidx}}}~{\href{../syntax/values.html#syntax-int}{\mathit{u32}}} \\ &&|& -\mathsf{struct.set}~{\href{../syntax/modules.html#syntax-typeidx}{\mathit{typeidx}}}~{\href{../syntax/values.html#syntax-int}{\mathit{u32}}} \\ &&|& -\mathsf{array.new}~{\href{../syntax/modules.html#syntax-typeidx}{\mathit{typeidx}}} \\ &&|& -\mathsf{array.new\_default}~{\href{../syntax/modules.html#syntax-typeidx}{\mathit{typeidx}}} \\ &&|& -\mathsf{array.new\_fixed}~{\href{../syntax/modules.html#syntax-typeidx}{\mathit{typeidx}}}~{\href{../syntax/values.html#syntax-int}{\mathit{u32}}} \\ &&|& -\mathsf{array.new\_data}~{\href{../syntax/modules.html#syntax-typeidx}{\mathit{typeidx}}}~{\href{../syntax/modules.html#syntax-dataidx}{\mathit{dataidx}}} \\ &&|& -\mathsf{array.new\_elem}~{\href{../syntax/modules.html#syntax-typeidx}{\mathit{typeidx}}}~{\href{../syntax/modules.html#syntax-elemidx}{\mathit{elemidx}}} \\ &&|& -{{\mathsf{array.get}}{\mathsf{\_}}}{{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}^?}}~{\href{../syntax/modules.html#syntax-typeidx}{\mathit{typeidx}}} \\ &&|& -\mathsf{array.set}~{\href{../syntax/modules.html#syntax-typeidx}{\mathit{typeidx}}} \\ &&|& -\mathsf{array.len} \\ &&|& -\mathsf{array.fill}~{\href{../syntax/modules.html#syntax-typeidx}{\mathit{typeidx}}} \\ &&|& -\mathsf{array.copy}~{\href{../syntax/modules.html#syntax-typeidx}{\mathit{typeidx}}}~{\href{../syntax/modules.html#syntax-typeidx}{\mathit{typeidx}}} \\ &&|& -\mathsf{array.init\_data}~{\href{../syntax/modules.html#syntax-typeidx}{\mathit{typeidx}}}~{\href{../syntax/modules.html#syntax-dataidx}{\mathit{dataidx}}} \\ &&|& -\mathsf{array.init\_elem}~{\href{../syntax/modules.html#syntax-typeidx}{\mathit{typeidx}}}~{\href{../syntax/modules.html#syntax-elemidx}{\mathit{elemidx}}} \\ &&|& -\mathsf{ref.i{\scriptstyle31}} \\ &&|& -{{\mathsf{i{\scriptstyle31}.get}}{\mathsf{\_}}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}} \\ &&|& -\mathsf{extern.convert\_any} \\ &&|& -\mathsf{any.convert\_extern} \\ &&|& +\href{../syntax/instructions.html#syntax-instr-struct}{\mathsf{struct.new}}~{\href{../syntax/modules.html#syntax-typeidx}{\mathit{typeidx}}} \\ &&|& +\href{../syntax/instructions.html#syntax-instr-struct}{\mathsf{struct.new\_default}}~{\href{../syntax/modules.html#syntax-typeidx}{\mathit{typeidx}}} \\ &&|& +{\href{../syntax/instructions.html#syntax-instr-struct}{\mathsf{struct.get}}}{\mathsf{\_}}{{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}^?}}~{\href{../syntax/modules.html#syntax-typeidx}{\mathit{typeidx}}}~{\href{../syntax/values.html#syntax-int}{\mathit{u32}}} \\ &&|& +\href{../syntax/instructions.html#syntax-instr-struct}{\mathsf{struct.set}}~{\href{../syntax/modules.html#syntax-typeidx}{\mathit{typeidx}}}~{\href{../syntax/values.html#syntax-int}{\mathit{u32}}} \\ &&|& +\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.new}}~{\href{../syntax/modules.html#syntax-typeidx}{\mathit{typeidx}}} \\ &&|& +\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.new\_default}}~{\href{../syntax/modules.html#syntax-typeidx}{\mathit{typeidx}}} \\ &&|& +\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.new\_fixed}}~{\href{../syntax/modules.html#syntax-typeidx}{\mathit{typeidx}}}~{\href{../syntax/values.html#syntax-int}{\mathit{u32}}} \\ &&|& +\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.new\_data}}~{\href{../syntax/modules.html#syntax-typeidx}{\mathit{typeidx}}}~{\href{../syntax/modules.html#syntax-dataidx}{\mathit{dataidx}}} \\ &&|& +\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.new\_elem}}~{\href{../syntax/modules.html#syntax-typeidx}{\mathit{typeidx}}}~{\href{../syntax/modules.html#syntax-elemidx}{\mathit{elemidx}}} \\ &&|& +{\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.get}}}{\mathsf{\_}}{{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}^?}}~{\href{../syntax/modules.html#syntax-typeidx}{\mathit{typeidx}}} \\ &&|& +\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.set}}~{\href{../syntax/modules.html#syntax-typeidx}{\mathit{typeidx}}} \\ &&|& +\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.len}} \\ &&|& +\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.fill}}~{\href{../syntax/modules.html#syntax-typeidx}{\mathit{typeidx}}} \\ &&|& +\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.copy}}~{\href{../syntax/modules.html#syntax-typeidx}{\mathit{typeidx}}}~{\href{../syntax/modules.html#syntax-typeidx}{\mathit{typeidx}}} \\ &&|& +\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.init\_data}}~{\href{../syntax/modules.html#syntax-typeidx}{\mathit{typeidx}}}~{\href{../syntax/modules.html#syntax-dataidx}{\mathit{dataidx}}} \\ &&|& +\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.init\_elem}}~{\href{../syntax/modules.html#syntax-typeidx}{\mathit{typeidx}}}~{\href{../syntax/modules.html#syntax-elemidx}{\mathit{elemidx}}} \\ &&|& +\href{../syntax/instructions.html#syntax-instr-i31}{\mathsf{ref.i31}} \\ &&|& +{\href{../syntax/instructions.html#syntax-instr-i31}{\mathsf{i31.get}}}{\mathsf{\_}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}} \\ &&|& +\href{../syntax/instructions.html#syntax-instr-extern}{\mathsf{extern.convert\_any}} \\ &&|& +\href{../syntax/instructions.html#syntax-instr-extern}{\mathsf{any.convert\_extern}} \\ &&|& \dots \\ \end{array}\end{split}\]

      The instructions \(\mathsf{struct.new}\) and \(\mathsf{struct.new\_default}\) allocate a new structure, initializing them either with operands or with default values. @@ -483,12 +483,12 @@

      Quick search

      Similarly, arrays can be allocated either with an explicit initialization operand or a default value. Furthermore, \(\mathsf{array.new\_fixed}\) allocates an array with statically fixed size, and \(\mathsf{array.new\_data}\) and \(\mathsf{array.new\_elem}\) allocate an array and initialize it from a data or element segment, respectively. -The instructions \(\mathsf{array.get}\), \({{\mathsf{array.get}}{\mathsf{\_}}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}}\), and \(\mathsf{array.set}\) access individual slots, +The instructions \(\mathsf{array.get}\), \(\mathsf{array.get}~{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}\), and \(\mathsf{array.set}\) access individual slots, again allowing for different sign extension modes in the case of a packed storage type; \(\mathsf{array.len}\) produces the length of an array; \(\mathsf{array.fill}\) fills a specified slice of an array with a given value and \(\mathsf{array.copy}\), \(\mathsf{array.init\_data}\), and \(\mathsf{array.init\_elem}\) copy elements to a specified slice of an array from a given array, data segment, or element segment, respectively.

      -

      The instructions \(\mathsf{ref.i{\scriptstyle31}}\) and \({{\mathsf{i{\scriptstyle31}.get}}{\mathsf{\_}}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}}\) convert between type \(\mathsf{i{\scriptstyle32}}\) and an unboxed scalar.

      -

      The instructions \(\mathsf{any.convert\_extern}\) and \(\mathsf{extern.convert\_any}\) allow lossless conversion between references represented as type \((\mathsf{ref}~\mathsf{null}~\mathsf{extern})\) and as \(:math:\).

      +

      The instructions \(\mathsf{ref.i{\scriptstyle31}}\) and \(\mathsf{i{\scriptstyle31}.get}~{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}\) convert between type \(\mathsf{i{\scriptstyle32}}\) and an unboxed scalar.

      +

      The instructions \(\mathsf{any.convert\_extern}\) and \(\mathsf{extern.convert\_any}\) allow lossless conversion between references represented as type \((\href{../syntax/types.html#syntax-reftype}{\mathsf{ref}}~\mathsf{null}~\href{../syntax/types.html#syntax-heaptype}{\mathsf{extern}})\) and as \(:math:\).

    Variable Instructions

    @@ -496,11 +496,11 @@

    Quick search

    \[\begin{split}\begin{array}{@{}l@{}rrl@{}l@{}} & {\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}} &::=& \dots \\ &&|& -\mathsf{local.get}~{\href{../syntax/modules.html#syntax-localidx}{\mathit{localidx}}} \\ &&|& -\mathsf{local.set}~{\href{../syntax/modules.html#syntax-localidx}{\mathit{localidx}}} \\ &&|& -\mathsf{local.tee}~{\href{../syntax/modules.html#syntax-localidx}{\mathit{localidx}}} \\ &&|& -\mathsf{global.get}~{\href{../syntax/modules.html#syntax-globalidx}{\mathit{globalidx}}} \\ &&|& -\mathsf{global.set}~{\href{../syntax/modules.html#syntax-globalidx}{\mathit{globalidx}}} \\ &&|& +\href{../syntax/instructions.html#syntax-instr-variable}{\mathsf{local.get}}~{\href{../syntax/modules.html#syntax-localidx}{\mathit{localidx}}} \\ &&|& +\href{../syntax/instructions.html#syntax-instr-variable}{\mathsf{local.set}}~{\href{../syntax/modules.html#syntax-localidx}{\mathit{localidx}}} \\ &&|& +\href{../syntax/instructions.html#syntax-instr-variable}{\mathsf{local.tee}}~{\href{../syntax/modules.html#syntax-localidx}{\mathit{localidx}}} \\ &&|& +\href{../syntax/instructions.html#syntax-instr-variable}{\mathsf{global.get}}~{\href{../syntax/modules.html#syntax-globalidx}{\mathit{globalidx}}} \\ &&|& +\href{../syntax/instructions.html#syntax-instr-variable}{\mathsf{global.set}}~{\href{../syntax/modules.html#syntax-globalidx}{\mathit{globalidx}}} \\ &&|& \dots \\ \end{array}\end{split}\]

    These instructions get or set the values of respective variables. @@ -512,14 +512,14 @@

    Quick search

    \[\begin{split}\begin{array}{@{}l@{}rrl@{}l@{}} & {\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}} &::=& \dots \\ &&|& -\mathsf{table.get}~{\href{../syntax/modules.html#syntax-tableidx}{\mathit{tableidx}}} \\ &&|& -\mathsf{table.set}~{\href{../syntax/modules.html#syntax-tableidx}{\mathit{tableidx}}} \\ &&|& -\mathsf{table.size}~{\href{../syntax/modules.html#syntax-tableidx}{\mathit{tableidx}}} \\ &&|& -\mathsf{table.grow}~{\href{../syntax/modules.html#syntax-tableidx}{\mathit{tableidx}}} \\ &&|& -\mathsf{table.fill}~{\href{../syntax/modules.html#syntax-tableidx}{\mathit{tableidx}}} \\ &&|& -\mathsf{table.copy}~{\href{../syntax/modules.html#syntax-tableidx}{\mathit{tableidx}}}~{\href{../syntax/modules.html#syntax-tableidx}{\mathit{tableidx}}} \\ &&|& -\mathsf{table.init}~{\href{../syntax/modules.html#syntax-tableidx}{\mathit{tableidx}}}~{\href{../syntax/modules.html#syntax-elemidx}{\mathit{elemidx}}} \\ &&|& -\mathsf{elem.drop}~{\href{../syntax/modules.html#syntax-elemidx}{\mathit{elemidx}}} \\ &&|& +\href{../syntax/instructions.html#syntax-instr-table}{\mathsf{table.get}}~{\href{../syntax/modules.html#syntax-tableidx}{\mathit{tableidx}}} \\ &&|& +\href{../syntax/instructions.html#syntax-instr-table}{\mathsf{table.set}}~{\href{../syntax/modules.html#syntax-tableidx}{\mathit{tableidx}}} \\ &&|& +\href{../syntax/instructions.html#syntax-instr-table}{\mathsf{table.size}}~{\href{../syntax/modules.html#syntax-tableidx}{\mathit{tableidx}}} \\ &&|& +\href{../syntax/instructions.html#syntax-instr-table}{\mathsf{table.grow}}~{\href{../syntax/modules.html#syntax-tableidx}{\mathit{tableidx}}} \\ &&|& +\href{../syntax/instructions.html#syntax-instr-table}{\mathsf{table.fill}}~{\href{../syntax/modules.html#syntax-tableidx}{\mathit{tableidx}}} \\ &&|& +\href{../syntax/instructions.html#syntax-instr-table}{\mathsf{table.copy}}~{\href{../syntax/modules.html#syntax-tableidx}{\mathit{tableidx}}}~{\href{../syntax/modules.html#syntax-tableidx}{\mathit{tableidx}}} \\ &&|& +\href{../syntax/instructions.html#syntax-instr-table}{\mathsf{table.init}}~{\href{../syntax/modules.html#syntax-tableidx}{\mathit{tableidx}}}~{\href{../syntax/modules.html#syntax-elemidx}{\mathit{elemidx}}} \\ &&|& +\href{../syntax/instructions.html#syntax-instr-table}{\mathsf{elem.drop}}~{\href{../syntax/modules.html#syntax-elemidx}{\mathit{elemidx}}} \\ &&|& \dots \\ \end{array}\end{split}\]

    The \(\mathsf{table.get}\) and \(\mathsf{table.set}\) instructions load or store an element in a table, respectively.

    @@ -542,25 +542,25 @@

    Quick search

    \[\begin{split}\begin{array}{@{}l@{}rrl@{}l@{}} & {\href{../syntax/instructions.html#syntax-memarg}{\mathit{memarg}}} &::=& \{ \begin{array}[t]{@{}l@{}l@{}} \mathsf{align}~{\href{../syntax/values.html#syntax-int}{\mathit{u32}}},\; \mathsf{offset}~{\href{../syntax/values.html#syntax-int}{\mathit{u32}}} \}\end{array} \\[0.8ex] -& {\href{../syntax/instructions.html#syntax-vloadop}{\mathit{vloadop}}} &::=& {{{{{\mathit{nat}}}{\mathsf{x}}}{\mathsf{x}}}{\mathsf{\_}}}{{\mathit{nat}}} \\ &&|& -{{{\mathit{nat}}}{\mathsf{\_}}}{\mathsf{splat}} \\ &&|& -{{{\mathit{nat}}}{\mathsf{\_}}}{\mathsf{zero}} \\[0.8ex] +& {\href{../syntax/instructions.html#syntax-vloadop}{\mathit{vloadop}}} &::=& {N}{\href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{x}}}{M}{\mathsf{\_}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}} \\ &&|& +{N}{\mathsf{\_}}{\href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{splat}}} \\ &&|& +{N}{\mathsf{\_}}{\href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{zero}}} \\[0.8ex] & {\href{../syntax/instructions.html#syntax-sz}{\mathit{sz}}} &::=& \mathsf{{\scriptstyle8}} ~|~ \mathsf{{\scriptstyle16}} ~|~ \mathsf{{\scriptstyle32}} ~|~ \mathsf{{\scriptstyle64}} \\[0.8ex] & {\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}} &::=& \dots \\ &&|& -{{\href{../syntax/types.html#syntax-numtype}{\mathit{numtype}}}{.}\mathsf{load}}{{({{{\href{../syntax/instructions.html#syntax-sz}{\mathit{sz}}}}{\mathsf{\_}}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}})^?}}~{\href{../syntax/modules.html#syntax-memidx}{\mathit{memidx}}}~{\href{../syntax/instructions.html#syntax-memarg}{\mathit{memarg}}} +{{\href{../syntax/types.html#syntax-numtype}{\mathit{numtype}}}{.}\href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{load}}}{{({{\href{../syntax/instructions.html#syntax-sz}{\mathit{sz}}}}{\mathsf{\_}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}})^?}}~{\href{../syntax/modules.html#syntax-memidx}{\mathit{memidx}}}~{\href{../syntax/instructions.html#syntax-memarg}{\mathit{memarg}}} &\qquad \mbox{if}~({\href{../syntax/types.html#syntax-numtype}{\mathit{numtype}}} = {\mathsf{i}}{n} \land {\href{../syntax/instructions.html#syntax-sz}{\mathit{sz}}} < {|{\mathsf{i}}{n}|})^? \\ &&|& -{{\href{../syntax/types.html#syntax-numtype}{\mathit{numtype}}}{.}\mathsf{store}}{{{\href{../syntax/instructions.html#syntax-sz}{\mathit{sz}}}^?}}~{\href{../syntax/modules.html#syntax-memidx}{\mathit{memidx}}}~{\href{../syntax/instructions.html#syntax-memarg}{\mathit{memarg}}} +{{\href{../syntax/types.html#syntax-numtype}{\mathit{numtype}}}{.}\href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{store}}}{{{\href{../syntax/instructions.html#syntax-sz}{\mathit{sz}}}^?}}~{\href{../syntax/modules.html#syntax-memidx}{\mathit{memidx}}}~{\href{../syntax/instructions.html#syntax-memarg}{\mathit{memarg}}} &\qquad \mbox{if}~({\href{../syntax/types.html#syntax-numtype}{\mathit{numtype}}} = {\mathsf{i}}{n} \land {\href{../syntax/instructions.html#syntax-sz}{\mathit{sz}}} < {|{\mathsf{i}}{n}|})^? \\ &&|& -{\mathsf{v{\scriptstyle128}.load}}{{{\href{../syntax/instructions.html#syntax-vloadop}{\mathit{vloadop}}}^?}}~{\href{../syntax/modules.html#syntax-memidx}{\mathit{memidx}}}~{\href{../syntax/instructions.html#syntax-memarg}{\mathit{memarg}}} \\ &&|& -{{{\mathsf{v{\scriptstyle128}.load}}{{\href{../syntax/instructions.html#syntax-sz}{\mathit{sz}}}}}{\mathsf{\_}}}{\mathsf{lane}}~{\href{../syntax/modules.html#syntax-memidx}{\mathit{memidx}}}~{\href{../syntax/instructions.html#syntax-memarg}{\mathit{memarg}}}~{\href{../syntax/instructions.html#syntax-laneidx}{\mathit{laneidx}}} \\ &&|& -\mathsf{v{\scriptstyle128}.store}~{\href{../syntax/modules.html#syntax-memidx}{\mathit{memidx}}}~{\href{../syntax/instructions.html#syntax-memarg}{\mathit{memarg}}} \\ &&|& -{{{\mathsf{v{\scriptstyle128}.store}}{{\href{../syntax/instructions.html#syntax-sz}{\mathit{sz}}}}}{\mathsf{\_}}}{\mathsf{lane}}~{\href{../syntax/modules.html#syntax-memidx}{\mathit{memidx}}}~{\href{../syntax/instructions.html#syntax-memarg}{\mathit{memarg}}}~{\href{../syntax/instructions.html#syntax-laneidx}{\mathit{laneidx}}} \\ &&|& -\mathsf{memory.size}~{\href{../syntax/modules.html#syntax-memidx}{\mathit{memidx}}} \\ &&|& -\mathsf{memory.grow}~{\href{../syntax/modules.html#syntax-memidx}{\mathit{memidx}}} \\ &&|& -\mathsf{memory.fill}~{\href{../syntax/modules.html#syntax-memidx}{\mathit{memidx}}} \\ &&|& -\mathsf{memory.copy}~{\href{../syntax/modules.html#syntax-memidx}{\mathit{memidx}}}~{\href{../syntax/modules.html#syntax-memidx}{\mathit{memidx}}} \\ &&|& -\mathsf{memory.init}~{\href{../syntax/modules.html#syntax-memidx}{\mathit{memidx}}}~{\href{../syntax/modules.html#syntax-dataidx}{\mathit{dataidx}}} \\ &&|& -\mathsf{data.drop}~{\href{../syntax/modules.html#syntax-dataidx}{\mathit{dataidx}}} \\ +{{\href{../syntax/types.html#syntax-vectype}{\mathit{vectype}}}{.}\href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{load}}}{{{\href{../syntax/instructions.html#syntax-vloadop}{\mathit{vloadop}}}^?}}~{\href{../syntax/modules.html#syntax-memidx}{\mathit{memidx}}}~{\href{../syntax/instructions.html#syntax-memarg}{\mathit{memarg}}} \\ &&|& +{{\href{../syntax/types.html#syntax-vectype}{\mathit{vectype}}}{.}\href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{load}}}{{\href{../syntax/instructions.html#syntax-sz}{\mathit{sz}}}}{\mathsf{\_}}{\href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{lane}}}~{\href{../syntax/modules.html#syntax-memidx}{\mathit{memidx}}}~{\href{../syntax/instructions.html#syntax-memarg}{\mathit{memarg}}}~{\href{../syntax/instructions.html#syntax-laneidx}{\mathit{laneidx}}} \\ &&|& +{\href{../syntax/types.html#syntax-vectype}{\mathit{vectype}}}{.}\href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{store}}~{\href{../syntax/modules.html#syntax-memidx}{\mathit{memidx}}}~{\href{../syntax/instructions.html#syntax-memarg}{\mathit{memarg}}} \\ &&|& +{{\href{../syntax/types.html#syntax-vectype}{\mathit{vectype}}}{.}\href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{store}}}{{\href{../syntax/instructions.html#syntax-sz}{\mathit{sz}}}}{\mathsf{\_}}{\href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{lane}}}~{\href{../syntax/modules.html#syntax-memidx}{\mathit{memidx}}}~{\href{../syntax/instructions.html#syntax-memarg}{\mathit{memarg}}}~{\href{../syntax/instructions.html#syntax-laneidx}{\mathit{laneidx}}} \\ &&|& +\href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{memory.size}}~{\href{../syntax/modules.html#syntax-memidx}{\mathit{memidx}}} \\ &&|& +\href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{memory.grow}}~{\href{../syntax/modules.html#syntax-memidx}{\mathit{memidx}}} \\ &&|& +\href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{memory.fill}}~{\href{../syntax/modules.html#syntax-memidx}{\mathit{memidx}}} \\ &&|& +\href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{memory.copy}}~{\href{../syntax/modules.html#syntax-memidx}{\mathit{memidx}}}~{\href{../syntax/modules.html#syntax-memidx}{\mathit{memidx}}} \\ &&|& +\href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{memory.init}}~{\href{../syntax/modules.html#syntax-memidx}{\mathit{memidx}}}~{\href{../syntax/modules.html#syntax-dataidx}{\mathit{dataidx}}} \\ &&|& +\href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{data.drop}}~{\href{../syntax/modules.html#syntax-dataidx}{\mathit{dataidx}}} \\ \end{array}\end{split}\]
    \[\begin{split}\begin{array}{llrl} @@ -625,28 +625,28 @@

    Quick search

    -

    Control Instructions

    +

    Control Instructions

    Instructions in this group affect the flow of control.

    \[\begin{split}\begin{array}{@{}l@{}rrl@{}l@{}} & {\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}} &::=& \dots \\ &&|& -\mathsf{block}~{\href{../syntax/instructions.html#syntax-blocktype}{\mathit{blocktype}}}~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast} \\ &&|& -\mathsf{loop}~{\href{../syntax/instructions.html#syntax-blocktype}{\mathit{blocktype}}}~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast} \\ &&|& -\mathsf{if}~{\href{../syntax/instructions.html#syntax-blocktype}{\mathit{blocktype}}}~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast}~\mathsf{else}~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast} \\ &&|& -\mathsf{br}~{\href{../syntax/modules.html#syntax-labelidx}{\mathit{labelidx}}} \\ &&|& -\mathsf{br\_if}~{\href{../syntax/modules.html#syntax-labelidx}{\mathit{labelidx}}} \\ &&|& -\mathsf{br\_table}~{{\href{../syntax/modules.html#syntax-labelidx}{\mathit{labelidx}}}^\ast}~{\href{../syntax/modules.html#syntax-labelidx}{\mathit{labelidx}}} \\ &&|& -\mathsf{br\_on\_null}~{\href{../syntax/modules.html#syntax-labelidx}{\mathit{labelidx}}} \\ &&|& -\mathsf{br\_on\_non\_null}~{\href{../syntax/modules.html#syntax-labelidx}{\mathit{labelidx}}} \\ &&|& -\mathsf{br\_on\_cast}~{\href{../syntax/modules.html#syntax-labelidx}{\mathit{labelidx}}}~{\href{../syntax/types.html#syntax-reftype}{\mathit{reftype}}}~{\href{../syntax/types.html#syntax-reftype}{\mathit{reftype}}} \\ &&|& -\mathsf{br\_on\_cast\_fail}~{\href{../syntax/modules.html#syntax-labelidx}{\mathit{labelidx}}}~{\href{../syntax/types.html#syntax-reftype}{\mathit{reftype}}}~{\href{../syntax/types.html#syntax-reftype}{\mathit{reftype}}} \\ &&|& -\mathsf{call}~{\href{../syntax/modules.html#syntax-funcidx}{\mathit{funcidx}}} \\ &&|& -\mathsf{call\_ref}~{\href{../syntax/types.html#syntax-typeuse}{\mathit{typeuse}}} \\ &&|& -\mathsf{call\_indirect}~{\href{../syntax/modules.html#syntax-tableidx}{\mathit{tableidx}}}~{\href{../syntax/types.html#syntax-typeuse}{\mathit{typeuse}}} \\ &&|& -\mathsf{return} \\ &&|& -\mathsf{return\_call}~{\href{../syntax/modules.html#syntax-funcidx}{\mathit{funcidx}}} \\ &&|& -\mathsf{return\_call\_ref}~{\href{../syntax/types.html#syntax-typeuse}{\mathit{typeuse}}} \\ &&|& -\mathsf{return\_call\_indirect}~{\href{../syntax/modules.html#syntax-tableidx}{\mathit{tableidx}}}~{\href{../syntax/types.html#syntax-typeuse}{\mathit{typeuse}}} \\ &&|& +\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{block}}~{\href{../syntax/instructions.html#syntax-blocktype}{\mathit{blocktype}}}~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast} \\ &&|& +\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{loop}}~{\href{../syntax/instructions.html#syntax-blocktype}{\mathit{blocktype}}}~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast} \\ &&|& +\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{if}}~{\href{../syntax/instructions.html#syntax-blocktype}{\mathit{blocktype}}}~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast}~\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{else}}~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast} \\ &&|& +\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{br}}~{\href{../syntax/modules.html#syntax-labelidx}{\mathit{labelidx}}} \\ &&|& +\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{br\_if}}~{\href{../syntax/modules.html#syntax-labelidx}{\mathit{labelidx}}} \\ &&|& +\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{br\_table}}~{{\href{../syntax/modules.html#syntax-labelidx}{\mathit{labelidx}}}^\ast}~{\href{../syntax/modules.html#syntax-labelidx}{\mathit{labelidx}}} \\ &&|& +\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{br\_on\_null}}~{\href{../syntax/modules.html#syntax-labelidx}{\mathit{labelidx}}} \\ &&|& +\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{br\_on\_non\_null}}~{\href{../syntax/modules.html#syntax-labelidx}{\mathit{labelidx}}} \\ &&|& +\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{br\_on\_cast}}~{\href{../syntax/modules.html#syntax-labelidx}{\mathit{labelidx}}}~{\href{../syntax/types.html#syntax-reftype}{\mathit{reftype}}}~{\href{../syntax/types.html#syntax-reftype}{\mathit{reftype}}} \\ &&|& +\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{br\_on\_cast\_fail}}~{\href{../syntax/modules.html#syntax-labelidx}{\mathit{labelidx}}}~{\href{../syntax/types.html#syntax-reftype}{\mathit{reftype}}}~{\href{../syntax/types.html#syntax-reftype}{\mathit{reftype}}} \\ &&|& +\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{call}}~{\href{../syntax/modules.html#syntax-funcidx}{\mathit{funcidx}}} \\ &&|& +\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{call\_ref}}~{\href{../syntax/types.html#syntax-typeuse}{\mathit{typeuse}}} \\ &&|& +\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{call\_indirect}}~{\href{../syntax/modules.html#syntax-tableidx}{\mathit{tableidx}}}~{\href{../syntax/types.html#syntax-typeuse}{\mathit{typeuse}}} \\ &&|& +\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{return}} \\ &&|& +\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{return\_call}}~{\href{../syntax/modules.html#syntax-funcidx}{\mathit{funcidx}}} \\ &&|& +\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{return\_call\_ref}}~{\href{../syntax/types.html#syntax-typeuse}{\mathit{typeuse}}} \\ &&|& +\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{return\_call\_indirect}}~{\href{../syntax/modules.html#syntax-tableidx}{\mathit{tableidx}}}~{\href{../syntax/types.html#syntax-typeuse}{\mathit{typeuse}}} \\ &&|& \dots \\ \end{array}\end{split}\]
    diff --git a/core/syntax/modules.html b/core/syntax/modules.html index 43c3a263c4..25c93381fe 100644 --- a/core/syntax/modules.html +++ b/core/syntax/modules.html @@ -6,7 +6,7 @@ - Modules — WebAssembly 3.0 (Draft 2024-05-03) + Modules — WebAssembly 3.0 (Draft 2024-05-17) diff --git a/core/syntax/types.html b/core/syntax/types.html index 3792d52e23..67066997f6 100644 --- a/core/syntax/types.html +++ b/core/syntax/types.html @@ -6,7 +6,7 @@ - Types — WebAssembly 3.0 (Draft 2024-05-03) + Types — WebAssembly 3.0 (Draft 2024-05-17) @@ -94,7 +94,7 @@

    Quick search

    Number types classify numeric values.

    \[\begin{split}\begin{array}{@{}l@{}rrl@{}l@{}} -& {\href{../syntax/types.html#syntax-numtype}{\mathit{numtype}}} &::=& \mathsf{i{\scriptstyle32}} ~|~ \mathsf{i{\scriptstyle64}} ~|~ \mathsf{f{\scriptstyle32}} ~|~ \mathsf{f{\scriptstyle64}} \\ +& {\href{../syntax/types.html#syntax-numtype}{\mathit{numtype}}} &::=& \href{../syntax/types.html#syntax-numtype}{\mathsf{i32}} ~|~ \href{../syntax/types.html#syntax-numtype}{\mathsf{i64}} ~|~ \href{../syntax/types.html#syntax-numtype}{\mathsf{f32}} ~|~ \href{../syntax/types.html#syntax-numtype}{\mathsf{f64}} \\ \end{array}\end{split}\]

    The types \(\mathsf{i{\scriptstyle32}}\) and \(\mathsf{i{\scriptstyle64}}\) classify 32 and 64 bit integers, respectively. Integers are not inherently signed or unsigned, their interpretation is determined by individual operations.

    @@ -115,7 +115,7 @@

    Quick search

    Vector types classify vectors of numeric values processed by vector instructions (also known as SIMD instructions, single instruction multiple data).

    \[\begin{split}\begin{array}{@{}l@{}rrl@{}l@{}} -& {\href{../syntax/types.html#syntax-vectype}{\mathit{vectype}}} &::=& \mathsf{v{\scriptstyle128}} \\ +& {\href{../syntax/types.html#syntax-vectype}{\mathit{vectype}}} &::=& \href{../syntax/types.html#syntax-vectype}{\mathsf{v128}} \\ \end{array}\end{split}\]

    The type \(\mathsf{v{\scriptstyle128}}\) corresponds to a 128 bit vector of packed integer or floating-point data. The packed data can be interpreted as signed or unsigned integers, single or double precision floating-point @@ -138,13 +138,13 @@

    Quick search

  • aggregate types classify dynamically allocated managed data, such as structures, arrays, or unboxed scalars,

  • external types classify external references possibly owned by the embedder.

  • -

    The values from the latter two hierarchies are interconvertible by ways of the \(\mathsf{extern.convert\_any}\) and \(\mathsf{any.convert\_extern}\) instructions. +

    The values from the latter two hierarchies are interconvertible by ways of the \(\href{../syntax/instructions.html#syntax-instr-extern}{\mathsf{extern.convert\_any}}\) and \(\href{../syntax/instructions.html#syntax-instr-extern}{\mathsf{any.convert\_extern}}\) instructions. That is, both type hierarchies are inhabited by an isomorphic set of values, but may have different, incompatible representations in practice.

    \[\begin{split}\begin{array}{@{}l@{}rrl@{}l@{}} -& {\href{../syntax/types.html#syntax-absheaptype}{\mathit{absheaptype}}} &::=& \mathsf{any} ~|~ \mathsf{eq} ~|~ \mathsf{i{\scriptstyle31}} ~|~ \mathsf{struct} ~|~ \mathsf{array} ~|~ \mathsf{none} \\ &&|& -\mathsf{func} ~|~ \mathsf{nofunc} \\ &&|& -\mathsf{extern} ~|~ \mathsf{noextern} \\ &&|& +& {\href{../syntax/types.html#syntax-absheaptype}{\mathit{absheaptype}}} &::=& \href{../syntax/types.html#syntax-heaptype}{\mathsf{any}} ~|~ \href{../syntax/types.html#syntax-heaptype}{\mathsf{eq}} ~|~ \href{../syntax/types.html#syntax-heaptype}{\mathsf{i31}} ~|~ \href{../syntax/types.html#syntax-heaptype}{\mathsf{struct}} ~|~ \href{../syntax/types.html#syntax-heaptype}{\mathsf{array}} ~|~ \href{../syntax/types.html#syntax-heaptype}{\mathsf{none}} \\ &&|& +\href{../syntax/types.html#syntax-heaptype}{\mathsf{func}} ~|~ \href{../syntax/types.html#syntax-heaptype}{\mathsf{nofunc}} \\ &&|& +\href{../syntax/types.html#syntax-heaptype}{\mathsf{extern}} ~|~ \href{../syntax/types.html#syntax-heaptype}{\mathsf{noextern}} \\ &&|& \dots \\ & {\href{../syntax/types.html#syntax-heaptype}{\mathit{heaptype}}} &::=& {\href{../syntax/types.html#syntax-absheaptype}{\mathit{absheaptype}}} ~|~ {\href{../syntax/types.html#syntax-typeuse}{\mathit{typeuse}}} \\ & {\href{../syntax/types.html#syntax-typeuse}{\mathit{typeuse}}} &::=& {\href{../syntax/modules.html#syntax-typeidx}{\mathit{typeidx}}} ~|~ \dots \\ @@ -183,7 +183,7 @@

    Quick search

    Reference types classify values that are first-class references to objects in the runtime store.

    \[\begin{split}\begin{array}{@{}l@{}rrl@{}l@{}} -& {\href{../syntax/types.html#syntax-reftype}{\mathit{reftype}}} &::=& \mathsf{ref}~{\mathsf{null}^?}~{\href{../syntax/types.html#syntax-heaptype}{\mathit{heaptype}}} \\ +& {\href{../syntax/types.html#syntax-reftype}{\mathit{reftype}}} &::=& \href{../syntax/types.html#syntax-reftype}{\mathsf{ref}}~{\mathsf{null}^?}~{\href{../syntax/types.html#syntax-heaptype}{\mathit{heaptype}}} \\ \end{array}\end{split}\]

    A reference type is characterised by the heap type it points to.

    In addition, a reference type of the form \(\mathsf{ref}~\mathsf{null}~{\mathit{ht}}\) is nullable, meaning that it can either be a proper reference to \({\mathit{ht}}\) or null. @@ -193,16 +193,16 @@

    Quick search

    Conventions

      -
    • The reference type \(\mathsf{anyref}\) is an abbreviation for \((\mathsf{ref}~\mathsf{null}~\mathsf{any})\).

    • -
    • The reference type \(\mathsf{eqref}\) is an abbreviation for \((\mathsf{ref}~\mathsf{null}~\mathsf{eq})\).

    • -
    • The reference type \(\mathsf{i{\scriptstyle31}ref}\) is an abbreviation for \((\mathsf{ref}~\mathsf{null}~\mathsf{i{\scriptstyle31}})\).

    • -
    • The reference type \(\mathsf{structref}\) is an abbreviation for \((\mathsf{ref}~\mathsf{null}~\mathsf{struct})\).

    • -
    • The reference type \(\mathsf{arrayref}\) is an abbreviation for \((\mathsf{ref}~\mathsf{null}~\mathsf{array})\).

    • -
    • The reference type \(\mathsf{funcref}\) is an abbreviation for \((\mathsf{ref}~\mathsf{null}~\mathsf{func})\).

    • -
    • The reference type \(\mathsf{externref}\) is an abbreviation for \((\mathsf{ref}~\mathsf{null}~\mathsf{extern})\).

    • -
    • The reference type \(\mathsf{nullref}\) is an abbreviation for \((\mathsf{ref}~\mathsf{null}~\mathsf{none})\).

    • -
    • The reference type \(\mathsf{nullfuncref}\) is an abbreviation for \((\mathsf{ref}~\mathsf{null}~\mathsf{nofunc})\).

    • -
    • The reference type \(\mathsf{nullexternref}\) is an abbreviation for \((\mathsf{ref}~\mathsf{null}~\mathsf{noextern})\).

    • +
    • The reference type \(\href{../syntax/types.html#syntax-reftype}{\mathsf{anyref}}\) is an abbreviation for \((\href{../syntax/types.html#syntax-reftype}{\mathsf{ref}}~\mathsf{null}~\href{../syntax/types.html#syntax-heaptype}{\mathsf{any}})\).

    • +
    • The reference type \(\href{../syntax/types.html#syntax-reftype}{\mathsf{eqref}}\) is an abbreviation for \((\href{../syntax/types.html#syntax-reftype}{\mathsf{ref}}~\mathsf{null}~\href{../syntax/types.html#syntax-heaptype}{\mathsf{eq}})\).

    • +
    • The reference type \(\href{../syntax/types.html#syntax-reftype}{\mathsf{i31ref}}\) is an abbreviation for \((\href{../syntax/types.html#syntax-reftype}{\mathsf{ref}}~\mathsf{null}~\href{../syntax/types.html#syntax-heaptype}{\mathsf{i31}})\).

    • +
    • The reference type \(\href{../syntax/types.html#syntax-reftype}{\mathsf{structref}}\) is an abbreviation for \((\href{../syntax/types.html#syntax-reftype}{\mathsf{ref}}~\mathsf{null}~\href{../syntax/types.html#syntax-heaptype}{\mathsf{struct}})\).

    • +
    • The reference type \(\href{../syntax/types.html#syntax-reftype}{\mathsf{arrayref}}\) is an abbreviation for \((\href{../syntax/types.html#syntax-reftype}{\mathsf{ref}}~\mathsf{null}~\href{../syntax/types.html#syntax-heaptype}{\mathsf{array}})\).

    • +
    • The reference type \(\href{../syntax/types.html#syntax-reftype}{\mathsf{funcref}}\) is an abbreviation for \((\href{../syntax/types.html#syntax-reftype}{\mathsf{ref}}~\mathsf{null}~\href{../syntax/types.html#syntax-heaptype}{\mathsf{func}})\).

    • +
    • The reference type \(\href{../syntax/types.html#syntax-reftype}{\mathsf{externref}}\) is an abbreviation for \((\href{../syntax/types.html#syntax-reftype}{\mathsf{ref}}~\mathsf{null}~\href{../syntax/types.html#syntax-heaptype}{\mathsf{extern}})\).

    • +
    • The reference type \(\href{../syntax/types.html#syntax-reftype}{\mathsf{nullref}}\) is an abbreviation for \((\href{../syntax/types.html#syntax-reftype}{\mathsf{ref}}~\mathsf{null}~\href{../syntax/types.html#syntax-heaptype}{\mathsf{none}})\).

    • +
    • The reference type \(\href{../syntax/types.html#syntax-reftype}{\mathsf{nullfuncref}}\) is an abbreviation for \((\href{../syntax/types.html#syntax-reftype}{\mathsf{ref}}~\mathsf{null}~\href{../syntax/types.html#syntax-heaptype}{\mathsf{nofunc}})\).

    • +
    • The reference type \(\href{../syntax/types.html#syntax-reftype}{\mathsf{nullexternref}}\) is an abbreviation for \((\href{../syntax/types.html#syntax-reftype}{\mathsf{ref}}~\mathsf{null}~\href{../syntax/types.html#syntax-heaptype}{\mathsf{noextern}})\).

    @@ -239,7 +239,7 @@

    Conventionsinstructions.

    \[\begin{split}\begin{array}{@{}l@{}rrl@{}l@{}} -& {\href{../syntax/types.html#syntax-functype}{\mathit{functype}}} &::=& {\href{../syntax/types.html#syntax-resulttype}{\mathit{resulttype}}} \rightarrow {\href{../syntax/types.html#syntax-resulttype}{\mathit{resulttype}}} \\ +& {\href{../syntax/types.html#syntax-functype}{\mathit{functype}}} &::=& {\href{../syntax/types.html#syntax-resulttype}{\mathit{resulttype}}} \href{../syntax/types.html#syntax-functype}{\rightarrow} {\href{../syntax/types.html#syntax-resulttype}{\mathit{resulttype}}} \\ \end{array}\end{split}\]

    @@ -254,7 +254,7 @@

    Conventions

    Conventions

    @@ -276,9 +276,9 @@

    Conventionsfunction types and aggregate types.

    \[\begin{split}\begin{array}{@{}l@{}rrl@{}l@{}} -& {\href{../syntax/types.html#syntax-comptype}{\mathit{comptype}}} &::=& \mathsf{struct}~{\href{../syntax/types.html#syntax-structtype}{\mathit{structtype}}} \\ &&|& -\mathsf{array}~{\href{../syntax/types.html#syntax-arraytype}{\mathit{arraytype}}} \\ &&|& -\mathsf{func}~{\href{../syntax/types.html#syntax-functype}{\mathit{functype}}} \\ +& {\href{../syntax/types.html#syntax-comptype}{\mathit{comptype}}} &::=& \href{../syntax/types.html#syntax-comptype}{\mathsf{struct}}~{\href{../syntax/types.html#syntax-structtype}{\mathit{structtype}}} \\ &&|& +\href{../syntax/types.html#syntax-comptype}{\mathsf{array}}~{\href{../syntax/types.html#syntax-arraytype}{\mathit{arraytype}}} \\ &&|& +\href{../syntax/types.html#syntax-comptype}{\mathsf{func}}~{\href{../syntax/types.html#syntax-functype}{\mathit{functype}}} \\ \end{array}\end{split}\]

    @@ -287,8 +287,8 @@

    Conventions \[\begin{split}\begin{array}{@{}l@{}rrl@{}l@{}} -& {\href{../syntax/types.html#syntax-rectype}{\mathit{rectype}}} &::=& \mathsf{rec}~{\href{../syntax/conventions.html#syntax-list}{\mathit{list}}}({\href{../syntax/types.html#syntax-subtype}{\mathit{subtype}}}) \\ -& {\href{../syntax/types.html#syntax-subtype}{\mathit{subtype}}} &::=& \mathsf{sub}~{\mathsf{final}^?}~{{\href{../syntax/types.html#syntax-typeuse}{\mathit{typeuse}}}^\ast}~{\href{../syntax/types.html#syntax-comptype}{\mathit{comptype}}} \\ +& {\href{../syntax/types.html#syntax-rectype}{\mathit{rectype}}} &::=& \href{../syntax/types.html#syntax-rectype}{\mathsf{rec}}~{\href{../syntax/conventions.html#syntax-list}{\mathit{list}}}({\href{../syntax/types.html#syntax-subtype}{\mathit{subtype}}}) \\ +& {\href{../syntax/types.html#syntax-subtype}{\mathit{subtype}}} &::=& \href{../syntax/types.html#syntax-subtype}{\mathsf{sub}}~{\mathsf{final}^?}~{{\href{../syntax/types.html#syntax-typeuse}{\mathit{typeuse}}}^\ast}~{\href{../syntax/types.html#syntax-comptype}{\mathit{comptype}}} \\ \end{array}\end{split}\]

    In a module, each member of a recursive type is assigned a separate type index.

    The syntax of sub types is generalized for the purpose of specifying validation and execution.

    @@ -298,7 +298,7 @@

    Conventionsmemory types and table types.

    \[\begin{split}\begin{array}{@{}l@{}rrl@{}l@{}} -& {\href{../syntax/types.html#syntax-limits}{\mathit{limits}}} &::=& {}[{\href{../syntax/values.html#syntax-int}{\mathit{u32}}} .. {\href{../syntax/values.html#syntax-int}{\mathit{u32}}}] \\ +& {\href{../syntax/types.html#syntax-limits}{\mathit{limits}}} &::=& {}[ {\href{../syntax/values.html#syntax-int}{\mathit{u32}}} \href{../syntax/types.html#syntax-limits}{\,{..}\,} {\href{../syntax/values.html#syntax-int}{\mathit{u32}}} ] \\ \end{array}\end{split}\]

    If no maximum is given, the respective storage can grow to any size.

    @@ -335,7 +335,7 @@

    Conventionsimports and external values with their respective types.

    \[\begin{split}\begin{array}{@{}l@{}rrl@{}l@{}} -& {\href{../syntax/types.html#syntax-externtype}{\mathit{externtype}}} &::=& \mathsf{func}~{\href{../syntax/types.html#syntax-typeuse}{\mathit{typeuse}}} ~|~ \mathsf{global}~{\href{../syntax/types.html#syntax-globaltype}{\mathit{globaltype}}} ~|~ \mathsf{table}~{\href{../syntax/types.html#syntax-tabletype}{\mathit{tabletype}}} ~|~ \mathsf{mem}~{\href{../syntax/types.html#syntax-memtype}{\mathit{memtype}}} \\ +& {\href{../syntax/types.html#syntax-externtype}{\mathit{externtype}}} &::=& \href{../syntax/types.html#syntax-externtype}{\mathsf{func}}~{\href{../syntax/types.html#syntax-typeuse}{\mathit{typeuse}}} ~|~ \href{../syntax/types.html#syntax-externtype}{\mathsf{global}}~{\href{../syntax/types.html#syntax-globaltype}{\mathit{globaltype}}} ~|~ \href{../syntax/types.html#syntax-externtype}{\mathsf{table}}~{\href{../syntax/types.html#syntax-tabletype}{\mathit{tabletype}}} ~|~ \href{../syntax/types.html#syntax-externtype}{\mathsf{mem}}~{\href{../syntax/types.html#syntax-memtype}{\mathit{memtype}}} \\ \end{array}\end{split}\]

    Conventions

    @@ -344,19 +344,19 @@

    Conventions \[\begin{split}\begin{array}{@{}lcl@{}l@{}} {\href{../syntax/types.html#syntax-externtype}{\mathrm{funcs}}}(\epsilon) &=& \epsilon \\ -{\href{../syntax/types.html#syntax-externtype}{\mathrm{funcs}}}((\mathsf{func}~{\mathit{dt}})~{{\mathit{xt}}^\ast}) &=& {\mathit{dt}}~{\href{../syntax/types.html#syntax-externtype}{\mathrm{funcs}}}({{\mathit{xt}}^\ast}) \\ +{\href{../syntax/types.html#syntax-externtype}{\mathrm{funcs}}}((\href{../syntax/types.html#syntax-externtype}{\mathsf{func}}~{\mathit{dt}})~{{\mathit{xt}}^\ast}) &=& {\mathit{dt}}~{\href{../syntax/types.html#syntax-externtype}{\mathrm{funcs}}}({{\mathit{xt}}^\ast}) \\ {\href{../syntax/types.html#syntax-externtype}{\mathrm{funcs}}}({\href{../syntax/types.html#syntax-externtype}{\mathit{externtype}}}~{{\mathit{xt}}^\ast}) &=& {\href{../syntax/types.html#syntax-externtype}{\mathrm{funcs}}}({{\mathit{xt}}^\ast}) &\qquad \mbox{otherwise} \\[0.8ex] {\href{../syntax/types.html#syntax-externtype}{\mathrm{tables}}}(\epsilon) &=& \epsilon \\ -{\href{../syntax/types.html#syntax-externtype}{\mathrm{tables}}}((\mathsf{table}~{\mathit{tt}})~{{\mathit{xt}}^\ast}) &=& {\mathit{tt}}~{\href{../syntax/types.html#syntax-externtype}{\mathrm{tables}}}({{\mathit{xt}}^\ast}) \\ +{\href{../syntax/types.html#syntax-externtype}{\mathrm{tables}}}((\href{../syntax/types.html#syntax-externtype}{\mathsf{table}}~{\mathit{tt}})~{{\mathit{xt}}^\ast}) &=& {\mathit{tt}}~{\href{../syntax/types.html#syntax-externtype}{\mathrm{tables}}}({{\mathit{xt}}^\ast}) \\ {\href{../syntax/types.html#syntax-externtype}{\mathrm{tables}}}({\href{../syntax/types.html#syntax-externtype}{\mathit{externtype}}}~{{\mathit{xt}}^\ast}) &=& {\href{../syntax/types.html#syntax-externtype}{\mathrm{tables}}}({{\mathit{xt}}^\ast}) &\qquad \mbox{otherwise} \\[0.8ex] {\href{../syntax/types.html#syntax-externtype}{\mathrm{mems}}}(\epsilon) &=& \epsilon \\ -{\href{../syntax/types.html#syntax-externtype}{\mathrm{mems}}}((\mathsf{mem}~{\mathit{mt}})~{{\mathit{xt}}^\ast}) &=& {\mathit{mt}}~{\href{../syntax/types.html#syntax-externtype}{\mathrm{mems}}}({{\mathit{xt}}^\ast}) \\ +{\href{../syntax/types.html#syntax-externtype}{\mathrm{mems}}}((\href{../syntax/types.html#syntax-externtype}{\mathsf{mem}}~{\mathit{mt}})~{{\mathit{xt}}^\ast}) &=& {\mathit{mt}}~{\href{../syntax/types.html#syntax-externtype}{\mathrm{mems}}}({{\mathit{xt}}^\ast}) \\ {\href{../syntax/types.html#syntax-externtype}{\mathrm{mems}}}({\href{../syntax/types.html#syntax-externtype}{\mathit{externtype}}}~{{\mathit{xt}}^\ast}) &=& {\href{../syntax/types.html#syntax-externtype}{\mathrm{mems}}}({{\mathit{xt}}^\ast}) &\qquad \mbox{otherwise} \\[0.8ex] {\href{../syntax/types.html#syntax-externtype}{\mathrm{globals}}}(\epsilon) &=& \epsilon \\ -{\href{../syntax/types.html#syntax-externtype}{\mathrm{globals}}}((\mathsf{global}~{\mathit{gt}})~{{\mathit{xt}}^\ast}) &=& {\mathit{gt}}~{\href{../syntax/types.html#syntax-externtype}{\mathrm{globals}}}({{\mathit{xt}}^\ast}) \\ +{\href{../syntax/types.html#syntax-externtype}{\mathrm{globals}}}((\href{../syntax/types.html#syntax-externtype}{\mathsf{global}}~{\mathit{gt}})~{{\mathit{xt}}^\ast}) &=& {\mathit{gt}}~{\href{../syntax/types.html#syntax-externtype}{\mathrm{globals}}}({{\mathit{xt}}^\ast}) \\ {\href{../syntax/types.html#syntax-externtype}{\mathrm{globals}}}({\href{../syntax/types.html#syntax-externtype}{\mathit{externtype}}}~{{\mathit{xt}}^\ast}) &=& {\href{../syntax/types.html#syntax-externtype}{\mathrm{globals}}}({{\mathit{xt}}^\ast}) &\qquad \mbox{otherwise} \\ \end{array}\end{split}\] diff --git a/core/syntax/values.html b/core/syntax/values.html index ba8853a234..4824117e61 100644 --- a/core/syntax/values.html +++ b/core/syntax/values.html @@ -6,7 +6,7 @@ - Values — WebAssembly 3.0 (Draft 2024-05-03) + Values — WebAssembly 3.0 (Draft 2024-05-17) @@ -135,7 +135,7 @@

    Conventions

    Floating-Point

    Floating-point data represents 32 or 64 bit values that correspond to the respective binary formats of the IEEE 754 standard (Section 3.3).

    Every value has a sign and a magnitude. -Magnitudes can either be expressed as normal numbers of the form \(m_0~.~m_1~m_2~\dots~m_M \cdot {2^{e}}\), where \(e\) is the exponent and \(m\) is the significand whose most significant bit \(m_0\) is \(1\), +Magnitudes can either be expressed as normal numbers of the form \(m_0~{.}~m_1~m_2~\dots~m_M \cdot {2^{e}}\), where \(e\) is the exponent and \(m\) is the significand whose most significant bit \(m_0\) is \(1\), or as a subnormal number where the exponent is fixed to the smallest possible value and \(m_0\) is \(0\); among the subnormals are positive and negative zero values. Since the significands are binary values, normals are represented in the form \((1 + m \cdot {2^{{-M}}}) \cdot {2^{e}}\), where \(M\) is the bit width of \(m\); similarly for subnormals.

    Possible magnitudes also include the special values \(\infty\) (infinity) and \(\mathsf{nan}\) (NaN, not a number). @@ -149,7 +149,7 @@

    Conventionswhere \(\begin{array}{@{}l@{~}c@{~}l@{}l@{}} M &=& {\href{../syntax/values.html#aux-signif}{\mathrm{signif}}}(N) \\ \end{array}\) and \(\begin{array}{@{}l@{~}c@{~}l@{}l@{}} E &=& {\href{../syntax/values.html#aux-expon}{\mathrm{expon}}}(N) \\ \end{array}\) with

    @@ -160,12 +160,12 @@

    ConventionsA canonical NaN is a floating-point value \({\pm{\mathsf{nan}}{({{\href{../syntax/values.html#aux-canon}{\mathrm{canon}}}}_{N})}}\) where \({{\href{../syntax/values.html#aux-canon}{\mathrm{canon}}}}_{N}\) is a payload whose most significant bit is \(1\) while all others are \(0\):

    +

    A canonical NaN is a floating-point value \({\pm\mathsf{nan}~({{\href{../syntax/values.html#aux-canon}{\mathrm{canon}}}}_{N})}\) where \({{\href{../syntax/values.html#aux-canon}{\mathrm{canon}}}}_{N}\) is a payload whose most significant bit is \(1\) while all others are \(0\):

    \[\begin{split}\begin{array}{@{}lcl@{}l@{}} {{\href{../syntax/values.html#aux-canon}{\mathrm{canon}}}}_{N} &=& {2^{{\href{../syntax/values.html#aux-signif}{\mathrm{signif}}}(N) - 1}} \\ \end{array}\end{split}\]
    -

    An arithmetic NaN is a floating-point value \({\pm{\mathsf{nan}}{(m)}}\) with \(m \geq {{\href{../syntax/values.html#aux-canon}{\mathrm{canon}}}}_{N}\), such that the most significant bit is \(1\) while all others are arbitrary.

    +

    An arithmetic NaN is a floating-point value \({\pm\mathsf{nan}~(m)}\) with \(m \geq {{\href{../syntax/values.html#aux-canon}{\mathrm{canon}}}}_{N}\), such that the most significant bit is \(1\) while all others are arbitrary.

    Note

    In the abstract syntax, subnormals are distinguished by the leading \(0\) of the significand. The exponent of subnormals has the same value as the smallest possible exponent of a normal number. Only in the binary representation the exponent of a subnormal is encoded differently than the exponent of any normal number.

    @@ -175,7 +175,7 @@

    Conventions

    • The meta variable \(z\) ranges over floating-point values where clear from context.

    • -
    • Where clear from context, shorthands like \({+1}\) or \({+0}\) denote floating point values like \({+(1 + 1 \cdot {2^{{-M}}}) \cdot {2^{0}}}\) or \({+(0 + 0 \cdot {2^{{-M}}}) \cdot {2^{n}}}\).

    • +
    • Where clear from context, shorthands like \({+1}\) or \({+0}\) denote floating point values like \(\mathsf{pos}~\mathsf{norm}~1~0\) or \(\mathsf{pos}~\mathsf{subnorm}~0\).

    diff --git a/core/text/conventions.html b/core/text/conventions.html index 973e1e26b1..06cb984173 100644 --- a/core/text/conventions.html +++ b/core/text/conventions.html @@ -6,7 +6,7 @@ - Conventions — WebAssembly 3.0 (Draft 2024-05-03) + Conventions — WebAssembly 3.0 (Draft 2024-05-17) diff --git a/core/text/index.html b/core/text/index.html index 9919ce4c7c..0366305ca7 100644 --- a/core/text/index.html +++ b/core/text/index.html @@ -6,7 +6,7 @@ - Text Format — WebAssembly 3.0 (Draft 2024-05-03) + Text Format — WebAssembly 3.0 (Draft 2024-05-17) diff --git a/core/text/instructions.html b/core/text/instructions.html index 3316539606..40e8f57872 100644 --- a/core/text/instructions.html +++ b/core/text/instructions.html @@ -6,7 +6,7 @@ - Instructions — WebAssembly 3.0 (Draft 2024-05-03) + Instructions — WebAssembly 3.0 (Draft 2024-05-17) @@ -748,16 +748,16 @@

    Abbreviations @@ -777,18 +777,18 @@

    Abbreviations \[\begin{split}\begin{array}{llclll} \phantom{\def\mathdef3037#1{{}}\mathdef3037{instruction}} & \phantom{\href{../text/instructions.html#text-plaininstr}{\mathtt{plaininstr}}_I} &\phantom{::=}& \phantom{averylonginstructionnameforvectext} && \phantom{vechasreallylonginstructionnames} \\[-2ex] &&|& - \def\mathdef3650#1{\mbox{‘}\mathtt{#1}\mbox{’}}\mathdef3650{i32x4.trunc\_sat\_f32x4\_s} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{trunc}}\mathsf{\_sat\_f32x4\_s}\\ &&|& - \def\mathdef3651#1{\mbox{‘}\mathtt{#1}\mbox{’}}\mathdef3651{i32x4.trunc\_sat\_f32x4\_u} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{trunc}}\mathsf{\_sat\_f32x4\_u}\\ &&|& - \def\mathdef3652#1{\mbox{‘}\mathtt{#1}\mbox{’}}\mathdef3652{i32x4.trunc\_sat\_f64x2\_s\_zero} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{trunc}}\mathsf{\_sat\_f64x2\_s\_zero}\\ &&|& - \def\mathdef3653#1{\mbox{‘}\mathtt{#1}\mbox{’}}\mathdef3653{i32x4.trunc\_sat\_f64x2\_u\_zero} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{trunc}}\mathsf{\_sat\_f64x2\_u\_zero}\\ &&|& - \def\mathdef3654#1{\mbox{‘}\mathtt{#1}\mbox{’}}\mathdef3654{f32x4.convert\_i32x4\_s} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{f32x4}}.\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{convert}}\mathsf{\_i32x4\_s}\\ &&|& - \def\mathdef3655#1{\mbox{‘}\mathtt{#1}\mbox{’}}\mathdef3655{f32x4.convert\_i32x4\_u} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{f32x4}}.\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{convert}}\mathsf{\_i32x4\_u}\\ &&|& + \def\mathdef3650#1{\mbox{‘}\mathtt{#1}\mbox{’}}\mathdef3650{i32x4.trunc\_sat\_f32x4\_s} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{trunc\_sat}}\mathsf{\_f32x4\_s}\\ &&|& + \def\mathdef3651#1{\mbox{‘}\mathtt{#1}\mbox{’}}\mathdef3651{i32x4.trunc\_sat\_f32x4\_u} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{trunc\_sat}}\mathsf{\_f32x4\_u}\\ &&|& + \def\mathdef3652#1{\mbox{‘}\mathtt{#1}\mbox{’}}\mathdef3652{i32x4.trunc\_sat\_f64x2\_s\_zero} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{trunc\_sat}}\mathsf{\_f64x2\_s\_zero}\\ &&|& + \def\mathdef3653#1{\mbox{‘}\mathtt{#1}\mbox{’}}\mathdef3653{i32x4.trunc\_sat\_f64x2\_u\_zero} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{i32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{trunc\_sat}}\mathsf{\_f64x2\_u\_zero}\\ &&|& + \def\mathdef3654#1{\mbox{‘}\mathtt{#1}\mbox{’}}\mathdef3654{f32x4.convert\_i32x4\_s} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{f32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{convert}}\mathsf{\_i32x4\_s}\\ &&|& + \def\mathdef3655#1{\mbox{‘}\mathtt{#1}\mbox{’}}\mathdef3655{f32x4.convert\_i32x4\_u} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{f32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{convert}}\mathsf{\_i32x4\_u}\\ &&|& \def\mathdef3656#1{\mbox{‘}\mathtt{#1}\mbox{’}}\mathdef3656{f64x2.convert\_low\_i32x4\_s} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{f64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{convert}}\mathsf{\_low\_i32x4\_s}\\ &&|& \def\mathdef3657#1{\mbox{‘}\mathtt{#1}\mbox{’}}\mathdef3657{f64x2.convert\_low\_i32x4\_u} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{f64x2}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{convert}}\mathsf{\_low\_i32x4\_u}\\ &&|& \def\mathdef3658#1{\mbox{‘}\mathtt{#1}\mbox{’}}\mathdef3658{f32x4.demote\_f64x2\_zero} &\Rightarrow& \href{../syntax/instructions.html#syntax-shape}{\mathsf{f32x4}}.\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{demote}}\mathsf{\_f64x2\_zero}\\ &&|& diff --git a/core/text/lexical.html b/core/text/lexical.html index 4ce90043cf..513b86cef8 100644 --- a/core/text/lexical.html +++ b/core/text/lexical.html @@ -6,7 +6,7 @@ - Lexical Format — WebAssembly 3.0 (Draft 2024-05-03) + Lexical Format — WebAssembly 3.0 (Draft 2024-05-17) diff --git a/core/text/modules.html b/core/text/modules.html index a58e87690a..447e161a5b 100644 --- a/core/text/modules.html +++ b/core/text/modules.html @@ -6,7 +6,7 @@ - Modules — WebAssembly 3.0 (Draft 2024-05-03) + Modules — WebAssembly 3.0 (Draft 2024-05-17) diff --git a/core/text/types.html b/core/text/types.html index 640846315b..19ce10a9c2 100644 --- a/core/text/types.html +++ b/core/text/types.html @@ -6,7 +6,7 @@ - Types — WebAssembly 3.0 (Draft 2024-05-03) + Types — WebAssembly 3.0 (Draft 2024-05-17) diff --git a/core/text/values.html b/core/text/values.html index d4e82d270d..935db06338 100644 --- a/core/text/values.html +++ b/core/text/values.html @@ -6,7 +6,7 @@ - Values — WebAssembly 3.0 (Draft 2024-05-03) + Values — WebAssembly 3.0 (Draft 2024-05-17) diff --git a/core/valid/conventions.html b/core/valid/conventions.html index 37fb7285da..926dd85d6d 100644 --- a/core/valid/conventions.html +++ b/core/valid/conventions.html @@ -6,7 +6,7 @@ - Conventions — WebAssembly 3.0 (Draft 2024-05-03) + Conventions — WebAssembly 3.0 (Draft 2024-05-17) @@ -270,7 +270,7 @@

    Quick search

  • Memories: the list of memories declared in the current module, represented by their memory type.

  • Globals: the list of globals declared in the current module, represented by their global type.

  • Element Segments: the list of element segments declared in the current module, represented by the elements’ reference type.

  • -
  • Data Segments: the list of data segments declared in the current module, each represented by an \(\mathrel{\mbox{ok}}\) entry.

  • +
  • Data Segments: the list of data segments declared in the current module, each represented by an \(\href{../valid/modules.html#valid-data}{\mathsf{ok}}\) entry.

  • Locals: the list of locals declared in the current function (including parameters), represented by their local type.

  • Labels: the stack of labels accessible from the current position, represented by their result type.

  • Return: the return type of the current function, represented as an optional result type that is absent when no return is allowed, as in free-standing expressions.

  • @@ -291,7 +291,7 @@

    Quick search

    & \href{../valid/conventions.html#context}{\mathsf{mems}} & \href{../syntax/types.html#syntax-memtype}{\mathit{memtype}}^\ast, \\ & \href{../valid/conventions.html#context}{\mathsf{globals}} & \href{../syntax/types.html#syntax-globaltype}{\mathit{globaltype}}^\ast, \\ & \href{../valid/conventions.html#context}{\mathsf{elems}} & \href{../syntax/types.html#syntax-reftype}{\mathit{reftype}}^\ast, \\ - & \href{../valid/conventions.html#context}{\mathsf{datas}} & {\mathrel{\mbox{ok}}}^\ast, \\ + & \href{../valid/conventions.html#context}{\mathsf{datas}} & \href{../valid/modules.html#syntax-datatype}{\mathit{datatype}}^\ast, \\ & \href{../valid/conventions.html#context}{\mathsf{locals}} & \href{../valid/conventions.html#syntax-localtype}{\mathit{localtype}}^\ast, \\ & \href{../valid/conventions.html#context}{\mathsf{labels}} & \href{../syntax/types.html#syntax-resulttype}{\mathit{resulttype}}^\ast, \\ & \href{../valid/conventions.html#context}{\mathsf{return}} & \href{../syntax/types.html#syntax-resulttype}{\mathit{resulttype}}^?, \\ diff --git a/core/valid/index.html b/core/valid/index.html index b935cfe5f1..6bb42bd81a 100644 --- a/core/valid/index.html +++ b/core/valid/index.html @@ -6,7 +6,7 @@ - Validation — WebAssembly 3.0 (Draft 2024-05-03) + Validation — WebAssembly 3.0 (Draft 2024-05-17) diff --git a/core/valid/instructions.html b/core/valid/instructions.html index 9648e1ef18..b7acb43f44 100644 --- a/core/valid/instructions.html +++ b/core/valid/instructions.html @@ -6,7 +6,7 @@ - Instructions — WebAssembly 3.0 (Draft 2024-05-03) + Instructions — WebAssembly 3.0 (Draft 2024-05-17) @@ -88,18 +88,18 @@

    Quick search

    Instructions

    Instructions are classified by instruction types that describe how they manipulate the operand stack and initialize locals: -A type \({t_1^\ast}~{\rightarrow}_{{x^\ast}}\,{t_2^\ast}\) describes the required input stack with argument values of types \({t_1^\ast}\) that an instruction pops off +A type \({t_1^\ast}~\mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}}~({x^\ast})~{t_2^\ast}\) describes the required input stack with argument values of types \({t_1^\ast}\) that an instruction pops off and the provided output stack with result values of types \({t_2^\ast}\) that it pushes back. Moreover, it enumerates the indices \({x^\ast}\) of locals that have been set by the instruction. In most cases, this is empty.

    Note

    -

    For example, the instruction \(\mathsf{i{\scriptstyle32}} . \mathsf{add}\) has type \(\mathsf{i{\scriptstyle32}}~\mathsf{i{\scriptstyle32}} \rightarrow \mathsf{i{\scriptstyle32}}\), +

    For example, the instruction \(\mathsf{binop}~\mathsf{i{\scriptstyle32}}~\mathsf{add}\) has type \(\mathsf{i{\scriptstyle32}}~\mathsf{i{\scriptstyle32}} \rightarrow \mathsf{i{\scriptstyle32}}\), consuming two \(\mathsf{i{\scriptstyle32}}\) values and producing one. -The instruction \(\mathsf{local.set}~x\) has type \(t~{\rightarrow}_{x}\,\epsilon\), provided \(t\) is the type declared for the local \(x\).

    +The instruction \(\mathsf{local.set}~x\) has type \(t~\mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}}~(x)~\epsilon\), provided \(t\) is the type declared for the local \(x\).

    -

    Typing extends to instruction sequences \({{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast}\). -Such a sequence has an instruction type \({t_1^\ast}~{\rightarrow}_{{x^\ast}}\,{t_2^\ast}\) if the accumulative effect of executing the instructions is consuming values of types \({t_1^\ast}\) off the operand stack, pushing new values of types \({t_2^\ast}\), and setting all locals \({x^\ast}\).

    +

    Typing extends to instruction sequences \({{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast}\). +Such a sequence has an instruction type \({t_1^\ast}~\mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}}~({x^\ast})~{t_2^\ast}\) if the accumulative effect of executing the instructions is consuming values of types \({t_1^\ast}\) off the operand stack, pushing new values of types \({t_2^\ast}\), and setting all locals \({x^\ast}\).

    For some instructions, the typing rules do not fully constrain the type, and therefore allow for multiple types. Such instructions are called polymorphic. @@ -115,23 +115,23 @@

    Quick search

    In both cases, the unconstrained types or type sequences can be chosen arbitrarily, as long as they meet the constraints imposed for the surrounding parts of the program.

    Note

    -

    For example, the \(\mathsf{select}\) instruction is valid with type \(t~t~\mathsf{i{\scriptstyle32}} \rightarrow t\), for any possible number type \(t\). +

    For example, the \(\mathsf{select}\) instruction is valid with type \(t~t~\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}} \rightarrow t\), for any possible number type \(t\). Consequently, both instruction sequences

    -\[(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~1)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~2)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~3)~\mathsf{select}\]
    +\[(\mathsf{const}~\mathsf{i{\scriptstyle32}}~1)~(\mathsf{const}~\mathsf{i{\scriptstyle32}}~2)~(\mathsf{const}~\mathsf{i{\scriptstyle32}}~3)~\mathsf{select}\]

    and

    -\[(\mathsf{f{\scriptstyle64}}{.}\mathsf{const}~1 . 0)~(\mathsf{f{\scriptstyle64}}{.}\mathsf{const}~2 . 0)~(\mathsf{f{\scriptstyle64}}{.}\mathsf{const}~3 . 0)~\mathsf{select}\]
    +\[(\mathsf{const}~\mathsf{f{\scriptstyle64}}~1 {.} 0)~(\mathsf{const}~\mathsf{f{\scriptstyle64}}~2 {.} 0)~(\mathsf{const}~\mathsf{f{\scriptstyle64}}~3 {.} 0)~\mathsf{select}\]

    are valid, with \(t\) in the typing of \(\mathsf{select}\) being instantiated to \(\mathsf{i{\scriptstyle32}}\) or \(\mathsf{f{\scriptstyle64}}\), respectively.

    The \(\mathsf{unreachable}\) instruction is stack-polymorphic, and hence valid with type \({t_1^\ast} \rightarrow {t_2^\ast}\) for any possible sequences of value types \({t_1^\ast}\) and \({t_2^\ast}\). Consequently,

    -\[\mathsf{unreachable}~\mathsf{i{\scriptstyle32}} . \mathsf{add}\]
    -

    is valid by assuming type \(\epsilon \rightarrow \mathsf{i{\scriptstyle32}}\) for the \(\mathsf{unreachable}\) instruction. +\[\mathsf{unreachable}~\mathsf{binop}~\mathsf{i{\scriptstyle32}}~\mathsf{add}\] +

    is valid by assuming type \(\epsilon \rightarrow \href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}\) for the \(\mathsf{unreachable}\) instruction. In contrast,

    -\[\mathsf{unreachable}~(\mathsf{i{\scriptstyle64}}{.}\mathsf{const}~0)~\mathsf{i{\scriptstyle32}} . \mathsf{add}\]
    +\[\mathsf{unreachable}~(\mathsf{const}~\mathsf{i{\scriptstyle64}}~0)~\mathsf{binop}~\mathsf{i{\scriptstyle32}}~\mathsf{add}\]

    is invalid, because there is no possible type to pick for the \(\mathsf{unreachable}\) instruction that would make the sequence well-typed.

    The Appendix describes a type checking algorithm that efficiently implements validation of instruction sequences as prescribed by the rules given here.

    @@ -146,7 +146,7 @@

    Quick search

    \[\begin{array}{@{}c@{}}\displaystyle \frac{ }{ -C \vdash \mathsf{nop} : \epsilon \rightarrow \epsilon +C \href{../valid/instructions.html#valid-instr}{\vdash} \href{../syntax/instructions.html#syntax-instr-control}{\mathsf{nop}} : \epsilon \rightarrow \epsilon } \qquad \end{array}\] @@ -159,9 +159,9 @@

    Quick search

    \[\begin{array}{@{}c@{}}\displaystyle \frac{ -C \vdash {t_1^\ast} \rightarrow {t_2^\ast} : \mathsf{ok} +C \href{../valid/types.html#valid-instrtype}{\vdash} {t_1^\ast} \rightarrow {t_2^\ast} : \href{../valid/types.html#valid-instrtype}{\mathsf{ok}} }{ -C \vdash \mathsf{unreachable} : {t_1^\ast} \rightarrow {t_2^\ast} +C \href{../valid/instructions.html#valid-instr}{\vdash} \href{../syntax/instructions.html#syntax-instr-control}{\mathsf{unreachable}} : {t_1^\ast} \rightarrow {t_2^\ast} } \qquad \end{array}\]
    @@ -178,9 +178,9 @@

    Quick search

    \[\begin{array}{@{}c@{}}\displaystyle \frac{ -C \vdash t : \mathsf{ok} +C \href{../valid/types.html#valid-valtype}{\vdash} t : \href{../valid/types.html#valid-valtype}{\mathsf{ok}} }{ -C \vdash \mathsf{drop} : t \rightarrow \epsilon +C \href{../valid/instructions.html#valid-instr}{\vdash} \href{../syntax/instructions.html#syntax-instr-parametric}{\mathsf{drop}} : t \rightarrow \epsilon } \qquad \end{array}\]
    @@ -208,19 +208,19 @@

    Quick search

    \[\begin{array}{@{}c@{}}\displaystyle \frac{ -C \vdash t : \mathsf{ok} +C \href{../valid/types.html#valid-valtype}{\vdash} t : \href{../valid/types.html#valid-valtype}{\mathsf{ok}} }{ -C \vdash \mathsf{select}~t : t~t~\mathsf{i{\scriptstyle32}} \rightarrow t +C \href{../valid/instructions.html#valid-instr}{\vdash} \href{../syntax/instructions.html#syntax-instr-parametric}{\mathsf{select}}~t : t~t~\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}} \rightarrow t } \qquad \frac{ -C \vdash t : \mathsf{ok} +C \href{../valid/types.html#valid-valtype}{\vdash} t : \href{../valid/types.html#valid-valtype}{\mathsf{ok}} \qquad -C \vdash t \leq {t'} +C \href{../valid/matching.html#match-valtype}{\vdash} t \href{../valid/matching.html#match-valtype}{\leq} {t'} \qquad {t'} = {\href{../syntax/types.html#syntax-numtype}{\mathit{numtype}}} \lor {t'} = {\href{../syntax/types.html#syntax-vectype}{\mathit{vectype}}} }{ -C \vdash \mathsf{select} : t~t~\mathsf{i{\scriptstyle32}} \rightarrow t +C \href{../valid/instructions.html#valid-instr}{\vdash} \href{../syntax/instructions.html#syntax-instr-parametric}{\mathsf{select}} : t~t~\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}} \rightarrow t } \qquad \end{array}\]
    @@ -241,7 +241,7 @@

    Quick search

    \[\begin{array}{@{}c@{}}\displaystyle \frac{ }{ -C \vdash {\mathit{nt}}{.}\mathsf{const}~c_{\mathit{nt}} : \epsilon \rightarrow {\mathit{nt}} +C \href{../valid/instructions.html#valid-instr}{\vdash} {\mathit{nt}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_{\mathit{nt}} : \epsilon \rightarrow {\mathit{nt}} } \qquad \end{array}\] @@ -255,7 +255,7 @@

    Quick search

    \[\begin{array}{@{}c@{}}\displaystyle \frac{ }{ -C \vdash {\mathit{nt}} . {\mathit{unop}}_{\mathit{nt}} : {\mathit{nt}} \rightarrow {\mathit{nt}} +C \href{../valid/instructions.html#valid-instr}{\vdash} {\mathit{nt}} {.} {\mathit{unop}}_{\mathit{nt}} : {\mathit{nt}} \rightarrow {\mathit{nt}} } \qquad \end{array}\] @@ -269,7 +269,7 @@

    Quick search

    \[\begin{array}{@{}c@{}}\displaystyle \frac{ }{ -C \vdash {\mathit{nt}} . {\mathit{binop}}_{\mathit{nt}} : {\mathit{nt}}~{\mathit{nt}} \rightarrow {\mathit{nt}} +C \href{../valid/instructions.html#valid-instr}{\vdash} {\mathit{nt}} {.} {\mathit{binop}}_{\mathit{nt}} : {\mathit{nt}}~{\mathit{nt}} \rightarrow {\mathit{nt}} } \qquad \end{array}\] @@ -283,7 +283,7 @@

    Quick search

    \[\begin{array}{@{}c@{}}\displaystyle \frac{ }{ -C \vdash {\mathit{nt}} . {\mathit{testop}}_{\mathit{nt}} : {\mathit{nt}} \rightarrow \mathsf{i{\scriptstyle32}} +C \href{../valid/instructions.html#valid-instr}{\vdash} {\mathit{nt}} {.} {\mathit{testop}}_{\mathit{nt}} : {\mathit{nt}} \rightarrow \href{../syntax/types.html#syntax-numtype}{\mathsf{i32}} } \qquad \end{array}\] @@ -297,7 +297,7 @@

    Quick search

    \[\begin{array}{@{}c@{}}\displaystyle \frac{ }{ -C \vdash {\mathit{nt}} . {\mathit{relop}}_{\mathit{nt}} : {\mathit{nt}}~{\mathit{nt}} \rightarrow \mathsf{i{\scriptstyle32}} +C \href{../valid/instructions.html#valid-instr}{\vdash} {\mathit{nt}} {.} {\mathit{relop}}_{\mathit{nt}} : {\mathit{nt}}~{\mathit{nt}} \rightarrow \href{../syntax/types.html#syntax-numtype}{\mathsf{i32}} } \qquad \end{array}\] @@ -312,13 +312,13 @@

    Quick search

    \frac{ {|{\mathit{nt}}_1|} = {|{\mathit{nt}}_2|} }{ -C \vdash {\mathit{nt}}_1 . {{\mathsf{reinterpret}}{\mathsf{\_}}}{{\mathit{nt}}_2} : {\mathit{nt}}_2 \rightarrow {\mathit{nt}}_1 +C \href{../valid/instructions.html#valid-instr}{\vdash} {\mathit{nt}}_1 {.} {\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{reinterpret}}}{\mathsf{\_}}{{\mathit{nt}}_2} : {\mathit{nt}}_2 \rightarrow {\mathit{nt}}_1 } \qquad \frac{ {{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}^?} = \epsilon \Leftrightarrow {\mathit{nt}}_1 = {{\mathsf{i}}{n}}_1 \land {\mathit{nt}}_2 = {{\mathsf{i}}{n}}_2 \land {|{\mathit{nt}}_1|} > {|{\mathit{nt}}_2|} \lor {\mathit{nt}}_1 = {{\mathsf{f}}{n}}_1 \land {\mathit{nt}}_2 = {{\mathsf{f}}{n}}_2 }{ -C \vdash {\mathit{nt}}_1 . {{\mathsf{convert}}{\mathsf{\_}}}{{\mathit{nt}}_2} : {\mathit{nt}}_2 \rightarrow {\mathit{nt}}_1 +C \href{../valid/instructions.html#valid-instr}{\vdash} {\mathit{nt}}_1 {.} {\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{convert}}}{\mathsf{\_}}{{\mathit{nt}}_2} : {\mathit{nt}}_2 \rightarrow {\mathit{nt}}_1 } \qquad \end{array}\] @@ -335,9 +335,9 @@

    Quick search

    \[\begin{array}{@{}c@{}}\displaystyle \frac{ -C \vdash {\mathit{ht}} : \mathsf{ok} +C \href{../valid/types.html#valid-heaptype}{\vdash} {\mathit{ht}} : \href{../valid/types.html#valid-heaptype}{\mathsf{ok}} }{ -C \vdash \mathsf{ref.null}~{\mathit{ht}} : \epsilon \rightarrow (\mathsf{ref}~\mathsf{null}~{\mathit{ht}}) +C \href{../valid/instructions.html#valid-instr}{\vdash} \href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.null}}~{\mathit{ht}} : \epsilon \rightarrow (\href{../syntax/types.html#syntax-reftype}{\mathsf{ref}}~\mathsf{null}~{\mathit{ht}}) } \qquad \end{array}\]
    @@ -355,7 +355,7 @@

    Quick search

    \frac{ C{.}\mathsf{funcs}{}[x] = {\mathit{dt}} }{ -C \vdash \mathsf{ref.func}~x : \epsilon \rightarrow (\mathsf{ref}~{\mathit{dt}}) +C \href{../valid/instructions.html#valid-instr}{\vdash} \href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.func}}~x : \epsilon \rightarrow (\href{../syntax/types.html#syntax-reftype}{\mathsf{ref}}~{\mathit{dt}}) } \qquad \end{array}\] @@ -368,9 +368,9 @@

    Quick search

    \[\begin{array}{@{}c@{}}\displaystyle \frac{ -C \vdash {\mathit{ht}} : \mathsf{ok} +C \href{../valid/types.html#valid-heaptype}{\vdash} {\mathit{ht}} : \href{../valid/types.html#valid-heaptype}{\mathsf{ok}} }{ -C \vdash \mathsf{ref.is\_null} : (\mathsf{ref}~\mathsf{null}~{\mathit{ht}}) \rightarrow \mathsf{i{\scriptstyle32}} +C \href{../valid/instructions.html#valid-instr}{\vdash} \href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.is\_null}} : (\href{../syntax/types.html#syntax-reftype}{\mathsf{ref}}~\mathsf{null}~{\mathit{ht}}) \rightarrow \href{../syntax/types.html#syntax-numtype}{\mathsf{i32}} } \qquad \end{array}\]
    @@ -383,9 +383,9 @@

    Quick search

    \[\begin{array}{@{}c@{}}\displaystyle \frac{ -C \vdash {\mathit{ht}} : \mathsf{ok} +C \href{../valid/types.html#valid-heaptype}{\vdash} {\mathit{ht}} : \href{../valid/types.html#valid-heaptype}{\mathsf{ok}} }{ -C \vdash \mathsf{ref.as\_non\_null} : (\mathsf{ref}~\mathsf{null}~{\mathit{ht}}) \rightarrow (\mathsf{ref}~{\mathit{ht}}) +C \href{../valid/instructions.html#valid-instr}{\vdash} \href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.as\_non\_null}} : (\href{../syntax/types.html#syntax-reftype}{\mathsf{ref}}~\mathsf{null}~{\mathit{ht}}) \rightarrow (\href{../syntax/types.html#syntax-reftype}{\mathsf{ref}}~{\mathit{ht}}) } \qquad \end{array}\]
    @@ -399,7 +399,7 @@

    Quick search

    \[\begin{array}{@{}c@{}}\displaystyle \frac{ }{ -C \vdash \mathsf{ref.eq} : (\mathsf{ref}~\mathsf{null}~\mathsf{eq})~(\mathsf{ref}~\mathsf{null}~\mathsf{eq}) \rightarrow \mathsf{i{\scriptstyle32}} +C \href{../valid/instructions.html#valid-instr}{\vdash} \href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.eq}} : (\href{../syntax/types.html#syntax-reftype}{\mathsf{ref}}~\mathsf{null}~\href{../syntax/types.html#syntax-heaptype}{\mathsf{eq}})~(\href{../syntax/types.html#syntax-reftype}{\mathsf{ref}}~\mathsf{null}~\href{../syntax/types.html#syntax-heaptype}{\mathsf{eq}}) \rightarrow \href{../syntax/types.html#syntax-numtype}{\mathsf{i32}} } \qquad \end{array}\] @@ -413,13 +413,13 @@

    Quick search

    \[\begin{array}{@{}c@{}}\displaystyle \frac{ -C \vdash {\mathit{rt}} : \mathsf{ok} +C \href{../valid/types.html#valid-reftype}{\vdash} {\mathit{rt}} : \href{../valid/types.html#valid-reftype}{\mathsf{ok}} \qquad -C \vdash {\mathit{rt}'} : \mathsf{ok} +C \href{../valid/types.html#valid-reftype}{\vdash} {\mathit{rt}'} : \href{../valid/types.html#valid-reftype}{\mathsf{ok}} \qquad -C \vdash {\mathit{rt}} \leq {\mathit{rt}'} +C \href{../valid/matching.html#match-reftype}{\vdash} {\mathit{rt}} \href{../valid/matching.html#match-reftype}{\leq} {\mathit{rt}'} }{ -C \vdash \mathsf{ref.test}~{\mathit{rt}} : {\mathit{rt}'} \rightarrow \mathsf{i{\scriptstyle32}} +C \href{../valid/instructions.html#valid-instr}{\vdash} \href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.test}}~{\mathit{rt}} : {\mathit{rt}'} \rightarrow \href{../syntax/types.html#syntax-numtype}{\mathsf{i32}} } \qquad \end{array}\]
    @@ -437,13 +437,13 @@

    Quick search

    \[\begin{array}{@{}c@{}}\displaystyle \frac{ -C \vdash {\mathit{rt}} : \mathsf{ok} +C \href{../valid/types.html#valid-reftype}{\vdash} {\mathit{rt}} : \href{../valid/types.html#valid-reftype}{\mathsf{ok}} \qquad -C \vdash {\mathit{rt}'} : \mathsf{ok} +C \href{../valid/types.html#valid-reftype}{\vdash} {\mathit{rt}'} : \href{../valid/types.html#valid-reftype}{\mathsf{ok}} \qquad -C \vdash {\mathit{rt}} \leq {\mathit{rt}'} +C \href{../valid/matching.html#match-reftype}{\vdash} {\mathit{rt}} \href{../valid/matching.html#match-reftype}{\leq} {\mathit{rt}'} }{ -C \vdash \mathsf{ref.cast}~{\mathit{rt}} : {\mathit{rt}'} \rightarrow {\mathit{rt}} +C \href{../valid/instructions.html#valid-instr}{\vdash} \href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.cast}}~{\mathit{rt}} : {\mathit{rt}'} \rightarrow {\mathit{rt}} } \qquad \end{array}\]
    @@ -472,9 +472,9 @@

    Quick search

    \[\begin{array}{@{}c@{}}\displaystyle \frac{ -C{.}\mathsf{types}{}[x] \approx \mathsf{struct}~{({\mathsf{mut}^?}~{\mathit{zt}})^\ast} +C{.}\mathsf{types}{}[x] \approx \href{../syntax/types.html#syntax-comptype}{\mathsf{struct}}~{({\mathsf{mut}^?}~{\mathit{zt}})^\ast} }{ -C \vdash \mathsf{struct.new}~x : {{\href{../syntax/types.html#aux-unpack}{\mathrm{unpack}}}({\mathit{zt}})^\ast} \rightarrow (\mathsf{ref}~x) +C \href{../valid/instructions.html#valid-instr}{\vdash} \href{../syntax/instructions.html#syntax-instr-struct}{\mathsf{struct.new}}~x : {{\href{../syntax/types.html#aux-unpack}{\mathrm{unpack}}}({\mathit{zt}})^\ast} \rightarrow (\href{../syntax/types.html#syntax-reftype}{\mathsf{ref}}~x) } \qquad \end{array}\]
    @@ -497,11 +497,11 @@

    Quick search

    \[\begin{array}{@{}c@{}}\displaystyle \frac{ -C{.}\mathsf{types}{}[x] \approx \mathsf{struct}~{({\mathsf{mut}^?}~{\mathit{zt}})^\ast} +C{.}\mathsf{types}{}[x] \approx \href{../syntax/types.html#syntax-comptype}{\mathsf{struct}}~{({\mathsf{mut}^?}~{\mathit{zt}})^\ast} \qquad ({{\href{../exec/runtime.html#default-val}{\mathrm{default}}}}_{{\href{../syntax/types.html#aux-unpack}{\mathrm{unpack}}}({\mathit{zt}})} = {\href{../exec/runtime.html#syntax-val}{\mathit{val}}})^\ast }{ -C \vdash \mathsf{struct.new\_default}~x : \epsilon \rightarrow (\mathsf{ref}~x) +C \href{../valid/instructions.html#valid-instr}{\vdash} \href{../syntax/instructions.html#syntax-instr-struct}{\mathsf{struct.new\_default}}~x : \epsilon \rightarrow (\href{../syntax/types.html#syntax-reftype}{\mathsf{ref}}~x) } \qquad \end{array}\]
    @@ -519,13 +519,13 @@

    Quick search

    \[\begin{array}{@{}c@{}}\displaystyle \frac{ -C{.}\mathsf{types}{}[x] \approx \mathsf{struct}~{{\mathit{yt}}^\ast} +C{.}\mathsf{types}{}[x] \approx \href{../syntax/types.html#syntax-comptype}{\mathsf{struct}}~{{\mathit{yt}}^\ast} \qquad {{\mathit{yt}}^\ast}{}[i] = {\mathsf{mut}^?}~{\mathit{zt}} \qquad {{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}^?} = \epsilon \Leftrightarrow {\mathit{zt}} = {\href{../syntax/types.html#aux-unpack}{\mathrm{unpack}}}({\mathit{zt}}) }{ -C \vdash {{\mathsf{struct.get}}{\mathsf{\_}}}{{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}^?}}~x~i : (\mathsf{ref}~\mathsf{null}~x) \rightarrow {\href{../syntax/types.html#aux-unpack}{\mathrm{unpack}}}({\mathit{zt}}) +C \href{../valid/instructions.html#valid-instr}{\vdash} {\href{../syntax/instructions.html#syntax-instr-struct}{\mathsf{struct.get}}}{\mathsf{\_}}{{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}^?}}~x~i : (\href{../syntax/types.html#syntax-reftype}{\mathsf{ref}}~\mathsf{null}~x) \rightarrow {\href{../syntax/types.html#aux-unpack}{\mathrm{unpack}}}({\mathit{zt}}) } \qquad \end{array}\]
    @@ -543,11 +543,11 @@

    Quick search

    \[\begin{array}{@{}c@{}}\displaystyle \frac{ -C{.}\mathsf{types}{}[x] \approx \mathsf{struct}~{{\mathit{yt}}^\ast} +C{.}\mathsf{types}{}[x] \approx \href{../syntax/types.html#syntax-comptype}{\mathsf{struct}}~{{\mathit{yt}}^\ast} \qquad {{\mathit{yt}}^\ast}{}[i] = \mathsf{mut}~{\mathit{zt}} }{ -C \vdash \mathsf{struct.set}~x~i : (\mathsf{ref}~\mathsf{null}~x)~{\href{../syntax/types.html#aux-unpack}{\mathrm{unpack}}}({\mathit{zt}}) \rightarrow \epsilon +C \href{../valid/instructions.html#valid-instr}{\vdash} \href{../syntax/instructions.html#syntax-instr-struct}{\mathsf{struct.set}}~x~i : (\href{../syntax/types.html#syntax-reftype}{\mathsf{ref}}~\mathsf{null}~x)~{\href{../syntax/types.html#aux-unpack}{\mathrm{unpack}}}({\mathit{zt}}) \rightarrow \epsilon } \qquad \end{array}\]
    @@ -564,9 +564,9 @@

    Quick search

    \[\begin{array}{@{}c@{}}\displaystyle \frac{ -C{.}\mathsf{types}{}[x] \approx \mathsf{array}~({\mathsf{mut}^?}~{\mathit{zt}}) +C{.}\mathsf{types}{}[x] \approx \href{../syntax/types.html#syntax-comptype}{\mathsf{array}}~({\mathsf{mut}^?}~{\mathit{zt}}) }{ -C \vdash \mathsf{array.new}~x : {\href{../syntax/types.html#aux-unpack}{\mathrm{unpack}}}({\mathit{zt}})~\mathsf{i{\scriptstyle32}} \rightarrow (\mathsf{ref}~x) +C \href{../valid/instructions.html#valid-instr}{\vdash} \href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.new}}~x : {\href{../syntax/types.html#aux-unpack}{\mathrm{unpack}}}({\mathit{zt}})~\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}} \rightarrow (\href{../syntax/types.html#syntax-reftype}{\mathsf{ref}}~x) } \qquad \end{array}\]
    @@ -584,11 +584,11 @@

    Quick search

    \[\begin{array}{@{}c@{}}\displaystyle \frac{ -C{.}\mathsf{types}{}[x] \approx \mathsf{array}~({\mathsf{mut}^?}~{\mathit{zt}}) +C{.}\mathsf{types}{}[x] \approx \href{../syntax/types.html#syntax-comptype}{\mathsf{array}}~({\mathsf{mut}^?}~{\mathit{zt}}) \qquad {{\href{../exec/runtime.html#default-val}{\mathrm{default}}}}_{{\href{../syntax/types.html#aux-unpack}{\mathrm{unpack}}}({\mathit{zt}})} = {\href{../exec/runtime.html#syntax-val}{\mathit{val}}} }{ -C \vdash \mathsf{array.new\_default}~x : \mathsf{i{\scriptstyle32}} \rightarrow (\mathsf{ref}~x) +C \href{../valid/instructions.html#valid-instr}{\vdash} \href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.new\_default}}~x : \href{../syntax/types.html#syntax-numtype}{\mathsf{i32}} \rightarrow (\href{../syntax/types.html#syntax-reftype}{\mathsf{ref}}~x) } \qquad \end{array}\]
    @@ -605,9 +605,9 @@

    Quick search

    \[\begin{array}{@{}c@{}}\displaystyle \frac{ -C{.}\mathsf{types}{}[x] \approx \mathsf{array}~({\mathsf{mut}^?}~{\mathit{zt}}) +C{.}\mathsf{types}{}[x] \approx \href{../syntax/types.html#syntax-comptype}{\mathsf{array}}~({\mathsf{mut}^?}~{\mathit{zt}}) }{ -C \vdash \mathsf{array.new\_fixed}~x~n : {{\href{../syntax/types.html#aux-unpack}{\mathrm{unpack}}}({\mathit{zt}})^{n}} \rightarrow (\mathsf{ref}~x) +C \href{../valid/instructions.html#valid-instr}{\vdash} \href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.new\_fixed}}~x~n : {{\href{../syntax/types.html#aux-unpack}{\mathrm{unpack}}}({\mathit{zt}})^{n}} \rightarrow (\href{../syntax/types.html#syntax-reftype}{\mathsf{ref}}~x) } \qquad \end{array}\]
    @@ -627,11 +627,11 @@

    Quick search

    \[\begin{array}{@{}c@{}}\displaystyle \frac{ -C{.}\mathsf{types}{}[x] \approx \mathsf{array}~({\mathsf{mut}^?}~{\mathit{rt}}) +C{.}\mathsf{types}{}[x] \approx \href{../syntax/types.html#syntax-comptype}{\mathsf{array}}~({\mathsf{mut}^?}~{\mathit{rt}}) \qquad -C \vdash C{.}\mathsf{elems}{}[y] \leq {\mathit{rt}} +C \href{../valid/matching.html#match-reftype}{\vdash} C{.}\mathsf{elems}{}[y] \href{../valid/matching.html#match-reftype}{\leq} {\mathit{rt}} }{ -C \vdash \mathsf{array.new\_elem}~x~y : \mathsf{i{\scriptstyle32}}~\mathsf{i{\scriptstyle32}} \rightarrow (\mathsf{ref}~x) +C \href{../valid/instructions.html#valid-instr}{\vdash} \href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.new\_elem}}~x~y : \href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}~\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}} \rightarrow (\href{../syntax/types.html#syntax-reftype}{\mathsf{ref}}~x) } \qquad \end{array}\]
    @@ -650,13 +650,13 @@

    Quick search

    \[\begin{array}{@{}c@{}}\displaystyle \frac{ -C{.}\mathsf{types}{}[x] \approx \mathsf{array}~({\mathsf{mut}^?}~{\mathit{zt}}) +C{.}\mathsf{types}{}[x] \approx \href{../syntax/types.html#syntax-comptype}{\mathsf{array}}~({\mathsf{mut}^?}~{\mathit{zt}}) \qquad {\href{../syntax/types.html#aux-unpack}{\mathrm{unpack}}}({\mathit{zt}}) = {\href{../syntax/types.html#syntax-numtype}{\mathit{numtype}}} \lor {\href{../syntax/types.html#aux-unpack}{\mathrm{unpack}}}({\mathit{zt}}) = {\href{../syntax/types.html#syntax-vectype}{\mathit{vectype}}} \qquad -C{.}\mathsf{datas}{}[y] = \mathsf{ok} +C{.}\mathsf{datas}{}[y] = \href{../valid/modules.html#valid-data}{\mathsf{ok}} }{ -C \vdash \mathsf{array.new\_data}~x~y : \mathsf{i{\scriptstyle32}}~\mathsf{i{\scriptstyle32}} \rightarrow (\mathsf{ref}~x) +C \href{../valid/instructions.html#valid-instr}{\vdash} \href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.new\_data}}~x~y : \href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}~\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}} \rightarrow (\href{../syntax/types.html#syntax-reftype}{\mathsf{ref}}~x) } \qquad \end{array}\]
    @@ -674,11 +674,11 @@

    Quick search

    \[\begin{array}{@{}c@{}}\displaystyle \frac{ -C{.}\mathsf{types}{}[x] \approx \mathsf{array}~({\mathsf{mut}^?}~{\mathit{zt}}) +C{.}\mathsf{types}{}[x] \approx \href{../syntax/types.html#syntax-comptype}{\mathsf{array}}~({\mathsf{mut}^?}~{\mathit{zt}}) \qquad {{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}^?} = \epsilon \Leftrightarrow {\mathit{zt}} = {\href{../syntax/types.html#aux-unpack}{\mathrm{unpack}}}({\mathit{zt}}) }{ -C \vdash {{\mathsf{array.get}}{\mathsf{\_}}}{{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}^?}}~x : (\mathsf{ref}~\mathsf{null}~x)~\mathsf{i{\scriptstyle32}} \rightarrow {\href{../syntax/types.html#aux-unpack}{\mathrm{unpack}}}({\mathit{zt}}) +C \href{../valid/instructions.html#valid-instr}{\vdash} {\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.get}}}{\mathsf{\_}}{{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}^?}}~x : (\href{../syntax/types.html#syntax-reftype}{\mathsf{ref}}~\mathsf{null}~x)~\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}} \rightarrow {\href{../syntax/types.html#aux-unpack}{\mathrm{unpack}}}({\mathit{zt}}) } \qquad \end{array}\]
    @@ -696,9 +696,9 @@

    Quick search

    \[\begin{array}{@{}c@{}}\displaystyle \frac{ -C{.}\mathsf{types}{}[x] \approx \mathsf{array}~(\mathsf{mut}~{\mathit{zt}}) +C{.}\mathsf{types}{}[x] \approx \href{../syntax/types.html#syntax-comptype}{\mathsf{array}}~(\mathsf{mut}~{\mathit{zt}}) }{ -C \vdash \mathsf{array.set}~x : (\mathsf{ref}~\mathsf{null}~x)~\mathsf{i{\scriptstyle32}}~{\href{../syntax/types.html#aux-unpack}{\mathrm{unpack}}}({\mathit{zt}}) \rightarrow \epsilon +C \href{../valid/instructions.html#valid-instr}{\vdash} \href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.set}}~x : (\href{../syntax/types.html#syntax-reftype}{\mathsf{ref}}~\mathsf{null}~x)~\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}~{\href{../syntax/types.html#aux-unpack}{\mathrm{unpack}}}({\mathit{zt}}) \rightarrow \epsilon } \qquad \end{array}\]
    @@ -711,9 +711,9 @@

    Quick search

    \[\begin{array}{@{}c@{}}\displaystyle \frac{ -C{.}\mathsf{types}{}[x] \approx \mathsf{array}~(\mathsf{mut}~{\mathit{zt}}) +C{.}\mathsf{types}{}[x] \approx \href{../syntax/types.html#syntax-comptype}{\mathsf{array}}~(\mathsf{mut}~{\mathit{zt}}) }{ -C \vdash \mathsf{array.len} : (\mathsf{ref}~\mathsf{null}~\mathsf{array}) \rightarrow \mathsf{i{\scriptstyle32}} +C \href{../valid/instructions.html#valid-instr}{\vdash} \href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.len}} : (\href{../syntax/types.html#syntax-reftype}{\mathsf{ref}}~\mathsf{null}~\href{../syntax/types.html#syntax-heaptype}{\mathsf{array}}) \rightarrow \href{../syntax/types.html#syntax-numtype}{\mathsf{i32}} } \qquad \end{array}\]
    @@ -731,9 +731,9 @@

    Quick search

    \[\begin{array}{@{}c@{}}\displaystyle \frac{ -C{.}\mathsf{types}{}[x] \approx \mathsf{array}~(\mathsf{mut}~{\mathit{zt}}) +C{.}\mathsf{types}{}[x] \approx \href{../syntax/types.html#syntax-comptype}{\mathsf{array}}~(\mathsf{mut}~{\mathit{zt}}) }{ -C \vdash \mathsf{array.fill}~x : (\mathsf{ref}~\mathsf{null}~x)~\mathsf{i{\scriptstyle32}}~{\href{../syntax/types.html#aux-unpack}{\mathrm{unpack}}}({\mathit{zt}})~\mathsf{i{\scriptstyle32}} \rightarrow \epsilon +C \href{../valid/instructions.html#valid-instr}{\vdash} \href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.fill}}~x : (\href{../syntax/types.html#syntax-reftype}{\mathsf{ref}}~\mathsf{null}~x)~\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}~{\href{../syntax/types.html#aux-unpack}{\mathrm{unpack}}}({\mathit{zt}})~\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}} \rightarrow \epsilon } \qquad \end{array}\]
    @@ -754,13 +754,13 @@

    Quick search

    \[\begin{array}{@{}c@{}}\displaystyle \frac{ -C{.}\mathsf{types}{}[x_1] \approx \mathsf{array}~(\mathsf{mut}~{\mathit{zt}}_1) +C{.}\mathsf{types}{}[x_1] \approx \href{../syntax/types.html#syntax-comptype}{\mathsf{array}}~(\mathsf{mut}~{\mathit{zt}}_1) \qquad -C{.}\mathsf{types}{}[x_2] \approx \mathsf{array}~({\mathsf{mut}^?}~{\mathit{zt}}_2) +C{.}\mathsf{types}{}[x_2] \approx \href{../syntax/types.html#syntax-comptype}{\mathsf{array}}~({\mathsf{mut}^?}~{\mathit{zt}}_2) \qquad -C \vdash {\mathit{zt}}_2 \leq {\mathit{zt}}_1 +C \href{../valid/matching.html#match-storagetype}{\vdash} {\mathit{zt}}_2 \href{../valid/matching.html#match-storagetype}{\leq} {\mathit{zt}}_1 }{ -C \vdash \mathsf{array.copy}~x_1~x_2 : (\mathsf{ref}~\mathsf{null}~x_1)~\mathsf{i{\scriptstyle32}}~(\mathsf{ref}~\mathsf{null}~x_2)~\mathsf{i{\scriptstyle32}}~\mathsf{i{\scriptstyle32}} \rightarrow \epsilon +C \href{../valid/instructions.html#valid-instr}{\vdash} \href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.copy}}~x_1~x_2 : (\href{../syntax/types.html#syntax-reftype}{\mathsf{ref}}~\mathsf{null}~x_1)~\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}~(\href{../syntax/types.html#syntax-reftype}{\mathsf{ref}}~\mathsf{null}~x_2)~\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}~\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}} \rightarrow \epsilon } \qquad \end{array}\]
    @@ -781,11 +781,11 @@

    Quick search

    \[\begin{array}{@{}c@{}}\displaystyle \frac{ -C{.}\mathsf{types}{}[x] \approx \mathsf{array}~(\mathsf{mut}~{\mathit{zt}}) +C{.}\mathsf{types}{}[x] \approx \href{../syntax/types.html#syntax-comptype}{\mathsf{array}}~(\mathsf{mut}~{\mathit{zt}}) \qquad -C \vdash C{.}\mathsf{elems}{}[y] \leq {\mathit{zt}} +C \href{../valid/matching.html#match-storagetype}{\vdash} C{.}\mathsf{elems}{}[y] \href{../valid/matching.html#match-storagetype}{\leq} {\mathit{zt}} }{ -C \vdash \mathsf{array.init\_elem}~x~y : (\mathsf{ref}~\mathsf{null}~x)~\mathsf{i{\scriptstyle32}}~\mathsf{i{\scriptstyle32}}~\mathsf{i{\scriptstyle32}} \rightarrow \epsilon +C \href{../valid/instructions.html#valid-instr}{\vdash} \href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.init\_elem}}~x~y : (\href{../syntax/types.html#syntax-reftype}{\mathsf{ref}}~\mathsf{null}~x)~\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}~\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}~\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}} \rightarrow \epsilon } \qquad \end{array}\]
    @@ -805,13 +805,13 @@

    Quick search

    \[\begin{array}{@{}c@{}}\displaystyle \frac{ -C{.}\mathsf{types}{}[x] \approx \mathsf{array}~(\mathsf{mut}~{\mathit{zt}}) +C{.}\mathsf{types}{}[x] \approx \href{../syntax/types.html#syntax-comptype}{\mathsf{array}}~(\mathsf{mut}~{\mathit{zt}}) \qquad {\href{../syntax/types.html#aux-unpack}{\mathrm{unpack}}}({\mathit{zt}}) = {\href{../syntax/types.html#syntax-numtype}{\mathit{numtype}}} \lor {\href{../syntax/types.html#aux-unpack}{\mathrm{unpack}}}({\mathit{zt}}) = {\href{../syntax/types.html#syntax-vectype}{\mathit{vectype}}} \qquad -C{.}\mathsf{datas}{}[y] = \mathsf{ok} +C{.}\mathsf{datas}{}[y] = \href{../valid/modules.html#valid-data}{\mathsf{ok}} }{ -C \vdash \mathsf{array.init\_data}~x~y : (\mathsf{ref}~\mathsf{null}~x)~\mathsf{i{\scriptstyle32}}~\mathsf{i{\scriptstyle32}}~\mathsf{i{\scriptstyle32}} \rightarrow \epsilon +C \href{../valid/instructions.html#valid-instr}{\vdash} \href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.init\_data}}~x~y : (\href{../syntax/types.html#syntax-reftype}{\mathsf{ref}}~\mathsf{null}~x)~\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}~\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}~\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}} \rightarrow \epsilon } \qquad \end{array}\]
    @@ -828,7 +828,7 @@

    Quick search

    \[\begin{array}{@{}c@{}}\displaystyle \frac{ }{ -C \vdash \mathsf{ref.i{\scriptstyle31}} : \mathsf{i{\scriptstyle32}} \rightarrow (\mathsf{ref}~\mathsf{i{\scriptstyle31}}) +C \href{../valid/instructions.html#valid-instr}{\vdash} \href{../syntax/instructions.html#syntax-instr-i31}{\mathsf{ref.i31}} : \href{../syntax/types.html#syntax-numtype}{\mathsf{i32}} \rightarrow (\href{../syntax/types.html#syntax-reftype}{\mathsf{ref}}~\href{../syntax/types.html#syntax-heaptype}{\mathsf{i31}}) } \qquad \end{array}\] @@ -842,7 +842,7 @@

    Quick search

    \[\begin{array}{@{}c@{}}\displaystyle \frac{ }{ -C \vdash {{\mathsf{i{\scriptstyle31}.get}}{\mathsf{\_}}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}} : (\mathsf{ref}~\mathsf{null}~\mathsf{i{\scriptstyle31}}) \rightarrow \mathsf{i{\scriptstyle32}} +C \href{../valid/instructions.html#valid-instr}{\vdash} {\href{../syntax/instructions.html#syntax-instr-i31}{\mathsf{i31.get}}}{\mathsf{\_}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}} : (\href{../syntax/types.html#syntax-reftype}{\mathsf{ref}}~\mathsf{null}~\href{../syntax/types.html#syntax-heaptype}{\mathsf{i31}}) \rightarrow \href{../syntax/types.html#syntax-numtype}{\mathsf{i32}} } \qquad \end{array}\] @@ -859,7 +859,7 @@

    Quick search

    \[\begin{array}{@{}c@{}}\displaystyle \frac{ }{ -C \vdash \mathsf{any.convert\_extern} : (\mathsf{ref}~{\mathsf{null}^?}~\mathsf{extern}) \rightarrow (\mathsf{ref}~{\mathsf{null}^?}~\mathsf{any}) +C \href{../valid/instructions.html#valid-instr}{\vdash} \href{../syntax/instructions.html#syntax-instr-extern}{\mathsf{any.convert\_extern}} : (\href{../syntax/types.html#syntax-reftype}{\mathsf{ref}}~{\mathsf{null}^?}~\href{../syntax/types.html#syntax-heaptype}{\mathsf{extern}}) \rightarrow (\href{../syntax/types.html#syntax-reftype}{\mathsf{ref}}~{\mathsf{null}^?}~\href{../syntax/types.html#syntax-heaptype}{\mathsf{any}}) } \qquad \end{array}\] @@ -873,7 +873,7 @@

    Quick search

    \[\begin{array}{@{}c@{}}\displaystyle \frac{ }{ -C \vdash \mathsf{extern.convert\_any} : (\mathsf{ref}~{\mathsf{null}^?}~\mathsf{any}) \rightarrow (\mathsf{ref}~{\mathsf{null}^?}~\mathsf{extern}) +C \href{../valid/instructions.html#valid-instr}{\vdash} \href{../syntax/instructions.html#syntax-instr-extern}{\mathsf{extern.convert\_any}} : (\href{../syntax/types.html#syntax-reftype}{\mathsf{ref}}~{\mathsf{null}^?}~\href{../syntax/types.html#syntax-heaptype}{\mathsf{any}}) \rightarrow (\href{../syntax/types.html#syntax-reftype}{\mathsf{ref}}~{\mathsf{null}^?}~\href{../syntax/types.html#syntax-heaptype}{\mathsf{extern}}) } \qquad \end{array}\] @@ -881,10 +881,10 @@

    Quick search

    Vector Instructions

    -

    Vector instructions can have a prefix to describe the shape of the operand. Packed numeric types, \(\mathsf{i{\scriptstyle8}}\) and \(\mathsf{i{\scriptstyle16}}\), are not value types. An auxiliary function maps such packed type shapes to value types:

    +

    Vector instructions can have a prefix to describe the shape of the operand. Packed numeric types, \(\href{../syntax/types.html#syntax-storagetype}{\mathsf{i8}}\) and \(\href{../syntax/types.html#syntax-storagetype}{\mathsf{i16}}\), are not value types. An auxiliary function maps such packed type shapes to value types:

    \[\begin{split}\begin{array}{@{}lcl@{}l@{}} -{\href{../syntax/types.html#aux-unpack}{\mathrm{unpack}}}({{{\mathsf{i}}{n}}{\href{../syntax/instructions.html#syntax-shape}{\mathsf{x}}}}{N}) &=& {\href{../syntax/types.html#aux-unpack}{\mathrm{unpack}}}({\mathsf{i}}{n}) \\ +{\href{../syntax/types.html#aux-unpack}{\mathrm{unpack}}}({{\mathsf{i}}{n}}{\mathsf{x}}{N}) &=& {\href{../syntax/types.html#aux-unpack}{\mathrm{unpack}}}({\mathsf{i}}{n}) \\ \end{array}\end{split}\]

    \(\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}\mathsf{.}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{const}}~c\)

    @@ -895,7 +895,7 @@

    Quick search

    \[\begin{array}{@{}c@{}}\displaystyle \frac{ }{ -C \vdash \mathsf{v{\scriptstyle128}}{.}\mathsf{const}~c : \epsilon \rightarrow \mathsf{v{\scriptstyle128}} +C \href{../valid/instructions.html#valid-instr}{\vdash} \href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c : \epsilon \rightarrow \href{../syntax/types.html#syntax-vectype}{\mathsf{v128}} } \qquad \end{array}\] @@ -909,7 +909,7 @@

    Quick search

    \[\begin{array}{@{}c@{}}\displaystyle \frac{ }{ -C \vdash \mathsf{v{\scriptstyle128}} . {\href{../syntax/instructions.html#syntax-vvunop}{\mathit{vvunop}}} : \mathsf{v{\scriptstyle128}} \rightarrow \mathsf{v{\scriptstyle128}} +C \href{../valid/instructions.html#valid-instr}{\vdash} \href{../syntax/types.html#syntax-vectype}{\mathsf{v128}} {.} {\href{../syntax/instructions.html#syntax-vvunop}{\mathit{vvunop}}} : \href{../syntax/types.html#syntax-vectype}{\mathsf{v128}} \rightarrow \href{../syntax/types.html#syntax-vectype}{\mathsf{v128}} } \qquad \end{array}\] @@ -929,7 +929,7 @@

    Quick search

    \[\begin{array}{@{}c@{}}\displaystyle \frac{ }{ -C \vdash \mathsf{v{\scriptstyle128}} . {\href{../syntax/instructions.html#syntax-vvternop}{\mathit{vvternop}}} : \mathsf{v{\scriptstyle128}}~\mathsf{v{\scriptstyle128}}~\mathsf{v{\scriptstyle128}} \rightarrow \mathsf{v{\scriptstyle128}} +C \href{../valid/instructions.html#valid-instr}{\vdash} \href{../syntax/types.html#syntax-vectype}{\mathsf{v128}} {.} {\href{../syntax/instructions.html#syntax-vvternop}{\mathit{vvternop}}} : \href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}~\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}~\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}} \rightarrow \href{../syntax/types.html#syntax-vectype}{\mathsf{v128}} } \qquad \end{array}\] @@ -943,7 +943,7 @@

    Quick search

    \[\begin{array}{@{}c@{}}\displaystyle \frac{ }{ -C \vdash \mathsf{v{\scriptstyle128}} . {\href{../syntax/instructions.html#syntax-vvtestop}{\mathit{vvtestop}}} : \mathsf{v{\scriptstyle128}} \rightarrow \mathsf{i{\scriptstyle32}} +C \href{../valid/instructions.html#valid-instr}{\vdash} \href{../syntax/types.html#syntax-vectype}{\mathsf{v128}} {.} {\href{../syntax/instructions.html#syntax-vvtestop}{\mathit{vvtestop}}} : \href{../syntax/types.html#syntax-vectype}{\mathsf{v128}} \rightarrow \href{../syntax/types.html#syntax-numtype}{\mathsf{i32}} } \qquad \end{array}\] @@ -957,7 +957,7 @@

    Quick search

    \[\begin{array}{@{}c@{}}\displaystyle \frac{ }{ -C \vdash {\mathit{sh}} . {\mathit{vunop}}_{\mathit{sh}} : \mathsf{v{\scriptstyle128}} \rightarrow \mathsf{v{\scriptstyle128}} +C \href{../valid/instructions.html#valid-instr}{\vdash} {\mathit{sh}} {.} {\mathit{vunop}}_{\mathit{sh}} : \href{../syntax/types.html#syntax-vectype}{\mathsf{v128}} \rightarrow \href{../syntax/types.html#syntax-vectype}{\mathsf{v128}} } \qquad \end{array}\] @@ -971,7 +971,7 @@

    Quick search

    \[\begin{array}{@{}c@{}}\displaystyle \frac{ }{ -C \vdash {\mathit{sh}} . {\mathit{vbinop}}_{\mathit{sh}} : \mathsf{v{\scriptstyle128}}~\mathsf{v{\scriptstyle128}} \rightarrow \mathsf{v{\scriptstyle128}} +C \href{../valid/instructions.html#valid-instr}{\vdash} {\mathit{sh}} {.} {\mathit{vbinop}}_{\mathit{sh}} : \href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}~\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}} \rightarrow \href{../syntax/types.html#syntax-vectype}{\mathsf{v128}} } \qquad \end{array}\] @@ -985,7 +985,7 @@

    Quick search

    \[\begin{array}{@{}c@{}}\displaystyle \frac{ }{ -C \vdash {\mathit{sh}} . {\mathit{vtestop}}_{\mathit{sh}} : \mathsf{v{\scriptstyle128}} \rightarrow \mathsf{i{\scriptstyle32}} +C \href{../valid/instructions.html#valid-instr}{\vdash} {\mathit{sh}} {.} {\mathit{vtestop}}_{\mathit{sh}} : \href{../syntax/types.html#syntax-vectype}{\mathsf{v128}} \rightarrow \href{../syntax/types.html#syntax-numtype}{\mathsf{i32}} } \qquad \end{array}\] @@ -999,7 +999,7 @@

    Quick search

    \[\begin{array}{@{}c@{}}\displaystyle \frac{ }{ -C \vdash {\mathit{sh}} . {\mathit{vrelop}}_{\mathit{sh}} : \mathsf{v{\scriptstyle128}}~\mathsf{v{\scriptstyle128}} \rightarrow \mathsf{v{\scriptstyle128}} +C \href{../valid/instructions.html#valid-instr}{\vdash} {\mathit{sh}} {.} {\mathit{vrelop}}_{\mathit{sh}} : \href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}~\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}} \rightarrow \href{../syntax/types.html#syntax-vectype}{\mathsf{v128}} } \qquad \end{array}\] @@ -1013,7 +1013,7 @@

    Quick search

    \[\begin{array}{@{}c@{}}\displaystyle \frac{ }{ -C \vdash {\mathit{sh}} . {\mathit{vshiftop}}_{\mathit{sh}} : \mathsf{v{\scriptstyle128}}~\mathsf{i{\scriptstyle32}} \rightarrow \mathsf{v{\scriptstyle128}} +C \href{../valid/instructions.html#valid-instr}{\vdash} {\mathit{sh}} {.} {\mathit{vshiftop}}_{\mathit{sh}} : \href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}~\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}} \rightarrow \href{../syntax/types.html#syntax-vectype}{\mathsf{v128}} } \qquad \end{array}\] @@ -1027,7 +1027,7 @@

    Quick search

    \[\begin{array}{@{}c@{}}\displaystyle \frac{ }{ -C \vdash {\mathit{sh}}{.}\mathsf{bitmask} : \mathsf{v{\scriptstyle128}} \rightarrow \mathsf{i{\scriptstyle32}} +C \href{../valid/instructions.html#valid-instr}{\vdash} {\mathit{sh}}{.}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{bitmask}} : \href{../syntax/types.html#syntax-vectype}{\mathsf{v128}} \rightarrow \href{../syntax/types.html#syntax-numtype}{\mathsf{i32}} } \qquad \end{array}\] @@ -1041,7 +1041,7 @@

    Quick search

    \[\begin{array}{@{}c@{}}\displaystyle \frac{ }{ -C \vdash {\mathit{sh}}{.}\mathsf{swizzle} : \mathsf{v{\scriptstyle128}}~\mathsf{v{\scriptstyle128}} \rightarrow \mathsf{v{\scriptstyle128}} +C \href{../valid/instructions.html#valid-instr}{\vdash} {\mathit{sh}}{.}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{swizzle}} : \href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}~\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}} \rightarrow \href{../syntax/types.html#syntax-vectype}{\mathsf{v128}} } \qquad \end{array}\] @@ -1057,7 +1057,7 @@

    Quick search

    \frac{ (i < 2 \cdot {\href{../syntax/instructions.html#aux-dim}{\mathrm{dim}}}({\mathit{sh}}))^\ast }{ -C \vdash {\mathit{sh}}{.}\mathsf{shuffle}~{i^\ast} : \mathsf{v{\scriptstyle128}}~\mathsf{v{\scriptstyle128}} \rightarrow \mathsf{v{\scriptstyle128}} +C \href{../valid/instructions.html#valid-instr}{\vdash} {\mathit{sh}}{.}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{shuffle}}~{i^\ast} : \href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}~\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}} \rightarrow \href{../syntax/types.html#syntax-vectype}{\mathsf{v128}} } \qquad \end{array}\] @@ -1072,7 +1072,7 @@

    Quick search

    \[\begin{array}{@{}c@{}}\displaystyle \frac{ }{ -C \vdash {\mathit{sh}}{.}\mathsf{splat} : {\href{../syntax/types.html#aux-unpack}{\mathrm{unpack}}}({\mathit{sh}}) \rightarrow \mathsf{v{\scriptstyle128}} +C \href{../valid/instructions.html#valid-instr}{\vdash} {\mathit{sh}}{.}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{splat}} : {\href{../syntax/types.html#aux-unpack}{\mathrm{unpack}}}({\mathit{sh}}) \rightarrow \href{../syntax/types.html#syntax-vectype}{\mathsf{v128}} } \qquad \end{array}\] @@ -1089,7 +1089,7 @@

    Quick search

    \frac{ i < {\href{../syntax/instructions.html#aux-dim}{\mathrm{dim}}}({\mathit{sh}}) }{ -C \vdash {{\mathit{sh}}{.}\mathsf{extract\_lane\_}}{{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}^?}}~i : \mathsf{v{\scriptstyle128}} \rightarrow {\href{../syntax/types.html#aux-unpack}{\mathrm{unpack}}}({\mathit{sh}}) +C \href{../valid/instructions.html#valid-instr}{\vdash} {{\mathit{sh}}{.}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{extract\_lane}}}{\mathsf{\_}}{{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}^?}}~i : \href{../syntax/types.html#syntax-vectype}{\mathsf{v128}} \rightarrow {\href{../syntax/types.html#aux-unpack}{\mathrm{unpack}}}({\mathit{sh}}) } \qquad \end{array}\] @@ -1106,7 +1106,7 @@

    Quick search

    \frac{ i < {\href{../syntax/instructions.html#aux-dim}{\mathrm{dim}}}({\mathit{sh}}) }{ -C \vdash {\mathit{sh}}{.}\mathsf{replace\_lane}~i : \mathsf{v{\scriptstyle128}}~{\href{../syntax/types.html#aux-unpack}{\mathrm{unpack}}}({\mathit{sh}}) \rightarrow \mathsf{v{\scriptstyle128}} +C \href{../valid/instructions.html#valid-instr}{\vdash} {\mathit{sh}}{.}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{replace\_lane}}~i : \href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}~{\href{../syntax/types.html#aux-unpack}{\mathrm{unpack}}}({\mathit{sh}}) \rightarrow \href{../syntax/types.html#syntax-vectype}{\mathsf{v128}} } \qquad \end{array}\] @@ -1120,7 +1120,7 @@

    Quick search

    \[\begin{array}{@{}c@{}}\displaystyle \frac{ }{ -C \vdash {\mathit{sh}}_1 . {{{{{\mathit{vextunop}}}{\mathsf{\_}}}{{\mathit{sh}}_2}}{\mathsf{\_}}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}} : \mathsf{v{\scriptstyle128}} \rightarrow \mathsf{v{\scriptstyle128}} +C \href{../valid/instructions.html#valid-instr}{\vdash} {\mathit{sh}}_1 {.} {{\mathit{vextunop}}}{\mathsf{\_}}{{\mathit{sh}}_2}{\mathsf{\_}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}} : \href{../syntax/types.html#syntax-vectype}{\mathsf{v128}} \rightarrow \href{../syntax/types.html#syntax-vectype}{\mathsf{v128}} } \qquad \end{array}\] @@ -1134,7 +1134,7 @@

    Quick search

    \[\begin{array}{@{}c@{}}\displaystyle \frac{ }{ -C \vdash {\mathit{sh}}_1 . {{{{{\mathit{vextbinop}}}{\mathsf{\_}}}{{\mathit{sh}}_2}}{\mathsf{\_}}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}} : \mathsf{v{\scriptstyle128}}~\mathsf{v{\scriptstyle128}} \rightarrow \mathsf{v{\scriptstyle128}} +C \href{../valid/instructions.html#valid-instr}{\vdash} {\mathit{sh}}_1 {.} {{\mathit{vextbinop}}}{\mathsf{\_}}{{\mathit{sh}}_2}{\mathsf{\_}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}} : \href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}~\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}} \rightarrow \href{../syntax/types.html#syntax-vectype}{\mathsf{v128}} } \qquad \end{array}\] @@ -1148,7 +1148,7 @@

    Quick search

    \[\begin{array}{@{}c@{}}\displaystyle \frac{ }{ -C \vdash {{{{{\mathit{sh}}_1{.}\mathsf{narrow}}{\mathsf{\_}}}{{\mathit{sh}}_2}}{\mathsf{\_}}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}} : \mathsf{v{\scriptstyle128}}~\mathsf{v{\scriptstyle128}} \rightarrow \mathsf{v{\scriptstyle128}} +C \href{../valid/instructions.html#valid-instr}{\vdash} {{\mathit{sh}}_1{.}\href{../syntax/instructions.html#syntax-instr-vec}{\mathsf{narrow}}}{\mathsf{\_}}{{\mathit{sh}}_2}{\mathsf{\_}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}} : \href{../syntax/types.html#syntax-vectype}{\mathsf{v128}}~\href{../syntax/types.html#syntax-vectype}{\mathsf{v128}} \rightarrow \href{../syntax/types.html#syntax-vectype}{\mathsf{v128}} } \qquad \end{array}\] @@ -1163,7 +1163,7 @@

    Quick search

    \frac{ {{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}^?} = \epsilon \Leftrightarrow {\href{../syntax/instructions.html#aux-lanetype}{\mathrm{lanetype}}}({\mathit{sh}}_1) = {\mathit{imm}}_1 \land {\href{../syntax/instructions.html#aux-lanetype}{\mathrm{lanetype}}}({\mathit{sh}}_2) = {\mathit{imm}}_2 \land {|{\mathit{imm}}_1|} > {|{\mathit{imm}}_2|} \lor {\href{../syntax/instructions.html#aux-lanetype}{\mathrm{lanetype}}}({\mathit{sh}}_1) = {{\mathsf{f}}{n}}_1 \land {\href{../syntax/instructions.html#aux-lanetype}{\mathrm{lanetype}}}({\mathit{sh}}_2) = {{\mathsf{f}}{n}}_2 }{ -C \vdash {\mathit{sh}}_1 . {{{\mathit{vcvtop}}}{\mathsf{\_}}}{{\mathit{sh}}_2} : \mathsf{v{\scriptstyle128}} \rightarrow \mathsf{v{\scriptstyle128}} +C \href{../valid/instructions.html#valid-instr}{\vdash} {\mathit{sh}}_1 {.} {{\mathit{vcvtop}}}{\mathsf{\_}}{{\mathit{sh}}_2} : \href{../syntax/types.html#syntax-vectype}{\mathsf{v128}} \rightarrow \href{../syntax/types.html#syntax-vectype}{\mathsf{v128}} } \qquad \end{array}\] @@ -1182,9 +1182,9 @@

    Quick search

    \[\begin{array}{@{}c@{}}\displaystyle \frac{ -C{.}\mathsf{locals}{}[x] = \mathsf{set}~t +C{.}\mathsf{locals}{}[x] = \href{../valid/conventions.html#syntax-init}{\mathsf{set}}~t }{ -C \vdash \mathsf{local.get}~x : \epsilon \rightarrow t +C \href{../valid/instructions.html#valid-instr}{\vdash} \href{../syntax/instructions.html#syntax-instr-variable}{\mathsf{local.get}}~x : \epsilon \rightarrow t } \qquad \end{array}\]
    @@ -1201,7 +1201,7 @@

    Quick search

    \frac{ C{.}\mathsf{locals}{}[x] = {\href{../valid/conventions.html#syntax-init}{\mathit{init}}}~t }{ -C \vdash \mathsf{local.set}~x : t~{\rightarrow}_{x}\,\epsilon +C \href{../valid/instructions.html#valid-instr}{\vdash} \href{../syntax/instructions.html#syntax-instr-variable}{\mathsf{local.set}}~x : t~\mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}}~(x)~\epsilon } \qquad \end{array}\] @@ -1218,7 +1218,7 @@

    Quick search

    \frac{ C{.}\mathsf{locals}{}[x] = {\href{../valid/conventions.html#syntax-init}{\mathit{init}}}~t }{ -C \vdash \mathsf{local.tee}~x : t~{\rightarrow}_{x}\,t +C \href{../valid/instructions.html#valid-instr}{\vdash} \href{../syntax/instructions.html#syntax-instr-variable}{\mathsf{local.tee}}~x : t~\mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}}~(x)~t } \qquad \end{array}\] @@ -1235,7 +1235,7 @@

    Quick search

    \frac{ C{.}\mathsf{globals}{}[x] = {\mathsf{mut}^?}~t }{ -C \vdash \mathsf{global.get}~x : \epsilon \rightarrow t +C \href{../valid/instructions.html#valid-instr}{\vdash} \href{../syntax/instructions.html#syntax-instr-variable}{\mathsf{global.get}}~x : \epsilon \rightarrow t } \qquad \end{array}\] @@ -1253,7 +1253,7 @@

    Quick search

    \frac{ C{.}\mathsf{globals}{}[x] = \mathsf{mut}~t }{ -C \vdash \mathsf{global.set}~x : t \rightarrow \epsilon +C \href{../valid/instructions.html#valid-instr}{\vdash} \href{../syntax/instructions.html#syntax-instr-variable}{\mathsf{global.set}}~x : t \rightarrow \epsilon } \qquad \end{array}\] @@ -1273,7 +1273,7 @@

    Quick search

    \frac{ C{.}\mathsf{tables}{}[x] = {\mathit{lim}}~{\mathit{rt}} }{ -C \vdash \mathsf{table.get}~x : \mathsf{i{\scriptstyle32}} \rightarrow {\mathit{rt}} +C \href{../valid/instructions.html#valid-instr}{\vdash} \href{../syntax/instructions.html#syntax-instr-table}{\mathsf{table.get}}~x : \href{../syntax/types.html#syntax-numtype}{\mathsf{i32}} \rightarrow {\mathit{rt}} } \qquad \end{array}\] @@ -1290,7 +1290,7 @@

    Quick search

    \frac{ C{.}\mathsf{tables}{}[x] = {\mathit{lim}}~{\mathit{rt}} }{ -C \vdash \mathsf{table.set}~x : \mathsf{i{\scriptstyle32}}~{\mathit{rt}} \rightarrow \epsilon +C \href{../valid/instructions.html#valid-instr}{\vdash} \href{../syntax/instructions.html#syntax-instr-table}{\mathsf{table.set}}~x : \href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}~{\mathit{rt}} \rightarrow \epsilon } \qquad \end{array}\] @@ -1306,7 +1306,7 @@

    Quick search

    \frac{ C{.}\mathsf{tables}{}[x] = {\mathit{lim}}~{\mathit{rt}} }{ -C \vdash \mathsf{table.size}~x : \epsilon \rightarrow \mathsf{i{\scriptstyle32}} +C \href{../valid/instructions.html#valid-instr}{\vdash} \href{../syntax/instructions.html#syntax-instr-table}{\mathsf{table.size}}~x : \epsilon \rightarrow \href{../syntax/types.html#syntax-numtype}{\mathsf{i32}} } \qquad \end{array}\] @@ -1323,7 +1323,7 @@

    Quick search

    \frac{ C{.}\mathsf{tables}{}[x] = {\mathit{lim}}~{\mathit{rt}} }{ -C \vdash \mathsf{table.grow}~x : {\mathit{rt}}~\mathsf{i{\scriptstyle32}} \rightarrow \mathsf{i{\scriptstyle32}} +C \href{../valid/instructions.html#valid-instr}{\vdash} \href{../syntax/instructions.html#syntax-instr-table}{\mathsf{table.grow}}~x : {\mathit{rt}}~\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}} \rightarrow \href{../syntax/types.html#syntax-numtype}{\mathsf{i32}} } \qquad \end{array}\] @@ -1340,7 +1340,7 @@

    Quick search

    \frac{ C{.}\mathsf{tables}{}[x] = {\mathit{lim}}~{\mathit{rt}} }{ -C \vdash \mathsf{table.fill}~x : \mathsf{i{\scriptstyle32}}~{\mathit{rt}}~\mathsf{i{\scriptstyle32}} \rightarrow \epsilon +C \href{../valid/instructions.html#valid-instr}{\vdash} \href{../syntax/instructions.html#syntax-instr-table}{\mathsf{table.fill}}~x : \href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}~{\mathit{rt}}~\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}} \rightarrow \epsilon } \qquad \end{array}\] @@ -1362,9 +1362,9 @@

    Quick search

    \qquad C{.}\mathsf{tables}{}[x_2] = {\mathit{lim}}_2~{\mathit{rt}}_2 \qquad -C \vdash {\mathit{rt}}_2 \leq {\mathit{rt}}_1 +C \href{../valid/matching.html#match-reftype}{\vdash} {\mathit{rt}}_2 \href{../valid/matching.html#match-reftype}{\leq} {\mathit{rt}}_1 }{ -C \vdash \mathsf{table.copy}~x_1~x_2 : \mathsf{i{\scriptstyle32}}~\mathsf{i{\scriptstyle32}}~\mathsf{i{\scriptstyle32}} \rightarrow \epsilon +C \href{../valid/instructions.html#valid-instr}{\vdash} \href{../syntax/instructions.html#syntax-instr-table}{\mathsf{table.copy}}~x_1~x_2 : \href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}~\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}~\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}} \rightarrow \epsilon } \qquad \end{array}\] @@ -1386,9 +1386,9 @@

    Quick search

    \qquad C{.}\mathsf{elems}{}[y] = {\mathit{rt}}_2 \qquad -C \vdash {\mathit{rt}}_2 \leq {\mathit{rt}}_1 +C \href{../valid/matching.html#match-reftype}{\vdash} {\mathit{rt}}_2 \href{../valid/matching.html#match-reftype}{\leq} {\mathit{rt}}_1 }{ -C \vdash \mathsf{table.init}~x~y : \mathsf{i{\scriptstyle32}}~\mathsf{i{\scriptstyle32}}~\mathsf{i{\scriptstyle32}} \rightarrow \epsilon +C \href{../valid/instructions.html#valid-instr}{\vdash} \href{../syntax/instructions.html#syntax-instr-table}{\mathsf{table.init}}~x~y : \href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}~\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}~\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}} \rightarrow \epsilon } \qquad \end{array}\] @@ -1404,7 +1404,7 @@

    Quick search

    \frac{ C{.}\mathsf{elems}{}[x] = {\mathit{rt}} }{ -C \vdash \mathsf{elem.drop}~x : \epsilon \rightarrow \epsilon +C \href{../valid/instructions.html#valid-instr}{\vdash} \href{../syntax/instructions.html#syntax-instr-table}{\mathsf{elem.drop}}~x : \epsilon \rightarrow \epsilon } \qquad \end{array}\] @@ -1430,7 +1430,7 @@

    Quick search

    \qquad {n^?} = \epsilon \lor {\mathit{nt}} = {\mathsf{i}}{n} }{ -C \vdash {{\mathit{nt}}{.}\mathsf{load}}{{({{n}{\mathsf{\_}}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}})^?}}~x~{\href{../syntax/instructions.html#syntax-memarg}{\mathit{memarg}}} : \mathsf{i{\scriptstyle32}} \rightarrow {\mathit{nt}} +C \href{../valid/instructions.html#valid-instr}{\vdash} {{\mathit{nt}}{.}\href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{load}}}{{({n}{\mathsf{\_}}{{\href{../syntax/instructions.html#syntax-sx}{\mathit{sx}}}})^?}}~x~{\href{../syntax/instructions.html#syntax-memarg}{\mathit{memarg}}} : \href{../syntax/types.html#syntax-numtype}{\mathsf{i32}} \rightarrow {\mathit{nt}} } \qquad \end{array}\] @@ -1477,7 +1477,7 @@

    \(t\mathsf{.}\href{../syntax/inst \qquad {n^?} = \epsilon \lor {\mathit{nt}} = {\mathsf{i}}{n} }{ -C \vdash {{\mathit{nt}}{.}\mathsf{store}}{{n^?}}~x~{\href{../syntax/instructions.html#syntax-memarg}{\mathit{memarg}}} : \mathsf{i{\scriptstyle32}}~{\mathit{nt}} \rightarrow \epsilon +C \href{../valid/instructions.html#valid-instr}{\vdash} {{\mathit{nt}}{.}\href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{store}}}{{n^?}}~x~{\href{../syntax/instructions.html#syntax-memarg}{\mathit{memarg}}} : \href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}~{\mathit{nt}} \rightarrow \epsilon } \qquad \end{array}\] @@ -1603,7 +1603,7 @@

    \(t\mathsf{.}\href{../syntax/inst \frac{ C{.}\mathsf{mems}{}[x] = {\mathit{mt}} }{ -C \vdash \mathsf{memory.size}~x : \epsilon \rightarrow \mathsf{i{\scriptstyle32}} +C \href{../valid/instructions.html#valid-instr}{\vdash} \href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{memory.size}}~x : \epsilon \rightarrow \href{../syntax/types.html#syntax-numtype}{\mathsf{i32}} } \qquad \end{array}\] @@ -1619,7 +1619,7 @@

    \(t\mathsf{.}\href{../syntax/inst \frac{ C{.}\mathsf{mems}{}[x] = {\mathit{mt}} }{ -C \vdash \mathsf{memory.grow}~x : \mathsf{i{\scriptstyle32}} \rightarrow \mathsf{i{\scriptstyle32}} +C \href{../valid/instructions.html#valid-instr}{\vdash} \href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{memory.grow}}~x : \href{../syntax/types.html#syntax-numtype}{\mathsf{i32}} \rightarrow \href{../syntax/types.html#syntax-numtype}{\mathsf{i32}} } \qquad \end{array}\] @@ -1635,7 +1635,7 @@

    \(t\mathsf{.}\href{../syntax/inst \frac{ C{.}\mathsf{mems}{}[x] = {\mathit{mt}} }{ -C \vdash \mathsf{memory.fill}~x : \mathsf{i{\scriptstyle32}}~\mathsf{i{\scriptstyle32}}~\mathsf{i{\scriptstyle32}} \rightarrow \epsilon +C \href{../valid/instructions.html#valid-instr}{\vdash} \href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{memory.fill}}~x : \href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}~\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}~\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}} \rightarrow \epsilon } \qquad \end{array}\] @@ -1654,7 +1654,7 @@

    \(t\mathsf{.}\href{../syntax/inst \qquad C{.}\mathsf{mems}{}[x_2] = {\mathit{mt}}_2 }{ -C \vdash \mathsf{memory.copy}~x_1~x_2 : \mathsf{i{\scriptstyle32}}~\mathsf{i{\scriptstyle32}}~\mathsf{i{\scriptstyle32}} \rightarrow \epsilon +C \href{../valid/instructions.html#valid-instr}{\vdash} \href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{memory.copy}}~x_1~x_2 : \href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}~\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}~\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}} \rightarrow \epsilon } \qquad \end{array}\] @@ -1671,9 +1671,9 @@

    \(t\mathsf{.}\href{../syntax/inst \frac{ C{.}\mathsf{mems}{}[x] = {\mathit{mt}} \qquad -C{.}\mathsf{datas}{}[y] = \mathsf{ok} +C{.}\mathsf{datas}{}[y] = \href{../valid/modules.html#valid-data}{\mathsf{ok}} }{ -C \vdash \mathsf{memory.init}~x~y : \mathsf{i{\scriptstyle32}}~\mathsf{i{\scriptstyle32}}~\mathsf{i{\scriptstyle32}} \rightarrow \epsilon +C \href{../valid/instructions.html#valid-instr}{\vdash} \href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{memory.init}}~x~y : \href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}~\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}~\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}} \rightarrow \epsilon } \qquad \end{array}\] @@ -1687,9 +1687,9 @@

    \(t\mathsf{.}\href{../syntax/inst
    \[\begin{array}{@{}c@{}}\displaystyle \frac{ -C{.}\mathsf{datas}{}[x] = \mathsf{ok} +C{.}\mathsf{datas}{}[x] = \href{../valid/modules.html#valid-data}{\mathsf{ok}} }{ -C \vdash \mathsf{data.drop}~x : \epsilon \rightarrow \epsilon +C \href{../valid/instructions.html#valid-instr}{\vdash} \href{../syntax/instructions.html#syntax-instr-memory}{\mathsf{data.drop}}~x : \epsilon \rightarrow \epsilon } \qquad \end{array}\]
    @@ -1703,17 +1703,17 @@

    \(t\mathsf{.}\href{../syntax/inst
  • The block type must be valid as some instruction type \([t_1^\ast] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}} [t_2^\ast]\).

  • Let \(C'\) be the same context as \(C\), but with the result type \([t_2^\ast]\) prepended to the \(\href{../valid/conventions.html#context}{\mathsf{labels}}\) list.

  • Under context \(C'\), -the instruction sequence \(\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}^\ast\) must be valid with type \([t_1^\ast] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}} [t_2^\ast]\).

  • +the instruction sequence \(\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}^\ast\) must be valid with type \([t_1^\ast] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}} [t_2^\ast]\).

  • Then the compound instruction is valid with type \([t_1^\ast] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}} [t_2^\ast]\).

  • \[\begin{array}{@{}c@{}}\displaystyle \frac{ -C \vdash {\mathit{bt}} : {t_1^\ast} \rightarrow {t_2^\ast} +C \href{../valid/types.html#valid-blocktype}{\vdash} {\mathit{bt}} : {t_1^\ast} \rightarrow {t_2^\ast} \qquad -C, \mathsf{labels}~({t_2^\ast}) \vdash {{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast} : {t_1^\ast}~{\rightarrow}_{{x^\ast}}\,{t_2^\ast} +C, \mathsf{labels}~({t_2^\ast}) \href{../valid/instructions.html#valid-instrs}{\vdash} {{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast} : {t_1^\ast}~\mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}}~({x^\ast})~{t_2^\ast} }{ -C \vdash \mathsf{block}~{\mathit{bt}}~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast} : {t_1^\ast} \rightarrow {t_2^\ast} +C \href{../valid/instructions.html#valid-instr}{\vdash} \href{../syntax/instructions.html#syntax-instr-control}{\mathsf{block}}~{\mathit{bt}}~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast} : {t_1^\ast} \rightarrow {t_2^\ast} } \qquad \end{array}\]
    @@ -1728,17 +1728,17 @@

    \(t\mathsf{.}\href{../syntax/inst
  • The block type must be valid as some instruction type \([t_1^\ast] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}}_{x^\ast} [t_2^\ast]\).

  • Let \(C'\) be the same context as \(C\), but with the result type \([t_1^\ast]\) prepended to the \(\href{../valid/conventions.html#context}{\mathsf{labels}}\) list.

  • Under context \(C'\), -the instruction sequence \(\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}^\ast\) must be valid with type \([t_1^\ast] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}} [t_2^\ast]\).

  • +the instruction sequence \(\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}^\ast\) must be valid with type \([t_1^\ast] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}} [t_2^\ast]\).

  • Then the compound instruction is valid with type \([t_1^\ast] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}} [t_2^\ast]\).

  • \[\begin{array}{@{}c@{}}\displaystyle \frac{ -C \vdash {\mathit{bt}} : {t_1^\ast} \rightarrow {t_2^\ast} +C \href{../valid/types.html#valid-blocktype}{\vdash} {\mathit{bt}} : {t_1^\ast} \rightarrow {t_2^\ast} \qquad -C, \mathsf{labels}~({t_1^\ast}) \vdash {{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast} : {t_1^\ast}~{\rightarrow}_{{x^\ast}}\,{t_2^\ast} +C, \mathsf{labels}~({t_1^\ast}) \href{../valid/instructions.html#valid-instrs}{\vdash} {{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast} : {t_1^\ast}~\mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}}~({x^\ast})~{t_2^\ast} }{ -C \vdash \mathsf{loop}~{\mathit{bt}}~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast} : {t_1^\ast} \rightarrow {t_2^\ast} +C \href{../valid/instructions.html#valid-instr}{\vdash} \href{../syntax/instructions.html#syntax-instr-control}{\mathsf{loop}}~{\mathit{bt}}~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast} : {t_1^\ast} \rightarrow {t_2^\ast} } \qquad \end{array}\]
    @@ -1753,21 +1753,21 @@

    \(t\mathsf{.}\href{../syntax/inst
  • The block type must be valid as some instruction type \([t_1^\ast] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}} [t_2^\ast]\).

  • Let \(C'\) be the same context as \(C\), but with the result type \([t_2^\ast]\) prepended to the \(\href{../valid/conventions.html#context}{\mathsf{labels}}\) list.

  • Under context \(C'\), -the instruction sequence \(\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}_1^\ast\) must be valid with type \([t_1^\ast] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}} [t_2^\ast]\).

  • +the instruction sequence \(\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}_1^\ast\) must be valid with type \([t_1^\ast] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}} [t_2^\ast]\).

  • Under context \(C'\), -the instruction sequence \(\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}_2^\ast\) must be valid with type \([t_1^\ast] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}} [t_2^\ast]\).

  • +the instruction sequence \(\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}_2^\ast\) must be valid with type \([t_1^\ast] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}} [t_2^\ast]\).

  • Then the compound instruction is valid with type \([t_1^\ast~\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}} [t_2^\ast]\).

  • \[\begin{array}{@{}c@{}}\displaystyle \frac{ -C \vdash {\mathit{bt}} : {t_1^\ast} \rightarrow {t_2^\ast} +C \href{../valid/types.html#valid-blocktype}{\vdash} {\mathit{bt}} : {t_1^\ast} \rightarrow {t_2^\ast} \qquad -C, \mathsf{labels}~({t_2^\ast}) \vdash {{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}_1^\ast} : {t_1^\ast}~{\rightarrow}_{{x_1^\ast}}\,{t_2^\ast} +C, \mathsf{labels}~({t_2^\ast}) \href{../valid/instructions.html#valid-instrs}{\vdash} {{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}_1^\ast} : {t_1^\ast}~\mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}}~({x_1^\ast})~{t_2^\ast} \qquad -C, \mathsf{labels}~({t_2^\ast}) \vdash {{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}_2^\ast} : {t_1^\ast}~{\rightarrow}_{{x_2^\ast}}\,{t_2^\ast} +C, \mathsf{labels}~({t_2^\ast}) \href{../valid/instructions.html#valid-instrs}{\vdash} {{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}_2^\ast} : {t_1^\ast}~\mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}}~({x_2^\ast})~{t_2^\ast} }{ -C \vdash \mathsf{if}~{\mathit{bt}}~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}_1^\ast}~\mathsf{else}~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}_2^\ast} : {t_1^\ast}~\mathsf{i{\scriptstyle32}} \rightarrow {t_2^\ast} +C \href{../valid/instructions.html#valid-instr}{\vdash} \href{../syntax/instructions.html#syntax-instr-control}{\mathsf{if}}~{\mathit{bt}}~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}_1^\ast}~\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{else}}~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}_2^\ast} : {t_1^\ast}~\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}} \rightarrow {t_2^\ast} } \qquad \end{array}\]
    @@ -1788,9 +1788,9 @@

    \(t\mathsf{.}\href{../syntax/inst \frac{ C{.}\mathsf{labels}{}[l] = {t^\ast} \qquad -C \vdash {t_1^\ast} \rightarrow {t_2^\ast} : \mathsf{ok} +C \href{../valid/types.html#valid-instrtype}{\vdash} {t_1^\ast} \rightarrow {t_2^\ast} : \href{../valid/types.html#valid-instrtype}{\mathsf{ok}} }{ -C \vdash \mathsf{br}~l : {t_1^\ast}~{t^\ast} \rightarrow {t_2^\ast} +C \href{../valid/instructions.html#valid-instr}{\vdash} \href{../syntax/instructions.html#syntax-instr-control}{\mathsf{br}}~l : {t_1^\ast}~{t^\ast} \rightarrow {t_2^\ast} } \qquad \end{array}\] @@ -1812,7 +1812,7 @@

    \(t\mathsf{.}\href{../syntax/inst \frac{ C{.}\mathsf{labels}{}[l] = {t^\ast} }{ -C \vdash \mathsf{br\_if}~l : {t^\ast}~\mathsf{i{\scriptstyle32}} \rightarrow {t^\ast} +C \href{../valid/instructions.html#valid-instr}{\vdash} \href{../syntax/instructions.html#syntax-instr-control}{\mathsf{br\_if}}~l : {t^\ast}~\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}} \rightarrow {t^\ast} } \qquad \end{array}\] @@ -1839,13 +1839,13 @@

    \(t\mathsf{.}\href{../syntax/inst
    \[\begin{array}{@{}c@{}}\displaystyle \frac{ -(C \vdash {t^\ast} \leq C{.}\mathsf{labels}{}[l])^\ast +(C \href{../valid/matching.html#match-resulttype}{\vdash} {t^\ast} \href{../valid/matching.html#match-resulttype}{\leq} C{.}\mathsf{labels}{}[l])^\ast \qquad -C \vdash {t^\ast} \leq C{.}\mathsf{labels}{}[{l'}] +C \href{../valid/matching.html#match-resulttype}{\vdash} {t^\ast} \href{../valid/matching.html#match-resulttype}{\leq} C{.}\mathsf{labels}{}[{l'}] \qquad -C \vdash {t_1^\ast} \rightarrow {t_2^\ast} : \mathsf{ok} +C \href{../valid/types.html#valid-instrtype}{\vdash} {t_1^\ast} \rightarrow {t_2^\ast} : \href{../valid/types.html#valid-instrtype}{\mathsf{ok}} }{ -C \vdash \mathsf{br\_table}~{l^\ast}~{l'} : {t_1^\ast}~{t^\ast} \rightarrow {t_2^\ast} +C \href{../valid/instructions.html#valid-instr}{\vdash} \href{../syntax/instructions.html#syntax-instr-control}{\mathsf{br\_table}}~{l^\ast}~{l'} : {t_1^\ast}~{t^\ast} \rightarrow {t_2^\ast} } \qquad \end{array}\]
    @@ -1870,9 +1870,9 @@

    \(t\mathsf{.}\href{../syntax/inst \frac{ C{.}\mathsf{labels}{}[l] = {t^\ast} \qquad -C \vdash {\mathit{ht}} : \mathsf{ok} +C \href{../valid/types.html#valid-heaptype}{\vdash} {\mathit{ht}} : \href{../valid/types.html#valid-heaptype}{\mathsf{ok}} }{ -C \vdash \mathsf{br\_on\_null}~l : {t^\ast}~(\mathsf{ref}~\mathsf{null}~{\mathit{ht}}) \rightarrow {t^\ast}~(\mathsf{ref}~{\mathit{ht}}) +C \href{../valid/instructions.html#valid-instr}{\vdash} \href{../syntax/instructions.html#syntax-instr-control}{\mathsf{br\_on\_null}}~l : {t^\ast}~(\href{../syntax/types.html#syntax-reftype}{\mathsf{ref}}~\mathsf{null}~{\mathit{ht}}) \rightarrow {t^\ast}~(\href{../syntax/types.html#syntax-reftype}{\mathsf{ref}}~{\mathit{ht}}) } \qquad \end{array}\] @@ -1890,9 +1890,9 @@

    \(t\mathsf{.}\href{../syntax/inst
    \[\begin{array}{@{}c@{}}\displaystyle \frac{ -C{.}\mathsf{labels}{}[l] = {t^\ast}~(\mathsf{ref}~{\mathit{ht}}) +C{.}\mathsf{labels}{}[l] = {t^\ast}~(\href{../syntax/types.html#syntax-reftype}{\mathsf{ref}}~{\mathit{ht}}) }{ -C \vdash \mathsf{br\_on\_non\_null}~l : {t^\ast}~(\mathsf{ref}~\mathsf{null}~{\mathit{ht}}) \rightarrow {t^\ast} +C \href{../valid/instructions.html#valid-instr}{\vdash} \href{../syntax/instructions.html#syntax-instr-control}{\mathsf{br\_on\_non\_null}}~l : {t^\ast}~(\href{../syntax/types.html#syntax-reftype}{\mathsf{ref}}~\mathsf{null}~{\mathit{ht}}) \rightarrow {t^\ast} } \qquad \end{array}\]
    @@ -1915,15 +1915,15 @@

    \(t\mathsf{.}\href{../syntax/inst \frac{ C{.}\mathsf{labels}{}[l] = {t^\ast}~{\mathit{rt}} \qquad -C \vdash {\mathit{rt}}_1 : \mathsf{ok} +C \href{../valid/types.html#valid-reftype}{\vdash} {\mathit{rt}}_1 : \href{../valid/types.html#valid-reftype}{\mathsf{ok}} \qquad -C \vdash {\mathit{rt}}_2 : \mathsf{ok} +C \href{../valid/types.html#valid-reftype}{\vdash} {\mathit{rt}}_2 : \href{../valid/types.html#valid-reftype}{\mathsf{ok}} \qquad -C \vdash {\mathit{rt}}_2 \leq {\mathit{rt}}_1 +C \href{../valid/matching.html#match-reftype}{\vdash} {\mathit{rt}}_2 \href{../valid/matching.html#match-reftype}{\leq} {\mathit{rt}}_1 \qquad -C \vdash {\mathit{rt}}_2 \leq {\mathit{rt}} +C \href{../valid/matching.html#match-reftype}{\vdash} {\mathit{rt}}_2 \href{../valid/matching.html#match-reftype}{\leq} {\mathit{rt}} }{ -C \vdash \mathsf{br\_on\_cast}~l~{\mathit{rt}}_1~{\mathit{rt}}_2 : {t^\ast}~{\mathit{rt}}_1 \rightarrow {t^\ast}~({\mathit{rt}}_1 \setminus {\mathit{rt}}_2) +C \href{../valid/instructions.html#valid-instr}{\vdash} \href{../syntax/instructions.html#syntax-instr-control}{\mathsf{br\_on\_cast}}~l~{\mathit{rt}}_1~{\mathit{rt}}_2 : {t^\ast}~{\mathit{rt}}_1 \rightarrow {t^\ast}~({\mathit{rt}}_1 \setminus {\mathit{rt}}_2) } \qquad \end{array}\] @@ -1946,15 +1946,15 @@

    \(t\mathsf{.}\href{../syntax/inst \frac{ C{.}\mathsf{labels}{}[l] = {t^\ast}~{\mathit{rt}} \qquad -C \vdash {\mathit{rt}}_1 : \mathsf{ok} +C \href{../valid/types.html#valid-reftype}{\vdash} {\mathit{rt}}_1 : \href{../valid/types.html#valid-reftype}{\mathsf{ok}} \qquad -C \vdash {\mathit{rt}}_2 : \mathsf{ok} +C \href{../valid/types.html#valid-reftype}{\vdash} {\mathit{rt}}_2 : \href{../valid/types.html#valid-reftype}{\mathsf{ok}} \qquad -C \vdash {\mathit{rt}}_2 \leq {\mathit{rt}}_1 +C \href{../valid/matching.html#match-reftype}{\vdash} {\mathit{rt}}_2 \href{../valid/matching.html#match-reftype}{\leq} {\mathit{rt}}_1 \qquad -C \vdash {\mathit{rt}}_1 \setminus {\mathit{rt}}_2 \leq {\mathit{rt}} +C \href{../valid/matching.html#match-reftype}{\vdash} {\mathit{rt}}_1 \setminus {\mathit{rt}}_2 \href{../valid/matching.html#match-reftype}{\leq} {\mathit{rt}} }{ -C \vdash \mathsf{br\_on\_cast\_fail}~l~{\mathit{rt}}_1~{\mathit{rt}}_2 : {t^\ast}~{\mathit{rt}}_1 \rightarrow {t^\ast}~{\mathit{rt}}_2 +C \href{../valid/instructions.html#valid-instr}{\vdash} \href{../syntax/instructions.html#syntax-instr-control}{\mathsf{br\_on\_cast\_fail}}~l~{\mathit{rt}}_1~{\mathit{rt}}_2 : {t^\ast}~{\mathit{rt}}_1 \rightarrow {t^\ast}~{\mathit{rt}}_2 } \qquad \end{array}\] @@ -1969,9 +1969,9 @@

    \(t\mathsf{.}\href{../syntax/inst
    \[\begin{array}{@{}c@{}}\displaystyle \frac{ -C{.}\mathsf{funcs}{}[x] \approx \mathsf{func}~({t_1^\ast} \rightarrow {t_2^\ast}) +C{.}\mathsf{funcs}{}[x] \approx \href{../syntax/types.html#syntax-comptype}{\mathsf{func}}~({t_1^\ast} \href{../syntax/types.html#syntax-functype}{\rightarrow} {t_2^\ast}) }{ -C \vdash \mathsf{call}~x : {t_1^\ast} \rightarrow {t_2^\ast} +C \href{../valid/instructions.html#valid-instr}{\vdash} \href{../syntax/instructions.html#syntax-instr-control}{\mathsf{call}}~x : {t_1^\ast} \rightarrow {t_2^\ast} } \qquad \end{array}\]
    @@ -1986,9 +1986,9 @@

    \(t\mathsf{.}\href{../syntax/inst
    \[\begin{array}{@{}c@{}}\displaystyle \frac{ -C{.}\mathsf{types}{}[x] \approx \mathsf{func}~({t_1^\ast} \rightarrow {t_2^\ast}) +C{.}\mathsf{types}{}[x] \approx \href{../syntax/types.html#syntax-comptype}{\mathsf{func}}~({t_1^\ast} \href{../syntax/types.html#syntax-functype}{\rightarrow} {t_2^\ast}) }{ -C \vdash \mathsf{call\_ref}~x : {t_1^\ast}~(\mathsf{ref}~\mathsf{null}~x) \rightarrow {t_2^\ast} +C \href{../valid/instructions.html#valid-instr}{\vdash} \href{../syntax/instructions.html#syntax-instr-control}{\mathsf{call\_ref}}~x : {t_1^\ast}~(\href{../syntax/types.html#syntax-reftype}{\mathsf{ref}}~\mathsf{null}~x) \rightarrow {t_2^\ast} } \qquad \end{array}\]
    @@ -2008,11 +2008,11 @@

    \(t\mathsf{.}\href{../syntax/inst \frac{ C{.}\mathsf{tables}{}[x] = {\mathit{lim}}~{\mathit{rt}} \qquad -C \vdash {\mathit{rt}} \leq (\mathsf{ref}~\mathsf{null}~\mathsf{func}) +C \href{../valid/matching.html#match-reftype}{\vdash} {\mathit{rt}} \href{../valid/matching.html#match-reftype}{\leq} (\href{../syntax/types.html#syntax-reftype}{\mathsf{ref}}~\mathsf{null}~\href{../syntax/types.html#syntax-heaptype}{\mathsf{func}}) \qquad -C{.}\mathsf{types}{}[y] \approx \mathsf{func}~({t_1^\ast} \rightarrow {t_2^\ast}) +C{.}\mathsf{types}{}[y] \approx \href{../syntax/types.html#syntax-comptype}{\mathsf{func}}~({t_1^\ast} \href{../syntax/types.html#syntax-functype}{\rightarrow} {t_2^\ast}) }{ -C \vdash \mathsf{call\_indirect}~x~y : {t_1^\ast}~\mathsf{i{\scriptstyle32}} \rightarrow {t_2^\ast} +C \href{../valid/instructions.html#valid-instr}{\vdash} \href{../syntax/instructions.html#syntax-instr-control}{\mathsf{call\_indirect}}~x~y : {t_1^\ast}~\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}} \rightarrow {t_2^\ast} } \qquad \end{array}\] @@ -2029,9 +2029,9 @@

    \(t\mathsf{.}\href{../syntax/inst \frac{ C{.}\mathsf{return} = ({t^\ast}) \qquad -C \vdash {t_1^\ast} \rightarrow {t_2^\ast} : \mathsf{ok} +C \href{../valid/types.html#valid-instrtype}{\vdash} {t_1^\ast} \rightarrow {t_2^\ast} : \href{../valid/types.html#valid-instrtype}{\mathsf{ok}} }{ -C \vdash \mathsf{return} : {t_1^\ast}~{t^\ast} \rightarrow {t_2^\ast} +C \href{../valid/instructions.html#valid-instr}{\vdash} \href{../syntax/instructions.html#syntax-instr-control}{\mathsf{return}} : {t_1^\ast}~{t^\ast} \rightarrow {t_2^\ast} } \qquad \end{array}\] @@ -2055,15 +2055,15 @@

    \(t\mathsf{.}\href{../syntax/inst
    \[\begin{array}{@{}c@{}}\displaystyle \frac{ -C{.}\mathsf{funcs}{}[x] \approx \mathsf{func}~({t_1^\ast} \rightarrow {t_2^\ast}) +C{.}\mathsf{funcs}{}[x] \approx \href{../syntax/types.html#syntax-comptype}{\mathsf{func}}~({t_1^\ast} \href{../syntax/types.html#syntax-functype}{\rightarrow} {t_2^\ast}) \qquad C{.}\mathsf{return} = ({{t'}_2^\ast}) \qquad -C \vdash {t_2^\ast} \leq {{t'}_2^\ast} +C \href{../valid/matching.html#match-resulttype}{\vdash} {t_2^\ast} \href{../valid/matching.html#match-resulttype}{\leq} {{t'}_2^\ast} \qquad -C \vdash {t_3^\ast} \rightarrow {t_4^\ast} : \mathsf{ok} +C \href{../valid/types.html#valid-instrtype}{\vdash} {t_3^\ast} \rightarrow {t_4^\ast} : \href{../valid/types.html#valid-instrtype}{\mathsf{ok}} }{ -C \vdash \mathsf{return\_call}~x : {t_3^\ast}~{t_1^\ast} \rightarrow {t_4^\ast} +C \href{../valid/instructions.html#valid-instr}{\vdash} \href{../syntax/instructions.html#syntax-instr-control}{\mathsf{return\_call}}~x : {t_3^\ast}~{t_1^\ast} \rightarrow {t_4^\ast} } \qquad \end{array}\]
    @@ -2083,15 +2083,15 @@

    \(t\mathsf{.}\href{../syntax/inst
    \[\begin{array}{@{}c@{}}\displaystyle \frac{ -C{.}\mathsf{types}{}[x] \approx \mathsf{func}~({t_1^\ast} \rightarrow {t_2^\ast}) +C{.}\mathsf{types}{}[x] \approx \href{../syntax/types.html#syntax-comptype}{\mathsf{func}}~({t_1^\ast} \href{../syntax/types.html#syntax-functype}{\rightarrow} {t_2^\ast}) \qquad C{.}\mathsf{return} = ({{t'}_2^\ast}) \qquad -C \vdash {t_2^\ast} \leq {{t'}_2^\ast} +C \href{../valid/matching.html#match-resulttype}{\vdash} {t_2^\ast} \href{../valid/matching.html#match-resulttype}{\leq} {{t'}_2^\ast} \qquad -C \vdash {t_3^\ast} \rightarrow {t_4^\ast} : \mathsf{ok} +C \href{../valid/types.html#valid-instrtype}{\vdash} {t_3^\ast} \rightarrow {t_4^\ast} : \href{../valid/types.html#valid-instrtype}{\mathsf{ok}} }{ -C \vdash \mathsf{return\_call\_ref}~x : {t_3^\ast}~{t_1^\ast}~(\mathsf{ref}~\mathsf{null}~x) \rightarrow {t_4^\ast} +C \href{../valid/instructions.html#valid-instr}{\vdash} \href{../syntax/instructions.html#syntax-instr-control}{\mathsf{return\_call\_ref}}~x : {t_3^\ast}~{t_1^\ast}~(\href{../syntax/types.html#syntax-reftype}{\mathsf{ref}}~\mathsf{null}~x) \rightarrow {t_4^\ast} } \qquad \end{array}\]
    @@ -2118,18 +2118,18 @@

    \(t\mathsf{.}\href{../syntax/inst \begin{array}{@{}c@{}} C{.}\mathsf{tables}{}[x] = {\mathit{lim}}~{\mathit{rt}} \qquad -C \vdash {\mathit{rt}} \leq (\mathsf{ref}~\mathsf{null}~\mathsf{func}) +C \href{../valid/matching.html#match-reftype}{\vdash} {\mathit{rt}} \href{../valid/matching.html#match-reftype}{\leq} (\href{../syntax/types.html#syntax-reftype}{\mathsf{ref}}~\mathsf{null}~\href{../syntax/types.html#syntax-heaptype}{\mathsf{func}}) \\ -C{.}\mathsf{types}{}[y] \approx \mathsf{func}~({t_1^\ast} \rightarrow {t_2^\ast}) +C{.}\mathsf{types}{}[y] \approx \href{../syntax/types.html#syntax-comptype}{\mathsf{func}}~({t_1^\ast} \href{../syntax/types.html#syntax-functype}{\rightarrow} {t_2^\ast}) \qquad C{.}\mathsf{return} = ({{t'}_2^\ast}) \qquad -C \vdash {t_2^\ast} \leq {{t'}_2^\ast} +C \href{../valid/matching.html#match-resulttype}{\vdash} {t_2^\ast} \href{../valid/matching.html#match-resulttype}{\leq} {{t'}_2^\ast} \qquad -C \vdash {t_3^\ast} \rightarrow {t_4^\ast} : \mathsf{ok} +C \href{../valid/types.html#valid-instrtype}{\vdash} {t_3^\ast} \rightarrow {t_4^\ast} : \href{../valid/types.html#valid-instrtype}{\mathsf{ok}} \end{array} }{ -C \vdash \mathsf{return\_call\_indirect}~x~y : {t_3^\ast}~{t_1^\ast}~\mathsf{i{\scriptstyle32}} \rightarrow {t_4^\ast} +C \href{../valid/instructions.html#valid-instr}{\vdash} \href{../syntax/instructions.html#syntax-instr-control}{\mathsf{return\_call\_indirect}}~x~y : {t_3^\ast}~{t_1^\ast}~\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}} \rightarrow {t_4^\ast} } \qquad \end{array}\end{split}\] @@ -2140,7 +2140,7 @@

    \(t\mathsf{.}\href{../syntax/inst

    -

    Instruction Sequences

    +

    Instruction Sequences

    Typing of instruction sequences is defined recursively.

    Empty Instruction Sequence: \(\epsilon\)

    @@ -2151,7 +2151,7 @@

    Empty Instruction Sequence: \(\ep \[\begin{array}{@{}c@{}}\displaystyle \frac{ }{ -C \vdash \epsilon : \epsilon \rightarrow \epsilon +C \href{../valid/instructions.html#valid-instrs}{\vdash} \epsilon : \epsilon \rightarrow \epsilon } \qquad \end{array}\] @@ -2172,13 +2172,13 @@

    Non-empty Instruction Sequence: \
    \[\begin{array}{@{}c@{}}\displaystyle \frac{ -C \vdash {\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}_1 : {t_1^\ast}~{\rightarrow}_{{x_1^\ast}}\,{t_2^\ast} +C \href{../valid/instructions.html#valid-instr}{\vdash} {\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}_1 : {t_1^\ast}~\mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}}~({x_1^\ast})~{t_2^\ast} \qquad (C{.}\mathsf{locals}{}[x_1] = {\href{../valid/conventions.html#syntax-init}{\mathit{init}}}~t)^\ast \qquad -C{}[\mathsf{local}{}[{x_1^\ast}] = {(\mathsf{set}~t)^\ast}] \vdash {{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}_2^\ast} : {t_2^\ast}~{\rightarrow}_{{x_2^\ast}}\,{t_3^\ast} +C{}[\href{../syntax/modules.html#syntax-func}{\mathsf{local}}{}[{x_1^\ast}] = {(\href{../valid/conventions.html#syntax-init}{\mathsf{set}}~t)^\ast}] \href{../valid/instructions.html#valid-instrs}{\vdash} {{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}_2^\ast} : {t_2^\ast}~\mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}}~({x_2^\ast})~{t_3^\ast} }{ -C \vdash {\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}_1~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}_2^\ast} : {t_1^\ast}~{\rightarrow}_{{x_1^\ast}~{x_2^\ast}}\,{t_3^\ast} +C \href{../valid/instructions.html#valid-instrs}{\vdash} {\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}_1~{{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}_2^\ast} : {t_1^\ast}~\mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}}~({x_1^\ast}~{x_2^\ast})~{t_3^\ast} } \qquad \end{array}\]
    @@ -2194,21 +2194,21 @@

    Subsumption for \(\href{../syntax
    \[\begin{split}\begin{array}{@{}c@{}}\displaystyle \frac{ -C \vdash {{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast} : {\mathit{it}} +C \href{../valid/instructions.html#valid-instrs}{\vdash} {{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast} : {\mathit{it}} \qquad -C \vdash {\mathit{it}} \leq {\mathit{it}'} +C \href{../valid/matching.html#match-instrtype}{\vdash} {\mathit{it}} \href{../valid/matching.html#match-instrtype}{\leq} {\mathit{it}'} \qquad -C \vdash {\mathit{it}'} : \mathsf{ok} +C \href{../valid/types.html#valid-instrtype}{\vdash} {\mathit{it}'} : \href{../valid/types.html#valid-instrtype}{\mathsf{ok}} }{ -C \vdash {{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast} : {\mathit{it}'} +C \href{../valid/instructions.html#valid-instrs}{\vdash} {{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast} : {\mathit{it}'} } \\[3ex]\displaystyle \frac{ -C \vdash {{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast} : {t_1^\ast}~{\rightarrow}_{{x^\ast}}\,{t_2^\ast} +C \href{../valid/instructions.html#valid-instrs}{\vdash} {{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast} : {t_1^\ast}~\mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}}~({x^\ast})~{t_2^\ast} \qquad -C \vdash {t^\ast} : \mathsf{ok} +C \href{../valid/types.html#valid-resulttype}{\vdash} {t^\ast} : \href{../valid/types.html#valid-resulttype}{\mathsf{ok}} }{ -C \vdash {{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast} : ({t^\ast}~{t_1^\ast})~{\rightarrow}_{{x^\ast}}\,({t^\ast}~{t_2^\ast}) +C \href{../valid/instructions.html#valid-instrs}{\vdash} {{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast} : ({t^\ast}~{t_1^\ast})~\mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}}~({x^\ast})~({t^\ast}~{t_2^\ast}) } \qquad \end{array}\end{split}\]
    @@ -2218,12 +2218,12 @@

    Subsumption for \(\href{../syntax subsumption allows to compose instructions whose types would not directly fit otherwise. For example, consider the instruction sequence

    -\[(\mathsf{i{\scriptstyle31}}{.}\mathsf{const}~1)~(\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~2)~\mathsf{i{\scriptstyle32}} . \mathsf{add}\]
    +\[(\mathsf{const}~\mathsf{i{\scriptstyle31}}~1)~(\mathsf{const}~\mathsf{i{\scriptstyle32}}~2)~\mathsf{binop}~\mathsf{i{\scriptstyle32}}~\mathsf{add}\]
    \[(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}.\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~1)~(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}.\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~2)~\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}.\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{add}}\]
    -

    To type this sequence, its subsequence \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~2)~\mathsf{i{\scriptstyle32}} . \mathsf{add}\) needs to be valid with an intermediate type. -But the direct type of \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~2)\) is \(\epsilon \rightarrow \mathsf{i{\scriptstyle32}}\), not matching the two inputs expected by \(\mathsf{i{\scriptstyle32}} . \mathsf{add}\). -The subsumption rule allows to weaken the type of \((\mathsf{i{\scriptstyle32}}{.}\mathsf{const}~2)\) to the supertype \(\mathsf{i{\scriptstyle32}} \rightarrow \mathsf{i{\scriptstyle32}}~\mathsf{i{\scriptstyle32}}\), such that it can be composed with \(\mathsf{add}~\mathsf{i{\scriptstyle32}}\) and yields the intermediate type \(\mathsf{i{\scriptstyle32}} \rightarrow \mathsf{i{\scriptstyle32}}~\mathsf{i{\scriptstyle32}}\) for the subsequence. That can in turn be composed with the first constant.

    +

    To type this sequence, its subsequence \((\mathsf{const}~\mathsf{i{\scriptstyle32}}~2)~\mathsf{binop}~\mathsf{i{\scriptstyle32}}~\mathsf{add}\) needs to be valid with an intermediate type. +But the direct type of \((\mathsf{const}~\mathsf{i{\scriptstyle32}}~2)\) is \(\epsilon \rightarrow \href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}\), not matching the two inputs expected by \(\mathsf{binop}~\mathsf{i{\scriptstyle32}}~\mathsf{add}\). +The subsumption rule allows to weaken the type of \((\mathsf{const}~\mathsf{i{\scriptstyle32}}~2)\) to the supertype \(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}} \rightarrow \href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}~\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}\), such that it can be composed with \(\mathsf{add}~\mathsf{i{\scriptstyle32}}\) and yields the intermediate type \(\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}} \rightarrow \href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}~\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}\) for the subsequence. That can in turn be composed with the first constant.

    Furthermore, subsumption allows to drop init variables \({x^\ast}\) from the instruction type in a context where they are not needed, for example, at the end of the body of a block.

    @@ -2234,15 +2234,15 @@

    Subsumption for \(\href{../syntax

    \(\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}^\ast~\href{../syntax/instructions.html#syntax-instr-control}{\mathsf{end}}\)

      -
    • The instruction sequence \(\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}^\ast\) must be valid with type \([] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}} [t^\ast]\).

    • +
    • The instruction sequence \(\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}^\ast\) must be valid with type \([] \mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}} [t^\ast]\).

    • Then the expression is valid with result type \([t^\ast]\).

    \[\begin{array}{@{}c@{}}\displaystyle \frac{ -C \vdash {{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast} : \epsilon~{\rightarrow}_{\epsilon}\,{t^\ast} +C \href{../valid/instructions.html#valid-instrs}{\vdash} {{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast} : \epsilon~\mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}}~(\epsilon)~{t^\ast} }{ -C \vdash {{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast} : {t^\ast} +C \href{../valid/instructions.html#valid-expr}{\vdash} {{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast} : {t^\ast} } \qquad \end{array}\]
    @@ -2272,9 +2272,9 @@

    \(\href{../syntax/instructions.ht
    \[\begin{array}{@{}c@{}}\displaystyle \frac{ -(C \vdash {\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}~\mathsf{const})^\ast +(C \href{../valid/instructions.html#valid-const}{\vdash} {\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}~\href{../valid/instructions.html#valid-const}{\mathsf{const}})^\ast }{ -C \vdash {{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast}~\mathsf{const} +C \href{../valid/instructions.html#valid-const}{\vdash} {{\href{../syntax/instructions.html#syntax-instr}{\mathit{instr}}}^\ast}~\href{../valid/instructions.html#valid-const}{\mathsf{const}} } \qquad \end{array}\]
    @@ -2282,76 +2282,76 @@

    \(\href{../syntax/instructions.ht \[\begin{split}\begin{array}{@{}c@{}}\displaystyle \frac{ }{ -C \vdash ({\mathit{nt}}{.}\mathsf{const}~c_{\mathit{nt}})~\mathsf{const} +C \href{../valid/instructions.html#valid-const}{\vdash} ({\mathit{nt}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_{\mathit{nt}})~\href{../valid/instructions.html#valid-const}{\mathsf{const}} } \qquad \frac{ }{ -C \vdash ({\mathit{vt}}{.}\mathsf{const}~c_{\mathit{vt}})~\mathsf{const} +C \href{../valid/instructions.html#valid-const}{\vdash} ({\mathit{vt}}{.}\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{const}}~c_{\mathit{vt}})~\href{../valid/instructions.html#valid-const}{\mathsf{const}} } \qquad \frac{ -{\mathsf{i}}{n} \in \mathsf{i{\scriptstyle32}}~\mathsf{i{\scriptstyle64}} +{\mathsf{i}}{n} \in \href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}~\href{../syntax/types.html#syntax-numtype}{\mathsf{i64}} \qquad -{\mathit{binop}} \in \mathsf{add}~\mathsf{sub}~\mathsf{mul} +{\mathit{binop}} \in \href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{add}}~\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{sub}}~\href{../syntax/instructions.html#syntax-instr-numeric}{\mathsf{mul}} }{ -C \vdash ({\mathsf{i}}{n} . {\mathit{binop}})~\mathsf{const} +C \href{../valid/instructions.html#valid-const}{\vdash} ({\mathsf{i}}{n} {.} {\mathit{binop}})~\href{../valid/instructions.html#valid-const}{\mathsf{const}} } \\[3ex]\displaystyle \frac{ }{ -C \vdash (\mathsf{ref.null}~{\mathit{ht}})~\mathsf{const} +C \href{../valid/instructions.html#valid-const}{\vdash} (\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.null}}~{\mathit{ht}})~\href{../valid/instructions.html#valid-const}{\mathsf{const}} } \qquad \frac{ }{ -C \vdash (\mathsf{ref.i{\scriptstyle31}})~\mathsf{const} +C \href{../valid/instructions.html#valid-const}{\vdash} (\href{../syntax/instructions.html#syntax-instr-i31}{\mathsf{ref.i31}})~\href{../valid/instructions.html#valid-const}{\mathsf{const}} } \qquad \frac{ }{ -C \vdash (\mathsf{ref.func}~x)~\mathsf{const} +C \href{../valid/instructions.html#valid-const}{\vdash} (\href{../syntax/instructions.html#syntax-instr-ref}{\mathsf{ref.func}}~x)~\href{../valid/instructions.html#valid-const}{\mathsf{const}} } \\[3ex]\displaystyle \frac{ }{ -C \vdash (\mathsf{struct.new}~x)~\mathsf{const} +C \href{../valid/instructions.html#valid-const}{\vdash} (\href{../syntax/instructions.html#syntax-instr-struct}{\mathsf{struct.new}}~x)~\href{../valid/instructions.html#valid-const}{\mathsf{const}} } \qquad \frac{ }{ -C \vdash (\mathsf{struct.new\_default}~x)~\mathsf{const} +C \href{../valid/instructions.html#valid-const}{\vdash} (\href{../syntax/instructions.html#syntax-instr-struct}{\mathsf{struct.new\_default}}~x)~\href{../valid/instructions.html#valid-const}{\mathsf{const}} } \\[3ex]\displaystyle \frac{ }{ -C \vdash (\mathsf{array.new}~x)~\mathsf{const} +C \href{../valid/instructions.html#valid-const}{\vdash} (\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.new}}~x)~\href{../valid/instructions.html#valid-const}{\mathsf{const}} } \qquad \frac{ }{ -C \vdash (\mathsf{array.new\_default}~x)~\mathsf{const} +C \href{../valid/instructions.html#valid-const}{\vdash} (\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.new\_default}}~x)~\href{../valid/instructions.html#valid-const}{\mathsf{const}} } \qquad \frac{ }{ -C \vdash (\mathsf{array.new\_fixed}~x~n)~\mathsf{const} +C \href{../valid/instructions.html#valid-const}{\vdash} (\href{../syntax/instructions.html#syntax-instr-array}{\mathsf{array.new\_fixed}}~x~n)~\href{../valid/instructions.html#valid-const}{\mathsf{const}} } \\[3ex]\displaystyle \frac{ }{ -C \vdash (\mathsf{any.convert\_extern})~\mathsf{const} +C \href{../valid/instructions.html#valid-const}{\vdash} (\href{../syntax/instructions.html#syntax-instr-extern}{\mathsf{any.convert\_extern}})~\href{../valid/instructions.html#valid-const}{\mathsf{const}} } \qquad \frac{ }{ -C \vdash (\mathsf{extern.convert\_any})~\mathsf{const} +C \href{../valid/instructions.html#valid-const}{\vdash} (\href{../syntax/instructions.html#syntax-instr-extern}{\mathsf{extern.convert\_any}})~\href{../valid/instructions.html#valid-const}{\mathsf{const}} } \\[3ex]\displaystyle \frac{ C{.}\mathsf{globals}{}[x] = t }{ -C \vdash (\mathsf{global.get}~x)~\mathsf{const} +C \href{../valid/instructions.html#valid-const}{\vdash} (\href{../syntax/instructions.html#syntax-instr-variable}{\mathsf{global.get}}~x)~\href{../valid/instructions.html#valid-const}{\mathsf{const}} } \qquad \end{array}\end{split}\] diff --git a/core/valid/matching.html b/core/valid/matching.html index d4ec3390d5..01f903395b 100644 --- a/core/valid/matching.html +++ b/core/valid/matching.html @@ -6,7 +6,7 @@ - Matching — WebAssembly 3.0 (Draft 2024-05-03) + Matching — WebAssembly 3.0 (Draft 2024-05-17) @@ -141,7 +141,7 @@

    Quick search

    } \qquad \frac{ - C \href{../valid/types.html#valid-heaptype}{\vdash} \href{../syntax/types.html#syntax-heaptype}{\mathit{heaptype}}' \mathrel{\mbox{ok}} + C \href{../valid/types.html#valid-heaptype}{\vdash} \href{../syntax/types.html#syntax-heaptype}{\mathit{heaptype}}' : \href{../valid/types.html#valid-heaptype}{\mathsf{ok}} \qquad C \href{../valid/matching.html#match-heaptype}{\vdash} \href{../syntax/types.html#syntax-heaptype}{\mathit{heaptype}}_1 \href{../valid/matching.html#match-heaptype}{\leq} \href{../syntax/types.html#syntax-heaptype}{\mathit{heaptype}}' \qquad diff --git a/core/valid/modules.html b/core/valid/modules.html index 68485fd64a..e63439ddc0 100644 --- a/core/valid/modules.html +++ b/core/valid/modules.html @@ -6,7 +6,7 @@ - Modules — WebAssembly 3.0 (Draft 2024-05-03) + Modules — WebAssembly 3.0 (Draft 2024-05-17) @@ -116,17 +116,17 @@

    \(\href{../syntax/types.html#synt
    \[\frac{ }{ - \{\} \href{../valid/modules.html#valid-types}{\vdash} \epsilon \mathrel{\mbox{ok}} + \{\} \href{../valid/modules.html#valid-types}{\vdash} \epsilon : \href{../valid/modules.html#valid-types}{\mathsf{ok}} }\]
    \[\frac{ - C' \href{../valid/modules.html#valid-types}{\vdash} \href{../syntax/types.html#syntax-rectype}{\mathit{type}}^\ast \mathrel{\mbox{ok}} + C' \href{../valid/modules.html#valid-types}{\vdash} \href{../syntax/types.html#syntax-rectype}{\mathit{type}}^\ast : \href{../valid/modules.html#valid-types}{\mathsf{ok}} \qquad C = C' \href{../syntax/conventions.html#notation-replace}{\mathrel{\mbox{with}}} \href{../valid/conventions.html#context}{\mathsf{types}} = C'.\href{../valid/conventions.html#context}{\mathsf{types}}~\href{../valid/conventions.html#aux-roll-deftype}{\mathrm{roll}^\ast}_{|C'.\href{../valid/conventions.html#context}{\mathsf{types}}|}(\href{../syntax/types.html#syntax-rectype}{\mathit{rectype}}) \qquad - C \href{../valid/types.html#valid-rectype}{\vdash} \href{../syntax/types.html#syntax-rectype}{\mathit{rectype}} ~{\mathrel{\mbox{ok}}}(|C'.\href{../valid/conventions.html#context}{\mathsf{types}}|) + C \href{../valid/types.html#valid-rectype}{\vdash} \href{../syntax/types.html#syntax-rectype}{\mathit{rectype}} : {\href{../valid/types.html#valid-rectype}{\mathsf{ok}}}(|C'.\href{../valid/conventions.html#context}{\mathsf{types}}|) }{ - C \href{../valid/modules.html#valid-types}{\vdash} \href{../syntax/types.html#syntax-rectype}{\mathit{type}}^\ast~\href{../syntax/types.html#syntax-rectype}{\mathit{rectype}} \mathrel{\mbox{ok}} + C \href{../valid/modules.html#valid-types}{\vdash} \href{../syntax/types.html#syntax-rectype}{\mathit{type}}^\ast~\href{../syntax/types.html#syntax-rectype}{\mathit{rectype}} : \href{../valid/modules.html#valid-types}{\mathsf{ok}} }\]

    Note

    @@ -192,7 +192,7 @@

    \(\{ \href{../syntax/modules.html
    \[\frac{ - C \href{../valid/types.html#valid-valtype}{\vdash} t \mathrel{\mbox{ok}} + C \href{../valid/types.html#valid-valtype}{\vdash} t : \href{../valid/types.html#valid-valtype}{\mathsf{ok}} \qquad C \href{../valid/types.html#valid-valtype}{\vdash} t \mathrel{\mbox{defaultable}} }{ @@ -200,7 +200,7 @@

    \(\{ \href{../syntax/modules.html }\]

    \[\frac{ - C \href{../valid/types.html#valid-valtype}{\vdash} t \mathrel{\mbox{ok}} + C \href{../valid/types.html#valid-valtype}{\vdash} t : \href{../valid/types.html#valid-valtype}{\mathsf{ok}} }{ C \href{../valid/modules.html#valid-local}{\vdash} \{ \href{../syntax/modules.html#syntax-local}{\mathsf{type}}~t \} : \href{../valid/conventions.html#syntax-init}{\mathsf{unset}}~t }\]
    @@ -224,13 +224,13 @@

    \(\{ \href{../syntax/modules.html
    \[\frac{ - C \href{../valid/types.html#valid-tabletype}{\vdash} \href{../syntax/types.html#syntax-tabletype}{\mathit{tabletype}} \mathrel{\mbox{ok}} + C \href{../valid/types.html#valid-tabletype}{\vdash} \href{../syntax/types.html#syntax-tabletype}{\mathit{tabletype}} : \href{../valid/types.html#valid-tabletype}{\mathsf{ok}} \qquad \href{../syntax/types.html#syntax-tabletype}{\mathit{tabletype}} = \href{../syntax/types.html#syntax-limits}{\mathit{limits}}~t \qquad C \href{../valid/instructions.html#valid-expr}{\vdash} \href{../syntax/instructions.html#syntax-expr}{\mathit{expr}} : [t] \qquad - C \href{../valid/instructions.html#valid-constant}{\vdash} \href{../syntax/instructions.html#syntax-expr}{\mathit{expr}} \href{../valid/instructions.html#valid-constant}{\mathrel{\mbox{const}}} + C \href{../valid/instructions.html#valid-const}{\vdash} \href{../syntax/instructions.html#syntax-expr}{\mathit{expr}} \href{../valid/instructions.html#valid-const}{\mathsf{const}} }{ C \href{../valid/modules.html#valid-table}{\vdash} \{ \href{../syntax/modules.html#syntax-table}{\mathsf{type}}~\href{../syntax/types.html#syntax-tabletype}{\mathit{tabletype}}, \href{../syntax/modules.html#syntax-table}{\mathsf{init}}~\href{../syntax/instructions.html#syntax-expr}{\mathit{expr}} \} : \href{../syntax/types.html#syntax-tabletype}{\mathit{tabletype}} }\]
    @@ -247,7 +247,7 @@

    \(\{ \href{../syntax/modules.html
    \[\frac{ - C \href{../valid/types.html#valid-memtype}{\vdash} \href{../syntax/types.html#syntax-memtype}{\mathit{memtype}} \mathrel{\mbox{ok}} + C \href{../valid/types.html#valid-memtype}{\vdash} \href{../syntax/types.html#syntax-memtype}{\mathit{memtype}} : \href{../valid/types.html#valid-memtype}{\mathsf{ok}} }{ C \href{../valid/modules.html#valid-mem}{\vdash} \{ \href{../syntax/modules.html#syntax-mem}{\mathsf{type}}~\href{../syntax/types.html#syntax-memtype}{\mathit{memtype}} \} : \href{../syntax/types.html#syntax-memtype}{\mathit{memtype}} }\]
    @@ -267,11 +267,11 @@

    \(\{ \href{../syntax/modules.html
    \[\frac{ - C \href{../valid/types.html#valid-globaltype}{\vdash} \href{../syntax/types.html#syntax-mut}{\mathit{mut}}~t \mathrel{\mbox{ok}} + C \href{../valid/types.html#valid-globaltype}{\vdash} \href{../syntax/types.html#syntax-mut}{\mathit{mut}}~t : \href{../valid/types.html#valid-globaltype}{\mathsf{ok}} \qquad C \href{../valid/instructions.html#valid-expr}{\vdash} \href{../syntax/instructions.html#syntax-expr}{\mathit{expr}} : [t] \qquad - C \href{../valid/instructions.html#valid-constant}{\vdash} \href{../syntax/instructions.html#syntax-expr}{\mathit{expr}} \href{../valid/instructions.html#valid-constant}{\mathrel{\mbox{const}}} + C \href{../valid/instructions.html#valid-const}{\vdash} \href{../syntax/instructions.html#syntax-expr}{\mathit{expr}} \href{../valid/instructions.html#valid-const}{\mathsf{const}} }{ C \href{../valid/modules.html#valid-global}{\vdash} \{ \href{../syntax/modules.html#syntax-global}{\mathsf{type}}~\href{../syntax/types.html#syntax-mut}{\mathit{mut}}~t, \href{../syntax/modules.html#syntax-global}{\mathsf{init}}~\href{../syntax/instructions.html#syntax-expr}{\mathit{expr}} \} : \href{../syntax/types.html#syntax-mut}{\mathit{mut}}~t }\]
    @@ -324,11 +324,11 @@

    \(\{ \href{../syntax/modules.html
    \[\frac{ - C \href{../valid/types.html#valid-reftype}{\vdash} t \mathrel{\mbox{ok}} + C \href{../valid/types.html#valid-reftype}{\vdash} t : \href{../valid/types.html#valid-reftype}{\mathsf{ok}} \qquad (C \href{../valid/instructions.html#valid-expr}{\vdash} e : [t])^\ast \qquad - (C \href{../valid/instructions.html#valid-constant}{\vdash} e \href{../valid/instructions.html#valid-constant}{\mathrel{\mbox{const}}})^\ast + (C \href{../valid/instructions.html#valid-const}{\vdash} e \href{../valid/instructions.html#valid-const}{\mathsf{const}})^\ast \qquad C \href{../valid/modules.html#valid-elemmode}{\vdash} \href{../syntax/modules.html#syntax-elemmode}{\mathit{elemmode}} : t' \qquad @@ -344,7 +344,7 @@

    \(\{ \href{../syntax/modules.html
    \[\frac{ - C \href{../valid/types.html#valid-reftype}{\vdash} \href{../syntax/types.html#syntax-reftype}{\mathit{reftype}} \mathrel{\mbox{ok}} + C \href{../valid/types.html#valid-reftype}{\vdash} \href{../syntax/types.html#syntax-reftype}{\mathit{reftype}} : \href{../valid/types.html#valid-reftype}{\mathsf{ok}} }{ C \href{../valid/modules.html#valid-elemmode}{\vdash} \href{../syntax/modules.html#syntax-elemmode}{\mathsf{passive}} : \href{../syntax/types.html#syntax-reftype}{\mathit{reftype}} }\]
    @@ -365,7 +365,7 @@

    \(\href{../syntax/modules.html#sy \\ C \href{../valid/instructions.html#valid-expr}{\vdash} \href{../syntax/instructions.html#syntax-expr}{\mathit{expr}} : [\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}] \qquad - C \href{../valid/instructions.html#valid-constant}{\vdash} \href{../syntax/instructions.html#syntax-expr}{\mathit{expr}} \href{../valid/instructions.html#valid-constant}{\mathrel{\mbox{const}}} + C \href{../valid/instructions.html#valid-const}{\vdash} \href{../syntax/instructions.html#syntax-expr}{\mathit{expr}} \href{../valid/instructions.html#valid-const}{\mathsf{const}} \end{array} }{ C \href{../valid/modules.html#valid-elemmode}{\vdash} \href{../syntax/modules.html#syntax-elemmode}{\mathsf{active}}~\{ \href{../syntax/modules.html#syntax-elem}{\mathsf{table}}~x, \href{../syntax/modules.html#syntax-elem}{\mathsf{offset}}~\href{../syntax/instructions.html#syntax-expr}{\mathit{expr}} \} : t @@ -378,14 +378,14 @@

    \(\href{../syntax/modules.html#sy
    \[\frac{ - C \href{../valid/types.html#valid-reftype}{\vdash} \href{../syntax/types.html#syntax-reftype}{\mathit{reftype}} \mathrel{\mbox{ok}} + C \href{../valid/types.html#valid-reftype}{\vdash} \href{../syntax/types.html#syntax-reftype}{\mathit{reftype}} : \href{../valid/types.html#valid-reftype}{\mathsf{ok}} }{ C \href{../valid/modules.html#valid-elemmode}{\vdash} \href{../syntax/modules.html#syntax-elemmode}{\mathsf{declarative}} : \href{../syntax/types.html#syntax-reftype}{\mathit{reftype}} }\]

    -

    Data Segments

    +

    Data Segments

    Data segments \(\href{../syntax/modules.html#syntax-data}{\mathit{data}}\) are not classified by any type but merely checked for well-formedness.

    \(\{ \href{../syntax/modules.html#syntax-data}{\mathsf{init}}~b^\ast, \href{../syntax/modules.html#syntax-data}{\mathsf{mode}}~\href{../syntax/modules.html#syntax-datamode}{\mathit{datamode}} \}\)

    @@ -395,9 +395,9 @@

    \(\{ \href{../syntax/modules.html
    \[\frac{ - C \href{../valid/modules.html#valid-datamode}{\vdash} \href{../syntax/modules.html#syntax-datamode}{\mathit{datamode}} \mathrel{\mbox{ok}} + C \href{../valid/modules.html#valid-datamode}{\vdash} \href{../syntax/modules.html#syntax-datamode}{\mathit{datamode}} : \href{../valid/modules.html#valid-datamode}{\mathsf{ok}} }{ - C \href{../valid/modules.html#valid-data}{\vdash} \{ \href{../syntax/modules.html#syntax-data}{\mathsf{init}}~b^\ast, \href{../syntax/modules.html#syntax-data}{\mathsf{mode}}~\href{../syntax/modules.html#syntax-datamode}{\mathit{datamode}} \} \mathrel{\mbox{ok}} + C \href{../valid/modules.html#valid-data}{\vdash} \{ \href{../syntax/modules.html#syntax-data}{\mathsf{init}}~b^\ast, \href{../syntax/modules.html#syntax-data}{\mathsf{mode}}~\href{../syntax/modules.html#syntax-datamode}{\mathit{datamode}} \} : \href{../valid/modules.html#valid-data}{\mathsf{ok}} }\]

    @@ -408,7 +408,7 @@

    \(\{ \href{../syntax/modules.html
    \[\frac{ }{ - C \href{../valid/modules.html#valid-datamode}{\vdash} \href{../syntax/modules.html#syntax-datamode}{\mathsf{passive}} \mathrel{\mbox{ok}} + C \href{../valid/modules.html#valid-datamode}{\vdash} \href{../syntax/modules.html#syntax-datamode}{\mathsf{passive}} : \href{../valid/modules.html#valid-datamode}{\mathsf{ok}} }\]

    @@ -425,9 +425,9 @@

    \(\href{../syntax/modules.html#sy \qquad C \href{../valid/instructions.html#valid-expr}{\vdash} \href{../syntax/instructions.html#syntax-expr}{\mathit{expr}} : [\href{../syntax/types.html#syntax-numtype}{\mathsf{i32}}] \qquad - C \href{../valid/instructions.html#valid-constant}{\vdash} \href{../syntax/instructions.html#syntax-expr}{\mathit{expr}} \href{../valid/instructions.html#valid-constant}{\mathrel{\mbox{const}}} + C \href{../valid/instructions.html#valid-const}{\vdash} \href{../syntax/instructions.html#syntax-expr}{\mathit{expr}} \href{../valid/instructions.html#valid-const}{\mathsf{const}} }{ - C \href{../valid/modules.html#valid-datamode}{\vdash} \href{../syntax/modules.html#syntax-datamode}{\mathsf{active}}~\{ \href{../syntax/modules.html#syntax-data}{\mathsf{memory}}~x, \href{../syntax/modules.html#syntax-data}{\mathsf{offset}}~\href{../syntax/instructions.html#syntax-expr}{\mathit{expr}} \} \mathrel{\mbox{ok}} + C \href{../valid/modules.html#valid-datamode}{\vdash} \href{../syntax/modules.html#syntax-datamode}{\mathsf{active}}~\{ \href{../syntax/modules.html#syntax-data}{\mathsf{memory}}~x, \href{../syntax/modules.html#syntax-data}{\mathsf{offset}}~\href{../syntax/instructions.html#syntax-expr}{\mathit{expr}} \} : \href{../valid/modules.html#valid-datamode}{\mathsf{ok}} }\]

    @@ -445,7 +445,7 @@

    \(\{ \href{../syntax/modules.html \[\frac{ \href{../valid/conventions.html#aux-expand-deftype}{\mathrm{expand}}(C.\href{../valid/conventions.html#context}{\mathsf{funcs}}[x]) = \href{../syntax/types.html#syntax-comptype}{\mathsf{func}}~[] \href{../syntax/types.html#syntax-functype}{\rightarrow} [] }{ - C \href{../valid/modules.html#valid-start}{\vdash} \{ \href{../syntax/modules.html#syntax-start}{\mathsf{func}}~x \} \mathrel{\mbox{ok}} + C \href{../valid/modules.html#valid-start}{\vdash} \{ \href{../syntax/modules.html#syntax-start}{\mathsf{func}}~x \} : \href{../valid/modules.html#valid-start}{\mathsf{ok}} }\]

    @@ -556,7 +556,7 @@

    \(\href{../syntax/modules.html#sy
    \[\frac{ - C \href{../valid/modules.html#valid-table}{\vdash} \href{../syntax/types.html#syntax-tabletype}{\mathit{tabletype}} \mathrel{\mbox{ok}} + C \href{../valid/modules.html#valid-table}{\vdash} \href{../syntax/types.html#syntax-tabletype}{\mathit{tabletype}} : \href{../valid/types.html#valid-tabletype}{\mathsf{ok}} }{ C \href{../valid/modules.html#valid-importdesc}{\vdash} \href{../syntax/modules.html#syntax-importdesc}{\mathsf{table}}~\href{../syntax/types.html#syntax-tabletype}{\mathit{tabletype}} : \href{../syntax/types.html#syntax-externtype}{\mathsf{table}}~\href{../syntax/types.html#syntax-tabletype}{\mathit{tabletype}} }\]
    @@ -569,7 +569,7 @@

    \(\href{../syntax/modules.html#sy
    \[\frac{ - C \href{../valid/types.html#valid-memtype}{\vdash} \href{../syntax/types.html#syntax-memtype}{\mathit{memtype}} \mathrel{\mbox{ok}} + C \href{../valid/types.html#valid-memtype}{\vdash} \href{../syntax/types.html#syntax-memtype}{\mathit{memtype}} : \href{../valid/types.html#valid-memtype}{\mathsf{ok}} }{ C \href{../valid/modules.html#valid-importdesc}{\vdash} \href{../syntax/modules.html#syntax-importdesc}{\mathsf{mem}}~\href{../syntax/types.html#syntax-memtype}{\mathit{memtype}} : \href{../syntax/types.html#syntax-externtype}{\mathsf{mem}}~\href{../syntax/types.html#syntax-memtype}{\mathit{memtype}} }\]
    @@ -582,7 +582,7 @@

    \(\href{../syntax/modules.html#sy
    \[\frac{ - C \href{../valid/types.html#valid-globaltype}{\vdash} \href{../syntax/types.html#syntax-globaltype}{\mathit{globaltype}} \mathrel{\mbox{ok}} + C \href{../valid/types.html#valid-globaltype}{\vdash} \href{../syntax/types.html#syntax-globaltype}{\mathit{globaltype}} : \href{../valid/types.html#valid-globaltype}{\mathsf{ok}} }{ C \href{../valid/modules.html#valid-importdesc}{\vdash} \href{../syntax/modules.html#syntax-importdesc}{\mathsf{global}}~\href{../syntax/types.html#syntax-globaltype}{\mathit{globaltype}} : \href{../syntax/types.html#syntax-externtype}{\mathsf{global}}~\href{../syntax/types.html#syntax-globaltype}{\mathit{globaltype}} }\]
    @@ -611,7 +611,7 @@

    \(\href{../syntax/modules.html#sy
  • \(C.\href{../valid/conventions.html#context}{\mathsf{globals}}\) is \(\href{../syntax/types.html#syntax-externtype}{\mathrm{globals}}(\mathit{it}^\ast)\) concatenated with \(\mathit{gt}^\ast\), with the import’s external types \(\mathit{it}^\ast\) and the internal global types \(\mathit{gt}^\ast\) as determined below,

  • \(C.\href{../valid/conventions.html#context}{\mathsf{elems}}\) is \({\mathit{rt}}^\ast\) as determined below,

  • -
  • \(C.\href{../valid/conventions.html#context}{\mathsf{datas}}\) is \({\mathrel{\mbox{ok}}}^n\), where \(n\) is the length of the list \(\href{../syntax/modules.html#syntax-module}{\mathit{module}}.\href{../syntax/modules.html#syntax-module}{\mathsf{datas}}\),

  • +
  • \(C.\href{../valid/conventions.html#context}{\mathsf{datas}}\) is \({\mathit{ok}}^\ast\) as determined below,

  • \(C.\href{../valid/conventions.html#context}{\mathsf{locals}}\) is empty,

  • \(C.\href{../valid/conventions.html#context}{\mathsf{labels}}\) is empty,

  • \(C.\href{../valid/conventions.html#context}{\mathsf{return}}\) is empty.

  • @@ -645,7 +645,7 @@

    \(\href{../syntax/modules.html#sy
  • For each \(\href{../syntax/modules.html#syntax-elem}{\mathit{elem}}_i\) in \(\href{../syntax/modules.html#syntax-module}{\mathit{module}}.\href{../syntax/modules.html#syntax-module}{\mathsf{elems}}\), the segment \(\href{../syntax/modules.html#syntax-elem}{\mathit{elem}}_i\) must be valid with reference type \(\mathit{rt}_i\).

  • For each \(\href{../syntax/modules.html#syntax-data}{\mathit{data}}_i\) in \(\href{../syntax/modules.html#syntax-module}{\mathit{module}}.\href{../syntax/modules.html#syntax-module}{\mathsf{datas}}\), -the segment \(\href{../syntax/modules.html#syntax-data}{\mathit{data}}_i\) must be valid.

  • +the segment \(\href{../syntax/modules.html#syntax-data}{\mathit{data}}_i\) must be valid with data type \(\mathit{ok}_i\).

  • If \(\href{../syntax/modules.html#syntax-module}{\mathit{module}}.\href{../syntax/modules.html#syntax-module}{\mathsf{start}}\) is non-empty, then \(\href{../syntax/modules.html#syntax-module}{\mathit{module}}.\href{../syntax/modules.html#syntax-module}{\mathsf{start}}\) must be valid.

  • For each \(\href{../syntax/modules.html#syntax-import}{\mathit{import}}_i\) in \(\href{../syntax/modules.html#syntax-module}{\mathit{module}}.\href{../syntax/modules.html#syntax-module}{\mathsf{imports}}\), @@ -658,6 +658,7 @@

    \(\href{../syntax/modules.html#sy
  • Let \(\mathit{tt}^\ast\) be the concatenation of the internal table types \(\mathit{tt}_i\), in index order.

  • Let \(\mathit{mt}^\ast\) be the concatenation of the internal memory types \(\mathit{mt}_i\), in index order.

  • Let \(\mathit{rt}^\ast\) be the concatenation of the reference types \(\mathit{rt}_i\), in index order.

  • +
  • Let \(\mathit{ok}^\ast\) be the concatenation of the data types \(\mathit{ok}_i\), in index order.

  • Let \(\mathit{it}^\ast\) be the concatenation of external types \(\mathit{it}_i\) of the imports, in index order.

  • Let \(\mathit{et}^\ast\) be the concatenation of external types \(\mathit{et}_i\) of the exports, in index order.

  • The length of \(C.\href{../valid/conventions.html#context}{\mathsf{mems}}\) must not be larger than \(1\).

  • @@ -667,7 +668,7 @@

    \(\href{../syntax/modules.html#sy
    \[\begin{split}\frac{ \begin{array}{@{}c@{}} - C_0 \href{../valid/modules.html#valid-types}{\vdash} \href{../syntax/types.html#syntax-rectype}{\mathit{type}}^\ast \mathrel{\mbox{ok}} + C_0 \href{../valid/modules.html#valid-types}{\vdash} \href{../syntax/types.html#syntax-rectype}{\mathit{type}}^\ast : \href{../valid/modules.html#valid-types}{\mathsf{ok}} \quad C' \href{../valid/modules.html#valid-globalseq}{\vdash} \href{../syntax/modules.html#syntax-global}{\mathit{global}}^\ast : \mathit{gt}^\ast \quad @@ -679,9 +680,9 @@

    \(\href{../syntax/modules.html#sy \\ (C \href{../valid/modules.html#valid-elem}{\vdash} \href{../syntax/modules.html#syntax-elem}{\mathit{elem}} : \mathit{rt})^\ast \quad - (C \href{../valid/modules.html#valid-data}{\vdash} \href{../syntax/modules.html#syntax-data}{\mathit{data}} \mathrel{\mbox{ok}})^n + (C \href{../valid/modules.html#valid-data}{\vdash} \href{../syntax/modules.html#syntax-data}{\mathit{data}} : \mathit{ok})^\ast \quad - (C \href{../valid/modules.html#valid-start}{\vdash} \href{../syntax/modules.html#syntax-start}{\mathit{start}} \mathrel{\mbox{ok}})^? + (C \href{../valid/modules.html#valid-start}{\vdash} \href{../syntax/modules.html#syntax-start}{\mathit{start}} : \href{../valid/modules.html#valid-start}{\mathsf{ok}})^? \quad (C \href{../valid/modules.html#valid-import}{\vdash} \href{../syntax/modules.html#syntax-import}{\mathit{import}} : \mathit{it})^\ast \quad @@ -697,7 +698,7 @@

    \(\href{../syntax/modules.html#sy \\ x^\ast = \href{../syntax/modules.html#syntax-funcidx}{\mathrm{funcidx}}(\href{../syntax/modules.html#syntax-module}{\mathit{module}} \href{../syntax/conventions.html#notation-replace}{\mathrel{\mbox{with}}} \href{../syntax/modules.html#syntax-module}{\mathsf{funcs}} = \epsilon \href{../syntax/conventions.html#notation-replace}{\mathrel{\mbox{with}}} \href{../syntax/modules.html#syntax-module}{\mathsf{start}} = \epsilon) \\ - C = \{ \href{../valid/conventions.html#context}{\mathsf{types}}~C_0.\href{../valid/conventions.html#context}{\mathsf{types}}, \href{../valid/conventions.html#context}{\mathsf{funcs}}~\mathit{idt}^\ast\,\mathit{dt}^\ast, \href{../valid/conventions.html#context}{\mathsf{tables}}~\mathit{itt}^\ast\,\mathit{tt}^\ast, \href{../valid/conventions.html#context}{\mathsf{mems}}~\mathit{imt}^\ast\,\mathit{mt}^\ast, \href{../valid/conventions.html#context}{\mathsf{globals}}~\mathit{igt}^\ast\,\mathit{gt}^\ast, \href{../valid/conventions.html#context}{\mathsf{elems}}~\mathit{rt}^\ast, \href{../valid/conventions.html#context}{\mathsf{datas}}~{\mathrel{\mbox{ok}}}^n, \href{../valid/conventions.html#context}{\mathsf{refs}}~x^\ast \} + C = \{ \href{../valid/conventions.html#context}{\mathsf{types}}~C_0.\href{../valid/conventions.html#context}{\mathsf{types}}, \href{../valid/conventions.html#context}{\mathsf{funcs}}~\mathit{idt}^\ast\,\mathit{dt}^\ast, \href{../valid/conventions.html#context}{\mathsf{tables}}~\mathit{itt}^\ast\,\mathit{tt}^\ast, \href{../valid/conventions.html#context}{\mathsf{mems}}~\mathit{imt}^\ast\,\mathit{mt}^\ast, \href{../valid/conventions.html#context}{\mathsf{globals}}~\mathit{igt}^\ast\,\mathit{gt}^\ast, \href{../valid/conventions.html#context}{\mathsf{elems}}~\mathit{rt}^\ast, \href{../valid/conventions.html#context}{\mathsf{datas}}~\mathit{ok}^\ast, \href{../valid/conventions.html#context}{\mathsf{refs}}~x^\ast \} \\ C' = \{ \href{../valid/conventions.html#context}{\mathsf{types}}~C_0.\href{../valid/conventions.html#context}{\mathsf{types}}, \href{../valid/conventions.html#context}{\mathsf{globals}}~\mathit{igt}^\ast, \href{../valid/conventions.html#context}{\mathsf{funcs}}~(C.\href{../valid/conventions.html#context}{\mathsf{funcs}}), \href{../valid/conventions.html#context}{\mathsf{refs}}~(C.\href{../valid/conventions.html#context}{\mathsf{refs}}) \} \qquad diff --git a/core/valid/types.html b/core/valid/types.html index 96cfb159d5..cbd7a6263d 100644 --- a/core/valid/types.html +++ b/core/valid/types.html @@ -6,7 +6,7 @@ - Types — WebAssembly 3.0 (Draft 2024-05-03) + Types — WebAssembly 3.0 (Draft 2024-05-17) @@ -97,7 +97,7 @@

    Quick search

    \[\begin{array}{@{}c@{}}\displaystyle \frac{ }{ -C \vdash {\href{../syntax/types.html#syntax-numtype}{\mathit{numtype}}} : \mathsf{ok} +C \href{../valid/types.html#valid-numtype}{\vdash} {\href{../syntax/types.html#syntax-numtype}{\mathit{numtype}}} : \href{../valid/types.html#valid-numtype}{\mathsf{ok}} } \qquad \end{array}\]

    @@ -109,7 +109,7 @@

    Quick search

    \[\begin{array}{@{}c@{}}\displaystyle \frac{ }{ -C \vdash {\href{../syntax/types.html#syntax-vectype}{\mathit{vectype}}} : \mathsf{ok} +C \href{../valid/types.html#valid-vectype}{\vdash} {\href{../syntax/types.html#syntax-vectype}{\mathit{vectype}}} : \href{../valid/types.html#valid-vectype}{\mathsf{ok}} } \qquad \end{array}\] @@ -126,7 +126,7 @@

    \(\href{../syntax/types.html#synt \[\begin{array}{@{}c@{}}\displaystyle \frac{ }{ -C \vdash {\href{../syntax/types.html#syntax-absheaptype}{\mathit{absheaptype}}} : \mathsf{ok} +C \href{../valid/types.html#valid-heaptype}{\vdash} {\href{../syntax/types.html#syntax-absheaptype}{\mathit{absheaptype}}} : \href{../valid/types.html#valid-heaptype}{\mathsf{ok}} } \qquad \end{array}\] @@ -142,7 +142,7 @@

    \(\href{../syntax/modules.html#sy \frac{ C{.}\mathsf{types}{}[{\href{../syntax/modules.html#syntax-typeidx}{\mathit{typeidx}}}] = {\mathit{dt}} }{ -C \vdash {\href{../syntax/modules.html#syntax-typeidx}{\mathit{typeidx}}} : \mathsf{ok} +C \href{../valid/types.html#valid-heaptype}{\vdash} {\href{../syntax/modules.html#syntax-typeidx}{\mathit{typeidx}}} : \href{../valid/types.html#valid-heaptype}{\mathsf{ok}} } \qquad \end{array}\] @@ -160,9 +160,9 @@

    \(\href{../syntax/types.html#synt
    \[\begin{array}{@{}c@{}}\displaystyle \frac{ -C \vdash {\href{../syntax/types.html#syntax-heaptype}{\mathit{heaptype}}} : \mathsf{ok} +C \href{../valid/types.html#valid-heaptype}{\vdash} {\href{../syntax/types.html#syntax-heaptype}{\mathit{heaptype}}} : \href{../valid/types.html#valid-heaptype}{\mathsf{ok}} }{ -C \vdash \mathsf{ref}~{\mathsf{null}^?}~{\href{../syntax/types.html#syntax-heaptype}{\mathit{heaptype}}} : \mathsf{ok} +C \href{../valid/types.html#valid-reftype}{\vdash} \href{../syntax/types.html#syntax-reftype}{\mathsf{ref}}~{\mathsf{null}^?}~{\href{../syntax/types.html#syntax-heaptype}{\mathit{heaptype}}} : \href{../valid/types.html#valid-reftype}{\mathsf{ok}} } \qquad \end{array}\]
    @@ -185,9 +185,9 @@

    \(\href{../syntax/modules.html#sy
    \[\begin{array}{@{}c@{}}\displaystyle \frac{ -C{.}\mathsf{types}{}[{\href{../syntax/modules.html#syntax-typeidx}{\mathit{typeidx}}}] \approx \mathsf{func}~({t_1^\ast} \rightarrow {t_2^\ast}) +C{.}\mathsf{types}{}[{\href{../syntax/modules.html#syntax-typeidx}{\mathit{typeidx}}}] \approx \href{../syntax/types.html#syntax-comptype}{\mathsf{func}}~({t_1^\ast} \href{../syntax/types.html#syntax-functype}{\rightarrow} {t_2^\ast}) }{ -C \vdash {\href{../syntax/modules.html#syntax-typeidx}{\mathit{typeidx}}} : {t_1^\ast} \rightarrow {t_2^\ast} +C \href{../valid/types.html#valid-blocktype}{\vdash} {\href{../syntax/modules.html#syntax-typeidx}{\mathit{typeidx}}} : {t_1^\ast} \rightarrow {t_2^\ast} } \qquad \end{array}\]
    @@ -201,9 +201,9 @@

    \([\href{../syntax/types.html#syn
    \[\begin{array}{@{}c@{}}\displaystyle \frac{ -(C \vdash {\href{../syntax/types.html#syntax-valtype}{\mathit{valtype}}} : \mathsf{ok})^? +(C \href{../valid/types.html#valid-valtype}{\vdash} {\href{../syntax/types.html#syntax-valtype}{\mathit{valtype}}} : \href{../valid/types.html#valid-valtype}{\mathsf{ok}})^? }{ -C \vdash {{\href{../syntax/types.html#syntax-valtype}{\mathit{valtype}}}^?} : \epsilon \rightarrow {{\href{../syntax/types.html#syntax-valtype}{\mathit{valtype}}}^?} +C \href{../valid/types.html#valid-blocktype}{\vdash} {{\href{../syntax/types.html#syntax-valtype}{\mathit{valtype}}}^?} : \epsilon \rightarrow {{\href{../syntax/types.html#syntax-valtype}{\mathit{valtype}}}^?} } \qquad \end{array}\]
    @@ -220,9 +220,9 @@

    \([t^\ast]\) \[\begin{array}{@{}c@{}}\displaystyle \frac{ -(C \vdash t : \mathsf{ok})^\ast +(C \href{../valid/types.html#valid-valtype}{\vdash} t : \href{../valid/types.html#valid-valtype}{\mathsf{ok}})^\ast }{ -C \vdash {t^\ast} : \mathsf{ok} +C \href{../valid/types.html#valid-resulttype}{\vdash} {t^\ast} : \href{../valid/types.html#valid-resulttype}{\mathsf{ok}} } \qquad \end{array}\] @@ -241,13 +241,13 @@

    \([t_1^\ast] \rightarrow_{x^\ast}
    \[\begin{array}{@{}c@{}}\displaystyle \frac{ -C \vdash {t_1^\ast} : \mathsf{ok} +C \href{../valid/types.html#valid-resulttype}{\vdash} {t_1^\ast} : \href{../valid/types.html#valid-resulttype}{\mathsf{ok}} \qquad -C \vdash {t_2^\ast} : \mathsf{ok} +C \href{../valid/types.html#valid-resulttype}{\vdash} {t_2^\ast} : \href{../valid/types.html#valid-resulttype}{\mathsf{ok}} \qquad (C{.}\mathsf{locals}{}[x] = {{\mathit{lt}}})^\ast }{ -C \vdash {t_1^\ast}~{\rightarrow}_{{x^\ast}}\,{t_2^\ast} : \mathsf{ok} +C \href{../valid/types.html#valid-instrtype}{\vdash} {t_1^\ast}~\mathrel{\href{../valid/conventions.html#syntax-instrtype}{\rightarrow}}~({x^\ast})~{t_2^\ast} : \href{../valid/types.html#valid-instrtype}{\mathsf{ok}} } \qquad \end{array}\]
    @@ -265,11 +265,11 @@

    \([t_1^\ast] \href{../syntax/type
    \[\begin{array}{@{}c@{}}\displaystyle \frac{ -C \vdash {t_1^\ast} : \mathsf{ok} +C \href{../valid/types.html#valid-resulttype}{\vdash} {t_1^\ast} : \href{../valid/types.html#valid-resulttype}{\mathsf{ok}} \qquad -C \vdash {t_2^\ast} : \mathsf{ok} +C \href{../valid/types.html#valid-resulttype}{\vdash} {t_2^\ast} : \href{../valid/types.html#valid-resulttype}{\mathsf{ok}} }{ -C \vdash {t_1^\ast} \rightarrow {t_2^\ast} : \mathsf{ok} +C \href{../valid/types.html#valid-functype}{\vdash} {t_1^\ast} \href{../syntax/types.html#syntax-functype}{\rightarrow} {t_2^\ast} : \href{../valid/types.html#valid-functype}{\mathsf{ok}} } \qquad \end{array}\]
    @@ -286,9 +286,9 @@

    \(\href{../syntax/types.html#synt
    \[\begin{array}{@{}c@{}}\displaystyle \frac{ -C \vdash {\href{../syntax/types.html#syntax-functype}{\mathit{functype}}} : \mathsf{ok} +C \href{../valid/types.html#valid-functype}{\vdash} {\href{../syntax/types.html#syntax-functype}{\mathit{functype}}} : \href{../valid/types.html#valid-functype}{\mathsf{ok}} }{ -C \vdash \mathsf{func}~{\href{../syntax/types.html#syntax-functype}{\mathit{functype}}} : \mathsf{ok} +C \href{../valid/types.html#valid-comptype}{\vdash} \href{../syntax/types.html#syntax-comptype}{\mathsf{func}}~{\href{../syntax/types.html#syntax-functype}{\mathit{functype}}} : \href{../valid/types.html#valid-comptype}{\mathsf{ok}} } \qquad \end{array}\]
    @@ -306,9 +306,9 @@

    \(\href{../syntax/types.html#synt
    \[\begin{array}{@{}c@{}}\displaystyle \frac{ -(C \vdash {\href{../syntax/types.html#syntax-fieldtype}{\mathit{fieldtype}}} : \mathsf{ok})^\ast +(C \href{../valid/types.html#valid-fieldtype}{\vdash} {\href{../syntax/types.html#syntax-fieldtype}{\mathit{fieldtype}}} : \href{../valid/types.html#valid-fieldtype}{\mathsf{ok}})^\ast }{ -C \vdash \mathsf{struct}~{{\href{../syntax/types.html#syntax-fieldtype}{\mathit{fieldtype}}}^\ast} : \mathsf{ok} +C \href{../valid/types.html#valid-comptype}{\vdash} \href{../syntax/types.html#syntax-comptype}{\mathsf{struct}}~{{\href{../syntax/types.html#syntax-fieldtype}{\mathit{fieldtype}}}^\ast} : \href{../valid/types.html#valid-comptype}{\mathsf{ok}} } \qquad \end{array}\]
    @@ -322,9 +322,9 @@

    \(\href{../syntax/types.html#synt
    \[\begin{array}{@{}c@{}}\displaystyle \frac{ -C \vdash {\href{../syntax/types.html#syntax-fieldtype}{\mathit{fieldtype}}} : \mathsf{ok} +C \href{../valid/types.html#valid-fieldtype}{\vdash} {\href{../syntax/types.html#syntax-fieldtype}{\mathit{fieldtype}}} : \href{../valid/types.html#valid-fieldtype}{\mathsf{ok}} }{ -C \vdash \mathsf{array}~{\href{../syntax/types.html#syntax-fieldtype}{\mathit{fieldtype}}} : \mathsf{ok} +C \href{../valid/types.html#valid-comptype}{\vdash} \href{../syntax/types.html#syntax-comptype}{\mathsf{array}}~{\href{../syntax/types.html#syntax-fieldtype}{\mathit{fieldtype}}} : \href{../valid/types.html#valid-comptype}{\mathsf{ok}} } \qquad \end{array}\]
    @@ -341,9 +341,9 @@

    \(\href{../syntax/types.html#synt
    \[\begin{array}{@{}c@{}}\displaystyle \frac{ -C \vdash {\href{../syntax/types.html#syntax-storagetype}{\mathit{storagetype}}} : \mathsf{ok} +C \href{../valid/types.html#valid-storagetype}{\vdash} {\href{../syntax/types.html#syntax-storagetype}{\mathit{storagetype}}} : \href{../valid/types.html#valid-storagetype}{\mathsf{ok}} }{ -C \vdash {\mathsf{mut}^?}~{\href{../syntax/types.html#syntax-storagetype}{\mathit{storagetype}}} : \mathsf{ok} +C \href{../valid/types.html#valid-fieldtype}{\vdash} {\mathsf{mut}^?}~{\href{../syntax/types.html#syntax-storagetype}{\mathit{storagetype}}} : \href{../valid/types.html#valid-fieldtype}{\mathsf{ok}} } \qquad \end{array}\]
    @@ -357,7 +357,7 @@

    \(\href{../syntax/types.html#synt \[\begin{array}{@{}c@{}}\displaystyle \frac{ }{ -C \vdash {\href{../syntax/types.html#syntax-packtype}{\mathit{packtype}}} : \mathsf{ok} +C \href{../valid/types.html#valid-packtype}{\vdash} {\href{../syntax/types.html#syntax-packtype}{\mathit{packtype}}} : \href{../valid/types.html#valid-packtype}{\mathsf{ok}} } \qquad \end{array}\] @@ -382,15 +382,15 @@

    \(\href{../syntax/types.html#synt \[\begin{array}{@{}c@{}}\displaystyle \frac{ }{ -C \vdash \mathsf{rec}~\epsilon : {\mathsf{ok}}{(x)} +C \href{../valid/types.html#valid-rectype}{\vdash} \href{../syntax/types.html#syntax-rectype}{\mathsf{rec}}~\epsilon : {\href{../valid/types.html#valid-subtype}{\mathsf{ok}}}{(x)} } \qquad \frac{ -C \vdash {\href{../syntax/types.html#syntax-subtype}{\mathit{subtype}}}_1 : {\mathsf{ok}}{(x)} +C \href{../valid/types.html#valid-subtype}{\vdash} {\href{../syntax/types.html#syntax-subtype}{\mathit{subtype}}}_1 : {\href{../valid/types.html#valid-subtype}{\mathsf{ok}}}{(x)} \qquad -C \vdash \mathsf{rec}~{{\href{../syntax/types.html#syntax-subtype}{\mathit{subtype}}}^\ast} : {\mathsf{ok}}{(x + 1)} +C \href{../valid/types.html#valid-rectype}{\vdash} \href{../syntax/types.html#syntax-rectype}{\mathsf{rec}}~{{\href{../syntax/types.html#syntax-subtype}{\mathit{subtype}}}^\ast} : {\href{../valid/types.html#valid-subtype}{\mathsf{ok}}}{(x + 1)} }{ -C \vdash \mathsf{rec}~({\href{../syntax/types.html#syntax-subtype}{\mathit{subtype}}}_1~{{\href{../syntax/types.html#syntax-subtype}{\mathit{subtype}}}^\ast}) : {\mathsf{ok}}{(x)} +C \href{../valid/types.html#valid-rectype}{\vdash} \href{../syntax/types.html#syntax-rectype}{\mathsf{rec}}~({\href{../syntax/types.html#syntax-subtype}{\mathit{subtype}}}_1~{{\href{../syntax/types.html#syntax-subtype}{\mathit{subtype}}}^\ast}) : {\href{../valid/types.html#valid-subtype}{\mathsf{ok}}}{(x)} } \qquad \end{array}\] @@ -420,14 +420,14 @@

    \(\href{../syntax/types.html#synt \qquad (x < x_0)^\ast \qquad -({\href{../valid/conventions.html#aux-unroll-deftype}{\mathrm{unroll}}}(C{.}\mathsf{types}{}[x]) = \mathsf{sub}~{{x'}^\ast}~{\href{../syntax/types.html#syntax-comptype}{\mathit{comptype}}'})^\ast +({\href{../valid/conventions.html#aux-unroll-deftype}{\mathrm{unroll}}}(C{.}\mathsf{types}{}[x]) = \href{../syntax/types.html#syntax-subtype}{\mathsf{sub}}~{{x'}^\ast}~{\href{../syntax/types.html#syntax-comptype}{\mathit{comptype}}'})^\ast \\ -C \vdash {\href{../syntax/types.html#syntax-comptype}{\mathit{comptype}}} : \mathsf{ok} +C \href{../valid/types.html#valid-comptype}{\vdash} {\href{../syntax/types.html#syntax-comptype}{\mathit{comptype}}} : \href{../valid/types.html#valid-comptype}{\mathsf{ok}} \qquad -(C \vdash {\href{../syntax/types.html#syntax-comptype}{\mathit{comptype}}} \leq {\href{../syntax/types.html#syntax-comptype}{\mathit{comptype}}'})^\ast +(C \href{../valid/matching.html#match-comptype}{\vdash} {\href{../syntax/types.html#syntax-comptype}{\mathit{comptype}}} \href{../valid/matching.html#match-comptype}{\leq} {\href{../syntax/types.html#syntax-comptype}{\mathit{comptype}}'})^\ast \end{array} }{ -C \vdash \mathsf{sub}~{\mathsf{final}^?}~{{\href{../syntax/modules.html#syntax-typeidx}{\mathit{typeidx}}}^\ast}~{\href{../syntax/types.html#syntax-comptype}{\mathit{comptype}}} : {\mathsf{ok}}{(x_0)} +C \href{../valid/types.html#valid-subtype}{\vdash} \href{../syntax/types.html#syntax-subtype}{\mathsf{sub}}~{\mathsf{final}^?}~{{\href{../syntax/modules.html#syntax-typeidx}{\mathit{typeidx}}}^\ast}~{\href{../syntax/types.html#syntax-comptype}{\mathit{comptype}}} : {\href{../valid/types.html#valid-subtype}{\mathsf{ok}}}{(x_0)} } \qquad \end{array}\end{split}\] @@ -452,13 +452,13 @@

    \(\href{../syntax/types.html#synt
    \[\begin{array}{@{}c@{}}\displaystyle \frac{ -C \vdash {\href{../syntax/types.html#syntax-rectype}{\mathit{rectype}}} : {\mathsf{ok}}{(x)} +C \href{../valid/types.html#valid-rectype}{\vdash} {\href{../syntax/types.html#syntax-rectype}{\mathit{rectype}}} : {\href{../valid/types.html#valid-subtype}{\mathsf{ok}}}{(x)} \qquad -{\href{../syntax/types.html#syntax-rectype}{\mathit{rectype}}} = \mathsf{rec}~{{\href{../syntax/types.html#syntax-subtype}{\mathit{subtype}}}^{n}} +{\href{../syntax/types.html#syntax-rectype}{\mathit{rectype}}} = \href{../syntax/types.html#syntax-rectype}{\mathsf{rec}}~{{\href{../syntax/types.html#syntax-subtype}{\mathit{subtype}}}^{n}} \qquad i < n }{ -C \vdash {\href{../syntax/types.html#syntax-rectype}{\mathit{rectype}}} . i : \mathsf{ok} +C \href{../valid/types.html#valid-deftype}{\vdash} {\href{../syntax/types.html#syntax-rectype}{\mathit{rectype}}} {.} i : \href{../valid/types.html#valid-deftype}{\mathsf{ok}} } \qquad \end{array}\]
    @@ -484,7 +484,7 @@

    \(\{ \href{../syntax/types.html#s \frac{ n \leq m \leq k }{ -C \vdash {}[n .. m] : k +C \href{../valid/types.html#valid-limits}{\vdash} {}[ n \href{../syntax/types.html#syntax-limits}{\,{..}\,} m ] : k } \qquad \end{array}\] @@ -502,11 +502,11 @@

    \(\href{../syntax/types.html#synt
    \[\begin{array}{@{}c@{}}\displaystyle \frac{ -C \vdash {\href{../syntax/types.html#syntax-limits}{\mathit{limits}}} : {2^{32}} - 1 +C \href{../valid/types.html#valid-limits}{\vdash} {\href{../syntax/types.html#syntax-limits}{\mathit{limits}}} : {2^{32}} - 1 \qquad -C \vdash {\href{../syntax/types.html#syntax-reftype}{\mathit{reftype}}} : \mathsf{ok} +C \href{../valid/types.html#valid-reftype}{\vdash} {\href{../syntax/types.html#syntax-reftype}{\mathit{reftype}}} : \href{../valid/types.html#valid-reftype}{\mathsf{ok}} }{ -C \vdash {\href{../syntax/types.html#syntax-limits}{\mathit{limits}}}~{\href{../syntax/types.html#syntax-reftype}{\mathit{reftype}}} : \mathsf{ok} +C \href{../valid/types.html#valid-tabletype}{\vdash} {\href{../syntax/types.html#syntax-limits}{\mathit{limits}}}~{\href{../syntax/types.html#syntax-reftype}{\mathit{reftype}}} : \href{../valid/types.html#valid-tabletype}{\mathsf{ok}} } \qquad \end{array}\]
    @@ -523,9 +523,9 @@

    \(\href{../syntax/types.html#synt
    \[\begin{array}{@{}c@{}}\displaystyle \frac{ -C \vdash {\href{../syntax/types.html#syntax-limits}{\mathit{limits}}} : {2^{16}} +C \href{../valid/types.html#valid-limits}{\vdash} {\href{../syntax/types.html#syntax-limits}{\mathit{limits}}} : {2^{16}} }{ -C \vdash {\href{../syntax/types.html#syntax-limits}{\mathit{limits}}}~\mathsf{i{\scriptstyle8}} : \mathsf{ok} +C \href{../valid/types.html#valid-memtype}{\vdash} {\href{../syntax/types.html#syntax-limits}{\mathit{limits}}}~\mathsf{i{\scriptstyle8}} : \href{../valid/types.html#valid-memtype}{\mathsf{ok}} } \qquad \end{array}\]
    @@ -542,9 +542,9 @@

    \(\href{../syntax/types.html#synt
    \[\begin{array}{@{}c@{}}\displaystyle \frac{ -C \vdash t : \mathsf{ok} +C \href{../valid/types.html#valid-valtype}{\vdash} t : \href{../valid/types.html#valid-valtype}{\mathsf{ok}} }{ -C \vdash {\mathsf{mut}^?}~t : \mathsf{ok} +C \href{../valid/types.html#valid-globaltype}{\vdash} {\mathsf{mut}^?}~t : \href{../valid/types.html#valid-globaltype}{\mathsf{ok}} } \qquad \end{array}\]
    @@ -562,11 +562,11 @@

    \(\href{../syntax/types.html#synt
    \[\begin{array}{@{}c@{}}\displaystyle \frac{ -C \vdash {\href{../valid/conventions.html#syntax-deftype}{\mathit{deftype}}} : \mathsf{ok} +C \href{../valid/types.html#valid-deftype}{\vdash} {\href{../valid/conventions.html#syntax-deftype}{\mathit{deftype}}} : \href{../valid/types.html#valid-deftype}{\mathsf{ok}} \qquad -{\href{../valid/conventions.html#syntax-deftype}{\mathit{deftype}}} \approx \mathsf{func}~{\href{../syntax/types.html#syntax-functype}{\mathit{functype}}} +{\href{../valid/conventions.html#syntax-deftype}{\mathit{deftype}}} \approx \href{../syntax/types.html#syntax-comptype}{\mathsf{func}}~{\href{../syntax/types.html#syntax-functype}{\mathit{functype}}} }{ -C \vdash \mathsf{func}~{\href{../valid/conventions.html#syntax-deftype}{\mathit{deftype}}} : \mathsf{ok} +C \href{../valid/types.html#valid-externtype}{\vdash} \href{../syntax/types.html#syntax-externtype}{\mathsf{func}}~{\href{../valid/conventions.html#syntax-deftype}{\mathit{deftype}}} : \href{../valid/types.html#valid-externtype}{\mathsf{ok}} } \qquad \end{array}\]
    @@ -580,9 +580,9 @@

    \(\href{../syntax/types.html#synt
    \[\begin{array}{@{}c@{}}\displaystyle \frac{ -C \vdash {\href{../syntax/types.html#syntax-tabletype}{\mathit{tabletype}}} : \mathsf{ok} +C \href{../valid/types.html#valid-tabletype}{\vdash} {\href{../syntax/types.html#syntax-tabletype}{\mathit{tabletype}}} : \href{../valid/types.html#valid-tabletype}{\mathsf{ok}} }{ -C \vdash \mathsf{table}~{\href{../syntax/types.html#syntax-tabletype}{\mathit{tabletype}}} : \mathsf{ok} +C \href{../valid/types.html#valid-externtype}{\vdash} \href{../syntax/types.html#syntax-externtype}{\mathsf{table}}~{\href{../syntax/types.html#syntax-tabletype}{\mathit{tabletype}}} : \href{../valid/types.html#valid-externtype}{\mathsf{ok}} } \qquad \end{array}\]
    @@ -596,9 +596,9 @@

    \(\href{../syntax/types.html#synt
    \[\begin{array}{@{}c@{}}\displaystyle \frac{ -C \vdash {\href{../syntax/types.html#syntax-memtype}{\mathit{memtype}}} : \mathsf{ok} +C \href{../valid/types.html#valid-memtype}{\vdash} {\href{../syntax/types.html#syntax-memtype}{\mathit{memtype}}} : \href{../valid/types.html#valid-memtype}{\mathsf{ok}} }{ -C \vdash \mathsf{mem}~{\href{../syntax/types.html#syntax-memtype}{\mathit{memtype}}} : \mathsf{ok} +C \href{../valid/types.html#valid-externtype}{\vdash} \href{../syntax/types.html#syntax-externtype}{\mathsf{mem}}~{\href{../syntax/types.html#syntax-memtype}{\mathit{memtype}}} : \href{../valid/types.html#valid-externtype}{\mathsf{ok}} } \qquad \end{array}\]
    @@ -612,9 +612,9 @@

    \(\href{../syntax/types.html#synt
    \[\begin{array}{@{}c@{}}\displaystyle \frac{ -C \vdash {\href{../syntax/types.html#syntax-globaltype}{\mathit{globaltype}}} : \mathsf{ok} +C \href{../valid/types.html#valid-globaltype}{\vdash} {\href{../syntax/types.html#syntax-globaltype}{\mathit{globaltype}}} : \href{../valid/types.html#valid-globaltype}{\mathsf{ok}} }{ -C \vdash \mathsf{global}~{\href{../syntax/types.html#syntax-globaltype}{\mathit{globaltype}}} : \mathsf{ok} +C \href{../valid/types.html#valid-externtype}{\vdash} \href{../syntax/types.html#syntax-externtype}{\mathsf{global}}~{\href{../syntax/types.html#syntax-globaltype}{\mathit{globaltype}}} : \href{../valid/types.html#valid-externtype}{\mathsf{ok}} } \qquad \end{array}\]
    diff --git a/js-api/index.html b/js-api/index.html index d2d0c3bd40..3bdc1b1ee0 100644 --- a/js-api/index.html +++ b/js-api/index.html @@ -6,7 +6,7 @@ - +