+ // calculate 1337 a slowly
+
+#if defined(__x86_64__)
+
+ // original version
+ mov rcx, rax // c = a
+ shl rcx, 2 // c = 4 a
+ add rcx, rax // c = 5 a
+ shl rcx, 3 // c = 40 a
+ add rcx, rax // c = 41 a
+ shl rcx, 1 // c = 82 a
+ add rcx, rax // c = 83 a
+ shl rcx, 1 // c = 166 a
+ add rcx, rax // c = 167 a
+ shl rcx, 3 // c = 1336 a
+ add rcx, rax // c = 1337 a
+
+ // a quick way
+ lea rdx, [2*rax + rax] // t = 3 a
+ shl rdx, 6 // t = 192 a
+ sub rdx, rax // t = 191 a
+ lea rbx, [8*rdx] // b = 1528 a
+ sub rbx, rdx // b = 1337 a
+
+#elif defined(__i386__)
+
+ // original version
+ mov ecx, eax // c = a
+ shl ecx, 2 // c = 4 a
+ add ecx, eax // c = 5 a
+ shl ecx, 3 // c = 40 a
+ add ecx, eax // c = 41 a
+ shl ecx, 1 // c = 82 a
+ add ecx, eax // c = 83 a
+ shl ecx, 1 // c = 166 a
+ add ecx, eax // c = 167 a
+ shl ecx, 3 // c = 1336 a
+ add ecx, eax // c = 1337 a
+
+ // a quick way
+ lea edx, [2*eax + eax] // t = 3 a
+ shl edx, 6 // t = 192 a
+ sub edx, eax // t = 191 a
+ lea ebx, [8*edx] // b = 1528 a
+ sub ebx, edx // b = 1337 a
+
+#elif defined(__arm__)
+
+ // original version, ish
+ add r2, r0, r0, lsl #2 // c = 5 a
+ add r2, r0, r2, lsl #3 // c = 41 a
+ add r2, r0, r2, lsl #1 // c = 83 a
+ add r2, r0, r2, lsl #1 // c = 167 a
+ add r2, r0, r2, lsl #3 // c = 1337 a
+
+ // quicker way
+ add r1, r0, r0, lsl #1 // b = 3 a
+ rsb r1, r0, r1, lsl #6 // b = 191 a
+ rsb r1, r1, r1, lsl #3 // b = 1337 a
+
+#elif defined(__aarch64__)
+
+ // original version, ish
+ add x2, x0, x0, lsl #2 // c = 5 a
+ add x2, x0, x2, lsl #3 // c = 41 a
+ add x2, x0, x2, lsl #1 // c = 83 a
+ add x2, x0, x2, lsl #1 // c = 167 a
+ add x2, x0, x2, lsl #3 // c = 1337 a
+
+ // sleazy because no rsb
+ add x1, x0, x0, lsl #1 // b = 3 a
+ sub x1, x0, x1, lsl #6 // b = -191 a
+ sub x1, x1, x1, lsl #3 // b = 1337 a
+
+#else
+ notimpl
+#endif