diff --git a/.gitignore b/.gitignore
index b0d177b2c5a25b14ea67d08f0c82c477fec2a86b..6341921ea26312c8969f80b87184cc8a0406d84b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
 *.out
+*.exe
 .DS_Store
 .vscode
\ No newline at end of file
diff --git a/Makefile b/Makefile
index 03edbd7b60e38c58781de7bb3aec6ce6e3ae33e8..c1b62e4270344182e51a344c8146d0610d0cec7d 100644
--- a/Makefile
+++ b/Makefile
@@ -1,8 +1,8 @@
-SRCS := test.c fx_s1615_double.c
+SRCS := test.c fx_s1615_double.c fx_1615_longlong.c
 OBJS := $(SRCS:.c=.o)
 CC := gcc	# pre-defined macro can be redefined!
 #CFLAGS = -c -Wall -g
-CFLAGS = -c -DTEST -Wall 
+CFLAGS = -c -DTEST -Wall
 
 test : $(OBJS)
 	$(CC) -o $@ $^ -lm
@@ -12,48 +12,10 @@ test : $(OBJS)
 	$(CC) $(CFLAGS) $< -lm
 
 # dummy target - no dependency 
-clean : 
+clean :
 	-rm $(OBJS)
 	-rm test
 
 # dummy target - no dependency 
 dep :
 	gccmakedep ${SRCS}
-
-
-# DO NOT DELETE
-test.o: test.c /usr/include/stdc-predef.h /usr/include/stdio.h \
- /usr/include/features.h /usr/include/arm-linux-gnueabihf/sys/cdefs.h \
- /usr/include/arm-linux-gnueabihf/bits/wordsize.h \
- /usr/include/arm-linux-gnueabihf/gnu/stubs.h \
- /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \
- /usr/lib/gcc/arm-linux-gnueabihf/6/include/stddef.h \
- /usr/include/arm-linux-gnueabihf/bits/types.h \
- /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \
- /usr/include/_G_config.h /usr/include/wchar.h \
- /usr/lib/gcc/arm-linux-gnueabihf/6/include/stdarg.h \
- /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \
- /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h fx_s1615_double.h \
- /usr/include/time.h /usr/include/arm-linux-gnueabihf/bits/time.h \
- /usr/include/xlocale.h \
- /usr/lib/gcc/arm-linux-gnueabihf/6/include-fixed/limits.h \
- /usr/lib/gcc/arm-linux-gnueabihf/6/include-fixed/syslimits.h \
- /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \
- /usr/include/arm-linux-gnueabihf/bits/local_lim.h \
- /usr/include/linux/limits.h \
- /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h
-fx_s1615_double.o: fx_s1615_double.c /usr/include/stdc-predef.h \
- /usr/include/math.h /usr/include/features.h \
- /usr/include/arm-linux-gnueabihf/sys/cdefs.h \
- /usr/include/arm-linux-gnueabihf/bits/wordsize.h \
- /usr/include/arm-linux-gnueabihf/gnu/stubs.h \
- /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \
- /usr/include/arm-linux-gnueabihf/bits/math-vector.h \
- /usr/include/arm-linux-gnueabihf/bits/libm-simd-decl-stubs.h \
- /usr/include/arm-linux-gnueabihf/bits/huge_val.h \
- /usr/include/arm-linux-gnueabihf/bits/huge_valf.h \
- /usr/include/arm-linux-gnueabihf/bits/huge_vall.h \
- /usr/include/arm-linux-gnueabihf/bits/inf.h \
- /usr/include/arm-linux-gnueabihf/bits/nan.h \
- /usr/include/arm-linux-gnueabihf/bits/mathdef.h \
- /usr/include/arm-linux-gnueabihf/bits/mathcalls.h fx_s1615_double.h
diff --git a/images/O2-optimization-assembly.png b/images/O2-optimization-assembly.png
new file mode 100644
index 0000000000000000000000000000000000000000..07b5bffef379a772f7707cf1a48f14f61961c017
Binary files /dev/null and b/images/O2-optimization-assembly.png differ
diff --git a/test.exe b/test.exe
deleted file mode 100644
index 6513255c4da358f01b724f53527a9b45297a0106..0000000000000000000000000000000000000000
Binary files a/test.exe and /dev/null differ