@@ -860,12 +860,9 @@ function cse_and_array_hacks(sys, obs, subeqs, unknowns, neweqs; cse = true, arr
860860    #  map of array observed variable (unscalarized) to number of its
861861    #  scalarized terms that appear in observed equations
862862    arr_obs_occurrences =  Dict ()
863-     #  to check if array variables occur in unscalarized form anywhere
864-     all_vars =  Set ()
865863    for  (i, eq) in  enumerate (obs)
866864        lhs =  eq. lhs
867865        rhs =  eq. rhs
868-         vars! (all_vars, rhs)
869866
870867        #  HACK 1
871868        if  cse &&  is_getindexed_array (rhs)
@@ -920,7 +917,6 @@ function cse_and_array_hacks(sys, obs, subeqs, unknowns, neweqs; cse = true, arr
920917                    tempvar; T =  Symbolics. symtype (rhs_arr)))
921918                tempvar =  setmetadata (
922919                    tempvar, Symbolics. ArrayShapeCtx, Symbolics. shape (rhs_arr))
923-                 vars! (all_vars, rhs_arr)
924920                tempeq =  tempvar ~  rhs_arr
925921                rhs_to_tempvar[rhs_arr] =  tempvar
926922                push! (obs, tempeq)
@@ -946,18 +942,10 @@ function cse_and_array_hacks(sys, obs, subeqs, unknowns, neweqs; cse = true, arr
946942        cnt ==  0  &&  continue 
947943        arr_obs_occurrences[arg1] =  cnt +  1 
948944    end 
949-     for  eq in  neweqs
950-         vars! (all_vars, eq. rhs)
951-     end 
952945
953-     #  also count unscalarized variables used in callbacks
954-     for  ev in  Iterators. flatten ((continuous_events (sys), discrete_events (sys)))
955-         vars! (all_vars, ev)
956-     end 
957946    obs_arr_eqs =  Equation[]
958947    for  (arrvar, cnt) in  arr_obs_occurrences
959948        cnt ==  length (arrvar) ||  continue 
960-         arrvar in  all_vars ||  continue 
961949        #  firstindex returns 1 for multidimensional array symbolics
962950        firstind =  first (eachindex (arrvar))
963951        scal =  [arrvar[i] for  i in  eachindex (arrvar)]
0 commit comments