julia> using RationalUnivariateRepresentation, Groebner, RS, AbstractAlgebra

julia> include("parameter_estimation_systems/case_by_case/crauste_two_squared/sys_crauste_two_squared_AAA_abstract_algebra.txt");
^[[B
julia> sys = map(f -> map_coefficients(c -> rationalize(BigInt, round(BigFloat(c), digits=10)), f), sys)
43-element Vector{AbstractAlgebra.Generic.MPoly{Rational{BigInt}}}:
 -E_0 + 348250081//500000000
 -N_0*P_0*delta_NE_0 + E_0^2*mu_EE_0 - E_0*P_0*rho_E_0 + E_0*delta_EL_0 + E_1
 -N_0 + 901135371//2000000000
 N_0*P_0*delta_NE_0^2 + N_0*mu_N_0^2 + N_1
 -P_0 + 5905565913//10000000000
 E_0*P_0*mu_PE_0 + P_0*S_0*mu_PL_0 - P_0^2*rho_P_0 + P_0*mu_P_0 + P_1
 -M_0 - S_0 + 12954072753//10000000000
 -S_0*delta_LM_0 + M_0*mu_M_0 + M_1
 E_0*S_0*mu_LE_0 + S_0^2*mu_LL_0 - S_0*delta_EL_0 + S_0*delta_LM_0 + S_1
 -E_1 - 3454350893//5000000000
 -N_1*P_0*delta_NE_0 - N_0*P_1*delta_NE_0 + 2*E_0*E_1*mu_EE_0 - E_1*P_0*rho_E_0 - E_0*P_1*rho_E_0 + E_1*delta_EL_0 + E_2
 -N_1 - 358326701//500000000
 N_1*P_0*delta_NE_0^2 + N_0*P_1*delta_NE_0^2 + N_1*mu_N_0^2 + N_2
 -P_1 - 3235672129//5000000000
 E_1*P_0*mu_PE_0 + E_0*P_1*mu_PE_0 + P_1*S_0*mu_PL_0 + P_0*S_1*mu_PL_0 - 2*P_0*P_1*rho_P_0 + P_1*mu_P_0 + P_2
 -M_1 - S_1 - 5330912827//5000000000
 E_1*S_0*mu_LE_0 + E_0*S_1*mu_LE_0 + 2*S_0*S_1*mu_LL_0 - S_1*delta_EL_0 + S_1*delta_LM_0 + S_2
 -S_1*delta_LM_0 + M_1*mu_M_0 + M_2
 -E_2 + 2271552861//5000000000
 -N_2*P_0*delta_NE_0 - 2*N_1*P_1*delta_NE_0 - N_0*P_2*delta_NE_0 + 2*E_1^2*mu_EE_0 + 2*E_0*E_2*mu_EE_0 - E_2*P_0*rho_E_0 - 2*E_1*P_1*rho_E_0 - E_0*P_2*rho_E_0 + E_2*delta_EL_0 + E_3
 -N_2 + 7157278263//5000000000
 N_2*P_0*delta_NE_0^2 + 2*N_1*P_1*delta_NE_0^2 + N_0*P_2*delta_NE_0^2 + N_2*mu_N_0^2 + N_3
 -P_2 + 8084493453//10000000000
 E_2*P_0*mu_PE_0 + 2*E_1*P_1*mu_PE_0 + E_0*P_2*mu_PE_0 + P_2*S_0*mu_PL_0 + 2*P_1*S_1*mu_PL_0 + P_0*S_2*mu_PL_0 - 2*P_1^2*rho_P_0 - 2*P_0*P_2*rho_P_0 + P_2*mu_P_0 + P_3
 -M_2 - S_2 + 13763270031//10000000000
 E_2*S_0*mu_LE_0 + 2*E_1*S_1*mu_LE_0 + E_0*S_2*mu_LE_0 + 2*S_1^2*mu_LL_0 + 2*S_0*S_2*mu_LL_0 - S_2*delta_EL_0 + S_2*delta_LM_0 + S_3
 -S_2*delta_LM_0 + M_2*mu_M_0 + M_3
 -E_3 + 11721506081//10000000000
 -N_3*P_0*delta_NE_0 - 3*N_2*P_1*delta_NE_0 - 3*N_1*P_2*delta_NE_0 - N_0*P_3*delta_NE_0 + 6*E_1*E_2*mu_EE_0 + 2*E_0*E_3*mu_EE_0 - E_3*P_0*rho_E_0 - 3*E_2*P_1*rho_E_0 - 3*E_1*P_2*rho_E_0 - E_0*P_3*rho_E_0 + E_3*delta_EL_0 + E_4
 -P_3 - 15282195539//10000000000
 E_3*P_0*mu_PE_0 + 3*E_2*P_1*mu_PE_0 + 3*E_1*P_2*mu_PE_0 + E_0*P_3*mu_PE_0 + P_3*S_0*mu_PL_0 + 3*P_2*S_1*mu_PL_0 + 3*P_1*S_2*mu_PL_0 + P_0*S_3*mu_PL_0 - 6*P_1*P_2*rho_P_0 - 2*P_0*P_3*rho_P_0 + P_3*mu_P_0 + P_4
 -M_3 - S_3 - 6331033171//2000000000
 E_3*S_0*mu_LE_0 + 3*E_2*S_1*mu_LE_0 + 3*E_1*S_2*mu_LE_0 + E_0*S_3*mu_LE_0 + 6*S_1*S_2*mu_LL_0 + 2*S_0*S_3*mu_LL_0 - S_3*delta_EL_0 + S_3*delta_LM_0 + S_4
 -S_3*delta_LM_0 + M_3*mu_M_0 + M_4
 -P_4 + 48379507429//10000000000
 E_4*P_0*mu_PE_0 + 4*E_3*P_1*mu_PE_0 + 6*E_2*P_2*mu_PE_0 + 4*E_1*P_3*mu_PE_0 + E_0*P_4*mu_PE_0 + P_4*S_0*mu_PL_0 + 4*P_3*S_1*mu_PL_0 + 6*P_2*S_2*mu_PL_0 + 4*P_1*S_3*mu_PL_0 + P_0*S_4*mu_PL_0 - 6*P_2^2*rho_P_0 - 8*P_1*P_3*rho_P_0 - 2*P_0*P_4*rho_P_0 + P_4*mu_P_0 + P_5
 -M_4 - S_4 + 61531094429//5000000000
 -S_4*delta_LM_0 + M_4*mu_M_0 + M_5
 E_4*S_0*mu_LE_0 + 4*E_3*S_1*mu_LE_0 + 6*E_2*S_2*mu_LE_0 + 4*E_1*S_3*mu_LE_0 + E_0*S_4*mu_LE_0 + 6*S_2^2*mu_LL_0 + 8*S_1*S_3*mu_LL_0 + 2*S_0*S_4*mu_LL_0 - S_4*delta_EL_0 + S_4*delta_LM_0 + S_5
 -P_5 - 40453452799//2000000000
 E_5*P_0*mu_PE_0 + 5*E_4*P_1*mu_PE_0 + 10*E_3*P_2*mu_PE_0 + 10*E_2*P_3*mu_PE_0 + 5*E_1*P_4*mu_PE_0 + E_0*P_5*mu_PE_0 + P_5*S_0*mu_PL_0 + 5*P_4*S_1*mu_PL_0 + 10*P_3*S_2*mu_PL_0 + 10*P_2*S_3*mu_PL_0 + 5*P_1*S_4*mu_PL_0 + P_0*S_5*mu_PL_0 - 20*P_2*P_3*rho_P_0 - 10*P_1*P_4*rho_P_0 - 2*P_0*P_5*rho_P_0 + P_5*mu_P_0 + P_6
 -N_4*P_0*delta_NE_0 - 4*N_3*P_1*delta_NE_0 - 6*N_2*P_2*delta_NE_0 - 4*N_1*P_3*delta_NE_0 - N_0*P_4*delta_NE_0 + 6*E_2^2*mu_EE_0 + 8*E_1*E_3*mu_EE_0 + 2*E_0*E_4*mu_EE_0 - E_4*P_0*rho_E_0 - 4*E_3*P_1*rho_E_0 - 6*E_2*P_2*rho_E_0 - 4*E_1*P_3*rho_E_0 - E_0*P_4*rho_E_0 + E_4*delta_EL_0 + E_5
 N_3*P_0*delta_NE_0^2 + 3*N_2*P_1*delta_NE_0^2 + 3*N_1*P_2*delta_NE_0^2 + N_0*P_3*delta_NE_0^2 + N_3*mu_N_0^2 + N_4

julia> @time rur, sep = zdim_parameterization(sys, get_separating_element=true);

       # Find solutions
primes of bitsize 28
G-Q-Pt-FG-LT-LP(U)
G-Q-Pt-FG-LT-LP(U)
G-Q-Pt-FG-LT-LP(U)
G-Q-Pt-FG-LT-LP(U)
G-Q-Pt-FG-LT-LP(U)
G-Q-Pt-FG-LT-LP(U)
G-Q-Pt-FG-LT-LP(U)
G-Q-Pt-FG-LT-LP(U)
G-Q-Pt-FG-LT-LP(U)
G-Q-Pt-FG-LT-LP(U)
G-Q-Pt-FG-LT-LP(U)
G-Q-Pt-FG-LT-LP(U)
G-Q-Pt-FG-LT-LP(U)
G-Q-Pt-FG-LT-LP(U)
G-Q-Pt-FG-LT-LP(U)
G-Q-Pt-FG-LT-LP(U)
G-Q-Pt-FG-LT-LP(U)
G-Q-Pt-FG-LT-LP(U)
G-Q-Pt-FG-LT-LP(U)
G-Q-Pt-FG-LT-LP(U)
G-Q-Pt-FG-LT-LP(U)
G-Q-Pt-FG-LT-LP(U)
G-Q-Pt-FG-LT-LP(U)
G-Q-Pt-FG-LT-LP(U)
G-Q-Pt-FG-LT-LP(U)
G-Q-Pt-FG-LT-LP(U)
G-Q-Pt-FG-LT-LP(U)
G-Q-Pt-FG-LT-LP(U)
G-Q-Pt-FG-LT-LP(U)
G-Q-Pt-FG-LT-LP(U)
G-Q-Pt-FG-LT-LP(U)
G-Q-Pt-FG-LT-LP(U)
G-Q-Pt-FG-LT-LP(U)
G-Q-Pt-FG-LT-LP(U)
G-Q-Pt-FG-LT-LP(U)
G-Q-Pt-FG-LT-LP(U)
G-Q-Pt-FG-LT-LP(U)
G-Q-Pt-FG-LT-LP(U)
G-Q-Pt-FG-LT-LP(U)
G-Q-Pt-FG-LT-LP(U)
G-Q-Pt-FG-LT-LP(U)
G-Q-Pt-FG-LT-LP(U)
G-Q-Pt-FG-LT-LP(U)
G-Q-Pt-FG-LT-LP(U)
 (38,41)G-Q-Pt-FG-LT-LP(C)
Dimension of the quotient :128
Degree of the radical :128
Use non trivial separating element
Run Groebner learn
Test cyclic optimization
Apply cyclic optimization 
Multi-modular computation (1 threads): G-Q-Pt-FG-LT-LP(C)
5-9-13-17-21-25-29-33-37-41-45-49-53-61-69-77-85-93-105-117-129-141-157-173-193-213-237-261-289-317-349-385-425-469-517-569-625-689-757-833-917-1009-1109-1221-1345-1481-1629-1793-1973-2173-2393-2633-2897-3189-3509-3861-
check-G-Q-Pt-FG-LT-LP(C)
Nb Primes used :3861
 77.295976 seconds (167.12 M allocations: 34.654 GiB, 3.50% gc time, 3.10% compilation time: <1% of which was recompilation)

julia> @time sol = RS.rs_isolate(rur, sep, output_precision=Int32(20));
 11.290634 seconds (839.67 k allocations: 237.678 MiB, 0.19% gc time, 1.64% compilation time)

julia> sol_i = filter(x -> abs(x[end][1] - 1.2) < 0.01, sol)
2-element Vector{Vector{Vector{BigFloat}}}:
 [[0.69649982, 0.69650078], [-0.69087029, -0.69086933], [0.45431042, 0.45431089], [1.1721497, 1.1721516], [-10.796631, -10.796616], [66.676025, 66.676147], [0.83918476, 0.83918571], [-0.46688175, -0.46688128], [-0.085731745, -0.085731626], [1.5563622, 1.5563641]  …  [1.2999992, 1.3000011], [1.0999985, 1.1000004], [1.1999989, 1.2000008], [1.0999985, 1.1000004], [1.0, 1.0000019], [0.49999952, 0.5], [0.99999905, 1.0], [1.0, 1.0000019], [0.89999962, 0.90000057], [1.1999989, 1.2000008]]
 [[0.69649982, 0.69650078], [-0.69087029, -0.69086933], [0.45431042, 0.45431089], [1.1721497, 1.1721516], [-10.796631, -10.796616], [66.676025, 66.676147], [0.83918476, 0.83918571], [-0.46688175, -0.46688128], [-0.085731745, -0.085731626], [1.5563622, 1.5563641]  …  [1.2999992, 1.3000011], [1.0999985, 1.1000004], [1.1999989, 1.2000008], [1.0999985, 1.1000004], [-1.0000019, -1.0], [0.49999952, 0.5], [0.99999905, 1.0], [1.0, 1.0000019], [0.89999962, 0.90000057], [1.1999989, 1.2000008]]

julia> sol_i[1]
43-element Vector{Vector{BigFloat}}:
 [0.69649982, 0.69650078]
 [-0.69087029, -0.69086933]
 [0.45431042, 0.45431089]
 [1.1721497, 1.1721516]
 [-10.796631, -10.796616]
 [66.676025, 66.676147]
 [0.83918476, 0.83918571]
 [-0.46688175, -0.46688128]
 [-0.085731745, -0.085731626]
 [1.5563622, 1.5563641]
 [-6.4338837, -6.433876]
 [25.817352, 25.817383]
 [0.45056725, 0.45056772]
 [-0.71665382, -0.71665287]
 [1.4314556, 1.4314575]
 [-3.568615, -3.5686111]
 [10.881805, 10.881821]
 [0.59055614, 0.5905571]
 [-0.64713478, -0.64713383]
 [0.80844879, 0.80844975]
 [-1.5282211, -1.5282192]
 [4.837944, 4.8379517]
 [-20.226746, -20.226715]
 [97.964111, 97.964233]
 [0.45622206, 0.45622253]
 [-0.59930134, -0.59930038]
 [1.4620571, 1.462059]
 [-4.7218857, -4.7218781]
 [18.740082, 18.740112]
 [-87.662598, -87.662476]
 [1.0, 1.0000019]
 [1.0, 1.0000019]
 [0.99999905, 1.0]
 [1.2999992, 1.3000011]
 [1.0999985, 1.1000004]
 [1.1999989, 1.2000008]
 [1.0999985, 1.1000004]
 [1.0, 1.0000019]
 [0.49999952, 0.5]
 [0.99999905, 1.0]
 [1.0, 1.0000019]
 [0.89999962, 0.90000057]
 [1.1999989, 1.2000008]

julia> sol_i[2]
43-element Vector{Vector{BigFloat}}:
 [0.69649982, 0.69650078]
 [-0.69087029, -0.69086933]
 [0.45431042, 0.45431089]
 [1.1721497, 1.1721516]
 [-10.796631, -10.796616]
 [66.676025, 66.676147]
 [0.83918476, 0.83918571]
 [-0.46688175, -0.46688128]
 [-0.085731745, -0.085731626]
 [1.5563622, 1.5563641]
 [-6.4338837, -6.433876]
 [25.817352, 25.817383]
 [0.45056725, 0.45056772]
 [-0.71665382, -0.71665287]
 [1.4314556, 1.4314575]
 [-3.568615, -3.5686111]
 [10.881805, 10.881821]
 [0.59055614, 0.5905571]
 [-0.64713478, -0.64713383]
 [0.80844879, 0.80844975]
 [-1.5282211, -1.5282192]
 [4.837944, 4.8379517]
 [-20.226746, -20.226715]
 [97.964111, 97.964233]
 [0.45622206, 0.45622253]
 [-0.59930134, -0.59930038]
 [1.4620571, 1.462059]
 [-4.7218857, -4.7218781]
 [18.740082, 18.740112]
 [-87.662598, -87.662476]
 [1.0, 1.0000019]
 [1.0, 1.0000019]
 [0.99999905, 1.0]
 [1.2999992, 1.3000011]
 [1.0999985, 1.1000004]
 [1.1999989, 1.2000008]
 [1.0999985, 1.1000004]
 [-1.0000019, -1.0]
 [0.49999952, 0.5]
 [0.99999905, 1.0]
 [1.0, 1.0000019]
 [0.89999962, 0.90000057]
 [1.1999989, 1.2000008]

julia> sol_i[1]
43-element Vector{Vector{BigFloat}}:
 [0.69649982, 0.69650078]
 [-0.69087029, -0.69086933]
 [0.45431042, 0.45431089]
 [1.1721497, 1.1721516]
 [-10.796631, -10.796616]
 [66.676025, 66.676147]
 [0.83918476, 0.83918571]
 [-0.46688175, -0.46688128]
 [-0.085731745, -0.085731626]
 [1.5563622, 1.5563641]
 [-6.4338837, -6.433876]
 [25.817352, 25.817383]
 [0.45056725, 0.45056772]
 [-0.71665382, -0.71665287]
 [1.4314556, 1.4314575]
 [-3.568615, -3.5686111]
 [10.881805, 10.881821]
 [0.59055614, 0.5905571]
 [-0.64713478, -0.64713383]
 [0.80844879, 0.80844975]
 [-1.5282211, -1.5282192]
 [4.837944, 4.8379517]
 [-20.226746, -20.226715]
 [97.964111, 97.964233]
 [0.45622206, 0.45622253]
 [-0.59930134, -0.59930038]
 [1.4620571, 1.462059]
 [-4.7218857, -4.7218781]
 [18.740082, 18.740112]
 [-87.662598, -87.662476]
 [1.0, 1.0000019]
 [1.0, 1.0000019]
 [0.99999905, 1.0]
 [1.2999992, 1.3000011]
 [1.0999985, 1.1000004]
 [1.1999989, 1.2000008]
 [1.0999985, 1.1000004]
 [1.0, 1.0000019]
 [0.49999952, 0.5]
 [0.99999905, 1.0]
 [1.0, 1.0000019]
 [0.89999962, 0.90000057]
 [1.1999989, 1.2000008]

julia> (1.2 - 1.1999989) / 1.2 * 100
9.166666666467668e-5

julia> 
