From ced96e41ac0d08c300dafa9b554d9350623c475a Mon Sep 17 00:00:00 2001
From: Markus Holzer <markus.holzer@fau.de>
Date: Sat, 1 Jun 2024 19:41:36 +0200
Subject: [PATCH] Fix test cases

---
 doc/notebooks/02_tutorial_basic_kernels.ipynb | 217 ++++----
 tests/test_jupyter_extensions.ipynb           |   6 +-
 tests/test_phasefield_dentritic_3D.ipynb      | 520 +++++++++++-------
 3 files changed, 415 insertions(+), 328 deletions(-)

diff --git a/doc/notebooks/02_tutorial_basic_kernels.ipynb b/doc/notebooks/02_tutorial_basic_kernels.ipynb
index eceb7117..44a739a8 100644
--- a/doc/notebooks/02_tutorial_basic_kernels.ipynb
+++ b/doc/notebooks/02_tutorial_basic_kernels.ipynb
@@ -46,9 +46,8 @@
    "outputs": [
     {
      "data": {
-      "image/png": "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\n",
       "text/latex": [
-       "$\\displaystyle \\left[ grad_{x} \\leftarrow \\frac{{src}_{(1,0)}}{2} - \\frac{{src}_{(-1,0)}}{2}, \\  grad_{y} \\leftarrow \\frac{{src}_{(0,1)}}{2} - \\frac{{src}_{(0,-1)}}{2}, \\  {dst}_{(0,0)} \\leftarrow grad_{x} + grad_{y}\\right]$"
+       "$\\displaystyle \\left[ grad_{x} \\leftarrow_{} \\frac{{src}_{(1,0)}}{2} - \\frac{{src}_{(-1,0)}}{2}, \\  grad_{y} \\leftarrow_{} \\frac{{src}_{(0,1)}}{2} - \\frac{{src}_{(0,-1)}}{2}, \\  {dst}_{(0,0)} \\leftarrow_{} grad_{x} + grad_{y}\\right]$"
       ],
       "text/plain": [
        "⎡         src_E   src_W            src_N   src_S                         ⎤\n",
@@ -88,9 +87,8 @@
    "outputs": [
     {
      "data": {
-      "image/png": "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\n",
       "text/latex": [
-       "$\\displaystyle \\left[ grad_{x} \\leftarrow \\frac{{src}_{(1,0)}}{2} - \\frac{{src}_{(-1,0)}}{2}, \\  grad_{y} \\leftarrow \\frac{{src}_{(0,1)}}{2} - \\frac{{src}_{(0,-1)}}{2}, \\  {dst}_{(0,0)} \\leftarrow grad_{x} + grad_{y}\\right]$"
+       "$\\displaystyle \\left[ grad_{x} \\leftarrow_{} \\frac{{src}_{(1,0)}}{2} - \\frac{{src}_{(-1,0)}}{2}, \\  grad_{y} \\leftarrow_{} \\frac{{src}_{(0,1)}}{2} - \\frac{{src}_{(0,-1)}}{2}, \\  {dst}_{(0,0)} \\leftarrow_{} grad_{x} + grad_{y}\\right]$"
       ],
       "text/plain": [
        "⎡         src_E   src_W            src_N   src_S                         ⎤\n",
@@ -130,7 +128,6 @@
    "outputs": [
     {
      "data": {
-      "image/png": "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\n",
       "text/latex": [
        "$\\displaystyle {src}_{(1,0)} + \\begin{cases} 1.0 & \\text{for}\\: {src}_{(0,1)} > 0 \\\\0.0 & \\text{otherwise} \\end{cases}$"
       ],
@@ -163,9 +160,8 @@
    "outputs": [
     {
      "data": {
-      "image/png": "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\n",
       "text/latex": [
-       "$\\displaystyle \\left[ grad_{x} \\leftarrow \\begin{cases} \\frac{{src}_{(1,0)}}{2} - \\frac{{src}_{(-1,0)}}{2} & \\text{for}\\: {src}_{(-1,0)} > 0 \\\\0.0 & \\text{otherwise} \\end{cases}\\right]$"
+       "$\\displaystyle \\left[ grad_{x} \\leftarrow_{} \\begin{cases} \\frac{{src}_{(1,0)}}{2} - \\frac{{src}_{(-1,0)}}{2} & \\text{for}\\: {src}_{(-1,0)} > 0 \\\\0.0 & \\text{otherwise} \\end{cases}\\right]$"
       ],
       "text/plain": [
        "⎡         ⎧src_E   src_W               ⎤\n",
@@ -204,10 +200,10 @@
     {
      "data": {
       "text/html": [
-       "<div>Subexpressions:</div><table style=\"border:none; width: 100%; \"><tr style=\"border:none\"> <td style=\"border:none\">$$a \\leftarrow {src}_{(0,1)} + {src}_{(-1,0)}$$</td>  </tr> <tr style=\"border:none\"> <td style=\"border:none\">$$b \\leftarrow 2 {src}_{(1,0)} + {src}_{(0,-1)}$$</td>  </tr> <tr style=\"border:none\"> <td style=\"border:none\">$$c \\leftarrow - {src}_{(0,0)} + 2 {src}_{(1,0)} + {src}_{(0,1)} + {src}_{(0,-1)} + {src}_{(-1,0)}$$</td>  </tr> </table><div>Main Assignments:</div><table style=\"border:none; width: 100%; \"><tr style=\"border:none\"> <td style=\"border:none\">$${dst}_{(0,0)} \\leftarrow a + b + c$$</td>  </tr> </table>"
+       "<div>Subexpressions:</div><table style=\"border:none; width: 100%; \"><tr style=\"border:none\"> <td style=\"border:none\">$$a \\leftarrow_{} {src}_{(0,1)} + {src}_{(-1,0)}$$</td>  </tr> <tr style=\"border:none\"> <td style=\"border:none\">$$b \\leftarrow_{} 2 {src}_{(1,0)} + {src}_{(0,-1)}$$</td>  </tr> <tr style=\"border:none\"> <td style=\"border:none\">$$c \\leftarrow_{} - {src}_{(0,0)} + 2 {src}_{(1,0)} + {src}_{(0,1)} + {src}_{(0,-1)} + {src}_{(-1,0)}$$</td>  </tr> </table><div>Main Assignments:</div><table style=\"border:none; width: 100%; \"><tr style=\"border:none\"> <td style=\"border:none\">$${dst}_{(0,0)} \\leftarrow_{} a + b + c$$</td>  </tr> </table>"
       ],
       "text/plain": [
-       "AssignmentCollection: dst_C, <- f(src_N, src_E, src_W, src_C, src_S)"
+       "AssignmentCollection: dst_C, <- f(src_W, src_C, src_S, src_E, src_N)"
       ]
      },
      "execution_count": 7,
@@ -271,10 +267,10 @@
     {
      "data": {
       "text/html": [
-       "<div>Subexpressions:</div><table style=\"border:none; width: 100%; \"><tr style=\"border:none\"> <td style=\"border:none\">$$a \\leftarrow {src}_{(0,1)} + {src}_{(-1,0)}$$</td>  </tr> <tr style=\"border:none\"> <td style=\"border:none\">$$b \\leftarrow 2 {src}_{(1,0)} + {src}_{(0,-1)}$$</td>  </tr> <tr style=\"border:none\"> <td style=\"border:none\">$$c \\leftarrow - {src}_{(0,0)} + a + b$$</td>  </tr> </table><div>Main Assignments:</div><table style=\"border:none; width: 100%; \"><tr style=\"border:none\"> <td style=\"border:none\">$${dst}_{(0,0)} \\leftarrow a + b + c$$</td>  </tr> </table>"
+       "<div>Subexpressions:</div><table style=\"border:none; width: 100%; \"><tr style=\"border:none\"> <td style=\"border:none\">$$a \\leftarrow_{} {src}_{(0,1)} + {src}_{(-1,0)}$$</td>  </tr> <tr style=\"border:none\"> <td style=\"border:none\">$$b \\leftarrow_{} 2 {src}_{(1,0)} + {src}_{(0,-1)}$$</td>  </tr> <tr style=\"border:none\"> <td style=\"border:none\">$$c \\leftarrow_{} - {src}_{(0,0)} + a + b$$</td>  </tr> </table><div>Main Assignments:</div><table style=\"border:none; width: 100%; \"><tr style=\"border:none\"> <td style=\"border:none\">$${dst}_{(0,0)} \\leftarrow_{} a + b + c$$</td>  </tr> </table>"
       ],
       "text/plain": [
-       "AssignmentCollection: dst_C, <- f(src_N, src_E, src_W, src_C, src_S)"
+       "AssignmentCollection: dst_C, <- f(src_W, src_C, src_S, src_E, src_N)"
       ]
      },
      "execution_count": 9,
@@ -337,22 +333,23 @@
        "span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }\n",
        ".highlight .hll { background-color: #ffffcc }\n",
        ".highlight { background: #f8f8f8; }\n",
-       ".highlight .c { color: #408080; font-style: italic } /* Comment */\n",
+       ".highlight .c { color: #3D7B7B; font-style: italic } /* Comment */\n",
        ".highlight .err { border: 1px solid #FF0000 } /* Error */\n",
        ".highlight .k { color: #008000; font-weight: bold } /* Keyword */\n",
        ".highlight .o { color: #666666 } /* Operator */\n",
-       ".highlight .ch { color: #408080; font-style: italic } /* Comment.Hashbang */\n",
-       ".highlight .cm { color: #408080; font-style: italic } /* Comment.Multiline */\n",
-       ".highlight .cp { color: #BC7A00 } /* Comment.Preproc */\n",
-       ".highlight .cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */\n",
-       ".highlight .c1 { color: #408080; font-style: italic } /* Comment.Single */\n",
-       ".highlight .cs { color: #408080; font-style: italic } /* Comment.Special */\n",
+       ".highlight .ch { color: #3D7B7B; font-style: italic } /* Comment.Hashbang */\n",
+       ".highlight .cm { color: #3D7B7B; font-style: italic } /* Comment.Multiline */\n",
+       ".highlight .cp { color: #9C6500 } /* Comment.Preproc */\n",
+       ".highlight .cpf { color: #3D7B7B; font-style: italic } /* Comment.PreprocFile */\n",
+       ".highlight .c1 { color: #3D7B7B; font-style: italic } /* Comment.Single */\n",
+       ".highlight .cs { color: #3D7B7B; font-style: italic } /* Comment.Special */\n",
        ".highlight .gd { color: #A00000 } /* Generic.Deleted */\n",
        ".highlight .ge { font-style: italic } /* Generic.Emph */\n",
-       ".highlight .gr { color: #FF0000 } /* Generic.Error */\n",
+       ".highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */\n",
+       ".highlight .gr { color: #E40000 } /* Generic.Error */\n",
        ".highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */\n",
-       ".highlight .gi { color: #00A000 } /* Generic.Inserted */\n",
-       ".highlight .go { color: #888888 } /* Generic.Output */\n",
+       ".highlight .gi { color: #008400 } /* Generic.Inserted */\n",
+       ".highlight .go { color: #717171 } /* Generic.Output */\n",
        ".highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */\n",
        ".highlight .gs { font-weight: bold } /* Generic.Strong */\n",
        ".highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */\n",
@@ -365,15 +362,15 @@
        ".highlight .kt { color: #B00040 } /* Keyword.Type */\n",
        ".highlight .m { color: #666666 } /* Literal.Number */\n",
        ".highlight .s { color: #BA2121 } /* Literal.String */\n",
-       ".highlight .na { color: #7D9029 } /* Name.Attribute */\n",
+       ".highlight .na { color: #687822 } /* Name.Attribute */\n",
        ".highlight .nb { color: #008000 } /* Name.Builtin */\n",
        ".highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */\n",
        ".highlight .no { color: #880000 } /* Name.Constant */\n",
        ".highlight .nd { color: #AA22FF } /* Name.Decorator */\n",
-       ".highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */\n",
-       ".highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */\n",
+       ".highlight .ni { color: #717171; font-weight: bold } /* Name.Entity */\n",
+       ".highlight .ne { color: #CB3F38; font-weight: bold } /* Name.Exception */\n",
        ".highlight .nf { color: #0000FF } /* Name.Function */\n",
-       ".highlight .nl { color: #A0A000 } /* Name.Label */\n",
+       ".highlight .nl { color: #767600 } /* Name.Label */\n",
        ".highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */\n",
        ".highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */\n",
        ".highlight .nv { color: #19177C } /* Name.Variable */\n",
@@ -390,11 +387,11 @@
        ".highlight .dl { color: #BA2121 } /* Literal.String.Delimiter */\n",
        ".highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */\n",
        ".highlight .s2 { color: #BA2121 } /* Literal.String.Double */\n",
-       ".highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */\n",
+       ".highlight .se { color: #AA5D1F; font-weight: bold } /* Literal.String.Escape */\n",
        ".highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */\n",
-       ".highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */\n",
+       ".highlight .si { color: #A45A77; font-weight: bold } /* Literal.String.Interpol */\n",
        ".highlight .sx { color: #008000 } /* Literal.String.Other */\n",
-       ".highlight .sr { color: #BB6688 } /* Literal.String.Regex */\n",
+       ".highlight .sr { color: #A45A77 } /* Literal.String.Regex */\n",
        ".highlight .s1 { color: #BA2121 } /* Literal.String.Single */\n",
        ".highlight .ss { color: #19177C } /* Literal.String.Symbol */\n",
        ".highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */\n",
@@ -415,19 +412,16 @@
     {
      "data": {
       "text/html": [
-       "<div class=\"highlight\"><pre><span></span><span class=\"n\">FUNC_PREFIX</span><span class=\"w\"> </span><span class=\"kt\">void</span><span class=\"w\"> </span><span class=\"n\">kernel</span><span class=\"p\">(</span><span class=\"kt\">double</span><span class=\"w\"> </span><span class=\"o\">*</span><span class=\"w\"> </span><span class=\"n\">RESTRICT</span><span class=\"w\">  </span><span class=\"n\">_data_dst</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"kt\">double</span><span class=\"w\"> </span><span class=\"o\">*</span><span class=\"w\"> </span><span class=\"n\">RESTRICT</span><span class=\"w\"> </span><span class=\"k\">const</span><span class=\"w\"> </span><span class=\"n\">_data_src</span><span class=\"p\">)</span><span class=\"w\"></span>\n",
-       "<span class=\"p\">{</span><span class=\"w\"></span>\n",
-       "<span class=\"w\">   </span><span class=\"k\">for</span><span class=\"w\"> </span><span class=\"p\">(</span><span class=\"kt\">int64_t</span><span class=\"w\"> </span><span class=\"n\">ctr_0</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"mi\">2</span><span class=\"p\">;</span><span class=\"w\"> </span><span class=\"n\">ctr_0</span><span class=\"w\"> </span><span class=\"o\">&lt;</span><span class=\"w\"> </span><span class=\"mi\">18</span><span class=\"p\">;</span><span class=\"w\"> </span><span class=\"n\">ctr_0</span><span class=\"w\"> </span><span class=\"o\">+=</span><span class=\"w\"> </span><span class=\"mi\">1</span><span class=\"p\">)</span><span class=\"w\"></span>\n",
-       "<span class=\"w\">   </span><span class=\"p\">{</span><span class=\"w\"></span>\n",
-       "<span class=\"w\">      </span><span class=\"kt\">double</span><span class=\"w\"> </span><span class=\"o\">*</span><span class=\"w\"> </span><span class=\"n\">RESTRICT</span><span class=\"w\">  </span><span class=\"n\">_data_dst_00</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"n\">_data_dst</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"mi\">30</span><span class=\"o\">*</span><span class=\"n\">ctr_0</span><span class=\"p\">;</span><span class=\"w\"></span>\n",
-       "<span class=\"w\">      </span><span class=\"kt\">double</span><span class=\"w\"> </span><span class=\"o\">*</span><span class=\"w\"> </span><span class=\"n\">RESTRICT</span><span class=\"w\"> </span><span class=\"n\">_data_src_02</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"n\">_data_src</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"mi\">30</span><span class=\"o\">*</span><span class=\"n\">ctr_0</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"mi\">60</span><span class=\"p\">;</span><span class=\"w\"></span>\n",
-       "<span class=\"w\">      </span><span class=\"kt\">double</span><span class=\"w\"> </span><span class=\"o\">*</span><span class=\"w\"> </span><span class=\"n\">RESTRICT</span><span class=\"w\"> </span><span class=\"n\">_data_src_0m1</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"n\">_data_src</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"mi\">30</span><span class=\"o\">*</span><span class=\"n\">ctr_0</span><span class=\"w\"> </span><span class=\"o\">-</span><span class=\"w\"> </span><span class=\"mi\">30</span><span class=\"p\">;</span><span class=\"w\"></span>\n",
-       "<span class=\"w\">      </span><span class=\"k\">for</span><span class=\"w\"> </span><span class=\"p\">(</span><span class=\"kt\">int64_t</span><span class=\"w\"> </span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"mi\">2</span><span class=\"p\">;</span><span class=\"w\"> </span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">&lt;</span><span class=\"w\"> </span><span class=\"mi\">28</span><span class=\"p\">;</span><span class=\"w\"> </span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">+=</span><span class=\"w\"> </span><span class=\"mi\">1</span><span class=\"p\">)</span><span class=\"w\"></span>\n",
-       "<span class=\"w\">      </span><span class=\"p\">{</span><span class=\"w\"></span>\n",
-       "<span class=\"w\">         </span><span class=\"n\">_data_dst_00</span><span class=\"p\">[</span><span class=\"n\">ctr_1</span><span class=\"p\">]</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"n\">_data_src_02</span><span class=\"p\">[</span><span class=\"n\">ctr_1</span><span class=\"p\">]</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"n\">_data_src_0m1</span><span class=\"p\">[</span><span class=\"n\">ctr_1</span><span class=\"p\">];</span><span class=\"w\"></span>\n",
-       "<span class=\"w\">      </span><span class=\"p\">}</span><span class=\"w\"></span>\n",
-       "<span class=\"w\">   </span><span class=\"p\">}</span><span class=\"w\"></span>\n",
-       "<span class=\"p\">}</span><span class=\"w\"></span>\n",
+       "<div class=\"highlight\"><pre><span></span><span class=\"n\">FUNC_PREFIX</span><span class=\"w\"> </span><span class=\"kt\">void</span><span class=\"w\"> </span><span class=\"n\">kernel</span><span class=\"p\">(</span><span class=\"kt\">double</span><span class=\"w\"> </span><span class=\"o\">*</span><span class=\"w\"> </span><span class=\"n\">RESTRICT</span><span class=\"w\">  </span><span class=\"n\">_data_dst</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"kt\">double</span><span class=\"w\"> </span><span class=\"o\">*</span><span class=\"w\"> </span><span class=\"n\">RESTRICT</span><span class=\"w\"> </span><span class=\"k\">const</span><span class=\"w\"> </span><span class=\"n\">_data_src</span><span class=\"p\">)</span>\n",
+       "<span class=\"p\">{</span>\n",
+       "<span class=\"w\">   </span><span class=\"k\">for</span><span class=\"w\"> </span><span class=\"p\">(</span><span class=\"kt\">int64_t</span><span class=\"w\"> </span><span class=\"n\">ctr_0</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"mi\">2</span><span class=\"p\">;</span><span class=\"w\"> </span><span class=\"n\">ctr_0</span><span class=\"w\"> </span><span class=\"o\">&lt;</span><span class=\"w\"> </span><span class=\"mi\">18</span><span class=\"p\">;</span><span class=\"w\"> </span><span class=\"n\">ctr_0</span><span class=\"w\"> </span><span class=\"o\">+=</span><span class=\"w\"> </span><span class=\"mi\">1</span><span class=\"p\">)</span>\n",
+       "<span class=\"w\">   </span><span class=\"p\">{</span>\n",
+       "<span class=\"w\">      </span><span class=\"k\">for</span><span class=\"w\"> </span><span class=\"p\">(</span><span class=\"kt\">int64_t</span><span class=\"w\"> </span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"mi\">2</span><span class=\"p\">;</span><span class=\"w\"> </span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">&lt;</span><span class=\"w\"> </span><span class=\"mi\">28</span><span class=\"p\">;</span><span class=\"w\"> </span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">+=</span><span class=\"w\"> </span><span class=\"mi\">1</span><span class=\"p\">)</span>\n",
+       "<span class=\"w\">      </span><span class=\"p\">{</span>\n",
+       "<span class=\"w\">         </span><span class=\"n\">_data_dst</span><span class=\"p\">[</span><span class=\"mi\">30</span><span class=\"o\">*</span><span class=\"n\">ctr_0</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"n\">ctr_1</span><span class=\"p\">]</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"n\">_data_src</span><span class=\"p\">[</span><span class=\"mi\">30</span><span class=\"o\">*</span><span class=\"n\">ctr_0</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"mi\">60</span><span class=\"p\">]</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"n\">_data_src</span><span class=\"p\">[</span><span class=\"mi\">30</span><span class=\"o\">*</span><span class=\"n\">ctr_0</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">-</span><span class=\"w\"> </span><span class=\"mi\">30</span><span class=\"p\">];</span>\n",
+       "<span class=\"w\">      </span><span class=\"p\">}</span>\n",
+       "<span class=\"w\">   </span><span class=\"p\">}</span>\n",
+       "<span class=\"p\">}</span>\n",
        "</pre></div>\n"
       ],
       "text/plain": [
@@ -435,12 +429,9 @@
        "{\n",
        "   for (int64_t ctr_0 = 2; ctr_0 < 18; ctr_0 += 1)\n",
        "   {\n",
-       "      double * RESTRICT  _data_dst_00 = _data_dst + 30*ctr_0;\n",
-       "      double * RESTRICT _data_src_02 = _data_src + 30*ctr_0 + 60;\n",
-       "      double * RESTRICT _data_src_0m1 = _data_src + 30*ctr_0 - 30;\n",
        "      for (int64_t ctr_1 = 2; ctr_1 < 28; ctr_1 += 1)\n",
        "      {\n",
-       "         _data_dst_00[ctr_1] = _data_src_02[ctr_1] + _data_src_0m1[ctr_1];\n",
+       "         _data_dst[30*ctr_0 + ctr_1] = _data_src[30*ctr_0 + ctr_1 + 60] + _data_src[30*ctr_0 + ctr_1 - 30];\n",
        "      }\n",
        "   }\n",
        "}"
@@ -478,22 +469,23 @@
        "span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }\n",
        ".highlight .hll { background-color: #ffffcc }\n",
        ".highlight { background: #f8f8f8; }\n",
-       ".highlight .c { color: #408080; font-style: italic } /* Comment */\n",
+       ".highlight .c { color: #3D7B7B; font-style: italic } /* Comment */\n",
        ".highlight .err { border: 1px solid #FF0000 } /* Error */\n",
        ".highlight .k { color: #008000; font-weight: bold } /* Keyword */\n",
        ".highlight .o { color: #666666 } /* Operator */\n",
-       ".highlight .ch { color: #408080; font-style: italic } /* Comment.Hashbang */\n",
-       ".highlight .cm { color: #408080; font-style: italic } /* Comment.Multiline */\n",
-       ".highlight .cp { color: #BC7A00 } /* Comment.Preproc */\n",
-       ".highlight .cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */\n",
-       ".highlight .c1 { color: #408080; font-style: italic } /* Comment.Single */\n",
-       ".highlight .cs { color: #408080; font-style: italic } /* Comment.Special */\n",
+       ".highlight .ch { color: #3D7B7B; font-style: italic } /* Comment.Hashbang */\n",
+       ".highlight .cm { color: #3D7B7B; font-style: italic } /* Comment.Multiline */\n",
+       ".highlight .cp { color: #9C6500 } /* Comment.Preproc */\n",
+       ".highlight .cpf { color: #3D7B7B; font-style: italic } /* Comment.PreprocFile */\n",
+       ".highlight .c1 { color: #3D7B7B; font-style: italic } /* Comment.Single */\n",
+       ".highlight .cs { color: #3D7B7B; font-style: italic } /* Comment.Special */\n",
        ".highlight .gd { color: #A00000 } /* Generic.Deleted */\n",
        ".highlight .ge { font-style: italic } /* Generic.Emph */\n",
-       ".highlight .gr { color: #FF0000 } /* Generic.Error */\n",
+       ".highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */\n",
+       ".highlight .gr { color: #E40000 } /* Generic.Error */\n",
        ".highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */\n",
-       ".highlight .gi { color: #00A000 } /* Generic.Inserted */\n",
-       ".highlight .go { color: #888888 } /* Generic.Output */\n",
+       ".highlight .gi { color: #008400 } /* Generic.Inserted */\n",
+       ".highlight .go { color: #717171 } /* Generic.Output */\n",
        ".highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */\n",
        ".highlight .gs { font-weight: bold } /* Generic.Strong */\n",
        ".highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */\n",
@@ -506,15 +498,15 @@
        ".highlight .kt { color: #B00040 } /* Keyword.Type */\n",
        ".highlight .m { color: #666666 } /* Literal.Number */\n",
        ".highlight .s { color: #BA2121 } /* Literal.String */\n",
-       ".highlight .na { color: #7D9029 } /* Name.Attribute */\n",
+       ".highlight .na { color: #687822 } /* Name.Attribute */\n",
        ".highlight .nb { color: #008000 } /* Name.Builtin */\n",
        ".highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */\n",
        ".highlight .no { color: #880000 } /* Name.Constant */\n",
        ".highlight .nd { color: #AA22FF } /* Name.Decorator */\n",
-       ".highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */\n",
-       ".highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */\n",
+       ".highlight .ni { color: #717171; font-weight: bold } /* Name.Entity */\n",
+       ".highlight .ne { color: #CB3F38; font-weight: bold } /* Name.Exception */\n",
        ".highlight .nf { color: #0000FF } /* Name.Function */\n",
-       ".highlight .nl { color: #A0A000 } /* Name.Label */\n",
+       ".highlight .nl { color: #767600 } /* Name.Label */\n",
        ".highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */\n",
        ".highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */\n",
        ".highlight .nv { color: #19177C } /* Name.Variable */\n",
@@ -531,11 +523,11 @@
        ".highlight .dl { color: #BA2121 } /* Literal.String.Delimiter */\n",
        ".highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */\n",
        ".highlight .s2 { color: #BA2121 } /* Literal.String.Double */\n",
-       ".highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */\n",
+       ".highlight .se { color: #AA5D1F; font-weight: bold } /* Literal.String.Escape */\n",
        ".highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */\n",
-       ".highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */\n",
+       ".highlight .si { color: #A45A77; font-weight: bold } /* Literal.String.Interpol */\n",
        ".highlight .sx { color: #008000 } /* Literal.String.Other */\n",
-       ".highlight .sr { color: #BB6688 } /* Literal.String.Regex */\n",
+       ".highlight .sr { color: #A45A77 } /* Literal.String.Regex */\n",
        ".highlight .s1 { color: #BA2121 } /* Literal.String.Single */\n",
        ".highlight .ss { color: #19177C } /* Literal.String.Symbol */\n",
        ".highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */\n",
@@ -556,19 +548,16 @@
     {
      "data": {
       "text/html": [
-       "<div class=\"highlight\"><pre><span></span><span class=\"n\">FUNC_PREFIX</span><span class=\"w\"> </span><span class=\"kt\">void</span><span class=\"w\"> </span><span class=\"n\">kernel</span><span class=\"p\">(</span><span class=\"kt\">double</span><span class=\"w\"> </span><span class=\"o\">*</span><span class=\"w\"> </span><span class=\"n\">RESTRICT</span><span class=\"w\">  </span><span class=\"n\">_data_dst</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"kt\">double</span><span class=\"w\"> </span><span class=\"o\">*</span><span class=\"w\"> </span><span class=\"n\">RESTRICT</span><span class=\"w\"> </span><span class=\"k\">const</span><span class=\"w\"> </span><span class=\"n\">_data_src</span><span class=\"p\">)</span><span class=\"w\"></span>\n",
-       "<span class=\"p\">{</span><span class=\"w\"></span>\n",
-       "<span class=\"w\">   </span><span class=\"k\">for</span><span class=\"w\"> </span><span class=\"p\">(</span><span class=\"kt\">int64_t</span><span class=\"w\"> </span><span class=\"n\">ctr_0</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"mi\">0</span><span class=\"p\">;</span><span class=\"w\"> </span><span class=\"n\">ctr_0</span><span class=\"w\"> </span><span class=\"o\">&lt;</span><span class=\"w\"> </span><span class=\"mi\">18</span><span class=\"p\">;</span><span class=\"w\"> </span><span class=\"n\">ctr_0</span><span class=\"w\"> </span><span class=\"o\">+=</span><span class=\"w\"> </span><span class=\"mi\">1</span><span class=\"p\">)</span><span class=\"w\"></span>\n",
-       "<span class=\"w\">   </span><span class=\"p\">{</span><span class=\"w\"></span>\n",
-       "<span class=\"w\">      </span><span class=\"kt\">double</span><span class=\"w\"> </span><span class=\"o\">*</span><span class=\"w\"> </span><span class=\"n\">RESTRICT</span><span class=\"w\">  </span><span class=\"n\">_data_dst_00</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"n\">_data_dst</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"mi\">30</span><span class=\"o\">*</span><span class=\"n\">ctr_0</span><span class=\"p\">;</span><span class=\"w\"></span>\n",
-       "<span class=\"w\">      </span><span class=\"kt\">double</span><span class=\"w\"> </span><span class=\"o\">*</span><span class=\"w\"> </span><span class=\"n\">RESTRICT</span><span class=\"w\"> </span><span class=\"n\">_data_src_02</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"n\">_data_src</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"mi\">30</span><span class=\"o\">*</span><span class=\"n\">ctr_0</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"mi\">60</span><span class=\"p\">;</span><span class=\"w\"></span>\n",
-       "<span class=\"w\">      </span><span class=\"kt\">double</span><span class=\"w\"> </span><span class=\"o\">*</span><span class=\"w\"> </span><span class=\"n\">RESTRICT</span><span class=\"w\"> </span><span class=\"n\">_data_src_0m1</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"n\">_data_src</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"mi\">30</span><span class=\"o\">*</span><span class=\"n\">ctr_0</span><span class=\"w\"> </span><span class=\"o\">-</span><span class=\"w\"> </span><span class=\"mi\">30</span><span class=\"p\">;</span><span class=\"w\"></span>\n",
-       "<span class=\"w\">      </span><span class=\"k\">for</span><span class=\"w\"> </span><span class=\"p\">(</span><span class=\"kt\">int64_t</span><span class=\"w\"> </span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"mi\">1</span><span class=\"p\">;</span><span class=\"w\"> </span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">&lt;</span><span class=\"w\"> </span><span class=\"mi\">30</span><span class=\"p\">;</span><span class=\"w\"> </span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">+=</span><span class=\"w\"> </span><span class=\"mi\">1</span><span class=\"p\">)</span><span class=\"w\"></span>\n",
-       "<span class=\"w\">      </span><span class=\"p\">{</span><span class=\"w\"></span>\n",
-       "<span class=\"w\">         </span><span class=\"n\">_data_dst_00</span><span class=\"p\">[</span><span class=\"n\">ctr_1</span><span class=\"p\">]</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"n\">_data_src_02</span><span class=\"p\">[</span><span class=\"n\">ctr_1</span><span class=\"p\">]</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"n\">_data_src_0m1</span><span class=\"p\">[</span><span class=\"n\">ctr_1</span><span class=\"p\">];</span><span class=\"w\"></span>\n",
-       "<span class=\"w\">      </span><span class=\"p\">}</span><span class=\"w\"></span>\n",
-       "<span class=\"w\">   </span><span class=\"p\">}</span><span class=\"w\"></span>\n",
-       "<span class=\"p\">}</span><span class=\"w\"></span>\n",
+       "<div class=\"highlight\"><pre><span></span><span class=\"n\">FUNC_PREFIX</span><span class=\"w\"> </span><span class=\"kt\">void</span><span class=\"w\"> </span><span class=\"n\">kernel</span><span class=\"p\">(</span><span class=\"kt\">double</span><span class=\"w\"> </span><span class=\"o\">*</span><span class=\"w\"> </span><span class=\"n\">RESTRICT</span><span class=\"w\">  </span><span class=\"n\">_data_dst</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"kt\">double</span><span class=\"w\"> </span><span class=\"o\">*</span><span class=\"w\"> </span><span class=\"n\">RESTRICT</span><span class=\"w\"> </span><span class=\"k\">const</span><span class=\"w\"> </span><span class=\"n\">_data_src</span><span class=\"p\">)</span>\n",
+       "<span class=\"p\">{</span>\n",
+       "<span class=\"w\">   </span><span class=\"k\">for</span><span class=\"w\"> </span><span class=\"p\">(</span><span class=\"kt\">int64_t</span><span class=\"w\"> </span><span class=\"n\">ctr_0</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"mi\">0</span><span class=\"p\">;</span><span class=\"w\"> </span><span class=\"n\">ctr_0</span><span class=\"w\"> </span><span class=\"o\">&lt;</span><span class=\"w\"> </span><span class=\"mi\">18</span><span class=\"p\">;</span><span class=\"w\"> </span><span class=\"n\">ctr_0</span><span class=\"w\"> </span><span class=\"o\">+=</span><span class=\"w\"> </span><span class=\"mi\">1</span><span class=\"p\">)</span>\n",
+       "<span class=\"w\">   </span><span class=\"p\">{</span>\n",
+       "<span class=\"w\">      </span><span class=\"k\">for</span><span class=\"w\"> </span><span class=\"p\">(</span><span class=\"kt\">int64_t</span><span class=\"w\"> </span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"mi\">1</span><span class=\"p\">;</span><span class=\"w\"> </span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">&lt;</span><span class=\"w\"> </span><span class=\"mi\">30</span><span class=\"p\">;</span><span class=\"w\"> </span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">+=</span><span class=\"w\"> </span><span class=\"mi\">1</span><span class=\"p\">)</span>\n",
+       "<span class=\"w\">      </span><span class=\"p\">{</span>\n",
+       "<span class=\"w\">         </span><span class=\"n\">_data_dst</span><span class=\"p\">[</span><span class=\"mi\">30</span><span class=\"o\">*</span><span class=\"n\">ctr_0</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"n\">ctr_1</span><span class=\"p\">]</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"n\">_data_src</span><span class=\"p\">[</span><span class=\"mi\">30</span><span class=\"o\">*</span><span class=\"n\">ctr_0</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"mi\">60</span><span class=\"p\">]</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"n\">_data_src</span><span class=\"p\">[</span><span class=\"mi\">30</span><span class=\"o\">*</span><span class=\"n\">ctr_0</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">-</span><span class=\"w\"> </span><span class=\"mi\">30</span><span class=\"p\">];</span>\n",
+       "<span class=\"w\">      </span><span class=\"p\">}</span>\n",
+       "<span class=\"w\">   </span><span class=\"p\">}</span>\n",
+       "<span class=\"p\">}</span>\n",
        "</pre></div>\n"
       ],
       "text/plain": [
@@ -576,12 +565,9 @@
        "{\n",
        "   for (int64_t ctr_0 = 0; ctr_0 < 18; ctr_0 += 1)\n",
        "   {\n",
-       "      double * RESTRICT  _data_dst_00 = _data_dst + 30*ctr_0;\n",
-       "      double * RESTRICT _data_src_02 = _data_src + 30*ctr_0 + 60;\n",
-       "      double * RESTRICT _data_src_0m1 = _data_src + 30*ctr_0 - 30;\n",
        "      for (int64_t ctr_1 = 1; ctr_1 < 30; ctr_1 += 1)\n",
        "      {\n",
-       "         _data_dst_00[ctr_1] = _data_src_02[ctr_1] + _data_src_0m1[ctr_1];\n",
+       "         _data_dst[30*ctr_0 + ctr_1] = _data_src[30*ctr_0 + ctr_1 + 60] + _data_src[30*ctr_0 + ctr_1 - 30];\n",
        "      }\n",
        "   }\n",
        "}"
@@ -767,22 +753,23 @@
        "span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }\n",
        ".highlight .hll { background-color: #ffffcc }\n",
        ".highlight { background: #f8f8f8; }\n",
-       ".highlight .c { color: #408080; font-style: italic } /* Comment */\n",
+       ".highlight .c { color: #3D7B7B; font-style: italic } /* Comment */\n",
        ".highlight .err { border: 1px solid #FF0000 } /* Error */\n",
        ".highlight .k { color: #008000; font-weight: bold } /* Keyword */\n",
        ".highlight .o { color: #666666 } /* Operator */\n",
-       ".highlight .ch { color: #408080; font-style: italic } /* Comment.Hashbang */\n",
-       ".highlight .cm { color: #408080; font-style: italic } /* Comment.Multiline */\n",
-       ".highlight .cp { color: #BC7A00 } /* Comment.Preproc */\n",
-       ".highlight .cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */\n",
-       ".highlight .c1 { color: #408080; font-style: italic } /* Comment.Single */\n",
-       ".highlight .cs { color: #408080; font-style: italic } /* Comment.Special */\n",
+       ".highlight .ch { color: #3D7B7B; font-style: italic } /* Comment.Hashbang */\n",
+       ".highlight .cm { color: #3D7B7B; font-style: italic } /* Comment.Multiline */\n",
+       ".highlight .cp { color: #9C6500 } /* Comment.Preproc */\n",
+       ".highlight .cpf { color: #3D7B7B; font-style: italic } /* Comment.PreprocFile */\n",
+       ".highlight .c1 { color: #3D7B7B; font-style: italic } /* Comment.Single */\n",
+       ".highlight .cs { color: #3D7B7B; font-style: italic } /* Comment.Special */\n",
        ".highlight .gd { color: #A00000 } /* Generic.Deleted */\n",
        ".highlight .ge { font-style: italic } /* Generic.Emph */\n",
-       ".highlight .gr { color: #FF0000 } /* Generic.Error */\n",
+       ".highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */\n",
+       ".highlight .gr { color: #E40000 } /* Generic.Error */\n",
        ".highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */\n",
-       ".highlight .gi { color: #00A000 } /* Generic.Inserted */\n",
-       ".highlight .go { color: #888888 } /* Generic.Output */\n",
+       ".highlight .gi { color: #008400 } /* Generic.Inserted */\n",
+       ".highlight .go { color: #717171 } /* Generic.Output */\n",
        ".highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */\n",
        ".highlight .gs { font-weight: bold } /* Generic.Strong */\n",
        ".highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */\n",
@@ -795,15 +782,15 @@
        ".highlight .kt { color: #B00040 } /* Keyword.Type */\n",
        ".highlight .m { color: #666666 } /* Literal.Number */\n",
        ".highlight .s { color: #BA2121 } /* Literal.String */\n",
-       ".highlight .na { color: #7D9029 } /* Name.Attribute */\n",
+       ".highlight .na { color: #687822 } /* Name.Attribute */\n",
        ".highlight .nb { color: #008000 } /* Name.Builtin */\n",
        ".highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */\n",
        ".highlight .no { color: #880000 } /* Name.Constant */\n",
        ".highlight .nd { color: #AA22FF } /* Name.Decorator */\n",
-       ".highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */\n",
-       ".highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */\n",
+       ".highlight .ni { color: #717171; font-weight: bold } /* Name.Entity */\n",
+       ".highlight .ne { color: #CB3F38; font-weight: bold } /* Name.Exception */\n",
        ".highlight .nf { color: #0000FF } /* Name.Function */\n",
-       ".highlight .nl { color: #A0A000 } /* Name.Label */\n",
+       ".highlight .nl { color: #767600 } /* Name.Label */\n",
        ".highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */\n",
        ".highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */\n",
        ".highlight .nv { color: #19177C } /* Name.Variable */\n",
@@ -820,11 +807,11 @@
        ".highlight .dl { color: #BA2121 } /* Literal.String.Delimiter */\n",
        ".highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */\n",
        ".highlight .s2 { color: #BA2121 } /* Literal.String.Double */\n",
-       ".highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */\n",
+       ".highlight .se { color: #AA5D1F; font-weight: bold } /* Literal.String.Escape */\n",
        ".highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */\n",
-       ".highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */\n",
+       ".highlight .si { color: #A45A77; font-weight: bold } /* Literal.String.Interpol */\n",
        ".highlight .sx { color: #008000 } /* Literal.String.Other */\n",
-       ".highlight .sr { color: #BB6688 } /* Literal.String.Regex */\n",
+       ".highlight .sr { color: #A45A77 } /* Literal.String.Regex */\n",
        ".highlight .s1 { color: #BA2121 } /* Literal.String.Single */\n",
        ".highlight .ss { color: #19177C } /* Literal.String.Symbol */\n",
        ".highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */\n",
@@ -845,20 +832,17 @@
     {
      "data": {
       "text/html": [
-       "<div class=\"highlight\"><pre><span></span><span class=\"n\">FUNC_PREFIX</span><span class=\"w\"> </span><span class=\"kt\">void</span><span class=\"w\"> </span><span class=\"n\">kernel</span><span class=\"p\">(</span><span class=\"kt\">double</span><span class=\"w\"> </span><span class=\"o\">*</span><span class=\"w\"> </span><span class=\"n\">RESTRICT</span><span class=\"w\">  </span><span class=\"n\">_data_dst</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"kt\">double</span><span class=\"w\"> </span><span class=\"o\">*</span><span class=\"w\"> </span><span class=\"n\">RESTRICT</span><span class=\"w\"> </span><span class=\"k\">const</span><span class=\"w\"> </span><span class=\"n\">_data_src</span><span class=\"p\">)</span><span class=\"w\"></span>\n",
-       "<span class=\"p\">{</span><span class=\"w\"></span>\n",
-       "<span class=\"w\">   </span><span class=\"k\">for</span><span class=\"w\"> </span><span class=\"p\">(</span><span class=\"kt\">int64_t</span><span class=\"w\"> </span><span class=\"n\">ctr_0</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"mi\">1</span><span class=\"p\">;</span><span class=\"w\"> </span><span class=\"n\">ctr_0</span><span class=\"w\"> </span><span class=\"o\">&lt;</span><span class=\"w\"> </span><span class=\"mi\">19</span><span class=\"p\">;</span><span class=\"w\"> </span><span class=\"n\">ctr_0</span><span class=\"w\"> </span><span class=\"o\">+=</span><span class=\"w\"> </span><span class=\"mi\">1</span><span class=\"p\">)</span><span class=\"w\"></span>\n",
-       "<span class=\"w\">   </span><span class=\"p\">{</span><span class=\"w\"></span>\n",
-       "<span class=\"w\">      </span><span class=\"kt\">double</span><span class=\"w\"> </span><span class=\"o\">*</span><span class=\"w\"> </span><span class=\"n\">RESTRICT</span><span class=\"w\"> </span><span class=\"n\">_data_src_01</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"n\">_data_src</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"mi\">30</span><span class=\"o\">*</span><span class=\"n\">ctr_0</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"mi\">30</span><span class=\"p\">;</span><span class=\"w\"></span>\n",
-       "<span class=\"w\">      </span><span class=\"kt\">double</span><span class=\"w\"> </span><span class=\"o\">*</span><span class=\"w\"> </span><span class=\"n\">RESTRICT</span><span class=\"w\"> </span><span class=\"n\">_data_src_00</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"n\">_data_src</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"mi\">30</span><span class=\"o\">*</span><span class=\"n\">ctr_0</span><span class=\"p\">;</span><span class=\"w\"></span>\n",
-       "<span class=\"w\">      </span><span class=\"kt\">double</span><span class=\"w\"> </span><span class=\"o\">*</span><span class=\"w\"> </span><span class=\"n\">RESTRICT</span><span class=\"w\">  </span><span class=\"n\">_data_dst_00</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"n\">_data_dst</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"mi\">30</span><span class=\"o\">*</span><span class=\"n\">ctr_0</span><span class=\"p\">;</span><span class=\"w\"></span>\n",
-       "<span class=\"w\">      </span><span class=\"k\">for</span><span class=\"w\"> </span><span class=\"p\">(</span><span class=\"kt\">int64_t</span><span class=\"w\"> </span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"mi\">1</span><span class=\"p\">;</span><span class=\"w\"> </span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">&lt;</span><span class=\"w\"> </span><span class=\"mi\">29</span><span class=\"p\">;</span><span class=\"w\"> </span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">+=</span><span class=\"w\"> </span><span class=\"mi\">1</span><span class=\"p\">)</span><span class=\"w\"></span>\n",
-       "<span class=\"w\">      </span><span class=\"p\">{</span><span class=\"w\"></span>\n",
-       "<span class=\"w\">         </span><span class=\"k\">const</span><span class=\"w\"> </span><span class=\"kt\">double</span><span class=\"w\"> </span><span class=\"n\">a</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"n\">_data_src_00</span><span class=\"p\">[</span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"mi\">1</span><span class=\"p\">]</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"n\">_data_src_01</span><span class=\"p\">[</span><span class=\"n\">ctr_1</span><span class=\"p\">];</span><span class=\"w\"></span>\n",
-       "<span class=\"w\">         </span><span class=\"n\">_data_dst_00</span><span class=\"p\">[</span><span class=\"n\">ctr_1</span><span class=\"p\">]</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"n\">a</span><span class=\"o\">*</span><span class=\"mf\">2.0</span><span class=\"p\">;</span><span class=\"w\"></span>\n",
-       "<span class=\"w\">      </span><span class=\"p\">}</span><span class=\"w\"></span>\n",
-       "<span class=\"w\">   </span><span class=\"p\">}</span><span class=\"w\"></span>\n",
-       "<span class=\"p\">}</span><span class=\"w\"></span>\n",
+       "<div class=\"highlight\"><pre><span></span><span class=\"n\">FUNC_PREFIX</span><span class=\"w\"> </span><span class=\"kt\">void</span><span class=\"w\"> </span><span class=\"n\">kernel</span><span class=\"p\">(</span><span class=\"kt\">double</span><span class=\"w\"> </span><span class=\"o\">*</span><span class=\"w\"> </span><span class=\"n\">RESTRICT</span><span class=\"w\">  </span><span class=\"n\">_data_dst</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"kt\">double</span><span class=\"w\"> </span><span class=\"o\">*</span><span class=\"w\"> </span><span class=\"n\">RESTRICT</span><span class=\"w\"> </span><span class=\"k\">const</span><span class=\"w\"> </span><span class=\"n\">_data_src</span><span class=\"p\">)</span>\n",
+       "<span class=\"p\">{</span>\n",
+       "<span class=\"w\">   </span><span class=\"k\">for</span><span class=\"w\"> </span><span class=\"p\">(</span><span class=\"kt\">int64_t</span><span class=\"w\"> </span><span class=\"n\">ctr_0</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"mi\">1</span><span class=\"p\">;</span><span class=\"w\"> </span><span class=\"n\">ctr_0</span><span class=\"w\"> </span><span class=\"o\">&lt;</span><span class=\"w\"> </span><span class=\"mi\">19</span><span class=\"p\">;</span><span class=\"w\"> </span><span class=\"n\">ctr_0</span><span class=\"w\"> </span><span class=\"o\">+=</span><span class=\"w\"> </span><span class=\"mi\">1</span><span class=\"p\">)</span>\n",
+       "<span class=\"w\">   </span><span class=\"p\">{</span>\n",
+       "<span class=\"w\">      </span><span class=\"k\">for</span><span class=\"w\"> </span><span class=\"p\">(</span><span class=\"kt\">int64_t</span><span class=\"w\"> </span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"mi\">1</span><span class=\"p\">;</span><span class=\"w\"> </span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">&lt;</span><span class=\"w\"> </span><span class=\"mi\">29</span><span class=\"p\">;</span><span class=\"w\"> </span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">+=</span><span class=\"w\"> </span><span class=\"mi\">1</span><span class=\"p\">)</span>\n",
+       "<span class=\"w\">      </span><span class=\"p\">{</span>\n",
+       "<span class=\"w\">         </span><span class=\"k\">const</span><span class=\"w\"> </span><span class=\"kt\">double</span><span class=\"w\"> </span><span class=\"n\">a</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"n\">_data_src</span><span class=\"p\">[</span><span class=\"mi\">30</span><span class=\"o\">*</span><span class=\"n\">ctr_0</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"mi\">1</span><span class=\"p\">]</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"n\">_data_src</span><span class=\"p\">[</span><span class=\"mi\">30</span><span class=\"o\">*</span><span class=\"n\">ctr_0</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"mi\">30</span><span class=\"p\">];</span>\n",
+       "<span class=\"w\">         </span><span class=\"n\">_data_dst</span><span class=\"p\">[</span><span class=\"mi\">30</span><span class=\"o\">*</span><span class=\"n\">ctr_0</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"n\">ctr_1</span><span class=\"p\">]</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"n\">a</span><span class=\"o\">*</span><span class=\"mf\">2.0</span><span class=\"p\">;</span>\n",
+       "<span class=\"w\">      </span><span class=\"p\">}</span>\n",
+       "<span class=\"w\">   </span><span class=\"p\">}</span>\n",
+       "<span class=\"p\">}</span>\n",
        "</pre></div>\n"
       ],
       "text/plain": [
@@ -866,13 +850,10 @@
        "{\n",
        "   for (int64_t ctr_0 = 1; ctr_0 < 19; ctr_0 += 1)\n",
        "   {\n",
-       "      double * RESTRICT _data_src_01 = _data_src + 30*ctr_0 + 30;\n",
-       "      double * RESTRICT _data_src_00 = _data_src + 30*ctr_0;\n",
-       "      double * RESTRICT  _data_dst_00 = _data_dst + 30*ctr_0;\n",
        "      for (int64_t ctr_1 = 1; ctr_1 < 29; ctr_1 += 1)\n",
        "      {\n",
-       "         const double a = _data_src_00[ctr_1 + 1] + _data_src_01[ctr_1];\n",
-       "         _data_dst_00[ctr_1] = a*2.0;\n",
+       "         const double a = _data_src[30*ctr_0 + ctr_1 + 1] + _data_src[30*ctr_0 + ctr_1 + 30];\n",
+       "         _data_dst[30*ctr_0 + ctr_1] = a*2.0;\n",
        "      }\n",
        "   }\n",
        "}"
@@ -912,9 +893,9 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.9.9"
+   "version": "3.11.6"
   }
  },
  "nbformat": 4,
- "nbformat_minor": 2
-}
\ No newline at end of file
+ "nbformat_minor": 4
+}
diff --git a/tests/test_jupyter_extensions.ipynb b/tests/test_jupyter_extensions.ipynb
index f0ab21d3..c99e3ac2 100644
--- a/tests/test_jupyter_extensions.ipynb
+++ b/tests/test_jupyter_extensions.ipynb
@@ -70,7 +70,7 @@
    "outputs": [],
    "source": [
     "ur = ps.Assignment(c_field[0, 0], c_field[1, 0])\n",
-    "ast = ps.create_kernel(ur, target=dh.default_target, cpu_openmp=True)\n",
+    "ast = ps.create_kernel(ur, target=dh.default_target, cpu_openmp=False)\n",
     "kernel = ast.compile()"
    ]
   },
@@ -214,7 +214,7 @@
  ],
  "metadata": {
   "kernelspec": {
-   "display_name": "Python 3",
+   "display_name": "Python 3 (ipykernel)",
    "language": "python",
    "name": "python3"
   },
@@ -228,7 +228,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.7.7"
+   "version": "3.11.6"
   }
  },
  "nbformat": 4,
diff --git a/tests/test_phasefield_dentritic_3D.ipynb b/tests/test_phasefield_dentritic_3D.ipynb
index 41fddaee..1cfa14a2 100644
--- a/tests/test_phasefield_dentritic_3D.ipynb
+++ b/tests/test_phasefield_dentritic_3D.ipynb
@@ -8,7 +8,7 @@
     {
      "data": {
       "text/plain": [
-       "<module 'cupy' from '/home/markus/.local/lib/python3.11/site-packages/cupy/__init__.py'>"
+       "<module 'cupy' from '/home/markus/Python311/lib/python3.11/site-packages/cupy/__init__.py'>"
       ]
      },
      "execution_count": 1,
@@ -98,12 +98,26 @@
        "$\\displaystyle \\bar{\\epsilon} \\left(δ \\left(\\frac{{\\partial_{0} {φ}_{(0,0,0)}}^{4}}{\\left({\\partial_{0} {φ}_{(0,0,0)}}^{2} + {\\partial_{1} {φ}_{(0,0,0)}}^{2} + {\\partial_{2} {φ}_{(0,0,0)}}^{2}\\right)^{2}} + \\frac{{\\partial_{1} {φ}_{(0,0,0)}}^{4}}{\\left({\\partial_{0} {φ}_{(0,0,0)}}^{2} + {\\partial_{1} {φ}_{(0,0,0)}}^{2} + {\\partial_{2} {φ}_{(0,0,0)}}^{2}\\right)^{2}} + \\frac{{\\partial_{2} {φ}_{(0,0,0)}}^{4}}{\\left({\\partial_{0} {φ}_{(0,0,0)}}^{2} + {\\partial_{1} {φ}_{(0,0,0)}}^{2} + {\\partial_{2} {φ}_{(0,0,0)}}^{2}\\right)^{2}}\\right) + 1\\right)$"
       ],
       "text/plain": [
-       "               ⎛  ⎛                            4                                               4                                               4                ⎞    ⎞\n",
-       "               ⎜  ⎜                 D(φ[0,0,0])                                     D(φ[0,0,0])                                     D(φ[0,0,0])                 ⎟    ⎟\n",
-       "\\bar{\\epsilon}⋅⎜δ⋅⎜───────────────────────────────────────────── + ───────────────────────────────────────────── + ─────────────────────────────────────────────⎟ + 1⎟\n",
-       "               ⎜  ⎜                                            2                                               2                                               2⎟    ⎟\n",
-       "               ⎜  ⎜⎛           2              2              2⎞    ⎛           2              2              2⎞    ⎛           2              2              2⎞ ⎟    ⎟\n",
-       "               ⎝  ⎝⎝D(φ[0,0,0])  + D(φ[0,0,0])  + D(φ[0,0,0]) ⎠    ⎝D(φ[0,0,0])  + D(φ[0,0,0])  + D(φ[0,0,0]) ⎠    ⎝D(φ[0,0,0])  + D(φ[0,0,0])  + D(φ[0,0,0]) ⎠ ⎠    ⎠"
+       "               ⎛  ⎛                            4                              \n",
+       "               ⎜  ⎜                 D(φ[0,0,0])                               \n",
+       "\\bar{\\epsilon}⋅⎜δ⋅⎜───────────────────────────────────────────── + ───────────\n",
+       "               ⎜  ⎜                                            2              \n",
+       "               ⎜  ⎜⎛           2              2              2⎞    ⎛          \n",
+       "               ⎝  ⎝⎝D(φ[0,0,0])  + D(φ[0,0,0])  + D(φ[0,0,0]) ⎠    ⎝D(φ[0,0,0]\n",
+       "\n",
+       "                 4                                               4            \n",
+       "      D(φ[0,0,0])                                     D(φ[0,0,0])             \n",
+       "────────────────────────────────── + ─────────────────────────────────────────\n",
+       "                                 2                                            \n",
+       " 2              2              2⎞    ⎛           2              2             \n",
+       ")  + D(φ[0,0,0])  + D(φ[0,0,0]) ⎠    ⎝D(φ[0,0,0])  + D(φ[0,0,0])  + D(φ[0,0,0]\n",
+       "\n",
+       "    ⎞    ⎞\n",
+       "    ⎟    ⎟\n",
+       "────⎟ + 1⎟\n",
+       "   2⎟    ⎟\n",
+       " 2⎞ ⎟    ⎟\n",
+       ") ⎠ ⎠    ⎠"
       ]
      },
      "execution_count": 5,
@@ -164,12 +178,13 @@
    "outputs": [
     {
      "data": {
-      "image/png": "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",
+      "image/png": "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",
       "text/latex": [
        "$\\displaystyle \\left\\{ \\pi : 3.14159265358979, \\  T_{eq} : 1.0, \\  \\bar{\\epsilon} : 0.01, \\  j : 6, \\  α : 0.9, \\  γ : 10, \\  δ : 0.3, \\  θ_{0} : 0.2, \\  κ : 1.8, \\  τ : 0.0003\\right\\}$"
       ],
       "text/plain": [
-       "{π: 3.14159265358979, T_eq: 1.0, \\bar{\\epsilon}: 0.01, j: 6, α: 0.9, γ: 10, δ: 0.3, θ₀: 0.2, κ: 1.8, τ: 0.0003}"
+       "{π: 3.14159265358979, T_eq: 1.0, \\bar{\\epsilon}: 0.01, j: 6, α: 0.9, γ: 10, δ:\n",
+       " 0.3, θ₀: 0.2, κ: 1.8, τ: 0.0003}"
       ]
      },
      "execution_count": 9,
@@ -221,11 +236,12 @@
     {
      "data": {
       "text/latex": [
-       "$\\displaystyle \\left[ {T}_{(0,0,0)} \\leftarrow 0.0111111111111111 {T}_{(0,0,-1)} + 0.933333333333333 {T}_{(0,0,0)} + 0.0111111111111111 {T}_{(1,0,0)} + 0.0111111111111111 {T}_{(0,1,0)} + 0.0111111111111111 {T}_{(0,-1,0)} + 0.0111111111111111 {T}_{(0,0,1)} + 0.0111111111111111 {T}_{(-1,0,0)} + 1.8 \\cdot 10^{-5} {φ_D}_{(0,0,0)}\\right]$"
+       "$\\displaystyle \\left[ {T}_{(0,0,0)} \\leftarrow_{} 0.0111111111111111 {T}_{(0,0,-1)} + 0.933333333333333 {T}_{(0,0,0)} + 0.0111111111111111 {T}_{(1,0,0)} + 0.0111111111111111 {T}_{(0,1,0)} + 0.0111111111111111 {T}_{(0,-1,0)} + 0.0111111111111111 {T}_{(0,0,1)} + 0.0111111111111111 {T}_{(-1,0,0)} + 1.8 \\cdot 10^{-5} {φ_D}_{(0,0,0)}\\right]$"
       ],
       "text/plain": [
-       "[T_C := 0.0111111111111111⋅T_B + 0.933333333333333⋅T_C + 0.0111111111111111⋅T_E + 0.0111111111111111⋅T_N + 0.0111111111111111⋅T_S + 0.0111111111111111⋅T_T + 0.0111111111111111⋅T_\n",
-       "W + 1.8e-5⋅phidelta_C]"
+       "[T_C := 0.0111111111111111⋅T_B + 0.933333333333333⋅T_C + 0.0111111111111111⋅T_\n",
+       "E + 0.0111111111111111⋅T_N + 0.0111111111111111⋅T_S + 0.0111111111111111⋅T_T +\n",
+       " 0.0111111111111111⋅T_W + 1.8e-5⋅phidelta_C]"
       ]
      },
      "execution_count": 11,
@@ -241,7 +257,21 @@
    "cell_type": "code",
    "execution_count": 12,
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "ename": "ValueError",
+     "evalue": "Assignments are not thread safe because data is read and written on different locations. OpenMP optimisation is not permitted in this scenario.",
+     "output_type": "error",
+     "traceback": [
+      "\u001B[0;31m---------------------------------------------------------------------------\u001B[0m",
+      "\u001B[0;31mValueError\u001B[0m                                Traceback (most recent call last)",
+      "Cell \u001B[0;32mIn[12], line 1\u001B[0m\n\u001B[0;32m----> 1\u001B[0m φ_kernel \u001B[38;5;241m=\u001B[39m \u001B[43mps\u001B[49m\u001B[38;5;241;43m.\u001B[39;49m\u001B[43mcreate_kernel\u001B[49m\u001B[43m(\u001B[49m\u001B[43mφEqs\u001B[49m\u001B[43m,\u001B[49m\u001B[43m \u001B[49m\u001B[43mcpu_openmp\u001B[49m\u001B[38;5;241;43m=\u001B[39;49m\u001B[38;5;241;43m4\u001B[39;49m\u001B[43m,\u001B[49m\u001B[43m \u001B[49m\u001B[43mtarget\u001B[49m\u001B[38;5;241;43m=\u001B[39;49m\u001B[43mtarget\u001B[49m\u001B[43m)\u001B[49m\u001B[38;5;241m.\u001B[39mcompile()\n\u001B[1;32m      2\u001B[0m temperatureKernel \u001B[38;5;241m=\u001B[39m ps\u001B[38;5;241m.\u001B[39mcreate_kernel(temperatureEqs, cpu_openmp\u001B[38;5;241m=\u001B[39m\u001B[38;5;241m4\u001B[39m, target\u001B[38;5;241m=\u001B[39mtarget)\u001B[38;5;241m.\u001B[39mcompile()\n",
+      "File \u001B[0;32m~/pystencils/pystencils/src/pystencils/kernelcreation.py:87\u001B[0m, in \u001B[0;36mcreate_kernel\u001B[0;34m(assignments, config, **kwargs)\u001B[0m\n\u001B[1;32m     85\u001B[0m     \u001B[38;5;28;01mreturn\u001B[39;00m create_indexed_kernel(assignments, config\u001B[38;5;241m=\u001B[39mconfig)\n\u001B[1;32m     86\u001B[0m \u001B[38;5;28;01melse\u001B[39;00m:\n\u001B[0;32m---> 87\u001B[0m     \u001B[38;5;28;01mreturn\u001B[39;00m \u001B[43mcreate_domain_kernel\u001B[49m\u001B[43m(\u001B[49m\u001B[43massignments\u001B[49m\u001B[43m,\u001B[49m\u001B[43m \u001B[49m\u001B[43mconfig\u001B[49m\u001B[38;5;241;43m=\u001B[39;49m\u001B[43mconfig\u001B[49m\u001B[43m)\u001B[49m\n",
+      "File \u001B[0;32m~/pystencils/pystencils/src/pystencils/kernelcreation.py:136\u001B[0m, in \u001B[0;36mcreate_domain_kernel\u001B[0;34m(assignments, config)\u001B[0m\n\u001B[1;32m    134\u001B[0m base \u001B[38;5;241m=\u001B[39m \u001B[38;5;124m\"\u001B[39m\u001B[38;5;124mAssignments are not thread safe because data is read and written on different locations.\u001B[39m\u001B[38;5;124m\"\u001B[39m\n\u001B[1;32m    135\u001B[0m \u001B[38;5;28;01mif\u001B[39;00m config\u001B[38;5;241m.\u001B[39mcpu_openmp:\n\u001B[0;32m--> 136\u001B[0m     \u001B[38;5;28;01mraise\u001B[39;00m \u001B[38;5;167;01mValueError\u001B[39;00m(\u001B[38;5;124mf\u001B[39m\u001B[38;5;124m\"\u001B[39m\u001B[38;5;132;01m{\u001B[39;00mbase\u001B[38;5;132;01m}\u001B[39;00m\u001B[38;5;124m OpenMP optimisation is not permitted in this scenario.\u001B[39m\u001B[38;5;124m\"\u001B[39m)\n\u001B[1;32m    137\u001B[0m \u001B[38;5;28;01mif\u001B[39;00m config\u001B[38;5;241m.\u001B[39mtarget \u001B[38;5;241m==\u001B[39m Target\u001B[38;5;241m.\u001B[39mGPU:\n\u001B[1;32m    138\u001B[0m     \u001B[38;5;28;01mraise\u001B[39;00m \u001B[38;5;167;01mValueError\u001B[39;00m(\u001B[38;5;124mf\u001B[39m\u001B[38;5;124m\"\u001B[39m\u001B[38;5;132;01m{\u001B[39;00mbase\u001B[38;5;132;01m}\u001B[39;00m\u001B[38;5;124m GPU target is not permitted in this case, only CPU target with single thread\u001B[39m\u001B[38;5;124m\"\u001B[39m)\n",
+      "\u001B[0;31mValueError\u001B[0m: Assignments are not thread safe because data is read and written on different locations. OpenMP optimisation is not permitted in this scenario."
+     ]
+    }
+   ],
    "source": [
     "φ_kernel = ps.create_kernel(φEqs, cpu_openmp=4, target=target).compile()\n",
     "temperatureKernel = ps.create_kernel(temperatureEqs, cpu_openmp=4, target=target).compile()"
@@ -249,7 +279,271 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 13,
+   "execution_count": 17,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "xi_67\n",
+      "xi_47\n",
+      "xi_26\n",
+      "xi_152\n",
+      "xi_54\n",
+      "xi_56\n",
+      "xi_82\n",
+      "xi_118\n",
+      "xi_24\n",
+      "xi_79\n",
+      "xi_113\n",
+      "xi_148\n",
+      "xi_192\n",
+      "φ[0,0,1]\n",
+      "xi_61\n",
+      "xi_131\n",
+      "xi_124\n",
+      "xi_216\n",
+      "xi_102\n",
+      "xi_62\n",
+      "φ[-1,-1,0]\n",
+      "xi_108\n",
+      "xi_58\n",
+      "xi_86\n",
+      "xi_19\n",
+      "xi_153\n",
+      "φ[-1,1,0]\n",
+      "xi_12\n",
+      "xi_106\n",
+      "xi_18\n",
+      "xi_51\n",
+      "xi_202\n",
+      "xi_9\n",
+      "xi_22\n",
+      "φ[0,-1,-1]\n",
+      "xi_191\n",
+      "φ[0,1,-1]\n",
+      "xi_92\n",
+      "xi_7\n",
+      "xi_30\n",
+      "xi_133\n",
+      "xi_76\n",
+      "xi_29\n",
+      "xi_94\n",
+      "xi_88\n",
+      "T[0,0,0]\n",
+      "xi_57\n",
+      "xi_6\n",
+      "xi_132\n",
+      "xi_178\n",
+      "xi_25\n",
+      "xi_188\n",
+      "xi_173\n",
+      "xi_15\n",
+      "xi_8\n",
+      "xi_17\n",
+      "xi_215\n",
+      "xi_199\n",
+      "xi_196\n",
+      "xi_36\n",
+      "xi_114\n",
+      "φ[1,-1,0]\n",
+      "xi_74\n",
+      "xi_209\n",
+      "xi_71\n",
+      "xi_1\n",
+      "xi_159\n",
+      "xi_218\n",
+      "xi_167\n",
+      "xi_105\n",
+      "xi_179\n",
+      "xi_2\n",
+      "xi_78\n",
+      "xi_198\n",
+      "xi_13\n",
+      "xi_60\n",
+      "xi_97\n",
+      "xi_104\n",
+      "xi_89\n",
+      "xi_130\n",
+      "xi_4\n",
+      "xi_125\n",
+      "xi_0\n",
+      "xi_70\n",
+      "xi_38\n",
+      "xi_182\n",
+      "xi_162\n",
+      "xi_93\n",
+      "xi_64\n",
+      "xi_155\n",
+      "xi_16\n",
+      "xi_164\n",
+      "xi_50\n",
+      "xi_39\n",
+      "xi_45\n",
+      "xi_123\n",
+      "xi_141\n",
+      "xi_46\n",
+      "xi_43\n",
+      "xi_48\n",
+      "xi_42\n",
+      "xi_59\n",
+      "xi_180\n",
+      "xi_100\n",
+      "xi_33\n",
+      "xi_205\n",
+      "xi_170\n",
+      "xi_157\n",
+      "xi_184\n",
+      "xi_69\n",
+      "xi_174\n",
+      "xi_3\n",
+      "xi_201\n",
+      "xi_14\n",
+      "xi_220\n",
+      "xi_151\n",
+      "xi_98\n",
+      "xi_137\n",
+      "xi_144\n",
+      "φ[0,0,-1]\n",
+      "φ[0,1,0]\n",
+      "xi_49\n",
+      "φ[1,0,-1]\n",
+      "xi_149\n",
+      "φ[-1,0,0]\n",
+      "xi_127\n",
+      "xi_66\n",
+      "xi_120\n",
+      "xi_41\n",
+      "xi_142\n",
+      "xi_96\n",
+      "xi_10\n",
+      "xi_81\n",
+      "xi_208\n",
+      "xi_35\n",
+      "xi_171\n",
+      "xi_187\n",
+      "xi_134\n",
+      "xi_161\n",
+      "xi_203\n",
+      "xi_163\n",
+      "xi_189\n",
+      "xi_135\n",
+      "xi_128\n",
+      "xi_111\n",
+      "xi_146\n",
+      "φ[-1,0,1]\n",
+      "xi_160\n",
+      "xi_190\n",
+      "xi_212\n",
+      "xi_147\n",
+      "xi_207\n",
+      "xi_211\n",
+      "xi_166\n",
+      "xi_75\n",
+      "xi_84\n",
+      "xi_103\n",
+      "xi_80\n",
+      "xi_65\n",
+      "xi_139\n",
+      "xi_176\n",
+      "φ[0,0,0]\n",
+      "xi_177\n",
+      "xi_73\n",
+      "xi_115\n",
+      "xi_53\n",
+      "φ[0,-1,0]\n",
+      "xi_116\n",
+      "xi_197\n",
+      "xi_156\n",
+      "xi_87\n",
+      "xi_195\n",
+      "xi_143\n",
+      "φ[0,-1,1]\n",
+      "xi_136\n",
+      "xi_217\n",
+      "xi_204\n",
+      "xi_222\n",
+      "xi_213\n",
+      "xi_72\n",
+      "xi_63\n",
+      "xi_175\n",
+      "xi_101\n",
+      "φ_D[0,0,0]\n",
+      "φ[1,1,0]\n",
+      "xi_168\n",
+      "xi_52\n",
+      "xi_55\n",
+      "xi_210\n",
+      "xi_27\n",
+      "xi_172\n",
+      "xi_28\n",
+      "xi_214\n",
+      "xi_23\n",
+      "xi_91\n",
+      "xi_68\n",
+      "xi_126\n",
+      "xi_129\n",
+      "xi_11\n",
+      "xi_117\n",
+      "xi_183\n",
+      "xi_99\n",
+      "xi_83\n",
+      "xi_206\n",
+      "xi_219\n",
+      "xi_31\n",
+      "xi_185\n",
+      "xi_181\n",
+      "xi_90\n",
+      "xi_193\n",
+      "xi_110\n",
+      "φ[1,0,0]\n",
+      "xi_145\n",
+      "φ[0,1,1]\n",
+      "xi_37\n",
+      "xi_21\n",
+      "xi_169\n",
+      "xi_186\n",
+      "xi_221\n",
+      "xi_112\n",
+      "xi_44\n",
+      "xi_119\n",
+      "xi_20\n",
+      "xi_223\n",
+      "φ[1,0,1]\n",
+      "xi_95\n",
+      "φ[-1,0,-1]\n",
+      "xi_34\n",
+      "xi_85\n",
+      "xi_109\n",
+      "xi_200\n",
+      "xi_140\n",
+      "xi_121\n",
+      "xi_5\n",
+      "xi_32\n",
+      "xi_158\n",
+      "xi_122\n",
+      "xi_154\n",
+      "xi_150\n",
+      "xi_194\n",
+      "xi_165\n",
+      "xi_107\n",
+      "xi_40\n",
+      "xi_138\n",
+      "xi_77\n"
+     ]
+    }
+   ],
+   "source": [
+    "a = ps.AssignmentCollection(φEqs)\n",
+    "\n",
+    "for i in a.rhs_symbols:\n",
+    "    print(i)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -291,32 +585,9 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 14,
+   "execution_count": null,
    "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "    Name|      Inner (min/max)|     WithGl (min/max)\n",
-      "----------------------------------------------------\n",
-      "       T|            (  0,  0)|            (  0,  0)\n",
-      "     phi|            (  0,  1)|            (  0,  1)\n",
-      "phidelta|            (  0,  0)|            (  0,  0)\n",
-      "\n"
-     ]
-    },
-    {
-     "data": {
-      "image/png": "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pptuUl1dXZ/7XLhwoX7yk59o5cqVevrpp/Xmm2/qrLPOystjBACUj3LKa3x7OAAgUCqV0o9+9CPNnDkzsM3ll1+uJ554Qi+++GJm2znnnKMdO3Zo1apVBZglAADB6uvr9YlPfEL33HOPJKmnp0djx47VxRdfrCuuuCL02HHjxunSSy/VpZdemlOfO3fu1BFHHKHly5fri1/8oiTplVde0cSJE9Xa2qoTTzwx/gcKACgL5ZTXDspLr3nW09OjN998U4ceeqhSqdRATwdAGfM8T++++67GjBmjior+Xby+Z88edXV1xTSzbJ7n9Xq+rKqqUlVVVb/7bm1tVWNjY9a2pqamXokQwchrAJKi1PJaV1eX2tradOWVV2a2VVRUqLGxUa2trX0aO0qfbW1t2rdvX1Z+nDBhgo466qiSf9GSnAYgKUotp0nll9eK8kXLN998U2PHjh3oaQBAxpYtW/SBD3ygz8fv2bNH4z84TO3bumOc1fuGDRumXbt2ZW1btGiRrrvuun733d7ertra2qxttbW16uzs1P/+7//q4IMP7vcYpY68BiBpSiWvvf322+ru7rbmqVdeeaVPY0fps729XZWVlRo+fHivNu3t7X0at1iQ0wAkTankNKn88lpRvmh56KGHSjrwH6+6unqAZwOgnHV2dmrs2LGZ56W+6urqUvu2bv132zhVHxrvxw13vtujD059vddzZhxXWSIe5DUASUFeQ3+R0wAkBTmt+BXli5bpy2arq6tJhAASIa63Pw07NKVhh8b7Vqoe5fc5s66urte3xnV0dKi6upqrLCMirwFImlLJayNHjtSgQYOseSroywhcovRZV1enrq4u7dixI+uqlP6MWyzIaQCSplRymlR+eY1vDwcA9EtDQ4PWrFmTtW316tVqaGgYoBkBAHBAZWWlpk6dmpWnenp6tGbNmj7nqSh9Tp06VYMHD85qs2nTJm3evJn8CADos3LLa0V5pSUAlKpur0fdXvx95mLXrl36wx/+kLn/2muvaePGjRoxYoSOOuooXXnllXrjjTf08MMPS5IuvPBC3XPPPfr617+uv/7rv9batWv1/e9/X0888USsjwMAUHySkNdaWlo0Z84cTZs2TdOnT9cdd9yh3bt3a+7cuZKk8847T0ceeaQWL14s6cDbAH/7299mfn/jjTe0ceNGDRs2TB/+8Icj9VlTU6N58+appaVFI0aMUHV1tS6++GI1NDSU9JfwAEApS0JOk8orr/GiJQAgywsvvKBTTz01c7+lpUWSNGfOHD344IPaunWrNm/enNk/fvx4PfHEE1q4cKHuvPNOfeADH9B9992npqamgs8dAADT2WefrbfeekvXXnut2tvbNWXKFK1atSrzhQObN2/O+lbZN998Ux//+Mcz92+55RbdcsstOvnkk7Vu3bpIfUrS7bffroqKCs2aNUt79+5VU1OTvvOd7xTmQQMASlY55bWU53kxv06cf52dnaqpqdHOnTv5nBQAAyqu56N0P+2bjsrLhzvXHbOZ58wEI68BSAryGvqLnAYgKchpxY8rLQEgQXrUo9zfIODuEwCAgUBeAwCUCnJa4fFFPAAAAAAAAAAShSstASBBuj1P3TF/akfc/QEAEBV5DQBQKshphceVlgAAAAAAAAAShSstASBBeuSpR/GutsXdHwAAUZHXAAClgpxWeFxpCQAAAAAAACBRuNISABKkR566Wb0DAJQI8hoAoFSQ0wqPKy0BAAAAAAAAJApXWgJAgvA5KQCAUkJeAwCUCnJa4XGlJQAAAAAAAIBE4UpLAEiQbs9Ttxfvalvc/QEAEBV5DQBQKshphceLlgCQID3/d4u7TwAABgJ5DQBQKshphcfbwwEAAAAAAAAkCldaAkCCdMtTd8wfxhx3fwAAREVeAwCUCnJa4XGlJQAAAAAAAIBE4UpLAEiQbu/ALe4+AQAYCOQ1AECpIKcVHldaAgAAAAAAAEgUrrQEgAThG+kAAKWEvAYAKBXktMLjSksAAAAAAAAAicKVlgCQID1KqVup2PsEAGAgkNcAAKWCnFZ4vGgJAAnS4x24xd0nAAADgbwGACgV5LTC4+3hAAAAAAAAABKFKy0BIEG68/CWg7j7AwAgKvIaAKBUkNMKjystAQAAAAAAACQKV1oCQIKwegcAKCXkNQBAqSCnFR5XWgIAAAAAAABIFK60BIAE6fFS6vHiXW2Luz8AAKIirwEASgU5rfC40hIAAAAAAABAonClJQAkCJ+TAgAoJeQ1AECpIKcVHi9aAkCCdKtC3TFfBN8da28AAERHXgMAlApyWuHx9nAAAAAAAAAAicKVlgCQIF4ePtzZ48OdAQADhLwGACgV5LTC40pLAAAAAAAAAInClZYAkCB8uDMAoJSQ1wAApYKcVnhcaQkAAAAAAAAgUbjSEgASpNurULcX8zfSebF2BwBAZOQ1AECpIKcVHldaAgAAAAAAAEgUrrQEgATpUUo9Ma8n9YjlOwDAwCCvAQBKBTmt8HjREgAShA93BgCUEvIaAKBUkNMKj7eHAwAAAAAAAEgUrrQEgATJz4c785YDAMDAIK8BAEoFOa3wuNISAAAAAAAAQKJwpSUAJMiBD3eO93NN4u4PAICoyGsAgFJBTis8rrQEAAAAAAAAkChcaQkACdKjCnXHvJ7UIz4nBQAwMMhrAIBSQU4rPK60BAAAAAAAAJAoXGkJAAnCN9IBAEoJeQ0AUCrIaYXHlZYAkCA9qsjLDQCAgZCUvLZkyRKNGzdOQ4YMUX19vZ5//vnQ9itXrtSECRM0ZMgQHXfccXryySez9qdSKevt5ptvzrQZN25cr/033XRTznMHACRDUnKaVD55jb9kAQAAAJSsFStWqKWlRYsWLdKGDRs0efJkNTU1adu2bdb2zz77rM4991zNmzdPv/71rzVz5kzNnDlTL774YqbN1q1bs27Lli1TKpXSrFmzsvq64YYbstpdfPHFeX2sAIDSV055jRctASBBur1UXm4AAAyEJOS12267TfPnz9fcuXM1adIkLV26VEOHDtWyZcus7e+8807NmDFDX/va1zRx4kTdeOONOuGEE3TPPfdk2tTV1WXdfvzjH+vUU0/V0UcfndXXoYcemtXukEMOyT2IAIBESEJOk8orr/GiJQAAAICi09nZmXXbu3dvrzZdXV1qa2tTY2NjZltFRYUaGxvV2tpq7be1tTWrvSQ1NTUFtu/o6NATTzyhefPm9dp300036fDDD9fHP/5x3Xzzzdq/f38uDxEAUCai5DSp/PIaX8QDAAnSrQp1x7ye1C0+3BkAMDDymdfGjh2btX3RokW67rrrsra9/fbb6u7uVm1tbdb22tpavfLKK9b+29vbre3b29ut7R966CEdeuihOuuss7K2f/WrX9UJJ5ygESNG6Nlnn9WVV16prVu36rbbbnM+RgBA8gx0TpPKL6/xoiUAAACAorNlyxZVV1dn7ldVVQ3IPJYtW6bZs2dryJAhWdtbWloyvx9//PGqrKzU3/7t32rx4sUDNlcAQDIlJadJycprvGgJAAnS41Wox4t39a7H40pLAMDAyGdeq66uzvoDz2bkyJEaNGiQOjo6srZ3dHSorq7OekxdXV3k9v/xH/+hTZs2acWKFc5519fXa//+/Xr99dd1zDHHONsDAJJloHOaVH55jc+0BAAAAFCSKisrNXXqVK1ZsyazraenR2vWrFFDQ4P1mIaGhqz2krR69Wpr+/vvv19Tp07V5MmTnXPZuHGjKioqNGrUqBwfBQAAB5RbXuNKSwBIED7TEgBQSpKQ11paWjRnzhxNmzZN06dP1x133KHdu3dr7ty5kqTzzjtPRx55pBYvXixJuuSSS3TyySfr1ltv1ZlnnqlHH31UL7zwgu69996sfjs7O7Vy5UrdeuutvcZsbW3V+vXrdeqpp+rQQw9Va2urFi5cqL/6q7/SYYcd1sdHDgAYSEnIaVJ55TVetASABOmR1O2lYu8TAICBkIS8dvbZZ+utt97Stddeq/b2dk2ZMkWrVq3KfCnB5s2bVVHx/h+hJ510kpYvX66rr75aV111lT7ykY/oscce07HHHpvV76OPPirP83Tuuef2GrOqqkqPPvqorrvuOu3du1fjx4/XwoULsz4PDABQXJKQ06Tyymspzyu+Dzvr7OxUTU2Ndu7cGek9/wCQL3E9H6X7+X8bpurgYfGuJ/3vrv362xPaeM5MMPIagKQgr6G/yGkAkoKcVvy40hIAEqRHFeqJ+S0HcfcHAEBU5DUAQKkgpxUe0QEAAAAAAACQKFxpCQAJ0u1VqNuL+cOdY+4PAICoyGsAgFJBTis8ogMAAAAAAAAgUbjSEgASpEcp9Sjub6SLtz8AAKIirwEASgU5rfC40hIAAAAAAABAonClJQAkCJ+TAgAoJeQ1AECpIKcVHi9aAkCCdKtC3TFfBB93fwAAREVeAwCUCnJa4REdAAAAAAAAAInClZYAkCA9Xko9Xswf7hxzfwAAREVeAwCUCnJa4XGlJQAAAAAAAIBE4UpLAEiQnjx8TkoP61MAgAFCXgMAlApyWuERHQAAAAAAAACJwpWWAJAgPV6FeryYV+9i7g8AgKjIawCAUkFOKzyiAwAAAAAAACBRcnrR8rvf/a6OP/54VVdXq7q6Wg0NDfr3f//3zP49e/ZowYIFOvzwwzVs2DDNmjVLHR0dWX1s3rxZZ555poYOHapRo0bpa1/7mvbv3x/PowGAItetVF5usCOvAUB+kdcKh5wGAPlFTiu8nF60/MAHPqCbbrpJbW1teuGFF3TaaafpC1/4gl566SVJ0sKFC/WTn/xEK1eu1NNPP60333xTZ511Vub47u5unXnmmerq6tKzzz6rhx56SA8++KCuvfbaeB8VABSp9FsO4r7BjrwGAPlFXiscchoA5Bc5rfBSnud5/elgxIgRuvnmm/XFL35RRxxxhJYvX64vfvGLkqRXXnlFEydOVGtrq0488UT9+7//u/6//+//05tvvqna2lpJ0tKlS3X55ZfrrbfeUmVlZaQxOzs7VVNTo507d6q6uro/0weAfonr+Sjdz/XrGzVkWLwfN7xn134tqn+K58yIyGsAyhl5rbSQ0wCUM3Ja8evzS7rd3d169NFHtXv3bjU0NKitrU379u1TY2Njps2ECRN01FFHqbW1VZLU2tqq4447LpMEJampqUmdnZ2ZFUAAKGfdysfbDhAFeQ0A4kdeGxjkNACIHzmt8HJ+ifg3v/mNGhoatGfPHg0bNkw/+tGPNGnSJG3cuFGVlZUaPnx4Vvva2lq1t7dLktrb27OSYHp/el+QvXv3au/evZn7nZ2duU4bAAAr8hoAoFSQ0wAApSTnFy2POeYYbdy4UTt37tQPfvADzZkzR08//XQ+5paxePFiXX/99b22f6HmPB2UGpzXsQEgzH5vX6z95eNzTficlHBJymvHffduVVQNOXAnJcn7v59+tm1xCeo76pj5nJs5jkSMXONIxMg1jkSMDD179sTbH3mtoMhpEfpOwHnWaxyJGLnGkYiRaxyJGBnIacUv5+hUVlbqwx/+sKZOnarFixdr8uTJuvPOO1VXV6euri7t2LEjq31HR4fq6uokSXV1db2+oS59P93G5sorr9TOnTszty1btuQ6bQAArBKV19JFm79wMz95uj9FnetTrG0FrmtMW59ewL6+fIq2rQ9iFH4MMXL3T4yi9Y+iQ04L6TuJ5xkxcvdPjNz9E6No/aMo9fsl3Z6eHu3du1dTp07V4MGDtWbNmsy+TZs2afPmzWpoaJAkNTQ06De/+Y22bduWabN69WpVV1dr0qRJgWNUVVWpuro66wYApajbq8jLDdENaF4zi02zAA3jWX4PKlijFnJRxvb3mTK2hfWXyxw8476/D2JEjKLOgRi5+8/DH3nktYFFTrO0j9KG5yJ3G2LkbkOM3G3IaeQ0h5yic+WVV+qZZ57R66+/rt/85je68sortW7dOs2ePVs1NTWaN2+eWlpa9POf/1xtbW2aO3euGhoadOKJJ0qSzjjjDE2aNElf+cpX9J//+Z/66U9/qquvvloLFixQVVVVXh4gAKBvlixZonHjxmnIkCGqr6/X888/H9r+jjvu0DHHHKODDz5YY8eO1cKFC7Un5rdkxC2ReS1odTqs8PIXfP5jg96q4xrbtj1sRTw9ltkurGjNZcU/6go+Meo9LjEKbkuM+tcWiUNOi7gvaecZMXK3JUbutsSof22RWDl9puW2bdt03nnnaevWraqpqdHxxx+vn/70p/rMZz4jSbr99ttVUVGhWbNmae/evWpqatJ3vvOdzPGDBg3S448/rosuukgNDQ065JBDNGfOHN1www3xPioAKFKeUuqJOcN6fehvxYoVamlp0dKlS1VfX6877rhDTU1N2rRpk0aNGtWr/fLly3XFFVdo2bJlOumkk/S73/1O559/vlKplG677bY4HkZeJDKv2YpN1z9hrgVcUHEZZYU7zewjyjyDBBXatna2qweIUe8xiFF4O2JUMEnJa+WAnBaxn6ScZzwXEaMwxMiNnFYWUp7n5eGi2fzq7OxUTU2NTtEX+CIeAANqv7dP6/Rj7dy5s18fXZF+Xrui9bOqGhbv89reXft0U8O/5zTH+vp6feITn9A999wj6cDby8aOHauLL75YV1xxRa/2zc3Nevnll7PednbZZZdp/fr1+sUvfhHPAylh6X//oxZ/QxUHD7EXcP0p6vqqr2NGOa6/fRMj93HEyH0cMeqlZ88ebb7i6pLLaygcclof+iZG7uOIkfs4YtQLOa348eZ5AEiQJHxOSldXl9ra2tTY2JjZVlFRocbGRrW2tlqPOemkk9TW1pZ5C/kf//hHPfnkk/rc5z7X92CUo76+Hcbz/XQtRUZpE2VM/7jm/Shz7WsBTYzciJEbMSqYJOQ1DBDOMzdi5EaM3IhRwZDTCi+nt4cDAPKrx0upx4s3G6f76+zszNpeVVVl/Yyqt99+W93d3aqtrc3aXltbq1deecU6xpe//GW9/fbb+tSnPiXP87R//35deOGFuuqqq2J6FGXG/1/AXFE2V9P9+4P+69ja5Pq2o6jzdK2Ah7XJZfWcGLkRIzdilHf5zGsoEpxnbsTIjRi5EaO8I6cVHi/pAkCZGDt2rGpqajK3xYsXx9b3unXr9M1vflPf+c53tGHDBv3whz/UE088oRtvvDG2McqKfwU6rODzF3q2VWuzsDT7NYvGoHFcc/XPI4qgcaPMx3WcOQ4x6n2cOQ4x6n2cOU45xwjoL84znouIkRsxciOnlSWutASABOlWhbpjXk9K97dly5asz0kJ+ibQkSNHatCgQero6Mja3tHRobq6Ousx11xzjb7yla/ob/7mbyRJxx13nHbv3q0LLrhA//AP/6CKCtbIchJUJPp/Bh3jv28WbmabqKvbLv65+YtQk217X8clRtHHJEbuMYlR3uQzr6FIcJ5FH5MYucckRu4xiVHekNMKj+gAQJmorq7OugW9aFlZWampU6dmfalOT0+P1qxZo4aGBusx7733Xq8XJgcNGiRJKsLve0uOlO/mD6NZ2EUpRG3/DK7jo4pS3Nrm41/Nd/Vha5NuR4yCx0m3I0bB46TbESMgvzjPwsdJtyNGweOk2xGj4HHS7YgRSgRXWgJAgiTlc1JaWlo0Z84cTZs2TdOnT9cdd9yh3bt3a+7cuZKk8847T0ceeWTmLeaf//znddttt+njH/+46uvr9Yc//EHXXHONPv/5z2devEQE/iIsbEXZtgruEuW/QdDYufRtOzZsWy5jmo+bGNmPIUbucYhRwSQlr2EAkNPc4/Bc5B6HGLnHIUYFQ04rPF60BAD0cvbZZ+utt97Stddeq/b2dk2ZMkWrVq3KfDnP5s2bs66svPrqq5VKpXT11VfrjTfe0BFHHKHPf/7z+sd//MeBegjFKb0qbmO+NSYf9U3QCn7YWHHMI2yM9L70z7DxiBExIkbhosYIiAM5LXgfz0XEyIUYuZHTygIvWgJAgvSoQj0xf3JHX/trbm5Wc3Ozdd+6deuy7h900EFatGiRFi1a1KexYOEvxIKKMldBGLVN2DH9KSqjjO3fH9be9fiJETGK0p4YudvH/AdtkvIaBhDnWXA7W3tiRIyitCdG7vbktKJHdAAASCL/6nB/CjFzlTnKirNrxd78PajPqIWi/3GafZlFqbmPGBEjsx9i5O7TFSMgbpxnvfvguYgYhSFGbuS0ssCVlgCQIN1eSt0xf65J3P0hj1wFV66r3mbRah5vW423jeFaOff3kb4fNpa5zb897IoAW7/EqHc7YkSM+hOjmJHXyhg5jeciYkSMBjpGMSOnFR4vWgJAgvDhzmUuqCizFWc2ZpFptg+67yoQg8b1zy1KARu1X9s4QccQo97tiFHwOEHHEKPc2uWAvFbGOM+Cxwk6hhj1bkeMgscJOoYY5dYuB+S0wuPt4QAAJJFrdTrdxmyfsuxL3w9acTYLwVxqJ3OOtnmHFc39WQUnRm7EyI0YAfnHeeZGjNyIkRsxQonhSksASBDPq1CPF+96khdzfyiQsELTXKE299uOT7c1V6uj8I/hmpdthTxsvP4sLhMjN2LkRozyirwGSZxnURAjN2LkRozyipxWeEQHAIBiZisu/Tzfz5Rlexh/AetaQQ8a13Y/l9XxsBX+qIiRGzFyI0ZA/nGeuREjN2LkRoxQJLjSEgASpFspdce8dBh3f8gzf3FororLcl8KLzz9q+lmP0Hjh+0PYh4XNu9c+ra1JUbZiJEbMXLLU6ogr5U5zrNsPBe5ESM3YuRGTisZXGkJAEBSmMVkepspqE3QinJKvYu9sJVsc5ygfv3b/f3bCmPbYwsb27Y/vWpOjIL3E6NgxCh6jIA4cJ6F7+e5KBgxIkb+tuS0ssaVlgCQID1e/N8g10PCLh5RizQ/V0EY1IdZUJoFo2v8sHFtBa7rsdjma+uLGBGjMMQovhjFhLxWxjjPeC4KQ4yIkbmdnAYLrrQEACApzJVnT/bizr89aNXcX6x5lv3p38NW0IMKQRnbXfOx1XbmMembq5glRsTI3E6Msscw9SVGQBw4z3guMrcTo+wxTMSo9xgmclrZ4UpLAEiQnjx8I13c/SGPzOIsyiq3rVjzLG1sfdraBBWx6X22drkuOAcVqOacbNuJETEy+yRGwfoTo5iQ18oY5xnPRWafxCgYMXIjp5UlXrQEgATpUUo9MWfXuPtDHnm+n2ZBGLTinGYrFlOW7bY+U5ZtQf2afbj22YrIsDlFHZcYESNilN8YxYS8VsbIadHHJUbEiBiR02DFS7oAACRFWHGZ3ucq3hTSR9hxUQpbc2xzPq7+/QWurc+gbeYfvsSIGBGj8P77G6MStGTJEo0bN05DhgxRfX29nn/++dD2K1eu1IQJEzRkyBAdd9xxevLJJ7P2n3/++UqlUlm3GTNmZLXZvn27Zs+ererqag0fPlzz5s3Trl27Yn9sicV5Zt/Gc1H4OP77xCh4GzEKHyeoTQkpl7zGi5YAkCDdXiovNxSJoKIvXXSFrXz7+QtCV4FnHhfULqi4tK3QB42T3meuiNset2dpH1YYE6Pwtv75ESNiZGvr+qOzj5KQ11asWKGWlhYtWrRIGzZs0OTJk9XU1KRt27ZZ2z/77LM699xzNW/ePP3617/WzJkzNXPmTL344otZ7WbMmKGtW7dmbv/yL/+StX/27Nl66aWXtHr1aj3++ON65plndMEFF+QWwGLGeda7Lc9FxMjWBzEip+WonPIaL1oCAJAUYSvMNmFFpO24oPu2otXVX1Ax618NN9sE9RE0ryiPIaidbW5RjiNG7uOIkfu4UohRCbnttts0f/58zZ07V5MmTdLSpUs1dOhQLVu2zNr+zjvv1IwZM/S1r31NEydO1I033qgTTjhB99xzT1a7qqoq1dXVZW6HHXZYZt/LL7+sVatW6b777lN9fb0+9alP6e6779ajjz6qN998M6+PNzE4z7Lv81xEjIgROS0m5ZTXeNESABIk/eHOcd9QxMzCLWiVPehYWwFo9h21qDWLS9vvirDdtT/X1XFi5EaM3IhRXgx0Xuvq6lJbW5saGxsz2yoqKtTY2KjW1lbrMa2trVntJampqalX+3Xr1mnUqFE65phjdNFFF+mdd97J6mP48OGaNm1aZltjY6MqKiq0fv36yPMvOZxnbsTIjRi5EaO8GOicJpVfXuOLeAAASBp/sej/mcuKub+97TizsLMVelFW8oP6DFuV72sxahuLGLnHIkbusYhRUers7My6X1VVpaqqqqxtb7/9trq7u1VbW5u1vba2Vq+88oq13/b2dmv79vb2zP0ZM2borLPO0vjx4/Xqq6/qqquu0mc/+1m1trZq0KBBam9v16hRo7L6OOiggzRixIisfsoC55kbMXIjRm7EqKhFyWlS+eU1XrQEgATpUUo9MX8GJd9IV0TM4jGogDNXuKMUg2a7oCLQC9lntsl1HrZx+3LlgO1xECP7/MLGJka9+yNGsctnXhs7dmzW9kWLFum6666Ldawg55xzTub34447Tscff7w+9KEPad26dTr99NMLMofEI6e58VzkRozciFHBlGpOk5Kb13jREgCApLEVgf4Cz1UU+tnamH2aY4ZtS283C86+Fo9hx9gKYttxxCj7vu04YpR933YcMSo6W7ZsUXV1dea+7YqUkSNHatCgQero6Mja3tHRobq6Omu/dXV1ObWXpKOPPlojR47UH/7wB51++umqq6vr9YUI+/fv1/bt20P7KUmcZ/Y+eS7qjRiFj2Hrkxj1VsI5TSq/vMYHnQFAgnhKHVjBi/HmFWPW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",
-      "text/plain": [
-       "<Figure size 1600x600 with 6 Axes>"
-      ]
-     },
-     "metadata": {},
-     "output_type": "display_data"
-    }
-   ],
+   "outputs": [],
    "source": [
     "init()\n",
     "plot()\n",
@@ -327,172 +598,7 @@
    "cell_type": "code",
    "execution_count": null,
    "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Step  0 25.45903586700115 0.9934522628963286\n",
-      "Step  1 17.733385490000728 0.993928549434581\n",
-      "Step  2 17.385464679000506 0.9969817492516411\n",
-      "Step  3 17.73187294499985 0.9987018046573852\n",
-      "Step  4 17.42424472499988 0.9994581962161123\n",
-      "Step  5 17.39850756800115 0.9997730200431632\n",
-      "Step  6 17.38586500100064 0.9999032282027154\n",
-      "Step  7 17.41260802599936 0.9999573480152241\n",
-      "Step  8 17.873442951999095 0.9999802946360343\n",
-      "Step  9 17.04619025899956 0.9999955995645813\n",
-      "Step  10 17.099138269000832 0.9999996727969152\n",
-      "Step  11 17.099542428999484 0.999999973143393\n",
-      "Step  12 17.139662244000647 0.999999997546683\n",
-      "Step  13 17.218893876999573 0.9999999997490552\n",
-      "Step  14 17.084921174000556 0.999999999971159\n",
-      "Step  15 17.033554589999767 0.9999999999962744\n",
-      "Step  16 17.010074742000143 0.9999999999994603\n",
-      "Step  17 17.104563296001288 0.9999999999999127\n",
-      "Step  18 17.021247803000733 0.9999999999999842\n",
-      "Step  19 17.07957060999979 0.9999999999999966\n",
-      "Step  20 17.05240749100085 0.9999999999999966\n",
-      "Step  21 17.00356302900036 0.9999999999999966\n",
-      "Step  22 17.1113736719999 0.9999999999999966\n",
-      "Step  23 17.013587127999926 0.9999999999999966\n",
-      "Step  24 17.004048287999467 0.9999999999999966\n",
-      "Step  25 17.01311813599932 0.9999999999999966\n",
-      "Step  26 17.018968939000843 0.9999999999999966\n",
-      "Step  27 17.01230432599914 0.9999999999999966\n",
-      "Step  28 17.016388629001085 0.9999999999999966\n",
-      "Step  29 17.036423421999643 0.9999999999999966\n",
-      "Step  30 17.013809308999043 0.9999999999999966\n",
-      "Step  31 17.02102562500113 0.9999999999999966\n",
-      "Step  32 17.125694684000337 0.9999999999999966\n",
-      "Step  33 17.018816687999788 0.9999999999999966\n",
-      "Step  34 17.033273111001108 0.9999999999999966\n",
-      "Step  35 17.031105800999285 0.9999999999999966\n",
-      "Step  36 17.344186886000898 0.9999999999999966\n",
-      "Step  37 17.00491729500027 0.9999999999999966\n",
-      "Step  38 17.044662663000054 0.9999999999999966\n",
-      "Step  39 17.01994404600009 0.9999999999999966\n",
-      "Step  40 17.01687352800036 0.9999999999999966\n",
-      "Step  41 17.03885115400044 0.9999999999999966\n",
-      "Step  42 17.025812523999775 0.9999999999999966\n",
-      "Step  43 17.029889327999626 0.9999999999999966\n",
-      "Step  44 17.065132745001392 0.9999999999999966\n",
-      "Step  45 17.03455267100071 0.9999999999999966\n",
-      "Step  46 17.042484248999244 0.9999999999999966\n",
-      "Step  47 17.135204002001046 0.9999999999999966\n",
-      "Step  48 17.049361208000846 0.9999999999999966\n",
-      "Step  49 17.051931253001385 0.9999999999999966\n",
-      "Step  50 17.05464122400008 0.9999999999999966\n",
-      "Step  51 17.042147963999014 0.9999999999999966\n",
-      "Step  52 17.066642416000832 0.9999999999999966\n",
-      "Step  53 17.0870322819992 0.9999999999999966\n",
-      "Step  54 17.071626777000347 0.9999999999999966\n",
-      "Step  55 17.11173596700064 0.9999999999999966\n",
-      "Step  56 17.18877132200032 0.9999999999999966\n",
-      "Step  57 17.154270471000928 0.9999999999999966\n",
-      "Step  58 17.672991446001106 0.9999999999999966\n",
-      "Step  59 17.674105590998806 0.9999999999999966\n",
-      "Step  60 17.347509929999433 0.9999999999999966\n",
-      "Step  61 17.54230526399988 0.9999999999999966\n",
-      "Step  62 17.694092154999453 0.9999999999999966\n",
-      "Step  63 17.531714112999907 0.9999999999999966\n",
-      "Step  64 17.98786205900069 0.9999999999999966\n",
-      "Step  65 17.59379430700028 0.9999999999999966\n",
-      "Step  66 17.496220975999677 0.9999999999999966\n",
-      "Step  67 17.61460809500022 0.9999999999999966\n",
-      "Step  68 17.81554028100072 0.9999999999999966\n",
-      "Step  69 17.50470085699999 0.9999999999999966\n",
-      "Step  70 18.22215127399977 0.9999999999999966\n",
-      "Step  71 17.95782054099982 0.9999999999999966\n",
-      "Step  72 18.02512274399851 0.9999999999999966\n",
-      "Step  73 17.519333276000907 0.9999999999999966\n",
-      "Step  74 18.148525913999038 0.9999999999999966\n",
-      "Step  75 17.768654807998246 0.9999999999999966\n",
-      "Step  76 17.68822824000017 0.9999999999999966\n",
-      "Step  77 17.630756663000284 0.9999999999999966\n",
-      "Step  78 17.73377000599976 0.9999999999999966\n",
-      "Step  79 17.553744683998957 0.9999999999999966\n",
-      "Step  80 17.616365314001087 0.9999999999999966\n",
-      "Step  81 17.520774246000656 0.9999999999999966\n",
-      "Step  82 17.824773792999622 0.9999999999999966\n",
-      "Step  83 18.162243766000756 0.9999999999999966\n",
-      "Step  84 17.59411170199928 0.9999999999999966\n",
-      "Step  85 17.78331206599978 0.9999999999999966\n",
-      "Step  86 18.16322874999969 0.9999999999999966\n",
-      "Step  87 17.877422854000542 0.9999999999999966\n",
-      "Step  88 17.723775387999922 0.9999999999999966\n",
-      "Step  89 17.93192093200014 0.9999999999999966\n",
-      "Step  90 18.18813704400054 0.9999999999999966\n",
-      "Step  91 17.924124131999633 0.9999999999999966\n",
-      "Step  92 17.7537402930011 0.9999999999999966\n",
-      "Step  93 18.066451909000534 0.9999999999999966\n",
-      "Step  94 18.1830705400007 0.9999999999999966\n",
-      "Step  95 18.144785267999396 0.9999999999999966\n",
-      "Step  96 17.771601014001135 0.9999999999999966\n",
-      "Step  97 18.371283865000805 0.9999999999999966\n",
-      "Step  98 18.569847105998633 0.9999999999999966\n",
-      "Step  99 18.27999508600078 0.9999999999999966\n",
-      "Step  100 17.876706947999992 0.9999999999999966\n",
-      "Step  101 18.362252414000977 0.9999999999999966\n",
-      "Step  102 18.184471571999893 0.9999999999999966\n",
-      "Step  103 17.953990222000357 0.9999999999999966\n",
-      "Step  104 18.139474450999842 0.9999999999999966\n",
-      "Step  105 17.951657051999064 0.9999999999999966\n",
-      "Step  106 17.9079576109998 0.9999999999999966\n",
-      "Step  107 17.87303800600057 0.9999999999999966\n",
-      "Step  108 17.93147389799924 0.9999999999999966\n",
-      "Step  109 18.11586603000069 0.9999999999999966\n",
-      "Step  110 17.81402047099982 0.9999999999999966\n",
-      "Step  111 18.042384932999994 0.9999999999999966\n",
-      "Step  112 18.28486302300007 0.9999999999999966\n",
-      "Step  113 18.207277753999733 0.9999999999999966\n",
-      "Step  114 17.95677446300033 0.9999999999999966\n",
-      "Step  115 18.060943858001338 0.9999999999999966\n",
-      "Step  116 18.289367157000015 0.9999999999999966\n",
-      "Step  117 17.892628915000387 0.9999999999999966\n",
-      "Step  118 17.864017376999982 0.9999999999999966\n",
-      "Step  119 18.149063675000434 0.9999999999999966\n",
-      "Step  120 18.52748107499974 0.9999999999999966\n",
-      "Step  121 18.263750603000517 0.9999999999999966\n",
-      "Step  122 18.062445188999845 0.9999999999999966\n",
-      "Step  123 18.676733229000092 0.9999999999999966\n",
-      "Step  124 17.94438390400137 0.9999999999999966\n",
-      "Step  125 18.117840117000014 0.9999999999999966\n",
-      "Step  126 18.08436953599994 0.9999999999999966\n",
-      "Step  127 17.971794098000828 0.9999999999999966\n",
-      "Step  128 18.37189302399929 0.9999999999999966\n",
-      "Step  129 18.186950645000252 0.9999999999999966\n",
-      "Step  130 18.30828943600136 0.9999999999999966\n",
-      "Step  131 18.53486498699931 0.9999999999999966\n",
-      "Step  132 18.302330796001115 0.9999999999999966\n",
-      "Step  133 18.28120723899883 0.9999999999999966\n",
-      "Step  134 18.4264274319994 0.9999999999999966\n",
-      "Step  135 18.156916502000968 0.9999999999999966\n",
-      "Step  136 18.33176715799891 0.9999999999999966\n",
-      "Step  137 18.704046654000194 0.9999999999999966\n",
-      "Step  138 18.061599176000527 0.9999999999999966\n",
-      "Step  139 18.313615737000873 0.9999999999999966\n",
-      "Step  140 19.13900512299915 0.9999999999999966\n",
-      "Step  141 18.634621335999327 0.9999999999999966\n",
-      "Step  142 18.48925181300001 0.9999999999999966\n",
-      "Step  143 18.603877730000022 0.9999999999999966\n",
-      "Step  144 18.455599974000506 0.9999999999999966\n",
-      "Step  145 18.61112040399894 0.9999999999999966\n",
-      "Step  146 18.832362896999257 0.9999999999999966\n",
-      "Step  147 18.292130691001148 0.9999999999999966\n",
-      "Step  148 18.38444646700009 0.9999999999999966\n",
-      "Step  149 18.14168985700053 0.9999999999999966\n",
-      "Step  150 18.834586269000283 0.9999999999999966\n",
-      "Step  151 18.90085793199978 0.9999999999999966\n",
-      "Step  152 18.301890503000322 0.9999999999999966\n",
-      "Step  153 18.99428056400029 0.9999999999999966\n",
-      "Step  154 18.442107730001226 0.9999999999999966\n",
-      "Step  155 18.12089733100038 0.9999999999999966\n",
-      "Step  156 18.185502423999424 0.9999999999999966\n",
-      "Step  157 18.189794200001415 0.9999999999999966\n"
-     ]
-    }
-   ],
+   "outputs": [],
    "source": [
     "if 'is_test_run' in globals():\n",
     "    time_loop(2)\n",
@@ -527,9 +633,9 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.11.0rc1"
+   "version": "3.11.6"
   }
  },
  "nbformat": 4,
- "nbformat_minor": 2
+ "nbformat_minor": 4
 }
-- 
GitLab