Optimising compiled C code, including tail call optimisation and the restrict keyword

Introduction

Tail call optimisation

restrict

restrict keyword for pointers.

Indicates to compiler that no other pointer points to this variable.

Leads to more efficient code.