Hi m.benderradji@outlook.fr,
All the code that is generated is based on the NXP S32K SDK drivers - hence the need for additional program space. You can easily see which drivers are used and how much program/data memory space it takes by checking the map file generated for each model.
Even for a simple Simulink model you have pointed out, there are a lot of initializations that happen under the hood in order to startup the MCU.

Fortunately, Simulink comes with a set of optimization features that may help you to reduce the code size or improve the execution speed of the program.

The ugly truth is that those optimization works for the Simulink model part (user application) and not the "mcu startup code" which is injected by the NXP toolbox in order to bring the MCU up to life.
To reduce the code size even further, you may use the cross-compiler optimization flags. In case of GCC you can enable the -Os flag instead of -O1 (GCC flags are described here)
Anyhow, keep in mind that there is a minimum size that is required for SDK driver initialization that can't be reduced further since it is absolutely necessary for the MCU startup.
Hope this address your concerns!
Best regards,
Daniel