@@ -3,70 +3,116 @@ module IfBench where
33tailRecursiveIfFn : Int -> Float
44tailRecursiveIfFn i =
55 if
6− | i < 0 ->
7− 10.0
8− | i == 0 ->
9− 20.0
10− | i > 0 && i < 10 ->
11− 30.0
12− | otherwise ->
6+ i < 0 ->
7+ then
8+ 10.0
9+ else if
10+ i == 0 ->
11+ then
12+ 20.0
13+ else if
14+ i > 0 && i < 10 ->
15+ then
16+ 30.0
17+ else
1318 tailRecursiveIfFn (i - (1 + (i % 5 ) ) )
1419
1520
1621manyConditionFunction i =
1722 if
18− | i <= 0 ->
19− 30.0 + (toFloat i)
20− | i > 100 && (i * i) % 20 == 7 ->
21− 24.3 + (toFloat i)
22− | i > 100 && (i % 3 == 1) ->
23− 3.33 + (toFloat i)
24− | (i == 152) ->
25− 29.0 + (toFloat i)
26− | (i + (i*i) > 200 && (i + (i*i) < 300)) ->
23+ i <= 0
24+ then
25+ 30.0 + (toFloat i)
26+ else if
27+ i > 100 && (i * i) % 20 == 7
28+ then
29+ 24.3 + (toFloat i)
30+ else if
31+ i > 100 && (i % 3 == 1)
32+ then
33+ 3.33 + (toFloat i)
34+ else if
35+ (i == 152)
36+ then
37+ 29.0 + (toFloat i)
38+ else if
39+ (i + (i*i) > 200 && (i + (i*i) < 300)) ->
2740 32.9 + (toFloat i)
28− | i == 99 ->
29− 93.0 + (toFloat i)
30− | (i*i % 17 == 13 ) ->
31− 9.0 + (toFloat i)
32− | (i == 101) ->
33− 39.0 + (toFloat i)
34− | (i == 102) ->
35− 38.0 + (toFloat i)
36− | (i == 103) ->
37− 49.0 + (toFloat i)
38− | (i == 104) ->
39− 59.0 + (toFloat i)
40− | (i == 105) ->
41− 69.0 + (toFloat i)
42− | (i == 106) ->
43− 39.0 + (toFloat i)
44− | (i == 107) ->
45− 38.0 + (toFloat i)
46− | (i == 108) ->
47− 49.0 + (toFloat i)
48− | (i == 109) ->
49− 59.0 + (toFloat i)
50− | (i == 110) ->
51− 69.0 + (toFloat i)
52− | (i == 111) ->
53− 39.0 + (toFloat i)
54− | (i == 115) ->
55− 69.0 + (toFloat i)
56− | otherwise ->
57− toFloat i
41+ else if
42+ i == 99
43+ then
44+ 93.0 + (toFloat i)
45+ else if
46+ (i*i % 17 == 13 )
47+ then
48+ 9.0 + (toFloat i)
49+ else if
50+ (i == 101)
51+ then
52+ 39.0 + (toFloat i)
53+ else if
54+ (i == 102)
55+ then
56+ 38.0 + (toFloat i)
57+ else if
58+ (i == 103)
59+ then
60+ 49.0 + (toFloat i)
61+ else if
62+ (i == 104)
63+ then
64+ 59.0 + (toFloat i)
65+ else if
66+ (i == 105)
67+ then
68+ 69.0 + (toFloat i)
69+ else if
70+ (i == 106)
71+ then
72+ 39.0 + (toFloat i)
73+ else if
74+ (i == 107)
75+ then
76+ 38.0 + (toFloat i)
77+ else if
78+ (i == 108)
79+ then
80+ 49.0 + (toFloat i)
81+ else if
82+ (i == 109)
83+ then
84+ 59.0 + (toFloat i)
85+ else if
86+ (i == 110)
87+ then
88+ 69.0 + (toFloat i)
89+ else if
90+ (i == 111)
91+ then
92+ 39.0 + (toFloat i)
93+ else if
94+ (i == 115)
95+ then
96+ 69.0 + (toFloat i)
97+ else
98+ toFloat i
5899
59100
60101fewConditionFunction i =
61102 if
62− | i <= 0 ->
63− 30.0 + (toFloat i)
64− | (i == 104) ->
65− 59.0 + (toFloat i)
66− | (i == 105) ->
67− 69.0 + (toFloat i)
68− | otherwise ->
69− toFloat i
103+ i <= 0
104+ then
105+ 30.0 + (toFloat i)
106+ else if
107+ (i == 104)
108+ then
109+ 59.0 + (toFloat i)
110+ else if
111+ (i == 105)
112+ then
113+ 69.0 + (toFloat i)
114+ else
115+ toFloat i
70116
71117
72118tailRecSum intList =