The paper presents an interprocedural flow-insensitive points-to analysis algorithm with almost linear time complexity, which is the fastest non-trivial such algorithm known. The algorithm uses a non-standard type system to represent storage shapes and alias relations, allowing for efficient type inference. The type system includes types for locations, function pointers, and composite objects, enabling the analysis to handle complex pointer structures. The paper contributes to the field by introducing a new type system, a constraint system, and an efficient algorithm for solving these constraints. The algorithm is implemented and tested on large C programs, demonstrating its practical efficiency and effectiveness. The results are comparable to those of flow-sensitive analyses but are significantly faster, making it suitable for optimizing compilers and program understanding tools. The paper also discusses related work and future directions, including the potential for improving the analysis by developing flow-sensitive or context-sensitive algorithms.The paper presents an interprocedural flow-insensitive points-to analysis algorithm with almost linear time complexity, which is the fastest non-trivial such algorithm known. The algorithm uses a non-standard type system to represent storage shapes and alias relations, allowing for efficient type inference. The type system includes types for locations, function pointers, and composite objects, enabling the analysis to handle complex pointer structures. The paper contributes to the field by introducing a new type system, a constraint system, and an efficient algorithm for solving these constraints. The algorithm is implemented and tested on large C programs, demonstrating its practical efficiency and effectiveness. The results are comparable to those of flow-sensitive analyses but are significantly faster, making it suitable for optimizing compilers and program understanding tools. The paper also discusses related work and future directions, including the potential for improving the analysis by developing flow-sensitive or context-sensitive algorithms.