diff --git a/2.png b/2.png
deleted file mode 100644
index 24b900339dda480fc8be86d08cbd153dc1bd03d3..0000000000000000000000000000000000000000
Binary files a/2.png and /dev/null differ
diff --git a/3.png b/3.png
deleted file mode 100644
index d9b57852e5bbf77144214638e12a5d074c19fea8..0000000000000000000000000000000000000000
Binary files a/3.png and /dev/null differ
diff --git a/main b/main
index eb6235ed30c60b3dd849cb497341441e5081cc07..1d2e62521110034b338f8b8ba18520952eef127e 100755
Binary files a/main and b/main differ
diff --git a/main.cpp b/main.cpp
index cc456e34b61cee1bf8a5cbde55d3096f7732cb23..7e19a07ddcf1d4c359faf74d04e6b2d1432dceda 100644
--- a/main.cpp
+++ b/main.cpp
@@ -56,13 +56,13 @@ int main()
 		std::string filename2 = "ray_tracing_reflexion.png";
 		std::string filename3 = "ray_tracing_shading.png";
 		scene.render(width, height, 1080, 1080, nb_shapes, (char *) filename.c_str(),2,false);
-		scene.render(width, height, 1080, 1080, nb_shapes, (char *) filename2.c_str(),6,false);
-		scene.render(width, height, 1080, 1080, nb_shapes, (char *) filename3.c_str(),6,true);
+		scene.render(width, height, 1080, 1080, nb_shapes, (char *) filename2.c_str(),5,false);
+		scene.render(width, height, 1080, 1080, nb_shapes, (char *) filename3.c_str(),5,true);
 		std::cout << "Image sauvegardée" << std::endl;
 
 		//----------LIBERATION DE LA MEMOIRE----------
 		for (int i=0; i<nb_shapes; i++)
-			delete [] shapes[i];
+			delete shapes[i];
 
 
 	}
diff --git a/ray_tracing_reflexion.png b/ray_tracing_reflexion.png
index 994bbabce981f991ca928ce687613f7293768118..edac24bd224a9270b85b8594e70c723b8cc57506 100644
Binary files a/ray_tracing_reflexion.png and b/ray_tracing_reflexion.png differ
diff --git a/ray_tracing_shading.png b/ray_tracing_shading.png
index f450a84d5be5328554e67d04cb16eb231d22974d..8ff423a6768c370e4e7cea43f6f5ce6557e531eb 100644
Binary files a/ray_tracing_shading.png and b/ray_tracing_shading.png differ
diff --git a/scene.cpp b/scene.cpp
index 8a6308902c5d2aee9294f59497cf9942456a8c98..78a9e64ebae9af6393ab2e13570087b6c5010c07 100644
--- a/scene.cpp
+++ b/scene.cpp
@@ -95,6 +95,7 @@ void Scene::render(int width, int height, int nb_pixel_row, int nb_pixel_col, in
 	Vector3f N;
 
 
+
 	for (int i=nb_pixel_col-1; i>=0; i--) //on remplit l'image par le bas à droite
 	{
 		for (int j=0; j<nb_pixel_row; j++)
@@ -183,18 +184,29 @@ void Scene::render(int width, int height, int nb_pixel_row, int nb_pixel_col, in
 					}
 				}
 			}
+
+			for (int r=0; r<ref_max;r++)
+				delete ray[r];	
 		}
 
+
 		png_write_row(png_ptr, row);
 
-		for (int r=0; r<ref_max;r++)
-			delete[] ray[r];
 	}
 
+	
+	png_free(png_ptr,row);
+
 	png_write_end(png_ptr, NULL);
 
+	png_destroy_write_struct(&png_ptr, &info_ptr);
+
+	
+
 
 	fclose(f);
+
+	f=NULL;
 }
 
 
@@ -245,6 +257,7 @@ void Scene::reflected_rays(Ray3f **ray, int nb_shapes, int ref_max,  float* shin
 
 	for(int r=0;r<(ref_max-1);r++)
 	{
+		Ray3f current_Ray=Ray3f(Vector3f(0,0,0),Vector3f(0,0,0));
 		min_dist=1000;
 		for (int k=0; k<nb_shapes; k++)
 		{
@@ -259,13 +272,14 @@ void Scene::reflected_rays(Ray3f **ray, int nb_shapes, int ref_max,  float* shin
 				{
 					min_dist = hit_dist;
 
-					ray[r+1] = new Ray3f(reflected);
+					current_Ray =Ray3f(reflected);
 
 					shine[r] = shapes_[k]->matter().shiness();
 	
 				}
 			}
 		}
+		ray[r+1] =new Ray3f(current_Ray);
 	}
 }
 
