Replacing "double" with "float" in all the C/D program the output image is the same, but the timings change:
Timings, seconds: Python: 193.6 Psyco: 49.80 D2: 6.30 D3: 4.22 C2 gcc: 4.06 (float) C gcc: 3.98 C llvm-gcc: 3.84 C2 llvm-gcc: 3.73 (float) D3b: 3.62 (float) Using both cores of my CPU the timings probably become half. Someone here may suggest the changes in the code to use 2/4 cores (on Windows) in that code. Be careful, the GPUAO versions that are supposed to run in 0.01 s with the GPU, may contain a virus. Bye, bearophile