I am trying to write code for 2-variable fractal interpolation functions using two iterated function systems and two starting functions (both $y(x)=x$) which creates a sequence of piecewise defined functions using iterated functions systems(IFS) that converges to an element of the single superfractal. There is randomness involved so each run generates a different attractor.
I am not familiar with most of Mathematica's built in features, so the best I could do involved too many if-statements. The code is very long due to the fact that at each stage of the iteration process (and for each function in the chosen IFS) one of the two previous stage's functions is used. The code plots the first four stages of the two sequences of functions. There must be an easier way and any help would be much appreciated.
{a1, b1} = {.25, .4}; {a2, b2} = {.28, .22}; {a3, b3} = {.3, .26}; {a4, b4} = {.32, .1}; {a5, b5} = {.7, .8}; {a6, b6} = {.73, .6}; {a7, b7} = {.78, .8}; {a8, b8} = {.8, .6}; {c1, d1} = {.20, .45}; {c2, d2} = {.25, .3}; {c3, d3} = {.28, .45}; {c4, d4} = {.32, .2}; {c5, d5} = {.6, .75}; {c6, d6} = {.7, .65}; {c7, d7} = {.8, .7}; {c8, d8} = {.83, .6}; y0[x_] := x; z0[x_] := x; If[RandomInteger[] == 0, If[RandomInteger[] == 0, f1[x_] := b1*y0[x/a1], f1[x_] := b1*z0[x/a1]]; If[RandomInteger[] == 0, g1[x_] := (b2 - b1)*y0[(x - a1)/(a2 - a1)] + b1, g1[x_] := (b2 - b1)*z0[(x - a1)/(a2 - a1)] + b1]; If[RandomInteger[] == 0, h1[x_] := (b3 - b2)*y0[(x - a2)/(a3 - a2)] + b2, h1[x_] := (b3 - b2)*z0[(x - a2)/(a3 - a2)] + b2]; If[RandomInteger[] == 0, i1[x_] := (b4 - b3)*y0[(x - a3)/(a4 - a3)] + b3, i1[x_] := (b4 - b3)*z0[(x - a3)/(a4 - a3)] + b3]; If[RandomInteger[] == 0, j1[x_] := (b5 - b4)*y0[(x - a4)/(a5 - a4)] + b4, j1[x_] := (b5 - b4)*z0[(x - a4)/(a5 - a4)] + b4]; If[RandomInteger[] == 0, k1[x_] := (b6 - b5)*y0[(x - a5)/(a6 - a5)] + b5, k1[x_] := (b6 - b5)*z0[(x - a5)/(a6 - a5)] + b5]; If[RandomInteger[] == 0, l1[x_] := (b7 - b6)*y0[(x - a6)/(a7 - a6)] + b6, l1[x_] := (b7 - b6)*z0[(x - a6)/(a7 - a6)] + b6]; If[RandomInteger[] == 0, m1[x_] := (b8 - b7)*y0[(x - a7)/(a8 - a7)] + b7, m1[x_] := (b8 - b7)*z0[(x - a7)/(a8 - a7)] + b7]; If[RandomInteger[] == 0, n1[x_] := (1 - b8)*y0[(x - a8)/(1 - a8)] + b8, n1[x_] := (1 - b8)*z0[(x - a8)/(1 - a8)] + b8]; y1[x_] := If[0 <= x < a1, f1[x], If[a1 <= x < a2, g1[x], If[a2 <= x < a3, h1[x], If[a3 <= x < a4, i1[x], If[a4 <= x < a5, j1[x], If[a5 <= x < a6, k1[x], If[a6 <= x < a7, l1[x], If[a7 <= x < a8, m1[x], n1[x]]]]]]]]], If[RandomInteger[] == 0, o1[x_] := d1*y0[1/c1*x], o1[x_] := d1*z0[1/c1*x]]; If[RandomInteger[] == 0, p1[x_] := (d2 - d1)*y0[(x - c1)/(c2 - c1)] + d1, p1[x_] := (d2 - d1)*z0[(x - c1)/(c2 - c1)] + d1]; If[RandomInteger[] == 0, q1[x_] := (d3 - d2)*y0[(x - c2)/(c3 - c2)] + d2, q1[x_] := (d3 - d2)*z0[(x - c2)/(c3 - c2)] + d2]; If[RandomInteger[] == 0, r1[x_] := (d4 - d3)*y0[(x - c3)/(c4 - c3)] + d3, r1[x_] := (d4 - d3)*z0[(x - c3)/(c4 - c3)] + d3]; If[RandomInteger[] == 0, s1[x_] := (d5 - d4)*y0[(x - c4)/(c5 - c4)] + d4, s1[x_] := (d5 - d4)*z0[(x - c4)/(c5 - c4)] + d4]; If[RandomInteger[] == 0, t1[x_] := (d6 - d5)*y0[(x - c5)/(c6 - c5)] + d5, t1[x_] := (d6 - d5)*z0[(x - c5)/(c6 - c5)] + d5]; If[RandomInteger[] == 0, u1[x_] := (d7 - d6)*y0[(x - c6)/(c7 - c6)] + d6, u1[x_] := (d7 - d6)*z0[(x - c6)/(c7 - c6)] + d6]; If[RandomInteger[] == 0, v1[x_] := (d8 - d7)*y0[(x - c7)/(c8 - c7)] + d7, v1[x_] := (d8 - d7)*z0[(x - c7)/(c8 - c7)] + d7]; If[RandomInteger[] == 0, w1[x_] := (1 - d8)*y0[(x - c8)/(1 - c8)] + d8, w1[x_] := (1 - d8)*z0[(x - c8)/(1 - c8)] + d8]; y1[x_] := If[0 <= x < c1, o1[x], If[c1 <= x < c2, p1[x], If[c2 <= x < c3, q1[x], If[c3 <= x < c4, r1[x], If[c4 <= x < c5, s1[x], If[c5 <= x < c6, t1[x], If[c6 <= x < c7, u1[x], If[c7 <= x < c8, v1[x], w1[x]]]]]]]]]] If[RandomInteger[] == 0, If[RandomInteger[] == 0, f1[x_] := b1*y0[x/a1], f1[x_] := b1*z0[x/a1]]; If[RandomInteger[] == 0, g1[x_] := (b2 - b1)*y0[(x - a1)/(a2 - a1)] + b1, g1[x_] := (b2 - b1)*z0[(x - a1)/(a2 - a1)] + b1]; If[RandomInteger[] == 0, h1[x_] := (b3 - b2)*y0[(x - a2)/(a3 - a2)] + b2, h1[x_] := (b3 - b2)*z0[(x - a2)/(a3 - a2)] + b2]; If[RandomInteger[] == 0, i1[x_] := (b4 - b3)*y0[(x - a3)/(a4 - a3)] + b3, i1[x_] := (b4 - b3)*z0[(x - a3)/(a4 - a3)] + b3]; If[RandomInteger[] == 0, j1[x_] := (b5 - b4)*y0[(x - a4)/(a5 - a4)] + b4, j1[x_] := (b5 - b4)*z0[(x - a4)/(a5 - a4)] + b4]; If[RandomInteger[] == 0, k1[x_] := (b6 - b5)*y0[(x - a5)/(a6 - a5)] + b5, k1[x_] := (b6 - b5)*z0[(x - a5)/(a6 - a5)] + b5]; If[RandomInteger[] == 0, l1[x_] := (b7 - b6)*y0[(x - a6)/(a7 - a6)] + b6, l1[x_] := (b7 - b6)*z0[(x - a6)/(a7 - a6)] + b6]; If[RandomInteger[] == 0, m1[x_] := (b8 - b7)*y0[(x - a7)/(a8 - a7)] + b7, m1[x_] := (b8 - b7)*z0[(x - a7)/(a8 - a7)] + b7]; If[RandomInteger[] == 0, n1[x_] := (1 - b8)*y0[(x - a8)/(1 - a8)] + b8, n1[x_] := (1 - b8)*z0[(x - a8)/(1 - a8)] + b8]; z1[x_] := If[0 <= x < a1, f1[x], If[a1 <= x < a2, g1[x], If[a2 <= x < a3, h1[x], If[a3 <= x < a4, i1[x], If[a4 <= x < a5, j1[x], If[a5 <= x < a6, k1[x], If[a6 <= x < a7, l1[x], If[a7 <= x < a8, m1[x], n1[x]]]]]]]]], If[RandomInteger[] == 0, o1[x_] := d1*y0[1/c1*x], o1[x_] := d1*z0[1/c1*x]]; If[RandomInteger[] == 0, p1[x_] := (d2 - d1)*y0[(x - c1)/(c2 - c1)] + d1, p1[x_] := (d2 - d1)*z0[(x - c1)/(c2 - c1)] + d1]; If[RandomInteger[] == 0, q1[x_] := (d3 - d2)*y0[(x - c2)/(c3 - c2)] + d2, q1[x_] := (d3 - d2)*z0[(x - c2)/(c3 - c2)] + d2]; If[RandomInteger[] == 0, r1[x_] := (d4 - d3)*y0[(x - c3)/(c4 - c3)] + d3, r1[x_] := (d4 - d3)*z0[(x - c3)/(c4 - c3)] + d3]; If[RandomInteger[] == 0, s1[x_] := (d5 - d4)*y0[(x - c4)/(c5 - c4)] + d4, s1[x_] := (d5 - d4)*z0[(x - c4)/(c5 - c4)] + d4]; If[RandomInteger[] == 0, t1[x_] := (d6 - d5)*y0[(x - c5)/(c6 - c5)] + d5, t1[x_] := (d6 - d5)*z0[(x - c5)/(c6 - c5)] + d5]; If[RandomInteger[] == 0, u1[x_] := (d7 - d6)*y0[(x - c6)/(c7 - c6)] + d6, u1[x_] := (d7 - d6)*z0[(x - c6)/(c7 - c6)] + d6]; If[RandomInteger[] == 0, v1[x_] := (d8 - d7)*y0[(x - c7)/(c8 - c7)] + d7, v1[x_] := (d8 - d7)*z0[(x - c7)/(c8 - c7)] + d7]; If[RandomInteger[] == 0, w1[x_] := (1 - d8)*y0[(x - c8)/(1 - c8)] + d8, w1[x_] := (1 - d8)*z0[(x - c8)/(1 - c8)] + d8]; z1[x_] := If[0 <= x < c1, o1[x], If[c1 <= x < c2, p1[x], If[c2 <= x < c3, q1[x], If[c3 <= x < c4, r1[x], If[c4 <= x < c5, s1[x], If[c5 <= x < c6, t1[x], If[c6 <= x < c7, u1[x], If[c7 <= x < c8, v1[x], w1[x]]]]]]]]]] If[RandomInteger[] == 0, If[RandomInteger[] == 0, f2[x_] := b1*y1[x/a1], f2[x_] := b1*z1[x/a1]]; If[RandomInteger[] == 0, g2[x_] := (b2 - b1)*y1[(x - a1)/(a2 - a1)] + b1, g2[x_] := (b2 - b1)*z1[(x - a1)/(a2 - a1)] + b1]; If[RandomInteger[] == 0, h2[x_] := (b3 - b2)*y1[(x - a2)/(a3 - a2)] + b2, h2[x_] := (b3 - b2)*z1[(x - a2)/(a3 - a2)] + b2]; If[RandomInteger[] == 0, i2[x_] := (b4 - b3)*y1[(x - a3)/(a4 - a3)] + b3, i2[x_] := (b4 - b3)*z1[(x - a3)/(a4 - a3)] + b3]; If[RandomInteger[] == 0, j2[x_] := (b5 - b4)*y1[(x - a4)/(a5 - a4)] + b4, j2[x_] := (b5 - b4)*z1[(x - a4)/(a5 - a4)] + b4]; If[RandomInteger[] == 0, k2[x_] := (b6 - b5)*y1[(x - a5)/(a6 - a5)] + b5, k2[x_] := (b6 - b5)*z1[(x - a5)/(a6 - a5)] + b5]; If[RandomInteger[] == 0, l2[x_] := (b7 - b6)*y1[(x - a6)/(a7 - a6)] + b6, l2[x_] := (b7 - b6)*z1[(x - a6)/(a7 - a6)] + b6]; If[RandomInteger[] == 0, m2[x_] := (b8 - b7)*y1[(x - a7)/(a8 - a7)] + b7, m2[x_] := (b8 - b7)*z1[(x - a7)/(a8 - a7)] + b7]; If[RandomInteger[] == 0, n2[x_] := (1 - b8)*y1[(x - a8)/(1 - a8)] + b8, n2[x_] := (1 - b8)*z1[(x - a8)/(1 - a8)] + b8]; y2[x_] := If[0 <= x < a1, f2[x], If[a1 <= x < a2, g2[x], If[a2 <= x < a3, h2[x], If[a3 <= x < a4, i2[x], If[a4 <= x < a5, j2[x], If[a5 <= x < a6, k2[x], If[a6 <= x < a7, l2[x], If[a7 <= x < a8, m2[x], n2[x]]]]]]]]], If[RandomInteger[] == 0, o2[x_] := d1*y1[1/c1*x], o2[x_] := d1*z1[1/c1*x]]; If[RandomInteger[] == 0, p2[x_] := (d2 - d1)*y1[(x - c1)/(c2 - c1)] + d1, p2[x_] := (d2 - d1)*z1[(x - c1)/(c2 - c1)] + d1]; If[RandomInteger[] == 0, q2[x_] := (d3 - d2)*y1[(x - c2)/(c3 - c2)] + d2, q2[x_] := (d3 - d2)*z1[(x - c2)/(c3 - c2)] + d2]; If[RandomInteger[] == 0, r2[x_] := (d4 - d3)*y1[(x - c3)/(c4 - c3)] + d3, r2[x_] := (d4 - d3)*z1[(x - c3)/(c4 - c3)] + d3]; If[RandomInteger[] == 0, s2[x_] := (d5 - d4)*y1[(x - c4)/(c5 - c4)] + d4, s2[x_] := (d5 - d4)*z1[(x - c4)/(c5 - c4)] + d4]; If[RandomInteger[] == 0, t2[x_] := (d6 - d5)*y1[(x - c5)/(c6 - c5)] + d5, t2[x_] := (d6 - d5)*z1[(x - c5)/(c6 - c5)] + d5]; If[RandomInteger[] == 0, u2[x_] := (d7 - d6)*y1[(x - c6)/(c7 - c6)] + d6, u2[x_] := (d7 - d6)*z1[(x - c6)/(c7 - c6)] + d6]; If[RandomInteger[] == 0, v2[x_] := (d8 - d7)*y1[(x - c7)/(c8 - c7)] + d7, v2[x_] := (d8 - d7)*z1[(x - c7)/(c8 - c7)] + d7]; If[RandomInteger[] == 0, w2[x_] := (1 - d8)*y1[(x - c8)/(1 - c8)] + d8, w2[x_] := (1 - d8)*z1[(x - c8)/(1 - c8)] + d8]; y2[x_] := If[0 <= x < c1, o2[x], If[c1 <= x < c2, p2[x], If[c2 <= x < c3, q2[x], If[c3 <= x < c4, r2[x], If[c4 <= x < c5, s2[x], If[c5 <= x < c6, t2[x], If[c6 <= x < c7, u2[x], If[c7 <= x < c8, v2[x], w2[x]]]]]]]]]] If[RandomInteger[] == 0, If[RandomInteger[] == 0, f2[x_] := b1*y1[x/a1], f2[x_] := b1*z1[x/a1]]; If[RandomInteger[] == 0, g2[x_] := (b2 - b1)*y1[(x - a1)/(a2 - a1)] + b1, g2[x_] := (b2 - b1)*z1[(x - a1)/(a2 - a1)] + b1]; If[RandomInteger[] == 0, h2[x_] := (b3 - b2)*y1[(x - a2)/(a3 - a2)] + b2, h2[x_] := (b3 - b2)*z1[(x - a2)/(a3 - a2)] + b2]; If[RandomInteger[] == 0, i2[x_] := (b4 - b3)*y1[(x - a3)/(a4 - a3)] + b3, i2[x_] := (b4 - b3)*z1[(x - a3)/(a4 - a3)] + b3]; If[RandomInteger[] == 0, j2[x_] := (b5 - b4)*y1[(x - a4)/(a5 - a4)] + b4, j2[x_] := (b5 - b4)*z1[(x - a4)/(a5 - a4)] + b4]; If[RandomInteger[] == 0, k2[x_] := (b6 - b5)*y1[(x - a5)/(a6 - a5)] + b5, k2[x_] := (b6 - b5)*z1[(x - a5)/(a6 - a5)] + b5]; If[RandomInteger[] == 0, l2[x_] := (b7 - b6)*y1[(x - a6)/(a7 - a6)] + b6, l2[x_] := (b7 - b6)*z1[(x - a6)/(a7 - a6)] + b6]; If[RandomInteger[] == 0, m2[x_] := (b8 - b7)*y1[(x - a7)/(a8 - a7)] + b7, m2[x_] := (b8 - b7)*z1[(x - a7)/(a8 - a7)] + b7]; If[RandomInteger[] == 0, n2[x_] := (1 - b8)*y1[(x - a8)/(1 - a8)] + b8, n2[x_] := (1 - b8)*z1[(x - a8)/(1 - a8)] + b8]; z2[x_] := If[0 <= x < a1, f2[x], If[a1 <= x < a2, g2[x], If[a2 <= x < a3, h2[x], If[a3 <= x < a4, i2[x], If[a4 <= x < a5, j2[x], If[a5 <= x < a6, k2[x], If[a6 <= x < a7, l2[x], If[a7 <= x < a8, m2[x], n2[x]]]]]]]]], If[RandomInteger[] == 0, o2[x_] := d1*y1[1/c1*x], o2[x_] := d1*z1[1/c1*x]]; If[RandomInteger[] == 0, p2[x_] := (d2 - d1)*y1[(x - c1)/(c2 - c1)] + d1, p2[x_] := (d2 - d1)*z1[(x - c1)/(c2 - c1)] + d1]; If[RandomInteger[] == 0, q2[x_] := (d3 - d2)*y1[(x - c2)/(c3 - c2)] + d2, q2[x_] := (d3 - d2)*z1[(x - c2)/(c3 - c2)] + d2]; If[RandomInteger[] == 0, r2[x_] := (d4 - d3)*y1[(x - c3)/(c4 - c3)] + d3, r2[x_] := (d4 - d3)*z1[(x - c3)/(c4 - c3)] + d3]; If[RandomInteger[] == 0, s2[x_] := (d5 - d4)*y1[(x - c4)/(c5 - c4)] + d4, s2[x_] := (d5 - d4)*z1[(x - c4)/(c5 - c4)] + d4]; If[RandomInteger[] == 0, t2[x_] := (d6 - d5)*y1[(x - c5)/(c6 - c5)] + d5, t2[x_] := (d6 - d5)*z1[(x - c5)/(c6 - c5)] + d5]; If[RandomInteger[] == 0, u2[x_] := (d7 - d6)*y1[(x - c6)/(c7 - c6)] + d6, u2[x_] := (d7 - d6)*z1[(x - c6)/(c7 - c6)] + d6]; If[RandomInteger[] == 0, v2[x_] := (d8 - d7)*y1[(x - c7)/(c8 - c7)] + d7, v2[x_] := (d8 - d7)*z1[(x - c7)/(c8 - c7)] + d7]; If[RandomInteger[] == 0, w2[x_] := (1 - d8)*y1[(x - c8)/(1 - c8)] + d8, w2[x_] := (1 - d8)*z1[(x - c8)/(1 - c8)] + d8]; z2[x_] := If[0 <= x < c1, o2[x], If[c1 <= x < c2, p2[x], If[c2 <= x < c3, q2[x], If[c3 <= x < c4, r2[x], If[c4 <= x < c5, s2[x], If[c5 <= x < c6, t2[x], If[c6 <= x < c7, u2[x], If[c7 <= x < c8, v2[x], w2[x]]]]]]]]]] If[RandomInteger[] == 0, If[RandomInteger[] == 0, f3[x_] := b1*y2[x/a1], f3[x_] := b1*z2[x/a1]]; If[RandomInteger[] == 0, g3[x_] := (b2 - b1)*y2[(x - a1)/(a2 - a1)] + b1, g3[x_] := (b2 - b1)*z2[(x - a1)/(a2 - a1)] + b1]; If[RandomInteger[] == 0, h3[x_] := (b3 - b2)*y2[(x - a2)/(a3 - a2)] + b2, h3[x_] := (b3 - b2)*z2[(x - a2)/(a3 - a2)] + b2]; If[RandomInteger[] == 0, i3[x_] := (b4 - b3)*y2[(x - a3)/(a4 - a3)] + b3, i3[x_] := (b4 - b3)*z2[(x - a3)/(a4 - a3)] + b3]; If[RandomInteger[] == 0, j3[x_] := (b5 - b4)*y2[(x - a4)/(a5 - a4)] + b4, j3[x_] := (b5 - b4)*z2[(x - a4)/(a5 - a4)] + b4]; If[RandomInteger[] == 0, k3[x_] := (b6 - b5)*y2[(x - a5)/(a6 - a5)] + b5, k3[x_] := (b6 - b5)*z2[(x - a5)/(a6 - a5)] + b5]; If[RandomInteger[] == 0, l3[x_] := (b7 - b6)*y2[(x - a6)/(a7 - a6)] + b6, l3[x_] := (b7 - b6)*z2[(x - a6)/(a7 - a6)] + b6]; If[RandomInteger[] == 0, m3[x_] := (b8 - b7)*y2[(x - a7)/(a8 - a7)] + b7, m3[x_] := (b8 - b7)*z2[(x - a7)/(a8 - a7)] + b7]; If[RandomInteger[] == 0, n3[x_] := (1 - b8)*y2[(x - a8)/(1 - a8)] + b8, n3[x_] := (1 - b8)*z2[(x - a8)/(1 - a8)] + b8]; y3[x_] := If[0 <= x < a1, f3[x], If[a1 <= x < a2, g3[x], If[a2 <= x < a3, h3[x], If[a3 <= x < a4, i3[x], If[a4 <= x < a5, j3[x], If[a5 <= x < a6, k3[x], If[a6 <= x < a7, l3[x], If[a7 <= x < a8, m3[x], n3[x]]]]]]]]], If[RandomInteger[] == 0, o3[x_] := d1*y2[1/c1*x], o3[x_] := d1*z2[1/c1*x]]; If[RandomInteger[] == 0, p3[x_] := (d2 - d1)*y2[(x - c1)/(c2 - c1)] + d1, p3[x_] := (d2 - d1)*z2[(x - c1)/(c2 - c1)] + d1]; If[RandomInteger[] == 0, q3[x_] := (d3 - d2)*y2[(x - c2)/(c3 - c2)] + d2, q3[x_] := (d3 - d2)*z2[(x - c2)/(c3 - c2)] + d2]; If[RandomInteger[] == 0, r3[x_] := (d4 - d3)*y2[(x - c3)/(c4 - c3)] + d3, r3[x_] := (d4 - d3)*z2[(x - c3)/(c4 - c3)] + d3]; If[RandomInteger[] == 0, s3[x_] := (d5 - d4)*y2[(x - c4)/(c5 - c4)] + d4, s3[x_] := (d5 - d4)*z2[(x - c4)/(c5 - c4)] + d4]; If[RandomInteger[] == 0, t3[x_] := (d6 - d5)*y2[(x - c5)/(c6 - c5)] + d5, t3[x_] := (d6 - d5)*z2[(x - c5)/(c6 - c5)] + d5]; If[RandomInteger[] == 0, u3[x_] := (d7 - d6)*y2[(x - c6)/(c7 - c6)] + d6, u3[x_] := (d7 - d6)*z2[(x - c6)/(c7 - c6)] + d6]; If[RandomInteger[] == 0, v3[x_] := (d8 - d7)*y2[(x - c7)/(c8 - c7)] + d7, v3[x_] := (d8 - d7)*z2[(x - c7)/(c8 - c7)] + d7]; If[RandomInteger[] == 0, w3[x_] := (1 - d8)*y2[(x - c8)/(1 - c8)] + d8, w3[x_] := (1 - d8)*z2[(x - c8)/(1 - c8)] + d8]; y3[x_] := If[0 <= x < c1, o3[x], If[c1 <= x < c2, p3[x], If[c2 <= x < c3, q3[x], If[c3 <= x < c4, r3[x], If[c4 <= x < c5, s3[x], If[c5 <= x < c6, t3[x], If[c6 <= x < c7, u3[x], If[c7 <= x < c8, v3[x], w3[x]]]]]]]]]] If[RandomInteger[] == 0, If[RandomInteger[] == 0, f3[x_] := b1*y2[x/a1], f3[x_] := b1*z2[x/a1]]; If[RandomInteger[] == 0, g3[x_] := (b2 - b1)*y2[(x - a1)/(a2 - a1)] + b1, g3[x_] := (b2 - b1)*z2[(x - a1)/(a2 - a1)] + b1]; If[RandomInteger[] == 0, h3[x_] := (b3 - b2)*y2[(x - a2)/(a3 - a2)] + b2, h3[x_] := (b3 - b2)*z2[(x - a2)/(a3 - a2)] + b2]; If[RandomInteger[] == 0, i3[x_] := (b4 - b3)*y2[(x - a3)/(a4 - a3)] + b3, i3[x_] := (b4 - b3)*z2[(x - a3)/(a4 - a3)] + b3]; If[RandomInteger[] == 0, j3[x_] := (b5 - b4)*y2[(x - a4)/(a5 - a4)] + b4, j3[x_] := (b5 - b4)*z2[(x - a4)/(a5 - a4)] + b4]; If[RandomInteger[] == 0, k3[x_] := (b6 - b5)*y2[(x - a5)/(a6 - a5)] + b5, k3[x_] := (b6 - b5)*z2[(x - a5)/(a6 - a5)] + b5]; If[RandomInteger[] == 0, l3[x_] := (b7 - b6)*y2[(x - a6)/(a7 - a6)] + b6, l3[x_] := (b7 - b6)*z2[(x - a6)/(a7 - a6)] + b6]; If[RandomInteger[] == 0, m3[x_] := (b8 - b7)*y2[(x - a7)/(a8 - a7)] + b7, m3[x_] := (b8 - b7)*z2[(x - a7)/(a8 - a7)] + b7]; If[RandomInteger[] == 0, n3[x_] := (1 - b8)*y2[(x - a8)/(1 - a8)] + b8, n3[x_] := (1 - b8)*z2[(x - a8)/(1 - a8)] + b8]; z3[x_] := If[0 <= x < a1, f3[x], If[a1 <= x < a2, g3[x], If[a2 <= x < a3, h3[x], If[a3 <= x < a4, i3[x], If[a4 <= x < a5, j3[x], If[a5 <= x < a6, k3[x], If[a6 <= x < a7, l3[x], If[a7 <= x < a8, m3[x], n3[x]]]]]]]]], If[RandomInteger[] == 0, o3[x_] := d1*y2[1/c1*x], o3[x_] := d1*z2[1/c1*x]]; If[RandomInteger[] == 0, p3[x_] := (d2 - d1)*y2[(x - c1)/(c2 - c1)] + d1, p3[x_] := (d2 - d1)*z2[(x - c1)/(c2 - c1)] + d1]; If[RandomInteger[] == 0, q3[x_] := (d3 - d2)*y2[(x - c2)/(c3 - c2)] + d2, q3[x_] := (d3 - d2)*z2[(x - c2)/(c3 - c2)] + d2]; If[RandomInteger[] == 0, r3[x_] := (d4 - d3)*y2[(x - c3)/(c4 - c3)] + d3, r3[x_] := (d4 - d3)*z2[(x - c3)/(c4 - c3)] + d3]; If[RandomInteger[] == 0, s3[x_] := (d5 - d4)*y2[(x - c4)/(c5 - c4)] + d4, s3[x_] := (d5 - d4)*z2[(x - c4)/(c5 - c4)] + d4]; If[RandomInteger[] == 0, t3[x_] := (d6 - d5)*y2[(x - c5)/(c6 - c5)] + d5, t3[x_] := (d6 - d5)*z2[(x - c5)/(c6 - c5)] + d5]; If[RandomInteger[] == 0, u3[x_] := (d7 - d6)*y2[(x - c6)/(c7 - c6)] + d6, u3[x_] := (d7 - d6)*z2[(x - c6)/(c7 - c6)] + d6]; If[RandomInteger[] == 0, v3[x_] := (d8 - d7)*y2[(x - c7)/(c8 - c7)] + d7, v3[x_] := (d8 - d7)*z2[(x - c7)/(c8 - c7)] + d7]; If[RandomInteger[] == 0, w3[x_] := (1 - d8)*y2[(x - c8)/(1 - c8)] + d8, w3[x_] := (1 - d8)*z2[(x - c8)/(1 - c8)] + d8]; z3[x_] := If[0 <= x < c1, o3[x], If[c1 <= x < c2, p3[x], If[c2 <= x < c3, q3[x], If[c3 <= x < c4, r3[x], If[c4 <= x < c5, s3[x], If[c5 <= x < c6, t3[x], If[c6 <= x < c7, u3[x], If[c7 <= x < c8, v3[x], w3[x]]]]]]]]]] If[RandomInteger[] == 0, If[RandomInteger[] == 0, f4[x_] := b1*y3[x/a1], f4[x_] := b1*z3[x/a1]]; If[RandomInteger[] == 0, g4[x_] := (b2 - b1)*y3[(x - a1)/(a2 - a1)] + b1, g4[x_] := (b2 - b1)*z3[(x - a1)/(a2 - a1)] + b1]; If[RandomInteger[] == 0, h4[x_] := (b3 - b2)*y3[(x - a2)/(a3 - a2)] + b2, h4[x_] := (b3 - b2)*z3[(x - a2)/(a3 - a2)] + b2]; If[RandomInteger[] == 0, i4[x_] := (b4 - b3)*y3[(x - a3)/(a4 - a3)] + b3, i4[x_] := (b4 - b3)*z3[(x - a3)/(a4 - a3)] + b3]; If[RandomInteger[] == 0, j4[x_] := (b5 - b4)*y3[(x - a4)/(a5 - a4)] + b4, j4[x_] := (b5 - b4)*z3[(x - a4)/(a5 - a4)] + b4]; If[RandomInteger[] == 0, k4[x_] := (b6 - b5)*y3[(x - a5)/(a6 - a5)] + b5, k4[x_] := (b6 - b5)*z3[(x - a5)/(a6 - a5)] + b5]; If[RandomInteger[] == 0, l4[x_] := (b7 - b6)*y3[(x - a6)/(a7 - a6)] + b6, l4[x_] := (b7 - b6)*z3[(x - a6)/(a7 - a6)] + b6]; If[RandomInteger[] == 0, m4[x_] := (b8 - b7)*y3[(x - a7)/(a8 - a7)] + b7, m4[x_] := (b8 - b7)*z3[(x - a7)/(a8 - a7)] + b7]; If[RandomInteger[] == 0, n4[x_] := (1 - b8)*y3[(x - a8)/(1 - a8)] + b8, n4[x_] := (1 - b8)*z3[(x - a8)/(1 - a8)] + b8]; y4[x_] := If[0 <= x < a1, f4[x], If[a1 <= x < a2, g4[x], If[a2 <= x < a3, h4[x], If[a3 <= x < a4, i4[x], If[a4 <= x < a5, j4[x], If[a5 <= x < a6, k4[x], If[a6 <= x < a7, l4[x], If[a7 <= x < a8, m4[x], n4[x]]]]]]]]], If[RandomInteger[] == 0, o4[x_] := d1*y3[1/c1*x], o4[x_] := d1*z3[1/c1*x]]; If[RandomInteger[] == 0, p4[x_] := (d2 - d1)*y3[(x - c1)/(c2 - c1)] + d1, p4[x_] := (d2 - d1)*z3[(x - c1)/(c2 - c1)] + d1]; If[RandomInteger[] == 0, q4[x_] := (d3 - d2)*y3[(x - c2)/(c3 - c2)] + d2, q4[x_] := (d3 - d2)*z3[(x - c2)/(c3 - c2)] + d2]; If[RandomInteger[] == 0, r4[x_] := (d4 - d3)*y3[(x - c3)/(c4 - c3)] + d3, r4[x_] := (d4 - d3)*z3[(x - c3)/(c4 - c3)] + d3]; If[RandomInteger[] == 0, s4[x_] := (d5 - d4)*y3[(x - c4)/(c5 - c4)] + d4, s4[x_] := (d5 - d4)*z3[(x - c4)/(c5 - c4)] + d4]; If[RandomInteger[] == 0, t4[x_] := (d6 - d5)*y3[(x - c5)/(c6 - c5)] + d5, t4[x_] := (d6 - d5)*z3[(x - c5)/(c6 - c5)] + d5]; If[RandomInteger[] == 0, u4[x_] := (d7 - d6)*y3[(x - c6)/(c7 - c6)] + d6, u4[x_] := (d7 - d6)*z3[(x - c6)/(c7 - c6)] + d6]; If[RandomInteger[] == 0, v4[x_] := (d8 - d7)*y3[(x - c7)/(c8 - c7)] + d7, v4[x_] := (d8 - d7)*z3[(x - c7)/(c8 - c7)] + d7]; If[RandomInteger[] == 0, w4[x_] := (1 - d8)*y3[(x - c8)/(1 - c8)] + d8, w4[x_] := (1 - d8)*z3[(x - c8)/(1 - c8)] + d8]; y4[x_] := If[0 <= x < c1, o4[x], If[c1 <= x < c2, p4[x], If[c2 <= x < c3, q4[x], If[c3 <= x < c4, r4[x], If[c4 <= x < c5, s4[x], If[c5 <= x < c6, t4[x], If[c6 <= x < c7, u4[x], If[c7 <= x < c8, v4[x], w4[x]]]]]]]]]] If[RandomInteger[] == 0, If[RandomInteger[] == 0, f4[x_] := b1*y3[x/a1], f4[x_] := b1*z3[x/a1]]; If[RandomInteger[] == 0, g4[x_] := (b2 - b1)*y3[(x - a1)/(a2 - a1)] + b1, g4[x_] := (b2 - b1)*z3[(x - a1)/(a2 - a1)] + b1]; If[RandomInteger[] == 0, h4[x_] := (b3 - b2)*y3[(x - a2)/(a3 - a2)] + b2, h4[x_] := (b3 - b2)*z3[(x - a2)/(a3 - a2)] + b2]; If[RandomInteger[] == 0, i4[x_] := (b4 - b3)*y3[(x - a3)/(a4 - a3)] + b3, i4[x_] := (b4 - b3)*z3[(x - a3)/(a4 - a3)] + b3]; If[RandomInteger[] == 0, j4[x_] := (b5 - b4)*y3[(x - a4)/(a5 - a4)] + b4, j4[x_] := (b5 - b4)*z3[(x - a4)/(a5 - a4)] + b4]; If[RandomInteger[] == 0, k4[x_] := (b6 - b5)*y3[(x - a5)/(a6 - a5)] + b5, k4[x_] := (b6 - b5)*z3[(x - a5)/(a6 - a5)] + b5]; If[RandomInteger[] == 0, l4[x_] := (b7 - b6)*y3[(x - a6)/(a7 - a6)] + b6, l4[x_] := (b7 - b6)*z3[(x - a6)/(a7 - a6)] + b6]; If[RandomInteger[] == 0, m4[x_] := (b8 - b7)*y3[(x - a7)/(a8 - a7)] + b7, m4[x_] := (b8 - b7)*z3[(x - a7)/(a8 - a7)] + b7]; If[RandomInteger[] == 0, n4[x_] := (1 - b8)*y3[(x - a8)/(1 - a8)] + b8, n4[x_] := (1 - b8)*z3[(x - a8)/(1 - a8)] + b8]; z4[x_] := If[0 <= x < a1, f4[x], If[a1 <= x < a2, g4[x], If[a2 <= x < a3, h4[x], If[a3 <= x < a4, i4[x], If[a4 <= x < a5, j4[x], If[a5 <= x < a6, k4[x], If[a6 <= x < a7, l4[x], If[a7 <= x < a8, m4[x], n4[x]]]]]]]]], If[RandomInteger[] == 0, o4[x_] := d1*y3[1/c1*x], o4[x_] := d1*z3[1/c1*x]]; If[RandomInteger[] == 0, p4[x_] := (d2 - d1)*y3[(x - c1)/(c2 - c1)] + d1, p4[x_] := (d2 - d1)*z3[(x - c1)/(c2 - c1)] + d1]; If[RandomInteger[] == 0, q4[x_] := (d3 - d2)*y3[(x - c2)/(c3 - c2)] + d2, q4[x_] := (d3 - d2)*z3[(x - c2)/(c3 - c2)] + d2]; If[RandomInteger[] == 0, r4[x_] := (d4 - d3)*y3[(x - c3)/(c4 - c3)] + d3, r4[x_] := (d4 - d3)*z3[(x - c3)/(c4 - c3)] + d3]; If[RandomInteger[] == 0, s4[x_] := (d5 - d4)*y3[(x - c4)/(c5 - c4)] + d4, s4[x_] := (d5 - d4)*z3[(x - c4)/(c5 - c4)] + d4]; If[RandomInteger[] == 0, t4[x_] := (d6 - d5)*y3[(x - c5)/(c6 - c5)] + d5, t4[x_] := (d6 - d5)*z3[(x - c5)/(c6 - c5)] + d5]; If[RandomInteger[] == 0, u4[x_] := (d7 - d6)*y3[(x - c6)/(c7 - c6)] + d6, u4[x_] := (d7 - d6)*z3[(x - c6)/(c7 - c6)] + d6]; If[RandomInteger[] == 0, v4[x_] := (d8 - d7)*y3[(x - c7)/(c8 - c7)] + d7, v4[x_] := (d8 - d7)*z3[(x - c7)/(c8 - c7)] + d7]; If[RandomInteger[] == 0, w4[x_] := (1 - d8)*y3[(x - c8)/(1 - c8)] + d8, w4[x_] := (1 - d8)*z3[(x - c8)/(1 - c8)] + d8]; z4[x_] := If[0 <= x < c1, o4[x], If[c1 <= x < c2, p4[x], If[c2 <= x < c3, q4[x], If[c3 <= x < c4, r4[x], If[c4 <= x < c5, s4[x], If[c5 <= x < c6, t4[x], If[c6 <= x < c7, u4[x], If[c7 <= x < c8, v4[x], w4[x]]]]]]]]]]; GraphicsRow[{Show[Plot[y1[x], {x, 0, 1}], PlotRange -> {{0, 1}, {0, 1}}], Show[Plot[z1[x], {x, 0, 1}], PlotRange -> {{0, 1}, {0, 1}}]}, ImageSize -> {Large}] GraphicsRow[{Show[Plot[y2[x], {x, 0, 1}], PlotRange -> {{0, 1}, {0, 1}}], Show[Plot[z2[x], {x, 0, 1}], PlotRange -> {{0, 1}, {0, 1}}]}, ImageSize -> {Large}] GraphicsRow[{Show[Plot[y3[x], {x, 0, 1}], PlotRange -> {{0, 1}, {0, 1}}], Show[Plot[z3[x], {x, 0, 1}], PlotRange -> {{0, 1}, {0, 1}}]}, ImageSize -> {Large}] GraphicsRow[{Show[Plot[y4[x], {x, 0, 1}], PlotRange -> {{0, 1}, {0, 1}}], Show[Plot[z4[x], {x, 0, 1}], PlotRange -> {{0 , 1}, {0, 1}}]}, ImageSize -> {Large}] 