./Ultimate.py --spec ../../../trunk/examples/svcomp/properties/unreach-call.prp --file ../../../trunk/examples/svcomp/weaver/parallel-misc-3.wvr.c --full-output --traceabstraction.positions.where.we.compute.the.hoare.annotation All --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version 273a578a Calling Ultimate with: /root/.sdkman/candidates/java/current/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../../../trunk/examples/svcomp/weaver/parallel-misc-3.wvr.c -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(reach_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 8e3c959108026afa89c4d07543133cda81a16d409ef9b7609f190c1caa51d799 --traceabstraction.positions.where.we.compute.the.hoare.annotation All --- Real Ultimate output --- This is Ultimate 0.2.4-tmp.dk.owicki-witnesses-273a578-m [2024-02-19 14:43:08,294 INFO L188 SettingsManager]: Resetting all preferences to default values... [2024-02-19 14:43:08,365 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2024-02-19 14:43:08,369 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2024-02-19 14:43:08,369 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2024-02-19 14:43:08,385 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2024-02-19 14:43:08,386 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2024-02-19 14:43:08,386 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2024-02-19 14:43:08,387 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2024-02-19 14:43:08,390 INFO L153 SettingsManager]: * Use memory slicer=true [2024-02-19 14:43:08,391 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2024-02-19 14:43:08,391 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2024-02-19 14:43:08,391 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2024-02-19 14:43:08,392 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2024-02-19 14:43:08,393 INFO L153 SettingsManager]: * Use SBE=true [2024-02-19 14:43:08,393 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2024-02-19 14:43:08,393 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2024-02-19 14:43:08,393 INFO L153 SettingsManager]: * sizeof long=4 [2024-02-19 14:43:08,394 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2024-02-19 14:43:08,394 INFO L153 SettingsManager]: * sizeof POINTER=4 [2024-02-19 14:43:08,394 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2024-02-19 14:43:08,395 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2024-02-19 14:43:08,395 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2024-02-19 14:43:08,401 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2024-02-19 14:43:08,401 INFO L153 SettingsManager]: * Allow undefined functions=false [2024-02-19 14:43:08,401 INFO L153 SettingsManager]: * sizeof long double=12 [2024-02-19 14:43:08,402 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2024-02-19 14:43:08,402 INFO L153 SettingsManager]: * Use constant arrays=true [2024-02-19 14:43:08,402 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2024-02-19 14:43:08,403 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2024-02-19 14:43:08,403 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2024-02-19 14:43:08,404 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2024-02-19 14:43:08,404 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2024-02-19 14:43:08,404 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2024-02-19 14:43:08,404 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2024-02-19 14:43:08,405 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2024-02-19 14:43:08,405 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2024-02-19 14:43:08,406 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2024-02-19 14:43:08,406 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2024-02-19 14:43:08,406 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2024-02-19 14:43:08,406 INFO L153 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2024-02-19 14:43:08,406 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2024-02-19 14:43:08,407 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2024-02-19 14:43:08,407 INFO L153 SettingsManager]: * Looper check in Petri net analysis=SEMANTIC WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G ! call(reach_error())) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> 8e3c959108026afa89c4d07543133cda81a16d409ef9b7609f190c1caa51d799 Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: Positions where we compute the Hoare Annotation -> All [2024-02-19 14:43:08,650 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2024-02-19 14:43:08,677 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2024-02-19 14:43:08,682 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2024-02-19 14:43:08,683 INFO L270 PluginConnector]: Initializing CDTParser... [2024-02-19 14:43:08,684 INFO L274 PluginConnector]: CDTParser initialized [2024-02-19 14:43:08,687 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/weaver/parallel-misc-3.wvr.c [2024-02-19 14:43:09,760 INFO L533 CDTParser]: Created temporary CDT project at NULL [2024-02-19 14:43:09,930 INFO L384 CDTParser]: Found 1 translation units. [2024-02-19 14:43:09,931 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/weaver/parallel-misc-3.wvr.c [2024-02-19 14:43:09,936 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/2005087b9/21f648aa7a9449c4a71c0791a93fcadc/FLAGf69891815 [2024-02-19 14:43:09,949 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/2005087b9/21f648aa7a9449c4a71c0791a93fcadc [2024-02-19 14:43:09,951 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2024-02-19 14:43:09,952 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2024-02-19 14:43:09,953 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2024-02-19 14:43:09,954 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2024-02-19 14:43:09,957 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2024-02-19 14:43:09,958 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 19.02 02:43:09" (1/1) ... [2024-02-19 14:43:09,959 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@73597caf and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.02 02:43:09, skipping insertion in model container [2024-02-19 14:43:09,959 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 19.02 02:43:09" (1/1) ... [2024-02-19 14:43:09,974 INFO L177 MainTranslator]: Built tables and reachable declarations [2024-02-19 14:43:10,093 WARN L239 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/weaver/parallel-misc-3.wvr.c[2410,2423] [2024-02-19 14:43:10,097 INFO L207 PostProcessor]: Analyzing one entry point: main [2024-02-19 14:43:10,103 INFO L202 MainTranslator]: Completed pre-run [2024-02-19 14:43:10,124 WARN L239 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/weaver/parallel-misc-3.wvr.c[2410,2423] [2024-02-19 14:43:10,125 INFO L207 PostProcessor]: Analyzing one entry point: main [2024-02-19 14:43:10,142 INFO L206 MainTranslator]: Completed translation [2024-02-19 14:43:10,142 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.02 02:43:10 WrapperNode [2024-02-19 14:43:10,142 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2024-02-19 14:43:10,143 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2024-02-19 14:43:10,143 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2024-02-19 14:43:10,143 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2024-02-19 14:43:10,151 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.02 02:43:10" (1/1) ... [2024-02-19 14:43:10,160 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.02 02:43:10" (1/1) ... [2024-02-19 14:43:10,179 INFO L138 Inliner]: procedures = 21, calls = 27, calls flagged for inlining = 3, calls inlined = 3, statements flattened = 52 [2024-02-19 14:43:10,179 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2024-02-19 14:43:10,180 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2024-02-19 14:43:10,180 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2024-02-19 14:43:10,180 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2024-02-19 14:43:10,187 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.02 02:43:10" (1/1) ... [2024-02-19 14:43:10,188 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.02 02:43:10" (1/1) ... [2024-02-19 14:43:10,198 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.02 02:43:10" (1/1) ... [2024-02-19 14:43:10,218 INFO L175 MemorySlicer]: Split 6 memory accesses to 3 slices as follows [2, 2, 2]. 33 percent of accesses are in the largest equivalence class. The 2 initializations are split as follows [2, 0, 0]. The 2 writes are split as follows [0, 1, 1]. [2024-02-19 14:43:10,220 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.02 02:43:10" (1/1) ... [2024-02-19 14:43:10,221 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.02 02:43:10" (1/1) ... [2024-02-19 14:43:10,223 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.02 02:43:10" (1/1) ... [2024-02-19 14:43:10,229 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.02 02:43:10" (1/1) ... [2024-02-19 14:43:10,231 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.02 02:43:10" (1/1) ... [2024-02-19 14:43:10,235 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.02 02:43:10" (1/1) ... [2024-02-19 14:43:10,237 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2024-02-19 14:43:10,238 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2024-02-19 14:43:10,239 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2024-02-19 14:43:10,239 INFO L274 PluginConnector]: RCFGBuilder initialized [2024-02-19 14:43:10,240 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.02 02:43:10" (1/1) ... [2024-02-19 14:43:10,244 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2024-02-19 14:43:10,251 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-19 14:43:10,274 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (exit command is (exit), workingDir is null) [2024-02-19 14:43:10,301 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (1)] Waiting until timeout for monitored process [2024-02-19 14:43:10,327 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2024-02-19 14:43:10,327 INFO L130 BoogieDeclarations]: Found specification of procedure thread1 [2024-02-19 14:43:10,327 INFO L138 BoogieDeclarations]: Found implementation of procedure thread1 [2024-02-19 14:43:10,327 INFO L130 BoogieDeclarations]: Found specification of procedure thread2 [2024-02-19 14:43:10,327 INFO L138 BoogieDeclarations]: Found implementation of procedure thread2 [2024-02-19 14:43:10,327 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#0 [2024-02-19 14:43:10,328 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#1 [2024-02-19 14:43:10,329 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#2 [2024-02-19 14:43:10,329 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2024-02-19 14:43:10,329 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#0 [2024-02-19 14:43:10,329 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#1 [2024-02-19 14:43:10,329 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#2 [2024-02-19 14:43:10,329 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_end [2024-02-19 14:43:10,330 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_begin [2024-02-19 14:43:10,330 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2024-02-19 14:43:10,330 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2024-02-19 14:43:10,330 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#0 [2024-02-19 14:43:10,330 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#1 [2024-02-19 14:43:10,330 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#2 [2024-02-19 14:43:10,331 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2024-02-19 14:43:10,332 WARN L214 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to OneNontrivialStatement [2024-02-19 14:43:10,428 INFO L244 CfgBuilder]: Building ICFG [2024-02-19 14:43:10,430 INFO L270 CfgBuilder]: Building CFG for each procedure with an implementation [2024-02-19 14:43:10,601 INFO L289 CfgBuilder]: Ommited future-live optimization because the input is a concurrent program. [2024-02-19 14:43:10,602 INFO L293 CfgBuilder]: Performing block encoding [2024-02-19 14:43:10,684 INFO L315 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2024-02-19 14:43:10,685 INFO L320 CfgBuilder]: Removed 2 assume(true) statements. [2024-02-19 14:43:10,685 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 19.02 02:43:10 BoogieIcfgContainer [2024-02-19 14:43:10,685 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2024-02-19 14:43:10,687 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2024-02-19 14:43:10,687 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2024-02-19 14:43:10,689 INFO L274 PluginConnector]: TraceAbstraction initialized [2024-02-19 14:43:10,689 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 19.02 02:43:09" (1/3) ... [2024-02-19 14:43:10,690 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@184dec57 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 19.02 02:43:10, skipping insertion in model container [2024-02-19 14:43:10,690 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.02 02:43:10" (2/3) ... [2024-02-19 14:43:10,690 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@184dec57 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 19.02 02:43:10, skipping insertion in model container [2024-02-19 14:43:10,690 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 19.02 02:43:10" (3/3) ... [2024-02-19 14:43:10,691 INFO L112 eAbstractionObserver]: Analyzing ICFG parallel-misc-3.wvr.c [2024-02-19 14:43:10,703 INFO L221 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2024-02-19 14:43:10,704 INFO L180 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2024-02-19 14:43:10,704 INFO L631 ceAbstractionStarter]: Constructing petrified ICFG for 1 thread instances. [2024-02-19 14:43:10,740 INFO L144 ThreadInstanceAdder]: Constructed 2 joinOtherThreadTransitions. [2024-02-19 14:43:10,776 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 30 places, 27 transitions, 68 flow [2024-02-19 14:43:10,793 INFO L124 PetriNetUnfolderBase]: 4/25 cut-off events. [2024-02-19 14:43:10,793 INFO L125 PetriNetUnfolderBase]: For 2/2 co-relation queries the response was YES. [2024-02-19 14:43:10,795 INFO L83 FinitePrefix]: Finished finitePrefix Result has 34 conditions, 25 events. 4/25 cut-off events. For 2/2 co-relation queries the response was YES. Maximal size of possible extension queue 4. Compared 35 event pairs, 0 based on Foata normal form. 0/20 useless extension candidates. Maximal degree in co-relation 19. Up to 2 conditions per place. [2024-02-19 14:43:10,795 INFO L82 GeneralOperation]: Start removeDead. Operand has 30 places, 27 transitions, 68 flow [2024-02-19 14:43:10,797 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 27 places, 24 transitions, 60 flow [2024-02-19 14:43:10,803 INFO L368 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2024-02-19 14:43:10,808 INFO L369 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=PETRI_NET, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mPorIndependenceSettings=[Lde.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings;@1823307a, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2024-02-19 14:43:10,808 INFO L370 AbstractCegarLoop]: Starting to check reachability of 3 error locations. [2024-02-19 14:43:10,814 INFO L185 PetriNetUnfolderBase]: Found word, exiting Unfolder. [2024-02-19 14:43:10,814 INFO L124 PetriNetUnfolderBase]: 4/23 cut-off events. [2024-02-19 14:43:10,815 INFO L125 PetriNetUnfolderBase]: For 2/2 co-relation queries the response was YES. [2024-02-19 14:43:10,815 INFO L226 CegarLoopForPetriNet]: Found error trace [2024-02-19 14:43:10,815 INFO L234 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-02-19 14:43:10,815 INFO L432 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES] === [2024-02-19 14:43:10,819 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-02-19 14:43:10,819 INFO L85 PathProgramCache]: Analyzing trace with hash -1509254958, now seen corresponding path program 1 times [2024-02-19 14:43:10,825 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-02-19 14:43:10,826 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1632180607] [2024-02-19 14:43:10,826 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-02-19 14:43:10,826 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-02-19 14:43:10,899 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-02-19 14:43:11,044 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-02-19 14:43:11,045 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-02-19 14:43:11,045 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1632180607] [2024-02-19 14:43:11,045 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1632180607] provided 1 perfect and 0 imperfect interpolant sequences [2024-02-19 14:43:11,045 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-02-19 14:43:11,046 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2024-02-19 14:43:11,047 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1145969136] [2024-02-19 14:43:11,047 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-02-19 14:43:11,053 INFO L584 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2024-02-19 14:43:11,056 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-02-19 14:43:11,073 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2024-02-19 14:43:11,074 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2024-02-19 14:43:11,079 INFO L498 CegarLoopForPetriNet]: Number of universal loopers: 9 out of 27 [2024-02-19 14:43:11,081 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 27 places, 24 transitions, 60 flow. Second operand has 3 states, 3 states have (on average 12.666666666666666) internal successors, (38), 3 states have internal predecessors, (38), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-02-19 14:43:11,081 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-02-19 14:43:11,081 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 9 of 27 [2024-02-19 14:43:11,082 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-02-19 14:43:11,133 INFO L124 PetriNetUnfolderBase]: 88/166 cut-off events. [2024-02-19 14:43:11,133 INFO L125 PetriNetUnfolderBase]: For 13/13 co-relation queries the response was YES. [2024-02-19 14:43:11,134 INFO L83 FinitePrefix]: Finished finitePrefix Result has 327 conditions, 166 events. 88/166 cut-off events. For 13/13 co-relation queries the response was YES. Maximal size of possible extension queue 18. Compared 487 event pairs, 9 based on Foata normal form. 1/150 useless extension candidates. Maximal degree in co-relation 255. Up to 112 conditions per place. [2024-02-19 14:43:11,136 INFO L140 encePairwiseOnDemand]: 21/27 looper letters, 23 selfloop transitions, 5 changer transitions 1/36 dead transitions. [2024-02-19 14:43:11,136 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 29 places, 36 transitions, 151 flow [2024-02-19 14:43:11,137 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2024-02-19 14:43:11,139 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2024-02-19 14:43:11,143 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 57 transitions. [2024-02-19 14:43:11,144 INFO L543 CegarLoopForPetriNet]: DFA transition density 0.7037037037037037 [2024-02-19 14:43:11,148 INFO L308 CegarLoopForPetriNet]: 27 programPoint places, 2 predicate places. [2024-02-19 14:43:11,148 INFO L507 AbstractCegarLoop]: Abstraction has has 29 places, 36 transitions, 151 flow [2024-02-19 14:43:11,149 INFO L508 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 12.666666666666666) internal successors, (38), 3 states have internal predecessors, (38), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-02-19 14:43:11,149 INFO L226 CegarLoopForPetriNet]: Found error trace [2024-02-19 14:43:11,150 INFO L234 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-02-19 14:43:11,150 WARN L489 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2024-02-19 14:43:11,150 INFO L432 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES] === [2024-02-19 14:43:11,151 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-02-19 14:43:11,151 INFO L85 PathProgramCache]: Analyzing trace with hash -467639076, now seen corresponding path program 1 times [2024-02-19 14:43:11,151 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-02-19 14:43:11,152 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [834128584] [2024-02-19 14:43:11,152 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-02-19 14:43:11,152 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-02-19 14:43:11,218 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-02-19 14:43:11,319 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2024-02-19 14:43:11,320 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-02-19 14:43:11,320 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [834128584] [2024-02-19 14:43:11,320 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [834128584] provided 1 perfect and 0 imperfect interpolant sequences [2024-02-19 14:43:11,320 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-02-19 14:43:11,321 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2024-02-19 14:43:11,321 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [19305269] [2024-02-19 14:43:11,321 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-02-19 14:43:11,322 INFO L584 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2024-02-19 14:43:11,323 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-02-19 14:43:11,324 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2024-02-19 14:43:11,324 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2024-02-19 14:43:11,343 INFO L498 CegarLoopForPetriNet]: Number of universal loopers: 11 out of 27 [2024-02-19 14:43:11,344 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 29 places, 36 transitions, 151 flow. Second operand has 3 states, 3 states have (on average 15.333333333333334) internal successors, (46), 3 states have internal predecessors, (46), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-02-19 14:43:11,344 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-02-19 14:43:11,344 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 11 of 27 [2024-02-19 14:43:11,344 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-02-19 14:43:11,423 INFO L124 PetriNetUnfolderBase]: 112/217 cut-off events. [2024-02-19 14:43:11,423 INFO L125 PetriNetUnfolderBase]: For 60/64 co-relation queries the response was YES. [2024-02-19 14:43:11,425 INFO L83 FinitePrefix]: Finished finitePrefix Result has 539 conditions, 217 events. 112/217 cut-off events. For 60/64 co-relation queries the response was YES. Maximal size of possible extension queue 20. Compared 749 event pairs, 3 based on Foata normal form. 14/210 useless extension candidates. Maximal degree in co-relation 428. Up to 158 conditions per place. [2024-02-19 14:43:11,427 INFO L140 encePairwiseOnDemand]: 24/27 looper letters, 29 selfloop transitions, 2 changer transitions 0/42 dead transitions. [2024-02-19 14:43:11,427 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 31 places, 42 transitions, 237 flow [2024-02-19 14:43:11,428 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2024-02-19 14:43:11,428 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2024-02-19 14:43:11,429 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 57 transitions. [2024-02-19 14:43:11,429 INFO L543 CegarLoopForPetriNet]: DFA transition density 0.7037037037037037 [2024-02-19 14:43:11,430 INFO L308 CegarLoopForPetriNet]: 27 programPoint places, 4 predicate places. [2024-02-19 14:43:11,430 INFO L507 AbstractCegarLoop]: Abstraction has has 31 places, 42 transitions, 237 flow [2024-02-19 14:43:11,430 INFO L508 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 15.333333333333334) internal successors, (46), 3 states have internal predecessors, (46), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-02-19 14:43:11,430 INFO L226 CegarLoopForPetriNet]: Found error trace [2024-02-19 14:43:11,431 INFO L234 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-02-19 14:43:11,431 WARN L489 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2024-02-19 14:43:11,432 INFO L432 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES] === [2024-02-19 14:43:11,434 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-02-19 14:43:11,434 INFO L85 PathProgramCache]: Analyzing trace with hash -1313056280, now seen corresponding path program 1 times [2024-02-19 14:43:11,434 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-02-19 14:43:11,435 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1513920690] [2024-02-19 14:43:11,435 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-02-19 14:43:11,435 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-02-19 14:43:11,477 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-02-19 14:43:11,563 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2024-02-19 14:43:11,564 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-02-19 14:43:11,566 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1513920690] [2024-02-19 14:43:11,567 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1513920690] provided 1 perfect and 0 imperfect interpolant sequences [2024-02-19 14:43:11,567 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-02-19 14:43:11,567 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2024-02-19 14:43:11,568 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1209979139] [2024-02-19 14:43:11,568 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-02-19 14:43:11,569 INFO L584 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2024-02-19 14:43:11,569 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-02-19 14:43:11,569 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2024-02-19 14:43:11,570 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2024-02-19 14:43:11,576 INFO L498 CegarLoopForPetriNet]: Number of universal loopers: 11 out of 27 [2024-02-19 14:43:11,576 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 31 places, 42 transitions, 237 flow. Second operand has 3 states, 3 states have (on average 15.0) internal successors, (45), 3 states have internal predecessors, (45), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-02-19 14:43:11,576 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-02-19 14:43:11,576 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 11 of 27 [2024-02-19 14:43:11,576 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-02-19 14:43:11,649 INFO L124 PetriNetUnfolderBase]: 144/275 cut-off events. [2024-02-19 14:43:11,650 INFO L125 PetriNetUnfolderBase]: For 207/223 co-relation queries the response was YES. [2024-02-19 14:43:11,652 INFO L83 FinitePrefix]: Finished finitePrefix Result has 854 conditions, 275 events. 144/275 cut-off events. For 207/223 co-relation queries the response was YES. Maximal size of possible extension queue 18. Compared 997 event pairs, 8 based on Foata normal form. 12/264 useless extension candidates. Maximal degree in co-relation 737. Up to 213 conditions per place. [2024-02-19 14:43:11,655 INFO L140 encePairwiseOnDemand]: 24/27 looper letters, 38 selfloop transitions, 3 changer transitions 0/52 dead transitions. [2024-02-19 14:43:11,655 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 33 places, 52 transitions, 379 flow [2024-02-19 14:43:11,655 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2024-02-19 14:43:11,655 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2024-02-19 14:43:11,656 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 57 transitions. [2024-02-19 14:43:11,656 INFO L543 CegarLoopForPetriNet]: DFA transition density 0.7037037037037037 [2024-02-19 14:43:11,657 INFO L308 CegarLoopForPetriNet]: 27 programPoint places, 6 predicate places. [2024-02-19 14:43:11,658 INFO L507 AbstractCegarLoop]: Abstraction has has 33 places, 52 transitions, 379 flow [2024-02-19 14:43:11,658 INFO L508 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 15.0) internal successors, (45), 3 states have internal predecessors, (45), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-02-19 14:43:11,658 INFO L226 CegarLoopForPetriNet]: Found error trace [2024-02-19 14:43:11,658 INFO L234 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-02-19 14:43:11,658 WARN L489 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2024-02-19 14:43:11,659 INFO L432 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES] === [2024-02-19 14:43:11,659 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-02-19 14:43:11,659 INFO L85 PathProgramCache]: Analyzing trace with hash -541083818, now seen corresponding path program 1 times [2024-02-19 14:43:11,659 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-02-19 14:43:11,660 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [880693506] [2024-02-19 14:43:11,660 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-02-19 14:43:11,660 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-02-19 14:43:11,709 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-02-19 14:43:11,855 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2024-02-19 14:43:11,856 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-02-19 14:43:11,856 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [880693506] [2024-02-19 14:43:11,858 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [880693506] provided 0 perfect and 1 imperfect interpolant sequences [2024-02-19 14:43:11,859 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [383443717] [2024-02-19 14:43:11,859 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-02-19 14:43:11,860 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-02-19 14:43:11,860 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-19 14:43:11,877 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-02-19 14:43:11,916 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2024-02-19 14:43:11,952 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-02-19 14:43:11,954 INFO L262 TraceCheckSpWp]: Trace formula consists of 117 conjuncts, 6 conjunts are in the unsatisfiable core [2024-02-19 14:43:11,958 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-02-19 14:43:12,038 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2024-02-19 14:43:12,038 INFO L323 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2024-02-19 14:43:12,039 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [383443717] provided 1 perfect and 0 imperfect interpolant sequences [2024-02-19 14:43:12,039 INFO L185 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2024-02-19 14:43:12,040 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [4] total 7 [2024-02-19 14:43:12,040 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [318100090] [2024-02-19 14:43:12,040 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-02-19 14:43:12,040 INFO L584 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2024-02-19 14:43:12,041 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-02-19 14:43:12,042 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2024-02-19 14:43:12,043 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=27, Unknown=0, NotChecked=0, Total=42 [2024-02-19 14:43:12,045 INFO L498 CegarLoopForPetriNet]: Number of universal loopers: 8 out of 27 [2024-02-19 14:43:12,046 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 33 places, 52 transitions, 379 flow. Second operand has 4 states, 4 states have (on average 12.0) internal successors, (48), 4 states have internal predecessors, (48), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-02-19 14:43:12,046 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-02-19 14:43:12,046 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 8 of 27 [2024-02-19 14:43:12,046 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-02-19 14:43:12,131 INFO L124 PetriNetUnfolderBase]: 279/464 cut-off events. [2024-02-19 14:43:12,132 INFO L125 PetriNetUnfolderBase]: For 1109/1145 co-relation queries the response was YES. [2024-02-19 14:43:12,132 INFO L83 FinitePrefix]: Finished finitePrefix Result has 1916 conditions, 464 events. 279/464 cut-off events. For 1109/1145 co-relation queries the response was YES. Maximal size of possible extension queue 26. Compared 1690 event pairs, 30 based on Foata normal form. 12/447 useless extension candidates. Maximal degree in co-relation 1749. Up to 358 conditions per place. [2024-02-19 14:43:12,135 INFO L140 encePairwiseOnDemand]: 21/27 looper letters, 62 selfloop transitions, 9 changer transitions 0/78 dead transitions. [2024-02-19 14:43:12,135 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 36 places, 78 transitions, 721 flow [2024-02-19 14:43:12,135 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2024-02-19 14:43:12,135 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2024-02-19 14:43:12,137 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 70 transitions. [2024-02-19 14:43:12,138 INFO L543 CegarLoopForPetriNet]: DFA transition density 0.6481481481481481 [2024-02-19 14:43:12,139 INFO L308 CegarLoopForPetriNet]: 27 programPoint places, 9 predicate places. [2024-02-19 14:43:12,140 INFO L507 AbstractCegarLoop]: Abstraction has has 36 places, 78 transitions, 721 flow [2024-02-19 14:43:12,140 INFO L508 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 12.0) internal successors, (48), 4 states have internal predecessors, (48), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-02-19 14:43:12,140 INFO L226 CegarLoopForPetriNet]: Found error trace [2024-02-19 14:43:12,140 INFO L234 CegarLoopForPetriNet]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-02-19 14:43:12,155 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2024-02-19 14:43:12,351 WARN L489 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-02-19 14:43:12,351 INFO L432 AbstractCegarLoop]: === Iteration 5 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES] === [2024-02-19 14:43:12,352 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-02-19 14:43:12,352 INFO L85 PathProgramCache]: Analyzing trace with hash 601658906, now seen corresponding path program 1 times [2024-02-19 14:43:12,352 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-02-19 14:43:12,352 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1846383300] [2024-02-19 14:43:12,353 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-02-19 14:43:12,353 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-02-19 14:43:12,388 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-02-19 14:43:12,514 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 3 proven. 1 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-02-19 14:43:12,514 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-02-19 14:43:12,515 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1846383300] [2024-02-19 14:43:12,515 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1846383300] provided 0 perfect and 1 imperfect interpolant sequences [2024-02-19 14:43:12,515 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [852060439] [2024-02-19 14:43:12,515 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-02-19 14:43:12,515 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-02-19 14:43:12,515 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-19 14:43:12,517 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-02-19 14:43:12,538 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2024-02-19 14:43:12,604 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-02-19 14:43:12,605 INFO L262 TraceCheckSpWp]: Trace formula consists of 125 conjuncts, 16 conjunts are in the unsatisfiable core [2024-02-19 14:43:12,607 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-02-19 14:43:12,662 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 3 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2024-02-19 14:43:12,662 INFO L323 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2024-02-19 14:43:12,663 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [852060439] provided 1 perfect and 0 imperfect interpolant sequences [2024-02-19 14:43:12,663 INFO L185 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2024-02-19 14:43:12,663 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [4] total 6 [2024-02-19 14:43:12,663 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [602831757] [2024-02-19 14:43:12,663 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-02-19 14:43:12,664 INFO L584 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2024-02-19 14:43:12,664 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-02-19 14:43:12,664 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2024-02-19 14:43:12,664 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=22, Unknown=0, NotChecked=0, Total=42 [2024-02-19 14:43:12,671 INFO L498 CegarLoopForPetriNet]: Number of universal loopers: 9 out of 27 [2024-02-19 14:43:12,671 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 36 places, 78 transitions, 721 flow. Second operand has 4 states, 4 states have (on average 12.75) internal successors, (51), 4 states have internal predecessors, (51), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-02-19 14:43:12,672 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-02-19 14:43:12,672 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 9 of 27 [2024-02-19 14:43:12,672 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-02-19 14:43:12,763 INFO L124 PetriNetUnfolderBase]: 431/745 cut-off events. [2024-02-19 14:43:12,764 INFO L125 PetriNetUnfolderBase]: For 2520/2532 co-relation queries the response was YES. [2024-02-19 14:43:12,765 INFO L83 FinitePrefix]: Finished finitePrefix Result has 3475 conditions, 745 events. 431/745 cut-off events. For 2520/2532 co-relation queries the response was YES. Maximal size of possible extension queue 49. Compared 3126 event pairs, 71 based on Foata normal form. 10/688 useless extension candidates. Maximal degree in co-relation 3199. Up to 536 conditions per place. [2024-02-19 14:43:12,768 INFO L140 encePairwiseOnDemand]: 21/27 looper letters, 72 selfloop transitions, 8 changer transitions 0/91 dead transitions. [2024-02-19 14:43:12,768 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 39 places, 91 transitions, 993 flow [2024-02-19 14:43:12,769 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2024-02-19 14:43:12,769 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2024-02-19 14:43:12,769 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 70 transitions. [2024-02-19 14:43:12,769 INFO L543 CegarLoopForPetriNet]: DFA transition density 0.6481481481481481 [2024-02-19 14:43:12,770 INFO L308 CegarLoopForPetriNet]: 27 programPoint places, 12 predicate places. [2024-02-19 14:43:12,770 INFO L507 AbstractCegarLoop]: Abstraction has has 39 places, 91 transitions, 993 flow [2024-02-19 14:43:12,770 INFO L508 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 12.75) internal successors, (51), 4 states have internal predecessors, (51), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-02-19 14:43:12,770 INFO L226 CegarLoopForPetriNet]: Found error trace [2024-02-19 14:43:12,770 INFO L234 CegarLoopForPetriNet]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-02-19 14:43:12,781 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Ended with exit code 0 [2024-02-19 14:43:12,981 WARN L489 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-02-19 14:43:12,981 INFO L432 AbstractCegarLoop]: === Iteration 6 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES] === [2024-02-19 14:43:12,982 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-02-19 14:43:12,982 INFO L85 PathProgramCache]: Analyzing trace with hash 619160048, now seen corresponding path program 2 times [2024-02-19 14:43:12,982 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-02-19 14:43:12,982 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1947803360] [2024-02-19 14:43:12,982 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-02-19 14:43:12,983 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-02-19 14:43:12,996 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-02-19 14:43:13,084 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 3 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-02-19 14:43:13,084 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-02-19 14:43:13,084 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1947803360] [2024-02-19 14:43:13,087 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1947803360] provided 0 perfect and 1 imperfect interpolant sequences [2024-02-19 14:43:13,087 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [899947692] [2024-02-19 14:43:13,088 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2024-02-19 14:43:13,088 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-02-19 14:43:13,088 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-19 14:43:13,105 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-02-19 14:43:13,143 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2024-02-19 14:43:13,172 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2024-02-19 14:43:13,172 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2024-02-19 14:43:13,173 INFO L262 TraceCheckSpWp]: Trace formula consists of 125 conjuncts, 10 conjunts are in the unsatisfiable core [2024-02-19 14:43:13,175 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-02-19 14:43:13,303 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 3 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-02-19 14:43:13,304 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-02-19 14:43:13,447 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 4 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-02-19 14:43:13,447 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [899947692] provided 0 perfect and 2 imperfect interpolant sequences [2024-02-19 14:43:13,448 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-02-19 14:43:13,448 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 5, 5] total 10 [2024-02-19 14:43:13,448 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [330205335] [2024-02-19 14:43:13,448 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-02-19 14:43:13,449 INFO L584 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2024-02-19 14:43:13,449 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-02-19 14:43:13,450 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2024-02-19 14:43:13,450 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=47, Invalid=63, Unknown=0, NotChecked=0, Total=110 [2024-02-19 14:43:13,458 INFO L498 CegarLoopForPetriNet]: Number of universal loopers: 7 out of 27 [2024-02-19 14:43:13,459 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 39 places, 91 transitions, 993 flow. Second operand has 11 states, 11 states have (on average 11.0) internal successors, (121), 11 states have internal predecessors, (121), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-02-19 14:43:13,459 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-02-19 14:43:13,459 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 7 of 27 [2024-02-19 14:43:13,459 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-02-19 14:43:13,755 INFO L124 PetriNetUnfolderBase]: 733/1238 cut-off events. [2024-02-19 14:43:13,755 INFO L125 PetriNetUnfolderBase]: For 5957/6054 co-relation queries the response was YES. [2024-02-19 14:43:13,757 INFO L83 FinitePrefix]: Finished finitePrefix Result has 6586 conditions, 1238 events. 733/1238 cut-off events. For 5957/6054 co-relation queries the response was YES. Maximal size of possible extension queue 57. Compared 5342 event pairs, 71 based on Foata normal form. 53/1183 useless extension candidates. Maximal degree in co-relation 6236. Up to 848 conditions per place. [2024-02-19 14:43:13,764 INFO L140 encePairwiseOnDemand]: 19/27 looper letters, 133 selfloop transitions, 38 changer transitions 0/178 dead transitions. [2024-02-19 14:43:13,764 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 50 places, 178 transitions, 2149 flow [2024-02-19 14:43:13,765 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2024-02-19 14:43:13,765 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2024-02-19 14:43:13,767 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 180 transitions. [2024-02-19 14:43:13,768 INFO L543 CegarLoopForPetriNet]: DFA transition density 0.5555555555555556 [2024-02-19 14:43:13,770 INFO L308 CegarLoopForPetriNet]: 27 programPoint places, 23 predicate places. [2024-02-19 14:43:13,770 INFO L507 AbstractCegarLoop]: Abstraction has has 50 places, 178 transitions, 2149 flow [2024-02-19 14:43:13,770 INFO L508 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 11.0) internal successors, (121), 11 states have internal predecessors, (121), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-02-19 14:43:13,770 INFO L226 CegarLoopForPetriNet]: Found error trace [2024-02-19 14:43:13,770 INFO L234 CegarLoopForPetriNet]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-02-19 14:43:13,797 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Ended with exit code 0 [2024-02-19 14:43:13,981 WARN L489 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-02-19 14:43:13,982 INFO L432 AbstractCegarLoop]: === Iteration 7 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES] === [2024-02-19 14:43:13,982 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-02-19 14:43:13,982 INFO L85 PathProgramCache]: Analyzing trace with hash 1531438046, now seen corresponding path program 1 times [2024-02-19 14:43:13,983 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-02-19 14:43:13,983 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2058340217] [2024-02-19 14:43:13,983 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-02-19 14:43:13,983 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-02-19 14:43:14,013 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-02-19 14:43:14,082 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-02-19 14:43:14,082 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-02-19 14:43:14,082 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2058340217] [2024-02-19 14:43:14,083 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2058340217] provided 0 perfect and 1 imperfect interpolant sequences [2024-02-19 14:43:14,083 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2044152784] [2024-02-19 14:43:14,083 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-02-19 14:43:14,083 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-02-19 14:43:14,083 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-19 14:43:14,084 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-02-19 14:43:14,124 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2024-02-19 14:43:14,153 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-02-19 14:43:14,153 INFO L262 TraceCheckSpWp]: Trace formula consists of 133 conjuncts, 11 conjunts are in the unsatisfiable core [2024-02-19 14:43:14,155 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-02-19 14:43:14,180 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-02-19 14:43:14,180 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-02-19 14:43:14,209 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-02-19 14:43:14,212 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2044152784] provided 0 perfect and 2 imperfect interpolant sequences [2024-02-19 14:43:14,212 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-02-19 14:43:14,212 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 4 [2024-02-19 14:43:14,212 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1477318973] [2024-02-19 14:43:14,212 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-02-19 14:43:14,213 INFO L584 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2024-02-19 14:43:14,213 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-02-19 14:43:14,214 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2024-02-19 14:43:14,214 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2024-02-19 14:43:14,215 INFO L498 CegarLoopForPetriNet]: Number of universal loopers: 9 out of 27 [2024-02-19 14:43:14,216 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 50 places, 178 transitions, 2149 flow. Second operand has 5 states, 5 states have (on average 12.8) internal successors, (64), 5 states have internal predecessors, (64), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-02-19 14:43:14,216 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-02-19 14:43:14,216 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 9 of 27 [2024-02-19 14:43:14,216 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-02-19 14:43:14,597 INFO L124 PetriNetUnfolderBase]: 2278/3862 cut-off events. [2024-02-19 14:43:14,597 INFO L125 PetriNetUnfolderBase]: For 20479/20583 co-relation queries the response was YES. [2024-02-19 14:43:14,602 INFO L83 FinitePrefix]: Finished finitePrefix Result has 22837 conditions, 3862 events. 2278/3862 cut-off events. For 20479/20583 co-relation queries the response was YES. Maximal size of possible extension queue 126. Compared 20921 event pairs, 139 based on Foata normal form. 16/3579 useless extension candidates. Maximal degree in co-relation 21560. Up to 2606 conditions per place. [2024-02-19 14:43:14,622 INFO L140 encePairwiseOnDemand]: 21/27 looper letters, 385 selfloop transitions, 67 changer transitions 6/499 dead transitions. [2024-02-19 14:43:14,622 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 54 places, 499 transitions, 7589 flow [2024-02-19 14:43:14,622 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2024-02-19 14:43:14,623 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2024-02-19 14:43:14,623 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 105 transitions. [2024-02-19 14:43:14,623 INFO L543 CegarLoopForPetriNet]: DFA transition density 0.7777777777777778 [2024-02-19 14:43:14,624 INFO L308 CegarLoopForPetriNet]: 27 programPoint places, 27 predicate places. [2024-02-19 14:43:14,624 INFO L507 AbstractCegarLoop]: Abstraction has has 54 places, 499 transitions, 7589 flow [2024-02-19 14:43:14,624 INFO L508 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 12.8) internal successors, (64), 5 states have internal predecessors, (64), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-02-19 14:43:14,624 INFO L226 CegarLoopForPetriNet]: Found error trace [2024-02-19 14:43:14,624 INFO L234 CegarLoopForPetriNet]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-02-19 14:43:14,646 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Ended with exit code 0 [2024-02-19 14:43:14,835 WARN L489 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-02-19 14:43:14,836 INFO L432 AbstractCegarLoop]: === Iteration 8 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES] === [2024-02-19 14:43:14,836 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-02-19 14:43:14,836 INFO L85 PathProgramCache]: Analyzing trace with hash 935503732, now seen corresponding path program 2 times [2024-02-19 14:43:14,836 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-02-19 14:43:14,837 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [572903312] [2024-02-19 14:43:14,837 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-02-19 14:43:14,837 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-02-19 14:43:14,852 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-02-19 14:43:14,931 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 8 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-02-19 14:43:14,931 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-02-19 14:43:14,931 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [572903312] [2024-02-19 14:43:14,931 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [572903312] provided 0 perfect and 1 imperfect interpolant sequences [2024-02-19 14:43:14,932 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1877559024] [2024-02-19 14:43:14,932 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2024-02-19 14:43:14,932 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-02-19 14:43:14,932 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-19 14:43:14,941 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-02-19 14:43:14,957 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2024-02-19 14:43:15,027 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2024-02-19 14:43:15,027 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2024-02-19 14:43:15,028 INFO L262 TraceCheckSpWp]: Trace formula consists of 133 conjuncts, 11 conjunts are in the unsatisfiable core [2024-02-19 14:43:15,029 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-02-19 14:43:15,057 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 8 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-02-19 14:43:15,057 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-02-19 14:43:15,081 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 8 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-02-19 14:43:15,081 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1877559024] provided 0 perfect and 2 imperfect interpolant sequences [2024-02-19 14:43:15,081 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-02-19 14:43:15,081 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 5 [2024-02-19 14:43:15,082 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [216532438] [2024-02-19 14:43:15,082 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-02-19 14:43:15,082 INFO L584 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2024-02-19 14:43:15,082 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-02-19 14:43:15,083 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2024-02-19 14:43:15,083 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2024-02-19 14:43:15,085 INFO L498 CegarLoopForPetriNet]: Number of universal loopers: 9 out of 27 [2024-02-19 14:43:15,085 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 54 places, 499 transitions, 7589 flow. Second operand has 6 states, 6 states have (on average 12.166666666666666) internal successors, (73), 6 states have internal predecessors, (73), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-02-19 14:43:15,085 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-02-19 14:43:15,086 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 9 of 27 [2024-02-19 14:43:15,086 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-02-19 14:43:16,033 INFO L124 PetriNetUnfolderBase]: 4251/7172 cut-off events. [2024-02-19 14:43:16,033 INFO L125 PetriNetUnfolderBase]: For 47695/48150 co-relation queries the response was YES. [2024-02-19 14:43:16,044 INFO L83 FinitePrefix]: Finished finitePrefix Result has 47292 conditions, 7172 events. 4251/7172 cut-off events. For 47695/48150 co-relation queries the response was YES. Maximal size of possible extension queue 271. Compared 43925 event pairs, 262 based on Foata normal form. 197/6811 useless extension candidates. Maximal degree in co-relation 44463. Up to 4844 conditions per place. [2024-02-19 14:43:16,086 INFO L140 encePairwiseOnDemand]: 21/27 looper letters, 707 selfloop transitions, 141 changer transitions 12/901 dead transitions. [2024-02-19 14:43:16,087 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 59 places, 901 transitions, 15775 flow [2024-02-19 14:43:16,087 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2024-02-19 14:43:16,087 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2024-02-19 14:43:16,088 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 129 transitions. [2024-02-19 14:43:16,088 INFO L543 CegarLoopForPetriNet]: DFA transition density 0.7962962962962963 [2024-02-19 14:43:16,090 INFO L308 CegarLoopForPetriNet]: 27 programPoint places, 32 predicate places. [2024-02-19 14:43:16,090 INFO L507 AbstractCegarLoop]: Abstraction has has 59 places, 901 transitions, 15775 flow [2024-02-19 14:43:16,090 INFO L508 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 12.166666666666666) internal successors, (73), 6 states have internal predecessors, (73), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-02-19 14:43:16,090 INFO L226 CegarLoopForPetriNet]: Found error trace [2024-02-19 14:43:16,091 INFO L234 CegarLoopForPetriNet]: trace histogram [3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-02-19 14:43:16,104 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2024-02-19 14:43:16,303 WARN L489 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-02-19 14:43:16,304 INFO L432 AbstractCegarLoop]: === Iteration 9 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES] === [2024-02-19 14:43:16,305 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-02-19 14:43:16,305 INFO L85 PathProgramCache]: Analyzing trace with hash -672658588, now seen corresponding path program 3 times [2024-02-19 14:43:16,305 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-02-19 14:43:16,305 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1192662870] [2024-02-19 14:43:16,305 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-02-19 14:43:16,305 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-02-19 14:43:16,330 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-02-19 14:43:16,438 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 14 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2024-02-19 14:43:16,439 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-02-19 14:43:16,439 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1192662870] [2024-02-19 14:43:16,439 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1192662870] provided 1 perfect and 0 imperfect interpolant sequences [2024-02-19 14:43:16,439 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-02-19 14:43:16,439 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2024-02-19 14:43:16,440 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2027139073] [2024-02-19 14:43:16,440 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-02-19 14:43:16,440 INFO L584 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2024-02-19 14:43:16,440 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-02-19 14:43:16,441 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2024-02-19 14:43:16,441 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2024-02-19 14:43:16,442 INFO L498 CegarLoopForPetriNet]: Number of universal loopers: 9 out of 27 [2024-02-19 14:43:16,443 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 59 places, 901 transitions, 15775 flow. Second operand has 4 states, 4 states have (on average 14.0) internal successors, (56), 4 states have internal predecessors, (56), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-02-19 14:43:16,443 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-02-19 14:43:16,443 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 9 of 27 [2024-02-19 14:43:16,443 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-02-19 14:43:16,894 INFO L124 PetriNetUnfolderBase]: 1600/2781 cut-off events. [2024-02-19 14:43:16,894 INFO L125 PetriNetUnfolderBase]: For 26240/26498 co-relation queries the response was YES. [2024-02-19 14:43:16,900 INFO L83 FinitePrefix]: Finished finitePrefix Result has 20030 conditions, 2781 events. 1600/2781 cut-off events. For 26240/26498 co-relation queries the response was YES. Maximal size of possible extension queue 103. Compared 14748 event pairs, 103 based on Foata normal form. 63/2702 useless extension candidates. Maximal degree in co-relation 18778. Up to 1922 conditions per place. [2024-02-19 14:43:16,918 INFO L140 encePairwiseOnDemand]: 23/27 looper letters, 342 selfloop transitions, 61 changer transitions 53/502 dead transitions. [2024-02-19 14:43:16,918 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 62 places, 502 transitions, 9400 flow [2024-02-19 14:43:16,919 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2024-02-19 14:43:16,919 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2024-02-19 14:43:16,919 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 61 transitions. [2024-02-19 14:43:16,919 INFO L543 CegarLoopForPetriNet]: DFA transition density 0.5648148148148148 [2024-02-19 14:43:16,920 INFO L308 CegarLoopForPetriNet]: 27 programPoint places, 35 predicate places. [2024-02-19 14:43:16,920 INFO L507 AbstractCegarLoop]: Abstraction has has 62 places, 502 transitions, 9400 flow [2024-02-19 14:43:16,920 INFO L508 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 14.0) internal successors, (56), 4 states have internal predecessors, (56), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-02-19 14:43:16,920 INFO L226 CegarLoopForPetriNet]: Found error trace [2024-02-19 14:43:16,920 INFO L234 CegarLoopForPetriNet]: trace histogram [3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-02-19 14:43:16,921 WARN L489 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8 [2024-02-19 14:43:16,921 INFO L432 AbstractCegarLoop]: === Iteration 10 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES] === [2024-02-19 14:43:16,921 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-02-19 14:43:16,921 INFO L85 PathProgramCache]: Analyzing trace with hash -94680780, now seen corresponding path program 4 times [2024-02-19 14:43:16,921 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-02-19 14:43:16,922 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1487805393] [2024-02-19 14:43:16,922 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-02-19 14:43:16,922 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-02-19 14:43:16,935 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-02-19 14:43:16,996 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 14 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2024-02-19 14:43:16,997 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-02-19 14:43:16,997 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1487805393] [2024-02-19 14:43:16,997 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1487805393] provided 1 perfect and 0 imperfect interpolant sequences [2024-02-19 14:43:16,997 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-02-19 14:43:16,997 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2024-02-19 14:43:16,997 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1805382261] [2024-02-19 14:43:16,998 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-02-19 14:43:16,998 INFO L584 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2024-02-19 14:43:16,998 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-02-19 14:43:16,998 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2024-02-19 14:43:16,999 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2024-02-19 14:43:17,002 INFO L498 CegarLoopForPetriNet]: Number of universal loopers: 9 out of 27 [2024-02-19 14:43:17,002 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 62 places, 502 transitions, 9400 flow. Second operand has 4 states, 4 states have (on average 13.75) internal successors, (55), 4 states have internal predecessors, (55), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-02-19 14:43:17,002 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-02-19 14:43:17,002 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 9 of 27 [2024-02-19 14:43:17,002 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-02-19 14:43:17,227 INFO L124 PetriNetUnfolderBase]: 959/1726 cut-off events. [2024-02-19 14:43:17,227 INFO L125 PetriNetUnfolderBase]: For 19002/19064 co-relation queries the response was YES. [2024-02-19 14:43:17,230 INFO L83 FinitePrefix]: Finished finitePrefix Result has 14003 conditions, 1726 events. 959/1726 cut-off events. For 19002/19064 co-relation queries the response was YES. Maximal size of possible extension queue 63. Compared 8433 event pairs, 73 based on Foata normal form. 0/1719 useless extension candidates. Maximal degree in co-relation 13067. Up to 1191 conditions per place. [2024-02-19 14:43:17,234 INFO L140 encePairwiseOnDemand]: 23/27 looper letters, 0 selfloop transitions, 0 changer transitions 446/446 dead transitions. [2024-02-19 14:43:17,234 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 63 places, 446 transitions, 9202 flow [2024-02-19 14:43:17,234 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2024-02-19 14:43:17,235 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2024-02-19 14:43:17,235 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 62 transitions. [2024-02-19 14:43:17,235 INFO L543 CegarLoopForPetriNet]: DFA transition density 0.5740740740740741 [2024-02-19 14:43:17,236 INFO L308 CegarLoopForPetriNet]: 27 programPoint places, 36 predicate places. [2024-02-19 14:43:17,236 INFO L507 AbstractCegarLoop]: Abstraction has has 63 places, 446 transitions, 9202 flow [2024-02-19 14:43:17,236 INFO L508 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 13.75) internal successors, (55), 4 states have internal predecessors, (55), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-02-19 14:43:17,238 INFO L818 garLoopResultBuilder]: Registering result SAFE for location ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION (2 of 3 remaining) [2024-02-19 14:43:17,238 INFO L818 garLoopResultBuilder]: Registering result SAFE for location ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (1 of 3 remaining) [2024-02-19 14:43:17,238 INFO L818 garLoopResultBuilder]: Registering result SAFE for location ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (0 of 3 remaining) [2024-02-19 14:43:17,239 WARN L489 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9 [2024-02-19 14:43:17,521 INFO L644 CegarLoopForPetriNet]: Computed Owicki-Gries annotation of size 8291 in 282138372ns [2024-02-19 14:43:17,523 INFO L457 BasicCegarLoop]: Path program histogram: [4, 2, 1, 1, 1, 1] [2024-02-19 14:43:17,525 INFO L246 ceAbstractionStarter]: Analysis of concurrent program completed with 1 thread instances [2024-02-19 14:43:17,783 INFO L196 ceAbstractionStarter]: Computing trace abstraction results [2024-02-19 14:43:17,801 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 19.02 02:43:17 BasicIcfg [2024-02-19 14:43:17,801 INFO L131 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2024-02-19 14:43:17,801 INFO L112 PluginConnector]: ------------------------Witness Printer---------------------------- [2024-02-19 14:43:17,801 INFO L270 PluginConnector]: Initializing Witness Printer... [2024-02-19 14:43:17,802 INFO L274 PluginConnector]: Witness Printer initialized [2024-02-19 14:43:17,802 INFO L184 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 19.02 02:43:10" (3/4) ... [2024-02-19 14:43:17,803 INFO L137 WitnessPrinter]: Generating witness for correct program [2024-02-19 14:43:17,805 INFO L361 RCFGBacktranslator]: Ignoring RootEdge to procedure thread1 [2024-02-19 14:43:17,805 INFO L361 RCFGBacktranslator]: Ignoring RootEdge to procedure thread2 [2024-02-19 14:43:17,809 INFO L959 BoogieBacktranslator]: Reduced CFG by removing 38 nodes and edges [2024-02-19 14:43:17,809 INFO L959 BoogieBacktranslator]: Reduced CFG by removing 12 nodes and edges [2024-02-19 14:43:17,809 INFO L959 BoogieBacktranslator]: Reduced CFG by removing 4 nodes and edges [2024-02-19 14:43:17,810 INFO L959 BoogieBacktranslator]: Reduced CFG by removing 2 nodes and edges [2024-02-19 14:43:17,970 INFO L149 WitnessManager]: Wrote witness to /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/witness.graphml [2024-02-19 14:43:17,971 INFO L149 WitnessManager]: Wrote witness to /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/witness.yml [2024-02-19 14:43:17,971 INFO L131 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2024-02-19 14:43:17,972 INFO L158 Benchmark]: Toolchain (without parser) took 8019.73ms. Allocated memory was 56.6MB in the beginning and 566.2MB in the end (delta: 509.6MB). Free memory was 34.6MB in the beginning and 445.0MB in the end (delta: -410.4MB). Peak memory consumption was 98.6MB. Max. memory is 16.1GB. [2024-02-19 14:43:17,972 INFO L158 Benchmark]: CDTParser took 0.14ms. Allocated memory is still 46.1MB. Free memory was 30.9MB in the beginning and 30.9MB in the end (delta: 42.4kB). There was no memory consumed. Max. memory is 16.1GB. [2024-02-19 14:43:17,972 INFO L158 Benchmark]: CACSL2BoogieTranslator took 189.15ms. Allocated memory is still 56.6MB. Free memory was 34.5MB in the beginning and 36.4MB in the end (delta: -2.0MB). Peak memory consumption was 13.6MB. Max. memory is 16.1GB. [2024-02-19 14:43:17,972 INFO L158 Benchmark]: Boogie Procedure Inliner took 35.97ms. Allocated memory is still 56.6MB. Free memory was 36.4MB in the beginning and 34.9MB in the end (delta: 1.6MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. [2024-02-19 14:43:17,973 INFO L158 Benchmark]: Boogie Preprocessor took 57.89ms. Allocated memory is still 56.6MB. Free memory was 34.9MB in the beginning and 33.0MB in the end (delta: 1.9MB). There was no memory consumed. Max. memory is 16.1GB. [2024-02-19 14:43:17,973 INFO L158 Benchmark]: RCFGBuilder took 446.84ms. Allocated memory was 56.6MB in the beginning and 69.2MB in the end (delta: 12.6MB). Free memory was 32.8MB in the beginning and 35.0MB in the end (delta: -2.2MB). Peak memory consumption was 11.8MB. Max. memory is 16.1GB. [2024-02-19 14:43:17,973 INFO L158 Benchmark]: TraceAbstraction took 7114.49ms. Allocated memory was 69.2MB in the beginning and 566.2MB in the end (delta: 497.0MB). Free memory was 34.1MB in the beginning and 456.5MB in the end (delta: -422.4MB). Peak memory consumption was 391.3MB. Max. memory is 16.1GB. [2024-02-19 14:43:17,973 INFO L158 Benchmark]: Witness Printer took 169.95ms. Allocated memory is still 566.2MB. Free memory was 456.5MB in the beginning and 445.0MB in the end (delta: 11.5MB). Peak memory consumption was 10.5MB. Max. memory is 16.1GB. [2024-02-19 14:43:17,974 INFO L338 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.14ms. Allocated memory is still 46.1MB. Free memory was 30.9MB in the beginning and 30.9MB in the end (delta: 42.4kB). There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 189.15ms. Allocated memory is still 56.6MB. Free memory was 34.5MB in the beginning and 36.4MB in the end (delta: -2.0MB). Peak memory consumption was 13.6MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 35.97ms. Allocated memory is still 56.6MB. Free memory was 36.4MB in the beginning and 34.9MB in the end (delta: 1.6MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. * Boogie Preprocessor took 57.89ms. Allocated memory is still 56.6MB. Free memory was 34.9MB in the beginning and 33.0MB in the end (delta: 1.9MB). There was no memory consumed. Max. memory is 16.1GB. * RCFGBuilder took 446.84ms. Allocated memory was 56.6MB in the beginning and 69.2MB in the end (delta: 12.6MB). Free memory was 32.8MB in the beginning and 35.0MB in the end (delta: -2.2MB). Peak memory consumption was 11.8MB. Max. memory is 16.1GB. * TraceAbstraction took 7114.49ms. Allocated memory was 69.2MB in the beginning and 566.2MB in the end (delta: 497.0MB). Free memory was 34.1MB in the beginning and 456.5MB in the end (delta: -422.4MB). Peak memory consumption was 391.3MB. Max. memory is 16.1GB. * Witness Printer took 169.95ms. Allocated memory is still 566.2MB. Free memory was 456.5MB in the beginning and 445.0MB in the end (delta: 11.5MB). Peak memory consumption was 10.5MB. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - InvariantResult [Line: 43]: Loop Invariant Derived loop invariant: ((((((((((((((((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np1_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np6_1) && v_np8_1) && v_np0_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && ((((((((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) || (((((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || ((((((!(((d1 % 256) == 0)) && (pos == 3)) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 3) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1))))) && !(v_np15_1)) && v_np10_1) && v_np11_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1)) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && (((((((((((((((((((pos == 2) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0))) || ((((((!(((d1 % 256) == 0)) && (pos == 3)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((pos == 0) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || (((((((((!(((d1 % 256) == 0)) && (pos == 3)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 1) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || ((((((!(((d1 % 256) == 0)) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 2) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || (((((((pos == 0) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || ((((((((pos == 3) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || (((((((!(((d1 % 256) == 0)) && (pos == 3)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && v_np0_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np20_1) && v_np10_1) && v_np11_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && ((((((((((((((pos == 0) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0))) || ((((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || (((((((!(((d1 % 256) == 0)) && (g2 == 1)) && (pos == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 1) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || ((((((!(((d1 % 256) == 0)) && (pos == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((((((!(((d1 % 256) == 0)) && (g2 == 1)) && (pos == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 0) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0))))) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && v_np0_1) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np10_1) && v_np13_1) && v_np11_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((((((((((((((((((pos == 0) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) || (((((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || ((((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || (((((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || (((((((!(((d1 % 256) == 0)) && (g2 == 1)) && (pos == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 1) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || ((((((!(((d1 % 256) == 0)) && (pos == 3)) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((pos == 0) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || ((((((((pos == 3) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || (((((((((!(((d1 % 256) == 0)) && (g2 == 1)) && (pos == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((!(((d1 % 256) == 0)) && (pos == 1)) && !((((d2 / 256) * 256) == d2))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) && !(v_np5_1)) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && v_np0_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np23_1) && v_np10_1) && v_np11_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((((((((((((((((((pos == 0) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) || (((((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || ((((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || (((((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || (((((((!(((d1 % 256) == 0)) && (g2 == 1)) && (pos == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 1) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || ((((((!(((d1 % 256) == 0)) && (pos == 3)) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((pos == 0) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || ((((((((pos == 3) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || (((((((((!(((d1 % 256) == 0)) && (g2 == 1)) && (pos == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((!(((d1 % 256) == 0)) && (pos == 1)) && !((((d2 / 256) * 256) == d2))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) && !(v_np5_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && v_np0_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np23_1) && v_np16_1) && v_np10_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && ((((((((((((((pos == 0) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0))) || ((((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || (((((((!(((d1 % 256) == 0)) && (g2 == 1)) && (pos == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 1) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || ((((((!(((d1 % 256) == 0)) && (pos == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((((((!(((d1 % 256) == 0)) && (g2 == 1)) && (pos == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 0) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0))))) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && v_np0_1) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np16_1) && v_np10_1) && v_np13_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np1_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np6_1) && v_np8_1) && v_np0_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && ((((((((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) || (((((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || ((((((!(((d1 % 256) == 0)) && (pos == 3)) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 3) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1))))) && !(v_np15_1)) && v_np16_1) && v_np10_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np22_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && ((((((((((((((((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) || ((((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || (((((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || (((((((!(((d1 % 256) == 0)) && (g2 == 1)) && (pos == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || ((((((!(((d1 % 256) == 0)) && (pos == 3)) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 3) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || (((((!(((d1 % 256) == 0)) && (pos == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((((((!(((d1 % 256) == 0)) && (g2 == 1)) && (pos == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 0) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1))) || (((((((pos == 1) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 0) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)))) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && v_np0_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np16_1) && v_np19_1) && v_np10_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && ((((((((((((((((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) || ((((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || (((((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || (((((((!(((d1 % 256) == 0)) && (g2 == 1)) && (pos == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || ((((((!(((d1 % 256) == 0)) && (pos == 3)) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 3) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || (((((!(((d1 % 256) == 0)) && (pos == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((((((!(((d1 % 256) == 0)) && (g2 == 1)) && (pos == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 0) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1))) || (((((((pos == 1) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 0) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)))) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && v_np0_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np19_1) && v_np10_1) && v_np11_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && (((((((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0))) || (((((((!(((d1 % 256) == 0)) && (g2 == 1)) && (pos == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((((!(((d1 % 256) == 0)) && (g2 == 1)) && (pos == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1))))) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np8_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np3_1) && v_np7_1) && v_np0_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np10_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1))) || (((((((((((((((((((((((((((!(v_np5_1) && (((((((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0))) || (((((((!(((d1 % 256) == 0)) && (g2 == 1)) && (pos == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((((!(((d1 % 256) == 0)) && (g2 == 1)) && (pos == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1))))) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np8_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np7_1) && v_np0_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np10_1) && v_np12_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && ((((((((((pos == 0) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) || ((((((pos == 1) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || (((((pos == 0) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || ((((((pos == 0) && (1 <= (g1 % 256))) && (0 <= (d1 / 256))) && (!(((d1 % 256) == 0)) || ((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || ((((((pos == 0) && (0 <= (d1 / 256))) && (!(((d1 % 256) == 0)) || ((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1))) || ((((!(((d1 % 256) == 0)) && (pos == 1)) && !((((d2 / 256) * 256) == d2))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && v_np0_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np22_1) && v_np16_1) && v_np10_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && (((((((((((((((((((pos == 2) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0))) || ((((((!(((d1 % 256) == 0)) && (pos == 3)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((pos == 0) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || (((((((((!(((d1 % 256) == 0)) && (pos == 3)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 1) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || ((((((!(((d1 % 256) == 0)) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 2) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || (((((((pos == 0) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || ((((((((pos == 3) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || (((((((!(((d1 % 256) == 0)) && (pos == 3)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && v_np0_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np20_1) && v_np16_1) && v_np10_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && ((((((((((pos == 0) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) || ((((((pos == 1) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || (((((pos == 0) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || ((((((pos == 0) && (1 <= (g1 % 256))) && (0 <= (d1 / 256))) && (!(((d1 % 256) == 0)) || ((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || ((((((pos == 0) && (0 <= (d1 / 256))) && (!(((d1 % 256) == 0)) || ((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1))) || ((((!(((d1 % 256) == 0)) && (pos == 1)) && !((((d2 / 256) * 256) == d2))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && v_np0_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np22_1) && v_np10_1) && v_np11_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) - InvariantResult [Line: 97]: Loop Invariant Derived loop invariant: ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((!(v_np5_1) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && ((((((pos == 0) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))) || ((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np18_1) && v_np16_1) && v_np10_1) && v_np13_1) && !(v_np21_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1)) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np22_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np24_1) && v_np16_1) && v_np19_1) && v_np10_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && (((((((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0))) || ((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || ((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)))) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && (((((((((((((pos == 2) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1))) || ((((((!(((d1 % 256) == 0)) && (pos == 0)) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((((((!(((d1 % 256) == 0)) && (pos == 2)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || (((((((!(((d1 % 256) == 0)) && (pos == 2)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((!(((d1 % 256) == 0)) && (pos == 2)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 0) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1))))) && !(v_np15_1)) && v_np21_1) && v_np20_1) && v_np16_1) && v_np10_1) && !(v_np18_1)) && !(v_np17_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np22_1)) && !(v_np19_1)) && (((((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1))) || (((pos == 0) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np24_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np23_1) && v_np18_1) && v_np16_1) && v_np10_1) && !(v_np21_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np22_1)) && !(v_np19_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np23_1) && v_np24_1) && v_np16_1) && v_np10_1) && !(v_np21_1)) && (((((((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((pos == 1) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || (((((pos == 1) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)))) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np19_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && ((((((((pos == 1) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) || (((((pos == 1) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || ((((((pos == 1) && (1 <= (g1 % 256))) && (0 <= (d1 / 256))) && (!(((d1 % 256) == 0)) || ((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || ((((((pos == 1) && (0 <= (d1 / 256))) && (!(((d1 % 256) == 0)) || ((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)))) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np22_1) && v_np24_1) && v_np16_1) && v_np10_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np6_1) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np21_1) && v_np16_1) && v_np10_1) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && (((((((!(((d1 % 256) == 0)) && (pos == 2)) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1))) || ((((((((pos == 2) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1))))) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np22_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np18_1) && v_np16_1) && v_np19_1) && v_np10_1) && !(v_np21_1)) && (((((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1))) || ((((pos == 0) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && ((((((((((((((((((pos == 0) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || (((((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || ((((((((pos == 2) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || (((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1))) || ((((((pos == 2) && !(((g2 % 256) == 0))) && (0 < (g1 % 256))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || (((((pos == 0) && !(((g2 % 256) == 0))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np22_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && v_np16_1) && v_np15_1) && v_np19_1) && v_np10_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && ((((((((((((pos == 1) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) || ((((pos == 0) && !((((d2 / 256) * 256) == d2))) && ((!(((d1 % 256) == 0)) && !((((255 * g1) % 256) == 0))) || ((g2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((pos == 0) && !((((d2 / 256) * 256) == d2))) && (((g2 % 256) == 0) || !((((255 * g1) % 256) == 0)))) && !(((256 * (d1 / 256)) == d1)))) || (((((pos == 1) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || ((((((pos == 1) && (1 <= (g1 % 256))) && (0 <= (d1 / 256))) && (!(((d1 % 256) == 0)) || ((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || ((((((pos == 0) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 1) && (0 <= (d1 / 256))) && (!(((d1 % 256) == 0)) || ((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1))) || (((pos == 0) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np22_1) && v_np17_1) && v_np16_1) && v_np10_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && (((((pos == 0) && !((((d2 / 256) * 256) == d2))) && ((!(((d1 % 256) == 0)) && !((((255 * g1) % 256) == 0))) || ((g2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))) || (((pos == 0) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np22_1) && v_np18_1) && v_np16_1) && v_np10_1) && !(v_np21_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((((((((((((((((((pos == 0) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) || (((((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || ((((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || (((((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || (((((((!(((d1 % 256) == 0)) && (g2 == 1)) && (pos == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 1) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || ((((((!(((d1 % 256) == 0)) && (pos == 3)) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((pos == 0) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || ((((((((pos == 3) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || (((((((((!(((d1 % 256) == 0)) && (g2 == 1)) && (pos == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((!(((d1 % 256) == 0)) && (pos == 1)) && !((((d2 / 256) * 256) == d2))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) && !(v_np5_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && v_np0_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np23_1) && v_np16_1) && v_np10_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np22_1)) && !(v_np19_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && ((((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)))) && v_np6_1) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np24_1) && v_np16_1) && v_np10_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || ((((((((((((((((((((((((((((((((((((((((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0))) || (((((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || (((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || ((((((((pos == 2) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || (((((pos == 1) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || (((((pos == 1) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || ((((((pos == 0) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || (((pos == 0) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) && !(v_np5_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np23_1) && v_np17_1) && v_np16_1) && v_np10_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && ((((((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) || (((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 2) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)))) && !(v_np2_1)) && !(v_np12_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np6_1) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np17_1) && v_np16_1) && v_np10_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np22_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np21_1) && v_np16_1) && v_np19_1) && v_np10_1) && (((((((((((!(((d1 % 256) == 0)) && (pos == 2)) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1))) || (((((((pos == 0) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || (((((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 2) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || (((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((!(((d1 % 256) == 0)) && (pos == 0)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && ((((((((((((((((pos == 0) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1))) || ((((((((pos == 2) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || ((((((((pos == 3) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || ((((((pos == 2) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((((!(((d1 % 256) == 0)) && (pos == 2)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || (((((pos == 2) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 0) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 3) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)))) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np20_1) && v_np17_1) && v_np16_1) && v_np10_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && (((((((((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0))) || (((((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 0) && !(((g2 % 256) == 0))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || ((((((((pos == 0) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1))))) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && v_np16_1) && v_np15_1) && v_np10_1) && v_np13_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && (((((!(((d1 % 256) == 0)) && (pos == 0)) && !((((d2 / 256) * 256) == d2))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1))) || ((((((pos == 0) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1))))) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np22_1) && v_np21_1) && v_np16_1) && v_np10_1) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && ((((((((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1))) || ((((((!(((d1 % 256) == 0)) && (pos == 0)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 0) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1))))) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np21_1) && v_np16_1) && v_np10_1) && v_np13_1) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && ((((((((((((((pos == 0) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0))) || ((((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || (((((((!(((d1 % 256) == 0)) && (g2 == 1)) && (pos == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 1) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || ((((((!(((d1 % 256) == 0)) && (pos == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((((((!(((d1 % 256) == 0)) && (g2 == 1)) && (pos == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 0) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0))))) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && v_np0_1) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np16_1) && v_np10_1) && v_np13_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np1_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np6_1) && v_np8_1) && v_np0_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && ((((((((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) || (((((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || ((((((!(((d1 % 256) == 0)) && (pos == 3)) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 3) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1))))) && !(v_np15_1)) && v_np16_1) && v_np10_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np22_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && ((((((((((((((((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) || ((((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || (((((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || (((((((!(((d1 % 256) == 0)) && (g2 == 1)) && (pos == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || ((((((!(((d1 % 256) == 0)) && (pos == 3)) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 3) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || (((((!(((d1 % 256) == 0)) && (pos == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((((((!(((d1 % 256) == 0)) && (g2 == 1)) && (pos == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 0) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1))) || (((((((pos == 1) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 0) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)))) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && v_np0_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np16_1) && v_np19_1) && v_np10_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np22_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && ((((((((((((((((((pos == 0) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || (((((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || (((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || ((((((((pos == 2) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || ((((pos == 0) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1))) || ((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np17_1) && v_np16_1) && v_np19_1) && v_np10_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np22_1)) && !(v_np19_1)) && ((((((((((((((((((pos == 2) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))) || ((((((((pos == 2) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || ((((((pos == 0) && !(((g2 % 256) == 0))) && (0 < (g1 % 256))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 3) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((((!(((d1 % 256) == 0)) && (pos == 2)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 0) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 3) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || ((((((pos == 2) && !(((g2 % 256) == 0))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)))) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && v_np20_1) && v_np16_1) && v_np15_1) && v_np10_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && v_np22_1) && v_np16_1) && v_np15_1) && v_np10_1) && (((((((((((pos == 1) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) || ((((pos == 0) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1)))) || (((((pos == 1) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || ((((((pos == 1) && (1 <= (g1 % 256))) && (0 <= (d1 / 256))) && (!(((d1 % 256) == 0)) || ((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || (((((pos == 0) && (1 <= (g1 % 256))) && (!(((d1 % 256) == 0)) || ((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 0) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 1) && (0 <= (d1 / 256))) && (!(((d1 % 256) == 0)) || ((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)))) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && (((((((((((((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0))) || (((((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || ((((((((pos == 2) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || (((((pos == 1) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1))) || ((((pos == 0) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || (((((pos == 1) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || ((((((pos == 0) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 2) && !(((g2 % 256) == 0))) && (0 < (g1 % 256))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1))))) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && v_np23_1) && v_np16_1) && v_np15_1) && v_np10_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && ((((((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) || ((((((((pos == 2) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || ((((((pos == 2) && !(((g2 % 256) == 0))) && (0 < (g1 % 256))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1))))) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np6_1) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && v_np16_1) && v_np15_1) && v_np10_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && (((((((((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0))) || (((((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((pos == 0) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || ((((((((pos == 0) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1))))) && !(v_np15_1)) && v_np17_1) && v_np16_1) && v_np10_1) && v_np13_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || ((((((((((((((((((((((((((((((((((((((!(((d1 % 256) == 0)) && (pos == 2)) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1))) || (((((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 2) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || (((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((!(((d1 % 256) == 0)) && (pos == 0)) && !((((d2 / 256) * 256) == d2))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 0) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) && !(v_np5_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np23_1) && v_np21_1) && v_np16_1) && v_np10_1) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && ((((((((((pos == 0) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) || ((((((pos == 1) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || (((((pos == 0) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || ((((((pos == 0) && (1 <= (g1 % 256))) && (0 <= (d1 / 256))) && (!(((d1 % 256) == 0)) || ((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || ((((((pos == 0) && (0 <= (d1 / 256))) && (!(((d1 % 256) == 0)) || ((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1))) || ((((!(((d1 % 256) == 0)) && (pos == 1)) && !((((d2 / 256) * 256) == d2))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && v_np0_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np22_1) && v_np16_1) && v_np10_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np22_1)) && !(v_np19_1)) && ((((((((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) || ((((((((pos == 3) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || ((((((((pos == 3) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)))) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np20_1) && v_np24_1) && v_np16_1) && v_np10_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && (((((((((((((((((((pos == 2) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0))) || ((((((!(((d1 % 256) == 0)) && (pos == 3)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((pos == 0) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || (((((((((!(((d1 % 256) == 0)) && (pos == 3)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 1) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || ((((((!(((d1 % 256) == 0)) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 2) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || (((((((pos == 0) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || ((((((((pos == 3) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || (((((((!(((d1 % 256) == 0)) && (pos == 3)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && v_np0_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np20_1) && v_np16_1) && v_np10_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && (((((((pos == 0) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1))) || ((((((pos == 2) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((pos == 2) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np20_1) && v_np18_1) && v_np16_1) && v_np10_1) && !(v_np21_1)) && !(v_np17_1)) && !(v_np3_1)) && !(v_np7_1))) || ((((((((((((((((((((((((((((((((pos == 2) && !(v_np5_1)) && !(v_np22_1)) && !(v_np19_1)) && !(((g2 % 256) == 0))) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np6_1) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && (0 <= (d2 / 256))) && v_np18_1) && v_np16_1) && v_np10_1) && !(v_np21_1)) && (((d2 / 256) * 256) == d2)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1)) && !(((256 * (d1 / 256)) == d1)))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np22_1)) && !(v_np19_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np24_1) && v_np16_1) && v_np10_1) && v_np13_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && (((((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0))))) && !(v_np7_1))) - InvariantResult [Line: 41]: Loop Invariant Derived loop invariant: ((((((((((((((((((((((((((((((((((((((((!(v_np5_1) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && ((((((pos == 0) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))) || ((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np18_1) && v_np16_1) && v_np10_1) && v_np13_1) && !(v_np21_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1)) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np22_1)) && !(v_np19_1)) && (((((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1))) || (((pos == 0) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np24_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np23_1) && v_np18_1) && v_np16_1) && v_np10_1) && !(v_np21_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np22_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np18_1) && v_np16_1) && v_np19_1) && v_np10_1) && !(v_np21_1)) && (((((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1))) || ((((pos == 0) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && ((((((pos == 0) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))) || ((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np18_1) && v_np10_1) && v_np13_1) && v_np11_1) && !(v_np21_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && (((((pos == 0) && !((((d2 / 256) * 256) == d2))) && ((!(((d1 % 256) == 0)) && !((((255 * g1) % 256) == 0))) || ((g2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))) || (((pos == 0) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np16_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np22_1) && v_np18_1) && v_np10_1) && v_np11_1) && !(v_np21_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((((((((pos == 0) && !(v_np5_1)) && (g2 == 1)) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(((g2 % 256) == 0))) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np8_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && !((((d2 / 256) * 256) == d2))) && v_np3_1) && v_np7_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(((d2 % 256) == 0))) && !(v_np15_1)) && v_np18_1) && v_np10_1) && !(v_np21_1)) && !(v_np17_1)) && !(v_np20_1)) && !(((256 * (d1 / 256)) == d1)))) || (((((((((((((((((((((((((((!(v_np5_1) && (((((pos == 0) && !((((d2 / 256) * 256) == d2))) && ((!(((d1 % 256) == 0)) && !((((255 * g1) % 256) == 0))) || ((g2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))) || (((pos == 0) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np22_1) && v_np18_1) && v_np16_1) && v_np10_1) && !(v_np21_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np18_1) && v_np19_1) && v_np10_1) && v_np11_1) && !(v_np21_1)) && (((((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1))) || ((((pos == 0) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((((((((pos == 0) && !(v_np5_1)) && (g2 == 1)) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(((g2 % 256) == 0))) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np8_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && !((((d2 / 256) * 256) == d2))) && v_np7_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(((d2 % 256) == 0))) && !(v_np15_1)) && v_np18_1) && v_np10_1) && v_np12_1) && !(v_np21_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((((((((((((((((((((((((((pos == 2) && !(v_np5_1)) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(((g2 % 256) == 0))) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np6_1) && v_np8_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && (0 <= (d2 / 256))) && v_np18_1) && v_np10_1) && v_np11_1) && !(v_np21_1)) && (((d2 / 256) * 256) == d2)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1)) && !(((256 * (d1 / 256)) == d1)))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && (((((((pos == 0) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1))) || ((((((pos == 2) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((pos == 2) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && v_np8_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np20_1) && v_np18_1) && v_np10_1) && v_np11_1) && !(v_np21_1)) && !(v_np17_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && (((((((pos == 0) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1))) || ((((((pos == 2) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((pos == 2) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np20_1) && v_np18_1) && v_np16_1) && v_np10_1) && !(v_np21_1)) && !(v_np17_1)) && !(v_np3_1)) && !(v_np7_1))) || ((((((((((((((((((((((((((((((((pos == 2) && !(v_np5_1)) && !(v_np22_1)) && !(v_np19_1)) && !(((g2 % 256) == 0))) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np6_1) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && (0 <= (d2 / 256))) && v_np18_1) && v_np16_1) && v_np10_1) && !(v_np21_1)) && (((d2 / 256) * 256) == d2)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1)) && !(((256 * (d1 / 256)) == d1)))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && (((((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1))) || (((pos == 0) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np24_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np23_1) && v_np18_1) && v_np10_1) && v_np11_1) && !(v_np21_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) - InvariantResult [Line: 64]: Loop Invariant Derived loop invariant: ((((((((((((((((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np23_1) && v_np24_1) && v_np10_1) && v_np11_1) && !(v_np21_1)) && (((((((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((pos == 1) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || (((((pos == 1) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)))) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1)) || ((((((((((((((((((((((((((((((((((((((!(((d1 % 256) == 0)) && (pos == 2)) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1))) || (((((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 2) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || (((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((!(((d1 % 256) == 0)) && (pos == 0)) && !((((d2 / 256) * 256) == d2))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 0) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) && !(v_np5_1)) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np23_1) && v_np21_1) && v_np10_1) && v_np11_1) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np22_1)) && !(v_np19_1)) && (((((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1))) || (((pos == 0) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np24_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np23_1) && v_np18_1) && v_np16_1) && v_np10_1) && !(v_np21_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np22_1)) && !(v_np19_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np23_1) && v_np24_1) && v_np16_1) && v_np10_1) && !(v_np21_1)) && (((((((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((pos == 1) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || (((((pos == 1) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)))) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && (((((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1))) || (((pos == 0) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np24_1)) && !(v_np12_1)) && !(v_np10_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np9_1) && v_np8_1) && v_np2_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np23_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((((((((((((((((((pos == 0) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) || (((((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || ((((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || (((((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || (((((((!(((d1 % 256) == 0)) && (g2 == 1)) && (pos == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 1) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || ((((((!(((d1 % 256) == 0)) && (pos == 3)) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((pos == 0) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || ((((((((pos == 3) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || (((((((((!(((d1 % 256) == 0)) && (g2 == 1)) && (pos == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((!(((d1 % 256) == 0)) && (pos == 1)) && !((((d2 / 256) * 256) == d2))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) && !(v_np5_1)) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && v_np0_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np23_1) && v_np10_1) && v_np11_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((((((((((((((((((pos == 0) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) || (((((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || ((((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || (((((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || (((((((!(((d1 % 256) == 0)) && (g2 == 1)) && (pos == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 1) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || ((((((!(((d1 % 256) == 0)) && (pos == 3)) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((pos == 0) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || ((((((((pos == 3) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || (((((((((!(((d1 % 256) == 0)) && (g2 == 1)) && (pos == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((!(((d1 % 256) == 0)) && (pos == 1)) && !((((d2 / 256) * 256) == d2))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) && !(v_np5_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && v_np0_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np23_1) && v_np16_1) && v_np10_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || ((((((((((((((((((((((((((((((((((((((((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0))) || (((((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || (((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || ((((((((pos == 2) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || (((((pos == 1) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || (((((pos == 1) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || ((((((pos == 0) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || (((pos == 0) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) && !(v_np5_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np23_1) && v_np17_1) && v_np16_1) && v_np10_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && (((((((((((((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0))) || (((((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || ((((((((pos == 2) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || (((((pos == 1) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1))) || ((((pos == 0) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || (((((pos == 1) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || ((((((pos == 0) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 2) && !(((g2 % 256) == 0))) && (0 < (g1 % 256))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1))))) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && v_np23_1) && v_np16_1) && v_np15_1) && v_np10_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && (((((((((((((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0))) || (((((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || ((((((((pos == 2) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || (((((pos == 1) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1))) || ((((pos == 0) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || (((((pos == 1) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || ((((((pos == 0) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 2) && !(((g2 % 256) == 0))) && (0 < (g1 % 256))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1))))) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && v_np23_1) && v_np15_1) && v_np10_1) && v_np11_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || ((((((((((((((((((((((((((((((((((((((!(((d1 % 256) == 0)) && (pos == 2)) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1))) || (((((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 2) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || (((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((!(((d1 % 256) == 0)) && (pos == 0)) && !((((d2 / 256) * 256) == d2))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 0) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) && !(v_np5_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np23_1) && v_np21_1) && v_np16_1) && v_np10_1) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && (((((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1))) || (((pos == 0) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np24_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np23_1) && v_np18_1) && v_np10_1) && v_np11_1) && !(v_np21_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || ((((((((((((((((((((((((((((((((((((((((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0))) || (((((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || (((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || ((((((((pos == 2) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || (((((pos == 1) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || (((((pos == 1) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || ((((((pos == 0) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || (((pos == 0) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) && !(v_np5_1)) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np23_1) && v_np17_1) && v_np10_1) && v_np11_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np16_1) && !(v_np22_1)) && !(v_np19_1)) && (((((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1))) || (((pos == 0) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np24_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np10_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np5_1) && v_np9_1) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np23_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) - InvariantResult [Line: 101]: Loop Invariant Derived loop invariant: 0 - InvariantResult [Line: 43]: Loop Invariant Derived loop invariant: ((((((((((((((((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && (((((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0))) || (((((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np8_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np7_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && v_np15_1) && v_np10_1) && v_np12_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) || (((((((((((((((((((((((((((!(v_np5_1) && ((((((((((((((((((pos == 0) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || (((((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || ((((((((pos == 2) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || (((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1))) || ((((((pos == 2) && !(((g2 % 256) == 0))) && (0 < (g1 % 256))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || (((((pos == 0) && !(((g2 % 256) == 0))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np22_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && v_np16_1) && v_np15_1) && v_np19_1) && v_np10_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && v_np22_1) && v_np15_1) && v_np10_1) && v_np11_1) && (((((((((((pos == 1) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) || ((((pos == 0) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1)))) || (((((pos == 1) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || ((((((pos == 1) && (1 <= (g1 % 256))) && (0 <= (d1 / 256))) && (!(((d1 % 256) == 0)) || ((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || (((((pos == 0) && (1 <= (g1 % 256))) && (!(((d1 % 256) == 0)) || ((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 0) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 1) && (0 <= (d1 / 256))) && (!(((d1 % 256) == 0)) || ((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)))) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && (((((((((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0))) || (((((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 0) && !(((g2 % 256) == 0))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || ((((((((pos == 0) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1))))) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np4_1)) && !(v_np14_1)) && v_np15_1) && v_np10_1) && v_np13_1) && v_np11_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && (((((((((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0))) || (((((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 0) && !(((g2 % 256) == 0))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || ((((((((pos == 0) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1))))) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && v_np16_1) && v_np15_1) && v_np10_1) && v_np13_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && ((((((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) || ((((((((pos == 2) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || ((((((pos == 2) && !(((g2 % 256) == 0))) && (0 < (g1 % 256))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1))))) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np6_1) && v_np8_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && v_np15_1) && v_np10_1) && v_np11_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && ((((((((((((((((((pos == 2) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))) || ((((((((pos == 2) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || ((((((pos == 0) && !(((g2 % 256) == 0))) && (0 < (g1 % 256))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 3) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((((!(((d1 % 256) == 0)) && (pos == 2)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 0) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 3) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || ((((((pos == 2) && !(((g2 % 256) == 0))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)))) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && v_np20_1) && v_np15_1) && v_np10_1) && v_np11_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np22_1)) && !(v_np19_1)) && ((((((((((((((((((pos == 2) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))) || ((((((((pos == 2) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || ((((((pos == 0) && !(((g2 % 256) == 0))) && (0 < (g1 % 256))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 3) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((((!(((d1 % 256) == 0)) && (pos == 2)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 0) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 3) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || ((((((pos == 2) && !(((g2 % 256) == 0))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)))) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && v_np20_1) && v_np16_1) && v_np15_1) && v_np10_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && v_np22_1) && v_np16_1) && v_np15_1) && v_np10_1) && (((((((((((pos == 1) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) || ((((pos == 0) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1)))) || (((((pos == 1) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || ((((((pos == 1) && (1 <= (g1 % 256))) && (0 <= (d1 / 256))) && (!(((d1 % 256) == 0)) || ((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || (((((pos == 0) && (1 <= (g1 % 256))) && (!(((d1 % 256) == 0)) || ((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 0) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 1) && (0 <= (d1 / 256))) && (!(((d1 % 256) == 0)) || ((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)))) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && (((((((((((((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0))) || (((((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || ((((((((pos == 2) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || (((((pos == 1) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1))) || ((((pos == 0) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || (((((pos == 1) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || ((((((pos == 0) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 2) && !(((g2 % 256) == 0))) && (0 < (g1 % 256))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1))))) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && v_np23_1) && v_np16_1) && v_np15_1) && v_np10_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && (((((((((((((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0))) || (((((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || ((((((((pos == 2) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || (((((pos == 1) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1))) || ((((pos == 0) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || (((((pos == 1) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || ((((((pos == 0) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 2) && !(((g2 % 256) == 0))) && (0 < (g1 % 256))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1))))) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && v_np23_1) && v_np15_1) && v_np10_1) && v_np11_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && ((((((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) || ((((((((pos == 2) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || ((((((pos == 2) && !(((g2 % 256) == 0))) && (0 < (g1 % 256))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1))))) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np6_1) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && v_np16_1) && v_np15_1) && v_np10_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && ((((((((((((((((((pos == 0) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || (((((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || ((((((((pos == 2) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || (((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1))) || ((((((pos == 2) && !(((g2 % 256) == 0))) && (0 < (g1 % 256))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || (((((pos == 0) && !(((g2 % 256) == 0))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np22_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && v_np15_1) && v_np19_1) && v_np10_1) && v_np11_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && (((((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0))) || (((((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np8_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np3_1) && v_np7_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && v_np15_1) && v_np10_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1))) - InvariantResult [Line: 101]: Loop Invariant Derived loop invariant: 0 - InvariantResult [Line: 66]: Loop Invariant Derived loop invariant: ((((((((((((((((((((((((((((((((((((((((!(v_np5_1) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && ((((((pos == 0) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))) || ((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np18_1) && v_np16_1) && v_np10_1) && v_np13_1) && !(v_np21_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1)) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && ((((((((((((((pos == 0) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0))) || ((((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || (((((((!(((d1 % 256) == 0)) && (g2 == 1)) && (pos == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 1) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || ((((((!(((d1 % 256) == 0)) && (pos == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((((((!(((d1 % 256) == 0)) && (g2 == 1)) && (pos == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 0) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0))))) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && v_np0_1) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np10_1) && v_np13_1) && v_np11_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && ((((((pos == 0) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))) || ((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np18_1) && v_np10_1) && v_np13_1) && v_np11_1) && !(v_np21_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np4_1)) && !(v_np14_1)) && (((((((((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0))) || (((((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((pos == 0) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || ((((((((pos == 0) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1))))) && !(v_np15_1)) && v_np17_1) && v_np10_1) && v_np13_1) && v_np11_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && (((((((((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0))) || (((((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 0) && !(((g2 % 256) == 0))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || ((((((((pos == 0) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1))))) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np4_1)) && !(v_np14_1)) && v_np15_1) && v_np10_1) && v_np13_1) && v_np11_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && (((((((((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0))) || (((((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 0) && !(((g2 % 256) == 0))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || ((((((((pos == 0) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1))))) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && v_np16_1) && v_np15_1) && v_np10_1) && v_np13_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && ((((((((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1))) || ((((((!(((d1 % 256) == 0)) && (pos == 0)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 0) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1))))) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np21_1) && v_np16_1) && v_np10_1) && v_np13_1) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && ((((((((((((((pos == 0) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0))) || ((((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || (((((((!(((d1 % 256) == 0)) && (g2 == 1)) && (pos == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 1) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || ((((((!(((d1 % 256) == 0)) && (pos == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((((((!(((d1 % 256) == 0)) && (g2 == 1)) && (pos == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 0) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0))))) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && v_np0_1) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np16_1) && v_np10_1) && v_np13_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np12_1)) && ((((((pos == 0) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))) || ((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np10_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np9_1) && v_np8_1) && v_np2_1) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np13_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && (((((((((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0))) || (((((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((pos == 0) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || ((((((((pos == 0) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1))))) && !(v_np15_1)) && v_np17_1) && v_np16_1) && v_np10_1) && v_np13_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && ((((((((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1))) || ((((((!(((d1 % 256) == 0)) && (pos == 0)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 0) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1))))) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np21_1) && v_np10_1) && v_np13_1) && v_np11_1) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np24_1) && v_np10_1) && v_np13_1) && v_np11_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && (((((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0))))) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np16_1) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np2_1)) && !(v_np12_1)) && ((((((pos == 0) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))) || ((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np10_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np5_1) && v_np9_1) && v_np8_1) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np13_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np22_1)) && !(v_np19_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np24_1) && v_np16_1) && v_np10_1) && v_np13_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && (((((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0))))) && !(v_np7_1))) - InvariantResult [Line: 97]: Loop Invariant Derived loop invariant: ((((((((((((((((((((((((((((((((!(v_np16_1) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np10_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && (((((((pos == 0) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1))) || ((((((pos == 2) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((pos == 2) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && v_np5_1) && v_np9_1) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np20_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np3_1)) && !(v_np7_1)) || ((((((((((((((((((((((((((((((((pos == 0) && !((((d2 / 256) * 256) == d2))) && ((!(((d1 % 256) == 0)) && !((((255 * g1) % 256) == 0))) || ((g2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))) || (((pos == 0) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1)))) && !(v_np16_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np10_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np5_1) && v_np9_1) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np22_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || ((((((((((((((((((((((((((((((((pos == 2) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(((g2 % 256) == 0))) && !(v_np24_1)) && !(v_np23_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np10_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np6_1) && v_np5_1) && v_np9_1) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && (0 <= (d2 / 256))) && !(v_np21_1)) && (((d2 / 256) * 256) == d2)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1)) && !(((256 * (d1 / 256)) == d1)))) || (((((((((((((((((((((((((((!(v_np16_1) && !(v_np22_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np10_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np5_1) && v_np9_1) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np19_1) && !(v_np21_1)) && (((((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1))) || ((((pos == 0) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np16_1) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np2_1)) && !(v_np12_1)) && ((((((pos == 0) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))) || ((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np10_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np5_1) && v_np9_1) && v_np8_1) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np13_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np16_1) && !(v_np22_1)) && !(v_np19_1)) && (((((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1))) || (((pos == 0) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np24_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np10_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np5_1) && v_np9_1) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np23_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) - InvariantResult [Line: 65]: Loop Invariant Derived loop invariant: ((((((((((((((((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && (((((((((((((((((((pos == 2) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0))) || ((((((!(((d1 % 256) == 0)) && (pos == 3)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((pos == 0) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || (((((((((!(((d1 % 256) == 0)) && (pos == 3)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 1) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || ((((((!(((d1 % 256) == 0)) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 2) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || (((((((pos == 0) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || ((((((((pos == 3) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || (((((((!(((d1 % 256) == 0)) && (pos == 3)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && v_np0_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np20_1) && v_np10_1) && v_np11_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np3_1)) && !(v_np7_1)) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && (((((((((((((pos == 2) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1))) || ((((((!(((d1 % 256) == 0)) && (pos == 0)) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((((((!(((d1 % 256) == 0)) && (pos == 2)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || (((((((!(((d1 % 256) == 0)) && (pos == 2)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((!(((d1 % 256) == 0)) && (pos == 2)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 0) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1))))) && !(v_np15_1)) && v_np21_1) && v_np20_1) && v_np10_1) && v_np11_1) && !(v_np18_1)) && !(v_np17_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && (((((((((((((pos == 2) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1))) || ((((((!(((d1 % 256) == 0)) && (pos == 0)) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((((((!(((d1 % 256) == 0)) && (pos == 2)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || (((((((!(((d1 % 256) == 0)) && (pos == 2)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((!(((d1 % 256) == 0)) && (pos == 2)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 0) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1))))) && !(v_np15_1)) && v_np21_1) && v_np20_1) && v_np16_1) && v_np10_1) && !(v_np18_1)) && !(v_np17_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np16_1) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np10_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && (((((((pos == 0) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1))) || ((((((pos == 2) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((pos == 2) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && v_np5_1) && v_np9_1) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np20_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np12_1)) && !(v_np10_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && (((((((pos == 0) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1))) || ((((((pos == 2) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((pos == 2) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && v_np9_1) && v_np8_1) && v_np2_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np20_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && ((((((((((((((((pos == 0) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1))) || ((((((((pos == 2) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || ((((((((pos == 3) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || ((((((pos == 2) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((((!(((d1 % 256) == 0)) && (pos == 2)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || (((((pos == 2) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 0) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 3) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)))) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np20_1) && v_np17_1) && v_np16_1) && v_np10_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && ((((((((((((((((((pos == 2) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))) || ((((((((pos == 2) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || ((((((pos == 0) && !(((g2 % 256) == 0))) && (0 < (g1 % 256))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 3) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((((!(((d1 % 256) == 0)) && (pos == 2)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 0) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 3) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || ((((((pos == 2) && !(((g2 % 256) == 0))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)))) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && v_np20_1) && v_np15_1) && v_np10_1) && v_np11_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np22_1)) && !(v_np19_1)) && ((((((((((((((((((pos == 2) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))) || ((((((((pos == 2) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || ((((((pos == 0) && !(((g2 % 256) == 0))) && (0 < (g1 % 256))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 3) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((((!(((d1 % 256) == 0)) && (pos == 2)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 0) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 3) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || ((((((pos == 2) && !(((g2 % 256) == 0))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)))) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && v_np20_1) && v_np16_1) && v_np15_1) && v_np10_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && ((((((((((((((((pos == 0) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1))) || ((((((((pos == 2) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || ((((((((pos == 3) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || ((((((pos == 2) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((((!(((d1 % 256) == 0)) && (pos == 2)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || (((((pos == 2) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 0) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 3) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)))) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np20_1) && v_np17_1) && v_np10_1) && v_np11_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && ((((((((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) || ((((((((pos == 3) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || ((((((((pos == 3) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)))) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np20_1) && v_np24_1) && v_np10_1) && v_np11_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && (((((((pos == 0) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1))) || ((((((pos == 2) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((pos == 2) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && v_np8_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np20_1) && v_np18_1) && v_np10_1) && v_np11_1) && !(v_np21_1)) && !(v_np17_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np22_1)) && !(v_np19_1)) && ((((((((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) || ((((((((pos == 3) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || ((((((((pos == 3) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)))) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np20_1) && v_np24_1) && v_np16_1) && v_np10_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && (((((((((((((((((((pos == 2) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0))) || ((((((!(((d1 % 256) == 0)) && (pos == 3)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((pos == 0) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || (((((((((!(((d1 % 256) == 0)) && (pos == 3)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 1) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || ((((((!(((d1 % 256) == 0)) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 2) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || (((((((pos == 0) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || ((((((((pos == 3) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || (((((((!(((d1 % 256) == 0)) && (pos == 3)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && v_np0_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np20_1) && v_np16_1) && v_np10_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && (((((((pos == 0) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1))) || ((((((pos == 2) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((pos == 2) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np20_1) && v_np18_1) && v_np16_1) && v_np10_1) && !(v_np21_1)) && !(v_np17_1)) && !(v_np3_1)) && !(v_np7_1))) - InvariantResult [Line: 96]: Loop Invariant Derived loop invariant: ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np23_1) && v_np24_1) && v_np10_1) && v_np11_1) && !(v_np21_1)) && (((((((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((pos == 1) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || (((((pos == 1) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)))) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1)) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np1_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np6_1) && v_np8_1) && v_np0_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && ((((((((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) || (((((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || ((((((!(((d1 % 256) == 0)) && (pos == 3)) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 3) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1))))) && !(v_np15_1)) && v_np10_1) && v_np11_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && (((((((((((((((((((pos == 2) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0))) || ((((((!(((d1 % 256) == 0)) && (pos == 3)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((pos == 0) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || (((((((((!(((d1 % 256) == 0)) && (pos == 3)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 1) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || ((((((!(((d1 % 256) == 0)) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 2) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || (((((((pos == 0) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || ((((((((pos == 3) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || (((((((!(((d1 % 256) == 0)) && (pos == 3)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && v_np0_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np20_1) && v_np10_1) && v_np11_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && ((((((((((((((((((pos == 0) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || (((((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || (((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || ((((((((pos == 2) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || ((((pos == 0) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1))) || ((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np17_1) && v_np19_1) && v_np10_1) && v_np11_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np19_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && ((((((((pos == 1) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) || (((((pos == 1) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || ((((((pos == 1) && (1 <= (g1 % 256))) && (0 <= (d1 / 256))) && (!(((d1 % 256) == 0)) || ((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || ((((((pos == 1) && (0 <= (d1 / 256))) && (!(((d1 % 256) == 0)) || ((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)))) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np22_1) && v_np24_1) && v_np10_1) && v_np11_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && (((((((((((((pos == 2) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1))) || ((((((!(((d1 % 256) == 0)) && (pos == 0)) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((((((!(((d1 % 256) == 0)) && (pos == 2)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || (((((((!(((d1 % 256) == 0)) && (pos == 2)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((!(((d1 % 256) == 0)) && (pos == 2)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 0) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1))))) && !(v_np15_1)) && v_np21_1) && v_np20_1) && v_np10_1) && v_np11_1) && !(v_np18_1)) && !(v_np17_1)) && !(v_np3_1)) && !(v_np7_1))) || ((((((((((((((((((((((((((((((((((((((!(((d1 % 256) == 0)) && (pos == 2)) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1))) || (((((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 2) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || (((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((!(((d1 % 256) == 0)) && (pos == 0)) && !((((d2 / 256) * 256) == d2))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 0) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) && !(v_np5_1)) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np23_1) && v_np21_1) && v_np10_1) && v_np11_1) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && ((((((((((((((pos == 0) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0))) || ((((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || (((((((!(((d1 % 256) == 0)) && (g2 == 1)) && (pos == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 1) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || ((((((!(((d1 % 256) == 0)) && (pos == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((((((!(((d1 % 256) == 0)) && (g2 == 1)) && (pos == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 0) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0))))) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && v_np0_1) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np10_1) && v_np13_1) && v_np11_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && ((((((pos == 0) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))) || ((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np18_1) && v_np10_1) && v_np13_1) && v_np11_1) && !(v_np21_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && (((((pos == 0) && !((((d2 / 256) * 256) == d2))) && ((!(((d1 % 256) == 0)) && !((((255 * g1) % 256) == 0))) || ((g2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))) || (((pos == 0) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np16_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np22_1) && v_np18_1) && v_np10_1) && v_np11_1) && !(v_np21_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((((((((((((((((((pos == 0) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) || (((((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || ((((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || (((((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || (((((((!(((d1 % 256) == 0)) && (g2 == 1)) && (pos == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 1) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || ((((((!(((d1 % 256) == 0)) && (pos == 3)) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((pos == 0) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || ((((((((pos == 3) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || (((((((((!(((d1 % 256) == 0)) && (g2 == 1)) && (pos == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((!(((d1 % 256) == 0)) && (pos == 1)) && !((((d2 / 256) * 256) == d2))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) && !(v_np5_1)) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && v_np0_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np23_1) && v_np10_1) && v_np11_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np18_1) && v_np19_1) && v_np10_1) && v_np11_1) && !(v_np21_1)) && (((((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1))) || ((((pos == 0) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np4_1)) && !(v_np14_1)) && (((((((((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0))) || (((((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((pos == 0) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || ((((((((pos == 0) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1))))) && !(v_np15_1)) && v_np17_1) && v_np10_1) && v_np13_1) && v_np11_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && v_np22_1) && v_np15_1) && v_np10_1) && v_np11_1) && (((((((((((pos == 1) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) || ((((pos == 0) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1)))) || (((((pos == 1) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || ((((((pos == 1) && (1 <= (g1 % 256))) && (0 <= (d1 / 256))) && (!(((d1 % 256) == 0)) || ((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || (((((pos == 0) && (1 <= (g1 % 256))) && (!(((d1 % 256) == 0)) || ((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 0) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 1) && (0 <= (d1 / 256))) && (!(((d1 % 256) == 0)) || ((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)))) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && ((((((((((((pos == 1) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) || ((((pos == 0) && !((((d2 / 256) * 256) == d2))) && ((!(((d1 % 256) == 0)) && !((((255 * g1) % 256) == 0))) || ((g2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((pos == 0) && !((((d2 / 256) * 256) == d2))) && (((g2 % 256) == 0) || !((((255 * g1) % 256) == 0)))) && !(((256 * (d1 / 256)) == d1)))) || (((((pos == 1) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || ((((((pos == 1) && (1 <= (g1 % 256))) && (0 <= (d1 / 256))) && (!(((d1 % 256) == 0)) || ((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || ((((((pos == 0) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 1) && (0 <= (d1 / 256))) && (!(((d1 % 256) == 0)) || ((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1))) || (((pos == 0) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np22_1) && v_np17_1) && v_np10_1) && v_np11_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np24_1) && v_np19_1) && v_np10_1) && v_np11_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && (((((((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0))) || ((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || ((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)))) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && (((((((((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0))) || (((((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 0) && !(((g2 % 256) == 0))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || ((((((((pos == 0) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1))))) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np4_1)) && !(v_np14_1)) && v_np15_1) && v_np10_1) && v_np13_1) && v_np11_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || ((((((((((((((((((((((((((((((((pos == 2) && !(v_np5_1)) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(((g2 % 256) == 0))) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np6_1) && v_np8_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && (0 <= (d2 / 256))) && v_np18_1) && v_np10_1) && v_np11_1) && !(v_np21_1)) && (((d2 / 256) * 256) == d2)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1)) && !(((256 * (d1 / 256)) == d1)))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && ((((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)))) && v_np6_1) && v_np8_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np24_1) && v_np10_1) && v_np11_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np21_1) && v_np19_1) && v_np10_1) && v_np11_1) && (((((((((((!(((d1 % 256) == 0)) && (pos == 2)) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1))) || (((((((pos == 0) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || (((((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 2) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || (((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((!(((d1 % 256) == 0)) && (pos == 0)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && ((((((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) || ((((((((pos == 2) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || ((((((pos == 2) && !(((g2 % 256) == 0))) && (0 < (g1 % 256))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1))))) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np6_1) && v_np8_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && v_np15_1) && v_np10_1) && v_np11_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && ((((((((((((((((((pos == 2) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))) || ((((((((pos == 2) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || ((((((pos == 0) && !(((g2 % 256) == 0))) && (0 < (g1 % 256))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 3) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((((!(((d1 % 256) == 0)) && (pos == 2)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 0) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 3) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || ((((((pos == 2) && !(((g2 % 256) == 0))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)))) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && v_np20_1) && v_np15_1) && v_np10_1) && v_np11_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && ((((((((((((((((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) || ((((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || (((((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || (((((((!(((d1 % 256) == 0)) && (g2 == 1)) && (pos == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || ((((((!(((d1 % 256) == 0)) && (pos == 3)) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 3) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || (((((!(((d1 % 256) == 0)) && (pos == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((((((!(((d1 % 256) == 0)) && (g2 == 1)) && (pos == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 0) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1))) || (((((((pos == 1) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 0) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)))) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && v_np0_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np19_1) && v_np10_1) && v_np11_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && ((((((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) || (((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 2) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)))) && !(v_np2_1)) && !(v_np12_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np6_1) && v_np8_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np17_1) && v_np10_1) && v_np11_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && (((((((((((((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0))) || (((((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || ((((((((pos == 2) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || (((((pos == 1) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1))) || ((((pos == 0) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || (((((pos == 1) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || ((((((pos == 0) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 2) && !(((g2 % 256) == 0))) && (0 < (g1 % 256))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1))))) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && v_np23_1) && v_np15_1) && v_np10_1) && v_np11_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && ((((((((((((((((pos == 0) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1))) || ((((((((pos == 2) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || ((((((((pos == 3) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || ((((((pos == 2) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((((!(((d1 % 256) == 0)) && (pos == 2)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || (((((pos == 2) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 0) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 3) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)))) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np20_1) && v_np17_1) && v_np10_1) && v_np11_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && (((((!(((d1 % 256) == 0)) && (pos == 0)) && !((((d2 / 256) * 256) == d2))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1))) || ((((((pos == 0) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1))))) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np22_1) && v_np21_1) && v_np10_1) && v_np11_1) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np6_1) && v_np8_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np21_1) && v_np10_1) && v_np11_1) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && (((((((!(((d1 % 256) == 0)) && (pos == 2)) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1))) || ((((((((pos == 2) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1))))) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && ((((((((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) || ((((((((pos == 3) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || ((((((((pos == 3) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)))) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np20_1) && v_np24_1) && v_np10_1) && v_np11_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && ((((((((((((((((((pos == 0) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || (((((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || ((((((((pos == 2) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || (((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1))) || ((((((pos == 2) && !(((g2 % 256) == 0))) && (0 < (g1 % 256))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || (((((pos == 0) && !(((g2 % 256) == 0))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np22_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && v_np15_1) && v_np19_1) && v_np10_1) && v_np11_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && ((((((((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1))) || ((((((!(((d1 % 256) == 0)) && (pos == 0)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 0) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1))))) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np21_1) && v_np10_1) && v_np13_1) && v_np11_1) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && (((((((pos == 0) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1))) || ((((((pos == 2) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((pos == 2) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && v_np8_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np20_1) && v_np18_1) && v_np10_1) && v_np11_1) && !(v_np21_1)) && !(v_np17_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np24_1) && v_np10_1) && v_np13_1) && v_np11_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && (((((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0))))) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && ((((((((((pos == 0) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) || ((((((pos == 1) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || (((((pos == 0) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || ((((((pos == 0) && (1 <= (g1 % 256))) && (0 <= (d1 / 256))) && (!(((d1 % 256) == 0)) || ((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || ((((((pos == 0) && (0 <= (d1 / 256))) && (!(((d1 % 256) == 0)) || ((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1))) || ((((!(((d1 % 256) == 0)) && (pos == 1)) && !((((d2 / 256) * 256) == d2))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && v_np0_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np22_1) && v_np10_1) && v_np11_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && (((((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1))) || (((pos == 0) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np24_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np23_1) && v_np18_1) && v_np10_1) && v_np11_1) && !(v_np21_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || ((((((((((((((((((((((((((((((((((((((((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0))) || (((((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || (((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || ((((((((pos == 2) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || (((((pos == 1) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || (((((pos == 1) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || ((((((pos == 0) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || (((pos == 0) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) && !(v_np5_1)) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np23_1) && v_np17_1) && v_np10_1) && v_np11_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) - InvariantResult [Line: 70]: Loop Invariant Derived loop invariant: ((((((((((((((((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np1_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np6_1) && v_np8_1) && v_np0_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && ((((((((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) || (((((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || ((((((!(((d1 % 256) == 0)) && (pos == 3)) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 3) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1))))) && !(v_np15_1)) && v_np10_1) && v_np11_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1)) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np6_1) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np21_1) && v_np16_1) && v_np10_1) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && (((((((!(((d1 % 256) == 0)) && (pos == 2)) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1))) || ((((((((pos == 2) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1))))) && !(v_np7_1))) || ((((((((((((((((((((((((((((((((pos == 2) && !(v_np5_1)) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(((g2 % 256) == 0))) && !(v_np24_1)) && !(v_np23_1)) && !(v_np12_1)) && !(v_np10_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np6_1) && v_np9_1) && v_np8_1) && v_np2_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && (0 <= (d2 / 256))) && !(v_np21_1)) && (((d2 / 256) * 256) == d2)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1)) && !(((256 * (d1 / 256)) == d1)))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np22_1)) && !(v_np19_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && ((((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)))) && v_np6_1) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np24_1) && v_np16_1) && v_np10_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && ((((((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) || (((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 2) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)))) && !(v_np2_1)) && !(v_np12_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np6_1) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np17_1) && v_np16_1) && v_np10_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || ((((((((((((((((((((((((((((((((pos == 2) && !(v_np5_1)) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(((g2 % 256) == 0))) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np6_1) && v_np8_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && (0 <= (d2 / 256))) && v_np18_1) && v_np10_1) && v_np11_1) && !(v_np21_1)) && (((d2 / 256) * 256) == d2)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1)) && !(((256 * (d1 / 256)) == d1)))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && ((((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)))) && v_np6_1) && v_np8_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np24_1) && v_np10_1) && v_np11_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && ((((((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) || ((((((((pos == 2) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || ((((((pos == 2) && !(((g2 % 256) == 0))) && (0 < (g1 % 256))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1))))) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np6_1) && v_np8_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && v_np15_1) && v_np10_1) && v_np11_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np1_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np6_1) && v_np8_1) && v_np0_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && ((((((((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) || (((((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || ((((((!(((d1 % 256) == 0)) && (pos == 3)) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 3) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1))))) && !(v_np15_1)) && v_np16_1) && v_np10_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || ((((((((((((((((((((((((((((((((pos == 2) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(((g2 % 256) == 0))) && !(v_np24_1)) && !(v_np23_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np10_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np6_1) && v_np5_1) && v_np9_1) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && (0 <= (d2 / 256))) && !(v_np21_1)) && (((d2 / 256) * 256) == d2)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1)) && !(((256 * (d1 / 256)) == d1)))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && ((((((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) || (((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 2) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)))) && !(v_np2_1)) && !(v_np12_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np6_1) && v_np8_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np17_1) && v_np10_1) && v_np11_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && ((((((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) || ((((((((pos == 2) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || ((((((pos == 2) && !(((g2 % 256) == 0))) && (0 < (g1 % 256))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1))))) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np6_1) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && v_np16_1) && v_np15_1) && v_np10_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np6_1) && v_np8_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np21_1) && v_np10_1) && v_np11_1) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && (((((((!(((d1 % 256) == 0)) && (pos == 2)) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1))) || ((((((((pos == 2) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1))))) && !(v_np7_1))) || ((((((((((((((((((((((((((((((((pos == 2) && !(v_np5_1)) && !(v_np22_1)) && !(v_np19_1)) && !(((g2 % 256) == 0))) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np6_1) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && (0 <= (d2 / 256))) && v_np18_1) && v_np16_1) && v_np10_1) && !(v_np21_1)) && (((d2 / 256) * 256) == d2)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1)) && !(((256 * (d1 / 256)) == d1)))) - InvariantResult [Line: 42]: Loop Invariant Derived loop invariant: ((((((((((((((((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && ((((((((((((((((((pos == 0) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || (((((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || (((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || ((((((((pos == 2) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || ((((pos == 0) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1))) || ((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np17_1) && v_np19_1) && v_np10_1) && v_np11_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1)) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && ((((((((((((pos == 1) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) || ((((pos == 0) && !((((d2 / 256) * 256) == d2))) && ((!(((d1 % 256) == 0)) && !((((255 * g1) % 256) == 0))) || ((g2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((pos == 0) && !((((d2 / 256) * 256) == d2))) && (((g2 % 256) == 0) || !((((255 * g1) % 256) == 0)))) && !(((256 * (d1 / 256)) == d1)))) || (((((pos == 1) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || ((((((pos == 1) && (1 <= (g1 % 256))) && (0 <= (d1 / 256))) && (!(((d1 % 256) == 0)) || ((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || ((((((pos == 0) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 1) && (0 <= (d1 / 256))) && (!(((d1 % 256) == 0)) || ((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1))) || (((pos == 0) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np22_1) && v_np17_1) && v_np16_1) && v_np10_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np4_1)) && !(v_np14_1)) && (((((((((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0))) || (((((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((pos == 0) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || ((((((((pos == 0) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1))))) && !(v_np15_1)) && v_np17_1) && v_np10_1) && v_np13_1) && v_np11_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || ((((((((((((((((((((((((((((((((((((((((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0))) || (((((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || (((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || ((((((((pos == 2) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || (((((pos == 1) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || (((((pos == 1) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || ((((((pos == 0) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || (((pos == 0) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) && !(v_np5_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np23_1) && v_np17_1) && v_np16_1) && v_np10_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && ((((((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) || (((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 2) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)))) && !(v_np2_1)) && !(v_np12_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np6_1) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np17_1) && v_np16_1) && v_np10_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && ((((((((((((pos == 1) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) || ((((pos == 0) && !((((d2 / 256) * 256) == d2))) && ((!(((d1 % 256) == 0)) && !((((255 * g1) % 256) == 0))) || ((g2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((pos == 0) && !((((d2 / 256) * 256) == d2))) && (((g2 % 256) == 0) || !((((255 * g1) % 256) == 0)))) && !(((256 * (d1 / 256)) == d1)))) || (((((pos == 1) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || ((((((pos == 1) && (1 <= (g1 % 256))) && (0 <= (d1 / 256))) && (!(((d1 % 256) == 0)) || ((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || ((((((pos == 0) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 1) && (0 <= (d1 / 256))) && (!(((d1 % 256) == 0)) || ((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1))) || (((pos == 0) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np22_1) && v_np17_1) && v_np10_1) && v_np11_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && ((((((((((((((((pos == 0) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1))) || ((((((((pos == 2) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || ((((((((pos == 3) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || ((((((pos == 2) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((((!(((d1 % 256) == 0)) && (pos == 2)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || (((((pos == 2) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 0) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 3) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)))) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np20_1) && v_np17_1) && v_np16_1) && v_np10_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np22_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && ((((((((((((((((((pos == 0) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || (((((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || (((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || ((((((((pos == 2) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || ((((pos == 0) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1))) || ((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np17_1) && v_np16_1) && v_np19_1) && v_np10_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np8_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np7_1) && !(v_np13_1)) && !(v_np11_1)) && (((((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0))) || (((((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || ((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np17_1) && v_np10_1) && v_np12_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np20_1)) && !(v_np3_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && ((((((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) || (((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 2) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)))) && !(v_np2_1)) && !(v_np12_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np6_1) && v_np8_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np17_1) && v_np10_1) && v_np11_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && ((((((((((((((((pos == 0) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1))) || ((((((((pos == 2) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || ((((((((pos == 3) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || ((((((pos == 2) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((((!(((d1 % 256) == 0)) && (pos == 2)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || (((((pos == 2) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 0) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 3) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)))) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np20_1) && v_np17_1) && v_np10_1) && v_np11_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && (((((((((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0))) || (((((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((pos == 0) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || ((((((((pos == 0) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1))))) && !(v_np15_1)) && v_np17_1) && v_np16_1) && v_np10_1) && v_np13_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np8_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np3_1) && v_np7_1) && !(v_np13_1)) && !(v_np11_1)) && (((((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0))) || (((((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || ((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np17_1) && v_np10_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np20_1))) || ((((((((((((((((((((((((((((((((((((((((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0))) || (((((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || (((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || ((((((((pos == 2) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || (((((pos == 1) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || (((((pos == 1) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || ((((((pos == 0) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || (((pos == 0) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) && !(v_np5_1)) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np23_1) && v_np17_1) && v_np10_1) && v_np11_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) - InvariantResult [Line: 65]: Loop Invariant Derived loop invariant: ((((((((((((((((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && ((((((((((((((((((pos == 0) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || (((((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || (((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || ((((((((pos == 2) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || ((((pos == 0) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1))) || ((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np17_1) && v_np19_1) && v_np10_1) && v_np11_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1)) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np22_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np24_1) && v_np16_1) && v_np19_1) && v_np10_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && (((((((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0))) || ((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || ((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)))) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np22_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np18_1) && v_np16_1) && v_np19_1) && v_np10_1) && !(v_np21_1)) && (((((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1))) || ((((pos == 0) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && ((((((((((((((((((pos == 0) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || (((((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || ((((((((pos == 2) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || (((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1))) || ((((((pos == 2) && !(((g2 % 256) == 0))) && (0 < (g1 % 256))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || (((((pos == 0) && !(((g2 % 256) == 0))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np22_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && v_np16_1) && v_np15_1) && v_np19_1) && v_np10_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np18_1) && v_np19_1) && v_np10_1) && v_np11_1) && !(v_np21_1)) && (((((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1))) || ((((pos == 0) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np12_1)) && !(v_np10_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np9_1) && v_np8_1) && v_np2_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np19_1) && !(v_np21_1)) && (((((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1))) || ((((pos == 0) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np22_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np21_1) && v_np16_1) && v_np19_1) && v_np10_1) && (((((((((((!(((d1 % 256) == 0)) && (pos == 2)) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1))) || (((((((pos == 0) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || (((((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 2) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || (((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((!(((d1 % 256) == 0)) && (pos == 0)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np24_1) && v_np19_1) && v_np10_1) && v_np11_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && (((((((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0))) || ((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || ((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)))) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np21_1) && v_np19_1) && v_np10_1) && v_np11_1) && (((((((((((!(((d1 % 256) == 0)) && (pos == 2)) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1))) || (((((((pos == 0) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || (((((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 2) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || (((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((!(((d1 % 256) == 0)) && (pos == 0)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np22_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && ((((((((((((((((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) || ((((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || (((((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || (((((((!(((d1 % 256) == 0)) && (g2 == 1)) && (pos == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || ((((((!(((d1 % 256) == 0)) && (pos == 3)) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 3) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || (((((!(((d1 % 256) == 0)) && (pos == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((((((!(((d1 % 256) == 0)) && (g2 == 1)) && (pos == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 0) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1))) || (((((((pos == 1) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 0) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)))) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && v_np0_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np16_1) && v_np19_1) && v_np10_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && ((((((((((((((((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) || ((((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || (((((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || (((((((!(((d1 % 256) == 0)) && (g2 == 1)) && (pos == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || ((((((!(((d1 % 256) == 0)) && (pos == 3)) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 3) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || (((((!(((d1 % 256) == 0)) && (pos == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((((((!(((d1 % 256) == 0)) && (g2 == 1)) && (pos == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 0) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1))) || (((((((pos == 1) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 0) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)))) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && v_np0_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np19_1) && v_np10_1) && v_np11_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np22_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && ((((((((((((((((((pos == 0) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || (((((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || (((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || ((((((((pos == 2) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || ((((pos == 0) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1))) || ((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np17_1) && v_np16_1) && v_np19_1) && v_np10_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np16_1) && !(v_np22_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np10_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np5_1) && v_np9_1) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np19_1) && !(v_np21_1)) && (((((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1))) || ((((pos == 0) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && ((((((((((((((((((pos == 0) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || (((((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || ((((((((pos == 2) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || (((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1))) || ((((((pos == 2) && !(((g2 % 256) == 0))) && (0 < (g1 % 256))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || (((((pos == 0) && !(((g2 % 256) == 0))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np22_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && v_np15_1) && v_np19_1) && v_np10_1) && v_np11_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) - InvariantResult [Line: 96]: Loop Invariant Derived loop invariant: ((((((((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np8_1)) && !(v_np6_1)) && ((((((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1))) || (((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np3_1) && v_np7_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np21_1) && v_np10_1) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) || (((((((((((((((((((((((((((((((((pos == 0) && !(v_np5_1)) && (g2 == 1)) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(((g2 % 256) == 0))) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np8_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && !((((d2 / 256) * 256) == d2))) && v_np3_1) && v_np7_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(((d2 % 256) == 0))) && !(v_np15_1)) && v_np18_1) && v_np10_1) && !(v_np21_1)) && !(v_np17_1)) && !(v_np20_1)) && !(((256 * (d1 / 256)) == d1)))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np8_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np3_1) && v_np7_1) && !(v_np13_1)) && (((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0))))) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np24_1) && v_np10_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1))) || (((((((((((((((((((((((((((!(v_np5_1) && (((((((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0))) || (((((((!(((d1 % 256) == 0)) && (g2 == 1)) && (pos == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((((!(((d1 % 256) == 0)) && (g2 == 1)) && (pos == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1))))) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np8_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np3_1) && v_np7_1) && v_np0_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np10_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np8_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np3_1) && v_np7_1) && !(v_np13_1)) && !(v_np11_1)) && (((((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0))) || (((((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || ((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np17_1) && v_np10_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np20_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && (((((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0))) || (((((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np8_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np3_1) && v_np7_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && v_np15_1) && v_np10_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1))) - InvariantResult [Line: 48]: Loop Invariant Derived loop invariant: ((((((((((((((((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np23_1) && v_np24_1) && v_np10_1) && v_np11_1) && !(v_np21_1)) && (((((((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((pos == 1) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || (((((pos == 1) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)))) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1)) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np8_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np7_1) && !(v_np13_1)) && (((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0))))) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np24_1) && v_np10_1) && v_np12_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np19_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && ((((((((pos == 1) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) || (((((pos == 1) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || ((((((pos == 1) && (1 <= (g1 % 256))) && (0 <= (d1 / 256))) && (!(((d1 % 256) == 0)) || ((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || ((((((pos == 1) && (0 <= (d1 / 256))) && (!(((d1 % 256) == 0)) || ((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)))) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np22_1) && v_np24_1) && v_np10_1) && v_np11_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np22_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np24_1) && v_np16_1) && v_np19_1) && v_np10_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && (((((((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0))) || ((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || ((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)))) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np22_1)) && !(v_np19_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np23_1) && v_np24_1) && v_np16_1) && v_np10_1) && !(v_np21_1)) && (((((((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((pos == 1) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || (((((pos == 1) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)))) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np19_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && ((((((((pos == 1) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) || (((((pos == 1) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || ((((((pos == 1) && (1 <= (g1 % 256))) && (0 <= (d1 / 256))) && (!(((d1 % 256) == 0)) || ((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || ((((((pos == 1) && (0 <= (d1 / 256))) && (!(((d1 % 256) == 0)) || ((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)))) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np22_1) && v_np24_1) && v_np16_1) && v_np10_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np22_1)) && !(v_np19_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && ((((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)))) && v_np6_1) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np24_1) && v_np16_1) && v_np10_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np8_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np3_1) && v_np7_1) && !(v_np13_1)) && (((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0))))) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np24_1) && v_np10_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np24_1) && v_np19_1) && v_np10_1) && v_np11_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && (((((((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0))) || ((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2))) || ((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)))) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && ((((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)))) && v_np6_1) && v_np8_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np24_1) && v_np10_1) && v_np11_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && ((((((((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) || ((((((((pos == 3) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || ((((((((pos == 3) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)))) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np20_1) && v_np24_1) && v_np10_1) && v_np11_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np24_1) && v_np10_1) && v_np13_1) && v_np11_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && (((((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0))))) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np22_1)) && !(v_np19_1)) && ((((((((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && ((256 * (d1 / 256)) == d1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) || ((((((((pos == 3) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0)))) || (((((((pos == 3) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || ((((((((pos == 3) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)))) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np20_1) && v_np24_1) && v_np16_1) && v_np10_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np22_1)) && !(v_np19_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np24_1) && v_np16_1) && v_np10_1) && v_np13_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && (((((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((pos == 1) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0))))) && !(v_np7_1))) - InvariantResult [Line: 44]: Loop Invariant Derived loop invariant: ((((((((((((((((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && (((((((((((((pos == 2) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1))) || ((((((!(((d1 % 256) == 0)) && (pos == 0)) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((((((!(((d1 % 256) == 0)) && (pos == 2)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || (((((((!(((d1 % 256) == 0)) && (pos == 2)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((!(((d1 % 256) == 0)) && (pos == 2)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 0) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1))))) && !(v_np15_1)) && v_np21_1) && v_np20_1) && v_np10_1) && v_np11_1) && !(v_np18_1)) && !(v_np17_1)) && !(v_np3_1)) && !(v_np7_1)) || ((((((((((((((((((((((((((((((((((((((!(((d1 % 256) == 0)) && (pos == 2)) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1))) || (((((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 2) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || (((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((!(((d1 % 256) == 0)) && (pos == 0)) && !((((d2 / 256) * 256) == d2))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 0) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) && !(v_np5_1)) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np23_1) && v_np21_1) && v_np10_1) && v_np11_1) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && (((((((((((((pos == 2) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1))) || ((((((!(((d1 % 256) == 0)) && (pos == 0)) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((((((!(((d1 % 256) == 0)) && (pos == 2)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || (((((((!(((d1 % 256) == 0)) && (pos == 2)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((!(((d1 % 256) == 0)) && (pos == 2)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 0) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1))))) && !(v_np15_1)) && v_np21_1) && v_np20_1) && v_np16_1) && v_np10_1) && !(v_np18_1)) && !(v_np17_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np8_1)) && !(v_np6_1)) && ((((((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1))) || (((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np3_1) && v_np7_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np21_1) && v_np10_1) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np6_1) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np21_1) && v_np16_1) && v_np10_1) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && (((((((!(((d1 % 256) == 0)) && (pos == 2)) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1))) || ((((((((pos == 2) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1))))) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np8_1)) && !(v_np6_1)) && ((((((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1))) || (((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np7_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np21_1) && v_np10_1) && v_np12_1) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np22_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np21_1) && v_np16_1) && v_np19_1) && v_np10_1) && (((((((((((!(((d1 % 256) == 0)) && (pos == 2)) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1))) || (((((((pos == 0) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || (((((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 2) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || (((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((!(((d1 % 256) == 0)) && (pos == 0)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np21_1) && v_np19_1) && v_np10_1) && v_np11_1) && (((((((((((!(((d1 % 256) == 0)) && (pos == 2)) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1))) || (((((((pos == 0) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || (((((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 2) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || (((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((!(((d1 % 256) == 0)) && (pos == 0)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && (((((!(((d1 % 256) == 0)) && (pos == 0)) && !((((d2 / 256) * 256) == d2))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1))) || ((((((pos == 0) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1))))) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np22_1) && v_np21_1) && v_np16_1) && v_np10_1) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && ((((((((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1))) || ((((((!(((d1 % 256) == 0)) && (pos == 0)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 0) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1))))) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np21_1) && v_np16_1) && v_np10_1) && v_np13_1) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && (((((!(((d1 % 256) == 0)) && (pos == 0)) && !((((d2 / 256) * 256) == d2))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1))) || ((((((pos == 0) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1))))) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np22_1) && v_np21_1) && v_np10_1) && v_np11_1) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np6_1) && v_np8_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np21_1) && v_np10_1) && v_np11_1) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && (((((((!(((d1 % 256) == 0)) && (pos == 2)) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1))) || ((((((((pos == 2) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1))))) && !(v_np7_1))) || ((((((((((((((((((((((((((((((((((((((!(((d1 % 256) == 0)) && (pos == 2)) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1))) || (((((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 2) && !(((g2 % 256) == 0))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (0 <= (d2 / 256))) && (1 <= g1)) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1)))) || (((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((!(((d1 % 256) == 0)) && (pos == 0)) && !((((d2 / 256) * 256) == d2))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 0) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) && !(v_np5_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np23_1) && v_np21_1) && v_np16_1) && v_np10_1) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && ((((((((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1))) || ((((((!(((d1 % 256) == 0)) && (pos == 0)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 0) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1))))) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np21_1) && v_np10_1) && v_np13_1) && v_np11_1) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) - InvariantResult [Line: 95]: Loop Invariant Derived loop invariant: ((((((((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && (((((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0))) || (((((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np8_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np7_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && v_np15_1) && v_np10_1) && v_np12_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np8_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np7_1) && !(v_np13_1)) && (((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0))))) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np24_1) && v_np10_1) && v_np12_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np8_1)) && !(v_np6_1)) && ((((((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1))) || (((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np7_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np21_1) && v_np10_1) && v_np12_1) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1))) || (((((((((((((((((((((((((((((((((pos == 0) && !(v_np5_1)) && (g2 == 1)) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(((g2 % 256) == 0))) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np8_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && !((((d2 / 256) * 256) == d2))) && v_np7_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(((d2 % 256) == 0))) && !(v_np15_1)) && v_np18_1) && v_np10_1) && v_np12_1) && !(v_np21_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(((256 * (d1 / 256)) == d1)))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np8_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np7_1) && !(v_np13_1)) && !(v_np11_1)) && (((((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0))) || (((((((((!(((d1 % 256) == 0)) && (pos == 0)) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((((g2 == 1) && (pos == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || ((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np17_1) && v_np10_1) && v_np12_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np20_1)) && !(v_np3_1))) || (((((((((((((((((((((((((((!(v_np5_1) && (((((((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) && !(((d2 % 256) == 0))) || (((((((!(((d1 % 256) == 0)) && (g2 == 1)) && (pos == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && !(((d2 % 256) == 0)))) || (((((((((!(((d1 % 256) == 0)) && (g2 == 1)) && (pos == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(((d2 % 256) == 0))) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1))))) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np8_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np7_1) && v_np0_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np10_1) && v_np12_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1))) - InvariantResult [Line: 63]: Loop Invariant Derived loop invariant: ((((((((((((((((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np19_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && ((((((((pos == 1) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) || (((((pos == 1) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || ((((((pos == 1) && (1 <= (g1 % 256))) && (0 <= (d1 / 256))) && (!(((d1 % 256) == 0)) || ((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || ((((((pos == 1) && (0 <= (d1 / 256))) && (!(((d1 % 256) == 0)) || ((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)))) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np22_1) && v_np24_1) && v_np10_1) && v_np11_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1)) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np19_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && ((((((((pos == 1) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) || (((((pos == 1) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || ((((((pos == 1) && (1 <= (g1 % 256))) && (0 <= (d1 / 256))) && (!(((d1 % 256) == 0)) || ((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || ((((((pos == 1) && (0 <= (d1 / 256))) && (!(((d1 % 256) == 0)) || ((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)))) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np22_1) && v_np24_1) && v_np16_1) && v_np10_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && (((((pos == 0) && !((((d2 / 256) * 256) == d2))) && ((!(((d1 % 256) == 0)) && !((((255 * g1) % 256) == 0))) || ((g2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))) || (((pos == 0) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np16_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np22_1) && v_np18_1) && v_np10_1) && v_np11_1) && !(v_np21_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && (((((pos == 0) && !((((d2 / 256) * 256) == d2))) && ((!(((d1 % 256) == 0)) && !((((255 * g1) % 256) == 0))) || ((g2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))) || (((pos == 0) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np16_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np12_1)) && !(v_np10_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np9_1) && v_np8_1) && v_np2_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np22_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && ((((((((((((pos == 1) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) || ((((pos == 0) && !((((d2 / 256) * 256) == d2))) && ((!(((d1 % 256) == 0)) && !((((255 * g1) % 256) == 0))) || ((g2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((pos == 0) && !((((d2 / 256) * 256) == d2))) && (((g2 % 256) == 0) || !((((255 * g1) % 256) == 0)))) && !(((256 * (d1 / 256)) == d1)))) || (((((pos == 1) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || ((((((pos == 1) && (1 <= (g1 % 256))) && (0 <= (d1 / 256))) && (!(((d1 % 256) == 0)) || ((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || ((((((pos == 0) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 1) && (0 <= (d1 / 256))) && (!(((d1 % 256) == 0)) || ((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1))) || (((pos == 0) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np22_1) && v_np17_1) && v_np16_1) && v_np10_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && (((((pos == 0) && !((((d2 / 256) * 256) == d2))) && ((!(((d1 % 256) == 0)) && !((((255 * g1) % 256) == 0))) || ((g2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))) || (((pos == 0) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np22_1) && v_np18_1) && v_np16_1) && v_np10_1) && !(v_np21_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || ((((((((((((((((((((((((((((((((pos == 0) && !((((d2 / 256) * 256) == d2))) && ((!(((d1 % 256) == 0)) && !((((255 * g1) % 256) == 0))) || ((g2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))) || (((pos == 0) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1)))) && !(v_np16_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np10_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np5_1) && v_np9_1) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np22_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && v_np22_1) && v_np15_1) && v_np10_1) && v_np11_1) && (((((((((((pos == 1) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) || ((((pos == 0) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1)))) || (((((pos == 1) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || ((((((pos == 1) && (1 <= (g1 % 256))) && (0 <= (d1 / 256))) && (!(((d1 % 256) == 0)) || ((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || (((((pos == 0) && (1 <= (g1 % 256))) && (!(((d1 % 256) == 0)) || ((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 0) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 1) && (0 <= (d1 / 256))) && (!(((d1 % 256) == 0)) || ((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)))) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && ((((((((((((pos == 1) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) || ((((pos == 0) && !((((d2 / 256) * 256) == d2))) && ((!(((d1 % 256) == 0)) && !((((255 * g1) % 256) == 0))) || ((g2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || ((((pos == 0) && !((((d2 / 256) * 256) == d2))) && (((g2 % 256) == 0) || !((((255 * g1) % 256) == 0)))) && !(((256 * (d1 / 256)) == d1)))) || (((((pos == 1) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || ((((((pos == 1) && (1 <= (g1 % 256))) && (0 <= (d1 / 256))) && (!(((d1 % 256) == 0)) || ((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || ((((((pos == 0) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 1) && (0 <= (d1 / 256))) && (!(((d1 % 256) == 0)) || ((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1))) || (((pos == 0) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np22_1) && v_np17_1) && v_np10_1) && v_np11_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && (((((!(((d1 % 256) == 0)) && (pos == 0)) && !((((d2 / 256) * 256) == d2))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1))) || ((((((pos == 0) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1))))) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np22_1) && v_np21_1) && v_np16_1) && v_np10_1) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && v_np22_1) && v_np16_1) && v_np15_1) && v_np10_1) && (((((((((((pos == 1) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) || ((((pos == 0) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1)))) || (((((pos == 1) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || ((((((pos == 1) && (1 <= (g1 % 256))) && (0 <= (d1 / 256))) && (!(((d1 % 256) == 0)) || ((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || (((((pos == 0) && (1 <= (g1 % 256))) && (!(((d1 % 256) == 0)) || ((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 0) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 1) && (0 <= (d1 / 256))) && (!(((d1 % 256) == 0)) || ((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)))) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && !(v_np2_1)) && !(v_np12_1)) && (((((!(((d1 % 256) == 0)) && (pos == 0)) && !((((d2 / 256) * 256) == d2))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1))) || ((((((pos == 0) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1))))) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np22_1) && v_np21_1) && v_np10_1) && v_np11_1) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && ((((((((((pos == 0) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) || ((((((pos == 1) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || (((((pos == 0) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || ((((((pos == 0) && (1 <= (g1 % 256))) && (0 <= (d1 / 256))) && (!(((d1 % 256) == 0)) || ((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || ((((((pos == 0) && (0 <= (d1 / 256))) && (!(((d1 % 256) == 0)) || ((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1))) || ((((!(((d1 % 256) == 0)) && (pos == 1)) && !((((d2 / 256) * 256) == d2))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && v_np0_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np22_1) && v_np16_1) && v_np10_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np9_1)) && ((((((((((pos == 0) && (0 <= (d1 / 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1)) || ((((((pos == 1) && !((((d2 / 256) * 256) == d2))) && ((g1 / 256) <= 0)) && (g1 == 1)) && (1 <= g1)) && !(((256 * (d1 / 256)) == d1)))) || (((((pos == 0) && (0 <= (d1 / 256))) && (0 < (g1 % 256))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || ((((((pos == 0) && (1 <= (g1 % 256))) && (0 <= (d1 / 256))) && (!(((d1 % 256) == 0)) || ((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1))) || ((((((pos == 0) && (0 <= (d1 / 256))) && (!(((d1 % 256) == 0)) || ((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && ((256 * (d1 / 256)) == d1)) && (g1 == 1))) || ((((!(((d1 % 256) == 0)) && (pos == 1)) && !((((d2 / 256) * 256) == d2))) && !((((255 * g1) % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np2_1)) && !(v_np12_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np8_1) && v_np0_1) && !(v_np13_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np22_1) && v_np10_1) && v_np11_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) - InvariantResult [Line: -1]: Loop Invariant Derived loop invariant: ((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np8_1)) && !(v_np10_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np9_1) && v_np7_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np15_1)) && v_np14_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) - InvariantResult [Line: 98]: Loop Invariant Derived loop invariant: (((((((((((((((((((((((((((!(v_np5_1) && (((((pos == 0) && !((((d2 / 256) * 256) == d2))) && ((!(((d1 % 256) == 0)) && !((((255 * g1) % 256) == 0))) || ((g2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))) || (((pos == 0) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np8_1)) && !(v_np10_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && v_np9_1) && v_np7_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np25_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) - InvariantResult [Line: 95]: Loop Invariant Derived loop invariant: ((((((((((((((((((((((((((((((((((((!(((d1 % 256) == 0)) && (pos == 0)) && !(v_np5_1)) && (g2 == 1)) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(((g2 % 256) == 0))) && !(v_np24_1)) && !(v_np23_1)) && !(v_np2_1)) && !(v_np12_1)) && !(v_np8_1)) && !(v_np10_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np25_1)) && !((((d2 / 256) * 256) == d2))) && v_np9_1) && v_np7_1) && !(v_np13_1)) && ((g1 / 256) <= 0)) && (g1 == 1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(((d2 % 256) == 0))) && !(v_np15_1)) && (1 <= g1)) && v_np26_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(((256 * (d1 / 256)) == d1))) - InvariantResult [Line: 98]: Loop Invariant Derived loop invariant: (((((((((((((((((((((((((((((((((((((pos == 2) && !(v_np5_1)) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(((g2 % 256) == 0))) && !(v_np24_1)) && !(v_np23_1)) && !(v_np12_1)) && !(v_np10_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np6_1) && v_np9_1) && v_np8_1) && v_np2_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && (0 <= (d2 / 256))) && !(v_np21_1)) && (((d2 / 256) * 256) == d2)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1)) && !(((256 * (d1 / 256)) == d1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && (((((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1))) || (((pos == 0) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np24_1)) && !(v_np12_1)) && !(v_np10_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np9_1) && v_np8_1) && v_np2_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np23_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && (((((pos == 0) && !((((d2 / 256) * 256) == d2))) && ((!(((d1 % 256) == 0)) && !((((255 * g1) % 256) == 0))) || ((g2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))) || (((pos == 0) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np16_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np12_1)) && !(v_np10_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np9_1) && v_np8_1) && v_np2_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np22_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np12_1)) && !(v_np10_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np9_1) && v_np8_1) && v_np2_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np19_1) && !(v_np21_1)) && (((((((pos == 2) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1))) || ((((pos == 0) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((256 * (d1 / 256)) == d1)))) || ((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np12_1)) && !(v_np10_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && (((((((pos == 0) && !(((g2 % 256) == 0))) && (0 <= (d2 / 256))) && (((d2 / 256) * 256) == d2)) && !(((256 * (d1 / 256)) == d1))) || ((((((pos == 2) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1)))) || (((((pos == 2) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && v_np9_1) && v_np8_1) && v_np2_1) && !(v_np13_1)) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np20_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np3_1)) && !(v_np7_1))) || (((((((((((((((((((((((((((!(v_np5_1) && !(v_np16_1)) && !(v_np22_1)) && !(v_np19_1)) && !(v_np24_1)) && !(v_np23_1)) && !(v_np12_1)) && ((((((pos == 0) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))) || ((((((pos == 0) && (g2 == 1)) && !(((g2 % 256) == 0))) && !((((d2 / 256) * 256) == d2))) && !(((d2 % 256) == 0))) && !(((256 * (d1 / 256)) == d1))))) && !(v_np10_1)) && !(v_np6_1)) && !(v_np1_1)) && !(v_np0_1)) && !(v_np26_1)) && !(v_np25_1)) && v_np9_1) && v_np8_1) && v_np2_1) && !(v_np11_1)) && !(v_np4_1)) && !(v_np14_1)) && !(v_np15_1)) && v_np13_1) && !(v_np21_1)) && !(v_np18_1)) && !(v_np17_1)) && !(v_np20_1)) && !(v_np3_1)) && !(v_np7_1))) - PositiveResult [Line: 101]: a call to reach_error is unreachable For all program executions holds that a call to reach_error is unreachable at this location - StatisticsResult: Ultimate Automizer benchmark data with 1 thread instances CFG has 5 procedures, 38 locations, 3 error locations. Started 1 CEGAR loops. EmptinessCheckTime: 0.0s, RemoveRedundantFlowTime: 0.0s, RemoveRedundantFlowUnfoldingTime: 0.0s, BackfoldingTime: 0.0s, BackfoldingUnfoldingTime: 0.0s, FlowIncreaseByBackfolding: 0, BasicCegarLoop: OverallTime: 6.8s, OverallIterations: 10, TraceHistogramMax: 3, PathProgramHistogramMax: 4, EmptinessCheckTime: 0.0s, AutomataDifference: 2.9s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 232 SdHoareTripleChecker+Valid, 0.5s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 207 mSDsluCounter, 26 SdHoareTripleChecker+Invalid, 0.4s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 15 mSDsCounter, 35 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 802 IncrementalHoareTripleChecker+Invalid, 837 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 35 mSolverCounterUnsat, 11 mSDtfsCounter, 802 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 238 GetRequests, 202 SyntacticMatches, 1 SemanticMatches, 35 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 55 ImplicationChecksByTransitivity, 0.2s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=15775occurred in iteration=8, InterpolantAutomatonStates: 48, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: No data available, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 0.1s SsaConstructionTime, 0.3s SatisfiabilityAnalysisTime, 1.5s InterpolantComputationTime, 356 NumberOfCodeBlocks, 356 NumberOfCodeBlocksAsserted, 17 NumberOfCheckSat, 418 ConstructedInterpolants, 0 QuantifiedInterpolants, 1593 SizeOfPredicates, 7 NumberOfNonLiveVariables, 633 ConjunctsInSsa, 54 ConjunctsInUnsatCore, 18 InterpolantComputations, 7 PerfectInterpolantSequences, 68/132 InterpolantCoveringCapability, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available - AllSpecificationsHoldResult: All specifications hold 1 specifications checked. All of them hold RESULT: Ultimate proved your program to be correct! [2024-02-19 14:43:18,020 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (1)] Forceful destruction successful, exit code 0 Received shutdown request... --- End real Ultimate output --- Execution finished normally Writing output log to file Ultimate.log Result: TRUE