The calculated distance (air line) between General Santos and Iligan is approximately 159 miles respectively 257 kilometers.
By car or train, the actual journey to Iligan is certainly longer, as only the direct route (as the crow flies) between General Santos and Iligan has been calculated here.
Air line (approximately)
257 kilometers
138 nautical miles