- let (a', b', fa', fb') =
- if (has_root f d b (Just epsilon) (Just f_of_d') (Just f_of_b'))
- then (d, b, f_of_d', f_of_b')
- else
- if (has_root f c d (Just epsilon) (Just f_of_c') (Just f_of_d'))
- then (c, d, f_of_c', f_of_d')
- else (a, c, f_of_a', f_of_c')
+ let (a', b', fa', fb')
+ | has_root f d b (Just epsilon) (Just f_of_d') (Just f_of_b') =
+ (d, b, f_of_d', f_of_b')
+ | has_root f c d (Just epsilon) (Just f_of_c') (Just f_of_d') =
+ (c, d, f_of_c', f_of_d')
+ | otherwise =
+ (a, c, f_of_a', f_of_c')