diff --git a/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/_mem_offset.jinja b/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/_mem_offset.jinja
new file mode 100644
index 0000000000000000000000000000000000000000..4f44773ae901606c0ace5fe9af39099acf722498
--- /dev/null
+++ b/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/_mem_offset.jinja
@@ -0,0 +1,3 @@
+{% for outidx in range(nb_out) -%}
+{{out_cdtype[outidx]}}* {{out_name[outidx]}} = ({{out_cdtype[outidx]}}*) mem + {{out_name[outidx]|upper}}_OFFSET;
+{% endfor %}
diff --git a/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/add.jinja b/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/add.jinja
index 8f0d486457f07102695f38433243784f756feb6c..993cdda6bb2661be89993c076d1f8f49f93c71a8 100644
--- a/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/add.jinja
+++ b/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/add.jinja
@@ -1,6 +1,5 @@
-{% if not is_output %}
-{{out_cdtype[0]}}* {{out_name[0]}} = ({{out_cdtype[0]}}*) mem + {{out_name[0]|upper}}_OFFSET;
-{% endif %}
+{% include "./_mem_offset.jinja" %}
+
 aidge_add_float32(
     {{in_name[0]}},
     {{in_name[1]}},
diff --git a/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/atan.jinja b/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/atan.jinja
index 3bd5ea111bddf2f4cca2fcc401fc3b5bb3256833..341b0680c7d858142579002b6c35a61b0d132151 100644
--- a/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/atan.jinja
+++ b/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/atan.jinja
@@ -1,4 +1,3 @@
-{% if not is_output %}
-{{out_cdtype[0]}}* {{out_name[0]}} = ({{out_cdtype[0]}}*) mem + {{out_name[0]|upper}}_OFFSET;
-{% endif %}
+{% include "./_mem_offset.jinja" %}
+
 aidge_atan <{{name|upper}}_OUTPUTS_SIZE> ({{in_name[0]}}, {{out_name[0]}});
diff --git a/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/concat.jinja b/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/concat.jinja
index 82f6106ce1ca5bac47cba48ceb66814a651d029a..e30856e2508b74602880258eb3d8354f5bb330e6 100644
--- a/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/concat.jinja
+++ b/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/concat.jinja
@@ -1,6 +1,5 @@
-{% if not is_output %}
-{{out_cdtype[0]}}* {{out_name[0]}} = ({{out_cdtype[0]}}*) mem + {{out_name[0]|upper}}_OFFSET;
-{% endif %}
+{% include "./_mem_offset.jinja" %}
+
 
 float* {{ name|upper }}_INPUTS[] = {
     {%- for i in range(nb_in) -%}
diff --git a/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/conv_kernel.jinja b/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/conv_kernel.jinja
index 3b853ca1eef4d37027fa9aa70e002d166a2f6a13..d0d223fc17b1e667d2f5893b7861d06854c84690 100644
--- a/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/conv_kernel.jinja
+++ b/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/conv_kernel.jinja
@@ -1,6 +1,5 @@
-{% if not is_output %}
-{{out_cdtype[0]}}* {{out_name[0]}} = ({{out_cdtype[0]}}*) mem + {{out_name[0]|upper}}_OFFSET;
-{% endif %}
+{% include "./_mem_offset.jinja" %}
+
 N2D2_Export::convcellPropagate<{{ in_name[0]|upper }}_NB_CHANNELS,
                                {{ in_name[0]|upper }}_IN_HEIGHT,
                                {{ in_name[0]|upper }}_IN_WIDTH,
diff --git a/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/fc_kernel.jinja b/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/fc_kernel.jinja
index 6511320fe5e729f35c8d725e80b9f9fde6d1b199..a444da2d018a0d07a256d670df48cb5a280bc6b9 100644
--- a/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/fc_kernel.jinja
+++ b/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/fc_kernel.jinja
@@ -1,6 +1,5 @@
-{% if not is_output %}
-{{out_cdtype[0]}}* {{out_name[0]}} = ({{out_cdtype[0]}}*) mem + {{out_name[0]|upper}}_OFFSET;
-{% endif %}
+{% include "./_mem_offset.jinja" %}
+
 N2D2_Export::fccellPropagate<{{ in_name[0] | upper }}_NB_CHANNELS,
                              {{ in_name[0] | upper }}_IN_HEIGHT,
                              {{ in_name[0] | upper }}_IN_WIDTH,
diff --git a/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/mul.jinja b/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/mul.jinja
index 056746e13f1b33bebfd4d626ccc346aedd20b3f8..a9d67c9b31cadc76d8eef4368ff8b62e61362397 100644
--- a/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/mul.jinja
+++ b/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/mul.jinja
@@ -1,6 +1,5 @@
-{% if not is_output %}
-{{out_cdtype[0]}}* {{out_name[0]}} = ({{out_cdtype[0]}}*) mem + {{out_name[0]|upper}}_OFFSET;
-{% endif %}
+{% include "./_mem_offset.jinja" %}
+
 aidge_mul_float32(
     {{in_name[0]}},
     {{in_name[1]}},
diff --git a/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/pool_kernel.jinja b/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/pool_kernel.jinja
index fe0fa34ed894b6aae9a386249df96e4b22079e21..aba4899919b7c701b315ec19cf27a2c5ab368a96 100644
--- a/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/pool_kernel.jinja
+++ b/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/pool_kernel.jinja
@@ -1,6 +1,5 @@
-{% if not is_output %}
-{{out_cdtype[0]}}* {{out_name[0]}} = ({{out_cdtype[0]}}*) mem + {{out_name[0]|upper}}_OFFSET;
-{% endif %}
+{% include "./_mem_offset.jinja" %}
+
 N2D2_Export::poolcellPropagate<{{ in_name[0]|upper }}_NB_CHANNELS,
                                {{ in_name[0]|upper }}_IN_HEIGHT,
                                {{ in_name[0]|upper }}_IN_WIDTH,
diff --git a/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/relu.jinja b/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/relu.jinja
index 13a8c6145dbf40c83f454feb1906398aa09f72d0..ec7f44b19da88b59503d9cd22ccfbf9d59d36e46 100644
--- a/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/relu.jinja
+++ b/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/relu.jinja
@@ -1,4 +1,3 @@
-{% if not is_output %}
-{{out_cdtype[0]}}* {{out_name[0]}} = ({{out_cdtype[0]}}*) mem + {{out_name[0]|upper}}_OFFSET;
-{% endif %}
+{% include "./_mem_offset.jinja" %}
+
 aidge_relu_float32({{in_name[0]}}, {{out_name[0]}},  {{name|upper}}_INPUTS_SIZE);
diff --git a/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/slice.jinja b/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/slice.jinja
index 70b8b72ca8a69154907394a5273e3925f7075e2d..02b21292cd7ffc97e9a3e5dca53c484a2e75f072 100644
--- a/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/slice.jinja
+++ b/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/slice.jinja
@@ -1,4 +1,3 @@
-{% if not is_output %}
-{{out_cdtype[0]}}* {{out_name[0]}} = ({{out_cdtype[0]}}*) mem + {{out_name[0]|upper}}_OFFSET;
-{% endif %}
+{% include "./_mem_offset.jinja" %}
+
 aidge_slice_float32 ({{in_name[0]}}, {{out_name[0]}}, {{name|upper}}_AXES, {{name|upper}}_STARTS, {{name|upper}}_ENDS, {{name|upper}}_NB_AXES, {{name|upper}}_NB_CHANNELS);
diff --git a/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/sub.jinja b/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/sub.jinja
index 1bf7fc6347666bef42f3504b4c34ca0f7f19229e..b86b41c2631af080f59b163dbe59c9efe68dd548 100644
--- a/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/sub.jinja
+++ b/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/sub.jinja
@@ -1,5 +1,4 @@
-{% if not is_output %}
-{{out_cdtype[0]}}* {{out_name[0]}} = ({{out_cdtype[0]}}*) mem + {{out_name[0]|upper}}_OFFSET;
-{% endif %}
+{% include "./_mem_offset.jinja" %}
+
 
 aidge_sub_float32({{in_name[0]}}, {{in_name[1]}}, {{out_name[0]}}, {{name|upper}}_OUTPUTS_SIZE);