diff --git a/main b/main
index 1d2e62521110034b338f8b8ba18520952eef127e..84fb31de26fed458958272cc07fdec03f7668242 100755
Binary files a/main and b/main differ
diff --git a/main.cpp b/main.cpp
index 7e19a07ddcf1d4c359faf74d04e6b2d1432dceda..fc040967062f24bbde94b82d60390d064dfd6b58 100644
--- a/main.cpp
+++ b/main.cpp
@@ -51,13 +51,16 @@ int main()
 
 
 		//----------CALCUL ET SAUVEGARDE DE L'IMAGE----------
-		std::cout << "Création de l'image..." << std::endl;
+		std::cout << "Création des images..." << std::endl;
 		std::string filename = "basic_ray_tracing.png";
 		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(),5,false);
-		scene.render(width, height, 1080, 1080, nb_shapes, (char *) filename3.c_str(),5,true);
+		scene.render(width, height, 1080, 1080, nb_shapes, (char *) filename.c_str(),1,false);
+		std::cout<<"l'image est générée dans le fichier "<<filename<<std::endl;
+		scene.render(width, height, 1080, 1080, nb_shapes, (char *) filename2.c_str(),4,false);
+		std::cout<<"l'image est générée dans le fichier "<<filename2<<std::endl;
+		scene.render(width, height, 1080, 1080, nb_shapes, (char *) filename3.c_str(),4,true);
+		std::cout<<"l'image est générée dans le fichier "<<filename3<<std::endl;
 		std::cout << "Image sauvegardée" << std::endl;
 
 		//----------LIBERATION DE LA MEMOIRE----------
