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