diff --git a/.gitignore b/.gitignore
index d87144f7b08fd5dfc9a080d26dc0f8a6ce30e500..e6e71f76dcd63c724222ebde183b518055c9f270 100644
--- a/.gitignore
+++ b/.gitignore
@@ -27,3 +27,4 @@ coverage_report/
 
 # macOS
 **/.DS_Store
+*.uuid
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index f333e761d5568ba256c3d5c48a2c6dfd6f4660b5..f1ac3470f59d15a8ede4ad7a90b2601138376e66 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -21,7 +21,7 @@ tests-and-coverage:
     - mkdir -p ~/.config/matplotlib
     - echo "backend:template" > ~/.config/matplotlib/matplotlibrc
     - mkdir public
-    - py.test -v -n $NUM_CORES --cov-report html --cov-report term --cov=. -m "not longrun" --html test-report/index.html --junitxml=report.xml
+    - py.test -v -n $NUM_CORES --cov-report html --cov-report xml --cov-report term --cov=. -m "not longrun" --html test-report/index.html --junitxml=report.xml
     - python3 -m coverage xml
   tags:
     - docker
@@ -84,21 +84,21 @@ latest-python:
 
 
 # Minimal tests in windows environment
-minimal-windows:
-  stage: test
-  except:
-    variables:
-      - $ENABLE_NIGHTLY_BUILDS
-  tags:
-    - win
-  script:
-    - export NUM_CORES=$(nproc --all)
-    - source /cygdrive/c/Users/build/Miniconda3/Scripts/activate
-    - source activate pystencils
-    - pip install joblib
-    - pip list
-    - python -c "import numpy"
-    - py.test -v -m "not (notebook or longrun)"
+#minimal-windows:
+#  stage: test
+#  except:
+#    variables:
+#      - $ENABLE_NIGHTLY_BUILDS
+#  tags:
+#    - win
+#  script:
+#    - export NUM_CORES=$(nproc --all)
+#    - source /cygdrive/c/Users/build/Miniconda3/Scripts/activate
+#    - source activate pystencils
+#    - pip install joblib
+#    - pip list
+#    - python -c "import numpy"
+#    - py.test -v -m "not (notebook or longrun)"
 
 ubuntu:
   stage: test
@@ -143,7 +143,7 @@ ubuntu:
     - sed -i 's/--doctest-modules //g' pytest.ini
     - env
     - pip3 list
-    - pytest-3 -v -n $NUM_CORES --junitxml=report.xml pystencils_tests/test_*vec*.py pystencils_tests/test_random.py
+    - pytest-3 -v -n $NUM_CORES --junitxml=report.xml pystencils_tests/test_*vec*.py pystencils_tests/test_random.py pystencils_tests/test_half_precision.py
   tags:
     - docker
     - AVX
@@ -156,7 +156,7 @@ arm64v8:
   extends: .multiarch_template
   image: i10git.cs.fau.de:5005/pycodegen/pycodegen/arm64
   variables:
-    PYSTENCILS_SIMD: "neon"
+    QEMU_CPU: "cortex-a76"
   before_script:
     - *multiarch_before_script
     - sed -i s/march=native/march=armv8-a/g ~/.config/pystencils/config.json
@@ -164,18 +164,15 @@ arm64v8:
 ppc64le:
   extends: .multiarch_template
   image: i10git.cs.fau.de:5005/pycodegen/pycodegen/ppc64le
-  variables:
-    PYSTENCILS_SIMD: "vsx"
   before_script:
     - *multiarch_before_script
     - sed -i s/mcpu=native/mcpu=power8/g ~/.config/pystencils/config.json
 
 arm64v9:
   # SVE support is still unreliable in GCC 11 (incorrect code for fixed-width vectors, internal compiler errors).
+  # For half precision Clang is necessary
   extends: .multiarch_template
   image: i10git.cs.fau.de:5005/pycodegen/pycodegen/arm64
-  variables:
-    PYSTENCILS_SIMD: "sve128,sve256,sve512,sve"
   before_script:
     - *multiarch_before_script
     - sed -i s/march=native/march=armv8-a+sve/g ~/.config/pystencils/config.json
@@ -187,6 +184,7 @@ riscv64:
   extends: .multiarch_template
   image: i10git.cs.fau.de:5005/pycodegen/pycodegen/riscv64
   variables:
+    # explicitly set SIMD as detection does not appear to work on QEMU
     PYSTENCILS_SIMD: "rvv"
     QEMU_CPU: "rv64,v=true"
   before_script:
diff --git a/README.md b/README.md
index 5ab85add40e41c78615ee91e2da5c54f08c8d4af..a46fc85be936a488ebc616e6d0984834144e9fbb 100644
--- a/README.md
+++ b/README.md
@@ -52,7 +52,7 @@ pip install pystencils[interactive]
 Without `[interactive]` you get a minimal version with very little dependencies.
 
 All options:
-- `gpu`: use this if an NVIDIA GPU is available and CUDA is installed
+- `gpu`: use this if an NVIDIA or AMD GPU is available and CUDA or ROCm is installed
 - `alltrafos`: pulls in additional dependencies for loop simplification e.g. libisl
 - `bench_db`: functionality to store benchmark result in object databases
 - `interactive`: installs dependencies to work in Jupyter including image I/O, plotting etc.
@@ -63,7 +63,7 @@ Options can be combined e.g.
 pip install pystencils[interactive, gpu, doc]
 ```
 
-pystencils is also fully compatible with Windows machines. If working with visual studio and pycuda makes sure to run example files first to ensure that pycuda can find the compiler's executable.
+pystencils is also fully compatible with Windows machines. If working with visual studio and cupy makes sure to run example files first to ensure that cupy can find the compiler's executable.
 
 Documentation
 -------------
diff --git a/binder/environment.yml b/binder/environment.yml
index 5a58aeafe4d3af7f4fd3e3c35109e92f4671011a..950158a30fdc594f79e7c34d7b55a0b86306a011 100644
--- a/binder/environment.yml
+++ b/binder/environment.yml
@@ -7,7 +7,7 @@
 #     conda env create -f conda_environment_user.yml
 #     . activate pystencils
 #
-# If you have CUDA installed and want to use your GPU, uncomment the last line to install pycuda
+# If you have CUDA or ROCm installed and want to use your GPU, uncomment the last line to install cupy
 #
 # ----------------------------------------------------------------------------------------------------------------------
 
@@ -32,4 +32,4 @@ dependencies:
       - ipy_table  # HTML tables for jupyter notebooks
       - pyevtk # VTK output for serial simulations
       - blitzdb # file-based No-SQL database to store simulation results
-      #- pycuda # add this if you have CUDA installed
+      #- cupy # add this if you have CUDA or ROCm installed
diff --git a/conftest.py b/conftest.py
index 3c140f19efdea93fcd5f6b94c7f706b7a1c77ef2..040ddf59505d29d1235a91279006ad34e6bcb8db 100644
--- a/conftest.py
+++ b/conftest.py
@@ -46,10 +46,10 @@ add_path_to_ignore('_local_tmp')
 
 
 try:
-    import pycuda
+    import cupy
 except ImportError:
-    collect_ignore += [os.path.join(SCRIPT_FOLDER, "pystencils_tests/test_cudagpu.py")]
-    add_path_to_ignore('pystencils/gpucuda')
+    collect_ignore += [os.path.join(SCRIPT_FOLDER, "pystencils_tests/test_gpu.py")]
+    add_path_to_ignore('pystencils/gpu')
 
 try:
     import waLBerla
@@ -65,6 +65,7 @@ try:
 except ImportError:
     add_path_to_ignore('pystencils/runhelper')
     collect_ignore += [os.path.join(SCRIPT_FOLDER, "pystencils_tests/test_parameterstudy.py")]
+    collect_ignore += [os.path.join(SCRIPT_FOLDER, "pystencils_tests/test_json_serializer.py")]
 
 try:
     import islpy
diff --git a/doc/conf.py b/doc/conf.py
old mode 100644
new mode 100755
index c230cc945b3e58403af84146081aea79e83ca6c7..c493f806640eba010d1afee128b9bcd3ee5add3e
--- a/doc/conf.py
+++ b/doc/conf.py
@@ -33,7 +33,7 @@ version = re.sub(r'(\d+\.\d+)\.\d+(.*)', r'\1\2', pystencils.__version__)
 version = re.sub(r'(\.dev\d+).*?$', r'\1', version)
 # The full version, including alpha/beta/rc tags.
 release = pystencils.__version__
-language = None
+language = 'en'
 exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store', '**.ipynb_checkpoints']
 default_role = 'any'
 pygments_style = 'sphinx'
diff --git a/doc/notebooks/01_tutorial_getting_started.ipynb b/doc/notebooks/01_tutorial_getting_started.ipynb
index bceef66c5679fd502dc94337e2794b6b1ef2b20b..b326e17df7059bf16776920d056b74a078643fb4 100644
--- a/doc/notebooks/01_tutorial_getting_started.ipynb
+++ b/doc/notebooks/01_tutorial_getting_started.ipynb
@@ -70,7 +70,7 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "4.92 ms ± 124 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n"
+      "4.78 ms ± 9.53 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n"
      ]
     }
    ],
@@ -120,7 +120,7 @@
    "outputs": [
     {
      "data": {
-      "image/png": "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\n",
+      "image/png": "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",
       "text/plain": [
        "<Figure size 300x300 with 1 Axes>"
       ]
@@ -179,7 +179,7 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "1.01 ms ± 24.6 µs per loop (mean ± std. dev. of 7 runs, 1,000 loops each)\n"
+      "987 µs ± 5.12 µs per loop (mean ± std. dev. of 7 runs, 1,000 loops each)\n"
      ]
     }
    ],
@@ -260,7 +260,7 @@
    "outputs": [
     {
      "data": {
-      "image/png": "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\n",
+      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAKsAAAAXCAYAAAB04L8XAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAABJ0AAASdAHeZh94AAAFUklEQVR4nO2aaahUZRzGf1eFMo2igozIbiiZHypJQgtNr2bShrZhSea1RagsyyzSlqenULnkWqkphkp9MFGxssU2I8wSW0wMjaikTdPAjErbvH14z+Tc8cxMd+acuS7zg+Fc3u3/3Pc8857/+86paWxspEqVg4E25XS2PQ64EugC/AF8AIyTtDEBbVUOM4r5qVWZ4/cFZgHnA/2Av4E3bR9X5rhVDk/6UsBPNUmmAbbbA7uAwZJeiqlfCFwMnCbpt8QCV9kP292BD4FbJM1raT2lkOunstKAGI4mrNY7YwKfCwwDxlaN2nxsbwFOzVP9o6QO2QWSPrK9HHjM9iJJv6YsMQ2a+Clps84A1gPvx9RNAH4BZicc83BiFzA9pjyfEScBa4E7gYkpaUqTJn5KLA2wPRW4Fugl6aucutOBzcA8SSMTCVhcTz0wH6iT9E4lYhaiXD3Ryoqk2mb22wQcRUi99jazbz0tNIdxfmqT0+B1YABwtaSlWeU1BNHDgQZJ9+f0mxYNXJdr1IgbgRrg+TzCSoqbBrbHAFMI6cqUmPouwAZgraQL0taTAIuARwjzu7KSgZP2U+5pwL3AXkKe0zqrfHI08NyYgWcA1wH9JG3Oo/tC4B/CUUQczY6bIu9F15556p8EWgOjKiOnCUfYvt72eNujbdflzFccmf9nQNriYkjUT03MKulT4FmgK2EzhO3xwBhgMXBrzsAzgRHAUGCn7Q7Rp31Wm3ZAN2BTvo1Vc+OmzMfAbqBHboXtawg3faakDRXUlKEDYZ4mEHLXt4EvbPcp0GdddK34UyBpP8Wdsz4E7AFkexRhYlYCw2JyntsIO7a3gK1Zn7FZbU4mrERbi/xvzYmbGpL+ItzgU2yflCmPvnRTge3Aw5XSk8V8oD/BsO2AM4E5QC3wqu2z4zpJ2kWY146VkbkfifkpdoNlexKQWZ7XAAMk/V6KUtvnRWMsljSkSNuS4hY51oljoaT6AuNNBMYBV0laFpU1APcBIyQtqKSeIrEmA/cAyyVdkafN98CJkvKe/qSpOSk/5RO/I+vvm0o1asTu6Hrk/2hbatzpwLE5Zd2AQcBCYEtO3foi42XyvB7AMttnAHcTjlAWtoCeQjxNMGuhx3xb9t2HfEwnPc2J+Gk/s9oeSkiAtxEeOaMpL2fcHl2PL9SonLiSpseMV0+Y6AUlHLusARrZt8l6ipDK3C6p6FlfCnoKkTFCu7hK260IJvy60CBpaU7ST01yVtuXAAuAjcBZwOfAzdFxTalsJUxo3jFSilsyknYCm4Du0WT3B+ZI+qQl9BQh84WKOzKEMO81lLd6l0TS9/U/s9ruBSwBvgMGStoBPEhYfRtKFRytRO8CJ9junFufVtwEWE1YreYAPwEPtJQQ212jDV5ueS1h1Qd4Lk/3jJlXpSAtL2nc11bRwN2AFYSf8wZI2gogaQnhZYhBtnuXoT1zIDwwu7ACccshk7e2J7ymtt/7DhVkCLDN9su2Z9lusL2EsPp3Bl4hPGrjuIhwxv1CZaSmd19bRavda4QcbaCkL3PajIuuj5eoHYJZtwM3ZAoqFLccMjneOuCZFtKQYRXh5ncinEGOAfoQVv/hwGWS/sztZPsYYDCwQtK3lRCa5n1N9BXBQkQv1k4EzjlAc78m2H4RuBToKWldsfYHIrbvAJ4Aekta3dJ6yqXcl6+bwzTgG+DRCsYsiWhTdTkw+yA2alvCKrb0UDAqJP+KYF4k7bE9DKiz3e5Ae6fVdkfCI7YTIV35jPAjwMFKLTCXsBs/JKhYGnCgY3skYef/M/AGcJekH1pUVJUmVM1a5aDhXzRxoz8ghtcJAAAAAElFTkSuQmCC",
       "text/latex": [
        "$\\displaystyle x^{2} \\left(x + y + 5\\right) + x^{2}$"
       ],
@@ -293,7 +293,7 @@
    "outputs": [
     {
      "data": {
-      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAI0AAAAXCAYAAAA2o8yAAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAABJ0AAASdAHeZh94AAAFBklEQVR4nO2aa4hVVRTHf44WTRmFREhkDyrsg5qVpkmKPSYrCUUrSLImNDKUNDNzylr9yVJTa7AwJCKtvpQivSYzNEJMC6V8ZGVYDRRYJo6iaC+dPqx983rmzuPM3feRzB+Gzex99tr/tc66e6299unU2NhIBzqQBl3ymSxpInA/cEHo2g7MMrO6PHkVFJJqgFFAT+BP4HOgxsy+LimxMkFr9qnIU/4vwAzgSqAf8AnwjqQ+ecotNIYCi4BBwHXAP8BqSd1KSaqMMJQW7NMpdniStBf3ysVRBRcQkroC+4GRZvZ+qfmUG5L2ySs8JQR3Bu4AugLrY8ktEk7Hd929pSbSVkgaDEzBd4NuOPdtQK2ZfRh5uePsk7fTSOoNbABOAQ7g3rgtX7lFRi2wGY/dZQ9JM4GngT3AB8Au4Czgcjy0xHaaWrLsE2On2QH0Bc4ERgOvSxqaNqmUVA28BlxrZp9G4NXWdecBQ4DBZnakSGtW005dJd2OO8xqYJSZHUiMnxSJZkZeE/t0STzwMVAFjDazFVn9nXAl7wHmmtmMzJiZ/QXsDP9uktQf3zbHxyTfGtrDXdIC4C785e1MiETSw8B8YJqZLcgx3hPYCnxhZkMiq9QEkiqAucAhYEzSYQDM7O8c81LbJozntE/y9PQIcBSYFXKUDOYHwa8kBedABR6qio1U3CUt5JhBvmlG5rrQDmxm/EWgMzApH+IpMAi4EA8/DZKGS3pU0mRJV7cwL/V7bck+x+00ZrZF0htB0FhgiaTHgKnA28CEhOA5QB3wM54sjcFj6vDW9Y+LNNwlLcINMhLYK6l7GDpoZgezxH4JHAYGJNcLYaIKWGhmW+NrlBP9Q/tb4NY7wWktcJuZ/Z7d34732qJ9ctVpZgJ/AE9JmgQ8A6wCxprZ0cSz3YE38bxmTVDqZjNb2SYTxEdbuT+AO/kaPInM/E3LFha2+o1AD0nnZPolnQY8D+wGniyYNk1xdmgnAJXADbgevXA9hwDLmpmb5r22aJ+cdRpJs/GiHfjxucrMDqVWsRlIqgfOTzFlqZlVt1F2VO6SngVqyMoHJM0FpgP3mtmSVubXE0lXSc9xLNRcYWZbssYqge+Bc4FBZrYhx/wotmnu9JS9vY2L6TABtfhpKxt9gRHAUqA+MbY5hezY3D8L7QBghaRLgYfwMsPSNsyvJZ6uDaH9MdthAMzssKRVwDjgqsAviSi2aeI0ku7EE6Rf8fAzGd+uosHManOsW40bckl7j9wF4r4eaORYMvwSnvxONLNWy+mRdd0R2n3NjGecqjLHmtFsc1xOI+kW3Pu3A32A74Dx4ddV1igUdzNrAL4F+kkaA1wPLDazr/Kk3B6sxe+BLpF0co7xXqGtz+6MbZv/nEbSNcBy/BLyxpCBP4HvRnPaI7xYKAL3dcCpwGK8CjszgszUMLM9wFvAGSQScElVwDD8juijrP7otqkIgi/Dy9H78eRoVyC5HNgEjAh3HWWHInHP5DVd8cvYUt5RTcWLqY9LWitpvqRlwErgCHCfme2DwtmmQtLF+NGrERhmZj8knqkJ7by0wguNInL/KbQbgVfzlJUXzGw3npS/APQAHsQ/X6jDS/3LoLC2if5pxIkISe/hBcuBZrax1HxKjXw/wjrhEZLfW4GXOxzGEe17mhMJks7Dr0QuAu7GTx3TS0qqjNDhNLlxEzAbr4e8C0wpQIHzf4uOnKYDqfEvcwBygSAVIEgAAAAASUVORK5CYII=\n",
+      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAI0AAAAXCAYAAAA2o8yAAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAABJ0AAASdAHeZh94AAAFB0lEQVR4nO2ae4hVVRTGfzMaVho9oDAoCyqUKBky85HKpExWEloplGBNaEYpWOKj6fXx0cPMNC0rJohG6q+yoTQrRSOitLDS1Cihx1SC0UsFsadOf+xz5c6ZM3Pn3nvuvZPMB8Nm9j577W+ts+7aa699qlpbW+lBD/JB72Im254F3A6cG3V9ATwsaV2RvEoK2w3A9cBA4C/gI6BB0q6KEusmyGWf6iLl7wEWApcAlwLvAq/bHlyk3FKjFngWGAmMBf4FNto+rZKkuhFq6cQ+VWlvT7Z/J3hlY6qCSwjb/YADwCRJayvNp7shbp+itqeY4F7AFKAfsDktuWXCSYSou6/SRLoK2+OA2cAI4FTgN2AnsELSWykv18Y+RTuN7YuBLcDxwEHgOkk7i5VbZqwAthP06Paw/Tgwn5AerAF+BU4HhhC2lrSdpo190og0u4Ea4GRgMrDKdm2+SaXteuBF4ApJ76XAq6vrLgNGAaMkHS7TmvUUqKvt2wgOswqYKenv2PhxKdHMyGtnn96xBzYAdcBkSa9l9VcRlLwFWCzpnsxYRPrr6N9PbQ8F7gamp0k+FwrhbvtJ4EbCy/s2QeZcYCkwT9LShPGBwA7gY0ljUlapHWz3AR4BfiDBYQAk/ZMwL2/bROOJ9omfnuYDR4CHohwlgyciwc/HBSegGuiT45lSIC/utlcANwFjJX3VgcwPo3Z4B+NPA70IuUU5UEfYhpqBI7Yn2F5oe47tEZ3My/u9dmafNpFG0ue2X4oETQOabN8LzAVeAe6ICX4MWAf8SEiWphL21Am59U8X+XC3/Uz0zCRgn+3+0dBBSQezxH4G/AEMi69newrhJT4laUf6GiViaNT+CWwDLopxep8QTX7J7i/gvXZqn6Q6zQMRKdmeTQiH64Fpko7Enu0PvEzIazZFSl0t6e0umSB9dJX7nQQn3wTszfqbly0sCvVbgbNtn5npt90XWAb8DDxYMm3a44yonQ+0AqMJegwGNgBjgFc7mJvPe+3UPol1GtuLgEy42gzUSTqUt4odwHYLcE4eU1ZJqu+i7FS5234UaABukNQc9S0GFgC3SmrKMb+FlHS13QjMJFRpB0lqyRo7kfDjPQsYKandSTAt23R0esoOb9PTdJgIy4FTYn01wETCqaAlNrY9D9lpc8/kNcOAZtuDCIn+FgLXXFhOerruj9pt2Q4DIOmQ7fWEA8hlJJcPUrFNO6exPZWQIP1E2H7mENvzioWk5Qnr1hMM2VTokbtE3DcTtoJMMrySkPzOkpSznJ6yrrujdn8H45ni5AkJa6ZmmzY5je1rgCZgF2Gf3A3MiI6W3Rql4i5pH/AlMCQy/DigUdK24hgXhE0EB77QdlI+mkmMv8vuTNs2Rxe2PQpYTagyjo8y8PsJ0WhxIcLLhTJw/wDoCzQSqq/3pSAzb0j6HlgLDCBEiqOwfSUwnhCF3snqT9021ZHgGuBNwqVUnaS9EcnVwCfARNujC1mg1CgT90xe049wGVvJO6pZhBLHMtsbbS+xvZpwdXAYmCHpAJTONtW2zyd4ZivBE7+JPdMQtUvyFV5qlJF7JtxvBV4oUlZRkLSHcMe0EriAEHFqCRHo8kzFt5S2Sf3TiGMRttcQCpbDJW2tNJ9Ko9iPsI55RMnvtcBzPQ4TkNr3NMcSbA8gXImcB9xM+Ix1QUVJdSP0OE0yrgIWEU4ibwB3laDA+b9FT07Tg7zxH/RCc51argrkAAAAAElFTkSuQmCC",
       "text/latex": [
        "$\\displaystyle x^{3} + x^{2} y + 6 x^{2}$"
       ],
@@ -318,7 +318,7 @@
    "outputs": [
     {
      "data": {
-      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAHsAAAAXCAYAAAAr8TBeAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAABJ0AAASdAHeZh94AAAFN0lEQVR4nO2ae7CWUxTGf+cUI9VEbg2K3GKmwRCV0aF0ZDSm3P7QiBDDiJJQLj09htRUOhNqQqP4R1SDErlMVIrJJZEwUUMjYrq45ZLyx95fHe95v3Pqu51M55n5Zn2z19rver693r322nt/Zdu3b6cBewca59PZ9jDgEqAd8CfwLjBM0qcF4NaAAqM8z/7nAhOBs4BuwFbgDdst83xuA4qAskKmcdvNgM1Ab0mzU/RPAxcAbSX9VjDHDagB26cD7wP9JU2BPNN4CpoTssWGFOcdgCuBIQ2Bzh22uwCDCNm0JWGsPwGqJM3N2En6wPYLwAO2p0v6Nd80nkQVsIywdicxEvgZmFRgn3sNbN8LLAAqgFeBccBs4EDCkprEQ0Ar4FYoYBq3PYYwc7tIWpXQnQB8Djwp6YaCOKybTz/gKaCrpLdK4bM25MvH9uXAc8AbwCWSfkno95H0d0q/lcD+wDGNE4rXgErgUkmzqrWXRaJXA6MlDU30G0cIdNdkoCOuBcqA6Vl+SE5+iwHbtwNjCcvNuBR9O2A58J6kimLziT7LgdHA70CfZKAB0gId8SwwAuieTON3ANsIeb5RtfaxhAF/IiXQE9gZ6M+yOOwO/EN6es/JbxGxKMpOWfSPAI2AAaWhA4T1uS0wF9hou6ftu2wPtN25jr7vRFn5n2BL+hh4BjgJ6Atg+25gMCGF3Fjd3vZEoB9wBbDBdqv4aVbNpilwKrAyW2G2u36LjA+BLUDHpCKm0krgMUnLS8jpjCh/IPCbA4wi1EiLbb9t+5AsfZdGWZFWoN0L/AGMsD0AeBCYB/SVtC1hexOhAn8TWFftM6SazRGEmbCujh+0O36LhpgOlwKtbR+eaY8v7cPAemB4qfhEHBrljUATQqZsDrQnjFEF8HxaR0mbCePapsbWS9Ja21XAUELKWkwoCP5KsS3bBaIHRbmxNqPd8ZuE7TXAUVnU820n26ZJ6lfLI98hDGAnIFNDDAeOBK6JA1hKPpmlrQy4LGZCgBW2Lwa+BM6x3VnSkpT+G4DDsu2zf6z2/TpJv9dCpC5siXK/XbDN1W8VcECi7VSgFzANWJPQLavjeZl1riMwy/aJwG3Akvi8UvPJTJSvqwUaAElbbM8DrgPOjByTaAJsqRFs21cQCqPvCXu0gYR0nSvWR3lQbUb5+JVUlfK8foTBnZrDVmcxsJ2dRdqjhNl1s6Q696pF4PNFlJuy6DMvQ5MUv+WEF291eUJxIeHNWwGcTNgb949vdq5YR5ix7bIZFMlvzpC0EVgJdLDdBzgPmCzpo/rgQzhI2Qocb3vfFH37KNek6NoR0v+yHcG2fTYwA1gLnC/pR+A+wpHqqFxZxpmwADjY9nFJfbH8FgCLCIcRk4GfCAVkvUDST4QzihYkikPblUAPwp3EqyndM9lpfnnscAqhnN8MVEpaF53MIBym94pnsrliZpQ9EkSL7TcfZNbtZoRr2xrn/SXGYGAVcI/tBbbH2n4eeIVwhnG9pE0p/c6P+hfL42ybR1ijekj6KmE8LMoxeRCdSdgjXpVpKJHffLA6yqXAlHrisAOS1hMKxvFAa8J5dzfgZcIRdY2tl+0WQG9gjqRvC3rFWRviHx1GAqfV49q3y7D9EtAT6CRpaV32eyJs3wJMACokLSz0rVdtGA98A9xfQp85IRZlFwGT/seBbkLIjjMlLYTC32dnhaQ/bPcFutpuuqfdadtuA/QBjiUsNyuAO+uVVH44GngcmJppKFka39Nh+wZC5b0JeB0YJOm7eiVVYDQEey/CvxiiNb+5640IAAAAAElFTkSuQmCC\n",
+      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAHsAAAAXCAYAAAAr8TBeAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAABJ0AAASdAHeZh94AAAFMklEQVR4nO2afazWYxjHP+eUkTIviQxhXsLMmqQOlV6czmiUxkZblF42imhFefv6Mi9Jb0irZTrzT6hGpVWysAo7KJVVf1DUHCtURoV0/HH/nvb4nd9zTj1vJ+t8t2fX89zXfd/X9buv33293PdTUlNTQyOODTTNZbDtcUA/oC3wJ/AZME7Shjzo1og8ozTH8d2A14BrgR7AAWC57dNynLcRBUBJPt247RbAHqCvpIUJ/ErgRuACSX/kTXAjasF2e+ALYKikWZCjG0/ASQRvsStBeAdgADC60dDZw3ZPYARQBpwK/AKsB6ZKWpzqJ+lL2+8Cz9ieI+n3XN14HFOBtcCnCbxngd+A6XmWeczA9ovAcuBqYAEwEXgfaEUIqXE8D7QGHoA8unHbk4A7gM6SvovxLgE2AbMkDcuLwPr1GQi8AXSX9FExZNaFXPWxPRSYCVQCwyT9FeMfJ+nvhHEbgROBC5rGGMuAcuA2SfPS2ksiRe8GxksaGxs3mWDo7nFDR7gHKAHeyvAgWcktBGyPIuyY0ZImJvDbAuuAzyV1LbQ+kczjCZ7xBxIMDZBk6AhzgKeA8rgbHwMcJPj5JmntLxEWfGaCoacCdwI9JG3KIPAG4B9CaZaEI5ZbQKyKaKcM/FeAJoS4WSyUE1z1fOCg7d62H7E90nZZPWNTz/NfY0v6GngTuIyQTGH7UWAU8DZwb3p/29OAQUB/YJft1tGnRVqf5kA7YGOmxOxI5RYYXwH7gI5xhu3bCQs/TdK6IurUIaL7gTXAIuAFYAqw2vbHtltlGFsV0a5JCdoT0aSyPYLgPpYCAyQdjPW9j5CBfwhUp31Gp/U5m7ATqut5oCORWzBE7rAKONf2Wan26KWdBOwAniyWPhHOiOgYoAboQlj3K4FlQFfgnaSBkvYQ1rVNrdJL0jbbU4CxBJe1GuiXIU6UHIaiLSNaqxzLVm4ctrcC52Vgr7Adb6uUNLCOKVcRFrCM4DohGPgcYFC0gMXUJ7UpDwC3SNoa/V5v+1ZgM3C97TJJSZXQr8CZmersnWnfB0vaW4ci9WFfRE84jL7Zyp0CnBJrawf0IWSvW2O8tfXMl4pzHYH5ti8FHiKUlJUNoM/uiK5JMzQAkvbaXgoMBq4huextBuyrZWzb/QmJ0U+EGm0kucXMHRFtWVenXORKmpIw30DC4s7OotRZTXCXqSTtVUIoGi6p3lq1APpsjujuDPyU12yWILeU8OJtKY0xbgJmAxsI8WAzMCQqN7JFNWHHZpyjQHKzhqRdwEagffQS9gRmSFrTEPoQcqIa4PLIeHFcEdEtCby2hLJ37aGBtjsDc4HtQIWkncDjhCPV8dlqGe2ET4DTbV8U5xdKbh6wEmgOzAB+Bh5rKEUkfQ8sBNoQPN4h2O4FVBB2/ZKE4SnvtKI0GtCOkM7vAcolVUdC5hIO0/vY7pKDvqmDkoqYooWWmwtScbsF4dq2zgSzCBgObAMm2V5ue4LtucBiwhnGkAyJY6+I/15ptNuWENxEhaRvY53HRXRCDorOI8Tuu1INRZKbC1IusQp4vYF0OARJ24H2hPzhYsIO70bY8delnzymYPtkoC+wSNK2vF5x1oXojw7PAVc1YOw7bNheAPQGOkmqqq//0Qjb9wMvA10krcz3rVddmEw42326iDKzQpSU3QxM/x8buhnBO86TtBLyf5+dEZL22x4AdLfd/Gi707bdhnDseyEh3HwDPNygSuWG8wm3ZLNTDUVz40c7bA8jZN67gQ+AByX92KBK5RmNxj6G8C8PHDfc7bZAEwAAAABJRU5ErkJggg==",
       "text/latex": [
        "$\\displaystyle x^{2} \\left(x + y + 6\\right)$"
       ],
@@ -343,7 +343,7 @@
    "outputs": [
     {
      "data": {
-      "image/png": "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\n",
+      "image/png": "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",
       "text/latex": [
        "$\\displaystyle x^{2} \\left(x + \\cos{\\left(x \\right)} + 5\\right) + x^{2}$"
       ],
@@ -375,7 +375,7 @@
    "outputs": [
     {
      "data": {
-      "image/png": "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\n",
+      "image/png": "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",
       "text/latex": [
        "$\\displaystyle x^{2} \\left(x + y + 5\\right) + x^{2} = 1$"
       ],
@@ -401,7 +401,7 @@
    "outputs": [
     {
      "data": {
-      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAHsAAAAfCAYAAADHorIzAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAABJ0AAASdAHeZh94AAAEpUlEQVR4nO2ba4hVVRiGnzEtukFYSf0QLSxIDK2syPKSNRn2Q7vYXRIssIgUSTCbentLUdFohn72ozErKEWpxrwgXSwmLEkthBK1qSRLB0cJLFKbfqx14ng4c9wzc86eo7Mf2Kx91trrm5f97bXXt9a3p6a9vZ2M3kHf/B+2zwfG5lVtlnQgXUkZALbHAHOA64BLgSmSVibodzkwNPdbUlPuvE/BtYOAFWVRm9FdzgW2A093sf8A4KP8ir5FLjqe/zRk9AyS1gJrAWx3pt8eYI/twYVthSM74zSm2MjuVdgeDcwCRgH9gYPA90C9pI97UFrZ6dXOtl0HvAK0Ak3APuAi4BpgHJA5+3TA9hSCozcC90j6s6C9XxftTgPeBG6V9Fk3ZZaV1JxtewNQC9wraVVefQ3h5jwGLJY0NwUtfYDFwBHg4UJHA0g6WmkdaZPmyJ4DfAvMt/2BpOOxfinB0W+k4ejIKOAyYCXQZvsuYBjwN/C1pK9S0tEhts8DhuRVDbY9Ajgo6Zeu2EwtGpe0HVgOXAVMBbA9D5gNvA/MSEsLcH0s/yA8gE3AIqAeaLb9ue2LU9RTjJHA1ngALInnL3fVYNpzdh3wAPBSfHIXAOuBqZL+TVHHgFjOAH4Cbgc2EzaVXgUmEDaXxqWo6QTifF9TTpuJnG27hXAjkvKOpEcLKyXttV0PzAVeB5oJwdE/aWmInBHLGuC++NYB2GH7bmAnMNb2TaVe6SfR9GmRzZBlkqYlEV8Jko7s3YT5LCm/lWjL32ufLulID2hoi+WePEcDIOkv2+uB6cANQKn5ux64oKBuBDAJWAa0FLRtK2Gr4iRytqTbyvHHbD9ECMh+By4BZgJPpqkh8mMsD3XQnnsYzi5lRFJ9YV1cek0CGnvz0msi4WnfAYwHNgGP226Q9ENaOiKbgGPAFbbPLDKNDItlS1qCbHc71yyp5ByfirNt30JY5uwF7pB0wPYLhCBoETA5DR05JLXafg94BHiREDjmtNYSArTDwLoUNZ00GLM9kLCiGQAcBZy/Z3EyKr70sj2csLQ5DNRK2gcQc7NbgElxfzptZgO7gOdtb7K91PYKQqbpOPCEpEM9oKsUx4CZkoYSNqgabJ+TtHNFnW17CGFp1Q5MkLS74JLnYrmkkjqKIWk/cCPwGjAQeIYwvawBRkuqury+pH25gDLqbyPs5Seioq9xSbsIgVhH7Rsp81qyM0g6SBjhs8tosxFoLJe9jrA9EugH/Jq0T5bPPgWxfSHwFmHpmjiwy5x9imH7LGA1sFBSc2f69toUZzUS065vA1dK+jnWNQATCcmbVsIU8Ymk5Z21n43s6mIl4SuZOgDbzwIPAnfGr3xvJuQWJtveFo+rkxrPRnYVIak9ZgLX2N4NzAPG51Yxkr6kGwM0G9lVhqQNwDfAfOB+SVvKZTtzdpVhezwwnOCb/eW0nTm7ioi7jauAp4APCfn+slFszu5ne1Y8X52LCjMqi+1BhK9Zl0haZnsrsM32aElfdMLOtcAYwmfRJ1A4sncSXiHr4tHaVfEZybHdn3C/myQtAJD0HSE6X9hJcy3R1ruET8D+pyb7L87ew39WYqU0g6OV0QAAAABJRU5ErkJggg==\n",
+      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAHsAAAAfCAYAAADHorIzAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAABJ0AAASdAHeZh94AAAElUlEQVR4nO2bbYhUVRjHfyuFSH4owaggLbBAERS0YH2prWU1erMXI4oWLTWIiiJcMDH+/C1Js2Kl+tKHWhO/pJKkmUovirFCZrupSBJLppKKvegX20qdPpyzMQw768x65+7o3B8M595z7nnuwzzzPOc855ypy+VyZNQGl+Xf2L4W2ADsBnLAakk7BkKxWsf2bcB8YAJwHfCkpLYS+tUDs+LtROBhSb9AgbGBwVH4FEndCemd0T+GAvuAj+KnJCTtBHYC2M4BQ3raCo2dUSVI2gRsArDdloTMQUkIybg4yDwbsN0IPAfUA1cBvwN7gRXRwy4Jat7Ytt8AWoAjwKfAb8BwwtylgRhKLwVq2ti25xEMvRJ4WtI/Be2X90PmbOBD4A5J2xJQMzFSM7btrUATMFPSurz6OsKXMwtYJmlBSvoMBpYAh+jF0ACS/k1Dl7RI07NbgO+BV22vl3Q21r9JMPT7aRk60kQI163AOdv3AGOBbuDbmMIMGLaHAqPi7SBghO3xwB+SDvVHZmqzcUk/AKuA0UAzgO2FwEvAx8AzaekSuSWW3UAHsBFYSjB+u+3ttoenrFM+E6NeHYRc2fF6cX8Fpj1mvwI8Cij+cpcAW4BmSedS1uXqWLYA+4GpQCdwIyHaTAPWECZpqRPH+7okZZZkbNsHgZFlyF0t6YnCSkmHbbcCC4B3gHbgod7Gy0rpkEdPVDsD3C/pYLzfa/tB4ABwu+36YiH9PDp9bbuwbqWk2SXoXhFK9ewuQrgrlV/7aDuRdz1H0ukB0AHgZCw78gwNgKTTtrcAc4BbicuPvdAKXFlQNx6YQZjhHyxo6zyPThWlJGNLakziZbYfJ4TIY8A1wAuUOFYnpUMeB2J5skj7n7EcUqQdSa2FdTH1mgG0lZN6xXXsC0JSn2E/zdTrbqCNsLjfCOwA5tpulXSgr74V4kvCzt4Y24N6mTOMjeXPaShzPkMlQSqzcdtTgLWEVarpkk4Aiwg/tmVp6FBI3PbbAIwgRJj/sT0NmE7w+s2pK1cE29fb3mZ7v+09th8pp3/FjR1zw43AKaBJ0lEASWuB74AZtqdWWo8iPAscBt62/YXt5bbXEpZIzwJzJZ0aIN164wzwoqQxhGyh1fYVpXauqLFtjyJ4Ro7g0V0Fj7wcy+WV1KMYko4Q1sDfBW4ieHgDweMn56/0VQOSjkrqjNfHCOv4w0rtX5d/LMn2DYQxakh2eKG6sT2BkMqN7eOZHDBa0o9Q4xshFyu2hxFOr8wrp19m7CrC9kxgNXBzz7kx2yuAe4FJko7HDZz1wFJJ7eXIz06qVBfrCIcmFgHYng88BtwVDV1HSF+/krSqXOGZZ1cRknJxc+gz213AQqBR0k/xkcmEvYU9th+Idc2S9pYiPzN2lSFpq+1dwGvAfZJ25bV9wwVE4yyMVxm27wTGEXa8jicpOzN2FWF7HPAJ8DxhEvZ6kvIzY1cJtkcCnwNvSfoAENBkuyGpdxSO2X8T/vrzXkzIV0nantTLMnon5s2bgQ2SFgNI2md7DcG768uQNQl4Kt7uBv7qaavL/thXO2RhvIb4DyfqqX/syaykAAAAAElFTkSuQmCC",
       "text/latex": [
        "$\\displaystyle \\left[ - x - 6 + \\frac{1}{x^{2}}\\right]$"
       ],
@@ -435,7 +435,7 @@
    "outputs": [
     {
      "data": {
-      "image/png": "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\n",
+      "image/png": "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",
       "text/latex": [
        "$\\displaystyle x^{2} \\left(x + y + 5\\right) + x^{2}$"
       ],
@@ -459,11 +459,167 @@
    "metadata": {},
    "outputs": [
     {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "graphviz is not installed. Visualizing the AST is not available\n"
-     ]
+     "data": {
+      "image/svg+xml": [
+       "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
+       "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
+       " \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
+       "<!-- Generated by graphviz version 2.43.0 (0)\n",
+       " -->\n",
+       "<!-- Title: %3 Pages: 1 -->\n",
+       "<svg width=\"425pt\" height=\"260pt\"\n",
+       " viewBox=\"0.00 0.00 425.00 260.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
+       "<g id=\"graph0\" class=\"graph\" transform=\"scale(1 1) rotate(0) translate(4 256)\">\n",
+       "<title>%3</title>\n",
+       "<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-256 421,-256 421,4 -4,4\"/>\n",
+       "<!-- Add(Pow(Symbol(&#39;x&#39;), Integer(2)), Mul(Pow(Symbol(&#39;x&#39;), Integer(2)), Add(Integer(5), Symbol(&#39;x&#39;), Symbol(&#39;y&#39;))))_() -->\n",
+       "<g id=\"node1\" class=\"node\">\n",
+       "<title>Add(Pow(Symbol(&#39;x&#39;), Integer(2)), Mul(Pow(Symbol(&#39;x&#39;), Integer(2)), Add(Integer(5), Symbol(&#39;x&#39;), Symbol(&#39;y&#39;))))_()</title>\n",
+       "<ellipse fill=\"none\" stroke=\"black\" cx=\"136\" cy=\"-234\" rx=\"28.7\" ry=\"18\"/>\n",
+       "<text text-anchor=\"middle\" x=\"136\" y=\"-230.3\" font-family=\"Times,serif\" font-size=\"14.00\">Add</text>\n",
+       "</g>\n",
+       "<!-- Pow(Symbol(&#39;x&#39;), Integer(2))_(0,) -->\n",
+       "<g id=\"node2\" class=\"node\">\n",
+       "<title>Pow(Symbol(&#39;x&#39;), Integer(2))_(0,)</title>\n",
+       "<ellipse fill=\"none\" stroke=\"black\" cx=\"98\" cy=\"-162\" rx=\"29.8\" ry=\"18\"/>\n",
+       "<text text-anchor=\"middle\" x=\"98\" y=\"-158.3\" font-family=\"Times,serif\" font-size=\"14.00\">Pow</text>\n",
+       "</g>\n",
+       "<!-- Add(Pow(Symbol(&#39;x&#39;), Integer(2)), Mul(Pow(Symbol(&#39;x&#39;), Integer(2)), Add(Integer(5), Symbol(&#39;x&#39;), Symbol(&#39;y&#39;))))_()&#45;&gt;Pow(Symbol(&#39;x&#39;), Integer(2))_(0,) -->\n",
+       "<g id=\"edge1\" class=\"edge\">\n",
+       "<title>Add(Pow(Symbol(&#39;x&#39;), Integer(2)), Mul(Pow(Symbol(&#39;x&#39;), Integer(2)), Add(Integer(5), Symbol(&#39;x&#39;), Symbol(&#39;y&#39;))))_()&#45;&gt;Pow(Symbol(&#39;x&#39;), Integer(2))_(0,)</title>\n",
+       "<path fill=\"none\" stroke=\"black\" d=\"M127.19,-216.76C122.65,-208.4 117.01,-198.02 111.9,-188.61\"/>\n",
+       "<polygon fill=\"black\" stroke=\"black\" points=\"114.88,-186.75 107.03,-179.63 108.72,-190.09 114.88,-186.75\"/>\n",
+       "</g>\n",
+       "<!-- Mul(Pow(Symbol(&#39;x&#39;), Integer(2)), Add(Integer(5), Symbol(&#39;x&#39;), Symbol(&#39;y&#39;)))_(1,) -->\n",
+       "<g id=\"node5\" class=\"node\">\n",
+       "<title>Mul(Pow(Symbol(&#39;x&#39;), Integer(2)), Add(Integer(5), Symbol(&#39;x&#39;), Symbol(&#39;y&#39;)))_(1,)</title>\n",
+       "<ellipse fill=\"none\" stroke=\"black\" cx=\"174\" cy=\"-162\" rx=\"28.7\" ry=\"18\"/>\n",
+       "<text text-anchor=\"middle\" x=\"174\" y=\"-158.3\" font-family=\"Times,serif\" font-size=\"14.00\">Mul</text>\n",
+       "</g>\n",
+       "<!-- Add(Pow(Symbol(&#39;x&#39;), Integer(2)), Mul(Pow(Symbol(&#39;x&#39;), Integer(2)), Add(Integer(5), Symbol(&#39;x&#39;), Symbol(&#39;y&#39;))))_()&#45;&gt;Mul(Pow(Symbol(&#39;x&#39;), Integer(2)), Add(Integer(5), Symbol(&#39;x&#39;), Symbol(&#39;y&#39;)))_(1,) -->\n",
+       "<g id=\"edge2\" class=\"edge\">\n",
+       "<title>Add(Pow(Symbol(&#39;x&#39;), Integer(2)), Mul(Pow(Symbol(&#39;x&#39;), Integer(2)), Add(Integer(5), Symbol(&#39;x&#39;), Symbol(&#39;y&#39;))))_()&#45;&gt;Mul(Pow(Symbol(&#39;x&#39;), Integer(2)), Add(Integer(5), Symbol(&#39;x&#39;), Symbol(&#39;y&#39;)))_(1,)</title>\n",
+       "<path fill=\"none\" stroke=\"black\" d=\"M144.81,-216.76C149.42,-208.28 155.16,-197.71 160.32,-188.2\"/>\n",
+       "<polygon fill=\"black\" stroke=\"black\" points=\"163.54,-189.61 165.23,-179.15 157.39,-186.27 163.54,-189.61\"/>\n",
+       "</g>\n",
+       "<!-- Symbol(&#39;x&#39;)_(0, 0) -->\n",
+       "<g id=\"node3\" class=\"node\">\n",
+       "<title>Symbol(&#39;x&#39;)_(0, 0)</title>\n",
+       "<ellipse fill=\"none\" stroke=\"black\" cx=\"27\" cy=\"-90\" rx=\"27\" ry=\"18\"/>\n",
+       "<text text-anchor=\"middle\" x=\"27\" y=\"-86.3\" font-family=\"Times,serif\" font-size=\"14.00\">x</text>\n",
+       "</g>\n",
+       "<!-- Pow(Symbol(&#39;x&#39;), Integer(2))_(0,)&#45;&gt;Symbol(&#39;x&#39;)_(0, 0) -->\n",
+       "<g id=\"edge3\" class=\"edge\">\n",
+       "<title>Pow(Symbol(&#39;x&#39;), Integer(2))_(0,)&#45;&gt;Symbol(&#39;x&#39;)_(0, 0)</title>\n",
+       "<path fill=\"none\" stroke=\"black\" d=\"M82.94,-146.15C73.02,-136.37 59.87,-123.4 48.81,-112.5\"/>\n",
+       "<polygon fill=\"black\" stroke=\"black\" points=\"51.13,-109.87 41.55,-105.35 46.21,-114.86 51.13,-109.87\"/>\n",
+       "</g>\n",
+       "<!-- Integer(2)_(0, 1) -->\n",
+       "<g id=\"node4\" class=\"node\">\n",
+       "<title>Integer(2)_(0, 1)</title>\n",
+       "<ellipse fill=\"none\" stroke=\"black\" cx=\"99\" cy=\"-90\" rx=\"27\" ry=\"18\"/>\n",
+       "<text text-anchor=\"middle\" x=\"99\" y=\"-86.3\" font-family=\"Times,serif\" font-size=\"14.00\">2</text>\n",
+       "</g>\n",
+       "<!-- Pow(Symbol(&#39;x&#39;), Integer(2))_(0,)&#45;&gt;Integer(2)_(0, 1) -->\n",
+       "<g id=\"edge4\" class=\"edge\">\n",
+       "<title>Pow(Symbol(&#39;x&#39;), Integer(2))_(0,)&#45;&gt;Integer(2)_(0, 1)</title>\n",
+       "<path fill=\"none\" stroke=\"black\" d=\"M98.25,-143.7C98.36,-135.98 98.49,-126.71 98.61,-118.11\"/>\n",
+       "<polygon fill=\"black\" stroke=\"black\" points=\"102.11,-118.15 98.76,-108.1 95.11,-118.05 102.11,-118.15\"/>\n",
+       "</g>\n",
+       "<!-- Pow(Symbol(&#39;x&#39;), Integer(2))_(1, 0) -->\n",
+       "<g id=\"node6\" class=\"node\">\n",
+       "<title>Pow(Symbol(&#39;x&#39;), Integer(2))_(1, 0)</title>\n",
+       "<ellipse fill=\"none\" stroke=\"black\" cx=\"174\" cy=\"-90\" rx=\"29.8\" ry=\"18\"/>\n",
+       "<text text-anchor=\"middle\" x=\"174\" y=\"-86.3\" font-family=\"Times,serif\" font-size=\"14.00\">Pow</text>\n",
+       "</g>\n",
+       "<!-- Mul(Pow(Symbol(&#39;x&#39;), Integer(2)), Add(Integer(5), Symbol(&#39;x&#39;), Symbol(&#39;y&#39;)))_(1,)&#45;&gt;Pow(Symbol(&#39;x&#39;), Integer(2))_(1, 0) -->\n",
+       "<g id=\"edge5\" class=\"edge\">\n",
+       "<title>Mul(Pow(Symbol(&#39;x&#39;), Integer(2)), Add(Integer(5), Symbol(&#39;x&#39;), Symbol(&#39;y&#39;)))_(1,)&#45;&gt;Pow(Symbol(&#39;x&#39;), Integer(2))_(1, 0)</title>\n",
+       "<path fill=\"none\" stroke=\"black\" d=\"M174,-143.7C174,-135.98 174,-126.71 174,-118.11\"/>\n",
+       "<polygon fill=\"black\" stroke=\"black\" points=\"177.5,-118.1 174,-108.1 170.5,-118.1 177.5,-118.1\"/>\n",
+       "</g>\n",
+       "<!-- Add(Integer(5), Symbol(&#39;x&#39;), Symbol(&#39;y&#39;))_(1, 1) -->\n",
+       "<g id=\"node9\" class=\"node\">\n",
+       "<title>Add(Integer(5), Symbol(&#39;x&#39;), Symbol(&#39;y&#39;))_(1, 1)</title>\n",
+       "<ellipse fill=\"none\" stroke=\"black\" cx=\"284\" cy=\"-90\" rx=\"28.7\" ry=\"18\"/>\n",
+       "<text text-anchor=\"middle\" x=\"284\" y=\"-86.3\" font-family=\"Times,serif\" font-size=\"14.00\">Add</text>\n",
+       "</g>\n",
+       "<!-- Mul(Pow(Symbol(&#39;x&#39;), Integer(2)), Add(Integer(5), Symbol(&#39;x&#39;), Symbol(&#39;y&#39;)))_(1,)&#45;&gt;Add(Integer(5), Symbol(&#39;x&#39;), Symbol(&#39;y&#39;))_(1, 1) -->\n",
+       "<g id=\"edge6\" class=\"edge\">\n",
+       "<title>Mul(Pow(Symbol(&#39;x&#39;), Integer(2)), Add(Integer(5), Symbol(&#39;x&#39;), Symbol(&#39;y&#39;)))_(1,)&#45;&gt;Add(Integer(5), Symbol(&#39;x&#39;), Symbol(&#39;y&#39;))_(1, 1)</title>\n",
+       "<path fill=\"none\" stroke=\"black\" d=\"M193.41,-148.65C210.74,-137.62 236.33,-121.33 255.9,-108.88\"/>\n",
+       "<polygon fill=\"black\" stroke=\"black\" points=\"257.85,-111.79 264.41,-103.47 254.1,-105.88 257.85,-111.79\"/>\n",
+       "</g>\n",
+       "<!-- Symbol(&#39;x&#39;)_(1, 0, 0) -->\n",
+       "<g id=\"node7\" class=\"node\">\n",
+       "<title>Symbol(&#39;x&#39;)_(1, 0, 0)</title>\n",
+       "<ellipse fill=\"none\" stroke=\"black\" cx=\"102\" cy=\"-18\" rx=\"27\" ry=\"18\"/>\n",
+       "<text text-anchor=\"middle\" x=\"102\" y=\"-14.3\" font-family=\"Times,serif\" font-size=\"14.00\">x</text>\n",
+       "</g>\n",
+       "<!-- Pow(Symbol(&#39;x&#39;), Integer(2))_(1, 0)&#45;&gt;Symbol(&#39;x&#39;)_(1, 0, 0) -->\n",
+       "<g id=\"edge7\" class=\"edge\">\n",
+       "<title>Pow(Symbol(&#39;x&#39;), Integer(2))_(1, 0)&#45;&gt;Symbol(&#39;x&#39;)_(1, 0, 0)</title>\n",
+       "<path fill=\"none\" stroke=\"black\" d=\"M158.73,-74.15C148.67,-64.37 135.33,-51.4 124.11,-40.5\"/>\n",
+       "<polygon fill=\"black\" stroke=\"black\" points=\"126.36,-37.81 116.75,-33.35 121.49,-42.83 126.36,-37.81\"/>\n",
+       "</g>\n",
+       "<!-- Integer(2)_(1, 0, 1) -->\n",
+       "<g id=\"node8\" class=\"node\">\n",
+       "<title>Integer(2)_(1, 0, 1)</title>\n",
+       "<ellipse fill=\"none\" stroke=\"black\" cx=\"174\" cy=\"-18\" rx=\"27\" ry=\"18\"/>\n",
+       "<text text-anchor=\"middle\" x=\"174\" y=\"-14.3\" font-family=\"Times,serif\" font-size=\"14.00\">2</text>\n",
+       "</g>\n",
+       "<!-- Pow(Symbol(&#39;x&#39;), Integer(2))_(1, 0)&#45;&gt;Integer(2)_(1, 0, 1) -->\n",
+       "<g id=\"edge8\" class=\"edge\">\n",
+       "<title>Pow(Symbol(&#39;x&#39;), Integer(2))_(1, 0)&#45;&gt;Integer(2)_(1, 0, 1)</title>\n",
+       "<path fill=\"none\" stroke=\"black\" d=\"M174,-71.7C174,-63.98 174,-54.71 174,-46.11\"/>\n",
+       "<polygon fill=\"black\" stroke=\"black\" points=\"177.5,-46.1 174,-36.1 170.5,-46.1 177.5,-46.1\"/>\n",
+       "</g>\n",
+       "<!-- Integer(5)_(1, 1, 0) -->\n",
+       "<g id=\"node10\" class=\"node\">\n",
+       "<title>Integer(5)_(1, 1, 0)</title>\n",
+       "<ellipse fill=\"none\" stroke=\"black\" cx=\"246\" cy=\"-18\" rx=\"27\" ry=\"18\"/>\n",
+       "<text text-anchor=\"middle\" x=\"246\" y=\"-14.3\" font-family=\"Times,serif\" font-size=\"14.00\">5</text>\n",
+       "</g>\n",
+       "<!-- Add(Integer(5), Symbol(&#39;x&#39;), Symbol(&#39;y&#39;))_(1, 1)&#45;&gt;Integer(5)_(1, 1, 0) -->\n",
+       "<g id=\"edge9\" class=\"edge\">\n",
+       "<title>Add(Integer(5), Symbol(&#39;x&#39;), Symbol(&#39;y&#39;))_(1, 1)&#45;&gt;Integer(5)_(1, 1, 0)</title>\n",
+       "<path fill=\"none\" stroke=\"black\" d=\"M275.19,-72.76C270.58,-64.28 264.84,-53.71 259.68,-44.2\"/>\n",
+       "<polygon fill=\"black\" stroke=\"black\" points=\"262.61,-42.27 254.77,-35.15 256.46,-45.61 262.61,-42.27\"/>\n",
+       "</g>\n",
+       "<!-- Symbol(&#39;x&#39;)_(1, 1, 1) -->\n",
+       "<g id=\"node11\" class=\"node\">\n",
+       "<title>Symbol(&#39;x&#39;)_(1, 1, 1)</title>\n",
+       "<ellipse fill=\"none\" stroke=\"black\" cx=\"318\" cy=\"-18\" rx=\"27\" ry=\"18\"/>\n",
+       "<text text-anchor=\"middle\" x=\"318\" y=\"-14.3\" font-family=\"Times,serif\" font-size=\"14.00\">x</text>\n",
+       "</g>\n",
+       "<!-- Add(Integer(5), Symbol(&#39;x&#39;), Symbol(&#39;y&#39;))_(1, 1)&#45;&gt;Symbol(&#39;x&#39;)_(1, 1, 1) -->\n",
+       "<g id=\"edge10\" class=\"edge\">\n",
+       "<title>Add(Integer(5), Symbol(&#39;x&#39;), Symbol(&#39;y&#39;))_(1, 1)&#45;&gt;Symbol(&#39;x&#39;)_(1, 1, 1)</title>\n",
+       "<path fill=\"none\" stroke=\"black\" d=\"M292.06,-72.41C296.08,-64.13 301.04,-53.92 305.54,-44.66\"/>\n",
+       "<polygon fill=\"black\" stroke=\"black\" points=\"308.78,-45.99 310,-35.47 302.48,-42.94 308.78,-45.99\"/>\n",
+       "</g>\n",
+       "<!-- Symbol(&#39;y&#39;)_(1, 1, 2) -->\n",
+       "<g id=\"node12\" class=\"node\">\n",
+       "<title>Symbol(&#39;y&#39;)_(1, 1, 2)</title>\n",
+       "<ellipse fill=\"none\" stroke=\"black\" cx=\"390\" cy=\"-18\" rx=\"27\" ry=\"18\"/>\n",
+       "<text text-anchor=\"middle\" x=\"390\" y=\"-14.3\" font-family=\"Times,serif\" font-size=\"14.00\">y</text>\n",
+       "</g>\n",
+       "<!-- Add(Integer(5), Symbol(&#39;x&#39;), Symbol(&#39;y&#39;))_(1, 1)&#45;&gt;Symbol(&#39;y&#39;)_(1, 1, 2) -->\n",
+       "<g id=\"edge11\" class=\"edge\">\n",
+       "<title>Add(Integer(5), Symbol(&#39;x&#39;), Symbol(&#39;y&#39;))_(1, 1)&#45;&gt;Symbol(&#39;y&#39;)_(1, 1, 2)</title>\n",
+       "<path fill=\"none\" stroke=\"black\" d=\"M302.95,-76.49C319.71,-65.42 344.35,-49.15 363.14,-36.74\"/>\n",
+       "<polygon fill=\"black\" stroke=\"black\" points=\"365.15,-39.6 371.57,-31.17 361.29,-33.76 365.15,-39.6\"/>\n",
+       "</g>\n",
+       "</g>\n",
+       "</svg>\n"
+      ],
+      "text/plain": [
+       "<graphviz.sources.Source at 0x7f41d153f050>"
+      ]
+     },
+     "execution_count": 19,
+     "metadata": {},
+     "output_type": "execute_result"
     }
    ],
    "source": [
@@ -505,7 +661,7 @@
    "outputs": [
     {
      "data": {
-      "image/png": "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\n",
+      "image/png": "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",
       "text/latex": [
        "$\\displaystyle \\left( x^{2}, \\  x^{2} \\left(x + y + 5\\right)\\right)$"
       ],
@@ -562,7 +718,7 @@
    "outputs": [
     {
      "data": {
-      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAC0AAAAaCAYAAAAjZdWPAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAABJ0AAASdAHeZh94AAADAklEQVR4nM3YXYgWZRQH8N+bFW1fYEikRGwQUUHfdiPlReRFGhFEFNGFEBGJhQRChXA4UkEIQlQWWlBUF4HdeNG6EiRUYoFtHxSCShSxIS1BeFGItl3MvMvD7OzurO6+9L955vk/5zz858x5zpyZ3uTkpC7IzNXYjNuxHA9FxO5OzguMc+ZhexG+w8ZF0tIZ57aRmXkpXsT9WIHz8FxEbKnXByawDa2i8SHuwyf4AKewZ1Ci5sI00Zl5nUrwaESsG7ykudGW03fX48eDFDIfTEU6Mx9EWQ12ZubO+vr6iDg8UGWzoEyP35HYgKV4qeYncWTAumZFr6zTmbkEJ3A0Im4qDTPzYlxTT8dUNftT/BkRvw5GboXmQbwBQ/imxXYlPivm2+rxPaxfcGWzoCn6tnqcJjoi9qO32IK6oFk9+qLHBi1kPmiL9CS+bRpm5lIcxqqIOLb40sjM3TgQEdtLvix5PdyMIxFxomWPF7C3L3ghGqjM3FDvsRw/YlNEfF6YbMX+zHwnIv7qk2V6XItLtKRGZl6IJ/B2QZ9VA5WZD+NVvIxb8SVGMvOqvk1EfI+f8VjpW6bHjIcQ6/Avvig2HMFILeBMdD+LdyNiVz1/JjPvxVN4vrDbg0fxRp8oIz2b6DtxKCK6Nd9zIDPPV6XVvsbSPqxqcF/hjswc6hNTkY6Izar8asMwxs9WbIFlWILjDf447mlw46rWeAWO0f0j4AL8c+YaZ0TzyfVauL/rcSrSXUVPqPqRhcIETuOKBn+56dG/rB7/6BNdRY+pXvELgog4iUNY01hagwMN7kaMR8TUzcz05dLEKF7JzGURMcG0BgqGM/MW3Ruo7Xg/M79WlbsnVXn7VsNuNfaWRKdIR8QPqlP8SEGvVD2Bfl3fVl9v7Rtk5vrMnMzM4ZY9P8ImbFG9ge/C2oj4pfAfwgPYVfp2jTRVr/1aZr4ZEac7NlBX4yf81rYYETuwYxb/x3EwIg6WZOdfCBExitdxZVcfrMXGiDg1D58SJ/F0k+x1/Vnzf8J/lSTmjUVQzcoAAAAASUVORK5CYII=\n",
+      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAC0AAAAaCAYAAAAjZdWPAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAABJ0AAASdAHeZh94AAAC/ElEQVR4nM3YT6hVVRQG8N/Vil5YYAaShBVEhET/aSDZIBLCIogGFTQoalCGJJIDJVgsqahBgYNEtOBBNYhq4uCVjooo7IG9oL9UBkVZkgXhoCjlNjjn3jbnHd87z/fepQ8O+55vr7Xvxzprr73O6fX7fV2QmTfjCVyPVXgwIsY7OS8wlszBdhk+w+P4c3HkdMMZbWRmnoencKcqqmdiW0Rsr+fHRyWwDa2i8RruwARexQnsG5Wo2TBNdGZeoRK8PyJuH72k2dGW07fU41ujFDIXDCOdmXfjzWJuT2buqX+viYgvR6psBpTp8TMSG7EcT9d8H1+PWNeM6JV1OjOX4ji+jYirSsPMXIbL6tsP8axqc/4eET+MRm6FZk6vwRg+brG9AVP1NaZ6KlPYsZgC29CsHtfV4zTREfEueostqAuakR6Inhq1kLmgLdJ9fNI0zMzl+AprI+Lw4ksjM9/AwYh4vuTLktfD1fgmIo63rLEdEwPBC9FAZeZGbMWF+BybI+L9wmQH3svMlyLijwFZpsflOFdLamTmOXgYLxf0vBqozLwHO/EMrlVVpLczc/XAJiI+xXe4v/Qt0+OUmxAbVGnzQbHghKo3Od0GagvGI2Jvfb8pM2/Do9hW2O3DfXhxQJSRnkn0OhyKiG7N9yzIzLNUaXWgMXUAaxvcJG7MzLEBMYx0RGxV5VcbLsaReav9DxdgKY42+KO4tcEdUbXGq3CY7i8BY/jr9DXOC4P9Mox0V9HHVP3IQuEYTmJlg1+JXxrc+fX464DoKnpKdcQvCCLibxzC+sbUelUVKXElfoqIYSqd6s2lif14LjNXRMRvTGuglmB1Zl6jewP1Al7JzElVVXpElbe7G3br6v8folOk63o5iXsLetYGKjMfyMx+Zl7Ssubr2IwnVSfwTdgQEd8X/mfjLuwtfbtGWi1qZ2bujoiTHRuoS/EFfmybjIhd2DWD/0P4KCIOlmTnTwgR8Y6qwF/U1Ud1KD0WESfm4FPiH2xqkr2uH2v+T/gXmdDo73n+u0IAAAAASUVORK5CYII=",
       "text/latex": [
        "$\\displaystyle {f}_{(1,0)}^{1}$"
       ],
@@ -632,16 +788,13 @@
    "outputs": [
     {
      "data": {
-      "image/png": "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\n",
+      "image/png": "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",
       "text/latex": [
        "$\\displaystyle \\left({img}_{(1,0)}^{2} w_{2} - {img}_{(1,1)}^{2} w_{1} - {img}_{(-1,1)}^{2} w_{1} + {img}_{(1,-1)}^{2} w_{1} - {img}_{(-1,-1)}^{2} w_{1} - {img}_{(-1,0)}^{2} w_{2}\\right)^{2}$"
       ],
       "text/plain": [
-       "                                                                              \n",
-       "(img_E__2⋅w₂ - img_NE__2⋅w₁ - img_NW__2⋅w₁ + img_SE__2⋅w₁ - img_SW__2⋅w₁ - img\n",
-       "\n",
-       "         2\n",
-       "_W__2⋅w₂) "
+       "                                                                                       2\n",
+       "(img_E__2⋅w₂ - img_NE__2⋅w₁ - img_NW__2⋅w₁ + img_SE__2⋅w₁ - img_SW__2⋅w₁ - img_W__2⋅w₂) "
       ]
      },
      "execution_count": 26,
@@ -671,16 +824,13 @@
    "outputs": [
     {
      "data": {
-      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA04AAAAaCAYAAACAVwz9AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAABJ0AAASdAHeZh94AAAPcklEQVR4nO2debAcRR2AvxAg0RAwkeKwEBJQUBCVhCNc8QXCoVgSLSkUQR+FcgUBRdQAxY9fUBEiVAgYwKO4vChRQUpATAQPDgtDMIJXgCBoEOSKRIFwxD9+M7x5/WZmZ3bn2t3+qlKb1z090zv9bU/39HTPqLVr15KEqo4GJovIA4kbNQBVnQN8CNgOeBG4C5gjIvfVmjFPz+Kd84D3wNMe3htPkXif+htf/q1R1cnAIyLySso2mc7jOi2OdUGQuOkMAAuBPYB9gJeBRao6sc5MeXqaAbxzHu+Bpz0G8N54imMA71M/M4Av/1a8AJzZYpsBMpzHUUkjTqr6SWCsiFwcE/dZ4HzgMBH5ft7cl42qbgCsAmaJyA1158fTGU33DbxzVeA98LRL093x3nQPTXcJvE9l4su/ewn6NeuIyDcybh97HtdN2HhTYDYwNWF/OwefSzLnuFrGY6NpT9edkV5AVbcA5gIHAm8EHgOuA1REnsmxn4eBrRKiHxeRzRLimu4b9IlzNbvgPehSfB3SEu9NDnw91BLvU3n48u9evg3cparXikiWcxN7HmM7TsDpwHUi8mpC/BexSmt5xsxWzXzgXuz5RE8HqOo2wB3AJsD1wF+AXYGTgANVdU8ReSrHLldh5eOyOiVN032DPnCuAS54D7qQBngDzXdnPt6bTDTAp6a7BN6nMvHl36WIyFpV/QkwBzg1Q5L5xJzHER0nVZ0AHAXskHLwR3LktVJUdR4wHdg7bRKYJzMLsQvUiSJyURioqhcAnwG+DBybY3/PishZeTLQZN+gr5yr1QXvQT2o6iBwOTBDRG5rYxe+DkmhV70pEV8PpeB9Khdf/l3PVcByVZ0nIk8kbZR2HuNGnD4MPCUiDyfsbAbwS2CeiHzeCTsf+B42AWs6MDoIP05E/qWq2wNnADOBMcBvgOPjRFTVscDJwMeBrYHHgcuAc4FngRUi8k4nzfnA4dgFvraVAFV1JvAL4GwROTMSvhtDPdfJ0XOsqt8FPgq8XUT+WmF2E1HVrYH9gYeBrzvRAhwNHKGqp4jIf0vKQ2N9C9I1wrmyqduFOA+ccF/3NJC6vQny0Ng6xHuTj7p98vVQf1NV+fdTe6Tq9rKIrFTVlcBHgAUJeUo9j3Edpw8AS1OOOyX4XBoTti3wW+Am7FnCA4FZwBhVvQT4PibRldjqFQdhvb8BJ9PjgEXANOw50guBTTEZ3w5s4OZRVRcAhwZf9E8p+a+C8HnI8U74FyL/n4hV/qjqm4BDgBua0mkK2Cf4vMV9bFNEnlPV27GL2DRgccZ9jlHVw4Etgf8Cy4Bfp9wZaaRvQbomOVc2dbsQ50E03Nc9zaRub6ChdYj3pi3q9snXQ/1N6eXfh+2ROtrLS7G+zoiOU5bzuK6TYBSwZ9zOIoSC3BMTtiswTUSWBfubCzyCVWQ7AfuJyJ1B3PrAA8B0VR0rIi9E9ncZJs2ZwJdEZG2Q5mpMqGHHV9WFWO9wFvC0qoYTOleLSNpz72URTk59TQRVfStwMDaBdRYwIbL9bGA9YF412cvMdsHn3xLil2Nluy3ZL1KbAVc7YStU9UgR+VXM9o3zLYhrmnNlU7cLcR5Ew33d00zq9gYaWId4b9qmbp98PdTfVFH+/dYeqaO9vBQ4XVVHR2+QZD2P6zg72zzI4GMpB5yCTZpc7oQBDIbCgN0BwnqJo4FTQ2GCuDXAX4FRwLhIxqcBHwOuF5GzQ2mCNIsxCWG4OMdhJ31xkPfw3+dSvkeZjBABm4j2HHBe8PdEeG1I9mjgdyLy28pymI2Ngs9VCfFh+Bsy7u9yYF/sQjUO2BGrJCYBN6nqu2LSNNE3aJ5zZVO3C3EehOHg656mUrc30Mw6xHvTHnX75Ouh/qbU8u/T9kgd7eXHsHPurqiZ6Ty6j+qFO/lP3JGCIcRtgTvCYfJI2AoRuTkm2VbYUNw1CXHPyfAVcGYHn1+OywPwFPBmbKULAERkVMK2dbEKeJVABLXl3T+ODbk+GmwzMfg8AtgYK7CO0PSlVeP4rogc3sEhw/Me/zIwBxFRJ+g+4FhVXQ2cApwFfDCMbKpvwXdpmnPD6CUX4jxwwn3dUxAtvLlV1S02rhSRwQ4O2Zd1SK95k4SvhwDvU20U6V9F5d+T7ZEW1NFeDvs4WwIPhYFZz6PbcdrQ2anLu7BRqntiwn7hbqyqk7ARrB+LyEtO3AbANsDtTrL9MTl+n5CHzYHlQU++kYgtebiKoR70SViFfiHWi4ahoceTgAeBH4fpVXUO8CHssYQXsQlyc0TkvhaHfhB7O3JWVraID+/ebZQQv6GzXbtcil2kpjvh3rf26SUX4jyIhnsXimM+I+/Wvxt7bOJKgufMI9zbYn++DukPb5Lw9ZD3qU6K9K+K8u+7sq+pvRz2cTZM2SYRt+O0fvD5YsL2aZNs4wp6akrcTjgSBsNwmwD3RocoI/Fvw4bUb3PCJ2DvcthDRB5MyHvhqOq12N2HC2KinwHGBz+OY4HvicjKIN0rwERV3R9b9v0EGT7RdQBbcvVuTKC5wCJV3V5SXtolIvsW8LWihBPvtk2If2vwmfS8eVbCJSHHOeGN9C2Iq9y5Fr4No8dcaDUht+/qnjzk9GZ+TPpBrON0heRfjtzXIV3qTRK+HvL1UJ3U6F+p5d9t7ZG8NKy9HHam10+IT8XtOP0v+HRXtwhJm2S7JGb7qSlxO8Xs6+Xg34SRmwMQLv/o9vhPA26OCqOq07HnJKdivfRDROTahP3GoqrHB/vYHLgfOFlEfhPZZC5wm6p+W0TcO1zPBN/jaOwO7tcicf/Bhh5Pxu4uXB5NKCIHOPk4AruDtidwQ57v0CG3Bp/7q+o6zvD0+CA/z9P5S9Z2Dz4fcsKb6hs4znXqW8b0ab6VTZ0utJqQ26i6Jw/em76tQ0q5ZnWK9+k1fD1UsXs58lGXf2WXf2Htkbz0YXs5HGlq65UF7uIQTzo7dZmC9dT+5IStwZ4NdgmliSvoERKKyMvYnaKtVHXYnQJVnQ0c6aZR1dcDnwK+5ex/HPAH4ISE75KKqh6KDRV+BRP8dmyy6JaR/C4DVmCrcLiEIpwM3Cgi90fiVgG7YUtVLhSR/41MPozxWFkljjaVQfAjvAWbKDvbiVbsHF8lzvsyVHUbVX2bqq4XCdtBVSfi7kR1K+Di4M/vONGN8y2Ii3OuI9+ypG/hW6m040KcB0F4XhfiPAjDm1j35MF702d1SFnXrILoOZ98PZSJJriXKR81+ldq+RfcHslLv7WXwz7OkynbJOKOOIV3V0Y8P6yqY4DtsWHEl52wZWIrhLhMAf4uInGZm4LdGfqzE34OtjToz1T1GuBfwF7YEPxfsOcYo+IchE0sG7bChojchK2lj46c0JyFz2KPpnwz+PtEVX0vNiltTmS7nwKHMfJlfKEIE7AJbVGexeYNvMBQBZ3GfGwuQad30drheOAOYEHwY/4zJvEM7Ed+ekyaxdikx8kMzYk4BPiiqt6K/Xiew57vPQgYC9xI5C5Dg32DGOc69S1H+iTfqiCvC3EeQA4X4jxwwhtX9+TBe9OXdUhZ16yO6VGffD3Ugia4lzMflfpXYfkX0h7JSx+2l8OOU1sjdMNGnIIJZ8sZek44yjuwtdPviQkbMQwZ3LXZOCFuDPYir2XivGRORL4DnAj8E3sz8Eexk7ALQ89/PhNJshewJO6Z0HZRW19/KnZnK8otwB5O2O+AXVT1dU54mMe7ZeS7IMJhyqtF5AlSUNV52ATVQ9xzVQXBHb6dgSuwi9Mp2MVlAbC7DF8NKI1bgZ9gF6/DsB/ae7Af+yeA9zsVT1N9gxKcy0GSb6VTkwtxHkTDe6ruKZF+8waaW4d0kzdJ9JtPvh5qFlX7V0n5d2F7pFvby+EqiG09xeWOOIFNPJviBorIEoaW+kwMi8T9PSXuRUy2WETkIuCiaFjw3OJErEceZRKtV+LJy8bYuvuPO+GPAzOdsJXYd3kTkd6riBwDHBO3cxEZyJIJVT0fG9acISIPZElTBiLyKEPDxFm2nxQT9ivA/UGk7aOpvkE5zmUl1reqyONCnAdBeGYXksq8IS5Moj4P8tK2NyJyBdZIbRtfhwxjEt3jTRK+HkoJD+K8T+VRqX9Vln+XtUegO9vLUxiaL5mbuI7TNcD17sTLKlDV0cAb3V6lqs4ELsHWdL/USTaWfMtN5sHtwY+KCXs++Cz0zoeqLgAOxSRwn6n1FECbvkG5zrWiFN/6nSLrHlU9C5AWh5wh+Veo6wTvTQk08JoVHv8synXQ+1QCvVAPVXTcnvOvyPZITWXfFe1lVR2FPfp3brvHi+s4hc/7zmTk0FvZbA/crao/x3qj62FfcC9sEtfBIrLaSfMkyauQtMuTwCvY0o9RNmFkrzqcXPrvog6uqguxnvMs4GlVDfOxOub7e9qnHd+gHOeyUrhvHqDYuudi4ActjvdIR7nNj/emHJpyzXIp20HvUzn0Qj1UxXF70b8i2yNVln23tZenY/OmFrV7zBEdJxF5VVVPAwapvuO0BpuQuRtwADbhbQVwHnCBiLiFALam/mCRmRCRNaq6BNgP+GEkaj/gR87mOwIrE/LWLuFbkRc74Yq9ydxTDO34BiU4l4MyfPMUWPeITQRua7WeEvHelEMjrlkuFTjofSqHrq+HKjpuL/pXWHukyrLvwvbyIPDVFnOgUhm1dm38fDJVvQUYlOAlVE1FVXfEJs9tKpGVS9RepPWW4M+l2Pryi4CnRaRlTztYXvFqbAWf27HnLz8J7BA8uxpudxXwkogcVcgX8jSeOOcK8C1Teu9bc0iqe3Luw3vTZ5R1zSoob96nLqMJ9VBReP/y04Ty75b2sqpugnXmBjrpOLnvcYpyNHBmuzuuChH5I7ZSx0ecqJ0xAcK3PM8L/j833EBVB1V1rapOitnvNdia8mdgUu4NvM+R4HXY8OA33fSe3iXBuY58y5je+9YgUuqePHhv+oyyrlkF4X3qMhpSDxWF9y8nTSj/LmovnwMc20mnCeLnOAEgIg+r6pWqupeItL0+fEUocJGqXhKekGDSW+yKJhEmYy8z+0dcpIgsBBampD8KuEtE6ni/kqdehjnXqW8Z03vfmseIuicP3pu+pZRrVqd4n7qWWuuhovD+tU3t5d/09rKqTgNukOEv122LtBEnRORO4M5OD1I2IvJzbDLcFjmTvg84QSIvNMvJGuDTbab1dDFtOud96zE6qHvy4L3pMWq8ZhWB96lhdEk9VBTeP4cuKf+6y+1uEbmuiB0lznHyeDwej8fj8Xg8Ho/xf0JqChoC1iN1AAAAAElFTkSuQmCC\n",
+      "image/png": "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",
       "text/latex": [
        "$\\displaystyle \\left({img}_{(1,0)}^{2} w_{2} - 0.5 {img}_{(1,1)}^{2} - 0.5 {img}_{(-1,1)}^{2} + 0.5 {img}_{(1,-1)}^{2} - 0.5 {img}_{(-1,-1)}^{2} - {img}_{(-1,0)}^{2} w_{2}\\right)^{2}$"
       ],
       "text/plain": [
-       "                                                                              \n",
-       "(img_E__2⋅w₂ - 0.5⋅img_NE__2 - 0.5⋅img_NW__2 + 0.5⋅img_SE__2 - 0.5⋅img_SW__2 -\n",
-       "\n",
-       "             2\n",
-       " img_W__2⋅w₂) "
+       "                                                                                           2\n",
+       "(img_E__2⋅w₂ - 0.5⋅img_NE__2 - 0.5⋅img_NW__2 + 0.5⋅img_SE__2 - 0.5⋅img_SW__2 - img_W__2⋅w₂) "
       ]
      },
      "execution_count": 27,
@@ -707,16 +857,13 @@
    "outputs": [
     {
      "data": {
-      "image/png": "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\n",
+      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA/8AAAAaCAYAAADhY+z6AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAABJ0AAASdAHeZh94AAAXN0lEQVR4nO2defwVZb3H3yAKXiUXuoJLAUqoZFfFtQT8EYb7dbktppmEt0VxXyrK/Pp1q7ypcM2luiWKWmbFNcuFQHHJNYVSc1dwjcIFwZugyP3j+4y/+c2ZOWfmnDln5pzf8369eM2PeeaZec48n/nOPN/5Pt/ps3r1ajyeTkVV+4vIiqLbUQtVnQocDGwJrADuBaaKyCOFNszTkXi9eQK8Fjz14HXjyROvp96N7//aqOpaIrKyxjapzmPfprXS4ykYVf0yMKLodqSkC7gE+ATwSeBdYI6qblhkozwdSxdebx6jC68FT3a68Lrx5EcXXk+9mS58/9diW1Xds8Y2XaQ4j32yvPlX1Q8BzwOzROTgLC3udFR1GPAccIWITMphf8cBXwOGAwOAE0VkWqP77S2o6nhgoohMjSk7CTgfOExErml541KgqusCS4EDReSGotvjaYyya87rrTWUXQfgtVBWyq4dr5v2oexaAq+nZuL7v31R1fOBGSLycMrtY89jv4zH3cEtH8pYL2jEicAFlFhwSajqY8AKEdmuBcc6BJgOzAem4UI38nYwdCqqug7wPcwDFseObvmnljSoPgZikTmvF92QTkBVNwPOBPYCBgGvAP8LqIikPsequhAYmlC8WESGJJSVXXO9Rm8Fa6HsOoBepIUseBtSE6+bDHg7VBOvp+bh+799ORO4QVW7ROS9FNvHnsesg//RbvlgxnoBgfOg3vpFMguYqqrDReS5Jh9rv2ApIi8HK93g31ObrwO3icg/E8q/iV1AT7WuSZmZDiwA7im4HW2Pqm4B3A1sBFwPPA7sDBwP7KWqu4nIqxl2uRRzykVZXqVO2TXXK/RWAi2UXQfQS7SQhRLoBsqvHa+blJRAT2XXEng9NRPf/22KiCx1L6MPB65IUSX2PLb0zb+rvxx4ss76RTILmAochEUvNJNNAMIDf086VHUgcBywS9I2IvJ861qUHVW9ABgDjBGRVUW3pwO4BHvIOk5ELgpWuvN8InAONsUmLW+IyBlZGlBmzfUyvRWqhTLrADpXC6o6CbgcGC8i8+rYhbchVehU3TQRb4eq4PXUXHz/tz0/BX6lqj+vlgCw2nmsGPyraj9gCnAkMBJYjBmq87A3/y+LyOLQ9mMxY7UtsCnwJrAQmBvMt1bV7wHfCB3mPVUN/v6iiMxM/5sL40/Ai1gWxcyDf1XdBTgV64gNsfN6Ixbi9bLb5gxAQnXCCRk0VHaEqh4RKvuSiMxwdSYB+wPbAxsD7wAPA5eKyFWRNg3DTSMAzgXOAsYDH8QSRSysVh48RKnqZ4FjMA2sBTwNXANcEM607+aevAY8ICK7hdavjYWk9CeiB1U9CtPfkSLys5hTG+XTwGsiEutgcrkAbgV+ICKnxqw/37X9dGAcsIZbf5SI/E1VRwGnAXu49t4JHB01pqo6ADgB+CKwOdbfPwK+D7wBLBSRj8W070LgEOwh9dkUv7cpqOoEYA5wloicHlq/C5Y9FGC4iCwMlV0FHApsLSJPtLC5ibg3LBMxLV8cKRbgK8DhqnqyiLzVpDZUaC5vvbl9ZtZcWfTWCorWgrc97UnRunFt8DakQyhaT94O9W58/+dPq5+XReR+N715P+A3CW2qeh77RTZeC/gd8CksTOAibC7SGVjW9CHADaHtv4V5KJ8HbgGWAIOx+SR7Ym/KwSIFrgCOwEKd/hA67Ly0P7hIRGS1qs4Cpqjq4LADpBaqOhn4MTZ3/7fAC8BHgP8E9lfVXd2FM89VmYTN4dLQbuYB62NhYX/G5oYFLAj9fSnwKHAHNodsELAPMFNVtxSR78Q0cQvgPiwi42pgbcyJU7NcVc/F+nkJZjCWA3tjzoI9VXVi4JkSkeWqej+wi6oOFJFlbv+7YUYEYAIQdgZNcMu5Me2O49NUj0wJpq5EtwnWjwTuAm7CvGt7AQcC/VX1UuDnmCG8AsspsC9wJaH8Au6inAPsik1xmY5dF6cDWwPrxrVRVacDn8Mu1sdr/9SmEswPGhhZH3bibYg9wKCqmwCfBW4oy8DfMd4tZ0fnR4nIMlX9I/YgtivpNdZfVb8AfBh4C/gLcEcVD3Wc5nLTG9SnuZLprRUUrQVve9qTonUD3oZ0EkXryduh3o3v//wp4nl5PjbeqRj8pzmP0Tf/F2MD/9OBs0VktdvRDOB2t81Dbt1gbM7IXcCEaOiBqn4w+FtEfqmq62OD/ytE5MeZfmJ5mAUcCxyADeZroqojgcuwTt9dRF4KlU0AZmMXxkHuTfo8Ve0ChkbDuNQSuxwPLKgS4rWNiDwTqbcWdiF/U1UvC7fBMQb4roh8K1JvWI3yj2MD/xeAnUXkb279VOxc7QecgjkCAm7FBvvjgN+7dROAVZjGgsE+qtoXu1E+KyKLEn4vke3HYJ7FJGoZvp2BXUXkL26fZ2LOrYlYNMWnROQeVxZEOYxT1QEi8rbbx48woxe9jmZiBrHi+Kp6MTaH50DgdVUNkvQsF5Fq80CbRYUxc1o+AHM8HQhsENp+CrAm8F+taV5qtnTLpKlGT2F9O5L0D1pD6OmgAnhOVb8kIrfHbF/twT0PvUFGzZVQb62gaC1429OeFK0b8DakkyhaT94O9W58/+dPEc/LDwGHRVemPY99QxV2xt5E/05Ezgo6C0BE7gAec/8NkvVthYWDPBkd+Ls6SyKrkgTXTtwBvIrN+0/LUVgnHx8ddIvIXCwSYH+1ueoNEx34u3UrMcdOP0KD6xCL6RllkLZ8slueHQz83fHeBU4G3sM0FSa4mYXbMQHT1W+AzdxFA7Ad5i1LewPcHPgAzruWwGji804E+pwUGD0wT7zb3xrAqYHRc2UrgSeAPsA6AKq6K3ZBXh9zHc3FjChUXgdHY4ZjLhaxEfw7pdoPbiJxnsxTgGXYFCCwvgnCu74C3Ccid7WshelYzy2XJpQH69dPub/LMb0Owfr8Y9iNbhhwk6puG1MnTnO56A3q1lzZ9NYKitaCtz3tSdG6AW9DOomi9eTtUO/G93/+FPG8vAjYRFUHRdanOo/hN//HuuU5CQcKMo8GHfYoZqQmq+q/YuHgsyX5EyWj6Z5/3gNV3QDLdvqJuMFrs1DV64B7ReT8NNuLyCpVvQE4VFXXE5Ek4x3m4265u6ruFFO+EXZRjSSHryCo6oexUJMJWAjY2pFNNo2p9mcJzc3PUB4Yi1ujBSLypKq+CAyPnKt7gH+69qGq67n9nBfazwTMMH0yaf8JDHfL2H5xoUgjgbvDBim0/lkRuTmm6lAsV8G1CWXLpDsz7xS3rHYdfYieUzUQkT4J2xfFUsx5MxDej/T5Ihal8oLbZkO3PBzLA3FUowfV6p8tiuNqEflCo8dNi4hEnWCPAF9T1eWYw+sMQs7BOM3lrDeoQ3Ml1FsFnaQFb3taRw3d3KZa4cdu6adzvQ1pL7wdArwdKoS8tef7v2kU8bwcjHOG0z0+T30ew4P/iW4H9yVsuznw9+DttYgsUdUxWIKSfbAkc6tU9Q/At0UkHB7WD/NG/jVhEPkt4MbowF9Vj8aS5G2MORtOEJE70/ywlPXPBG5X1f9JOZAHezs9CZvnck2K7QOvzKlVt7I5MA2hqpsD92PhJXdiUwqWYiH1w7BpF/1jqv4tZl2a8sCD/UpC+SuYA2J91w5EZKWq3gXs4ZxGn8CcH3NF5DFVfQUb/F/qlqtJP/gPwmreTCjfFot2iXocg/VzohXc1IcNgN+IyDuRsnWxXBhh711wHSV9P3Vj4CnpzndQSsRyXCyl25N5PObdnY55M6H7fB8PPENo7pGb+nEwFuK4Akt6MlVEHqlx6GeAt2tsE6bWFzGC63q9hPJg/RsZjhnHZdiD1rjI+jjN5ak36BDNxdBJWvC2p3VMo/Kt6XZYCOYVVEaGLaixP29Deo924vB2yNuhoshbe77/m0BBz8vBOGf9etrczx14APYGen7YGxRq2Gjs83M3hde7hn3GzfsYh4UyfAbYSVU3DQ30RwEDiE/w8C+4xHeR9Z/DTtzRmLCOxkKYRkmKz1SkqS8iD6vqs8AXqMy6msQfsIQqB5Fu8P++oReRpEFpXpyEORvez/4foKqfxwb/cVT0ecry4LcNwcQcZePIdgG3YrklJmCD/7eBP4bK9lbV/sBY4FER+XuN9gUEjo3/SygPIhXmJ6yPi7zYoUrZ9tgFHuTBCK6jBQnX0VbYuZoXU1bG6JfXgYHOwB8FXCPdX6ZYBWyoqhOBjwLHSM/kRV3YVxoewM7RmcAcd/29ltQeEYmbltIIQTKVkQnlH3HLRj8/+g+3XCeyPk5zuegN2k9zWaKtOkwL3vY0QEbdTIupPwkb/M+Q7J/68zYkRjvtoJskvB3ydqgoCtae7/8GKNnzcjDOGVDPbwne/K9y/zZK2O7bbhk7X9/N+5iDNfZOLOnaYLrndmznllHBgUUNrKZ78BdwEnaj/on7/7Gquhd2UqdSm7T1fwt8npSDfxF5W1VvAvbSyoQ5cdyLXTxj6U5wVy+r3HKNhPIRbvnrmLLdGzx2HPMxo9FFZPCvqiOAzYDnROSNSL3wvP+PYyFIb4fKDsP6aR3Sz/cHm04AyVEUtRKdxHkqd6hStn1kf8F1tEHMtgBfTzg+xES/qOo4bJ7ODpjzrcKpU4sGo19ed7/lK9jbiHBykjexMKYTMC/v5eGKIrJnpB2HY06g3Qh9MaQF3OaWE1W1b9jgquXZ2A0zovfGVc7Arm4Z/aRKtURdjeoNctRco3pLWb+eaKu8KFILbWV7suB102ttSFPuWY3i9fQ+3g61WHsp21Gk9nz/V99HOz0vB+OcfyaUV6WvO/A7WIbRTVU1+gb+G1g4AjjPj6pur/atUiLbjgC2wQb9L4aKgtD3uDffY4EHI/NP1sI6cHZk29nYm+KqZKx/P7Cz2rfm0zILO/ETU2z7QyzXwYXanciuR1tVdWzK476OOUo+nFC+0C27IsfYk8rEe3nwM7c8zYXwB8dbA/gBpq+fxtR7CBP2AZgXLDzAD0L8p0b+n4bAQ/aBhPLRWJTBX2PWr8TmykWp5vXsYUjddfQEMFTtSw7vo6pTgC+Ftw+VBdEv0XO1rmvT8dRxgYeiX87FjPTdWPTL+/oRkYexh4O4eWKBMTsBM8rh87YU2AX7DMwlIpIUbREwENNDUk6QpuBuJLOxaS9TIsWKOZhmSuR7yqq6hapupaprhtZtrTY3jsi2w7DrHOCqSHGc5nLRG+SuuYb0lqZ+Db01lXq0EKcDtz6rFtrN9mTB66aX2ZBm3bNyouP05O1QKsqgvZrtKFJ7+P5PpA2fl4NxzqtVtkkkPOf/u9h8uF+r6i+wed5d2Fz9F7AEDUGHHQtMUtV7MW/QciwnwL+78smRkIZANOeo6jZY2PyjInIdliwiOk/lg9jb7cWR9YuBPVL8riz1X8ay8W9CfOh6HL/DLpSDsMiBRETkcVWdjA2UH1XVm7FwrjWxQfxYLDxrq1oHFZHlqnofMFZVr3b7WQX8Viw75yXYxXWdqv7K/bZtMMH9EvvuY26IyN2qeh7mzXvEHfMtYG933LuI+ZSFWOLEedjgH0KDfxFZpKrPAFvQ/fm/tAQe7oq5dGrTCEZh4Ujvxqz/i8R8tQIzfIukZ3KkgNGYkXkstO672Cd3fq+q12LX0RgslO9xbE5P1OsZG/0iIjcCN7p2zog5fi0ajX4JjNkGWJKSMG9gET1v0/2QUY3p2Nzae2ps1wyOxgz5f7sb0mOYIR6PXUPfjqkzF7NNw+l2qn0OOFlV78AyrS7DdLovFnp1I+b0AuI11wS9QU6aa1RvGepnirbKmaxaiNMBZNBCO9qeLHjd9Eob0qx7VsN0qJ68HapBGbSXoR0t157v/5q02/NyMM6JRoqlom/wh4hciXksXsR+2BHYoH83rFNele5vrV+PZfcfhCW/OwULMboG2Fbscw6E9n0H5jB4yy2F7qkAa5MtoUXeBB6i1G/+xebu34p9oi8pBD+8/VXYBXQ18G/AMZjnaATwK+xGkJbDsekDe2Hn8Syc9805AMZjN5V9MdF+AIvcuCzDMVIjIt/A9PIUlt3yOExXp2HfA40zJtA94H+TynCioOzBjGFRi7C3/yNiyrbBHC5RoxOsr/BqqupQTONxZf2BrTGDGUzHCPr6OOAl7Lx8HruId6J7LlTUm1cR/dIoOUW/BO18QCq/FRz0y0ypkZNBVS/AjP9/hM9Vq3BvWnYEZmAPWCdjD0jTse/ZpvWc3oY5/rYADsVuFrtjTq4jgP0ieo/TXK56c7+vFJrLQD3RVrlQkBZ6le1pIr1NN1BeG9JOukmit+nJ26HyUIT2fP8n0KbPyyOAp6XOXHLhN/+IyHTM+EQZGtnueswBkBoR+SHxHo8lVM4PWYK99R0cWT+Y2pnps9YPPr/wD7IxCxuAjwNuE5GFWKKGWFy4yKQ0OxaRriplTxNJjhgpv5vuT+RF6RPZdmF0XZby0Ha/AH5Ra7tInYuAixLKvgp8Ncv+XL3Vqno73aFI4bIHifktSetd2aIqZSswgxlXVvHb1ObwbIh5RaPERb80SsPRL9X6oZpGw6jqhcAhwHgRqctDmQci8gLdIWdpth8Ws+52MkSixGmrGXpz5WXQXFrqibbKjSxaiNOBW59aC73Q9jSLunUjNvdzRiMH9zakB+2kmyS8Haqy3pV5O9QcWq493/9Vacfn5dF05w/JTL/amzSd+UQGxWKfg3sQywh/XajoU8Qns+tBxvrbAC+JSLTTa3E99jm6g2mgAzy580tCYZOtxEWBDIp69lR1D0wrLxAfgbE2lUanlWSOfkmDqk7HwhLHi8jjee7bY7Sp5pqit95M3jpQ1bOJD2UPM16yZ85vBK+bJlCndppuP1qgQa+nnOkUO+S1Vx959n9J70FQgudlVe2LfZ7xjHqPV4bB/y3A91V1UCTU6QJgpqrej80D+RrmaUkbvp62/ljXhkw4Z0HNkH9Py5mF6WkH59FsJaOAB1T1FswjuCY2vWUMFllygIgsj6kXF/3SKK2IfklEVS/GpqgcCLyuqkNc0fKEc+CpjzJpLi25682Tuw6mUZl4LkrNT+7mjNdNc6hHO62wH9Norga9nvKnU+xQs4/bqdrLs/+n0bq+b7fn5U8Cr9DOb/5F5GE3QD+EUAIFEblWVQdhc8c3xrI47iPdeQdQ+3bv5cBwF6JOxvoDsKR9PT6z4GlfRGSFqn4HmEx8dtJmshJLOLILpqn3gOeA84ALqkSXVES/NEqLol+qEeSxmBtZrzTgrfRUUBrNZaAZeuvt5KoDEVmCPRCVCa+b5lCPdppuP1qgQa+n/OkIO+S1Vze59X8r+74Nn5cnA2dLz8T6meizenXx+TVcRsXpwKgaCQ6i9RT4NJZk8N1a28fUn4J5otJ8ss/TJriQmLlYwozXam1fNKr6MSwhykbh6BdVXZfu5IV3A9/DMo2+JiI1PZ5qny6ZiRmWIPrlSOCjESfYDGCViByZx+/xlJ84zeWgt1T1vd7KQ5LtybgPr5teRrPuWTm1zeupzSiDHcqLNO3w2utJGfq/XZ6XVXVT4EpgD2kgQWLf2ps0HxG5GXvrv1nGqvsAU+oZ+Dvewb4+4OkgnDfsq1jUR+kRSwYZRL+E2RHziM7H5hep+/vMYANVnaSqq9W+6xvd77XYFzxOwwzrGJKjX34Sre/pXBI015DeUtb3eisRVWxPFrxuehnNumflhNdTm1ESO5QXVdvhtVdJGfq/jZ6XzwW+3MjAH0ry5t/jaQaqOhZYJiILim5LLXz0i6fV1KM5r7fOo17bk/EYXjcdRlH3rDzweiof7WCHcmqD114M7dD/RfedG9OskUeSw1K8+fd4moGI3An8ueh2pMFHv3haTZ2a83rrMBqwPVnwuukwCrxn5YHXU8loEzuUB157MbRJ/xfdd3flMfAH/+bf4/F4PB6Px+PxeDyejuf/AVp5o7p/vRzVAAAAAElFTkSuQmCC",
       "text/latex": [
        "$\\displaystyle {dst}_{(0,0)} \\leftarrow \\left({img}_{(1,0)}^{2} w_{2} - 0.5 {img}_{(1,1)}^{2} - 0.5 {img}_{(-1,1)}^{2} + 0.5 {img}_{(1,-1)}^{2} - 0.5 {img}_{(-1,-1)}^{2} - {img}_{(-1,0)}^{2} w_{2}\\right)^{2}$"
       ],
       "text/plain": [
-       "                                                                              \n",
-       "dst_C := (img_E__2⋅w₂ - 0.5⋅img_NE__2 - 0.5⋅img_NW__2 + 0.5⋅img_SE__2 - 0.5⋅im\n",
-       "\n",
-       "                      2\n",
-       "g_SW__2 - img_W__2⋅w₂) "
+       "                                                                                                    2\n",
+       "dst_C := (img_E__2⋅w₂ - 0.5⋅img_NE__2 - 0.5⋅img_NW__2 + 0.5⋅img_SE__2 - 0.5⋅img_SW__2 - img_W__2⋅w₂) "
       ]
      },
      "execution_count": 28,
@@ -763,7 +910,7 @@
    "outputs": [
     {
      "data": {
-      "image/png": "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\n",
+      "image/png": "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t9sNp9MpexEEQRAEQQhMW9DwPI+nnnoKGzZswPLlywEA3d3dMBgMsFqtsrwFBQXo7u4W80jFjHBeOKfGrl27YLFYxFdpael0m00QBEEQxCxEN92CO3bswPnz53H48OFYtkeVp59+Gjt37hSPHQ4HysrKyFJDEARBECmEMG7PINolLNMSNE8++STef/99HDx4ECUlJWK6zWaDx+OB3W6XWWl6enpgs9nEPMePH5fVJ8yCEvIoMRqNMBqN4rHQIWSpIQiCIIjUY2BgABaLJaZ1RiVoGGP43ve+h7fffhv79+9HZWWl7HxNTQ30ej327duHbdu2AQAuX76MtrY21NXVAQDq6urwd3/3d+jt7UV+fj4AYO/evTCbzVi2bFlE7SgqKsLFixexbNkytLe3U2DwDHA6nSgtLaV+jAHUl7GB+jF2UF/GBurH2CF4WITY21gSlaDZsWMHXnvtNfzud79DVlaWGPNisVhgMplgsVjwxBNPYOfOncjOzobZbMb3vvc91NXVYf369QCAe+65B8uWLcPXv/51/MM//AO6u7vxV3/1V9ixY4fMCjMZGo0GxcXFAACz2UxfsBhA/Rg7qC9jA/Vj7KC+jA3Uj7FDo4n9ur5RCZrnn38eAHDnnXfK0l966SV84xvfAAD80z/9EzQaDbZt2wa3243NmzfjX/7lX8S8Wq0W77//Pr773e+irq4OGRkZePzxx/GTn/xkZndCEARBEMScJWqX01SkpaXhueeew3PPPRc2T3l5OT744INoLk0QBEEQBBGWlN3LyWg04plnnonYTUWoQ/0YO6gvYwP1Y+ygvowN1I+xI559OaOVggmCIAiCIG4GUtZCQxAEQRAEIUCChiAIgiCIlIcEDUEQBEEQKQ8JGoIgCIIgUp6UFDTPPfccKioqkJaWhtra2pCtFOY6Bw8exAMPPICioiJwHId33nlHdp4xhh//+McoLCyEyWRCfX09rly5IsszODiI7du3w2w2w2q14oknnoDL5UrgXSSfXbt24dZbb0VWVhby8/Px0EMP4fLly7I84+Pj2LFjB3JycpCZmYlt27aJW3kItLW14b777kN6ejry8/PxZ3/2Z/D5fIm8laTz/PPPY+XKleLCZHV1ddi9e7d4nvpxevz93/89OI7DU089JaZRX0bG3/zN34DjONmrqqpKPE/9GDkdHR342te+hpycHJhM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",
       "text/plain": [
        "<Figure size 640x480 with 1 Axes>"
       ]
@@ -794,7 +941,7 @@
    "outputs": [
     {
      "data": {
-      "image/png": "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\n",
+      "image/png": "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",
       "text/plain": [
        "<Figure size 640x480 with 1 Axes>"
       ]
@@ -825,11 +972,155 @@
    "metadata": {},
    "outputs": [
     {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "graphviz is not installed. Visualizing the AST is not available\n"
-     ]
+     "data": {
+      "image/svg+xml": [
+       "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
+       "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
+       " \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
+       "<!-- Generated by graphviz version 2.43.0 (0)\n",
+       " -->\n",
+       "<!-- Title: %3 Pages: 1 -->\n",
+       "<svg width=\"684pt\" height=\"391pt\"\n",
+       " viewBox=\"0.00 0.00 684.00 390.75\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
+       "<g id=\"graph0\" class=\"graph\" transform=\"scale(1.22 1.22) rotate(0) translate(4 472)\">\n",
+       "<title>%3</title>\n",
+       "<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-472 829.23,-472 829.23,4 -4,4\"/>\n",
+       "<!-- 139920670537616 -->\n",
+       "<g id=\"node1\" class=\"node\">\n",
+       "<title>139920670537616</title>\n",
+       "<ellipse fill=\"#a056db\" stroke=\"black\" cx=\"263.84\" cy=\"-450\" rx=\"134.58\" ry=\"18\"/>\n",
+       "<text text-anchor=\"middle\" x=\"263.84\" y=\"-446.3\" font-family=\"Times,serif\" font-size=\"14.00\">Func: kernel (dst,img,w_2)</text>\n",
+       "</g>\n",
+       "<!-- 139920670664720 -->\n",
+       "<g id=\"node11\" class=\"node\">\n",
+       "<title>139920670664720</title>\n",
+       "<ellipse fill=\"#dbc256\" stroke=\"black\" cx=\"263.84\" cy=\"-378\" rx=\"36.29\" ry=\"18\"/>\n",
+       "<text text-anchor=\"middle\" x=\"263.84\" y=\"-374.3\" font-family=\"Times,serif\" font-size=\"14.00\">Block</text>\n",
+       "</g>\n",
+       "<!-- 139920670537616&#45;&gt;139920670664720 -->\n",
+       "<g id=\"edge10\" class=\"edge\">\n",
+       "<title>139920670537616&#45;&gt;139920670664720</title>\n",
+       "<path fill=\"none\" stroke=\"black\" d=\"M263.84,-431.7C263.84,-423.98 263.84,-414.71 263.84,-406.11\"/>\n",
+       "<polygon fill=\"black\" stroke=\"black\" points=\"267.34,-406.1 263.84,-396.1 260.34,-406.1 267.34,-406.1\"/>\n",
+       "</g>\n",
+       "<!-- 139920666169168 -->\n",
+       "<g id=\"node2\" class=\"node\">\n",
+       "<title>139920666169168</title>\n",
+       "<ellipse fill=\"#56db7f\" stroke=\"black\" cx=\"175.84\" cy=\"-306\" rx=\"73.39\" ry=\"18\"/>\n",
+       "<text text-anchor=\"middle\" x=\"175.84\" y=\"-302.3\" font-family=\"Times,serif\" font-size=\"14.00\">_data_img_22</text>\n",
+       "</g>\n",
+       "<!-- 139920670656400 -->\n",
+       "<g id=\"node3\" class=\"node\">\n",
+       "<title>139920670656400</title>\n",
+       "<ellipse fill=\"#3498db\" stroke=\"black\" cx=\"352.84\" cy=\"-306\" rx=\"85.59\" ry=\"18\"/>\n",
+       "<text text-anchor=\"middle\" x=\"352.84\" y=\"-302.3\" font-family=\"Times,serif\" font-size=\"14.00\">Loop over dim 0</text>\n",
+       "</g>\n",
+       "<!-- 139920657663504 -->\n",
+       "<g id=\"node10\" class=\"node\">\n",
+       "<title>139920657663504</title>\n",
+       "<ellipse fill=\"#dbc256\" stroke=\"black\" cx=\"352.84\" cy=\"-234\" rx=\"36.29\" ry=\"18\"/>\n",
+       "<text text-anchor=\"middle\" x=\"352.84\" y=\"-230.3\" font-family=\"Times,serif\" font-size=\"14.00\">Block</text>\n",
+       "</g>\n",
+       "<!-- 139920670656400&#45;&gt;139920657663504 -->\n",
+       "<g id=\"edge7\" class=\"edge\">\n",
+       "<title>139920670656400&#45;&gt;139920657663504</title>\n",
+       "<path fill=\"none\" stroke=\"black\" d=\"M352.84,-287.7C352.84,-279.98 352.84,-270.71 352.84,-262.11\"/>\n",
+       "<polygon fill=\"black\" stroke=\"black\" points=\"356.34,-262.1 352.84,-252.1 349.34,-262.1 356.34,-262.1\"/>\n",
+       "</g>\n",
+       "<!-- 139920670665808 -->\n",
+       "<g id=\"node4\" class=\"node\">\n",
+       "<title>139920670665808</title>\n",
+       "<ellipse fill=\"#56db7f\" stroke=\"black\" cx=\"70.84\" cy=\"-162\" rx=\"70.69\" ry=\"18\"/>\n",
+       "<text text-anchor=\"middle\" x=\"70.84\" y=\"-158.3\" font-family=\"Times,serif\" font-size=\"14.00\">_data_dst_00</text>\n",
+       "</g>\n",
+       "<!-- 139920670698640 -->\n",
+       "<g id=\"node5\" class=\"node\">\n",
+       "<title>139920670698640</title>\n",
+       "<ellipse fill=\"#56db7f\" stroke=\"black\" cx=\"249.84\" cy=\"-162\" rx=\"89.88\" ry=\"18\"/>\n",
+       "<text text-anchor=\"middle\" x=\"249.84\" y=\"-158.3\" font-family=\"Times,serif\" font-size=\"14.00\">_data_img_22_01</text>\n",
+       "</g>\n",
+       "<!-- 139920661915920 -->\n",
+       "<g id=\"node6\" class=\"node\">\n",
+       "<title>139920661915920</title>\n",
+       "<ellipse fill=\"#56db7f\" stroke=\"black\" cx=\"455.84\" cy=\"-162\" rx=\"98.58\" ry=\"18\"/>\n",
+       "<text text-anchor=\"middle\" x=\"455.84\" y=\"-158.3\" font-family=\"Times,serif\" font-size=\"14.00\">_data_img_22_0m1</text>\n",
+       "</g>\n",
+       "<!-- 139920657676048 -->\n",
+       "<g id=\"node7\" class=\"node\">\n",
+       "<title>139920657676048</title>\n",
+       "<ellipse fill=\"#3498db\" stroke=\"black\" cx=\"658.84\" cy=\"-162\" rx=\"85.59\" ry=\"18\"/>\n",
+       "<text text-anchor=\"middle\" x=\"658.84\" y=\"-158.3\" font-family=\"Times,serif\" font-size=\"14.00\">Loop over dim 1</text>\n",
+       "</g>\n",
+       "<!-- 139920657567760 -->\n",
+       "<g id=\"node9\" class=\"node\">\n",
+       "<title>139920657567760</title>\n",
+       "<ellipse fill=\"#dbc256\" stroke=\"black\" cx=\"658.84\" cy=\"-90\" rx=\"36.29\" ry=\"18\"/>\n",
+       "<text text-anchor=\"middle\" x=\"658.84\" y=\"-86.3\" font-family=\"Times,serif\" font-size=\"14.00\">Block</text>\n",
+       "</g>\n",
+       "<!-- 139920657676048&#45;&gt;139920657567760 -->\n",
+       "<g id=\"edge2\" class=\"edge\">\n",
+       "<title>139920657676048&#45;&gt;139920657567760</title>\n",
+       "<path fill=\"none\" stroke=\"black\" d=\"M658.84,-143.7C658.84,-135.98 658.84,-126.71 658.84,-118.11\"/>\n",
+       "<polygon fill=\"black\" stroke=\"black\" points=\"662.34,-118.1 658.84,-108.1 655.34,-118.1 662.34,-118.1\"/>\n",
+       "</g>\n",
+       "<!-- 139920662243472 -->\n",
+       "<g id=\"node8\" class=\"node\">\n",
+       "<title>139920662243472</title>\n",
+       "<ellipse fill=\"#56db7f\" stroke=\"black\" cx=\"658.84\" cy=\"-18\" rx=\"166.27\" ry=\"18\"/>\n",
+       "<text text-anchor=\"middle\" x=\"658.84\" y=\"-14.3\" font-family=\"Times,serif\" font-size=\"14.00\">_data_dst_00[_stride_dst_1*ctr_1]</text>\n",
+       "</g>\n",
+       "<!-- 139920657567760&#45;&gt;139920662243472 -->\n",
+       "<g id=\"edge1\" class=\"edge\">\n",
+       "<title>139920657567760&#45;&gt;139920662243472</title>\n",
+       "<path fill=\"none\" stroke=\"black\" d=\"M658.84,-71.7C658.84,-63.98 658.84,-54.71 658.84,-46.11\"/>\n",
+       "<polygon fill=\"black\" stroke=\"black\" points=\"662.34,-46.1 658.84,-36.1 655.34,-46.1 662.34,-46.1\"/>\n",
+       "</g>\n",
+       "<!-- 139920657663504&#45;&gt;139920670665808 -->\n",
+       "<g id=\"edge3\" class=\"edge\">\n",
+       "<title>139920657663504&#45;&gt;139920670665808</title>\n",
+       "<path fill=\"none\" stroke=\"black\" d=\"M321.04,-225.11C274.68,-213.6 187.72,-192.01 129.54,-177.57\"/>\n",
+       "<polygon fill=\"black\" stroke=\"black\" points=\"130.29,-174.15 119.74,-175.14 128.61,-180.94 130.29,-174.15\"/>\n",
+       "</g>\n",
+       "<!-- 139920657663504&#45;&gt;139920670698640 -->\n",
+       "<g id=\"edge4\" class=\"edge\">\n",
+       "<title>139920657663504&#45;&gt;139920670698640</title>\n",
+       "<path fill=\"none\" stroke=\"black\" d=\"M332,-218.83C317.82,-209.19 298.75,-196.24 282.56,-185.23\"/>\n",
+       "<polygon fill=\"black\" stroke=\"black\" points=\"284.15,-182.08 273.91,-179.35 280.21,-187.87 284.15,-182.08\"/>\n",
+       "</g>\n",
+       "<!-- 139920657663504&#45;&gt;139920661915920 -->\n",
+       "<g id=\"edge5\" class=\"edge\">\n",
+       "<title>139920657663504&#45;&gt;139920661915920</title>\n",
+       "<path fill=\"none\" stroke=\"black\" d=\"M373.69,-218.83C387.77,-209.26 406.67,-196.42 422.79,-185.46\"/>\n",
+       "<polygon fill=\"black\" stroke=\"black\" points=\"425.11,-188.12 431.41,-179.61 421.17,-182.33 425.11,-188.12\"/>\n",
+       "</g>\n",
+       "<!-- 139920657663504&#45;&gt;139920657676048 -->\n",
+       "<g id=\"edge6\" class=\"edge\">\n",
+       "<title>139920657663504&#45;&gt;139920657676048</title>\n",
+       "<path fill=\"none\" stroke=\"black\" d=\"M385.3,-225.58C434.58,-214.3 529.28,-192.64 593.27,-178\"/>\n",
+       "<polygon fill=\"black\" stroke=\"black\" points=\"594.3,-181.35 603.27,-175.71 592.74,-174.53 594.3,-181.35\"/>\n",
+       "</g>\n",
+       "<!-- 139920670664720&#45;&gt;139920666169168 -->\n",
+       "<g id=\"edge8\" class=\"edge\">\n",
+       "<title>139920670664720&#45;&gt;139920666169168</title>\n",
+       "<path fill=\"none\" stroke=\"black\" d=\"M245.18,-362.15C233.32,-352.72 217.72,-340.31 204.33,-329.66\"/>\n",
+       "<polygon fill=\"black\" stroke=\"black\" points=\"206.33,-326.78 196.32,-323.29 201.97,-332.25 206.33,-326.78\"/>\n",
+       "</g>\n",
+       "<!-- 139920670664720&#45;&gt;139920670656400 -->\n",
+       "<g id=\"edge9\" class=\"edge\">\n",
+       "<title>139920670664720&#45;&gt;139920670656400</title>\n",
+       "<path fill=\"none\" stroke=\"black\" d=\"M282.72,-362.15C294.63,-352.78 310.27,-340.49 323.75,-329.88\"/>\n",
+       "<polygon fill=\"black\" stroke=\"black\" points=\"326.12,-332.47 331.82,-323.54 321.79,-326.97 326.12,-332.47\"/>\n",
+       "</g>\n",
+       "</g>\n",
+       "</svg>\n"
+      ],
+      "text/plain": [
+       "<graphviz.sources.Source at 0x7f4230138790>"
+      ]
+     },
+     "execution_count": 32,
+     "metadata": {},
+     "output_type": "execute_result"
     }
    ],
    "source": [
@@ -936,20 +1227,20 @@
     {
      "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_img</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"kt\">int64_t</span><span class=\"w\"> </span><span class=\"k\">const</span><span class=\"w\"> </span><span class=\"n\">_size_dst_0</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"kt\">int64_t</span><span class=\"w\"> </span><span class=\"k\">const</span><span class=\"w\"> </span><span class=\"n\">_size_dst_1</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"kt\">int64_t</span><span class=\"w\"> </span><span class=\"k\">const</span><span class=\"w\"> </span><span class=\"n\">_stride_dst_0</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"kt\">int64_t</span><span class=\"w\"> </span><span class=\"k\">const</span><span class=\"w\"> </span><span class=\"n\">_stride_dst_1</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"kt\">int64_t</span><span class=\"w\"> </span><span class=\"k\">const</span><span class=\"w\"> </span><span class=\"n\">_stride_img_0</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"kt\">int64_t</span><span class=\"w\"> </span><span class=\"k\">const</span><span class=\"w\"> </span><span class=\"n\">_stride_img_1</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"kt\">int64_t</span><span class=\"w\"> </span><span class=\"k\">const</span><span class=\"w\"> </span><span class=\"n\">_stride_img_2</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"kt\">double</span><span class=\"w\"> </span><span class=\"n\">w_2</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=\"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_img_22</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"n\">_data_img</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"mi\">2</span><span class=\"o\">*</span><span class=\"n\">_stride_img_2</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_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=\"n\">_size_dst_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\">+=</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=\"n\">_stride_dst_0</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_img_22_01</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"n\">_stride_img_0</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\">_stride_img_0</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"n\">_data_img_22</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_img_22_0m1</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"n\">_stride_img_0</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\">_stride_img_0</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"n\">_data_img_22</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=\"n\">_size_dst_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\">+=</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\">_stride_dst_1</span><span class=\"o\">*</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=\"p\">(</span><span class=\"n\">w_2</span><span class=\"o\">*</span><span class=\"mf\">-1.0</span><span class=\"o\">*</span><span class=\"n\">_data_img_22_0m1</span><span class=\"p\">[</span><span class=\"n\">_stride_img_1</span><span class=\"o\">*</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\">w_2</span><span class=\"o\">*</span><span class=\"n\">_data_img_22_01</span><span class=\"p\">[</span><span class=\"n\">_stride_img_1</span><span class=\"o\">*</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=\"mf\">0.5</span><span class=\"o\">*</span><span class=\"n\">_data_img_22_01</span><span class=\"p\">[</span><span class=\"n\">_stride_img_1</span><span class=\"o\">*</span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"n\">_stride_img_1</span><span class=\"p\">]</span><span class=\"w\"> </span><span class=\"o\">-</span><span class=\"w\"> </span><span class=\"mf\">0.5</span><span class=\"o\">*</span><span class=\"n\">_data_img_22_0m1</span><span class=\"p\">[</span><span class=\"n\">_stride_img_1</span><span class=\"o\">*</span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"n\">_stride_img_1</span><span class=\"p\">]</span><span class=\"w\"> </span><span class=\"o\">-</span><span class=\"w\"> </span><span class=\"mf\">0.5</span><span class=\"o\">*</span><span class=\"n\">_data_img_22_0m1</span><span class=\"p\">[</span><span class=\"n\">_stride_img_1</span><span class=\"o\">*</span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">-</span><span class=\"w\"> </span><span class=\"n\">_stride_img_1</span><span class=\"p\">]</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"mf\">0.5</span><span class=\"o\">*</span><span class=\"n\">_data_img_22_01</span><span class=\"p\">[</span><span class=\"n\">_stride_img_1</span><span class=\"o\">*</span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">-</span><span class=\"w\"> </span><span class=\"n\">_stride_img_1</span><span class=\"p\">])</span><span class=\"o\">*</span><span class=\"p\">(</span><span class=\"n\">w_2</span><span class=\"o\">*</span><span class=\"mf\">-1.0</span><span class=\"o\">*</span><span class=\"n\">_data_img_22_0m1</span><span class=\"p\">[</span><span class=\"n\">_stride_img_1</span><span class=\"o\">*</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\">w_2</span><span class=\"o\">*</span><span class=\"n\">_data_img_22_01</span><span class=\"p\">[</span><span class=\"n\">_stride_img_1</span><span class=\"o\">*</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=\"mf\">0.5</span><span class=\"o\">*</span><span class=\"n\">_data_img_22_01</span><span class=\"p\">[</span><span class=\"n\">_stride_img_1</span><span class=\"o\">*</span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"n\">_stride_img_1</span><span class=\"p\">]</span><span class=\"w\"> </span><span class=\"o\">-</span><span class=\"w\"> </span><span class=\"mf\">0.5</span><span class=\"o\">*</span><span class=\"n\">_data_img_22_0m1</span><span class=\"p\">[</span><span class=\"n\">_stride_img_1</span><span class=\"o\">*</span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"n\">_stride_img_1</span><span class=\"p\">]</span><span class=\"w\"> </span><span class=\"o\">-</span><span class=\"w\"> </span><span class=\"mf\">0.5</span><span class=\"o\">*</span><span class=\"n\">_data_img_22_0m1</span><span class=\"p\">[</span><span class=\"n\">_stride_img_1</span><span class=\"o\">*</span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">-</span><span class=\"w\"> </span><span class=\"n\">_stride_img_1</span><span class=\"p\">]</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"mf\">0.5</span><span class=\"o\">*</span><span class=\"n\">_data_img_22_01</span><span class=\"p\">[</span><span class=\"n\">_stride_img_1</span><span class=\"o\">*</span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">-</span><span class=\"w\"> </span><span class=\"n\">_stride_img_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_img</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"kt\">int64_t</span><span class=\"w\"> </span><span class=\"k\">const</span><span class=\"w\"> </span><span class=\"n\">_size_dst_0</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"kt\">int64_t</span><span class=\"w\"> </span><span class=\"k\">const</span><span class=\"w\"> </span><span class=\"n\">_size_dst_1</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"kt\">int64_t</span><span class=\"w\"> </span><span class=\"k\">const</span><span class=\"w\"> </span><span class=\"n\">_stride_dst_0</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"kt\">int64_t</span><span class=\"w\"> </span><span class=\"k\">const</span><span class=\"w\"> </span><span class=\"n\">_stride_dst_1</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"kt\">int64_t</span><span class=\"w\"> </span><span class=\"k\">const</span><span class=\"w\"> </span><span class=\"n\">_stride_img_0</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"kt\">int64_t</span><span class=\"w\"> </span><span class=\"k\">const</span><span class=\"w\"> </span><span class=\"n\">_stride_img_1</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"kt\">int64_t</span><span class=\"w\"> </span><span class=\"k\">const</span><span class=\"w\"> </span><span class=\"n\">_stride_img_2</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"kt\">double</span><span class=\"w\"> </span><span class=\"n\">w_2</span><span class=\"p\">)</span>\n",
+       "<span class=\"p\">{</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_img_22</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"n\">_data_img</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"mi\">2</span><span class=\"o\">*</span><span class=\"n\">_stride_img_2</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_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=\"n\">_size_dst_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\">+=</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=\"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=\"n\">_stride_dst_0</span><span class=\"o\">*</span><span class=\"n\">ctr_0</span><span class=\"p\">;</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_img_22_01</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"n\">_stride_img_0</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\">_stride_img_0</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"n\">_data_img_22</span><span class=\"p\">;</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_img_22_0m1</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"n\">_stride_img_0</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\">_stride_img_0</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"n\">_data_img_22</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=\"n\">_size_dst_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\">+=</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_00</span><span class=\"p\">[</span><span class=\"n\">_stride_dst_1</span><span class=\"o\">*</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=\"p\">(</span><span class=\"n\">w_2</span><span class=\"o\">*</span><span class=\"mf\">-1.0</span><span class=\"o\">*</span><span class=\"n\">_data_img_22_0m1</span><span class=\"p\">[</span><span class=\"n\">_stride_img_1</span><span class=\"o\">*</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\">w_2</span><span class=\"o\">*</span><span class=\"n\">_data_img_22_01</span><span class=\"p\">[</span><span class=\"n\">_stride_img_1</span><span class=\"o\">*</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=\"mf\">0.5</span><span class=\"o\">*</span><span class=\"n\">_data_img_22_01</span><span class=\"p\">[</span><span class=\"n\">_stride_img_1</span><span class=\"o\">*</span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"n\">_stride_img_1</span><span class=\"p\">]</span><span class=\"w\"> </span><span class=\"o\">-</span><span class=\"w\"> </span><span class=\"mf\">0.5</span><span class=\"o\">*</span><span class=\"n\">_data_img_22_0m1</span><span class=\"p\">[</span><span class=\"n\">_stride_img_1</span><span class=\"o\">*</span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"n\">_stride_img_1</span><span class=\"p\">]</span><span class=\"w\"> </span><span class=\"o\">-</span><span class=\"w\"> </span><span class=\"mf\">0.5</span><span class=\"o\">*</span><span class=\"n\">_data_img_22_0m1</span><span class=\"p\">[</span><span class=\"n\">_stride_img_1</span><span class=\"o\">*</span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">-</span><span class=\"w\"> </span><span class=\"n\">_stride_img_1</span><span class=\"p\">]</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"mf\">0.5</span><span class=\"o\">*</span><span class=\"n\">_data_img_22_01</span><span class=\"p\">[</span><span class=\"n\">_stride_img_1</span><span class=\"o\">*</span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">-</span><span class=\"w\"> </span><span class=\"n\">_stride_img_1</span><span class=\"p\">])</span><span class=\"o\">*</span><span class=\"p\">(</span><span class=\"n\">w_2</span><span class=\"o\">*</span><span class=\"mf\">-1.0</span><span class=\"o\">*</span><span class=\"n\">_data_img_22_0m1</span><span class=\"p\">[</span><span class=\"n\">_stride_img_1</span><span class=\"o\">*</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\">w_2</span><span class=\"o\">*</span><span class=\"n\">_data_img_22_01</span><span class=\"p\">[</span><span class=\"n\">_stride_img_1</span><span class=\"o\">*</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=\"mf\">0.5</span><span class=\"o\">*</span><span class=\"n\">_data_img_22_01</span><span class=\"p\">[</span><span class=\"n\">_stride_img_1</span><span class=\"o\">*</span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"n\">_stride_img_1</span><span class=\"p\">]</span><span class=\"w\"> </span><span class=\"o\">-</span><span class=\"w\"> </span><span class=\"mf\">0.5</span><span class=\"o\">*</span><span class=\"n\">_data_img_22_0m1</span><span class=\"p\">[</span><span class=\"n\">_stride_img_1</span><span class=\"o\">*</span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"n\">_stride_img_1</span><span class=\"p\">]</span><span class=\"w\"> </span><span class=\"o\">-</span><span class=\"w\"> </span><span class=\"mf\">0.5</span><span class=\"o\">*</span><span class=\"n\">_data_img_22_0m1</span><span class=\"p\">[</span><span class=\"n\">_stride_img_1</span><span class=\"o\">*</span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">-</span><span class=\"w\"> </span><span class=\"n\">_stride_img_1</span><span class=\"p\">]</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"mf\">0.5</span><span class=\"o\">*</span><span class=\"n\">_data_img_22_01</span><span class=\"p\">[</span><span class=\"n\">_stride_img_1</span><span class=\"o\">*</span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">-</span><span class=\"w\"> </span><span class=\"n\">_stride_img_1</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": [
@@ -1077,24 +1368,24 @@
     {
      "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_img</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"kt\">int64_t</span><span class=\"w\"> </span><span class=\"k\">const</span><span class=\"w\"> </span><span class=\"n\">_size_dst_0</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"kt\">int64_t</span><span class=\"w\"> </span><span class=\"k\">const</span><span class=\"w\"> </span><span class=\"n\">_size_dst_1</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"kt\">int64_t</span><span class=\"w\"> </span><span class=\"k\">const</span><span class=\"w\"> </span><span class=\"n\">_stride_dst_0</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"kt\">int64_t</span><span class=\"w\"> </span><span class=\"k\">const</span><span class=\"w\"> </span><span class=\"n\">_stride_dst_1</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"kt\">int64_t</span><span class=\"w\"> </span><span class=\"k\">const</span><span class=\"w\"> </span><span class=\"n\">_stride_img_0</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"kt\">int64_t</span><span class=\"w\"> </span><span class=\"k\">const</span><span class=\"w\"> </span><span class=\"n\">_stride_img_1</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"kt\">int64_t</span><span class=\"w\"> </span><span class=\"k\">const</span><span class=\"w\"> </span><span class=\"n\">_stride_img_2</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"kt\">double</span><span class=\"w\"> </span><span class=\"n\">w_2</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_img</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"kt\">int64_t</span><span class=\"w\"> </span><span class=\"k\">const</span><span class=\"w\"> </span><span class=\"n\">_size_dst_0</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"kt\">int64_t</span><span class=\"w\"> </span><span class=\"k\">const</span><span class=\"w\"> </span><span class=\"n\">_size_dst_1</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"kt\">int64_t</span><span class=\"w\"> </span><span class=\"k\">const</span><span class=\"w\"> </span><span class=\"n\">_stride_dst_0</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"kt\">int64_t</span><span class=\"w\"> </span><span class=\"k\">const</span><span class=\"w\"> </span><span class=\"n\">_stride_dst_1</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"kt\">int64_t</span><span class=\"w\"> </span><span class=\"k\">const</span><span class=\"w\"> </span><span class=\"n\">_stride_img_0</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"kt\">int64_t</span><span class=\"w\"> </span><span class=\"k\">const</span><span class=\"w\"> </span><span class=\"n\">_stride_img_1</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"kt\">int64_t</span><span class=\"w\"> </span><span class=\"k\">const</span><span class=\"w\"> </span><span class=\"n\">_stride_img_2</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"kt\">double</span><span class=\"w\"> </span><span class=\"n\">w_2</span><span class=\"p\">)</span>\n",
+       "<span class=\"p\">{</span>\n",
        "<span class=\"w\">   </span><span class=\"cp\">#pragma omp parallel num_threads(2)</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_img_22</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"n\">_data_img</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"mi\">2</span><span class=\"o\">*</span><span class=\"n\">_stride_img_2</span><span class=\"p\">;</span><span class=\"w\"></span>\n",
+       "<span class=\"w\">   </span><span class=\"p\">{</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_img_22</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"n\">_data_img</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"mi\">2</span><span class=\"o\">*</span><span class=\"n\">_stride_img_2</span><span class=\"p\">;</span>\n",
        "<span class=\"w\">      </span><span class=\"cp\">#pragma omp for schedule(static)</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=\"n\">_size_dst_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\">+=</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=\"n\">_stride_dst_0</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_img_22_01</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"n\">_stride_img_0</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\">_stride_img_0</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"n\">_data_img_22</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_img_22_0m1</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"n\">_stride_img_0</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\">_stride_img_0</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"n\">_data_img_22</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=\"n\">_size_dst_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\">+=</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\">_stride_dst_1</span><span class=\"o\">*</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=\"p\">(</span><span class=\"n\">w_2</span><span class=\"o\">*</span><span class=\"mf\">-1.0</span><span class=\"o\">*</span><span class=\"n\">_data_img_22_0m1</span><span class=\"p\">[</span><span class=\"n\">_stride_img_1</span><span class=\"o\">*</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\">w_2</span><span class=\"o\">*</span><span class=\"n\">_data_img_22_01</span><span class=\"p\">[</span><span class=\"n\">_stride_img_1</span><span class=\"o\">*</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=\"mf\">0.5</span><span class=\"o\">*</span><span class=\"n\">_data_img_22_01</span><span class=\"p\">[</span><span class=\"n\">_stride_img_1</span><span class=\"o\">*</span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"n\">_stride_img_1</span><span class=\"p\">]</span><span class=\"w\"> </span><span class=\"o\">-</span><span class=\"w\"> </span><span class=\"mf\">0.5</span><span class=\"o\">*</span><span class=\"n\">_data_img_22_0m1</span><span class=\"p\">[</span><span class=\"n\">_stride_img_1</span><span class=\"o\">*</span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"n\">_stride_img_1</span><span class=\"p\">]</span><span class=\"w\"> </span><span class=\"o\">-</span><span class=\"w\"> </span><span class=\"mf\">0.5</span><span class=\"o\">*</span><span class=\"n\">_data_img_22_0m1</span><span class=\"p\">[</span><span class=\"n\">_stride_img_1</span><span class=\"o\">*</span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">-</span><span class=\"w\"> </span><span class=\"n\">_stride_img_1</span><span class=\"p\">]</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"mf\">0.5</span><span class=\"o\">*</span><span class=\"n\">_data_img_22_01</span><span class=\"p\">[</span><span class=\"n\">_stride_img_1</span><span class=\"o\">*</span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">-</span><span class=\"w\"> </span><span class=\"n\">_stride_img_1</span><span class=\"p\">])</span><span class=\"o\">*</span><span class=\"p\">(</span><span class=\"n\">w_2</span><span class=\"o\">*</span><span class=\"mf\">-1.0</span><span class=\"o\">*</span><span class=\"n\">_data_img_22_0m1</span><span class=\"p\">[</span><span class=\"n\">_stride_img_1</span><span class=\"o\">*</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\">w_2</span><span class=\"o\">*</span><span class=\"n\">_data_img_22_01</span><span class=\"p\">[</span><span class=\"n\">_stride_img_1</span><span class=\"o\">*</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=\"mf\">0.5</span><span class=\"o\">*</span><span class=\"n\">_data_img_22_01</span><span class=\"p\">[</span><span class=\"n\">_stride_img_1</span><span class=\"o\">*</span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"n\">_stride_img_1</span><span class=\"p\">]</span><span class=\"w\"> </span><span class=\"o\">-</span><span class=\"w\"> </span><span class=\"mf\">0.5</span><span class=\"o\">*</span><span class=\"n\">_data_img_22_0m1</span><span class=\"p\">[</span><span class=\"n\">_stride_img_1</span><span class=\"o\">*</span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"n\">_stride_img_1</span><span class=\"p\">]</span><span class=\"w\"> </span><span class=\"o\">-</span><span class=\"w\"> </span><span class=\"mf\">0.5</span><span class=\"o\">*</span><span class=\"n\">_data_img_22_0m1</span><span class=\"p\">[</span><span class=\"n\">_stride_img_1</span><span class=\"o\">*</span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">-</span><span class=\"w\"> </span><span class=\"n\">_stride_img_1</span><span class=\"p\">]</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"mf\">0.5</span><span class=\"o\">*</span><span class=\"n\">_data_img_22_01</span><span class=\"p\">[</span><span class=\"n\">_stride_img_1</span><span class=\"o\">*</span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">-</span><span class=\"w\"> </span><span class=\"n\">_stride_img_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=\"w\">   </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=\"n\">_size_dst_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\">+=</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=\"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=\"n\">_stride_dst_0</span><span class=\"o\">*</span><span class=\"n\">ctr_0</span><span class=\"p\">;</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_img_22_01</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"n\">_stride_img_0</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\">_stride_img_0</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"n\">_data_img_22</span><span class=\"p\">;</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_img_22_0m1</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"n\">_stride_img_0</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\">_stride_img_0</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"n\">_data_img_22</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=\"n\">_size_dst_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\">+=</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_00</span><span class=\"p\">[</span><span class=\"n\">_stride_dst_1</span><span class=\"o\">*</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=\"p\">(</span><span class=\"n\">w_2</span><span class=\"o\">*</span><span class=\"mf\">-1.0</span><span class=\"o\">*</span><span class=\"n\">_data_img_22_0m1</span><span class=\"p\">[</span><span class=\"n\">_stride_img_1</span><span class=\"o\">*</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\">w_2</span><span class=\"o\">*</span><span class=\"n\">_data_img_22_01</span><span class=\"p\">[</span><span class=\"n\">_stride_img_1</span><span class=\"o\">*</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=\"mf\">0.5</span><span class=\"o\">*</span><span class=\"n\">_data_img_22_01</span><span class=\"p\">[</span><span class=\"n\">_stride_img_1</span><span class=\"o\">*</span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"n\">_stride_img_1</span><span class=\"p\">]</span><span class=\"w\"> </span><span class=\"o\">-</span><span class=\"w\"> </span><span class=\"mf\">0.5</span><span class=\"o\">*</span><span class=\"n\">_data_img_22_0m1</span><span class=\"p\">[</span><span class=\"n\">_stride_img_1</span><span class=\"o\">*</span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"n\">_stride_img_1</span><span class=\"p\">]</span><span class=\"w\"> </span><span class=\"o\">-</span><span class=\"w\"> </span><span class=\"mf\">0.5</span><span class=\"o\">*</span><span class=\"n\">_data_img_22_0m1</span><span class=\"p\">[</span><span class=\"n\">_stride_img_1</span><span class=\"o\">*</span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">-</span><span class=\"w\"> </span><span class=\"n\">_stride_img_1</span><span class=\"p\">]</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"mf\">0.5</span><span class=\"o\">*</span><span class=\"n\">_data_img_22_01</span><span class=\"p\">[</span><span class=\"n\">_stride_img_1</span><span class=\"o\">*</span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">-</span><span class=\"w\"> </span><span class=\"n\">_stride_img_1</span><span class=\"p\">])</span><span class=\"o\">*</span><span class=\"p\">(</span><span class=\"n\">w_2</span><span class=\"o\">*</span><span class=\"mf\">-1.0</span><span class=\"o\">*</span><span class=\"n\">_data_img_22_0m1</span><span class=\"p\">[</span><span class=\"n\">_stride_img_1</span><span class=\"o\">*</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\">w_2</span><span class=\"o\">*</span><span class=\"n\">_data_img_22_01</span><span class=\"p\">[</span><span class=\"n\">_stride_img_1</span><span class=\"o\">*</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=\"mf\">0.5</span><span class=\"o\">*</span><span class=\"n\">_data_img_22_01</span><span class=\"p\">[</span><span class=\"n\">_stride_img_1</span><span class=\"o\">*</span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"n\">_stride_img_1</span><span class=\"p\">]</span><span class=\"w\"> </span><span class=\"o\">-</span><span class=\"w\"> </span><span class=\"mf\">0.5</span><span class=\"o\">*</span><span class=\"n\">_data_img_22_0m1</span><span class=\"p\">[</span><span class=\"n\">_stride_img_1</span><span class=\"o\">*</span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"n\">_stride_img_1</span><span class=\"p\">]</span><span class=\"w\"> </span><span class=\"o\">-</span><span class=\"w\"> </span><span class=\"mf\">0.5</span><span class=\"o\">*</span><span class=\"n\">_data_img_22_0m1</span><span class=\"p\">[</span><span class=\"n\">_stride_img_1</span><span class=\"o\">*</span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">-</span><span class=\"w\"> </span><span class=\"n\">_stride_img_1</span><span class=\"p\">]</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"mf\">0.5</span><span class=\"o\">*</span><span class=\"n\">_data_img_22_01</span><span class=\"p\">[</span><span class=\"n\">_stride_img_1</span><span class=\"o\">*</span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">-</span><span class=\"w\"> </span><span class=\"n\">_stride_img_1</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=\"w\">   </span><span class=\"p\">}</span>\n",
+       "<span class=\"p\">}</span>\n",
        "</pre></div>\n"
       ],
       "text/plain": [
@@ -1231,20 +1522,20 @@
     {
      "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=\"k\">const</span><span class=\"w\"> </span><span class=\"n\">_data_I</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=\"n\">_data_dst</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=\"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_I_21</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"n\">_data_I</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=\"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\">202</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\">601</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_I_21_01</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"n\">_data_I_21</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"mi\">2404</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\">2404</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_I_21_0m1</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"n\">_data_I_21</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"mi\">2404</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\">2404</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\">600</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=\"mf\">-1.0</span><span class=\"o\">*</span><span class=\"n\">_data_I_21_01</span><span class=\"p\">[</span><span class=\"mi\">4</span><span class=\"o\">*</span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"mi\">4</span><span class=\"p\">]</span><span class=\"w\"> </span><span class=\"o\">-</span><span class=\"w\"> </span><span class=\"mf\">1.0</span><span class=\"o\">*</span><span class=\"n\">_data_I_21_0m1</span><span class=\"p\">[</span><span class=\"mi\">4</span><span class=\"o\">*</span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"mi\">4</span><span class=\"p\">]</span><span class=\"w\"> </span><span class=\"o\">-</span><span class=\"w\"> </span><span class=\"mf\">1.0</span><span class=\"o\">*</span><span class=\"n\">_data_I_21_0m1</span><span class=\"p\">[</span><span class=\"mi\">4</span><span class=\"o\">*</span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">-</span><span class=\"w\"> </span><span class=\"mi\">4</span><span class=\"p\">]</span><span class=\"w\"> </span><span class=\"o\">-</span><span class=\"w\"> </span><span class=\"mf\">2.0</span><span class=\"o\">*</span><span class=\"n\">_data_I_21_0m1</span><span class=\"p\">[</span><span class=\"mi\">4</span><span class=\"o\">*</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=\"mf\">2.0</span><span class=\"o\">*</span><span class=\"n\">_data_I_21_01</span><span class=\"p\">[</span><span class=\"mi\">4</span><span class=\"o\">*</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_I_21_01</span><span class=\"p\">[</span><span class=\"mi\">4</span><span class=\"o\">*</span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">-</span><span class=\"w\"> </span><span class=\"mi\">4</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=\"k\">const</span><span class=\"w\"> </span><span class=\"n\">_data_I</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=\"n\">_data_dst</span><span class=\"p\">)</span>\n",
+       "<span class=\"p\">{</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_I_21</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"n\">_data_I</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=\"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\">202</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=\"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\">601</span><span class=\"o\">*</span><span class=\"n\">ctr_0</span><span class=\"p\">;</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_I_21_01</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"n\">_data_I_21</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"mi\">2404</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\">2404</span><span class=\"p\">;</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_I_21_0m1</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"n\">_data_I_21</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"mi\">2404</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\">2404</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\">600</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_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=\"mf\">-1.0</span><span class=\"o\">*</span><span class=\"n\">_data_I_21_01</span><span class=\"p\">[</span><span class=\"mi\">4</span><span class=\"o\">*</span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"mi\">4</span><span class=\"p\">]</span><span class=\"w\"> </span><span class=\"o\">-</span><span class=\"w\"> </span><span class=\"mf\">1.0</span><span class=\"o\">*</span><span class=\"n\">_data_I_21_0m1</span><span class=\"p\">[</span><span class=\"mi\">4</span><span class=\"o\">*</span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"mi\">4</span><span class=\"p\">]</span><span class=\"w\"> </span><span class=\"o\">-</span><span class=\"w\"> </span><span class=\"mf\">1.0</span><span class=\"o\">*</span><span class=\"n\">_data_I_21_0m1</span><span class=\"p\">[</span><span class=\"mi\">4</span><span class=\"o\">*</span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">-</span><span class=\"w\"> </span><span class=\"mi\">4</span><span class=\"p\">]</span><span class=\"w\"> </span><span class=\"o\">-</span><span class=\"w\"> </span><span class=\"mf\">2.0</span><span class=\"o\">*</span><span class=\"n\">_data_I_21_0m1</span><span class=\"p\">[</span><span class=\"mi\">4</span><span class=\"o\">*</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=\"mf\">2.0</span><span class=\"o\">*</span><span class=\"n\">_data_I_21_01</span><span class=\"p\">[</span><span class=\"mi\">4</span><span class=\"o\">*</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_I_21_01</span><span class=\"p\">[</span><span class=\"mi\">4</span><span class=\"o\">*</span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">-</span><span class=\"w\"> </span><span class=\"mi\">4</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": [
@@ -1292,7 +1583,7 @@
    "source": [
     "### Running on GPU\n",
     "\n",
-    "If you have a CUDA enabled graphics card and [pycuda](https://mathema.tician.de/software/pycuda/) installed, *pystencils* can run your kernel on the GPU as well. You can find more details about this in the GPU tutorial."
+    "If you have a GPU and [cupy](https://cupy.dev/) installed, *pystencils* can run your kernel on the GPU as well. You can find more details about this in the GPU tutorial."
    ]
   },
   {
@@ -1388,19 +1679,19 @@
     {
      "data": {
       "text/html": [
-       "<div class=\"highlight\"><pre><span></span><span class=\"n\">FUNC_PREFIX</span><span class=\"w\"> </span><span class=\"nf\">__launch_bounds__</span><span class=\"p\">(</span><span class=\"mi\">256</span><span class=\"p\">)</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=\"k\">const</span><span class=\"w\"> </span><span class=\"n\">_data_I</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=\"n\">_data_dst</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\">if</span><span class=\"w\"> </span><span class=\"p\">(</span><span class=\"n\">blockDim</span><span class=\"p\">.</span><span class=\"n\">x</span><span class=\"o\">*</span><span class=\"n\">blockIdx</span><span class=\"p\">.</span><span class=\"n\">x</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"n\">threadIdx</span><span class=\"p\">.</span><span class=\"n\">x</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"mi\">1</span><span class=\"w\"> </span><span class=\"o\">&lt;</span><span class=\"w\"> </span><span class=\"mi\">202</span><span class=\"w\"> </span><span class=\"o\">&amp;&amp;</span><span class=\"w\"> </span><span class=\"n\">blockDim</span><span class=\"p\">.</span><span class=\"n\">y</span><span class=\"o\">*</span><span class=\"n\">blockIdx</span><span class=\"p\">.</span><span class=\"n\">y</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"n\">threadIdx</span><span class=\"p\">.</span><span class=\"n\">y</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"mi\">1</span><span class=\"w\"> </span><span class=\"o\">&lt;</span><span class=\"w\"> </span><span class=\"mi\">600</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\">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=\"n\">blockDim</span><span class=\"p\">.</span><span class=\"n\">x</span><span class=\"o\">*</span><span class=\"n\">blockIdx</span><span class=\"p\">.</span><span class=\"n\">x</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"n\">threadIdx</span><span class=\"p\">.</span><span class=\"n\">x</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=\"k\">const</span><span class=\"w\"> </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=\"n\">blockDim</span><span class=\"p\">.</span><span class=\"n\">y</span><span class=\"o\">*</span><span class=\"n\">blockIdx</span><span class=\"p\">.</span><span class=\"n\">y</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"n\">threadIdx</span><span class=\"p\">.</span><span class=\"n\">y</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=\"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_10</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=\"n\">ctr_1</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_I_11_21</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"n\">_data_I</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"mi\">4</span><span class=\"o\">*</span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"mi\">5</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_I_1m1_21</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"n\">_data_I</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"mi\">4</span><span class=\"o\">*</span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">-</span><span class=\"w\"> </span><span class=\"mi\">3</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_I_10_21</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"n\">_data_I</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"mi\">4</span><span class=\"o\">*</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=\"n\">_data_dst_10</span><span class=\"p\">[</span><span class=\"mi\">601</span><span class=\"o\">*</span><span class=\"n\">ctr_0</span><span class=\"p\">]</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"mf\">-1.0</span><span class=\"o\">*</span><span class=\"n\">_data_I_11_21</span><span class=\"p\">[</span><span class=\"mi\">2404</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\">2404</span><span class=\"p\">]</span><span class=\"w\"> </span><span class=\"o\">-</span><span class=\"w\"> </span><span class=\"mf\">1.0</span><span class=\"o\">*</span><span class=\"n\">_data_I_11_21</span><span class=\"p\">[</span><span class=\"mi\">2404</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\">2404</span><span class=\"p\">]</span><span class=\"w\"> </span><span class=\"o\">-</span><span class=\"w\"> </span><span class=\"mf\">1.0</span><span class=\"o\">*</span><span class=\"n\">_data_I_1m1_21</span><span class=\"p\">[</span><span class=\"mi\">2404</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\">2404</span><span class=\"p\">]</span><span class=\"w\"> </span><span class=\"o\">-</span><span class=\"w\"> </span><span class=\"mf\">2.0</span><span class=\"o\">*</span><span class=\"n\">_data_I_10_21</span><span class=\"p\">[</span><span class=\"mi\">2404</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\">2404</span><span class=\"p\">]</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"mf\">2.0</span><span class=\"o\">*</span><span class=\"n\">_data_I_10_21</span><span class=\"p\">[</span><span class=\"mi\">2404</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\">2404</span><span class=\"p\">]</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"n\">_data_I_1m1_21</span><span class=\"p\">[</span><span class=\"mi\">2404</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\">2404</span><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=\"nf\">__launch_bounds__</span><span class=\"p\">(</span><span class=\"mi\">256</span><span class=\"p\">)</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=\"k\">const</span><span class=\"w\"> </span><span class=\"n\">_data_I</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=\"n\">_data_dst</span><span class=\"p\">)</span>\n",
+       "<span class=\"p\">{</span>\n",
+       "<span class=\"w\">   </span><span class=\"k\">if</span><span class=\"w\"> </span><span class=\"p\">(</span><span class=\"n\">blockDim</span><span class=\"p\">.</span><span class=\"n\">x</span><span class=\"o\">*</span><span class=\"n\">blockIdx</span><span class=\"p\">.</span><span class=\"n\">x</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"n\">threadIdx</span><span class=\"p\">.</span><span class=\"n\">x</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"mi\">1</span><span class=\"w\"> </span><span class=\"o\">&lt;</span><span class=\"w\"> </span><span class=\"mi\">202</span><span class=\"w\"> </span><span class=\"o\">&amp;&amp;</span><span class=\"w\"> </span><span class=\"n\">blockDim</span><span class=\"p\">.</span><span class=\"n\">y</span><span class=\"o\">*</span><span class=\"n\">blockIdx</span><span class=\"p\">.</span><span class=\"n\">y</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"n\">threadIdx</span><span class=\"p\">.</span><span class=\"n\">y</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"mi\">1</span><span class=\"w\"> </span><span class=\"o\">&lt;</span><span class=\"w\"> </span><span class=\"mi\">600</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\">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=\"n\">blockDim</span><span class=\"p\">.</span><span class=\"n\">x</span><span class=\"o\">*</span><span class=\"n\">blockIdx</span><span class=\"p\">.</span><span class=\"n\">x</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"n\">threadIdx</span><span class=\"p\">.</span><span class=\"n\">x</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=\"k\">const</span><span class=\"w\"> </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=\"n\">blockDim</span><span class=\"p\">.</span><span class=\"n\">y</span><span class=\"o\">*</span><span class=\"n\">blockIdx</span><span class=\"p\">.</span><span class=\"n\">y</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"n\">threadIdx</span><span class=\"p\">.</span><span class=\"n\">y</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=\"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_10</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=\"n\">ctr_1</span><span class=\"p\">;</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_I_11_21</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"n\">_data_I</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"mi\">4</span><span class=\"o\">*</span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"mi\">5</span><span class=\"p\">;</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_I_1m1_21</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"n\">_data_I</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"mi\">4</span><span class=\"o\">*</span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">-</span><span class=\"w\"> </span><span class=\"mi\">3</span><span class=\"p\">;</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_I_10_21</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"n\">_data_I</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"mi\">4</span><span class=\"o\">*</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=\"n\">_data_dst_10</span><span class=\"p\">[</span><span class=\"mi\">601</span><span class=\"o\">*</span><span class=\"n\">ctr_0</span><span class=\"p\">]</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"mf\">-1.0</span><span class=\"o\">*</span><span class=\"n\">_data_I_11_21</span><span class=\"p\">[</span><span class=\"mi\">2404</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\">2404</span><span class=\"p\">]</span><span class=\"w\"> </span><span class=\"o\">-</span><span class=\"w\"> </span><span class=\"mf\">1.0</span><span class=\"o\">*</span><span class=\"n\">_data_I_11_21</span><span class=\"p\">[</span><span class=\"mi\">2404</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\">2404</span><span class=\"p\">]</span><span class=\"w\"> </span><span class=\"o\">-</span><span class=\"w\"> </span><span class=\"mf\">1.0</span><span class=\"o\">*</span><span class=\"n\">_data_I_1m1_21</span><span class=\"p\">[</span><span class=\"mi\">2404</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\">2404</span><span class=\"p\">]</span><span class=\"w\"> </span><span class=\"o\">-</span><span class=\"w\"> </span><span class=\"mf\">2.0</span><span class=\"o\">*</span><span class=\"n\">_data_I_10_21</span><span class=\"p\">[</span><span class=\"mi\">2404</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\">2404</span><span class=\"p\">]</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"mf\">2.0</span><span class=\"o\">*</span><span class=\"n\">_data_I_10_21</span><span class=\"p\">[</span><span class=\"mi\">2404</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\">2404</span><span class=\"p\">]</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"n\">_data_I_1m1_21</span><span class=\"p\">[</span><span class=\"mi\">2404</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\">2404</span><span class=\"p\">];</span>\n",
        "<span class=\"w\">   </span><span class=\"p\">}</span><span class=\"w\"> </span>\n",
-       "<span class=\"p\">}</span><span class=\"w\"></span>\n",
+       "<span class=\"p\">}</span>\n",
        "</pre></div>\n"
       ],
       "text/plain": [
@@ -1425,8 +1716,8 @@
    ],
    "source": [
     "try:\n",
-    "    import pycuda\n",
-    "    from pystencils.gpucuda import BlockIndexing\n",
+    "    import cupy\n",
+    "    from pystencils.gpu import BlockIndexing\n",
     "\n",
     "    gpu_ast = create_kernel(update_rule, target=ps.Target.GPU,\n",
     "                            gpu_indexing=BlockIndexing,\n",
@@ -1434,7 +1725,7 @@
     "\n",
     "    ps.show_code(gpu_ast)\n",
     "except ImportError:\n",
-    "    print(\"Please install pycuda for GPU support\")"
+    "    print(\"Please install cupy for GPU support\")"
    ]
   }
  ],
@@ -1455,7 +1746,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.10.6"
+   "version": "3.11.0rc1"
   }
  },
  "nbformat": 4,
diff --git a/doc/notebooks/03_tutorial_datahandling.ipynb b/doc/notebooks/03_tutorial_datahandling.ipynb
index da01623927e6d2b97a4834aa067d040caa6a27f8..05b489133ba87e8a74091ef1121ac456498f0e5e 100644
--- a/doc/notebooks/03_tutorial_datahandling.ipynb
+++ b/doc/notebooks/03_tutorial_datahandling.ipynb
@@ -21,33 +21,22 @@
    "cell_type": "markdown",
    "metadata": {},
    "source": [
-    "Test to see if pycuda is installed which is needed to run calculations on the GPU"
+    "Test to see if cupy is installed which is needed to run calculations on the GPU"
    ]
   },
   {
    "cell_type": "code",
    "execution_count": 2,
    "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "No pycuda installed\n"
-     ]
-    }
-   ],
+   "outputs": [],
    "source": [
     "try:\n",
-    "    import pycuda\n",
+    "    import cupy\n",
     "    gpu = True\n",
     "except ImportError:\n",
     "    gpu = False\n",
-    "    pycuda = None\n",
-    "    print('No pycuda installed')\n",
-    "    \n",
-    "if pycuda:\n",
-    "    import pycuda.gpuarray as gpuarray"
+    "    cupy = None\n",
+    "    print('No cupy installed')"
    ]
   },
   {
@@ -138,22 +127,22 @@
        "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 .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",
@@ -166,15 +155,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",
@@ -191,11 +180,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",
@@ -216,28 +205,28 @@
     {
      "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><span class=\"kt\">int64_t</span><span class=\"w\"> </span><span class=\"k\">const</span><span class=\"w\"> </span><span class=\"n\">_size_dst_0</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"kt\">int64_t</span><span class=\"w\"> </span><span class=\"k\">const</span><span class=\"w\"> </span><span class=\"n\">_size_dst_1</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"kt\">int64_t</span><span class=\"w\"> </span><span class=\"k\">const</span><span class=\"w\"> </span><span class=\"n\">_stride_dst_0</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"kt\">int64_t</span><span class=\"w\"> </span><span class=\"k\">const</span><span class=\"w\"> </span><span class=\"n\">_stride_dst_1</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"kt\">int64_t</span><span class=\"w\"> </span><span class=\"k\">const</span><span class=\"w\"> </span><span class=\"n\">_stride_src_0</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"kt\">int64_t</span><span class=\"w\"> </span><span class=\"k\">const</span><span class=\"w\"> </span><span class=\"n\">_stride_src_1</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=\"n\">_size_dst_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\">+=</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=\"n\">_stride_dst_0</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_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=\"n\">_stride_src_0</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\">_stride_src_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_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=\"n\">_stride_src_0</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_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=\"n\">_stride_src_0</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\">_stride_src_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=\"n\">_size_dst_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\">+=</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\">_stride_dst_1</span><span class=\"o\">*</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=\"mf\">0.25</span><span class=\"o\">*</span><span class=\"n\">_data_src_00</span><span class=\"p\">[</span><span class=\"n\">_stride_src_1</span><span class=\"o\">*</span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"n\">_stride_src_1</span><span class=\"p\">]</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"mf\">0.25</span><span class=\"o\">*</span><span class=\"n\">_data_src_00</span><span class=\"p\">[</span><span class=\"n\">_stride_src_1</span><span class=\"o\">*</span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">-</span><span class=\"w\"> </span><span class=\"n\">_stride_src_1</span><span class=\"p\">]</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"mf\">0.25</span><span class=\"o\">*</span><span class=\"n\">_data_src_01</span><span class=\"p\">[</span><span class=\"n\">_stride_src_1</span><span class=\"o\">*</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=\"mf\">0.25</span><span class=\"o\">*</span><span class=\"n\">_data_src_0m1</span><span class=\"p\">[</span><span class=\"n\">_stride_src_1</span><span class=\"o\">*</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><span class=\"w\"> </span><span class=\"kt\">int64_t</span><span class=\"w\"> </span><span class=\"k\">const</span><span class=\"w\"> </span><span class=\"n\">_size_dst_0</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"kt\">int64_t</span><span class=\"w\"> </span><span class=\"k\">const</span><span class=\"w\"> </span><span class=\"n\">_size_dst_1</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"kt\">int64_t</span><span class=\"w\"> </span><span class=\"k\">const</span><span class=\"w\"> </span><span class=\"n\">_stride_dst_0</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"kt\">int64_t</span><span class=\"w\"> </span><span class=\"k\">const</span><span class=\"w\"> </span><span class=\"n\">_stride_dst_1</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"kt\">int64_t</span><span class=\"w\"> </span><span class=\"k\">const</span><span class=\"w\"> </span><span class=\"n\">_stride_src_0</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"kt\">int64_t</span><span class=\"w\"> </span><span class=\"k\">const</span><span class=\"w\"> </span><span class=\"n\">_stride_src_1</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=\"n\">_size_dst_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\">+=</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=\"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=\"n\">_stride_dst_0</span><span class=\"o\">*</span><span class=\"n\">ctr_0</span><span class=\"p\">;</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=\"n\">_stride_src_0</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\">_stride_src_0</span><span class=\"p\">;</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=\"n\">_stride_src_0</span><span class=\"o\">*</span><span class=\"n\">ctr_0</span><span class=\"p\">;</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=\"n\">_stride_src_0</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\">_stride_src_0</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=\"n\">_size_dst_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\">+=</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_00</span><span class=\"p\">[</span><span class=\"n\">_stride_dst_1</span><span class=\"o\">*</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=\"mf\">0.25</span><span class=\"o\">*</span><span class=\"n\">_data_src_00</span><span class=\"p\">[</span><span class=\"n\">_stride_src_1</span><span class=\"o\">*</span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"n\">_stride_src_1</span><span class=\"p\">]</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"mf\">0.25</span><span class=\"o\">*</span><span class=\"n\">_data_src_00</span><span class=\"p\">[</span><span class=\"n\">_stride_src_1</span><span class=\"o\">*</span><span class=\"n\">ctr_1</span><span class=\"w\"> </span><span class=\"o\">-</span><span class=\"w\"> </span><span class=\"n\">_stride_src_1</span><span class=\"p\">]</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"mf\">0.25</span><span class=\"o\">*</span><span class=\"n\">_data_src_01</span><span class=\"p\">[</span><span class=\"n\">_stride_src_1</span><span class=\"o\">*</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=\"mf\">0.25</span><span class=\"o\">*</span><span class=\"n\">_data_src_0m1</span><span class=\"p\">[</span><span class=\"n\">_stride_src_1</span><span class=\"o\">*</span><span class=\"n\">ctr_1</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": [
-       "FUNC_PREFIX void kernel(double * RESTRICT _data_dst, double * RESTRICT const _data_src, int64_t const _size_dst_0, int64_t const _size_dst_1, int64_t const _stride_dst_0, int64_t const _stride_dst_1, int64_t const _stride_src_0, int64_t const _stride_src_1)\n",
+       "FUNC_PREFIX void kernel(double * RESTRICT  _data_dst, double * RESTRICT const _data_src, int64_t const _size_dst_0, int64_t const _size_dst_1, int64_t const _stride_dst_0, int64_t const _stride_dst_1, int64_t const _stride_src_0, int64_t const _stride_src_1)\n",
        "{\n",
        "   for (int64_t ctr_0 = 1; ctr_0 < _size_dst_0 - 1; ctr_0 += 1)\n",
        "   {\n",
-       "      double * RESTRICT _data_dst_00 = _data_dst + _stride_dst_0*ctr_0;\n",
+       "      double * RESTRICT  _data_dst_00 = _data_dst + _stride_dst_0*ctr_0;\n",
        "      double * RESTRICT _data_src_01 = _data_src + _stride_src_0*ctr_0 + _stride_src_0;\n",
        "      double * RESTRICT _data_src_00 = _data_src + _stride_src_0*ctr_0;\n",
        "      double * RESTRICT _data_src_0m1 = _data_src + _stride_src_0*ctr_0 - _stride_src_0;\n",
@@ -321,22 +310,22 @@
        "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 .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",
@@ -349,15 +338,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",
@@ -374,11 +363,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",
@@ -399,28 +388,28 @@
     {
      "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\">29</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_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_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\">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=\"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=\"mf\">0.25</span><span class=\"o\">*</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=\"mf\">0.25</span><span class=\"o\">*</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=\"mf\">0.25</span><span class=\"o\">*</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><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"mf\">0.25</span><span class=\"o\">*</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\">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\">29</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=\"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>\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>\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>\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>\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=\"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=\"mf\">0.25</span><span class=\"o\">*</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=\"mf\">0.25</span><span class=\"o\">*</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=\"mf\">0.25</span><span class=\"o\">*</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><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"mf\">0.25</span><span class=\"o\">*</span><span class=\"n\">_data_src_0m1</span><span class=\"p\">[</span><span class=\"n\">ctr_1</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": [
-       "FUNC_PREFIX void kernel(double * RESTRICT _data_dst, double * RESTRICT const _data_src)\n",
+       "FUNC_PREFIX void kernel(double * RESTRICT  _data_dst, double * RESTRICT const _data_src)\n",
        "{\n",
        "   for (int64_t ctr_0 = 1; ctr_0 < 29; ctr_0 += 1)\n",
        "   {\n",
-       "      double * RESTRICT _data_dst_00 = _data_dst + 30*ctr_0;\n",
+       "      double * RESTRICT  _data_dst_00 = _data_dst + 30*ctr_0;\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_src_0m1 = _data_src + 30*ctr_0 - 30;\n",
@@ -477,7 +466,7 @@
     "### 1.2. GPU simulations\n",
     "\n",
     "Let's now jump to a seemingly unrelated topic: running kernels on the GPU. \n",
-    "When creating the kernel, an additional parameter `target=ps.Target.GPU` has to be passed. Also, the compiled kernel cannot be called with numpy arrays directly, but has to be called with `pycuda.gpuarray`s instead. That means, we have to transfer our numpy array to GPU first. From this step we obtain a gpuarray, then we can run the kernel, hopefully multiple times so that the data transfer was worth the time. Finally we transfer the finished result back to CPU:"
+    "When creating the kernel, an additional parameter `target=ps.Target.GPU` has to be passed. Also, the compiled kernel cannot be called with numpy arrays directly, but has to be called with `cupy.array`s instead. That means, we have to transfer our numpy array to GPU first. From this step we obtain a gpuarray, then we can run the kernel, hopefully multiple times so that the data transfer was worth the time. Finally we transfer the finished result back to CPU:"
    ]
   },
   {
@@ -486,18 +475,18 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "if pycuda:\n",
+    "if cupy:\n",
     "    config = ps.CreateKernelConfig(target=ps.Target.GPU)\n",
     "    kernel_function_gpu = ps.create_kernel(update_rule, config=config).compile()\n",
     "    # transfer to GPU\n",
-    "    src_arr_gpu = pycuda.gpuarray.to_gpu(src_arr)\n",
-    "    dst_arr_gpu = pycuda.gpuarray.to_gpu(dst_arr)\n",
+    "    src_arr_gpu = cupy.asarray(src_arr)\n",
+    "    dst_arr_gpu = cupy.asarray(dst_arr)\n",
     "    \n",
     "    # run kernel on GPU, this is done many times in real setups\n",
     "    kernel_function_gpu(src=src_arr_gpu, dst=dst_arr_gpu)\n",
     "    \n",
     "    # transfer result back to CPU\n",
-    "    dst_arr_gpu.get(dst_arr)"
+    "    dst_arr = dst_arr_gpu.get()"
    ]
   },
   {
@@ -516,7 +505,7 @@
     "\n",
     "- symbolic pystencils field\n",
     "- numpy array on CPU \n",
-    "- for GPU run also a pycuda.gpuarray to mirror the data on the GPU\n",
+    "- for GPU use also cupy to mirror the data on the GPU\n",
     "\n",
     "Managing these three objects manually is tedious and error-prone. We'll see in the next section how the data handling object takes care of this problem."
    ]
@@ -768,14 +757,12 @@
    "outputs": [
     {
      "data": {
-      "image/png": "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J1c9GABwfHYzAJtqmUtkH5TkLVV15/Gv7e53rnQqAOBk7GYANtIpA7O7P5Pk4nMwCwCwBLsZgE3l25QAAAAwQmACAAAwQmACAAAwQmACAAAwQmACAAAwQmACAAAwQmACAAAwQmACAAAwQmACAAAwQmACAAAwQmACAAAwQmACAAAwQmACAAAwQmACAAAwQmACAAAwQmACAAAwQmACAAAwQmACAAAwQmACAAAwQmACAAAwQmACAAAwQmACAAAw4sC6B2DGu265dt0jwM572kMuWfcIsJPsMIDd4RlMAAAARghMAAAARghMAAAARghMAAAARghMAAAARghMAAAARghMAAAARghMAAAARghMAAAARghMAAAARghMAAAARghMAAAARghMAAAARghMAAAARghMAAAARghMAAAARghMAAAARghMAAAARghMAAAARghMAAAARghMAAAARghMAAAARghMAAAARiwdmFV1XlX9YVW9bZUDAQDLsZsB2DSn8wzmC5Ncv6pBAIDTZjcDsFGWCsyqujDJ05O8YrXjAADLsJsB2ETLPoP5siQvTvKNEx1QVVdU1eGqOnz06NGJ2QCAE3tZ7GYANswpA7OqnpHk1u4+crLjuvvK7j7U3Yf29vbGBgQAvpndDMCmWuYZzEuTPLOqbkzy+iSXVdXvrnQqAOBk7GYANtIpA7O7f6m7L+zug0mem+S93f3jK58MADguuxmATeX7YAIAADDiwOkc3N3XJLlmJZMAAKfNbgZgk3gGEwAAgBECEwAAgBECEwAAgBECEwAAgBECEwAAgBECEwAAgBECEwAAgBECEwAAgBECEwAAgBECEwAAgBECEwAAgBECEwAAgBECEwAAgBECEwAAgBECEwAAgBECEwAAgBECEwAAgBECEwAAgBECEwAAgBECEwAAgBECEwAAgBECEwAAgBECEwAAgBECEwAAgBECEwAAgBECEwAAgBECEwAAgBECEwAAgBECEwAAgBECEwAAgBECEwAAgBECEwAAgBECEwAAgBECEwAAgBECEwAAgBECEwAAgBECEwAAgBECEwAAgBECEwAAgBECEwAAgBECEwAAgBECEwAAgBECEwAAgBECEwAAgBECEwAAgBGnDMyquldVfaSqPl5V11XVL5+LwQCA47ObAdhUB5Y45mtJLuvur1bV+Uk+UFX/ubs/tOLZAIDjs5sB2EinDMzu7iRfXXx4/uKtVzkUAHBidjMAm2qp12BW1XlVdW2SW5Nc3d0fXulUAMBJ2c0AbKKlArO77+juS5JcmOQJVfU9dz2mqq6oqsNVdfjo0aPDYwIAx7KbAdhEp3UX2e6+Lck1SS4/zs9d2d2HuvvQ3t7ezHQAwEnZzQBskmXuIrtXVfdfvH/vJE9O8qkVzwUAnIDdDMCmWuYusg9O8uqqOi/7QfqG7n7bascCAE7CbgZgIy1zF9lPJHncOZgFAFiC3QzApjqt12ACAADAiQhMAAAARghMAAAARghMAAAARghMAAAARghMAAAARghMAAAARghMAAAARghMAAAARghMAAAARghMAAAARghMAAAARghMAAAARghMAAAARghMAAAARghMAAAARghMAAAARghMAAAARghMAAAARghMAAAARghMAAAARghMAAAARghMAAAARghMAAAARghMAAAARghMAAAARghMAAAARghMAAAARghMAAAARghMAAAARghMAAAARghMAAAARghMAAAARghMAAAARghMAAAARghMAAAARghMAAAARghMAAAARghMAAAARghMAAAARghMAAAARghMAAAARghMAAAARghMAAAARghMAAAARpwyMKvqoVX1vqq6vqquq6oXnovBAIDjs5sB2FQHljjm9iQv6u6PVdX9khypqqu7+49WPBsAcHx2MwAb6ZTPYHb3n3X3xxbvfyXJ9UkuWPVgAMDx2c0AbKrTeg1mVR1M8rgkH17JNADAabGbAdgkSwdmVd03yZuS/Hx3f/k4P39FVR2uqsNHjx6dnBEAOA67GYBNs1RgVtX52V9gr+nuNx/vmO6+srsPdfehvb29yRkBgLuwmwHYRMvcRbaS/HaS67v7pasfCQA4GbsZgE21zDOYlyZ5fpLLquraxdsPrXguAODE7GYANtIpv01Jd38gSZ2DWQCAJdjNAGyq07qLLAAAAJyIwAQAAGCEwAQAAGCEwAQAAGCEwAQAAGCEwAQAAGCEwAQAAGCEwAQAAGCEwAQAAGCEwAQAAGCEwAQAAGCEwAQAAGCEwAQAAGCEwAQAAGCEwAQAAGCEwAQAAGCEwAQAAGCEwAQAAGCEwAQAAGCEwAQAAGCEwAQAAGCEwAQAAGCEwAQAAGCEwAQAAGCEwAQAAGCEwAQAAGCEwAQAAGCEwAQAAGCEwAQAAGCE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\n",
+      "image/png": "iVBORw0KGgoAAAANSUhEUgAABP4AAAIQCAYAAAARnqAIAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAqsUlEQVR4nO3de3DV9Zn48SfhElBJACUgEkC8oSJoQSmiq1SUoepWO16G0RbZ6rAWrBbdKp2pyDo1dnbq6LQsgnaJ7cZFacXa7ipSFeyuWgSXXbXVQpdWqghqaxLSNmpyfn/sz7NNuZ1vSHKSD6/XzJnxfHMuT77j1KfvnEtJLpfLBQAAAACQlNJiDwAAAAAAtD/hDwAAAAASJPwBAAAAQIKEPwAAAABIkPAHAAAAAAkS/gAAAAAgQcIfAAAAACRI+AMAAACABAl/AAAAAJAg4Q9Iwj/8wz/EqFGjokePHnHyyScXexwAABL3ve99L0aPHh29evWK/v37F3scgN0S/oBOVVNTEyUlJa0ulZWVMWXKlHj88cfb9JhPPvlkfOUrX4nJkyfHsmXL4o477mjnqQEAOND84z/+Y5SUlMTEiRN3+dlrr70WV111VRx11FFx3333xdKlS+MPf/hD3HbbbbFmzZrOHxZgD3oWewDgwPT3f//3ceSRR0Yul4vt27dHTU1NfPrTn44f/ehHccEFF2R6rKeffjpKS0vjO9/5TvTu3buDJgYA4EBSW1sbI0eOjHXr1sXmzZvj6KOPzv9szZo10dLSEvfcc0/++LvvvhsLFy6MiIizzz67GCMD7MIr/oCimD59elx55ZXxuc99Lm666ab46U9/Gr169Yp/+Zd/yfxYO3bsiL59+7Zb9MvlcvHHP/6xXR4LAIDuZ8uWLfHcc8/FXXfdFYMGDYra2tpWP9+xY0dERKe8xbexsbHDnwNIl/AHdAn9+/ePvn37Rs+e//dC5JaWlrj77rvjxBNPjD59+sTgwYNj9uzZ8fvf/z5/m5KSkli2bFk0Njbm3zpcU1MTEREfffRR3H777XHUUUdFWVlZjBw5Mr761a9GU1NTq+ceOXJkXHDBBbFq1aqYMGFC9O3bN5YsWRIREe+//37ccMMNUVVVFWVlZXH00UfHN77xjWhpaen4kwIAQFHU1tbGgAED4vzzz49LLrmkVfgbOXJkLFiwICIiBg0aFCUlJXHVVVfFoEGDIiJi4cKF+b30tttuy9/vtddei0suuSQGDhwYffr0iQkTJsRjjz3W6nk//lictWvXxhe/+MWorKyMYcOGdfwvDCTLW32Boqirq4t33303crlc7NixI771rW/Fzp0748orr8zfZvbs2VFTUxOzZs2KL33pS7Fly5b49re/Hf/5n/8Z//Ef/xG9evWK733ve7F06dJYt25d3H///RERcfrpp0dExNVXXx0PPPBAXHLJJXHjjTfGz372s6iuro5f/OIXsXLlylbzvP766zFjxoyYPXt2XHPNNXHcccfFH/7whzjrrLPizTffjNmzZ8fw4cPjueeei/nz58e2bdvi7rvv7rTzBQBA56mtrY3Pfvaz0bt375gxY0YsXrw4XnzxxTj11FPj7rvvju9+97uxcuXKWLx4cRxyyCFx0kknxSc/+cm49tpr4+KLL47PfvazERExduzYiIh49dVXY/LkyXHEEUfELbfcEgcffHA8/PDDcdFFF8UPfvCDuPjii1s9/xe/+MUYNGhQ3HrrrV7xB+yfHEAnWrZsWS4idrmUlZXlampq8rf76U9/mouIXG1tbav7P/HEE7scnzlzZu7ggw9udbuNGzfmIiJ39dVXtzp+00035SIi9/TTT+ePjRgxIhcRuSeeeKLVbW+//fbcwQcfnPvlL3/Z6vgtt9yS69GjR+6NN95o20kAAKDLWr9+fS4icqtXr87lcrlcS0tLbtiwYbnrr78+f5sFCxbkIiL3zjvv5I+98847uYjILViwYJfHPOecc3InnXRS7k9/+lP+WEtLS+7000/PHXPMMfljH+/KZ5xxRu6jjz5q/18OOOB4qy9QFIsWLYrVq1fH6tWr45//+Z9jypQpcfXVV8cjjzwSERErVqyIioqKOPfcc+Pdd9/NX8aPHx+HHHJIPPPMM3t9/H/7t3+LiIh58+a1On7jjTdGRMS//uu/tjp+5JFHxrRp01odW7FiRZx55pkxYMCAVjNMnTo1mpub49lnn92vcwAAQNdTW1sbgwcPjilTpkTE/360zOWXXx7Lly+P5ubmzI/3u9/9Lp5++um47LLLoqGhIb9TvvfeezFt2rTYtGlTvPnmm63uc80110SPHj3a5fcBDmze6gsUxWmnnRYTJkzIX58xY0accsopMXfu3Ljgggti06ZNUVdXF5WVlbu9/8cfqLwnv/nNb6K0tLTVt69FRAwZMiT69+8fv/nNb1odP/LII3d5jE2bNsV///d/5z+vJesMAAB0L83NzbF8+fKYMmVKbNmyJX984sSJ8c1vfjOeeuqpOO+88zI95ubNmyOXy8XXvva1+NrXvrbb2+zYsSOOOOKI/PXd7aYAbSH8AV1CaWlpTJkyJe65557YtGlTtLS0RGVl5S7foPaxPcW4v1RSUlLQ7fr27bvLsZaWljj33HPjK1/5ym7vc+yxxxb02AAAdA9PP/10bNu2LZYvXx7Lly/f5ee1tbWZw9/HXwp300037fIOk4/95R+rd7ebArSF8Ad0GR999FFEROzcuTOOOuqo+MlPfhKTJ09u0+IzYsSIaGlpiU2bNsXxxx+fP759+/Z4//33Y8SIEft8jKOOOip27twZU6dOzfz8AAB0P7W1tVFZWRmLFi3a5WePPPJIrFy5Mu69997d3ndPf3AeNWpURET06tXLXgl0Op/xB3QJH374YTz55JPRu3fvOP744+Oyyy6L5ubmuP3223e57UcffRTvv//+Xh/v05/+dETELt+8e9ddd0VExPnnn7/PmS677LJ4/vnnY9WqVbv87P3338+HSgAAur8//vGP8cgjj8QFF1wQl1xyyS6XuXPnRkNDQzz22GO7vf9BBx0UEbHLnlpZWRlnn312LFmyJLZt27bL/d555512/10APuYVf0BRPP744/Haa69FxP9+psmDDz4YmzZtiltuuSXKy8vjrLPOitmzZ0d1dXVs3LgxzjvvvOjVq1ds2rQpVqxYEffcc09ccskle3z8cePGxcyZM2Pp0qXx/vvvx1lnnRXr1q2LBx54IC666KL8hzXvzd/93d/FY489FhdccEFcddVVMX78+GhsbIyXX345vv/978evf/3rOOyww9rtnAAAUDyPPfZYNDQ0xF//9V/v9uef/OQnY9CgQVFbWxuf+MQndvl5375944QTToiHHnoojj322Bg4cGCMGTMmxowZE4sWLYozzjgjTjrppLjmmmti1KhRsX379nj++efjt7/9bfzXf/1XR/96wAFK+AOK4tZbb83/c58+fWL06NGxePHimD17dv74vffeG+PHj48lS5bEV7/61ejZs2eMHDkyrrzyypg8efI+n+P++++PUaNGRU1NTaxcuTKGDBkS8+fPjwULFhQ040EHHRRr166NO+64I1asWBHf/e53o7y8PI499thYuHBhVFRUZP/FAQDokmpra6NPnz5x7rnn7vbnpaWlcf7550dtbe0ePzbm/vvvj+uuuy6+/OUvxwcffBALFiyIMWPGxAknnBDr16+PhQsXRk1NTbz33ntRWVkZp5xySqu9GKC9leRyuVyxhwAAAAAA2pfP+AMAAACABAl/AAAAAJAg4Q8AAAAAEiT8AQAAAECChD8AAAAASJDwBwAAAAAJ6tnZT9jS0hJvvfVW9OvXL0pKSjr76QEA9ksul4uGhoYYOnRolJb6G2p3ZB8FALq7QnfSTg9/b731VlRVVXX20wIAtKutW7fGsGHDij0GbWAfBQBSsa+dtNPDX79+/SLifwcrLy/v7KdvV5+p+HyxRwCAbuWHdd8t9gj7rb6+PqqqqvI7Dd1PSvtohJ0UALJIYR+NKHwn7fTw9/HbKcrLy7v9otWzpFexRwCAbqW7/7f/z3mLaPeV0j4aYScFgCxS+G//n9vXTuqDaQAAAAAgQcIfAAAAACRI+AMAAACABAl/AAAAAJAg4Q8AAAAAEiT8AQAAAECChD8AAAAASJDwBwAAAAAJEv4AAAAAIEHCHwAAAAAkSPgDAAAAgAQJfwAAAACQIOEPAAAAABIk/AEAAABAgoQ/AAAAAEiQ8AcAAAAACRL+AAAAACBBwh8AAAAAJEj4AwAAAIAECX8AAAAAkCDhDwAAAAASJPwBAAAAQIKEPwAAAABIkPAHAAAAAAkS/gAAAAAgQcIfAAAAACRI+AMAAACABAl/AAAAAJAg4Q8AAAAAEiT8AQAAAECChD8AAAAASFCm8HfbbbdFSUlJq8vo0aM7ajYAANiFnRQAoDA9s97hxBNPjJ/85Cf/9wA9Mz8EAADsFzspAMC+Zd6QevbsGUOGDOmIWQAAoCB2UgCAfcv8GX+bNm2KoUOHxqhRo+KKK66IN954oyPmAgCAPbKTAgDsW6ZX/E2cODFqamriuOOOi23btsXChQvjzDPPjFdeeSX69eu32/s0NTVFU1NT/np9ff3+TQwAwAEt605qHwUADlSZwt/06dPz/zx27NiYOHFijBgxIh5++OH4whe+sNv7VFdXx8KFC/dvSgAA+P+y7qT2UQDgQJX5rb5/rn///nHsscfG5s2b93ib+fPnR11dXf6ydevW/XlKAABoZV87qX0UADhQ7Vf427lzZ/zqV7+Kww8/fI+3KSsri/Ly8lYXAABoL/vaSe2jAMCBKlP4u+mmm2Lt2rXx61//Op577rm4+OKLo0ePHjFjxoyOmg8AAFqxkwIAFCbTZ/z99re/jRkzZsR7770XgwYNijPOOCNeeOGFGDRoUEfNBwAArdhJAQAKkyn8LV++vKPmAACAgthJAQAKs1+f8QcAAAAAdE3CHwAAAAAkSPgDAAAAgAQJfwAAAACQIOEPAAAAABIk/AEAAABAgoQ/AAAAAEiQ8AcAAAAACRL+AAAAACBBwh8AAAAAJEj4AwAAAIAECX8AAAAAkCDhDwAAAAASJPwBAAAAQIKEPwAAAABIkPAHAAAAAAkS/gAAAAAgQcIfAAAAACRI+AMAAACABAl/AAAAAJAg4Q8AAAAAEiT8AQAAAECChD8AAAAASJDwBwAAAAAJEv4AAAAAIEHCHwAAAAAkSPgDAAAAgAQJfwAAAACQIOEPAAAAABIk/AEAAABAgoQ/AAAAAEiQ8AcAAAAACepZ7AE4sKx6a2OxRwBoN9OGnlzsEQDsVwDAHnnFHwAAAAAkSPgDAAAAgAQJfwAAAACQIOEPAAAAABIk/AEAAABAgoQ/AAAAAEiQ8AcAAAAACRL+AAAAACBBwh8AAAAAJEj4AwAAAIAECX8AAAAAkCDhDwAAAAASJPwBAAAAQIKEPwAAAABIkPAHAAAAAAkS/gAAAAAgQcIfAAAAACRI+AMAAACABAl/AAAAAJAg4Q8AAAAAEiT8AQAAAECChD8AAAAASJDwBwAAAAAJEv4AAAAAIEHCHwAAAAAkSPgDAAAAgAQJfwAAAACQIOEPAAAAABIk/AEAAABAgoQ/AAAAAEiQ8AcAAAAACRL+AAAAACBBwh8AAAAAJGi/wt+dd94ZJSUlccMNN7TTOAAAUDj7KADAnrU5/L344ouxZMmSGDt2bHvOAwAABbGPAgDsXZvC386dO+OKK66I++67LwYMGNDeMwEAwF7ZRwEA9q1N4W/OnDlx/vnnx9SpU9t7HgAA2Cf7KADAvvXMeofly5fHSy+9FC+++GJBt29qaoqmpqb89fr6+qxPCQAAefZRAIDCZHrF39atW+P666+P2tra6NOnT0H3qa6ujoqKivylqqqqTYMCAIB9FACgcCW5XC5X6I0fffTRuPjii6NHjx75Y83NzVFSUhKlpaXR1NTU6mcRu/8La1VVVdTV1UV5eXk7/ArFc27ppcUeodtZ9dbGYo8A0G6mDT252CN0O6tbVhR7hP1WX18fFRUVSewy3ZF9dFctbx9T7BEAoNsoHbKp2CO0i0J30kxv9T3nnHPi5ZdfbnVs1qxZMXr06Lj55pt3WbIiIsrKyqKsrCzL0wAAwG7ZRwEACpcp/PXr1y/GjBnT6tjBBx8chx566C7HAQCgvdlHAQAK16Zv9QUAAAAAurbM3+r7l9asWdMOYwAAQNvYRwEAds8r/gAAAAAgQcIfAAAAACRI+AMAAACABAl/AAAAAJAg4Q8AAAAAEiT8AQAAAECChD8AAAAASJDwBwAAAAAJEv4AAAAAIEHCHwAAAAAkSPgDAAAAgAQJfwAAAACQIOEPAAAAABIk/AEAAABAgoQ/AAAAAEiQ8AcAAAAACRL+AAAAACBBwh8AAAAAJEj4AwAAAIAECX8AAAAAkCDhDwAAAAASJPwBAAAAQIKEPwAAAABIkPAHAAAAAAkS/gAAAAAgQcIfAAAAACRI+AMAAACABAl/AAAAAJAg4Q8AAAAAEiT8AQAAAECChD8AAAAASJDwBwAAAAAJEv4AAAAAIEHCHwAAAAAkSPgDAAAAgAQJfwAAAACQIOEPAAAAABIk/AEAAABAgoQ/AAAAAEiQ8AcAAAAACRL+AAAAACBBwh8AAAAAJEj4AwAAAIAECX8AAAAAkCDhDwAAAAASJPwBAAAAQIKEPwAAAABIkPAHAAAAAAkS/gAAAAAgQcIfAAAAACRI+AMAAACABAl/AAAAAJAg4Q8AAAAAEiT8AQAAAECChD8AAAAASJDwBwAAAAAJEv4AAAAAIEHCHwAAAAAkSPgDAAAAgAQJfwAAAACQIOEPAAAAABIk/AEAAABAgoQ/AAAAAEiQ8AcAAAAACRL+AAAAACBBwh8AAAAAJChT+Fu8eHGMHTs2ysvLo7y8PCZNmhSPP/54R80GAAC7sJMCABQmU/gbNmxY3HnnnbFhw4ZYv359fOpTn4rPfOYz8eqrr3bUfAAA0IqdFACgMD2z3PjCCy9sdf3rX/96LF68OF544YU48cQT23UwAADYHTspAEBhMoW/P9fc3BwrVqyIxsbGmDRpUnvOBAAABbGTAgDsWebw9/LLL8ekSZPiT3/6UxxyyCGxcuXKOOGEE/Z4+6ampmhqaspfr6+vb9ukAADw/2XZSe2jAMCBKvO3+h533HGxcePG+NnPfhbXXnttzJw5M37+85/v8fbV1dVRUVGRv1RVVe3XwAAAkGUntY8CAAeqklwul9ufB5g6dWocddRRsWTJkt3+fHd/Ya2qqoq6urooLy/fn6cuunNLLy32CN3Oqrc2FnsEgHYzbejJxR6h21ndsqLYI+y3+vr6qKioSGKXScnedtKU99GIiJa3jyn2CADQbZQO2VTsEdpFoTtpmz/j72MtLS2tFqm/VFZWFmVlZfv7NAAAsEd720ntowDAgSpT+Js/f35Mnz49hg8fHg0NDfHggw/GmjVrYtWqVR01HwAAtGInBQAoTKbwt2PHjvj85z8f27Zti4qKihg7dmysWrUqzj333I6aDwAAWrGTAgAUJlP4+853vtNRcwAAQEHspAAAhcn8rb4AAAAAQNcn/AEAAABAgoQ/AAAAAEiQ8AcAAAAACRL+AAAAACBBwh8AAAAAJEj4AwAAAIAECX8AAAAAkCDhDwAAAAASJPwBAAAAQIKEPwAAAABIkPAHAAAAAAkS/gAAAAAgQcIfAAAAACRI+AMAAACABAl/AAAAAJAg4Q8AAAAAEiT8AQAAAECChD8AAAAASJDwBwAAAAAJEv4AAAAAIEHCHwAAAAAkSPgDAAAAgAQJfwAAAACQIOEPAAAAABIk/AEAAABAgoQ/AAAAAEiQ8AcAAAAACRL+AAAAACBBwh8AAAAAJEj4AwAAAIAECX8AAAAAkCDhDwAAAAASJPwBAAAAQIKEPwAAAABIkPAHAAAAAAkS/gAAAAAgQcIfAAAAACRI+AMAAACABAl/AAAAAJAg4Q8AAAAAEiT8AQAAAECChD8AAAAASJDwBwAAAAAJEv4AAAAAIEHCHwAAAAAkSPgDAAAAgAQJfwAAAACQIOEPAAAAABIk/AEAAABAgoQ/AAAAAEiQ8AcAAAAACRL+AAAAACBBwh8AAAAAJEj4AwAAAIAECX8AAAAAkCDhDwAAAAASJPwBAAAAQIKEPwAAAABIkPAHAAAAAAkS/gAAAAAgQcIfAAAAACRI+AMAAACABAl/AAAAAJAg4Q8AAAAAEiT8AQAAAECCMoW/6urqOPXUU6Nfv35RWVkZF110Ubz++usdNRsAALRiHwUAKFym8Ld27dqYM2dOvPDCC7F69er48MMP47zzzovGxsaOmg8AAPLsowAAheuZ5cZPPPFEq+s1NTVRWVkZGzZsiL/6q79q18EAAOAv2UcBAAq3X5/xV1dXFxERAwcObJdhAAAgC/soAMCeZXrF359raWmJG264ISZPnhxjxozZ4+2ampqiqakpf72+vr6tTwkAAHn2UQCAvWvzK/7mzJkTr7zySixfvnyvt6uuro6Kior8paqqqq1PCQAAefZRAIC9a1P4mzt3bvz4xz+OZ555JoYNG7bX286fPz/q6uryl61bt7ZpUAAA+Jh9FABg3zK91TeXy8V1110XK1eujDVr1sSRRx65z/uUlZVFWVlZmwcEAICP2UcBAAqXKfzNmTMnHnzwwfjhD38Y/fr1i7fffjsiIioqKqJv374dMiAAAHzMPgoAULhMb/VdvHhx1NXVxdlnnx2HH354/vLQQw911HwAAJBnHwUAKFzmt/oCAECx2EcBAArX5m/1BQAAAAC6LuEPAAAAABIk/AEAAABAgoQ/AAAAAEiQ8AcAAAAACRL+AAAAACBBwh8AAAAAJEj4AwAAAIAECX8AAAAAkCDhDwAAAAASJPwBAAAAQIKEPwAAAABIkPAHAAAAAAkS/gAAAAAgQcIfAAAAACRI+AMAAACABAl/AAAAAJAg4Q8AAAAAEiT8AQAAAECChD8AAAAASJDwBwAAAAAJEv4AAAAAIEHCHwAAAAAkSPgDAAAAgAQJfwAAAACQIOEPAAAAABIk/AEAAABAgoQ/AAAAAEiQ8AcAAAAACRL+AAAAACBBwh8AAAAAJEj4AwAAAIAECX8AAAAAkCDhDwAAAAASJPwBAAAAQIKEPwAAAABIkPAHAAAAAAkS/gAAAAAgQcIfAAAAACRI+AMAAACABAl/AAAAAJAg4Q8AAAAAEiT8AQAAAECChD8AAAAASJDwBwAAAAAJEv4AAAAAIEHCHwAAAAAkSPgDAAAAgAQJfwAAAACQIOEPAAAAABIk/AEAAABAgoQ/AAAAAEiQ8AcAAAAACRL+AAAAACBBwh8AAAAAJEj4AwAAAIAECX8AAAAAkCDhDwAAAAASJPwBAAAAQIKEPwAAAABIkPAHAAAAAAkS/gAAAAAgQcIfAAAAACRI+AMAAACABAl/AAAAAJAg4Q8AAAAAEpQ5/D377LNx4YUXxtChQ6OkpCQeffTRDhgLAAB2zz4KAFCYzOGvsbExxo0bF4sWLeqIeQAAYK/sowAAhemZ9Q7Tp0+P6dOnd8QsAACwT/ZRAIDC+Iw/AAAAAEhQ5lf8ZdXU1BRNTU356/X19R39lAAAkGcfBQAOVB3+ir/q6uqoqKjIX6qqqjr6KQEAIM8+CgAcqDo8/M2fPz/q6uryl61bt3b0UwIAQJ59FAA4UHX4W33LysqirKyso58GAAB2yz4KAByoMoe/nTt3xubNm/PXt2zZEhs3boyBAwfG8OHD23U4AAD4S/ZRAIDCZA5/69evjylTpuSvz5s3LyIiZs6cGTU1Ne02GAAA7I59FACgMJnD39lnnx25XK4jZgEAgH2yjwIAFKbDv9wDAAAAAOh8wh8AAAAAJEj4AwAAAIAECX8AAAAAkCDhDwAAAAASJPwBAAAAQIKEPwAAAABIkPAHAAAAAAkS/gAAAAAgQcIfAAAAACRI+AMAAACABAl/AAAAAJAg4Q8AAAAAEiT8AQAAAECChD8AAAAASJDwBwAAAAAJEv4AAAAAIEHCHwAAAAAkSPgDAAAAgAQJfwAAAACQIOEPAAAAABIk/AEAAABAgoQ/AAAAAEiQ8AcAAAAACRL+AAAAACBBwh8AAAAAJEj4AwAAAIAECX8AAAAAkCDhDwAAAAASJPwBAAAAQIKEPwAAAABIkPAHAAAAAAnqWewBOLBMG3pysUcAAEiK/QoACre6pdgTdC6v+AMAAACABAl/AAAAAJAg4Q8AAAAAEiT8AQAAAECChD8AAAAASJDwBwAAAAAJEv4AAAAAIEHCHwAAAAAkSPgDAAAAgAQJfwAAAACQIOEPAAAAABIk/AEAAABAgoQ/AAAAAEiQ8AcAAAAACRL+AAAAACBBwh8AAAAAJEj4AwAAAIAECX8AAAAAkCDhDwAAAAASJPwBAAAAQIKEPwAAAABIkPAHAAAAAAkS/gAAAAAgQcIfAAAAACRI+AMAAACABAl/AAAAAJAg4Q8AAAAAEiT8AQAAAECChD8AAAAASJDwBwAAAAAJEv4AAAAAIEHCHwAAAAAkSPgDAAAAgAS1KfwtWrQoRo4cGX369ImJEyfGunXr2nsuAADYI/soAMC+ZQ5/Dz30UMybNy8WLFgQL730UowbNy6mTZsWO3bs6Ij5AACgFfsoAEBhMoe/u+66K6655pqYNWtWnHDCCXHvvffGQQcdFP/0T//UEfMBAEAr9lEAgMJkCn8ffPBBbNiwIaZOnfp/D1BaGlOnTo3nn3++3YcDAIA/Zx8FAChczyw3fvfdd6O5uTkGDx7c6vjgwYPjtdde2+19mpqaoqmpKX+9vr6+DWMCAIB9FAAgiw7/Vt/q6uqoqKjIX6qqqjr6KQEAIM8+CgAcqDKFv8MOOyx69OgR27dvb3V8+/btMWTIkN3eZ/78+VFXV5e/bN26te3TAgBwQLOPAgAULlP46927d4wfPz6eeuqp/LGWlpZ46qmnYtKkSbu9T1lZWZSXl7e6AABAW9hHAQAKl+kz/iIi5s2bFzNnzowJEybEaaedFnfffXc0NjbGrFmzOmI+AABoxT4KAFCYzOHv8ssvj3feeSduvfXWePvtt+Pkk0+OJ554YpcPWAYAgI5gHwUAKEzm8BcRMXfu3Jg7d257zwIAAAWxjwIA7FuHf6svAAAAAND5hD8AAAAASJDwBwAAAAAJEv4AAAAAIEHCHwAAAAAkSPgDAAAAgAQJfwAAAACQIOEPAAAAABIk/AEAAABAgoQ/AAAAAEiQ8AcAAAAACRL+AAAAACBBwh8AAAAAJEj4AwAAAIAECX8AAAAAkCDhDwAAAAASJPwBAAAAQIKEPwAAAABIkPAHAAAAAAkS/gAAAAAgQcIfAAAAACRI+AMAAACABAl/AAAAAJAg4Q8AAAAAEiT8AQAAAECChD8AAAAASJDwBwAAAAAJEv4AAAAAIEHCHwAAAAAkSPgDAAAAgAQJfwAAAACQoJ6d/YS5XC4iIurr6zv7qdvdR7kPiz0CAHQrKfz3/+Pf4eOdhu4npX00wk4KAFmk8t//QnfSTg9/DQ0NERFRVVXV2U8NABRZRUVFsUdoNw0NDUn9PgcS+ygAHLhS29/2tZOW5Dr5z9UtLS3x1ltvRb9+/aKkpGSft6+vr4+qqqrYunVrlJeXd8KE3Z9zlp1zlp1zlp1zlp1zlp1zll3Wc5bL5aKhoSGGDh0apaU+NaU7so92POcsO+csO+csO+csO+csO+csu7acs0J30k5/xV9paWkMGzYs8/3Ky8v9C5ORc5adc5adc5adc5adc5adc5ZdlnOW2l+KDzT20c7jnGXnnGXnnGXnnGXnnGXnnGWX9ZwVspP6MzUAAAAAJEj4AwAAAIAEdfnwV1ZWFgsWLIiysrJij9JtOGfZOWfZOWfZOWfZOWfZOWfZOWfsi39HsnPOsnPOsnPOsnPOsnPOsnPOsuvIc9bpX+4BAAAAAHS8Lv+KPwAAAAAgO+EPAAAAABIk/AEAAABAgoQ/AAAAAEhQtwp/X//61+P000+Pgw46KPr371/scbqkRYsWxciRI6NPnz4xceLEWLduXbFH6tKeffbZuPDCC2Po0KFRUlISjz76aLFH6vKqq6vj1FNPjX79+kVlZWVcdNFF8frrrxd7rC5t8eLFMXbs2CgvL4/y8vKYNGlSPP7448Ueq9u48847o6SkJG644YZij9Kl3XbbbVFSUtLqMnr06GKP1aW9+eabceWVV8ahhx4affv2jZNOOinWr19f7LHo4uyjhbGTFs4+mp19NDv76P6zk+6bfbRtOnon7Vbh74MPPohLL700rr322mKP0iU99NBDMW/evFiwYEG89NJLMW7cuJg2bVrs2LGj2KN1WY2NjTFu3LhYtGhRsUfpNtauXRtz5syJF154IVavXh0ffvhhnHfeedHY2Fjs0bqsYcOGxZ133hkbNmyI9evXx6c+9an4zGc+E6+++mqxR+vyXnzxxViyZEmMHTu22KN0CyeeeGJs27Ytf/n3f//3Yo/UZf3+97+PyZMnR69eveLxxx+Pn//85/HNb34zBgwYUOzR6OLso/tmJ83GPpqdfTQ7++j+sZMWzj6aTafspLluaNmyZbmKiopij9HlnHbaabk5c+bkrzc3N+eGDh2aq66uLuJU3UdE5FauXFnsMbqdHTt25CIit3bt2mKP0q0MGDAgd//99xd7jC6toaEhd8wxx+RWr16dO+uss3LXX399sUfq0hYsWJAbN25cscfoNm6++ebcGWecUewx6Mbso3tmJ207+2jb2Efbxj5aGDtp4eyj2XXGTtqtXvHHnn3wwQexYcOGmDp1av5YaWlpTJ06NZ5//vkiTkbq6urqIiJi4MCBRZ6ke2hubo7ly5dHY2NjTJo0qdjjdGlz5syJ888/v9X/rrF3mzZtiqFDh8aoUaPiiiuuiDfeeKPYI3VZjz32WEyYMCEuvfTSqKysjFNOOSXuu+++Yo8F3Z6dlGKwj2ZjH83GTpqNfTSbzthJhb9EvPvuu9Hc3ByDBw9udXzw4MHx9ttvF2kqUtfS0hI33HBDTJ48OcaMGVPscbq0l19+OQ455JAoKyuLv/3bv42VK1fGCSecUOyxuqzly5fHSy+9FNXV1cUepduYOHFi1NTUxBNPPBGLFy+OLVu2xJlnnhkNDQ3FHq1L+p//+Z9YvHhxHHPMMbFq1aq49tpr40tf+lI88MADxR4NujU7KZ3NPlo4+2h2dtJs7KPZdcZO2rPdHqmNbrnllvjGN76x19v84he/8IGQ0AXNmTMnXnnlFZ/bUIDjjjsuNm7cGHV1dfH9738/Zs6cGWvXrrVs7cbWrVvj+uuvj9WrV0efPn2KPU63MX369Pw/jx07NiZOnBgjRoyIhx9+OL7whS8UcbKuqaWlJSZMmBB33HFHRESccsop8corr8S9994bM2fOLPJ0dDb7KHRf9tHC2UezsZNmZx/NrjN20qKHvxtvvDGuuuqqvd5m1KhRnTNMN3bYYYdFjx49Yvv27a2Ob9++PYYMGVKkqUjZ3Llz48c//nE8++yzMWzYsGKP0+X17t07jj766IiIGD9+fLz44otxzz33xJIlS4o8WdezYcOG2LFjR3ziE5/IH2tubo5nn302vv3tb0dTU1P06NGjiBN2D/37949jjz02Nm/eXOxRuqTDDz98l/+jc/zxx8cPfvCDIk1EMdlH24+dlM5kH83GPpqNnXT/2Uf3rTN20qKHv0GDBsWgQYOKPUa317t37xg/fnw89dRTcdFFF0XE/5bjp556KubOnVvc4UhKLpeL6667LlauXBlr1qyJI488stgjdUstLS3R1NRU7DG6pHPOOSdefvnlVsdmzZoVo0ePjptvvtmCVaCdO3fGr371q/jc5z5X7FG6pMmTJ8frr7/e6tgvf/nLGDFiRJEmopjso+3HTkpnsI+2D/vo3tlJ9599dN86YyctevjL4o033ojf/e538cYbb0Rzc3Ns3LgxIiKOPvroOOSQQ4o7XBcwb968mDlzZkyYMCFOO+20uPvuu6OxsTFmzZpV7NG6rJ07d7b668OWLVti48aNMXDgwBg+fHgRJ+u65syZEw8++GD88Ic/jH79+uU/r6eioiL69u1b5Om6pvnz58f06dNj+PDh0dDQEA8++GCsWbMmVq1aVezRuqR+/frt8hk9Bx98cBx66KE+u2cvbrrpprjwwgtjxIgR8dZbb8WCBQuiR48eMWPGjGKP1iV9+ctfjtNPPz3uuOOOuOyyy2LdunWxdOnSWLp0abFHo4uzj+6bnTQb+2h29tHs7KPZ2Umzs49m1yk7aYd+Z3A7mzlzZi4idrk888wzxR6ty/jWt76VGz58eK5379650047LffCCy8Ue6Qu7Zlnntntv1MzZ84s9mhd1u7OV0Tkli1bVuzRuqy/+Zu/yY0YMSLXu3fv3KBBg3LnnHNO7sknnyz2WN3KWWedlbv++uuLPUaXdvnll+cOP/zwXO/evXNHHHFE7vLLL89t3ry52GN1aT/60Y9yY8aMyZWVleVGjx6dW7p0abFHohuwjxbGTlo4+2h29tHs7KPtw066d/bRtunonbQkl8vl2i8jAgAAAABdQWmxBwAAAAAA2p/wBwAAAAAJEv4AAAAAIEHCHwAAAAAkSPgDAAAAgAQJfwAAAACQIOEPAAAAABIk/AEAAABAgoQ/AAAAAEiQ8AcAAAAACRL+AAAAACBBwh8AAAAAJOj/ASi3j+KAC2LWAAAAAElFTkSuQmCC",
       "text/plain": [
-       "<Figure size 1152x432 with 2 Axes>"
+       "<Figure size 1600x600 with 2 Axes>"
       ]
      },
-     "metadata": {
-      "needs_background": "light"
-     },
+     "metadata": {},
      "output_type": "display_data"
     }
    ],
@@ -826,7 +813,61 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "(-1, -1) (32, 32)\n"
+      "(-1, -1) (32, 32)\n",
+      "[0][PROGRESS]------(0.000 sec) Initializing SetupBlockForest:\n",
+      "[0]                             - AABB: [ <0,0,0>, <30,30,1> ]\n",
+      "[0]                             - forest size (root blocks / blocks on the initial grid): 1 x 1 x 1\n",
+      "[0]                             - periodicity: false x false x false\n",
+      "[0][PROGRESS]------(0.000 sec) Initializing SetupBlockForest: Allocating root blocks ...\n",
+      "[0][PROGRESS]------(0.000 sec) Initializing SetupBlockForest: Setting up neighborhood information for each block (with respect to periodicity) ...\n",
+      "[0][PROGRESS]------(0.000 sec) Initializing SetupBlockForest: Assigning workload, memory requirements, and SUIDs to blocks ...\n",
+      "[0][PROGRESS]------(0.000 sec) Initializing SetupBlockForest: finished!\n",
+      "[0]                            The following block structure has been created:\n",
+      "[0]                            - AABB: [ <0,0,0>, <30,30,1> ]\n",
+      "[0]                            - initial decomposition: 1 x 1 x 1 (= forest size)\n",
+      "[0]                            - periodicity: false x false x false\n",
+      "[0]                            - number of blocks discarded from the initial grid: 0 (= 0 %)\n",
+      "[0]                            - number of levels: 1\n",
+      "[0]                            - tree ID digits: 1 (-> block ID bytes = 1)\n",
+      "[0]                            - total number of blocks: 1\n",
+      "[0]                            - blocks have not yet been distributed to processes\n",
+      "[0][PROGRESS]------(0.000 sec) Balancing SetupBlockForest: Creating a process distribution for 1 process(es) ...\n",
+      "[0][PROGRESS]------(0.000 sec) Balancing SetupBlockForest: process distribution to 1 process(es) finished!\n",
+      "[0]                            - number of worker processes:       1\n",
+      "[0]                            - number of empty buffer processes: 0\n",
+      "[0]                            - buffer processes are inserted into the process network: no\n",
+      "[0]                            The resulting block structure looks like as follows:\n",
+      "[0]                            - AABB: [ <0,0,0>, <30,30,1> ]\n",
+      "[0]                            - initial decomposition: 1 x 1 x 1 (= forest size)\n",
+      "[0]                            - periodicity: false x false x false\n",
+      "[0]                            - number of blocks discarded from the initial grid: 0 (= 0 %)\n",
+      "[0]                            - number of levels: 1\n",
+      "[0]                            - tree ID digits: 1 (-> block ID bytes = 1)\n",
+      "[0]                            - total number of blocks: 1\n",
+      "[0]                            - number of processes: 1 (1 worker process(es) / 0 empty buffer process(es))\n",
+      "[0]                            - buffer processes are inserted into the process network: no\n",
+      "[0]                            - process ID bytes: 0\n",
+      "[0]                            - blocks/memory/workload per process:\n",
+      "[0]                               + blocks:\n",
+      "[0]                                  - min       = 1\n",
+      "[0]                                  - max       = 1\n",
+      "[0]                                  - avg       = 1\n",
+      "[0]                                  - stdDev    = 0\n",
+      "[0]                                  - relStdDev = 0\n",
+      "[0]                               + memory:\n",
+      "[0]                                  - min       = 1\n",
+      "[0]                                  - max       = 1\n",
+      "[0]                                  - avg       = 1\n",
+      "[0]                                  - stdDev    = 0\n",
+      "[0]                                  - relStdDev = 0\n",
+      "[0]                               + workload:\n",
+      "[0]                                  - min       = 1\n",
+      "[0]                                  - max       = 1\n",
+      "[0]                                  - avg       = 1\n",
+      "[0]                                  - stdDev    = 0\n",
+      "[0]                                  - relStdDev = 0\n",
+      "[0][PROGRESS]------(0.000 sec) Adding block data (\"cell bounding box\")\n",
+      "[0][PROGRESS]------(0.000 sec) Adding block data (\"field\")\n"
      ]
     }
    ],
@@ -858,10 +899,64 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "(-1, -1, -1) (22, 12, 22)\n",
+      "(-1, -1, -1)[0][PROGRESS]------(0.025 sec) Initializing SetupBlockForest:\n",
+      "[0]                             - AABB: [ <0,0,0>, <40,10,40> ]\n",
+      "[0]                             - forest size (root blocks / blocks on the initial grid): 2 x 1 x 2\n",
+      "[0]                             - periodicity: true x false x false\n",
+      " (22, 12, 22)\n",
       "(19, -1, -1) (22, 12, 22)\n",
       "(-1, -1, 19) (22, 12, 22)\n",
-      "(19, -1, 19) (22, 12, 22)\n"
+      "(19, -1, 19) (22, 12, 22)\n",
+      "[0][PROGRESS]------(0.025 sec) Initializing SetupBlockForest: Allocating root blocks ...\n",
+      "[0][PROGRESS]------(0.025 sec) Initializing SetupBlockForest: Setting up neighborhood information for each block (with respect to periodicity) ...\n",
+      "[0][PROGRESS]------(0.025 sec) Initializing SetupBlockForest: Assigning workload, memory requirements, and SUIDs to blocks ...\n",
+      "[0][PROGRESS]------(0.025 sec) Initializing SetupBlockForest: finished!\n",
+      "[0]                            The following block structure has been created:\n",
+      "[0]                            - AABB: [ <0,0,0>, <40,10,40> ]\n",
+      "[0]                            - initial decomposition: 2 x 1 x 2 (= forest size)\n",
+      "[0]                            - periodicity: true x false x false\n",
+      "[0]                            - number of blocks discarded from the initial grid: 0 (= 0 %)\n",
+      "[0]                            - number of levels: 1\n",
+      "[0]                            - tree ID digits: 3 (-> block ID bytes = 1)\n",
+      "[0]                            - total number of blocks: 4\n",
+      "[0]                            - blocks have not yet been distributed to processes\n",
+      "[0][PROGRESS]------(0.025 sec) Balancing SetupBlockForest: Creating a process distribution for 1 process(es) ...\n",
+      "[0][PROGRESS]------(0.025 sec) Balancing SetupBlockForest: process distribution to 1 process(es) finished!\n",
+      "[0]                            - number of worker processes:       1\n",
+      "[0]                            - number of empty buffer processes: 0\n",
+      "[0]                            - buffer processes are inserted into the process network: no\n",
+      "[0]                            The resulting block structure looks like as follows:\n",
+      "[0]                            - AABB: [ <0,0,0>, <40,10,40> ]\n",
+      "[0]                            - initial decomposition: 2 x 1 x 2 (= forest size)\n",
+      "[0]                            - periodicity: true x false x false\n",
+      "[0]                            - number of blocks discarded from the initial grid: 0 (= 0 %)\n",
+      "[0]                            - number of levels: 1\n",
+      "[0]                            - tree ID digits: 3 (-> block ID bytes = 1)\n",
+      "[0]                            - total number of blocks: 4\n",
+      "[0]                            - number of processes: 1 (1 worker process(es) / 0 empty buffer process(es))\n",
+      "[0]                            - buffer processes are inserted into the process network: no\n",
+      "[0]                            - process ID bytes: 0\n",
+      "[0]                            - blocks/memory/workload per process:\n",
+      "[0]                               + blocks:\n",
+      "[0]                                  - min       = 4\n",
+      "[0]                                  - max       = 4\n",
+      "[0]                                  - avg       = 4\n",
+      "[0]                                  - stdDev    = 0\n",
+      "[0]                                  - relStdDev = 0\n",
+      "[0]                               + memory:\n",
+      "[0]                                  - min       = 4\n",
+      "[0]                                  - max       = 4\n",
+      "[0]                                  - avg       = 4\n",
+      "[0]                                  - stdDev    = 0\n",
+      "[0]                                  - relStdDev = 0\n",
+      "[0]                               + workload:\n",
+      "[0]                                  - min       = 4\n",
+      "[0]                                  - max       = 4\n",
+      "[0]                                  - avg       = 4\n",
+      "[0]                                  - stdDev    = 0\n",
+      "[0]                                  - relStdDev = 0\n",
+      "[0][PROGRESS]------(0.025 sec) Adding block data (\"cell bounding box\")\n",
+      "[0][PROGRESS]------(0.026 sec) Adding block data (\"field\")\n"
      ]
     }
    ],
@@ -892,7 +987,7 @@
    "outputs": [
     {
      "data": {
-      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAGoAAAAVCAYAAACuVXuDAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADhUlEQVRoBe2Z7W3bMBCGHaMDGO0G6gZJs0GygeNO0HiDFv1l/yvSDdpOUCQbJBsE9Qb2BnW8gfs+jE5lJUo2bIoS0BxwOvL4dXqPR1LUYLvdDnyezWaZn39J/4tPCjxCPhgOPJrP5x+VPfVUL8luEMhyXxSjnzBDIBWMJc4lPzlFzUPlOHIqOS1Xke4m1/2WfCu+kW5Vrhcrn9tyq/7OlN6E+k1tk9mQ23YwTmpP0Gwkv9OniyhlRkp/lmx0Eg1EAPPapbyH2v5S9pE+xF+Vpq97pTOv2tFJ9TcS34q/qbMf4tr+VSeJTTUvdRROsh0McTS+eXaUJJHAizeSGuHlCkl/LSUA3lmh0sxw8jv7tTb7SPoVX4mJ6J91bVSezKayDRo7Fk5g51Yp26Mm6tyFWHlQy6ucJQ/w4TJdSbEoK5V/FF+orZsVgfI2VZ3YFBOn3Cf4ZjTUg71pn33kfd4wBO6FlOtAgfVLeWrqyqbYOIHhhIi6FD80oSgHEcrBJQxvN7XNyyp72h5tDq7SlU0t4YRvLnHUO/GyDhUNnqmMfcGio1zVnBBaEq3uPs60ujFkcptaxAnfZDgKEEPLlgHGyaNx/7KKDfJNQ1lXRbFtagsnfOMcxewLRoMcxMkpuOR56DY52WY231UpKalNLePESjYiooKUhzJH7rolz7VTuTk5tLyZrrGPoAFHKFPalAAnF0ivhAezzwD14WFv4qaCDzefTpXhigP9SpIPWzY86pfJIqrxsFJuFCmfyqa2ccI3axzFbK+ALAfwohWApX9CL8l3ihFOs+sj0yHPxAvV3ZhSaaK0yJu+BZnEJr1LKzh5eDDZV0M9FuJzr2BXEg/DBclYDhtrSb7JHClNnYn4w7PG3Seie1IZVzsxyA4EFrlFnx3aZDYcjJN1kEs32U90pc5Sxt0Zl6i1pHIOFUSefbxyPcTdHndSA0kMI6o2Yg4POP+L9EyEgpS3T4Hai9Sick1CfdhyjC2MyxisDNwtFidUpZPZpLEdacwoOHn9gdfU/YuSs5Y4LMW/FsbQWGPxKNV4+4zTU5sy2bXEfpY+iEio/LZwJe08OKQQeX2iPtrEQe3vpWy+XHCSqxwqYiOpMViOUn9XNb5GT23CF/jELeUWUbwIp7hdH7fUO5auNbjb147tKGL7PtqEL4pVrvjDy0sLQLw47iGQmPffkPDnEvxOsrgo+AP8ixo954XzTQAAAABJRU5ErkJggg==\n",
+      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAH4AAAAUCAYAAABLTIm0AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAABJ0AAASdAHeZh94AAAEGUlEQVR4nO2aW4hVVRjHf2M+aGYzYITQBdIc8UGaytAIjcys3gYUfDFNUSSrsUgiL/nvE7o8pKLdsXAshAoGDerFF0E0Lxn2pnmnCKGyMu+UTg9rrZk9e/Y+5+x9Zs526PzhsNjf3mut3/7W9Vv7NHR2dlLX/0+DigaoqxgNTjKa2WbgSeAuSRdqi1RXX8nM7gcOAAslfRy91xCf6s3sAWAfsFTS2hKFzgY+85e9Co48dzuwGngCGAGcBrYBJunPPC9USmY2E3gYaAHuAYYDWyTNLpOvppwpDGV9mpXTzLYCk4Axks4He9JU/zrwN/BBCcA7gHeB82nP+OdGA98D84D9wDrgBLAE2GNmI0rlz6mVwHO4hv+lkgwFccYZyvo0J+ebwEigLWrs0fBm1gxMA76UdCml8gZgE3AG+LDM+7wP3Aq0SWqV9IqkqR54LK6T9bVeBJqBm4FnKsxTBGeXMvg0M6ek/cBhYJGZdbV3fMTPBxqAL0pU3gZMxfW61PXf987pwCngvTiPz/uUmQ0rUVdmSdoh6aikisKVojhjKuvTKjk/B+4EHguGeMNPA64Ce1MqHwe8BayXtLP0u/CIT7dLutaDUjoH7AZuxK0/RapQzgw+rYZzt097N7zvKS3AoaSdvJkNxm08fgKWl3kfcFMPwJGU+0d92lxBWf2pwjgz+rQazu98OiUYoiP+NuAG3C4xSauAe4Gn09b/mBp9ejblfrA3VVBWf6pIziw+zc0p6SxwGTfdAz0bPuwIk0KCibgeuUbSnjKAdVWgAnz6B3BLuIg2fOhxQ6JP++noU9wU82qGikIPbEy5H+x/ZSizP1Rzzpw+rZZzKN1t3OPk7lefxmPBm+heNy6bWVKhG81sI26D8oK3/ejTtLVxjE/T1qxaqQjOPD7NzenDuCbgZLBFR/xp4De6NxFBV4BPUn4H/TO7/HV0ytrh0+nR+NGDDAceAi6SEkHUUEVw5vFpNZxjcWH6D8HQNeIldZrZTmCGmd0t6Zi3XwIWJNGb2Wu4zcnm+PGipONmth0Xez4LvBPNCgwDPopHEGbWDswF5klqT6q3L1UEZx6f5uX0CiFe6Dy9PtJ0ADOAx4FjWV4mRYuBb4ENZvYocAiYiItJjwArEvKE3vxvngrNrBVo9ZcjffqgbyiA3yUtLZozp/JwgussV4GvgiF+gNOBW+vn9AWlpOPABKDdA74EjAbWA5MknUnINh44B3yTs9oW3Eici+vAAKMitpnXCWdm5eE0s0bcQPha0s/BnvR1bhnwBnCfpIPUUGbWhDuvXiPp5VrWnUUDhRPAzJ4HNgCTJe0K9qSvc+twJ0mra8QW1WTgHyD1c/B1ogHBaWZDgWVAR7TRIWHE+wxTcOvG2/U/Ygxc+e8As4B2Saei9/4DBmP8sRNok9wAAAAASUVORK5CYII=",
       "text/latex": [
        "$\\displaystyle \\left( 40, \\  10, \\  40\\right)$"
       ],
@@ -922,7 +1017,69 @@
    "cell_type": "code",
    "execution_count": 23,
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "[0][PROGRESS]------(0.119 sec) Initializing SetupBlockForest:\n",
+      "[0]                             - AABB: [ <0,0,0>, <40,40,1> ]\n",
+      "[0]                             - forest size (root blocks / blocks on the initial grid): 2 x 4 x 1\n",
+      "[0]                             - periodicity: true x true x false\n",
+      "[0][PROGRESS]------(0.119 sec) Initializing SetupBlockForest: Allocating root blocks ...\n",
+      "[0][PROGRESS]------(0.119 sec) Initializing SetupBlockForest: Setting up neighborhood information for each block (with respect to periodicity) ...\n",
+      "[0][PROGRESS]------(0.119 sec) Initializing SetupBlockForest: Assigning workload, memory requirements, and SUIDs to blocks ...\n",
+      "[0][PROGRESS]------(0.119 sec) Initializing SetupBlockForest: finished!\n",
+      "[0]                            The following block structure has been created:\n",
+      "[0]                            - AABB: [ <0,0,0>, <40,40,1> ]\n",
+      "[0]                            - initial decomposition: 2 x 4 x 1 (= forest size)\n",
+      "[0]                            - periodicity: true x true x false\n",
+      "[0]                            - number of blocks discarded from the initial grid: 0 (= 0 %)\n",
+      "[0]                            - number of levels: 1\n",
+      "[0]                            - tree ID digits: 4 (-> block ID bytes = 1)\n",
+      "[0]                            - total number of blocks: 8\n",
+      "[0]                            - blocks have not yet been distributed to processes\n",
+      "[0][PROGRESS]------(0.119 sec) Balancing SetupBlockForest: Creating a process distribution for 1 process(es) ...\n",
+      "[0][PROGRESS]------(0.119 sec) Balancing SetupBlockForest: process distribution to 1 process(es) finished!\n",
+      "[0]                            - number of worker processes:       1\n",
+      "[0]                            - number of empty buffer processes: 0\n",
+      "[0]                            - buffer processes are inserted into the process network: no\n",
+      "[0]                            The resulting block structure looks like as follows:\n",
+      "[0]                            - AABB: [ <0,0,0>, <40,40,1> ]\n",
+      "[0]                            - initial decomposition: 2 x 4 x 1 (= forest size)\n",
+      "[0]                            - periodicity: true x true x false\n",
+      "[0]                            - number of blocks discarded from the initial grid: 0 (= 0 %)\n",
+      "[0]                            - number of levels: 1\n",
+      "[0]                            - tree ID digits: 4 (-> block ID bytes = 1)\n",
+      "[0]                            - total number of blocks: 8\n",
+      "[0]                            - number of processes: 1 (1 worker process(es) / 0 empty buffer process(es))\n",
+      "[0]                            - buffer processes are inserted into the process network: no\n",
+      "[0]                            - process ID bytes: 0\n",
+      "[0]                            - blocks/memory/workload per process:\n",
+      "[0]                               + blocks:\n",
+      "[0]                                  - min       = 8\n",
+      "[0]                                  - max       = 8\n",
+      "[0]                                  - avg       = 8\n",
+      "[0]                                  - stdDev    = 0\n",
+      "[0]                                  - relStdDev = 0\n",
+      "[0]                               + memory:\n",
+      "[0]                                  - min       = 8\n",
+      "[0]                                  - max       = 8\n",
+      "[0]                                  - avg       = 8\n",
+      "[0]                                  - stdDev    = 0\n",
+      "[0]                                  - relStdDev = 0\n",
+      "[0]                               + workload:\n",
+      "[0]                                  - min       = 8\n",
+      "[0]                                  - max       = 8\n",
+      "[0]                                  - avg       = 8\n",
+      "[0]                                  - stdDev    = 0\n",
+      "[0]                                  - relStdDev = 0\n",
+      "[0][PROGRESS]------(0.119 sec) Adding block data (\"cell bounding box\")\n",
+      "[0][PROGRESS]------(0.119 sec) Adding block data (\"src\")\n",
+      "[0][PROGRESS]------(0.120 sec) Adding block data (\"dst\")\n"
+     ]
+    }
+   ],
    "source": [
     "blocks = createUniformBlockGrid(blocks=(2,4,1), cellsPerBlock=(20, 10, 1), \n",
     "                                oneBlockPerProcess=False, periodic=(1, 1, 0))\n",
@@ -952,14 +1109,12 @@
    "outputs": [
     {
      "data": {
-      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA54AAAFlCAYAAACDRTcUAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAAATzUlEQVR4nO3dX4yld33f8c83XhOikAhTD9b6T7sEuWlcVNbpyqKiimgMtSEohgskLBVZLZKpBBJIVK0hFyUXlSI1QHqRIpngZtXSIDeAsFCI47pEKVJiMqYbY3dJbLkEjLfeIQgBrQSy+fZiDmVj7zKzO/Ods2fm9ZJG55znPGfOV7s/Wfv2c87zVHcHAAAApvzYsgcAAABgfxOeAAAAjBKeAAAAjBKeAAAAjBKeAAAAjBKeAAAAjDq0l292+eWX95EjR/byLYED6C8efHzZIwBcdP723/+ZZY8AHAAPPvjg17t77dnb9zQ8jxw5kvX19b18S+AAes2PvWnZIwBcdO5b/y/LHgE4AKrqL8+23UdtAQAAGCU8AQAAGCU8AQAAGCU8AQAAGCU8AQAAGCU8AQAAGCU8AQAAGCU8AQAAGCU8AQAAGCU8AQAAGCU8AQAAGCU8AQAAGCU8AQAAGCU8AQAAGCU8AQAAGCU8AQAAGCU8AQAAGCU8AQAAGCU8AQAAGCU8AQAAGCU8AQAAGCU8AQAAGCU8AQAAGCU8AQAAGCU8AQAAGCU8AQAAGCU8AQAAGCU8AQAAGCU8AQAAGCU8AQAAGCU8AQAAGLVleFbV86vq81X1Z1X1SFX96mL7+6rqa1V1YvHzuvlxAQAAWDWHtrHPd5P8Ynd/p6ouTfK5qvrM4rkPdvevz40HAADAqtsyPLu7k3xn8fDSxU9PDgUAAMD+sa3veFbVJVV1IsnpJPd19wOLp95RVQ9V1V1Vddk5Xnt7Va1X1frGxsbuTA0AAMDK2FZ4dvcz3X00ydVJbqiqlyX5UJKXJjma5FSS95/jtXd297HuPra2trYrQwMAALA6zuustt39zSR/mOTm7n5qEaTfT/LhJDfs/ngAAACsuu2c1Xatql64uP8TSV6d5EtVdfiM3d6Y5OGRCQEAAFhp2zmr7eEkx6vqkmyG6t3d/emq+o9VdTSbJxr6cpK3jU0JAADAytrOWW0fSnL9Wba/ZWQiAAAA9pXz+o4nAAAAnC/hCQAAwCjhCQAAwCjhCQAAwCjhCQAAwCjhCQAAwCjhCQAAwCjhCQAAwCjhCQAAwCjhCQAAwCjhCQAAwCjhCQAAwCjhCQAAwCjhCQAAwKhDyx4AAJbl3idPLHuEHbvpyqPLHgEAtuSIJwAAAKOEJwAAAKOEJwAAAKOEJwAAAKOEJwAAAKOEJwAAAKOEJwAAAKNcxxOAlbUfrsO5Uzv9M3AdUAD2giOeAAAAjBKeAAAAjBKeAAAAjBKeAAAAjBKeAAAAjBKeAAAAjBKeAAAAjBKeAAAAjDq07AEA4GzuffLEskc4ELbz53zTlUfH5wBgf9vyiGdVPb+qPl9Vf1ZVj1TVry62v6iq7quqRxe3l82PCwAAwKrZzkdtv5vkF7v75UmOJrm5ql6R5I4k93f3tUnuXzwGAACAv2bL8OxN31k8vHTx00luSXJ8sf14kjdMDAgAAMBq29bJharqkqo6keR0kvu6+4EkV3T3qSRZ3L74HK+9varWq2p9Y2Njl8YGAABgVWwrPLv7me4+muTqJDdU1cu2+wbdfWd3H+vuY2traxc4JgAAAKvqvC6n0t3fTPKHSW5O8lRVHU6Sxe3p3R4OAACA1beds9quVdULF/d/Ismrk3wpyT1JblvsdluSTw3NCAAAwArbznU8Dyc5XlWXZDNU7+7uT1fVHye5u6remuQrSd40OCcA+4zrdK6Orf6uXOcTgK1sGZ7d/VCS68+y/a+S3DgxFAAAAPvHeX3HEwAAAM6X8AQAAGCU8AQAAGCU8AQAAGCU8AQAAGCU8AQAAGCU8AQAAGCU8AQAAGCU8AQAAGCU8AQAAGCU8AQAAGCU8AQAAGCU8AQAAGCU8AQAAGDUoWUPAMD+dO+TJ5Y9Antkq7/rm648uidzAHDxcsQTAACAUcITAACAUcITAACAUcITAACAUcITAACAUcITAACAUcITAACAUcITAACAUcITAACAUcITAACAUcITAACAUcITAACAUcITAACAUcITAACAUcITAACAUcITAACAUVuGZ1VdU1WfraqTVfVIVb1zsf19VfW1qjqx+Hnd/LgAAACsmkPb2OfpJO/u7i9U1U8lebCq7ls898Hu/vW58QAAAFh1W4Znd59Kcmpx/9tVdTLJVdODAQAAsD+c13c8q+pIkuuTPLDY9I6qeqiq7qqqy3Z7OAAAAFbftsOzql6Q5ONJ3tXd30ryoSQvTXI0m0dE33+O191eVetVtb6xsbHziQEAAFgp2wrPqro0m9H50e7+RJJ091Pd/Ux3fz/Jh5PccLbXdved3X2su4+tra3t1twAAACsiO2c1baSfCTJye7+wBnbD5+x2xuTPLz74wEAALDqtnNW21cmeUuSL1bVicW29ya5taqOJukkX07ytoH5AAAAWHHbOavt55LUWZ76vd0fBwAAgP3mvM5qCwAAAOdLeAIAADBKeAIAADBKeAIAADBKeAIAADBKeAIAADBKeAIAADBKeAIAADBKeAIAADBKeAIAADBKeAIAADBKeAIAADBKeAIAADBKeAIAADBKeAIAADBKeAIAADBKeAIAADBKeAIAADBKeAIAADBKeAIAADBKeAIAADBKeAIAADBKeAIAADDq0LIHAGB/uunKoz/y+XufPLEnczBvq79rAHDEEwAAgFHCEwAAgFHCEwAAgFHCEwAAgFHCEwAAgFHCEwAAgFHCEwAAgFHCEwAAgFFbhmdVXVNVn62qk1X1SFW9c7H9RVV1X1U9uri9bH5cAAAAVs12jng+neTd3f1zSV6R5O1VdV2SO5Lc393XJrl/8RgAAAD+mi3Ds7tPdfcXFve/neRkkquS3JLk+GK340neMDQjAAAAK+y8vuNZVUeSXJ/kgSRXdPepZDNOk7x416cDAABg5W07PKvqBUk+nuRd3f2t83jd7VW1XlXrGxsbFzIjAAAAK2xb4VlVl2YzOj/a3Z9YbH6qqg4vnj+c5PTZXtvdd3b3se4+tra2thszAwAAsEK2c1bbSvKRJCe7+wNnPHVPktsW929L8qndHw8AAIBVd2gb+7wyyVuSfLGqTiy2vTfJryW5u6remuQrSd40MiEAAAArbcvw7O7PJalzPH3j7o4DwEFx05VHf+Tz9z55Yk/mYGtb/V0BwFbO66y2AAAAcL6EJwAAAKOEJwAAAKOEJwAAAKOEJwAAAKOEJwAAAKOEJwAAAKO2vI4nACzDdq4d6VqfO+canQDsBUc8AQAAGCU8AQAAGCU8AQAAGCU8AQAAGCU8AQAAGCU8AQAAGCU8AQAAGOU6ngCsrJ1eg3I/XAfUdTgBWAWOeAIAADBKeAIAADBKeAIAADBKeAIAADBKeAIAADBKeAIAADBKeAIAADDKdTwBOLBcAxMA9oYjngAAAIwSngAAAIwSngAAAIwSngAAAIwSngAAAIwSngAAAIwSngAAAIwSngAAAIzaMjyr6q6qOl1VD5+x7X1V9bWqOrH4ed3smAAAAKyq7Rzx/O0kN59l+we7++ji5/d2dywAAAD2iy3Ds7v/KMk39mAWAAAA9qGdfMfzHVX10OKjuJeda6equr2q1qtqfWNjYwdvBwAAwCq60PD8UJKXJjma5FSS959rx+6+s7uPdfextbW1C3w7AAAAVtUFhWd3P9Xdz3T395N8OMkNuzsWAAAA+8UFhWdVHT7j4RuTPHyufQEAADjYDm21Q1X9TpJXJbm8qp5I8q+TvKqqjibpJF9O8ra5EQEAAFhlW4Znd996ls0fGZgFAACAfWgnZ7UFAACALQlPAAAARglPAAAARglPAAAARglPAAAARglPAAAARglPAAAARglPAAAARglPAAAARglPAAAARglPAAAARglPAAAARglPAAAARglPAAAARglPAAAARglPAAAARglPAAAARglPAAAARglPAAAARglPAAAARglPAAAARglPAAAARglPAAAARglPAAAARglPAAAARglPAAAARglPAAAARglPAAAARglPAAAARglPAAAARglPAAAARglPAAAARm0ZnlV1V1WdrqqHz9j2oqq6r6oeXdxeNjsmAAAAq2o7Rzx/O8nNz9p2R5L7u/vaJPcvHgMAAMBzbBme3f1HSb7xrM23JDm+uH88yRt2dywAAAD2iwv9jucV3X0qSRa3Lz7XjlV1e1WtV9X6xsbGBb4dAAAAq2r85ELdfWd3H+vuY2tra9NvBwAAwEXmQsPzqao6nCSL29O7NxIAAAD7yYWG5z1Jblvcvy3Jp3ZnHAAAAPab7VxO5XeS/HGSn62qJ6rqrUl+LclrqurRJK9ZPAYAAIDnOLTVDt196zmeunGXZwEAAGAfGj+5EAAAAAeb8AQAAGCU8AQAAGCU8AQAAGCU8AQAAGCU8AQAAGCU8AQAAGCU8AQAAGCU8AQAAGCU8AQAAGCU8AQAAGCU8AQAAGCU8AQAAGCU8AQAAGCU8AQAAGCU8AQAAGCU8AQAAGCU8AQAAGCU8AQAAGCU8AQAAGCU8AQAAGCU8AQAAGCU8AQAAGCU8AQAAGCU8AQAAGCU8AQAAGCU8AQAAGCU8AQAAGCU8AQAAGCU8AQAAGCU8AQAAGCU8AQAAGDUoZ28uKq+nOTbSZ5J8nR3H9uNoQAAANg/dhSeC/+ou7++C78HAACAfchHbQEAABi10/DsJH9QVQ9W1e1n26Gqbq+q9apa39jY2OHbAQAAsGp2Gp6v7O6fT/LaJG+vql949g7dfWd3H+vuY2trazt8OwAAAFbNjsKzu59c3J5O8skkN+zGUAAAAOwfFxyeVfWTVfVTP7if5B8neXi3BgMAAGB/2MlZba9I8smq+sHv+c/d/fu7MhUAAAD7xgWHZ3c/nuTluzgLAAAA+5DLqQAAADBKeAIAADBKeAIAADBKeAIAADBKeAIAADBKeAIAADBKeAIAADBKeAIAADBKeAIAADBKeAIAADBKeAIAADBKeAIAADBKeAIAADBKeAIAADBKeAIAADBKeAIAADBKeAIAADBKeAIAADBKeAIAADBKeAIAADBKeAIAADBKeAIAADBKeAIAADBKeAIAADBKeAIAADBKeAIAADBKeAIAADBKeAIAADBKeAIAADBKeAIAADBKeAIAADBqR+FZVTdX1Z9X1WNVdcduDQUAAMD+ccHhWVWXJPnNJK9Ncl2SW6vqut0aDAAAgP1hJ0c8b0jyWHc/3t3fS/KxJLfszlgAAADsFzsJz6uSfPWMx08stgEAAMD/t5PwrLNs6+fsVHV7Va1X1frGxsYO3g4AAIBVtJPwfCLJNWc8vjrJk8/eqbvv7O5j3X1sbW1tB28HAADAKtpJeP5pkmur6iVV9bwkb05yz+6MBQAAwH5x6EJf2N1PV9U7ktyb5JIkd3X3I7s2GQAAAPtCdT/na5lzb1a1keQv9+wNWbbLk3x92UNArEUuHtYiFxPrkYuFtbi//K3ufs53LPc0PDlYqmq9u48tew6wFrlYWItcTKxHLhbW4sGwk+94AgAAwJaEJwAAAKOEJ5PuXPYAsGAtcrGwFrmYWI9cLKzFA8B3PAEAABjliCcAAACjhCe7rqr+bVV9qaoeqqpPVtULz3juPVX1WFX9eVXdtMQxOSCq6ubFenusqu5Y9jwcHFV1TVV9tqpOVtUjVfXOxfYXVdV9VfXo4vayZc/KwVBVl1TV/6iqTy8eW4vsuap6YVX97uLfiier6h9YiweD8GTCfUle1t1/L8lfJHlPklTVdUnenOTvJrk5yb+vqkuWNiX73mJ9/WaS1ya5Lsmti3UIe+HpJO/u7p9L8ookb1+svzuS3N/d1ya5f/EY9sI7k5w847G1yDL8uyS/391/J8nLs7kmrcUDQHiy67r7D7r76cXDP0ly9eL+LUk+1t3f7e7/leSxJDcsY0YOjBuSPNbdj3f395J8LJvrEMZ196nu/sLi/rez+Y+rq7K5Bo8vdjue5A1LGZADpaquTvJLSX7rjM3WInuqqn46yS8k+UiSdPf3uvubsRYPBOHJtH+W5DOL+1cl+eoZzz2x2AZTrDkuClV1JMn1SR5IckV3n0o24zTJi5c4GgfHbyT5l0m+f8Y2a5G99jNJNpL8h8XHvn+rqn4y1uKBIDy5IFX1X6vq4bP83HLGPr+SzY+affQHm87yq5xWmUnWHEtXVS9I8vEk7+ruby17Hg6eqnp9ktPd/eCyZ+HAO5Tk55N8qLuvT/J/4mO1B8ahZQ/AauruV/+o56vqtiSvT3Jj//CaPU8kueaM3a5O8uTMhJDEmmPJqurSbEbnR7v7E4vNT1XV4e4+VVWHk5xe3oQcEK9M8stV9bokz0/y01X1n2ItsveeSPJEdz+wePy72QxPa/EAcMSTXVdVNyf5V0l+ubv/7xlP3ZPkzVX141X1kiTXJvn8MmbkwPjTJNdW1Uuq6nnZPLnVPUueiQOiqiqb32M62d0fOOOpe5Lctrh/W5JP7fVsHCzd/Z7uvrq7j2Tzv4P/rbv/SaxF9lh3/+8kX62qn11sujHJ/4y1eCDUDw9Gwe6oqseS/HiSv1ps+pPu/ueL534lm9/7fDqbHzv7zNl/C+yOxf/h/40klyS5q7v/zXIn4qCoqn+Y5L8n+WJ++L2692bze553J/mbSb6S5E3d/Y2lDMmBU1WvSvIvuvv1VfU3Yi2yx6rqaDZPcvW8JI8n+afZPBhmLe5zwhMAAIBRPmoLAADAKOEJAADAKOEJAADAKOEJAADAKOEJAADAKOEJAADAKOEJAADAKOEJAADAqP8HjjXazOjX3VsAAAAASUVORK5CYII=\n",
+      "image/png": "iVBORw0KGgoAAAANSUhEUgAABQcAAAH5CAYAAAA86ohMAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAm+UlEQVR4nO3df5BV9Xn48WcRWVDYawFh2WEh+KOiIUhEghsNg4qspONIpdZEO0GHgeostEAyKq3BmJqsNW3ANLiY1oKZkZKxDVqdEYo4Lv0BqFgGTSZUkAxE3MU4YS9uhoUve79/tN64EQmXvZe7+Hm9Zs4M95zPnvugnJB9e/bcilwulwsAAAAAIDm9yj0AAAAAAFAe4iAAAAAAJEocBAAAAIBEiYMAAAAAkChxEAAAAAASJQ4CAAAAQKLEQQAAAABIVO9yD/DbOjs7Y9++fTFgwICoqKgo9zgAAAAAcFrJ5XJx8ODBqKmpiV69jn9vYI+Lg/v27Yva2tpyjwEAAAAAp7W9e/fG8OHDj7umx8XBAQMGRMT/Dl9VVVXmaQAotxszXyn3CABw2nim7YflHgGAHiCbzUZtbW2+sx1Pj4uDH/wocVVVlTgIQPSuOLPcIwDAacP3UAB82Ik8ss8HkgAAAABAosRBAAAAAEiUOAgAAAAAiRIHAQAAACBR4iAAAAAAJEocBAAAAIBEiYMAAAAAkChxEAAAAAASJQ4CAAAAQKLEQQAAAABIlDgIAAAAAIkSBwEAAAAgUeIgAAAAACRKHAQAAACARImDAAAAAJAocRAAAAAAEiUOAgAAAECixEEAAAAASJQ4CAAAAACJEgcBAAAAIFHiIAAAAAAkShwEAAAAgESJgwAAAACQKHEQAAAAABIlDgIAAABAosRBAAAAAEiUOAgAAAAAiRIHAQAAACBR4iAAAAAAJEocBAAAAIBEiYMAAAAAkChxEAAAAAASJQ4CAAAAQKLEQQAAAABIlDgIAAAAAIkSBwEAAAAgUeIgAAAAACRKHAQAAACARImDAAAAAJAocRAAAAAAEiUOAgAAAECixEEAAAAASJQ4CAAAAACJEgcBAAAAIFHiIAAAAAAkqqA42NTUFGPHjo2qqqqoqqqKurq6eP755/PHJ0+eHBUVFV22O++8s+hDAwAAAADd17uQxcOHD4+HHnooLrzwwsjlcvHEE0/EjTfeGP/93/8dn/70pyMiYvbs2fHNb34z/zVnnXVWcScGAAAAAIqioDh4ww03dHn9rW99K5qammLz5s35OHjWWWdFdXV18SYEAAAAAEripJ85ePTo0Vi9enW0t7dHXV1dfv+TTz4ZgwcPjjFjxsSiRYvi17/+9XHP09HREdlstssGAAAAAJReQXcORkS8/vrrUVdXF4cOHYr+/fvHmjVr4pJLLomIiFtvvTVGjhwZNTU1sX379rjnnntix44d8eMf//hjz9fY2BgPPPDAyf8OAAAAAICTUpHL5XKFfMHhw4djz5490dbWFv/8z/8c//AP/xDNzc35QPhhL774Ylx77bWxc+fOOP/88495vo6Ojujo6Mi/zmazUVtbG21tbVFVVVXgbweAT5rret1c7hEA4LSxvvOpco8AQA+QzWYjk8mcUF8r+M7BPn36xAUXXBAREePHj49XXnklHnnkkXjsscc+snbixIkREceNg5WVlVFZWVnoGAAAAABAN530Mwc/0NnZ2eXOvw/btm1bREQMGzasu28DAAAAABRZQXcOLlq0KKZNmxYjRoyIgwcPxqpVq+Kll16KdevWxa5du2LVqlXxxS9+MQYNGhTbt2+PBQsWxKRJk2Ls2LGlmh8AAAAAOEkFxcH9+/fHV77ylXjnnXcik8nE2LFjY926dXHdddfF3r1744UXXoilS5dGe3t71NbWxowZM+K+++4r1ewAAAAAQDcUFAcff/zxjz1WW1sbzc3N3R4IAAAAADg1uv3MQQAAAADg9CQOAgAAAECixEEAAAAASJQ4CAAAAACJEgcBAAAAIFHiIAAAAAAkShwEAAAAgESJgwAAAACQKHEQAAAAABIlDgIAAABAosRBAAAAAEiUOAgAAAAAiRIHAQAAACBR4iAAAAAAJEocBAAAAIBEiYMAAAAAkChxEAAAAAASJQ4CAAAAQKLEQQAAAABIlDgIAAAAAIkSBwEAAAAgUeIgAAAAACSqd7kHAADgxKzbt63cI/RI9TXjyj0CAMBpy52DAAAAAJAocRAAAAAAEiUOAgAAAECixEEAAAAASJQ4CAAAAACJEgcBAAAAIFHiIAAAAAAkShwEAAAAgESJgwAAAACQKHEQAAAAABLVu9wDAAB8kqzbt63cIySnlP/M62vGlezcAAA9gTsHAQAAACBR4iAAAAAAJEocBAAAAIBEiYMAAAAAkChxEAAAAAASJQ4CAAAAQKLEQQAAAABIlDgIAAAAAIkSBwEAAAAgUeIgAAAAACRKHAQAAACARPUu9wAAAD3dun3byj0CZVLIv/v6mnElmwMAoFTcOQgAAAAAiSooDjY1NcXYsWOjqqoqqqqqoq6uLp5//vn88UOHDkVDQ0MMGjQo+vfvHzNmzIjW1taiDw0AAAAAdF9BcXD48OHx0EMPxdatW+PVV1+Na665Jm688cb4yU9+EhERCxYsiGeffTaeeuqpaG5ujn379sVNN91UksEBAAAAgO4p6JmDN9xwQ5fX3/rWt6KpqSk2b94cw4cPj8cffzxWrVoV11xzTURErFixIi6++OLYvHlzXHHFFcWbGgAAAADotpN+5uDRo0dj9erV0d7eHnV1dbF169Y4cuRITJkyJb9m9OjRMWLEiNi0adPHnqejoyOy2WyXDQAAAAAovYLj4Ouvvx79+/ePysrKuPPOO2PNmjVxySWXREtLS/Tp0yfOOeecLuuHDh0aLS0tH3u+xsbGyGQy+a22trbg3wQAAAAAULiC4+BFF10U27Ztiy1btsRdd90VM2fOjJ/+9KcnPcCiRYuira0tv+3du/ekzwUAAAAAnLiCnjkYEdGnT5+44IILIiJi/Pjx8corr8QjjzwSt9xySxw+fDgOHDjQ5e7B1tbWqK6u/tjzVVZWRmVlZeGTAwAAAADdctLPHPxAZ2dndHR0xPjx4+PMM8+MDRs25I/t2LEj9uzZE3V1dd19GwAAAACgyAq6c3DRokUxbdq0GDFiRBw8eDBWrVoVL730Uqxbty4ymUzMmjUrFi5cGAMHDoyqqqqYN29e1NXV+aRiAAAAAOiBCoqD+/fvj6985SvxzjvvRCaTibFjx8a6deviuuuui4iIJUuWRK9evWLGjBnR0dER9fX18eijj5ZkcAAAAACgeypyuVyu3EN8WDabjUwmE21tbVFVVVXucQAos+t63VzuEfgEWrdvW7lHgKivGVfuEfgEWt/5VLlHAKAHKKSvdfuZgwAAAADA6UkcBAAAAIBEiYMAAAAAkChxEAAAAAASJQ4CAAAAQKLEQQAAAABIlDgIAAAAAIkSBwEAAAAgUeIgAAAAACRKHAQAAACARImDAAAAAJAocRAAAAAAEiUOAgAAAECixEEAAAAASJQ4CAAAAACJEgcBAAAAIFHiIAAAAAAkShwEAAAAgESJgwAAAACQKHEQAAAAABIlDgIAAABAosRBAAAAAEhU73IPAABQDOv2bSv3CFCQQv7M1teMK9kcAEDa3DkIAAAAAIkSBwEAAAAgUeIgAAAAACRKHAQAAACARImDAAAAAJAocRAAAAAAEiUOAgAAAECixEEAAAAASJQ4CAAAAACJEgcBAAAAIFHiIAAAAAAkShwEAAAAgESJgwAAAACQKHEQAAAAABIlDgIAAABAosRBAAAAAEiUOAgAAAAAiRIHAQAAACBR4iAAAAAAJEocBAAAAIBEiYMAAAAAkChxEAAAAAASJQ4CAAAAQKLEQQAAAABIVEFxsLGxMSZMmBADBgyIIUOGxPTp02PHjh1d1kyePDkqKiq6bHfeeWdRhwYAAAAAuq+gONjc3BwNDQ2xefPmWL9+fRw5ciSmTp0a7e3tXdbNnj073nnnnfz28MMPF3VoAAAAAKD7eheyeO3atV1er1y5MoYMGRJbt26NSZMm5fefddZZUV1dXZwJAQAAAICS6NYzB9va2iIiYuDAgV32P/nkkzF48OAYM2ZMLFq0KH79619/7Dk6Ojoim8122QAAAACA0ivozsEP6+zsjPnz58eVV14ZY8aMye+/9dZbY+TIkVFTUxPbt2+Pe+65J3bs2BE//vGPj3mexsbGeOCBB052DAAAAADgJJ10HGxoaIg33ngj/uM//qPL/jlz5uR//ZnPfCaGDRsW1157bezatSvOP//8j5xn0aJFsXDhwvzrbDYbtbW1JzsWAAAAAHCCTioOzp07N5577rnYuHFjDB8+/LhrJ06cGBERO3fuPGYcrKysjMrKypMZAwAAAADohoLiYC6Xi3nz5sWaNWvipZdeilGjRv3Or9m2bVtERAwbNuykBgQAAAAASqOgONjQ0BCrVq2KZ555JgYMGBAtLS0REZHJZKJfv36xa9euWLVqVXzxi1+MQYMGxfbt22PBggUxadKkGDt2bEl+AwAAAADAySkoDjY1NUVExOTJk7vsX7FiRdx+++3Rp0+feOGFF2Lp0qXR3t4etbW1MWPGjLjvvvuKNjAAAAAAUBwF/1jx8dTW1kZzc3O3BgIAAAAATo1e5R4AAAAAACgPcRAAAAAAEiUOAgAAAECixEEAAAAASJQ4CAAAAACJEgcBAAAAIFHiIAAAAAAkShwEAAAAgESJgwAAAACQKHEQAAAAABIlDgIAAABAosRBAAAAAEiUOAgAAAAAiRIHAQAAACBR4iAAAAAAJEocBAAAAIBEiYMAAAAAkChxEAAAAAASJQ4CAAAAQKLEQQAAAABIlDgIAAAAAIkSBwEAAAAgUeIgAAAAACRKHAQAAACARImDAAAAAJAocRAAAAAAEiUOAgAAAECixEEAAAAASJQ4CAAAAACJEgcBAAAAIFHiIAAAAAAkShwEAAAAgESJgwAAAACQqN7lHgAAoBjqa8ad8Np1+7aVbA44UYX8mQUAKBV3DgIAAABAosRBAAAAAEiUOAgAAAAAiRIHAQAAACBR4iAAAAAAJEocBAAAAIBEiYMAAAAAkChxEAAAAAASJQ4CAAAAQKLEQQAAAABIlDgIAAAAAIkSBwEAAAAgUeIgAAAAACSqoDjY2NgYEyZMiAEDBsSQIUNi+vTpsWPHji5rDh06FA0NDTFo0KDo379/zJgxI1pbW4s6NAAAAADQfQXFwebm5mhoaIjNmzfH+vXr48iRIzF16tRob2/Pr1mwYEE8++yz8dRTT0Vzc3Ps27cvbrrppqIPDgAAAAB0T+9CFq9du7bL65UrV8aQIUNi69atMWnSpGhra4vHH388Vq1aFddcc01ERKxYsSIuvvji2Lx5c1xxxRXFmxwAAAAA6JZuPXOwra0tIiIGDhwYERFbt26NI0eOxJQpU/JrRo8eHSNGjIhNmzYd8xwdHR2RzWa7bAAAAABA6Z10HOzs7Iz58+fHlVdeGWPGjImIiJaWlujTp0+cc845XdYOHTo0WlpajnmexsbGyGQy+a22tvZkRwIAAAAACnDScbChoSHeeOONWL16dbcGWLRoUbS1teW3vXv3dut8AAAAAMCJKeiZgx+YO3duPPfcc7Fx48YYPnx4fn91dXUcPnw4Dhw40OXuwdbW1qiurj7muSorK6OysvJkxgAAAAAAuqGgOwdzuVzMnTs31qxZEy+++GKMGjWqy/Hx48fHmWeeGRs2bMjv27FjR+zZsyfq6uqKMzEAAAAAUBQF3TnY0NAQq1atimeeeSYGDBiQf45gJpOJfv36RSaTiVmzZsXChQtj4MCBUVVVFfPmzYu6ujqfVAwAAAAAPUxBcbCpqSkiIiZPntxl/4oVK+L222+PiIglS5ZEr169YsaMGdHR0RH19fXx6KOPFmVYAIBiqK8ZV9D6dfu2lWQOPlkK/XMFANATFBQHc7nc71zTt2/fWLZsWSxbtuykhwIAAAAASu+kP60YAAAAADi9iYMAAAAAkChxEAAAAAASJQ4CAAAAQKLEQQAAAABIlDgIAAAAAIkSBwEAAAAgUeIgAAAAACRKHAQAAACARImDAAAAAJCo3uUeAACgp6uvGXfCa9ft21ayOTj1Cvl3DwBwOnLnIAAAAAAkShwEAAAAgESJgwAAAACQKHEQAAAAABIlDgIAAABAosRBAAAAAEiUOAgAAAAAiRIHAQAAACBR4iAAAAAAJEocBAAAAIBE9S73AAAAnyT1NeNKdu51+7aV7Nyns1L+MwcA+KRz5yAAAAAAJEocBAAAAIBEiYMAAAAAkChxEAAAAAASJQ4CAAAAQKLEQQAAAABIlDgIAAAAAIkSBwEAAAAgUeIgAAAAACRKHAQAAACARImDAAAAAJCo3uUeAACAE1NfM67cIwAA8AnjzkEAAAAASJQ4CAAAAACJEgcBAAAAIFHiIAAAAAAkShwEAAAAgESJgwAAAACQKHEQAAAAABIlDgIAAABAosRBAAAAAEiUOAgAAAAAiRIHAQAAACBR4iAAAAAAJKrgOLhx48a44YYboqamJioqKuLpp5/ucvz222+PioqKLtv1119frHkBAAAAgCIpOA62t7fHpZdeGsuWLfvYNddff3288847+e2f/umfujUkAAAAAFB8vQv9gmnTpsW0adOOu6aysjKqq6tPeigAAAAAoPRK8szBl156KYYMGRIXXXRR3HXXXfHee+997NqOjo7IZrNdNgAAAACg9IoeB6+//vr44Q9/GBs2bIi//uu/jubm5pg2bVocPXr0mOsbGxsjk8nkt9ra2mKPBAAAAAAcQ0Uul8ud9BdXVMSaNWti+vTpH7vmrbfeivPPPz9eeOGFuPbaaz9yvKOjIzo6OvKvs9ls1NbWRltbW1RVVZ3saAB8QlzX6+ZyjwAAp431nU+VewQAeoBsNhuZTOaE+lpJfqz4w84777wYPHhw7Ny585jHKysro6qqqssGAAAAAJReyePgL37xi3jvvfdi2LBhpX4rAAAAAKAABX9a8fvvv9/lLsDdu3fHtm3bYuDAgTFw4MB44IEHYsaMGVFdXR27du2Ku+++Oy644IKor68v6uAAAAAAQPcUHAdfffXVuPrqq/OvFy5cGBERM2fOjKampti+fXs88cQTceDAgaipqYmpU6fGX/3VX0VlZWXxpgYAAAAAuq3gODh58uQ43meYrFu3rlsDAQAAAACnRsmfOQgAAAAA9EziIAAAAAAkShwEAAAAgESJgwAAAACQKHEQAAAAABIlDgIAAABAosRBAAAAAEiUOAgAAAAAiRIHAQAAACBR4iAAAAAAJEocBAAAAIBEiYMAAAAAkChxEAAAAAASJQ4CAAAAQKLEQQAAAABIlDgIAAAAAIkSBwEAAAAgUeIgAAAAACRKHAQAAACARImDAAAAAJAocRAAAAAAEiUOAgAAAECixEEAAAAASJQ4CAAAAACJEgcBAAAAIFHiIAAAAAAkShwEAAAAgESJgwAAAACQKHEQAAAAABIlDgIAAABAosRBAAAAAEiUOAgAAAAAiRIHAQAAACBR4iAAAAAAJEocBAAAAIBEiYMAAAAAkChxEAAAAAASJQ4CAAAAQKLEQQAAAABIlDgIAAAAAIkSBwEAAAAgUeIgAAAAACRKHAQAAACARImDAAAAAJAocRAAAAAAEiUOAgAAAECixEEAAAAASFTBcXDjxo1xww03RE1NTVRUVMTTTz/d5Xgul4vFixfHsGHDol+/fjFlypR48803izUvAAAAAFAkBcfB9vb2uPTSS2PZsmXHPP7www/H9773vVi+fHls2bIlzj777Kivr49Dhw51e1gAAAAAoHh6F/oF06ZNi2nTph3zWC6Xi6VLl8Z9990XN954Y0RE/PCHP4yhQ4fG008/HV/60pe6Ny0AAAAAUDRFfebg7t27o6WlJaZMmZLfl8lkYuLEibFp06Zjfk1HR0dks9kuGwAAAABQekWNgy0tLRERMXTo0C77hw4dmj/22xobGyOTyeS32traYo4EAAAAAHyMsn9a8aJFi6KtrS2/7d27t9wjAQAAAEASihoHq6urIyKitbW1y/7W1tb8sd9WWVkZVVVVXTYAAAAAoPSKGgdHjRoV1dXVsWHDhvy+bDYbW7Zsibq6umK+FQAAAADQTQV/WvH7778fO3fuzL/evXt3bNu2LQYOHBgjRoyI+fPnx4MPPhgXXnhhjBo1Kr7+9a9HTU1NTJ8+vZhzAwAAAADdVHAcfPXVV+Pqq6/Ov164cGFERMycOTNWrlwZd999d7S3t8ecOXPiwIEDcdVVV8XatWujb9++xZsaAAAAAOi2ilwulyv3EB+WzWYjk8lEW1ub5w8CENf1urncIwDAaWN951PlHgGAHqCQvlb2TysGAAAAAMpDHAQAAACARImDAAAAAJAocRAAAAAAEiUOAgAAAECixEEAAAAASJQ4CAAAAACJEgcBAAAAIFHiIAAAAAAkShwEAAAAgESJgwAAAACQKHEQAAAAABIlDgIAAABAosRBAAAAAEiUOAgAAAAAiRIHAQAAACBR4iAAAAAAJEocBAAAAIBEiYMAAAAAkChxEAAAAAASJQ4CAAAAQKLEQQAAAABIlDgIAAAAAIkSBwEAAAAgUeIgAAAAACRKHAQAAACARImDAAAAAJAocRAAAAAAEiUOAgAAAECixEEAAAAASJQ4CAAAAACJEgcBAAAAIFHiIAAAAAAkShwEAAAAgESJgwAAAACQKHEQAAAAABIlDgIAAABAosRBAAAAAEiUOAgAAAAAiRIHAQAAACBR4iAAAAAAJEocBAAAAIBEiYMAAAAAkChxEAAAAAASJQ4CAAAAQKLEQQAAAABIlDgIAAAAAIkqehz8xje+ERUVFV220aNHF/ttAAAAAIBu6l2Kk37605+OF1544Tdv0rskbwMAAAAAdENJql3v3r2jurq6FKcGAAAAAIqkJM8cfPPNN6OmpibOO++8uO2222LPnj0fu7ajoyOy2WyXDQAAAAAovaLHwYkTJ8bKlStj7dq10dTUFLt3744vfOELcfDgwWOub2xsjEwmk99qa2uLPRIAAAAAcAwVuVwuV8o3OHDgQIwcOTK++93vxqxZsz5yvKOjIzo6OvKvs9ls1NbWRltbW1RVVZVyNABOA9f1urncIwDAaWN951PlHgGAHiCbzUYmkzmhvlbyTwo555xz4vd///dj586dxzxeWVkZlZWVpR4DAAAAAPgtJXnm4Ie9//77sWvXrhg2bFip3woAAAAAKEDR4+DXvva1aG5ujp///OfxX//1X/GHf/iHccYZZ8SXv/zlYr8VAAAAANANRf+x4l/84hfx5S9/Od57770499xz46qrrorNmzfHueeeW+y3AgAAAAC6oehxcPXq1cU+JQAAAABQAiV/5iAAAAAA0DOJgwAAAACQKHEQAAAAABIlDgIAAABAosRBAAAAAEiUOAgAAAAAiRIHAQAAACBR4iAAAAAAJEocBAAAAIBEiYMAAAAAkChxEAAAAAASJQ4CAAAAQKLEQQAAAABIlDgIAAAAAIkSBwEAAAAgUeIgAAAAACRKHAQAAACARImDAAAAAJAocRAAAAAAEiUOAgAAAECixEEAAAAASJQ4CAAAAACJEgcBAAAAIFHiIAAAAAAkShwEAAAAgESJgwAAAACQKHEQAAAAABIlDgIAAABAosRBAAAAAEiUOAgAAAAAiRIHAQAAACBR4iAAAAAAJEocBAAAAIBEiYMAAAAAkChxEAAAAAASJQ4CAAAAQKLEQQAAAABIlDgIAAAAAIkSBwEAAAAgUeIgAAAAACRKHAQAAACARImDAAAAAJAocRAAAAAAEiUOAgAAAECixEEAAAAASJQ4CAAAAACJEgcBAAAAIFEli4PLli2LT33qU9G3b9+YOHFivPzyy6V6KwAAAADgJJQkDv7oRz+KhQsXxv333x+vvfZaXHrppVFfXx/79+8vxdsBAAAAACehJHHwu9/9bsyePTvuuOOOuOSSS2L58uVx1llnxT/+4z+W4u0AAAAAgJNQ9Dh4+PDh2Lp1a0yZMuU3b9KrV0yZMiU2bdr0kfUdHR2RzWa7bAAAAABA6RU9Dv7yl7+Mo0ePxtChQ7vsHzp0aLS0tHxkfWNjY2QymfxWW1tb7JEAAAAAgGMo+6cVL1q0KNra2vLb3r17yz0SAAAAACShd7FPOHjw4DjjjDOitbW1y/7W1taorq7+yPrKysqorKws9hgAAAAAwO9Q9DsH+/TpE+PHj48NGzbk93V2dsaGDRuirq6u2G8HAAAAAJykot85GBGxcOHCmDlzZlx++eXxuc99LpYuXRrt7e1xxx13/M6vzeVyERE+mASAiIj4f7kj5R4BAE4bvo8CIOI3fx980NmOpyRx8JZbbol33303Fi9eHC0tLTFu3LhYu3btRz6k5FgOHjwYEeGDSQAAAAqUyWTKPQIAPcjBgwd/598NFbkTSYinUGdnZ+zbty8GDBgQFRUV5R6HxGWz2aitrY29e/dGVVVVuccB/o9rE3om1yb0TK5N6Jlcm5RSLpeLgwcPRk1NTfTqdfynCpbkzsHu6NWrVwwfPrzcY0AXVVVV/scaeiDXJvRMrk3omVyb0DO5NimVE72bvOgfSAIAAAAAnB7EQQAAAABIlDgIx1FZWRn3339/VFZWlnsU4ENcm9AzuTahZ3JtQs/k2qSn6HEfSAIAAAAAnBruHAQAAACARImDAAAAAJAocRAAAAAAEiUOAgAAAECixEEAAAAASJQ4CMfw85//PGbNmhWjRo2Kfv36xfnnnx/3339/HD58uMu67du3xxe+8IXo27dv1NbWxsMPP1ymiSEty5Yti0996lPRt2/fmDhxYrz88svlHgmS0djYGBMmTIgBAwbEkCFDYvr06bFjx44uaw4dOhQNDQ0xaNCg6N+/f8yYMSNaW1vLNDGk6aGHHoqKioqYP39+fp9rE8rj7bffjj/5kz+JQYMGRb9+/eIzn/lMvPrqq/njuVwuFi9eHMOGDYt+/frFlClT4s033yzjxKRGHIRj+NnPfhadnZ3x2GOPxU9+8pNYsmRJLF++PP7iL/4ivyabzcbUqVNj5MiRsXXr1vjOd74T3/jGN+IHP/hBGSeHT74f/ehHsXDhwrj//vvjtddei0svvTTq6+tj//795R4NktDc3BwNDQ2xefPmWL9+fRw5ciSmTp0a7e3t+TULFiyIZ599Np566qlobm6Offv2xU033VTGqSEtr7zySjz22GMxduzYLvtdm3Dq/epXv4orr7wyzjzzzHj++efjpz/9afzt3/5t/N7v/V5+zcMPPxzf+973Yvny5bFly5Y4++yzo76+Pg4dOlTGyUlJRS6Xy5V7CDgdfOc734mmpqZ46623IiKiqakp/vIv/zJaWlqiT58+ERFx7733xtNPPx0/+9nPyjkqfKJNnDgxJkyYEN///vcjIqKzszNqa2tj3rx5ce+995Z5OkjPu+++G0OGDInm5uaYNGlStLW1xbnnnhurVq2KP/qjP4qI//2PbhdffHFs2rQprrjiijJPDJ9s77//flx22WXx6KOPxoMPPhjjxo2LpUuXujahTO699974z//8z/j3f//3Yx7P5XJRU1MTX/3qV+NrX/taRES0tbXF0KFDY+XKlfGlL33pVI5Lotw5CCeora0tBg4cmH+9adOmmDRpUj4MRkTU19fHjh074le/+lU5RoRPvMOHD8fWrVtjypQp+X29evWKKVOmxKZNm8o4GaSrra0tIiL/d+TWrVvjyJEjXa7T0aNHx4gRI1yncAo0NDTEH/zBH3S5BiNcm1Au//qv/xqXX3553HzzzTFkyJD47Gc/G3//93+fP7579+5oaWnpcm1mMpmYOHGia5NTRhyEE7Bz5874u7/7u/jTP/3T/L6WlpYYOnRol3UfvG5paTml80EqfvnLX8bRo0ePee257uDU6+zsjPnz58eVV14ZY8aMiYjI31F/zjnndFnrOoXSW716dbz22mvR2Nj4kWOuTSiPt956K5qamuLCCy+MdevWxV133RV/9md/Fk888URE/OZ7R///lnISB0nKvffeGxUVFcfdfvtHgt9+++24/vrr4+abb47Zs2eXaXIA6HkaGhrijTfeiNWrV5d7FEje3r1748///M/jySefjL59+5Z7HOD/dHZ2xmWXXRbf/va347Of/WzMmTMnZs+eHcuXLy/3aJDXu9wDwKn01a9+NW6//fbjrjnvvPPyv963b19cffXV8fnPf/4jHzRSXV39kU93++B1dXV1cQYGuhg8eHCcccYZx7z2XHdwas2dOzeee+652LhxYwwfPjy/v7q6Og4fPhwHDhzocoeS6xRKa+vWrbF///647LLL8vuOHj0aGzdujO9///uxbt061yaUwbBhw+KSSy7psu/iiy+Of/mXf4mI33zv2NraGsOGDcuvaW1tjXHjxp2yOUmbOwdJyrnnnhujR48+7vbBMwTffvvtmDx5cowfPz5WrFgRvXp1vVzq6upi48aNceTIkfy+9evXx0UXXdTlk6eA4unTp0+MHz8+NmzYkN/X2dkZGzZsiLq6ujJOBunI5XIxd+7cWLNmTbz44osxatSoLsfHjx8fZ555ZpfrdMeOHbFnzx7XKZTQtddeG6+//nps27Ytv11++eVx22235X/t2oRT78orr4wdO3Z02fc///M/MXLkyIiIGDVqVFRXV3e5NrPZbGzZssW1ySnjzkE4hg/C4MiRI+Nv/uZv4t13380f++C/7Nx6663xwAMPxKxZs+Kee+6JN954Ix555JFYsmRJucaGJCxcuDBmzpwZl19+eXzuc5+LpUuXRnt7e9xxxx3lHg2S0NDQEKtWrYpnnnkmBgwYkH8eUiaTiX79+kUmk4lZs2bFwoULY+DAgVFVVRXz5s2Luro6n4YKJTRgwID8sz8/cPbZZ8egQYPy+12bcOotWLAgPv/5z8e3v/3t+OM//uN4+eWX4wc/+EH+J9MqKipi/vz58eCDD8aFF14Yo0aNiq9//etRU1MT06dPL+/wJEMchGNYv3597Ny5M3bu3NnlR6Ui/veOiYj//Sbo3/7t36KhoSHGjx8fgwcPjsWLF8ecOXPKMTIk45Zbbol33303Fi9eHC0tLTFu3LhYu3btRx7iDJRGU1NTRERMnjy5y/4VK1bkH92xZMmS6NWrV8yYMSM6Ojqivr4+Hn300VM8KfDbXJtw6k2YMCHWrFkTixYtim9+85sxatSoWLp0adx22235NXfffXe0t7fHnDlz4sCBA3HVVVfF2rVrPT+UU6Yi90HpAAAAAACS4pmDAAAAAJAocRAAAAAAEiUOAgAAAECixEEAAAAASJQ4CAAAAACJEgcBAAAAIFHiIAAAAAAkShwEAAAAgESJgwAAAACQKHEQAAAAABIlDgIAAABAov4/4ztPmQSEup8AAAAASUVORK5CYII=",
       "text/plain": [
-       "<Figure size 1152x432 with 1 Axes>"
+       "<Figure size 1600x600 with 1 Axes>"
       ]
      },
-     "metadata": {
-      "needs_background": "light"
-     },
+     "metadata": {},
      "output_type": "display_data"
     }
    ],
@@ -999,14 +1154,12 @@
    "outputs": [
     {
      "data": {
-      "image/png": "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\n",
+      "image/png": "iVBORw0KGgoAAAANSUhEUgAABQcAAAH5CAYAAAA86ohMAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA4WElEQVR4nO3df5BddXk/8Ofcu7t3Q5JdTID8GBaMPypYRGukmGIZ1EikHUdqarXaER0GqhNoIe2oaS3Wfm1j7Q+wLQbbWtAZUzq2RaszQhGH0B+AGsug7TQVSodUSKCU7CYLe3f33vP9w7K6EvA8yV5uwnm9Zu4Me/fZZ597zvmcvbzvyb1FWZZlAAAAAAC10+j3AAAAAABAfwgHAQAAAKCmhIMAAAAAUFPCQQAAAACoKeEgAAAAANSUcBAAAAAAako4CAAAAAA1NdDvAX5Qt9uNBx54IJYuXRpFUfR7HAAAAAA4qpRlGfv374/Vq1dHo/H01wYeceHgAw88EGNjY/0eAwAAAACOart3744TTzzxaWuOuHBw6dKlEfHd4UdGRvo8DQD99sbRd/R7hKNfL6/EL6q/Q0nRSM7RbOZGybTP9s7UJ3unBs/uy8T+iez+yeqW1WvLbq53memdqI2I6HSqt07Upnsnx071zuyb7/5AcphM7+wD5Qd9fvzT/R4BgCPAxMREjI2NzeVsT+eICwef+KfEIyMjwkEAYqAY7PcIR78jJRxMB1vZcDATsmV7J+qTvVOh3NEcDsYREg5mg7AiEbIlatO9M9svIrXvyyIbyPUwHMw+Tp7E/0MB8P2qPEf2gSQAAAAAUFPCQQAAAACoKeEgAAAAANSUcBAAAAAAako4CAAAAAA1JRwEAAAAgJoSDgIAAABATQkHAQAAAKCmhIMAAAAAUFMD/R4AAEgqit61bjaTP1D9dcaimXxNspGrLwYST2uyj3NosPocyblTs/R4Gx4xut1cfSdR3+mkWpeJWYrpmVTv1Cyzs7nemfNEZvtFRJS5c1CZeZzZ81tZ5uoBgCc5Sp8xAgAAAACHSzgIAAAAADUlHAQAAACAmhIOAgAAAEBNCQcBAAAAoKaEgwAAAABQU8JBAAAAAKgp4SAAAAAA1JRwEAAAAABqSjgIAAAAADU10O8BAICIKIretW42E8W51w2LwcRTieRjLIaGUvUxUH2WopXtXX0blpltku2d2ZcREc3ENu/hMRgREWVZvbaTqI2IotOpXjybqI2IYma2evHgYKp32Z6uPkdy35fTid6N3LovM9skIorE6GVmX0bkjtvMMQgANeLKQQAAAACoKeEgAAAAANSUcBAAAAAAako4CAAAAAA1JRwEAAAAgJoSDgIAAABATQkHAQAAAKCmhIMAAAAAUFPCQQAAAACoKeEgAAAAANSUcBAAAAAAamqg3wMAwLNSUfSudbOZ/IHqrwUWg8mnBolZitZQqnUxkJxluFW5tEw+zjIxe9nK7Z/uUPVZymbuuCoHEq8D9+6Q/a6yemkx2021LjrVmzemZ3O9251E7XSu90DiWJlqp3pHs/q+L7Nz5yaJcqb6Ni+Sp7eyU33/pM/LZeKgBYCjmCsHAQAAAKCmhIMAAAAAUFPCQQAAAACoKeEgAAAAANSUcBAAAAAAako4CAAAAAA1JRwEAAAAgJoSDgIAAABATQkHAQAAAKCmhIMAAAAAUFMD/R4AAI4aRdHD3onX6zK1EVEMJv7cN5u53q2hxByDqd6xaDhVXraq9+8ubqV6d4eqb5fZY3JPr7pD1fdnp5Xb92WivGz28PiOiKJTVq/t5no329V/oDGd2z8Dj832rHdjsl25tmgk1/3jU6n6jLI9narPHFnlTPXt/d3m1Y+rKJMHVuacXybmAIAjjCsHAQAAAKCmUuHgtm3b4vTTT4+RkZEYGRmJdevWxZe+9KW5759zzjlRFMW827vf/e4FHxoAAAAAOHypf/tw4oknxkc+8pF44QtfGGVZxqc+9al44xvfGP/yL/8SP/qjPxoRERdddFH81m/91tzPHHPMMQs7MQAAAACwIFLh4Bve8IZ5X//2b/92bNu2Le644465cPCYY46JlStXLtyEAAAAAEBPHPJ7DnY6nbj++utjcnIy1q1bN3f/Zz7zmTjuuOPitNNOiy1btsRjjz32tH3a7XZMTEzMuwEAAAAAvZf+tOJvfvObsW7dupiamoolS5bEDTfcEC9+8YsjIuJtb3tbnHzyybF69eq4++67433ve1/s2rUr/vZv//Yp+23dujU+9KEPHfojAAAAAAAOSVGWZZn5genp6bj//vtjfHw8/vqv/zr+/M//PHbs2DEXEH6/r3zlK/Ha17427rnnnnj+859/0H7tdjva7fbc1xMTEzE2Nhbj4+MxMjKSfDgAPNu8rvHmfo/wPUXRw97VL+Yvms1c68HEa4HZ3q2hxByDqd6xaDhVXraq9+8ubqV6d4eqb5fZY3KvvXaHqu/7Tiv3jz7KRHnZ7OHxHRFFp/pTzqKb691sV/+BxnSu+cBjs4nenVTvxmT7hxf9n6I9k+odj09VLi1ncr3L9nRulk717VLOVN/eERFloneUyQMrNUjqf6l66ubuZ/s9AgBHgImJiRgdHa2Ur6WvHBwaGooXvOAFERGxdu3a+NrXvhYf+9jH4hOf+MSTas8888yIiKcNB1utVrRauSfoAAAAAMDhO+T3HHxCt9udd+Xf97vrrrsiImLVqlWH+2sAAAAAgAWWunJwy5Ytcd5558VJJ50U+/fvj+3bt8ett94aN910U9x7772xffv2+Kmf+qlYvnx53H333XH55ZfH2WefHaeffnqv5gcAAAAADlEqHHzooYfiHe94Rzz44IMxOjoap59+etx0003xute9Lnbv3h1f/vKX46qrrorJyckYGxuLjRs3xgc+8IFezQ4AAAAAHIZUOPjJT37yKb83NjYWO3bsOOyBAOBZIfEBI98tr/5hEEUz+a4giQ9SyXzASETuQ0bKxYtSvSM5y+xI9Q8w6Q7nPnhlZkn1p0yzw7kP9phdlPhAkuRnunQT9WXiGDwURbf6BzY0kp+90Zypvg0HHs99KEVnUfVjZfBA7sM0GoPVew9MVP+Ake82T6z7yVzrrDLx4Sjp81viQ0bKbu96A8DR7LDfcxAAAAAAODoJBwEAAACgpoSDAAAAAFBTwkEAAAAAqCnhIAAAAADUlHAQAAAAAGpKOAgAAAAANSUcBAAAAICaEg4CAAAAQE0JBwEAAACgpgb6PQAA9E1R9K51I9m72axe28i9tlcMDVWvHUg+NVg0XL22VX2OiIjZ0UTviOgsqj57+9jc45xdVH1/Ti/N7fvOcPX62dwmiTLxMLs9flbYmK3+OIvZXO+Bqeq1zanc+hnaX1au7QwNpnq39iWOlSK38wfGE8Xd6o8xIqIoc/WROAeV7Xaud+LcWUQn1brMlGf/nmS3IQD0kCsHAQAAAKCmhIMAAAAAUFPCQQAAAACoKeEgAAAAANSUcBAAAAAAako4CAAAAAA1JRwEAAAAgJoSDgIAAABATQkHAQAAAKCmhIMAAAAAUFPCQQAAAACoqYF+DwAAR40i8ZpapjYiiqKoXjuQ/POdqR9upVqXrcHKtbMjw6nenUW5xzm1rHr9zOLc/mk/p/r+mV2Uah0zS8vKtZ1W9dqIiDJRXzZzvbOKTuIYb1evjYhoJuoH9+d6d4ar17ceTe6fRvVjdvh/U60jyurrbaDbTbUukvXRqV5fdDq53olZyuR5OYrE/iyT2wQAjiCuHAQAAACAmhIOAgAAAEBNCQcBAAAAoKaEgwAAAABQU8JBAAAAAKgp4SAAAAAA1JRwEAAAAABqSjgIAAAAADUlHAQAAACAmhIOAgAAAEBNDfR7AABYUEXRu9aNRO9MbUREs9mb2ogoWkOVa8vB3FOD7uJW9drh3NztY3OzzCyu/prn1PLc/plZWr12+thuqnf3mE7l2uaSmVTvocHqvQcGqtceitnZ6vt/ZiZ3rMwcGKxc21mU6z20r/pxVWbXfeJ1+qKbWw/D3bJybWYdR0Q0ZnPHSuocNDub6p06H5bVt0lERFFW359ldvlk/lYl5waALFcOAgAAAEBNCQcBAAAAoKaEgwAAAABQU8JBAAAAAKgp4SAAAAAA1JRwEAAAAABqSjgIAAAAADUlHAQAAACAmhIOAgAAAEBNCQcBAAAAoKaEgwAAAABQUwP9HgAA+qbo3WtkRVHk6pvN6sVDg7lhBqr3LltDqdbdoeq9Z5bknnbMLsptw/ZzqtfPLE21jvbyTvXikZlU76Wjj1dvPdxO9T52uHrv4WZu7qypTvXjdt/UolTviWNalWsPjOd6t5uZ9ZZYxxFRdKsfs43Z3HrIrLdGO3F8R0SRPE8UM7PVi5Pnt6KTmD1TGxFlapDk35Oym6sHgB5y5SAAAAAA1FQqHNy2bVucfvrpMTIyEiMjI7Fu3br40pe+NPf9qamp2LRpUyxfvjyWLFkSGzdujL179y740AAAAADA4UuFgyeeeGJ85CMfiZ07d8bXv/71eM1rXhNvfOMb41//9V8jIuLyyy+PL3zhC/HZz342duzYEQ888EC86U1v6sngAAAAAMDhSb35zxve8IZ5X//2b/92bNu2Le6444448cQT45Of/GRs3749XvOa10RExLXXXhunnnpq3HHHHfHKV75y4aYGAAAAAA7bIb/nYKfTieuvvz4mJydj3bp1sXPnzpiZmYn169fP1Zxyyilx0kknxe233/6UfdrtdkxMTMy7AQAAAAC9lw4Hv/nNb8aSJUui1WrFu9/97rjhhhvixS9+cezZsyeGhobi2GOPnVe/YsWK2LNnz1P227p1a4yOjs7dxsbG0g8CAAAAAMhLh4MvetGL4q677oo777wz3vOe98QFF1wQ//Zv/3bIA2zZsiXGx8fnbrt37z7kXgAAAABAdan3HIyIGBoaihe84AUREbF27dr42te+Fh/72MfiLW95S0xPT8e+ffvmXT24d+/eWLly5VP2a7Va0Wq18pMDAAAAAIflkN9z8Andbjfa7XasXbs2BgcH45Zbbpn73q5du+L++++PdevWHe6vAQAAAAAWWOrKwS1btsR5550XJ510Uuzfvz+2b98et956a9x0000xOjoaF154YWzevDmWLVsWIyMjcemll8a6det8UjEAAAAAHIFS4eBDDz0U73jHO+LBBx+M0dHROP300+Omm26K173udRERceWVV0aj0YiNGzdGu92ODRs2xMc//vGeDA4AAAAAHJ5UOPjJT37yab8/PDwcV199dVx99dWHNRQAzCmKfk/wPUXi3TgayXfuaDYTY+R6l4PV/9yXrepzRETMHlO99+xwbl9OL83Vzy5K9D62m+odIzOVS5+z7ECq9Yol1evHFj+a6r18cLJy7ZJmO9U760Cn+ntMP3LM4lTv3ZPPqVy7t9lJ9X40llSune7kjtnGdPW1nF0PzXb1+mZiHUdENNqzqfqyXb1/0U6e3xLnzvR5OXPOj9xxlXIk/R0E4FnpsN9zEAAAAAA4OgkHAQAAAKCmhIMAAAAAUFPCQQAAAACoKeEgAAAAANSUcBAAAAAAako4CAAAAAA1JRwEAAAAgJoSDgIAAABATQkHAQAAAKCmBvo9AAD0S9Eocj+QqS962LvZzPUeqF7fHco9NegOVX+dcXZR7jXJznBuG84sLSvXdo/ppHovHX28cu2KJQdSvU8d2VO5dmz4f1O9Vw8+Wrl2caOd6p012W1Vrn1g5jmp3kuamdlXpnrPdKqvn/3t3NqcWVr9GB94PLceMuttcDK3NrPniUbiHJQ+vx0h5+WizPUuc6cgAOgpVw4CAAAAQE0JBwEAAACgpoSDAAAAAFBTwkEAAAAAqCnhIAAAAADUlHAQAAAAAGpKOAgAAAAANSUcBAAAAICaEg4CAAAAQE0JBwEAAACgpoSDAAAAAFBTA/0eAACelRrJ19+KonptM9e7bDYTtYk5IqLTqj5LZzDVOmaHc/WdVlm5trlkJtV7ZLhduXZs8aOp3mPD/1u59pTWg6nexzf3V649tjGd6p21rztUuXakMdWzOQ50Wqn6iXb1A/GxJbnenQPV1+bscHJtJtZbZh1H5M8TmXNQkTy/pc6d2fMyANSEv5AAAAAAUFPCQQAAAACoKeEgAAAAANSUcBAAAAAAako4CAAAAAA1JRwEAAAAgJoSDgIAAABATQkHAQAAAKCmhIMAAAAAUFPCQQAAAACoqYF+DwAAC6ro3eteRVH0rHdq7kbyMTarz10O5HqXifLuYKp1lMlnKWWrrFw7NNhJ9T52+PHKtcsHJ1O9Vw8+Wrn2+Ob+VO+xgZnKtccUvX1auLRRfZaI3OOcGByuXPvQ4Eiqd2bfPzK4ONW7nThms+shs94y6/i7s/TuHJQ+vx0h5/zqe/KJ5om5y262OwCkuHIQAAAAAGpKOAgAAAAANSUcBAAAAICaEg4CAAAAQE0JBwEAAACgpoSDAAAAAFBTwkEAAAAAqCnhIAAAAADUlHAQAAAAAGpKOAgAAAAANSUcBAAAAICaGuj3AADwbFQURe4HGsn6jMwsyTHKZvUfKJOPsZt8llI2y8q1AwOdVO/h5kzl2iXNdqr34kb1+mMb06nexxTVN+KSxnCqd1p3qnJp9nFmtmF2/2T2ffa4mkocs+n1kFhvmXUcEenzROoclJV4nNnzcvW9AwBHN1cOAgAAAEBNpcLBrVu3xhlnnBFLly6NE044Ic4///zYtWvXvJpzzjkniqKYd3v3u9+9oEMDAAAAAIcvFQ7u2LEjNm3aFHfccUfcfPPNMTMzE+eee25MTk7Oq7voooviwQcfnLt99KMfXdChAQAAAIDDl3r3khtvvHHe19ddd12ccMIJsXPnzjj77LPn7j/mmGNi5cqVCzMhAAAAANATh/Weg+Pj4xERsWzZsnn3f+Yzn4njjjsuTjvttNiyZUs89thjT9mj3W7HxMTEvBsAAAAA0HuH/GnF3W43LrvssjjrrLPitNNOm7v/bW97W5x88smxevXquPvuu+N973tf7Nq1K/72b//2oH22bt0aH/rQhw51DAAAAADgEB1yOLhp06b41re+Ff/4j/847/6LL7547r9f8pKXxKpVq+K1r31t3HvvvfH85z//SX22bNkSmzdvnvt6YmIixsbGDnUsAAAAAKCiQwoHL7nkkvjiF78Yt912W5x44olPW3vmmWdGRMQ999xz0HCw1WpFq9U6lDEAAAAAgMOQCgfLsoxLL700brjhhrj11ltjzZo1P/Rn7rrrroiIWLVq1SENCAAAAAD0Rioc3LRpU2zfvj0+//nPx9KlS2PPnj0RETE6OhqLFi2Ke++9N7Zv3x4/9VM/FcuXL4+77747Lr/88jj77LPj9NNP78kDAAAAAAAOTSoc3LZtW0REnHPOOfPuv/baa+Od73xnDA0NxZe//OW46qqrYnJyMsbGxmLjxo3xgQ98YMEGBgAAAAAWRvqfFT+dsbGx2LFjx2ENBAAAAAA8Mxr9HgAAAAAA6A/hIAAAAADUlHAQAAAAAGpKOAgAAAAANSUcBAAAAICaEg4CAAAAQE0JBwEAAACgpoSDAAAAAFBTwkEAAAAAqCnhIAAAAADU1EC/BwCAZ6OyLFP1RTdXn5KZJTlG0an+A9nH2JgtkrNUr5+dbaZ6T3UGK9ce6LRSvSe71ev3dYdSvZc2ZqoXd6dSvbMeKzuVa7OPM7MNs/sns++zx1XmmG3Mplqn1ltmHUdE+jyROgdlJR5n9rwMAHXhykEAAAAAqCnhIAAAAADUlHAQAAAAAGpKOAgAAAAANSUcBAAAAICaEg4CAAAAQE0JBwEAAACgpoSDAAAAAFBTwkEAAAAAqCnhIAAAAADU1EC/BwCABVV2E8XNXOuyrFxbpDpHbu5u5jFGRCcx92yud5Eob8ykWkcxm6xvV9/qMzO5fb9valHl2keOWZzq/cDMcyrXjjSmUr0j9leuPLYxneyds687VLn24c7SVO/MNnxkJrd/Mvs+e1xljtnsesist8w6/u4svTsHpc9vqXN+snXinJ9v3ru5ASDLlYMAAAAAUFPCQQAAAACoKeEgAAAAANSUcBAAAAAAako4CAAAAAA1JRwEAAAAgJoSDgIAAABATQkHAQAAAKCmhIMAAAAAUFPCQQAAAACoKeEgAAAAANTUQL8HAIBnpW43V1+W1Ws7ud5Fp5OoTcwREc129VmaM7nXJAemUuXRbBeVa2cODKZ6TxzTqly7e/I5qd5Lmu1UfcbE4HDl2sWN3s0RETHZrb4NH5jJbcPdU8uq1yb3z8RU9bk7yeNqMHHMptfDTKI2sY4j8ueJzDkoe35LnTuz52UAqAlXDgIAAABATQkHAQAAAKCmhIMAAAAAUFPCQQAAAACoKeEgAAAAANSUcBAAAAAAako4CAAAAAA1JRwEAAAAgJoSDgIAAABATQkHAQAAAKCmBvo9AAD0S9ktU/VFkagvc70jM0unk+s9W72+MT2bat2Yrv5UYuDxbqp3cyr3Gubg/qJybWdRM9X7wPiiyrV7m8n9Eyurz9FppTo/NDhSuXZJs53qnZWZ/ZGZxaneuyefU7l274Elqd6Zfd94LHdcZY7Z5lTunJJZb43p3NrMnicy56D0+S1z7uzheTn79wQAjiSuHAQAAACAmhIOAgAAAEBNpcLBrVu3xhlnnBFLly6NE044Ic4///zYtWvXvJqpqanYtGlTLF++PJYsWRIbN26MvXv3LujQAAAAAMDhS4WDO3bsiE2bNsUdd9wRN998c8zMzMS5554bk5OTczWXX355fOELX4jPfvazsWPHjnjggQfiTW9604IPDgAAAAAcntQHktx4443zvr7uuuvihBNOiJ07d8bZZ58d4+Pj8clPfjK2b98er3nNayIi4tprr41TTz017rjjjnjlK1+5cJMDAAAAAIflsN5zcHx8PCIili1bFhERO3fujJmZmVi/fv1czSmnnBInnXRS3H777Qft0W63Y2JiYt4NAAAAAOi9Qw4Hu91uXHbZZXHWWWfFaaedFhERe/bsiaGhoTj22GPn1a5YsSL27Nlz0D5bt26N0dHRudvY2NihjgQAAAAAJBxyOLhp06b41re+Fddff/1hDbBly5YYHx+fu+3evfuw+gEAAAAA1aTec/AJl1xySXzxi1+M2267LU488cS5+1euXBnT09Oxb9++eVcP7t27N1auXHnQXq1WK1qt1qGMAQAAAAAchtSVg2VZxiWXXBI33HBDfOUrX4k1a9bM+/7atWtjcHAwbrnllrn7du3aFffff3+sW7duYSYGAAAAABZE6srBTZs2xfbt2+Pzn/98LF26dO59BEdHR2PRokUxOjoaF154YWzevDmWLVsWIyMjcemll8a6det8UjEAAAAAHGFS4eC2bdsiIuKcc86Zd/+1114b73znOyMi4sorr4xGoxEbN26MdrsdGzZsiI9//OMLMiwANVSWufqi6M0cERFlt3ptN1EbEdHpJMbI9S5mZqvXtqvPEREx8Fj13p1FzVTvof25fd8Zrr7vh/bl3na53RysXPtoLEn1nulU3y4T7eFU72OHH69cO9ycSfXOmupU34b7phalek9M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",
       "text/plain": [
-       "<Figure size 1152x432 with 1 Axes>"
+       "<Figure size 1600x600 with 1 Axes>"
       ]
      },
-     "metadata": {
-      "needs_background": "light"
-     },
+     "metadata": {},
      "output_type": "display_data"
     }
    ],
@@ -1031,7 +1184,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.9.7"
+   "version": "3.11.0rc1"
   }
  },
  "nbformat": 4,
diff --git a/doc/notebooks/06_tutorial_phasefield_dentritic_growth.ipynb b/doc/notebooks/06_tutorial_phasefield_dentritic_growth.ipynb
index dcfc7487beae730ff9cee6d26fa130f7cf13bffe..9999bff04668ad95fc7cafae40b87584e93fd83d 100644
--- a/doc/notebooks/06_tutorial_phasefield_dentritic_growth.ipynb
+++ b/doc/notebooks/06_tutorial_phasefield_dentritic_growth.ipynb
@@ -602,7 +602,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.9.9"
+   "version": "3.9.5"
   }
  },
  "nbformat": 4,
diff --git a/doc/notebooks/demo_wave_equation.ipynb b/doc/notebooks/demo_wave_equation.ipynb
index 9a5016e12f1e90054775796f0f420943d23b6d41..70e130c22034b53a1044ce78cfb5590443d13ef7 100644
--- a/doc/notebooks/demo_wave_equation.ipynb
+++ b/doc/notebooks/demo_wave_equation.ipynb
@@ -69,15 +69,15 @@
    "outputs": [
     {
      "data": {
-      "image/png": "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\n",
+      "image/png": "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\n",
       "text/latex": [
-       "$$\\frac{{{u^{(0)}}_{(0,0)}} - 2 {{u^{(1)}}_{(0,0)}} + {{u^{(2)}}_{(0,0)}}}{dt^{2}} = \\frac{{{u^{(1)}}_{(-1,0)}} + {{u^{(1)}}_{(0,-1)}} - 4 {{u^{(1)}}_{(0,0)}} + {{u^{(1)}}_{(0,1)}} + {{u^{(1)}}_{(1,0)}}}{dx^{2}}$$"
+       "$\\displaystyle \\frac{{u^{(0)}}_{(0,0)} - 2 {u^{(1)}}_{(0,0)} + {u^{(2)}}_{(0,0)}}{dt^{2}} = \\frac{- 4 {u^{(1)}}_{(0,0)} + {u^{(1)}}_{(1,0)} + {u^{(1)}}_{(0,1)} + {u^{(1)}}_{(0,-1)} + {u^{(1)}}_{(-1,0)}}{dx^{2}}$"
       ],
       "text/plain": [
-       "u_0_C - 2⋅u_1_C + u_2_C   u_1_W + u_1_S - 4⋅u_1_C + u_1_N + u_1_E\n",
-       "─────────────────────── = ───────────────────────────────────────\n",
-       "            2                                 2                  \n",
-       "          dt                                dx                   "
+       "u_0_C - 2⋅u_1_C + u_2_C   -4⋅u_1_C + u_1_E + u_1_N + u_1_S + u_1_W\n",
+       "─────────────────────── = ────────────────────────────────────────\n",
+       "            2                                 2                   \n",
+       "          dt                                dx                    "
       ]
      },
      "execution_count": 3,
@@ -114,22 +114,16 @@
    "outputs": [
     {
      "data": {
-      "image/png": "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\n",
+      "image/png": "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\n",
       "text/latex": [
-       "$${{u^{(2)}}_{(0,0)}} \\leftarrow \\frac{{{u^{(1)}}_{(-1,0)}} dt^{2} + {{u^{(1)}}_{(0,-1)}} dt^{2} - 4 {{u^{(1)}}_{(0,0)}} dt^{2} + {{u^{(1)}}_{(0,1)}} dt^{2} + {{u^{(1)}}_{(1,0)}} dt^{2} + dx^{2} \\left(- {{u^{(0)}}_{(0,0)}} + 2 {{u^{(1)}}_{(0,0)}}\\right)}{dx^{2}}$$"
+       "$\\displaystyle {u^{(2)}}_{(0,0)} \\leftarrow \\frac{- 4 {u^{(1)}}_{(0,0)} dt^{2} + {u^{(1)}}_{(1,0)} dt^{2} + {u^{(1)}}_{(0,1)} dt^{2} + {u^{(1)}}_{(0,-1)} dt^{2} + {u^{(1)}}_{(-1,0)} dt^{2} + dx^{2} \\left(- {u^{(0)}}_{(0,0)} + 2 {u^{(1)}}_{(0,0)}\\right)}{dx^{2}}$"
       ],
       "text/plain": [
-       "                 2           2             2           2           2     2    \n",
-       "         u_1_W⋅dt  + u_1_S⋅dt  - 4⋅u_1_C⋅dt  + u_1_N⋅dt  + u_1_E⋅dt  + dx ⋅(-u\n",
-       "u_2_C := ─────────────────────────────────────────────────────────────────────\n",
-       "                                                   2                          \n",
-       "                                                 dx                           \n",
-       "\n",
-       "               \n",
-       "_0_C + 2⋅u_1_C)\n",
-       "───────────────\n",
-       "               \n",
-       "               "
+       "                     2           2           2           2           2     2                   \n",
+       "         - 4⋅u_1_C⋅dt  + u_1_E⋅dt  + u_1_N⋅dt  + u_1_S⋅dt  + u_1_W⋅dt  + dx ⋅(-u_0_C + 2⋅u_1_C)\n",
+       "u_2_C := ──────────────────────────────────────────────────────────────────────────────────────\n",
+       "                                                    2                                          \n",
+       "                                                  dx                                           "
       ]
      },
      "execution_count": 4,
@@ -159,24 +153,29 @@
     {
      "data": {
       "text/html": [
-       "<style>.highlight .hll { background-color: #ffffcc }\n",
-       ".highlight  { background: #f8f8f8; }\n",
-       ".highlight .c { color: #408080; font-style: italic } /* Comment */\n",
+       "<style>pre { line-height: 125%; }\n",
+       "td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }\n",
+       "span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }\n",
+       "td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }\n",
+       "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: #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 .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",
@@ -189,15 +188,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",
@@ -214,11 +213,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",
@@ -239,45 +238,43 @@
     {
      "data": {
       "text/html": [
-       "<div class=\"highlight\"><pre><span></span><span class=\"n\">FUNC_PREFIX</span> <span class=\"kt\">void</span> <span class=\"nf\">kernel</span><span class=\"p\">(</span><span class=\"kt\">double</span> <span class=\"o\">*</span> <span class=\"n\">RESTRICT</span> <span class=\"k\">const</span> <span class=\"n\">_data_u0</span><span class=\"p\">,</span> <span class=\"kt\">double</span> <span class=\"o\">*</span> <span class=\"n\">RESTRICT</span> <span class=\"k\">const</span> <span class=\"n\">_data_u1</span><span class=\"p\">,</span> <span class=\"kt\">double</span> <span class=\"o\">*</span> <span class=\"n\">RESTRICT</span> <span class=\"n\">_data_u2</span><span class=\"p\">)</span>\n",
-       "<span class=\"p\">{</span>\n",
-       "   <span class=\"k\">for</span> <span class=\"p\">(</span><span class=\"kt\">int</span> <span class=\"n\">ctr_0</span> <span class=\"o\">=</span> <span class=\"mi\">1</span><span class=\"p\">;</span> <span class=\"n\">ctr_0</span> <span class=\"o\">&lt;</span> <span class=\"mi\">59</span><span class=\"p\">;</span> <span class=\"n\">ctr_0</span> <span class=\"o\">+=</span> <span class=\"mi\">1</span><span class=\"p\">)</span>\n",
-       "   <span class=\"p\">{</span>\n",
-       "      <span class=\"kt\">double</span> <span class=\"o\">*</span> <span class=\"n\">RESTRICT</span> <span class=\"n\">_data_u2_00</span> <span class=\"o\">=</span> <span class=\"n\">_data_u2</span> <span class=\"o\">+</span> <span class=\"mi\">70</span><span class=\"o\">*</span><span class=\"n\">ctr_0</span><span class=\"p\">;</span>\n",
-       "      <span class=\"kt\">double</span> <span class=\"o\">*</span> <span class=\"n\">RESTRICT</span> <span class=\"k\">const</span> <span class=\"n\">_data_u1_00</span> <span class=\"o\">=</span> <span class=\"n\">_data_u1</span> <span class=\"o\">+</span> <span class=\"mi\">70</span><span class=\"o\">*</span><span class=\"n\">ctr_0</span><span class=\"p\">;</span>\n",
-       "      <span class=\"kt\">double</span> <span class=\"o\">*</span> <span class=\"n\">RESTRICT</span> <span class=\"k\">const</span> <span class=\"n\">_data_u0_00</span> <span class=\"o\">=</span> <span class=\"n\">_data_u0</span> <span class=\"o\">+</span> <span class=\"mi\">70</span><span class=\"o\">*</span><span class=\"n\">ctr_0</span><span class=\"p\">;</span>\n",
-       "      <span class=\"kt\">double</span> <span class=\"o\">*</span> <span class=\"n\">RESTRICT</span> <span class=\"k\">const</span> <span class=\"n\">_data_u1_01</span> <span class=\"o\">=</span> <span class=\"n\">_data_u1</span> <span class=\"o\">+</span> <span class=\"mi\">70</span><span class=\"o\">*</span><span class=\"n\">ctr_0</span> <span class=\"o\">+</span> <span class=\"mi\">70</span><span class=\"p\">;</span>\n",
-       "      <span class=\"kt\">double</span> <span class=\"o\">*</span> <span class=\"n\">RESTRICT</span> <span class=\"k\">const</span> <span class=\"n\">_data_u1_0m1</span> <span class=\"o\">=</span> <span class=\"n\">_data_u1</span> <span class=\"o\">+</span> <span class=\"mi\">70</span><span class=\"o\">*</span><span class=\"n\">ctr_0</span> <span class=\"o\">-</span> <span class=\"mi\">70</span><span class=\"p\">;</span>\n",
-       "      <span class=\"k\">for</span> <span class=\"p\">(</span><span class=\"kt\">int</span> <span class=\"n\">ctr_1</span> <span class=\"o\">=</span> <span class=\"mi\">1</span><span class=\"p\">;</span> <span class=\"n\">ctr_1</span> <span class=\"o\">&lt;</span> <span class=\"mi\">69</span><span class=\"p\">;</span> <span class=\"n\">ctr_1</span> <span class=\"o\">+=</span> <span class=\"mi\">1</span><span class=\"p\">)</span>\n",
-       "      <span class=\"p\">{</span>\n",
-       "         <span class=\"n\">_data_u2_00</span><span class=\"p\">[</span><span class=\"n\">ctr_1</span><span class=\"p\">]</span> <span class=\"o\">=</span> <span class=\"mf\">0.25</span><span class=\"o\">*</span><span class=\"n\">_data_u1_00</span><span class=\"p\">[</span><span class=\"n\">ctr_1</span> <span class=\"o\">+</span> <span class=\"mi\">1</span><span class=\"p\">]</span> <span class=\"o\">+</span> <span class=\"mf\">0.25</span><span class=\"o\">*</span><span class=\"n\">_data_u1_00</span><span class=\"p\">[</span><span class=\"n\">ctr_1</span> <span class=\"o\">-</span> <span class=\"mi\">1</span><span class=\"p\">]</span> <span class=\"o\">+</span> <span class=\"mf\">0.25</span><span class=\"o\">*</span><span class=\"n\">_data_u1_01</span><span class=\"p\">[</span><span class=\"n\">ctr_1</span><span class=\"p\">]</span> <span class=\"o\">+</span> <span class=\"mf\">0.25</span><span class=\"o\">*</span><span class=\"n\">_data_u1_0m1</span><span class=\"p\">[</span><span class=\"n\">ctr_1</span><span class=\"p\">]</span> <span class=\"o\">-</span> <span class=\"mf\">1.0</span><span class=\"o\">*</span><span class=\"n\">_data_u0_00</span><span class=\"p\">[</span><span class=\"n\">ctr_1</span><span class=\"p\">]</span> <span class=\"o\">+</span> <span class=\"mf\">1.0</span><span class=\"o\">*</span><span class=\"n\">_data_u1_00</span><span class=\"p\">[</span><span class=\"n\">ctr_1</span><span class=\"p\">];</span>\n",
-       "      <span class=\"p\">}</span>\n",
-       "   <span class=\"p\">}</span>\n",
-       "<span class=\"p\">}</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=\"k\">const</span><span class=\"w\"> </span><span class=\"n\">_data_u0</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_u1</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=\"n\">_data_u2</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\">59</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_u2_00</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"n\">_data_u2</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"mi\">70</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_u1_01</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"n\">_data_u1</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"mi\">70</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\">70</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_u1_00</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"n\">_data_u1</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"mi\">70</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_u1_0m1</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"n\">_data_u1</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"mi\">70</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\">70</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_u0_00</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"n\">_data_u0</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"mi\">70</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\">69</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_u2_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=\"mf\">-1.0</span><span class=\"o\">*</span><span class=\"n\">_data_u0_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=\"mf\">0.25</span><span class=\"o\">*</span><span class=\"n\">_data_u1_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=\"mf\">0.25</span><span class=\"o\">*</span><span class=\"n\">_data_u1_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=\"mf\">0.25</span><span class=\"o\">*</span><span class=\"n\">_data_u1_01</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=\"mf\">0.25</span><span class=\"o\">*</span><span class=\"n\">_data_u1_0m1</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=\"mf\">1.0</span><span class=\"o\">*</span><span class=\"n\">_data_u1_00</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",
        "</pre></div>\n"
       ],
       "text/plain": [
-       "\n",
-       "FUNC_PREFIX void kernel(double * RESTRICT const _data_u0, double * RESTRICT const _data_u1, double * RESTRICT _data_u2)\n",
+       "FUNC_PREFIX void kernel(double * RESTRICT const _data_u0, double * RESTRICT const _data_u1, double * RESTRICT  _data_u2)\n",
        "{\n",
-       "   for (int ctr_0 = 1; ctr_0 < 59; ctr_0 += 1)\n",
+       "   for (int64_t ctr_0 = 1; ctr_0 < 59; ctr_0 += 1)\n",
        "   {\n",
-       "      double * RESTRICT _data_u2_00 = _data_u2 + 70*ctr_0;\n",
-       "      double * RESTRICT const _data_u1_00 = _data_u1 + 70*ctr_0;\n",
-       "      double * RESTRICT const _data_u0_00 = _data_u0 + 70*ctr_0;\n",
-       "      double * RESTRICT const _data_u1_01 = _data_u1 + 70*ctr_0 + 70;\n",
-       "      double * RESTRICT const _data_u1_0m1 = _data_u1 + 70*ctr_0 - 70;\n",
-       "      for (int ctr_1 = 1; ctr_1 < 69; ctr_1 += 1)\n",
+       "      double * RESTRICT  _data_u2_00 = _data_u2 + 70*ctr_0;\n",
+       "      double * RESTRICT _data_u1_01 = _data_u1 + 70*ctr_0 + 70;\n",
+       "      double * RESTRICT _data_u1_00 = _data_u1 + 70*ctr_0;\n",
+       "      double * RESTRICT _data_u1_0m1 = _data_u1 + 70*ctr_0 - 70;\n",
+       "      double * RESTRICT _data_u0_00 = _data_u0 + 70*ctr_0;\n",
+       "      for (int64_t ctr_1 = 1; ctr_1 < 69; ctr_1 += 1)\n",
        "      {\n",
-       "         _data_u2_00[ctr_1] = 0.25*_data_u1_00[ctr_1 + 1] + 0.25*_data_u1_00[ctr_1 - 1] + 0.25*_data_u1_01[ctr_1] + 0.25*_data_u1_0m1[ctr_1] - 1.0*_data_u0_00[ctr_1] + 1.0*_data_u1_00[ctr_1];\n",
+       "         _data_u2_00[ctr_1] = -1.0*_data_u0_00[ctr_1] + 0.25*_data_u1_00[ctr_1 + 1] + 0.25*_data_u1_00[ctr_1 - 1] + 0.25*_data_u1_01[ctr_1] + 0.25*_data_u1_0m1[ctr_1] + 1.0*_data_u1_00[ctr_1];\n",
        "      }\n",
        "   }\n",
        "}"
       ]
      },
-     "execution_count": 5,
      "metadata": {},
-     "output_type": "execute_result"
+     "output_type": "display_data"
     }
    ],
    "source": [
@@ -316,7 +313,7 @@
     {
      "data": {
       "text/plain": [
-       "{u0, u1, u2}"
+       "{u0: double[60,70], u1: double[60,70], u2: double[60,70]}"
       ]
      },
      "execution_count": 7,
@@ -384,20 +381,11 @@
    "metadata": {},
    "outputs": [
     {
-     "data": {
-      "text/html": [
-       "<video controls width=\"80%\">\n",
-       " <source src=\"data:video/x-m4v;base64,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EI/8wklE2oMP/5QaWApxRqxPY+eISBWbaxEPkbqob7useH4Sg2DAzJjx6Ur33iI/Bj1tYgzftwFylKVSvyun02sfQwtpi8q/eZL0wvDkNGOPi340MzM3+pe1/+EvPlQECLsVgb6w9QVpkpnnYA1zQtyum33wOJSvFmSIrv/aRIUWJoU8Xvrv//wlmAADBwsTi3L/+OMDmKaWXG+vz4NSfgOwAARvC1apkZYw4VPZ39yH/ztBPnjnGOnQfwAENRUpVpUGGBGe1FbEB5IuFVYm793hILyV4Vc8E545vrCnqCVPZRL8oZ4QYIf8JBboeML5CEbA0pF/6/7BcCC421jwlHXhNfsGBtmRjpG0I5/v4fqF/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXwgaf/CQW8MgEFbPCM0rWqrX0PRBNEhxWUAq+pd//hsgAiNAdNK9QDL/94ahcNdd9dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeAAAAErEGaOBfgFB5Qlh4y2BJ4osB1pJkHFyTIOLkmQcXJME83OSAdcpYCA3UmA5epb+5nqXytcX5MwHeUsR2p5Hkzc2doeyxi43SBYqwhAkfks8fbSZqhF/j5dZObwRvTMuTDWV9xG6cpII2o5muL8mYDrlLG+nw64l4Cu5/o9YqLDGW+HGWSMtWNRiRjw80cv+FuUKssGbxY75ROHssDrlLEkycojAGt61Hv9kAIXm5/6FNO6T/L/9lACVpU9q8/4JXY1iwhlIjz8Gy/NC56sujhu6rHFFwfPPKRxSnyaX6LVWkvSi2WDf78v+zh4SU+IjxgX5gnh/HGZrm4eyzy5OQ6uqtKCGzQhaej4n0gQhaG9o/Wg6JrfPxEo3DLJmuxYD/Usjy3+bD1MvXXYgCkb767z/h8v9+Q868BV6Si7hvK+RYnl+xa8SFDjE5KGayRPnLH/RWU1EU3nzvp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\" type=\"video/mp4\">\n",
-       " Your browser does not support the video tag.\n",
-       "</video>"
-      ],
-      "text/plain": [
-       "<IPython.core.display.HTML object>"
-      ]
-     },
-     "execution_count": 10,
-     "metadata": {},
-     "output_type": "execute_result"
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "No ffmpeg installed\n"
+     ]
     }
    ],
    "source": [
@@ -423,35 +411,40 @@
    "source": [
     "__Runing on GPU__\n",
     "\n",
-    "We can also run the same kernel on the GPU, by using the ``pycuda`` package."
+    "We can also run the same kernel on the GPU, by using the ``cupy`` package."
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 13,
+   "execution_count": 12,
    "metadata": {},
    "outputs": [
     {
      "data": {
       "text/html": [
-       "<style>.highlight .hll { background-color: #ffffcc }\n",
-       ".highlight  { background: #f8f8f8; }\n",
-       ".highlight .c { color: #408080; font-style: italic } /* Comment */\n",
+       "<style>pre { line-height: 125%; }\n",
+       "td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }\n",
+       "span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }\n",
+       "td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }\n",
+       "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: #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 .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",
@@ -464,15 +457,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",
@@ -489,11 +482,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",
@@ -514,55 +507,53 @@
     {
      "data": {
       "text/html": [
-       "<div class=\"highlight\"><pre><span></span><span class=\"n\">FUNC_PREFIX</span> <span class=\"nf\">__launch_bounds__</span><span class=\"p\">(</span><span class=\"mi\">256</span><span class=\"p\">)</span> <span class=\"kt\">void</span> <span class=\"n\">kernel</span><span class=\"p\">(</span><span class=\"kt\">double</span> <span class=\"o\">*</span> <span class=\"n\">RESTRICT</span> <span class=\"k\">const</span> <span class=\"n\">_data_u0</span><span class=\"p\">,</span> <span class=\"kt\">double</span> <span class=\"o\">*</span> <span class=\"n\">RESTRICT</span> <span class=\"k\">const</span> <span class=\"n\">_data_u1</span><span class=\"p\">,</span> <span class=\"kt\">double</span> <span class=\"o\">*</span> <span class=\"n\">RESTRICT</span> <span class=\"n\">_data_u2</span><span class=\"p\">)</span>\n",
-       "<span class=\"p\">{</span>\n",
-       "   <span class=\"k\">if</span> <span class=\"p\">(</span><span class=\"n\">blockDim</span><span class=\"p\">.</span><span class=\"n\">x</span><span class=\"o\">*</span><span class=\"n\">blockIdx</span><span class=\"p\">.</span><span class=\"n\">x</span> <span class=\"o\">+</span> <span class=\"n\">threadIdx</span><span class=\"p\">.</span><span class=\"n\">x</span> <span class=\"o\">+</span> <span class=\"mi\">1</span> <span class=\"o\">&lt;</span> <span class=\"mi\">59</span> <span class=\"o\">&amp;&amp;</span> <span class=\"n\">blockDim</span><span class=\"p\">.</span><span class=\"n\">y</span><span class=\"o\">*</span><span class=\"n\">blockIdx</span><span class=\"p\">.</span><span class=\"n\">y</span> <span class=\"o\">+</span> <span class=\"n\">threadIdx</span><span class=\"p\">.</span><span class=\"n\">y</span> <span class=\"o\">+</span> <span class=\"mi\">1</span> <span class=\"o\">&lt;</span> <span class=\"mi\">69</span><span class=\"p\">)</span>\n",
-       "   <span class=\"p\">{</span>\n",
-       "      <span class=\"k\">const</span> <span class=\"kt\">int64_t</span> <span class=\"n\">ctr_0</span> <span class=\"o\">=</span> <span class=\"n\">blockDim</span><span class=\"p\">.</span><span class=\"n\">x</span><span class=\"o\">*</span><span class=\"n\">blockIdx</span><span class=\"p\">.</span><span class=\"n\">x</span> <span class=\"o\">+</span> <span class=\"n\">threadIdx</span><span class=\"p\">.</span><span class=\"n\">x</span> <span class=\"o\">+</span> <span class=\"mi\">1</span><span class=\"p\">;</span>\n",
-       "      <span class=\"k\">const</span> <span class=\"kt\">int64_t</span> <span class=\"n\">ctr_1</span> <span class=\"o\">=</span> <span class=\"n\">blockDim</span><span class=\"p\">.</span><span class=\"n\">y</span><span class=\"o\">*</span><span class=\"n\">blockIdx</span><span class=\"p\">.</span><span class=\"n\">y</span> <span class=\"o\">+</span> <span class=\"n\">threadIdx</span><span class=\"p\">.</span><span class=\"n\">y</span> <span class=\"o\">+</span> <span class=\"mi\">1</span><span class=\"p\">;</span>\n",
-       "      <span class=\"kt\">double</span> <span class=\"o\">*</span> <span class=\"n\">RESTRICT</span> <span class=\"n\">_data_u2_10</span> <span class=\"o\">=</span> <span class=\"n\">_data_u2</span> <span class=\"o\">+</span> <span class=\"n\">ctr_1</span><span class=\"p\">;</span>\n",
-       "      <span class=\"kt\">double</span> <span class=\"o\">*</span> <span class=\"n\">RESTRICT</span> <span class=\"k\">const</span> <span class=\"n\">_data_u1_10</span> <span class=\"o\">=</span> <span class=\"n\">_data_u1</span> <span class=\"o\">+</span> <span class=\"n\">ctr_1</span><span class=\"p\">;</span>\n",
-       "      <span class=\"kt\">double</span> <span class=\"o\">*</span> <span class=\"n\">RESTRICT</span> <span class=\"k\">const</span> <span class=\"n\">_data_u0_10</span> <span class=\"o\">=</span> <span class=\"n\">_data_u0</span> <span class=\"o\">+</span> <span class=\"n\">ctr_1</span><span class=\"p\">;</span>\n",
-       "      <span class=\"kt\">double</span> <span class=\"o\">*</span> <span class=\"n\">RESTRICT</span> <span class=\"k\">const</span> <span class=\"n\">_data_u1_11</span> <span class=\"o\">=</span> <span class=\"n\">_data_u1</span> <span class=\"o\">+</span> <span class=\"n\">ctr_1</span> <span class=\"o\">+</span> <span class=\"mi\">1</span><span class=\"p\">;</span>\n",
-       "      <span class=\"kt\">double</span> <span class=\"o\">*</span> <span class=\"n\">RESTRICT</span> <span class=\"k\">const</span> <span class=\"n\">_data_u1_1m1</span> <span class=\"o\">=</span> <span class=\"n\">_data_u1</span> <span class=\"o\">+</span> <span class=\"n\">ctr_1</span> <span class=\"o\">-</span> <span class=\"mi\">1</span><span class=\"p\">;</span>\n",
-       "      <span class=\"n\">_data_u2_10</span><span class=\"p\">[</span><span class=\"mi\">70</span><span class=\"o\">*</span><span class=\"n\">ctr_0</span><span class=\"p\">]</span> <span class=\"o\">=</span> <span class=\"mf\">0.25</span><span class=\"o\">*</span><span class=\"n\">_data_u1_10</span><span class=\"p\">[</span><span class=\"mi\">70</span><span class=\"o\">*</span><span class=\"n\">ctr_0</span> <span class=\"o\">+</span> <span class=\"mi\">70</span><span class=\"p\">]</span> <span class=\"o\">+</span> <span class=\"mf\">0.25</span><span class=\"o\">*</span><span class=\"n\">_data_u1_10</span><span class=\"p\">[</span><span class=\"mi\">70</span><span class=\"o\">*</span><span class=\"n\">ctr_0</span> <span class=\"o\">-</span> <span class=\"mi\">70</span><span class=\"p\">]</span> <span class=\"o\">+</span> <span class=\"mf\">0.25</span><span class=\"o\">*</span><span class=\"n\">_data_u1_11</span><span class=\"p\">[</span><span class=\"mi\">70</span><span class=\"o\">*</span><span class=\"n\">ctr_0</span><span class=\"p\">]</span> <span class=\"o\">+</span> <span class=\"mf\">0.25</span><span class=\"o\">*</span><span class=\"n\">_data_u1_1m1</span><span class=\"p\">[</span><span class=\"mi\">70</span><span class=\"o\">*</span><span class=\"n\">ctr_0</span><span class=\"p\">]</span> <span class=\"o\">-</span> <span class=\"mf\">1.0</span><span class=\"o\">*</span><span class=\"n\">_data_u0_10</span><span class=\"p\">[</span><span class=\"mi\">70</span><span class=\"o\">*</span><span class=\"n\">ctr_0</span><span class=\"p\">]</span> <span class=\"o\">+</span> <span class=\"mf\">1.0</span><span class=\"o\">*</span><span class=\"n\">_data_u1_10</span><span class=\"p\">[</span><span class=\"mi\">70</span><span class=\"o\">*</span><span class=\"n\">ctr_0</span><span class=\"p\">];</span>\n",
-       "   <span class=\"p\">}</span> \n",
-       "<span class=\"p\">}</span>\n",
+       "<div class=\"highlight\"><pre><span></span><span class=\"n\">FUNC_PREFIX</span><span class=\"w\"> </span><span class=\"nf\">__launch_bounds__</span><span class=\"p\">(</span><span class=\"mi\">256</span><span class=\"p\">)</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=\"k\">const</span><span class=\"w\"> </span><span class=\"n\">_data_u0</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_u1</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=\"n\">_data_u2</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\">if</span><span class=\"w\"> </span><span class=\"p\">(</span><span class=\"n\">blockDim</span><span class=\"p\">.</span><span class=\"n\">x</span><span class=\"o\">*</span><span class=\"n\">blockIdx</span><span class=\"p\">.</span><span class=\"n\">x</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"n\">threadIdx</span><span class=\"p\">.</span><span class=\"n\">x</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"mi\">1</span><span class=\"w\"> </span><span class=\"o\">&lt;</span><span class=\"w\"> </span><span class=\"mi\">59</span><span class=\"w\"> </span><span class=\"o\">&amp;&amp;</span><span class=\"w\"> </span><span class=\"n\">blockDim</span><span class=\"p\">.</span><span class=\"n\">y</span><span class=\"o\">*</span><span class=\"n\">blockIdx</span><span class=\"p\">.</span><span class=\"n\">y</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"n\">threadIdx</span><span class=\"p\">.</span><span class=\"n\">y</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"mi\">1</span><span class=\"w\"> </span><span class=\"o\">&lt;</span><span class=\"w\"> </span><span class=\"mi\">69</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\">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=\"n\">blockDim</span><span class=\"p\">.</span><span class=\"n\">x</span><span class=\"o\">*</span><span class=\"n\">blockIdx</span><span class=\"p\">.</span><span class=\"n\">x</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"n\">threadIdx</span><span class=\"p\">.</span><span class=\"n\">x</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=\"k\">const</span><span class=\"w\"> </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=\"n\">blockDim</span><span class=\"p\">.</span><span class=\"n\">y</span><span class=\"o\">*</span><span class=\"n\">blockIdx</span><span class=\"p\">.</span><span class=\"n\">y</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"n\">threadIdx</span><span class=\"p\">.</span><span class=\"n\">y</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=\"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_u2_10</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"n\">_data_u2</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>\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_u1_10</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"n\">_data_u1</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>\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_u1_11</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"n\">_data_u1</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>\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_u1_1m1</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"n\">_data_u1</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>\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_u0_10</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"n\">_data_u0</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>\n",
+       "<span class=\"w\">      </span><span class=\"n\">_data_u2_10</span><span class=\"p\">[</span><span class=\"mi\">70</span><span class=\"o\">*</span><span class=\"n\">ctr_0</span><span class=\"p\">]</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"mf\">-1.0</span><span class=\"o\">*</span><span class=\"n\">_data_u0_10</span><span class=\"p\">[</span><span class=\"mi\">70</span><span class=\"o\">*</span><span class=\"n\">ctr_0</span><span class=\"p\">]</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"mf\">0.25</span><span class=\"o\">*</span><span class=\"n\">_data_u1_10</span><span class=\"p\">[</span><span class=\"mi\">70</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\">70</span><span class=\"p\">]</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"mf\">0.25</span><span class=\"o\">*</span><span class=\"n\">_data_u1_10</span><span class=\"p\">[</span><span class=\"mi\">70</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\">70</span><span class=\"p\">]</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"mf\">0.25</span><span class=\"o\">*</span><span class=\"n\">_data_u1_11</span><span class=\"p\">[</span><span class=\"mi\">70</span><span class=\"o\">*</span><span class=\"n\">ctr_0</span><span class=\"p\">]</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"mf\">0.25</span><span class=\"o\">*</span><span class=\"n\">_data_u1_1m1</span><span class=\"p\">[</span><span class=\"mi\">70</span><span class=\"o\">*</span><span class=\"n\">ctr_0</span><span class=\"p\">]</span><span class=\"w\"> </span><span class=\"o\">+</span><span class=\"w\"> </span><span class=\"mf\">1.0</span><span class=\"o\">*</span><span class=\"n\">_data_u1_10</span><span class=\"p\">[</span><span class=\"mi\">70</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=\"p\">}</span><span class=\"w\"> </span>\n",
+       "<span class=\"p\">}</span><span class=\"w\"></span>\n",
        "</pre></div>\n"
       ],
       "text/plain": [
-       "\n",
-       "FUNC_PREFIX __launch_bounds__(256) void kernel(double * RESTRICT const _data_u0, double * RESTRICT const _data_u1, double * RESTRICT _data_u2)\n",
+       "FUNC_PREFIX __launch_bounds__(256) void kernel(double * RESTRICT const _data_u0, double * RESTRICT const _data_u1, double * RESTRICT  _data_u2)\n",
        "{\n",
        "   if (blockDim.x*blockIdx.x + threadIdx.x + 1 < 59 && blockDim.y*blockIdx.y + threadIdx.y + 1 < 69)\n",
        "   {\n",
        "      const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x + 1;\n",
        "      const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y + 1;\n",
-       "      double * RESTRICT _data_u2_10 = _data_u2 + ctr_1;\n",
-       "      double * RESTRICT const _data_u1_10 = _data_u1 + ctr_1;\n",
-       "      double * RESTRICT const _data_u0_10 = _data_u0 + ctr_1;\n",
-       "      double * RESTRICT const _data_u1_11 = _data_u1 + ctr_1 + 1;\n",
-       "      double * RESTRICT const _data_u1_1m1 = _data_u1 + ctr_1 - 1;\n",
-       "      _data_u2_10[70*ctr_0] = 0.25*_data_u1_10[70*ctr_0 + 70] + 0.25*_data_u1_10[70*ctr_0 - 70] + 0.25*_data_u1_11[70*ctr_0] + 0.25*_data_u1_1m1[70*ctr_0] - 1.0*_data_u0_10[70*ctr_0] + 1.0*_data_u1_10[70*ctr_0];\n",
+       "      double * RESTRICT  _data_u2_10 = _data_u2 + ctr_1;\n",
+       "      double * RESTRICT _data_u1_10 = _data_u1 + ctr_1;\n",
+       "      double * RESTRICT _data_u1_11 = _data_u1 + ctr_1 + 1;\n",
+       "      double * RESTRICT _data_u1_1m1 = _data_u1 + ctr_1 - 1;\n",
+       "      double * RESTRICT _data_u0_10 = _data_u0 + ctr_1;\n",
+       "      _data_u2_10[70*ctr_0] = -1.0*_data_u0_10[70*ctr_0] + 0.25*_data_u1_10[70*ctr_0 + 70] + 0.25*_data_u1_10[70*ctr_0 - 70] + 0.25*_data_u1_11[70*ctr_0] + 0.25*_data_u1_1m1[70*ctr_0] + 1.0*_data_u1_10[70*ctr_0];\n",
        "   } \n",
        "}"
       ]
      },
-     "execution_count": 13,
      "metadata": {},
-     "output_type": "execute_result"
+     "output_type": "display_data"
     }
    ],
    "source": [
     "try:\n",
-    "    import pycuda\n",
+    "    import cupy\n",
     "except ImportError:\n",
-    "    pycuda=None\n",
-    "    print('No pycuda installed')\n",
+    "    cupy=None\n",
+    "    print('No cupy installed')\n",
     "\n",
     "\n",
     "res = None\n",
-    "if pycuda:\n",
+    "if cupy:\n",
     "    gpu_ast = ps.create_kernel(update_rule, target=ps.Target.GPU)\n",
     "    gpu_kernel = gpu_ast.compile()\n",
     "    res = ps.show_code(gpu_ast)\n",
@@ -578,16 +569,14 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 14,
+   "execution_count": 13,
    "metadata": {},
    "outputs": [],
    "source": [
-    "if pycuda:\n",
-    "    import pycuda.gpuarray as gpuarray\n",
-    "\n",
+    "if cupy:\n",
     "    def run_on_gpu(timesteps=1):\n",
     "        # Transfer arrays to GPU\n",
-    "        gpuArrs = [gpuarray.to_gpu(a) for a in u_arrays]\n",
+    "        gpuArrs = [cupy.asarray(cpu_array) for cpu_array in u_arrays]\n",
     "\n",
     "        for t in range(timesteps):\n",
     "            gpu_kernel(u0=gpuArrs[0], u1=gpuArrs[1], u2=gpuArrs[2])\n",
@@ -595,17 +584,17 @@
     "\n",
     "        # Transfer arrays to CPU\n",
     "        for gpuArr, cpuArr in zip(gpuArrs, u_arrays):\n",
-    "            gpuArr.get(cpuArr)\n",
+    "            cpuArr[:] = gpuArr.get()\n",
     "assert np.isfinite(np.max(u_arrays[2]))            "
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 15,
+   "execution_count": 14,
    "metadata": {},
    "outputs": [],
    "source": [
-    "if pycuda:\n",
+    "if cupy:\n",
     "    run_on_gpu(400)"
    ]
   }
@@ -627,7 +616,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.9.7"
+   "version": "3.9.5"
   }
  },
  "nbformat": 4,
diff --git a/doc/sphinx/kernel_compile_and_call.rst b/doc/sphinx/kernel_compile_and_call.rst
index 2ceab6123583c9543dad0597f63bb53609538d10..54342616eca8123c2227457a5c4f2259241a0a68 100644
--- a/doc/sphinx/kernel_compile_and_call.rst
+++ b/doc/sphinx/kernel_compile_and_call.rst
@@ -27,11 +27,11 @@ Code printing
 GPU Indexing
 -------------
 
-.. autoclass:: pystencils.gpucuda.AbstractIndexing
+.. autoclass:: pystencils.gpu.AbstractIndexing
    :members:
 
-.. autoclass:: pystencils.gpucuda.BlockIndexing
+.. autoclass:: pystencils.gpu.BlockIndexing
    :members:
 
-.. autoclass:: pystencils.gpucuda.LineIndexing
+.. autoclass:: pystencils.gpu.LineIndexing
    :members:
diff --git a/pystencils/__init__.py b/pystencils/__init__.py
index 70ad39e1aded8ab2dde8dfa929d8c1135d9194d0..92fdda9c55bed3f28709f95b0088dd2d88e1904b 100644
--- a/pystencils/__init__.py
+++ b/pystencils/__init__.py
@@ -3,8 +3,7 @@ from .enums import Backend, Target
 from . import fd
 from . import stencil as stencil
 from .assignment import Assignment, assignment_from_stencil
-from pystencils.typing.typed_sympy import TypedSymbol
-from .datahandling import create_data_handling
+from .typing.typed_sympy import TypedSymbol
 from .display_utils import get_code_obj, get_code_str, show_code, to_dot
 from .field import Field, FieldType, fields
 from .config import CreateKernelConfig
@@ -15,6 +14,7 @@ from .simp import AssignmentCollection
 from .slicing import make_slice
 from .spatial_coordinates import x_, x_staggered, x_staggered_vector, x_vector, y_, y_staggered, z_, z_staggered
 from .sympyextensions import SymbolCreator
+from .datahandling import create_data_handling
 
 __all__ = ['Field', 'FieldType', 'fields',
            'TypedSymbol',
diff --git a/pystencils/alignedarray.py b/pystencils/alignedarray.py
index 067a26d58370460beb1852add9ae46b9709b0595..63bdb3a5f1324a099bbd82fd666bfaec11eeb5af 100644
--- a/pystencils/alignedarray.py
+++ b/pystencils/alignedarray.py
@@ -25,7 +25,8 @@ def aligned_empty(shape, byte_alignment=True, dtype=np.float64, byte_offset=0, o
             byte_alignment = 64
         elif byte_alignment == 'cacheline':
             cacheline_sizes = [get_cacheline_size(is_name) for is_name in instruction_sets]
-            if all([s is None for s in cacheline_sizes]):
+            if all([s is None for s in cacheline_sizes]) or \
+                    max([s for s in cacheline_sizes if s is not None]) > 0x100000:
                 widths = [get_vector_instruction_set(dtype, is_name)['width'] * np.dtype(dtype).itemsize
                           for is_name in instruction_sets
                           if type(get_vector_instruction_set(dtype, is_name)['width']) is int]
diff --git a/pystencils/backends/simd_instruction_sets.py b/pystencils/backends/simd_instruction_sets.py
index 7d0d028c0691e48252a287dd81b46fd0d0a420cc..8024d58c3960235611020cd05f3ea3755375cf5b 100644
--- a/pystencils/backends/simd_instruction_sets.py
+++ b/pystencils/backends/simd_instruction_sets.py
@@ -9,6 +9,7 @@ from pystencils.backends.x86_instruction_sets import get_vector_instruction_set_
 from pystencils.backends.arm_instruction_sets import get_vector_instruction_set_arm
 from pystencils.backends.ppc_instruction_sets import get_vector_instruction_set_ppc
 from pystencils.backends.riscv_instruction_sets import get_vector_instruction_set_riscv
+from pystencils.cache import memorycache
 from pystencils.typing import numpy_name_to_c
 
 
@@ -31,80 +32,68 @@ def get_vector_instruction_set(data_type='double', instruction_set='avx'):
         return get_vector_instruction_set_x86(type_name, instruction_set)
 
 
-_cache = None
-_cachelinesize = None
-
-
+@memorycache
 def get_supported_instruction_sets():
     """List of supported instruction sets on current hardware, or None if query failed."""
-    global _cache
-    if _cache is not None:
-        return _cache.copy()
     if 'PYSTENCILS_SIMD' in os.environ:
         return os.environ['PYSTENCILS_SIMD'].split(',')
-    if (platform.system() == 'Darwin' or platform.system() == 'Linux') and platform.machine() == 'arm64':
-        # not supported by cpuinfo
+    if platform.system() == 'Darwin' and platform.machine() == 'arm64':
         return ['neon']
-    elif platform.system() == 'Linux' and platform.machine().startswith('riscv'):  # not supported by cpuinfo
+    elif platform.system() == 'Windows' and platform.machine() == 'ARM64':
+        return ['neon']
+    elif platform.system() == 'Linux' and platform.machine() == 'aarch64':
+        result = ['neon']  # Neon is mandatory on 64-bit ARM
         libc = CDLL('libc.so.6')
         hwcap = libc.getauxval(16)  # AT_HWCAP
-        hwcap_isa_v = 1 << (ord('V') - ord('A'))  # COMPAT_HWCAP_ISA_V
-        return ['rvv'] if hwcap & hwcap_isa_v else []
-    elif platform.machine().startswith('ppc64'):  # no flags reported by cpuinfo
-        import subprocess
-        import tempfile
-        from pystencils.cpu.cpujit import get_compiler_config
-        f = tempfile.NamedTemporaryFile(suffix='.cpp')
-        command = [get_compiler_config()['command'], '-mcpu=native', '-dM', '-E', f.name]
-        macros = subprocess.check_output(command, input='', text=True)
-        if '#define __VSX__' in macros and '#define __ALTIVEC__' in macros:
-            _cache = ['vsx']
-        else:
-            _cache = []
-        return _cache.copy()
-    try:
-        from cpuinfo import get_cpu_info
-    except ImportError:
-        return None
-
-    result = []
-    required_sse_flags = {'sse', 'sse2', 'ssse3', 'sse4_1', 'sse4_2'}
-    required_avx_flags = {'avx', 'avx2'}
-    required_avx512_flags = {'avx512f'}
-    required_neon_flags = {'neon'}
-    required_sve_flags = {'sve'}
-    flags = set(get_cpu_info()['flags'])
-    if flags.issuperset(required_sse_flags):
-        result.append("sse")
-    if flags.issuperset(required_avx_flags):
-        result.append("avx")
-    if flags.issuperset(required_avx512_flags):
-        result.append("avx512")
-    if flags.issuperset(required_neon_flags):
-        result.append("neon")
-    if flags.issuperset(required_sve_flags):
-        if platform.system() == 'Linux':
-            libc = CDLL('libc.so.6')
+        if hwcap & (1 << 22):  # HWCAP_SVE
             length = 8 * libc.prctl(51, 0, 0, 0, 0)  # PR_SVE_GET_VL
             if length < 0:
                 raise OSError("SVE length query failed")
-            while length > 128:
+            while length >= 128:
                 result.append(f"sve{length}")
                 length //= 2
-        result.append("sve")
-    return result
+            result.append("sve")
+        return result
+    elif platform.system() == 'Linux' and platform.machine().startswith('riscv'):
+        libc = CDLL('libc.so.6')
+        hwcap = libc.getauxval(16)  # AT_HWCAP
+        hwcap_isa_v = 1 << (ord('V') - ord('A'))  # COMPAT_HWCAP_ISA_V
+        return ['rvv'] if hwcap & hwcap_isa_v else []
+    elif platform.system() == 'Linux' and platform.machine().startswith('ppc64'):
+        libc = CDLL('libc.so.6')
+        hwcap = libc.getauxval(16)  # AT_HWCAP
+        return ['vsx'] if hwcap & 0x00000080 else []  # PPC_FEATURE_HAS_VSX
+    elif platform.machine() in ['x86_64', 'x86', 'AMD64', 'i386']:
+        try:
+            from cpuinfo import get_cpu_info
+        except ImportError:
+            return None
+
+        result = []
+        required_sse_flags = {'sse', 'sse2', 'ssse3', 'sse4_1', 'sse4_2'}
+        required_avx_flags = {'avx', 'avx2'}
+        required_avx512_flags = {'avx512f'}
+        flags = set(get_cpu_info()['flags'])
+        if flags.issuperset(required_sse_flags):
+            result.append("sse")
+        if flags.issuperset(required_avx_flags):
+            result.append("avx")
+        if flags.issuperset(required_avx512_flags):
+            result.append("avx512")
+        return result
+    else:
+        raise NotImplementedError('Instruction set detection for %s on %s is not implemented' %
+                                  (platform.system(), platform.machine()))
 
 
+@memorycache
 def get_cacheline_size(instruction_set):
     """Get the size (in bytes) of a cache block that can be zeroed without memory access.
        Usually, this is identical to the cache line size."""
-    global _cachelinesize
     
     instruction_sets = get_vector_instruction_set('double', instruction_set)
     if 'cachelineSize' not in instruction_sets:
         return None
-    if _cachelinesize is not None:
-        return _cachelinesize
     
     import pystencils as ps
     from pystencils.astnodes import SympyAssignment
@@ -117,5 +106,4 @@ def get_cacheline_size(instruction_set):
     ast = ps.create_kernel(ass, cpu_vectorize_info={'instruction_set': instruction_set})
     kernel = ast.compile()
     kernel(**{f.name: arr, CachelineSize.symbol.name: 0})
-    _cachelinesize = int(arr[0, 0])
-    return _cachelinesize
+    return int(arr[0, 0])
diff --git a/pystencils/boundaries/boundaryhandling.py b/pystencils/boundaries/boundaryhandling.py
index 2be86510ede07d50d2abfb4868ecf92157bb5c6d..53c3980e2d2c9c947d45410d03017da135d4a843 100644
--- a/pystencils/boundaries/boundaryhandling.py
+++ b/pystencils/boundaries/boundaryhandling.py
@@ -9,7 +9,7 @@ from pystencils.backends.cbackend import CustomCodeNode
 from pystencils.boundaries.createindexlist import (
     create_boundary_index_array, numpy_data_type_for_boundary_object)
 from pystencils.typing import TypedSymbol, create_type
-from pystencils.datahandling.pycuda import PyCudaArrayHandler
+from pystencils.gpu.gpu_array_handler import GPUArrayHandler
 from pystencils.field import Field
 from pystencils.typing.typed_sympy import FieldPointerSymbol
 
@@ -18,6 +18,7 @@ try:
     import waLBerla as wlb
     if wlb.cpp_available:
         from pystencils.datahandling.parallel_datahandling import ParallelDataHandling
+        import cupy.cuda.runtime
     else:
         ParallelDataHandling = None
 except ImportError:
@@ -100,7 +101,7 @@ class BoundaryHandling:
         self.flag_interface = fi if fi is not None else FlagInterface(data_handling, name + "Flags")
 
         if ParallelDataHandling and isinstance(self.data_handling, ParallelDataHandling):
-            array_handler = PyCudaArrayHandler()
+            array_handler = GPUArrayHandler(cupy.cuda.runtime.getDevice())
         else:
             array_handler = self.data_handling.array_handler
 
@@ -116,7 +117,8 @@ class BoundaryHandling:
 
             for obj, cpu_arr in cpu_version.items():
                 if obj not in gpu_version or gpu_version[obj].shape != cpu_arr.shape:
-                    gpu_version[obj] = array_handler.to_gpu(cpu_arr)
+                    gpu_version[obj] = array_handler.empty(cpu_arr.shape, cpu_arr.dtype)
+                    array_handler.upload(gpu_version[obj], cpu_arr)
                 else:
                     array_handler.upload(gpu_version[obj], cpu_arr)
 
diff --git a/pystencils/config.py b/pystencils/config.py
index 23570d625dc96257ad3e6c420f5e1a54467479cb..3c03c0d33545bf6d7345139c0d4197c4f89d0027 100644
--- a/pystencils/config.py
+++ b/pystencils/config.py
@@ -80,7 +80,7 @@ class CreateKernelConfig:
     """
     gpu_indexing: str = 'block'
     """
-    Either 'block' or 'line' , or custom indexing class, see `pystencils.gpucuda.AbstractIndexing`
+    Either 'block' or 'line' , or custom indexing class, see `pystencils.gpu.AbstractIndexing`
     """
     gpu_indexing_params: MappingProxyType = field(default_factory=lambda: MappingProxyType({}))
     """
diff --git a/pystencils/cpu/cpujit.py b/pystencils/cpu/cpujit.py
index aebefec91d1b2f392b849f79960bf72dee666bf2..b839f87cfc06385e0c48080795c339ce4c88556d 100644
--- a/pystencils/cpu/cpujit.py
+++ b/pystencils/cpu/cpujit.py
@@ -43,26 +43,30 @@ Then 'cl.exe' is used to compile.
   For Windows compilers the qualifier should be ``__restrict``
 
 """
+from appdirs import user_cache_dir, user_config_dir
+from collections import OrderedDict
 import hashlib
+import importlib.util
 import json
 import os
 import platform
 import shutil
 import subprocess
+import sysconfig
+import tempfile
 import textwrap
-from collections import OrderedDict
-from sysconfig import get_paths
-from tempfile import TemporaryDirectory, NamedTemporaryFile
+import time
+import warnings
 
 import numpy as np
-from appdirs import user_cache_dir, user_config_dir
 
 from pystencils import FieldType
 from pystencils.astnodes import LoopOverCoordinate
 from pystencils.backends.cbackend import generate_c, get_headers, CFunction
-from pystencils.typing import CastFunc, VectorType, VectorMemoryAccess
+from pystencils.cpu.msvc_detection import get_environment
 from pystencils.include import get_pystencils_include_path
 from pystencils.kernel_wrapper import KernelWrapper
+from pystencils.typing import BasicType, CastFunc, VectorType, VectorMemoryAccess
 from pystencils.utils import atomic_file_write, recursive_dict_update
 
 
@@ -146,9 +150,7 @@ def read_config():
             ('flags', '-Ofast -DNDEBUG -fPIC -march=native -fopenmp -std=c++11'),
             ('restrict_qualifier', '__restrict__')
         ])
-        if platform.machine() == 'arm64':
-            default_compiler_config['flags'] = default_compiler_config['flags'].replace('-march=native', '')
-        elif platform.machine().startswith('ppc64'):
+        if platform.machine().startswith('ppc64') or platform.machine() == 'arm64':
             default_compiler_config['flags'] = default_compiler_config['flags'].replace('-march=native',
                                                                                         '-mcpu=native')
     elif platform.system().lower() == 'windows':
@@ -159,6 +161,9 @@ def read_config():
             ('flags', '/Ox /fp:fast /OpenMP /arch:avx'),
             ('restrict_qualifier', '__restrict')
         ])
+        if platform.machine() == 'ARM64':
+            default_compiler_config['arch'] = 'ARM64'
+            default_compiler_config['flags'] = default_compiler_config['flags'].replace(' /arch:avx', '')
     elif platform.system().lower() == 'darwin':
         default_compiler_config = OrderedDict([
             ('os', 'darwin'),
@@ -174,8 +179,8 @@ def read_config():
                 default_compiler_config['flags'] += ' ' + libomp
                 break
     else:
-        raise ValueError("The detection of the platform with platform.system() did not work. "
-                         "Pystencils is only supported for linux, windows, and darwin platforms.")
+        raise NotImplementedError('Generation of default compiler flags for %s is not implemented' %
+                                  (platform.system(),))
 
     default_cache_config = OrderedDict([
         ('object_cache', os.path.join(user_cache_dir('pystencils'), 'objectcache')),
@@ -215,12 +220,11 @@ def read_config():
             shutil.rmtree(config['cache']['object_cache'], ignore_errors=True)
 
         create_folder(config['cache']['object_cache'], False)
-        with NamedTemporaryFile('w', dir=os.path.dirname(cache_status_file), delete=False) as f:
+        with tempfile.NamedTemporaryFile('w', dir=os.path.dirname(cache_status_file), delete=False) as f:
             json.dump(config['compiler'], f, indent=4)
         os.replace(f.name, cache_status_file)
 
     if config['compiler']['os'] == 'windows':
-        from pystencils.cpu.msvc_detection import get_environment
         msvc_env = get_environment(config['compiler']['msvc_version'], config['compiler']['arch'])
         if 'env' not in config['compiler']:
             config['compiler']['env'] = {}
@@ -393,7 +397,8 @@ def create_function_boilerplate_code(parameter_info, name, ast_node, insert_chec
                             has_nontemporal = has_nontemporal or any([a.args[0].field == field and a.args[3] for a in
                                                                       loop.atoms(VectorMemoryAccess)])
                         if has_openmp and has_nontemporal:
-                            byte_width = ast_node.instruction_set['cachelineSize']
+                            cl_size = ast_node.instruction_set['cachelineSize']
+                            byte_width = f"({cl_size}) < SIZE_MAX ? ({cl_size}) : ({byte_width})"
                     offset = max(max(ast_node.ghost_layers)) * item_size
                     offset_cond = f"(((uintptr_t) buffer_{field.name}.buf) + {offset}) % ({byte_width}) == 0"
 
@@ -468,18 +473,15 @@ def create_module_boilerplate_code(module_name, names):
 
 
 def load_kernel_from_file(module_name, function_name, path):
-    from importlib.util import spec_from_file_location, module_from_spec
     try:
-        spec = spec_from_file_location(name=module_name, location=path)
-        mod = module_from_spec(spec)
+        spec = importlib.util.spec_from_file_location(name=module_name, location=path)
+        mod = importlib.util.module_from_spec(spec)
         spec.loader.exec_module(mod)
     except ImportError:
-        import time
-        import warnings
         warnings.warn(f"Could not load {path}, trying on more time in 5 seconds ...")
         time.sleep(5)
-        spec = spec_from_file_location(name=module_name, location=path)
-        mod = module_from_spec(spec)
+        spec = importlib.util.spec_from_file_location(name=module_name, location=path)
+        mod = importlib.util.module_from_spec(spec)
         spec.loader.exec_module(mod)
 
     return getattr(mod, function_name)
@@ -518,9 +520,13 @@ class ExtensionModuleCode:
 
         headers = {'<math.h>', '<stdint.h>'}
         for ast in self._ast_nodes:
+            for field in ast.fields_accessed:
+                if isinstance(field.dtype, BasicType) and field.dtype.is_half():
+                    # Add the half precision header only if half precision numbers occur in the AST
+                    headers.add('"half_precision.h"')
             headers.update(get_headers(ast))
-        header_list = list(headers)
-        header_list.sort()
+
+        header_list = sorted(headers)
         header_list.insert(0, '"Python.h"')
         ps_headers = [os.path.join(os.path.dirname(__file__), '..', 'include', h[1:-1]) for h in header_list
                       if os.path.exists(os.path.join(os.path.dirname(__file__), '..', 'include', h[1:-1]))]
@@ -557,7 +563,7 @@ def compile_module(code, code_hash, base_dir, compile_flags=None):
         compile_flags = []
 
     compiler_config = get_compiler_config()
-    extra_flags = ['-I' + get_paths()['include'], '-I' + get_pystencils_include_path()] + compile_flags
+    extra_flags = ['-I' + sysconfig.get_paths()['include'], '-I' + get_pystencils_include_path()] + compile_flags
 
     if compiler_config['os'].lower() == 'windows':
         lib_suffix = '.pyd'
@@ -591,7 +597,6 @@ def compile_module(code, code_hash, base_dir, compile_flags=None):
 
         # Linking
         if windows:
-            import sysconfig
             config_vars = sysconfig.get_config_vars()
             py_lib = os.path.join(config_vars["installed_base"], "libs",
                                   f"python{config_vars['py_version_nodot']}.lib")
@@ -625,7 +630,7 @@ def compile_and_load(ast, custom_backend=None):
         compile_flags = ast.instruction_set['compile_flags']
 
     if cache_config['object_cache'] is False:
-        with TemporaryDirectory() as base_dir:
+        with tempfile.TemporaryDirectory() as base_dir:
             lib_file = compile_module(code, code_hash_str, base_dir, compile_flags=compile_flags)
             result = load_kernel_from_file(code_hash_str, ast.function_name, lib_file)
     else:
diff --git a/pystencils/datahandling/__init__.py b/pystencils/datahandling/__init__.py
index 7f142428cf14b62813a7b9b1b245ffae021c1fb8..18053d2d9d6546bcb5ac2093f5f63c1633965a4e 100644
--- a/pystencils/datahandling/__init__.py
+++ b/pystencils/datahandling/__init__.py
@@ -23,7 +23,8 @@ def create_data_handling(domain_size: Tuple[int, ...],
                          default_layout: str = 'SoA',
                          default_target: Target = Target.CPU,
                          parallel: bool = False,
-                         default_ghost_layers: int = 1) -> DataHandling:
+                         default_ghost_layers: int = 1,
+                         device_number: Union[int, None] = None) -> DataHandling:
     """Creates a data handling instance.
 
     Args:
@@ -34,6 +35,9 @@ def create_data_handling(domain_size: Tuple[int, ...],
         default_target: `Target`
         parallel: if True a parallel domain is created using walberla - each MPI process gets a part of the domain
         default_ghost_layers: default number of ghost layers if not overwritten in 'add_array'
+        device_number: If `default_target` is set to 'GPU' and `parallel` is False, a device number should be
+                       specified. If none is given, the device with the largest amount of memory is used. If multiple
+                       devices have the same amount of memory, the one with the lower number is used
     """
     if isinstance(default_target, str):
         new_target = Target[default_target.upper()]
@@ -69,7 +73,8 @@ def create_data_handling(domain_size: Tuple[int, ...],
                                   periodicity=periodicity,
                                   default_target=default_target,
                                   default_layout=default_layout,
-                                  default_ghost_layers=default_ghost_layers)
+                                  default_ghost_layers=default_ghost_layers,
+                                  device_number=device_number)
 
 
 __all__ = ['create_data_handling']
diff --git a/pystencils/datahandling/blockiteration.py b/pystencils/datahandling/blockiteration.py
index bd981dc318cd855c496b70eef5e6bb847c24f2b5..24c4282126912e712769f3cbc74036d790bada21 100644
--- a/pystencils/datahandling/blockiteration.py
+++ b/pystencils/datahandling/blockiteration.py
@@ -115,7 +115,7 @@ class ParallelBlock(Block):
             result = wlb.field.toArray(result, with_ghost_layers=self._gls)
             result = self._normalize_array_shape(result)
         elif 'GpuField' in type_name:
-            result = wlb.cuda.toGpuArray(result, with_ghost_layers=self._gls)
+            result = wlb.gpu.toGpuArray(result, with_ghost_layers=self._gls)
             result = self._normalize_array_shape(result)
         return result
 
diff --git a/pystencils/datahandling/datahandling_interface.py b/pystencils/datahandling/datahandling_interface.py
index d6dc7b4ea75de2108e8818c4f3764659cfed3f0d..d7a49bab0473fe0be8b7bb95a11a7df9ffb70cbb 100644
--- a/pystencils/datahandling/datahandling_interface.py
+++ b/pystencils/datahandling/datahandling_interface.py
@@ -331,6 +331,7 @@ class DataHandling(ABC):
                 b[array_name][(Ellipsis, *value_idx)].fill(val)
             else:
                 b[array_name].fill(val)
+            self.to_gpu(array_name)
 
     def min(self, array_name, slice_obj=None, ghost_layers=False, inner_ghost_layers=False, reduce=True):
         """Returns the minimum value inside the domain or slice of the domain.
diff --git a/pystencils/datahandling/parallel_datahandling.py b/pystencils/datahandling/parallel_datahandling.py
index 9d1e898d7368c22faf6c1699a619587cb1c613a1..d9d91cd6c364469ae574ed9a3b5322e44977f6f1 100644
--- a/pystencils/datahandling/parallel_datahandling.py
+++ b/pystencils/datahandling/parallel_datahandling.py
@@ -151,8 +151,8 @@ class ParallelDataHandling(DataHandling):
         if gpu:
             if alignment != 0:
                 raise ValueError("Alignment for walberla GPU fields not yet supported")
-            wlb.cuda.addGpuFieldToStorage(self.blocks, self.GPU_DATA_PREFIX + name, dtype, fSize=values_per_cell,
-                                          usePitchedMem=False, ghostLayers=ghost_layers, layout=layout_map[layout])
+            wlb.gpu.addGpuFieldToStorage(self.blocks, self.GPU_DATA_PREFIX + name, dtype, fSize=values_per_cell,
+                                         usePitchedMem=False, ghostLayers=ghost_layers, layout=layout_map[layout])
 
         if cpu and gpu:
             self._cpu_gpu_pairs.append((name, self.GPU_DATA_PREFIX + name))
@@ -255,7 +255,7 @@ class ParallelDataHandling(DataHandling):
     def get_kernel_kwargs(self, kernel_function, **kwargs):
         if kernel_function.ast.backend == Backend.CUDA:
             name_map = self._field_name_to_gpu_data_name
-            to_array = wlb.cuda.toGpuArray
+            to_array = wlb.gpu.toGpuArray
         else:
             name_map = self._field_name_to_cpu_data_name
             to_array = wlb.field.toArray
@@ -280,7 +280,8 @@ class ParallelDataHandling(DataHandling):
             for block in self.blocks:
                 transfer_func(block[self.GPU_DATA_PREFIX + name], block[name])
         else:
-            wlb.cuda.copyFieldToCpu(self.blocks, self.GPU_DATA_PREFIX + name, name)
+            if self.is_on_gpu(name):
+                wlb.gpu.copyFieldToCpu(self.blocks, self.GPU_DATA_PREFIX + name, name)
 
     def to_gpu(self, name):
         if name in self._custom_data_transfer_functions:
@@ -288,20 +289,21 @@ class ParallelDataHandling(DataHandling):
             for block in self.blocks:
                 transfer_func(block[self.GPU_DATA_PREFIX + name], block[name])
         else:
-            wlb.cuda.copyFieldToGpu(self.blocks, self.GPU_DATA_PREFIX + name, name)
+            if self.is_on_gpu(name):
+                wlb.gpu.copyFieldToGpu(self.blocks, self.GPU_DATA_PREFIX + name, name)
 
     def is_on_gpu(self, name):
         return (name, self.GPU_DATA_PREFIX + name) in self._cpu_gpu_pairs
 
     def all_to_cpu(self):
         for cpu_name, gpu_name in self._cpu_gpu_pairs:
-            wlb.cuda.copyFieldToCpu(self.blocks, gpu_name, cpu_name)
+            wlb.gpu.copyFieldToCpu(self.blocks, gpu_name, cpu_name)
         for name in self._custom_data_transfer_functions.keys():
             self.to_cpu(name)
 
     def all_to_gpu(self):
         for cpu_name, gpu_name in self._cpu_gpu_pairs:
-            wlb.cuda.copyFieldToGpu(self.blocks, gpu_name, cpu_name)
+            wlb.gpu.copyFieldToGpu(self.blocks, gpu_name, cpu_name)
         for name in self._custom_data_transfer_functions.keys():
             self.to_gpu(name)
 
@@ -328,7 +330,7 @@ class ParallelDataHandling(DataHandling):
                 create_packing = wlb.field.createStencilRestrictedPackInfo
         else:
             assert target == Target.GPU
-            create_packing = wlb.cuda.createPackInfo if buffered else wlb.cuda.createMPIDatatypeInfo
+            create_packing = wlb.gpu.createPackInfo if buffered else wlb.gpu.createMPIDatatypeInfo
             names = [self.GPU_DATA_PREFIX + name for name in names]
 
         sync_function = create_scheme(self.blocks, stencil)
diff --git a/pystencils/datahandling/pycuda.py b/pystencils/datahandling/pycuda.py
deleted file mode 100644
index 1c65a1e9b51ea561be573a0d271b719a01dab66d..0000000000000000000000000000000000000000
--- a/pystencils/datahandling/pycuda.py
+++ /dev/null
@@ -1,52 +0,0 @@
-try:
-    import pycuda.gpuarray as gpuarray
-except ImportError:
-    gpuarray = None
-import numpy as np
-
-import pystencils
-
-
-class PyCudaArrayHandler:
-
-    def __init__(self):
-        import pycuda.autoinit  # NOQA
-
-    def zeros(self, shape, dtype=np.float64, order='C'):
-        cpu_array = np.zeros(shape=shape, dtype=dtype, order=order)
-        return self.to_gpu(cpu_array)
-
-    def ones(self, shape, dtype=np.float64, order='C'):
-        cpu_array = np.ones(shape=shape, dtype=dtype, order=order)
-        return self.to_gpu(cpu_array)
-
-    def empty(self, shape, dtype=np.float64, layout=None):
-        if layout:
-            cpu_array = pystencils.field.create_numpy_array_with_layout(shape=shape, dtype=dtype, layout=layout)
-            return self.to_gpu(cpu_array)
-        else:
-            return gpuarray.empty(shape, dtype)
-
-    @staticmethod
-    def to_gpu(array):
-        return gpuarray.to_gpu(array)
-
-    @staticmethod
-    def upload(array, numpy_array):
-        array.set(numpy_array)
-
-    @staticmethod
-    def download(array, numpy_array):
-        array.get(numpy_array)
-
-    def randn(self, shape, dtype=np.float64):
-        cpu_array = np.random.randn(*shape).astype(dtype)
-        return self.to_gpu(cpu_array)
-
-    from_numpy = to_gpu
-
-
-class PyCudaNotAvailableHandler:
-    def __getattribute__(self, name):
-        raise NotImplementedError("Unable to initiaize PyCuda! "
-                                  "Try to run `import pycuda.autoinit` to check whether PyCuda is working correctly!")
diff --git a/pystencils/datahandling/serial_datahandling.py b/pystencils/datahandling/serial_datahandling.py
index 319411fef297e4b74ecb73f0b76ee32419c81aa0..0f5ddb431a869f3326f25b46a4f276268d2afd44 100644
--- a/pystencils/datahandling/serial_datahandling.py
+++ b/pystencils/datahandling/serial_datahandling.py
@@ -6,11 +6,10 @@ import numpy as np
 
 from pystencils.datahandling.blockiteration import SerialBlock
 from pystencils.datahandling.datahandling_interface import DataHandling
-from pystencils.datahandling.pycuda import PyCudaArrayHandler, PyCudaNotAvailableHandler
 from pystencils.enums import Target
-from pystencils.field import (
-    Field, FieldType, create_numpy_array_with_layout, layout_string_to_tuple,
-    spatial_layout_string_to_tuple)
+from pystencils.field import (Field, FieldType, create_numpy_array_with_layout,
+                              layout_string_to_tuple, spatial_layout_string_to_tuple)
+from pystencils.gpu.gpu_array_handler import GPUArrayHandler, GPUNotAvailableHandler
 from pystencils.slicing import normalize_slice, remove_ghost_layers
 from pystencils.utils import DotDict
 
@@ -23,7 +22,8 @@ class SerialDataHandling(DataHandling):
                  default_layout: str = 'SoA',
                  periodicity: Union[bool, Sequence[bool]] = False,
                  default_target: Target = Target.CPU,
-                 array_handler=None) -> None:
+                 array_handler=None,
+                 device_number=None) -> None:
         """
         Creates a data handling for single node simulations.
 
@@ -31,9 +31,17 @@ class SerialDataHandling(DataHandling):
             domain_size: size of the spatial domain as tuple
             default_ghost_layers: default number of ghost layers used, if not overridden in add_array() method
             default_layout: default layout used, if  not overridden in add_array() method
+            periodicity: List of booleans that indicate which dimensions have periodic boundary conditions.
+                         Alternatively, a single boolean can be given, which is used for all dimensions. Defaults to
+                         False (non-periodic)
             default_target: `Target` either 'CPU' or 'GPU'. If set to 'GPU' for each array also a GPU version is
                             allocated if not overwritten in add_array, and synchronization functions are for the GPU by
                             default
+            array_handler: An object that provides the same interface as `GPUArrayHandler`, which is used for creation
+                           and transferring of GPU arrays. Default is to construct a fresh `GPUArrayHandler`
+            device_number: If `default_target` is set to 'GPU', a device number should be specified. If none is given,
+                           the device with the largest amount of memory is used. If multiple devices have the same
+                           amount of memory, the one with the lower number is used
         """
         super(SerialDataHandling, self).__init__()
         self._domainSize = tuple(domain_size)
@@ -48,9 +56,14 @@ class SerialDataHandling(DataHandling):
 
         if not array_handler:
             try:
-                self.array_handler = PyCudaArrayHandler()
-            except Exception:
-                self.array_handler = PyCudaNotAvailableHandler()
+                if device_number is None:
+                    import cupy.cuda.runtime
+                    if cupy.cuda.runtime.getDeviceCount() > 0:
+                        device_number = sorted(range(cupy.cuda.runtime.getDeviceCount()),
+                                               key=lambda i: cupy.cuda.Device(i).mem_info[1], reverse=True)[0]
+                self.array_handler = GPUArrayHandler(device_number)
+            except ImportError:
+                self.array_handler = GPUNotAvailableHandler()
         else:
             self.array_handler = array_handler
 
@@ -126,10 +139,14 @@ class SerialDataHandling(DataHandling):
         else:
             layout_tuple = spatial_layout_string_to_tuple(layout, self.dim)
 
-        # cpu_arr is always created - since there is no create_pycuda_array_with_layout()
+        # cpu_arr is always created - since there is no create_gpu_array_with_layout()
         byte_offset = ghost_layers * np.dtype(dtype).itemsize
-        cpu_arr = create_numpy_array_with_layout(layout=layout_tuple, alignment=alignment,
-                                                 byte_offset=byte_offset, **kwargs)
+
+        if gpu:
+            cpu_arr = self.array_handler.pinned_numpy_array(shape=kwargs['shape'], layout=layout_tuple, dtype=dtype)
+        else:
+            cpu_arr = create_numpy_array_with_layout(layout=layout_tuple, alignment=alignment,
+                                                     byte_offset=byte_offset, **kwargs)
 
         if alignment and gpu:
             raise NotImplementedError("Alignment for GPU fields not supported")
@@ -251,14 +268,16 @@ class SerialDataHandling(DataHandling):
             transfer_func = self._custom_data_transfer_functions[name][1]
             transfer_func(self.custom_data_gpu[name], self.custom_data_cpu[name])
         else:
-            self.array_handler.download(self.gpu_arrays[name], self.cpu_arrays[name])
+            if name in self.cpu_arrays.keys() & self.gpu_arrays.keys():
+                self.array_handler.download(self.gpu_arrays[name], self.cpu_arrays[name])
 
     def to_gpu(self, name):
         if name in self._custom_data_transfer_functions:
             transfer_func = self._custom_data_transfer_functions[name][0]
             transfer_func(self.custom_data_gpu[name], self.custom_data_cpu[name])
         else:
-            self.array_handler.upload(self.gpu_arrays[name], self.cpu_arrays[name])
+            if name in self.cpu_arrays.keys() & self.gpu_arrays.keys():
+                self.array_handler.upload(self.gpu_arrays[name], self.cpu_arrays[name])
 
     def is_on_gpu(self, name):
         return name in self.gpu_arrays
@@ -313,7 +332,7 @@ class SerialDataHandling(DataHandling):
                     result.append(functor(filtered_stencil, ghost_layers=gls))
                 else:
                     if functor is None:
-                        from pystencils.gpucuda.periodicity import get_periodic_boundary_functor as functor
+                        from pystencils.gpu.periodicity import get_periodic_boundary_functor as functor
                         target = Target.GPU
                     result.append(functor(filtered_stencil, self._domainSize,
                                           index_dimensions=self.fields[name].index_dimensions,
@@ -419,13 +438,19 @@ class SerialDataHandling(DataHandling):
     def world_rank(self):
         return 0
 
-    def save_all(self, file):
-        np.savez_compressed(file, **self.cpu_arrays)
+    def save_all(self, filename, compressed=True, synchronise_data=True):
+        if synchronise_data:
+            for name in (self.cpu_arrays.keys() & self.gpu_arrays.keys()):
+                self.to_cpu(name)
+        if compressed:
+            np.savez_compressed(filename, **self.cpu_arrays)
+        else:
+            np.savez(filename, **self.cpu_arrays)
 
-    def load_all(self, file):
-        if '.npz' not in file:
-            file += '.npz'
-        file_contents = np.load(file)
+    def load_all(self, filename, synchronise_data=True):
+        if '.npz' not in filename:
+            filename += '.npz'
+        file_contents = np.load(filename)
         for arr_name, arr_contents in self.cpu_arrays.items():
             if arr_name not in file_contents:
                 print(f"Skipping read data {arr_name} because there is no data with this name in data handling")
@@ -435,3 +460,6 @@ class SerialDataHandling(DataHandling):
                       f"Read array shape {file_contents[arr_name].shape}, existing array shape {arr_contents.shape}")
                 continue
             np.copyto(arr_contents, file_contents[arr_name])
+            if synchronise_data:
+                if arr_name in self.gpu_arrays.keys():
+                    self.to_gpu(arr_name)
diff --git a/pystencils/gpu/__init__.py b/pystencils/gpu/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..c0d1fd34d7d8028469d68aaa694f88c3e607e9ee
--- /dev/null
+++ b/pystencils/gpu/__init__.py
@@ -0,0 +1,9 @@
+from pystencils.gpu.gpu_array_handler import GPUArrayHandler, GPUNotAvailableHandler
+from pystencils.gpu.gpujit import make_python_function
+from pystencils.gpu.kernelcreation import create_cuda_kernel, created_indexed_cuda_kernel
+
+from .indexing import AbstractIndexing, BlockIndexing, LineIndexing
+
+__all__ = ['GPUArrayHandler', 'GPUNotAvailableHandler',
+           'create_cuda_kernel', 'created_indexed_cuda_kernel', 'make_python_function',
+           'AbstractIndexing', 'BlockIndexing', 'LineIndexing']
diff --git a/pystencils/gpu/gpu_array_handler.py b/pystencils/gpu/gpu_array_handler.py
new file mode 100644
index 0000000000000000000000000000000000000000..ab5cad9a8e0c9a0a98905343214312ca7f03541c
--- /dev/null
+++ b/pystencils/gpu/gpu_array_handler.py
@@ -0,0 +1,98 @@
+try:
+    import cupy as cp
+    import cupyx as cpx
+except ImportError:
+    cp = None
+    cpx = None
+
+import numpy as np
+
+
+class GPUArrayHandler:
+    def __init__(self, device_number):
+        self._device_number = device_number
+
+    def zeros(self, shape, dtype=np.float64, order='C'):
+        with cp.cuda.Device(self._device_number):
+            return cp.zeros(shape=shape, dtype=dtype, order=order)
+
+    def ones(self, shape, dtype=np.float64, order='C'):
+        with cp.cuda.Device(self._device_number):
+            return cp.ones(shape=shape, dtype=dtype, order=order)
+
+    def empty(self, shape, dtype=np.float64, order='C'):
+        with cp.cuda.Device(self._device_number):
+            return cp.empty(shape=shape, dtype=dtype, order=order)
+
+    def to_gpu(self, numpy_array):
+        swaps = _get_index_swaps(numpy_array)
+        if numpy_array.base is not None and isinstance(numpy_array.base, np.ndarray):
+            with cp.cuda.Device(self._device_number):
+                gpu_array = cp.asarray(numpy_array.base)
+            for a, b in reversed(swaps):
+                gpu_array = gpu_array.swapaxes(a, b)
+            return gpu_array
+        else:
+            return cp.asarray(numpy_array)
+
+    def upload(self, array, numpy_array):
+        assert self._device_number == array.device.id
+        if numpy_array.base is not None and isinstance(numpy_array.base, np.ndarray):
+            with cp.cuda.Device(self._device_number):
+                array.base.set(numpy_array.base)
+        else:
+            with cp.cuda.Device(self._device_number):
+                array.set(numpy_array)
+
+    def download(self, array, numpy_array):
+        assert self._device_number == array.device.id
+        if numpy_array.base is not None and isinstance(numpy_array.base, np.ndarray):
+            with cp.cuda.Device(self._device_number):
+                numpy_array.base[:] = array.base.get()
+        else:
+            with cp.cuda.Device(self._device_number):
+                numpy_array[:] = array.get()
+
+    def randn(self, shape, dtype=np.float64):
+        with cp.cuda.Device(self._device_number):
+            return cp.random.randn(*shape, dtype=dtype)
+
+    @staticmethod
+    def pinned_numpy_array(layout, shape, dtype):
+        assert set(layout) == set(range(len(shape))), "Wrong layout descriptor"
+        cur_layout = list(range(len(shape)))
+        swaps = []
+        for i in range(len(layout)):
+            if cur_layout[i] != layout[i]:
+                index_to_swap_with = cur_layout.index(layout[i])
+                swaps.append((i, index_to_swap_with))
+                cur_layout[i], cur_layout[index_to_swap_with] = cur_layout[index_to_swap_with], cur_layout[i]
+        assert tuple(cur_layout) == tuple(layout)
+
+        shape = list(shape)
+        for a, b in swaps:
+            shape[a], shape[b] = shape[b], shape[a]
+
+        res = cpx.empty_pinned(tuple(shape), order='c', dtype=dtype)
+
+        for a, b in reversed(swaps):
+            res = res.swapaxes(a, b)
+        return res
+
+    from_numpy = to_gpu
+
+
+class GPUNotAvailableHandler:
+    def __getattribute__(self, name):
+        raise NotImplementedError("Unable to utilise cupy! Please make sure cupy works correctly in your setup!")
+
+
+def _get_index_swaps(array):
+    swaps = []
+    if array.base is not None and isinstance(array.base, np.ndarray):
+        for stride in array.base.strides:
+            index_base = array.base.strides.index(stride)
+            index_view = array.strides.index(stride)
+            if index_base != index_view and (index_view, index_base) not in swaps:
+                swaps.append((index_base, index_view))
+    return swaps
diff --git a/pystencils/gpucuda/cudajit.py b/pystencils/gpu/gpujit.py
similarity index 64%
rename from pystencils/gpucuda/cudajit.py
rename to pystencils/gpu/gpujit.py
index b6fb901750895b341d44fde26040ff3b91d0e9e9..52268924126870508c921a8569f6579707e72fda 100644
--- a/pystencils/gpucuda/cudajit.py
+++ b/pystencils/gpu/gpujit.py
@@ -4,9 +4,9 @@ from pystencils.backends.cbackend import get_headers
 from pystencils.backends.cuda_backend import generate_cuda
 from pystencils.typing import StructType
 from pystencils.field import FieldType
-from pystencils.include import get_pycuda_include_path, get_pystencils_include_path
+from pystencils.include import get_pystencils_include_path
 from pystencils.kernel_wrapper import KernelWrapper
-from pystencils.typing.typed_sympy import FieldPointerSymbol
+from pystencils.typing import BasicType, FieldPointerSymbol
 
 USE_FAST_MATH = True
 
@@ -21,39 +21,49 @@ def get_cubic_interpolation_include_paths():
 def make_python_function(kernel_function_node, argument_dict=None, custom_backend=None):
     """
     Creates a kernel function from an abstract syntax tree which
-    was created e.g. by :func:`pystencils.gpucuda.create_cuda_kernel`
-    or :func:`pystencils.gpucuda.created_indexed_cuda_kernel`
+    was created e.g. by :func:`pystencils.gpu.create_cuda_kernel`
+    or :func:`pystencils.gpu.created_indexed_cuda_kernel`
 
     Args:
         kernel_function_node: the abstract syntax tree
         argument_dict: parameters passed here are already fixed. Remaining parameters have to be passed to the
                        returned kernel functor.
+        custom_backend: use own custom printer for code generation
 
     Returns:
         compiled kernel as Python function
     """
-    import pycuda.autoinit  # NOQA
-    from pycuda.compiler import SourceModule
+    import cupy as cp
 
     if argument_dict is None:
         argument_dict = {}
 
-    header_list = ['<cstdint>'] + list(get_headers(kernel_function_node))
+    headers = get_headers(kernel_function_node)
+    if cp.cuda.runtime.is_hip:
+        headers.add('"gpu_defines.h"')
+        for field in kernel_function_node.fields_accessed:
+            if isinstance(field.dtype, BasicType) and field.dtype.is_half():
+                headers.add('<hip/hip_fp16.h>')
+    else:
+        headers.update({'"gpu_defines.h"', '<cstdint>'})
+        for field in kernel_function_node.fields_accessed:
+            if isinstance(field.dtype, BasicType) and field.dtype.is_half():
+                headers.add('<cuda_fp16.h>')
+
+    header_list = sorted(headers)
     includes = "\n".join([f"#include {include_file}" for include_file in header_list])
 
     code = includes + "\n"
     code += "#define FUNC_PREFIX __global__\n"
     code += "#define RESTRICT __restrict__\n\n"
-    code += str(generate_cuda(kernel_function_node, custom_backend=custom_backend))
+    code += 'extern "C" {\n%s\n}\n' % str(generate_cuda(kernel_function_node, custom_backend=custom_backend))
 
-    nvcc_options = ["-w", "-std=c++11", "-Wno-deprecated-gpu-targets"]
+    options = ["-w", "-std=c++11"]
     if USE_FAST_MATH:
-        nvcc_options.append("-use_fast_math")
-
-    mod = SourceModule(code, options=nvcc_options, include_dirs=[
-                       get_pystencils_include_path(), get_pycuda_include_path()])
-    func = mod.get_function(kernel_function_node.function_name)
+        options.append("-use_fast_math")
+    options.append("-I" + get_pystencils_include_path())
 
+    func = cp.RawKernel(code, kernel_function_node.function_name, options=tuple(options), backend="nvrtc", jitify=True)
     parameters = kernel_function_node.get_parameters()
 
     cache = {}
@@ -64,7 +74,10 @@ def make_python_function(kernel_function_node, argument_dict=None, custom_backen
                          for k, v in kwargs.items()))
         try:
             args, block_and_thread_numbers = cache[key]
-            func(*args, **block_and_thread_numbers)
+            device = set(a.device.id for a in args if type(a) is cp.ndarray)
+            assert len(device) == 1, "All arrays used by a kernel need to be allocated on the same device"
+            with cp.cuda.Device(device.pop()):
+                func(block_and_thread_numbers['grid'], block_and_thread_numbers['block'], args)
         except KeyError:
             full_arguments = argument_dict.copy()
             full_arguments.update(kwargs)
@@ -75,11 +88,16 @@ def make_python_function(kernel_function_node, argument_dict=None, custom_backen
             block_and_thread_numbers['block'] = tuple(int(i) for i in block_and_thread_numbers['block'])
             block_and_thread_numbers['grid'] = tuple(int(i) for i in block_and_thread_numbers['grid'])
 
-            args = _build_numpy_argument_list(parameters, full_arguments)
+            args = tuple(_build_numpy_argument_list(parameters, full_arguments))
             cache[key] = (args, block_and_thread_numbers)
             cache_values.append(kwargs)  # keep objects alive such that ids remain unique
-            func(*args, **block_and_thread_numbers)
-        # import pycuda.driver as cuda
+            device = set(a.device.id for a in args if type(a) is cp.ndarray)
+            assert len(device) == 1, "All arrays used by a kernel need to be allocated on the same device"
+            with cp.cuda.Device(device.pop()):
+                func(block_and_thread_numbers['grid'], block_and_thread_numbers['block'], args)
+                # useful for debugging:
+                # cp.cuda.runtime.deviceSynchronize()
+
         # cuda.Context.synchronize() # useful for debugging, to get errors right after kernel was called
     ast = kernel_function_node
     parameters = kernel_function_node.get_parameters()
@@ -98,8 +116,8 @@ def _build_numpy_argument_list(parameters, argument_dict):
             actual_type = array.dtype
             expected_type = param.fields[0].dtype.numpy_dtype
             if expected_type != actual_type:
-                raise ValueError("Data type mismatch for field '%s'. Expected '%s' got '%s'." %
-                                 (param.field_name, expected_type, actual_type))
+                raise ValueError(f"Data type mismatch for field {param.field_name}. "
+                                 f"Expected {expected_type} got {actual_type}.")
             result.append(array)
         elif param.is_field_stride:
             cast_to_dtype = param.symbol.dtype.numpy_dtype.type
@@ -134,22 +152,22 @@ def _check_arguments(parameter_specification, argument_dict):
             try:
                 field_arr = argument_dict[symbolic_field.name]
             except KeyError:
-                raise KeyError("Missing field parameter for kernel call " + str(symbolic_field))
+                raise KeyError(f"Missing field parameter for kernel call {str(symbolic_field)}")
 
             if symbolic_field.has_fixed_shape:
                 symbolic_field_shape = tuple(int(i) for i in symbolic_field.shape)
                 if isinstance(symbolic_field.dtype, StructType):
                     symbolic_field_shape = symbolic_field_shape[:-1]
                 if symbolic_field_shape != field_arr.shape:
-                    raise ValueError("Passed array '%s' has shape %s which does not match expected shape %s" %
-                                     (symbolic_field.name, str(field_arr.shape), str(symbolic_field.shape)))
+                    raise ValueError(f"Passed array {symbolic_field.name} has shape {str(field_arr.shape)} "
+                                     f"which does not match expected shape {str(symbolic_field.shape)}")
             if symbolic_field.has_fixed_shape:
                 symbolic_field_strides = tuple(int(i) * field_arr.dtype.itemsize for i in symbolic_field.strides)
                 if isinstance(symbolic_field.dtype, StructType):
                     symbolic_field_strides = symbolic_field_strides[:-1]
                 if symbolic_field_strides != field_arr.strides:
-                    raise ValueError("Passed array '%s' has strides %s which does not match expected strides %s" %
-                                     (symbolic_field.name, str(field_arr.strides), str(symbolic_field_strides)))
+                    raise ValueError(f"Passed array {symbolic_field.name} has strides {str(field_arr.strides)} "
+                                     f"which does not match expected strides {str(symbolic_field_strides)}")
 
             if FieldType.is_indexed(symbolic_field):
                 index_arr_shapes.add(field_arr.shape[:symbolic_field.spatial_dimensions])
@@ -157,9 +175,9 @@ def _check_arguments(parameter_specification, argument_dict):
                 array_shapes.add(field_arr.shape[:symbolic_field.spatial_dimensions])
 
     if len(array_shapes) > 1:
-        raise ValueError("All passed arrays have to have the same size " + str(array_shapes))
+        raise ValueError(f"All passed arrays have to have the same size {str(array_shapes)}")
     if len(index_arr_shapes) > 1:
-        raise ValueError("All passed index arrays have to have the same size " + str(array_shapes))
+        raise ValueError(f"All passed index arrays have to have the same size {str(array_shapes)}")
 
     if len(index_arr_shapes) > 0:
         return list(index_arr_shapes)[0]
diff --git a/pystencils/gpucuda/indexing.py b/pystencils/gpu/indexing.py
similarity index 83%
rename from pystencils/gpucuda/indexing.py
rename to pystencils/gpu/indexing.py
index 423b115837bda768ec8313abdc50c9a5ac017085..05837445af9649906498ee988b18a4bb973804dc 100644
--- a/pystencils/gpucuda/indexing.py
+++ b/pystencils/gpu/indexing.py
@@ -1,5 +1,6 @@
 import abc
 from functools import partial
+import math
 
 import sympy as sp
 from sympy.core.cache import cacheit
@@ -33,7 +34,7 @@ GRID_DIM = [ThreadIndexingSymbol("gridDim." + coord, create_type("int32")) for c
 class AbstractIndexing(abc.ABC):
     """
     Abstract base class for all Indexing classes. An Indexing class defines how a multidimensional
-    field is mapped to CUDA's block and grid system. It calculates indices based on CUDA's thread and block indices
+    field is mapped to GPU's block and grid system. It calculates indices based on GPU's thread and block indices
     and computes the number of blocks and threads a kernel is started with. The Indexing class is created with
     a pystencils field, a slice to iterate over, and further optional parameters that must have default values.
     """
@@ -41,12 +42,12 @@ class AbstractIndexing(abc.ABC):
     @property
     @abc.abstractmethod
     def coordinates(self):
-        """Returns a sequence of coordinate expressions for (x,y,z) depending on symbolic CUDA block and thread indices.
+        """Returns a sequence of coordinate expressions for (x,y,z) depending on symbolic GPU block and thread indices.
         These symbolic indices can be obtained with the method `index_variables` """
 
     @property
     def index_variables(self):
-        """Sympy symbols for CUDA's block and thread indices, and block and grid dimensions. """
+        """Sympy symbols for GPU's block and thread indices, and block and grid dimensions. """
         return BLOCK_IDX + THREAD_IDX + BLOCK_DIM + GRID_DIM
 
     @abc.abstractmethod
@@ -88,19 +89,22 @@ class AbstractIndexing(abc.ABC):
 
 
 class BlockIndexing(AbstractIndexing):
-    """Generic indexing scheme that maps sub-blocks of an array to CUDA blocks.
+    """Generic indexing scheme that maps sub-blocks of an array to GPU blocks.
 
     Args:
         field: pystencils field (common to all Indexing classes)
         iteration_slice: slice that defines rectangular subarea which is iterated over
         permute_block_size_dependent_on_layout: if True the block_size is permuted such that the fastest coordinate
                                                 gets the largest amount of threads
-        compile_time_block_size: compile in concrete block size, otherwise the cuda variable 'blockDim' is used
+        compile_time_block_size: compile in concrete block size, otherwise the gpu variable 'blockDim' is used
+        maximum_block_size: maximum block size that is possible for the GPU. Set to 'auto' to let cupy define the
+                            maximum block size from the device properties
+        device_number: device number of the used GPU. By default, the zeroth device is used.
     """
 
     def __init__(self, field, iteration_slice,
                  block_size=(16, 16, 1), permute_block_size_dependent_on_layout=True, compile_time_block_size=False,
-                 maximum_block_size=(1024, 1024, 64)):
+                 maximum_block_size=(1024, 1024, 64), device_number=None):
         if field.spatial_dimensions > 3:
             raise NotImplementedError("This indexing scheme supports at most 3 spatial dimensions")
 
@@ -109,20 +113,22 @@ class BlockIndexing(AbstractIndexing):
 
         self._block_size = block_size
         if maximum_block_size == 'auto':
+            assert device_number is not None, 'If "maximum_block_size" is set to "auto" a device number must be stated'
             # Get device limits
-            import pycuda.driver as cuda
-            # noinspection PyUnresolvedReferences
-            import pycuda.autoinit  # NOQA
-            da = cuda.device_attribute
-            device = cuda.Context.get_device()
-            maximum_block_size = tuple(device.get_attribute(a)
-                                       for a in (da.MAX_BLOCK_DIM_X, da.MAX_BLOCK_DIM_Y, da.MAX_BLOCK_DIM_Z))
+            import cupy as cp
+            # See https://github.com/cupy/cupy/issues/7676
+            if cp.cuda.runtime.is_hip:
+                maximum_block_size = tuple(cp.cuda.runtime.deviceGetAttribute(i, device_number) for i in range(26, 29))
+            else:
+                da = cp.cuda.Device(device_number).attributes
+                maximum_block_size = tuple(da[f"MaxBlockDim{c}"] for c in ["X", "Y", "Z"])
 
         self._maximum_block_size = maximum_block_size
         self._iterationSlice = normalize_slice(iteration_slice, field.spatial_shape)
         self._dim = field.spatial_dimensions
         self._symbolic_shape = [e if isinstance(e, sp.Basic) else None for e in field.spatial_shape]
         self._compile_time_block_size = compile_time_block_size
+        self._device_number = device_number
 
     @property
     def cuda_indices(self):
@@ -180,35 +186,34 @@ class BlockIndexing(AbstractIndexing):
     def iteration_space(self, arr_shape):
         return _iteration_space(self._iterationSlice, arr_shape)
 
-    @staticmethod
-    def limit_block_size_by_register_restriction(block_size, required_registers_per_thread, device=None):
-        """Shrinks the block_size if there are too many registers used per multiprocessor.
+    def limit_block_size_by_register_restriction(self, block_size, required_registers_per_thread):
+        """Shrinks the block_size if there are too many registers used per block.
         This is not done automatically, since the required_registers_per_thread are not known before compilation.
-        They can be obtained by ``func.num_regs`` from a pycuda function.
-        :returns smaller block_size if too many registers are used.
+        They can be obtained by ``func.num_regs`` from a cupy function.
+        Args:
+            block_size: used block size that is target for limiting
+            required_registers_per_thread: needed registers per thread
+        returns: smaller block_size if too many registers are used.
         """
-        import pycuda.driver as cuda
-        # noinspection PyUnresolvedReferences
-        import pycuda.autoinit  # NOQA
+        import cupy as cp
 
-        da = cuda.device_attribute
-        if device is None:
-            device = cuda.Context.get_device()
-        available_registers_per_mp = device.get_attribute(da.MAX_REGISTERS_PER_MULTIPROCESSOR)
-
-        block = block_size
+        # See https://github.com/cupy/cupy/issues/7676
+        if cp.cuda.runtime.is_hip:
+            max_registers_per_block = cp.cuda.runtime.deviceGetAttribute(71, self._device_number)
+        else:
+            device = cp.cuda.Device(self._device_number)
+            da = device.attributes
+            max_registers_per_block = da.get("MaxRegistersPerBlock")
 
+        result = list(block_size)
         while True:
-            num_threads = 1
-            for t in block:
-                num_threads *= t
-            required_registers_per_mt = num_threads * required_registers_per_thread
-            if required_registers_per_mt <= available_registers_per_mp:
-                return block
+            required_registers = math.prod(result) * required_registers_per_thread
+            if required_registers <= max_registers_per_block:
+                return result
             else:
-                largest_grid_entry_idx = max(range(len(block)), key=lambda e: block[e])
-                assert block[largest_grid_entry_idx] >= 2
-                block[largest_grid_entry_idx] //= 2
+                largest_list_entry_idx = max(range(len(result)), key=lambda e: result[e])
+                assert result[largest_list_entry_idx] >= 2
+                result[largest_list_entry_idx] //= 2
 
     @staticmethod
     def permute_block_size_according_to_layout(block_size, layout):
@@ -237,10 +242,10 @@ class BlockIndexing(AbstractIndexing):
 
 class LineIndexing(AbstractIndexing):
     """
-    Indexing scheme that assigns the innermost 'line' i.e. the elements which are adjacent in memory to a 1D CUDA block.
+    Indexing scheme that assigns the innermost 'line' i.e. the elements which are adjacent in memory to a 1D GPU block.
     The fastest coordinate is indexed with thread_idx.x, the remaining coordinates are mapped to block_idx.{x,y,z}
     This indexing scheme supports up to 4 spatial dimensions, where the innermost dimensions is not larger than the
-    maximum amount of threads allowed in a CUDA block (which depends on device).
+    maximum amount of threads allowed in a GPU block (which depends on device).
     """
 
     def __init__(self, field, iteration_slice):
diff --git a/pystencils/gpucuda/kernelcreation.py b/pystencils/gpu/kernelcreation.py
similarity index 98%
rename from pystencils/gpucuda/kernelcreation.py
rename to pystencils/gpu/kernelcreation.py
index 96a53138316ac97d4518cc870d7a4dd5f3fed001..066038cde246934d1694ee20613434ac9e3dc678 100644
--- a/pystencils/gpucuda/kernelcreation.py
+++ b/pystencils/gpu/kernelcreation.py
@@ -8,9 +8,9 @@ from pystencils.typing import StructType, TypedSymbol
 from pystencils.typing.transformations import add_types
 from pystencils.field import Field, FieldType
 from pystencils.enums import Target, Backend
-from pystencils.gpucuda.cudajit import make_python_function
+from pystencils.gpu.gpujit import make_python_function
 from pystencils.node_collection import NodeCollection
-from pystencils.gpucuda.indexing import indexing_creator_from_params
+from pystencils.gpu.indexing import indexing_creator_from_params
 from pystencils.simp.assignment_collection import AssignmentCollection
 from pystencils.transformations import (
     get_base_buffer_index, get_common_field, parse_base_pointer_info,
diff --git a/pystencils/gpucuda/periodicity.py b/pystencils/gpu/periodicity.py
similarity index 95%
rename from pystencils/gpucuda/periodicity.py
rename to pystencils/gpu/periodicity.py
index 7cad51654de75c2462d7d846baccc916aa102d4d..21aa95e5672718f79221a38259ab91a95a20366d 100644
--- a/pystencils/gpucuda/periodicity.py
+++ b/pystencils/gpu/periodicity.py
@@ -2,7 +2,7 @@ import numpy as np
 from itertools import product
 
 from pystencils import CreateKernelConfig, create_kernel
-import pystencils.gpucuda
+from pystencils.gpu import make_python_function
 from pystencils import Assignment, Field
 from pystencils.enums import Target
 from pystencils.slicing import get_periodic_boundary_src_dst_slices, normalize_slice
@@ -40,7 +40,7 @@ def get_periodic_boundary_functor(stencil, domain_size, index_dimensions=0, inde
 
     for src_slice, dst_slice in src_dst_slice_tuples:
         ast = create_copy_kernel(domain_size, src_slice, dst_slice, index_dimensions, index_dim_shape, dtype)
-        kernels.append(pystencils.gpucuda.make_python_function(ast))
+        kernels.append(make_python_function(ast))
 
     def functor(pdfs, **_):
         for kernel in kernels:
diff --git a/pystencils/gpucuda/__init__.py b/pystencils/gpucuda/__init__.py
deleted file mode 100644
index e7be5452768f059dffdadf5a375f1dfce036efc9..0000000000000000000000000000000000000000
--- a/pystencils/gpucuda/__init__.py
+++ /dev/null
@@ -1,7 +0,0 @@
-from pystencils.gpucuda.cudajit import make_python_function
-from pystencils.gpucuda.kernelcreation import create_cuda_kernel, created_indexed_cuda_kernel
-
-from .indexing import AbstractIndexing, BlockIndexing, LineIndexing
-
-__all__ = ['create_cuda_kernel', 'created_indexed_cuda_kernel', 'make_python_function',
-           'AbstractIndexing', 'BlockIndexing', 'LineIndexing']
diff --git a/pystencils/include/__init__.py b/pystencils/include/__init__.py
index 8ddff6a4a8f5f3ceda691cff850dc3377d98278c..6dd3837a186bede394e26572055f2ab9868235c2 100644
--- a/pystencils/include/__init__.py
+++ b/pystencils/include/__init__.py
@@ -1,10 +1,5 @@
-from os.path import dirname, join, realpath
+from os.path import dirname, realpath
 
 
 def get_pystencils_include_path():
     return dirname(realpath(__file__))
-
-
-def get_pycuda_include_path():
-    import pycuda
-    return join(dirname(realpath(pycuda.__file__)), 'cuda')
diff --git a/pystencils/include/arm_neon_helpers.h b/pystencils/include/arm_neon_helpers.h
index a27b8ff6fa9e7244a8a0467315ed06d3985ed7b6..5ffc6a4f17d46cc5495cfc82d81ed16e7636f040 100644
--- a/pystencils/include/arm_neon_helpers.h
+++ b/pystencils/include/arm_neon_helpers.h
@@ -1,3 +1,7 @@
+#if defined(_MSC_VER)
+#define __ARM_NEON
+#endif
+
 #ifdef __ARM_NEON
 #include <arm_neon.h>
 #endif
@@ -32,10 +36,13 @@ inline int32x4_t makeVec_s32(int a, int b, int c, int d)
 #endif
 
 inline void cachelineZero(void * p) {
+#if !defined(_MSC_VER) || defined(__clang__)
 	__asm__ volatile("dc zva, %0"::"r"(p):"memory");
+#endif
 }
 
 inline size_t _cachelineSize() {
+#if !defined(_MSC_VER) || defined(__clang__)
 	// check that dc zva is permitted
 	uint64_t dczid;
 	__asm__ volatile ("mrs %0, dczid_el0" : "=r"(dczid));
@@ -72,6 +79,7 @@ inline size_t _cachelineSize() {
 			return size;
 		}
 	}
+#endif
 	
 	// too much was zeroed
 	return SIZE_MAX;
diff --git a/pystencils/include/cuda_complex.hpp b/pystencils/include/cuda_complex.hpp
deleted file mode 100644
index 535aa52e30781a03e170298e8e5ebbed872585dc..0000000000000000000000000000000000000000
--- a/pystencils/include/cuda_complex.hpp
+++ /dev/null
@@ -1,1228 +0,0 @@
-// An implementation of C++ std::complex for use on CUDA devices.
-// Written by John C. Travers <jtravs@gmail.com> (2012)
-//
-// Missing:
-//  - long double support (not supported on CUDA)
-//  - some integral pow functions (due to lack of C++11 support on CUDA)
-//
-// Heavily derived from the LLVM libcpp project (svn revision 147853).
-// Based on libcxx/include/complex.
-// The git history contains the complete change history from the original.
-// The modifications are licensed as per the original LLVM license below.
-//
-// -*- C++ -*-
-//===--------------------------- complex ----------------------------------===//
-//
-//                     The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-extern "C++" {
-#ifndef CUDA_COMPLEX_HPP
-#define CUDA_COMPLEX_HPP
-
-#ifdef __CUDACC__
-#define CUDA_CALLABLE_MEMBER __host__ __device__
-#else
-#define CUDA_CALLABLE_MEMBER
-#endif
-
-/*
-    complex synopsis
-
-template<class T>
-class complex
-{
-public:
-    typedef T value_type;
-
-    complex(const T& re = T(), const T& im = T());
-    complex(const complex&);
-    template<class X> complex(const complex<X>&);
-
-    T real() const;
-    T imag() const;
-
-    void real(T);
-    void imag(T);
-
-    complex<T>& operator= (const T&);
-    complex<T>& operator+=(const T&);
-    complex<T>& operator-=(const T&);
-    complex<T>& operator*=(const T&);
-    complex<T>& operator/=(const T&);
-
-    complex& operator=(const complex&);
-    template<class X> complex<T>& operator= (const complex<X>&);
-    template<class X> complex<T>& operator+=(const complex<X>&);
-    template<class X> complex<T>& operator-=(const complex<X>&);
-    template<class X> complex<T>& operator*=(const complex<X>&);
-    template<class X> complex<T>& operator/=(const complex<X>&);
-};
-
-template<>
-class complex<float>
-{
-public:
-    typedef float value_type;
-
-    constexpr complex(float re = 0.0f, float im = 0.0f);
-    explicit constexpr complex(const complex<double>&);
-
-    constexpr float real() const;
-    void real(float);
-    constexpr float imag() const;
-    void imag(float);
-
-    complex<float>& operator= (float);
-    complex<float>& operator+=(float);
-    complex<float>& operator-=(float);
-    complex<float>& operator*=(float);
-    complex<float>& operator/=(float);
-
-    complex<float>& operator=(const complex<float>&);
-    template<class X> complex<float>& operator= (const complex<X>&);
-    template<class X> complex<float>& operator+=(const complex<X>&);
-    template<class X> complex<float>& operator-=(const complex<X>&);
-    template<class X> complex<float>& operator*=(const complex<X>&);
-    template<class X> complex<float>& operator/=(const complex<X>&);
-};
-
-template<>
-class complex<double>
-{
-public:
-    typedef double value_type;
-
-    constexpr complex(double re = 0.0, double im = 0.0);
-    constexpr complex(const complex<float>&);
-
-    constexpr double real() const;
-    void real(double);
-    constexpr double imag() const;
-    void imag(double);
-
-    complex<double>& operator= (double);
-    complex<double>& operator+=(double);
-    complex<double>& operator-=(double);
-    complex<double>& operator*=(double);
-    complex<double>& operator/=(double);
-    complex<double>& operator=(const complex<double>&);
-
-    template<class X> complex<double>& operator= (const complex<X>&);
-    template<class X> complex<double>& operator+=(const complex<X>&);
-    template<class X> complex<double>& operator-=(const complex<X>&);
-    template<class X> complex<double>& operator*=(const complex<X>&);
-    template<class X> complex<double>& operator/=(const complex<X>&);
-};
-
-// 26.3.6 operators:
-template<class T> complex<T> operator+(const complex<T>&, const complex<T>&);
-template<class T> complex<T> operator+(const complex<T>&, const T&);
-template<class T> complex<T> operator+(const T&, const complex<T>&);
-template<class T> complex<T> operator-(const complex<T>&, const complex<T>&);
-template<class T> complex<T> operator-(const complex<T>&, const T&);
-template<class T> complex<T> operator-(const T&, const complex<T>&);
-template<class T> complex<T> operator*(const complex<T>&, const complex<T>&);
-template<class T> complex<T> operator*(const complex<T>&, const T&);
-template<class T> complex<T> operator*(const T&, const complex<T>&);
-template<class T> complex<T> operator/(const complex<T>&, const complex<T>&);
-template<class T> complex<T> operator/(const complex<T>&, const T&);
-template<class T> complex<T> operator/(const T&, const complex<T>&);
-template<class T> complex<T> operator+(const complex<T>&);
-template<class T> complex<T> operator-(const complex<T>&);
-template<class T> bool operator==(const complex<T>&, const complex<T>&);
-template<class T> bool operator==(const complex<T>&, const T&);
-template<class T> bool operator==(const T&, const complex<T>&);
-template<class T> bool operator!=(const complex<T>&, const complex<T>&);
-template<class T> bool operator!=(const complex<T>&, const T&);
-template<class T> bool operator!=(const T&, const complex<T>&);
-
-template<class T, class charT, class traits>
-  basic_istream<charT, traits>&
-  operator>>(basic_istream<charT, traits>&, complex<T>&);
-template<class T, class charT, class traits>
-  basic_ostream<charT, traits>&
-  operator<<(basic_ostream<charT, traits>&, const complex<T>&);
-
-// 26.3.7 values:
-
-template<class T>              T real(const complex<T>&);
-                          double real(double);
-template<Integral T>      double real(T);
-                          float  real(float);
-
-template<class T>              T imag(const complex<T>&);
-                          double imag(double);
-template<Integral T>      double imag(T);
-                          float  imag(float);
-
-template<class T> T abs(const complex<T>&);
-
-template<class T>              T arg(const complex<T>&);
-                          double arg(double);
-template<Integral T>      double arg(T);
-                          float  arg(float);
-
-template<class T>              T norm(const complex<T>&);
-                          double norm(double);
-template<Integral T>      double norm(T);
-                          float  norm(float);
-
-template<class T>      complex<T>           conj(const complex<T>&);
-                       complex<double>      conj(double);
-template<Integral T>   complex<double>      conj(T);
-                       complex<float>       conj(float);
-
-template<class T>    complex<T>           proj(const complex<T>&);
-                     complex<double>      proj(double);
-template<Integral T> complex<double>      proj(T);
-                     complex<float>       proj(float);
-
-template<class T> complex<T> polar(const T&, const T& = 0);
-
-// 26.3.8 transcendentals:
-template<class T> complex<T> acos(const complex<T>&);
-template<class T> complex<T> asin(const complex<T>&);
-template<class T> complex<T> atan(const complex<T>&);
-template<class T> complex<T> acosh(const complex<T>&);
-template<class T> complex<T> asinh(const complex<T>&);
-template<class T> complex<T> atanh(const complex<T>&);
-template<class T> complex<T> cos (const complex<T>&);
-template<class T> complex<T> cosh (const complex<T>&);
-template<class T> complex<T> exp (const complex<T>&);
-template<class T> complex<T> log (const complex<T>&);
-template<class T> complex<T> log10(const complex<T>&);
-
-template<class T> complex<T> pow(const complex<T>&, const T&);
-template<class T> complex<T> pow(const complex<T>&, const complex<T>&);
-template<class T> complex<T> pow(const T&, const complex<T>&);
-
-template<class T> complex<T> sin (const complex<T>&);
-template<class T> complex<T> sinh (const complex<T>&);
-template<class T> complex<T> sqrt (const complex<T>&);
-template<class T> complex<T> tan (const complex<T>&);
-template<class T> complex<T> tanh (const complex<T>&);
-
-template<class T, class charT, class traits>
-  basic_istream<charT, traits>&
-  operator>>(basic_istream<charT, traits>& is, complex<T>& x);
-
-template<class T, class charT, class traits>
-  basic_ostream<charT, traits>&
-  operator<<(basic_ostream<charT, traits>& o, const complex<T>& x);
-
-*/
-
-#include <math.h>
-#include <sstream>
-
-template <class _Tp> class complex;
-
-template <class _Tp>
-complex<_Tp> operator*(const complex<_Tp> &__z, const complex<_Tp> &__w);
-template <class _Tp>
-complex<_Tp> operator/(const complex<_Tp> &__x, const complex<_Tp> &__y);
-
-template <class _Tp> class complex {
-public:
-  typedef _Tp value_type;
-
-private:
-  value_type __re_;
-  value_type __im_;
-
-public:
-  CUDA_CALLABLE_MEMBER
-  complex(const value_type &__re = value_type(),
-          const value_type &__im = value_type())
-      : __re_(__re), __im_(__im) {}
-  template <class _Xp>
-  CUDA_CALLABLE_MEMBER complex(const complex<_Xp> &__c)
-      : __re_(__c.real()), __im_(__c.imag()) {}
-
-  CUDA_CALLABLE_MEMBER value_type real() const { return __re_; }
-  CUDA_CALLABLE_MEMBER value_type imag() const { return __im_; }
-
-  CUDA_CALLABLE_MEMBER void real(value_type __re) { __re_ = __re; }
-  CUDA_CALLABLE_MEMBER void imag(value_type __im) { __im_ = __im; }
-
-  CUDA_CALLABLE_MEMBER complex &operator=(const value_type &__re) {
-    __re_ = __re;
-    __im_ = value_type();
-    return *this;
-  }
-  CUDA_CALLABLE_MEMBER complex &operator+=(const value_type &__re) {
-    __re_ += __re;
-    return *this;
-  }
-  CUDA_CALLABLE_MEMBER complex &operator-=(const value_type &__re) {
-    __re_ -= __re;
-    return *this;
-  }
-  CUDA_CALLABLE_MEMBER complex &operator*=(const value_type &__re) {
-    __re_ *= __re;
-    __im_ *= __re;
-    return *this;
-  }
-  CUDA_CALLABLE_MEMBER complex &operator/=(const value_type &__re) {
-    __re_ /= __re;
-    __im_ /= __re;
-    return *this;
-  }
-
-  template <class _Xp>
-  CUDA_CALLABLE_MEMBER complex &operator=(const complex<_Xp> &__c) {
-    __re_ = __c.real();
-    __im_ = __c.imag();
-    return *this;
-  }
-  template <class _Xp>
-  CUDA_CALLABLE_MEMBER complex &operator+=(const complex<_Xp> &__c) {
-    __re_ += __c.real();
-    __im_ += __c.imag();
-    return *this;
-  }
-  template <class _Xp>
-  CUDA_CALLABLE_MEMBER complex &operator-=(const complex<_Xp> &__c) {
-    __re_ -= __c.real();
-    __im_ -= __c.imag();
-    return *this;
-  }
-  template <class _Xp>
-  CUDA_CALLABLE_MEMBER complex &operator*=(const complex<_Xp> &__c) {
-    *this = *this * __c;
-    return *this;
-  }
-  template <class _Xp>
-  CUDA_CALLABLE_MEMBER complex &operator/=(const complex<_Xp> &__c) {
-    *this = *this / __c;
-    return *this;
-  }
-};
-
-template <> class complex<double>;
-
-template <> class complex<float> {
-  float __re_;
-  float __im_;
-
-public:
-  typedef float value_type;
-
-  /*constexpr*/ CUDA_CALLABLE_MEMBER complex(float __re = 0.0f,
-                                             float __im = 0.0f)
-      : __re_(__re), __im_(__im) {}
-  explicit /*constexpr*/ complex(const complex<double> &__c);
-
-  /*constexpr*/ CUDA_CALLABLE_MEMBER float real() const { return __re_; }
-  /*constexpr*/ CUDA_CALLABLE_MEMBER float imag() const { return __im_; }
-
-  CUDA_CALLABLE_MEMBER void real(value_type __re) { __re_ = __re; }
-  CUDA_CALLABLE_MEMBER void imag(value_type __im) { __im_ = __im; }
-
-  CUDA_CALLABLE_MEMBER complex &operator=(float __re) {
-    __re_ = __re;
-    __im_ = value_type();
-    return *this;
-  }
-  CUDA_CALLABLE_MEMBER complex &operator+=(float __re) {
-    __re_ += __re;
-    return *this;
-  }
-  CUDA_CALLABLE_MEMBER complex &operator-=(float __re) {
-    __re_ -= __re;
-    return *this;
-  }
-  CUDA_CALLABLE_MEMBER complex &operator*=(float __re) {
-    __re_ *= __re;
-    __im_ *= __re;
-    return *this;
-  }
-  CUDA_CALLABLE_MEMBER complex &operator/=(float __re) {
-    __re_ /= __re;
-    __im_ /= __re;
-    return *this;
-  }
-
-  template <class _Xp>
-  CUDA_CALLABLE_MEMBER complex &operator=(const complex<_Xp> &__c) {
-    __re_ = __c.real();
-    __im_ = __c.imag();
-    return *this;
-  }
-  template <class _Xp>
-  CUDA_CALLABLE_MEMBER complex &operator+=(const complex<_Xp> &__c) {
-    __re_ += __c.real();
-    __im_ += __c.imag();
-    return *this;
-  }
-  template <class _Xp>
-  CUDA_CALLABLE_MEMBER complex &operator-=(const complex<_Xp> &__c) {
-    __re_ -= __c.real();
-    __im_ -= __c.imag();
-    return *this;
-  }
-  template <class _Xp>
-  CUDA_CALLABLE_MEMBER complex &operator*=(const complex<_Xp> &__c) {
-    *this = *this * __c;
-    return *this;
-  }
-  template <class _Xp>
-  CUDA_CALLABLE_MEMBER complex &operator/=(const complex<_Xp> &__c) {
-    *this = *this / __c;
-    return *this;
-  }
-};
-
-template <> class complex<double> {
-  double __re_;
-  double __im_;
-
-public:
-  typedef double value_type;
-
-  /*constexpr*/ CUDA_CALLABLE_MEMBER complex(double __re = 0.0,
-                                             double __im = 0.0)
-      : __re_(__re), __im_(__im) {}
-  /*constexpr*/ complex(const complex<float> &__c);
-
-  /*constexpr*/ CUDA_CALLABLE_MEMBER double real() const { return __re_; }
-  /*constexpr*/ CUDA_CALLABLE_MEMBER double imag() const { return __im_; }
-
-  CUDA_CALLABLE_MEMBER void real(value_type __re) { __re_ = __re; }
-  CUDA_CALLABLE_MEMBER void imag(value_type __im) { __im_ = __im; }
-
-  CUDA_CALLABLE_MEMBER complex &operator=(double __re) {
-    __re_ = __re;
-    __im_ = value_type();
-    return *this;
-  }
-  CUDA_CALLABLE_MEMBER complex &operator+=(double __re) {
-    __re_ += __re;
-    return *this;
-  }
-  CUDA_CALLABLE_MEMBER complex &operator-=(double __re) {
-    __re_ -= __re;
-    return *this;
-  }
-  CUDA_CALLABLE_MEMBER complex &operator*=(double __re) {
-    __re_ *= __re;
-    __im_ *= __re;
-    return *this;
-  }
-  CUDA_CALLABLE_MEMBER complex &operator/=(double __re) {
-    __re_ /= __re;
-    __im_ /= __re;
-    return *this;
-  }
-
-  template <class _Xp>
-  CUDA_CALLABLE_MEMBER complex &operator=(const complex<_Xp> &__c) {
-    __re_ = __c.real();
-    __im_ = __c.imag();
-    return *this;
-  }
-  template <class _Xp>
-  CUDA_CALLABLE_MEMBER complex &operator+=(const complex<_Xp> &__c) {
-    __re_ += __c.real();
-    __im_ += __c.imag();
-    return *this;
-  }
-  template <class _Xp>
-  CUDA_CALLABLE_MEMBER complex &operator-=(const complex<_Xp> &__c) {
-    __re_ -= __c.real();
-    __im_ -= __c.imag();
-    return *this;
-  }
-  template <class _Xp>
-  CUDA_CALLABLE_MEMBER complex &operator*=(const complex<_Xp> &__c) {
-    *this = *this * __c;
-    return *this;
-  }
-  template <class _Xp>
-  CUDA_CALLABLE_MEMBER complex &operator/=(const complex<_Xp> &__c) {
-    *this = *this / __c;
-    return *this;
-  }
-};
-
-// constexpr
-inline CUDA_CALLABLE_MEMBER complex<float>::complex(const complex<double> &__c)
-    : __re_(__c.real()), __im_(__c.imag()) {}
-
-// constexpr
-inline CUDA_CALLABLE_MEMBER complex<double>::complex(const complex<float> &__c)
-    : __re_(__c.real()), __im_(__c.imag()) {}
-
-// 26.3.6 operators:
-
-template <class _Tp>
-inline CUDA_CALLABLE_MEMBER complex<_Tp> operator+(const complex<_Tp> &__x,
-                                                   const complex<_Tp> &__y) {
-  complex<_Tp> __t(__x);
-  __t += __y;
-  return __t;
-}
-
-template <class _Tp>
-inline CUDA_CALLABLE_MEMBER complex<_Tp> operator+(const complex<_Tp> &__x,
-                                                   const _Tp &__y) {
-  complex<_Tp> __t(__x);
-  __t += __y;
-  return __t;
-}
-
-template <class _Tp>
-inline CUDA_CALLABLE_MEMBER complex<_Tp> operator+(const _Tp &__x,
-                                                   const complex<_Tp> &__y) {
-  complex<_Tp> __t(__y);
-  __t += __x;
-  return __t;
-}
-
-template <class _Tp>
-inline CUDA_CALLABLE_MEMBER complex<_Tp> operator-(const complex<_Tp> &__x,
-                                                   const complex<_Tp> &__y) {
-  complex<_Tp> __t(__x);
-  __t -= __y;
-  return __t;
-}
-
-template <class _Tp>
-inline CUDA_CALLABLE_MEMBER complex<_Tp> operator-(const complex<_Tp> &__x,
-                                                   const _Tp &__y) {
-  complex<_Tp> __t(__x);
-  __t -= __y;
-  return __t;
-}
-
-template <class _Tp>
-inline CUDA_CALLABLE_MEMBER complex<_Tp> operator-(const _Tp &__x,
-                                                   const complex<_Tp> &__y) {
-  complex<_Tp> __t(-__y);
-  __t += __x;
-  return __t;
-}
-
-template <class _Tp>
-CUDA_CALLABLE_MEMBER complex<_Tp> operator*(const complex<_Tp> &__z,
-                                            const complex<_Tp> &__w) {
-  _Tp __a = __z.real();
-  _Tp __b = __z.imag();
-  _Tp __c = __w.real();
-  _Tp __d = __w.imag();
-  _Tp __ac = __a * __c;
-  _Tp __bd = __b * __d;
-  _Tp __ad = __a * __d;
-  _Tp __bc = __b * __c;
-  _Tp __x = __ac - __bd;
-  _Tp __y = __ad + __bc;
-  if (isnan(__x) && isnan(__y)) {
-    bool __recalc = false;
-    if (isinf(__a) || isinf(__b)) {
-      __a = copysign(isinf(__a) ? _Tp(1) : _Tp(0), __a);
-      __b = copysign(isinf(__b) ? _Tp(1) : _Tp(0), __b);
-      if (isnan(__c))
-        __c = copysign(_Tp(0), __c);
-      if (isnan(__d))
-        __d = copysign(_Tp(0), __d);
-      __recalc = true;
-    }
-    if (isinf(__c) || isinf(__d)) {
-      __c = copysign(isinf(__c) ? _Tp(1) : _Tp(0), __c);
-      __d = copysign(isinf(__d) ? _Tp(1) : _Tp(0), __d);
-      if (isnan(__a))
-        __a = copysign(_Tp(0), __a);
-      if (isnan(__b))
-        __b = copysign(_Tp(0), __b);
-      __recalc = true;
-    }
-    if (!__recalc &&
-        (isinf(__ac) || isinf(__bd) || isinf(__ad) || isinf(__bc))) {
-      if (isnan(__a))
-        __a = copysign(_Tp(0), __a);
-      if (isnan(__b))
-        __b = copysign(_Tp(0), __b);
-      if (isnan(__c))
-        __c = copysign(_Tp(0), __c);
-      if (isnan(__d))
-        __d = copysign(_Tp(0), __d);
-      __recalc = true;
-    }
-    if (__recalc) {
-      __x = _Tp(INFINITY) * (__a * __c - __b * __d);
-      __y = _Tp(INFINITY) * (__a * __d + __b * __c);
-    }
-  }
-  return complex<_Tp>(__x, __y);
-}
-
-template <class _Tp>
-inline CUDA_CALLABLE_MEMBER complex<_Tp> operator*(const complex<_Tp> &__x,
-                                                   const _Tp &__y) {
-  complex<_Tp> __t(__x);
-  __t *= __y;
-  return __t;
-}
-
-template <class _Tp>
-inline CUDA_CALLABLE_MEMBER complex<_Tp> operator*(const _Tp &__x,
-                                                   const complex<_Tp> &__y) {
-  complex<_Tp> __t(__y);
-  __t *= __x;
-  return __t;
-}
-
-template <class _Tp>
-CUDA_CALLABLE_MEMBER complex<_Tp> operator/(const complex<_Tp> &__z,
-                                            const complex<_Tp> &__w) {
-  int __ilogbw = 0;
-  _Tp __a = __z.real();
-  _Tp __b = __z.imag();
-  _Tp __c = __w.real();
-  _Tp __d = __w.imag();
-  _Tp __logbw = logb(fmax(fabs(__c), fabs(__d)));
-  if (isfinite(__logbw)) {
-    __ilogbw = static_cast<int>(__logbw);
-    __c = scalbn(__c, -__ilogbw);
-    __d = scalbn(__d, -__ilogbw);
-  }
-  _Tp __denom = __c * __c + __d * __d;
-  _Tp __x = scalbn((__a * __c + __b * __d) / __denom, -__ilogbw);
-  _Tp __y = scalbn((__b * __c - __a * __d) / __denom, -__ilogbw);
-  if (isnan(__x) && isnan(__y)) {
-    if ((__denom == _Tp(0)) && (!isnan(__a) || !isnan(__b))) {
-      __x = copysign(_Tp(INFINITY), __c) * __a;
-      __y = copysign(_Tp(INFINITY), __c) * __b;
-    } else if ((isinf(__a) || isinf(__b)) && isfinite(__c) && isfinite(__d)) {
-      __a = copysign(isinf(__a) ? _Tp(1) : _Tp(0), __a);
-      __b = copysign(isinf(__b) ? _Tp(1) : _Tp(0), __b);
-      __x = _Tp(INFINITY) * (__a * __c + __b * __d);
-      __y = _Tp(INFINITY) * (__b * __c - __a * __d);
-    } else if (isinf(__logbw) && __logbw > _Tp(0) && isfinite(__a) &&
-               isfinite(__b)) {
-      __c = copysign(isinf(__c) ? _Tp(1) : _Tp(0), __c);
-      __d = copysign(isinf(__d) ? _Tp(1) : _Tp(0), __d);
-      __x = _Tp(0) * (__a * __c + __b * __d);
-      __y = _Tp(0) * (__b * __c - __a * __d);
-    }
-  }
-  return complex<_Tp>(__x, __y);
-}
-
-template <>
-CUDA_CALLABLE_MEMBER complex<float> operator/(const complex<float> &__z,
-                                              const complex<float> &__w) {
-  int __ilogbw = 0;
-  float __a = __z.real();
-  float __b = __z.imag();
-  float __c = __w.real();
-  float __d = __w.imag();
-  float __logbw = logbf(fmaxf(fabsf(__c), fabsf(__d)));
-  if (isfinite(__logbw)) {
-    __ilogbw = static_cast<int>(__logbw);
-    __c = scalbnf(__c, -__ilogbw);
-    __d = scalbnf(__d, -__ilogbw);
-  }
-  float __denom = __c * __c + __d * __d;
-  float __x = scalbnf((__a * __c + __b * __d) / __denom, -__ilogbw);
-  float __y = scalbnf((__b * __c - __a * __d) / __denom, -__ilogbw);
-  if (isnan(__x) && isnan(__y)) {
-    if ((__denom == float(0)) && (!isnan(__a) || !isnan(__b))) {
-#pragma warning(suppress : 4756) // Ignore INFINITY related warning
-      __x = copysignf(INFINITY, __c) * __a;
-#pragma warning(suppress : 4756) // Ignore INFINITY related warning
-      __y = copysignf(INFINITY, __c) * __b;
-    } else if ((isinf(__a) || isinf(__b)) && isfinite(__c) && isfinite(__d)) {
-      __a = copysignf(isinf(__a) ? float(1) : float(0), __a);
-      __b = copysignf(isinf(__b) ? float(1) : float(0), __b);
-#pragma warning(suppress : 4756) // Ignore INFINITY related warning
-      __x = INFINITY * (__a * __c + __b * __d);
-#pragma warning(suppress : 4756) // Ignore INFINITY related warning
-      __y = INFINITY * (__b * __c - __a * __d);
-    } else if (isinf(__logbw) && __logbw > float(0) && isfinite(__a) &&
-               isfinite(__b)) {
-      __c = copysignf(isinf(__c) ? float(1) : float(0), __c);
-      __d = copysignf(isinf(__d) ? float(1) : float(0), __d);
-      __x = float(0) * (__a * __c + __b * __d);
-      __y = float(0) * (__b * __c - __a * __d);
-    }
-  }
-  return complex<float>(__x, __y);
-}
-
-template <class _Tp>
-inline CUDA_CALLABLE_MEMBER complex<_Tp> operator/(const complex<_Tp> &__x,
-                                                   const _Tp &__y) {
-  return complex<_Tp>(__x.real() / __y, __x.imag() / __y);
-}
-
-template <class _Tp>
-inline CUDA_CALLABLE_MEMBER complex<_Tp> operator/(const _Tp &__x,
-                                                   const complex<_Tp> &__y) {
-  complex<_Tp> __t(__x);
-  __t /= __y;
-  return __t;
-}
-
-template <class _Tp>
-inline CUDA_CALLABLE_MEMBER complex<_Tp> operator+(const complex<_Tp> &__x) {
-  return __x;
-}
-
-template <class _Tp>
-inline CUDA_CALLABLE_MEMBER complex<_Tp> operator-(const complex<_Tp> &__x) {
-  return complex<_Tp>(-__x.real(), -__x.imag());
-}
-
-template <class _Tp>
-inline CUDA_CALLABLE_MEMBER bool operator==(const complex<_Tp> &__x,
-                                            const complex<_Tp> &__y) {
-  return __x.real() == __y.real() && __x.imag() == __y.imag();
-}
-
-template <class _Tp>
-inline CUDA_CALLABLE_MEMBER bool operator==(const complex<_Tp> &__x,
-                                            const _Tp &__y) {
-  return __x.real() == __y && __x.imag() == 0;
-}
-
-template <class _Tp>
-inline CUDA_CALLABLE_MEMBER bool operator==(const _Tp &__x,
-                                            const complex<_Tp> &__y) {
-  return __x == __y.real() && 0 == __y.imag();
-}
-
-template <class _Tp>
-inline CUDA_CALLABLE_MEMBER bool operator!=(const complex<_Tp> &__x,
-                                            const complex<_Tp> &__y) {
-  return !(__x == __y);
-}
-
-template <class _Tp>
-inline CUDA_CALLABLE_MEMBER bool operator!=(const complex<_Tp> &__x,
-                                            const _Tp &__y) {
-  return !(__x == __y);
-}
-
-template <class _Tp>
-inline CUDA_CALLABLE_MEMBER bool operator!=(const _Tp &__x,
-                                            const complex<_Tp> &__y) {
-  return !(__x == __y);
-}
-
-// 26.3.7 values:
-
-// real
-
-template <class _Tp>
-inline CUDA_CALLABLE_MEMBER _Tp real(const complex<_Tp> &__c) {
-  return __c.real();
-}
-
-inline CUDA_CALLABLE_MEMBER double real(double __re) { return __re; }
-
-inline CUDA_CALLABLE_MEMBER float real(float __re) { return __re; }
-
-// imag
-
-template <class _Tp>
-inline CUDA_CALLABLE_MEMBER _Tp imag(const complex<_Tp> &__c) {
-  return __c.imag();
-}
-
-inline CUDA_CALLABLE_MEMBER double imag(double __re) { return 0; }
-
-inline CUDA_CALLABLE_MEMBER float imag(float __re) { return 0; }
-
-// abs
-
-template <class _Tp>
-inline CUDA_CALLABLE_MEMBER _Tp abs(const complex<_Tp> &__c) {
-  return hypot(__c.real(), __c.imag());
-}
-
-// arg
-
-template <class _Tp>
-inline CUDA_CALLABLE_MEMBER _Tp arg(const complex<_Tp> &__c) {
-  return atan2(__c.imag(), __c.real());
-}
-
-inline CUDA_CALLABLE_MEMBER double arg(double __re) { return atan2(0., __re); }
-
-inline CUDA_CALLABLE_MEMBER float arg(float __re) { return atan2f(0.F, __re); }
-
-// norm
-
-template <class _Tp>
-inline CUDA_CALLABLE_MEMBER _Tp norm(const complex<_Tp> &__c) {
-  if (isinf(__c.real()))
-    return fabs(__c.real());
-  if (isinf(__c.imag()))
-    return fabs(__c.imag());
-  return __c.real() * __c.real() + __c.imag() * __c.imag();
-}
-
-inline CUDA_CALLABLE_MEMBER double norm(double __re) { return __re * __re; }
-
-inline CUDA_CALLABLE_MEMBER float norm(float __re) { return __re * __re; }
-
-// conj
-
-template <class _Tp>
-inline CUDA_CALLABLE_MEMBER complex<_Tp> conj(const complex<_Tp> &__c) {
-  return complex<_Tp>(__c.real(), -__c.imag());
-}
-
-inline CUDA_CALLABLE_MEMBER complex<double> conj(double __re) {
-  return complex<double>(__re);
-}
-
-inline CUDA_CALLABLE_MEMBER complex<float> conj(float __re) {
-  return complex<float>(__re);
-}
-
-// proj
-
-template <class _Tp>
-inline CUDA_CALLABLE_MEMBER complex<_Tp> proj(const complex<_Tp> &__c) {
-  complex<_Tp> __r = __c;
-  if (isinf(__c.real()) || isinf(__c.imag()))
-    __r = complex<_Tp>(INFINITY, copysign(_Tp(0), __c.imag()));
-  return __r;
-}
-
-inline CUDA_CALLABLE_MEMBER complex<double> proj(double __re) {
-  if (isinf(__re))
-    __re = fabs(__re);
-  return complex<double>(__re);
-}
-
-inline CUDA_CALLABLE_MEMBER complex<float> proj(float __re) {
-  if (isinf(__re))
-    __re = fabs(__re);
-  return complex<float>(__re);
-}
-
-// polar
-
-template <class _Tp>
-CUDA_CALLABLE_MEMBER complex<_Tp> polar(const _Tp &__rho,
-                                        const _Tp &__theta = _Tp(0)) {
-  if (isnan(__rho) || signbit(__rho))
-    return complex<_Tp>(_Tp(NAN), _Tp(NAN));
-  if (isnan(__theta)) {
-    if (isinf(__rho))
-      return complex<_Tp>(__rho, __theta);
-    return complex<_Tp>(__theta, __theta);
-  }
-  if (isinf(__theta)) {
-    if (isinf(__rho))
-      return complex<_Tp>(__rho, _Tp(NAN));
-    return complex<_Tp>(_Tp(NAN), _Tp(NAN));
-  }
-  _Tp __x = __rho * cos(__theta);
-  if (isnan(__x))
-    __x = 0;
-  _Tp __y = __rho * sin(__theta);
-  if (isnan(__y))
-    __y = 0;
-  return complex<_Tp>(__x, __y);
-}
-
-// log
-
-template <class _Tp>
-inline CUDA_CALLABLE_MEMBER complex<_Tp> log(const complex<_Tp> &__x) {
-  return complex<_Tp>(log(abs(__x)), arg(__x));
-}
-
-// log10
-
-template <class _Tp>
-inline CUDA_CALLABLE_MEMBER complex<_Tp> log10(const complex<_Tp> &__x) {
-  return log(__x) / log(_Tp(10));
-}
-
-// sqrt
-
-template <class _Tp>
-CUDA_CALLABLE_MEMBER complex<_Tp> sqrt(const complex<_Tp> &__x) {
-  if (isinf(__x.imag()))
-    return complex<_Tp>(_Tp(INFINITY), __x.imag());
-  if (isinf(__x.real())) {
-    if (__x.real() > _Tp(0))
-      return complex<_Tp>(__x.real(), isnan(__x.imag())
-                                          ? __x.imag()
-                                          : copysign(_Tp(0), __x.imag()));
-    return complex<_Tp>(isnan(__x.imag()) ? __x.imag() : _Tp(0),
-                        copysign(__x.real(), __x.imag()));
-  }
-  return polar(sqrt(abs(__x)), arg(__x) / _Tp(2));
-}
-
-// exp
-
-template <class _Tp>
-CUDA_CALLABLE_MEMBER complex<_Tp> exp(const complex<_Tp> &__x) {
-  _Tp __i = __x.imag();
-  if (isinf(__x.real())) {
-    if (__x.real() < _Tp(0)) {
-      if (!isfinite(__i))
-        __i = _Tp(1);
-    } else if (__i == 0 || !isfinite(__i)) {
-      if (isinf(__i))
-        __i = _Tp(NAN);
-      return complex<_Tp>(__x.real(), __i);
-    }
-  } else if (isnan(__x.real()) && __x.imag() == 0)
-    return __x;
-  _Tp __e = exp(__x.real());
-  return complex<_Tp>(__e * cos(__i), __e * sin(__i));
-}
-
-// pow
-
-template <class _Tp>
-inline CUDA_CALLABLE_MEMBER complex<_Tp> pow(const complex<_Tp> &__x,
-                                             const complex<_Tp> &__y) {
-  return exp(__y * log(__x));
-}
-
-template <class _Tp>
-inline CUDA_CALLABLE_MEMBER complex<_Tp> pow(const complex<_Tp> &__x,
-                                             const _Tp &__y) {
-  return pow(__x, complex<_Tp>(__y));
-}
-
-template <class _Tp>
-inline CUDA_CALLABLE_MEMBER complex<_Tp> pow(const _Tp &__x,
-                                             const complex<_Tp> &__y) {
-  return pow(complex<_Tp>(__x), __y);
-}
-
-// asinh
-
-template <class _Tp>
-CUDA_CALLABLE_MEMBER complex<_Tp> asinh(const complex<_Tp> &__x) {
-  const _Tp __pi(atan2(+0., -0.));
-  if (isinf(__x.real())) {
-    if (isnan(__x.imag()))
-      return __x;
-    if (isinf(__x.imag()))
-      return complex<_Tp>(__x.real(), copysign(__pi * _Tp(0.25), __x.imag()));
-    return complex<_Tp>(__x.real(), copysign(_Tp(0), __x.imag()));
-  }
-  if (isnan(__x.real())) {
-    if (isinf(__x.imag()))
-      return complex<_Tp>(__x.imag(), __x.real());
-    if (__x.imag() == 0)
-      return __x;
-    return complex<_Tp>(__x.real(), __x.real());
-  }
-  if (isinf(__x.imag()))
-    return complex<_Tp>(copysign(__x.imag(), __x.real()),
-                        copysign(__pi / _Tp(2), __x.imag()));
-  complex<_Tp> __z = log(__x + sqrt(pow(__x, _Tp(2)) + _Tp(1)));
-  return complex<_Tp>(copysign(__z.real(), __x.real()),
-                      copysign(__z.imag(), __x.imag()));
-}
-
-// acosh
-
-template <class _Tp>
-CUDA_CALLABLE_MEMBER complex<_Tp> acosh(const complex<_Tp> &__x) {
-  const _Tp __pi(atan2(+0., -0.));
-  if (isinf(__x.real())) {
-    if (isnan(__x.imag()))
-      return complex<_Tp>(fabs(__x.real()), __x.imag());
-    if (isinf(__x.imag()))
-      if (__x.real() > 0)
-        return complex<_Tp>(__x.real(), copysign(__pi * _Tp(0.25), __x.imag()));
-      else
-        return complex<_Tp>(-__x.real(),
-                            copysign(__pi * _Tp(0.75), __x.imag()));
-    if (__x.real() < 0)
-      return complex<_Tp>(-__x.real(), copysign(__pi, __x.imag()));
-    return complex<_Tp>(__x.real(), copysign(_Tp(0), __x.imag()));
-  }
-  if (isnan(__x.real())) {
-    if (isinf(__x.imag()))
-      return complex<_Tp>(fabs(__x.imag()), __x.real());
-    return complex<_Tp>(__x.real(), __x.real());
-  }
-  if (isinf(__x.imag()))
-    return complex<_Tp>(fabs(__x.imag()), copysign(__pi / _Tp(2), __x.imag()));
-  complex<_Tp> __z = log(__x + sqrt(pow(__x, _Tp(2)) - _Tp(1)));
-  return complex<_Tp>(copysign(__z.real(), _Tp(0)),
-                      copysign(__z.imag(), __x.imag()));
-}
-
-// atanh
-
-template <class _Tp>
-CUDA_CALLABLE_MEMBER complex<_Tp> atanh(const complex<_Tp> &__x) {
-  const _Tp __pi(atan2(+0., -0.));
-  if (isinf(__x.imag())) {
-    return complex<_Tp>(copysign(_Tp(0), __x.real()),
-                        copysign(__pi / _Tp(2), __x.imag()));
-  }
-  if (isnan(__x.imag())) {
-    if (isinf(__x.real()) || __x.real() == 0)
-      return complex<_Tp>(copysign(_Tp(0), __x.real()), __x.imag());
-    return complex<_Tp>(__x.imag(), __x.imag());
-  }
-  if (isnan(__x.real())) {
-    return complex<_Tp>(__x.real(), __x.real());
-  }
-  if (isinf(__x.real())) {
-    return complex<_Tp>(copysign(_Tp(0), __x.real()),
-                        copysign(__pi / _Tp(2), __x.imag()));
-  }
-  if (fabs(__x.real()) == _Tp(1) && __x.imag() == _Tp(0)) {
-    return complex<_Tp>(copysign(_Tp(INFINITY), __x.real()),
-                        copysign(_Tp(0), __x.imag()));
-  }
-  complex<_Tp> __z = log((_Tp(1) + __x) / (_Tp(1) - __x)) / _Tp(2);
-  return complex<_Tp>(copysign(__z.real(), __x.real()),
-                      copysign(__z.imag(), __x.imag()));
-}
-
-// sinh
-
-template <class _Tp>
-CUDA_CALLABLE_MEMBER complex<_Tp> sinh(const complex<_Tp> &__x) {
-  if (isinf(__x.real()) && !isfinite(__x.imag()))
-    return complex<_Tp>(__x.real(), _Tp(NAN));
-  if (__x.real() == 0 && !isfinite(__x.imag()))
-    return complex<_Tp>(__x.real(), _Tp(NAN));
-  if (__x.imag() == 0 && !isfinite(__x.real()))
-    return __x;
-  return complex<_Tp>(sinh(__x.real()) * cos(__x.imag()),
-                      cosh(__x.real()) * sin(__x.imag()));
-}
-
-// cosh
-
-template <class _Tp>
-CUDA_CALLABLE_MEMBER complex<_Tp> cosh(const complex<_Tp> &__x) {
-  if (isinf(__x.real()) && !isfinite(__x.imag()))
-    return complex<_Tp>(fabs(__x.real()), _Tp(NAN));
-  if (__x.real() == 0 && !isfinite(__x.imag()))
-    return complex<_Tp>(_Tp(NAN), __x.real());
-  if (__x.real() == 0 && __x.imag() == 0)
-    return complex<_Tp>(_Tp(1), __x.imag());
-  if (__x.imag() == 0 && !isfinite(__x.real()))
-    return complex<_Tp>(fabs(__x.real()), __x.imag());
-  return complex<_Tp>(cosh(__x.real()) * cos(__x.imag()),
-                      sinh(__x.real()) * sin(__x.imag()));
-}
-
-// tanh
-
-template <class _Tp>
-CUDA_CALLABLE_MEMBER complex<_Tp> tanh(const complex<_Tp> &__x) {
-  if (isinf(__x.real())) {
-    if (!isfinite(__x.imag()))
-      return complex<_Tp>(_Tp(1), _Tp(0));
-    return complex<_Tp>(_Tp(1), copysign(_Tp(0), sin(_Tp(2) * __x.imag())));
-  }
-  if (isnan(__x.real()) && __x.imag() == 0)
-    return __x;
-  _Tp __2r(_Tp(2) * __x.real());
-  _Tp __2i(_Tp(2) * __x.imag());
-  _Tp __d(cosh(__2r) + cos(__2i));
-  return complex<_Tp>(sinh(__2r) / __d, sin(__2i) / __d);
-}
-
-// asin
-
-template <class _Tp>
-CUDA_CALLABLE_MEMBER complex<_Tp> asin(const complex<_Tp> &__x) {
-  complex<_Tp> __z = asinh(complex<_Tp>(-__x.imag(), __x.real()));
-  return complex<_Tp>(__z.imag(), -__z.real());
-}
-
-// acos
-
-template <class _Tp>
-CUDA_CALLABLE_MEMBER complex<_Tp> acos(const complex<_Tp> &__x) {
-  const _Tp __pi(atan2(+0., -0.));
-  if (isinf(__x.real())) {
-    if (isnan(__x.imag()))
-      return complex<_Tp>(__x.imag(), __x.real());
-    if (isinf(__x.imag())) {
-      if (__x.real() < _Tp(0))
-        return complex<_Tp>(_Tp(0.75) * __pi, -__x.imag());
-      return complex<_Tp>(_Tp(0.25) * __pi, -__x.imag());
-    }
-    if (__x.real() < _Tp(0))
-      return complex<_Tp>(__pi, signbit(__x.imag()) ? -__x.real() : __x.real());
-    return complex<_Tp>(_Tp(0), signbit(__x.imag()) ? __x.real() : -__x.real());
-  }
-  if (isnan(__x.real())) {
-    if (isinf(__x.imag()))
-      return complex<_Tp>(__x.real(), -__x.imag());
-    return complex<_Tp>(__x.real(), __x.real());
-  }
-  if (isinf(__x.imag()))
-    return complex<_Tp>(__pi / _Tp(2), -__x.imag());
-  if (__x.real() == 0)
-    return complex<_Tp>(__pi / _Tp(2), -__x.imag());
-  complex<_Tp> __z = log(__x + sqrt(pow(__x, _Tp(2)) - _Tp(1)));
-  if (signbit(__x.imag()))
-    return complex<_Tp>(fabs(__z.imag()), fabs(__z.real()));
-  return complex<_Tp>(fabs(__z.imag()), -fabs(__z.real()));
-}
-
-// atan
-
-template <class _Tp>
-CUDA_CALLABLE_MEMBER complex<_Tp> atan(const complex<_Tp> &__x) {
-  complex<_Tp> __z = atanh(complex<_Tp>(-__x.imag(), __x.real()));
-  return complex<_Tp>(__z.imag(), -__z.real());
-}
-
-// sin
-
-template <class _Tp>
-CUDA_CALLABLE_MEMBER complex<_Tp> sin(const complex<_Tp> &__x) {
-  complex<_Tp> __z = sinh(complex<_Tp>(-__x.imag(), __x.real()));
-  return complex<_Tp>(__z.imag(), -__z.real());
-}
-
-// cos
-
-template <class _Tp>
-inline CUDA_CALLABLE_MEMBER complex<_Tp> cos(const complex<_Tp> &__x) {
-  return cosh(complex<_Tp>(-__x.imag(), __x.real()));
-}
-
-// tan
-
-template <class _Tp>
-CUDA_CALLABLE_MEMBER complex<_Tp> tan(const complex<_Tp> &__x) {
-  complex<_Tp> __z = tanh(complex<_Tp>(-__x.imag(), __x.real()));
-  return complex<_Tp>(__z.imag(), -__z.real());
-}
-
-template <class _Tp, class _CharT, class _Traits>
-std::basic_istream<_CharT, _Traits> &
-operator>>(std::basic_istream<_CharT, _Traits> &__is, complex<_Tp> &__x) {
-  if (__is.good()) {
-    ws(__is);
-    if (__is.peek() == _CharT('(')) {
-      __is.get();
-      _Tp __r;
-      __is >> __r;
-      if (!__is.fail()) {
-        ws(__is);
-        _CharT __c = __is.peek();
-        if (__c == _CharT(',')) {
-          __is.get();
-          _Tp __i;
-          __is >> __i;
-          if (!__is.fail()) {
-            ws(__is);
-            __c = __is.peek();
-            if (__c == _CharT(')')) {
-              __is.get();
-              __x = complex<_Tp>(__r, __i);
-            } else
-              __is.setstate(std::ios_base::failbit);
-          } else
-            __is.setstate(std::ios_base::failbit);
-        } else if (__c == _CharT(')')) {
-          __is.get();
-          __x = complex<_Tp>(__r, _Tp(0));
-        } else
-          __is.setstate(std::ios_base::failbit);
-      } else
-        __is.setstate(std::ios_base::failbit);
-    } else {
-      _Tp __r;
-      __is >> __r;
-      if (!__is.fail())
-        __x = complex<_Tp>(__r, _Tp(0));
-      else
-        __is.setstate(std::ios_base::failbit);
-    }
-  } else
-    __is.setstate(std::ios_base::failbit);
-  return __is;
-}
-
-template <class _Tp, class _CharT, class _Traits>
-std::basic_ostream<_CharT, _Traits> &
-operator<<(std::basic_ostream<_CharT, _Traits> &__os, const complex<_Tp> &__x) {
-  std::basic_ostringstream<_CharT, _Traits> __s;
-  __s.flags(__os.flags());
-  __s.imbue(__os.getloc());
-  __s.precision(__os.precision());
-  __s << '(' << __x.real() << ',' << __x.imag() << ')';
-  return __os << __s.str();
-}
-
-//} // close namespace cuda_complex
-
-template <class U, class V>
-CUDA_CALLABLE_MEMBER auto operator*(const complex<U> &complexNumber,
-                                    const V &scalar) -> complex<U> {
-  return complex<U>(real(complexNumber) * scalar, imag(complexNumber) * scalar);
-}
-
-template <class U, class V>
-CUDA_CALLABLE_MEMBER auto operator*(const V &scalar,
-                                    const complex<U> &complexNumber)
-    -> complex<U> {
-  return complex<U>(real(complexNumber) * scalar, imag(complexNumber) * scalar);
-}
-
-template <class U, class V>
-CUDA_CALLABLE_MEMBER auto operator+(const complex<U> &complexNumber,
-                                    const V &scalar) -> complex<U> {
-  return complex<U>(real(complexNumber) + scalar, imag(complexNumber));
-}
-
-template <class U, class V>
-CUDA_CALLABLE_MEMBER auto operator+(const V &scalar,
-                                    const complex<U> &complexNumber)
-    -> complex<U> {
-  return complex<U>(real(complexNumber) + scalar, imag(complexNumber));
-}
-
-template <class U, class V>
-CUDA_CALLABLE_MEMBER auto operator-(const complex<U> &complexNumber,
-                                    const V &scalar) -> complex<U> {
-  return complex<U>(real(complexNumber) - scalar, imag(complexNumber));
-}
-
-template <class U, class V>
-CUDA_CALLABLE_MEMBER auto operator-(const V &scalar,
-                                    const complex<U> &complexNumber)
-    -> complex<U> {
-  return complex<U>(scalar - real(complexNumber), imag(complexNumber));
-}
-
-template <class U, class V>
-CUDA_CALLABLE_MEMBER auto operator/(const complex<U> &complexNumber,
-                                    const V scalar) -> complex<U> {
-  return complex<U>(real(complexNumber) / scalar, imag(complexNumber) / scalar);
-}
-
-template <class U, class V>
-CUDA_CALLABLE_MEMBER auto operator/(const V scalar,
-                                    const complex<U> &complexNumber)
-    -> complex<U> {
-  return complex<U>(scalar, 0) / complexNumber;
-}
-
-using ComplexDouble = complex<double>;
-using ComplexFloat = complex<float>;
-#endif // CUDA_COMPLEX_HPP
-}
diff --git a/pystencils/include/gpu_defines.h b/pystencils/include/gpu_defines.h
new file mode 100644
index 0000000000000000000000000000000000000000..67e7722e9a01b217584dce14f0dcec16d2025c80
--- /dev/null
+++ b/pystencils/include/gpu_defines.h
@@ -0,0 +1,12 @@
+#pragma once
+
+#define POS_INFINITY __int_as_float(0x7f800000)
+#define INFINITY POS_INFINITY
+#define NEG_INFINITY __int_as_float(0xff800000)
+
+#ifdef __HIPCC_RTC__
+typedef __hip_uint8_t uint8_t;
+typedef __hip_int8_t int8_t;
+typedef __hip_uint16_t uint16_t;
+typedef __hip_int16_t int16_t;
+#endif
diff --git a/pystencils/include/half_precision.h b/pystencils/include/half_precision.h
new file mode 100644
index 0000000000000000000000000000000000000000..0bba7b86d24e2caab295c92ee1cdff5b4f103a8c
--- /dev/null
+++ b/pystencils/include/half_precision.h
@@ -0,0 +1,17 @@
+/// Half precision support. Experimental. Use carefully.
+///
+/// This feature is experimental, since it strictly depends on the underlying architecture and compiler support.
+/// On x86 architectures, what you can expect is that the data format is supported natively only for storage and
+/// interchange. Arithmetic operations will likely involve casting to fp32 (C++ float) and truncation to fp16.
+/// Only bandwidth bound code may therefore benefit. None of this is guaranteed, and may change in the future.
+
+/// Clang version must be 15 or higher for x86 half precision support.
+/// GCC version must be 12 or higher for x86 half precision support.
+/// Also support seems to require SSE, so ensure that respective instruction sets are enabled.
+/// See
+///   https://clang.llvm.org/docs/LanguageExtensions.html#half-precision-floating-point
+///   https://gcc.gnu.org/onlinedocs/gcc/Half-Precision.html
+/// for more information.
+
+#pragma once
+using half    = _Float16;
diff --git a/pystencils/include/myintrin.h b/pystencils/include/myintrin.h
index 6c1d9d4d02636bc73a56ea5f0896eb128a86fbd1..eb1fe4dc41f2851660723a3c2ddd57fafb06a22a 100644
--- a/pystencils/include/myintrin.h
+++ b/pystencils/include/myintrin.h
@@ -1,6 +1,6 @@
 #pragma once
 
-#if defined(__SSE2__) || defined(_MSC_VER)
+#if defined(__SSE2__) || (defined(_MSC_VER) && !defined(_M_ARM64))
 QUALIFIERS __m128 _my_cvtepu32_ps(const __m128i v)
 {
 #ifdef __AVX512VL__
@@ -28,7 +28,7 @@ QUALIFIERS void _MY_TRANSPOSE4_EPI32(__m128i & R0, __m128i & R1, __m128i & R2, _
 }
 #endif
 
-#if defined(__SSE4_1__) || defined(_MSC_VER)
+#if defined(__SSE4_1__) || (defined(_MSC_VER) && !defined(_M_ARM64))
 #if !defined(__AVX512VL__) && defined(__GNUC__) && __GNUC__ >= 5 && !defined(__clang__)
 __attribute__((optimize("no-associative-math")))
 #endif
diff --git a/pystencils/include/opencl_stdint.h b/pystencils/include/opencl_stdint.h
deleted file mode 100644
index 98191faa56e97059f89cd8cd96f0390cf65d8168..0000000000000000000000000000000000000000
--- a/pystencils/include/opencl_stdint.h
+++ /dev/null
@@ -1,15 +0,0 @@
-#ifndef OPENCL_STDINT
-#define OPENCL_STDINT
-
-typedef unsigned int      uint_t;
-
-typedef signed char       int8_t;
-typedef signed short      int16_t;
-typedef signed int        int32_t;
-typedef signed long int   int64_t;
-typedef unsigned char     uint8_t;
-typedef unsigned short    uint16_t;
-typedef unsigned int      uint32_t;
-typedef unsigned long int uint64_t;
-
-#endif
diff --git a/pystencils/include/philox_rand.h b/pystencils/include/philox_rand.h
index 0571eb39d114c5ea29c974e9630744d0bbcc1540..cb91b53b96c487b575d9d318a5f58d1460ed59ed 100644
--- a/pystencils/include/philox_rand.h
+++ b/pystencils/include/philox_rand.h
@@ -1,16 +1,20 @@
-#ifndef __OPENCL_VERSION__
-#if defined(__SSE2__) || defined(_MSC_VER)
+#if !defined(__OPENCL_VERSION__) && !defined(__HIPCC_RTC__)
+#if defined(__SSE2__) || (defined(_MSC_VER) && !defined(_M_ARM64))
 #include <emmintrin.h> // SSE2
 #endif
 #ifdef __AVX2__
 #include <immintrin.h> // AVX*
-#elif defined(__SSE4_1__) || defined(_MSC_VER)
+#elif defined(__SSE4_1__) || (defined(_MSC_VER) && !defined(_M_ARM64))
 #include <smmintrin.h>  // SSE4
 #ifdef __FMA__
 #include <immintrin.h> // FMA
 #endif
 #endif
 
+#if defined(_MSC_VER) && defined(_M_ARM64)
+#define __ARM_NEON
+#endif
+
 #ifdef __ARM_NEON
 #include <arm_neon.h>
 #endif
@@ -34,7 +38,7 @@
 #endif
 #endif
 
-#ifdef __CUDA_ARCH__
+#if defined(__CUDA_ARCH__) || defined(__HIP_DEVICE_COMPILE__)
 #define QUALIFIERS static __forceinline__ __device__
 #elif defined(__OPENCL_VERSION__)
 #define QUALIFIERS static inline
@@ -55,7 +59,9 @@
 typedef uint32_t uint32;
 typedef uint64_t uint64;
 #else
+#ifndef __HIPCC_RTC__
 #include <cstdint>
+#endif
 typedef std::uint32_t uint32;
 typedef std::uint64_t uint64;
 #endif
@@ -71,7 +77,7 @@ typedef svfloat64_t svfloat64_st;
 
 QUALIFIERS uint32 mulhilo32(uint32 a, uint32 b, uint32* hip)
 {
-#ifndef __CUDA_ARCH__
+#if !defined(__CUDA_ARCH__) && !defined(__HIP_DEVICE_COMPILE__)
     // host code
 #if defined(__powerpc__) && (!defined(__clang__) || defined(__xlC__))
     *hip = __mulhwu(a,b);
@@ -182,8 +188,8 @@ QUALIFIERS void philox_float4(uint32 ctr0, uint32 ctr1, uint32 ctr2, uint32 ctr3
 #endif
 }
 
-#if !defined(__CUDA_ARCH__) && !defined(__OPENCL_VERSION__)
-#if defined(__SSE4_1__) || defined(_MSC_VER)
+#if !defined(__CUDA_ARCH__) && !defined(__OPENCL_VERSION__) && !defined(__HIP_DEVICE_COMPILE__)
+#if defined(__SSE4_1__) || (defined(_MSC_VER) && !defined(_M_ARM64))
 QUALIFIERS void _philox4x32round(__m128i* ctr, __m128i* key)
 {
     __m128i lohi0a = _mm_mul_epu32(ctr[0], _mm_set1_epi32(PHILOX_M4x32_0));
@@ -665,12 +671,14 @@ QUALIFIERS void philox_float4(uint32 ctr0, uint32x4_t ctr1, uint32 ctr2, uint32
     philox_float4(ctr0v, ctr1, ctr2v, ctr3v, key0, key1, rnd1, rnd2, rnd3, rnd4);
 }
 
+#ifndef _MSC_VER
 QUALIFIERS void philox_float4(uint32 ctr0, int32x4_t ctr1, uint32 ctr2, uint32 ctr3,
                               uint32 key0, uint32 key1,
                               float32x4_t & rnd1, float32x4_t & rnd2, float32x4_t & rnd3, float32x4_t & rnd4)
 {
     philox_float4(ctr0, vreinterpretq_u32_s32(ctr1), ctr2, ctr3, key0, key1, rnd1, rnd2, rnd3, rnd4);
 }
+#endif
 
 QUALIFIERS void philox_double2(uint32 ctr0, uint32x4_t ctr1, uint32 ctr2, uint32 ctr3,
                                uint32 key0, uint32 key1,
@@ -695,6 +703,7 @@ QUALIFIERS void philox_double2(uint32 ctr0, uint32x4_t ctr1, uint32 ctr2, uint32
     philox_double2(ctr0v, ctr1, ctr2v, ctr3v, key0, key1, rnd1, ignore, rnd2, ignore);
 }
 
+#ifndef _MSC_VER
 QUALIFIERS void philox_double2(uint32 ctr0, int32x4_t ctr1, uint32 ctr2, uint32 ctr3,
                                uint32 key0, uint32 key1,
                                float64x2_t & rnd1, float64x2_t & rnd2)
@@ -702,6 +711,7 @@ QUALIFIERS void philox_double2(uint32 ctr0, int32x4_t ctr1, uint32 ctr2, uint32
     philox_double2(ctr0, vreinterpretq_u32_s32(ctr1), ctr2, ctr3, key0, key1, rnd1, rnd2);
 }
 #endif
+#endif
 
 
 #if defined(__ARM_FEATURE_SVE)
diff --git a/pystencils/kernelcreation.py b/pystencils/kernelcreation.py
index 4b02ca13dfd66731747d80978770d976993f61cc..6e13bcfbdf93531f562d32775d54485846ecd4b5 100644
--- a/pystencils/kernelcreation.py
+++ b/pystencils/kernelcreation.py
@@ -159,7 +159,7 @@ def create_domain_kernel(assignments: NodeCollection, *, config: CreateKernelCon
                     raise ValueError("Invalid value for cpu_vectorize_info")
     elif config.target == Target.GPU:
         if config.backend == Backend.CUDA:
-            from pystencils.gpucuda import create_cuda_kernel
+            from pystencils.gpu import create_cuda_kernel
             ast = create_cuda_kernel(assignments, config=config)
 
     if not ast:
@@ -241,7 +241,7 @@ def create_indexed_kernel(assignments: NodeCollection, *, config: CreateKernelCo
             add_openmp(ast, num_threads=config.cpu_openmp)
     elif config.target == Target.GPU:
         if config.backend == Backend.CUDA:
-            from pystencils.gpucuda import created_indexed_cuda_kernel
+            from pystencils.gpu import created_indexed_cuda_kernel
             ast = created_indexed_cuda_kernel(assignments, config=config)
 
     if not ast:
diff --git a/pystencils/runhelper/db.py b/pystencils/runhelper/db.py
index 21b75c4ba91a53588db8637651bfda090c4044e6..1c8d3aa66c0e47681b942dd06f0a1805e244e930 100644
--- a/pystencils/runhelper/db.py
+++ b/pystencils/runhelper/db.py
@@ -1,10 +1,60 @@
 import socket
 import time
+from types import MappingProxyType
 from typing import Dict, Iterator, Sequence
 
 import blitzdb
+import six
+from blitzdb.backends.file.backend import serializer_classes
+from blitzdb.backends.file.utils import JsonEncoder
 
 from pystencils.cpu.cpujit import get_compiler_config
+from pystencils import CreateKernelConfig, Target, Backend, Field
+
+import json
+import sympy as sp
+
+from pystencils.typing import BasicType
+
+
+class PystencilsJsonEncoder(JsonEncoder):
+
+    def default(self, obj):
+        if isinstance(obj, CreateKernelConfig):
+            return obj.__dict__
+        if isinstance(obj, (sp.Float, sp.Rational)):
+            return float(obj)
+        if isinstance(obj, sp.Integer):
+            return int(obj)
+        if isinstance(obj, (BasicType, MappingProxyType)):
+            return str(obj)
+        if isinstance(obj, (Target, Backend, sp.Symbol)):
+            return obj.name
+        if isinstance(obj, Field):
+            return f"pystencils.Field(name = {obj.name}, field_type = {obj.field_type.name}, " \
+                   f"dtype = {str(obj.dtype)}, layout = {obj.layout}, shape = {obj.shape}, " \
+                   f"strides = {obj.strides})"
+        return JsonEncoder.default(self, obj)
+
+
+class PystencilsJsonSerializer(object):
+
+    @classmethod
+    def serialize(cls, data):
+        if six.PY3:
+            if isinstance(data, bytes):
+                return json.dumps(data.decode('utf-8'), cls=PystencilsJsonEncoder, ensure_ascii=False).encode('utf-8')
+            else:
+                return json.dumps(data, cls=PystencilsJsonEncoder, ensure_ascii=False).encode('utf-8')
+        else:
+            return json.dumps(data, cls=PystencilsJsonEncoder, ensure_ascii=False).encode('utf-8')
+
+    @classmethod
+    def deserialize(cls, data):
+        if six.PY3:
+            return json.loads(data.decode('utf-8'))
+        else:
+            return json.loads(data.decode('utf-8'))
 
 
 class Database:
@@ -46,7 +96,7 @@ class Database:
     class SimulationResult(blitzdb.Document):
         pass
 
-    def __init__(self, file: str) -> None:
+    def __init__(self, file: str, serializer_info: tuple = None) -> None:
         if file.startswith("mongo://"):
             from pymongo import MongoClient
             db_name = file[len("mongo://"):]
@@ -57,6 +107,10 @@ class Database:
 
         self.backend.autocommit = True
 
+        if serializer_info:
+            serializer_classes.update({serializer_info[0]: serializer_info[1]})
+            self.backend.load_config({'serializer_class': serializer_info[0]}, True)
+
     def save(self, params: Dict, result: Dict, env: Dict = None, **kwargs) -> None:
         """Stores a simulation result in the database.
 
@@ -146,10 +200,15 @@ class Database:
             'cpuCompilerConfig': get_compiler_config(),
         }
         try:
-            from git import Repo, InvalidGitRepositoryError
+            from git import Repo
+        except ImportError:
+            return result
+
+        try:
+            from git import InvalidGitRepositoryError
             repo = Repo(search_parent_directories=True)
             result['git_hash'] = str(repo.head.commit)
-        except (ImportError, InvalidGitRepositoryError):
+        except InvalidGitRepositoryError:
             pass
 
         return result
diff --git a/pystencils/runhelper/parameterstudy.py b/pystencils/runhelper/parameterstudy.py
index f4d8327d335125f7f57a8d622e1fd37855c3d9dd..243a30e437b05960a986d6134b3226c47f936948 100644
--- a/pystencils/runhelper/parameterstudy.py
+++ b/pystencils/runhelper/parameterstudy.py
@@ -9,6 +9,7 @@ from time import sleep
 from typing import Any, Callable, Dict, Optional, Sequence, Tuple
 
 from pystencils.runhelper import Database
+from pystencils.runhelper.db import PystencilsJsonSerializer
 from pystencils.utils import DotDict
 
 ParameterDict = Dict[str, Any]
@@ -54,10 +55,11 @@ class ParameterStudy:
     Run = namedtuple("Run", ['parameter_dict', 'weight'])
 
     def __init__(self, run_function: Callable[..., Dict], runs: Sequence = (),
-                 database_connector: str = './db') -> None:
+                 database_connector: str = './db',
+                 serializer_info: tuple = ('pystencils_serializer', PystencilsJsonSerializer)) -> None:
         self.runs = list(runs)
         self.run_function = run_function
-        self.db = Database(database_connector)
+        self.db = Database(database_connector, serializer_info)
 
     def add_run(self, parameter_dict: ParameterDict, weight: int = 1) -> None:
         """Schedule a dictionary of parameters to run in this parameter study.
diff --git a/pystencils/simp/assignment_collection.py b/pystencils/simp/assignment_collection.py
index 49fc06e2ddf6217f3425dacd33f1b913f6cd8c18..b0c09cec9ae2066d2db9fcb11d2c03e239d0e091 100644
--- a/pystencils/simp/assignment_collection.py
+++ b/pystencils/simp/assignment_collection.py
@@ -61,8 +61,11 @@ class AssignmentCollection:
 
         self.simplification_hints = simplification_hints
 
+        ctrs = [int(n.name[3:])for n in self.rhs_symbols if "xi_" in n.name]
+        max_ctr = max(ctrs) + 1 if len(ctrs) > 0 else 0
+
         if subexpression_symbol_generator is None:
-            self.subexpression_symbol_generator = SymbolGen()
+            self.subexpression_symbol_generator = SymbolGen(ctr=max_ctr)
         else:
             self.subexpression_symbol_generator = subexpression_symbol_generator
 
@@ -453,8 +456,8 @@ class AssignmentCollection:
 class SymbolGen:
     """Default symbol generator producing number symbols ζ_0, ζ_1, ..."""
 
-    def __init__(self, symbol="xi", dtype=None):
-        self._ctr = 0
+    def __init__(self, symbol="xi", dtype=None, ctr=0):
+        self._ctr = ctr
         self._symbol = symbol
         self._dtype = dtype
 
diff --git a/pystencils/stencil.py b/pystencils/stencil.py
index 10925735a868a34297d566d4fa4e14736e727992..aa86427fcd59113e502c91e7444a6815a5307f96 100644
--- a/pystencils/stencil.py
+++ b/pystencils/stencil.py
@@ -5,6 +5,8 @@ from typing import Sequence
 import numpy as np
 import sympy as sp
 
+from pystencils.utils import binary_numbers
+
 
 def inverse_direction(direction):
     """Returns inverse i.e. negative of given direction tuple
@@ -293,6 +295,38 @@ def direction_string_to_offset(direction: str, dim: int = 3):
     return offset[:dim]
 
 
+def adjacent_directions(direction):
+    """
+    Returns all adjacent directions for a direction as tuple of tuples. This is useful for exmple to find all directions
+    relevant for neighbour communication.
+
+    Args:
+        direction: tuple representing a direction. For example (0, 1, 0) for the northern side
+
+    Examples:
+        >>> adjacent_directions((0, 0, 0))
+        ((0, 0, 0),)
+        >>> adjacent_directions((0, 1, 0))
+        ((0, 1, 0),)
+        >>> adjacent_directions((0, 1, 1))
+        ((0, 0, 1), (0, 1, 0), (0, 1, 1))
+        >>> adjacent_directions((-1, -1))
+        ((-1, -1), (-1, 0), (0, -1))
+    """
+    result = set()
+    if all(e == 0 for e in direction):
+        result.add(direction)
+        return tuple(result)
+    binary_numbers_list = binary_numbers(len(direction))
+    for adjacent_direction in binary_numbers_list:
+        for i, entry in enumerate(direction):
+            if entry == 0:
+                adjacent_direction[i] = 0
+            if entry == -1 and adjacent_direction[i] == 1:
+                adjacent_direction[i] = -1
+        if not all(e == 0 for e in adjacent_direction):
+            result.add(tuple(adjacent_direction))
+    return tuple(sorted(result))
 # -------------------------------------- Visualization -----------------------------------------------------------------
 
 
@@ -341,7 +375,7 @@ def plot_2d(stencil, axes=None, figure=None, data=None, textsize='12', **kwargs)
     for direction, annotation in zip(stencil, data):
         assert len(direction) == 2, "Works only for 2D stencils"
         direction = tuple(int(i) for i in direction)
-        if not(direction[0] == 0 and direction[1] == 0):
+        if not (direction[0] == 0 and direction[1] == 0):
             axes.arrow(0, 0, direction[0], direction[1], head_width=0.08, head_length=head_length, color='k')
 
         if isinstance(annotation, sp.Basic):
diff --git a/pystencils/typing/types.py b/pystencils/typing/types.py
index d1c473a0aa06bacf14bf4ef84d577abee69e4155..f0f9744a558ed42bfebe08e6430da3aa21d8131a 100644
--- a/pystencils/typing/types.py
+++ b/pystencils/typing/types.py
@@ -25,6 +25,8 @@ def numpy_name_to_c(name: str) -> str:
         return 'double'
     elif name == 'float32':
         return 'float'
+    elif name == 'float16' or name == 'half':
+        return 'half'
     elif name.startswith('int'):
         width = int(name[len("int"):])
         return f"int{width}_t"
@@ -68,7 +70,7 @@ class BasicType(AbstractType):
     BasicType is defined with a const qualifier and a np.dtype.
     """
 
-    def __init__(self, dtype: Union[np.dtype, 'BasicType', str], const: bool = False):
+    def __init__(self, dtype: Union[type, 'BasicType', str], const: bool = False):
         if isinstance(dtype, BasicType):
             self.numpy_dtype = dtype.numpy_dtype
             self.const = dtype.const
@@ -94,6 +96,9 @@ class BasicType(AbstractType):
     def is_float(self):
         return issubclass(self.numpy_dtype.type, np.floating)
 
+    def is_half(self):
+        return issubclass(self.numpy_dtype.type, np.half)
+
     def is_int(self):
         return issubclass(self.numpy_dtype.type, np.integer)
 
@@ -286,7 +291,7 @@ class StructType(AbstractType):
         return hash((self.numpy_dtype, self.const))
 
 
-def create_type(specification: Union[np.dtype, AbstractType, str]) -> AbstractType:
+def create_type(specification: Union[type, AbstractType, str]) -> AbstractType:
     # TODO: Deprecated Use the constructor of BasicType or StructType instead
     """Creates a subclass of Type according to a string or an object of subclass Type.
 
diff --git a/pystencils/typing/utilities.py b/pystencils/typing/utilities.py
index da40c510ef91c7ca7fee0e6a0259b3eef50f0ab8..223da701a4d5c133715eb30f99366c44b13f16b2 100644
--- a/pystencils/typing/utilities.py
+++ b/pystencils/typing/utilities.py
@@ -187,18 +187,15 @@ def get_type_of_expression(expr,
 
 # Fix for sympy versions from 1.9
 sympy_version = sp.__version__.split('.')
-if int(sympy_version[0]) * 100 + int(sympy_version[1]) >= 109:
+sympy_version_int = int(sympy_version[0]) * 100 + int(sympy_version[1])
+if sympy_version_int >= 109:
     # __setstate__ would bypass the contructor, so we remove it
-    sp.Number.__getstate__ = sp.Basic.__getstate__
-    del sp.Basic.__getstate__
-
-    class FunctorWithStoredKwargs:
-        def __init__(self, func, **kwargs):
-            self.func = func
-            self.kwargs = kwargs
-
-        def __call__(self, *args):
-            return self.func(*args, **self.kwargs)
+    if sympy_version_int >= 111:
+        del sp.Basic.__setstate__
+        del sp.Symbol.__setstate__
+    else:
+        sp.Number.__getstate__ = sp.Basic.__getstate__
+        del sp.Basic.__getstate__
 
     # __reduce_ex__ would strip kwargs, so we override it
     def basic_reduce_ex(self, protocol):
@@ -210,9 +207,7 @@ if int(sympy_version[0]) * 100 + int(sympy_version[1]) >= 109:
             state = self.__getstate__()
         else:
             state = None
-        return FunctorWithStoredKwargs(type(self), **kwargs), args, state
-
-    sp.Number.__reduce_ex__ = sp.Basic.__reduce_ex__
+        return partial(type(self), **kwargs), args, state
     sp.Basic.__reduce_ex__ = basic_reduce_ex
 
 
diff --git a/pystencils/utils.py b/pystencils/utils.py
index 22d61d0bac6c402e10a7f48a07a55264ec4ddf27..f872ae48a54a2ae8c9437ec826be9b51c061f52e 100644
--- a/pystencils/utils.py
+++ b/pystencils/utils.py
@@ -96,6 +96,21 @@ def boolean_array_bounding_box(boolean_array):
     return bounds
 
 
+def binary_numbers(n):
+    """Returns all binary numbers up to 2^n - 1
+
+    Example:
+        >>> binary_numbers(2)
+        [[0, 0], [0, 1], [1, 0], [1, 1]]
+    """
+    result = list()
+    for i in range(1 << n):
+        binary_number = bin(i)[2:]
+        binary_number = '0' * (n - len(binary_number)) + binary_number
+        result.append((list(map(int, binary_number))))
+    return result
+
+
 class LinearEquationSystem:
     """Symbolic linear system of equations - consisting of matrix and right hand side.
 
diff --git a/pystencils_tests/test_boundary.py b/pystencils_tests/test_boundary.py
index 4dc6439a079606b4536ef3331fa3ca5eeeb0f4aa..a94d3782020cd494a4b01009f04016e889fca9c0 100644
--- a/pystencils_tests/test_boundary.py
+++ b/pystencils_tests/test_boundary.py
@@ -97,7 +97,7 @@ def test_kernel_vs_copy_boundary():
 
 
 def test_boundary_gpu():
-    pytest.importorskip('pycuda')
+    pytest.importorskip('cupy')
     dh = SerialDataHandling(domain_size=(7, 7), default_target=Target.GPU)
     src = dh.add_array('src')
     dh.fill("src", 0.0, ghost_layers=True)
diff --git a/pystencils_tests/test_buffer_gpu.py b/pystencils_tests/test_buffer_gpu.py
index ae0a1548790fda79c50b6c6b6952868755009d44..d2ec6808e8db52eb69427aef9a94ce53631047eb 100644
--- a/pystencils_tests/test_buffer_gpu.py
+++ b/pystencils_tests/test_buffer_gpu.py
@@ -14,8 +14,7 @@ from pystencils.stencil import direction_string_to_offset
 
 try:
     # noinspection PyUnresolvedReferences
-    import pycuda.autoinit
-    import pycuda.gpuarray as gpuarray
+    import cupy as cp
 except ImportError:
     pass
 
@@ -24,7 +23,7 @@ FIELD_SIZES = [(4, 3), (9, 3, 7)]
 
 
 def _generate_fields(dt=np.uint8, stencil_directions=1, layout='numpy'):
-    pytest.importorskip('pycuda')
+    pytest.importorskip('cupy')
     field_sizes = FIELD_SIZES
     if stencil_directions > 1:
         field_sizes = [s + (stencil_directions,) for s in field_sizes]
@@ -39,10 +38,10 @@ def _generate_fields(dt=np.uint8, stencil_directions=1, layout='numpy'):
         src_arr.flat = add_ghost_layers(array_data,
                                         index_dimensions=1 if stencil_directions > 1 else 0).astype(dt).flat
 
-        gpu_src_arr = gpuarray.to_gpu(src_arr)
-        gpu_dst_arr = gpuarray.empty_like(gpu_src_arr)
+        gpu_src_arr = cp.asarray(src_arr)
+        gpu_dst_arr = cp.zeros_like(gpu_src_arr)
         size = int(np.prod(src_arr.shape))
-        gpu_buffer_arr = gpuarray.zeros(size, dtype=dt)
+        gpu_buffer_arr = cp.zeros(size, dtype=dt)
 
         fields.append((src_arr, gpu_src_arr, gpu_dst_arr, gpu_buffer_arr))
     return fields
@@ -163,7 +162,7 @@ def test_all_cell_values():
 
 
 def test_subset_cell_values():
-    """Tests (un)packing a subset of cell values of the a field (from)to a buffer."""
+    """Tests (un)packing a subset of cell values of a field (from)to a buffer."""
     num_cell_values = 7
     # Cell indices of the field to be (un)packed (from)to the buffer
     cell_indices = [1, 3, 5, 6]
@@ -300,7 +299,7 @@ def test_iteration_slices():
 
         #   Fill the entire array with data
         src_arr[(slice(None, None, 1),) * dim] = np.arange(num_cell_values)
-        gpu_src_arr[(slice(None, None, 1),) * dim] = src_arr
+        gpu_src_arr.set(src_arr)
         gpu_dst_arr.fill(0)
 
         config = CreateKernelConfig(target=Target.GPU, iteration_slice=pack_slice,
diff --git a/pystencils_tests/test_custom_backends.py b/pystencils_tests/test_custom_backends.py
index 3d0088796e6d6ea6683f69124731cd64fad09507..c7bf7fe243dc6a9df08ba4152cf56ef6ea588bee 100644
--- a/pystencils_tests/test_custom_backends.py
+++ b/pystencils_tests/test_custom_backends.py
@@ -36,9 +36,9 @@ def test_custom_backends_cpu():
 
 
 def test_custom_backends_gpu():
-    pytest.importorskip('pycuda')
-    import pycuda.driver
-    import pystencils.gpucuda.cudajit
+    pytest.importorskip('cupy')
+    import cupy
+    import pystencils.gpu.gpujit
 
     z, x, y = pystencils.fields("z, y, x: [2d]")
 
@@ -47,5 +47,5 @@ def test_custom_backends_gpu():
 
     ast = pystencils.create_kernel(normal_assignments, target=Target.GPU)
     pystencils.show_code(ast, ScreamingGpuBackend())
-    with pytest.raises(pycuda.driver.CompileError):
-        pystencils.gpucuda.cudajit.make_python_function(ast, custom_backend=ScreamingGpuBackend())
+    with pytest.raises((cupy.cuda.compiler.JitifyException, cupy.cuda.compiler.CompileException)):
+        pystencils.gpu.gpujit.make_python_function(ast, custom_backend=ScreamingGpuBackend())
diff --git a/pystencils_tests/test_datahandling.py b/pystencils_tests/test_datahandling.py
index afd5f70dac6795ee7bea2d32f3437eb7c3c057cc..15e9cd74baf7df4e8922ce5f4a624a1fc0f6fb75 100644
--- a/pystencils_tests/test_datahandling.py
+++ b/pystencils_tests/test_datahandling.py
@@ -6,7 +6,7 @@ import numpy as np
 
 import pystencils as ps
 from pystencils import create_data_handling, create_kernel
-from pystencils.datahandling.pycuda import PyCudaArrayHandler
+from pystencils.gpu.gpu_array_handler import GPUArrayHandler
 from pystencils.enums import Target
 
 try:
@@ -15,6 +15,12 @@ except ImportError:
     import unittest.mock
     pytest = unittest.mock.MagicMock()
 
+try:
+    import cupy.cuda.runtime
+    device_numbers = range(cupy.cuda.runtime.getDeviceCount())
+except ImportError:
+    device_numbers = []
+
 SCRIPT_FOLDER = Path(__file__).parent.absolute()
 INPUT_FOLDER = SCRIPT_FOLDER / "test_data"
 
@@ -85,11 +91,7 @@ def access_and_gather(dh, domain_size):
 def synchronization(dh, test_gpu=False):
     field_name = 'comm_field_test'
     if test_gpu:
-        try:
-            from pycuda import driver
-            import pycuda.autoinit
-        except ImportError:
-            return
+        pytest.importorskip("cupy")
         field_name += 'Gpu'
 
     dh.add_array(field_name, ghost_layers=1, dtype=np.int8, cpu=True, gpu=test_gpu)
@@ -215,7 +217,7 @@ def test_kernel():
         reduction(dh)
 
         try:
-            import pycuda
+            import cupy
             dh = create_data_handling(domain_size=domain_shape, periodicity=True)
             kernel_execution_jacobi(dh, Target.GPU)
         except ImportError:
@@ -226,7 +228,7 @@ def test_kernel():
 def test_kernel_param(target):
     for domain_shape in [(4, 5), (3, 4, 5)]:
         if target == Target.GPU:
-            pytest.importorskip('pycuda')
+            pytest.importorskip('cupy')
 
         dh = create_data_handling(domain_size=domain_shape, periodicity=True, default_target=target)
         kernel_execution_jacobi(dh, target)
@@ -255,6 +257,20 @@ def test_add_arrays():
     assert y == dh.fields['y']
 
 
+@pytest.mark.parametrize('shape', [(17, 12), (7, 11, 18)])
+@pytest.mark.parametrize('layout', ['zyxf', 'fzyx'])
+def test_add_arrays_with_layout(shape, layout):
+    pytest.importorskip('cupy')
+
+    dh = create_data_handling(domain_size=shape, default_layout=layout, default_target=ps.Target.GPU)
+    f1 = dh.add_array("f1", values_per_cell=19)
+    dh.fill(f1.name, 1.0)
+
+    assert dh.cpu_arrays[f1.name].shape == dh.gpu_arrays[f1.name].shape
+    assert dh.cpu_arrays[f1.name].strides == dh.gpu_arrays[f1.name].strides
+    assert dh.cpu_arrays[f1.name].dtype == dh.gpu_arrays[f1.name].dtype
+
+
 def test_get_kwarg():
     domain_shape = (10, 10)
     field_description = 'src, dst'
@@ -265,7 +281,7 @@ def test_get_kwarg():
     dh.fill("dst", 0.0, ghost_layers=True)
 
     with pytest.raises(ValueError):
-        dh.add_array('src')
+        dh.add_array('src', values_per_cell=1)
 
     ur = ps.Assignment(src.center, dst.center)
     kernel = ps.create_kernel(ur).compile()
@@ -276,22 +292,20 @@ def test_get_kwarg():
 
 
 def test_add_custom_data():
-    pytest.importorskip('pycuda')
-
-    import pycuda.gpuarray as gpuarray
-    import pycuda.autoinit  # noqa
+    pytest.importorskip('cupy')
+    import cupy as cp
 
     def cpu_data_create_func():
         return np.ones((2, 2), dtype=np.float64)
 
     def gpu_data_create_func():
-        return gpuarray.zeros((2, 2), dtype=np.float64)
+        return cp.zeros((2, 2), dtype=np.float64)
 
     def cpu_to_gpu_transfer_func(gpuarr, cpuarray):
         gpuarr.set(cpuarray)
 
     def gpu_to_cpu_transfer_func(gpuarr, cpuarray):
-        gpuarr.get(cpuarray)
+        cpuarray[:] = gpuarr.get()
 
     dh = create_data_handling(domain_size=(10, 10))
     dh.add_custom_data('custom_data',
@@ -357,10 +371,11 @@ def test_load_data():
     assert np.all(dh.cpu_arrays['dst2']) == 0
 
 
-def test_array_handler():
+@pytest.mark.parametrize("device_number", device_numbers)
+def test_array_handler(device_number):
     size = (2, 2)
-    pytest.importorskip('pycuda')
-    array_handler = PyCudaArrayHandler()
+    pytest.importorskip('cupy')
+    array_handler = GPUArrayHandler(device_number)
 
     zero_array = array_handler.zeros(size)
     cpu_array = np.empty(size)
@@ -374,8 +389,23 @@ def test_array_handler():
 
     empty = array_handler.empty(size)
     assert empty.strides == (16, 8)
-    empty = array_handler.empty(shape=size, layout=(1, 0))
+    empty = array_handler.empty(shape=size, order="F")
     assert empty.strides == (8, 16)
 
     random_array = array_handler.randn(size)
 
+    cpu_array = np.empty((20, 40), dtype=np.float64)
+    gpu_array = array_handler.to_gpu(cpu_array)
+
+    assert cpu_array.base is None
+    assert gpu_array.base is None
+    assert gpu_array.strides == cpu_array.strides
+
+    cpu_array2 = np.empty((20, 40), dtype=np.float64)
+    cpu_array2 = cpu_array2.swapaxes(0, 1)
+    gpu_array2 = array_handler.to_gpu(cpu_array2)
+
+    assert cpu_array2.base is not None
+    assert gpu_array2.base is not None
+    assert gpu_array2.strides == cpu_array2.strides
+
diff --git a/pystencils_tests/test_datahandling_parallel.py b/pystencils_tests/test_datahandling_parallel.py
index dd18e4fb18a78ad96d3685e4400799852e2fa9d9..b5aa9832470b8e19d712f73697ab3af4549eaf7e 100644
--- a/pystencils_tests/test_datahandling_parallel.py
+++ b/pystencils_tests/test_datahandling_parallel.py
@@ -33,12 +33,12 @@ def test_access_and_gather():
     dh = ParallelDataHandling(blocks, default_ghost_layers=2)
     access_and_gather(dh, cells)
     synchronization(dh, test_gpu=False)
-    if hasattr(wlb, 'cuda'):
+    if hasattr(wlb, 'gpu'):
         synchronization(dh, test_gpu=True)
 
 
 def test_gpu():
-    pytest.importorskip('waLBerla.cuda')
+    pytest.importorskip('waLBerla.gpu')
 
     block_size = (4, 7, 1)
     num_blocks = (3, 2, 1)
@@ -59,7 +59,7 @@ def test_gpu():
 @pytest.mark.parametrize('target', (pystencils.Target.CPU, pystencils.Target.GPU))
 def test_kernel(target):
     if target == pystencils.Target.GPU:
-        pytest.importorskip('waLBerla.cuda')
+        pytest.importorskip('waLBerla.gpu')
 
     # 3D
     blocks = wlb.createUniformBlockGrid(blocks=(3, 2, 4), cellsPerBlock=(3, 2, 5), oneBlockPerProcess=False)
@@ -108,7 +108,7 @@ def test_block_iteration():
 
 
 def test_getter_setter():
-    pytest.importorskip('waLBerla.cuda')
+    pytest.importorskip('waLBerla.gpu')
 
     block_size = (2, 2, 2)
     num_blocks = (2, 2, 2)
@@ -131,7 +131,7 @@ def test_getter_setter():
 
 
 def test_parallel_datahandling_boundary_conditions():
-    pytest.importorskip('waLBerla.cuda')
+    pytest.importorskip('waLBerla.gpu')
 
     dh = create_data_handling(domain_size=(7, 7), periodicity=True, parallel=True,
                               default_target=pystencils.Target.GPU)
diff --git a/pystencils_tests/test_fast_approximation.py b/pystencils_tests/test_fast_approximation.py
index 5b7245af9b12a1127e67ede6e4ce231efd73e078..e211d6897135c0e35005404ddfb28d32b1384532 100644
--- a/pystencils_tests/test_fast_approximation.py
+++ b/pystencils_tests/test_fast_approximation.py
@@ -7,7 +7,7 @@ from pystencils.fast_approximation import (
 
 
 def test_fast_sqrt():
-    pytest.importorskip('pycuda')
+    pytest.importorskip('cupy')
     f, g = ps.fields("f, g: double[2D]")
     expr = sp.sqrt(f[0, 0] + f[1, 0])
 
@@ -30,7 +30,7 @@ def test_fast_sqrt():
 
 
 def test_fast_divisions():
-    pytest.importorskip('pycuda')
+    pytest.importorskip('cupy')
     f, g = ps.fields("f, g: double[2D]")
     expr = f[0, 0] / f[1, 0]
     assert len(insert_fast_divisions(expr).atoms(fast_division)) == 1
diff --git a/pystencils_tests/test_cudagpu.py b/pystencils_tests/test_gpu.py
similarity index 80%
rename from pystencils_tests/test_cudagpu.py
rename to pystencils_tests/test_gpu.py
index a65a08ba6d24b30002822e9916b2d3d44639d26a..df452e2b1bd2ec55ecc57c0325ba994a3dac894f 100644
--- a/pystencils_tests/test_cudagpu.py
+++ b/pystencils_tests/test_gpu.py
@@ -1,14 +1,21 @@
+import pytest
+
 import numpy as np
-import pycuda.autoinit
-import pycuda.gpuarray as gpuarray
+import cupy as cp
 import sympy as sp
 from scipy.ndimage import convolve
 
 from pystencils import Assignment, Field, fields, CreateKernelConfig, create_kernel, Target
-from pystencils.gpucuda import BlockIndexing
+from pystencils.gpu import BlockIndexing
 from pystencils.simp import sympy_cse_on_assignment_list
 from pystencils.slicing import add_ghost_layers, make_slice, remove_ghost_layers
 
+try:
+    import cupy
+    device_numbers = range(cupy.cuda.runtime.getDeviceCount())
+except ImportError:
+    device_numbers = []
+
 
 def test_averaging_kernel():
     size = (40, 55)
@@ -25,10 +32,10 @@ def test_averaging_kernel():
     ast = create_kernel(sympy_cse_on_assignment_list([update_rule]), config=config)
     kernel = ast.compile()
 
-    gpu_src_arr = gpuarray.to_gpu(src_arr)
-    gpu_dst_arr = gpuarray.to_gpu(dst_arr)
+    gpu_src_arr = cp.asarray(src_arr)
+    gpu_dst_arr = cp.asarray(dst_arr)
     kernel(src=gpu_src_arr, dst=gpu_dst_arr)
-    gpu_dst_arr.get(dst_arr)
+    dst_arr = gpu_dst_arr.get()
 
     stencil = np.array([[0, 1, 0], [1, 0, 1], [0, 1, 0]]) / 4.0
     reference = convolve(remove_ghost_layers(src_arr), stencil, mode='constant', cval=0.0)
@@ -52,10 +59,10 @@ def test_variable_sized_fields():
     src_arr = add_ghost_layers(src_arr)
     dst_arr = np.zeros_like(src_arr)
 
-    gpu_src_arr = gpuarray.to_gpu(src_arr)
-    gpu_dst_arr = gpuarray.to_gpu(dst_arr)
+    gpu_src_arr = cp.asarray(src_arr)
+    gpu_dst_arr = cp.asarray(dst_arr)
     kernel(src=gpu_src_arr, dst=gpu_dst_arr)
-    gpu_dst_arr.get(dst_arr)
+    dst_arr = gpu_dst_arr.get()
 
     stencil = np.array([[0, 1, 0], [1, 0, 1], [0, 1, 0]]) / 4.0
     reference = convolve(remove_ghost_layers(src_arr), stencil, mode='constant', cval=0.0)
@@ -81,10 +88,10 @@ def test_multiple_index_dimensions():
     ast = create_kernel([update_rule], config=config)
     kernel = ast.compile()
 
-    gpu_src_arr = gpuarray.to_gpu(src_arr)
-    gpu_dst_arr = gpuarray.to_gpu(dst_arr)
+    gpu_src_arr = cp.asarray(src_arr)
+    gpu_dst_arr = cp.asarray(dst_arr)
     kernel(src=gpu_src_arr, dst=gpu_dst_arr)
-    gpu_dst_arr.get(dst_arr)
+    dst_arr = gpu_dst_arr.get()
 
     reference = np.zeros_like(dst_arr)
     gl = np.max(np.abs(np.array(offset, dtype=int)))
@@ -109,10 +116,10 @@ def test_ghost_layer():
     ast = create_kernel(sympy_cse_on_assignment_list([update_rule]), config=config)
     kernel = ast.compile()
 
-    gpu_src_arr = gpuarray.to_gpu(src_arr)
-    gpu_dst_arr = gpuarray.to_gpu(dst_arr)
+    gpu_src_arr = cp.asarray(src_arr)
+    gpu_dst_arr = cp.asarray(dst_arr)
     kernel(src=gpu_src_arr, dst=gpu_dst_arr)
-    gpu_dst_arr.get(dst_arr)
+    dst_arr = gpu_dst_arr.get()
 
     reference = np.zeros_like(src_arr)
     reference[ghost_layers[0][0]:-ghost_layers[0][1], ghost_layers[1][0]:-ghost_layers[1][1]] = 1
@@ -121,7 +128,7 @@ def test_ghost_layer():
 
 def test_setting_value():
     arr_cpu = np.arange(25, dtype=np.float64).reshape(5, 5)
-    arr_gpu = gpuarray.to_gpu(arr_cpu)
+    arr_gpu = cp.asarray(arr_cpu)
 
     iteration_slice = make_slice[:, :]
     f = Field.create_generic("f", 2)
@@ -136,11 +143,11 @@ def test_setting_value():
 
 
 def test_periodicity():
-    from pystencils.gpucuda.periodicity import get_periodic_boundary_functor as periodic_gpu
+    from pystencils.gpu.periodicity import get_periodic_boundary_functor as periodic_gpu
     from pystencils.slicing import get_periodic_boundary_functor as periodic_cpu
 
     arr_cpu = np.arange(50, dtype=np.float64).reshape(5, 5, 2)
-    arr_gpu = gpuarray.to_gpu(arr_cpu)
+    arr_gpu = cp.asarray(arr_cpu)
 
     periodicity_stencil = [(1, 0), (-1, 0), (1, 1)]
     periodic_gpu_kernel = periodic_gpu(periodicity_stencil, (5, 5), 1, 2)
@@ -149,13 +156,13 @@ def test_periodicity():
     cpu_result = np.copy(arr_cpu)
     periodic_cpu_kernel(cpu_result)
 
-    gpu_result = np.copy(arr_cpu)
     periodic_gpu_kernel(pdfs=arr_gpu)
-    arr_gpu.get(gpu_result)
+    gpu_result = arr_gpu.get()
     np.testing.assert_equal(cpu_result, gpu_result)
 
 
-def test_block_indexing():
+@pytest.mark.parametrize("device_number", device_numbers)
+def test_block_indexing(device_number):
     f = fields("f: [3D]")
     bi = BlockIndexing(f, make_slice[:, :, :], block_size=(16, 8, 2), permute_block_size_dependent_on_layout=False)
     assert bi.call_parameters((3, 2, 32))['block'] == (3, 2, 32)
@@ -164,8 +171,19 @@ def test_block_indexing():
     bi = BlockIndexing(f, make_slice[:, :, :], block_size=(32, 1, 1), permute_block_size_dependent_on_layout=False)
     assert bi.call_parameters((1, 16, 16))['block'] == (1, 16, 2)
 
-    bi = BlockIndexing(f, make_slice[:, :, :], block_size=(16, 8, 2), maximum_block_size="auto")
+    bi = BlockIndexing(f, make_slice[:, :, :], block_size=(16, 8, 2),
+                       maximum_block_size="auto", device_number=device_number)
+
     # This function should be used if number of needed registers is known. Can be determined with func.num_regs
-    blocks = bi.limit_block_size_by_register_restriction([1024, 1024, 1], 1000)
+    registers_per_thread = 1000
+    blocks = bi.limit_block_size_by_register_restriction([1024, 1024, 1], registers_per_thread)
+
+    if cp.cuda.runtime.is_hip:
+        max_registers_per_block = cp.cuda.runtime.deviceGetAttribute(71, device_number)
+    else:
+        device = cp.cuda.Device(device_number)
+        da = device.attributes
+        max_registers_per_block = da.get("MaxRegistersPerBlock")
+
+    assert np.prod(blocks) * registers_per_thread < max_registers_per_block
 
-    assert sum(blocks) < sum([1024, 1024, 1])
diff --git a/pystencils_tests/test_half_precision.py b/pystencils_tests/test_half_precision.py
new file mode 100644
index 0000000000000000000000000000000000000000..6d55d1f0e292fec7b27e9b5837b9771f6890d6b3
--- /dev/null
+++ b/pystencils_tests/test_half_precision.py
@@ -0,0 +1,41 @@
+import pytest
+import platform
+
+import numpy as np
+import pystencils as ps
+
+
+@pytest.mark.parametrize('target', (ps.Target.CPU, ps.Target.GPU))
+def test_half_precison(target):
+    if target == ps.Target.CPU:
+        if not platform.machine() in ['arm64', 'aarch64']:
+            pytest.xfail("skipping half precision test on non arm platform")
+
+        if 'clang' not in ps.cpu.cpujit.get_compiler_config()['command']:
+            pytest.xfail("skipping half precision because clang compiler is not used")
+
+    if target == ps.Target.GPU:
+        pytest.importorskip("cupy")
+
+    dh = ps.create_data_handling(domain_size=(10, 10), default_target=target)
+
+    f1 = dh.add_array("f1", values_per_cell=1, dtype=np.float16)
+    dh.fill("f1", 1.0, ghost_layers=True)
+    f2 = dh.add_array("f2", values_per_cell=1, dtype=np.float16)
+    dh.fill("f2", 2.0, ghost_layers=True)
+
+    f3 = dh.add_array("f3", values_per_cell=1, dtype=np.float16)
+    dh.fill("f3", 0.0, ghost_layers=True)
+
+    up = ps.Assignment(f3.center, f1.center + 2.1 * f2.center)
+
+    config = ps.CreateKernelConfig(target=dh.default_target, default_number_float=np.float32)
+    ast = ps.create_kernel(up, config=config)
+
+    kernel = ast.compile()
+
+    dh.run_kernel(kernel)
+    dh.all_to_cpu()
+
+    assert np.all(dh.cpu_arrays[f3.name] == 5.2)
+    assert dh.cpu_arrays[f3.name].dtype == np.float16
diff --git a/pystencils_tests/test_indexed_kernels.py b/pystencils_tests/test_indexed_kernels.py
index fa06a8f166702b53519a398bc544fcdc30f5cc94..c8c88ec86dc36ad5ee0bef1099e8ea1c080ecf14 100644
--- a/pystencils_tests/test_indexed_kernels.py
+++ b/pystencils_tests/test_indexed_kernels.py
@@ -1,4 +1,6 @@
 import numpy as np
+import pytest
+
 import pystencils as ps
 from pystencils import Assignment, Field, CreateKernelConfig, create_kernel, Target
 
@@ -24,35 +26,29 @@ def test_indexed_kernel():
         np.testing.assert_allclose(arr[index_arr[i]['x'], index_arr[i]['y']], index_arr[i]['value'], atol=1e-13)
 
 
-def test_indexed_cuda_kernel():
-    try:
-        import pycuda
-    except ImportError:
-        pycuda = None
-
-    if pycuda:
-        import pycuda.gpuarray as gpuarray
-
-        arr = np.zeros((3, 4))
-        dtype = np.dtype([('x', int), ('y', int), ('value', arr.dtype)])
-        index_arr = np.zeros((3,), dtype=dtype)
-        index_arr[0] = (0, 2, 3.0)
-        index_arr[1] = (1, 3, 42.0)
-        index_arr[2] = (2, 1, 5.0)
-
-        indexed_field = Field.create_from_numpy_array('index', index_arr)
-        normal_field = Field.create_from_numpy_array('f', arr)
-        update_rule = Assignment(normal_field[0, 0], indexed_field('value'))
-
-        config = CreateKernelConfig(target=Target.GPU, index_fields=[indexed_field])
-        ast = create_kernel([update_rule], config=config)
-        kernel = ast.compile()
-
-        gpu_arr = gpuarray.to_gpu(arr)
-        gpu_index_arr = gpuarray.to_gpu(index_arr)
-        kernel(f=gpu_arr, index=gpu_index_arr)
-        gpu_arr.get(arr)
-        for i in range(index_arr.shape[0]):
-            np.testing.assert_allclose(arr[index_arr[i]['x'], index_arr[i]['y']], index_arr[i]['value'], atol=1e-13)
-    else:
-        print("Did not run test on GPU since no pycuda is available")
+def test_indexed_gpu_kernel():
+    pytest.importorskip("cupy")
+    import cupy as cp
+
+    arr = np.zeros((3, 4))
+    dtype = np.dtype([('x', int), ('y', int), ('value', arr.dtype)])
+    index_arr = np.zeros((3,), dtype=dtype)
+    index_arr[0] = (0, 2, 3.0)
+    index_arr[1] = (1, 3, 42.0)
+    index_arr[2] = (2, 1, 5.0)
+
+    indexed_field = Field.create_from_numpy_array('index', index_arr)
+    normal_field = Field.create_from_numpy_array('f', arr)
+    update_rule = Assignment(normal_field[0, 0], indexed_field('value'))
+
+    config = CreateKernelConfig(target=Target.GPU, index_fields=[indexed_field])
+    ast = create_kernel([update_rule], config=config)
+    kernel = ast.compile()
+
+    gpu_arr = cp.asarray(arr)
+    gpu_index_arr = cp.ndarray(index_arr.shape, dtype=index_arr.dtype)
+    gpu_index_arr.set(index_arr)
+    kernel(f=gpu_arr, index=gpu_index_arr)
+    arr = gpu_arr.get()
+    for i in range(index_arr.shape[0]):
+        np.testing.assert_allclose(arr[index_arr[i]['x'], index_arr[i]['y']], index_arr[i]['value'], atol=1e-13)
diff --git a/pystencils_tests/test_json_serializer.py b/pystencils_tests/test_json_serializer.py
new file mode 100644
index 0000000000000000000000000000000000000000..f4600753559ae1f2052aa115cf55a85dec5c381c
--- /dev/null
+++ b/pystencils_tests/test_json_serializer.py
@@ -0,0 +1,28 @@
+"""
+Test the pystencils-specific JSON encoder and serializer as used in the Database class.
+"""
+
+import numpy as np
+import tempfile
+
+from pystencils.config import CreateKernelConfig
+from pystencils import Target, Field
+from pystencils.runhelper.db import Database, PystencilsJsonSerializer
+
+
+def test_json_serializer():
+
+    dtype = np.float32
+
+    index_arr = np.zeros((3,), dtype=dtype)
+    indexed_field = Field.create_from_numpy_array('index', index_arr)
+
+    # create pystencils config
+    config = CreateKernelConfig(target=Target.CPU, function_name='dummy_config', data_type=dtype,
+                                index_fields=[indexed_field])
+
+    # create dummy database
+    temp_dir = tempfile.TemporaryDirectory()
+    db = Database(file=temp_dir.name, serializer_info=('pystencils_serializer', PystencilsJsonSerializer))
+
+    db.save(params={'config': config}, result={'test': 'dummy'})
diff --git a/pystencils_tests/test_loop_cutting.py b/pystencils_tests/test_loop_cutting.py
index a21acb50aed510852b21e3d634c7c1e6aa66c610..0372c57398f9dcf4493baf8153d5f3fd7faf27e2 100644
--- a/pystencils_tests/test_loop_cutting.py
+++ b/pystencils_tests/test_loop_cutting.py
@@ -29,10 +29,6 @@ def offsets_in_plane(normal_plane, offset_int, dimension):
     return result
 
 
-# TODO this fails because the condition of the Conditional is not simplified anymore:
-# TODO: ---> transformation.simplify_conditionals
-# TODO this should be fixed
-@pytest.mark.xfail
 def test_staggered_iteration():
     dim = 2
     f_arr = np.arange(5**dim).reshape([5]*dim).astype(np.float64)
diff --git a/pystencils_tests/test_math_functions.py b/pystencils_tests/test_math_functions.py
index eacb490e9d84c8a47be7b16750951b7924adc80f..1fd39378847e6ec391c0e09ccfd56fac2a4e2e95 100644
--- a/pystencils_tests/test_math_functions.py
+++ b/pystencils_tests/test_math_functions.py
@@ -10,7 +10,7 @@ from pystencils.fast_approximation import fast_division
 @pytest.mark.parametrize('target', [ps.Target.CPU, ps.Target.GPU])
 def test_two_arguments(dtype, func, target):
     if target == ps.Target.GPU:
-        pytest.importorskip("pycuda")
+        pytest.importorskip("cupy")
     dh = ps.create_data_handling(domain_size=(10, 10), periodicity=True, default_target=target)
 
     x = dh.add_array('x', values_per_cell=1, dtype=dtype)
@@ -43,7 +43,7 @@ def test_two_arguments(dtype, func, target):
 @pytest.mark.parametrize('target', [ps.Target.CPU, ps.Target.GPU])
 def test_single_arguments(dtype, func, target):
     if target == ps.Target.GPU:
-        pytest.importorskip("pycuda")
+        pytest.importorskip("cupy")
     dh = ps.create_data_handling(domain_size=(10, 10), periodicity=True, default_target=target)
 
     x = dh.add_array('x', values_per_cell=1, dtype=dtype)
diff --git a/pystencils_tests/test_modulo.py b/pystencils_tests/test_modulo.py
index 7f81ab6448fe8d326d618561b1e147e60e5faea5..959daddb9d8cbc01d6db0fed65c9a411746fd5a9 100644
--- a/pystencils_tests/test_modulo.py
+++ b/pystencils_tests/test_modulo.py
@@ -9,7 +9,7 @@ from pystencils.astnodes import LoopOverCoordinate, Conditional, Block, SympyAss
 @pytest.mark.parametrize('iteration_slice', [False, True])
 def test_mod(target, iteration_slice):
     if target == ps.Target.GPU:
-        pytest.importorskip("pycuda")
+        pytest.importorskip("cupy")
     dh = ps.create_data_handling(domain_size=(5, 5), periodicity=True, default_target=ps.Target.CPU)
 
     loop_ctrs = [LoopOverCoordinate.get_loop_counter_symbol(i) for i in range(dh.dim)]
diff --git a/pystencils_tests/test_phasefield_dentritic_3D.ipynb b/pystencils_tests/test_phasefield_dentritic_3D.ipynb
index a9a51773e9e1dbbd487bea43b8d59005773c8f1b..41fddaeedea228b352d7f21a8e08f0188eaee379 100644
--- a/pystencils_tests/test_phasefield_dentritic_3D.ipynb
+++ b/pystencils_tests/test_phasefield_dentritic_3D.ipynb
@@ -2,17 +2,28 @@
  "cells": [
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 1,
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "<module 'cupy' from '/home/markus/.local/lib/python3.11/site-packages/cupy/__init__.py'>"
+      ]
+     },
+     "execution_count": 1,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
    "source": [
     "import pytest\n",
-    "pytest.importorskip('pycuda')"
+    "pytest.importorskip('cupy')"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 1,
+   "execution_count": 2,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -32,7 +43,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 2,
+   "execution_count": 3,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -48,7 +59,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 3,
+   "execution_count": 4,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -78,38 +89,24 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 4,
+   "execution_count": 5,
    "metadata": {},
    "outputs": [
     {
      "data": {
       "text/latex": [
-       "$\\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)$"
+       "$\\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                              \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",
-       ") ⎠ ⎠    ⎠"
+       "               ⎛  ⎛                            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]) ⎠ ⎠    ⎠"
       ]
      },
-     "execution_count": 4,
+     "execution_count": 5,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -127,7 +124,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 5,
+   "execution_count": 6,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -137,7 +134,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 6,
+   "execution_count": 7,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -153,7 +150,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 7,
+   "execution_count": 8,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -162,21 +159,20 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 8,
+   "execution_count": 9,
    "metadata": {},
    "outputs": [
     {
      "data": {
-      "image/png": "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\n",
+      "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, δ:\n",
-       " 0.3, θ₀: 0.2, κ: 1.8, τ: 0.0003}"
+       "{π: 3.14159265358979, T_eq: 1.0, \\bar{\\epsilon}: 0.01, j: 6, α: 0.9, γ: 10, δ: 0.3, θ₀: 0.2, κ: 1.8, τ: 0.0003}"
       ]
      },
-     "execution_count": 8,
+     "execution_count": 9,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -199,7 +195,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 9,
+   "execution_count": 10,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -219,21 +215,20 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 10,
+   "execution_count": 11,
    "metadata": {},
    "outputs": [
     {
      "data": {
       "text/latex": [
-       "$\\displaystyle \\left[ {{T}_{(0,0,0)}} \\leftarrow 0.0111111111111111 {{T}_{(-1,0,0)}} + 0.0111111111111111 {{T}_{(0,-1,0)}} + 0.0111111111111111 {{T}_{(0,0,-1)}} + 0.933333333333333 {{T}_{(0,0,0)}} + 0.0111111111111111 {{T}_{(0,0,1)}} + 0.0111111111111111 {{T}_{(0,1,0)}} + 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_W + 0.0111111111111111⋅T_S + 0.0111111111111111⋅T\n",
-       "_B + 0.933333333333333⋅T_C + 0.0111111111111111⋅T_T + 0.0111111111111111⋅T_N +\n",
-       " 0.0111111111111111⋅T_E + 1.8e-5⋅phidelta_C]"
+       "[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]"
       ]
      },
-     "execution_count": 10,
+     "execution_count": 11,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -244,7 +239,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 11,
+   "execution_count": 12,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -254,7 +249,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 12,
+   "execution_count": 13,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -296,7 +291,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 13,
+   "execution_count": 14,
    "metadata": {},
    "outputs": [
     {
@@ -313,14 +308,12 @@
     },
     {
      "data": {
-      "image/png": "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\n",
+      "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/+8Icj9VlTU6N5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GzZs0OTJk9XU1KRt27ZZ2z/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 1152x432 with 6 Axes>"
+       "<Figure size 1600x600 with 6 Axes>"
       ]
      },
-     "metadata": {
-      "needs_background": "light"
-     },
+     "metadata": {},
      "output_type": "display_data"
     }
    ],
@@ -334,7 +327,172 @@
    "cell_type": "code",
    "execution_count": null,
    "metadata": {},
-   "outputs": [],
+   "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"
+     ]
+    }
+   ],
    "source": [
     "if 'is_test_run' in globals():\n",
     "    time_loop(2)\n",
@@ -355,7 +513,7 @@
  ],
  "metadata": {
   "kernelspec": {
-   "display_name": "Python 3",
+   "display_name": "Python 3 (ipykernel)",
    "language": "python",
    "name": "python3"
   },
@@ -369,9 +527,9 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.8.5"
+   "version": "3.11.0rc1"
   }
  },
  "nbformat": 4,
  "nbformat_minor": 2
-}
\ No newline at end of file
+}
diff --git a/pystencils_tests/test_print_infinity.py b/pystencils_tests/test_print_infinity.py
index c4cbb0a88ab4684363ee4ee21e5d38052a448d47..62c83e68a8e87ab01a702608b3d7e53884511255 100644
--- a/pystencils_tests/test_print_infinity.py
+++ b/pystencils_tests/test_print_infinity.py
@@ -18,7 +18,7 @@ def test_print_infinity(type, negative, target):
     ast = pystencils.create_kernel(assignment, data_type=type, target=target)
 
     if target == pystencils.Target.GPU:
-        pytest.importorskip('pycuda')
+        pytest.importorskip('cupy')
 
     ast.compile()
 
diff --git a/pystencils_tests/test_random.py b/pystencils_tests/test_random.py
index 535d62ac99664cf1ca3bb2872dde8d5838c91210..77d06b5133d21cfe3e3742703a6c4eb0106221be 100644
--- a/pystencils_tests/test_random.py
+++ b/pystencils_tests/test_random.py
@@ -29,7 +29,7 @@ if get_compiler_config()['os'] == 'windows':
 @pytest.mark.parametrize('dtype', ('float', 'double'))
 def test_rng(target, rng, precision, dtype, t=124, offsets=(0, 0), keys=(0, 0), offset_values=None):
     if target == Target.GPU:
-        pytest.importorskip('pycuda')
+        pytest.importorskip('cupy')
     if instruction_sets and {'neon', 'sve', 'vsx', 'rvv'}.intersection(instruction_sets) and rng == 'aesni':
         pytest.xfail('AES not yet implemented for this architecture')
     if rng == 'aesni' and len(keys) == 2:
diff --git a/pystencils_tests/test_simplifications.py b/pystencils_tests/test_simplifications.py
index ef8ae7ce61a07c992d09807933061c73e61484a1..61d009d03bd341032896076b65fabcb3630859d5 100644
--- a/pystencils_tests/test_simplifications.py
+++ b/pystencils_tests/test_simplifications.py
@@ -148,7 +148,7 @@ def test_add_subexpressions_for_field_reads():
 @pytest.mark.skipif((vs.major, vs.minor, vs.micro) == (3, 8, 2), reason="does not work on python 3.8.2 for some reason")
 def test_sympy_optimizations(target, dtype):
     if target == ps.Target.GPU:
-        pytest.importorskip("pycuda")
+        pytest.importorskip("cupy")
     src, dst = ps.fields(f'src, dst:  {dtype}[2d]')
 
     assignments = ps.AssignmentCollection({
@@ -172,7 +172,7 @@ def test_sympy_optimizations(target, dtype):
 @pytest.mark.skipif((vs.major, vs.minor, vs.micro) == (3, 8, 2), reason="does not work on python 3.8.2 for some reason")
 def test_evaluate_constant_terms(target, simplification):
     if target == ps.Target.GPU:
-        pytest.importorskip("pycuda")
+        pytest.importorskip("cupy")
     src, dst = ps.fields('src, dst:  float32[2d]')
 
     # cos of a number will always be simplified
diff --git a/setup.py b/setup.py
index 62282470e3713cb94da0b4e7fcdf34a7b761489d..31392a747a564de22b4224e1d02e6ad1078fc1aa 100644
--- a/setup.py
+++ b/setup.py
@@ -112,7 +112,7 @@ setuptools.setup(name='pystencils',
                      "Source Code": "https://i10git.cs.fau.de/pycodegen/pystencils",
                  },
                  extras_require={
-                     'gpu': ['pycuda'],
+                     'gpu': ['cupy'],
                      'alltrafos': ['islpy', 'py-cpuinfo'],
                      'bench_db': ['blitzdb', 'pymongo', 'pandas'],
                      'interactive': ['matplotlib', 'ipy_table', 'imageio', 'jupyter', 'pyevtk', 'rich', 'graphviz'],