-ffast-math
ทำอะไรมากกว่าเพียงแค่ทำลายการปฏิบัติตามมาตรฐาน IEEE ที่เข้มงวด
ประการแรกแน่นอนว่ามันเป็นการละเมิดการปฏิบัติตามมาตรฐาน IEEE ที่เข้มงวดซึ่งอนุญาตให้มีการจัดเรียงคำสั่งใหม่ให้กับบางสิ่งที่เหมือนกันในเชิงคณิตศาสตร์ (ในอุดมคติ) แต่ไม่เหมือนกันในจุดลอย
ประการที่สองมันปิดใช้งานการตั้งค่าerrno
หลังจากฟังก์ชั่นทางคณิตศาสตร์คำสั่งเดียวซึ่งหมายถึงการหลีกเลี่ยงการเขียนตัวแปรเธรดท้องถิ่น (ซึ่งสามารถสร้างความแตกต่าง 100% สำหรับฟังก์ชั่นเหล่านั้นในสถาปัตยกรรมบางอย่าง)
ประการที่สามมันทำให้สมมติฐานที่ว่าคณิตศาสตร์ทั้งหมดมี จำกัดซึ่งหมายความว่าไม่มีการตรวจสอบ NaN (หรือศูนย์) ทำในสถานที่ที่พวกเขาจะมีผลกระทบที่เป็นอันตราย มันเป็นเพียงการสันนิษฐานว่าสิ่งนี้จะไม่เกิดขึ้น
ประการที่สี่จะช่วยให้การประมาณค่าซึ่งกันและกันสำหรับการหารและรากที่สองซึ่งกันและกัน
นอกจากนี้มันจะปิดการใช้งานศูนย์การลงนาม (รหัสสมมติว่าศูนย์การลงนามไม่มีอยู่แม้ว่าเป้าหมายที่สนับสนุนมัน) และคณิตศาสตร์การปัดเศษซึ่งช่วยให้ในหมู่สิ่งอื่น ๆ อย่างต่อเนื่องพับที่รวบรวมเวลา
สุดท้ายมันสร้างรหัสที่สมมติว่าไม่มีการขัดจังหวะฮาร์ดแวร์เกิดขึ้นเนื่องจากการส่งสัญญาณ / ดักจับคณิตศาสตร์ (นั่นคือถ้าสิ่งเหล่านี้ไม่สามารถปิดการใช้งานในสถาปัตยกรรมเป้าหมายและทำให้เกิดขึ้นพวกเขาจะไม่ได้รับการจัดการ)