machine dependent and independent optimization