%y

%y

%y

%y

%y

%y

%y

%y

%y

%y

%y

t

y

%y

c4point3_sub = (5.293722043528245, 4.0835522446832275)
c4point2_sub = (2.793773489626273, 2.234177585213162)
c4point1_sub = (-0.003525773330118865, 1.9834149195223056)
n_c = 0 (slider from 0 to 4, step 1)
c3point1_sub = (0.007487215894118898, 2.923774915863017)
c3point2_sub = (2.099955168499294, 3.8954802454150856)
c3point3_sub = (4.996371334473825, 4.302969577162727)
c2point1_sub = (-0.09162968712402096, 0.35345759253173925)
c2point2_sub = (1.494240761166217, 2.5789762505380893)
c2point3_sub = (4.919280409904161, 4.302969577162727)
c1point3_sub = (0.7563704831422867, 2.89242958265166)
c1point2_sub = (4.985358345249588, 2.5162855841153755)
dy: 1
xmax = 6.450085912073209
threshold: 0.01
ymax = 6.904632233705362
ymin = -2.7183850621812526
yscale: ymax - ymin
threshold_y: (threshold * yscale)
c4point1 = DynamicCoordinates(c4point1_sub, 0, Min[ymax, Max[ymin, If[abs((round(y(c4point1_sub) / dy) * dy) - y(c4point1_sub))  <  threshold_y, (round(y(c4point1_sub) / dy) * dy), y(c4point1_sub)]]])
c4point3 = DynamicCoordinates(c4point3_sub, Min[(xmax * 0.8), Max[0, x(c4point3_sub)]], Min[ymax, Max[ymin, If[((x(c4point3_sub) > Min[(xmax * 0.8), Max[0, x(c4point2_sub)]]) ∨ (abs(y(c4point3_sub) - y(c4point1))  <  threshold_y)) ∧ (abs((round(y(c4point3_sub) / dy) * dy) - y(c4point3_sub))  <  threshold_y), (round(y(c4point3_sub) / dy) * dy), y(c4point3_sub)]]])
c4point2 = DynamicCoordinates(c4point2_sub, Min[(xmax * 0.8), Max[0, x(c4point2_sub)]], Min[ymax, Max[ymin, If[((x(c4point2_sub) > Min[(xmax * 0.8), Max[0, x(c4point3_sub)]]) ∨ (abs(y(c4point2_sub) - y(c4point1))  <  threshold_y)) ∧ (abs((round(y(c4point2_sub) / dy) * dy) - y(c4point2_sub))  <  threshold_y), (round(y(c4point2_sub) / dy) * dy), y(c4point2_sub)]]])
c3point1 = DynamicCoordinates(c3point1_sub, 0, Min[ymax, Max[ymin, If[abs((round(y(c3point1_sub) / dy) * dy) - y(c3point1_sub))  <  threshold_y, (round(y(c3point1_sub) / dy) * dy), y(c3point1_sub)]]])
c3point3 = DynamicCoordinates(c3point3_sub, Min[(xmax * 0.8), Max[0, x(c3point3_sub)]], Min[ymax, Max[ymin, If[((x(c3point3_sub) > Min[(xmax * 0.8), Max[0, x(c3point2_sub)]]) ∨ (abs(y(c3point3_sub) - y(c3point1))  <  threshold_y)) ∧ (abs((round(y(c3point3_sub) / dy) * dy) - y(c3point3_sub))  <  threshold_y), (round(y(c3point3_sub) / dy) * dy), y(c3point3_sub)]]])
c2point1 = DynamicCoordinates(c2point1_sub, 0, Min[ymax, Max[ymin, If[abs((round(y(c2point1_sub) / dy) * dy) - y(c2point1_sub))  <  threshold_y, (round(y(c2point1_sub) / dy) * dy), y(c2point1_sub)]]])
c2point3 = DynamicCoordinates(c2point3_sub, Min[(xmax * 0.8), Max[0, x(c2point3_sub)]], Min[ymax, Max[ymin, If[((x(c2point3_sub) > Min[(xmax * 0.8), Max[0, x(c2point2_sub)]]) ∨ (abs(y(c2point3_sub) - y(c2point1))  <  threshold_y)) ∧ (abs((round(y(c2point3_sub) / dy) * dy) - y(c2point3_sub))  <  threshold_y), (round(y(c2point3_sub) / dy) * dy), y(c2point3_sub)]]])
c2point2 = DynamicCoordinates(c2point2_sub, Min[(xmax * 0.8), Max[0, x(c2point2_sub)]], Min[ymax, Max[ymin, If[((x(c2point2_sub) > Min[(xmax * 0.8), Max[0, x(c2point3_sub)]]) ∨ (abs(y(c2point2_sub) - y(c2point1))  <  threshold_y)) ∧ (abs((round(y(c2point2_sub) / dy) * dy) - y(c2point2_sub))  <  threshold_y), (round(y(c2point2_sub) / dy) * dy), y(c2point2_sub)]]])
c1point1_sub = (-0.09162968712402096, -0.054031739215902354)
c1point1 = DynamicCoordinates(c1point1_sub, 0, Min[ymax, Max[ymin, If[abs((round(y(c1point1_sub) / dy) * dy) - y(c1point1_sub))  <  threshold_y, (round(y(c1point1_sub) / dy) * dy), y(c1point1_sub)]]])
yc0s = First({y(c1point1), y(c2point1), y(c3point1), y(c4point1)}, n_c)
c1point3 = DynamicCoordinates(c1point3_sub, Min[(xmax * 0.8), Max[0, x(c1point3_sub)]], Min[ymax, Max[ymin, If[((x(c1point3_sub) > Min[(xmax * 0.8), Max[0, x(c1point2_sub)]]) ∨ (abs(y(c1point3_sub) - y(c1point1))  <  threshold_y)) ∧ (abs((round(y(c1point3_sub) / dy) * dy) - y(c1point3_sub))  <  threshold_y), (round(y(c1point3_sub) / dy) * dy), y(c1point3_sub)]]])
c1point2 = DynamicCoordinates(c1point2_sub, Min[(xmax * 0.8), Max[0, x(c1point2_sub)]], Min[ymax, Max[ymin, If[((x(c1point2_sub) > Min[(xmax * 0.8), Max[0, x(c1point3_sub)]]) ∨ (abs(y(c1point2_sub) - y(c1point1))  <  threshold_y)) ∧ (abs((round(y(c1point2_sub) / dy) * dy) - y(c1point2_sub))  <  threshold_y), (round(y(c1point2_sub) / dy) * dy), y(c1point2_sub)]]])
xmin = -0.43303235307539156
xscale: xmax - xmin
LL = Corner(1)
UR = Corner(3)
threshold_x: (threshold * xscale)
xlabeldisplayed: "" + (LaTeX[xlabel]) + ""
ylabeldisplayed: "" + (LaTeX[ylabel]) + ""
calpha: -10 / xmax
t12: x(c1point2)
t13: x(c1point3)
y11: y(c1point1)
y12: y(c1point2)
y13: y(c1point3)
b1alpha: ((((y12 - y11) * t13) * ℯ^((calpha * t13))) - (((y13 - y11) * t12) * ℯ^((calpha * t12)))) / ((((ℯ^((calpha * t12)) - 1) * t13) * ℯ^((calpha * t13))) - (((ℯ^((calpha * t13)) - 1) * t12) * ℯ^((calpha * t12))))
a1alpha: (y12 - y11 - ((ℯ^((calpha * t12)) - 1) * b1alpha)) / ((t12 * ℯ^((calpha * t12))))
f1alpha(x) = y11 - b1alpha + (((a1alpha * x) + b1alpha) * ℯ^((calpha * x)))
r1(x) = (y12 - y11) / (ℯ^((t12 * x)) - 1) - (y13 - y11) / (ℯ^((t13 * x)) - 1)
c1exp: x(Element[RemoveUndefined[{Root[r1, 1.0E-4], Root[r1, -1.0E-4]}], 1])
b1exp: (y12 - y11) / (ℯ^((c1exp * t12)) - 1)
f1exp(x) = y11 - b1exp + (b1exp * ℯ^((c1exp * x)))
c1monotonic = Defined(b1exp)
f1(x) = If[x ≥ 0, If[c1monotonic, f1exp, f1alpha]]
y1right = If(t12 > t13, y12, y13)
yc1inf = If(c1exp > 1 / xmax, If[f1(xmax) > ymax, Infinity, If[f1(xmax)  <  ymin, -Infinity]], If[abs(y1right - f1(xmax))  <  threshold_y, y1right])
c1equilibrium: y(c1point2) ≟ y(c1point1) ∧ y(c1point3) ≟ y(c1point1)
c1stable = true
t22: x(c2point2)
t23: x(c2point3)
y21: y(c2point1)
y22: y(c2point2)
y23: y(c2point3)
b2alpha: ((((y22 - y21) * t23) * ℯ^((calpha * t23))) - (((y23 - y21) * t22) * ℯ^((calpha * t22)))) / ((((ℯ^((calpha * t22)) - 1) * t23) * ℯ^((calpha * t23))) - (((ℯ^((calpha * t23)) - 1) * t22) * ℯ^((calpha * t22))))
a2alpha: (y22 - y21 - ((ℯ^((calpha * t22)) - 1) * b2alpha)) / ((t22 * ℯ^((calpha * t22))))
r2(x) = (y22 - y21) / (ℯ^((t22 * x)) - 1) - (y23 - y21) / (ℯ^((t23 * x)) - 1)
c2exp: x(Element[RemoveUndefined[{Root[r2, 1.0E-4], Root[r2, -1.0E-4]}], 1])
b2exp: (y22 - y21) / (ℯ^((c2exp * t22)) - 1)
f2alpha(x) = y21 - b2alpha + (((a2alpha * x) + b2alpha) * ℯ^((calpha * x)))
f2exp(x) = y21 - b2exp + (b2exp * ℯ^((c2exp * x)))
f2(x) = If[x ≥ 0, If[Defined[b2exp], f2exp, f2alpha]]
c2equilibrium: y(c2point2) ≟ y(c2point1) ∧ y(c2point3) ≟ y(c2point1)
c2monotonic = Defined(b2exp)
c2stable = true
y2right = If(t22 > t23, y22, y23)
yc2inf = If(c2exp > 1 / xmax, If[f2(xmax) > ymax, Infinity, If[f2(xmax)  <  ymin, -Infinity]], If[abs(y2right - f2(xmax))  <  threshold_y, y2right])
c3point2 = DynamicCoordinates(c3point2_sub, Min[(xmax * 0.8), Max[0, x(c3point2_sub)]], Min[ymax, Max[ymin, If[((x(c3point2_sub) > Min[(xmax * 0.8), Max[0, x(c3point3_sub)]]) ∨ (abs(y(c3point2_sub) - y(c3point1))  <  threshold_y)) ∧ (abs((round(y(c3point2_sub) / dy) * dy) - y(c3point2_sub))  <  threshold_y), (round(y(c3point2_sub) / dy) * dy), y(c3point2_sub)]]])
t32: x(c3point2)
t33: x(c3point3)
y31: y(c3point1)
y32: y(c3point2)
y33: y(c3point3)
b3alpha: ((((y32 - y31) * t33) * ℯ^((calpha * t33))) - (((y33 - y31) * t32) * ℯ^((calpha * t32)))) / ((((ℯ^((calpha * t32)) - 1) * t33) * ℯ^((calpha * t33))) - (((ℯ^((calpha * t33)) - 1) * t32) * ℯ^((calpha * t32))))
a3alpha: (y32 - y31 - ((ℯ^((calpha * t32)) - 1) * b3alpha)) / ((t32 * ℯ^((calpha * t32))))
f3alpha(x) = y31 - b3alpha + (((a3alpha * x) + b3alpha) * ℯ^((calpha * x)))
r3(x) = (y32 - y31) / (ℯ^((t32 * x)) - 1) - (y33 - y31) / (ℯ^((t33 * x)) - 1)
c3exp: x(Element[RemoveUndefined[{Root[r3, 1.0E-4], Root[r3, -1.0E-4]}], 1])
b3exp: (y32 - y31) / (ℯ^((c3exp * t32)) - 1)
f3exp(x) = y31 - b3exp + (b3exp * ℯ^((c3exp * x)))
f3(x) = If[x ≥ 0, If[Defined[b3exp], f3exp, f3alpha]]
c3equilibrium: y(c3point2) ≟ y(c3point1) ∧ y(c3point3) ≟ y(c3point1)
c3monotonic = Defined(b3exp)
c3stable = true
y3right = If(t32 > t33, y32, y33)
yc3inf = If(c3exp > 1 / xmax, If[f3(xmax) > ymax, Infinity, If[f3(xmax)  <  ymin, -Infinity]], If[abs(y3right - f3(xmax))  <  threshold_y, y3right])
t42: x(c4point2)
t43: x(c4point3)
y41: y(c4point1)
y42: y(c4point2)
y43: y(c4point3)
b4alpha: ((((y42 - y41) * t43) * ℯ^((calpha * t43))) - (((y43 - y41) * t42) * ℯ^((calpha * t42)))) / ((((ℯ^((calpha * t42)) - 1) * t43) * ℯ^((calpha * t43))) - (((ℯ^((calpha * t43)) - 1) * t42) * ℯ^((calpha * t42))))
a4alpha: (y42 - y41 - ((ℯ^((calpha * t42)) - 1) * b4alpha)) / ((t42 * ℯ^((calpha * t42))))
f4alpha(x) = y41 - b4alpha + (((a4alpha * x) + b4alpha) * ℯ^((calpha * x)))
r4(x) = (y42 - y41) / (ℯ^((t42 * x)) - 1) - (y43 - y41) / (ℯ^((t43 * x)) - 1)
c4exp: x(Element[RemoveUndefined[{Root[r4, 1.0E-4], Root[r4, -1.0E-4]}], 1])
b4exp: (y42 - y41) / (ℯ^((c4exp * t42)) - 1)
f4exp(x) = y41 - b4exp + (b4exp * ℯ^((c4exp * x)))
f4(x) = If[x ≥ 0, If[Defined[b4exp], f4exp, f4alpha]]
c4equilibrium: y(c4point2) ≟ y(c4point1) ∧ y(c4point3) ≟ y(c4point1)
c4monotonic = Defined(b4exp)
c4stable = true
y4right = If(t42 > t43, y42, y43)
yc4inf = If(c4exp > 1 / xmax, If[f4(xmax) > ymax, Infinity, If[f4(xmax)  <  ymin, -Infinity]], If[abs(y4right - f4(xmax))  <  threshold_y, y4right])
ycinfs = First({yc1inf, yc2inf, yc3inf, yc4inf}, n_c)
y01: 0
y02: 1
y03: 3
y04: 4
ind1 = IndexOf(true, Zip[abs(a - y01)  <  threshold_y, a, yc0s])
ind2 = IndexOf(true, Zip[abs(a - y02)  <  threshold_y, a, yc0s])
ind3 = IndexOf(true, Zip[abs(a - y03)  <  threshold_y, a, yc0s])
ind4 = IndexOf(true, Zip[abs(a - y04)  <  threshold_y, a, yc0s])
y01found = Defined(ind1)
y02found = Defined(ind2)
y03found = Defined(ind3)
y04found = Defined(ind4)
yinf1 = Element(ycinfs, ind1)
yinf2 = Element(ycinfs, ind2)
yinf3 = Element(ycinfs, ind3)
yinf4 = Element(ycinfs, ind4)
cstables = First({If[c1equilibrium, c1stable, -1], If[c2equilibrium, c2stable, -1], If[c3equilibrium, c3stable, -1], If[c4equilibrium, c4stable, -1]}, n_c)
stable1 = Element(cstables, ind1)
stable2 = Element(cstables, ind2)
stable3 = Element(cstables, ind3)
stable4 = Element(cstables, ind4)
cequilibria = First({c1equilibrium, c2equilibrium, c3equilibrium, c4equilibrium}, n_c)
equilibrium1 = Element(cequilibria, ind1)
equilibrium2 = Element(cequilibria, ind2)
equilibrium3 = Element(cequilibria, ind3)
equilibrium4 = Element(cequilibria, ind4)
cmonotonics = First({c1monotonic, c2monotonic, c3monotonic, c4monotonic}, n_c)
monotonic1 = Element(cmonotonics, ind1)
monotonic2 = Element(cmonotonics, ind2)
monotonic3 = Element(cmonotonics, ind3)
monotonic4 = Element(cmonotonics, ind4)