diff --git a/valgrind-out.txt b/valgrind-out.txt
index 3e77f13a883b44d6985fb0ed750c47dcaee6fa3f..99c32f278638bb5870c8aa6b0a13d8c4a76cf22a 100644
--- a/valgrind-out.txt
+++ b/valgrind-out.txt
@@ -1,962 +1,148 @@
-<<<<<<< HEAD
-==13027== Memcheck, a memory error detector
-==13027== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
-==13027== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info
-==13027== Command: ./main
-==13027== Parent PID: 12751
-==13027== 
---13027-- 
---13027-- Valgrind options:
---13027--    --leak-check=full
---13027--    --show-leak-kinds=all
---13027--    --track-origins=yes
---13027--    --verbose
---13027--    --log-file=valgrind-out.txt
---13027-- Contents of /proc/version:
---13027--   Linux version 4.15.0-48-generic (buildd@lgw01-amd64-036) (gcc version 7.3.0 (Ubuntu 7.3.0-16ubuntu3)) #51-Ubuntu SMP Wed Apr 3 08:28:49 UTC 2019
---13027-- 
---13027-- Arch and hwcaps: AMD64, LittleEndian, amd64-cx16-lzcnt-rdtscp-sse3-avx-avx2-bmi
---13027-- Page sizes: currently 4096, max supported 4096
---13027-- Valgrind library directory: /usr/lib/valgrind
---13027-- Reading syms from /home/acheroufkebir/PAP/pap_ray_tracing_final/main
---13027-- Reading syms from /lib/x86_64-linux-gnu/ld-2.27.so
---13027--   Considering /lib/x86_64-linux-gnu/ld-2.27.so ..
---13027--   .. CRC mismatch (computed 1b7c895e wanted 2943108a)
---13027--   Considering /usr/lib/debug/lib/x86_64-linux-gnu/ld-2.27.so ..
---13027--   .. CRC is valid
---13027-- Reading syms from /usr/lib/valgrind/memcheck-amd64-linux
---13027--   Considering /usr/lib/valgrind/memcheck-amd64-linux ..
---13027--   .. CRC mismatch (computed 41ddb025 wanted 9972f546)
---13027--    object doesn't have a symbol table
---13027--    object doesn't have a dynamic symbol table
---13027-- Scheduler: using generic scheduler lock implementation.
---13027-- Reading suppressions file: /usr/lib/valgrind/default.supp
-==13027== embedded gdbserver: reading from /tmp/vgdb-pipe-from-vgdb-to-13027-by-acheroufkebir-on-???
-==13027== embedded gdbserver: writing to   /tmp/vgdb-pipe-to-vgdb-from-13027-by-acheroufkebir-on-???
-==13027== embedded gdbserver: shared mem   /tmp/vgdb-pipe-shared-mem-vgdb-13027-by-acheroufkebir-on-???
-==13027== 
-==13027== TO CONTROL THIS PROCESS USING vgdb (which you probably
-==13027== don't want to do, unless you know exactly what you're doing,
-==13027== or are doing some strange experiment):
-==13027==   /usr/lib/valgrind/../../bin/vgdb --pid=13027 ...command...
-==13027== 
-==13027== TO DEBUG THIS PROCESS USING GDB: start GDB like this
-==13027==   /path/to/gdb ./main
-==13027== and then give GDB the following command
-==13027==   target remote | /usr/lib/valgrind/../../bin/vgdb --pid=13027
-==13027== --pid is optional if only one valgrind process is running
-==13027== 
---13027-- REDIR: 0x401f2f0 (ld-linux-x86-64.so.2:strlen) redirected to 0x580608c1 (???)
---13027-- REDIR: 0x401f0d0 (ld-linux-x86-64.so.2:index) redirected to 0x580608db (???)
---13027-- Reading syms from /usr/lib/valgrind/vgpreload_core-amd64-linux.so
---13027--   Considering /usr/lib/valgrind/vgpreload_core-amd64-linux.so ..
---13027--   .. CRC mismatch (computed 50df1b30 wanted 4800a4cf)
---13027--    object doesn't have a symbol table
---13027-- Reading syms from /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so
---13027--   Considering /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so ..
---13027--   .. CRC mismatch (computed f893b962 wanted 95ee359e)
---13027--    object doesn't have a symbol table
-==13027== WARNING: new redirection conflicts with existing -- ignoring it
---13027--     old: 0x0401f2f0 (strlen              ) R-> (0000.0) 0x580608c1 ???
---13027--     new: 0x0401f2f0 (strlen              ) R-> (2007.0) 0x04c32db0 strlen
---13027-- REDIR: 0x401d360 (ld-linux-x86-64.so.2:strcmp) redirected to 0x4c33ee0 (strcmp)
---13027-- REDIR: 0x401f830 (ld-linux-x86-64.so.2:mempcpy) redirected to 0x4c374f0 (mempcpy)
---13027-- Reading syms from /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0
---13027--    object doesn't have a symbol table
---13027-- Reading syms from /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25
---13027--    object doesn't have a symbol table
---13027-- Reading syms from /lib/x86_64-linux-gnu/libm-2.27.so
---13027--   Considering /lib/x86_64-linux-gnu/libm-2.27.so ..
---13027--   .. CRC mismatch (computed 7feae033 wanted b29b2508)
---13027--   Considering /usr/lib/debug/lib/x86_64-linux-gnu/libm-2.27.so ..
---13027--   .. CRC is valid
---13027-- Reading syms from /lib/x86_64-linux-gnu/libgcc_s.so.1
---13027--    object doesn't have a symbol table
---13027-- Reading syms from /lib/x86_64-linux-gnu/libc-2.27.so
---13027--   Considering /lib/x86_64-linux-gnu/libc-2.27.so ..
---13027--   .. CRC mismatch (computed b1c74187 wanted 042cc048)
---13027--   Considering /usr/lib/debug/lib/x86_64-linux-gnu/libc-2.27.so ..
---13027--   .. CRC is valid
---13027-- Reading syms from /lib/x86_64-linux-gnu/libz.so.1.2.11
---13027--    object doesn't have a symbol table
---13027-- REDIR: 0x5a4bc70 (libc.so.6:memmove) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---13027-- REDIR: 0x5a4ad40 (libc.so.6:strncpy) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---13027-- REDIR: 0x5a4bf50 (libc.so.6:strcasecmp) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---13027-- REDIR: 0x5a4a790 (libc.so.6:strcat) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---13027-- REDIR: 0x5a4ad70 (libc.so.6:rindex) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---13027-- REDIR: 0x5a4d7c0 (libc.so.6:rawmemchr) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---13027-- REDIR: 0x5a4bde0 (libc.so.6:mempcpy) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---13027-- REDIR: 0x5a4bc10 (libc.so.6:bcmp) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---13027-- REDIR: 0x5a4ad00 (libc.so.6:strncmp) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---13027-- REDIR: 0x5a4a800 (libc.so.6:strcmp) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---13027-- REDIR: 0x5a4bd40 (libc.so.6:memset) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---13027-- REDIR: 0x5a690f0 (libc.so.6:wcschr) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---13027-- REDIR: 0x5a4aca0 (libc.so.6:strnlen) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---13027-- REDIR: 0x5a4a870 (libc.so.6:strcspn) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---13027-- REDIR: 0x5a4bfa0 (libc.so.6:strncasecmp) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---13027-- REDIR: 0x5a4a840 (libc.so.6:strcpy) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---13027-- REDIR: 0x5a4c0e0 (libc.so.6:memcpy@@GLIBC_2.14) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---13027-- REDIR: 0x5a4ada0 (libc.so.6:strpbrk) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---13027-- REDIR: 0x5a4a7c0 (libc.so.6:index) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---13027-- REDIR: 0x5a4ac70 (libc.so.6:strlen) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---13027-- REDIR: 0x5a556c0 (libc.so.6:memrchr) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---13027-- REDIR: 0x5a4bff0 (libc.so.6:strcasecmp_l) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---13027-- REDIR: 0x5a4bbe0 (libc.so.6:memchr) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---13027-- REDIR: 0x5a69eb0 (libc.so.6:wcslen) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---13027-- REDIR: 0x5a4b050 (libc.so.6:strspn) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---13027-- REDIR: 0x5a4bf20 (libc.so.6:stpncpy) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---13027-- REDIR: 0x5a4bef0 (libc.so.6:stpcpy) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---13027-- REDIR: 0x5a4d7f0 (libc.so.6:strchrnul) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---13027-- REDIR: 0x5a4c040 (libc.so.6:strncasecmp_l) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---13027-- REDIR: 0x5ade8a0 (libc.so.6:__memcpy_chk) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---13027-- REDIR: 0x5b3b3c0 (libc.so.6:__strrchr_avx2) redirected to 0x4c32730 (rindex)
---13027-- REDIR: 0x5a44070 (libc.so.6:malloc) redirected to 0x4c2faa0 (malloc)
---13027-- REDIR: 0x5b3b590 (libc.so.6:__strlen_avx2) redirected to 0x4c32cf0 (strlen)
---13027-- REDIR: 0x5b37ba0 (libc.so.6:__memcmp_avx2_movbe) redirected to 0x4c35e00 (bcmp)
---13027-- REDIR: 0x5b16d60 (libc.so.6:__strcmp_ssse3) redirected to 0x4c33da0 (strcmp)
---13027-- REDIR: 0x5101190 (libstdc++.so.6:operator new(unsigned long)) redirected to 0x4c30110 (operator new(unsigned long))
---13027-- REDIR: 0x5b3bad0 (libc.so.6:__memcpy_avx_unaligned_erms) redirected to 0x4c366e0 (memmove)
---13027-- REDIR: 0x5a4b590 (libc.so.6:__GI_strstr) redirected to 0x4c37760 (__strstr_sse2)
---13027-- REDIR: 0x5b3bab0 (libc.so.6:__mempcpy_avx_unaligned_erms) redirected to 0x4c37130 (mempcpy)
---13027-- REDIR: 0x5b3bf50 (libc.so.6:__memset_avx2_unaligned_erms) redirected to 0x4c365d0 (memset)
---13027-- REDIR: 0x50ff310 (libstdc++.so.6:operator delete[](void*)) redirected to 0x4c316d0 (operator delete[](void*))
-==13027== Mismatched free() / delete / delete []
-==13027==    at 0x4C3173B: operator delete[](void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==13027==    by 0x10E215: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027==    by 0x10F25F: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027==  Address 0x5fcf910 is 0 bytes inside a block of size 24 alloc'd
-==13027==    at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==13027==    by 0x10D0B5: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027==    by 0x10F25F: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027== 
---13027-- REDIR: 0x5a44950 (libc.so.6:free) redirected to 0x4c30cd0 (free)
-==13027== Mismatched free() / delete / delete []
-==13027==    at 0x4C3173B: operator delete[](void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==13027==    by 0x10F2D8: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027==  Address 0x5fccc80 is 0 bytes inside a block of size 48 alloc'd
-==13027==    at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==13027==    by 0x10EB44: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027== 
---13027-- REDIR: 0x50ff2e0 (libstdc++.so.6:operator delete(void*)) redirected to 0x4c311d0 (operator delete(void*))
-==13027== 
-==13027== HEAP SUMMARY:
-==13027==     in use at exit: 157,666 bytes in 287 blocks
-==13027==   total heap usage: 332 allocs, 45 frees, 237,202 bytes allocated
-==13027== 
-==13027== Searching for pointers to 287 not-freed blocks
-==13027== Checked 119,384 bytes
-==13027== 
-==13027== 30 bytes in 1 blocks are definitely lost in loss record 1 of 15
-==13027==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==13027==    by 0x4E46DDD: png_malloc (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x10CDE5: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027==    by 0x10F25F: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027== 
-==13027== 31 bytes in 1 blocks are indirectly lost in loss record 2 of 15
-==13027==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==13027==    by 0x4E46DDD: png_malloc (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x4E613B3: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x4E5C84B: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027==    by 0x10F25F: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027== 
-==13027== 31 bytes in 1 blocks are indirectly lost in loss record 3 of 15
-==13027==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==13027==    by 0x4E46DDD: png_malloc (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x4E614A2: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x4E5C84B: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027==    by 0x10F25F: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027== 
-==13027== 31 bytes in 1 blocks are indirectly lost in loss record 4 of 15
-==13027==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==13027==    by 0x4E46DDD: png_malloc (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x4E614E3: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x4E5C84B: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027==    by 0x10F25F: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027== 
-==13027== 31 bytes in 1 blocks are indirectly lost in loss record 5 of 15
-==13027==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==13027==    by 0x4E46DDD: png_malloc (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x4E46E08: png_calloc (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x4E61419: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x4E5C84B: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027==    by 0x10F25F: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027== 
-==13027== 360 bytes in 1 blocks are definitely lost in loss record 6 of 15
-==13027==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==13027==    by 0x4E40F32: png_create_info_struct (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x10CCC6: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027==    by 0x10F25F: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027== 
-==13027== 2,048 bytes in 1 blocks are indirectly lost in loss record 7 of 15
-==13027==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==13027==    by 0x4E46E81: png_malloc_warn (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x5DA5E9E: deflateInit2_ (in /lib/x86_64-linux-gnu/libz.so.1.2.11)
-==13027==    by 0x4E5EDF0: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x4E5FA92: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x4E61B45: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x4E5C981: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027==    by 0x10F25F: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027== 
-==13027== 2,048 bytes in 1 blocks are indirectly lost in loss record 8 of 15
-==13027==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==13027==    by 0x4E46E81: png_malloc_warn (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x5DA5EB1: deflateInit2_ (in /lib/x86_64-linux-gnu/libz.so.1.2.11)
-==13027==    by 0x4E5EDF0: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x4E5FA92: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x4E61B45: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x4E5C981: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027==    by 0x10F25F: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027== 
-==13027== 2,160 bytes in 90 blocks are definitely lost in loss record 9 of 15
-==13027==    at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==13027==    by 0x10D0B5: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027==    by 0x10F25F: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027== 
-==13027== 4,416 bytes in 184 blocks are definitely lost in loss record 10 of 15
-==13027==    at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==13027==    by 0x10E5DF: Scene::reflected_rays(Ray3f**, int, int, float*) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027==    by 0x10D0FD: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027==    by 0x10F25F: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027== 
-==13027== 5,952 bytes in 1 blocks are indirectly lost in loss record 11 of 15
-==13027==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==13027==    by 0x4E46E81: png_malloc_warn (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x5DA5E14: deflateInit2_ (in /lib/x86_64-linux-gnu/libz.so.1.2.11)
-==13027==    by 0x4E5EDF0: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x4E5FA92: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x4E61B45: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x4E5C981: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027==    by 0x10F25F: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027== 
-==13027== 8,200 bytes in 1 blocks are indirectly lost in loss record 12 of 15
-==13027==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==13027==    by 0x4E46DDD: png_malloc (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x4E5FCFE: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x4E61B45: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x4E5C981: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027==    by 0x10F25F: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027== 
-==13027== 65,536 bytes in 1 blocks are indirectly lost in loss record 13 of 15
-==13027==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==13027==    by 0x4E46E81: png_malloc_warn (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x5DA5EC7: deflateInit2_ (in /lib/x86_64-linux-gnu/libz.so.1.2.11)
-==13027==    by 0x4E5EDF0: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x4E5FA92: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x4E61B45: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x4E5C981: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027==    by 0x10F25F: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027== 
-==13027== 65,536 bytes in 1 blocks are indirectly lost in loss record 14 of 15
-==13027==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==13027==    by 0x4E46E81: png_malloc_warn (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x5DA5EF6: deflateInit2_ (in /lib/x86_64-linux-gnu/libz.so.1.2.11)
-==13027==    by 0x4E5EDF0: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x4E5FA92: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x4E61B45: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x4E5C981: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027==    by 0x10F25F: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027== 
-==13027== 150,700 (1,256 direct, 149,444 indirect) bytes in 1 blocks are definitely lost in loss record 15 of 15
-==13027==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==13027==    by 0x4E46E81: png_malloc_warn (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x4E40E8F: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x4E5C74C: png_create_write_struct_2 (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x4E5C7F0: png_create_write_struct (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x10CC6D: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027==    by 0x10F25F: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027== 
-==13027== LEAK SUMMARY:
-==13027==    definitely lost: 8,222 bytes in 277 blocks
-==13027==    indirectly lost: 149,444 bytes in 10 blocks
-==13027==      possibly lost: 0 bytes in 0 blocks
-==13027==    still reachable: 0 bytes in 0 blocks
-==13027==         suppressed: 0 bytes in 0 blocks
-==13027== 
-==13027== ERROR SUMMARY: 43 errors from 7 contexts (suppressed: 0 from 0)
-==13027== 
-==13027== 8 errors in context 1 of 7:
-==13027== Mismatched free() / delete / delete []
-==13027==    at 0x4C3173B: operator delete[](void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==13027==    by 0x10F2D8: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027==  Address 0x5fccc80 is 0 bytes inside a block of size 48 alloc'd
-==13027==    at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==13027==    by 0x10EB44: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027== 
-==13027== 
-==13027== 30 errors in context 2 of 7:
-==13027== Mismatched free() / delete / delete []
-==13027==    at 0x4C3173B: operator delete[](void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==13027==    by 0x10E215: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027==    by 0x10F25F: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027==  Address 0x5fcf910 is 0 bytes inside a block of size 24 alloc'd
-==13027==    at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==13027==    by 0x10D0B5: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027==    by 0x10F25F: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027== 
-==13027== ERROR SUMMARY: 43 errors from 7 contexts (suppressed: 0 from 0)
-=======
-==11822== Memcheck, a memory error detector
-==11822== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
-==11822== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info
-==11822== Command: ./main
-==11822== Parent PID: 10617
-==11822== 
---11822-- 
---11822-- Valgrind options:
---11822--    --leak-check=full
---11822--    --show-leak-kinds=all
---11822--    --track-origins=yes
---11822--    --verbose
---11822--    --log-file=valgrind-out.txt
---11822-- Contents of /proc/version:
---11822--   Linux version 4.15.0-48-generic (buildd@lgw01-amd64-036) (gcc version 7.3.0 (Ubuntu 7.3.0-16ubuntu3)) #51-Ubuntu SMP Wed Apr 3 08:28:49 UTC 2019
---11822-- 
---11822-- Arch and hwcaps: AMD64, LittleEndian, amd64-cx16-lzcnt-rdtscp-sse3-avx-avx2-bmi
---11822-- Page sizes: currently 4096, max supported 4096
---11822-- Valgrind library directory: /usr/lib/valgrind
---11822-- Reading syms from /home/acheroufkebir/PAP/pap_ray_tracing_final/main
---11822-- Reading syms from /lib/x86_64-linux-gnu/ld-2.27.so
---11822--   Considering /lib/x86_64-linux-gnu/ld-2.27.so ..
---11822--   .. CRC mismatch (computed 1b7c895e wanted 2943108a)
---11822--   Considering /usr/lib/debug/lib/x86_64-linux-gnu/ld-2.27.so ..
---11822--   .. CRC is valid
---11822-- Reading syms from /usr/lib/valgrind/memcheck-amd64-linux
---11822--   Considering /usr/lib/valgrind/memcheck-amd64-linux ..
---11822--   .. CRC mismatch (computed 41ddb025 wanted 9972f546)
---11822--    object doesn't have a symbol table
---11822--    object doesn't have a dynamic symbol table
---11822-- Scheduler: using generic scheduler lock implementation.
---11822-- Reading suppressions file: /usr/lib/valgrind/default.supp
-==11822== embedded gdbserver: reading from /tmp/vgdb-pipe-from-vgdb-to-11822-by-acheroufkebir-on-???
-==11822== embedded gdbserver: writing to   /tmp/vgdb-pipe-to-vgdb-from-11822-by-acheroufkebir-on-???
-==11822== embedded gdbserver: shared mem   /tmp/vgdb-pipe-shared-mem-vgdb-11822-by-acheroufkebir-on-???
-==11822== 
-==11822== TO CONTROL THIS PROCESS USING vgdb (which you probably
-==11822== don't want to do, unless you know exactly what you're doing,
-==11822== or are doing some strange experiment):
-==11822==   /usr/lib/valgrind/../../bin/vgdb --pid=11822 ...command...
-==11822== 
-==11822== TO DEBUG THIS PROCESS USING GDB: start GDB like this
-==11822==   /path/to/gdb ./main
-==11822== and then give GDB the following command
-==11822==   target remote | /usr/lib/valgrind/../../bin/vgdb --pid=11822
-==11822== --pid is optional if only one valgrind process is running
-==11822== 
---11822-- REDIR: 0x401f2f0 (ld-linux-x86-64.so.2:strlen) redirected to 0x580608c1 (???)
---11822-- REDIR: 0x401f0d0 (ld-linux-x86-64.so.2:index) redirected to 0x580608db (???)
---11822-- Reading syms from /usr/lib/valgrind/vgpreload_core-amd64-linux.so
---11822--   Considering /usr/lib/valgrind/vgpreload_core-amd64-linux.so ..
---11822--   .. CRC mismatch (computed 50df1b30 wanted 4800a4cf)
---11822--    object doesn't have a symbol table
---11822-- Reading syms from /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so
---11822--   Considering /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so ..
---11822--   .. CRC mismatch (computed f893b962 wanted 95ee359e)
---11822--    object doesn't have a symbol table
-==11822== WARNING: new redirection conflicts with existing -- ignoring it
---11822--     old: 0x0401f2f0 (strlen              ) R-> (0000.0) 0x580608c1 ???
---11822--     new: 0x0401f2f0 (strlen              ) R-> (2007.0) 0x04c32db0 strlen
---11822-- REDIR: 0x401d360 (ld-linux-x86-64.so.2:strcmp) redirected to 0x4c33ee0 (strcmp)
---11822-- REDIR: 0x401f830 (ld-linux-x86-64.so.2:mempcpy) redirected to 0x4c374f0 (mempcpy)
---11822-- Reading syms from /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0
---11822--    object doesn't have a symbol table
---11822-- Reading syms from /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25
---11822--    object doesn't have a symbol table
---11822-- Reading syms from /lib/x86_64-linux-gnu/libm-2.27.so
---11822--   Considering /lib/x86_64-linux-gnu/libm-2.27.so ..
---11822--   .. CRC mismatch (computed 7feae033 wanted b29b2508)
---11822--   Considering /usr/lib/debug/lib/x86_64-linux-gnu/libm-2.27.so ..
---11822--   .. CRC is valid
---11822-- Reading syms from /lib/x86_64-linux-gnu/libgcc_s.so.1
---11822--    object doesn't have a symbol table
---11822-- Reading syms from /lib/x86_64-linux-gnu/libc-2.27.so
---11822--   Considering /lib/x86_64-linux-gnu/libc-2.27.so ..
---11822--   .. CRC mismatch (computed b1c74187 wanted 042cc048)
---11822--   Considering /usr/lib/debug/lib/x86_64-linux-gnu/libc-2.27.so ..
---11822--   .. CRC is valid
---11822-- Reading syms from /lib/x86_64-linux-gnu/libz.so.1.2.11
---11822--    object doesn't have a symbol table
---11822-- REDIR: 0x5a4bc70 (libc.so.6:memmove) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---11822-- REDIR: 0x5a4ad40 (libc.so.6:strncpy) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---11822-- REDIR: 0x5a4bf50 (libc.so.6:strcasecmp) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---11822-- REDIR: 0x5a4a790 (libc.so.6:strcat) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---11822-- REDIR: 0x5a4ad70 (libc.so.6:rindex) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---11822-- REDIR: 0x5a4d7c0 (libc.so.6:rawmemchr) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---11822-- REDIR: 0x5a4bde0 (libc.so.6:mempcpy) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---11822-- REDIR: 0x5a4bc10 (libc.so.6:bcmp) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---11822-- REDIR: 0x5a4ad00 (libc.so.6:strncmp) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---11822-- REDIR: 0x5a4a800 (libc.so.6:strcmp) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---11822-- REDIR: 0x5a4bd40 (libc.so.6:memset) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---11822-- REDIR: 0x5a690f0 (libc.so.6:wcschr) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---11822-- REDIR: 0x5a4aca0 (libc.so.6:strnlen) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---11822-- REDIR: 0x5a4a870 (libc.so.6:strcspn) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---11822-- REDIR: 0x5a4bfa0 (libc.so.6:strncasecmp) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---11822-- REDIR: 0x5a4a840 (libc.so.6:strcpy) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---11822-- REDIR: 0x5a4c0e0 (libc.so.6:memcpy@@GLIBC_2.14) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---11822-- REDIR: 0x5a4ada0 (libc.so.6:strpbrk) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---11822-- REDIR: 0x5a4a7c0 (libc.so.6:index) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---11822-- REDIR: 0x5a4ac70 (libc.so.6:strlen) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---11822-- REDIR: 0x5a556c0 (libc.so.6:memrchr) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---11822-- REDIR: 0x5a4bff0 (libc.so.6:strcasecmp_l) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---11822-- REDIR: 0x5a4bbe0 (libc.so.6:memchr) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---11822-- REDIR: 0x5a69eb0 (libc.so.6:wcslen) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---11822-- REDIR: 0x5a4b050 (libc.so.6:strspn) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---11822-- REDIR: 0x5a4bf20 (libc.so.6:stpncpy) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---11822-- REDIR: 0x5a4bef0 (libc.so.6:stpcpy) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---11822-- REDIR: 0x5a4d7f0 (libc.so.6:strchrnul) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---11822-- REDIR: 0x5a4c040 (libc.so.6:strncasecmp_l) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---11822-- REDIR: 0x5ade8a0 (libc.so.6:__memcpy_chk) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---11822-- REDIR: 0x5b3b3c0 (libc.so.6:__strrchr_avx2) redirected to 0x4c32730 (rindex)
---11822-- REDIR: 0x5a44070 (libc.so.6:malloc) redirected to 0x4c2faa0 (malloc)
---11822-- REDIR: 0x5b3b590 (libc.so.6:__strlen_avx2) redirected to 0x4c32cf0 (strlen)
---11822-- REDIR: 0x5b37ba0 (libc.so.6:__memcmp_avx2_movbe) redirected to 0x4c35e00 (bcmp)
---11822-- REDIR: 0x5b16d60 (libc.so.6:__strcmp_ssse3) redirected to 0x4c33da0 (strcmp)
---11822-- REDIR: 0x5101190 (libstdc++.so.6:operator new(unsigned long)) redirected to 0x4c30110 (operator new(unsigned long))
---11822-- REDIR: 0x5b3bad0 (libc.so.6:__memcpy_avx_unaligned_erms) redirected to 0x4c366e0 (memmove)
---11822-- REDIR: 0x5a4b590 (libc.so.6:__GI_strstr) redirected to 0x4c37760 (__strstr_sse2)
---11822-- REDIR: 0x5b3bab0 (libc.so.6:__mempcpy_avx_unaligned_erms) redirected to 0x4c37130 (mempcpy)
---11822-- REDIR: 0x5b3bf50 (libc.so.6:__memset_avx2_unaligned_erms) redirected to 0x4c365d0 (memset)
---11822-- REDIR: 0x50ff310 (libstdc++.so.6:operator delete[](void*)) redirected to 0x4c316d0 (operator delete[](void*))
-==11822== Mismatched free() / delete / delete []
-==11822==    at 0x4C3173B: operator delete[](void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x10E235: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x10FFDD: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==  Address 0x96fefc0 is 0 bytes inside a block of size 24 alloc'd
-==11822==    at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x10D0B5: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x10FFDD: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
---11822-- REDIR: 0x5a44950 (libc.so.6:free) redirected to 0x4c30cd0 (free)
-==11822== Mismatched free() / delete / delete []
-==11822==    at 0x4C3173B: operator delete[](void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x10E235: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x110034: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==  Address 0x12229120 is 0 bytes inside a block of size 24 alloc'd
-==11822==    at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x10D0B5: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x110034: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== Mismatched free() / delete / delete []
-==11822==    at 0x4C3173B: operator delete[](void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x10E235: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x11008B: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==  Address 0x1ad533a0 is 0 bytes inside a block of size 24 alloc'd
-==11822==    at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x10D0B5: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x11008B: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== Mismatched free() / delete / delete []
-==11822==    at 0x4C3173B: operator delete[](void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x110104: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==  Address 0x5fccc80 is 0 bytes inside a block of size 48 alloc'd
-==11822==    at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x10F8BF: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
---11822-- REDIR: 0x50ff2e0 (libstdc++.so.6:operator delete(void*)) redirected to 0x4c311d0 (operator delete(void*))
-==11822== 
-==11822== HEAP SUMMARY:
-==11822==     in use at exit: 88,068,768 bytes in 3,633,819 blocks
-==11822==   total heap usage: 3,633,852 allocs, 33 frees, 88,157,216 bytes allocated
-==11822== 
-==11822== Searching for pointers to 3,633,819 not-freed blocks
-==11822== Checked 119,672 bytes
-==11822== 
-==11822== 48 bytes in 2 blocks are still reachable in loss record 1 of 54
-==11822==    at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x10E5DF: Scene::reflected_rays(Ray3f**, int, int, float*) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x10D0FD: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x10FFDD: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 48 bytes in 2 blocks are possibly lost in loss record 2 of 54
-==11822==    at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x10E5DF: Scene::reflected_rays(Ray3f**, int, int, float*) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x10D0FD: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x10FFDD: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 72 bytes in 3 blocks are possibly lost in loss record 3 of 54
-==11822==    at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x10E5DF: Scene::reflected_rays(Ray3f**, int, int, float*) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x10D0FD: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x110034: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 72 bytes in 3 blocks are indirectly lost in loss record 4 of 54
-==11822==    at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x10D0B5: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x110034: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 120 bytes in 5 blocks are possibly lost in loss record 5 of 54
-==11822==    at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x10D0B5: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x10FFDD: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 144 bytes in 6 blocks are indirectly lost in loss record 6 of 54
-==11822==    at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x10E5DF: Scene::reflected_rays(Ray3f**, int, int, float*) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x10D0FD: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x10FFDD: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 144 bytes in 6 blocks are indirectly lost in loss record 7 of 54
-==11822==    at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x10E5DF: Scene::reflected_rays(Ray3f**, int, int, float*) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x10D0FD: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x11008B: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 216 bytes in 9 blocks are indirectly lost in loss record 8 of 54
-==11822==    at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x10D0B5: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x10FFDD: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 216 bytes in 9 blocks are indirectly lost in loss record 9 of 54
-==11822==    at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x10E5DF: Scene::reflected_rays(Ray3f**, int, int, float*) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x10D0FD: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x110034: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 360 bytes in 1 blocks are definitely lost in loss record 10 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E40F32: png_create_info_struct (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10CCC6: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x10FFDD: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 360 bytes in 1 blocks are definitely lost in loss record 11 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E40F32: png_create_info_struct (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10CCC6: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x110034: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 360 bytes in 1 blocks are definitely lost in loss record 12 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E40F32: png_create_info_struct (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10CCC6: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x11008B: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 1,620 bytes in 1 blocks are definitely lost in loss record 13 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E46DDD: png_malloc (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10CDE5: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x10FFDD: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 1,620 bytes in 1 blocks are definitely lost in loss record 14 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E46DDD: png_malloc (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10CDE5: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x110034: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 1,620 bytes in 1 blocks are definitely lost in loss record 15 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E46DDD: png_malloc (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10CDE5: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x11008B: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 1,621 bytes in 1 blocks are indirectly lost in loss record 16 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E46DDD: png_malloc (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E613B3: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5C84B: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x10FFDD: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 1,621 bytes in 1 blocks are indirectly lost in loss record 17 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E46DDD: png_malloc (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E614A2: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5C84B: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x10FFDD: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 1,621 bytes in 1 blocks are indirectly lost in loss record 18 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E46DDD: png_malloc (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E614E3: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5C84B: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x10FFDD: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 1,621 bytes in 1 blocks are indirectly lost in loss record 19 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E46DDD: png_malloc (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E46E08: png_calloc (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E61419: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5C84B: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x10FFDD: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 1,621 bytes in 1 blocks are indirectly lost in loss record 20 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E46DDD: png_malloc (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E613B3: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5C84B: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x110034: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 1,621 bytes in 1 blocks are indirectly lost in loss record 21 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E46DDD: png_malloc (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E614A2: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5C84B: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x110034: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 1,621 bytes in 1 blocks are indirectly lost in loss record 22 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E46DDD: png_malloc (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E614E3: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5C84B: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x110034: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 1,621 bytes in 1 blocks are indirectly lost in loss record 23 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E46DDD: png_malloc (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E46E08: png_calloc (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E61419: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5C84B: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x110034: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 1,621 bytes in 1 blocks are indirectly lost in loss record 24 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E46DDD: png_malloc (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E613B3: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5C84B: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x11008B: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 1,621 bytes in 1 blocks are indirectly lost in loss record 25 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E46DDD: png_malloc (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E614A2: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5C84B: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x11008B: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 1,621 bytes in 1 blocks are indirectly lost in loss record 26 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E46DDD: png_malloc (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E614E3: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5C84B: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x11008B: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 1,621 bytes in 1 blocks are indirectly lost in loss record 27 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E46DDD: png_malloc (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E46E08: png_calloc (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E61419: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5C84B: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x11008B: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 5,952 bytes in 1 blocks are indirectly lost in loss record 28 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E46E81: png_malloc_warn (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x5DA5E14: deflateInit2_ (in /lib/x86_64-linux-gnu/libz.so.1.2.11)
-==11822==    by 0x4E5EDF0: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5FA92: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E61B45: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5C981: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x10FFDD: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 5,952 bytes in 1 blocks are indirectly lost in loss record 29 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E46E81: png_malloc_warn (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x5DA5E14: deflateInit2_ (in /lib/x86_64-linux-gnu/libz.so.1.2.11)
-==11822==    by 0x4E5EDF0: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5FA92: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E61B45: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5C981: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x110034: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 5,952 bytes in 1 blocks are indirectly lost in loss record 30 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E46E81: png_malloc_warn (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x5DA5E14: deflateInit2_ (in /lib/x86_64-linux-gnu/libz.so.1.2.11)
-==11822==    by 0x4E5EDF0: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5FA92: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E61B45: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5C981: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x11008B: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 8,200 bytes in 1 blocks are indirectly lost in loss record 31 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E46DDD: png_malloc (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5FCFE: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E61B45: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5C981: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x10FFDD: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 8,200 bytes in 1 blocks are indirectly lost in loss record 32 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E46DDD: png_malloc (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5FCFE: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E61B45: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5C981: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x110034: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 8,200 bytes in 1 blocks are indirectly lost in loss record 33 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E46DDD: png_malloc (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5FCFE: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E61B45: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5C981: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x11008B: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 65,536 bytes in 1 blocks are indirectly lost in loss record 34 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E46E81: png_malloc_warn (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x5DA5E9E: deflateInit2_ (in /lib/x86_64-linux-gnu/libz.so.1.2.11)
-==11822==    by 0x4E5EDF0: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5FA92: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E61B45: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5C981: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x10FFDD: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 65,536 bytes in 1 blocks are indirectly lost in loss record 35 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E46E81: png_malloc_warn (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x5DA5EB1: deflateInit2_ (in /lib/x86_64-linux-gnu/libz.so.1.2.11)
-==11822==    by 0x4E5EDF0: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5FA92: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E61B45: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5C981: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x10FFDD: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 65,536 bytes in 1 blocks are indirectly lost in loss record 36 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E46E81: png_malloc_warn (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x5DA5EC7: deflateInit2_ (in /lib/x86_64-linux-gnu/libz.so.1.2.11)
-==11822==    by 0x4E5EDF0: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5FA92: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E61B45: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5C981: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x10FFDD: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 65,536 bytes in 1 blocks are indirectly lost in loss record 37 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E46E81: png_malloc_warn (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x5DA5EF6: deflateInit2_ (in /lib/x86_64-linux-gnu/libz.so.1.2.11)
-==11822==    by 0x4E5EDF0: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5FA92: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E61B45: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5C981: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x10FFDD: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 65,536 bytes in 1 blocks are indirectly lost in loss record 38 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E46E81: png_malloc_warn (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x5DA5E9E: deflateInit2_ (in /lib/x86_64-linux-gnu/libz.so.1.2.11)
-==11822==    by 0x4E5EDF0: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5FA92: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E61B45: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5C981: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x110034: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 65,536 bytes in 1 blocks are indirectly lost in loss record 39 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E46E81: png_malloc_warn (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x5DA5EB1: deflateInit2_ (in /lib/x86_64-linux-gnu/libz.so.1.2.11)
-==11822==    by 0x4E5EDF0: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5FA92: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E61B45: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5C981: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x110034: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 65,536 bytes in 1 blocks are indirectly lost in loss record 40 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E46E81: png_malloc_warn (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x5DA5EC7: deflateInit2_ (in /lib/x86_64-linux-gnu/libz.so.1.2.11)
-==11822==    by 0x4E5EDF0: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5FA92: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E61B45: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5C981: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x110034: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 65,536 bytes in 1 blocks are indirectly lost in loss record 41 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E46E81: png_malloc_warn (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x5DA5EF6: deflateInit2_ (in /lib/x86_64-linux-gnu/libz.so.1.2.11)
-==11822==    by 0x4E5EDF0: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5FA92: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E61B45: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5C981: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x110034: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 65,536 bytes in 1 blocks are indirectly lost in loss record 42 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E46E81: png_malloc_warn (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x5DA5E9E: deflateInit2_ (in /lib/x86_64-linux-gnu/libz.so.1.2.11)
-==11822==    by 0x4E5EDF0: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5FA92: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E61B45: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5C981: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x11008B: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 65,536 bytes in 1 blocks are indirectly lost in loss record 43 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E46E81: png_malloc_warn (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x5DA5EB1: deflateInit2_ (in /lib/x86_64-linux-gnu/libz.so.1.2.11)
-==11822==    by 0x4E5EDF0: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5FA92: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E61B45: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5C981: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x11008B: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 65,536 bytes in 1 blocks are indirectly lost in loss record 44 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E46E81: png_malloc_warn (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x5DA5EC7: deflateInit2_ (in /lib/x86_64-linux-gnu/libz.so.1.2.11)
-==11822==    by 0x4E5EDF0: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5FA92: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E61B45: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5C981: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x11008B: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 65,536 bytes in 1 blocks are indirectly lost in loss record 45 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E46E81: png_malloc_warn (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x5DA5EF6: deflateInit2_ (in /lib/x86_64-linux-gnu/libz.so.1.2.11)
-==11822==    by 0x4E5EDF0: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5FA92: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E61B45: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5C981: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x11008B: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 284,228 (1,256 direct, 282,972 indirect) bytes in 1 blocks are definitely lost in loss record 46 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E46E81: png_malloc_warn (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E40E8F: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5C74C: png_create_write_struct_2 (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5C7F0: png_create_write_struct (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10CC6D: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x10FFDD: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 284,300 (1,256 direct, 283,044 indirect) bytes in 1 blocks are definitely lost in loss record 47 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E46E81: png_malloc_warn (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E40E8F: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5C74C: png_create_write_struct_2 (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5C7F0: png_create_write_struct (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10CC6D: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x11008B: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 284,372 (1,256 direct, 283,116 indirect) bytes in 1 blocks are definitely lost in loss record 48 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E46E81: png_malloc_warn (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E40E8F: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5C74C: png_create_write_struct_2 (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5C7F0: png_create_write_struct (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10CC6D: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x110034: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 6,998,040 bytes in 291,585 blocks are definitely lost in loss record 49 of 54
-==11822==    at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x10D0B5: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x10FFDD: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 6,998,304 bytes in 291,596 blocks are definitely lost in loss record 50 of 54
-==11822==    at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x10D0B5: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x110034: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 6,998,376 bytes in 291,599 blocks are definitely lost in loss record 51 of 54
-==11822==    at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x10D0B5: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x11008B: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 7,397,016 bytes in 308,209 blocks are definitely lost in loss record 52 of 54
-==11822==    at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x10E5DF: Scene::reflected_rays(Ray3f**, int, int, float*) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x10D0FD: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x10FFDD: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 29,408,880 bytes in 1,225,370 blocks are definitely lost in loss record 53 of 54
-==11822==    at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x10E5DF: Scene::reflected_rays(Ray3f**, int, int, float*) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x10D0FD: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x110034: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 29,409,024 bytes in 1,225,376 blocks are definitely lost in loss record 54 of 54
-==11822==    at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x10E5DF: Scene::reflected_rays(Ray3f**, int, int, float*) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x10D0FD: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x11008B: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== LEAK SUMMARY:
-==11822==    definitely lost: 87,219,348 bytes in 3,633,744 blocks
-==11822==    indirectly lost: 849,132 bytes in 63 blocks
-==11822==      possibly lost: 240 bytes in 10 blocks
-==11822==    still reachable: 48 bytes in 2 blocks
-==11822==         suppressed: 0 bytes in 0 blocks
-==11822== 
-==11822== ERROR SUMMARY: 40 errors from 22 contexts (suppressed: 0 from 0)
-==11822== 
-==11822== 2 errors in context 1 of 22:
-==11822== Mismatched free() / delete / delete []
-==11822==    at 0x4C3173B: operator delete[](void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x10E235: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x10FFDD: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==  Address 0x96fefc0 is 0 bytes inside a block of size 24 alloc'd
-==11822==    at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x10D0B5: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x10FFDD: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 
-==11822== 6 errors in context 2 of 22:
-==11822== Mismatched free() / delete / delete []
-==11822==    at 0x4C3173B: operator delete[](void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x10E235: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x11008B: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==  Address 0x1ad533a0 is 0 bytes inside a block of size 24 alloc'd
-==11822==    at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x10D0B5: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x11008B: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 
-==11822== 6 errors in context 3 of 22:
-==11822== Mismatched free() / delete / delete []
-==11822==    at 0x4C3173B: operator delete[](void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x10E235: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x110034: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==  Address 0x12229120 is 0 bytes inside a block of size 24 alloc'd
-==11822==    at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x10D0B5: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x110034: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 
-==11822== 8 errors in context 4 of 22:
-==11822== Mismatched free() / delete / delete []
-==11822==    at 0x4C3173B: operator delete[](void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x110104: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==  Address 0x5fccc80 is 0 bytes inside a block of size 48 alloc'd
-==11822==    at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x10F8BF: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== ERROR SUMMARY: 40 errors from 22 contexts (suppressed: 0 from 0)
->>>>>>> 346ea2a29cfb842c864e852a681a26221d2fc5bc
+==16282== Memcheck, a memory error detector
+==16282== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
+==16282== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info
+==16282== Command: ./main
+==16282== Parent PID: 16027
+==16282== 
+--16282-- 
+--16282-- Valgrind options:
+--16282--    --leak-check=full
+--16282--    --show-leak-kinds=all
+--16282--    --track-origins=yes
+--16282--    --verbose
+--16282--    --log-file=valgrind-out.txt
+--16282-- Contents of /proc/version:
+--16282--   Linux version 4.15.0-48-generic (buildd@lgw01-amd64-036) (gcc version 7.3.0 (Ubuntu 7.3.0-16ubuntu3)) #51-Ubuntu SMP Wed Apr 3 08:28:49 UTC 2019
+--16282-- 
+--16282-- Arch and hwcaps: AMD64, LittleEndian, amd64-cx16-lzcnt-rdtscp-sse3-avx-avx2-bmi
+--16282-- Page sizes: currently 4096, max supported 4096
+--16282-- Valgrind library directory: /usr/lib/valgrind
+--16282-- Reading syms from /home/acheroufkebir/PAP/pap_ray_tracing_final/main
+--16282-- Reading syms from /lib/x86_64-linux-gnu/ld-2.27.so
+--16282--   Considering /lib/x86_64-linux-gnu/ld-2.27.so ..
+--16282--   .. CRC mismatch (computed 1b7c895e wanted 2943108a)
+--16282--   Considering /usr/lib/debug/lib/x86_64-linux-gnu/ld-2.27.so ..
+--16282--   .. CRC is valid
+--16282-- Reading syms from /usr/lib/valgrind/memcheck-amd64-linux
+--16282--   Considering /usr/lib/valgrind/memcheck-amd64-linux ..
+--16282--   .. CRC mismatch (computed 41ddb025 wanted 9972f546)
+--16282--    object doesn't have a symbol table
+--16282--    object doesn't have a dynamic symbol table
+--16282-- Scheduler: using generic scheduler lock implementation.
+--16282-- Reading suppressions file: /usr/lib/valgrind/default.supp
+==16282== embedded gdbserver: reading from /tmp/vgdb-pipe-from-vgdb-to-16282-by-acheroufkebir-on-???
+==16282== embedded gdbserver: writing to   /tmp/vgdb-pipe-to-vgdb-from-16282-by-acheroufkebir-on-???
+==16282== embedded gdbserver: shared mem   /tmp/vgdb-pipe-shared-mem-vgdb-16282-by-acheroufkebir-on-???
+==16282== 
+==16282== TO CONTROL THIS PROCESS USING vgdb (which you probably
+==16282== don't want to do, unless you know exactly what you're doing,
+==16282== or are doing some strange experiment):
+==16282==   /usr/lib/valgrind/../../bin/vgdb --pid=16282 ...command...
+==16282== 
+==16282== TO DEBUG THIS PROCESS USING GDB: start GDB like this
+==16282==   /path/to/gdb ./main
+==16282== and then give GDB the following command
+==16282==   target remote | /usr/lib/valgrind/../../bin/vgdb --pid=16282
+==16282== --pid is optional if only one valgrind process is running
+==16282== 
+--16282-- REDIR: 0x401f2f0 (ld-linux-x86-64.so.2:strlen) redirected to 0x580608c1 (???)
+--16282-- REDIR: 0x401f0d0 (ld-linux-x86-64.so.2:index) redirected to 0x580608db (???)
+--16282-- Reading syms from /usr/lib/valgrind/vgpreload_core-amd64-linux.so
+--16282--   Considering /usr/lib/valgrind/vgpreload_core-amd64-linux.so ..
+--16282--   .. CRC mismatch (computed 50df1b30 wanted 4800a4cf)
+--16282--    object doesn't have a symbol table
+--16282-- Reading syms from /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so
+--16282--   Considering /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so ..
+--16282--   .. CRC mismatch (computed f893b962 wanted 95ee359e)
+--16282--    object doesn't have a symbol table
+==16282== WARNING: new redirection conflicts with existing -- ignoring it
+--16282--     old: 0x0401f2f0 (strlen              ) R-> (0000.0) 0x580608c1 ???
+--16282--     new: 0x0401f2f0 (strlen              ) R-> (2007.0) 0x04c32db0 strlen
+--16282-- REDIR: 0x401d360 (ld-linux-x86-64.so.2:strcmp) redirected to 0x4c33ee0 (strcmp)
+--16282-- REDIR: 0x401f830 (ld-linux-x86-64.so.2:mempcpy) redirected to 0x4c374f0 (mempcpy)
+--16282-- Reading syms from /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0
+--16282--    object doesn't have a symbol table
+--16282-- Reading syms from /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25
+--16282--    object doesn't have a symbol table
+--16282-- Reading syms from /lib/x86_64-linux-gnu/libm-2.27.so
+--16282--   Considering /lib/x86_64-linux-gnu/libm-2.27.so ..
+--16282--   .. CRC mismatch (computed 7feae033 wanted b29b2508)
+--16282--   Considering /usr/lib/debug/lib/x86_64-linux-gnu/libm-2.27.so ..
+--16282--   .. CRC is valid
+--16282-- Reading syms from /lib/x86_64-linux-gnu/libgcc_s.so.1
+--16282--    object doesn't have a symbol table
+--16282-- Reading syms from /lib/x86_64-linux-gnu/libc-2.27.so
+--16282--   Considering /lib/x86_64-linux-gnu/libc-2.27.so ..
+--16282--   .. CRC mismatch (computed b1c74187 wanted 042cc048)
+--16282--   Considering /usr/lib/debug/lib/x86_64-linux-gnu/libc-2.27.so ..
+--16282--   .. CRC is valid
+--16282-- Reading syms from /lib/x86_64-linux-gnu/libz.so.1.2.11
+--16282--    object doesn't have a symbol table
+--16282-- REDIR: 0x5a4bc70 (libc.so.6:memmove) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--16282-- REDIR: 0x5a4ad40 (libc.so.6:strncpy) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--16282-- REDIR: 0x5a4bf50 (libc.so.6:strcasecmp) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--16282-- REDIR: 0x5a4a790 (libc.so.6:strcat) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--16282-- REDIR: 0x5a4ad70 (libc.so.6:rindex) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--16282-- REDIR: 0x5a4d7c0 (libc.so.6:rawmemchr) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--16282-- REDIR: 0x5a4bde0 (libc.so.6:mempcpy) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--16282-- REDIR: 0x5a4bc10 (libc.so.6:bcmp) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--16282-- REDIR: 0x5a4ad00 (libc.so.6:strncmp) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--16282-- REDIR: 0x5a4a800 (libc.so.6:strcmp) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--16282-- REDIR: 0x5a4bd40 (libc.so.6:memset) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--16282-- REDIR: 0x5a690f0 (libc.so.6:wcschr) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--16282-- REDIR: 0x5a4aca0 (libc.so.6:strnlen) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--16282-- REDIR: 0x5a4a870 (libc.so.6:strcspn) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--16282-- REDIR: 0x5a4bfa0 (libc.so.6:strncasecmp) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--16282-- REDIR: 0x5a4a840 (libc.so.6:strcpy) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--16282-- REDIR: 0x5a4c0e0 (libc.so.6:memcpy@@GLIBC_2.14) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--16282-- REDIR: 0x5a4ada0 (libc.so.6:strpbrk) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--16282-- REDIR: 0x5a4a7c0 (libc.so.6:index) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--16282-- REDIR: 0x5a4ac70 (libc.so.6:strlen) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--16282-- REDIR: 0x5a556c0 (libc.so.6:memrchr) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--16282-- REDIR: 0x5a4bff0 (libc.so.6:strcasecmp_l) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--16282-- REDIR: 0x5a4bbe0 (libc.so.6:memchr) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--16282-- REDIR: 0x5a69eb0 (libc.so.6:wcslen) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--16282-- REDIR: 0x5a4b050 (libc.so.6:strspn) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--16282-- REDIR: 0x5a4bf20 (libc.so.6:stpncpy) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--16282-- REDIR: 0x5a4bef0 (libc.so.6:stpcpy) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--16282-- REDIR: 0x5a4d7f0 (libc.so.6:strchrnul) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--16282-- REDIR: 0x5a4c040 (libc.so.6:strncasecmp_l) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--16282-- REDIR: 0x5ade8a0 (libc.so.6:__memcpy_chk) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--16282-- REDIR: 0x5b3b3c0 (libc.so.6:__strrchr_avx2) redirected to 0x4c32730 (rindex)
+--16282-- REDIR: 0x5a44070 (libc.so.6:malloc) redirected to 0x4c2faa0 (malloc)
+--16282-- REDIR: 0x5b3b590 (libc.so.6:__strlen_avx2) redirected to 0x4c32cf0 (strlen)
+--16282-- REDIR: 0x5b37ba0 (libc.so.6:__memcmp_avx2_movbe) redirected to 0x4c35e00 (bcmp)
+--16282-- REDIR: 0x5b16d60 (libc.so.6:__strcmp_ssse3) redirected to 0x4c33da0 (strcmp)
+--16282-- REDIR: 0x5101190 (libstdc++.so.6:operator new(unsigned long)) redirected to 0x4c30110 (operator new(unsigned long))
+--16282-- REDIR: 0x5b3bad0 (libc.so.6:__memcpy_avx_unaligned_erms) redirected to 0x4c366e0 (memmove)
+--16282-- REDIR: 0x5a4b590 (libc.so.6:__GI_strstr) redirected to 0x4c37760 (__strstr_sse2)
+--16282-- REDIR: 0x5b3bab0 (libc.so.6:__mempcpy_avx_unaligned_erms) redirected to 0x4c37130 (mempcpy)
+--16282-- REDIR: 0x50ff2e0 (libstdc++.so.6:operator delete(void*)) redirected to 0x4c311d0 (operator delete(void*))
+--16282-- REDIR: 0x5b3bf50 (libc.so.6:__memset_avx2_unaligned_erms) redirected to 0x4c365d0 (memset)
+--16282-- REDIR: 0x5a44950 (libc.so.6:free) redirected to 0x4c30cd0 (free)
+--16282-- REDIR: 0x50ff310 (libstdc++.so.6:operator delete[](void*)) redirected to 0x4c316d0 (operator delete[](void*))
+==16282== Mismatched free() / delete / delete []
+==16282==    at 0x4C3173B: operator delete[](void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
+==16282==    by 0x10F4CB: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
+==16282==  Address 0x5fccc80 is 0 bytes inside a block of size 48 alloc'd
+==16282==    at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
+==16282==    by 0x10EC86: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
+==16282== 
+==16282== 
+==16282== HEAP SUMMARY:
+==16282==     in use at exit: 0 bytes in 0 blocks
+==16282==   total heap usage: 858 allocs, 858 frees, 560,582 bytes allocated
+==16282== 
+==16282== All heap blocks were freed -- no leaks are possible
+==16282== 
+==16282== ERROR SUMMARY: 8 errors from 1 contexts (suppressed: 0 from 0)
+==16282== 
+==16282== 8 errors in context 1 of 1:
+==16282== Mismatched free() / delete / delete []
+==16282==    at 0x4C3173B: operator delete[](void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
+==16282==    by 0x10F4CB: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
+==16282==  Address 0x5fccc80 is 0 bytes inside a block of size 48 alloc'd
+==16282==    at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
+==16282==    by 0x10EC86: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
+==16282== 
+==16282== ERROR SUMMARY: 8 errors from 1 contexts (suppressed: 0 from 0)