diff --git a/scene.cpp b/scene.cpp
index 78a9e64ebae9af6393ab2e13570087b6c5010c07..14a657afff6fd7bfeed633e33d52f522a6601772 100644
--- a/scene.cpp
+++ b/scene.cpp
@@ -78,7 +78,7 @@ void Scene::render(int width, int height, int nb_pixel_row, int nb_pixel_col, in
 	//Mémoire allouée pour une ligne de pixels (rgb => 3 bytes par pixel)
 	png_bytep row = (png_bytep) png_malloc(png_ptr, 3*nb_pixel_row*sizeof(png_byte));
 
-
+	ref_max++;
 	float pw = (float) width / (float) nb_pixel_col; //largeur d'un pixel
 	float ph = (float) height / (float) nb_pixel_row; //hauteur d'un pixel
 	float min_dist;
@@ -96,6 +96,7 @@ void Scene::render(int width, int height, int nb_pixel_row, int nb_pixel_col, in
 
 
 
+
 	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++)
diff --git a/valgrind-out.txt b/valgrind-out.txt
index 99c32f278638bb5870c8aa6b0a13d8c4a76cf22a..8783ac2c5a7a5b5beb4f359f20190e2553b79f20 100644
--- a/valgrind-out.txt
+++ b/valgrind-out.txt
@@ -1,148 +1,131 @@
-==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)
+==18910== Memcheck, a memory error detector
+==18910== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
+==18910== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info
+==18910== Command: ./main
+==18910== Parent PID: 16027
+==18910== 
+--18910-- 
+--18910-- Valgrind options:
+--18910--    --leak-check=full
+--18910--    --show-leak-kinds=all
+--18910--    --track-origins=yes
+--18910--    --verbose
+--18910--    --log-file=valgrind-out.txt
+--18910-- Contents of /proc/version:
+--18910--   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
+--18910-- 
+--18910-- Arch and hwcaps: AMD64, LittleEndian, amd64-cx16-lzcnt-rdtscp-sse3-avx-avx2-bmi
+--18910-- Page sizes: currently 4096, max supported 4096
+--18910-- Valgrind library directory: /usr/lib/valgrind
+--18910-- Reading syms from /home/acheroufkebir/PAP/pap_ray_tracing_final/main
+--18910-- Reading syms from /lib/x86_64-linux-gnu/ld-2.27.so
+--18910--   Considering /lib/x86_64-linux-gnu/ld-2.27.so ..
+--18910--   .. CRC mismatch (computed 1b7c895e wanted 2943108a)
+--18910--   Considering /usr/lib/debug/lib/x86_64-linux-gnu/ld-2.27.so ..
+--18910--   .. CRC is valid
+--18910-- Reading syms from /usr/lib/valgrind/memcheck-amd64-linux
+--18910--   Considering /usr/lib/valgrind/memcheck-amd64-linux ..
+--18910--   .. CRC mismatch (computed 41ddb025 wanted 9972f546)
+--18910--    object doesn't have a symbol table
+--18910--    object doesn't have a dynamic symbol table
+--18910-- Scheduler: using generic scheduler lock implementation.
+--18910-- Reading suppressions file: /usr/lib/valgrind/default.supp
+==18910== embedded gdbserver: reading from /tmp/vgdb-pipe-from-vgdb-to-18910-by-acheroufkebir-on-???
+==18910== embedded gdbserver: writing to   /tmp/vgdb-pipe-to-vgdb-from-18910-by-acheroufkebir-on-???
+==18910== embedded gdbserver: shared mem   /tmp/vgdb-pipe-shared-mem-vgdb-18910-by-acheroufkebir-on-???
+==18910== 
+==18910== TO CONTROL THIS PROCESS USING vgdb (which you probably
+==18910== don't want to do, unless you know exactly what you're doing,
+==18910== or are doing some strange experiment):
+==18910==   /usr/lib/valgrind/../../bin/vgdb --pid=18910 ...command...
+==18910== 
+==18910== TO DEBUG THIS PROCESS USING GDB: start GDB like this
+==18910==   /path/to/gdb ./main
+==18910== and then give GDB the following command
+==18910==   target remote | /usr/lib/valgrind/../../bin/vgdb --pid=18910
+==18910== --pid is optional if only one valgrind process is running
+==18910== 
+--18910-- REDIR: 0x401f2f0 (ld-linux-x86-64.so.2:strlen) redirected to 0x580608c1 (???)
+--18910-- REDIR: 0x401f0d0 (ld-linux-x86-64.so.2:index) redirected to 0x580608db (???)
+--18910-- Reading syms from /usr/lib/valgrind/vgpreload_core-amd64-linux.so
+--18910--   Considering /usr/lib/valgrind/vgpreload_core-amd64-linux.so ..
+--18910--   .. CRC mismatch (computed 50df1b30 wanted 4800a4cf)
+--18910--    object doesn't have a symbol table
+--18910-- Reading syms from /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so
+--18910--   Considering /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so ..
+--18910--   .. CRC mismatch (computed f893b962 wanted 95ee359e)
+--18910--    object doesn't have a symbol table
+==18910== WARNING: new redirection conflicts with existing -- ignoring it
+--18910--     old: 0x0401f2f0 (strlen              ) R-> (0000.0) 0x580608c1 ???
+--18910--     new: 0x0401f2f0 (strlen              ) R-> (2007.0) 0x04c32db0 strlen
+--18910-- REDIR: 0x401d360 (ld-linux-x86-64.so.2:strcmp) redirected to 0x4c33ee0 (strcmp)
+--18910-- REDIR: 0x401f830 (ld-linux-x86-64.so.2:mempcpy) redirected to 0x4c374f0 (mempcpy)
+--18910-- Reading syms from /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0
+--18910--    object doesn't have a symbol table
+--18910-- Reading syms from /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25
+--18910--    object doesn't have a symbol table
+--18910-- Reading syms from /lib/x86_64-linux-gnu/libm-2.27.so
+--18910--   Considering /lib/x86_64-linux-gnu/libm-2.27.so ..
+--18910--   .. CRC mismatch (computed 7feae033 wanted b29b2508)
+--18910--   Considering /usr/lib/debug/lib/x86_64-linux-gnu/libm-2.27.so ..
+--18910--   .. CRC is valid
+--18910-- Reading syms from /lib/x86_64-linux-gnu/libgcc_s.so.1
+--18910--    object doesn't have a symbol table
+--18910-- Reading syms from /lib/x86_64-linux-gnu/libc-2.27.so
+--18910--   Considering /lib/x86_64-linux-gnu/libc-2.27.so ..
+--18910--   .. CRC mismatch (computed b1c74187 wanted 042cc048)
+--18910--   Considering /usr/lib/debug/lib/x86_64-linux-gnu/libc-2.27.so ..
+--18910--   .. CRC is valid
+--18910-- Reading syms from /lib/x86_64-linux-gnu/libz.so.1.2.11
+--18910--    object doesn't have a symbol table
+--18910-- REDIR: 0x5a4bc70 (libc.so.6:memmove) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--18910-- REDIR: 0x5a4ad40 (libc.so.6:strncpy) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--18910-- REDIR: 0x5a4bf50 (libc.so.6:strcasecmp) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--18910-- REDIR: 0x5a4a790 (libc.so.6:strcat) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--18910-- REDIR: 0x5a4ad70 (libc.so.6:rindex) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--18910-- REDIR: 0x5a4d7c0 (libc.so.6:rawmemchr) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--18910-- REDIR: 0x5a4bde0 (libc.so.6:mempcpy) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--18910-- REDIR: 0x5a4bc10 (libc.so.6:bcmp) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--18910-- REDIR: 0x5a4ad00 (libc.so.6:strncmp) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--18910-- REDIR: 0x5a4a800 (libc.so.6:strcmp) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--18910-- REDIR: 0x5a4bd40 (libc.so.6:memset) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--18910-- REDIR: 0x5a690f0 (libc.so.6:wcschr) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--18910-- REDIR: 0x5a4aca0 (libc.so.6:strnlen) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--18910-- REDIR: 0x5a4a870 (libc.so.6:strcspn) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--18910-- REDIR: 0x5a4bfa0 (libc.so.6:strncasecmp) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--18910-- REDIR: 0x5a4a840 (libc.so.6:strcpy) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--18910-- REDIR: 0x5a4c0e0 (libc.so.6:memcpy@@GLIBC_2.14) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--18910-- REDIR: 0x5a4ada0 (libc.so.6:strpbrk) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--18910-- REDIR: 0x5a4a7c0 (libc.so.6:index) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--18910-- REDIR: 0x5a4ac70 (libc.so.6:strlen) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--18910-- REDIR: 0x5a556c0 (libc.so.6:memrchr) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--18910-- REDIR: 0x5a4bff0 (libc.so.6:strcasecmp_l) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--18910-- REDIR: 0x5a4bbe0 (libc.so.6:memchr) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--18910-- REDIR: 0x5a69eb0 (libc.so.6:wcslen) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--18910-- REDIR: 0x5a4b050 (libc.so.6:strspn) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--18910-- REDIR: 0x5a4bf20 (libc.so.6:stpncpy) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--18910-- REDIR: 0x5a4bef0 (libc.so.6:stpcpy) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--18910-- REDIR: 0x5a4d7f0 (libc.so.6:strchrnul) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--18910-- REDIR: 0x5a4c040 (libc.so.6:strncasecmp_l) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--18910-- REDIR: 0x5ade8a0 (libc.so.6:__memcpy_chk) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--18910-- REDIR: 0x5b3b3c0 (libc.so.6:__strrchr_avx2) redirected to 0x4c32730 (rindex)
+--18910-- REDIR: 0x5a44070 (libc.so.6:malloc) redirected to 0x4c2faa0 (malloc)
+--18910-- REDIR: 0x5b3b590 (libc.so.6:__strlen_avx2) redirected to 0x4c32cf0 (strlen)
+--18910-- REDIR: 0x5b37ba0 (libc.so.6:__memcmp_avx2_movbe) redirected to 0x4c35e00 (bcmp)
+--18910-- REDIR: 0x5b16d60 (libc.so.6:__strcmp_ssse3) redirected to 0x4c33da0 (strcmp)
+--18910-- REDIR: 0x5101190 (libstdc++.so.6:operator new(unsigned long)) redirected to 0x4c30110 (operator new(unsigned long))
+--18910-- REDIR: 0x5b3bad0 (libc.so.6:__memcpy_avx_unaligned_erms) redirected to 0x4c366e0 (memmove)
+--18910-- REDIR: 0x5a4b590 (libc.so.6:__GI_strstr) redirected to 0x4c37760 (__strstr_sse2)
+--18910-- REDIR: 0x5b3bab0 (libc.so.6:__mempcpy_avx_unaligned_erms) redirected to 0x4c37130 (mempcpy)
+--18910-- REDIR: 0x50ff2e0 (libstdc++.so.6:operator delete(void*)) redirected to 0x4c311d0 (operator delete(void*))
+--18910-- REDIR: 0x5b3bf50 (libc.so.6:__memset_avx2_unaligned_erms) redirected to 0x4c365d0 (memset)
+--18910-- REDIR: 0x5a44950 (libc.so.6:free) redirected to 0x4c30cd0 (free)
+==18910== 
+==18910== HEAP SUMMARY:
+==18910==     in use at exit: 0 bytes in 0 blocks
+==18910==   total heap usage: 1,258 allocs, 1,258 frees, 570,182 bytes allocated
+==18910== 
+==18910== All heap blocks were freed -- no leaks are possible
+==18910== 
+==18910== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
+==18910== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)