/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/prod4br-ll_unwindbound100.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-34549b5 [2022-04-08 13:55:50,288 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-08 13:55:50,289 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-08 13:55:50,315 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-08 13:55:50,316 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-08 13:55:50,319 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-08 13:55:50,324 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-08 13:55:50,329 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-08 13:55:50,330 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-08 13:55:50,335 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-08 13:55:50,335 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-08 13:55:50,336 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-08 13:55:50,336 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-08 13:55:50,336 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-08 13:55:50,337 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-08 13:55:50,337 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-08 13:55:50,338 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-08 13:55:50,338 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-08 13:55:50,339 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-08 13:55:50,340 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-08 13:55:50,341 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-08 13:55:50,344 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-08 13:55:50,345 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-08 13:55:50,346 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-08 13:55:50,347 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-08 13:55:50,353 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-08 13:55:50,353 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-08 13:55:50,353 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-08 13:55:50,354 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-08 13:55:50,354 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-08 13:55:50,355 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-08 13:55:50,355 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-08 13:55:50,355 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-08 13:55:50,356 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-08 13:55:50,356 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-08 13:55:50,356 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-08 13:55:50,357 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-08 13:55:50,357 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-08 13:55:50,357 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-08 13:55:50,357 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-08 13:55:50,358 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-08 13:55:50,362 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-08 13:55:50,363 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-08 13:55:50,375 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-08 13:55:50,375 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-08 13:55:50,377 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-08 13:55:50,377 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-08 13:55:50,378 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-08 13:55:50,378 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-08 13:55:50,378 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-08 13:55:50,378 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-08 13:55:50,378 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-08 13:55:50,378 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-08 13:55:50,379 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-08 13:55:50,379 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-08 13:55:50,379 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-08 13:55:50,379 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-08 13:55:50,379 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-08 13:55:50,379 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 13:55:50,379 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-08 13:55:50,379 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-08 13:55:50,379 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-08 13:55:50,379 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-08 13:55:50,380 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-08 13:55:50,380 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-08 13:55:50,380 INFO L138 SettingsManager]: * Use separate solver for trace checks=false 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.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-08 13:55:50,567 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-08 13:55:50,582 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-08 13:55:50,583 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-08 13:55:50,584 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-08 13:55:50,584 INFO L275 PluginConnector]: CDTParser initialized [2022-04-08 13:55:50,585 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/prod4br-ll_unwindbound100.c [2022-04-08 13:55:50,645 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/6890cd87f/af94b444438048eeb33699db95ff44cb/FLAGb662ea85e [2022-04-08 13:55:50,963 INFO L306 CDTParser]: Found 1 translation units. [2022-04-08 13:55:50,964 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/prod4br-ll_unwindbound100.c [2022-04-08 13:55:50,967 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/6890cd87f/af94b444438048eeb33699db95ff44cb/FLAGb662ea85e [2022-04-08 13:55:50,975 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/6890cd87f/af94b444438048eeb33699db95ff44cb [2022-04-08 13:55:50,977 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-08 13:55:50,978 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-08 13:55:50,979 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-08 13:55:50,979 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-08 13:55:50,981 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-08 13:55:50,981 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 01:55:50" (1/1) ... [2022-04-08 13:55:50,982 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@2a22a3c4 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 01:55:50, skipping insertion in model container [2022-04-08 13:55:50,982 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 01:55:50" (1/1) ... [2022-04-08 13:55:50,986 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-08 13:55:50,994 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-08 13:55:51,129 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/prod4br-ll_unwindbound100.c[524,537] [2022-04-08 13:55:51,155 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 13:55:51,190 INFO L203 MainTranslator]: Completed pre-run [2022-04-08 13:55:51,202 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/prod4br-ll_unwindbound100.c[524,537] [2022-04-08 13:55:51,218 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 13:55:51,231 INFO L208 MainTranslator]: Completed translation [2022-04-08 13:55:51,231 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 01:55:51 WrapperNode [2022-04-08 13:55:51,231 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-08 13:55:51,232 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-08 13:55:51,232 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-08 13:55:51,233 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-08 13:55:51,241 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 01:55:51" (1/1) ... [2022-04-08 13:55:51,241 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 01:55:51" (1/1) ... [2022-04-08 13:55:51,255 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 01:55:51" (1/1) ... [2022-04-08 13:55:51,255 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 01:55:51" (1/1) ... [2022-04-08 13:55:51,260 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 01:55:51" (1/1) ... [2022-04-08 13:55:51,266 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 01:55:51" (1/1) ... [2022-04-08 13:55:51,267 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 01:55:51" (1/1) ... [2022-04-08 13:55:51,268 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-08 13:55:51,269 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-08 13:55:51,269 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-08 13:55:51,269 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-08 13:55:51,270 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 01:55:51" (1/1) ... [2022-04-08 13:55:51,290 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 13:55:51,309 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 13:55:51,319 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-08 13:55:51,357 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-08 13:55:51,385 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-08 13:55:51,386 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-08 13:55:51,386 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-08 13:55:51,386 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-08 13:55:51,386 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-08 13:55:51,386 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-08 13:55:51,386 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-08 13:55:51,386 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-08 13:55:51,386 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-08 13:55:51,386 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-08 13:55:51,386 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-08 13:55:51,386 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-08 13:55:51,386 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-08 13:55:51,387 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-08 13:55:51,387 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-08 13:55:51,387 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-08 13:55:51,387 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-08 13:55:51,387 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-08 13:55:51,387 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-08 13:55:51,387 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-08 13:55:51,434 INFO L234 CfgBuilder]: Building ICFG [2022-04-08 13:55:51,435 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-08 13:55:51,613 INFO L275 CfgBuilder]: Performing block encoding [2022-04-08 13:55:51,618 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-08 13:55:51,618 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-08 13:55:51,619 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 01:55:51 BoogieIcfgContainer [2022-04-08 13:55:51,619 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-08 13:55:51,620 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-08 13:55:51,620 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-08 13:55:51,624 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-08 13:55:51,624 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 08.04 01:55:50" (1/3) ... [2022-04-08 13:55:51,625 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7ec7fb0d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 01:55:51, skipping insertion in model container [2022-04-08 13:55:51,625 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 01:55:51" (2/3) ... [2022-04-08 13:55:51,625 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7ec7fb0d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 01:55:51, skipping insertion in model container [2022-04-08 13:55:51,625 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 01:55:51" (3/3) ... [2022-04-08 13:55:51,626 INFO L111 eAbstractionObserver]: Analyzing ICFG prod4br-ll_unwindbound100.c [2022-04-08 13:55:51,630 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-08 13:55:51,630 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-08 13:55:51,657 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-08 13:55:51,660 INFO L340 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, 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 [2022-04-08 13:55:51,661 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-08 13:55:51,672 INFO L276 IsEmpty]: Start isEmpty. Operand has 32 states, 20 states have (on average 1.45) internal successors, (29), 21 states have internal predecessors, (29), 6 states have call successors, (6), 4 states have call predecessors, (6), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-08 13:55:51,676 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-04-08 13:55:51,676 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 13:55:51,676 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 13:55:51,677 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 13:55:51,680 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 13:55:51,680 INFO L85 PathProgramCache]: Analyzing trace with hash 1717894843, now seen corresponding path program 1 times [2022-04-08 13:55:51,685 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 13:55:51,685 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1829716317] [2022-04-08 13:55:51,692 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 13:55:51,692 INFO L85 PathProgramCache]: Analyzing trace with hash 1717894843, now seen corresponding path program 2 times [2022-04-08 13:55:51,694 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 13:55:51,694 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [731665950] [2022-04-08 13:55:51,694 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 13:55:51,694 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 13:55:51,774 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:55:51,833 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 13:55:51,843 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:55:51,857 INFO L290 TraceCheckUtils]: 0: Hoare triple {44#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {35#true} is VALID [2022-04-08 13:55:51,857 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-08 13:55:51,857 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {35#true} {35#true} #77#return; {35#true} is VALID [2022-04-08 13:55:51,858 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 13:55:51,862 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:55:51,868 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-08 13:55:51,868 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-08 13:55:51,869 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-08 13:55:51,869 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {35#true} #69#return; {36#false} is VALID [2022-04-08 13:55:51,870 INFO L272 TraceCheckUtils]: 0: Hoare triple {35#true} call ULTIMATE.init(); {44#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 13:55:51,870 INFO L290 TraceCheckUtils]: 1: Hoare triple {44#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {35#true} is VALID [2022-04-08 13:55:51,870 INFO L290 TraceCheckUtils]: 2: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-08 13:55:51,870 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35#true} {35#true} #77#return; {35#true} is VALID [2022-04-08 13:55:51,871 INFO L272 TraceCheckUtils]: 4: Hoare triple {35#true} call #t~ret7 := main(); {35#true} is VALID [2022-04-08 13:55:51,871 INFO L290 TraceCheckUtils]: 5: Hoare triple {35#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {35#true} is VALID [2022-04-08 13:55:51,871 INFO L272 TraceCheckUtils]: 6: Hoare triple {35#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {35#true} is VALID [2022-04-08 13:55:51,871 INFO L290 TraceCheckUtils]: 7: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-08 13:55:51,872 INFO L290 TraceCheckUtils]: 8: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-08 13:55:51,872 INFO L290 TraceCheckUtils]: 9: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-08 13:55:51,872 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {36#false} {35#true} #69#return; {36#false} is VALID [2022-04-08 13:55:51,873 INFO L290 TraceCheckUtils]: 11: Hoare triple {36#false} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {36#false} is VALID [2022-04-08 13:55:51,873 INFO L290 TraceCheckUtils]: 12: Hoare triple {36#false} assume !true; {36#false} is VALID [2022-04-08 13:55:51,874 INFO L272 TraceCheckUtils]: 13: Hoare triple {36#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {36#false} is VALID [2022-04-08 13:55:51,874 INFO L290 TraceCheckUtils]: 14: Hoare triple {36#false} ~cond := #in~cond; {36#false} is VALID [2022-04-08 13:55:51,875 INFO L290 TraceCheckUtils]: 15: Hoare triple {36#false} assume 0 == ~cond; {36#false} is VALID [2022-04-08 13:55:51,875 INFO L290 TraceCheckUtils]: 16: Hoare triple {36#false} assume !false; {36#false} is VALID [2022-04-08 13:55:51,875 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 13:55:51,875 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 13:55:51,875 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [731665950] [2022-04-08 13:55:51,876 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [731665950] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 13:55:51,876 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 13:55:51,876 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 13:55:51,880 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 13:55:51,880 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1829716317] [2022-04-08 13:55:51,880 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1829716317] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 13:55:51,880 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 13:55:51,880 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 13:55:51,881 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1134535747] [2022-04-08 13:55:51,881 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 13:55:51,884 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 17 [2022-04-08 13:55:51,885 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 13:55:51,887 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 13:55:51,911 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 17 edges. 17 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 13:55:51,911 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-08 13:55:51,911 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 13:55:51,932 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-08 13:55:51,933 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-08 13:55:51,935 INFO L87 Difference]: Start difference. First operand has 32 states, 20 states have (on average 1.45) internal successors, (29), 21 states have internal predecessors, (29), 6 states have call successors, (6), 4 states have call predecessors, (6), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 13:55:52,078 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:55:52,079 INFO L93 Difference]: Finished difference Result 56 states and 77 transitions. [2022-04-08 13:55:52,079 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-08 13:55:52,080 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 17 [2022-04-08 13:55:52,080 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 13:55:52,081 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 13:55:52,091 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 77 transitions. [2022-04-08 13:55:52,092 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 13:55:52,097 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 77 transitions. [2022-04-08 13:55:52,098 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 77 transitions. [2022-04-08 13:55:52,172 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 13:55:52,179 INFO L225 Difference]: With dead ends: 56 [2022-04-08 13:55:52,180 INFO L226 Difference]: Without dead ends: 28 [2022-04-08 13:55:52,182 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 6 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-08 13:55:52,185 INFO L913 BasicCegarLoop]: 36 mSDtfsCounter, 10 mSDsluCounter, 4 mSDsCounter, 0 mSdLazyCounter, 19 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 40 SdHoareTripleChecker+Invalid, 24 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 19 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 13:55:52,186 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [11 Valid, 40 Invalid, 24 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 19 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 13:55:52,196 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 28 states. [2022-04-08 13:55:52,218 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 28 to 27. [2022-04-08 13:55:52,218 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 13:55:52,219 INFO L82 GeneralOperation]: Start isEquivalent. First operand 28 states. Second operand has 27 states, 17 states have (on average 1.3529411764705883) internal successors, (23), 18 states have internal predecessors, (23), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 13:55:52,219 INFO L74 IsIncluded]: Start isIncluded. First operand 28 states. Second operand has 27 states, 17 states have (on average 1.3529411764705883) internal successors, (23), 18 states have internal predecessors, (23), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 13:55:52,220 INFO L87 Difference]: Start difference. First operand 28 states. Second operand has 27 states, 17 states have (on average 1.3529411764705883) internal successors, (23), 18 states have internal predecessors, (23), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 13:55:52,222 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:55:52,222 INFO L93 Difference]: Finished difference Result 28 states and 34 transitions. [2022-04-08 13:55:52,222 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 34 transitions. [2022-04-08 13:55:52,222 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:55:52,223 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:55:52,223 INFO L74 IsIncluded]: Start isIncluded. First operand has 27 states, 17 states have (on average 1.3529411764705883) internal successors, (23), 18 states have internal predecessors, (23), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 28 states. [2022-04-08 13:55:52,223 INFO L87 Difference]: Start difference. First operand has 27 states, 17 states have (on average 1.3529411764705883) internal successors, (23), 18 states have internal predecessors, (23), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 28 states. [2022-04-08 13:55:52,225 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:55:52,225 INFO L93 Difference]: Finished difference Result 28 states and 34 transitions. [2022-04-08 13:55:52,225 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 34 transitions. [2022-04-08 13:55:52,226 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:55:52,226 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:55:52,226 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 13:55:52,226 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 13:55:52,226 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 17 states have (on average 1.3529411764705883) internal successors, (23), 18 states have internal predecessors, (23), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 13:55:52,227 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 33 transitions. [2022-04-08 13:55:52,228 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 33 transitions. Word has length 17 [2022-04-08 13:55:52,229 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 13:55:52,229 INFO L478 AbstractCegarLoop]: Abstraction has 27 states and 33 transitions. [2022-04-08 13:55:52,229 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 13:55:52,229 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 27 states and 33 transitions. [2022-04-08 13:55:52,259 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 13:55:52,259 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 33 transitions. [2022-04-08 13:55:52,260 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-04-08 13:55:52,260 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 13:55:52,260 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 13:55:52,260 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-08 13:55:52,260 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 13:55:52,261 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 13:55:52,261 INFO L85 PathProgramCache]: Analyzing trace with hash 444281082, now seen corresponding path program 1 times [2022-04-08 13:55:52,261 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 13:55:52,261 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [291254072] [2022-04-08 13:55:52,262 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 13:55:52,262 INFO L85 PathProgramCache]: Analyzing trace with hash 444281082, now seen corresponding path program 2 times [2022-04-08 13:55:52,262 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 13:55:52,262 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [220454306] [2022-04-08 13:55:52,262 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 13:55:52,262 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 13:55:52,275 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 13:55:52,275 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [780044872] [2022-04-08 13:55:52,275 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 13:55:52,275 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 13:55:52,275 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 13:55:52,276 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) [2022-04-08 13:55:52,309 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-08 13:55:52,319 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-08 13:55:52,319 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 13:55:52,320 INFO L263 TraceCheckSpWp]: Trace formula consists of 86 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-08 13:55:52,328 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:55:52,330 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 13:55:52,434 INFO L272 TraceCheckUtils]: 0: Hoare triple {269#true} call ULTIMATE.init(); {269#true} is VALID [2022-04-08 13:55:52,435 INFO L290 TraceCheckUtils]: 1: Hoare triple {269#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {277#(<= ~counter~0 0)} is VALID [2022-04-08 13:55:52,436 INFO L290 TraceCheckUtils]: 2: Hoare triple {277#(<= ~counter~0 0)} assume true; {277#(<= ~counter~0 0)} is VALID [2022-04-08 13:55:52,436 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {277#(<= ~counter~0 0)} {269#true} #77#return; {277#(<= ~counter~0 0)} is VALID [2022-04-08 13:55:52,436 INFO L272 TraceCheckUtils]: 4: Hoare triple {277#(<= ~counter~0 0)} call #t~ret7 := main(); {277#(<= ~counter~0 0)} is VALID [2022-04-08 13:55:52,437 INFO L290 TraceCheckUtils]: 5: Hoare triple {277#(<= ~counter~0 0)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {277#(<= ~counter~0 0)} is VALID [2022-04-08 13:55:52,437 INFO L272 TraceCheckUtils]: 6: Hoare triple {277#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {277#(<= ~counter~0 0)} is VALID [2022-04-08 13:55:52,438 INFO L290 TraceCheckUtils]: 7: Hoare triple {277#(<= ~counter~0 0)} ~cond := #in~cond; {277#(<= ~counter~0 0)} is VALID [2022-04-08 13:55:52,438 INFO L290 TraceCheckUtils]: 8: Hoare triple {277#(<= ~counter~0 0)} assume !(0 == ~cond); {277#(<= ~counter~0 0)} is VALID [2022-04-08 13:55:52,439 INFO L290 TraceCheckUtils]: 9: Hoare triple {277#(<= ~counter~0 0)} assume true; {277#(<= ~counter~0 0)} is VALID [2022-04-08 13:55:52,439 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {277#(<= ~counter~0 0)} {277#(<= ~counter~0 0)} #69#return; {277#(<= ~counter~0 0)} is VALID [2022-04-08 13:55:52,440 INFO L290 TraceCheckUtils]: 11: Hoare triple {277#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {277#(<= ~counter~0 0)} is VALID [2022-04-08 13:55:52,440 INFO L290 TraceCheckUtils]: 12: Hoare triple {277#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {311#(<= |main_#t~post6| 0)} is VALID [2022-04-08 13:55:52,441 INFO L290 TraceCheckUtils]: 13: Hoare triple {311#(<= |main_#t~post6| 0)} assume !(#t~post6 < 100);havoc #t~post6; {270#false} is VALID [2022-04-08 13:55:52,441 INFO L272 TraceCheckUtils]: 14: Hoare triple {270#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {270#false} is VALID [2022-04-08 13:55:52,441 INFO L290 TraceCheckUtils]: 15: Hoare triple {270#false} ~cond := #in~cond; {270#false} is VALID [2022-04-08 13:55:52,441 INFO L290 TraceCheckUtils]: 16: Hoare triple {270#false} assume 0 == ~cond; {270#false} is VALID [2022-04-08 13:55:52,441 INFO L290 TraceCheckUtils]: 17: Hoare triple {270#false} assume !false; {270#false} is VALID [2022-04-08 13:55:52,441 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 13:55:52,442 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 13:55:52,442 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 13:55:52,442 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [220454306] [2022-04-08 13:55:52,442 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 13:55:52,442 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [780044872] [2022-04-08 13:55:52,442 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [780044872] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 13:55:52,442 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 13:55:52,442 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-08 13:55:52,443 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 13:55:52,443 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [291254072] [2022-04-08 13:55:52,443 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [291254072] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 13:55:52,443 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 13:55:52,444 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-08 13:55:52,444 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1486625051] [2022-04-08 13:55:52,444 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 13:55:52,444 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 18 [2022-04-08 13:55:52,444 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 13:55:52,445 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-08 13:55:52,457 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 13:55:52,457 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-08 13:55:52,457 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 13:55:52,458 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-08 13:55:52,458 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-08 13:55:52,458 INFO L87 Difference]: Start difference. First operand 27 states and 33 transitions. Second operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-08 13:55:52,514 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:55:52,514 INFO L93 Difference]: Finished difference Result 37 states and 44 transitions. [2022-04-08 13:55:52,514 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-08 13:55:52,514 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 18 [2022-04-08 13:55:52,515 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 13:55:52,515 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-08 13:55:52,516 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 44 transitions. [2022-04-08 13:55:52,516 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-08 13:55:52,517 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 44 transitions. [2022-04-08 13:55:52,517 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 44 transitions. [2022-04-08 13:55:52,548 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 13:55:52,549 INFO L225 Difference]: With dead ends: 37 [2022-04-08 13:55:52,549 INFO L226 Difference]: Without dead ends: 29 [2022-04-08 13:55:52,549 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 15 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-08 13:55:52,550 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 0 mSDsluCounter, 50 mSDsCounter, 0 mSdLazyCounter, 7 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 81 SdHoareTripleChecker+Invalid, 7 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 7 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 13:55:52,551 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 81 Invalid, 7 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 7 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 13:55:52,551 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29 states. [2022-04-08 13:55:52,560 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29 to 29. [2022-04-08 13:55:52,560 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 13:55:52,560 INFO L82 GeneralOperation]: Start isEquivalent. First operand 29 states. Second operand has 29 states, 19 states have (on average 1.3157894736842106) internal successors, (25), 20 states have internal predecessors, (25), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 13:55:52,560 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand has 29 states, 19 states have (on average 1.3157894736842106) internal successors, (25), 20 states have internal predecessors, (25), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 13:55:52,561 INFO L87 Difference]: Start difference. First operand 29 states. Second operand has 29 states, 19 states have (on average 1.3157894736842106) internal successors, (25), 20 states have internal predecessors, (25), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 13:55:52,562 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:55:52,562 INFO L93 Difference]: Finished difference Result 29 states and 35 transitions. [2022-04-08 13:55:52,562 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 35 transitions. [2022-04-08 13:55:52,563 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:55:52,563 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:55:52,563 INFO L74 IsIncluded]: Start isIncluded. First operand has 29 states, 19 states have (on average 1.3157894736842106) internal successors, (25), 20 states have internal predecessors, (25), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 29 states. [2022-04-08 13:55:52,563 INFO L87 Difference]: Start difference. First operand has 29 states, 19 states have (on average 1.3157894736842106) internal successors, (25), 20 states have internal predecessors, (25), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 29 states. [2022-04-08 13:55:52,565 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:55:52,565 INFO L93 Difference]: Finished difference Result 29 states and 35 transitions. [2022-04-08 13:55:52,565 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 35 transitions. [2022-04-08 13:55:52,565 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:55:52,565 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:55:52,565 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 13:55:52,565 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 13:55:52,566 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 19 states have (on average 1.3157894736842106) internal successors, (25), 20 states have internal predecessors, (25), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 13:55:52,567 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 35 transitions. [2022-04-08 13:55:52,567 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 35 transitions. Word has length 18 [2022-04-08 13:55:52,567 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 13:55:52,567 INFO L478 AbstractCegarLoop]: Abstraction has 29 states and 35 transitions. [2022-04-08 13:55:52,567 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-08 13:55:52,567 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 29 states and 35 transitions. [2022-04-08 13:55:52,593 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 13:55:52,594 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 35 transitions. [2022-04-08 13:55:52,594 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-04-08 13:55:52,594 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 13:55:52,594 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 13:55:52,621 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2022-04-08 13:55:52,826 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 13:55:52,826 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 13:55:52,827 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 13:55:52,827 INFO L85 PathProgramCache]: Analyzing trace with hash 446068542, now seen corresponding path program 1 times [2022-04-08 13:55:52,827 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 13:55:52,827 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1121389694] [2022-04-08 13:55:52,828 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 13:55:52,828 INFO L85 PathProgramCache]: Analyzing trace with hash 446068542, now seen corresponding path program 2 times [2022-04-08 13:55:52,828 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 13:55:52,828 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2101960102] [2022-04-08 13:55:52,828 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 13:55:52,828 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 13:55:52,856 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 13:55:52,856 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1936284120] [2022-04-08 13:55:52,856 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 13:55:52,857 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 13:55:52,857 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 13:55:52,868 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) [2022-04-08 13:55:52,869 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-08 13:55:52,900 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-08 13:55:52,900 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 13:55:52,900 INFO L263 TraceCheckSpWp]: Trace formula consists of 86 conjuncts, 15 conjunts are in the unsatisfiable core [2022-04-08 13:55:52,906 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:55:52,907 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 13:55:53,002 INFO L272 TraceCheckUtils]: 0: Hoare triple {516#true} call ULTIMATE.init(); {516#true} is VALID [2022-04-08 13:55:53,002 INFO L290 TraceCheckUtils]: 1: Hoare triple {516#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {516#true} is VALID [2022-04-08 13:55:53,002 INFO L290 TraceCheckUtils]: 2: Hoare triple {516#true} assume true; {516#true} is VALID [2022-04-08 13:55:53,002 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {516#true} {516#true} #77#return; {516#true} is VALID [2022-04-08 13:55:53,002 INFO L272 TraceCheckUtils]: 4: Hoare triple {516#true} call #t~ret7 := main(); {516#true} is VALID [2022-04-08 13:55:53,002 INFO L290 TraceCheckUtils]: 5: Hoare triple {516#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {516#true} is VALID [2022-04-08 13:55:53,003 INFO L272 TraceCheckUtils]: 6: Hoare triple {516#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {516#true} is VALID [2022-04-08 13:55:53,003 INFO L290 TraceCheckUtils]: 7: Hoare triple {516#true} ~cond := #in~cond; {516#true} is VALID [2022-04-08 13:55:53,003 INFO L290 TraceCheckUtils]: 8: Hoare triple {516#true} assume !(0 == ~cond); {516#true} is VALID [2022-04-08 13:55:53,003 INFO L290 TraceCheckUtils]: 9: Hoare triple {516#true} assume true; {516#true} is VALID [2022-04-08 13:55:53,003 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {516#true} {516#true} #69#return; {516#true} is VALID [2022-04-08 13:55:53,004 INFO L290 TraceCheckUtils]: 11: Hoare triple {516#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {554#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 13:55:53,004 INFO L290 TraceCheckUtils]: 12: Hoare triple {554#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {554#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 13:55:53,004 INFO L290 TraceCheckUtils]: 13: Hoare triple {554#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 100);havoc #t~post6; {554#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 13:55:53,005 INFO L272 TraceCheckUtils]: 14: Hoare triple {554#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {564#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 13:55:53,006 INFO L290 TraceCheckUtils]: 15: Hoare triple {564#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {568#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 13:55:53,006 INFO L290 TraceCheckUtils]: 16: Hoare triple {568#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {517#false} is VALID [2022-04-08 13:55:53,006 INFO L290 TraceCheckUtils]: 17: Hoare triple {517#false} assume !false; {517#false} is VALID [2022-04-08 13:55:53,006 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 13:55:53,006 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 13:55:53,007 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 13:55:53,007 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2101960102] [2022-04-08 13:55:53,007 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 13:55:53,007 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1936284120] [2022-04-08 13:55:53,007 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1936284120] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 13:55:53,007 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 13:55:53,007 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 13:55:53,007 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 13:55:53,007 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1121389694] [2022-04-08 13:55:53,008 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1121389694] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 13:55:53,008 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 13:55:53,008 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 13:55:53,008 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1870786313] [2022-04-08 13:55:53,008 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 13:55:53,008 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 18 [2022-04-08 13:55:53,008 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 13:55:53,008 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 13:55:53,020 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 13:55:53,020 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 13:55:53,020 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 13:55:53,021 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 13:55:53,021 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 13:55:53,021 INFO L87 Difference]: Start difference. First operand 29 states and 35 transitions. Second operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 13:55:53,160 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:55:53,160 INFO L93 Difference]: Finished difference Result 42 states and 53 transitions. [2022-04-08 13:55:53,161 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 13:55:53,161 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 18 [2022-04-08 13:55:53,161 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 13:55:53,161 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 13:55:53,162 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-04-08 13:55:53,162 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 13:55:53,163 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-04-08 13:55:53,163 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 53 transitions. [2022-04-08 13:55:53,207 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 13:55:53,207 INFO L225 Difference]: With dead ends: 42 [2022-04-08 13:55:53,208 INFO L226 Difference]: Without dead ends: 40 [2022-04-08 13:55:53,208 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 14 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-08 13:55:53,209 INFO L913 BasicCegarLoop]: 24 mSDtfsCounter, 9 mSDsluCounter, 59 mSDsCounter, 0 mSdLazyCounter, 54 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 83 SdHoareTripleChecker+Invalid, 54 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 54 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 13:55:53,209 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [11 Valid, 83 Invalid, 54 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 54 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 13:55:53,209 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 40 states. [2022-04-08 13:55:53,222 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 40 to 34. [2022-04-08 13:55:53,222 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 13:55:53,222 INFO L82 GeneralOperation]: Start isEquivalent. First operand 40 states. Second operand has 34 states, 22 states have (on average 1.2727272727272727) internal successors, (28), 24 states have internal predecessors, (28), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-08 13:55:53,222 INFO L74 IsIncluded]: Start isIncluded. First operand 40 states. Second operand has 34 states, 22 states have (on average 1.2727272727272727) internal successors, (28), 24 states have internal predecessors, (28), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-08 13:55:53,222 INFO L87 Difference]: Start difference. First operand 40 states. Second operand has 34 states, 22 states have (on average 1.2727272727272727) internal successors, (28), 24 states have internal predecessors, (28), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-08 13:55:53,224 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:55:53,224 INFO L93 Difference]: Finished difference Result 40 states and 51 transitions. [2022-04-08 13:55:53,224 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 51 transitions. [2022-04-08 13:55:53,224 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:55:53,225 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:55:53,225 INFO L74 IsIncluded]: Start isIncluded. First operand has 34 states, 22 states have (on average 1.2727272727272727) internal successors, (28), 24 states have internal predecessors, (28), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) Second operand 40 states. [2022-04-08 13:55:53,225 INFO L87 Difference]: Start difference. First operand has 34 states, 22 states have (on average 1.2727272727272727) internal successors, (28), 24 states have internal predecessors, (28), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) Second operand 40 states. [2022-04-08 13:55:53,226 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:55:53,226 INFO L93 Difference]: Finished difference Result 40 states and 51 transitions. [2022-04-08 13:55:53,226 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 51 transitions. [2022-04-08 13:55:53,227 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:55:53,227 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:55:53,227 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 13:55:53,227 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 13:55:53,227 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 22 states have (on average 1.2727272727272727) internal successors, (28), 24 states have internal predecessors, (28), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-08 13:55:53,228 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 40 transitions. [2022-04-08 13:55:53,229 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 40 transitions. Word has length 18 [2022-04-08 13:55:53,229 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 13:55:53,229 INFO L478 AbstractCegarLoop]: Abstraction has 34 states and 40 transitions. [2022-04-08 13:55:53,229 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 13:55:53,229 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 40 transitions. [2022-04-08 13:55:53,259 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 13:55:53,259 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 40 transitions. [2022-04-08 13:55:53,259 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2022-04-08 13:55:53,260 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 13:55:53,260 INFO L499 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 13:55:53,281 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-08 13:55:53,475 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-04-08 13:55:53,475 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 13:55:53,476 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 13:55:53,476 INFO L85 PathProgramCache]: Analyzing trace with hash -1308579644, now seen corresponding path program 1 times [2022-04-08 13:55:53,476 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 13:55:53,476 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [19701484] [2022-04-08 13:55:53,476 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 13:55:53,476 INFO L85 PathProgramCache]: Analyzing trace with hash -1308579644, now seen corresponding path program 2 times [2022-04-08 13:55:53,477 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 13:55:53,477 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1659311041] [2022-04-08 13:55:53,477 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 13:55:53,477 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 13:55:53,491 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 13:55:53,491 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [869851449] [2022-04-08 13:55:53,491 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 13:55:53,491 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 13:55:53,492 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 13:55:53,492 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) [2022-04-08 13:55:53,493 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-08 13:55:53,522 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 13:55:53,523 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 13:55:53,523 INFO L263 TraceCheckSpWp]: Trace formula consists of 96 conjuncts, 15 conjunts are in the unsatisfiable core [2022-04-08 13:55:53,530 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:55:53,531 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 13:56:03,903 INFO L272 TraceCheckUtils]: 0: Hoare triple {808#true} call ULTIMATE.init(); {808#true} is VALID [2022-04-08 13:56:03,903 INFO L290 TraceCheckUtils]: 1: Hoare triple {808#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {808#true} is VALID [2022-04-08 13:56:03,903 INFO L290 TraceCheckUtils]: 2: Hoare triple {808#true} assume true; {808#true} is VALID [2022-04-08 13:56:03,904 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {808#true} {808#true} #77#return; {808#true} is VALID [2022-04-08 13:56:03,904 INFO L272 TraceCheckUtils]: 4: Hoare triple {808#true} call #t~ret7 := main(); {808#true} is VALID [2022-04-08 13:56:03,904 INFO L290 TraceCheckUtils]: 5: Hoare triple {808#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {808#true} is VALID [2022-04-08 13:56:03,904 INFO L272 TraceCheckUtils]: 6: Hoare triple {808#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {808#true} is VALID [2022-04-08 13:56:03,904 INFO L290 TraceCheckUtils]: 7: Hoare triple {808#true} ~cond := #in~cond; {834#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 13:56:03,905 INFO L290 TraceCheckUtils]: 8: Hoare triple {834#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {838#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 13:56:03,905 INFO L290 TraceCheckUtils]: 9: Hoare triple {838#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {838#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 13:56:03,906 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {838#(not (= |assume_abort_if_not_#in~cond| 0))} {808#true} #69#return; {845#(<= 1 main_~y~0)} is VALID [2022-04-08 13:56:03,906 INFO L290 TraceCheckUtils]: 11: Hoare triple {845#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {849#(and (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} is VALID [2022-04-08 13:56:03,907 INFO L290 TraceCheckUtils]: 12: Hoare triple {849#(and (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {849#(and (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} is VALID [2022-04-08 13:56:03,907 INFO L290 TraceCheckUtils]: 13: Hoare triple {849#(and (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} assume !!(#t~post6 < 100);havoc #t~post6; {849#(and (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} is VALID [2022-04-08 13:56:03,907 INFO L272 TraceCheckUtils]: 14: Hoare triple {849#(and (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {808#true} is VALID [2022-04-08 13:56:03,908 INFO L290 TraceCheckUtils]: 15: Hoare triple {808#true} ~cond := #in~cond; {862#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 13:56:03,908 INFO L290 TraceCheckUtils]: 16: Hoare triple {862#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {866#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 13:56:03,909 INFO L290 TraceCheckUtils]: 17: Hoare triple {866#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {866#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 13:56:05,911 WARN L284 TraceCheckUtils]: 18: Hoare quadruple {866#(not (= |__VERIFIER_assert_#in~cond| 0))} {849#(and (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} #71#return; {873#(and (or (and (= (mod (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) (* main_~b~0 main_~a~0)) 0) (not (= main_~a~0 0))) (= (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) 0)) (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} is UNKNOWN [2022-04-08 13:56:05,912 INFO L290 TraceCheckUtils]: 19: Hoare triple {873#(and (or (and (= (mod (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) (* main_~b~0 main_~a~0)) 0) (not (= main_~a~0 0))) (= (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) 0)) (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} assume !(0 != ~a~0 && 0 != ~b~0); {877#(and (= main_~q~0 (* main_~y~0 main_~x~0)) (<= 1 main_~y~0))} is VALID [2022-04-08 13:56:05,913 INFO L272 TraceCheckUtils]: 20: Hoare triple {877#(and (= main_~q~0 (* main_~y~0 main_~x~0)) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {881#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 13:56:05,914 INFO L290 TraceCheckUtils]: 21: Hoare triple {881#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {885#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 13:56:05,914 INFO L290 TraceCheckUtils]: 22: Hoare triple {885#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {809#false} is VALID [2022-04-08 13:56:05,914 INFO L290 TraceCheckUtils]: 23: Hoare triple {809#false} assume !false; {809#false} is VALID [2022-04-08 13:56:05,914 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 13:56:05,915 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 13:56:19,051 INFO L290 TraceCheckUtils]: 23: Hoare triple {809#false} assume !false; {809#false} is VALID [2022-04-08 13:56:19,052 INFO L290 TraceCheckUtils]: 22: Hoare triple {885#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {809#false} is VALID [2022-04-08 13:56:19,052 INFO L290 TraceCheckUtils]: 21: Hoare triple {881#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {885#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 13:56:19,053 INFO L272 TraceCheckUtils]: 20: Hoare triple {901#(= main_~q~0 (* main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {881#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 13:56:19,054 INFO L290 TraceCheckUtils]: 19: Hoare triple {905#(or (= main_~q~0 (* main_~y~0 main_~x~0)) (and (not (= main_~b~0 0)) (not (= main_~a~0 0))))} assume !(0 != ~a~0 && 0 != ~b~0); {901#(= main_~q~0 (* main_~y~0 main_~x~0))} is VALID [2022-04-08 13:56:19,055 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {866#(not (= |__VERIFIER_assert_#in~cond| 0))} {808#true} #71#return; {905#(or (= main_~q~0 (* main_~y~0 main_~x~0)) (and (not (= main_~b~0 0)) (not (= main_~a~0 0))))} is VALID [2022-04-08 13:56:19,056 INFO L290 TraceCheckUtils]: 17: Hoare triple {866#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {866#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 13:56:19,056 INFO L290 TraceCheckUtils]: 16: Hoare triple {918#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {866#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 13:56:19,056 INFO L290 TraceCheckUtils]: 15: Hoare triple {808#true} ~cond := #in~cond; {918#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 13:56:19,057 INFO L272 TraceCheckUtils]: 14: Hoare triple {808#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {808#true} is VALID [2022-04-08 13:56:19,057 INFO L290 TraceCheckUtils]: 13: Hoare triple {808#true} assume !!(#t~post6 < 100);havoc #t~post6; {808#true} is VALID [2022-04-08 13:56:19,057 INFO L290 TraceCheckUtils]: 12: Hoare triple {808#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {808#true} is VALID [2022-04-08 13:56:19,057 INFO L290 TraceCheckUtils]: 11: Hoare triple {808#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {808#true} is VALID [2022-04-08 13:56:19,057 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {808#true} {808#true} #69#return; {808#true} is VALID [2022-04-08 13:56:19,057 INFO L290 TraceCheckUtils]: 9: Hoare triple {808#true} assume true; {808#true} is VALID [2022-04-08 13:56:19,057 INFO L290 TraceCheckUtils]: 8: Hoare triple {808#true} assume !(0 == ~cond); {808#true} is VALID [2022-04-08 13:56:19,057 INFO L290 TraceCheckUtils]: 7: Hoare triple {808#true} ~cond := #in~cond; {808#true} is VALID [2022-04-08 13:56:19,058 INFO L272 TraceCheckUtils]: 6: Hoare triple {808#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {808#true} is VALID [2022-04-08 13:56:19,058 INFO L290 TraceCheckUtils]: 5: Hoare triple {808#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {808#true} is VALID [2022-04-08 13:56:19,058 INFO L272 TraceCheckUtils]: 4: Hoare triple {808#true} call #t~ret7 := main(); {808#true} is VALID [2022-04-08 13:56:19,058 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {808#true} {808#true} #77#return; {808#true} is VALID [2022-04-08 13:56:19,058 INFO L290 TraceCheckUtils]: 2: Hoare triple {808#true} assume true; {808#true} is VALID [2022-04-08 13:56:19,058 INFO L290 TraceCheckUtils]: 1: Hoare triple {808#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {808#true} is VALID [2022-04-08 13:56:19,058 INFO L272 TraceCheckUtils]: 0: Hoare triple {808#true} call ULTIMATE.init(); {808#true} is VALID [2022-04-08 13:56:19,058 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 13:56:19,059 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 13:56:19,059 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1659311041] [2022-04-08 13:56:19,059 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 13:56:19,059 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [869851449] [2022-04-08 13:56:19,059 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [869851449] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 13:56:19,059 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 13:56:19,059 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 8] total 15 [2022-04-08 13:56:19,059 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 13:56:19,059 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [19701484] [2022-04-08 13:56:19,059 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [19701484] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 13:56:19,060 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 13:56:19,060 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-08 13:56:19,060 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [271662865] [2022-04-08 13:56:19,060 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 13:56:19,060 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 1.4545454545454546) internal successors, (16), 9 states have internal predecessors, (16), 3 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 24 [2022-04-08 13:56:19,060 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 13:56:19,060 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 11 states have (on average 1.4545454545454546) internal successors, (16), 9 states have internal predecessors, (16), 3 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 13:56:21,079 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 23 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 13:56:21,079 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-08 13:56:21,079 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 13:56:21,079 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-08 13:56:21,080 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=171, Unknown=0, NotChecked=0, Total=210 [2022-04-08 13:56:21,080 INFO L87 Difference]: Start difference. First operand 34 states and 40 transitions. Second operand has 12 states, 11 states have (on average 1.4545454545454546) internal successors, (16), 9 states have internal predecessors, (16), 3 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 13:56:26,459 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:56:26,459 INFO L93 Difference]: Finished difference Result 50 states and 63 transitions. [2022-04-08 13:56:26,459 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-08 13:56:26,459 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 1.4545454545454546) internal successors, (16), 9 states have internal predecessors, (16), 3 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 24 [2022-04-08 13:56:26,459 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 13:56:26,460 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 1.4545454545454546) internal successors, (16), 9 states have internal predecessors, (16), 3 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 13:56:26,461 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 60 transitions. [2022-04-08 13:56:26,461 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 1.4545454545454546) internal successors, (16), 9 states have internal predecessors, (16), 3 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 13:56:26,462 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 60 transitions. [2022-04-08 13:56:26,463 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 60 transitions. [2022-04-08 13:56:28,535 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 59 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 13:56:28,536 INFO L225 Difference]: With dead ends: 50 [2022-04-08 13:56:28,536 INFO L226 Difference]: Without dead ends: 48 [2022-04-08 13:56:28,537 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 51 GetRequests, 33 SyntacticMatches, 1 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 45 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=64, Invalid=278, Unknown=0, NotChecked=0, Total=342 [2022-04-08 13:56:28,537 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 36 mSDsluCounter, 110 mSDsCounter, 0 mSdLazyCounter, 204 mSolverCounterSat, 17 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 39 SdHoareTripleChecker+Valid, 130 SdHoareTripleChecker+Invalid, 221 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 17 IncrementalHoareTripleChecker+Valid, 204 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.6s IncrementalHoareTripleChecker+Time [2022-04-08 13:56:28,539 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [39 Valid, 130 Invalid, 221 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [17 Valid, 204 Invalid, 0 Unknown, 0 Unchecked, 2.6s Time] [2022-04-08 13:56:28,539 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2022-04-08 13:56:28,570 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 45. [2022-04-08 13:56:28,570 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 13:56:28,571 INFO L82 GeneralOperation]: Start isEquivalent. First operand 48 states. Second operand has 45 states, 30 states have (on average 1.3333333333333333) internal successors, (40), 33 states have internal predecessors, (40), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 5 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-08 13:56:28,571 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand has 45 states, 30 states have (on average 1.3333333333333333) internal successors, (40), 33 states have internal predecessors, (40), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 5 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-08 13:56:28,571 INFO L87 Difference]: Start difference. First operand 48 states. Second operand has 45 states, 30 states have (on average 1.3333333333333333) internal successors, (40), 33 states have internal predecessors, (40), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 5 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-08 13:56:28,573 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:56:28,573 INFO L93 Difference]: Finished difference Result 48 states and 61 transitions. [2022-04-08 13:56:28,573 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 61 transitions. [2022-04-08 13:56:28,574 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:56:28,574 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:56:28,574 INFO L74 IsIncluded]: Start isIncluded. First operand has 45 states, 30 states have (on average 1.3333333333333333) internal successors, (40), 33 states have internal predecessors, (40), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 5 states have call predecessors, (7), 7 states have call successors, (7) Second operand 48 states. [2022-04-08 13:56:28,574 INFO L87 Difference]: Start difference. First operand has 45 states, 30 states have (on average 1.3333333333333333) internal successors, (40), 33 states have internal predecessors, (40), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 5 states have call predecessors, (7), 7 states have call successors, (7) Second operand 48 states. [2022-04-08 13:56:28,576 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:56:28,576 INFO L93 Difference]: Finished difference Result 48 states and 61 transitions. [2022-04-08 13:56:28,576 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 61 transitions. [2022-04-08 13:56:28,576 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:56:28,576 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:56:28,577 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 13:56:28,577 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 13:56:28,577 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 45 states, 30 states have (on average 1.3333333333333333) internal successors, (40), 33 states have internal predecessors, (40), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 5 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-08 13:56:28,578 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 56 transitions. [2022-04-08 13:56:28,578 INFO L78 Accepts]: Start accepts. Automaton has 45 states and 56 transitions. Word has length 24 [2022-04-08 13:56:28,578 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 13:56:28,578 INFO L478 AbstractCegarLoop]: Abstraction has 45 states and 56 transitions. [2022-04-08 13:56:28,579 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 11 states have (on average 1.4545454545454546) internal successors, (16), 9 states have internal predecessors, (16), 3 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 13:56:28,579 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 45 states and 56 transitions. [2022-04-08 13:56:30,633 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 55 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 13:56:30,633 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 56 transitions. [2022-04-08 13:56:30,633 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 28 [2022-04-08 13:56:30,633 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 13:56:30,634 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 13:56:30,650 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-08 13:56:30,834 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 13:56:30,834 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 13:56:30,835 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 13:56:30,835 INFO L85 PathProgramCache]: Analyzing trace with hash 1797927234, now seen corresponding path program 1 times [2022-04-08 13:56:30,835 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 13:56:30,835 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [62357011] [2022-04-08 13:56:36,899 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 13:56:36,899 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 13:56:36,900 INFO L85 PathProgramCache]: Analyzing trace with hash 1797927234, now seen corresponding path program 2 times [2022-04-08 13:56:36,900 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 13:56:36,900 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1400992359] [2022-04-08 13:56:36,900 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 13:56:36,900 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 13:56:36,921 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 13:56:36,921 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1381674734] [2022-04-08 13:56:36,921 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 13:56:36,921 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 13:56:36,922 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 13:56:36,923 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) [2022-04-08 13:56:36,933 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-08 13:56:36,979 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 13:56:36,980 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 13:56:36,980 INFO L263 TraceCheckSpWp]: Trace formula consists of 112 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-08 13:56:36,990 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:56:36,991 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 13:56:37,105 INFO L272 TraceCheckUtils]: 0: Hoare triple {1260#true} call ULTIMATE.init(); {1260#true} is VALID [2022-04-08 13:56:37,105 INFO L290 TraceCheckUtils]: 1: Hoare triple {1260#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1268#(<= ~counter~0 0)} is VALID [2022-04-08 13:56:37,106 INFO L290 TraceCheckUtils]: 2: Hoare triple {1268#(<= ~counter~0 0)} assume true; {1268#(<= ~counter~0 0)} is VALID [2022-04-08 13:56:37,106 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1268#(<= ~counter~0 0)} {1260#true} #77#return; {1268#(<= ~counter~0 0)} is VALID [2022-04-08 13:56:37,106 INFO L272 TraceCheckUtils]: 4: Hoare triple {1268#(<= ~counter~0 0)} call #t~ret7 := main(); {1268#(<= ~counter~0 0)} is VALID [2022-04-08 13:56:37,107 INFO L290 TraceCheckUtils]: 5: Hoare triple {1268#(<= ~counter~0 0)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1268#(<= ~counter~0 0)} is VALID [2022-04-08 13:56:37,107 INFO L272 TraceCheckUtils]: 6: Hoare triple {1268#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1268#(<= ~counter~0 0)} is VALID [2022-04-08 13:56:37,108 INFO L290 TraceCheckUtils]: 7: Hoare triple {1268#(<= ~counter~0 0)} ~cond := #in~cond; {1268#(<= ~counter~0 0)} is VALID [2022-04-08 13:56:37,108 INFO L290 TraceCheckUtils]: 8: Hoare triple {1268#(<= ~counter~0 0)} assume !(0 == ~cond); {1268#(<= ~counter~0 0)} is VALID [2022-04-08 13:56:37,108 INFO L290 TraceCheckUtils]: 9: Hoare triple {1268#(<= ~counter~0 0)} assume true; {1268#(<= ~counter~0 0)} is VALID [2022-04-08 13:56:37,109 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1268#(<= ~counter~0 0)} {1268#(<= ~counter~0 0)} #69#return; {1268#(<= ~counter~0 0)} is VALID [2022-04-08 13:56:37,109 INFO L290 TraceCheckUtils]: 11: Hoare triple {1268#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {1268#(<= ~counter~0 0)} is VALID [2022-04-08 13:56:37,110 INFO L290 TraceCheckUtils]: 12: Hoare triple {1268#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1302#(<= ~counter~0 1)} is VALID [2022-04-08 13:56:37,110 INFO L290 TraceCheckUtils]: 13: Hoare triple {1302#(<= ~counter~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {1302#(<= ~counter~0 1)} is VALID [2022-04-08 13:56:37,110 INFO L272 TraceCheckUtils]: 14: Hoare triple {1302#(<= ~counter~0 1)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {1302#(<= ~counter~0 1)} is VALID [2022-04-08 13:56:37,111 INFO L290 TraceCheckUtils]: 15: Hoare triple {1302#(<= ~counter~0 1)} ~cond := #in~cond; {1302#(<= ~counter~0 1)} is VALID [2022-04-08 13:56:37,111 INFO L290 TraceCheckUtils]: 16: Hoare triple {1302#(<= ~counter~0 1)} assume !(0 == ~cond); {1302#(<= ~counter~0 1)} is VALID [2022-04-08 13:56:37,111 INFO L290 TraceCheckUtils]: 17: Hoare triple {1302#(<= ~counter~0 1)} assume true; {1302#(<= ~counter~0 1)} is VALID [2022-04-08 13:56:37,112 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1302#(<= ~counter~0 1)} {1302#(<= ~counter~0 1)} #71#return; {1302#(<= ~counter~0 1)} is VALID [2022-04-08 13:56:37,112 INFO L290 TraceCheckUtils]: 19: Hoare triple {1302#(<= ~counter~0 1)} assume !!(0 != ~a~0 && 0 != ~b~0); {1302#(<= ~counter~0 1)} is VALID [2022-04-08 13:56:37,113 INFO L290 TraceCheckUtils]: 20: Hoare triple {1302#(<= ~counter~0 1)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {1302#(<= ~counter~0 1)} is VALID [2022-04-08 13:56:37,113 INFO L290 TraceCheckUtils]: 21: Hoare triple {1302#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1330#(<= |main_#t~post6| 1)} is VALID [2022-04-08 13:56:37,113 INFO L290 TraceCheckUtils]: 22: Hoare triple {1330#(<= |main_#t~post6| 1)} assume !(#t~post6 < 100);havoc #t~post6; {1261#false} is VALID [2022-04-08 13:56:37,114 INFO L272 TraceCheckUtils]: 23: Hoare triple {1261#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {1261#false} is VALID [2022-04-08 13:56:37,114 INFO L290 TraceCheckUtils]: 24: Hoare triple {1261#false} ~cond := #in~cond; {1261#false} is VALID [2022-04-08 13:56:37,114 INFO L290 TraceCheckUtils]: 25: Hoare triple {1261#false} assume 0 == ~cond; {1261#false} is VALID [2022-04-08 13:56:37,114 INFO L290 TraceCheckUtils]: 26: Hoare triple {1261#false} assume !false; {1261#false} is VALID [2022-04-08 13:56:37,114 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 13:56:37,114 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 13:56:37,246 INFO L290 TraceCheckUtils]: 26: Hoare triple {1261#false} assume !false; {1261#false} is VALID [2022-04-08 13:56:37,246 INFO L290 TraceCheckUtils]: 25: Hoare triple {1261#false} assume 0 == ~cond; {1261#false} is VALID [2022-04-08 13:56:37,246 INFO L290 TraceCheckUtils]: 24: Hoare triple {1261#false} ~cond := #in~cond; {1261#false} is VALID [2022-04-08 13:56:37,247 INFO L272 TraceCheckUtils]: 23: Hoare triple {1261#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {1261#false} is VALID [2022-04-08 13:56:37,247 INFO L290 TraceCheckUtils]: 22: Hoare triple {1358#(< |main_#t~post6| 100)} assume !(#t~post6 < 100);havoc #t~post6; {1261#false} is VALID [2022-04-08 13:56:37,247 INFO L290 TraceCheckUtils]: 21: Hoare triple {1362#(< ~counter~0 100)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1358#(< |main_#t~post6| 100)} is VALID [2022-04-08 13:56:37,248 INFO L290 TraceCheckUtils]: 20: Hoare triple {1362#(< ~counter~0 100)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {1362#(< ~counter~0 100)} is VALID [2022-04-08 13:56:37,248 INFO L290 TraceCheckUtils]: 19: Hoare triple {1362#(< ~counter~0 100)} assume !!(0 != ~a~0 && 0 != ~b~0); {1362#(< ~counter~0 100)} is VALID [2022-04-08 13:56:37,249 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1260#true} {1362#(< ~counter~0 100)} #71#return; {1362#(< ~counter~0 100)} is VALID [2022-04-08 13:56:37,249 INFO L290 TraceCheckUtils]: 17: Hoare triple {1260#true} assume true; {1260#true} is VALID [2022-04-08 13:56:37,249 INFO L290 TraceCheckUtils]: 16: Hoare triple {1260#true} assume !(0 == ~cond); {1260#true} is VALID [2022-04-08 13:56:37,249 INFO L290 TraceCheckUtils]: 15: Hoare triple {1260#true} ~cond := #in~cond; {1260#true} is VALID [2022-04-08 13:56:37,249 INFO L272 TraceCheckUtils]: 14: Hoare triple {1362#(< ~counter~0 100)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {1260#true} is VALID [2022-04-08 13:56:37,250 INFO L290 TraceCheckUtils]: 13: Hoare triple {1362#(< ~counter~0 100)} assume !!(#t~post6 < 100);havoc #t~post6; {1362#(< ~counter~0 100)} is VALID [2022-04-08 13:56:37,250 INFO L290 TraceCheckUtils]: 12: Hoare triple {1390#(< ~counter~0 99)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1362#(< ~counter~0 100)} is VALID [2022-04-08 13:56:37,250 INFO L290 TraceCheckUtils]: 11: Hoare triple {1390#(< ~counter~0 99)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {1390#(< ~counter~0 99)} is VALID [2022-04-08 13:56:37,251 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1260#true} {1390#(< ~counter~0 99)} #69#return; {1390#(< ~counter~0 99)} is VALID [2022-04-08 13:56:37,251 INFO L290 TraceCheckUtils]: 9: Hoare triple {1260#true} assume true; {1260#true} is VALID [2022-04-08 13:56:37,251 INFO L290 TraceCheckUtils]: 8: Hoare triple {1260#true} assume !(0 == ~cond); {1260#true} is VALID [2022-04-08 13:56:37,251 INFO L290 TraceCheckUtils]: 7: Hoare triple {1260#true} ~cond := #in~cond; {1260#true} is VALID [2022-04-08 13:56:37,251 INFO L272 TraceCheckUtils]: 6: Hoare triple {1390#(< ~counter~0 99)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1260#true} is VALID [2022-04-08 13:56:37,252 INFO L290 TraceCheckUtils]: 5: Hoare triple {1390#(< ~counter~0 99)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1390#(< ~counter~0 99)} is VALID [2022-04-08 13:56:37,252 INFO L272 TraceCheckUtils]: 4: Hoare triple {1390#(< ~counter~0 99)} call #t~ret7 := main(); {1390#(< ~counter~0 99)} is VALID [2022-04-08 13:56:37,252 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1390#(< ~counter~0 99)} {1260#true} #77#return; {1390#(< ~counter~0 99)} is VALID [2022-04-08 13:56:37,253 INFO L290 TraceCheckUtils]: 2: Hoare triple {1390#(< ~counter~0 99)} assume true; {1390#(< ~counter~0 99)} is VALID [2022-04-08 13:56:37,253 INFO L290 TraceCheckUtils]: 1: Hoare triple {1260#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1390#(< ~counter~0 99)} is VALID [2022-04-08 13:56:37,253 INFO L272 TraceCheckUtils]: 0: Hoare triple {1260#true} call ULTIMATE.init(); {1260#true} is VALID [2022-04-08 13:56:37,253 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 13:56:37,254 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 13:56:37,254 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1400992359] [2022-04-08 13:56:37,254 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 13:56:37,254 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1381674734] [2022-04-08 13:56:37,254 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1381674734] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 13:56:37,254 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 13:56:37,254 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 8 [2022-04-08 13:56:37,254 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 13:56:37,254 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [62357011] [2022-04-08 13:56:37,254 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [62357011] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 13:56:37,255 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 13:56:37,255 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 13:56:37,255 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [341145968] [2022-04-08 13:56:37,255 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 13:56:37,255 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 4 states have call successors, (5), 4 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Word has length 27 [2022-04-08 13:56:37,255 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 13:56:37,255 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 4 states have call successors, (5), 4 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 13:56:37,273 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 13:56:37,274 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 13:56:37,274 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 13:56:37,274 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 13:56:37,274 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2022-04-08 13:56:37,274 INFO L87 Difference]: Start difference. First operand 45 states and 56 transitions. Second operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 4 states have call successors, (5), 4 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 13:56:37,427 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:56:37,428 INFO L93 Difference]: Finished difference Result 73 states and 89 transitions. [2022-04-08 13:56:37,428 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-08 13:56:37,428 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 4 states have call successors, (5), 4 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Word has length 27 [2022-04-08 13:56:37,428 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 13:56:37,428 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 4 states have call successors, (5), 4 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 13:56:37,430 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 64 transitions. [2022-04-08 13:56:37,430 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 4 states have call successors, (5), 4 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 13:56:37,431 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 64 transitions. [2022-04-08 13:56:37,431 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 64 transitions. [2022-04-08 13:56:37,479 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 13:56:37,480 INFO L225 Difference]: With dead ends: 73 [2022-04-08 13:56:37,480 INFO L226 Difference]: Without dead ends: 63 [2022-04-08 13:56:37,481 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 54 GetRequests, 47 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=27, Invalid=45, Unknown=0, NotChecked=0, Total=72 [2022-04-08 13:56:37,481 INFO L913 BasicCegarLoop]: 35 mSDtfsCounter, 17 mSDsluCounter, 73 mSDsCounter, 0 mSdLazyCounter, 14 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 108 SdHoareTripleChecker+Invalid, 19 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 14 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 13:56:37,481 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [17 Valid, 108 Invalid, 19 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 14 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 13:56:37,482 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 63 states. [2022-04-08 13:56:37,535 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 63 to 61. [2022-04-08 13:56:37,535 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 13:56:37,535 INFO L82 GeneralOperation]: Start isEquivalent. First operand 63 states. Second operand has 61 states, 43 states have (on average 1.3255813953488371) internal successors, (57), 45 states have internal predecessors, (57), 11 states have call successors, (11), 8 states have call predecessors, (11), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 13:56:37,535 INFO L74 IsIncluded]: Start isIncluded. First operand 63 states. Second operand has 61 states, 43 states have (on average 1.3255813953488371) internal successors, (57), 45 states have internal predecessors, (57), 11 states have call successors, (11), 8 states have call predecessors, (11), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 13:56:37,535 INFO L87 Difference]: Start difference. First operand 63 states. Second operand has 61 states, 43 states have (on average 1.3255813953488371) internal successors, (57), 45 states have internal predecessors, (57), 11 states have call successors, (11), 8 states have call predecessors, (11), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 13:56:37,541 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:56:37,541 INFO L93 Difference]: Finished difference Result 63 states and 77 transitions. [2022-04-08 13:56:37,541 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 77 transitions. [2022-04-08 13:56:37,542 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:56:37,543 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:56:37,543 INFO L74 IsIncluded]: Start isIncluded. First operand has 61 states, 43 states have (on average 1.3255813953488371) internal successors, (57), 45 states have internal predecessors, (57), 11 states have call successors, (11), 8 states have call predecessors, (11), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 63 states. [2022-04-08 13:56:37,543 INFO L87 Difference]: Start difference. First operand has 61 states, 43 states have (on average 1.3255813953488371) internal successors, (57), 45 states have internal predecessors, (57), 11 states have call successors, (11), 8 states have call predecessors, (11), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 63 states. [2022-04-08 13:56:37,549 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:56:37,549 INFO L93 Difference]: Finished difference Result 63 states and 77 transitions. [2022-04-08 13:56:37,549 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 77 transitions. [2022-04-08 13:56:37,549 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:56:37,549 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:56:37,549 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 13:56:37,550 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 13:56:37,550 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 61 states, 43 states have (on average 1.3255813953488371) internal successors, (57), 45 states have internal predecessors, (57), 11 states have call successors, (11), 8 states have call predecessors, (11), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 13:56:37,552 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 61 states to 61 states and 76 transitions. [2022-04-08 13:56:37,552 INFO L78 Accepts]: Start accepts. Automaton has 61 states and 76 transitions. Word has length 27 [2022-04-08 13:56:37,553 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 13:56:37,553 INFO L478 AbstractCegarLoop]: Abstraction has 61 states and 76 transitions. [2022-04-08 13:56:37,553 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 4 states have call successors, (5), 4 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 13:56:37,553 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 61 states and 76 transitions. [2022-04-08 13:56:39,643 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 75 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 13:56:39,643 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 76 transitions. [2022-04-08 13:56:39,644 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 28 [2022-04-08 13:56:39,644 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 13:56:39,644 INFO L499 BasicCegarLoop]: 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] [2022-04-08 13:56:39,660 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Ended with exit code 0 [2022-04-08 13:56:39,844 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 13:56:39,844 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 13:56:39,845 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 13:56:39,845 INFO L85 PathProgramCache]: Analyzing trace with hash 1799714694, now seen corresponding path program 1 times [2022-04-08 13:56:39,845 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 13:56:39,845 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [686791640] [2022-04-08 13:56:45,902 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 13:56:45,902 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 13:56:45,902 INFO L85 PathProgramCache]: Analyzing trace with hash 1799714694, now seen corresponding path program 2 times [2022-04-08 13:56:45,902 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 13:56:45,902 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [718777337] [2022-04-08 13:56:45,902 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 13:56:45,902 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 13:56:45,914 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 13:56:45,914 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1875306863] [2022-04-08 13:56:45,914 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 13:56:45,914 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 13:56:45,915 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 13:56:45,931 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) [2022-04-08 13:56:45,932 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-08 13:56:45,968 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 13:56:45,968 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 13:56:45,968 INFO L263 TraceCheckSpWp]: Trace formula consists of 112 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-08 13:56:45,978 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:56:45,979 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 13:56:46,297 INFO L272 TraceCheckUtils]: 0: Hoare triple {1825#true} call ULTIMATE.init(); {1825#true} is VALID [2022-04-08 13:56:46,298 INFO L290 TraceCheckUtils]: 1: Hoare triple {1825#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1825#true} is VALID [2022-04-08 13:56:46,298 INFO L290 TraceCheckUtils]: 2: Hoare triple {1825#true} assume true; {1825#true} is VALID [2022-04-08 13:56:46,298 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1825#true} {1825#true} #77#return; {1825#true} is VALID [2022-04-08 13:56:46,298 INFO L272 TraceCheckUtils]: 4: Hoare triple {1825#true} call #t~ret7 := main(); {1825#true} is VALID [2022-04-08 13:56:46,298 INFO L290 TraceCheckUtils]: 5: Hoare triple {1825#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1825#true} is VALID [2022-04-08 13:56:46,298 INFO L272 TraceCheckUtils]: 6: Hoare triple {1825#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1825#true} is VALID [2022-04-08 13:56:46,298 INFO L290 TraceCheckUtils]: 7: Hoare triple {1825#true} ~cond := #in~cond; {1825#true} is VALID [2022-04-08 13:56:46,298 INFO L290 TraceCheckUtils]: 8: Hoare triple {1825#true} assume !(0 == ~cond); {1825#true} is VALID [2022-04-08 13:56:46,299 INFO L290 TraceCheckUtils]: 9: Hoare triple {1825#true} assume true; {1825#true} is VALID [2022-04-08 13:56:46,299 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1825#true} {1825#true} #69#return; {1825#true} is VALID [2022-04-08 13:56:46,299 INFO L290 TraceCheckUtils]: 11: Hoare triple {1825#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {1863#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 13:56:46,299 INFO L290 TraceCheckUtils]: 12: Hoare triple {1863#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1863#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 13:56:46,300 INFO L290 TraceCheckUtils]: 13: Hoare triple {1863#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 100);havoc #t~post6; {1863#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 13:56:46,300 INFO L272 TraceCheckUtils]: 14: Hoare triple {1863#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {1825#true} is VALID [2022-04-08 13:56:46,300 INFO L290 TraceCheckUtils]: 15: Hoare triple {1825#true} ~cond := #in~cond; {1876#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 13:56:46,301 INFO L290 TraceCheckUtils]: 16: Hoare triple {1876#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1880#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 13:56:46,301 INFO L290 TraceCheckUtils]: 17: Hoare triple {1880#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1880#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 13:56:46,302 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1880#(not (= |__VERIFIER_assert_#in~cond| 0))} {1863#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #71#return; {1887#(and (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 13:56:46,303 INFO L290 TraceCheckUtils]: 19: Hoare triple {1887#(and (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~a~0 && 0 != ~b~0); {1887#(and (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 13:56:46,304 INFO L290 TraceCheckUtils]: 20: Hoare triple {1887#(and (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {1894#(and (= (+ main_~q~0 (* main_~y~0 main_~x~0 1)) (* main_~y~0 main_~x~0)) (= (div main_~y~0 2) main_~b~0) (= (mod main_~y~0 2) 0) (= main_~p~0 4) (= (div main_~x~0 2) main_~a~0) (= (mod main_~x~0 2) 0))} is VALID [2022-04-08 13:56:46,304 INFO L290 TraceCheckUtils]: 21: Hoare triple {1894#(and (= (+ main_~q~0 (* main_~y~0 main_~x~0 1)) (* main_~y~0 main_~x~0)) (= (div main_~y~0 2) main_~b~0) (= (mod main_~y~0 2) 0) (= main_~p~0 4) (= (div main_~x~0 2) main_~a~0) (= (mod main_~x~0 2) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1894#(and (= (+ main_~q~0 (* main_~y~0 main_~x~0 1)) (* main_~y~0 main_~x~0)) (= (div main_~y~0 2) main_~b~0) (= (mod main_~y~0 2) 0) (= main_~p~0 4) (= (div main_~x~0 2) main_~a~0) (= (mod main_~x~0 2) 0))} is VALID [2022-04-08 13:56:46,305 INFO L290 TraceCheckUtils]: 22: Hoare triple {1894#(and (= (+ main_~q~0 (* main_~y~0 main_~x~0 1)) (* main_~y~0 main_~x~0)) (= (div main_~y~0 2) main_~b~0) (= (mod main_~y~0 2) 0) (= main_~p~0 4) (= (div main_~x~0 2) main_~a~0) (= (mod main_~x~0 2) 0))} assume !!(#t~post6 < 100);havoc #t~post6; {1894#(and (= (+ main_~q~0 (* main_~y~0 main_~x~0 1)) (* main_~y~0 main_~x~0)) (= (div main_~y~0 2) main_~b~0) (= (mod main_~y~0 2) 0) (= main_~p~0 4) (= (div main_~x~0 2) main_~a~0) (= (mod main_~x~0 2) 0))} is VALID [2022-04-08 13:56:46,308 INFO L272 TraceCheckUtils]: 23: Hoare triple {1894#(and (= (+ main_~q~0 (* main_~y~0 main_~x~0 1)) (* main_~y~0 main_~x~0)) (= (div main_~y~0 2) main_~b~0) (= (mod main_~y~0 2) 0) (= main_~p~0 4) (= (div main_~x~0 2) main_~a~0) (= (mod main_~x~0 2) 0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {1904#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 13:56:46,308 INFO L290 TraceCheckUtils]: 24: Hoare triple {1904#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1908#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 13:56:46,309 INFO L290 TraceCheckUtils]: 25: Hoare triple {1908#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1826#false} is VALID [2022-04-08 13:56:46,309 INFO L290 TraceCheckUtils]: 26: Hoare triple {1826#false} assume !false; {1826#false} is VALID [2022-04-08 13:56:46,309 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 1 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 13:56:46,309 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 13:57:41,009 INFO L290 TraceCheckUtils]: 26: Hoare triple {1826#false} assume !false; {1826#false} is VALID [2022-04-08 13:57:41,010 INFO L290 TraceCheckUtils]: 25: Hoare triple {1908#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1826#false} is VALID [2022-04-08 13:57:41,010 INFO L290 TraceCheckUtils]: 24: Hoare triple {1904#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1908#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 13:57:41,011 INFO L272 TraceCheckUtils]: 23: Hoare triple {1924#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {1904#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 13:57:41,011 INFO L290 TraceCheckUtils]: 22: Hoare triple {1924#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} assume !!(#t~post6 < 100);havoc #t~post6; {1924#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-08 13:57:41,012 INFO L290 TraceCheckUtils]: 21: Hoare triple {1924#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1924#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-08 13:57:41,022 INFO L290 TraceCheckUtils]: 20: Hoare triple {1934#(or (not (= (mod main_~b~0 2) 0)) (= (+ (* (div main_~b~0 2) (* main_~p~0 4) (div main_~a~0 2)) main_~q~0) (* main_~y~0 main_~x~0)) (not (= (mod main_~a~0 2) 0)))} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {1924#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-08 13:57:41,023 INFO L290 TraceCheckUtils]: 19: Hoare triple {1934#(or (not (= (mod main_~b~0 2) 0)) (= (+ (* (div main_~b~0 2) (* main_~p~0 4) (div main_~a~0 2)) main_~q~0) (* main_~y~0 main_~x~0)) (not (= (mod main_~a~0 2) 0)))} assume !!(0 != ~a~0 && 0 != ~b~0); {1934#(or (not (= (mod main_~b~0 2) 0)) (= (+ (* (div main_~b~0 2) (* main_~p~0 4) (div main_~a~0 2)) main_~q~0) (* main_~y~0 main_~x~0)) (not (= (mod main_~a~0 2) 0)))} is VALID [2022-04-08 13:57:41,029 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1880#(not (= |__VERIFIER_assert_#in~cond| 0))} {1825#true} #71#return; {1934#(or (not (= (mod main_~b~0 2) 0)) (= (+ (* (div main_~b~0 2) (* main_~p~0 4) (div main_~a~0 2)) main_~q~0) (* main_~y~0 main_~x~0)) (not (= (mod main_~a~0 2) 0)))} is VALID [2022-04-08 13:57:41,029 INFO L290 TraceCheckUtils]: 17: Hoare triple {1880#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1880#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 13:57:41,030 INFO L290 TraceCheckUtils]: 16: Hoare triple {1950#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {1880#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 13:57:41,034 INFO L290 TraceCheckUtils]: 15: Hoare triple {1825#true} ~cond := #in~cond; {1950#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 13:57:41,034 INFO L272 TraceCheckUtils]: 14: Hoare triple {1825#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {1825#true} is VALID [2022-04-08 13:57:41,034 INFO L290 TraceCheckUtils]: 13: Hoare triple {1825#true} assume !!(#t~post6 < 100);havoc #t~post6; {1825#true} is VALID [2022-04-08 13:57:41,034 INFO L290 TraceCheckUtils]: 12: Hoare triple {1825#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1825#true} is VALID [2022-04-08 13:57:41,034 INFO L290 TraceCheckUtils]: 11: Hoare triple {1825#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {1825#true} is VALID [2022-04-08 13:57:41,034 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1825#true} {1825#true} #69#return; {1825#true} is VALID [2022-04-08 13:57:41,034 INFO L290 TraceCheckUtils]: 9: Hoare triple {1825#true} assume true; {1825#true} is VALID [2022-04-08 13:57:41,034 INFO L290 TraceCheckUtils]: 8: Hoare triple {1825#true} assume !(0 == ~cond); {1825#true} is VALID [2022-04-08 13:57:41,034 INFO L290 TraceCheckUtils]: 7: Hoare triple {1825#true} ~cond := #in~cond; {1825#true} is VALID [2022-04-08 13:57:41,034 INFO L272 TraceCheckUtils]: 6: Hoare triple {1825#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1825#true} is VALID [2022-04-08 13:57:41,035 INFO L290 TraceCheckUtils]: 5: Hoare triple {1825#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1825#true} is VALID [2022-04-08 13:57:41,035 INFO L272 TraceCheckUtils]: 4: Hoare triple {1825#true} call #t~ret7 := main(); {1825#true} is VALID [2022-04-08 13:57:41,035 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1825#true} {1825#true} #77#return; {1825#true} is VALID [2022-04-08 13:57:41,035 INFO L290 TraceCheckUtils]: 2: Hoare triple {1825#true} assume true; {1825#true} is VALID [2022-04-08 13:57:41,035 INFO L290 TraceCheckUtils]: 1: Hoare triple {1825#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1825#true} is VALID [2022-04-08 13:57:41,035 INFO L272 TraceCheckUtils]: 0: Hoare triple {1825#true} call ULTIMATE.init(); {1825#true} is VALID [2022-04-08 13:57:41,035 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 4 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 13:57:41,035 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 13:57:41,035 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [718777337] [2022-04-08 13:57:41,035 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 13:57:41,036 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1875306863] [2022-04-08 13:57:41,036 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1875306863] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 13:57:41,036 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 13:57:41,036 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 12 [2022-04-08 13:57:41,036 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 13:57:41,036 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [686791640] [2022-04-08 13:57:41,036 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [686791640] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 13:57:41,036 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 13:57:41,036 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 13:57:41,036 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1061535858] [2022-04-08 13:57:41,036 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 13:57:41,037 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.111111111111111) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 27 [2022-04-08 13:57:41,037 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 13:57:41,037 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.111111111111111) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 13:57:41,067 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 13:57:41,067 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-08 13:57:41,067 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 13:57:41,067 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-08 13:57:41,068 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=31, Invalid=101, Unknown=0, NotChecked=0, Total=132 [2022-04-08 13:57:41,068 INFO L87 Difference]: Start difference. First operand 61 states and 76 transitions. Second operand has 9 states, 9 states have (on average 2.111111111111111) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 13:57:42,036 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:57:42,036 INFO L93 Difference]: Finished difference Result 76 states and 96 transitions. [2022-04-08 13:57:42,037 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 13:57:42,037 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.111111111111111) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 27 [2022-04-08 13:57:42,037 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 13:57:42,037 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.111111111111111) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 13:57:42,038 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 68 transitions. [2022-04-08 13:57:42,038 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.111111111111111) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 13:57:42,039 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 68 transitions. [2022-04-08 13:57:42,039 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 68 transitions. [2022-04-08 13:57:42,097 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 13:57:42,099 INFO L225 Difference]: With dead ends: 76 [2022-04-08 13:57:42,099 INFO L226 Difference]: Without dead ends: 74 [2022-04-08 13:57:42,099 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 55 GetRequests, 42 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 18 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=44, Invalid=138, Unknown=0, NotChecked=0, Total=182 [2022-04-08 13:57:42,100 INFO L913 BasicCegarLoop]: 25 mSDtfsCounter, 24 mSDsluCounter, 101 mSDsCounter, 0 mSdLazyCounter, 197 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 27 SdHoareTripleChecker+Valid, 126 SdHoareTripleChecker+Invalid, 202 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 197 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-08 13:57:42,100 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [27 Valid, 126 Invalid, 202 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 197 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-08 13:57:42,100 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2022-04-08 13:57:42,179 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 68. [2022-04-08 13:57:42,180 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 13:57:42,180 INFO L82 GeneralOperation]: Start isEquivalent. First operand 74 states. Second operand has 68 states, 48 states have (on average 1.2916666666666667) internal successors, (62), 51 states have internal predecessors, (62), 12 states have call successors, (12), 9 states have call predecessors, (12), 7 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 13:57:42,180 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand has 68 states, 48 states have (on average 1.2916666666666667) internal successors, (62), 51 states have internal predecessors, (62), 12 states have call successors, (12), 9 states have call predecessors, (12), 7 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 13:57:42,180 INFO L87 Difference]: Start difference. First operand 74 states. Second operand has 68 states, 48 states have (on average 1.2916666666666667) internal successors, (62), 51 states have internal predecessors, (62), 12 states have call successors, (12), 9 states have call predecessors, (12), 7 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 13:57:42,185 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:57:42,185 INFO L93 Difference]: Finished difference Result 74 states and 94 transitions. [2022-04-08 13:57:42,185 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 94 transitions. [2022-04-08 13:57:42,185 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:57:42,185 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:57:42,186 INFO L74 IsIncluded]: Start isIncluded. First operand has 68 states, 48 states have (on average 1.2916666666666667) internal successors, (62), 51 states have internal predecessors, (62), 12 states have call successors, (12), 9 states have call predecessors, (12), 7 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) Second operand 74 states. [2022-04-08 13:57:42,186 INFO L87 Difference]: Start difference. First operand has 68 states, 48 states have (on average 1.2916666666666667) internal successors, (62), 51 states have internal predecessors, (62), 12 states have call successors, (12), 9 states have call predecessors, (12), 7 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) Second operand 74 states. [2022-04-08 13:57:42,189 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:57:42,189 INFO L93 Difference]: Finished difference Result 74 states and 94 transitions. [2022-04-08 13:57:42,189 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 94 transitions. [2022-04-08 13:57:42,190 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:57:42,190 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:57:42,190 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 13:57:42,190 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 13:57:42,190 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 68 states, 48 states have (on average 1.2916666666666667) internal successors, (62), 51 states have internal predecessors, (62), 12 states have call successors, (12), 9 states have call predecessors, (12), 7 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 13:57:42,192 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 68 states to 68 states and 83 transitions. [2022-04-08 13:57:42,192 INFO L78 Accepts]: Start accepts. Automaton has 68 states and 83 transitions. Word has length 27 [2022-04-08 13:57:42,192 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 13:57:42,193 INFO L478 AbstractCegarLoop]: Abstraction has 68 states and 83 transitions. [2022-04-08 13:57:42,193 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.111111111111111) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 13:57:42,193 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 68 states and 83 transitions. [2022-04-08 13:57:44,314 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 82 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 13:57:44,314 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 83 transitions. [2022-04-08 13:57:44,314 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-04-08 13:57:44,315 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 13:57:44,315 INFO L499 BasicCegarLoop]: trace histogram [3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 13:57:44,333 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-08 13:57:44,515 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 13:57:44,515 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 13:57:44,515 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 13:57:44,516 INFO L85 PathProgramCache]: Analyzing trace with hash -1613968938, now seen corresponding path program 1 times [2022-04-08 13:57:44,516 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 13:57:44,516 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1820896198] [2022-04-08 13:57:44,516 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 13:57:44,516 INFO L85 PathProgramCache]: Analyzing trace with hash -1613968938, now seen corresponding path program 2 times [2022-04-08 13:57:44,516 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 13:57:44,516 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1351831738] [2022-04-08 13:57:44,516 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 13:57:44,516 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 13:57:44,535 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 13:57:44,535 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [181351234] [2022-04-08 13:57:44,536 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 13:57:44,536 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 13:57:44,536 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 13:57:44,547 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 13:57:44,559 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-08 13:57:44,640 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 13:57:44,640 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 13:57:44,641 INFO L263 TraceCheckSpWp]: Trace formula consists of 105 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-08 13:57:44,649 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:57:44,650 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 13:57:44,810 INFO L272 TraceCheckUtils]: 0: Hoare triple {2438#true} call ULTIMATE.init(); {2438#true} is VALID [2022-04-08 13:57:44,810 INFO L290 TraceCheckUtils]: 1: Hoare triple {2438#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {2438#true} is VALID [2022-04-08 13:57:44,810 INFO L290 TraceCheckUtils]: 2: Hoare triple {2438#true} assume true; {2438#true} is VALID [2022-04-08 13:57:44,811 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2438#true} {2438#true} #77#return; {2438#true} is VALID [2022-04-08 13:57:44,811 INFO L272 TraceCheckUtils]: 4: Hoare triple {2438#true} call #t~ret7 := main(); {2438#true} is VALID [2022-04-08 13:57:44,811 INFO L290 TraceCheckUtils]: 5: Hoare triple {2438#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2438#true} is VALID [2022-04-08 13:57:44,811 INFO L272 TraceCheckUtils]: 6: Hoare triple {2438#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2438#true} is VALID [2022-04-08 13:57:44,820 INFO L290 TraceCheckUtils]: 7: Hoare triple {2438#true} ~cond := #in~cond; {2464#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 13:57:44,821 INFO L290 TraceCheckUtils]: 8: Hoare triple {2464#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2468#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 13:57:44,821 INFO L290 TraceCheckUtils]: 9: Hoare triple {2468#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2468#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 13:57:44,821 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2468#(not (= |assume_abort_if_not_#in~cond| 0))} {2438#true} #69#return; {2475#(<= 1 main_~y~0)} is VALID [2022-04-08 13:57:44,822 INFO L290 TraceCheckUtils]: 11: Hoare triple {2475#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {2479#(<= 1 main_~b~0)} is VALID [2022-04-08 13:57:44,822 INFO L290 TraceCheckUtils]: 12: Hoare triple {2479#(<= 1 main_~b~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2479#(<= 1 main_~b~0)} is VALID [2022-04-08 13:57:44,823 INFO L290 TraceCheckUtils]: 13: Hoare triple {2479#(<= 1 main_~b~0)} assume !!(#t~post6 < 100);havoc #t~post6; {2479#(<= 1 main_~b~0)} is VALID [2022-04-08 13:57:44,823 INFO L272 TraceCheckUtils]: 14: Hoare triple {2479#(<= 1 main_~b~0)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {2438#true} is VALID [2022-04-08 13:57:44,823 INFO L290 TraceCheckUtils]: 15: Hoare triple {2438#true} ~cond := #in~cond; {2438#true} is VALID [2022-04-08 13:57:44,823 INFO L290 TraceCheckUtils]: 16: Hoare triple {2438#true} assume !(0 == ~cond); {2438#true} is VALID [2022-04-08 13:57:44,823 INFO L290 TraceCheckUtils]: 17: Hoare triple {2438#true} assume true; {2438#true} is VALID [2022-04-08 13:57:44,823 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2438#true} {2479#(<= 1 main_~b~0)} #71#return; {2479#(<= 1 main_~b~0)} is VALID [2022-04-08 13:57:44,824 INFO L290 TraceCheckUtils]: 19: Hoare triple {2479#(<= 1 main_~b~0)} assume !(0 != ~a~0 && 0 != ~b~0); {2504#(and (= main_~a~0 0) (<= 1 main_~b~0))} is VALID [2022-04-08 13:57:44,824 INFO L272 TraceCheckUtils]: 20: Hoare triple {2504#(and (= main_~a~0 0) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {2438#true} is VALID [2022-04-08 13:57:44,824 INFO L290 TraceCheckUtils]: 21: Hoare triple {2438#true} ~cond := #in~cond; {2438#true} is VALID [2022-04-08 13:57:44,824 INFO L290 TraceCheckUtils]: 22: Hoare triple {2438#true} assume !(0 == ~cond); {2438#true} is VALID [2022-04-08 13:57:44,824 INFO L290 TraceCheckUtils]: 23: Hoare triple {2438#true} assume true; {2438#true} is VALID [2022-04-08 13:57:44,825 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {2438#true} {2504#(and (= main_~a~0 0) (<= 1 main_~b~0))} #73#return; {2504#(and (= main_~a~0 0) (<= 1 main_~b~0))} is VALID [2022-04-08 13:57:44,825 INFO L272 TraceCheckUtils]: 25: Hoare triple {2504#(and (= main_~a~0 0) (<= 1 main_~b~0))} call __VERIFIER_assert((if 0 == ~a~0 * ~b~0 then 1 else 0)); {2523#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 13:57:44,825 INFO L290 TraceCheckUtils]: 26: Hoare triple {2523#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2527#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 13:57:44,826 INFO L290 TraceCheckUtils]: 27: Hoare triple {2527#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2439#false} is VALID [2022-04-08 13:57:44,826 INFO L290 TraceCheckUtils]: 28: Hoare triple {2439#false} assume !false; {2439#false} is VALID [2022-04-08 13:57:44,826 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-08 13:57:44,826 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 13:57:44,826 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 13:57:44,826 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1351831738] [2022-04-08 13:57:44,826 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 13:57:44,826 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [181351234] [2022-04-08 13:57:44,826 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [181351234] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 13:57:44,827 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 13:57:44,827 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 13:57:44,827 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 13:57:44,827 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1820896198] [2022-04-08 13:57:44,827 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1820896198] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 13:57:44,827 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 13:57:44,827 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 13:57:44,827 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2054161139] [2022-04-08 13:57:44,827 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 13:57:44,828 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.0) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) Word has length 29 [2022-04-08 13:57:44,828 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 13:57:44,828 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 2.0) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-08 13:57:44,864 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 26 edges. 26 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 13:57:44,864 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-08 13:57:44,864 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 13:57:44,865 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-08 13:57:44,865 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=56, Unknown=0, NotChecked=0, Total=72 [2022-04-08 13:57:44,865 INFO L87 Difference]: Start difference. First operand 68 states and 83 transitions. Second operand has 9 states, 8 states have (on average 2.0) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-08 13:57:45,293 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:57:45,293 INFO L93 Difference]: Finished difference Result 85 states and 107 transitions. [2022-04-08 13:57:45,293 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 13:57:45,293 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.0) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) Word has length 29 [2022-04-08 13:57:45,293 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 13:57:45,293 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.0) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-08 13:57:45,294 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 57 transitions. [2022-04-08 13:57:45,294 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.0) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-08 13:57:45,297 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 57 transitions. [2022-04-08 13:57:45,297 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 57 transitions. [2022-04-08 13:57:45,337 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 13:57:45,338 INFO L225 Difference]: With dead ends: 85 [2022-04-08 13:57:45,338 INFO L226 Difference]: Without dead ends: 65 [2022-04-08 13:57:45,339 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 32 GetRequests, 21 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=34, Invalid=122, Unknown=0, NotChecked=0, Total=156 [2022-04-08 13:57:45,339 INFO L913 BasicCegarLoop]: 26 mSDtfsCounter, 33 mSDsluCounter, 131 mSDsCounter, 0 mSdLazyCounter, 122 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 157 SdHoareTripleChecker+Invalid, 131 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 122 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 13:57:45,339 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [35 Valid, 157 Invalid, 131 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 122 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 13:57:45,340 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 65 states. [2022-04-08 13:57:45,416 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 65 to 62. [2022-04-08 13:57:45,417 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 13:57:45,417 INFO L82 GeneralOperation]: Start isEquivalent. First operand 65 states. Second operand has 62 states, 45 states have (on average 1.3555555555555556) internal successors, (61), 48 states have internal predecessors, (61), 11 states have call successors, (11), 6 states have call predecessors, (11), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 13:57:45,417 INFO L74 IsIncluded]: Start isIncluded. First operand 65 states. Second operand has 62 states, 45 states have (on average 1.3555555555555556) internal successors, (61), 48 states have internal predecessors, (61), 11 states have call successors, (11), 6 states have call predecessors, (11), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 13:57:45,418 INFO L87 Difference]: Start difference. First operand 65 states. Second operand has 62 states, 45 states have (on average 1.3555555555555556) internal successors, (61), 48 states have internal predecessors, (61), 11 states have call successors, (11), 6 states have call predecessors, (11), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 13:57:45,419 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:57:45,419 INFO L93 Difference]: Finished difference Result 65 states and 85 transitions. [2022-04-08 13:57:45,419 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 85 transitions. [2022-04-08 13:57:45,420 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:57:45,420 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:57:45,420 INFO L74 IsIncluded]: Start isIncluded. First operand has 62 states, 45 states have (on average 1.3555555555555556) internal successors, (61), 48 states have internal predecessors, (61), 11 states have call successors, (11), 6 states have call predecessors, (11), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 65 states. [2022-04-08 13:57:45,420 INFO L87 Difference]: Start difference. First operand has 62 states, 45 states have (on average 1.3555555555555556) internal successors, (61), 48 states have internal predecessors, (61), 11 states have call successors, (11), 6 states have call predecessors, (11), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 65 states. [2022-04-08 13:57:45,421 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:57:45,421 INFO L93 Difference]: Finished difference Result 65 states and 85 transitions. [2022-04-08 13:57:45,421 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 85 transitions. [2022-04-08 13:57:45,422 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:57:45,422 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:57:45,422 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 13:57:45,422 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 13:57:45,422 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 62 states, 45 states have (on average 1.3555555555555556) internal successors, (61), 48 states have internal predecessors, (61), 11 states have call successors, (11), 6 states have call predecessors, (11), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 13:57:45,423 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 62 states to 62 states and 80 transitions. [2022-04-08 13:57:45,423 INFO L78 Accepts]: Start accepts. Automaton has 62 states and 80 transitions. Word has length 29 [2022-04-08 13:57:45,424 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 13:57:45,424 INFO L478 AbstractCegarLoop]: Abstraction has 62 states and 80 transitions. [2022-04-08 13:57:45,424 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 2.0) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-08 13:57:45,424 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 62 states and 80 transitions. [2022-04-08 13:57:47,616 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 79 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 13:57:47,616 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 80 transitions. [2022-04-08 13:57:47,616 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-08 13:57:47,616 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 13:57:47,617 INFO L499 BasicCegarLoop]: 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] [2022-04-08 13:57:47,637 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-08 13:57:47,817 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 13:57:47,817 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 13:57:47,817 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 13:57:47,817 INFO L85 PathProgramCache]: Analyzing trace with hash -1357155568, now seen corresponding path program 1 times [2022-04-08 13:57:47,817 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 13:57:47,817 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [545371979] [2022-04-08 13:57:53,920 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 13:57:53,920 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 13:57:53,920 INFO L85 PathProgramCache]: Analyzing trace with hash -1357155568, now seen corresponding path program 2 times [2022-04-08 13:57:53,920 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 13:57:53,920 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [488004723] [2022-04-08 13:57:53,920 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 13:57:53,920 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 13:57:53,933 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 13:57:53,933 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1497471599] [2022-04-08 13:57:53,933 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 13:57:53,933 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 13:57:53,933 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 13:57:53,939 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 13:57:53,947 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-08 13:57:54,017 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 13:57:54,017 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 13:57:54,017 INFO L263 TraceCheckSpWp]: Trace formula consists of 111 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-08 13:57:54,027 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:57:54,027 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 13:57:54,299 INFO L272 TraceCheckUtils]: 0: Hoare triple {2965#true} call ULTIMATE.init(); {2965#true} is VALID [2022-04-08 13:57:54,301 INFO L290 TraceCheckUtils]: 1: Hoare triple {2965#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {2965#true} is VALID [2022-04-08 13:57:54,302 INFO L290 TraceCheckUtils]: 2: Hoare triple {2965#true} assume true; {2965#true} is VALID [2022-04-08 13:57:54,302 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2965#true} {2965#true} #77#return; {2965#true} is VALID [2022-04-08 13:57:54,306 INFO L272 TraceCheckUtils]: 4: Hoare triple {2965#true} call #t~ret7 := main(); {2965#true} is VALID [2022-04-08 13:57:54,306 INFO L290 TraceCheckUtils]: 5: Hoare triple {2965#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2965#true} is VALID [2022-04-08 13:57:54,307 INFO L272 TraceCheckUtils]: 6: Hoare triple {2965#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2965#true} is VALID [2022-04-08 13:57:54,307 INFO L290 TraceCheckUtils]: 7: Hoare triple {2965#true} ~cond := #in~cond; {2965#true} is VALID [2022-04-08 13:57:54,307 INFO L290 TraceCheckUtils]: 8: Hoare triple {2965#true} assume !(0 == ~cond); {2965#true} is VALID [2022-04-08 13:57:54,307 INFO L290 TraceCheckUtils]: 9: Hoare triple {2965#true} assume true; {2965#true} is VALID [2022-04-08 13:57:54,307 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2965#true} {2965#true} #69#return; {2965#true} is VALID [2022-04-08 13:57:54,311 INFO L290 TraceCheckUtils]: 11: Hoare triple {2965#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {3003#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 13:57:54,312 INFO L290 TraceCheckUtils]: 12: Hoare triple {3003#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3003#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 13:57:54,312 INFO L290 TraceCheckUtils]: 13: Hoare triple {3003#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 100);havoc #t~post6; {3003#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 13:57:54,312 INFO L272 TraceCheckUtils]: 14: Hoare triple {3003#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {2965#true} is VALID [2022-04-08 13:57:54,313 INFO L290 TraceCheckUtils]: 15: Hoare triple {2965#true} ~cond := #in~cond; {3016#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 13:57:54,313 INFO L290 TraceCheckUtils]: 16: Hoare triple {3016#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3020#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 13:57:54,313 INFO L290 TraceCheckUtils]: 17: Hoare triple {3020#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3020#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 13:57:54,314 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3020#(not (= |__VERIFIER_assert_#in~cond| 0))} {3003#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #71#return; {3003#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 13:57:54,315 INFO L290 TraceCheckUtils]: 19: Hoare triple {3003#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~a~0 && 0 != ~b~0); {3003#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 13:57:54,319 INFO L290 TraceCheckUtils]: 20: Hoare triple {3003#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2)); {3003#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 13:57:54,320 INFO L290 TraceCheckUtils]: 21: Hoare triple {3003#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume 1 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := ~a~0 - 1;~q~0 := ~q~0 + ~b~0 * ~p~0; {3036#(and (= main_~b~0 main_~y~0) (= (+ main_~a~0 1) main_~x~0) (= 0 (+ main_~q~0 (* (- 1) main_~b~0 main_~p~0))) (= main_~p~0 1))} is VALID [2022-04-08 13:57:54,320 INFO L290 TraceCheckUtils]: 22: Hoare triple {3036#(and (= main_~b~0 main_~y~0) (= (+ main_~a~0 1) main_~x~0) (= 0 (+ main_~q~0 (* (- 1) main_~b~0 main_~p~0))) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3036#(and (= main_~b~0 main_~y~0) (= (+ main_~a~0 1) main_~x~0) (= 0 (+ main_~q~0 (* (- 1) main_~b~0 main_~p~0))) (= main_~p~0 1))} is VALID [2022-04-08 13:57:54,321 INFO L290 TraceCheckUtils]: 23: Hoare triple {3036#(and (= main_~b~0 main_~y~0) (= (+ main_~a~0 1) main_~x~0) (= 0 (+ main_~q~0 (* (- 1) main_~b~0 main_~p~0))) (= main_~p~0 1))} assume !!(#t~post6 < 100);havoc #t~post6; {3036#(and (= main_~b~0 main_~y~0) (= (+ main_~a~0 1) main_~x~0) (= 0 (+ main_~q~0 (* (- 1) main_~b~0 main_~p~0))) (= main_~p~0 1))} is VALID [2022-04-08 13:57:54,323 INFO L272 TraceCheckUtils]: 24: Hoare triple {3036#(and (= main_~b~0 main_~y~0) (= (+ main_~a~0 1) main_~x~0) (= 0 (+ main_~q~0 (* (- 1) main_~b~0 main_~p~0))) (= main_~p~0 1))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {3046#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 13:57:54,323 INFO L290 TraceCheckUtils]: 25: Hoare triple {3046#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3050#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 13:57:54,324 INFO L290 TraceCheckUtils]: 26: Hoare triple {3050#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2966#false} is VALID [2022-04-08 13:57:54,324 INFO L290 TraceCheckUtils]: 27: Hoare triple {2966#false} assume !false; {2966#false} is VALID [2022-04-08 13:57:54,325 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 1 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 13:57:54,325 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 13:58:16,769 INFO L290 TraceCheckUtils]: 27: Hoare triple {2966#false} assume !false; {2966#false} is VALID [2022-04-08 13:58:16,769 INFO L290 TraceCheckUtils]: 26: Hoare triple {3050#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2966#false} is VALID [2022-04-08 13:58:16,770 INFO L290 TraceCheckUtils]: 25: Hoare triple {3046#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3050#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 13:58:16,770 INFO L272 TraceCheckUtils]: 24: Hoare triple {3066#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {3046#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 13:58:16,771 INFO L290 TraceCheckUtils]: 23: Hoare triple {3066#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} assume !!(#t~post6 < 100);havoc #t~post6; {3066#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-08 13:58:16,771 INFO L290 TraceCheckUtils]: 22: Hoare triple {3066#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3066#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-08 13:58:16,779 INFO L290 TraceCheckUtils]: 21: Hoare triple {3066#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} assume 1 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := ~a~0 - 1;~q~0 := ~q~0 + ~b~0 * ~p~0; {3066#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-08 13:58:16,779 INFO L290 TraceCheckUtils]: 20: Hoare triple {3066#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} assume !(0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2)); {3066#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-08 13:58:16,779 INFO L290 TraceCheckUtils]: 19: Hoare triple {3066#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} assume !!(0 != ~a~0 && 0 != ~b~0); {3066#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-08 13:58:16,780 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3020#(not (= |__VERIFIER_assert_#in~cond| 0))} {2965#true} #71#return; {3066#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-08 13:58:16,780 INFO L290 TraceCheckUtils]: 17: Hoare triple {3020#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3020#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 13:58:16,781 INFO L290 TraceCheckUtils]: 16: Hoare triple {3094#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3020#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 13:58:16,781 INFO L290 TraceCheckUtils]: 15: Hoare triple {2965#true} ~cond := #in~cond; {3094#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 13:58:16,781 INFO L272 TraceCheckUtils]: 14: Hoare triple {2965#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {2965#true} is VALID [2022-04-08 13:58:16,781 INFO L290 TraceCheckUtils]: 13: Hoare triple {2965#true} assume !!(#t~post6 < 100);havoc #t~post6; {2965#true} is VALID [2022-04-08 13:58:16,781 INFO L290 TraceCheckUtils]: 12: Hoare triple {2965#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2965#true} is VALID [2022-04-08 13:58:16,781 INFO L290 TraceCheckUtils]: 11: Hoare triple {2965#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {2965#true} is VALID [2022-04-08 13:58:16,782 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2965#true} {2965#true} #69#return; {2965#true} is VALID [2022-04-08 13:58:16,782 INFO L290 TraceCheckUtils]: 9: Hoare triple {2965#true} assume true; {2965#true} is VALID [2022-04-08 13:58:16,782 INFO L290 TraceCheckUtils]: 8: Hoare triple {2965#true} assume !(0 == ~cond); {2965#true} is VALID [2022-04-08 13:58:16,782 INFO L290 TraceCheckUtils]: 7: Hoare triple {2965#true} ~cond := #in~cond; {2965#true} is VALID [2022-04-08 13:58:16,782 INFO L272 TraceCheckUtils]: 6: Hoare triple {2965#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2965#true} is VALID [2022-04-08 13:58:16,782 INFO L290 TraceCheckUtils]: 5: Hoare triple {2965#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2965#true} is VALID [2022-04-08 13:58:16,782 INFO L272 TraceCheckUtils]: 4: Hoare triple {2965#true} call #t~ret7 := main(); {2965#true} is VALID [2022-04-08 13:58:16,782 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2965#true} {2965#true} #77#return; {2965#true} is VALID [2022-04-08 13:58:16,782 INFO L290 TraceCheckUtils]: 2: Hoare triple {2965#true} assume true; {2965#true} is VALID [2022-04-08 13:58:16,782 INFO L290 TraceCheckUtils]: 1: Hoare triple {2965#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {2965#true} is VALID [2022-04-08 13:58:16,782 INFO L272 TraceCheckUtils]: 0: Hoare triple {2965#true} call ULTIMATE.init(); {2965#true} is VALID [2022-04-08 13:58:16,783 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 4 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 13:58:16,783 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 13:58:16,783 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [488004723] [2022-04-08 13:58:16,783 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 13:58:16,783 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1497471599] [2022-04-08 13:58:16,783 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1497471599] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 13:58:16,783 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 13:58:16,783 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 7] total 10 [2022-04-08 13:58:16,783 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 13:58:16,783 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [545371979] [2022-04-08 13:58:16,783 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [545371979] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 13:58:16,783 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 13:58:16,783 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 13:58:16,784 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [139097780] [2022-04-08 13:58:16,784 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 13:58:16,784 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 28 [2022-04-08 13:58:16,784 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 13:58:16,784 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 13:58:16,806 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 13:58:16,806 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 13:58:16,806 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 13:58:16,806 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 13:58:16,806 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=67, Unknown=0, NotChecked=0, Total=90 [2022-04-08 13:58:16,807 INFO L87 Difference]: Start difference. First operand 62 states and 80 transitions. Second operand has 8 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 13:58:17,230 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:58:17,230 INFO L93 Difference]: Finished difference Result 73 states and 94 transitions. [2022-04-08 13:58:17,230 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 13:58:17,231 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 28 [2022-04-08 13:58:17,231 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 13:58:17,231 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 13:58:17,232 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 60 transitions. [2022-04-08 13:58:17,232 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 13:58:17,233 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 60 transitions. [2022-04-08 13:58:17,233 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 60 transitions. [2022-04-08 13:58:17,281 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 13:58:17,282 INFO L225 Difference]: With dead ends: 73 [2022-04-08 13:58:17,282 INFO L226 Difference]: Without dead ends: 71 [2022-04-08 13:58:17,283 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 57 GetRequests, 45 SyntacticMatches, 2 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=36, Invalid=96, Unknown=0, NotChecked=0, Total=132 [2022-04-08 13:58:17,283 INFO L913 BasicCegarLoop]: 24 mSDtfsCounter, 16 mSDsluCounter, 90 mSDsCounter, 0 mSdLazyCounter, 142 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 114 SdHoareTripleChecker+Invalid, 145 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 142 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 13:58:17,283 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [17 Valid, 114 Invalid, 145 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 142 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 13:58:17,284 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states. [2022-04-08 13:58:17,345 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 67. [2022-04-08 13:58:17,346 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 13:58:17,346 INFO L82 GeneralOperation]: Start isEquivalent. First operand 71 states. Second operand has 67 states, 48 states have (on average 1.3333333333333333) internal successors, (64), 52 states have internal predecessors, (64), 12 states have call successors, (12), 7 states have call predecessors, (12), 6 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 13:58:17,346 INFO L74 IsIncluded]: Start isIncluded. First operand 71 states. Second operand has 67 states, 48 states have (on average 1.3333333333333333) internal successors, (64), 52 states have internal predecessors, (64), 12 states have call successors, (12), 7 states have call predecessors, (12), 6 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 13:58:17,346 INFO L87 Difference]: Start difference. First operand 71 states. Second operand has 67 states, 48 states have (on average 1.3333333333333333) internal successors, (64), 52 states have internal predecessors, (64), 12 states have call successors, (12), 7 states have call predecessors, (12), 6 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 13:58:17,348 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:58:17,348 INFO L93 Difference]: Finished difference Result 71 states and 92 transitions. [2022-04-08 13:58:17,348 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 92 transitions. [2022-04-08 13:58:17,348 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:58:17,348 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:58:17,349 INFO L74 IsIncluded]: Start isIncluded. First operand has 67 states, 48 states have (on average 1.3333333333333333) internal successors, (64), 52 states have internal predecessors, (64), 12 states have call successors, (12), 7 states have call predecessors, (12), 6 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) Second operand 71 states. [2022-04-08 13:58:17,349 INFO L87 Difference]: Start difference. First operand has 67 states, 48 states have (on average 1.3333333333333333) internal successors, (64), 52 states have internal predecessors, (64), 12 states have call successors, (12), 7 states have call predecessors, (12), 6 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) Second operand 71 states. [2022-04-08 13:58:17,350 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:58:17,350 INFO L93 Difference]: Finished difference Result 71 states and 92 transitions. [2022-04-08 13:58:17,350 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 92 transitions. [2022-04-08 13:58:17,351 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:58:17,351 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:58:17,351 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 13:58:17,351 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 13:58:17,351 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 67 states, 48 states have (on average 1.3333333333333333) internal successors, (64), 52 states have internal predecessors, (64), 12 states have call successors, (12), 7 states have call predecessors, (12), 6 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 13:58:17,352 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 67 states to 67 states and 85 transitions. [2022-04-08 13:58:17,353 INFO L78 Accepts]: Start accepts. Automaton has 67 states and 85 transitions. Word has length 28 [2022-04-08 13:58:17,353 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 13:58:17,353 INFO L478 AbstractCegarLoop]: Abstraction has 67 states and 85 transitions. [2022-04-08 13:58:17,353 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 13:58:17,353 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 67 states and 85 transitions. [2022-04-08 13:58:19,443 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 84 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 13:58:19,443 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 85 transitions. [2022-04-08 13:58:19,444 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-04-08 13:58:19,444 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 13:58:19,444 INFO L499 BasicCegarLoop]: 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, 1] [2022-04-08 13:58:19,460 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Ended with exit code 0 [2022-04-08 13:58:19,647 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 13:58:19,648 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 13:58:19,648 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 13:58:19,648 INFO L85 PathProgramCache]: Analyzing trace with hash -293334773, now seen corresponding path program 1 times [2022-04-08 13:58:19,648 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 13:58:19,648 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [771865305] [2022-04-08 13:58:25,734 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 13:58:25,734 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 13:58:25,734 INFO L85 PathProgramCache]: Analyzing trace with hash -293334773, now seen corresponding path program 2 times [2022-04-08 13:58:25,734 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 13:58:25,735 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [501900705] [2022-04-08 13:58:25,735 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 13:58:25,735 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 13:58:25,749 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 13:58:25,749 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [247895930] [2022-04-08 13:58:25,749 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 13:58:25,749 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 13:58:25,749 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 13:58:25,750 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 13:58:25,751 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-08 13:58:25,791 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 13:58:25,791 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 13:58:25,791 INFO L263 TraceCheckSpWp]: Trace formula consists of 112 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-08 13:58:25,799 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:58:25,800 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 13:58:26,057 INFO L272 TraceCheckUtils]: 0: Hoare triple {3568#true} call ULTIMATE.init(); {3568#true} is VALID [2022-04-08 13:58:26,057 INFO L290 TraceCheckUtils]: 1: Hoare triple {3568#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {3568#true} is VALID [2022-04-08 13:58:26,057 INFO L290 TraceCheckUtils]: 2: Hoare triple {3568#true} assume true; {3568#true} is VALID [2022-04-08 13:58:26,057 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3568#true} {3568#true} #77#return; {3568#true} is VALID [2022-04-08 13:58:26,057 INFO L272 TraceCheckUtils]: 4: Hoare triple {3568#true} call #t~ret7 := main(); {3568#true} is VALID [2022-04-08 13:58:26,057 INFO L290 TraceCheckUtils]: 5: Hoare triple {3568#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3568#true} is VALID [2022-04-08 13:58:26,057 INFO L272 TraceCheckUtils]: 6: Hoare triple {3568#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3568#true} is VALID [2022-04-08 13:58:26,058 INFO L290 TraceCheckUtils]: 7: Hoare triple {3568#true} ~cond := #in~cond; {3568#true} is VALID [2022-04-08 13:58:26,058 INFO L290 TraceCheckUtils]: 8: Hoare triple {3568#true} assume !(0 == ~cond); {3568#true} is VALID [2022-04-08 13:58:26,058 INFO L290 TraceCheckUtils]: 9: Hoare triple {3568#true} assume true; {3568#true} is VALID [2022-04-08 13:58:26,058 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3568#true} {3568#true} #69#return; {3568#true} is VALID [2022-04-08 13:58:26,059 INFO L290 TraceCheckUtils]: 11: Hoare triple {3568#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {3606#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 13:58:26,059 INFO L290 TraceCheckUtils]: 12: Hoare triple {3606#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3606#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 13:58:26,060 INFO L290 TraceCheckUtils]: 13: Hoare triple {3606#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 100);havoc #t~post6; {3606#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 13:58:26,060 INFO L272 TraceCheckUtils]: 14: Hoare triple {3606#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {3568#true} is VALID [2022-04-08 13:58:26,060 INFO L290 TraceCheckUtils]: 15: Hoare triple {3568#true} ~cond := #in~cond; {3619#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 13:58:26,060 INFO L290 TraceCheckUtils]: 16: Hoare triple {3619#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3623#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 13:58:26,061 INFO L290 TraceCheckUtils]: 17: Hoare triple {3623#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3623#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 13:58:26,061 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3623#(not (= |__VERIFIER_assert_#in~cond| 0))} {3606#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #71#return; {3606#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 13:58:26,062 INFO L290 TraceCheckUtils]: 19: Hoare triple {3606#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~a~0 && 0 != ~b~0); {3606#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 13:58:26,062 INFO L290 TraceCheckUtils]: 20: Hoare triple {3606#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2)); {3606#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 13:58:26,063 INFO L290 TraceCheckUtils]: 21: Hoare triple {3606#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(1 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2)); {3606#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 13:58:26,063 INFO L290 TraceCheckUtils]: 22: Hoare triple {3606#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 1 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~b~0 := ~b~0 - 1;~q~0 := ~q~0 + ~a~0 * ~p~0; {3642#(and (= main_~b~0 (+ (- 1) main_~y~0)) (= (mod main_~a~0 2) 0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 (* (- 1) main_~a~0 main_~p~0)) 0) (= main_~p~0 1))} is VALID [2022-04-08 13:58:26,064 INFO L290 TraceCheckUtils]: 23: Hoare triple {3642#(and (= main_~b~0 (+ (- 1) main_~y~0)) (= (mod main_~a~0 2) 0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 (* (- 1) main_~a~0 main_~p~0)) 0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3642#(and (= main_~b~0 (+ (- 1) main_~y~0)) (= (mod main_~a~0 2) 0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 (* (- 1) main_~a~0 main_~p~0)) 0) (= main_~p~0 1))} is VALID [2022-04-08 13:58:26,064 INFO L290 TraceCheckUtils]: 24: Hoare triple {3642#(and (= main_~b~0 (+ (- 1) main_~y~0)) (= (mod main_~a~0 2) 0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 (* (- 1) main_~a~0 main_~p~0)) 0) (= main_~p~0 1))} assume !!(#t~post6 < 100);havoc #t~post6; {3642#(and (= main_~b~0 (+ (- 1) main_~y~0)) (= (mod main_~a~0 2) 0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 (* (- 1) main_~a~0 main_~p~0)) 0) (= main_~p~0 1))} is VALID [2022-04-08 13:58:26,066 INFO L272 TraceCheckUtils]: 25: Hoare triple {3642#(and (= main_~b~0 (+ (- 1) main_~y~0)) (= (mod main_~a~0 2) 0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 (* (- 1) main_~a~0 main_~p~0)) 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {3652#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 13:58:26,067 INFO L290 TraceCheckUtils]: 26: Hoare triple {3652#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3656#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 13:58:26,067 INFO L290 TraceCheckUtils]: 27: Hoare triple {3656#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3569#false} is VALID [2022-04-08 13:58:26,067 INFO L290 TraceCheckUtils]: 28: Hoare triple {3569#false} assume !false; {3569#false} is VALID [2022-04-08 13:58:26,067 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 1 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 13:58:26,067 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 13:58:38,529 INFO L290 TraceCheckUtils]: 28: Hoare triple {3569#false} assume !false; {3569#false} is VALID [2022-04-08 13:58:38,530 INFO L290 TraceCheckUtils]: 27: Hoare triple {3656#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3569#false} is VALID [2022-04-08 13:58:38,530 INFO L290 TraceCheckUtils]: 26: Hoare triple {3652#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3656#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 13:58:38,531 INFO L272 TraceCheckUtils]: 25: Hoare triple {3672#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {3652#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 13:58:38,531 INFO L290 TraceCheckUtils]: 24: Hoare triple {3672#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} assume !!(#t~post6 < 100);havoc #t~post6; {3672#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-08 13:58:38,532 INFO L290 TraceCheckUtils]: 23: Hoare triple {3672#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3672#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-08 13:58:38,541 INFO L290 TraceCheckUtils]: 22: Hoare triple {3682#(or (not (= (mod main_~a~0 2) 0)) (= (* main_~y~0 main_~x~0) (+ (* main_~a~0 main_~p~0) main_~q~0 (* main_~a~0 main_~p~0 (+ (- 1) main_~b~0)))))} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 1 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~b~0 := ~b~0 - 1;~q~0 := ~q~0 + ~a~0 * ~p~0; {3672#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-08 13:58:38,541 INFO L290 TraceCheckUtils]: 21: Hoare triple {3682#(or (not (= (mod main_~a~0 2) 0)) (= (* main_~y~0 main_~x~0) (+ (* main_~a~0 main_~p~0) main_~q~0 (* main_~a~0 main_~p~0 (+ (- 1) main_~b~0)))))} assume !(1 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2)); {3682#(or (not (= (mod main_~a~0 2) 0)) (= (* main_~y~0 main_~x~0) (+ (* main_~a~0 main_~p~0) main_~q~0 (* main_~a~0 main_~p~0 (+ (- 1) main_~b~0)))))} is VALID [2022-04-08 13:58:38,542 INFO L290 TraceCheckUtils]: 20: Hoare triple {3682#(or (not (= (mod main_~a~0 2) 0)) (= (* main_~y~0 main_~x~0) (+ (* main_~a~0 main_~p~0) main_~q~0 (* main_~a~0 main_~p~0 (+ (- 1) main_~b~0)))))} assume !(0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2)); {3682#(or (not (= (mod main_~a~0 2) 0)) (= (* main_~y~0 main_~x~0) (+ (* main_~a~0 main_~p~0) main_~q~0 (* main_~a~0 main_~p~0 (+ (- 1) main_~b~0)))))} is VALID [2022-04-08 13:58:38,542 INFO L290 TraceCheckUtils]: 19: Hoare triple {3682#(or (not (= (mod main_~a~0 2) 0)) (= (* main_~y~0 main_~x~0) (+ (* main_~a~0 main_~p~0) main_~q~0 (* main_~a~0 main_~p~0 (+ (- 1) main_~b~0)))))} assume !!(0 != ~a~0 && 0 != ~b~0); {3682#(or (not (= (mod main_~a~0 2) 0)) (= (* main_~y~0 main_~x~0) (+ (* main_~a~0 main_~p~0) main_~q~0 (* main_~a~0 main_~p~0 (+ (- 1) main_~b~0)))))} is VALID [2022-04-08 13:58:38,543 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3623#(not (= |__VERIFIER_assert_#in~cond| 0))} {3568#true} #71#return; {3682#(or (not (= (mod main_~a~0 2) 0)) (= (* main_~y~0 main_~x~0) (+ (* main_~a~0 main_~p~0) main_~q~0 (* main_~a~0 main_~p~0 (+ (- 1) main_~b~0)))))} is VALID [2022-04-08 13:58:38,543 INFO L290 TraceCheckUtils]: 17: Hoare triple {3623#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3623#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 13:58:38,543 INFO L290 TraceCheckUtils]: 16: Hoare triple {3704#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3623#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 13:58:38,544 INFO L290 TraceCheckUtils]: 15: Hoare triple {3568#true} ~cond := #in~cond; {3704#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 13:58:38,544 INFO L272 TraceCheckUtils]: 14: Hoare triple {3568#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {3568#true} is VALID [2022-04-08 13:58:38,544 INFO L290 TraceCheckUtils]: 13: Hoare triple {3568#true} assume !!(#t~post6 < 100);havoc #t~post6; {3568#true} is VALID [2022-04-08 13:58:38,544 INFO L290 TraceCheckUtils]: 12: Hoare triple {3568#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3568#true} is VALID [2022-04-08 13:58:38,544 INFO L290 TraceCheckUtils]: 11: Hoare triple {3568#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {3568#true} is VALID [2022-04-08 13:58:38,544 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3568#true} {3568#true} #69#return; {3568#true} is VALID [2022-04-08 13:58:38,544 INFO L290 TraceCheckUtils]: 9: Hoare triple {3568#true} assume true; {3568#true} is VALID [2022-04-08 13:58:38,544 INFO L290 TraceCheckUtils]: 8: Hoare triple {3568#true} assume !(0 == ~cond); {3568#true} is VALID [2022-04-08 13:58:38,544 INFO L290 TraceCheckUtils]: 7: Hoare triple {3568#true} ~cond := #in~cond; {3568#true} is VALID [2022-04-08 13:58:38,544 INFO L272 TraceCheckUtils]: 6: Hoare triple {3568#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3568#true} is VALID [2022-04-08 13:58:38,545 INFO L290 TraceCheckUtils]: 5: Hoare triple {3568#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3568#true} is VALID [2022-04-08 13:58:38,545 INFO L272 TraceCheckUtils]: 4: Hoare triple {3568#true} call #t~ret7 := main(); {3568#true} is VALID [2022-04-08 13:58:38,545 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3568#true} {3568#true} #77#return; {3568#true} is VALID [2022-04-08 13:58:38,545 INFO L290 TraceCheckUtils]: 2: Hoare triple {3568#true} assume true; {3568#true} is VALID [2022-04-08 13:58:38,545 INFO L290 TraceCheckUtils]: 1: Hoare triple {3568#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {3568#true} is VALID [2022-04-08 13:58:38,545 INFO L272 TraceCheckUtils]: 0: Hoare triple {3568#true} call ULTIMATE.init(); {3568#true} is VALID [2022-04-08 13:58:38,545 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 4 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 13:58:38,545 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 13:58:38,545 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [501900705] [2022-04-08 13:58:38,545 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 13:58:38,545 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [247895930] [2022-04-08 13:58:38,546 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [247895930] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 13:58:38,546 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 13:58:38,546 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 11 [2022-04-08 13:58:38,548 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 13:58:38,548 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [771865305] [2022-04-08 13:58:38,548 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [771865305] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 13:58:38,548 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 13:58:38,548 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 13:58:38,548 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1434433081] [2022-04-08 13:58:38,548 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 13:58:38,549 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 29 [2022-04-08 13:58:38,549 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 13:58:38,549 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 13:58:38,596 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 13:58:38,596 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 13:58:38,596 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 13:58:38,596 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 13:58:38,596 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=82, Unknown=0, NotChecked=0, Total=110 [2022-04-08 13:58:38,597 INFO L87 Difference]: Start difference. First operand 67 states and 85 transitions. Second operand has 8 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 13:58:39,445 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:58:39,446 INFO L93 Difference]: Finished difference Result 95 states and 125 transitions. [2022-04-08 13:58:39,446 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 13:58:39,446 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 29 [2022-04-08 13:58:39,446 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 13:58:39,446 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 13:58:39,447 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 84 transitions. [2022-04-08 13:58:39,447 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 13:58:39,448 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 84 transitions. [2022-04-08 13:58:39,449 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 84 transitions. [2022-04-08 13:58:39,525 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 13:58:39,526 INFO L225 Difference]: With dead ends: 95 [2022-04-08 13:58:39,526 INFO L226 Difference]: Without dead ends: 80 [2022-04-08 13:58:39,527 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 59 GetRequests, 47 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=41, Invalid=115, Unknown=0, NotChecked=0, Total=156 [2022-04-08 13:58:39,527 INFO L913 BasicCegarLoop]: 26 mSDtfsCounter, 16 mSDsluCounter, 90 mSDsCounter, 0 mSdLazyCounter, 156 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 116 SdHoareTripleChecker+Invalid, 160 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 156 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-08 13:58:39,527 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [18 Valid, 116 Invalid, 160 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 156 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-08 13:58:39,528 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 80 states. [2022-04-08 13:58:39,595 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 80 to 77. [2022-04-08 13:58:39,595 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 13:58:39,596 INFO L82 GeneralOperation]: Start isEquivalent. First operand 80 states. Second operand has 77 states, 56 states have (on average 1.3214285714285714) internal successors, (74), 60 states have internal predecessors, (74), 13 states have call successors, (13), 8 states have call predecessors, (13), 7 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 13:58:39,596 INFO L74 IsIncluded]: Start isIncluded. First operand 80 states. Second operand has 77 states, 56 states have (on average 1.3214285714285714) internal successors, (74), 60 states have internal predecessors, (74), 13 states have call successors, (13), 8 states have call predecessors, (13), 7 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 13:58:39,596 INFO L87 Difference]: Start difference. First operand 80 states. Second operand has 77 states, 56 states have (on average 1.3214285714285714) internal successors, (74), 60 states have internal predecessors, (74), 13 states have call successors, (13), 8 states have call predecessors, (13), 7 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 13:58:39,599 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:58:39,599 INFO L93 Difference]: Finished difference Result 80 states and 102 transitions. [2022-04-08 13:58:39,599 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 102 transitions. [2022-04-08 13:58:39,599 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:58:39,599 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:58:39,599 INFO L74 IsIncluded]: Start isIncluded. First operand has 77 states, 56 states have (on average 1.3214285714285714) internal successors, (74), 60 states have internal predecessors, (74), 13 states have call successors, (13), 8 states have call predecessors, (13), 7 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) Second operand 80 states. [2022-04-08 13:58:39,600 INFO L87 Difference]: Start difference. First operand has 77 states, 56 states have (on average 1.3214285714285714) internal successors, (74), 60 states have internal predecessors, (74), 13 states have call successors, (13), 8 states have call predecessors, (13), 7 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) Second operand 80 states. [2022-04-08 13:58:39,601 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:58:39,601 INFO L93 Difference]: Finished difference Result 80 states and 102 transitions. [2022-04-08 13:58:39,601 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 102 transitions. [2022-04-08 13:58:39,602 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:58:39,602 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:58:39,602 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 13:58:39,602 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 13:58:39,602 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 77 states, 56 states have (on average 1.3214285714285714) internal successors, (74), 60 states have internal predecessors, (74), 13 states have call successors, (13), 8 states have call predecessors, (13), 7 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 13:58:39,604 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 77 states to 77 states and 97 transitions. [2022-04-08 13:58:39,604 INFO L78 Accepts]: Start accepts. Automaton has 77 states and 97 transitions. Word has length 29 [2022-04-08 13:58:39,604 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 13:58:39,604 INFO L478 AbstractCegarLoop]: Abstraction has 77 states and 97 transitions. [2022-04-08 13:58:39,604 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 13:58:39,605 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 77 states and 97 transitions. [2022-04-08 13:58:41,736 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 96 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 13:58:41,737 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 97 transitions. [2022-04-08 13:58:41,737 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-04-08 13:58:41,737 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 13:58:41,737 INFO L499 BasicCegarLoop]: 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, 1] [2022-04-08 13:58:41,753 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-08 13:58:41,937 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2022-04-08 13:58:41,938 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 13:58:41,938 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 13:58:41,938 INFO L85 PathProgramCache]: Analyzing trace with hash 1481672589, now seen corresponding path program 1 times [2022-04-08 13:58:41,938 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 13:58:41,938 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2097571126] [2022-04-08 13:58:45,242 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 13:58:45,242 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 13:58:45,242 INFO L85 PathProgramCache]: Analyzing trace with hash 1481672589, now seen corresponding path program 2 times [2022-04-08 13:58:45,242 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 13:58:45,242 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [775736765] [2022-04-08 13:58:45,242 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 13:58:45,242 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 13:58:45,259 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 13:58:45,259 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1058168202] [2022-04-08 13:58:45,259 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 13:58:45,259 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 13:58:45,259 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 13:58:45,261 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 13:58:45,262 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-08 13:58:45,300 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 13:58:45,300 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 13:58:45,300 INFO L263 TraceCheckSpWp]: Trace formula consists of 111 conjuncts, 21 conjunts are in the unsatisfiable core [2022-04-08 13:58:45,310 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:58:45,311 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 13:58:45,526 INFO L272 TraceCheckUtils]: 0: Hoare triple {4260#true} call ULTIMATE.init(); {4260#true} is VALID [2022-04-08 13:58:45,527 INFO L290 TraceCheckUtils]: 1: Hoare triple {4260#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {4260#true} is VALID [2022-04-08 13:58:45,527 INFO L290 TraceCheckUtils]: 2: Hoare triple {4260#true} assume true; {4260#true} is VALID [2022-04-08 13:58:45,527 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4260#true} {4260#true} #77#return; {4260#true} is VALID [2022-04-08 13:58:45,527 INFO L272 TraceCheckUtils]: 4: Hoare triple {4260#true} call #t~ret7 := main(); {4260#true} is VALID [2022-04-08 13:58:45,527 INFO L290 TraceCheckUtils]: 5: Hoare triple {4260#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4260#true} is VALID [2022-04-08 13:58:45,527 INFO L272 TraceCheckUtils]: 6: Hoare triple {4260#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4260#true} is VALID [2022-04-08 13:58:45,527 INFO L290 TraceCheckUtils]: 7: Hoare triple {4260#true} ~cond := #in~cond; {4260#true} is VALID [2022-04-08 13:58:45,527 INFO L290 TraceCheckUtils]: 8: Hoare triple {4260#true} assume !(0 == ~cond); {4260#true} is VALID [2022-04-08 13:58:45,527 INFO L290 TraceCheckUtils]: 9: Hoare triple {4260#true} assume true; {4260#true} is VALID [2022-04-08 13:58:45,527 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4260#true} {4260#true} #69#return; {4260#true} is VALID [2022-04-08 13:58:45,528 INFO L290 TraceCheckUtils]: 11: Hoare triple {4260#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {4298#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 13:58:45,529 INFO L290 TraceCheckUtils]: 12: Hoare triple {4298#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4298#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 13:58:45,530 INFO L290 TraceCheckUtils]: 13: Hoare triple {4298#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 100);havoc #t~post6; {4298#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 13:58:45,532 INFO L272 TraceCheckUtils]: 14: Hoare triple {4298#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {4260#true} is VALID [2022-04-08 13:58:45,533 INFO L290 TraceCheckUtils]: 15: Hoare triple {4260#true} ~cond := #in~cond; {4260#true} is VALID [2022-04-08 13:58:45,533 INFO L290 TraceCheckUtils]: 16: Hoare triple {4260#true} assume !(0 == ~cond); {4260#true} is VALID [2022-04-08 13:58:45,534 INFO L290 TraceCheckUtils]: 17: Hoare triple {4260#true} assume true; {4260#true} is VALID [2022-04-08 13:58:45,534 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {4260#true} {4298#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #71#return; {4298#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 13:58:45,536 INFO L290 TraceCheckUtils]: 19: Hoare triple {4298#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~a~0 && 0 != ~b~0); {4298#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 13:58:45,536 INFO L290 TraceCheckUtils]: 20: Hoare triple {4298#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2)); {4298#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 13:58:45,538 INFO L290 TraceCheckUtils]: 21: Hoare triple {4298#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(1 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2)); {4298#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 13:58:45,538 INFO L290 TraceCheckUtils]: 22: Hoare triple {4298#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 1 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2));~a~0 := ~a~0 - 1;~b~0 := ~b~0 - 1;~q~0 := ~q~0 + (1 + (~a~0 + ~b~0)) * ~p~0; {4332#(and (= main_~b~0 (+ (- 1) main_~y~0)) (= (+ main_~q~0 (* (- 1) main_~a~0 main_~p~0) (* (- 1) main_~b~0 main_~p~0) (* (- 1) main_~p~0)) 0) (= (+ (- 1) main_~x~0) main_~a~0) (= main_~p~0 1))} is VALID [2022-04-08 13:58:45,539 INFO L290 TraceCheckUtils]: 23: Hoare triple {4332#(and (= main_~b~0 (+ (- 1) main_~y~0)) (= (+ main_~q~0 (* (- 1) main_~a~0 main_~p~0) (* (- 1) main_~b~0 main_~p~0) (* (- 1) main_~p~0)) 0) (= (+ (- 1) main_~x~0) main_~a~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4332#(and (= main_~b~0 (+ (- 1) main_~y~0)) (= (+ main_~q~0 (* (- 1) main_~a~0 main_~p~0) (* (- 1) main_~b~0 main_~p~0) (* (- 1) main_~p~0)) 0) (= (+ (- 1) main_~x~0) main_~a~0) (= main_~p~0 1))} is VALID [2022-04-08 13:58:45,542 INFO L290 TraceCheckUtils]: 24: Hoare triple {4332#(and (= main_~b~0 (+ (- 1) main_~y~0)) (= (+ main_~q~0 (* (- 1) main_~a~0 main_~p~0) (* (- 1) main_~b~0 main_~p~0) (* (- 1) main_~p~0)) 0) (= (+ (- 1) main_~x~0) main_~a~0) (= main_~p~0 1))} assume !!(#t~post6 < 100);havoc #t~post6; {4332#(and (= main_~b~0 (+ (- 1) main_~y~0)) (= (+ main_~q~0 (* (- 1) main_~a~0 main_~p~0) (* (- 1) main_~b~0 main_~p~0) (* (- 1) main_~p~0)) 0) (= (+ (- 1) main_~x~0) main_~a~0) (= main_~p~0 1))} is VALID [2022-04-08 13:58:45,544 INFO L272 TraceCheckUtils]: 25: Hoare triple {4332#(and (= main_~b~0 (+ (- 1) main_~y~0)) (= (+ main_~q~0 (* (- 1) main_~a~0 main_~p~0) (* (- 1) main_~b~0 main_~p~0) (* (- 1) main_~p~0)) 0) (= (+ (- 1) main_~x~0) main_~a~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {4342#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 13:58:45,545 INFO L290 TraceCheckUtils]: 26: Hoare triple {4342#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4346#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 13:58:45,545 INFO L290 TraceCheckUtils]: 27: Hoare triple {4346#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4261#false} is VALID [2022-04-08 13:58:45,545 INFO L290 TraceCheckUtils]: 28: Hoare triple {4261#false} assume !false; {4261#false} is VALID [2022-04-08 13:58:45,545 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 2 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 13:58:45,545 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 13:58:45,685 INFO L290 TraceCheckUtils]: 28: Hoare triple {4261#false} assume !false; {4261#false} is VALID [2022-04-08 13:58:45,685 INFO L290 TraceCheckUtils]: 27: Hoare triple {4346#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4261#false} is VALID [2022-04-08 13:58:45,685 INFO L290 TraceCheckUtils]: 26: Hoare triple {4342#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4346#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 13:58:45,686 INFO L272 TraceCheckUtils]: 25: Hoare triple {4362#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {4342#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 13:58:45,686 INFO L290 TraceCheckUtils]: 24: Hoare triple {4362#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} assume !!(#t~post6 < 100);havoc #t~post6; {4362#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-08 13:58:45,687 INFO L290 TraceCheckUtils]: 23: Hoare triple {4362#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4362#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-08 13:58:45,691 INFO L290 TraceCheckUtils]: 22: Hoare triple {4362#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} assume !(0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 1 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2));~a~0 := ~a~0 - 1;~b~0 := ~b~0 - 1;~q~0 := ~q~0 + (1 + (~a~0 + ~b~0)) * ~p~0; {4362#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-08 13:58:45,691 INFO L290 TraceCheckUtils]: 21: Hoare triple {4362#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} assume !(1 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2)); {4362#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-08 13:58:45,692 INFO L290 TraceCheckUtils]: 20: Hoare triple {4362#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} assume !(0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2)); {4362#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-08 13:58:45,692 INFO L290 TraceCheckUtils]: 19: Hoare triple {4362#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} assume !!(0 != ~a~0 && 0 != ~b~0); {4362#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-08 13:58:45,693 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {4260#true} {4362#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} #71#return; {4362#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-08 13:58:45,693 INFO L290 TraceCheckUtils]: 17: Hoare triple {4260#true} assume true; {4260#true} is VALID [2022-04-08 13:58:45,693 INFO L290 TraceCheckUtils]: 16: Hoare triple {4260#true} assume !(0 == ~cond); {4260#true} is VALID [2022-04-08 13:58:45,693 INFO L290 TraceCheckUtils]: 15: Hoare triple {4260#true} ~cond := #in~cond; {4260#true} is VALID [2022-04-08 13:58:45,693 INFO L272 TraceCheckUtils]: 14: Hoare triple {4362#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {4260#true} is VALID [2022-04-08 13:58:45,693 INFO L290 TraceCheckUtils]: 13: Hoare triple {4362#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} assume !!(#t~post6 < 100);havoc #t~post6; {4362#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-08 13:58:45,694 INFO L290 TraceCheckUtils]: 12: Hoare triple {4362#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4362#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-08 13:58:45,697 INFO L290 TraceCheckUtils]: 11: Hoare triple {4260#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {4362#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-08 13:58:45,697 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4260#true} {4260#true} #69#return; {4260#true} is VALID [2022-04-08 13:58:45,697 INFO L290 TraceCheckUtils]: 9: Hoare triple {4260#true} assume true; {4260#true} is VALID [2022-04-08 13:58:45,697 INFO L290 TraceCheckUtils]: 8: Hoare triple {4260#true} assume !(0 == ~cond); {4260#true} is VALID [2022-04-08 13:58:45,697 INFO L290 TraceCheckUtils]: 7: Hoare triple {4260#true} ~cond := #in~cond; {4260#true} is VALID [2022-04-08 13:58:45,697 INFO L272 TraceCheckUtils]: 6: Hoare triple {4260#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4260#true} is VALID [2022-04-08 13:58:45,697 INFO L290 TraceCheckUtils]: 5: Hoare triple {4260#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4260#true} is VALID [2022-04-08 13:58:45,698 INFO L272 TraceCheckUtils]: 4: Hoare triple {4260#true} call #t~ret7 := main(); {4260#true} is VALID [2022-04-08 13:58:45,698 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4260#true} {4260#true} #77#return; {4260#true} is VALID [2022-04-08 13:58:45,698 INFO L290 TraceCheckUtils]: 2: Hoare triple {4260#true} assume true; {4260#true} is VALID [2022-04-08 13:58:45,698 INFO L290 TraceCheckUtils]: 1: Hoare triple {4260#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {4260#true} is VALID [2022-04-08 13:58:45,698 INFO L272 TraceCheckUtils]: 0: Hoare triple {4260#true} call ULTIMATE.init(); {4260#true} is VALID [2022-04-08 13:58:45,698 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2022-04-08 13:58:45,698 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 13:58:45,698 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [775736765] [2022-04-08 13:58:45,698 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 13:58:45,698 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1058168202] [2022-04-08 13:58:45,698 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1058168202] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-08 13:58:45,698 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-08 13:58:45,699 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [6] total 7 [2022-04-08 13:58:45,699 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 13:58:45,699 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2097571126] [2022-04-08 13:58:45,699 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2097571126] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 13:58:45,699 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 13:58:45,699 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 13:58:45,699 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [241473334] [2022-04-08 13:58:45,699 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 13:58:45,699 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 29 [2022-04-08 13:58:45,699 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 13:58:45,700 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 13:58:45,721 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 13:58:45,721 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 13:58:45,722 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 13:58:45,722 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 13:58:45,722 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-04-08 13:58:45,722 INFO L87 Difference]: Start difference. First operand 77 states and 97 transitions. Second operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 13:58:45,977 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:58:45,977 INFO L93 Difference]: Finished difference Result 83 states and 102 transitions. [2022-04-08 13:58:45,977 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 13:58:45,979 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 29 [2022-04-08 13:58:45,979 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 13:58:45,979 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 13:58:45,980 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 38 transitions. [2022-04-08 13:58:45,980 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 13:58:45,981 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 38 transitions. [2022-04-08 13:58:45,981 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 38 transitions. [2022-04-08 13:58:46,069 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 13:58:46,070 INFO L225 Difference]: With dead ends: 83 [2022-04-08 13:58:46,070 INFO L226 Difference]: Without dead ends: 81 [2022-04-08 13:58:46,070 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 58 GetRequests, 50 SyntacticMatches, 2 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-08 13:58:46,071 INFO L913 BasicCegarLoop]: 22 mSDtfsCounter, 7 mSDsluCounter, 50 mSDsCounter, 0 mSdLazyCounter, 45 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 72 SdHoareTripleChecker+Invalid, 48 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 45 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 13:58:46,072 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [8 Valid, 72 Invalid, 48 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 45 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 13:58:46,072 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 81 states. [2022-04-08 13:58:46,151 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 81 to 81. [2022-04-08 13:58:46,151 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 13:58:46,151 INFO L82 GeneralOperation]: Start isEquivalent. First operand 81 states. Second operand has 81 states, 59 states have (on average 1.305084745762712) internal successors, (77), 63 states have internal predecessors, (77), 13 states have call successors, (13), 9 states have call predecessors, (13), 8 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 13:58:46,151 INFO L74 IsIncluded]: Start isIncluded. First operand 81 states. Second operand has 81 states, 59 states have (on average 1.305084745762712) internal successors, (77), 63 states have internal predecessors, (77), 13 states have call successors, (13), 9 states have call predecessors, (13), 8 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 13:58:46,152 INFO L87 Difference]: Start difference. First operand 81 states. Second operand has 81 states, 59 states have (on average 1.305084745762712) internal successors, (77), 63 states have internal predecessors, (77), 13 states have call successors, (13), 9 states have call predecessors, (13), 8 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 13:58:46,153 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:58:46,153 INFO L93 Difference]: Finished difference Result 81 states and 100 transitions. [2022-04-08 13:58:46,153 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 100 transitions. [2022-04-08 13:58:46,153 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:58:46,153 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:58:46,153 INFO L74 IsIncluded]: Start isIncluded. First operand has 81 states, 59 states have (on average 1.305084745762712) internal successors, (77), 63 states have internal predecessors, (77), 13 states have call successors, (13), 9 states have call predecessors, (13), 8 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) Second operand 81 states. [2022-04-08 13:58:46,153 INFO L87 Difference]: Start difference. First operand has 81 states, 59 states have (on average 1.305084745762712) internal successors, (77), 63 states have internal predecessors, (77), 13 states have call successors, (13), 9 states have call predecessors, (13), 8 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) Second operand 81 states. [2022-04-08 13:58:46,155 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:58:46,155 INFO L93 Difference]: Finished difference Result 81 states and 100 transitions. [2022-04-08 13:58:46,155 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 100 transitions. [2022-04-08 13:58:46,155 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:58:46,155 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:58:46,155 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 13:58:46,155 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 13:58:46,155 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 81 states, 59 states have (on average 1.305084745762712) internal successors, (77), 63 states have internal predecessors, (77), 13 states have call successors, (13), 9 states have call predecessors, (13), 8 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 13:58:46,156 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 81 states to 81 states and 100 transitions. [2022-04-08 13:58:46,156 INFO L78 Accepts]: Start accepts. Automaton has 81 states and 100 transitions. Word has length 29 [2022-04-08 13:58:46,157 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 13:58:46,157 INFO L478 AbstractCegarLoop]: Abstraction has 81 states and 100 transitions. [2022-04-08 13:58:46,157 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 13:58:46,157 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 81 states and 100 transitions. [2022-04-08 13:58:48,457 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 100 edges. 99 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 13:58:48,457 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 100 transitions. [2022-04-08 13:58:48,458 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-08 13:58:48,458 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 13:58:48,458 INFO L499 BasicCegarLoop]: trace histogram [3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 13:58:48,474 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-08 13:58:48,660 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-08 13:58:48,660 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 13:58:48,660 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 13:58:48,660 INFO L85 PathProgramCache]: Analyzing trace with hash 1680888588, now seen corresponding path program 1 times [2022-04-08 13:58:48,660 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 13:58:48,660 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [792650837] [2022-04-08 13:58:54,730 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 13:58:54,730 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 13:58:54,730 INFO L85 PathProgramCache]: Analyzing trace with hash 1680888588, now seen corresponding path program 2 times [2022-04-08 13:58:54,730 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 13:58:54,730 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [784981986] [2022-04-08 13:58:54,730 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 13:58:54,730 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 13:58:54,745 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 13:58:54,745 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [198976477] [2022-04-08 13:58:54,745 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 13:58:54,745 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 13:58:54,746 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 13:58:54,746 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 13:58:54,751 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-08 13:58:54,780 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 13:58:54,781 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 13:58:54,781 INFO L263 TraceCheckSpWp]: Trace formula consists of 122 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-08 13:58:54,788 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:58:54,802 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 13:58:55,119 INFO L272 TraceCheckUtils]: 0: Hoare triple {4932#true} call ULTIMATE.init(); {4932#true} is VALID [2022-04-08 13:58:55,120 INFO L290 TraceCheckUtils]: 1: Hoare triple {4932#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {4932#true} is VALID [2022-04-08 13:58:55,120 INFO L290 TraceCheckUtils]: 2: Hoare triple {4932#true} assume true; {4932#true} is VALID [2022-04-08 13:58:55,120 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4932#true} {4932#true} #77#return; {4932#true} is VALID [2022-04-08 13:58:55,120 INFO L272 TraceCheckUtils]: 4: Hoare triple {4932#true} call #t~ret7 := main(); {4932#true} is VALID [2022-04-08 13:58:55,120 INFO L290 TraceCheckUtils]: 5: Hoare triple {4932#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4932#true} is VALID [2022-04-08 13:58:55,120 INFO L272 TraceCheckUtils]: 6: Hoare triple {4932#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4932#true} is VALID [2022-04-08 13:58:55,120 INFO L290 TraceCheckUtils]: 7: Hoare triple {4932#true} ~cond := #in~cond; {4958#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 13:58:55,121 INFO L290 TraceCheckUtils]: 8: Hoare triple {4958#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4962#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 13:58:55,121 INFO L290 TraceCheckUtils]: 9: Hoare triple {4962#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4962#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 13:58:55,122 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4962#(not (= |assume_abort_if_not_#in~cond| 0))} {4932#true} #69#return; {4969#(<= 1 main_~y~0)} is VALID [2022-04-08 13:58:55,122 INFO L290 TraceCheckUtils]: 11: Hoare triple {4969#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {4973#(<= 1 main_~b~0)} is VALID [2022-04-08 13:58:55,122 INFO L290 TraceCheckUtils]: 12: Hoare triple {4973#(<= 1 main_~b~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4973#(<= 1 main_~b~0)} is VALID [2022-04-08 13:58:55,122 INFO L290 TraceCheckUtils]: 13: Hoare triple {4973#(<= 1 main_~b~0)} assume !!(#t~post6 < 100);havoc #t~post6; {4973#(<= 1 main_~b~0)} is VALID [2022-04-08 13:58:55,123 INFO L272 TraceCheckUtils]: 14: Hoare triple {4973#(<= 1 main_~b~0)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {4932#true} is VALID [2022-04-08 13:58:55,123 INFO L290 TraceCheckUtils]: 15: Hoare triple {4932#true} ~cond := #in~cond; {4932#true} is VALID [2022-04-08 13:58:55,123 INFO L290 TraceCheckUtils]: 16: Hoare triple {4932#true} assume !(0 == ~cond); {4932#true} is VALID [2022-04-08 13:58:55,123 INFO L290 TraceCheckUtils]: 17: Hoare triple {4932#true} assume true; {4932#true} is VALID [2022-04-08 13:58:55,123 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {4932#true} {4973#(<= 1 main_~b~0)} #71#return; {4973#(<= 1 main_~b~0)} is VALID [2022-04-08 13:58:55,124 INFO L290 TraceCheckUtils]: 19: Hoare triple {4973#(<= 1 main_~b~0)} assume !!(0 != ~a~0 && 0 != ~b~0); {4998#(and (not (= main_~a~0 0)) (<= 1 main_~b~0))} is VALID [2022-04-08 13:58:55,125 INFO L290 TraceCheckUtils]: 20: Hoare triple {4998#(and (not (= main_~a~0 0)) (<= 1 main_~b~0))} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {4998#(and (not (= main_~a~0 0)) (<= 1 main_~b~0))} is VALID [2022-04-08 13:58:55,125 INFO L290 TraceCheckUtils]: 21: Hoare triple {4998#(and (not (= main_~a~0 0)) (<= 1 main_~b~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4998#(and (not (= main_~a~0 0)) (<= 1 main_~b~0))} is VALID [2022-04-08 13:58:55,125 INFO L290 TraceCheckUtils]: 22: Hoare triple {4998#(and (not (= main_~a~0 0)) (<= 1 main_~b~0))} assume !!(#t~post6 < 100);havoc #t~post6; {4998#(and (not (= main_~a~0 0)) (<= 1 main_~b~0))} is VALID [2022-04-08 13:58:55,125 INFO L272 TraceCheckUtils]: 23: Hoare triple {4998#(and (not (= main_~a~0 0)) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {4932#true} is VALID [2022-04-08 13:58:55,126 INFO L290 TraceCheckUtils]: 24: Hoare triple {4932#true} ~cond := #in~cond; {4932#true} is VALID [2022-04-08 13:58:55,126 INFO L290 TraceCheckUtils]: 25: Hoare triple {4932#true} assume !(0 == ~cond); {4932#true} is VALID [2022-04-08 13:58:55,126 INFO L290 TraceCheckUtils]: 26: Hoare triple {4932#true} assume true; {4932#true} is VALID [2022-04-08 13:58:55,126 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {4932#true} {4998#(and (not (= main_~a~0 0)) (<= 1 main_~b~0))} #71#return; {4998#(and (not (= main_~a~0 0)) (<= 1 main_~b~0))} is VALID [2022-04-08 13:58:55,127 INFO L290 TraceCheckUtils]: 28: Hoare triple {4998#(and (not (= main_~a~0 0)) (<= 1 main_~b~0))} assume !(0 != ~a~0 && 0 != ~b~0); {4933#false} is VALID [2022-04-08 13:58:55,127 INFO L272 TraceCheckUtils]: 29: Hoare triple {4933#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {4933#false} is VALID [2022-04-08 13:58:55,127 INFO L290 TraceCheckUtils]: 30: Hoare triple {4933#false} ~cond := #in~cond; {4933#false} is VALID [2022-04-08 13:58:55,127 INFO L290 TraceCheckUtils]: 31: Hoare triple {4933#false} assume 0 == ~cond; {4933#false} is VALID [2022-04-08 13:58:55,127 INFO L290 TraceCheckUtils]: 32: Hoare triple {4933#false} assume !false; {4933#false} is VALID [2022-04-08 13:58:55,127 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 8 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-08 13:58:55,127 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 13:58:55,127 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 13:58:55,127 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [784981986] [2022-04-08 13:58:55,127 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 13:58:55,127 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [198976477] [2022-04-08 13:58:55,128 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [198976477] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 13:58:55,128 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 13:58:55,128 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-08 13:58:55,128 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 13:58:55,128 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [792650837] [2022-04-08 13:58:55,128 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [792650837] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 13:58:55,128 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 13:58:55,128 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-08 13:58:55,128 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1486703085] [2022-04-08 13:58:55,128 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 13:58:55,129 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) Word has length 33 [2022-04-08 13:58:55,129 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 13:58:55,129 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-08 13:58:55,148 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 13:58:55,148 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-08 13:58:55,148 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 13:58:55,148 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-08 13:58:55,148 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=12, Invalid=30, Unknown=0, NotChecked=0, Total=42 [2022-04-08 13:58:55,148 INFO L87 Difference]: Start difference. First operand 81 states and 100 transitions. Second operand has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-08 13:58:55,436 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:58:55,437 INFO L93 Difference]: Finished difference Result 97 states and 121 transitions. [2022-04-08 13:58:55,437 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-08 13:58:55,437 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) Word has length 33 [2022-04-08 13:58:55,437 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 13:58:55,437 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-08 13:58:55,438 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 65 transitions. [2022-04-08 13:58:55,438 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-08 13:58:55,439 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 65 transitions. [2022-04-08 13:58:55,439 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 65 transitions. [2022-04-08 13:58:55,485 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 13:58:55,486 INFO L225 Difference]: With dead ends: 97 [2022-04-08 13:58:55,486 INFO L226 Difference]: Without dead ends: 90 [2022-04-08 13:58:55,486 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 35 GetRequests, 26 SyntacticMatches, 1 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=26, Invalid=64, Unknown=0, NotChecked=0, Total=90 [2022-04-08 13:58:55,487 INFO L913 BasicCegarLoop]: 33 mSDtfsCounter, 30 mSDsluCounter, 82 mSDsCounter, 0 mSdLazyCounter, 81 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 32 SdHoareTripleChecker+Valid, 115 SdHoareTripleChecker+Invalid, 94 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 81 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 13:58:55,487 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [32 Valid, 115 Invalid, 94 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 81 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 13:58:55,487 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 90 states. [2022-04-08 13:58:55,538 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 90 to 85. [2022-04-08 13:58:55,539 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 13:58:55,539 INFO L82 GeneralOperation]: Start isEquivalent. First operand 90 states. Second operand has 85 states, 62 states have (on average 1.3064516129032258) internal successors, (81), 66 states have internal predecessors, (81), 14 states have call successors, (14), 9 states have call predecessors, (14), 8 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-08 13:58:55,539 INFO L74 IsIncluded]: Start isIncluded. First operand 90 states. Second operand has 85 states, 62 states have (on average 1.3064516129032258) internal successors, (81), 66 states have internal predecessors, (81), 14 states have call successors, (14), 9 states have call predecessors, (14), 8 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-08 13:58:55,539 INFO L87 Difference]: Start difference. First operand 90 states. Second operand has 85 states, 62 states have (on average 1.3064516129032258) internal successors, (81), 66 states have internal predecessors, (81), 14 states have call successors, (14), 9 states have call predecessors, (14), 8 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-08 13:58:55,545 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:58:55,545 INFO L93 Difference]: Finished difference Result 90 states and 114 transitions. [2022-04-08 13:58:55,545 INFO L276 IsEmpty]: Start isEmpty. Operand 90 states and 114 transitions. [2022-04-08 13:58:55,549 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:58:55,549 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:58:55,549 INFO L74 IsIncluded]: Start isIncluded. First operand has 85 states, 62 states have (on average 1.3064516129032258) internal successors, (81), 66 states have internal predecessors, (81), 14 states have call successors, (14), 9 states have call predecessors, (14), 8 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) Second operand 90 states. [2022-04-08 13:58:55,551 INFO L87 Difference]: Start difference. First operand has 85 states, 62 states have (on average 1.3064516129032258) internal successors, (81), 66 states have internal predecessors, (81), 14 states have call successors, (14), 9 states have call predecessors, (14), 8 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) Second operand 90 states. [2022-04-08 13:58:55,554 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:58:55,554 INFO L93 Difference]: Finished difference Result 90 states and 114 transitions. [2022-04-08 13:58:55,554 INFO L276 IsEmpty]: Start isEmpty. Operand 90 states and 114 transitions. [2022-04-08 13:58:55,554 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:58:55,554 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:58:55,554 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 13:58:55,555 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 13:58:55,555 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 85 states, 62 states have (on average 1.3064516129032258) internal successors, (81), 66 states have internal predecessors, (81), 14 states have call successors, (14), 9 states have call predecessors, (14), 8 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-08 13:58:55,557 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 85 states to 85 states and 106 transitions. [2022-04-08 13:58:55,557 INFO L78 Accepts]: Start accepts. Automaton has 85 states and 106 transitions. Word has length 33 [2022-04-08 13:58:55,557 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 13:58:55,557 INFO L478 AbstractCegarLoop]: Abstraction has 85 states and 106 transitions. [2022-04-08 13:58:55,557 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-08 13:58:55,558 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 85 states and 106 transitions. [2022-04-08 13:58:57,845 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 106 edges. 105 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 13:58:57,845 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 106 transitions. [2022-04-08 13:58:57,846 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2022-04-08 13:58:57,846 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 13:58:57,846 INFO L499 BasicCegarLoop]: trace histogram [3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 13:58:57,862 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-08 13:58:58,046 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-08 13:58:58,046 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 13:58:58,047 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 13:58:58,047 INFO L85 PathProgramCache]: Analyzing trace with hash 368374993, now seen corresponding path program 1 times [2022-04-08 13:58:58,047 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 13:58:58,047 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1098111184] [2022-04-08 13:59:04,109 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 13:59:04,109 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 13:59:04,109 INFO L85 PathProgramCache]: Analyzing trace with hash 368374993, now seen corresponding path program 2 times [2022-04-08 13:59:04,109 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 13:59:04,109 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1401506701] [2022-04-08 13:59:04,109 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 13:59:04,109 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 13:59:04,123 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 13:59:04,123 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1839533716] [2022-04-08 13:59:04,123 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 13:59:04,123 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 13:59:04,123 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 13:59:04,127 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 13:59:04,128 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-08 13:59:04,170 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 13:59:04,170 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 13:59:04,171 INFO L263 TraceCheckSpWp]: Trace formula consists of 122 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-08 13:59:04,177 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:59:04,178 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 13:59:12,391 INFO L272 TraceCheckUtils]: 0: Hoare triple {5587#true} call ULTIMATE.init(); {5587#true} is VALID [2022-04-08 13:59:12,391 INFO L290 TraceCheckUtils]: 1: Hoare triple {5587#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {5587#true} is VALID [2022-04-08 13:59:12,391 INFO L290 TraceCheckUtils]: 2: Hoare triple {5587#true} assume true; {5587#true} is VALID [2022-04-08 13:59:12,391 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5587#true} {5587#true} #77#return; {5587#true} is VALID [2022-04-08 13:59:12,391 INFO L272 TraceCheckUtils]: 4: Hoare triple {5587#true} call #t~ret7 := main(); {5587#true} is VALID [2022-04-08 13:59:12,392 INFO L290 TraceCheckUtils]: 5: Hoare triple {5587#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {5587#true} is VALID [2022-04-08 13:59:12,392 INFO L272 TraceCheckUtils]: 6: Hoare triple {5587#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {5587#true} is VALID [2022-04-08 13:59:12,392 INFO L290 TraceCheckUtils]: 7: Hoare triple {5587#true} ~cond := #in~cond; {5587#true} is VALID [2022-04-08 13:59:12,392 INFO L290 TraceCheckUtils]: 8: Hoare triple {5587#true} assume !(0 == ~cond); {5587#true} is VALID [2022-04-08 13:59:12,392 INFO L290 TraceCheckUtils]: 9: Hoare triple {5587#true} assume true; {5587#true} is VALID [2022-04-08 13:59:12,392 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5587#true} {5587#true} #69#return; {5587#true} is VALID [2022-04-08 13:59:12,392 INFO L290 TraceCheckUtils]: 11: Hoare triple {5587#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {5587#true} is VALID [2022-04-08 13:59:12,392 INFO L290 TraceCheckUtils]: 12: Hoare triple {5587#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5587#true} is VALID [2022-04-08 13:59:12,392 INFO L290 TraceCheckUtils]: 13: Hoare triple {5587#true} assume !!(#t~post6 < 100);havoc #t~post6; {5587#true} is VALID [2022-04-08 13:59:12,392 INFO L272 TraceCheckUtils]: 14: Hoare triple {5587#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {5587#true} is VALID [2022-04-08 13:59:12,392 INFO L290 TraceCheckUtils]: 15: Hoare triple {5587#true} ~cond := #in~cond; {5587#true} is VALID [2022-04-08 13:59:12,392 INFO L290 TraceCheckUtils]: 16: Hoare triple {5587#true} assume !(0 == ~cond); {5587#true} is VALID [2022-04-08 13:59:12,392 INFO L290 TraceCheckUtils]: 17: Hoare triple {5587#true} assume true; {5587#true} is VALID [2022-04-08 13:59:12,392 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {5587#true} {5587#true} #71#return; {5587#true} is VALID [2022-04-08 13:59:12,393 INFO L290 TraceCheckUtils]: 19: Hoare triple {5587#true} assume !!(0 != ~a~0 && 0 != ~b~0); {5649#(not (= main_~a~0 0))} is VALID [2022-04-08 13:59:12,394 INFO L290 TraceCheckUtils]: 20: Hoare triple {5649#(not (= main_~a~0 0))} assume !(0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2)); {5649#(not (= main_~a~0 0))} is VALID [2022-04-08 13:59:12,394 INFO L290 TraceCheckUtils]: 21: Hoare triple {5649#(not (= main_~a~0 0))} assume !(1 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2)); {5649#(not (= main_~a~0 0))} is VALID [2022-04-08 13:59:12,394 INFO L290 TraceCheckUtils]: 22: Hoare triple {5649#(not (= main_~a~0 0))} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 1 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~b~0 := ~b~0 - 1;~q~0 := ~q~0 + ~a~0 * ~p~0; {5649#(not (= main_~a~0 0))} is VALID [2022-04-08 13:59:12,394 INFO L290 TraceCheckUtils]: 23: Hoare triple {5649#(not (= main_~a~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5649#(not (= main_~a~0 0))} is VALID [2022-04-08 13:59:12,398 INFO L290 TraceCheckUtils]: 24: Hoare triple {5649#(not (= main_~a~0 0))} assume !!(#t~post6 < 100);havoc #t~post6; {5649#(not (= main_~a~0 0))} is VALID [2022-04-08 13:59:12,398 INFO L272 TraceCheckUtils]: 25: Hoare triple {5649#(not (= main_~a~0 0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {5587#true} is VALID [2022-04-08 13:59:12,398 INFO L290 TraceCheckUtils]: 26: Hoare triple {5587#true} ~cond := #in~cond; {5671#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 13:59:12,398 INFO L290 TraceCheckUtils]: 27: Hoare triple {5671#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {5675#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 13:59:12,399 INFO L290 TraceCheckUtils]: 28: Hoare triple {5675#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5675#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 13:59:14,401 WARN L284 TraceCheckUtils]: 29: Hoare quadruple {5675#(not (= |__VERIFIER_assert_#in~cond| 0))} {5649#(not (= main_~a~0 0))} #71#return; {5682#(and (or (and (= (mod (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) (* main_~b~0 main_~a~0)) 0) (not (= main_~b~0 0))) (= (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) 0)) (not (= main_~a~0 0)))} is UNKNOWN [2022-04-08 13:59:14,402 INFO L290 TraceCheckUtils]: 30: Hoare triple {5682#(and (or (and (= (mod (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) (* main_~b~0 main_~a~0)) 0) (not (= main_~b~0 0))) (= (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) 0)) (not (= main_~a~0 0)))} assume !(0 != ~a~0 && 0 != ~b~0); {5686#(= main_~q~0 (* main_~y~0 main_~x~0))} is VALID [2022-04-08 13:59:14,402 INFO L272 TraceCheckUtils]: 31: Hoare triple {5686#(= main_~q~0 (* main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {5690#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 13:59:14,403 INFO L290 TraceCheckUtils]: 32: Hoare triple {5690#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5694#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 13:59:14,403 INFO L290 TraceCheckUtils]: 33: Hoare triple {5694#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5588#false} is VALID [2022-04-08 13:59:14,403 INFO L290 TraceCheckUtils]: 34: Hoare triple {5588#false} assume !false; {5588#false} is VALID [2022-04-08 13:59:14,403 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 10 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-08 13:59:14,403 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 13:59:28,996 INFO L290 TraceCheckUtils]: 34: Hoare triple {5588#false} assume !false; {5588#false} is VALID [2022-04-08 13:59:28,997 INFO L290 TraceCheckUtils]: 33: Hoare triple {5694#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5588#false} is VALID [2022-04-08 13:59:28,997 INFO L290 TraceCheckUtils]: 32: Hoare triple {5690#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5694#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 13:59:28,998 INFO L272 TraceCheckUtils]: 31: Hoare triple {5686#(= main_~q~0 (* main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {5690#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 13:59:28,998 INFO L290 TraceCheckUtils]: 30: Hoare triple {5713#(or (= main_~q~0 (* main_~y~0 main_~x~0)) (and (not (= main_~b~0 0)) (not (= main_~a~0 0))))} assume !(0 != ~a~0 && 0 != ~b~0); {5686#(= main_~q~0 (* main_~y~0 main_~x~0))} is VALID [2022-04-08 13:59:28,999 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {5675#(not (= |__VERIFIER_assert_#in~cond| 0))} {5587#true} #71#return; {5713#(or (= main_~q~0 (* main_~y~0 main_~x~0)) (and (not (= main_~b~0 0)) (not (= main_~a~0 0))))} is VALID [2022-04-08 13:59:29,000 INFO L290 TraceCheckUtils]: 28: Hoare triple {5675#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5675#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 13:59:29,000 INFO L290 TraceCheckUtils]: 27: Hoare triple {5726#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {5675#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 13:59:29,000 INFO L290 TraceCheckUtils]: 26: Hoare triple {5587#true} ~cond := #in~cond; {5726#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 13:59:29,000 INFO L272 TraceCheckUtils]: 25: Hoare triple {5587#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {5587#true} is VALID [2022-04-08 13:59:29,000 INFO L290 TraceCheckUtils]: 24: Hoare triple {5587#true} assume !!(#t~post6 < 100);havoc #t~post6; {5587#true} is VALID [2022-04-08 13:59:29,001 INFO L290 TraceCheckUtils]: 23: Hoare triple {5587#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5587#true} is VALID [2022-04-08 13:59:29,001 INFO L290 TraceCheckUtils]: 22: Hoare triple {5587#true} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 1 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~b~0 := ~b~0 - 1;~q~0 := ~q~0 + ~a~0 * ~p~0; {5587#true} is VALID [2022-04-08 13:59:29,001 INFO L290 TraceCheckUtils]: 21: Hoare triple {5587#true} assume !(1 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2)); {5587#true} is VALID [2022-04-08 13:59:29,001 INFO L290 TraceCheckUtils]: 20: Hoare triple {5587#true} assume !(0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2)); {5587#true} is VALID [2022-04-08 13:59:29,001 INFO L290 TraceCheckUtils]: 19: Hoare triple {5587#true} assume !!(0 != ~a~0 && 0 != ~b~0); {5587#true} is VALID [2022-04-08 13:59:29,001 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {5587#true} {5587#true} #71#return; {5587#true} is VALID [2022-04-08 13:59:29,001 INFO L290 TraceCheckUtils]: 17: Hoare triple {5587#true} assume true; {5587#true} is VALID [2022-04-08 13:59:29,001 INFO L290 TraceCheckUtils]: 16: Hoare triple {5587#true} assume !(0 == ~cond); {5587#true} is VALID [2022-04-08 13:59:29,001 INFO L290 TraceCheckUtils]: 15: Hoare triple {5587#true} ~cond := #in~cond; {5587#true} is VALID [2022-04-08 13:59:29,001 INFO L272 TraceCheckUtils]: 14: Hoare triple {5587#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {5587#true} is VALID [2022-04-08 13:59:29,001 INFO L290 TraceCheckUtils]: 13: Hoare triple {5587#true} assume !!(#t~post6 < 100);havoc #t~post6; {5587#true} is VALID [2022-04-08 13:59:29,001 INFO L290 TraceCheckUtils]: 12: Hoare triple {5587#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5587#true} is VALID [2022-04-08 13:59:29,001 INFO L290 TraceCheckUtils]: 11: Hoare triple {5587#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {5587#true} is VALID [2022-04-08 13:59:29,001 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5587#true} {5587#true} #69#return; {5587#true} is VALID [2022-04-08 13:59:29,002 INFO L290 TraceCheckUtils]: 9: Hoare triple {5587#true} assume true; {5587#true} is VALID [2022-04-08 13:59:29,002 INFO L290 TraceCheckUtils]: 8: Hoare triple {5587#true} assume !(0 == ~cond); {5587#true} is VALID [2022-04-08 13:59:29,002 INFO L290 TraceCheckUtils]: 7: Hoare triple {5587#true} ~cond := #in~cond; {5587#true} is VALID [2022-04-08 13:59:29,002 INFO L272 TraceCheckUtils]: 6: Hoare triple {5587#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {5587#true} is VALID [2022-04-08 13:59:29,002 INFO L290 TraceCheckUtils]: 5: Hoare triple {5587#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {5587#true} is VALID [2022-04-08 13:59:29,002 INFO L272 TraceCheckUtils]: 4: Hoare triple {5587#true} call #t~ret7 := main(); {5587#true} is VALID [2022-04-08 13:59:29,002 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5587#true} {5587#true} #77#return; {5587#true} is VALID [2022-04-08 13:59:29,002 INFO L290 TraceCheckUtils]: 2: Hoare triple {5587#true} assume true; {5587#true} is VALID [2022-04-08 13:59:29,002 INFO L290 TraceCheckUtils]: 1: Hoare triple {5587#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {5587#true} is VALID [2022-04-08 13:59:29,002 INFO L272 TraceCheckUtils]: 0: Hoare triple {5587#true} call ULTIMATE.init(); {5587#true} is VALID [2022-04-08 13:59:29,002 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 7 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-08 13:59:29,002 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 13:59:29,003 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1401506701] [2022-04-08 13:59:29,003 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 13:59:29,003 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1839533716] [2022-04-08 13:59:29,003 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1839533716] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 13:59:29,003 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 13:59:29,003 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 11 [2022-04-08 13:59:29,003 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 13:59:29,003 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1098111184] [2022-04-08 13:59:29,003 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1098111184] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 13:59:29,003 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 13:59:29,003 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 13:59:29,003 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2023949513] [2022-04-08 13:59:29,003 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 13:59:29,004 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 3.125) internal successors, (25), 7 states have internal predecessors, (25), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 35 [2022-04-08 13:59:29,004 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 13:59:29,004 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 3.125) internal successors, (25), 7 states have internal predecessors, (25), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 13:59:31,032 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 34 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 13:59:31,032 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-08 13:59:31,032 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 13:59:31,032 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-08 13:59:31,032 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=84, Unknown=0, NotChecked=0, Total=110 [2022-04-08 13:59:31,032 INFO L87 Difference]: Start difference. First operand 85 states and 106 transitions. Second operand has 9 states, 8 states have (on average 3.125) internal successors, (25), 7 states have internal predecessors, (25), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 13:59:33,977 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 13:59:34,377 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:59:34,377 INFO L93 Difference]: Finished difference Result 103 states and 133 transitions. [2022-04-08 13:59:34,377 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 13:59:34,378 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 3.125) internal successors, (25), 7 states have internal predecessors, (25), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 35 [2022-04-08 13:59:34,378 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 13:59:34,378 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 3.125) internal successors, (25), 7 states have internal predecessors, (25), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 13:59:34,379 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 56 transitions. [2022-04-08 13:59:34,379 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 3.125) internal successors, (25), 7 states have internal predecessors, (25), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 13:59:34,379 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 56 transitions. [2022-04-08 13:59:34,379 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 56 transitions. [2022-04-08 13:59:36,432 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 55 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 13:59:36,434 INFO L225 Difference]: With dead ends: 103 [2022-04-08 13:59:36,434 INFO L226 Difference]: Without dead ends: 101 [2022-04-08 13:59:36,434 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 72 GetRequests, 59 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 17 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=45, Invalid=137, Unknown=0, NotChecked=0, Total=182 [2022-04-08 13:59:36,435 INFO L913 BasicCegarLoop]: 26 mSDtfsCounter, 16 mSDsluCounter, 99 mSDsCounter, 0 mSdLazyCounter, 147 mSolverCounterSat, 8 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 125 SdHoareTripleChecker+Invalid, 156 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 147 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.6s IncrementalHoareTripleChecker+Time [2022-04-08 13:59:36,435 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [18 Valid, 125 Invalid, 156 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 147 Invalid, 1 Unknown, 0 Unchecked, 2.6s Time] [2022-04-08 13:59:36,435 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 101 states. [2022-04-08 13:59:36,521 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 101 to 94. [2022-04-08 13:59:36,521 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 13:59:36,521 INFO L82 GeneralOperation]: Start isEquivalent. First operand 101 states. Second operand has 94 states, 68 states have (on average 1.3088235294117647) internal successors, (89), 73 states have internal predecessors, (89), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (13), 10 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 13:59:36,522 INFO L74 IsIncluded]: Start isIncluded. First operand 101 states. Second operand has 94 states, 68 states have (on average 1.3088235294117647) internal successors, (89), 73 states have internal predecessors, (89), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (13), 10 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 13:59:36,522 INFO L87 Difference]: Start difference. First operand 101 states. Second operand has 94 states, 68 states have (on average 1.3088235294117647) internal successors, (89), 73 states have internal predecessors, (89), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (13), 10 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 13:59:36,523 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:59:36,524 INFO L93 Difference]: Finished difference Result 101 states and 131 transitions. [2022-04-08 13:59:36,524 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 131 transitions. [2022-04-08 13:59:36,524 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:59:36,524 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:59:36,524 INFO L74 IsIncluded]: Start isIncluded. First operand has 94 states, 68 states have (on average 1.3088235294117647) internal successors, (89), 73 states have internal predecessors, (89), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (13), 10 states have call predecessors, (13), 13 states have call successors, (13) Second operand 101 states. [2022-04-08 13:59:36,524 INFO L87 Difference]: Start difference. First operand has 94 states, 68 states have (on average 1.3088235294117647) internal successors, (89), 73 states have internal predecessors, (89), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (13), 10 states have call predecessors, (13), 13 states have call successors, (13) Second operand 101 states. [2022-04-08 13:59:36,526 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:59:36,526 INFO L93 Difference]: Finished difference Result 101 states and 131 transitions. [2022-04-08 13:59:36,526 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 131 transitions. [2022-04-08 13:59:36,526 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:59:36,526 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:59:36,526 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 13:59:36,526 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 13:59:36,527 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 94 states, 68 states have (on average 1.3088235294117647) internal successors, (89), 73 states have internal predecessors, (89), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (13), 10 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 13:59:36,528 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 94 states to 94 states and 118 transitions. [2022-04-08 13:59:36,528 INFO L78 Accepts]: Start accepts. Automaton has 94 states and 118 transitions. Word has length 35 [2022-04-08 13:59:36,528 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 13:59:36,528 INFO L478 AbstractCegarLoop]: Abstraction has 94 states and 118 transitions. [2022-04-08 13:59:36,528 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 3.125) internal successors, (25), 7 states have internal predecessors, (25), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 13:59:36,528 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 94 states and 118 transitions. [2022-04-08 13:59:42,864 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 118 edges. 115 inductive. 0 not inductive. 3 times theorem prover too weak to decide inductivity. [2022-04-08 13:59:42,864 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 118 transitions. [2022-04-08 13:59:42,864 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2022-04-08 13:59:42,864 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 13:59:42,864 INFO L499 BasicCegarLoop]: trace histogram [3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 13:59:42,880 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Forceful destruction successful, exit code 0 [2022-04-08 13:59:43,065 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-04-08 13:59:43,065 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 13:59:43,065 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 13:59:43,065 INFO L85 PathProgramCache]: Analyzing trace with hash -218431021, now seen corresponding path program 1 times [2022-04-08 13:59:43,065 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 13:59:43,065 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [724038976] [2022-04-08 13:59:49,116 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 13:59:49,116 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 13:59:49,116 INFO L85 PathProgramCache]: Analyzing trace with hash -218431021, now seen corresponding path program 2 times [2022-04-08 13:59:49,116 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 13:59:49,116 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1332945866] [2022-04-08 13:59:49,116 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 13:59:49,116 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 13:59:49,127 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 13:59:49,127 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1395264983] [2022-04-08 13:59:49,127 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 13:59:49,128 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 13:59:49,128 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 13:59:49,128 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 13:59:49,129 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2022-04-08 13:59:49,187 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 13:59:49,187 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 13:59:49,187 INFO L263 TraceCheckSpWp]: Trace formula consists of 121 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-08 13:59:49,194 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:59:49,195 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 13:59:59,356 INFO L272 TraceCheckUtils]: 0: Hoare triple {6409#true} call ULTIMATE.init(); {6409#true} is VALID [2022-04-08 13:59:59,356 INFO L290 TraceCheckUtils]: 1: Hoare triple {6409#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {6409#true} is VALID [2022-04-08 13:59:59,357 INFO L290 TraceCheckUtils]: 2: Hoare triple {6409#true} assume true; {6409#true} is VALID [2022-04-08 13:59:59,357 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6409#true} {6409#true} #77#return; {6409#true} is VALID [2022-04-08 13:59:59,357 INFO L272 TraceCheckUtils]: 4: Hoare triple {6409#true} call #t~ret7 := main(); {6409#true} is VALID [2022-04-08 13:59:59,357 INFO L290 TraceCheckUtils]: 5: Hoare triple {6409#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6409#true} is VALID [2022-04-08 13:59:59,357 INFO L272 TraceCheckUtils]: 6: Hoare triple {6409#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6409#true} is VALID [2022-04-08 13:59:59,357 INFO L290 TraceCheckUtils]: 7: Hoare triple {6409#true} ~cond := #in~cond; {6409#true} is VALID [2022-04-08 13:59:59,357 INFO L290 TraceCheckUtils]: 8: Hoare triple {6409#true} assume !(0 == ~cond); {6409#true} is VALID [2022-04-08 13:59:59,357 INFO L290 TraceCheckUtils]: 9: Hoare triple {6409#true} assume true; {6409#true} is VALID [2022-04-08 13:59:59,357 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6409#true} {6409#true} #69#return; {6409#true} is VALID [2022-04-08 13:59:59,357 INFO L290 TraceCheckUtils]: 11: Hoare triple {6409#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {6409#true} is VALID [2022-04-08 13:59:59,357 INFO L290 TraceCheckUtils]: 12: Hoare triple {6409#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6409#true} is VALID [2022-04-08 13:59:59,357 INFO L290 TraceCheckUtils]: 13: Hoare triple {6409#true} assume !!(#t~post6 < 100);havoc #t~post6; {6409#true} is VALID [2022-04-08 13:59:59,357 INFO L272 TraceCheckUtils]: 14: Hoare triple {6409#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {6409#true} is VALID [2022-04-08 13:59:59,358 INFO L290 TraceCheckUtils]: 15: Hoare triple {6409#true} ~cond := #in~cond; {6409#true} is VALID [2022-04-08 13:59:59,358 INFO L290 TraceCheckUtils]: 16: Hoare triple {6409#true} assume !(0 == ~cond); {6409#true} is VALID [2022-04-08 13:59:59,358 INFO L290 TraceCheckUtils]: 17: Hoare triple {6409#true} assume true; {6409#true} is VALID [2022-04-08 13:59:59,358 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {6409#true} {6409#true} #71#return; {6409#true} is VALID [2022-04-08 13:59:59,358 INFO L290 TraceCheckUtils]: 19: Hoare triple {6409#true} assume !!(0 != ~a~0 && 0 != ~b~0); {6409#true} is VALID [2022-04-08 13:59:59,358 INFO L290 TraceCheckUtils]: 20: Hoare triple {6409#true} assume !(0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2)); {6409#true} is VALID [2022-04-08 13:59:59,358 INFO L290 TraceCheckUtils]: 21: Hoare triple {6409#true} assume !(1 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2)); {6409#true} is VALID [2022-04-08 13:59:59,358 INFO L290 TraceCheckUtils]: 22: Hoare triple {6409#true} assume !(0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 1 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2));~a~0 := ~a~0 - 1;~b~0 := ~b~0 - 1;~q~0 := ~q~0 + (1 + (~a~0 + ~b~0)) * ~p~0; {6409#true} is VALID [2022-04-08 13:59:59,358 INFO L290 TraceCheckUtils]: 23: Hoare triple {6409#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6409#true} is VALID [2022-04-08 13:59:59,358 INFO L290 TraceCheckUtils]: 24: Hoare triple {6409#true} assume !!(#t~post6 < 100);havoc #t~post6; {6409#true} is VALID [2022-04-08 13:59:59,358 INFO L272 TraceCheckUtils]: 25: Hoare triple {6409#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {6409#true} is VALID [2022-04-08 13:59:59,359 INFO L290 TraceCheckUtils]: 26: Hoare triple {6409#true} ~cond := #in~cond; {6492#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 13:59:59,360 INFO L290 TraceCheckUtils]: 27: Hoare triple {6492#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6496#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 13:59:59,361 INFO L290 TraceCheckUtils]: 28: Hoare triple {6496#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6496#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 14:00:01,363 WARN L284 TraceCheckUtils]: 29: Hoare quadruple {6496#(not (= |__VERIFIER_assert_#in~cond| 0))} {6409#true} #71#return; {6503#(or (= main_~q~0 (* main_~y~0 main_~x~0)) (and (= (mod (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) (* main_~b~0 main_~a~0)) 0) (not (= main_~b~0 0)) (not (= main_~a~0 0))))} is UNKNOWN [2022-04-08 14:00:01,364 INFO L290 TraceCheckUtils]: 30: Hoare triple {6503#(or (= main_~q~0 (* main_~y~0 main_~x~0)) (and (= (mod (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) (* main_~b~0 main_~a~0)) 0) (not (= main_~b~0 0)) (not (= main_~a~0 0))))} assume !(0 != ~a~0 && 0 != ~b~0); {6507#(= main_~q~0 (* main_~y~0 main_~x~0))} is VALID [2022-04-08 14:00:01,365 INFO L272 TraceCheckUtils]: 31: Hoare triple {6507#(= main_~q~0 (* main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {6511#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 14:00:01,365 INFO L290 TraceCheckUtils]: 32: Hoare triple {6511#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6515#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 14:00:01,365 INFO L290 TraceCheckUtils]: 33: Hoare triple {6515#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6410#false} is VALID [2022-04-08 14:00:01,366 INFO L290 TraceCheckUtils]: 34: Hoare triple {6410#false} assume !false; {6410#false} is VALID [2022-04-08 14:00:01,366 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 7 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-08 14:00:01,366 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 14:00:15,083 INFO L290 TraceCheckUtils]: 34: Hoare triple {6410#false} assume !false; {6410#false} is VALID [2022-04-08 14:00:15,083 INFO L290 TraceCheckUtils]: 33: Hoare triple {6515#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6410#false} is VALID [2022-04-08 14:00:15,084 INFO L290 TraceCheckUtils]: 32: Hoare triple {6511#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6515#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 14:00:15,084 INFO L272 TraceCheckUtils]: 31: Hoare triple {6507#(= main_~q~0 (* main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {6511#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 14:00:15,085 INFO L290 TraceCheckUtils]: 30: Hoare triple {6534#(or (= main_~q~0 (* main_~y~0 main_~x~0)) (and (not (= main_~b~0 0)) (not (= main_~a~0 0))))} assume !(0 != ~a~0 && 0 != ~b~0); {6507#(= main_~q~0 (* main_~y~0 main_~x~0))} is VALID [2022-04-08 14:00:15,086 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {6496#(not (= |__VERIFIER_assert_#in~cond| 0))} {6409#true} #71#return; {6534#(or (= main_~q~0 (* main_~y~0 main_~x~0)) (and (not (= main_~b~0 0)) (not (= main_~a~0 0))))} is VALID [2022-04-08 14:00:15,086 INFO L290 TraceCheckUtils]: 28: Hoare triple {6496#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6496#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 14:00:15,087 INFO L290 TraceCheckUtils]: 27: Hoare triple {6547#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {6496#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 14:00:15,087 INFO L290 TraceCheckUtils]: 26: Hoare triple {6409#true} ~cond := #in~cond; {6547#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 14:00:15,087 INFO L272 TraceCheckUtils]: 25: Hoare triple {6409#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {6409#true} is VALID [2022-04-08 14:00:15,087 INFO L290 TraceCheckUtils]: 24: Hoare triple {6409#true} assume !!(#t~post6 < 100);havoc #t~post6; {6409#true} is VALID [2022-04-08 14:00:15,087 INFO L290 TraceCheckUtils]: 23: Hoare triple {6409#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6409#true} is VALID [2022-04-08 14:00:15,087 INFO L290 TraceCheckUtils]: 22: Hoare triple {6409#true} assume !(0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 1 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2));~a~0 := ~a~0 - 1;~b~0 := ~b~0 - 1;~q~0 := ~q~0 + (1 + (~a~0 + ~b~0)) * ~p~0; {6409#true} is VALID [2022-04-08 14:00:15,087 INFO L290 TraceCheckUtils]: 21: Hoare triple {6409#true} assume !(1 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2)); {6409#true} is VALID [2022-04-08 14:00:15,087 INFO L290 TraceCheckUtils]: 20: Hoare triple {6409#true} assume !(0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2)); {6409#true} is VALID [2022-04-08 14:00:15,087 INFO L290 TraceCheckUtils]: 19: Hoare triple {6409#true} assume !!(0 != ~a~0 && 0 != ~b~0); {6409#true} is VALID [2022-04-08 14:00:15,088 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {6409#true} {6409#true} #71#return; {6409#true} is VALID [2022-04-08 14:00:15,088 INFO L290 TraceCheckUtils]: 17: Hoare triple {6409#true} assume true; {6409#true} is VALID [2022-04-08 14:00:15,088 INFO L290 TraceCheckUtils]: 16: Hoare triple {6409#true} assume !(0 == ~cond); {6409#true} is VALID [2022-04-08 14:00:15,088 INFO L290 TraceCheckUtils]: 15: Hoare triple {6409#true} ~cond := #in~cond; {6409#true} is VALID [2022-04-08 14:00:15,088 INFO L272 TraceCheckUtils]: 14: Hoare triple {6409#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {6409#true} is VALID [2022-04-08 14:00:15,088 INFO L290 TraceCheckUtils]: 13: Hoare triple {6409#true} assume !!(#t~post6 < 100);havoc #t~post6; {6409#true} is VALID [2022-04-08 14:00:15,088 INFO L290 TraceCheckUtils]: 12: Hoare triple {6409#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6409#true} is VALID [2022-04-08 14:00:15,088 INFO L290 TraceCheckUtils]: 11: Hoare triple {6409#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {6409#true} is VALID [2022-04-08 14:00:15,088 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6409#true} {6409#true} #69#return; {6409#true} is VALID [2022-04-08 14:00:15,088 INFO L290 TraceCheckUtils]: 9: Hoare triple {6409#true} assume true; {6409#true} is VALID [2022-04-08 14:00:15,088 INFO L290 TraceCheckUtils]: 8: Hoare triple {6409#true} assume !(0 == ~cond); {6409#true} is VALID [2022-04-08 14:00:15,088 INFO L290 TraceCheckUtils]: 7: Hoare triple {6409#true} ~cond := #in~cond; {6409#true} is VALID [2022-04-08 14:00:15,088 INFO L272 TraceCheckUtils]: 6: Hoare triple {6409#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6409#true} is VALID [2022-04-08 14:00:15,088 INFO L290 TraceCheckUtils]: 5: Hoare triple {6409#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6409#true} is VALID [2022-04-08 14:00:15,089 INFO L272 TraceCheckUtils]: 4: Hoare triple {6409#true} call #t~ret7 := main(); {6409#true} is VALID [2022-04-08 14:00:15,089 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6409#true} {6409#true} #77#return; {6409#true} is VALID [2022-04-08 14:00:15,089 INFO L290 TraceCheckUtils]: 2: Hoare triple {6409#true} assume true; {6409#true} is VALID [2022-04-08 14:00:15,089 INFO L290 TraceCheckUtils]: 1: Hoare triple {6409#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {6409#true} is VALID [2022-04-08 14:00:15,089 INFO L272 TraceCheckUtils]: 0: Hoare triple {6409#true} call ULTIMATE.init(); {6409#true} is VALID [2022-04-08 14:00:15,089 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 7 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-08 14:00:15,089 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 14:00:15,089 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1332945866] [2022-04-08 14:00:15,089 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 14:00:15,089 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1395264983] [2022-04-08 14:00:15,089 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1395264983] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 14:00:15,089 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 14:00:15,090 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 10 [2022-04-08 14:00:15,090 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 14:00:15,090 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [724038976] [2022-04-08 14:00:15,090 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [724038976] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 14:00:15,090 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 14:00:15,090 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 14:00:15,090 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [44042787] [2022-04-08 14:00:15,090 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 14:00:15,090 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 3.2857142857142856) internal successors, (23), 6 states have internal predecessors, (23), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) Word has length 35 [2022-04-08 14:00:15,090 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 14:00:15,091 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 7 states have (on average 3.2857142857142856) internal successors, (23), 6 states have internal predecessors, (23), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-08 14:00:17,113 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 31 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 14:00:17,114 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 14:00:17,114 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 14:00:17,114 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 14:00:17,114 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=66, Unknown=0, NotChecked=0, Total=90 [2022-04-08 14:00:17,114 INFO L87 Difference]: Start difference. First operand 94 states and 118 transitions. Second operand has 8 states, 7 states have (on average 3.2857142857142856) internal successors, (23), 6 states have internal predecessors, (23), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-08 14:00:19,666 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 14:00:23,557 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:00:23,558 INFO L93 Difference]: Finished difference Result 101 states and 125 transitions. [2022-04-08 14:00:23,558 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 14:00:23,558 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 3.2857142857142856) internal successors, (23), 6 states have internal predecessors, (23), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) Word has length 35 [2022-04-08 14:00:23,558 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 14:00:23,558 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 3.2857142857142856) internal successors, (23), 6 states have internal predecessors, (23), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-08 14:00:23,559 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 44 transitions. [2022-04-08 14:00:23,559 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 3.2857142857142856) internal successors, (23), 6 states have internal predecessors, (23), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-08 14:00:23,559 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 44 transitions. [2022-04-08 14:00:23,559 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 44 transitions. [2022-04-08 14:00:25,601 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 43 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 14:00:25,602 INFO L225 Difference]: With dead ends: 101 [2022-04-08 14:00:25,603 INFO L226 Difference]: Without dead ends: 98 [2022-04-08 14:00:25,603 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 71 GetRequests, 60 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=37, Invalid=95, Unknown=0, NotChecked=0, Total=132 [2022-04-08 14:00:25,603 INFO L913 BasicCegarLoop]: 22 mSDtfsCounter, 15 mSDsluCounter, 99 mSDsCounter, 0 mSdLazyCounter, 113 mSolverCounterSat, 3 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 16 SdHoareTripleChecker+Valid, 121 SdHoareTripleChecker+Invalid, 117 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 113 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 3.8s IncrementalHoareTripleChecker+Time [2022-04-08 14:00:25,603 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [16 Valid, 121 Invalid, 117 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 113 Invalid, 1 Unknown, 0 Unchecked, 3.8s Time] [2022-04-08 14:00:25,604 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 98 states. [2022-04-08 14:00:25,704 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 98 to 72. [2022-04-08 14:00:25,704 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 14:00:25,704 INFO L82 GeneralOperation]: Start isEquivalent. First operand 98 states. Second operand has 72 states, 52 states have (on average 1.2692307692307692) internal successors, (66), 55 states have internal predecessors, (66), 11 states have call successors, (11), 9 states have call predecessors, (11), 8 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 14:00:25,704 INFO L74 IsIncluded]: Start isIncluded. First operand 98 states. Second operand has 72 states, 52 states have (on average 1.2692307692307692) internal successors, (66), 55 states have internal predecessors, (66), 11 states have call successors, (11), 9 states have call predecessors, (11), 8 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 14:00:25,705 INFO L87 Difference]: Start difference. First operand 98 states. Second operand has 72 states, 52 states have (on average 1.2692307692307692) internal successors, (66), 55 states have internal predecessors, (66), 11 states have call successors, (11), 9 states have call predecessors, (11), 8 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 14:00:25,706 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:00:25,706 INFO L93 Difference]: Finished difference Result 98 states and 121 transitions. [2022-04-08 14:00:25,706 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 121 transitions. [2022-04-08 14:00:25,707 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:00:25,707 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:00:25,707 INFO L74 IsIncluded]: Start isIncluded. First operand has 72 states, 52 states have (on average 1.2692307692307692) internal successors, (66), 55 states have internal predecessors, (66), 11 states have call successors, (11), 9 states have call predecessors, (11), 8 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) Second operand 98 states. [2022-04-08 14:00:25,710 INFO L87 Difference]: Start difference. First operand has 72 states, 52 states have (on average 1.2692307692307692) internal successors, (66), 55 states have internal predecessors, (66), 11 states have call successors, (11), 9 states have call predecessors, (11), 8 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) Second operand 98 states. [2022-04-08 14:00:25,711 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:00:25,712 INFO L93 Difference]: Finished difference Result 98 states and 121 transitions. [2022-04-08 14:00:25,712 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 121 transitions. [2022-04-08 14:00:25,712 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:00:25,712 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:00:25,712 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 14:00:25,712 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 14:00:25,712 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 72 states, 52 states have (on average 1.2692307692307692) internal successors, (66), 55 states have internal predecessors, (66), 11 states have call successors, (11), 9 states have call predecessors, (11), 8 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 14:00:25,713 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 72 states to 72 states and 86 transitions. [2022-04-08 14:00:25,713 INFO L78 Accepts]: Start accepts. Automaton has 72 states and 86 transitions. Word has length 35 [2022-04-08 14:00:25,713 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 14:00:25,713 INFO L478 AbstractCegarLoop]: Abstraction has 72 states and 86 transitions. [2022-04-08 14:00:25,713 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 3.2857142857142856) internal successors, (23), 6 states have internal predecessors, (23), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-08 14:00:25,713 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 72 states and 86 transitions. [2022-04-08 14:00:29,999 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 86 edges. 84 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-08 14:00:30,000 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 86 transitions. [2022-04-08 14:00:30,000 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-04-08 14:00:30,000 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 14:00:30,000 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 14:00:30,016 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Forceful destruction successful, exit code 0 [2022-04-08 14:00:30,200 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-08 14:00:30,201 INFO L403 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 14:00:30,201 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 14:00:30,201 INFO L85 PathProgramCache]: Analyzing trace with hash 604176890, now seen corresponding path program 3 times [2022-04-08 14:00:30,201 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 14:00:30,201 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [840687762] [2022-04-08 14:00:36,256 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 14:00:36,256 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 14:00:36,256 INFO L85 PathProgramCache]: Analyzing trace with hash 604176890, now seen corresponding path program 4 times [2022-04-08 14:00:36,256 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 14:00:36,256 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1111258182] [2022-04-08 14:00:36,256 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 14:00:36,256 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 14:00:36,266 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 14:00:36,266 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [528419056] [2022-04-08 14:00:36,267 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 14:00:36,267 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 14:00:36,267 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 14:00:36,268 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 14:00:36,269 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Waiting until timeout for monitored process [2022-04-08 14:00:36,307 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 14:00:36,307 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 14:00:36,308 INFO L263 TraceCheckSpWp]: Trace formula consists of 138 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-08 14:00:36,315 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 14:00:36,316 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 14:00:36,487 INFO L272 TraceCheckUtils]: 0: Hoare triple {7174#true} call ULTIMATE.init(); {7174#true} is VALID [2022-04-08 14:00:36,488 INFO L290 TraceCheckUtils]: 1: Hoare triple {7174#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {7182#(<= ~counter~0 0)} is VALID [2022-04-08 14:00:36,488 INFO L290 TraceCheckUtils]: 2: Hoare triple {7182#(<= ~counter~0 0)} assume true; {7182#(<= ~counter~0 0)} is VALID [2022-04-08 14:00:36,488 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7182#(<= ~counter~0 0)} {7174#true} #77#return; {7182#(<= ~counter~0 0)} is VALID [2022-04-08 14:00:36,489 INFO L272 TraceCheckUtils]: 4: Hoare triple {7182#(<= ~counter~0 0)} call #t~ret7 := main(); {7182#(<= ~counter~0 0)} is VALID [2022-04-08 14:00:36,489 INFO L290 TraceCheckUtils]: 5: Hoare triple {7182#(<= ~counter~0 0)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {7182#(<= ~counter~0 0)} is VALID [2022-04-08 14:00:36,490 INFO L272 TraceCheckUtils]: 6: Hoare triple {7182#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7182#(<= ~counter~0 0)} is VALID [2022-04-08 14:00:36,490 INFO L290 TraceCheckUtils]: 7: Hoare triple {7182#(<= ~counter~0 0)} ~cond := #in~cond; {7182#(<= ~counter~0 0)} is VALID [2022-04-08 14:00:36,490 INFO L290 TraceCheckUtils]: 8: Hoare triple {7182#(<= ~counter~0 0)} assume !(0 == ~cond); {7182#(<= ~counter~0 0)} is VALID [2022-04-08 14:00:36,491 INFO L290 TraceCheckUtils]: 9: Hoare triple {7182#(<= ~counter~0 0)} assume true; {7182#(<= ~counter~0 0)} is VALID [2022-04-08 14:00:36,491 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7182#(<= ~counter~0 0)} {7182#(<= ~counter~0 0)} #69#return; {7182#(<= ~counter~0 0)} is VALID [2022-04-08 14:00:36,491 INFO L290 TraceCheckUtils]: 11: Hoare triple {7182#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {7182#(<= ~counter~0 0)} is VALID [2022-04-08 14:00:36,492 INFO L290 TraceCheckUtils]: 12: Hoare triple {7182#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7216#(<= ~counter~0 1)} is VALID [2022-04-08 14:00:36,492 INFO L290 TraceCheckUtils]: 13: Hoare triple {7216#(<= ~counter~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {7216#(<= ~counter~0 1)} is VALID [2022-04-08 14:00:36,493 INFO L272 TraceCheckUtils]: 14: Hoare triple {7216#(<= ~counter~0 1)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {7216#(<= ~counter~0 1)} is VALID [2022-04-08 14:00:36,493 INFO L290 TraceCheckUtils]: 15: Hoare triple {7216#(<= ~counter~0 1)} ~cond := #in~cond; {7216#(<= ~counter~0 1)} is VALID [2022-04-08 14:00:36,494 INFO L290 TraceCheckUtils]: 16: Hoare triple {7216#(<= ~counter~0 1)} assume !(0 == ~cond); {7216#(<= ~counter~0 1)} is VALID [2022-04-08 14:00:36,494 INFO L290 TraceCheckUtils]: 17: Hoare triple {7216#(<= ~counter~0 1)} assume true; {7216#(<= ~counter~0 1)} is VALID [2022-04-08 14:00:36,495 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {7216#(<= ~counter~0 1)} {7216#(<= ~counter~0 1)} #71#return; {7216#(<= ~counter~0 1)} is VALID [2022-04-08 14:00:36,495 INFO L290 TraceCheckUtils]: 19: Hoare triple {7216#(<= ~counter~0 1)} assume !!(0 != ~a~0 && 0 != ~b~0); {7216#(<= ~counter~0 1)} is VALID [2022-04-08 14:00:36,495 INFO L290 TraceCheckUtils]: 20: Hoare triple {7216#(<= ~counter~0 1)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {7216#(<= ~counter~0 1)} is VALID [2022-04-08 14:00:36,496 INFO L290 TraceCheckUtils]: 21: Hoare triple {7216#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7244#(<= ~counter~0 2)} is VALID [2022-04-08 14:00:36,496 INFO L290 TraceCheckUtils]: 22: Hoare triple {7244#(<= ~counter~0 2)} assume !!(#t~post6 < 100);havoc #t~post6; {7244#(<= ~counter~0 2)} is VALID [2022-04-08 14:00:36,497 INFO L272 TraceCheckUtils]: 23: Hoare triple {7244#(<= ~counter~0 2)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {7244#(<= ~counter~0 2)} is VALID [2022-04-08 14:00:36,497 INFO L290 TraceCheckUtils]: 24: Hoare triple {7244#(<= ~counter~0 2)} ~cond := #in~cond; {7244#(<= ~counter~0 2)} is VALID [2022-04-08 14:00:36,497 INFO L290 TraceCheckUtils]: 25: Hoare triple {7244#(<= ~counter~0 2)} assume !(0 == ~cond); {7244#(<= ~counter~0 2)} is VALID [2022-04-08 14:00:36,498 INFO L290 TraceCheckUtils]: 26: Hoare triple {7244#(<= ~counter~0 2)} assume true; {7244#(<= ~counter~0 2)} is VALID [2022-04-08 14:00:36,498 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {7244#(<= ~counter~0 2)} {7244#(<= ~counter~0 2)} #71#return; {7244#(<= ~counter~0 2)} is VALID [2022-04-08 14:00:36,499 INFO L290 TraceCheckUtils]: 28: Hoare triple {7244#(<= ~counter~0 2)} assume !!(0 != ~a~0 && 0 != ~b~0); {7244#(<= ~counter~0 2)} is VALID [2022-04-08 14:00:36,499 INFO L290 TraceCheckUtils]: 29: Hoare triple {7244#(<= ~counter~0 2)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {7244#(<= ~counter~0 2)} is VALID [2022-04-08 14:00:36,499 INFO L290 TraceCheckUtils]: 30: Hoare triple {7244#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7272#(<= |main_#t~post6| 2)} is VALID [2022-04-08 14:00:36,500 INFO L290 TraceCheckUtils]: 31: Hoare triple {7272#(<= |main_#t~post6| 2)} assume !(#t~post6 < 100);havoc #t~post6; {7175#false} is VALID [2022-04-08 14:00:36,500 INFO L272 TraceCheckUtils]: 32: Hoare triple {7175#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {7175#false} is VALID [2022-04-08 14:00:36,500 INFO L290 TraceCheckUtils]: 33: Hoare triple {7175#false} ~cond := #in~cond; {7175#false} is VALID [2022-04-08 14:00:36,500 INFO L290 TraceCheckUtils]: 34: Hoare triple {7175#false} assume 0 == ~cond; {7175#false} is VALID [2022-04-08 14:00:36,500 INFO L290 TraceCheckUtils]: 35: Hoare triple {7175#false} assume !false; {7175#false} is VALID [2022-04-08 14:00:36,500 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 4 proven. 13 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 14:00:36,500 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 14:00:36,686 INFO L290 TraceCheckUtils]: 35: Hoare triple {7175#false} assume !false; {7175#false} is VALID [2022-04-08 14:00:36,686 INFO L290 TraceCheckUtils]: 34: Hoare triple {7175#false} assume 0 == ~cond; {7175#false} is VALID [2022-04-08 14:00:36,686 INFO L290 TraceCheckUtils]: 33: Hoare triple {7175#false} ~cond := #in~cond; {7175#false} is VALID [2022-04-08 14:00:36,687 INFO L272 TraceCheckUtils]: 32: Hoare triple {7175#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {7175#false} is VALID [2022-04-08 14:00:36,687 INFO L290 TraceCheckUtils]: 31: Hoare triple {7300#(< |main_#t~post6| 100)} assume !(#t~post6 < 100);havoc #t~post6; {7175#false} is VALID [2022-04-08 14:00:36,687 INFO L290 TraceCheckUtils]: 30: Hoare triple {7304#(< ~counter~0 100)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7300#(< |main_#t~post6| 100)} is VALID [2022-04-08 14:00:36,688 INFO L290 TraceCheckUtils]: 29: Hoare triple {7304#(< ~counter~0 100)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {7304#(< ~counter~0 100)} is VALID [2022-04-08 14:00:36,688 INFO L290 TraceCheckUtils]: 28: Hoare triple {7304#(< ~counter~0 100)} assume !!(0 != ~a~0 && 0 != ~b~0); {7304#(< ~counter~0 100)} is VALID [2022-04-08 14:00:36,689 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {7174#true} {7304#(< ~counter~0 100)} #71#return; {7304#(< ~counter~0 100)} is VALID [2022-04-08 14:00:36,689 INFO L290 TraceCheckUtils]: 26: Hoare triple {7174#true} assume true; {7174#true} is VALID [2022-04-08 14:00:36,689 INFO L290 TraceCheckUtils]: 25: Hoare triple {7174#true} assume !(0 == ~cond); {7174#true} is VALID [2022-04-08 14:00:36,689 INFO L290 TraceCheckUtils]: 24: Hoare triple {7174#true} ~cond := #in~cond; {7174#true} is VALID [2022-04-08 14:00:36,689 INFO L272 TraceCheckUtils]: 23: Hoare triple {7304#(< ~counter~0 100)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {7174#true} is VALID [2022-04-08 14:00:36,689 INFO L290 TraceCheckUtils]: 22: Hoare triple {7304#(< ~counter~0 100)} assume !!(#t~post6 < 100);havoc #t~post6; {7304#(< ~counter~0 100)} is VALID [2022-04-08 14:00:36,690 INFO L290 TraceCheckUtils]: 21: Hoare triple {7332#(< ~counter~0 99)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7304#(< ~counter~0 100)} is VALID [2022-04-08 14:00:36,690 INFO L290 TraceCheckUtils]: 20: Hoare triple {7332#(< ~counter~0 99)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {7332#(< ~counter~0 99)} is VALID [2022-04-08 14:00:36,691 INFO L290 TraceCheckUtils]: 19: Hoare triple {7332#(< ~counter~0 99)} assume !!(0 != ~a~0 && 0 != ~b~0); {7332#(< ~counter~0 99)} is VALID [2022-04-08 14:00:36,691 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {7174#true} {7332#(< ~counter~0 99)} #71#return; {7332#(< ~counter~0 99)} is VALID [2022-04-08 14:00:36,692 INFO L290 TraceCheckUtils]: 17: Hoare triple {7174#true} assume true; {7174#true} is VALID [2022-04-08 14:00:36,692 INFO L290 TraceCheckUtils]: 16: Hoare triple {7174#true} assume !(0 == ~cond); {7174#true} is VALID [2022-04-08 14:00:36,693 INFO L290 TraceCheckUtils]: 15: Hoare triple {7174#true} ~cond := #in~cond; {7174#true} is VALID [2022-04-08 14:00:36,693 INFO L272 TraceCheckUtils]: 14: Hoare triple {7332#(< ~counter~0 99)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {7174#true} is VALID [2022-04-08 14:00:36,693 INFO L290 TraceCheckUtils]: 13: Hoare triple {7332#(< ~counter~0 99)} assume !!(#t~post6 < 100);havoc #t~post6; {7332#(< ~counter~0 99)} is VALID [2022-04-08 14:00:36,693 INFO L290 TraceCheckUtils]: 12: Hoare triple {7360#(< ~counter~0 98)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7332#(< ~counter~0 99)} is VALID [2022-04-08 14:00:36,694 INFO L290 TraceCheckUtils]: 11: Hoare triple {7360#(< ~counter~0 98)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {7360#(< ~counter~0 98)} is VALID [2022-04-08 14:00:36,694 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7174#true} {7360#(< ~counter~0 98)} #69#return; {7360#(< ~counter~0 98)} is VALID [2022-04-08 14:00:36,694 INFO L290 TraceCheckUtils]: 9: Hoare triple {7174#true} assume true; {7174#true} is VALID [2022-04-08 14:00:36,694 INFO L290 TraceCheckUtils]: 8: Hoare triple {7174#true} assume !(0 == ~cond); {7174#true} is VALID [2022-04-08 14:00:36,694 INFO L290 TraceCheckUtils]: 7: Hoare triple {7174#true} ~cond := #in~cond; {7174#true} is VALID [2022-04-08 14:00:36,695 INFO L272 TraceCheckUtils]: 6: Hoare triple {7360#(< ~counter~0 98)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7174#true} is VALID [2022-04-08 14:00:36,695 INFO L290 TraceCheckUtils]: 5: Hoare triple {7360#(< ~counter~0 98)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {7360#(< ~counter~0 98)} is VALID [2022-04-08 14:00:36,695 INFO L272 TraceCheckUtils]: 4: Hoare triple {7360#(< ~counter~0 98)} call #t~ret7 := main(); {7360#(< ~counter~0 98)} is VALID [2022-04-08 14:00:36,696 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7360#(< ~counter~0 98)} {7174#true} #77#return; {7360#(< ~counter~0 98)} is VALID [2022-04-08 14:00:36,696 INFO L290 TraceCheckUtils]: 2: Hoare triple {7360#(< ~counter~0 98)} assume true; {7360#(< ~counter~0 98)} is VALID [2022-04-08 14:00:36,696 INFO L290 TraceCheckUtils]: 1: Hoare triple {7174#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {7360#(< ~counter~0 98)} is VALID [2022-04-08 14:00:36,697 INFO L272 TraceCheckUtils]: 0: Hoare triple {7174#true} call ULTIMATE.init(); {7174#true} is VALID [2022-04-08 14:00:36,697 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 4 proven. 9 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-08 14:00:36,697 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 14:00:36,697 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1111258182] [2022-04-08 14:00:36,697 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 14:00:36,697 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [528419056] [2022-04-08 14:00:36,697 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [528419056] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 14:00:36,697 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 14:00:36,697 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 10 [2022-04-08 14:00:36,698 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 14:00:36,698 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [840687762] [2022-04-08 14:00:36,698 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [840687762] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 14:00:36,698 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 14:00:36,698 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 14:00:36,698 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [747408572] [2022-04-08 14:00:36,699 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 14:00:36,699 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) Word has length 36 [2022-04-08 14:00:36,699 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 14:00:36,701 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 14:00:36,730 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:00:36,731 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 14:00:36,731 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 14:00:36,731 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 14:00:36,731 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=57, Unknown=0, NotChecked=0, Total=90 [2022-04-08 14:00:36,731 INFO L87 Difference]: Start difference. First operand 72 states and 86 transitions. Second operand has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 14:00:36,963 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:00:36,963 INFO L93 Difference]: Finished difference Result 108 states and 129 transitions. [2022-04-08 14:00:36,963 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 14:00:36,963 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) Word has length 36 [2022-04-08 14:00:36,964 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 14:00:36,964 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 14:00:36,964 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 78 transitions. [2022-04-08 14:00:36,965 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 14:00:36,965 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 78 transitions. [2022-04-08 14:00:36,965 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 78 transitions. [2022-04-08 14:00:37,029 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:00:37,030 INFO L225 Difference]: With dead ends: 108 [2022-04-08 14:00:37,030 INFO L226 Difference]: Without dead ends: 98 [2022-04-08 14:00:37,030 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 73 GetRequests, 63 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=51, Invalid=81, Unknown=0, NotChecked=0, Total=132 [2022-04-08 14:00:37,031 INFO L913 BasicCegarLoop]: 34 mSDtfsCounter, 22 mSDsluCounter, 80 mSDsCounter, 0 mSdLazyCounter, 18 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 114 SdHoareTripleChecker+Invalid, 23 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 18 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 14:00:37,031 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [22 Valid, 114 Invalid, 23 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 18 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 14:00:37,031 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 98 states. [2022-04-08 14:00:37,154 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 98 to 96. [2022-04-08 14:00:37,154 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 14:00:37,155 INFO L82 GeneralOperation]: Start isEquivalent. First operand 98 states. Second operand has 96 states, 71 states have (on average 1.2816901408450705) internal successors, (91), 73 states have internal predecessors, (91), 14 states have call successors, (14), 12 states have call predecessors, (14), 10 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-08 14:00:37,155 INFO L74 IsIncluded]: Start isIncluded. First operand 98 states. Second operand has 96 states, 71 states have (on average 1.2816901408450705) internal successors, (91), 73 states have internal predecessors, (91), 14 states have call successors, (14), 12 states have call predecessors, (14), 10 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-08 14:00:37,155 INFO L87 Difference]: Start difference. First operand 98 states. Second operand has 96 states, 71 states have (on average 1.2816901408450705) internal successors, (91), 73 states have internal predecessors, (91), 14 states have call successors, (14), 12 states have call predecessors, (14), 10 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-08 14:00:37,156 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:00:37,156 INFO L93 Difference]: Finished difference Result 98 states and 117 transitions. [2022-04-08 14:00:37,157 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 117 transitions. [2022-04-08 14:00:37,157 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:00:37,157 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:00:37,157 INFO L74 IsIncluded]: Start isIncluded. First operand has 96 states, 71 states have (on average 1.2816901408450705) internal successors, (91), 73 states have internal predecessors, (91), 14 states have call successors, (14), 12 states have call predecessors, (14), 10 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) Second operand 98 states. [2022-04-08 14:00:37,157 INFO L87 Difference]: Start difference. First operand has 96 states, 71 states have (on average 1.2816901408450705) internal successors, (91), 73 states have internal predecessors, (91), 14 states have call successors, (14), 12 states have call predecessors, (14), 10 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) Second operand 98 states. [2022-04-08 14:00:37,158 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:00:37,159 INFO L93 Difference]: Finished difference Result 98 states and 117 transitions. [2022-04-08 14:00:37,159 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 117 transitions. [2022-04-08 14:00:37,159 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:00:37,159 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:00:37,159 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 14:00:37,159 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 14:00:37,159 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 96 states, 71 states have (on average 1.2816901408450705) internal successors, (91), 73 states have internal predecessors, (91), 14 states have call successors, (14), 12 states have call predecessors, (14), 10 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-08 14:00:37,160 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 96 states to 96 states and 116 transitions. [2022-04-08 14:00:37,160 INFO L78 Accepts]: Start accepts. Automaton has 96 states and 116 transitions. Word has length 36 [2022-04-08 14:00:37,161 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 14:00:37,161 INFO L478 AbstractCegarLoop]: Abstraction has 96 states and 116 transitions. [2022-04-08 14:00:37,161 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 14:00:37,161 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 96 states and 116 transitions. [2022-04-08 14:00:43,623 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 116 edges. 113 inductive. 0 not inductive. 3 times theorem prover too weak to decide inductivity. [2022-04-08 14:00:43,623 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 116 transitions. [2022-04-08 14:00:43,624 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2022-04-08 14:00:43,624 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 14:00:43,624 INFO L499 BasicCegarLoop]: trace histogram [4, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 14:00:43,640 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Forceful destruction successful, exit code 0 [2022-04-08 14:00:43,824 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2022-04-08 14:00:43,824 INFO L403 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 14:00:43,825 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 14:00:43,825 INFO L85 PathProgramCache]: Analyzing trace with hash 1524039145, now seen corresponding path program 1 times [2022-04-08 14:00:43,825 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 14:00:43,825 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [23174116] [2022-04-08 14:00:49,876 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 14:00:49,876 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 14:00:49,876 INFO L85 PathProgramCache]: Analyzing trace with hash 1524039145, now seen corresponding path program 2 times [2022-04-08 14:00:49,876 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 14:00:49,876 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2003296321] [2022-04-08 14:00:49,876 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 14:00:49,876 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 14:00:49,886 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 14:00:49,887 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1011765951] [2022-04-08 14:00:49,887 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 14:00:49,887 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 14:00:49,887 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 14:00:49,888 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 14:00:49,889 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Waiting until timeout for monitored process [2022-04-08 14:00:49,930 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 14:00:49,930 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 14:00:49,931 INFO L263 TraceCheckSpWp]: Trace formula consists of 131 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-08 14:00:49,937 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 14:00:49,937 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 14:00:50,054 INFO L272 TraceCheckUtils]: 0: Hoare triple {8007#true} call ULTIMATE.init(); {8007#true} is VALID [2022-04-08 14:00:50,054 INFO L290 TraceCheckUtils]: 1: Hoare triple {8007#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {8007#true} is VALID [2022-04-08 14:00:50,054 INFO L290 TraceCheckUtils]: 2: Hoare triple {8007#true} assume true; {8007#true} is VALID [2022-04-08 14:00:50,054 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8007#true} {8007#true} #77#return; {8007#true} is VALID [2022-04-08 14:00:50,054 INFO L272 TraceCheckUtils]: 4: Hoare triple {8007#true} call #t~ret7 := main(); {8007#true} is VALID [2022-04-08 14:00:50,054 INFO L290 TraceCheckUtils]: 5: Hoare triple {8007#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8007#true} is VALID [2022-04-08 14:00:50,054 INFO L272 TraceCheckUtils]: 6: Hoare triple {8007#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8007#true} is VALID [2022-04-08 14:00:50,054 INFO L290 TraceCheckUtils]: 7: Hoare triple {8007#true} ~cond := #in~cond; {8007#true} is VALID [2022-04-08 14:00:50,054 INFO L290 TraceCheckUtils]: 8: Hoare triple {8007#true} assume !(0 == ~cond); {8007#true} is VALID [2022-04-08 14:00:50,054 INFO L290 TraceCheckUtils]: 9: Hoare triple {8007#true} assume true; {8007#true} is VALID [2022-04-08 14:00:50,055 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8007#true} {8007#true} #69#return; {8007#true} is VALID [2022-04-08 14:00:50,055 INFO L290 TraceCheckUtils]: 11: Hoare triple {8007#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {8007#true} is VALID [2022-04-08 14:00:50,055 INFO L290 TraceCheckUtils]: 12: Hoare triple {8007#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8007#true} is VALID [2022-04-08 14:00:50,055 INFO L290 TraceCheckUtils]: 13: Hoare triple {8007#true} assume !!(#t~post6 < 100);havoc #t~post6; {8007#true} is VALID [2022-04-08 14:00:50,055 INFO L272 TraceCheckUtils]: 14: Hoare triple {8007#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {8007#true} is VALID [2022-04-08 14:00:50,055 INFO L290 TraceCheckUtils]: 15: Hoare triple {8007#true} ~cond := #in~cond; {8007#true} is VALID [2022-04-08 14:00:50,055 INFO L290 TraceCheckUtils]: 16: Hoare triple {8007#true} assume !(0 == ~cond); {8007#true} is VALID [2022-04-08 14:00:50,055 INFO L290 TraceCheckUtils]: 17: Hoare triple {8007#true} assume true; {8007#true} is VALID [2022-04-08 14:00:50,055 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {8007#true} {8007#true} #71#return; {8007#true} is VALID [2022-04-08 14:00:50,055 INFO L290 TraceCheckUtils]: 19: Hoare triple {8007#true} assume !!(0 != ~a~0 && 0 != ~b~0); {8069#(not (= main_~a~0 0))} is VALID [2022-04-08 14:00:50,056 INFO L290 TraceCheckUtils]: 20: Hoare triple {8069#(not (= main_~a~0 0))} assume !(0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2)); {8069#(not (= main_~a~0 0))} is VALID [2022-04-08 14:00:50,056 INFO L290 TraceCheckUtils]: 21: Hoare triple {8069#(not (= main_~a~0 0))} assume !(1 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2)); {8069#(not (= main_~a~0 0))} is VALID [2022-04-08 14:00:50,056 INFO L290 TraceCheckUtils]: 22: Hoare triple {8069#(not (= main_~a~0 0))} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 1 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~b~0 := ~b~0 - 1;~q~0 := ~q~0 + ~a~0 * ~p~0; {8069#(not (= main_~a~0 0))} is VALID [2022-04-08 14:00:50,057 INFO L290 TraceCheckUtils]: 23: Hoare triple {8069#(not (= main_~a~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8069#(not (= main_~a~0 0))} is VALID [2022-04-08 14:00:50,057 INFO L290 TraceCheckUtils]: 24: Hoare triple {8069#(not (= main_~a~0 0))} assume !!(#t~post6 < 100);havoc #t~post6; {8069#(not (= main_~a~0 0))} is VALID [2022-04-08 14:00:50,057 INFO L272 TraceCheckUtils]: 25: Hoare triple {8069#(not (= main_~a~0 0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {8007#true} is VALID [2022-04-08 14:00:50,057 INFO L290 TraceCheckUtils]: 26: Hoare triple {8007#true} ~cond := #in~cond; {8007#true} is VALID [2022-04-08 14:00:50,057 INFO L290 TraceCheckUtils]: 27: Hoare triple {8007#true} assume !(0 == ~cond); {8007#true} is VALID [2022-04-08 14:00:50,057 INFO L290 TraceCheckUtils]: 28: Hoare triple {8007#true} assume true; {8007#true} is VALID [2022-04-08 14:00:50,058 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {8007#true} {8069#(not (= main_~a~0 0))} #71#return; {8069#(not (= main_~a~0 0))} is VALID [2022-04-08 14:00:50,058 INFO L290 TraceCheckUtils]: 30: Hoare triple {8069#(not (= main_~a~0 0))} assume !(0 != ~a~0 && 0 != ~b~0); {8103#(and (= main_~b~0 0) (not (= main_~a~0 0)))} is VALID [2022-04-08 14:00:50,058 INFO L272 TraceCheckUtils]: 31: Hoare triple {8103#(and (= main_~b~0 0) (not (= main_~a~0 0)))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {8007#true} is VALID [2022-04-08 14:00:50,058 INFO L290 TraceCheckUtils]: 32: Hoare triple {8007#true} ~cond := #in~cond; {8007#true} is VALID [2022-04-08 14:00:50,058 INFO L290 TraceCheckUtils]: 33: Hoare triple {8007#true} assume !(0 == ~cond); {8007#true} is VALID [2022-04-08 14:00:50,059 INFO L290 TraceCheckUtils]: 34: Hoare triple {8007#true} assume true; {8007#true} is VALID [2022-04-08 14:00:50,059 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {8007#true} {8103#(and (= main_~b~0 0) (not (= main_~a~0 0)))} #73#return; {8103#(and (= main_~b~0 0) (not (= main_~a~0 0)))} is VALID [2022-04-08 14:00:50,060 INFO L272 TraceCheckUtils]: 36: Hoare triple {8103#(and (= main_~b~0 0) (not (= main_~a~0 0)))} call __VERIFIER_assert((if 0 == ~a~0 * ~b~0 then 1 else 0)); {8122#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 14:00:50,060 INFO L290 TraceCheckUtils]: 37: Hoare triple {8122#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8126#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 14:00:50,060 INFO L290 TraceCheckUtils]: 38: Hoare triple {8126#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8008#false} is VALID [2022-04-08 14:00:50,060 INFO L290 TraceCheckUtils]: 39: Hoare triple {8008#false} assume !false; {8008#false} is VALID [2022-04-08 14:00:50,060 INFO L134 CoverageAnalysis]: Checked inductivity of 22 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-08 14:00:50,061 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 14:00:50,061 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 14:00:50,061 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2003296321] [2022-04-08 14:00:50,061 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 14:00:50,061 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1011765951] [2022-04-08 14:00:50,061 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1011765951] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 14:00:50,062 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 14:00:50,062 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 14:00:50,062 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 14:00:50,062 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [23174116] [2022-04-08 14:00:50,062 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [23174116] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 14:00:50,062 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 14:00:50,062 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 14:00:50,062 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [79488764] [2022-04-08 14:00:50,062 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 14:00:50,063 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 4.4) internal successors, (22), 5 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 40 [2022-04-08 14:00:50,063 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 14:00:50,063 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 5 states have (on average 4.4) internal successors, (22), 5 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 14:00:50,088 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:00:50,089 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 14:00:50,089 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 14:00:50,089 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 14:00:50,089 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=20, Unknown=0, NotChecked=0, Total=30 [2022-04-08 14:00:50,089 INFO L87 Difference]: Start difference. First operand 96 states and 116 transitions. Second operand has 6 states, 5 states have (on average 4.4) internal successors, (22), 5 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 14:00:50,357 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:00:50,358 INFO L93 Difference]: Finished difference Result 126 states and 154 transitions. [2022-04-08 14:00:50,358 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-08 14:00:50,358 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 4.4) internal successors, (22), 5 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 40 [2022-04-08 14:00:50,358 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 14:00:50,358 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 4.4) internal successors, (22), 5 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 14:00:50,359 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 51 transitions. [2022-04-08 14:00:50,359 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 4.4) internal successors, (22), 5 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 14:00:50,359 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 51 transitions. [2022-04-08 14:00:50,359 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 51 transitions. [2022-04-08 14:00:50,386 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:00:50,387 INFO L225 Difference]: With dead ends: 126 [2022-04-08 14:00:50,387 INFO L226 Difference]: Without dead ends: 114 [2022-04-08 14:00:50,388 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 40 GetRequests, 35 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=14, Invalid=28, Unknown=0, NotChecked=0, Total=42 [2022-04-08 14:00:50,388 INFO L913 BasicCegarLoop]: 34 mSDtfsCounter, 7 mSDsluCounter, 80 mSDsCounter, 0 mSdLazyCounter, 56 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 114 SdHoareTripleChecker+Invalid, 58 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 56 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 14:00:50,390 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [8 Valid, 114 Invalid, 58 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 56 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 14:00:50,390 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 114 states. [2022-04-08 14:00:50,459 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 114 to 102. [2022-04-08 14:00:50,459 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 14:00:50,459 INFO L82 GeneralOperation]: Start isEquivalent. First operand 114 states. Second operand has 102 states, 76 states have (on average 1.263157894736842) internal successors, (96), 78 states have internal predecessors, (96), 15 states have call successors, (15), 12 states have call predecessors, (15), 10 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-08 14:00:50,460 INFO L74 IsIncluded]: Start isIncluded. First operand 114 states. Second operand has 102 states, 76 states have (on average 1.263157894736842) internal successors, (96), 78 states have internal predecessors, (96), 15 states have call successors, (15), 12 states have call predecessors, (15), 10 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-08 14:00:50,483 INFO L87 Difference]: Start difference. First operand 114 states. Second operand has 102 states, 76 states have (on average 1.263157894736842) internal successors, (96), 78 states have internal predecessors, (96), 15 states have call successors, (15), 12 states have call predecessors, (15), 10 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-08 14:00:50,485 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:00:50,485 INFO L93 Difference]: Finished difference Result 114 states and 139 transitions. [2022-04-08 14:00:50,485 INFO L276 IsEmpty]: Start isEmpty. Operand 114 states and 139 transitions. [2022-04-08 14:00:50,486 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:00:50,486 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:00:50,486 INFO L74 IsIncluded]: Start isIncluded. First operand has 102 states, 76 states have (on average 1.263157894736842) internal successors, (96), 78 states have internal predecessors, (96), 15 states have call successors, (15), 12 states have call predecessors, (15), 10 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) Second operand 114 states. [2022-04-08 14:00:50,486 INFO L87 Difference]: Start difference. First operand has 102 states, 76 states have (on average 1.263157894736842) internal successors, (96), 78 states have internal predecessors, (96), 15 states have call successors, (15), 12 states have call predecessors, (15), 10 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) Second operand 114 states. [2022-04-08 14:00:50,488 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:00:50,488 INFO L93 Difference]: Finished difference Result 114 states and 139 transitions. [2022-04-08 14:00:50,489 INFO L276 IsEmpty]: Start isEmpty. Operand 114 states and 139 transitions. [2022-04-08 14:00:50,489 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:00:50,489 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:00:50,489 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 14:00:50,489 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 14:00:50,489 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 102 states, 76 states have (on average 1.263157894736842) internal successors, (96), 78 states have internal predecessors, (96), 15 states have call successors, (15), 12 states have call predecessors, (15), 10 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-08 14:00:50,490 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 102 states to 102 states and 123 transitions. [2022-04-08 14:00:50,491 INFO L78 Accepts]: Start accepts. Automaton has 102 states and 123 transitions. Word has length 40 [2022-04-08 14:00:50,491 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 14:00:50,491 INFO L478 AbstractCegarLoop]: Abstraction has 102 states and 123 transitions. [2022-04-08 14:00:50,491 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 5 states have (on average 4.4) internal successors, (22), 5 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 14:00:50,491 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 102 states and 123 transitions. [2022-04-08 14:00:58,955 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 123 edges. 119 inductive. 0 not inductive. 4 times theorem prover too weak to decide inductivity. [2022-04-08 14:00:58,956 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 123 transitions. [2022-04-08 14:00:58,956 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2022-04-08 14:00:58,956 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 14:00:58,956 INFO L499 BasicCegarLoop]: trace histogram [4, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 14:00:58,972 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Forceful destruction successful, exit code 0 [2022-04-08 14:00:59,156 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable14,15 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 14:00:59,157 INFO L403 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 14:00:59,157 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 14:00:59,157 INFO L85 PathProgramCache]: Analyzing trace with hash -470105561, now seen corresponding path program 1 times [2022-04-08 14:00:59,157 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 14:00:59,157 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1454451941] [2022-04-08 14:01:05,210 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 14:01:05,211 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 14:01:05,211 INFO L85 PathProgramCache]: Analyzing trace with hash -470105561, now seen corresponding path program 2 times [2022-04-08 14:01:05,211 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 14:01:05,211 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [531366637] [2022-04-08 14:01:05,211 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 14:01:05,211 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 14:01:05,222 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 14:01:05,223 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [805038357] [2022-04-08 14:01:05,223 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 14:01:05,223 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 14:01:05,223 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 14:01:05,224 INFO L229 MonitoredProcess]: Starting monitored process 16 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 14:01:05,227 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Waiting until timeout for monitored process [2022-04-08 14:01:05,262 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 14:01:05,263 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 14:01:05,263 INFO L263 TraceCheckSpWp]: Trace formula consists of 130 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-08 14:01:05,271 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 14:01:05,272 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 14:01:05,515 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 14:01:05,546 INFO L272 TraceCheckUtils]: 0: Hoare triple {8818#true} call ULTIMATE.init(); {8818#true} is VALID [2022-04-08 14:01:05,547 INFO L290 TraceCheckUtils]: 1: Hoare triple {8818#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {8818#true} is VALID [2022-04-08 14:01:05,547 INFO L290 TraceCheckUtils]: 2: Hoare triple {8818#true} assume true; {8818#true} is VALID [2022-04-08 14:01:05,547 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8818#true} {8818#true} #77#return; {8818#true} is VALID [2022-04-08 14:01:05,547 INFO L272 TraceCheckUtils]: 4: Hoare triple {8818#true} call #t~ret7 := main(); {8818#true} is VALID [2022-04-08 14:01:05,547 INFO L290 TraceCheckUtils]: 5: Hoare triple {8818#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8818#true} is VALID [2022-04-08 14:01:05,547 INFO L272 TraceCheckUtils]: 6: Hoare triple {8818#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8818#true} is VALID [2022-04-08 14:01:05,547 INFO L290 TraceCheckUtils]: 7: Hoare triple {8818#true} ~cond := #in~cond; {8844#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 14:01:05,548 INFO L290 TraceCheckUtils]: 8: Hoare triple {8844#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {8848#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 14:01:05,548 INFO L290 TraceCheckUtils]: 9: Hoare triple {8848#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {8848#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 14:01:05,548 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8848#(not (= |assume_abort_if_not_#in~cond| 0))} {8818#true} #69#return; {8855#(<= 1 main_~y~0)} is VALID [2022-04-08 14:01:05,549 INFO L290 TraceCheckUtils]: 11: Hoare triple {8855#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {8859#(<= 1 main_~b~0)} is VALID [2022-04-08 14:01:05,549 INFO L290 TraceCheckUtils]: 12: Hoare triple {8859#(<= 1 main_~b~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8859#(<= 1 main_~b~0)} is VALID [2022-04-08 14:01:05,549 INFO L290 TraceCheckUtils]: 13: Hoare triple {8859#(<= 1 main_~b~0)} assume !!(#t~post6 < 100);havoc #t~post6; {8859#(<= 1 main_~b~0)} is VALID [2022-04-08 14:01:05,549 INFO L272 TraceCheckUtils]: 14: Hoare triple {8859#(<= 1 main_~b~0)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {8818#true} is VALID [2022-04-08 14:01:05,549 INFO L290 TraceCheckUtils]: 15: Hoare triple {8818#true} ~cond := #in~cond; {8818#true} is VALID [2022-04-08 14:01:05,550 INFO L290 TraceCheckUtils]: 16: Hoare triple {8818#true} assume !(0 == ~cond); {8818#true} is VALID [2022-04-08 14:01:05,550 INFO L290 TraceCheckUtils]: 17: Hoare triple {8818#true} assume true; {8818#true} is VALID [2022-04-08 14:01:05,550 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {8818#true} {8859#(<= 1 main_~b~0)} #71#return; {8859#(<= 1 main_~b~0)} is VALID [2022-04-08 14:01:05,550 INFO L290 TraceCheckUtils]: 19: Hoare triple {8859#(<= 1 main_~b~0)} assume !!(0 != ~a~0 && 0 != ~b~0); {8859#(<= 1 main_~b~0)} is VALID [2022-04-08 14:01:05,551 INFO L290 TraceCheckUtils]: 20: Hoare triple {8859#(<= 1 main_~b~0)} assume !(0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2)); {8859#(<= 1 main_~b~0)} is VALID [2022-04-08 14:01:05,551 INFO L290 TraceCheckUtils]: 21: Hoare triple {8859#(<= 1 main_~b~0)} assume !(1 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2)); {8859#(<= 1 main_~b~0)} is VALID [2022-04-08 14:01:05,552 INFO L290 TraceCheckUtils]: 22: Hoare triple {8859#(<= 1 main_~b~0)} assume !(0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 1 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2));~a~0 := ~a~0 - 1;~b~0 := ~b~0 - 1;~q~0 := ~q~0 + (1 + (~a~0 + ~b~0)) * ~p~0; {8893#(<= 0 main_~b~0)} is VALID [2022-04-08 14:01:05,552 INFO L290 TraceCheckUtils]: 23: Hoare triple {8893#(<= 0 main_~b~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8893#(<= 0 main_~b~0)} is VALID [2022-04-08 14:01:05,552 INFO L290 TraceCheckUtils]: 24: Hoare triple {8893#(<= 0 main_~b~0)} assume !!(#t~post6 < 100);havoc #t~post6; {8893#(<= 0 main_~b~0)} is VALID [2022-04-08 14:01:05,553 INFO L272 TraceCheckUtils]: 25: Hoare triple {8893#(<= 0 main_~b~0)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {8818#true} is VALID [2022-04-08 14:01:05,553 INFO L290 TraceCheckUtils]: 26: Hoare triple {8818#true} ~cond := #in~cond; {8818#true} is VALID [2022-04-08 14:01:05,553 INFO L290 TraceCheckUtils]: 27: Hoare triple {8818#true} assume !(0 == ~cond); {8818#true} is VALID [2022-04-08 14:01:05,553 INFO L290 TraceCheckUtils]: 28: Hoare triple {8818#true} assume true; {8818#true} is VALID [2022-04-08 14:01:05,553 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {8818#true} {8893#(<= 0 main_~b~0)} #71#return; {8893#(<= 0 main_~b~0)} is VALID [2022-04-08 14:01:05,554 INFO L290 TraceCheckUtils]: 30: Hoare triple {8893#(<= 0 main_~b~0)} assume !(0 != ~a~0 && 0 != ~b~0); {8918#(and (or (= main_~a~0 0) (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-08 14:01:05,554 INFO L272 TraceCheckUtils]: 31: Hoare triple {8918#(and (or (= main_~a~0 0) (= main_~b~0 0)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {8818#true} is VALID [2022-04-08 14:01:05,554 INFO L290 TraceCheckUtils]: 32: Hoare triple {8818#true} ~cond := #in~cond; {8818#true} is VALID [2022-04-08 14:01:05,554 INFO L290 TraceCheckUtils]: 33: Hoare triple {8818#true} assume !(0 == ~cond); {8818#true} is VALID [2022-04-08 14:01:05,554 INFO L290 TraceCheckUtils]: 34: Hoare triple {8818#true} assume true; {8818#true} is VALID [2022-04-08 14:01:05,554 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {8818#true} {8918#(and (or (= main_~a~0 0) (= main_~b~0 0)) (<= 0 main_~b~0))} #73#return; {8918#(and (or (= main_~a~0 0) (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-08 14:01:05,556 INFO L272 TraceCheckUtils]: 36: Hoare triple {8918#(and (or (= main_~a~0 0) (= main_~b~0 0)) (<= 0 main_~b~0))} call __VERIFIER_assert((if 0 == ~a~0 * ~b~0 then 1 else 0)); {8937#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 14:01:05,556 INFO L290 TraceCheckUtils]: 37: Hoare triple {8937#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8941#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 14:01:05,557 INFO L290 TraceCheckUtils]: 38: Hoare triple {8941#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8819#false} is VALID [2022-04-08 14:01:05,557 INFO L290 TraceCheckUtils]: 39: Hoare triple {8819#false} assume !false; {8819#false} is VALID [2022-04-08 14:01:05,557 INFO L134 CoverageAnalysis]: Checked inductivity of 22 backedges. 6 proven. 4 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-08 14:01:05,557 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 14:01:05,756 INFO L290 TraceCheckUtils]: 39: Hoare triple {8819#false} assume !false; {8819#false} is VALID [2022-04-08 14:01:05,756 INFO L290 TraceCheckUtils]: 38: Hoare triple {8941#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8819#false} is VALID [2022-04-08 14:01:05,757 INFO L290 TraceCheckUtils]: 37: Hoare triple {8937#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8941#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 14:01:05,757 INFO L272 TraceCheckUtils]: 36: Hoare triple {8957#(= (* main_~b~0 main_~a~0) 0)} call __VERIFIER_assert((if 0 == ~a~0 * ~b~0 then 1 else 0)); {8937#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 14:01:05,758 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {8818#true} {8957#(= (* main_~b~0 main_~a~0) 0)} #73#return; {8957#(= (* main_~b~0 main_~a~0) 0)} is VALID [2022-04-08 14:01:05,758 INFO L290 TraceCheckUtils]: 34: Hoare triple {8818#true} assume true; {8818#true} is VALID [2022-04-08 14:01:05,758 INFO L290 TraceCheckUtils]: 33: Hoare triple {8818#true} assume !(0 == ~cond); {8818#true} is VALID [2022-04-08 14:01:05,758 INFO L290 TraceCheckUtils]: 32: Hoare triple {8818#true} ~cond := #in~cond; {8818#true} is VALID [2022-04-08 14:01:05,758 INFO L272 TraceCheckUtils]: 31: Hoare triple {8957#(= (* main_~b~0 main_~a~0) 0)} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {8818#true} is VALID [2022-04-08 14:01:05,759 INFO L290 TraceCheckUtils]: 30: Hoare triple {8818#true} assume !(0 != ~a~0 && 0 != ~b~0); {8957#(= (* main_~b~0 main_~a~0) 0)} is VALID [2022-04-08 14:01:05,759 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {8818#true} {8818#true} #71#return; {8818#true} is VALID [2022-04-08 14:01:05,759 INFO L290 TraceCheckUtils]: 28: Hoare triple {8818#true} assume true; {8818#true} is VALID [2022-04-08 14:01:05,760 INFO L290 TraceCheckUtils]: 27: Hoare triple {8818#true} assume !(0 == ~cond); {8818#true} is VALID [2022-04-08 14:01:05,760 INFO L290 TraceCheckUtils]: 26: Hoare triple {8818#true} ~cond := #in~cond; {8818#true} is VALID [2022-04-08 14:01:05,760 INFO L272 TraceCheckUtils]: 25: Hoare triple {8818#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {8818#true} is VALID [2022-04-08 14:01:05,760 INFO L290 TraceCheckUtils]: 24: Hoare triple {8818#true} assume !!(#t~post6 < 100);havoc #t~post6; {8818#true} is VALID [2022-04-08 14:01:05,760 INFO L290 TraceCheckUtils]: 23: Hoare triple {8818#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8818#true} is VALID [2022-04-08 14:01:05,760 INFO L290 TraceCheckUtils]: 22: Hoare triple {8818#true} assume !(0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 1 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2));~a~0 := ~a~0 - 1;~b~0 := ~b~0 - 1;~q~0 := ~q~0 + (1 + (~a~0 + ~b~0)) * ~p~0; {8818#true} is VALID [2022-04-08 14:01:05,760 INFO L290 TraceCheckUtils]: 21: Hoare triple {8818#true} assume !(1 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2)); {8818#true} is VALID [2022-04-08 14:01:05,760 INFO L290 TraceCheckUtils]: 20: Hoare triple {8818#true} assume !(0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2)); {8818#true} is VALID [2022-04-08 14:01:05,760 INFO L290 TraceCheckUtils]: 19: Hoare triple {8818#true} assume !!(0 != ~a~0 && 0 != ~b~0); {8818#true} is VALID [2022-04-08 14:01:05,760 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {8818#true} {8818#true} #71#return; {8818#true} is VALID [2022-04-08 14:01:05,760 INFO L290 TraceCheckUtils]: 17: Hoare triple {8818#true} assume true; {8818#true} is VALID [2022-04-08 14:01:05,760 INFO L290 TraceCheckUtils]: 16: Hoare triple {8818#true} assume !(0 == ~cond); {8818#true} is VALID [2022-04-08 14:01:05,760 INFO L290 TraceCheckUtils]: 15: Hoare triple {8818#true} ~cond := #in~cond; {8818#true} is VALID [2022-04-08 14:01:05,761 INFO L272 TraceCheckUtils]: 14: Hoare triple {8818#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {8818#true} is VALID [2022-04-08 14:01:05,761 INFO L290 TraceCheckUtils]: 13: Hoare triple {8818#true} assume !!(#t~post6 < 100);havoc #t~post6; {8818#true} is VALID [2022-04-08 14:01:05,761 INFO L290 TraceCheckUtils]: 12: Hoare triple {8818#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8818#true} is VALID [2022-04-08 14:01:05,761 INFO L290 TraceCheckUtils]: 11: Hoare triple {8818#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {8818#true} is VALID [2022-04-08 14:01:05,761 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8818#true} {8818#true} #69#return; {8818#true} is VALID [2022-04-08 14:01:05,761 INFO L290 TraceCheckUtils]: 9: Hoare triple {8818#true} assume true; {8818#true} is VALID [2022-04-08 14:01:05,761 INFO L290 TraceCheckUtils]: 8: Hoare triple {8818#true} assume !(0 == ~cond); {8818#true} is VALID [2022-04-08 14:01:05,761 INFO L290 TraceCheckUtils]: 7: Hoare triple {8818#true} ~cond := #in~cond; {8818#true} is VALID [2022-04-08 14:01:05,761 INFO L272 TraceCheckUtils]: 6: Hoare triple {8818#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8818#true} is VALID [2022-04-08 14:01:05,761 INFO L290 TraceCheckUtils]: 5: Hoare triple {8818#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8818#true} is VALID [2022-04-08 14:01:05,761 INFO L272 TraceCheckUtils]: 4: Hoare triple {8818#true} call #t~ret7 := main(); {8818#true} is VALID [2022-04-08 14:01:05,761 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8818#true} {8818#true} #77#return; {8818#true} is VALID [2022-04-08 14:01:05,761 INFO L290 TraceCheckUtils]: 2: Hoare triple {8818#true} assume true; {8818#true} is VALID [2022-04-08 14:01:05,761 INFO L290 TraceCheckUtils]: 1: Hoare triple {8818#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {8818#true} is VALID [2022-04-08 14:01:05,762 INFO L272 TraceCheckUtils]: 0: Hoare triple {8818#true} call ULTIMATE.init(); {8818#true} is VALID [2022-04-08 14:01:05,762 INFO L134 CoverageAnalysis]: Checked inductivity of 22 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-08 14:01:05,762 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 14:01:05,762 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [531366637] [2022-04-08 14:01:05,762 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 14:01:05,762 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [805038357] [2022-04-08 14:01:05,762 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [805038357] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-08 14:01:05,762 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-08 14:01:05,762 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [10] total 11 [2022-04-08 14:01:05,763 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 14:01:05,763 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1454451941] [2022-04-08 14:01:05,763 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1454451941] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 14:01:05,763 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 14:01:05,763 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 14:01:05,763 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [314920788] [2022-04-08 14:01:05,763 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 14:01:05,763 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 5.0) internal successors, (20), 4 states have internal predecessors, (20), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 40 [2022-04-08 14:01:05,763 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 14:01:05,763 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 5.0) internal successors, (20), 4 states have internal predecessors, (20), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 14:01:05,780 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:01:05,781 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 14:01:05,781 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 14:01:05,781 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 14:01:05,781 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=88, Unknown=0, NotChecked=0, Total=110 [2022-04-08 14:01:05,781 INFO L87 Difference]: Start difference. First operand 102 states and 123 transitions. Second operand has 5 states, 4 states have (on average 5.0) internal successors, (20), 4 states have internal predecessors, (20), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 14:01:06,102 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:01:06,103 INFO L93 Difference]: Finished difference Result 109 states and 129 transitions. [2022-04-08 14:01:06,103 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 14:01:06,103 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 5.0) internal successors, (20), 4 states have internal predecessors, (20), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 40 [2022-04-08 14:01:06,103 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 14:01:06,103 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 5.0) internal successors, (20), 4 states have internal predecessors, (20), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 14:01:06,103 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 41 transitions. [2022-04-08 14:01:06,104 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 5.0) internal successors, (20), 4 states have internal predecessors, (20), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 14:01:06,104 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 41 transitions. [2022-04-08 14:01:06,104 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 41 transitions. [2022-04-08 14:01:06,133 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:01:06,134 INFO L225 Difference]: With dead ends: 109 [2022-04-08 14:01:06,134 INFO L226 Difference]: Without dead ends: 89 [2022-04-08 14:01:06,134 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 80 GetRequests, 69 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 10 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=26, Invalid=106, Unknown=0, NotChecked=0, Total=132 [2022-04-08 14:01:06,135 INFO L913 BasicCegarLoop]: 35 mSDtfsCounter, 5 mSDsluCounter, 82 mSDsCounter, 0 mSdLazyCounter, 23 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 5 SdHoareTripleChecker+Valid, 117 SdHoareTripleChecker+Invalid, 23 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 23 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 14:01:06,135 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [5 Valid, 117 Invalid, 23 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 23 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 14:01:06,135 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 89 states. [2022-04-08 14:01:06,216 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 89 to 65. [2022-04-08 14:01:06,216 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 14:01:06,218 INFO L82 GeneralOperation]: Start isEquivalent. First operand 89 states. Second operand has 65 states, 48 states have (on average 1.25) internal successors, (60), 49 states have internal predecessors, (60), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-08 14:01:06,219 INFO L74 IsIncluded]: Start isIncluded. First operand 89 states. Second operand has 65 states, 48 states have (on average 1.25) internal successors, (60), 49 states have internal predecessors, (60), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-08 14:01:06,219 INFO L87 Difference]: Start difference. First operand 89 states. Second operand has 65 states, 48 states have (on average 1.25) internal successors, (60), 49 states have internal predecessors, (60), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-08 14:01:06,220 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:01:06,221 INFO L93 Difference]: Finished difference Result 89 states and 108 transitions. [2022-04-08 14:01:06,221 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 108 transitions. [2022-04-08 14:01:06,221 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:01:06,221 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:01:06,221 INFO L74 IsIncluded]: Start isIncluded. First operand has 65 states, 48 states have (on average 1.25) internal successors, (60), 49 states have internal predecessors, (60), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 89 states. [2022-04-08 14:01:06,221 INFO L87 Difference]: Start difference. First operand has 65 states, 48 states have (on average 1.25) internal successors, (60), 49 states have internal predecessors, (60), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 89 states. [2022-04-08 14:01:06,224 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:01:06,224 INFO L93 Difference]: Finished difference Result 89 states and 108 transitions. [2022-04-08 14:01:06,224 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 108 transitions. [2022-04-08 14:01:06,224 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:01:06,224 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:01:06,224 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 14:01:06,224 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 14:01:06,224 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 65 states, 48 states have (on average 1.25) internal successors, (60), 49 states have internal predecessors, (60), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-08 14:01:06,225 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 65 states to 65 states and 76 transitions. [2022-04-08 14:01:06,225 INFO L78 Accepts]: Start accepts. Automaton has 65 states and 76 transitions. Word has length 40 [2022-04-08 14:01:06,225 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 14:01:06,226 INFO L478 AbstractCegarLoop]: Abstraction has 65 states and 76 transitions. [2022-04-08 14:01:06,226 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 5.0) internal successors, (20), 4 states have internal predecessors, (20), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 14:01:06,226 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 65 states and 76 transitions. [2022-04-08 14:01:10,588 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 74 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-08 14:01:10,589 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 76 transitions. [2022-04-08 14:01:10,589 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2022-04-08 14:01:10,589 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 14:01:10,589 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 14:01:10,605 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Forceful destruction successful, exit code 0 [2022-04-08 14:01:10,789 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 16 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable15 [2022-04-08 14:01:10,790 INFO L403 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 14:01:10,790 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 14:01:10,790 INFO L85 PathProgramCache]: Analyzing trace with hash 517832770, now seen corresponding path program 5 times [2022-04-08 14:01:10,790 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 14:01:10,790 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [146326134] [2022-04-08 14:01:16,729 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 14:01:16,729 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 14:01:16,729 INFO L85 PathProgramCache]: Analyzing trace with hash 517832770, now seen corresponding path program 6 times [2022-04-08 14:01:16,729 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 14:01:16,729 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1517281358] [2022-04-08 14:01:16,729 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 14:01:16,729 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 14:01:16,738 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 14:01:16,739 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1319055336] [2022-04-08 14:01:16,739 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 14:01:16,739 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 14:01:16,739 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 14:01:16,740 INFO L229 MonitoredProcess]: Starting monitored process 17 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 14:01:16,748 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Waiting until timeout for monitored process [2022-04-08 14:01:16,789 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-08 14:01:16,790 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 14:01:16,790 INFO L263 TraceCheckSpWp]: Trace formula consists of 164 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-08 14:01:16,799 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 14:01:16,799 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 14:01:16,986 INFO L272 TraceCheckUtils]: 0: Hoare triple {9596#true} call ULTIMATE.init(); {9596#true} is VALID [2022-04-08 14:01:16,987 INFO L290 TraceCheckUtils]: 1: Hoare triple {9596#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {9604#(<= ~counter~0 0)} is VALID [2022-04-08 14:01:16,987 INFO L290 TraceCheckUtils]: 2: Hoare triple {9604#(<= ~counter~0 0)} assume true; {9604#(<= ~counter~0 0)} is VALID [2022-04-08 14:01:16,988 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9604#(<= ~counter~0 0)} {9596#true} #77#return; {9604#(<= ~counter~0 0)} is VALID [2022-04-08 14:01:16,988 INFO L272 TraceCheckUtils]: 4: Hoare triple {9604#(<= ~counter~0 0)} call #t~ret7 := main(); {9604#(<= ~counter~0 0)} is VALID [2022-04-08 14:01:16,988 INFO L290 TraceCheckUtils]: 5: Hoare triple {9604#(<= ~counter~0 0)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {9604#(<= ~counter~0 0)} is VALID [2022-04-08 14:01:16,988 INFO L272 TraceCheckUtils]: 6: Hoare triple {9604#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {9604#(<= ~counter~0 0)} is VALID [2022-04-08 14:01:16,989 INFO L290 TraceCheckUtils]: 7: Hoare triple {9604#(<= ~counter~0 0)} ~cond := #in~cond; {9604#(<= ~counter~0 0)} is VALID [2022-04-08 14:01:16,989 INFO L290 TraceCheckUtils]: 8: Hoare triple {9604#(<= ~counter~0 0)} assume !(0 == ~cond); {9604#(<= ~counter~0 0)} is VALID [2022-04-08 14:01:16,989 INFO L290 TraceCheckUtils]: 9: Hoare triple {9604#(<= ~counter~0 0)} assume true; {9604#(<= ~counter~0 0)} is VALID [2022-04-08 14:01:16,989 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9604#(<= ~counter~0 0)} {9604#(<= ~counter~0 0)} #69#return; {9604#(<= ~counter~0 0)} is VALID [2022-04-08 14:01:16,990 INFO L290 TraceCheckUtils]: 11: Hoare triple {9604#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {9604#(<= ~counter~0 0)} is VALID [2022-04-08 14:01:16,990 INFO L290 TraceCheckUtils]: 12: Hoare triple {9604#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9638#(<= ~counter~0 1)} is VALID [2022-04-08 14:01:16,990 INFO L290 TraceCheckUtils]: 13: Hoare triple {9638#(<= ~counter~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {9638#(<= ~counter~0 1)} is VALID [2022-04-08 14:01:16,991 INFO L272 TraceCheckUtils]: 14: Hoare triple {9638#(<= ~counter~0 1)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {9638#(<= ~counter~0 1)} is VALID [2022-04-08 14:01:16,991 INFO L290 TraceCheckUtils]: 15: Hoare triple {9638#(<= ~counter~0 1)} ~cond := #in~cond; {9638#(<= ~counter~0 1)} is VALID [2022-04-08 14:01:16,991 INFO L290 TraceCheckUtils]: 16: Hoare triple {9638#(<= ~counter~0 1)} assume !(0 == ~cond); {9638#(<= ~counter~0 1)} is VALID [2022-04-08 14:01:16,991 INFO L290 TraceCheckUtils]: 17: Hoare triple {9638#(<= ~counter~0 1)} assume true; {9638#(<= ~counter~0 1)} is VALID [2022-04-08 14:01:16,992 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {9638#(<= ~counter~0 1)} {9638#(<= ~counter~0 1)} #71#return; {9638#(<= ~counter~0 1)} is VALID [2022-04-08 14:01:16,992 INFO L290 TraceCheckUtils]: 19: Hoare triple {9638#(<= ~counter~0 1)} assume !!(0 != ~a~0 && 0 != ~b~0); {9638#(<= ~counter~0 1)} is VALID [2022-04-08 14:01:16,992 INFO L290 TraceCheckUtils]: 20: Hoare triple {9638#(<= ~counter~0 1)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {9638#(<= ~counter~0 1)} is VALID [2022-04-08 14:01:16,993 INFO L290 TraceCheckUtils]: 21: Hoare triple {9638#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9666#(<= ~counter~0 2)} is VALID [2022-04-08 14:01:16,993 INFO L290 TraceCheckUtils]: 22: Hoare triple {9666#(<= ~counter~0 2)} assume !!(#t~post6 < 100);havoc #t~post6; {9666#(<= ~counter~0 2)} is VALID [2022-04-08 14:01:16,993 INFO L272 TraceCheckUtils]: 23: Hoare triple {9666#(<= ~counter~0 2)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {9666#(<= ~counter~0 2)} is VALID [2022-04-08 14:01:16,994 INFO L290 TraceCheckUtils]: 24: Hoare triple {9666#(<= ~counter~0 2)} ~cond := #in~cond; {9666#(<= ~counter~0 2)} is VALID [2022-04-08 14:01:16,994 INFO L290 TraceCheckUtils]: 25: Hoare triple {9666#(<= ~counter~0 2)} assume !(0 == ~cond); {9666#(<= ~counter~0 2)} is VALID [2022-04-08 14:01:16,994 INFO L290 TraceCheckUtils]: 26: Hoare triple {9666#(<= ~counter~0 2)} assume true; {9666#(<= ~counter~0 2)} is VALID [2022-04-08 14:01:16,994 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {9666#(<= ~counter~0 2)} {9666#(<= ~counter~0 2)} #71#return; {9666#(<= ~counter~0 2)} is VALID [2022-04-08 14:01:16,995 INFO L290 TraceCheckUtils]: 28: Hoare triple {9666#(<= ~counter~0 2)} assume !!(0 != ~a~0 && 0 != ~b~0); {9666#(<= ~counter~0 2)} is VALID [2022-04-08 14:01:16,995 INFO L290 TraceCheckUtils]: 29: Hoare triple {9666#(<= ~counter~0 2)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {9666#(<= ~counter~0 2)} is VALID [2022-04-08 14:01:16,995 INFO L290 TraceCheckUtils]: 30: Hoare triple {9666#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9694#(<= ~counter~0 3)} is VALID [2022-04-08 14:01:16,995 INFO L290 TraceCheckUtils]: 31: Hoare triple {9694#(<= ~counter~0 3)} assume !!(#t~post6 < 100);havoc #t~post6; {9694#(<= ~counter~0 3)} is VALID [2022-04-08 14:01:16,996 INFO L272 TraceCheckUtils]: 32: Hoare triple {9694#(<= ~counter~0 3)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {9694#(<= ~counter~0 3)} is VALID [2022-04-08 14:01:16,996 INFO L290 TraceCheckUtils]: 33: Hoare triple {9694#(<= ~counter~0 3)} ~cond := #in~cond; {9694#(<= ~counter~0 3)} is VALID [2022-04-08 14:01:16,996 INFO L290 TraceCheckUtils]: 34: Hoare triple {9694#(<= ~counter~0 3)} assume !(0 == ~cond); {9694#(<= ~counter~0 3)} is VALID [2022-04-08 14:01:16,997 INFO L290 TraceCheckUtils]: 35: Hoare triple {9694#(<= ~counter~0 3)} assume true; {9694#(<= ~counter~0 3)} is VALID [2022-04-08 14:01:16,997 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {9694#(<= ~counter~0 3)} {9694#(<= ~counter~0 3)} #71#return; {9694#(<= ~counter~0 3)} is VALID [2022-04-08 14:01:16,997 INFO L290 TraceCheckUtils]: 37: Hoare triple {9694#(<= ~counter~0 3)} assume !!(0 != ~a~0 && 0 != ~b~0); {9694#(<= ~counter~0 3)} is VALID [2022-04-08 14:01:16,997 INFO L290 TraceCheckUtils]: 38: Hoare triple {9694#(<= ~counter~0 3)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {9694#(<= ~counter~0 3)} is VALID [2022-04-08 14:01:16,998 INFO L290 TraceCheckUtils]: 39: Hoare triple {9694#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9722#(<= |main_#t~post6| 3)} is VALID [2022-04-08 14:01:16,998 INFO L290 TraceCheckUtils]: 40: Hoare triple {9722#(<= |main_#t~post6| 3)} assume !(#t~post6 < 100);havoc #t~post6; {9597#false} is VALID [2022-04-08 14:01:16,998 INFO L272 TraceCheckUtils]: 41: Hoare triple {9597#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {9597#false} is VALID [2022-04-08 14:01:16,998 INFO L290 TraceCheckUtils]: 42: Hoare triple {9597#false} ~cond := #in~cond; {9597#false} is VALID [2022-04-08 14:01:16,998 INFO L290 TraceCheckUtils]: 43: Hoare triple {9597#false} assume 0 == ~cond; {9597#false} is VALID [2022-04-08 14:01:16,998 INFO L290 TraceCheckUtils]: 44: Hoare triple {9597#false} assume !false; {9597#false} is VALID [2022-04-08 14:01:16,999 INFO L134 CoverageAnalysis]: Checked inductivity of 39 backedges. 6 proven. 33 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 14:01:16,999 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 14:01:17,195 INFO L290 TraceCheckUtils]: 44: Hoare triple {9597#false} assume !false; {9597#false} is VALID [2022-04-08 14:01:17,195 INFO L290 TraceCheckUtils]: 43: Hoare triple {9597#false} assume 0 == ~cond; {9597#false} is VALID [2022-04-08 14:01:17,195 INFO L290 TraceCheckUtils]: 42: Hoare triple {9597#false} ~cond := #in~cond; {9597#false} is VALID [2022-04-08 14:01:17,195 INFO L272 TraceCheckUtils]: 41: Hoare triple {9597#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {9597#false} is VALID [2022-04-08 14:01:17,196 INFO L290 TraceCheckUtils]: 40: Hoare triple {9750#(< |main_#t~post6| 100)} assume !(#t~post6 < 100);havoc #t~post6; {9597#false} is VALID [2022-04-08 14:01:17,207 INFO L290 TraceCheckUtils]: 39: Hoare triple {9754#(< ~counter~0 100)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9750#(< |main_#t~post6| 100)} is VALID [2022-04-08 14:01:17,207 INFO L290 TraceCheckUtils]: 38: Hoare triple {9754#(< ~counter~0 100)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {9754#(< ~counter~0 100)} is VALID [2022-04-08 14:01:17,208 INFO L290 TraceCheckUtils]: 37: Hoare triple {9754#(< ~counter~0 100)} assume !!(0 != ~a~0 && 0 != ~b~0); {9754#(< ~counter~0 100)} is VALID [2022-04-08 14:01:17,208 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {9596#true} {9754#(< ~counter~0 100)} #71#return; {9754#(< ~counter~0 100)} is VALID [2022-04-08 14:01:17,208 INFO L290 TraceCheckUtils]: 35: Hoare triple {9596#true} assume true; {9596#true} is VALID [2022-04-08 14:01:17,208 INFO L290 TraceCheckUtils]: 34: Hoare triple {9596#true} assume !(0 == ~cond); {9596#true} is VALID [2022-04-08 14:01:17,209 INFO L290 TraceCheckUtils]: 33: Hoare triple {9596#true} ~cond := #in~cond; {9596#true} is VALID [2022-04-08 14:01:17,209 INFO L272 TraceCheckUtils]: 32: Hoare triple {9754#(< ~counter~0 100)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {9596#true} is VALID [2022-04-08 14:01:17,209 INFO L290 TraceCheckUtils]: 31: Hoare triple {9754#(< ~counter~0 100)} assume !!(#t~post6 < 100);havoc #t~post6; {9754#(< ~counter~0 100)} is VALID [2022-04-08 14:01:17,210 INFO L290 TraceCheckUtils]: 30: Hoare triple {9782#(< ~counter~0 99)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9754#(< ~counter~0 100)} is VALID [2022-04-08 14:01:17,210 INFO L290 TraceCheckUtils]: 29: Hoare triple {9782#(< ~counter~0 99)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {9782#(< ~counter~0 99)} is VALID [2022-04-08 14:01:17,210 INFO L290 TraceCheckUtils]: 28: Hoare triple {9782#(< ~counter~0 99)} assume !!(0 != ~a~0 && 0 != ~b~0); {9782#(< ~counter~0 99)} is VALID [2022-04-08 14:01:17,211 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {9596#true} {9782#(< ~counter~0 99)} #71#return; {9782#(< ~counter~0 99)} is VALID [2022-04-08 14:01:17,211 INFO L290 TraceCheckUtils]: 26: Hoare triple {9596#true} assume true; {9596#true} is VALID [2022-04-08 14:01:17,211 INFO L290 TraceCheckUtils]: 25: Hoare triple {9596#true} assume !(0 == ~cond); {9596#true} is VALID [2022-04-08 14:01:17,211 INFO L290 TraceCheckUtils]: 24: Hoare triple {9596#true} ~cond := #in~cond; {9596#true} is VALID [2022-04-08 14:01:17,211 INFO L272 TraceCheckUtils]: 23: Hoare triple {9782#(< ~counter~0 99)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {9596#true} is VALID [2022-04-08 14:01:17,211 INFO L290 TraceCheckUtils]: 22: Hoare triple {9782#(< ~counter~0 99)} assume !!(#t~post6 < 100);havoc #t~post6; {9782#(< ~counter~0 99)} is VALID [2022-04-08 14:01:17,212 INFO L290 TraceCheckUtils]: 21: Hoare triple {9810#(< ~counter~0 98)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9782#(< ~counter~0 99)} is VALID [2022-04-08 14:01:17,212 INFO L290 TraceCheckUtils]: 20: Hoare triple {9810#(< ~counter~0 98)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {9810#(< ~counter~0 98)} is VALID [2022-04-08 14:01:17,212 INFO L290 TraceCheckUtils]: 19: Hoare triple {9810#(< ~counter~0 98)} assume !!(0 != ~a~0 && 0 != ~b~0); {9810#(< ~counter~0 98)} is VALID [2022-04-08 14:01:17,213 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {9596#true} {9810#(< ~counter~0 98)} #71#return; {9810#(< ~counter~0 98)} is VALID [2022-04-08 14:01:17,213 INFO L290 TraceCheckUtils]: 17: Hoare triple {9596#true} assume true; {9596#true} is VALID [2022-04-08 14:01:17,213 INFO L290 TraceCheckUtils]: 16: Hoare triple {9596#true} assume !(0 == ~cond); {9596#true} is VALID [2022-04-08 14:01:17,213 INFO L290 TraceCheckUtils]: 15: Hoare triple {9596#true} ~cond := #in~cond; {9596#true} is VALID [2022-04-08 14:01:17,213 INFO L272 TraceCheckUtils]: 14: Hoare triple {9810#(< ~counter~0 98)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {9596#true} is VALID [2022-04-08 14:01:17,214 INFO L290 TraceCheckUtils]: 13: Hoare triple {9810#(< ~counter~0 98)} assume !!(#t~post6 < 100);havoc #t~post6; {9810#(< ~counter~0 98)} is VALID [2022-04-08 14:01:17,214 INFO L290 TraceCheckUtils]: 12: Hoare triple {9838#(< ~counter~0 97)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9810#(< ~counter~0 98)} is VALID [2022-04-08 14:01:17,214 INFO L290 TraceCheckUtils]: 11: Hoare triple {9838#(< ~counter~0 97)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {9838#(< ~counter~0 97)} is VALID [2022-04-08 14:01:17,215 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9596#true} {9838#(< ~counter~0 97)} #69#return; {9838#(< ~counter~0 97)} is VALID [2022-04-08 14:01:17,215 INFO L290 TraceCheckUtils]: 9: Hoare triple {9596#true} assume true; {9596#true} is VALID [2022-04-08 14:01:17,215 INFO L290 TraceCheckUtils]: 8: Hoare triple {9596#true} assume !(0 == ~cond); {9596#true} is VALID [2022-04-08 14:01:17,215 INFO L290 TraceCheckUtils]: 7: Hoare triple {9596#true} ~cond := #in~cond; {9596#true} is VALID [2022-04-08 14:01:17,215 INFO L272 TraceCheckUtils]: 6: Hoare triple {9838#(< ~counter~0 97)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {9596#true} is VALID [2022-04-08 14:01:17,215 INFO L290 TraceCheckUtils]: 5: Hoare triple {9838#(< ~counter~0 97)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {9838#(< ~counter~0 97)} is VALID [2022-04-08 14:01:17,216 INFO L272 TraceCheckUtils]: 4: Hoare triple {9838#(< ~counter~0 97)} call #t~ret7 := main(); {9838#(< ~counter~0 97)} is VALID [2022-04-08 14:01:17,216 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9838#(< ~counter~0 97)} {9596#true} #77#return; {9838#(< ~counter~0 97)} is VALID [2022-04-08 14:01:17,216 INFO L290 TraceCheckUtils]: 2: Hoare triple {9838#(< ~counter~0 97)} assume true; {9838#(< ~counter~0 97)} is VALID [2022-04-08 14:01:17,217 INFO L290 TraceCheckUtils]: 1: Hoare triple {9596#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {9838#(< ~counter~0 97)} is VALID [2022-04-08 14:01:17,217 INFO L272 TraceCheckUtils]: 0: Hoare triple {9596#true} call ULTIMATE.init(); {9596#true} is VALID [2022-04-08 14:01:17,217 INFO L134 CoverageAnalysis]: Checked inductivity of 39 backedges. 6 proven. 21 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-08 14:01:17,217 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 14:01:17,217 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1517281358] [2022-04-08 14:01:17,217 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 14:01:17,217 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1319055336] [2022-04-08 14:01:17,217 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1319055336] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 14:01:17,217 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 14:01:17,217 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2022-04-08 14:01:17,218 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 14:01:17,218 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [146326134] [2022-04-08 14:01:17,218 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [146326134] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 14:01:17,218 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 14:01:17,218 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-08 14:01:17,218 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1569131397] [2022-04-08 14:01:17,218 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 14:01:17,218 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (7), 6 states have call predecessors, (7), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) Word has length 45 [2022-04-08 14:01:17,218 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 14:01:17,219 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (7), 6 states have call predecessors, (7), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-08 14:01:17,248 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:01:17,248 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-08 14:01:17,249 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 14:01:17,249 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-08 14:01:17,249 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=82, Unknown=0, NotChecked=0, Total=132 [2022-04-08 14:01:17,249 INFO L87 Difference]: Start difference. First operand 65 states and 76 transitions. Second operand has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (7), 6 states have call predecessors, (7), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-08 14:01:17,486 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:01:17,486 INFO L93 Difference]: Finished difference Result 84 states and 99 transitions. [2022-04-08 14:01:17,486 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 14:01:17,486 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (7), 6 states have call predecessors, (7), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) Word has length 45 [2022-04-08 14:01:17,487 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 14:01:17,487 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (7), 6 states have call predecessors, (7), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-08 14:01:17,488 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 85 transitions. [2022-04-08 14:01:17,488 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (7), 6 states have call predecessors, (7), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-08 14:01:17,488 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 85 transitions. [2022-04-08 14:01:17,489 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 85 transitions. [2022-04-08 14:01:17,562 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:01:17,563 INFO L225 Difference]: With dead ends: 84 [2022-04-08 14:01:17,563 INFO L226 Difference]: Without dead ends: 76 [2022-04-08 14:01:17,563 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 92 GetRequests, 79 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 13 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=83, Invalid=127, Unknown=0, NotChecked=0, Total=210 [2022-04-08 14:01:17,564 INFO L913 BasicCegarLoop]: 33 mSDtfsCounter, 21 mSDsluCounter, 105 mSDsCounter, 0 mSdLazyCounter, 22 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 21 SdHoareTripleChecker+Valid, 138 SdHoareTripleChecker+Invalid, 27 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 22 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 14:01:17,564 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [21 Valid, 138 Invalid, 27 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 22 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 14:01:17,564 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 76 states. [2022-04-08 14:01:17,685 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 76 to 76. [2022-04-08 14:01:17,685 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 14:01:17,686 INFO L82 GeneralOperation]: Start isEquivalent. First operand 76 states. Second operand has 76 states, 57 states have (on average 1.263157894736842) internal successors, (72), 58 states have internal predecessors, (72), 10 states have call successors, (10), 9 states have call predecessors, (10), 8 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 14:01:17,686 INFO L74 IsIncluded]: Start isIncluded. First operand 76 states. Second operand has 76 states, 57 states have (on average 1.263157894736842) internal successors, (72), 58 states have internal predecessors, (72), 10 states have call successors, (10), 9 states have call predecessors, (10), 8 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 14:01:17,686 INFO L87 Difference]: Start difference. First operand 76 states. Second operand has 76 states, 57 states have (on average 1.263157894736842) internal successors, (72), 58 states have internal predecessors, (72), 10 states have call successors, (10), 9 states have call predecessors, (10), 8 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 14:01:17,687 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:01:17,687 INFO L93 Difference]: Finished difference Result 76 states and 90 transitions. [2022-04-08 14:01:17,687 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 90 transitions. [2022-04-08 14:01:17,687 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:01:17,687 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:01:17,687 INFO L74 IsIncluded]: Start isIncluded. First operand has 76 states, 57 states have (on average 1.263157894736842) internal successors, (72), 58 states have internal predecessors, (72), 10 states have call successors, (10), 9 states have call predecessors, (10), 8 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 76 states. [2022-04-08 14:01:17,688 INFO L87 Difference]: Start difference. First operand has 76 states, 57 states have (on average 1.263157894736842) internal successors, (72), 58 states have internal predecessors, (72), 10 states have call successors, (10), 9 states have call predecessors, (10), 8 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 76 states. [2022-04-08 14:01:17,688 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:01:17,688 INFO L93 Difference]: Finished difference Result 76 states and 90 transitions. [2022-04-08 14:01:17,689 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 90 transitions. [2022-04-08 14:01:17,689 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:01:17,689 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:01:17,689 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 14:01:17,689 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 14:01:17,689 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 76 states, 57 states have (on average 1.263157894736842) internal successors, (72), 58 states have internal predecessors, (72), 10 states have call successors, (10), 9 states have call predecessors, (10), 8 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 14:01:17,692 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 76 states to 76 states and 90 transitions. [2022-04-08 14:01:17,692 INFO L78 Accepts]: Start accepts. Automaton has 76 states and 90 transitions. Word has length 45 [2022-04-08 14:01:17,692 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 14:01:17,692 INFO L478 AbstractCegarLoop]: Abstraction has 76 states and 90 transitions. [2022-04-08 14:01:17,693 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (7), 6 states have call predecessors, (7), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-08 14:01:17,693 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 76 states and 90 transitions. [2022-04-08 14:01:24,232 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 90 edges. 87 inductive. 0 not inductive. 3 times theorem prover too weak to decide inductivity. [2022-04-08 14:01:24,232 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 90 transitions. [2022-04-08 14:01:24,232 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 55 [2022-04-08 14:01:24,232 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 14:01:24,232 INFO L499 BasicCegarLoop]: trace histogram [5, 5, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 14:01:24,249 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Forceful destruction successful, exit code 0 [2022-04-08 14:01:24,433 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 17 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable16 [2022-04-08 14:01:24,433 INFO L403 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 14:01:24,433 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 14:01:24,433 INFO L85 PathProgramCache]: Analyzing trace with hash -1818717446, now seen corresponding path program 7 times [2022-04-08 14:01:24,433 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 14:01:24,434 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1304682605] [2022-04-08 14:01:30,481 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 14:01:30,481 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 14:01:30,481 INFO L85 PathProgramCache]: Analyzing trace with hash -1818717446, now seen corresponding path program 8 times [2022-04-08 14:01:30,481 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 14:01:30,481 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1285094414] [2022-04-08 14:01:30,481 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 14:01:30,481 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 14:01:30,490 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 14:01:30,491 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [37943669] [2022-04-08 14:01:30,491 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 14:01:30,491 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 14:01:30,491 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 14:01:30,495 INFO L229 MonitoredProcess]: Starting monitored process 18 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 14:01:30,497 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Waiting until timeout for monitored process [2022-04-08 14:01:30,538 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 14:01:30,539 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 14:01:30,539 INFO L263 TraceCheckSpWp]: Trace formula consists of 190 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-08 14:01:30,551 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 14:01:30,552 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 14:01:30,818 INFO L272 TraceCheckUtils]: 0: Hoare triple {10355#true} call ULTIMATE.init(); {10355#true} is VALID [2022-04-08 14:01:30,818 INFO L290 TraceCheckUtils]: 1: Hoare triple {10355#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {10363#(<= ~counter~0 0)} is VALID [2022-04-08 14:01:30,819 INFO L290 TraceCheckUtils]: 2: Hoare triple {10363#(<= ~counter~0 0)} assume true; {10363#(<= ~counter~0 0)} is VALID [2022-04-08 14:01:30,819 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10363#(<= ~counter~0 0)} {10355#true} #77#return; {10363#(<= ~counter~0 0)} is VALID [2022-04-08 14:01:30,819 INFO L272 TraceCheckUtils]: 4: Hoare triple {10363#(<= ~counter~0 0)} call #t~ret7 := main(); {10363#(<= ~counter~0 0)} is VALID [2022-04-08 14:01:30,819 INFO L290 TraceCheckUtils]: 5: Hoare triple {10363#(<= ~counter~0 0)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {10363#(<= ~counter~0 0)} is VALID [2022-04-08 14:01:30,820 INFO L272 TraceCheckUtils]: 6: Hoare triple {10363#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {10363#(<= ~counter~0 0)} is VALID [2022-04-08 14:01:30,820 INFO L290 TraceCheckUtils]: 7: Hoare triple {10363#(<= ~counter~0 0)} ~cond := #in~cond; {10363#(<= ~counter~0 0)} is VALID [2022-04-08 14:01:30,820 INFO L290 TraceCheckUtils]: 8: Hoare triple {10363#(<= ~counter~0 0)} assume !(0 == ~cond); {10363#(<= ~counter~0 0)} is VALID [2022-04-08 14:01:30,821 INFO L290 TraceCheckUtils]: 9: Hoare triple {10363#(<= ~counter~0 0)} assume true; {10363#(<= ~counter~0 0)} is VALID [2022-04-08 14:01:30,821 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10363#(<= ~counter~0 0)} {10363#(<= ~counter~0 0)} #69#return; {10363#(<= ~counter~0 0)} is VALID [2022-04-08 14:01:30,821 INFO L290 TraceCheckUtils]: 11: Hoare triple {10363#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {10363#(<= ~counter~0 0)} is VALID [2022-04-08 14:01:30,822 INFO L290 TraceCheckUtils]: 12: Hoare triple {10363#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10397#(<= ~counter~0 1)} is VALID [2022-04-08 14:01:30,822 INFO L290 TraceCheckUtils]: 13: Hoare triple {10397#(<= ~counter~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {10397#(<= ~counter~0 1)} is VALID [2022-04-08 14:01:30,823 INFO L272 TraceCheckUtils]: 14: Hoare triple {10397#(<= ~counter~0 1)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {10397#(<= ~counter~0 1)} is VALID [2022-04-08 14:01:30,823 INFO L290 TraceCheckUtils]: 15: Hoare triple {10397#(<= ~counter~0 1)} ~cond := #in~cond; {10397#(<= ~counter~0 1)} is VALID [2022-04-08 14:01:30,823 INFO L290 TraceCheckUtils]: 16: Hoare triple {10397#(<= ~counter~0 1)} assume !(0 == ~cond); {10397#(<= ~counter~0 1)} is VALID [2022-04-08 14:01:30,824 INFO L290 TraceCheckUtils]: 17: Hoare triple {10397#(<= ~counter~0 1)} assume true; {10397#(<= ~counter~0 1)} is VALID [2022-04-08 14:01:30,824 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {10397#(<= ~counter~0 1)} {10397#(<= ~counter~0 1)} #71#return; {10397#(<= ~counter~0 1)} is VALID [2022-04-08 14:01:30,825 INFO L290 TraceCheckUtils]: 19: Hoare triple {10397#(<= ~counter~0 1)} assume !!(0 != ~a~0 && 0 != ~b~0); {10397#(<= ~counter~0 1)} is VALID [2022-04-08 14:01:30,825 INFO L290 TraceCheckUtils]: 20: Hoare triple {10397#(<= ~counter~0 1)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {10397#(<= ~counter~0 1)} is VALID [2022-04-08 14:01:30,825 INFO L290 TraceCheckUtils]: 21: Hoare triple {10397#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10425#(<= ~counter~0 2)} is VALID [2022-04-08 14:01:30,826 INFO L290 TraceCheckUtils]: 22: Hoare triple {10425#(<= ~counter~0 2)} assume !!(#t~post6 < 100);havoc #t~post6; {10425#(<= ~counter~0 2)} is VALID [2022-04-08 14:01:30,826 INFO L272 TraceCheckUtils]: 23: Hoare triple {10425#(<= ~counter~0 2)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {10425#(<= ~counter~0 2)} is VALID [2022-04-08 14:01:30,826 INFO L290 TraceCheckUtils]: 24: Hoare triple {10425#(<= ~counter~0 2)} ~cond := #in~cond; {10425#(<= ~counter~0 2)} is VALID [2022-04-08 14:01:30,827 INFO L290 TraceCheckUtils]: 25: Hoare triple {10425#(<= ~counter~0 2)} assume !(0 == ~cond); {10425#(<= ~counter~0 2)} is VALID [2022-04-08 14:01:30,827 INFO L290 TraceCheckUtils]: 26: Hoare triple {10425#(<= ~counter~0 2)} assume true; {10425#(<= ~counter~0 2)} is VALID [2022-04-08 14:01:30,828 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {10425#(<= ~counter~0 2)} {10425#(<= ~counter~0 2)} #71#return; {10425#(<= ~counter~0 2)} is VALID [2022-04-08 14:01:30,828 INFO L290 TraceCheckUtils]: 28: Hoare triple {10425#(<= ~counter~0 2)} assume !!(0 != ~a~0 && 0 != ~b~0); {10425#(<= ~counter~0 2)} is VALID [2022-04-08 14:01:30,828 INFO L290 TraceCheckUtils]: 29: Hoare triple {10425#(<= ~counter~0 2)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {10425#(<= ~counter~0 2)} is VALID [2022-04-08 14:01:30,829 INFO L290 TraceCheckUtils]: 30: Hoare triple {10425#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10453#(<= ~counter~0 3)} is VALID [2022-04-08 14:01:30,829 INFO L290 TraceCheckUtils]: 31: Hoare triple {10453#(<= ~counter~0 3)} assume !!(#t~post6 < 100);havoc #t~post6; {10453#(<= ~counter~0 3)} is VALID [2022-04-08 14:01:30,829 INFO L272 TraceCheckUtils]: 32: Hoare triple {10453#(<= ~counter~0 3)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {10453#(<= ~counter~0 3)} is VALID [2022-04-08 14:01:30,830 INFO L290 TraceCheckUtils]: 33: Hoare triple {10453#(<= ~counter~0 3)} ~cond := #in~cond; {10453#(<= ~counter~0 3)} is VALID [2022-04-08 14:01:30,830 INFO L290 TraceCheckUtils]: 34: Hoare triple {10453#(<= ~counter~0 3)} assume !(0 == ~cond); {10453#(<= ~counter~0 3)} is VALID [2022-04-08 14:01:30,830 INFO L290 TraceCheckUtils]: 35: Hoare triple {10453#(<= ~counter~0 3)} assume true; {10453#(<= ~counter~0 3)} is VALID [2022-04-08 14:01:30,831 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {10453#(<= ~counter~0 3)} {10453#(<= ~counter~0 3)} #71#return; {10453#(<= ~counter~0 3)} is VALID [2022-04-08 14:01:30,831 INFO L290 TraceCheckUtils]: 37: Hoare triple {10453#(<= ~counter~0 3)} assume !!(0 != ~a~0 && 0 != ~b~0); {10453#(<= ~counter~0 3)} is VALID [2022-04-08 14:01:30,832 INFO L290 TraceCheckUtils]: 38: Hoare triple {10453#(<= ~counter~0 3)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {10453#(<= ~counter~0 3)} is VALID [2022-04-08 14:01:30,832 INFO L290 TraceCheckUtils]: 39: Hoare triple {10453#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10481#(<= ~counter~0 4)} is VALID [2022-04-08 14:01:30,832 INFO L290 TraceCheckUtils]: 40: Hoare triple {10481#(<= ~counter~0 4)} assume !!(#t~post6 < 100);havoc #t~post6; {10481#(<= ~counter~0 4)} is VALID [2022-04-08 14:01:30,833 INFO L272 TraceCheckUtils]: 41: Hoare triple {10481#(<= ~counter~0 4)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {10481#(<= ~counter~0 4)} is VALID [2022-04-08 14:01:30,833 INFO L290 TraceCheckUtils]: 42: Hoare triple {10481#(<= ~counter~0 4)} ~cond := #in~cond; {10481#(<= ~counter~0 4)} is VALID [2022-04-08 14:01:30,834 INFO L290 TraceCheckUtils]: 43: Hoare triple {10481#(<= ~counter~0 4)} assume !(0 == ~cond); {10481#(<= ~counter~0 4)} is VALID [2022-04-08 14:01:30,834 INFO L290 TraceCheckUtils]: 44: Hoare triple {10481#(<= ~counter~0 4)} assume true; {10481#(<= ~counter~0 4)} is VALID [2022-04-08 14:01:30,835 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {10481#(<= ~counter~0 4)} {10481#(<= ~counter~0 4)} #71#return; {10481#(<= ~counter~0 4)} is VALID [2022-04-08 14:01:30,835 INFO L290 TraceCheckUtils]: 46: Hoare triple {10481#(<= ~counter~0 4)} assume !!(0 != ~a~0 && 0 != ~b~0); {10481#(<= ~counter~0 4)} is VALID [2022-04-08 14:01:30,835 INFO L290 TraceCheckUtils]: 47: Hoare triple {10481#(<= ~counter~0 4)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {10481#(<= ~counter~0 4)} is VALID [2022-04-08 14:01:30,836 INFO L290 TraceCheckUtils]: 48: Hoare triple {10481#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10509#(<= |main_#t~post6| 4)} is VALID [2022-04-08 14:01:30,836 INFO L290 TraceCheckUtils]: 49: Hoare triple {10509#(<= |main_#t~post6| 4)} assume !(#t~post6 < 100);havoc #t~post6; {10356#false} is VALID [2022-04-08 14:01:30,836 INFO L272 TraceCheckUtils]: 50: Hoare triple {10356#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {10356#false} is VALID [2022-04-08 14:01:30,836 INFO L290 TraceCheckUtils]: 51: Hoare triple {10356#false} ~cond := #in~cond; {10356#false} is VALID [2022-04-08 14:01:30,836 INFO L290 TraceCheckUtils]: 52: Hoare triple {10356#false} assume 0 == ~cond; {10356#false} is VALID [2022-04-08 14:01:30,836 INFO L290 TraceCheckUtils]: 53: Hoare triple {10356#false} assume !false; {10356#false} is VALID [2022-04-08 14:01:30,837 INFO L134 CoverageAnalysis]: Checked inductivity of 70 backedges. 8 proven. 62 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 14:01:30,837 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 14:01:31,101 INFO L290 TraceCheckUtils]: 53: Hoare triple {10356#false} assume !false; {10356#false} is VALID [2022-04-08 14:01:31,101 INFO L290 TraceCheckUtils]: 52: Hoare triple {10356#false} assume 0 == ~cond; {10356#false} is VALID [2022-04-08 14:01:31,101 INFO L290 TraceCheckUtils]: 51: Hoare triple {10356#false} ~cond := #in~cond; {10356#false} is VALID [2022-04-08 14:01:31,101 INFO L272 TraceCheckUtils]: 50: Hoare triple {10356#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {10356#false} is VALID [2022-04-08 14:01:31,101 INFO L290 TraceCheckUtils]: 49: Hoare triple {10537#(< |main_#t~post6| 100)} assume !(#t~post6 < 100);havoc #t~post6; {10356#false} is VALID [2022-04-08 14:01:31,102 INFO L290 TraceCheckUtils]: 48: Hoare triple {10541#(< ~counter~0 100)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10537#(< |main_#t~post6| 100)} is VALID [2022-04-08 14:01:31,102 INFO L290 TraceCheckUtils]: 47: Hoare triple {10541#(< ~counter~0 100)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {10541#(< ~counter~0 100)} is VALID [2022-04-08 14:01:31,102 INFO L290 TraceCheckUtils]: 46: Hoare triple {10541#(< ~counter~0 100)} assume !!(0 != ~a~0 && 0 != ~b~0); {10541#(< ~counter~0 100)} is VALID [2022-04-08 14:01:31,103 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {10355#true} {10541#(< ~counter~0 100)} #71#return; {10541#(< ~counter~0 100)} is VALID [2022-04-08 14:01:31,103 INFO L290 TraceCheckUtils]: 44: Hoare triple {10355#true} assume true; {10355#true} is VALID [2022-04-08 14:01:31,103 INFO L290 TraceCheckUtils]: 43: Hoare triple {10355#true} assume !(0 == ~cond); {10355#true} is VALID [2022-04-08 14:01:31,103 INFO L290 TraceCheckUtils]: 42: Hoare triple {10355#true} ~cond := #in~cond; {10355#true} is VALID [2022-04-08 14:01:31,103 INFO L272 TraceCheckUtils]: 41: Hoare triple {10541#(< ~counter~0 100)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {10355#true} is VALID [2022-04-08 14:01:31,103 INFO L290 TraceCheckUtils]: 40: Hoare triple {10541#(< ~counter~0 100)} assume !!(#t~post6 < 100);havoc #t~post6; {10541#(< ~counter~0 100)} is VALID [2022-04-08 14:01:31,104 INFO L290 TraceCheckUtils]: 39: Hoare triple {10569#(< ~counter~0 99)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10541#(< ~counter~0 100)} is VALID [2022-04-08 14:01:31,104 INFO L290 TraceCheckUtils]: 38: Hoare triple {10569#(< ~counter~0 99)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {10569#(< ~counter~0 99)} is VALID [2022-04-08 14:01:31,105 INFO L290 TraceCheckUtils]: 37: Hoare triple {10569#(< ~counter~0 99)} assume !!(0 != ~a~0 && 0 != ~b~0); {10569#(< ~counter~0 99)} is VALID [2022-04-08 14:01:31,105 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {10355#true} {10569#(< ~counter~0 99)} #71#return; {10569#(< ~counter~0 99)} is VALID [2022-04-08 14:01:31,105 INFO L290 TraceCheckUtils]: 35: Hoare triple {10355#true} assume true; {10355#true} is VALID [2022-04-08 14:01:31,105 INFO L290 TraceCheckUtils]: 34: Hoare triple {10355#true} assume !(0 == ~cond); {10355#true} is VALID [2022-04-08 14:01:31,105 INFO L290 TraceCheckUtils]: 33: Hoare triple {10355#true} ~cond := #in~cond; {10355#true} is VALID [2022-04-08 14:01:31,105 INFO L272 TraceCheckUtils]: 32: Hoare triple {10569#(< ~counter~0 99)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {10355#true} is VALID [2022-04-08 14:01:31,106 INFO L290 TraceCheckUtils]: 31: Hoare triple {10569#(< ~counter~0 99)} assume !!(#t~post6 < 100);havoc #t~post6; {10569#(< ~counter~0 99)} is VALID [2022-04-08 14:01:31,106 INFO L290 TraceCheckUtils]: 30: Hoare triple {10597#(< ~counter~0 98)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10569#(< ~counter~0 99)} is VALID [2022-04-08 14:01:31,106 INFO L290 TraceCheckUtils]: 29: Hoare triple {10597#(< ~counter~0 98)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {10597#(< ~counter~0 98)} is VALID [2022-04-08 14:01:31,107 INFO L290 TraceCheckUtils]: 28: Hoare triple {10597#(< ~counter~0 98)} assume !!(0 != ~a~0 && 0 != ~b~0); {10597#(< ~counter~0 98)} is VALID [2022-04-08 14:01:31,107 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {10355#true} {10597#(< ~counter~0 98)} #71#return; {10597#(< ~counter~0 98)} is VALID [2022-04-08 14:01:31,107 INFO L290 TraceCheckUtils]: 26: Hoare triple {10355#true} assume true; {10355#true} is VALID [2022-04-08 14:01:31,107 INFO L290 TraceCheckUtils]: 25: Hoare triple {10355#true} assume !(0 == ~cond); {10355#true} is VALID [2022-04-08 14:01:31,108 INFO L290 TraceCheckUtils]: 24: Hoare triple {10355#true} ~cond := #in~cond; {10355#true} is VALID [2022-04-08 14:01:31,108 INFO L272 TraceCheckUtils]: 23: Hoare triple {10597#(< ~counter~0 98)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {10355#true} is VALID [2022-04-08 14:01:31,108 INFO L290 TraceCheckUtils]: 22: Hoare triple {10597#(< ~counter~0 98)} assume !!(#t~post6 < 100);havoc #t~post6; {10597#(< ~counter~0 98)} is VALID [2022-04-08 14:01:31,108 INFO L290 TraceCheckUtils]: 21: Hoare triple {10625#(< ~counter~0 97)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10597#(< ~counter~0 98)} is VALID [2022-04-08 14:01:31,109 INFO L290 TraceCheckUtils]: 20: Hoare triple {10625#(< ~counter~0 97)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {10625#(< ~counter~0 97)} is VALID [2022-04-08 14:01:31,109 INFO L290 TraceCheckUtils]: 19: Hoare triple {10625#(< ~counter~0 97)} assume !!(0 != ~a~0 && 0 != ~b~0); {10625#(< ~counter~0 97)} is VALID [2022-04-08 14:01:31,109 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {10355#true} {10625#(< ~counter~0 97)} #71#return; {10625#(< ~counter~0 97)} is VALID [2022-04-08 14:01:31,110 INFO L290 TraceCheckUtils]: 17: Hoare triple {10355#true} assume true; {10355#true} is VALID [2022-04-08 14:01:31,110 INFO L290 TraceCheckUtils]: 16: Hoare triple {10355#true} assume !(0 == ~cond); {10355#true} is VALID [2022-04-08 14:01:31,110 INFO L290 TraceCheckUtils]: 15: Hoare triple {10355#true} ~cond := #in~cond; {10355#true} is VALID [2022-04-08 14:01:31,110 INFO L272 TraceCheckUtils]: 14: Hoare triple {10625#(< ~counter~0 97)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {10355#true} is VALID [2022-04-08 14:01:31,110 INFO L290 TraceCheckUtils]: 13: Hoare triple {10625#(< ~counter~0 97)} assume !!(#t~post6 < 100);havoc #t~post6; {10625#(< ~counter~0 97)} is VALID [2022-04-08 14:01:31,110 INFO L290 TraceCheckUtils]: 12: Hoare triple {10653#(< ~counter~0 96)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10625#(< ~counter~0 97)} is VALID [2022-04-08 14:01:31,111 INFO L290 TraceCheckUtils]: 11: Hoare triple {10653#(< ~counter~0 96)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {10653#(< ~counter~0 96)} is VALID [2022-04-08 14:01:31,111 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10355#true} {10653#(< ~counter~0 96)} #69#return; {10653#(< ~counter~0 96)} is VALID [2022-04-08 14:01:31,111 INFO L290 TraceCheckUtils]: 9: Hoare triple {10355#true} assume true; {10355#true} is VALID [2022-04-08 14:01:31,111 INFO L290 TraceCheckUtils]: 8: Hoare triple {10355#true} assume !(0 == ~cond); {10355#true} is VALID [2022-04-08 14:01:31,111 INFO L290 TraceCheckUtils]: 7: Hoare triple {10355#true} ~cond := #in~cond; {10355#true} is VALID [2022-04-08 14:01:31,111 INFO L272 TraceCheckUtils]: 6: Hoare triple {10653#(< ~counter~0 96)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {10355#true} is VALID [2022-04-08 14:01:31,112 INFO L290 TraceCheckUtils]: 5: Hoare triple {10653#(< ~counter~0 96)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {10653#(< ~counter~0 96)} is VALID [2022-04-08 14:01:31,112 INFO L272 TraceCheckUtils]: 4: Hoare triple {10653#(< ~counter~0 96)} call #t~ret7 := main(); {10653#(< ~counter~0 96)} is VALID [2022-04-08 14:01:31,112 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10653#(< ~counter~0 96)} {10355#true} #77#return; {10653#(< ~counter~0 96)} is VALID [2022-04-08 14:01:31,113 INFO L290 TraceCheckUtils]: 2: Hoare triple {10653#(< ~counter~0 96)} assume true; {10653#(< ~counter~0 96)} is VALID [2022-04-08 14:01:31,113 INFO L290 TraceCheckUtils]: 1: Hoare triple {10355#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {10653#(< ~counter~0 96)} is VALID [2022-04-08 14:01:31,113 INFO L272 TraceCheckUtils]: 0: Hoare triple {10355#true} call ULTIMATE.init(); {10355#true} is VALID [2022-04-08 14:01:31,113 INFO L134 CoverageAnalysis]: Checked inductivity of 70 backedges. 8 proven. 38 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-08 14:01:31,114 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 14:01:31,114 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1285094414] [2022-04-08 14:01:31,114 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 14:01:31,114 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [37943669] [2022-04-08 14:01:31,114 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [37943669] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 14:01:31,114 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 14:01:31,114 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 14 [2022-04-08 14:01:31,114 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 14:01:31,114 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1304682605] [2022-04-08 14:01:31,114 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1304682605] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 14:01:31,114 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 14:01:31,114 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 14:01:31,114 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1992824312] [2022-04-08 14:01:31,115 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 14:01:31,115 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (8), 7 states have call predecessors, (8), 5 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) Word has length 54 [2022-04-08 14:01:31,115 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 14:01:31,115 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (8), 7 states have call predecessors, (8), 5 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-08 14:01:31,153 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:01:31,153 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 14:01:31,153 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 14:01:31,154 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 14:01:31,154 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2022-04-08 14:01:31,154 INFO L87 Difference]: Start difference. First operand 76 states and 90 transitions. Second operand has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (8), 7 states have call predecessors, (8), 5 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-08 14:01:31,439 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:01:31,440 INFO L93 Difference]: Finished difference Result 95 states and 113 transitions. [2022-04-08 14:01:31,440 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-08 14:01:31,440 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (8), 7 states have call predecessors, (8), 5 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) Word has length 54 [2022-04-08 14:01:31,440 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 14:01:31,440 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (8), 7 states have call predecessors, (8), 5 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-08 14:01:31,441 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 99 transitions. [2022-04-08 14:01:31,441 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (8), 7 states have call predecessors, (8), 5 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-08 14:01:31,442 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 99 transitions. [2022-04-08 14:01:31,442 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 99 transitions. [2022-04-08 14:01:31,515 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 99 edges. 99 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:01:31,516 INFO L225 Difference]: With dead ends: 95 [2022-04-08 14:01:31,516 INFO L226 Difference]: Without dead ends: 87 [2022-04-08 14:01:31,516 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 111 GetRequests, 95 SyntacticMatches, 0 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 19 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=123, Invalid=183, Unknown=0, NotChecked=0, Total=306 [2022-04-08 14:01:31,517 INFO L913 BasicCegarLoop]: 34 mSDtfsCounter, 53 mSDsluCounter, 100 mSDsCounter, 0 mSdLazyCounter, 24 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 53 SdHoareTripleChecker+Valid, 134 SdHoareTripleChecker+Invalid, 39 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 15 IncrementalHoareTripleChecker+Valid, 24 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 14:01:31,517 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [53 Valid, 134 Invalid, 39 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 24 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 14:01:31,517 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 87 states. [2022-04-08 14:01:31,630 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 87 to 87. [2022-04-08 14:01:31,631 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 14:01:31,631 INFO L82 GeneralOperation]: Start isEquivalent. First operand 87 states. Second operand has 87 states, 66 states have (on average 1.2727272727272727) internal successors, (84), 67 states have internal predecessors, (84), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 14:01:31,631 INFO L74 IsIncluded]: Start isIncluded. First operand 87 states. Second operand has 87 states, 66 states have (on average 1.2727272727272727) internal successors, (84), 67 states have internal predecessors, (84), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 14:01:31,631 INFO L87 Difference]: Start difference. First operand 87 states. Second operand has 87 states, 66 states have (on average 1.2727272727272727) internal successors, (84), 67 states have internal predecessors, (84), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 14:01:31,632 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:01:31,632 INFO L93 Difference]: Finished difference Result 87 states and 104 transitions. [2022-04-08 14:01:31,632 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 104 transitions. [2022-04-08 14:01:31,632 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:01:31,632 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:01:31,633 INFO L74 IsIncluded]: Start isIncluded. First operand has 87 states, 66 states have (on average 1.2727272727272727) internal successors, (84), 67 states have internal predecessors, (84), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 87 states. [2022-04-08 14:01:31,633 INFO L87 Difference]: Start difference. First operand has 87 states, 66 states have (on average 1.2727272727272727) internal successors, (84), 67 states have internal predecessors, (84), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 87 states. [2022-04-08 14:01:31,634 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:01:31,634 INFO L93 Difference]: Finished difference Result 87 states and 104 transitions. [2022-04-08 14:01:31,634 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 104 transitions. [2022-04-08 14:01:31,634 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:01:31,634 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:01:31,634 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 14:01:31,634 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 14:01:31,634 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 87 states, 66 states have (on average 1.2727272727272727) internal successors, (84), 67 states have internal predecessors, (84), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 14:01:31,635 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 87 states to 87 states and 104 transitions. [2022-04-08 14:01:31,635 INFO L78 Accepts]: Start accepts. Automaton has 87 states and 104 transitions. Word has length 54 [2022-04-08 14:01:31,635 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 14:01:31,635 INFO L478 AbstractCegarLoop]: Abstraction has 87 states and 104 transitions. [2022-04-08 14:01:31,635 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (8), 7 states have call predecessors, (8), 5 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-08 14:01:31,636 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 87 states and 104 transitions. [2022-04-08 14:01:40,351 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 104 edges. 100 inductive. 0 not inductive. 4 times theorem prover too weak to decide inductivity. [2022-04-08 14:01:40,351 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 104 transitions. [2022-04-08 14:01:40,351 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 64 [2022-04-08 14:01:40,351 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 14:01:40,351 INFO L499 BasicCegarLoop]: trace histogram [6, 6, 5, 5, 5, 5, 5, 5, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 14:01:40,369 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Ended with exit code 0 [2022-04-08 14:01:40,552 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 18 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable17 [2022-04-08 14:01:40,552 INFO L403 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 14:01:40,553 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 14:01:40,553 INFO L85 PathProgramCache]: Analyzing trace with hash -323774, now seen corresponding path program 9 times [2022-04-08 14:01:40,553 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 14:01:40,553 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1137093893] [2022-04-08 14:01:46,051 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 14:01:46,051 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 14:01:46,051 INFO L85 PathProgramCache]: Analyzing trace with hash -323774, now seen corresponding path program 10 times [2022-04-08 14:01:46,051 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 14:01:46,051 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2084487300] [2022-04-08 14:01:46,051 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 14:01:46,051 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 14:01:46,066 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 14:01:46,066 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1759820663] [2022-04-08 14:01:46,066 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 14:01:46,066 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 14:01:46,067 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 14:01:46,068 INFO L229 MonitoredProcess]: Starting monitored process 19 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 14:01:46,069 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Waiting until timeout for monitored process [2022-04-08 14:01:46,168 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 14:01:46,168 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 14:01:46,169 INFO L263 TraceCheckSpWp]: Trace formula consists of 216 conjuncts, 15 conjunts are in the unsatisfiable core [2022-04-08 14:01:46,181 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 14:01:46,181 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 14:01:46,474 INFO L272 TraceCheckUtils]: 0: Hoare triple {11238#true} call ULTIMATE.init(); {11238#true} is VALID [2022-04-08 14:01:46,475 INFO L290 TraceCheckUtils]: 1: Hoare triple {11238#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {11246#(<= ~counter~0 0)} is VALID [2022-04-08 14:01:46,475 INFO L290 TraceCheckUtils]: 2: Hoare triple {11246#(<= ~counter~0 0)} assume true; {11246#(<= ~counter~0 0)} is VALID [2022-04-08 14:01:46,476 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11246#(<= ~counter~0 0)} {11238#true} #77#return; {11246#(<= ~counter~0 0)} is VALID [2022-04-08 14:01:46,476 INFO L272 TraceCheckUtils]: 4: Hoare triple {11246#(<= ~counter~0 0)} call #t~ret7 := main(); {11246#(<= ~counter~0 0)} is VALID [2022-04-08 14:01:46,476 INFO L290 TraceCheckUtils]: 5: Hoare triple {11246#(<= ~counter~0 0)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {11246#(<= ~counter~0 0)} is VALID [2022-04-08 14:01:46,476 INFO L272 TraceCheckUtils]: 6: Hoare triple {11246#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11246#(<= ~counter~0 0)} is VALID [2022-04-08 14:01:46,477 INFO L290 TraceCheckUtils]: 7: Hoare triple {11246#(<= ~counter~0 0)} ~cond := #in~cond; {11246#(<= ~counter~0 0)} is VALID [2022-04-08 14:01:46,477 INFO L290 TraceCheckUtils]: 8: Hoare triple {11246#(<= ~counter~0 0)} assume !(0 == ~cond); {11246#(<= ~counter~0 0)} is VALID [2022-04-08 14:01:46,477 INFO L290 TraceCheckUtils]: 9: Hoare triple {11246#(<= ~counter~0 0)} assume true; {11246#(<= ~counter~0 0)} is VALID [2022-04-08 14:01:46,478 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11246#(<= ~counter~0 0)} {11246#(<= ~counter~0 0)} #69#return; {11246#(<= ~counter~0 0)} is VALID [2022-04-08 14:01:46,479 INFO L290 TraceCheckUtils]: 11: Hoare triple {11246#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {11246#(<= ~counter~0 0)} is VALID [2022-04-08 14:01:46,479 INFO L290 TraceCheckUtils]: 12: Hoare triple {11246#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11280#(<= ~counter~0 1)} is VALID [2022-04-08 14:01:46,480 INFO L290 TraceCheckUtils]: 13: Hoare triple {11280#(<= ~counter~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {11280#(<= ~counter~0 1)} is VALID [2022-04-08 14:01:46,480 INFO L272 TraceCheckUtils]: 14: Hoare triple {11280#(<= ~counter~0 1)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {11280#(<= ~counter~0 1)} is VALID [2022-04-08 14:01:46,481 INFO L290 TraceCheckUtils]: 15: Hoare triple {11280#(<= ~counter~0 1)} ~cond := #in~cond; {11280#(<= ~counter~0 1)} is VALID [2022-04-08 14:01:46,481 INFO L290 TraceCheckUtils]: 16: Hoare triple {11280#(<= ~counter~0 1)} assume !(0 == ~cond); {11280#(<= ~counter~0 1)} is VALID [2022-04-08 14:01:46,481 INFO L290 TraceCheckUtils]: 17: Hoare triple {11280#(<= ~counter~0 1)} assume true; {11280#(<= ~counter~0 1)} is VALID [2022-04-08 14:01:46,482 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {11280#(<= ~counter~0 1)} {11280#(<= ~counter~0 1)} #71#return; {11280#(<= ~counter~0 1)} is VALID [2022-04-08 14:01:46,482 INFO L290 TraceCheckUtils]: 19: Hoare triple {11280#(<= ~counter~0 1)} assume !!(0 != ~a~0 && 0 != ~b~0); {11280#(<= ~counter~0 1)} is VALID [2022-04-08 14:01:46,491 INFO L290 TraceCheckUtils]: 20: Hoare triple {11280#(<= ~counter~0 1)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {11280#(<= ~counter~0 1)} is VALID [2022-04-08 14:01:46,504 INFO L290 TraceCheckUtils]: 21: Hoare triple {11280#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11308#(<= ~counter~0 2)} is VALID [2022-04-08 14:01:46,504 INFO L290 TraceCheckUtils]: 22: Hoare triple {11308#(<= ~counter~0 2)} assume !!(#t~post6 < 100);havoc #t~post6; {11308#(<= ~counter~0 2)} is VALID [2022-04-08 14:01:46,505 INFO L272 TraceCheckUtils]: 23: Hoare triple {11308#(<= ~counter~0 2)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {11308#(<= ~counter~0 2)} is VALID [2022-04-08 14:01:46,505 INFO L290 TraceCheckUtils]: 24: Hoare triple {11308#(<= ~counter~0 2)} ~cond := #in~cond; {11308#(<= ~counter~0 2)} is VALID [2022-04-08 14:01:46,506 INFO L290 TraceCheckUtils]: 25: Hoare triple {11308#(<= ~counter~0 2)} assume !(0 == ~cond); {11308#(<= ~counter~0 2)} is VALID [2022-04-08 14:01:46,506 INFO L290 TraceCheckUtils]: 26: Hoare triple {11308#(<= ~counter~0 2)} assume true; {11308#(<= ~counter~0 2)} is VALID [2022-04-08 14:01:46,506 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {11308#(<= ~counter~0 2)} {11308#(<= ~counter~0 2)} #71#return; {11308#(<= ~counter~0 2)} is VALID [2022-04-08 14:01:46,507 INFO L290 TraceCheckUtils]: 28: Hoare triple {11308#(<= ~counter~0 2)} assume !!(0 != ~a~0 && 0 != ~b~0); {11308#(<= ~counter~0 2)} is VALID [2022-04-08 14:01:46,507 INFO L290 TraceCheckUtils]: 29: Hoare triple {11308#(<= ~counter~0 2)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {11308#(<= ~counter~0 2)} is VALID [2022-04-08 14:01:46,507 INFO L290 TraceCheckUtils]: 30: Hoare triple {11308#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11336#(<= ~counter~0 3)} is VALID [2022-04-08 14:01:46,508 INFO L290 TraceCheckUtils]: 31: Hoare triple {11336#(<= ~counter~0 3)} assume !!(#t~post6 < 100);havoc #t~post6; {11336#(<= ~counter~0 3)} is VALID [2022-04-08 14:01:46,508 INFO L272 TraceCheckUtils]: 32: Hoare triple {11336#(<= ~counter~0 3)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {11336#(<= ~counter~0 3)} is VALID [2022-04-08 14:01:46,509 INFO L290 TraceCheckUtils]: 33: Hoare triple {11336#(<= ~counter~0 3)} ~cond := #in~cond; {11336#(<= ~counter~0 3)} is VALID [2022-04-08 14:01:46,509 INFO L290 TraceCheckUtils]: 34: Hoare triple {11336#(<= ~counter~0 3)} assume !(0 == ~cond); {11336#(<= ~counter~0 3)} is VALID [2022-04-08 14:01:46,509 INFO L290 TraceCheckUtils]: 35: Hoare triple {11336#(<= ~counter~0 3)} assume true; {11336#(<= ~counter~0 3)} is VALID [2022-04-08 14:01:46,510 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {11336#(<= ~counter~0 3)} {11336#(<= ~counter~0 3)} #71#return; {11336#(<= ~counter~0 3)} is VALID [2022-04-08 14:01:46,510 INFO L290 TraceCheckUtils]: 37: Hoare triple {11336#(<= ~counter~0 3)} assume !!(0 != ~a~0 && 0 != ~b~0); {11336#(<= ~counter~0 3)} is VALID [2022-04-08 14:01:46,510 INFO L290 TraceCheckUtils]: 38: Hoare triple {11336#(<= ~counter~0 3)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {11336#(<= ~counter~0 3)} is VALID [2022-04-08 14:01:46,511 INFO L290 TraceCheckUtils]: 39: Hoare triple {11336#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11364#(<= ~counter~0 4)} is VALID [2022-04-08 14:01:46,511 INFO L290 TraceCheckUtils]: 40: Hoare triple {11364#(<= ~counter~0 4)} assume !!(#t~post6 < 100);havoc #t~post6; {11364#(<= ~counter~0 4)} is VALID [2022-04-08 14:01:46,511 INFO L272 TraceCheckUtils]: 41: Hoare triple {11364#(<= ~counter~0 4)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {11364#(<= ~counter~0 4)} is VALID [2022-04-08 14:01:46,512 INFO L290 TraceCheckUtils]: 42: Hoare triple {11364#(<= ~counter~0 4)} ~cond := #in~cond; {11364#(<= ~counter~0 4)} is VALID [2022-04-08 14:01:46,512 INFO L290 TraceCheckUtils]: 43: Hoare triple {11364#(<= ~counter~0 4)} assume !(0 == ~cond); {11364#(<= ~counter~0 4)} is VALID [2022-04-08 14:01:46,512 INFO L290 TraceCheckUtils]: 44: Hoare triple {11364#(<= ~counter~0 4)} assume true; {11364#(<= ~counter~0 4)} is VALID [2022-04-08 14:01:46,513 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {11364#(<= ~counter~0 4)} {11364#(<= ~counter~0 4)} #71#return; {11364#(<= ~counter~0 4)} is VALID [2022-04-08 14:01:46,513 INFO L290 TraceCheckUtils]: 46: Hoare triple {11364#(<= ~counter~0 4)} assume !!(0 != ~a~0 && 0 != ~b~0); {11364#(<= ~counter~0 4)} is VALID [2022-04-08 14:01:46,513 INFO L290 TraceCheckUtils]: 47: Hoare triple {11364#(<= ~counter~0 4)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {11364#(<= ~counter~0 4)} is VALID [2022-04-08 14:01:46,514 INFO L290 TraceCheckUtils]: 48: Hoare triple {11364#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11392#(<= ~counter~0 5)} is VALID [2022-04-08 14:01:46,514 INFO L290 TraceCheckUtils]: 49: Hoare triple {11392#(<= ~counter~0 5)} assume !!(#t~post6 < 100);havoc #t~post6; {11392#(<= ~counter~0 5)} is VALID [2022-04-08 14:01:46,515 INFO L272 TraceCheckUtils]: 50: Hoare triple {11392#(<= ~counter~0 5)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {11392#(<= ~counter~0 5)} is VALID [2022-04-08 14:01:46,515 INFO L290 TraceCheckUtils]: 51: Hoare triple {11392#(<= ~counter~0 5)} ~cond := #in~cond; {11392#(<= ~counter~0 5)} is VALID [2022-04-08 14:01:46,515 INFO L290 TraceCheckUtils]: 52: Hoare triple {11392#(<= ~counter~0 5)} assume !(0 == ~cond); {11392#(<= ~counter~0 5)} is VALID [2022-04-08 14:01:46,515 INFO L290 TraceCheckUtils]: 53: Hoare triple {11392#(<= ~counter~0 5)} assume true; {11392#(<= ~counter~0 5)} is VALID [2022-04-08 14:01:46,516 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {11392#(<= ~counter~0 5)} {11392#(<= ~counter~0 5)} #71#return; {11392#(<= ~counter~0 5)} is VALID [2022-04-08 14:01:46,516 INFO L290 TraceCheckUtils]: 55: Hoare triple {11392#(<= ~counter~0 5)} assume !!(0 != ~a~0 && 0 != ~b~0); {11392#(<= ~counter~0 5)} is VALID [2022-04-08 14:01:46,517 INFO L290 TraceCheckUtils]: 56: Hoare triple {11392#(<= ~counter~0 5)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {11392#(<= ~counter~0 5)} is VALID [2022-04-08 14:01:46,517 INFO L290 TraceCheckUtils]: 57: Hoare triple {11392#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11420#(<= |main_#t~post6| 5)} is VALID [2022-04-08 14:01:46,517 INFO L290 TraceCheckUtils]: 58: Hoare triple {11420#(<= |main_#t~post6| 5)} assume !(#t~post6 < 100);havoc #t~post6; {11239#false} is VALID [2022-04-08 14:01:46,517 INFO L272 TraceCheckUtils]: 59: Hoare triple {11239#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {11239#false} is VALID [2022-04-08 14:01:46,517 INFO L290 TraceCheckUtils]: 60: Hoare triple {11239#false} ~cond := #in~cond; {11239#false} is VALID [2022-04-08 14:01:46,517 INFO L290 TraceCheckUtils]: 61: Hoare triple {11239#false} assume 0 == ~cond; {11239#false} is VALID [2022-04-08 14:01:46,518 INFO L290 TraceCheckUtils]: 62: Hoare triple {11239#false} assume !false; {11239#false} is VALID [2022-04-08 14:01:46,518 INFO L134 CoverageAnalysis]: Checked inductivity of 110 backedges. 10 proven. 100 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 14:01:46,518 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 14:01:46,804 INFO L290 TraceCheckUtils]: 62: Hoare triple {11239#false} assume !false; {11239#false} is VALID [2022-04-08 14:01:46,804 INFO L290 TraceCheckUtils]: 61: Hoare triple {11239#false} assume 0 == ~cond; {11239#false} is VALID [2022-04-08 14:01:46,804 INFO L290 TraceCheckUtils]: 60: Hoare triple {11239#false} ~cond := #in~cond; {11239#false} is VALID [2022-04-08 14:01:46,804 INFO L272 TraceCheckUtils]: 59: Hoare triple {11239#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {11239#false} is VALID [2022-04-08 14:01:46,805 INFO L290 TraceCheckUtils]: 58: Hoare triple {11448#(< |main_#t~post6| 100)} assume !(#t~post6 < 100);havoc #t~post6; {11239#false} is VALID [2022-04-08 14:01:46,805 INFO L290 TraceCheckUtils]: 57: Hoare triple {11452#(< ~counter~0 100)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11448#(< |main_#t~post6| 100)} is VALID [2022-04-08 14:01:46,805 INFO L290 TraceCheckUtils]: 56: Hoare triple {11452#(< ~counter~0 100)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {11452#(< ~counter~0 100)} is VALID [2022-04-08 14:01:46,805 INFO L290 TraceCheckUtils]: 55: Hoare triple {11452#(< ~counter~0 100)} assume !!(0 != ~a~0 && 0 != ~b~0); {11452#(< ~counter~0 100)} is VALID [2022-04-08 14:01:46,806 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {11238#true} {11452#(< ~counter~0 100)} #71#return; {11452#(< ~counter~0 100)} is VALID [2022-04-08 14:01:46,806 INFO L290 TraceCheckUtils]: 53: Hoare triple {11238#true} assume true; {11238#true} is VALID [2022-04-08 14:01:46,806 INFO L290 TraceCheckUtils]: 52: Hoare triple {11238#true} assume !(0 == ~cond); {11238#true} is VALID [2022-04-08 14:01:46,806 INFO L290 TraceCheckUtils]: 51: Hoare triple {11238#true} ~cond := #in~cond; {11238#true} is VALID [2022-04-08 14:01:46,806 INFO L272 TraceCheckUtils]: 50: Hoare triple {11452#(< ~counter~0 100)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {11238#true} is VALID [2022-04-08 14:01:46,807 INFO L290 TraceCheckUtils]: 49: Hoare triple {11452#(< ~counter~0 100)} assume !!(#t~post6 < 100);havoc #t~post6; {11452#(< ~counter~0 100)} is VALID [2022-04-08 14:01:46,807 INFO L290 TraceCheckUtils]: 48: Hoare triple {11480#(< ~counter~0 99)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11452#(< ~counter~0 100)} is VALID [2022-04-08 14:01:46,807 INFO L290 TraceCheckUtils]: 47: Hoare triple {11480#(< ~counter~0 99)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {11480#(< ~counter~0 99)} is VALID [2022-04-08 14:01:46,808 INFO L290 TraceCheckUtils]: 46: Hoare triple {11480#(< ~counter~0 99)} assume !!(0 != ~a~0 && 0 != ~b~0); {11480#(< ~counter~0 99)} is VALID [2022-04-08 14:01:46,808 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {11238#true} {11480#(< ~counter~0 99)} #71#return; {11480#(< ~counter~0 99)} is VALID [2022-04-08 14:01:46,808 INFO L290 TraceCheckUtils]: 44: Hoare triple {11238#true} assume true; {11238#true} is VALID [2022-04-08 14:01:46,808 INFO L290 TraceCheckUtils]: 43: Hoare triple {11238#true} assume !(0 == ~cond); {11238#true} is VALID [2022-04-08 14:01:46,809 INFO L290 TraceCheckUtils]: 42: Hoare triple {11238#true} ~cond := #in~cond; {11238#true} is VALID [2022-04-08 14:01:46,809 INFO L272 TraceCheckUtils]: 41: Hoare triple {11480#(< ~counter~0 99)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {11238#true} is VALID [2022-04-08 14:01:46,809 INFO L290 TraceCheckUtils]: 40: Hoare triple {11480#(< ~counter~0 99)} assume !!(#t~post6 < 100);havoc #t~post6; {11480#(< ~counter~0 99)} is VALID [2022-04-08 14:01:46,809 INFO L290 TraceCheckUtils]: 39: Hoare triple {11508#(< ~counter~0 98)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11480#(< ~counter~0 99)} is VALID [2022-04-08 14:01:46,810 INFO L290 TraceCheckUtils]: 38: Hoare triple {11508#(< ~counter~0 98)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {11508#(< ~counter~0 98)} is VALID [2022-04-08 14:01:46,810 INFO L290 TraceCheckUtils]: 37: Hoare triple {11508#(< ~counter~0 98)} assume !!(0 != ~a~0 && 0 != ~b~0); {11508#(< ~counter~0 98)} is VALID [2022-04-08 14:01:46,810 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {11238#true} {11508#(< ~counter~0 98)} #71#return; {11508#(< ~counter~0 98)} is VALID [2022-04-08 14:01:46,811 INFO L290 TraceCheckUtils]: 35: Hoare triple {11238#true} assume true; {11238#true} is VALID [2022-04-08 14:01:46,811 INFO L290 TraceCheckUtils]: 34: Hoare triple {11238#true} assume !(0 == ~cond); {11238#true} is VALID [2022-04-08 14:01:46,811 INFO L290 TraceCheckUtils]: 33: Hoare triple {11238#true} ~cond := #in~cond; {11238#true} is VALID [2022-04-08 14:01:46,811 INFO L272 TraceCheckUtils]: 32: Hoare triple {11508#(< ~counter~0 98)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {11238#true} is VALID [2022-04-08 14:01:46,811 INFO L290 TraceCheckUtils]: 31: Hoare triple {11508#(< ~counter~0 98)} assume !!(#t~post6 < 100);havoc #t~post6; {11508#(< ~counter~0 98)} is VALID [2022-04-08 14:01:46,811 INFO L290 TraceCheckUtils]: 30: Hoare triple {11536#(< ~counter~0 97)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11508#(< ~counter~0 98)} is VALID [2022-04-08 14:01:46,812 INFO L290 TraceCheckUtils]: 29: Hoare triple {11536#(< ~counter~0 97)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {11536#(< ~counter~0 97)} is VALID [2022-04-08 14:01:46,812 INFO L290 TraceCheckUtils]: 28: Hoare triple {11536#(< ~counter~0 97)} assume !!(0 != ~a~0 && 0 != ~b~0); {11536#(< ~counter~0 97)} is VALID [2022-04-08 14:01:46,813 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {11238#true} {11536#(< ~counter~0 97)} #71#return; {11536#(< ~counter~0 97)} is VALID [2022-04-08 14:01:46,813 INFO L290 TraceCheckUtils]: 26: Hoare triple {11238#true} assume true; {11238#true} is VALID [2022-04-08 14:01:46,813 INFO L290 TraceCheckUtils]: 25: Hoare triple {11238#true} assume !(0 == ~cond); {11238#true} is VALID [2022-04-08 14:01:46,813 INFO L290 TraceCheckUtils]: 24: Hoare triple {11238#true} ~cond := #in~cond; {11238#true} is VALID [2022-04-08 14:01:46,813 INFO L272 TraceCheckUtils]: 23: Hoare triple {11536#(< ~counter~0 97)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {11238#true} is VALID [2022-04-08 14:01:46,813 INFO L290 TraceCheckUtils]: 22: Hoare triple {11536#(< ~counter~0 97)} assume !!(#t~post6 < 100);havoc #t~post6; {11536#(< ~counter~0 97)} is VALID [2022-04-08 14:01:46,814 INFO L290 TraceCheckUtils]: 21: Hoare triple {11564#(< ~counter~0 96)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11536#(< ~counter~0 97)} is VALID [2022-04-08 14:01:46,814 INFO L290 TraceCheckUtils]: 20: Hoare triple {11564#(< ~counter~0 96)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {11564#(< ~counter~0 96)} is VALID [2022-04-08 14:01:46,814 INFO L290 TraceCheckUtils]: 19: Hoare triple {11564#(< ~counter~0 96)} assume !!(0 != ~a~0 && 0 != ~b~0); {11564#(< ~counter~0 96)} is VALID [2022-04-08 14:01:46,815 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {11238#true} {11564#(< ~counter~0 96)} #71#return; {11564#(< ~counter~0 96)} is VALID [2022-04-08 14:01:46,815 INFO L290 TraceCheckUtils]: 17: Hoare triple {11238#true} assume true; {11238#true} is VALID [2022-04-08 14:01:46,815 INFO L290 TraceCheckUtils]: 16: Hoare triple {11238#true} assume !(0 == ~cond); {11238#true} is VALID [2022-04-08 14:01:46,815 INFO L290 TraceCheckUtils]: 15: Hoare triple {11238#true} ~cond := #in~cond; {11238#true} is VALID [2022-04-08 14:01:46,815 INFO L272 TraceCheckUtils]: 14: Hoare triple {11564#(< ~counter~0 96)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {11238#true} is VALID [2022-04-08 14:01:46,815 INFO L290 TraceCheckUtils]: 13: Hoare triple {11564#(< ~counter~0 96)} assume !!(#t~post6 < 100);havoc #t~post6; {11564#(< ~counter~0 96)} is VALID [2022-04-08 14:01:46,816 INFO L290 TraceCheckUtils]: 12: Hoare triple {11592#(< ~counter~0 95)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11564#(< ~counter~0 96)} is VALID [2022-04-08 14:01:46,816 INFO L290 TraceCheckUtils]: 11: Hoare triple {11592#(< ~counter~0 95)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {11592#(< ~counter~0 95)} is VALID [2022-04-08 14:01:46,816 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11238#true} {11592#(< ~counter~0 95)} #69#return; {11592#(< ~counter~0 95)} is VALID [2022-04-08 14:01:46,817 INFO L290 TraceCheckUtils]: 9: Hoare triple {11238#true} assume true; {11238#true} is VALID [2022-04-08 14:01:46,817 INFO L290 TraceCheckUtils]: 8: Hoare triple {11238#true} assume !(0 == ~cond); {11238#true} is VALID [2022-04-08 14:01:46,817 INFO L290 TraceCheckUtils]: 7: Hoare triple {11238#true} ~cond := #in~cond; {11238#true} is VALID [2022-04-08 14:01:46,817 INFO L272 TraceCheckUtils]: 6: Hoare triple {11592#(< ~counter~0 95)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11238#true} is VALID [2022-04-08 14:01:46,817 INFO L290 TraceCheckUtils]: 5: Hoare triple {11592#(< ~counter~0 95)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {11592#(< ~counter~0 95)} is VALID [2022-04-08 14:01:46,817 INFO L272 TraceCheckUtils]: 4: Hoare triple {11592#(< ~counter~0 95)} call #t~ret7 := main(); {11592#(< ~counter~0 95)} is VALID [2022-04-08 14:01:46,817 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11592#(< ~counter~0 95)} {11238#true} #77#return; {11592#(< ~counter~0 95)} is VALID [2022-04-08 14:01:46,818 INFO L290 TraceCheckUtils]: 2: Hoare triple {11592#(< ~counter~0 95)} assume true; {11592#(< ~counter~0 95)} is VALID [2022-04-08 14:01:46,818 INFO L290 TraceCheckUtils]: 1: Hoare triple {11238#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {11592#(< ~counter~0 95)} is VALID [2022-04-08 14:01:46,818 INFO L272 TraceCheckUtils]: 0: Hoare triple {11238#true} call ULTIMATE.init(); {11238#true} is VALID [2022-04-08 14:01:46,818 INFO L134 CoverageAnalysis]: Checked inductivity of 110 backedges. 10 proven. 60 refuted. 0 times theorem prover too weak. 40 trivial. 0 not checked. [2022-04-08 14:01:46,819 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 14:01:46,819 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2084487300] [2022-04-08 14:01:46,819 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 14:01:46,819 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1759820663] [2022-04-08 14:01:46,819 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1759820663] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 14:01:46,819 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 14:01:46,819 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 16 [2022-04-08 14:01:46,819 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 14:01:46,819 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1137093893] [2022-04-08 14:01:46,819 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1137093893] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 14:01:46,819 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 14:01:46,819 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 14:01:46,819 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [280765705] [2022-04-08 14:01:46,819 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 14:01:46,820 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 5.222222222222222) internal successors, (47), 8 states have internal predecessors, (47), 8 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Word has length 63 [2022-04-08 14:01:46,820 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 14:01:46,820 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 5.222222222222222) internal successors, (47), 8 states have internal predecessors, (47), 8 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-08 14:01:46,852 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:01:46,852 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-08 14:01:46,852 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 14:01:46,852 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-08 14:01:46,852 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=96, Invalid=144, Unknown=0, NotChecked=0, Total=240 [2022-04-08 14:01:46,852 INFO L87 Difference]: Start difference. First operand 87 states and 104 transitions. Second operand has 9 states, 9 states have (on average 5.222222222222222) internal successors, (47), 8 states have internal predecessors, (47), 8 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-08 14:01:47,071 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:01:47,071 INFO L93 Difference]: Finished difference Result 106 states and 127 transitions. [2022-04-08 14:01:47,071 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-08 14:01:47,072 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 5.222222222222222) internal successors, (47), 8 states have internal predecessors, (47), 8 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Word has length 63 [2022-04-08 14:01:47,072 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 14:01:47,072 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 5.222222222222222) internal successors, (47), 8 states have internal predecessors, (47), 8 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-08 14:01:47,073 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 113 transitions. [2022-04-08 14:01:47,073 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 5.222222222222222) internal successors, (47), 8 states have internal predecessors, (47), 8 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-08 14:01:47,074 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 113 transitions. [2022-04-08 14:01:47,076 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 113 transitions. [2022-04-08 14:01:47,232 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 113 edges. 113 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:01:47,234 INFO L225 Difference]: With dead ends: 106 [2022-04-08 14:01:47,234 INFO L226 Difference]: Without dead ends: 98 [2022-04-08 14:01:47,235 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 130 GetRequests, 111 SyntacticMatches, 0 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 26 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=171, Invalid=249, Unknown=0, NotChecked=0, Total=420 [2022-04-08 14:01:47,235 INFO L913 BasicCegarLoop]: 35 mSDtfsCounter, 84 mSDsluCounter, 103 mSDsCounter, 0 mSdLazyCounter, 32 mSolverCounterSat, 20 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 84 SdHoareTripleChecker+Valid, 138 SdHoareTripleChecker+Invalid, 52 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 20 IncrementalHoareTripleChecker+Valid, 32 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 14:01:47,235 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [84 Valid, 138 Invalid, 52 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [20 Valid, 32 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 14:01:47,236 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 98 states. [2022-04-08 14:01:47,406 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 98 to 98. [2022-04-08 14:01:47,406 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 14:01:47,407 INFO L82 GeneralOperation]: Start isEquivalent. First operand 98 states. Second operand has 98 states, 75 states have (on average 1.28) internal successors, (96), 76 states have internal predecessors, (96), 12 states have call successors, (12), 11 states have call predecessors, (12), 10 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 14:01:47,421 INFO L74 IsIncluded]: Start isIncluded. First operand 98 states. Second operand has 98 states, 75 states have (on average 1.28) internal successors, (96), 76 states have internal predecessors, (96), 12 states have call successors, (12), 11 states have call predecessors, (12), 10 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 14:01:47,421 INFO L87 Difference]: Start difference. First operand 98 states. Second operand has 98 states, 75 states have (on average 1.28) internal successors, (96), 76 states have internal predecessors, (96), 12 states have call successors, (12), 11 states have call predecessors, (12), 10 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 14:01:47,422 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:01:47,422 INFO L93 Difference]: Finished difference Result 98 states and 118 transitions. [2022-04-08 14:01:47,423 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 118 transitions. [2022-04-08 14:01:47,423 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:01:47,423 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:01:47,423 INFO L74 IsIncluded]: Start isIncluded. First operand has 98 states, 75 states have (on average 1.28) internal successors, (96), 76 states have internal predecessors, (96), 12 states have call successors, (12), 11 states have call predecessors, (12), 10 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 98 states. [2022-04-08 14:01:47,423 INFO L87 Difference]: Start difference. First operand has 98 states, 75 states have (on average 1.28) internal successors, (96), 76 states have internal predecessors, (96), 12 states have call successors, (12), 11 states have call predecessors, (12), 10 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 98 states. [2022-04-08 14:01:47,424 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:01:47,424 INFO L93 Difference]: Finished difference Result 98 states and 118 transitions. [2022-04-08 14:01:47,424 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 118 transitions. [2022-04-08 14:01:47,425 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:01:47,425 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:01:47,425 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 14:01:47,425 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 14:01:47,425 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 98 states, 75 states have (on average 1.28) internal successors, (96), 76 states have internal predecessors, (96), 12 states have call successors, (12), 11 states have call predecessors, (12), 10 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 14:01:47,426 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 98 states to 98 states and 118 transitions. [2022-04-08 14:01:47,426 INFO L78 Accepts]: Start accepts. Automaton has 98 states and 118 transitions. Word has length 63 [2022-04-08 14:01:47,426 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 14:01:47,426 INFO L478 AbstractCegarLoop]: Abstraction has 98 states and 118 transitions. [2022-04-08 14:01:47,427 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 5.222222222222222) internal successors, (47), 8 states have internal predecessors, (47), 8 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-08 14:01:47,427 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 98 states and 118 transitions. [2022-04-08 14:01:58,324 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 118 edges. 113 inductive. 0 not inductive. 5 times theorem prover too weak to decide inductivity. [2022-04-08 14:01:58,324 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 118 transitions. [2022-04-08 14:01:58,325 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 73 [2022-04-08 14:01:58,325 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 14:01:58,325 INFO L499 BasicCegarLoop]: trace histogram [7, 7, 6, 6, 6, 6, 6, 6, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 14:01:58,341 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Forceful destruction successful, exit code 0 [2022-04-08 14:01:58,525 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable18,19 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 14:01:58,526 INFO L403 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 14:01:58,526 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 14:01:58,526 INFO L85 PathProgramCache]: Analyzing trace with hash -1454644230, now seen corresponding path program 11 times [2022-04-08 14:01:58,526 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 14:01:58,526 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1609379575] [2022-04-08 14:02:04,599 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 14:02:04,600 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 14:02:04,600 INFO L85 PathProgramCache]: Analyzing trace with hash -1454644230, now seen corresponding path program 12 times [2022-04-08 14:02:04,600 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 14:02:04,600 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [488747983] [2022-04-08 14:02:04,600 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 14:02:04,600 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 14:02:04,615 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 14:02:04,616 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1460655530] [2022-04-08 14:02:04,616 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 14:02:04,616 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 14:02:04,616 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 14:02:04,617 INFO L229 MonitoredProcess]: Starting monitored process 20 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 14:02:04,618 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Waiting until timeout for monitored process [2022-04-08 14:02:04,693 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2022-04-08 14:02:04,693 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 14:02:04,694 INFO L263 TraceCheckSpWp]: Trace formula consists of 242 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-08 14:02:04,708 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 14:02:04,709 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 14:02:05,042 INFO L272 TraceCheckUtils]: 0: Hoare triple {12245#true} call ULTIMATE.init(); {12245#true} is VALID [2022-04-08 14:02:05,042 INFO L290 TraceCheckUtils]: 1: Hoare triple {12245#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {12253#(<= ~counter~0 0)} is VALID [2022-04-08 14:02:05,042 INFO L290 TraceCheckUtils]: 2: Hoare triple {12253#(<= ~counter~0 0)} assume true; {12253#(<= ~counter~0 0)} is VALID [2022-04-08 14:02:05,043 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12253#(<= ~counter~0 0)} {12245#true} #77#return; {12253#(<= ~counter~0 0)} is VALID [2022-04-08 14:02:05,043 INFO L272 TraceCheckUtils]: 4: Hoare triple {12253#(<= ~counter~0 0)} call #t~ret7 := main(); {12253#(<= ~counter~0 0)} is VALID [2022-04-08 14:02:05,043 INFO L290 TraceCheckUtils]: 5: Hoare triple {12253#(<= ~counter~0 0)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {12253#(<= ~counter~0 0)} is VALID [2022-04-08 14:02:05,044 INFO L272 TraceCheckUtils]: 6: Hoare triple {12253#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {12253#(<= ~counter~0 0)} is VALID [2022-04-08 14:02:05,044 INFO L290 TraceCheckUtils]: 7: Hoare triple {12253#(<= ~counter~0 0)} ~cond := #in~cond; {12253#(<= ~counter~0 0)} is VALID [2022-04-08 14:02:05,044 INFO L290 TraceCheckUtils]: 8: Hoare triple {12253#(<= ~counter~0 0)} assume !(0 == ~cond); {12253#(<= ~counter~0 0)} is VALID [2022-04-08 14:02:05,045 INFO L290 TraceCheckUtils]: 9: Hoare triple {12253#(<= ~counter~0 0)} assume true; {12253#(<= ~counter~0 0)} is VALID [2022-04-08 14:02:05,045 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {12253#(<= ~counter~0 0)} {12253#(<= ~counter~0 0)} #69#return; {12253#(<= ~counter~0 0)} is VALID [2022-04-08 14:02:05,045 INFO L290 TraceCheckUtils]: 11: Hoare triple {12253#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {12253#(<= ~counter~0 0)} is VALID [2022-04-08 14:02:05,046 INFO L290 TraceCheckUtils]: 12: Hoare triple {12253#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12287#(<= ~counter~0 1)} is VALID [2022-04-08 14:02:05,046 INFO L290 TraceCheckUtils]: 13: Hoare triple {12287#(<= ~counter~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {12287#(<= ~counter~0 1)} is VALID [2022-04-08 14:02:05,047 INFO L272 TraceCheckUtils]: 14: Hoare triple {12287#(<= ~counter~0 1)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {12287#(<= ~counter~0 1)} is VALID [2022-04-08 14:02:05,047 INFO L290 TraceCheckUtils]: 15: Hoare triple {12287#(<= ~counter~0 1)} ~cond := #in~cond; {12287#(<= ~counter~0 1)} is VALID [2022-04-08 14:02:05,047 INFO L290 TraceCheckUtils]: 16: Hoare triple {12287#(<= ~counter~0 1)} assume !(0 == ~cond); {12287#(<= ~counter~0 1)} is VALID [2022-04-08 14:02:05,048 INFO L290 TraceCheckUtils]: 17: Hoare triple {12287#(<= ~counter~0 1)} assume true; {12287#(<= ~counter~0 1)} is VALID [2022-04-08 14:02:05,048 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {12287#(<= ~counter~0 1)} {12287#(<= ~counter~0 1)} #71#return; {12287#(<= ~counter~0 1)} is VALID [2022-04-08 14:02:05,049 INFO L290 TraceCheckUtils]: 19: Hoare triple {12287#(<= ~counter~0 1)} assume !!(0 != ~a~0 && 0 != ~b~0); {12287#(<= ~counter~0 1)} is VALID [2022-04-08 14:02:05,049 INFO L290 TraceCheckUtils]: 20: Hoare triple {12287#(<= ~counter~0 1)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {12287#(<= ~counter~0 1)} is VALID [2022-04-08 14:02:05,049 INFO L290 TraceCheckUtils]: 21: Hoare triple {12287#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12315#(<= ~counter~0 2)} is VALID [2022-04-08 14:02:05,050 INFO L290 TraceCheckUtils]: 22: Hoare triple {12315#(<= ~counter~0 2)} assume !!(#t~post6 < 100);havoc #t~post6; {12315#(<= ~counter~0 2)} is VALID [2022-04-08 14:02:05,050 INFO L272 TraceCheckUtils]: 23: Hoare triple {12315#(<= ~counter~0 2)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {12315#(<= ~counter~0 2)} is VALID [2022-04-08 14:02:05,050 INFO L290 TraceCheckUtils]: 24: Hoare triple {12315#(<= ~counter~0 2)} ~cond := #in~cond; {12315#(<= ~counter~0 2)} is VALID [2022-04-08 14:02:05,051 INFO L290 TraceCheckUtils]: 25: Hoare triple {12315#(<= ~counter~0 2)} assume !(0 == ~cond); {12315#(<= ~counter~0 2)} is VALID [2022-04-08 14:02:05,051 INFO L290 TraceCheckUtils]: 26: Hoare triple {12315#(<= ~counter~0 2)} assume true; {12315#(<= ~counter~0 2)} is VALID [2022-04-08 14:02:05,052 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {12315#(<= ~counter~0 2)} {12315#(<= ~counter~0 2)} #71#return; {12315#(<= ~counter~0 2)} is VALID [2022-04-08 14:02:05,052 INFO L290 TraceCheckUtils]: 28: Hoare triple {12315#(<= ~counter~0 2)} assume !!(0 != ~a~0 && 0 != ~b~0); {12315#(<= ~counter~0 2)} is VALID [2022-04-08 14:02:05,052 INFO L290 TraceCheckUtils]: 29: Hoare triple {12315#(<= ~counter~0 2)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {12315#(<= ~counter~0 2)} is VALID [2022-04-08 14:02:05,053 INFO L290 TraceCheckUtils]: 30: Hoare triple {12315#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12343#(<= ~counter~0 3)} is VALID [2022-04-08 14:02:05,056 INFO L290 TraceCheckUtils]: 31: Hoare triple {12343#(<= ~counter~0 3)} assume !!(#t~post6 < 100);havoc #t~post6; {12343#(<= ~counter~0 3)} is VALID [2022-04-08 14:02:05,057 INFO L272 TraceCheckUtils]: 32: Hoare triple {12343#(<= ~counter~0 3)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {12343#(<= ~counter~0 3)} is VALID [2022-04-08 14:02:05,057 INFO L290 TraceCheckUtils]: 33: Hoare triple {12343#(<= ~counter~0 3)} ~cond := #in~cond; {12343#(<= ~counter~0 3)} is VALID [2022-04-08 14:02:05,058 INFO L290 TraceCheckUtils]: 34: Hoare triple {12343#(<= ~counter~0 3)} assume !(0 == ~cond); {12343#(<= ~counter~0 3)} is VALID [2022-04-08 14:02:05,058 INFO L290 TraceCheckUtils]: 35: Hoare triple {12343#(<= ~counter~0 3)} assume true; {12343#(<= ~counter~0 3)} is VALID [2022-04-08 14:02:05,058 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {12343#(<= ~counter~0 3)} {12343#(<= ~counter~0 3)} #71#return; {12343#(<= ~counter~0 3)} is VALID [2022-04-08 14:02:05,059 INFO L290 TraceCheckUtils]: 37: Hoare triple {12343#(<= ~counter~0 3)} assume !!(0 != ~a~0 && 0 != ~b~0); {12343#(<= ~counter~0 3)} is VALID [2022-04-08 14:02:05,059 INFO L290 TraceCheckUtils]: 38: Hoare triple {12343#(<= ~counter~0 3)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {12343#(<= ~counter~0 3)} is VALID [2022-04-08 14:02:05,060 INFO L290 TraceCheckUtils]: 39: Hoare triple {12343#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12371#(<= ~counter~0 4)} is VALID [2022-04-08 14:02:05,060 INFO L290 TraceCheckUtils]: 40: Hoare triple {12371#(<= ~counter~0 4)} assume !!(#t~post6 < 100);havoc #t~post6; {12371#(<= ~counter~0 4)} is VALID [2022-04-08 14:02:05,061 INFO L272 TraceCheckUtils]: 41: Hoare triple {12371#(<= ~counter~0 4)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {12371#(<= ~counter~0 4)} is VALID [2022-04-08 14:02:05,061 INFO L290 TraceCheckUtils]: 42: Hoare triple {12371#(<= ~counter~0 4)} ~cond := #in~cond; {12371#(<= ~counter~0 4)} is VALID [2022-04-08 14:02:05,061 INFO L290 TraceCheckUtils]: 43: Hoare triple {12371#(<= ~counter~0 4)} assume !(0 == ~cond); {12371#(<= ~counter~0 4)} is VALID [2022-04-08 14:02:05,061 INFO L290 TraceCheckUtils]: 44: Hoare triple {12371#(<= ~counter~0 4)} assume true; {12371#(<= ~counter~0 4)} is VALID [2022-04-08 14:02:05,062 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {12371#(<= ~counter~0 4)} {12371#(<= ~counter~0 4)} #71#return; {12371#(<= ~counter~0 4)} is VALID [2022-04-08 14:02:05,062 INFO L290 TraceCheckUtils]: 46: Hoare triple {12371#(<= ~counter~0 4)} assume !!(0 != ~a~0 && 0 != ~b~0); {12371#(<= ~counter~0 4)} is VALID [2022-04-08 14:02:05,063 INFO L290 TraceCheckUtils]: 47: Hoare triple {12371#(<= ~counter~0 4)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {12371#(<= ~counter~0 4)} is VALID [2022-04-08 14:02:05,063 INFO L290 TraceCheckUtils]: 48: Hoare triple {12371#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12399#(<= ~counter~0 5)} is VALID [2022-04-08 14:02:05,063 INFO L290 TraceCheckUtils]: 49: Hoare triple {12399#(<= ~counter~0 5)} assume !!(#t~post6 < 100);havoc #t~post6; {12399#(<= ~counter~0 5)} is VALID [2022-04-08 14:02:05,064 INFO L272 TraceCheckUtils]: 50: Hoare triple {12399#(<= ~counter~0 5)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {12399#(<= ~counter~0 5)} is VALID [2022-04-08 14:02:05,064 INFO L290 TraceCheckUtils]: 51: Hoare triple {12399#(<= ~counter~0 5)} ~cond := #in~cond; {12399#(<= ~counter~0 5)} is VALID [2022-04-08 14:02:05,064 INFO L290 TraceCheckUtils]: 52: Hoare triple {12399#(<= ~counter~0 5)} assume !(0 == ~cond); {12399#(<= ~counter~0 5)} is VALID [2022-04-08 14:02:05,065 INFO L290 TraceCheckUtils]: 53: Hoare triple {12399#(<= ~counter~0 5)} assume true; {12399#(<= ~counter~0 5)} is VALID [2022-04-08 14:02:05,065 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {12399#(<= ~counter~0 5)} {12399#(<= ~counter~0 5)} #71#return; {12399#(<= ~counter~0 5)} is VALID [2022-04-08 14:02:05,066 INFO L290 TraceCheckUtils]: 55: Hoare triple {12399#(<= ~counter~0 5)} assume !!(0 != ~a~0 && 0 != ~b~0); {12399#(<= ~counter~0 5)} is VALID [2022-04-08 14:02:05,066 INFO L290 TraceCheckUtils]: 56: Hoare triple {12399#(<= ~counter~0 5)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {12399#(<= ~counter~0 5)} is VALID [2022-04-08 14:02:05,066 INFO L290 TraceCheckUtils]: 57: Hoare triple {12399#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12427#(<= ~counter~0 6)} is VALID [2022-04-08 14:02:05,067 INFO L290 TraceCheckUtils]: 58: Hoare triple {12427#(<= ~counter~0 6)} assume !!(#t~post6 < 100);havoc #t~post6; {12427#(<= ~counter~0 6)} is VALID [2022-04-08 14:02:05,067 INFO L272 TraceCheckUtils]: 59: Hoare triple {12427#(<= ~counter~0 6)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {12427#(<= ~counter~0 6)} is VALID [2022-04-08 14:02:05,067 INFO L290 TraceCheckUtils]: 60: Hoare triple {12427#(<= ~counter~0 6)} ~cond := #in~cond; {12427#(<= ~counter~0 6)} is VALID [2022-04-08 14:02:05,068 INFO L290 TraceCheckUtils]: 61: Hoare triple {12427#(<= ~counter~0 6)} assume !(0 == ~cond); {12427#(<= ~counter~0 6)} is VALID [2022-04-08 14:02:05,068 INFO L290 TraceCheckUtils]: 62: Hoare triple {12427#(<= ~counter~0 6)} assume true; {12427#(<= ~counter~0 6)} is VALID [2022-04-08 14:02:05,069 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {12427#(<= ~counter~0 6)} {12427#(<= ~counter~0 6)} #71#return; {12427#(<= ~counter~0 6)} is VALID [2022-04-08 14:02:05,069 INFO L290 TraceCheckUtils]: 64: Hoare triple {12427#(<= ~counter~0 6)} assume !!(0 != ~a~0 && 0 != ~b~0); {12427#(<= ~counter~0 6)} is VALID [2022-04-08 14:02:05,069 INFO L290 TraceCheckUtils]: 65: Hoare triple {12427#(<= ~counter~0 6)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {12427#(<= ~counter~0 6)} is VALID [2022-04-08 14:02:05,070 INFO L290 TraceCheckUtils]: 66: Hoare triple {12427#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12455#(<= |main_#t~post6| 6)} is VALID [2022-04-08 14:02:05,070 INFO L290 TraceCheckUtils]: 67: Hoare triple {12455#(<= |main_#t~post6| 6)} assume !(#t~post6 < 100);havoc #t~post6; {12246#false} is VALID [2022-04-08 14:02:05,070 INFO L272 TraceCheckUtils]: 68: Hoare triple {12246#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {12246#false} is VALID [2022-04-08 14:02:05,070 INFO L290 TraceCheckUtils]: 69: Hoare triple {12246#false} ~cond := #in~cond; {12246#false} is VALID [2022-04-08 14:02:05,070 INFO L290 TraceCheckUtils]: 70: Hoare triple {12246#false} assume 0 == ~cond; {12246#false} is VALID [2022-04-08 14:02:05,070 INFO L290 TraceCheckUtils]: 71: Hoare triple {12246#false} assume !false; {12246#false} is VALID [2022-04-08 14:02:05,070 INFO L134 CoverageAnalysis]: Checked inductivity of 159 backedges. 12 proven. 147 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 14:02:05,071 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 14:02:05,451 INFO L290 TraceCheckUtils]: 71: Hoare triple {12246#false} assume !false; {12246#false} is VALID [2022-04-08 14:02:05,452 INFO L290 TraceCheckUtils]: 70: Hoare triple {12246#false} assume 0 == ~cond; {12246#false} is VALID [2022-04-08 14:02:05,452 INFO L290 TraceCheckUtils]: 69: Hoare triple {12246#false} ~cond := #in~cond; {12246#false} is VALID [2022-04-08 14:02:05,452 INFO L272 TraceCheckUtils]: 68: Hoare triple {12246#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {12246#false} is VALID [2022-04-08 14:02:05,452 INFO L290 TraceCheckUtils]: 67: Hoare triple {12483#(< |main_#t~post6| 100)} assume !(#t~post6 < 100);havoc #t~post6; {12246#false} is VALID [2022-04-08 14:02:05,452 INFO L290 TraceCheckUtils]: 66: Hoare triple {12487#(< ~counter~0 100)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12483#(< |main_#t~post6| 100)} is VALID [2022-04-08 14:02:05,452 INFO L290 TraceCheckUtils]: 65: Hoare triple {12487#(< ~counter~0 100)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {12487#(< ~counter~0 100)} is VALID [2022-04-08 14:02:05,453 INFO L290 TraceCheckUtils]: 64: Hoare triple {12487#(< ~counter~0 100)} assume !!(0 != ~a~0 && 0 != ~b~0); {12487#(< ~counter~0 100)} is VALID [2022-04-08 14:02:05,453 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {12245#true} {12487#(< ~counter~0 100)} #71#return; {12487#(< ~counter~0 100)} is VALID [2022-04-08 14:02:05,453 INFO L290 TraceCheckUtils]: 62: Hoare triple {12245#true} assume true; {12245#true} is VALID [2022-04-08 14:02:05,453 INFO L290 TraceCheckUtils]: 61: Hoare triple {12245#true} assume !(0 == ~cond); {12245#true} is VALID [2022-04-08 14:02:05,453 INFO L290 TraceCheckUtils]: 60: Hoare triple {12245#true} ~cond := #in~cond; {12245#true} is VALID [2022-04-08 14:02:05,453 INFO L272 TraceCheckUtils]: 59: Hoare triple {12487#(< ~counter~0 100)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {12245#true} is VALID [2022-04-08 14:02:05,453 INFO L290 TraceCheckUtils]: 58: Hoare triple {12487#(< ~counter~0 100)} assume !!(#t~post6 < 100);havoc #t~post6; {12487#(< ~counter~0 100)} is VALID [2022-04-08 14:02:05,454 INFO L290 TraceCheckUtils]: 57: Hoare triple {12515#(< ~counter~0 99)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12487#(< ~counter~0 100)} is VALID [2022-04-08 14:02:05,454 INFO L290 TraceCheckUtils]: 56: Hoare triple {12515#(< ~counter~0 99)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {12515#(< ~counter~0 99)} is VALID [2022-04-08 14:02:05,454 INFO L290 TraceCheckUtils]: 55: Hoare triple {12515#(< ~counter~0 99)} assume !!(0 != ~a~0 && 0 != ~b~0); {12515#(< ~counter~0 99)} is VALID [2022-04-08 14:02:05,456 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {12245#true} {12515#(< ~counter~0 99)} #71#return; {12515#(< ~counter~0 99)} is VALID [2022-04-08 14:02:05,456 INFO L290 TraceCheckUtils]: 53: Hoare triple {12245#true} assume true; {12245#true} is VALID [2022-04-08 14:02:05,456 INFO L290 TraceCheckUtils]: 52: Hoare triple {12245#true} assume !(0 == ~cond); {12245#true} is VALID [2022-04-08 14:02:05,456 INFO L290 TraceCheckUtils]: 51: Hoare triple {12245#true} ~cond := #in~cond; {12245#true} is VALID [2022-04-08 14:02:05,456 INFO L272 TraceCheckUtils]: 50: Hoare triple {12515#(< ~counter~0 99)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {12245#true} is VALID [2022-04-08 14:02:05,456 INFO L290 TraceCheckUtils]: 49: Hoare triple {12515#(< ~counter~0 99)} assume !!(#t~post6 < 100);havoc #t~post6; {12515#(< ~counter~0 99)} is VALID [2022-04-08 14:02:05,457 INFO L290 TraceCheckUtils]: 48: Hoare triple {12543#(< ~counter~0 98)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12515#(< ~counter~0 99)} is VALID [2022-04-08 14:02:05,457 INFO L290 TraceCheckUtils]: 47: Hoare triple {12543#(< ~counter~0 98)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {12543#(< ~counter~0 98)} is VALID [2022-04-08 14:02:05,457 INFO L290 TraceCheckUtils]: 46: Hoare triple {12543#(< ~counter~0 98)} assume !!(0 != ~a~0 && 0 != ~b~0); {12543#(< ~counter~0 98)} is VALID [2022-04-08 14:02:05,457 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {12245#true} {12543#(< ~counter~0 98)} #71#return; {12543#(< ~counter~0 98)} is VALID [2022-04-08 14:02:05,457 INFO L290 TraceCheckUtils]: 44: Hoare triple {12245#true} assume true; {12245#true} is VALID [2022-04-08 14:02:05,457 INFO L290 TraceCheckUtils]: 43: Hoare triple {12245#true} assume !(0 == ~cond); {12245#true} is VALID [2022-04-08 14:02:05,457 INFO L290 TraceCheckUtils]: 42: Hoare triple {12245#true} ~cond := #in~cond; {12245#true} is VALID [2022-04-08 14:02:05,458 INFO L272 TraceCheckUtils]: 41: Hoare triple {12543#(< ~counter~0 98)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {12245#true} is VALID [2022-04-08 14:02:05,459 INFO L290 TraceCheckUtils]: 40: Hoare triple {12543#(< ~counter~0 98)} assume !!(#t~post6 < 100);havoc #t~post6; {12543#(< ~counter~0 98)} is VALID [2022-04-08 14:02:05,459 INFO L290 TraceCheckUtils]: 39: Hoare triple {12571#(< ~counter~0 97)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12543#(< ~counter~0 98)} is VALID [2022-04-08 14:02:05,459 INFO L290 TraceCheckUtils]: 38: Hoare triple {12571#(< ~counter~0 97)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {12571#(< ~counter~0 97)} is VALID [2022-04-08 14:02:05,459 INFO L290 TraceCheckUtils]: 37: Hoare triple {12571#(< ~counter~0 97)} assume !!(0 != ~a~0 && 0 != ~b~0); {12571#(< ~counter~0 97)} is VALID [2022-04-08 14:02:05,460 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {12245#true} {12571#(< ~counter~0 97)} #71#return; {12571#(< ~counter~0 97)} is VALID [2022-04-08 14:02:05,460 INFO L290 TraceCheckUtils]: 35: Hoare triple {12245#true} assume true; {12245#true} is VALID [2022-04-08 14:02:05,460 INFO L290 TraceCheckUtils]: 34: Hoare triple {12245#true} assume !(0 == ~cond); {12245#true} is VALID [2022-04-08 14:02:05,460 INFO L290 TraceCheckUtils]: 33: Hoare triple {12245#true} ~cond := #in~cond; {12245#true} is VALID [2022-04-08 14:02:05,460 INFO L272 TraceCheckUtils]: 32: Hoare triple {12571#(< ~counter~0 97)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {12245#true} is VALID [2022-04-08 14:02:05,460 INFO L290 TraceCheckUtils]: 31: Hoare triple {12571#(< ~counter~0 97)} assume !!(#t~post6 < 100);havoc #t~post6; {12571#(< ~counter~0 97)} is VALID [2022-04-08 14:02:05,461 INFO L290 TraceCheckUtils]: 30: Hoare triple {12599#(< ~counter~0 96)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12571#(< ~counter~0 97)} is VALID [2022-04-08 14:02:05,461 INFO L290 TraceCheckUtils]: 29: Hoare triple {12599#(< ~counter~0 96)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {12599#(< ~counter~0 96)} is VALID [2022-04-08 14:02:05,461 INFO L290 TraceCheckUtils]: 28: Hoare triple {12599#(< ~counter~0 96)} assume !!(0 != ~a~0 && 0 != ~b~0); {12599#(< ~counter~0 96)} is VALID [2022-04-08 14:02:05,461 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {12245#true} {12599#(< ~counter~0 96)} #71#return; {12599#(< ~counter~0 96)} is VALID [2022-04-08 14:02:05,461 INFO L290 TraceCheckUtils]: 26: Hoare triple {12245#true} assume true; {12245#true} is VALID [2022-04-08 14:02:05,461 INFO L290 TraceCheckUtils]: 25: Hoare triple {12245#true} assume !(0 == ~cond); {12245#true} is VALID [2022-04-08 14:02:05,461 INFO L290 TraceCheckUtils]: 24: Hoare triple {12245#true} ~cond := #in~cond; {12245#true} is VALID [2022-04-08 14:02:05,462 INFO L272 TraceCheckUtils]: 23: Hoare triple {12599#(< ~counter~0 96)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {12245#true} is VALID [2022-04-08 14:02:05,462 INFO L290 TraceCheckUtils]: 22: Hoare triple {12599#(< ~counter~0 96)} assume !!(#t~post6 < 100);havoc #t~post6; {12599#(< ~counter~0 96)} is VALID [2022-04-08 14:02:05,462 INFO L290 TraceCheckUtils]: 21: Hoare triple {12627#(< ~counter~0 95)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12599#(< ~counter~0 96)} is VALID [2022-04-08 14:02:05,462 INFO L290 TraceCheckUtils]: 20: Hoare triple {12627#(< ~counter~0 95)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {12627#(< ~counter~0 95)} is VALID [2022-04-08 14:02:05,462 INFO L290 TraceCheckUtils]: 19: Hoare triple {12627#(< ~counter~0 95)} assume !!(0 != ~a~0 && 0 != ~b~0); {12627#(< ~counter~0 95)} is VALID [2022-04-08 14:02:05,463 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {12245#true} {12627#(< ~counter~0 95)} #71#return; {12627#(< ~counter~0 95)} is VALID [2022-04-08 14:02:05,463 INFO L290 TraceCheckUtils]: 17: Hoare triple {12245#true} assume true; {12245#true} is VALID [2022-04-08 14:02:05,463 INFO L290 TraceCheckUtils]: 16: Hoare triple {12245#true} assume !(0 == ~cond); {12245#true} is VALID [2022-04-08 14:02:05,463 INFO L290 TraceCheckUtils]: 15: Hoare triple {12245#true} ~cond := #in~cond; {12245#true} is VALID [2022-04-08 14:02:05,463 INFO L272 TraceCheckUtils]: 14: Hoare triple {12627#(< ~counter~0 95)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {12245#true} is VALID [2022-04-08 14:02:05,464 INFO L290 TraceCheckUtils]: 13: Hoare triple {12627#(< ~counter~0 95)} assume !!(#t~post6 < 100);havoc #t~post6; {12627#(< ~counter~0 95)} is VALID [2022-04-08 14:02:05,465 INFO L290 TraceCheckUtils]: 12: Hoare triple {12655#(< ~counter~0 94)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12627#(< ~counter~0 95)} is VALID [2022-04-08 14:02:05,465 INFO L290 TraceCheckUtils]: 11: Hoare triple {12655#(< ~counter~0 94)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {12655#(< ~counter~0 94)} is VALID [2022-04-08 14:02:05,465 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {12245#true} {12655#(< ~counter~0 94)} #69#return; {12655#(< ~counter~0 94)} is VALID [2022-04-08 14:02:05,465 INFO L290 TraceCheckUtils]: 9: Hoare triple {12245#true} assume true; {12245#true} is VALID [2022-04-08 14:02:05,465 INFO L290 TraceCheckUtils]: 8: Hoare triple {12245#true} assume !(0 == ~cond); {12245#true} is VALID [2022-04-08 14:02:05,465 INFO L290 TraceCheckUtils]: 7: Hoare triple {12245#true} ~cond := #in~cond; {12245#true} is VALID [2022-04-08 14:02:05,465 INFO L272 TraceCheckUtils]: 6: Hoare triple {12655#(< ~counter~0 94)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {12245#true} is VALID [2022-04-08 14:02:05,465 INFO L290 TraceCheckUtils]: 5: Hoare triple {12655#(< ~counter~0 94)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {12655#(< ~counter~0 94)} is VALID [2022-04-08 14:02:05,466 INFO L272 TraceCheckUtils]: 4: Hoare triple {12655#(< ~counter~0 94)} call #t~ret7 := main(); {12655#(< ~counter~0 94)} is VALID [2022-04-08 14:02:05,466 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12655#(< ~counter~0 94)} {12245#true} #77#return; {12655#(< ~counter~0 94)} is VALID [2022-04-08 14:02:05,466 INFO L290 TraceCheckUtils]: 2: Hoare triple {12655#(< ~counter~0 94)} assume true; {12655#(< ~counter~0 94)} is VALID [2022-04-08 14:02:05,466 INFO L290 TraceCheckUtils]: 1: Hoare triple {12245#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {12655#(< ~counter~0 94)} is VALID [2022-04-08 14:02:05,467 INFO L272 TraceCheckUtils]: 0: Hoare triple {12245#true} call ULTIMATE.init(); {12245#true} is VALID [2022-04-08 14:02:05,467 INFO L134 CoverageAnalysis]: Checked inductivity of 159 backedges. 12 proven. 87 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2022-04-08 14:02:05,467 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 14:02:05,467 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [488747983] [2022-04-08 14:02:05,467 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 14:02:05,467 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1460655530] [2022-04-08 14:02:05,467 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1460655530] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 14:02:05,467 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 14:02:05,467 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 18 [2022-04-08 14:02:05,468 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 14:02:05,468 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1609379575] [2022-04-08 14:02:05,468 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1609379575] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 14:02:05,468 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 14:02:05,483 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 14:02:05,483 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [609000545] [2022-04-08 14:02:05,483 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 14:02:05,484 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 5.4) internal successors, (54), 9 states have internal predecessors, (54), 9 states have call successors, (10), 9 states have call predecessors, (10), 7 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Word has length 72 [2022-04-08 14:02:05,485 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 14:02:05,485 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 5.4) internal successors, (54), 9 states have internal predecessors, (54), 9 states have call successors, (10), 9 states have call predecessors, (10), 7 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 14:02:05,518 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:02:05,518 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-08 14:02:05,518 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 14:02:05,518 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-08 14:02:05,518 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=125, Invalid=181, Unknown=0, NotChecked=0, Total=306 [2022-04-08 14:02:05,519 INFO L87 Difference]: Start difference. First operand 98 states and 118 transitions. Second operand has 10 states, 10 states have (on average 5.4) internal successors, (54), 9 states have internal predecessors, (54), 9 states have call successors, (10), 9 states have call predecessors, (10), 7 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 14:02:05,816 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:02:05,816 INFO L93 Difference]: Finished difference Result 117 states and 141 transitions. [2022-04-08 14:02:05,816 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-08 14:02:05,816 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 5.4) internal successors, (54), 9 states have internal predecessors, (54), 9 states have call successors, (10), 9 states have call predecessors, (10), 7 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Word has length 72 [2022-04-08 14:02:05,816 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 14:02:05,816 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 5.4) internal successors, (54), 9 states have internal predecessors, (54), 9 states have call successors, (10), 9 states have call predecessors, (10), 7 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 14:02:05,820 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 127 transitions. [2022-04-08 14:02:05,820 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 5.4) internal successors, (54), 9 states have internal predecessors, (54), 9 states have call successors, (10), 9 states have call predecessors, (10), 7 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 14:02:05,823 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 127 transitions. [2022-04-08 14:02:05,823 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 127 transitions. [2022-04-08 14:02:05,894 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 127 edges. 127 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:02:05,895 INFO L225 Difference]: With dead ends: 117 [2022-04-08 14:02:05,895 INFO L226 Difference]: Without dead ends: 109 [2022-04-08 14:02:05,895 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 149 GetRequests, 127 SyntacticMatches, 0 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 34 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=227, Invalid=325, Unknown=0, NotChecked=0, Total=552 [2022-04-08 14:02:05,897 INFO L913 BasicCegarLoop]: 36 mSDtfsCounter, 62 mSDsluCounter, 122 mSDsCounter, 0 mSdLazyCounter, 41 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 62 SdHoareTripleChecker+Valid, 158 SdHoareTripleChecker+Invalid, 51 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 41 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 14:02:05,897 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [62 Valid, 158 Invalid, 51 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 41 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 14:02:05,901 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 109 states. [2022-04-08 14:02:06,020 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 109 to 109. [2022-04-08 14:02:06,020 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 14:02:06,021 INFO L82 GeneralOperation]: Start isEquivalent. First operand 109 states. Second operand has 109 states, 84 states have (on average 1.2857142857142858) internal successors, (108), 85 states have internal predecessors, (108), 13 states have call successors, (13), 12 states have call predecessors, (13), 11 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-08 14:02:06,021 INFO L74 IsIncluded]: Start isIncluded. First operand 109 states. Second operand has 109 states, 84 states have (on average 1.2857142857142858) internal successors, (108), 85 states have internal predecessors, (108), 13 states have call successors, (13), 12 states have call predecessors, (13), 11 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-08 14:02:06,021 INFO L87 Difference]: Start difference. First operand 109 states. Second operand has 109 states, 84 states have (on average 1.2857142857142858) internal successors, (108), 85 states have internal predecessors, (108), 13 states have call successors, (13), 12 states have call predecessors, (13), 11 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-08 14:02:06,023 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:02:06,023 INFO L93 Difference]: Finished difference Result 109 states and 132 transitions. [2022-04-08 14:02:06,023 INFO L276 IsEmpty]: Start isEmpty. Operand 109 states and 132 transitions. [2022-04-08 14:02:06,023 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:02:06,023 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:02:06,023 INFO L74 IsIncluded]: Start isIncluded. First operand has 109 states, 84 states have (on average 1.2857142857142858) internal successors, (108), 85 states have internal predecessors, (108), 13 states have call successors, (13), 12 states have call predecessors, (13), 11 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand 109 states. [2022-04-08 14:02:06,037 INFO L87 Difference]: Start difference. First operand has 109 states, 84 states have (on average 1.2857142857142858) internal successors, (108), 85 states have internal predecessors, (108), 13 states have call successors, (13), 12 states have call predecessors, (13), 11 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand 109 states. [2022-04-08 14:02:06,038 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:02:06,038 INFO L93 Difference]: Finished difference Result 109 states and 132 transitions. [2022-04-08 14:02:06,038 INFO L276 IsEmpty]: Start isEmpty. Operand 109 states and 132 transitions. [2022-04-08 14:02:06,039 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:02:06,039 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:02:06,039 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 14:02:06,039 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 14:02:06,039 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 109 states, 84 states have (on average 1.2857142857142858) internal successors, (108), 85 states have internal predecessors, (108), 13 states have call successors, (13), 12 states have call predecessors, (13), 11 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-08 14:02:06,040 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 109 states to 109 states and 132 transitions. [2022-04-08 14:02:06,040 INFO L78 Accepts]: Start accepts. Automaton has 109 states and 132 transitions. Word has length 72 [2022-04-08 14:02:06,040 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 14:02:06,040 INFO L478 AbstractCegarLoop]: Abstraction has 109 states and 132 transitions. [2022-04-08 14:02:06,040 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 5.4) internal successors, (54), 9 states have internal predecessors, (54), 9 states have call successors, (10), 9 states have call predecessors, (10), 7 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 14:02:06,041 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 109 states and 132 transitions. [2022-04-08 14:02:19,013 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 132 edges. 126 inductive. 0 not inductive. 6 times theorem prover too weak to decide inductivity. [2022-04-08 14:02:19,013 INFO L276 IsEmpty]: Start isEmpty. Operand 109 states and 132 transitions. [2022-04-08 14:02:19,014 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 82 [2022-04-08 14:02:19,014 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 14:02:19,014 INFO L499 BasicCegarLoop]: trace histogram [8, 8, 7, 7, 7, 7, 7, 7, 7, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 14:02:19,030 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Forceful destruction successful, exit code 0 [2022-04-08 14:02:19,230 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable19,20 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 14:02:19,230 INFO L403 AbstractCegarLoop]: === Iteration 21 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 14:02:19,230 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 14:02:19,230 INFO L85 PathProgramCache]: Analyzing trace with hash -529342910, now seen corresponding path program 13 times [2022-04-08 14:02:19,231 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 14:02:19,231 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2028058115] [2022-04-08 14:02:25,288 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 14:02:25,288 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 14:02:25,288 INFO L85 PathProgramCache]: Analyzing trace with hash -529342910, now seen corresponding path program 14 times [2022-04-08 14:02:25,288 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 14:02:25,288 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1193580879] [2022-04-08 14:02:25,288 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 14:02:25,288 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 14:02:25,305 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 14:02:25,306 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [648907920] [2022-04-08 14:02:25,306 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 14:02:25,306 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 14:02:25,306 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 14:02:25,307 INFO L229 MonitoredProcess]: Starting monitored process 21 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 14:02:25,308 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Waiting until timeout for monitored process [2022-04-08 14:02:25,364 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 14:02:25,364 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 14:02:25,365 INFO L263 TraceCheckSpWp]: Trace formula consists of 268 conjuncts, 19 conjunts are in the unsatisfiable core [2022-04-08 14:02:25,381 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 14:02:25,382 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 14:02:25,739 INFO L272 TraceCheckUtils]: 0: Hoare triple {13376#true} call ULTIMATE.init(); {13376#true} is VALID [2022-04-08 14:02:25,740 INFO L290 TraceCheckUtils]: 1: Hoare triple {13376#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {13384#(<= ~counter~0 0)} is VALID [2022-04-08 14:02:25,740 INFO L290 TraceCheckUtils]: 2: Hoare triple {13384#(<= ~counter~0 0)} assume true; {13384#(<= ~counter~0 0)} is VALID [2022-04-08 14:02:25,740 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13384#(<= ~counter~0 0)} {13376#true} #77#return; {13384#(<= ~counter~0 0)} is VALID [2022-04-08 14:02:25,741 INFO L272 TraceCheckUtils]: 4: Hoare triple {13384#(<= ~counter~0 0)} call #t~ret7 := main(); {13384#(<= ~counter~0 0)} is VALID [2022-04-08 14:02:25,741 INFO L290 TraceCheckUtils]: 5: Hoare triple {13384#(<= ~counter~0 0)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {13384#(<= ~counter~0 0)} is VALID [2022-04-08 14:02:25,741 INFO L272 TraceCheckUtils]: 6: Hoare triple {13384#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {13384#(<= ~counter~0 0)} is VALID [2022-04-08 14:02:25,741 INFO L290 TraceCheckUtils]: 7: Hoare triple {13384#(<= ~counter~0 0)} ~cond := #in~cond; {13384#(<= ~counter~0 0)} is VALID [2022-04-08 14:02:25,742 INFO L290 TraceCheckUtils]: 8: Hoare triple {13384#(<= ~counter~0 0)} assume !(0 == ~cond); {13384#(<= ~counter~0 0)} is VALID [2022-04-08 14:02:25,742 INFO L290 TraceCheckUtils]: 9: Hoare triple {13384#(<= ~counter~0 0)} assume true; {13384#(<= ~counter~0 0)} is VALID [2022-04-08 14:02:25,742 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13384#(<= ~counter~0 0)} {13384#(<= ~counter~0 0)} #69#return; {13384#(<= ~counter~0 0)} is VALID [2022-04-08 14:02:25,742 INFO L290 TraceCheckUtils]: 11: Hoare triple {13384#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {13384#(<= ~counter~0 0)} is VALID [2022-04-08 14:02:25,743 INFO L290 TraceCheckUtils]: 12: Hoare triple {13384#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13418#(<= ~counter~0 1)} is VALID [2022-04-08 14:02:25,743 INFO L290 TraceCheckUtils]: 13: Hoare triple {13418#(<= ~counter~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {13418#(<= ~counter~0 1)} is VALID [2022-04-08 14:02:25,744 INFO L272 TraceCheckUtils]: 14: Hoare triple {13418#(<= ~counter~0 1)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {13418#(<= ~counter~0 1)} is VALID [2022-04-08 14:02:25,744 INFO L290 TraceCheckUtils]: 15: Hoare triple {13418#(<= ~counter~0 1)} ~cond := #in~cond; {13418#(<= ~counter~0 1)} is VALID [2022-04-08 14:02:25,744 INFO L290 TraceCheckUtils]: 16: Hoare triple {13418#(<= ~counter~0 1)} assume !(0 == ~cond); {13418#(<= ~counter~0 1)} is VALID [2022-04-08 14:02:25,744 INFO L290 TraceCheckUtils]: 17: Hoare triple {13418#(<= ~counter~0 1)} assume true; {13418#(<= ~counter~0 1)} is VALID [2022-04-08 14:02:25,745 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {13418#(<= ~counter~0 1)} {13418#(<= ~counter~0 1)} #71#return; {13418#(<= ~counter~0 1)} is VALID [2022-04-08 14:02:25,745 INFO L290 TraceCheckUtils]: 19: Hoare triple {13418#(<= ~counter~0 1)} assume !!(0 != ~a~0 && 0 != ~b~0); {13418#(<= ~counter~0 1)} is VALID [2022-04-08 14:02:25,745 INFO L290 TraceCheckUtils]: 20: Hoare triple {13418#(<= ~counter~0 1)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {13418#(<= ~counter~0 1)} is VALID [2022-04-08 14:02:25,746 INFO L290 TraceCheckUtils]: 21: Hoare triple {13418#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13446#(<= ~counter~0 2)} is VALID [2022-04-08 14:02:25,746 INFO L290 TraceCheckUtils]: 22: Hoare triple {13446#(<= ~counter~0 2)} assume !!(#t~post6 < 100);havoc #t~post6; {13446#(<= ~counter~0 2)} is VALID [2022-04-08 14:02:25,746 INFO L272 TraceCheckUtils]: 23: Hoare triple {13446#(<= ~counter~0 2)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {13446#(<= ~counter~0 2)} is VALID [2022-04-08 14:02:25,746 INFO L290 TraceCheckUtils]: 24: Hoare triple {13446#(<= ~counter~0 2)} ~cond := #in~cond; {13446#(<= ~counter~0 2)} is VALID [2022-04-08 14:02:25,747 INFO L290 TraceCheckUtils]: 25: Hoare triple {13446#(<= ~counter~0 2)} assume !(0 == ~cond); {13446#(<= ~counter~0 2)} is VALID [2022-04-08 14:02:25,747 INFO L290 TraceCheckUtils]: 26: Hoare triple {13446#(<= ~counter~0 2)} assume true; {13446#(<= ~counter~0 2)} is VALID [2022-04-08 14:02:25,747 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {13446#(<= ~counter~0 2)} {13446#(<= ~counter~0 2)} #71#return; {13446#(<= ~counter~0 2)} is VALID [2022-04-08 14:02:25,747 INFO L290 TraceCheckUtils]: 28: Hoare triple {13446#(<= ~counter~0 2)} assume !!(0 != ~a~0 && 0 != ~b~0); {13446#(<= ~counter~0 2)} is VALID [2022-04-08 14:02:25,748 INFO L290 TraceCheckUtils]: 29: Hoare triple {13446#(<= ~counter~0 2)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {13446#(<= ~counter~0 2)} is VALID [2022-04-08 14:02:25,748 INFO L290 TraceCheckUtils]: 30: Hoare triple {13446#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13474#(<= ~counter~0 3)} is VALID [2022-04-08 14:02:25,748 INFO L290 TraceCheckUtils]: 31: Hoare triple {13474#(<= ~counter~0 3)} assume !!(#t~post6 < 100);havoc #t~post6; {13474#(<= ~counter~0 3)} is VALID [2022-04-08 14:02:25,749 INFO L272 TraceCheckUtils]: 32: Hoare triple {13474#(<= ~counter~0 3)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {13474#(<= ~counter~0 3)} is VALID [2022-04-08 14:02:25,749 INFO L290 TraceCheckUtils]: 33: Hoare triple {13474#(<= ~counter~0 3)} ~cond := #in~cond; {13474#(<= ~counter~0 3)} is VALID [2022-04-08 14:02:25,749 INFO L290 TraceCheckUtils]: 34: Hoare triple {13474#(<= ~counter~0 3)} assume !(0 == ~cond); {13474#(<= ~counter~0 3)} is VALID [2022-04-08 14:02:25,749 INFO L290 TraceCheckUtils]: 35: Hoare triple {13474#(<= ~counter~0 3)} assume true; {13474#(<= ~counter~0 3)} is VALID [2022-04-08 14:02:25,750 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {13474#(<= ~counter~0 3)} {13474#(<= ~counter~0 3)} #71#return; {13474#(<= ~counter~0 3)} is VALID [2022-04-08 14:02:25,750 INFO L290 TraceCheckUtils]: 37: Hoare triple {13474#(<= ~counter~0 3)} assume !!(0 != ~a~0 && 0 != ~b~0); {13474#(<= ~counter~0 3)} is VALID [2022-04-08 14:02:25,750 INFO L290 TraceCheckUtils]: 38: Hoare triple {13474#(<= ~counter~0 3)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {13474#(<= ~counter~0 3)} is VALID [2022-04-08 14:02:25,750 INFO L290 TraceCheckUtils]: 39: Hoare triple {13474#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13502#(<= ~counter~0 4)} is VALID [2022-04-08 14:02:25,751 INFO L290 TraceCheckUtils]: 40: Hoare triple {13502#(<= ~counter~0 4)} assume !!(#t~post6 < 100);havoc #t~post6; {13502#(<= ~counter~0 4)} is VALID [2022-04-08 14:02:25,751 INFO L272 TraceCheckUtils]: 41: Hoare triple {13502#(<= ~counter~0 4)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {13502#(<= ~counter~0 4)} is VALID [2022-04-08 14:02:25,751 INFO L290 TraceCheckUtils]: 42: Hoare triple {13502#(<= ~counter~0 4)} ~cond := #in~cond; {13502#(<= ~counter~0 4)} is VALID [2022-04-08 14:02:25,752 INFO L290 TraceCheckUtils]: 43: Hoare triple {13502#(<= ~counter~0 4)} assume !(0 == ~cond); {13502#(<= ~counter~0 4)} is VALID [2022-04-08 14:02:25,752 INFO L290 TraceCheckUtils]: 44: Hoare triple {13502#(<= ~counter~0 4)} assume true; {13502#(<= ~counter~0 4)} is VALID [2022-04-08 14:02:25,752 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {13502#(<= ~counter~0 4)} {13502#(<= ~counter~0 4)} #71#return; {13502#(<= ~counter~0 4)} is VALID [2022-04-08 14:02:25,752 INFO L290 TraceCheckUtils]: 46: Hoare triple {13502#(<= ~counter~0 4)} assume !!(0 != ~a~0 && 0 != ~b~0); {13502#(<= ~counter~0 4)} is VALID [2022-04-08 14:02:25,753 INFO L290 TraceCheckUtils]: 47: Hoare triple {13502#(<= ~counter~0 4)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {13502#(<= ~counter~0 4)} is VALID [2022-04-08 14:02:25,753 INFO L290 TraceCheckUtils]: 48: Hoare triple {13502#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13530#(<= ~counter~0 5)} is VALID [2022-04-08 14:02:25,753 INFO L290 TraceCheckUtils]: 49: Hoare triple {13530#(<= ~counter~0 5)} assume !!(#t~post6 < 100);havoc #t~post6; {13530#(<= ~counter~0 5)} is VALID [2022-04-08 14:02:25,754 INFO L272 TraceCheckUtils]: 50: Hoare triple {13530#(<= ~counter~0 5)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {13530#(<= ~counter~0 5)} is VALID [2022-04-08 14:02:25,754 INFO L290 TraceCheckUtils]: 51: Hoare triple {13530#(<= ~counter~0 5)} ~cond := #in~cond; {13530#(<= ~counter~0 5)} is VALID [2022-04-08 14:02:25,754 INFO L290 TraceCheckUtils]: 52: Hoare triple {13530#(<= ~counter~0 5)} assume !(0 == ~cond); {13530#(<= ~counter~0 5)} is VALID [2022-04-08 14:02:25,754 INFO L290 TraceCheckUtils]: 53: Hoare triple {13530#(<= ~counter~0 5)} assume true; {13530#(<= ~counter~0 5)} is VALID [2022-04-08 14:02:25,755 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {13530#(<= ~counter~0 5)} {13530#(<= ~counter~0 5)} #71#return; {13530#(<= ~counter~0 5)} is VALID [2022-04-08 14:02:25,755 INFO L290 TraceCheckUtils]: 55: Hoare triple {13530#(<= ~counter~0 5)} assume !!(0 != ~a~0 && 0 != ~b~0); {13530#(<= ~counter~0 5)} is VALID [2022-04-08 14:02:25,755 INFO L290 TraceCheckUtils]: 56: Hoare triple {13530#(<= ~counter~0 5)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {13530#(<= ~counter~0 5)} is VALID [2022-04-08 14:02:25,755 INFO L290 TraceCheckUtils]: 57: Hoare triple {13530#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13558#(<= ~counter~0 6)} is VALID [2022-04-08 14:02:25,756 INFO L290 TraceCheckUtils]: 58: Hoare triple {13558#(<= ~counter~0 6)} assume !!(#t~post6 < 100);havoc #t~post6; {13558#(<= ~counter~0 6)} is VALID [2022-04-08 14:02:25,756 INFO L272 TraceCheckUtils]: 59: Hoare triple {13558#(<= ~counter~0 6)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {13558#(<= ~counter~0 6)} is VALID [2022-04-08 14:02:25,756 INFO L290 TraceCheckUtils]: 60: Hoare triple {13558#(<= ~counter~0 6)} ~cond := #in~cond; {13558#(<= ~counter~0 6)} is VALID [2022-04-08 14:02:25,757 INFO L290 TraceCheckUtils]: 61: Hoare triple {13558#(<= ~counter~0 6)} assume !(0 == ~cond); {13558#(<= ~counter~0 6)} is VALID [2022-04-08 14:02:25,757 INFO L290 TraceCheckUtils]: 62: Hoare triple {13558#(<= ~counter~0 6)} assume true; {13558#(<= ~counter~0 6)} is VALID [2022-04-08 14:02:25,757 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {13558#(<= ~counter~0 6)} {13558#(<= ~counter~0 6)} #71#return; {13558#(<= ~counter~0 6)} is VALID [2022-04-08 14:02:25,757 INFO L290 TraceCheckUtils]: 64: Hoare triple {13558#(<= ~counter~0 6)} assume !!(0 != ~a~0 && 0 != ~b~0); {13558#(<= ~counter~0 6)} is VALID [2022-04-08 14:02:25,758 INFO L290 TraceCheckUtils]: 65: Hoare triple {13558#(<= ~counter~0 6)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {13558#(<= ~counter~0 6)} is VALID [2022-04-08 14:02:25,758 INFO L290 TraceCheckUtils]: 66: Hoare triple {13558#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13586#(<= ~counter~0 7)} is VALID [2022-04-08 14:02:25,758 INFO L290 TraceCheckUtils]: 67: Hoare triple {13586#(<= ~counter~0 7)} assume !!(#t~post6 < 100);havoc #t~post6; {13586#(<= ~counter~0 7)} is VALID [2022-04-08 14:02:25,759 INFO L272 TraceCheckUtils]: 68: Hoare triple {13586#(<= ~counter~0 7)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {13586#(<= ~counter~0 7)} is VALID [2022-04-08 14:02:25,759 INFO L290 TraceCheckUtils]: 69: Hoare triple {13586#(<= ~counter~0 7)} ~cond := #in~cond; {13586#(<= ~counter~0 7)} is VALID [2022-04-08 14:02:25,759 INFO L290 TraceCheckUtils]: 70: Hoare triple {13586#(<= ~counter~0 7)} assume !(0 == ~cond); {13586#(<= ~counter~0 7)} is VALID [2022-04-08 14:02:25,759 INFO L290 TraceCheckUtils]: 71: Hoare triple {13586#(<= ~counter~0 7)} assume true; {13586#(<= ~counter~0 7)} is VALID [2022-04-08 14:02:25,760 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {13586#(<= ~counter~0 7)} {13586#(<= ~counter~0 7)} #71#return; {13586#(<= ~counter~0 7)} is VALID [2022-04-08 14:02:25,760 INFO L290 TraceCheckUtils]: 73: Hoare triple {13586#(<= ~counter~0 7)} assume !!(0 != ~a~0 && 0 != ~b~0); {13586#(<= ~counter~0 7)} is VALID [2022-04-08 14:02:25,760 INFO L290 TraceCheckUtils]: 74: Hoare triple {13586#(<= ~counter~0 7)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {13586#(<= ~counter~0 7)} is VALID [2022-04-08 14:02:25,760 INFO L290 TraceCheckUtils]: 75: Hoare triple {13586#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13614#(<= |main_#t~post6| 7)} is VALID [2022-04-08 14:02:25,761 INFO L290 TraceCheckUtils]: 76: Hoare triple {13614#(<= |main_#t~post6| 7)} assume !(#t~post6 < 100);havoc #t~post6; {13377#false} is VALID [2022-04-08 14:02:25,761 INFO L272 TraceCheckUtils]: 77: Hoare triple {13377#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {13377#false} is VALID [2022-04-08 14:02:25,761 INFO L290 TraceCheckUtils]: 78: Hoare triple {13377#false} ~cond := #in~cond; {13377#false} is VALID [2022-04-08 14:02:25,761 INFO L290 TraceCheckUtils]: 79: Hoare triple {13377#false} assume 0 == ~cond; {13377#false} is VALID [2022-04-08 14:02:25,761 INFO L290 TraceCheckUtils]: 80: Hoare triple {13377#false} assume !false; {13377#false} is VALID [2022-04-08 14:02:25,761 INFO L134 CoverageAnalysis]: Checked inductivity of 217 backedges. 14 proven. 203 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 14:02:25,761 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 14:02:26,056 INFO L290 TraceCheckUtils]: 80: Hoare triple {13377#false} assume !false; {13377#false} is VALID [2022-04-08 14:02:26,057 INFO L290 TraceCheckUtils]: 79: Hoare triple {13377#false} assume 0 == ~cond; {13377#false} is VALID [2022-04-08 14:02:26,057 INFO L290 TraceCheckUtils]: 78: Hoare triple {13377#false} ~cond := #in~cond; {13377#false} is VALID [2022-04-08 14:02:26,057 INFO L272 TraceCheckUtils]: 77: Hoare triple {13377#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {13377#false} is VALID [2022-04-08 14:02:26,057 INFO L290 TraceCheckUtils]: 76: Hoare triple {13642#(< |main_#t~post6| 100)} assume !(#t~post6 < 100);havoc #t~post6; {13377#false} is VALID [2022-04-08 14:02:26,057 INFO L290 TraceCheckUtils]: 75: Hoare triple {13646#(< ~counter~0 100)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13642#(< |main_#t~post6| 100)} is VALID [2022-04-08 14:02:26,057 INFO L290 TraceCheckUtils]: 74: Hoare triple {13646#(< ~counter~0 100)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {13646#(< ~counter~0 100)} is VALID [2022-04-08 14:02:26,058 INFO L290 TraceCheckUtils]: 73: Hoare triple {13646#(< ~counter~0 100)} assume !!(0 != ~a~0 && 0 != ~b~0); {13646#(< ~counter~0 100)} is VALID [2022-04-08 14:02:26,058 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {13376#true} {13646#(< ~counter~0 100)} #71#return; {13646#(< ~counter~0 100)} is VALID [2022-04-08 14:02:26,058 INFO L290 TraceCheckUtils]: 71: Hoare triple {13376#true} assume true; {13376#true} is VALID [2022-04-08 14:02:26,058 INFO L290 TraceCheckUtils]: 70: Hoare triple {13376#true} assume !(0 == ~cond); {13376#true} is VALID [2022-04-08 14:02:26,058 INFO L290 TraceCheckUtils]: 69: Hoare triple {13376#true} ~cond := #in~cond; {13376#true} is VALID [2022-04-08 14:02:26,058 INFO L272 TraceCheckUtils]: 68: Hoare triple {13646#(< ~counter~0 100)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {13376#true} is VALID [2022-04-08 14:02:26,059 INFO L290 TraceCheckUtils]: 67: Hoare triple {13646#(< ~counter~0 100)} assume !!(#t~post6 < 100);havoc #t~post6; {13646#(< ~counter~0 100)} is VALID [2022-04-08 14:02:26,059 INFO L290 TraceCheckUtils]: 66: Hoare triple {13674#(< ~counter~0 99)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13646#(< ~counter~0 100)} is VALID [2022-04-08 14:02:26,059 INFO L290 TraceCheckUtils]: 65: Hoare triple {13674#(< ~counter~0 99)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {13674#(< ~counter~0 99)} is VALID [2022-04-08 14:02:26,059 INFO L290 TraceCheckUtils]: 64: Hoare triple {13674#(< ~counter~0 99)} assume !!(0 != ~a~0 && 0 != ~b~0); {13674#(< ~counter~0 99)} is VALID [2022-04-08 14:02:26,060 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {13376#true} {13674#(< ~counter~0 99)} #71#return; {13674#(< ~counter~0 99)} is VALID [2022-04-08 14:02:26,060 INFO L290 TraceCheckUtils]: 62: Hoare triple {13376#true} assume true; {13376#true} is VALID [2022-04-08 14:02:26,060 INFO L290 TraceCheckUtils]: 61: Hoare triple {13376#true} assume !(0 == ~cond); {13376#true} is VALID [2022-04-08 14:02:26,060 INFO L290 TraceCheckUtils]: 60: Hoare triple {13376#true} ~cond := #in~cond; {13376#true} is VALID [2022-04-08 14:02:26,060 INFO L272 TraceCheckUtils]: 59: Hoare triple {13674#(< ~counter~0 99)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {13376#true} is VALID [2022-04-08 14:02:26,060 INFO L290 TraceCheckUtils]: 58: Hoare triple {13674#(< ~counter~0 99)} assume !!(#t~post6 < 100);havoc #t~post6; {13674#(< ~counter~0 99)} is VALID [2022-04-08 14:02:26,061 INFO L290 TraceCheckUtils]: 57: Hoare triple {13702#(< ~counter~0 98)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13674#(< ~counter~0 99)} is VALID [2022-04-08 14:02:26,061 INFO L290 TraceCheckUtils]: 56: Hoare triple {13702#(< ~counter~0 98)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {13702#(< ~counter~0 98)} is VALID [2022-04-08 14:02:26,061 INFO L290 TraceCheckUtils]: 55: Hoare triple {13702#(< ~counter~0 98)} assume !!(0 != ~a~0 && 0 != ~b~0); {13702#(< ~counter~0 98)} is VALID [2022-04-08 14:02:26,061 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {13376#true} {13702#(< ~counter~0 98)} #71#return; {13702#(< ~counter~0 98)} is VALID [2022-04-08 14:02:26,061 INFO L290 TraceCheckUtils]: 53: Hoare triple {13376#true} assume true; {13376#true} is VALID [2022-04-08 14:02:26,062 INFO L290 TraceCheckUtils]: 52: Hoare triple {13376#true} assume !(0 == ~cond); {13376#true} is VALID [2022-04-08 14:02:26,062 INFO L290 TraceCheckUtils]: 51: Hoare triple {13376#true} ~cond := #in~cond; {13376#true} is VALID [2022-04-08 14:02:26,062 INFO L272 TraceCheckUtils]: 50: Hoare triple {13702#(< ~counter~0 98)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {13376#true} is VALID [2022-04-08 14:02:26,062 INFO L290 TraceCheckUtils]: 49: Hoare triple {13702#(< ~counter~0 98)} assume !!(#t~post6 < 100);havoc #t~post6; {13702#(< ~counter~0 98)} is VALID [2022-04-08 14:02:26,062 INFO L290 TraceCheckUtils]: 48: Hoare triple {13730#(< ~counter~0 97)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13702#(< ~counter~0 98)} is VALID [2022-04-08 14:02:26,062 INFO L290 TraceCheckUtils]: 47: Hoare triple {13730#(< ~counter~0 97)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {13730#(< ~counter~0 97)} is VALID [2022-04-08 14:02:26,063 INFO L290 TraceCheckUtils]: 46: Hoare triple {13730#(< ~counter~0 97)} assume !!(0 != ~a~0 && 0 != ~b~0); {13730#(< ~counter~0 97)} is VALID [2022-04-08 14:02:26,063 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {13376#true} {13730#(< ~counter~0 97)} #71#return; {13730#(< ~counter~0 97)} is VALID [2022-04-08 14:02:26,063 INFO L290 TraceCheckUtils]: 44: Hoare triple {13376#true} assume true; {13376#true} is VALID [2022-04-08 14:02:26,063 INFO L290 TraceCheckUtils]: 43: Hoare triple {13376#true} assume !(0 == ~cond); {13376#true} is VALID [2022-04-08 14:02:26,063 INFO L290 TraceCheckUtils]: 42: Hoare triple {13376#true} ~cond := #in~cond; {13376#true} is VALID [2022-04-08 14:02:26,063 INFO L272 TraceCheckUtils]: 41: Hoare triple {13730#(< ~counter~0 97)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {13376#true} is VALID [2022-04-08 14:02:26,074 INFO L290 TraceCheckUtils]: 40: Hoare triple {13730#(< ~counter~0 97)} assume !!(#t~post6 < 100);havoc #t~post6; {13730#(< ~counter~0 97)} is VALID [2022-04-08 14:02:26,075 INFO L290 TraceCheckUtils]: 39: Hoare triple {13758#(< ~counter~0 96)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13730#(< ~counter~0 97)} is VALID [2022-04-08 14:02:26,075 INFO L290 TraceCheckUtils]: 38: Hoare triple {13758#(< ~counter~0 96)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {13758#(< ~counter~0 96)} is VALID [2022-04-08 14:02:26,076 INFO L290 TraceCheckUtils]: 37: Hoare triple {13758#(< ~counter~0 96)} assume !!(0 != ~a~0 && 0 != ~b~0); {13758#(< ~counter~0 96)} is VALID [2022-04-08 14:02:26,076 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {13376#true} {13758#(< ~counter~0 96)} #71#return; {13758#(< ~counter~0 96)} is VALID [2022-04-08 14:02:26,076 INFO L290 TraceCheckUtils]: 35: Hoare triple {13376#true} assume true; {13376#true} is VALID [2022-04-08 14:02:26,077 INFO L290 TraceCheckUtils]: 34: Hoare triple {13376#true} assume !(0 == ~cond); {13376#true} is VALID [2022-04-08 14:02:26,077 INFO L290 TraceCheckUtils]: 33: Hoare triple {13376#true} ~cond := #in~cond; {13376#true} is VALID [2022-04-08 14:02:26,077 INFO L272 TraceCheckUtils]: 32: Hoare triple {13758#(< ~counter~0 96)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {13376#true} is VALID [2022-04-08 14:02:26,077 INFO L290 TraceCheckUtils]: 31: Hoare triple {13758#(< ~counter~0 96)} assume !!(#t~post6 < 100);havoc #t~post6; {13758#(< ~counter~0 96)} is VALID [2022-04-08 14:02:26,078 INFO L290 TraceCheckUtils]: 30: Hoare triple {13786#(< ~counter~0 95)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13758#(< ~counter~0 96)} is VALID [2022-04-08 14:02:26,078 INFO L290 TraceCheckUtils]: 29: Hoare triple {13786#(< ~counter~0 95)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {13786#(< ~counter~0 95)} is VALID [2022-04-08 14:02:26,078 INFO L290 TraceCheckUtils]: 28: Hoare triple {13786#(< ~counter~0 95)} assume !!(0 != ~a~0 && 0 != ~b~0); {13786#(< ~counter~0 95)} is VALID [2022-04-08 14:02:26,079 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {13376#true} {13786#(< ~counter~0 95)} #71#return; {13786#(< ~counter~0 95)} is VALID [2022-04-08 14:02:26,079 INFO L290 TraceCheckUtils]: 26: Hoare triple {13376#true} assume true; {13376#true} is VALID [2022-04-08 14:02:26,079 INFO L290 TraceCheckUtils]: 25: Hoare triple {13376#true} assume !(0 == ~cond); {13376#true} is VALID [2022-04-08 14:02:26,079 INFO L290 TraceCheckUtils]: 24: Hoare triple {13376#true} ~cond := #in~cond; {13376#true} is VALID [2022-04-08 14:02:26,079 INFO L272 TraceCheckUtils]: 23: Hoare triple {13786#(< ~counter~0 95)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {13376#true} is VALID [2022-04-08 14:02:26,080 INFO L290 TraceCheckUtils]: 22: Hoare triple {13786#(< ~counter~0 95)} assume !!(#t~post6 < 100);havoc #t~post6; {13786#(< ~counter~0 95)} is VALID [2022-04-08 14:02:26,080 INFO L290 TraceCheckUtils]: 21: Hoare triple {13814#(< ~counter~0 94)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13786#(< ~counter~0 95)} is VALID [2022-04-08 14:02:26,080 INFO L290 TraceCheckUtils]: 20: Hoare triple {13814#(< ~counter~0 94)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {13814#(< ~counter~0 94)} is VALID [2022-04-08 14:02:26,081 INFO L290 TraceCheckUtils]: 19: Hoare triple {13814#(< ~counter~0 94)} assume !!(0 != ~a~0 && 0 != ~b~0); {13814#(< ~counter~0 94)} is VALID [2022-04-08 14:02:26,081 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {13376#true} {13814#(< ~counter~0 94)} #71#return; {13814#(< ~counter~0 94)} is VALID [2022-04-08 14:02:26,081 INFO L290 TraceCheckUtils]: 17: Hoare triple {13376#true} assume true; {13376#true} is VALID [2022-04-08 14:02:26,082 INFO L290 TraceCheckUtils]: 16: Hoare triple {13376#true} assume !(0 == ~cond); {13376#true} is VALID [2022-04-08 14:02:26,082 INFO L290 TraceCheckUtils]: 15: Hoare triple {13376#true} ~cond := #in~cond; {13376#true} is VALID [2022-04-08 14:02:26,082 INFO L272 TraceCheckUtils]: 14: Hoare triple {13814#(< ~counter~0 94)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {13376#true} is VALID [2022-04-08 14:02:26,082 INFO L290 TraceCheckUtils]: 13: Hoare triple {13814#(< ~counter~0 94)} assume !!(#t~post6 < 100);havoc #t~post6; {13814#(< ~counter~0 94)} is VALID [2022-04-08 14:02:26,082 INFO L290 TraceCheckUtils]: 12: Hoare triple {13842#(< ~counter~0 93)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13814#(< ~counter~0 94)} is VALID [2022-04-08 14:02:26,083 INFO L290 TraceCheckUtils]: 11: Hoare triple {13842#(< ~counter~0 93)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {13842#(< ~counter~0 93)} is VALID [2022-04-08 14:02:26,083 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13376#true} {13842#(< ~counter~0 93)} #69#return; {13842#(< ~counter~0 93)} is VALID [2022-04-08 14:02:26,083 INFO L290 TraceCheckUtils]: 9: Hoare triple {13376#true} assume true; {13376#true} is VALID [2022-04-08 14:02:26,083 INFO L290 TraceCheckUtils]: 8: Hoare triple {13376#true} assume !(0 == ~cond); {13376#true} is VALID [2022-04-08 14:02:26,083 INFO L290 TraceCheckUtils]: 7: Hoare triple {13376#true} ~cond := #in~cond; {13376#true} is VALID [2022-04-08 14:02:26,084 INFO L272 TraceCheckUtils]: 6: Hoare triple {13842#(< ~counter~0 93)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {13376#true} is VALID [2022-04-08 14:02:26,084 INFO L290 TraceCheckUtils]: 5: Hoare triple {13842#(< ~counter~0 93)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {13842#(< ~counter~0 93)} is VALID [2022-04-08 14:02:26,084 INFO L272 TraceCheckUtils]: 4: Hoare triple {13842#(< ~counter~0 93)} call #t~ret7 := main(); {13842#(< ~counter~0 93)} is VALID [2022-04-08 14:02:26,085 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13842#(< ~counter~0 93)} {13376#true} #77#return; {13842#(< ~counter~0 93)} is VALID [2022-04-08 14:02:26,085 INFO L290 TraceCheckUtils]: 2: Hoare triple {13842#(< ~counter~0 93)} assume true; {13842#(< ~counter~0 93)} is VALID [2022-04-08 14:02:26,085 INFO L290 TraceCheckUtils]: 1: Hoare triple {13376#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {13842#(< ~counter~0 93)} is VALID [2022-04-08 14:02:26,086 INFO L272 TraceCheckUtils]: 0: Hoare triple {13376#true} call ULTIMATE.init(); {13376#true} is VALID [2022-04-08 14:02:26,086 INFO L134 CoverageAnalysis]: Checked inductivity of 217 backedges. 14 proven. 119 refuted. 0 times theorem prover too weak. 84 trivial. 0 not checked. [2022-04-08 14:02:26,086 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 14:02:26,086 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1193580879] [2022-04-08 14:02:26,086 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 14:02:26,086 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [648907920] [2022-04-08 14:02:26,086 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [648907920] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 14:02:26,086 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 14:02:26,086 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 20 [2022-04-08 14:02:26,087 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 14:02:26,087 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2028058115] [2022-04-08 14:02:26,087 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2028058115] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 14:02:26,087 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 14:02:26,087 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 14:02:26,087 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [873618105] [2022-04-08 14:02:26,087 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 14:02:26,088 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 5.545454545454546) internal successors, (61), 10 states have internal predecessors, (61), 10 states have call successors, (11), 10 states have call predecessors, (11), 8 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Word has length 81 [2022-04-08 14:02:26,088 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 14:02:26,088 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 5.545454545454546) internal successors, (61), 10 states have internal predecessors, (61), 10 states have call successors, (11), 10 states have call predecessors, (11), 8 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 14:02:26,148 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:02:26,149 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 14:02:26,149 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 14:02:26,149 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 14:02:26,149 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=158, Invalid=222, Unknown=0, NotChecked=0, Total=380 [2022-04-08 14:02:26,149 INFO L87 Difference]: Start difference. First operand 109 states and 132 transitions. Second operand has 11 states, 11 states have (on average 5.545454545454546) internal successors, (61), 10 states have internal predecessors, (61), 10 states have call successors, (11), 10 states have call predecessors, (11), 8 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 14:02:26,565 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:02:26,565 INFO L93 Difference]: Finished difference Result 128 states and 155 transitions. [2022-04-08 14:02:26,565 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-08 14:02:26,565 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 5.545454545454546) internal successors, (61), 10 states have internal predecessors, (61), 10 states have call successors, (11), 10 states have call predecessors, (11), 8 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Word has length 81 [2022-04-08 14:02:26,566 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 14:02:26,566 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 5.545454545454546) internal successors, (61), 10 states have internal predecessors, (61), 10 states have call successors, (11), 10 states have call predecessors, (11), 8 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 14:02:26,567 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 141 transitions. [2022-04-08 14:02:26,567 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 5.545454545454546) internal successors, (61), 10 states have internal predecessors, (61), 10 states have call successors, (11), 10 states have call predecessors, (11), 8 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 14:02:26,569 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 141 transitions. [2022-04-08 14:02:26,569 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 141 transitions. [2022-04-08 14:02:26,676 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 141 edges. 141 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:02:26,684 INFO L225 Difference]: With dead ends: 128 [2022-04-08 14:02:26,684 INFO L226 Difference]: Without dead ends: 120 [2022-04-08 14:02:26,684 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 168 GetRequests, 143 SyntacticMatches, 0 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 43 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=291, Invalid=411, Unknown=0, NotChecked=0, Total=702 [2022-04-08 14:02:26,685 INFO L913 BasicCegarLoop]: 37 mSDtfsCounter, 67 mSDsluCounter, 149 mSDsCounter, 0 mSdLazyCounter, 40 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 67 SdHoareTripleChecker+Valid, 186 SdHoareTripleChecker+Invalid, 50 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 40 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 14:02:26,685 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [67 Valid, 186 Invalid, 50 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 40 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 14:02:26,685 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 120 states. [2022-04-08 14:02:26,855 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 120 to 120. [2022-04-08 14:02:26,855 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 14:02:26,855 INFO L82 GeneralOperation]: Start isEquivalent. First operand 120 states. Second operand has 120 states, 93 states have (on average 1.2903225806451613) internal successors, (120), 94 states have internal predecessors, (120), 14 states have call successors, (14), 13 states have call predecessors, (14), 12 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-08 14:02:26,855 INFO L74 IsIncluded]: Start isIncluded. First operand 120 states. Second operand has 120 states, 93 states have (on average 1.2903225806451613) internal successors, (120), 94 states have internal predecessors, (120), 14 states have call successors, (14), 13 states have call predecessors, (14), 12 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-08 14:02:26,855 INFO L87 Difference]: Start difference. First operand 120 states. Second operand has 120 states, 93 states have (on average 1.2903225806451613) internal successors, (120), 94 states have internal predecessors, (120), 14 states have call successors, (14), 13 states have call predecessors, (14), 12 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-08 14:02:26,857 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:02:26,857 INFO L93 Difference]: Finished difference Result 120 states and 146 transitions. [2022-04-08 14:02:26,857 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states and 146 transitions. [2022-04-08 14:02:26,857 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:02:26,857 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:02:26,857 INFO L74 IsIncluded]: Start isIncluded. First operand has 120 states, 93 states have (on average 1.2903225806451613) internal successors, (120), 94 states have internal predecessors, (120), 14 states have call successors, (14), 13 states have call predecessors, (14), 12 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 120 states. [2022-04-08 14:02:26,857 INFO L87 Difference]: Start difference. First operand has 120 states, 93 states have (on average 1.2903225806451613) internal successors, (120), 94 states have internal predecessors, (120), 14 states have call successors, (14), 13 states have call predecessors, (14), 12 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 120 states. [2022-04-08 14:02:26,859 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:02:26,859 INFO L93 Difference]: Finished difference Result 120 states and 146 transitions. [2022-04-08 14:02:26,859 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states and 146 transitions. [2022-04-08 14:02:26,859 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:02:26,859 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:02:26,859 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 14:02:26,859 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 14:02:26,859 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 120 states, 93 states have (on average 1.2903225806451613) internal successors, (120), 94 states have internal predecessors, (120), 14 states have call successors, (14), 13 states have call predecessors, (14), 12 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-08 14:02:26,861 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 120 states to 120 states and 146 transitions. [2022-04-08 14:02:26,861 INFO L78 Accepts]: Start accepts. Automaton has 120 states and 146 transitions. Word has length 81 [2022-04-08 14:02:26,861 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 14:02:26,861 INFO L478 AbstractCegarLoop]: Abstraction has 120 states and 146 transitions. [2022-04-08 14:02:26,861 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 5.545454545454546) internal successors, (61), 10 states have internal predecessors, (61), 10 states have call successors, (11), 10 states have call predecessors, (11), 8 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 14:02:26,861 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 120 states and 146 transitions. [2022-04-08 14:02:42,062 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 146 edges. 139 inductive. 0 not inductive. 7 times theorem prover too weak to decide inductivity. [2022-04-08 14:02:42,062 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states and 146 transitions. [2022-04-08 14:02:42,062 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 91 [2022-04-08 14:02:42,063 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 14:02:42,063 INFO L499 BasicCegarLoop]: trace histogram [9, 9, 8, 8, 8, 8, 8, 8, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 14:02:42,079 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Forceful destruction successful, exit code 0 [2022-04-08 14:02:42,263 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 21 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable20 [2022-04-08 14:02:42,263 INFO L403 AbstractCegarLoop]: === Iteration 22 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 14:02:42,264 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 14:02:42,264 INFO L85 PathProgramCache]: Analyzing trace with hash -1054018310, now seen corresponding path program 15 times [2022-04-08 14:02:42,264 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 14:02:42,264 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1390911102] [2022-04-08 14:02:48,312 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 14:02:48,313 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 14:02:48,313 INFO L85 PathProgramCache]: Analyzing trace with hash -1054018310, now seen corresponding path program 16 times [2022-04-08 14:02:48,313 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 14:02:48,313 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2049633508] [2022-04-08 14:02:48,313 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 14:02:48,313 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 14:02:48,325 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 14:02:48,326 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1246213242] [2022-04-08 14:02:48,326 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 14:02:48,326 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 14:02:48,326 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 14:02:48,327 INFO L229 MonitoredProcess]: Starting monitored process 22 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 14:02:48,328 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Waiting until timeout for monitored process [2022-04-08 14:02:48,421 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 14:02:48,422 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 14:02:48,433 INFO L263 TraceCheckSpWp]: Trace formula consists of 294 conjuncts, 21 conjunts are in the unsatisfiable core [2022-04-08 14:02:48,450 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 14:02:48,451 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 14:02:48,893 INFO L272 TraceCheckUtils]: 0: Hoare triple {14631#true} call ULTIMATE.init(); {14631#true} is VALID [2022-04-08 14:02:48,893 INFO L290 TraceCheckUtils]: 1: Hoare triple {14631#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {14639#(<= ~counter~0 0)} is VALID [2022-04-08 14:02:48,894 INFO L290 TraceCheckUtils]: 2: Hoare triple {14639#(<= ~counter~0 0)} assume true; {14639#(<= ~counter~0 0)} is VALID [2022-04-08 14:02:48,894 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14639#(<= ~counter~0 0)} {14631#true} #77#return; {14639#(<= ~counter~0 0)} is VALID [2022-04-08 14:02:48,894 INFO L272 TraceCheckUtils]: 4: Hoare triple {14639#(<= ~counter~0 0)} call #t~ret7 := main(); {14639#(<= ~counter~0 0)} is VALID [2022-04-08 14:02:48,894 INFO L290 TraceCheckUtils]: 5: Hoare triple {14639#(<= ~counter~0 0)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {14639#(<= ~counter~0 0)} is VALID [2022-04-08 14:02:48,895 INFO L272 TraceCheckUtils]: 6: Hoare triple {14639#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {14639#(<= ~counter~0 0)} is VALID [2022-04-08 14:02:48,895 INFO L290 TraceCheckUtils]: 7: Hoare triple {14639#(<= ~counter~0 0)} ~cond := #in~cond; {14639#(<= ~counter~0 0)} is VALID [2022-04-08 14:02:48,895 INFO L290 TraceCheckUtils]: 8: Hoare triple {14639#(<= ~counter~0 0)} assume !(0 == ~cond); {14639#(<= ~counter~0 0)} is VALID [2022-04-08 14:02:48,896 INFO L290 TraceCheckUtils]: 9: Hoare triple {14639#(<= ~counter~0 0)} assume true; {14639#(<= ~counter~0 0)} is VALID [2022-04-08 14:02:48,896 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14639#(<= ~counter~0 0)} {14639#(<= ~counter~0 0)} #69#return; {14639#(<= ~counter~0 0)} is VALID [2022-04-08 14:02:48,896 INFO L290 TraceCheckUtils]: 11: Hoare triple {14639#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {14639#(<= ~counter~0 0)} is VALID [2022-04-08 14:02:48,897 INFO L290 TraceCheckUtils]: 12: Hoare triple {14639#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14673#(<= ~counter~0 1)} is VALID [2022-04-08 14:02:48,897 INFO L290 TraceCheckUtils]: 13: Hoare triple {14673#(<= ~counter~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {14673#(<= ~counter~0 1)} is VALID [2022-04-08 14:02:48,898 INFO L272 TraceCheckUtils]: 14: Hoare triple {14673#(<= ~counter~0 1)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {14673#(<= ~counter~0 1)} is VALID [2022-04-08 14:02:48,898 INFO L290 TraceCheckUtils]: 15: Hoare triple {14673#(<= ~counter~0 1)} ~cond := #in~cond; {14673#(<= ~counter~0 1)} is VALID [2022-04-08 14:02:48,898 INFO L290 TraceCheckUtils]: 16: Hoare triple {14673#(<= ~counter~0 1)} assume !(0 == ~cond); {14673#(<= ~counter~0 1)} is VALID [2022-04-08 14:02:48,899 INFO L290 TraceCheckUtils]: 17: Hoare triple {14673#(<= ~counter~0 1)} assume true; {14673#(<= ~counter~0 1)} is VALID [2022-04-08 14:02:48,899 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {14673#(<= ~counter~0 1)} {14673#(<= ~counter~0 1)} #71#return; {14673#(<= ~counter~0 1)} is VALID [2022-04-08 14:02:48,899 INFO L290 TraceCheckUtils]: 19: Hoare triple {14673#(<= ~counter~0 1)} assume !!(0 != ~a~0 && 0 != ~b~0); {14673#(<= ~counter~0 1)} is VALID [2022-04-08 14:02:48,900 INFO L290 TraceCheckUtils]: 20: Hoare triple {14673#(<= ~counter~0 1)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {14673#(<= ~counter~0 1)} is VALID [2022-04-08 14:02:48,900 INFO L290 TraceCheckUtils]: 21: Hoare triple {14673#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14701#(<= ~counter~0 2)} is VALID [2022-04-08 14:02:48,900 INFO L290 TraceCheckUtils]: 22: Hoare triple {14701#(<= ~counter~0 2)} assume !!(#t~post6 < 100);havoc #t~post6; {14701#(<= ~counter~0 2)} is VALID [2022-04-08 14:02:48,901 INFO L272 TraceCheckUtils]: 23: Hoare triple {14701#(<= ~counter~0 2)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {14701#(<= ~counter~0 2)} is VALID [2022-04-08 14:02:48,901 INFO L290 TraceCheckUtils]: 24: Hoare triple {14701#(<= ~counter~0 2)} ~cond := #in~cond; {14701#(<= ~counter~0 2)} is VALID [2022-04-08 14:02:48,901 INFO L290 TraceCheckUtils]: 25: Hoare triple {14701#(<= ~counter~0 2)} assume !(0 == ~cond); {14701#(<= ~counter~0 2)} is VALID [2022-04-08 14:02:48,902 INFO L290 TraceCheckUtils]: 26: Hoare triple {14701#(<= ~counter~0 2)} assume true; {14701#(<= ~counter~0 2)} is VALID [2022-04-08 14:02:48,902 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {14701#(<= ~counter~0 2)} {14701#(<= ~counter~0 2)} #71#return; {14701#(<= ~counter~0 2)} is VALID [2022-04-08 14:02:48,903 INFO L290 TraceCheckUtils]: 28: Hoare triple {14701#(<= ~counter~0 2)} assume !!(0 != ~a~0 && 0 != ~b~0); {14701#(<= ~counter~0 2)} is VALID [2022-04-08 14:02:48,903 INFO L290 TraceCheckUtils]: 29: Hoare triple {14701#(<= ~counter~0 2)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {14701#(<= ~counter~0 2)} is VALID [2022-04-08 14:02:48,903 INFO L290 TraceCheckUtils]: 30: Hoare triple {14701#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14729#(<= ~counter~0 3)} is VALID [2022-04-08 14:02:48,904 INFO L290 TraceCheckUtils]: 31: Hoare triple {14729#(<= ~counter~0 3)} assume !!(#t~post6 < 100);havoc #t~post6; {14729#(<= ~counter~0 3)} is VALID [2022-04-08 14:02:48,904 INFO L272 TraceCheckUtils]: 32: Hoare triple {14729#(<= ~counter~0 3)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {14729#(<= ~counter~0 3)} is VALID [2022-04-08 14:02:48,904 INFO L290 TraceCheckUtils]: 33: Hoare triple {14729#(<= ~counter~0 3)} ~cond := #in~cond; {14729#(<= ~counter~0 3)} is VALID [2022-04-08 14:02:48,905 INFO L290 TraceCheckUtils]: 34: Hoare triple {14729#(<= ~counter~0 3)} assume !(0 == ~cond); {14729#(<= ~counter~0 3)} is VALID [2022-04-08 14:02:48,905 INFO L290 TraceCheckUtils]: 35: Hoare triple {14729#(<= ~counter~0 3)} assume true; {14729#(<= ~counter~0 3)} is VALID [2022-04-08 14:02:48,905 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {14729#(<= ~counter~0 3)} {14729#(<= ~counter~0 3)} #71#return; {14729#(<= ~counter~0 3)} is VALID [2022-04-08 14:02:48,906 INFO L290 TraceCheckUtils]: 37: Hoare triple {14729#(<= ~counter~0 3)} assume !!(0 != ~a~0 && 0 != ~b~0); {14729#(<= ~counter~0 3)} is VALID [2022-04-08 14:02:48,906 INFO L290 TraceCheckUtils]: 38: Hoare triple {14729#(<= ~counter~0 3)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {14729#(<= ~counter~0 3)} is VALID [2022-04-08 14:02:48,906 INFO L290 TraceCheckUtils]: 39: Hoare triple {14729#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14757#(<= ~counter~0 4)} is VALID [2022-04-08 14:02:48,907 INFO L290 TraceCheckUtils]: 40: Hoare triple {14757#(<= ~counter~0 4)} assume !!(#t~post6 < 100);havoc #t~post6; {14757#(<= ~counter~0 4)} is VALID [2022-04-08 14:02:48,907 INFO L272 TraceCheckUtils]: 41: Hoare triple {14757#(<= ~counter~0 4)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {14757#(<= ~counter~0 4)} is VALID [2022-04-08 14:02:48,908 INFO L290 TraceCheckUtils]: 42: Hoare triple {14757#(<= ~counter~0 4)} ~cond := #in~cond; {14757#(<= ~counter~0 4)} is VALID [2022-04-08 14:02:48,908 INFO L290 TraceCheckUtils]: 43: Hoare triple {14757#(<= ~counter~0 4)} assume !(0 == ~cond); {14757#(<= ~counter~0 4)} is VALID [2022-04-08 14:02:48,908 INFO L290 TraceCheckUtils]: 44: Hoare triple {14757#(<= ~counter~0 4)} assume true; {14757#(<= ~counter~0 4)} is VALID [2022-04-08 14:02:48,916 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {14757#(<= ~counter~0 4)} {14757#(<= ~counter~0 4)} #71#return; {14757#(<= ~counter~0 4)} is VALID [2022-04-08 14:02:48,916 INFO L290 TraceCheckUtils]: 46: Hoare triple {14757#(<= ~counter~0 4)} assume !!(0 != ~a~0 && 0 != ~b~0); {14757#(<= ~counter~0 4)} is VALID [2022-04-08 14:02:48,916 INFO L290 TraceCheckUtils]: 47: Hoare triple {14757#(<= ~counter~0 4)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {14757#(<= ~counter~0 4)} is VALID [2022-04-08 14:02:48,917 INFO L290 TraceCheckUtils]: 48: Hoare triple {14757#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14785#(<= ~counter~0 5)} is VALID [2022-04-08 14:02:48,917 INFO L290 TraceCheckUtils]: 49: Hoare triple {14785#(<= ~counter~0 5)} assume !!(#t~post6 < 100);havoc #t~post6; {14785#(<= ~counter~0 5)} is VALID [2022-04-08 14:02:48,918 INFO L272 TraceCheckUtils]: 50: Hoare triple {14785#(<= ~counter~0 5)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {14785#(<= ~counter~0 5)} is VALID [2022-04-08 14:02:48,918 INFO L290 TraceCheckUtils]: 51: Hoare triple {14785#(<= ~counter~0 5)} ~cond := #in~cond; {14785#(<= ~counter~0 5)} is VALID [2022-04-08 14:02:48,918 INFO L290 TraceCheckUtils]: 52: Hoare triple {14785#(<= ~counter~0 5)} assume !(0 == ~cond); {14785#(<= ~counter~0 5)} is VALID [2022-04-08 14:02:48,918 INFO L290 TraceCheckUtils]: 53: Hoare triple {14785#(<= ~counter~0 5)} assume true; {14785#(<= ~counter~0 5)} is VALID [2022-04-08 14:02:48,919 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {14785#(<= ~counter~0 5)} {14785#(<= ~counter~0 5)} #71#return; {14785#(<= ~counter~0 5)} is VALID [2022-04-08 14:02:48,919 INFO L290 TraceCheckUtils]: 55: Hoare triple {14785#(<= ~counter~0 5)} assume !!(0 != ~a~0 && 0 != ~b~0); {14785#(<= ~counter~0 5)} is VALID [2022-04-08 14:02:48,919 INFO L290 TraceCheckUtils]: 56: Hoare triple {14785#(<= ~counter~0 5)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {14785#(<= ~counter~0 5)} is VALID [2022-04-08 14:02:48,920 INFO L290 TraceCheckUtils]: 57: Hoare triple {14785#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14813#(<= ~counter~0 6)} is VALID [2022-04-08 14:02:48,920 INFO L290 TraceCheckUtils]: 58: Hoare triple {14813#(<= ~counter~0 6)} assume !!(#t~post6 < 100);havoc #t~post6; {14813#(<= ~counter~0 6)} is VALID [2022-04-08 14:02:48,921 INFO L272 TraceCheckUtils]: 59: Hoare triple {14813#(<= ~counter~0 6)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {14813#(<= ~counter~0 6)} is VALID [2022-04-08 14:02:48,921 INFO L290 TraceCheckUtils]: 60: Hoare triple {14813#(<= ~counter~0 6)} ~cond := #in~cond; {14813#(<= ~counter~0 6)} is VALID [2022-04-08 14:02:48,921 INFO L290 TraceCheckUtils]: 61: Hoare triple {14813#(<= ~counter~0 6)} assume !(0 == ~cond); {14813#(<= ~counter~0 6)} is VALID [2022-04-08 14:02:48,922 INFO L290 TraceCheckUtils]: 62: Hoare triple {14813#(<= ~counter~0 6)} assume true; {14813#(<= ~counter~0 6)} is VALID [2022-04-08 14:02:48,922 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {14813#(<= ~counter~0 6)} {14813#(<= ~counter~0 6)} #71#return; {14813#(<= ~counter~0 6)} is VALID [2022-04-08 14:02:48,922 INFO L290 TraceCheckUtils]: 64: Hoare triple {14813#(<= ~counter~0 6)} assume !!(0 != ~a~0 && 0 != ~b~0); {14813#(<= ~counter~0 6)} is VALID [2022-04-08 14:02:48,923 INFO L290 TraceCheckUtils]: 65: Hoare triple {14813#(<= ~counter~0 6)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {14813#(<= ~counter~0 6)} is VALID [2022-04-08 14:02:48,923 INFO L290 TraceCheckUtils]: 66: Hoare triple {14813#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14841#(<= ~counter~0 7)} is VALID [2022-04-08 14:02:48,923 INFO L290 TraceCheckUtils]: 67: Hoare triple {14841#(<= ~counter~0 7)} assume !!(#t~post6 < 100);havoc #t~post6; {14841#(<= ~counter~0 7)} is VALID [2022-04-08 14:02:48,924 INFO L272 TraceCheckUtils]: 68: Hoare triple {14841#(<= ~counter~0 7)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {14841#(<= ~counter~0 7)} is VALID [2022-04-08 14:02:48,924 INFO L290 TraceCheckUtils]: 69: Hoare triple {14841#(<= ~counter~0 7)} ~cond := #in~cond; {14841#(<= ~counter~0 7)} is VALID [2022-04-08 14:02:48,924 INFO L290 TraceCheckUtils]: 70: Hoare triple {14841#(<= ~counter~0 7)} assume !(0 == ~cond); {14841#(<= ~counter~0 7)} is VALID [2022-04-08 14:02:48,925 INFO L290 TraceCheckUtils]: 71: Hoare triple {14841#(<= ~counter~0 7)} assume true; {14841#(<= ~counter~0 7)} is VALID [2022-04-08 14:02:48,925 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {14841#(<= ~counter~0 7)} {14841#(<= ~counter~0 7)} #71#return; {14841#(<= ~counter~0 7)} is VALID [2022-04-08 14:02:48,926 INFO L290 TraceCheckUtils]: 73: Hoare triple {14841#(<= ~counter~0 7)} assume !!(0 != ~a~0 && 0 != ~b~0); {14841#(<= ~counter~0 7)} is VALID [2022-04-08 14:02:48,926 INFO L290 TraceCheckUtils]: 74: Hoare triple {14841#(<= ~counter~0 7)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {14841#(<= ~counter~0 7)} is VALID [2022-04-08 14:02:48,926 INFO L290 TraceCheckUtils]: 75: Hoare triple {14841#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14869#(<= ~counter~0 8)} is VALID [2022-04-08 14:02:48,927 INFO L290 TraceCheckUtils]: 76: Hoare triple {14869#(<= ~counter~0 8)} assume !!(#t~post6 < 100);havoc #t~post6; {14869#(<= ~counter~0 8)} is VALID [2022-04-08 14:02:48,927 INFO L272 TraceCheckUtils]: 77: Hoare triple {14869#(<= ~counter~0 8)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {14869#(<= ~counter~0 8)} is VALID [2022-04-08 14:02:48,927 INFO L290 TraceCheckUtils]: 78: Hoare triple {14869#(<= ~counter~0 8)} ~cond := #in~cond; {14869#(<= ~counter~0 8)} is VALID [2022-04-08 14:02:48,928 INFO L290 TraceCheckUtils]: 79: Hoare triple {14869#(<= ~counter~0 8)} assume !(0 == ~cond); {14869#(<= ~counter~0 8)} is VALID [2022-04-08 14:02:48,928 INFO L290 TraceCheckUtils]: 80: Hoare triple {14869#(<= ~counter~0 8)} assume true; {14869#(<= ~counter~0 8)} is VALID [2022-04-08 14:02:48,928 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {14869#(<= ~counter~0 8)} {14869#(<= ~counter~0 8)} #71#return; {14869#(<= ~counter~0 8)} is VALID [2022-04-08 14:02:48,929 INFO L290 TraceCheckUtils]: 82: Hoare triple {14869#(<= ~counter~0 8)} assume !!(0 != ~a~0 && 0 != ~b~0); {14869#(<= ~counter~0 8)} is VALID [2022-04-08 14:02:48,929 INFO L290 TraceCheckUtils]: 83: Hoare triple {14869#(<= ~counter~0 8)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {14869#(<= ~counter~0 8)} is VALID [2022-04-08 14:02:48,929 INFO L290 TraceCheckUtils]: 84: Hoare triple {14869#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14897#(<= |main_#t~post6| 8)} is VALID [2022-04-08 14:02:48,930 INFO L290 TraceCheckUtils]: 85: Hoare triple {14897#(<= |main_#t~post6| 8)} assume !(#t~post6 < 100);havoc #t~post6; {14632#false} is VALID [2022-04-08 14:02:48,930 INFO L272 TraceCheckUtils]: 86: Hoare triple {14632#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {14632#false} is VALID [2022-04-08 14:02:48,930 INFO L290 TraceCheckUtils]: 87: Hoare triple {14632#false} ~cond := #in~cond; {14632#false} is VALID [2022-04-08 14:02:48,930 INFO L290 TraceCheckUtils]: 88: Hoare triple {14632#false} assume 0 == ~cond; {14632#false} is VALID [2022-04-08 14:02:48,930 INFO L290 TraceCheckUtils]: 89: Hoare triple {14632#false} assume !false; {14632#false} is VALID [2022-04-08 14:02:48,931 INFO L134 CoverageAnalysis]: Checked inductivity of 284 backedges. 16 proven. 268 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 14:02:48,931 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 14:02:49,362 INFO L290 TraceCheckUtils]: 89: Hoare triple {14632#false} assume !false; {14632#false} is VALID [2022-04-08 14:02:49,362 INFO L290 TraceCheckUtils]: 88: Hoare triple {14632#false} assume 0 == ~cond; {14632#false} is VALID [2022-04-08 14:02:49,363 INFO L290 TraceCheckUtils]: 87: Hoare triple {14632#false} ~cond := #in~cond; {14632#false} is VALID [2022-04-08 14:02:49,363 INFO L272 TraceCheckUtils]: 86: Hoare triple {14632#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {14632#false} is VALID [2022-04-08 14:02:49,363 INFO L290 TraceCheckUtils]: 85: Hoare triple {14925#(< |main_#t~post6| 100)} assume !(#t~post6 < 100);havoc #t~post6; {14632#false} is VALID [2022-04-08 14:02:49,363 INFO L290 TraceCheckUtils]: 84: Hoare triple {14929#(< ~counter~0 100)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14925#(< |main_#t~post6| 100)} is VALID [2022-04-08 14:02:49,363 INFO L290 TraceCheckUtils]: 83: Hoare triple {14929#(< ~counter~0 100)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {14929#(< ~counter~0 100)} is VALID [2022-04-08 14:02:49,364 INFO L290 TraceCheckUtils]: 82: Hoare triple {14929#(< ~counter~0 100)} assume !!(0 != ~a~0 && 0 != ~b~0); {14929#(< ~counter~0 100)} is VALID [2022-04-08 14:02:49,364 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {14631#true} {14929#(< ~counter~0 100)} #71#return; {14929#(< ~counter~0 100)} is VALID [2022-04-08 14:02:49,364 INFO L290 TraceCheckUtils]: 80: Hoare triple {14631#true} assume true; {14631#true} is VALID [2022-04-08 14:02:49,364 INFO L290 TraceCheckUtils]: 79: Hoare triple {14631#true} assume !(0 == ~cond); {14631#true} is VALID [2022-04-08 14:02:49,364 INFO L290 TraceCheckUtils]: 78: Hoare triple {14631#true} ~cond := #in~cond; {14631#true} is VALID [2022-04-08 14:02:49,364 INFO L272 TraceCheckUtils]: 77: Hoare triple {14929#(< ~counter~0 100)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {14631#true} is VALID [2022-04-08 14:02:49,365 INFO L290 TraceCheckUtils]: 76: Hoare triple {14929#(< ~counter~0 100)} assume !!(#t~post6 < 100);havoc #t~post6; {14929#(< ~counter~0 100)} is VALID [2022-04-08 14:02:49,365 INFO L290 TraceCheckUtils]: 75: Hoare triple {14957#(< ~counter~0 99)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14929#(< ~counter~0 100)} is VALID [2022-04-08 14:02:49,365 INFO L290 TraceCheckUtils]: 74: Hoare triple {14957#(< ~counter~0 99)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {14957#(< ~counter~0 99)} is VALID [2022-04-08 14:02:49,366 INFO L290 TraceCheckUtils]: 73: Hoare triple {14957#(< ~counter~0 99)} assume !!(0 != ~a~0 && 0 != ~b~0); {14957#(< ~counter~0 99)} is VALID [2022-04-08 14:02:49,366 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {14631#true} {14957#(< ~counter~0 99)} #71#return; {14957#(< ~counter~0 99)} is VALID [2022-04-08 14:02:49,366 INFO L290 TraceCheckUtils]: 71: Hoare triple {14631#true} assume true; {14631#true} is VALID [2022-04-08 14:02:49,366 INFO L290 TraceCheckUtils]: 70: Hoare triple {14631#true} assume !(0 == ~cond); {14631#true} is VALID [2022-04-08 14:02:49,366 INFO L290 TraceCheckUtils]: 69: Hoare triple {14631#true} ~cond := #in~cond; {14631#true} is VALID [2022-04-08 14:02:49,366 INFO L272 TraceCheckUtils]: 68: Hoare triple {14957#(< ~counter~0 99)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {14631#true} is VALID [2022-04-08 14:02:49,366 INFO L290 TraceCheckUtils]: 67: Hoare triple {14957#(< ~counter~0 99)} assume !!(#t~post6 < 100);havoc #t~post6; {14957#(< ~counter~0 99)} is VALID [2022-04-08 14:02:49,367 INFO L290 TraceCheckUtils]: 66: Hoare triple {14985#(< ~counter~0 98)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14957#(< ~counter~0 99)} is VALID [2022-04-08 14:02:49,367 INFO L290 TraceCheckUtils]: 65: Hoare triple {14985#(< ~counter~0 98)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {14985#(< ~counter~0 98)} is VALID [2022-04-08 14:02:49,367 INFO L290 TraceCheckUtils]: 64: Hoare triple {14985#(< ~counter~0 98)} assume !!(0 != ~a~0 && 0 != ~b~0); {14985#(< ~counter~0 98)} is VALID [2022-04-08 14:02:49,368 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {14631#true} {14985#(< ~counter~0 98)} #71#return; {14985#(< ~counter~0 98)} is VALID [2022-04-08 14:02:49,368 INFO L290 TraceCheckUtils]: 62: Hoare triple {14631#true} assume true; {14631#true} is VALID [2022-04-08 14:02:49,368 INFO L290 TraceCheckUtils]: 61: Hoare triple {14631#true} assume !(0 == ~cond); {14631#true} is VALID [2022-04-08 14:02:49,368 INFO L290 TraceCheckUtils]: 60: Hoare triple {14631#true} ~cond := #in~cond; {14631#true} is VALID [2022-04-08 14:02:49,368 INFO L272 TraceCheckUtils]: 59: Hoare triple {14985#(< ~counter~0 98)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {14631#true} is VALID [2022-04-08 14:02:49,368 INFO L290 TraceCheckUtils]: 58: Hoare triple {14985#(< ~counter~0 98)} assume !!(#t~post6 < 100);havoc #t~post6; {14985#(< ~counter~0 98)} is VALID [2022-04-08 14:02:49,368 INFO L290 TraceCheckUtils]: 57: Hoare triple {15013#(< ~counter~0 97)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14985#(< ~counter~0 98)} is VALID [2022-04-08 14:02:49,369 INFO L290 TraceCheckUtils]: 56: Hoare triple {15013#(< ~counter~0 97)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {15013#(< ~counter~0 97)} is VALID [2022-04-08 14:02:49,369 INFO L290 TraceCheckUtils]: 55: Hoare triple {15013#(< ~counter~0 97)} assume !!(0 != ~a~0 && 0 != ~b~0); {15013#(< ~counter~0 97)} is VALID [2022-04-08 14:02:49,369 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {14631#true} {15013#(< ~counter~0 97)} #71#return; {15013#(< ~counter~0 97)} is VALID [2022-04-08 14:02:49,369 INFO L290 TraceCheckUtils]: 53: Hoare triple {14631#true} assume true; {14631#true} is VALID [2022-04-08 14:02:49,369 INFO L290 TraceCheckUtils]: 52: Hoare triple {14631#true} assume !(0 == ~cond); {14631#true} is VALID [2022-04-08 14:02:49,369 INFO L290 TraceCheckUtils]: 51: Hoare triple {14631#true} ~cond := #in~cond; {14631#true} is VALID [2022-04-08 14:02:49,370 INFO L272 TraceCheckUtils]: 50: Hoare triple {15013#(< ~counter~0 97)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {14631#true} is VALID [2022-04-08 14:02:49,370 INFO L290 TraceCheckUtils]: 49: Hoare triple {15013#(< ~counter~0 97)} assume !!(#t~post6 < 100);havoc #t~post6; {15013#(< ~counter~0 97)} is VALID [2022-04-08 14:02:49,370 INFO L290 TraceCheckUtils]: 48: Hoare triple {15041#(< ~counter~0 96)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15013#(< ~counter~0 97)} is VALID [2022-04-08 14:02:49,370 INFO L290 TraceCheckUtils]: 47: Hoare triple {15041#(< ~counter~0 96)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {15041#(< ~counter~0 96)} is VALID [2022-04-08 14:02:49,371 INFO L290 TraceCheckUtils]: 46: Hoare triple {15041#(< ~counter~0 96)} assume !!(0 != ~a~0 && 0 != ~b~0); {15041#(< ~counter~0 96)} is VALID [2022-04-08 14:02:49,371 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {14631#true} {15041#(< ~counter~0 96)} #71#return; {15041#(< ~counter~0 96)} is VALID [2022-04-08 14:02:49,371 INFO L290 TraceCheckUtils]: 44: Hoare triple {14631#true} assume true; {14631#true} is VALID [2022-04-08 14:02:49,371 INFO L290 TraceCheckUtils]: 43: Hoare triple {14631#true} assume !(0 == ~cond); {14631#true} is VALID [2022-04-08 14:02:49,371 INFO L290 TraceCheckUtils]: 42: Hoare triple {14631#true} ~cond := #in~cond; {14631#true} is VALID [2022-04-08 14:02:49,371 INFO L272 TraceCheckUtils]: 41: Hoare triple {15041#(< ~counter~0 96)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {14631#true} is VALID [2022-04-08 14:02:49,372 INFO L290 TraceCheckUtils]: 40: Hoare triple {15041#(< ~counter~0 96)} assume !!(#t~post6 < 100);havoc #t~post6; {15041#(< ~counter~0 96)} is VALID [2022-04-08 14:02:49,372 INFO L290 TraceCheckUtils]: 39: Hoare triple {15069#(< ~counter~0 95)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15041#(< ~counter~0 96)} is VALID [2022-04-08 14:02:49,372 INFO L290 TraceCheckUtils]: 38: Hoare triple {15069#(< ~counter~0 95)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {15069#(< ~counter~0 95)} is VALID [2022-04-08 14:02:49,372 INFO L290 TraceCheckUtils]: 37: Hoare triple {15069#(< ~counter~0 95)} assume !!(0 != ~a~0 && 0 != ~b~0); {15069#(< ~counter~0 95)} is VALID [2022-04-08 14:02:49,373 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {14631#true} {15069#(< ~counter~0 95)} #71#return; {15069#(< ~counter~0 95)} is VALID [2022-04-08 14:02:49,373 INFO L290 TraceCheckUtils]: 35: Hoare triple {14631#true} assume true; {14631#true} is VALID [2022-04-08 14:02:49,373 INFO L290 TraceCheckUtils]: 34: Hoare triple {14631#true} assume !(0 == ~cond); {14631#true} is VALID [2022-04-08 14:02:49,373 INFO L290 TraceCheckUtils]: 33: Hoare triple {14631#true} ~cond := #in~cond; {14631#true} is VALID [2022-04-08 14:02:49,373 INFO L272 TraceCheckUtils]: 32: Hoare triple {15069#(< ~counter~0 95)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {14631#true} is VALID [2022-04-08 14:02:49,373 INFO L290 TraceCheckUtils]: 31: Hoare triple {15069#(< ~counter~0 95)} assume !!(#t~post6 < 100);havoc #t~post6; {15069#(< ~counter~0 95)} is VALID [2022-04-08 14:02:49,374 INFO L290 TraceCheckUtils]: 30: Hoare triple {15097#(< ~counter~0 94)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15069#(< ~counter~0 95)} is VALID [2022-04-08 14:02:49,374 INFO L290 TraceCheckUtils]: 29: Hoare triple {15097#(< ~counter~0 94)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {15097#(< ~counter~0 94)} is VALID [2022-04-08 14:02:49,374 INFO L290 TraceCheckUtils]: 28: Hoare triple {15097#(< ~counter~0 94)} assume !!(0 != ~a~0 && 0 != ~b~0); {15097#(< ~counter~0 94)} is VALID [2022-04-08 14:02:49,374 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {14631#true} {15097#(< ~counter~0 94)} #71#return; {15097#(< ~counter~0 94)} is VALID [2022-04-08 14:02:49,374 INFO L290 TraceCheckUtils]: 26: Hoare triple {14631#true} assume true; {14631#true} is VALID [2022-04-08 14:02:49,375 INFO L290 TraceCheckUtils]: 25: Hoare triple {14631#true} assume !(0 == ~cond); {14631#true} is VALID [2022-04-08 14:02:49,375 INFO L290 TraceCheckUtils]: 24: Hoare triple {14631#true} ~cond := #in~cond; {14631#true} is VALID [2022-04-08 14:02:49,375 INFO L272 TraceCheckUtils]: 23: Hoare triple {15097#(< ~counter~0 94)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {14631#true} is VALID [2022-04-08 14:02:49,375 INFO L290 TraceCheckUtils]: 22: Hoare triple {15097#(< ~counter~0 94)} assume !!(#t~post6 < 100);havoc #t~post6; {15097#(< ~counter~0 94)} is VALID [2022-04-08 14:02:49,375 INFO L290 TraceCheckUtils]: 21: Hoare triple {15125#(< ~counter~0 93)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15097#(< ~counter~0 94)} is VALID [2022-04-08 14:02:49,375 INFO L290 TraceCheckUtils]: 20: Hoare triple {15125#(< ~counter~0 93)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {15125#(< ~counter~0 93)} is VALID [2022-04-08 14:02:49,376 INFO L290 TraceCheckUtils]: 19: Hoare triple {15125#(< ~counter~0 93)} assume !!(0 != ~a~0 && 0 != ~b~0); {15125#(< ~counter~0 93)} is VALID [2022-04-08 14:02:49,376 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {14631#true} {15125#(< ~counter~0 93)} #71#return; {15125#(< ~counter~0 93)} is VALID [2022-04-08 14:02:49,376 INFO L290 TraceCheckUtils]: 17: Hoare triple {14631#true} assume true; {14631#true} is VALID [2022-04-08 14:02:49,376 INFO L290 TraceCheckUtils]: 16: Hoare triple {14631#true} assume !(0 == ~cond); {14631#true} is VALID [2022-04-08 14:02:49,376 INFO L290 TraceCheckUtils]: 15: Hoare triple {14631#true} ~cond := #in~cond; {14631#true} is VALID [2022-04-08 14:02:49,376 INFO L272 TraceCheckUtils]: 14: Hoare triple {15125#(< ~counter~0 93)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {14631#true} is VALID [2022-04-08 14:02:49,377 INFO L290 TraceCheckUtils]: 13: Hoare triple {15125#(< ~counter~0 93)} assume !!(#t~post6 < 100);havoc #t~post6; {15125#(< ~counter~0 93)} is VALID [2022-04-08 14:02:49,377 INFO L290 TraceCheckUtils]: 12: Hoare triple {15153#(< ~counter~0 92)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15125#(< ~counter~0 93)} is VALID [2022-04-08 14:02:49,377 INFO L290 TraceCheckUtils]: 11: Hoare triple {15153#(< ~counter~0 92)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {15153#(< ~counter~0 92)} is VALID [2022-04-08 14:02:49,377 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14631#true} {15153#(< ~counter~0 92)} #69#return; {15153#(< ~counter~0 92)} is VALID [2022-04-08 14:02:49,378 INFO L290 TraceCheckUtils]: 9: Hoare triple {14631#true} assume true; {14631#true} is VALID [2022-04-08 14:02:49,378 INFO L290 TraceCheckUtils]: 8: Hoare triple {14631#true} assume !(0 == ~cond); {14631#true} is VALID [2022-04-08 14:02:49,378 INFO L290 TraceCheckUtils]: 7: Hoare triple {14631#true} ~cond := #in~cond; {14631#true} is VALID [2022-04-08 14:02:49,378 INFO L272 TraceCheckUtils]: 6: Hoare triple {15153#(< ~counter~0 92)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {14631#true} is VALID [2022-04-08 14:02:49,378 INFO L290 TraceCheckUtils]: 5: Hoare triple {15153#(< ~counter~0 92)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {15153#(< ~counter~0 92)} is VALID [2022-04-08 14:02:49,378 INFO L272 TraceCheckUtils]: 4: Hoare triple {15153#(< ~counter~0 92)} call #t~ret7 := main(); {15153#(< ~counter~0 92)} is VALID [2022-04-08 14:02:49,378 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15153#(< ~counter~0 92)} {14631#true} #77#return; {15153#(< ~counter~0 92)} is VALID [2022-04-08 14:02:49,379 INFO L290 TraceCheckUtils]: 2: Hoare triple {15153#(< ~counter~0 92)} assume true; {15153#(< ~counter~0 92)} is VALID [2022-04-08 14:02:49,379 INFO L290 TraceCheckUtils]: 1: Hoare triple {14631#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {15153#(< ~counter~0 92)} is VALID [2022-04-08 14:02:49,379 INFO L272 TraceCheckUtils]: 0: Hoare triple {14631#true} call ULTIMATE.init(); {14631#true} is VALID [2022-04-08 14:02:49,379 INFO L134 CoverageAnalysis]: Checked inductivity of 284 backedges. 16 proven. 156 refuted. 0 times theorem prover too weak. 112 trivial. 0 not checked. [2022-04-08 14:02:49,380 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 14:02:49,380 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2049633508] [2022-04-08 14:02:49,380 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 14:02:49,380 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1246213242] [2022-04-08 14:02:49,380 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1246213242] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 14:02:49,380 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 14:02:49,380 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 12] total 22 [2022-04-08 14:02:49,380 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 14:02:49,380 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1390911102] [2022-04-08 14:02:49,380 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1390911102] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 14:02:49,380 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 14:02:49,380 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-08 14:02:49,380 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2074295271] [2022-04-08 14:02:49,381 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 14:02:49,381 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 5.666666666666667) internal successors, (68), 11 states have internal predecessors, (68), 11 states have call successors, (12), 11 states have call predecessors, (12), 9 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) Word has length 90 [2022-04-08 14:02:49,381 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 14:02:49,381 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 5.666666666666667) internal successors, (68), 11 states have internal predecessors, (68), 11 states have call successors, (12), 11 states have call predecessors, (12), 9 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 14:02:49,425 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 90 edges. 90 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:02:49,425 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-08 14:02:49,425 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 14:02:49,426 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-08 14:02:49,426 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=195, Invalid=267, Unknown=0, NotChecked=0, Total=462 [2022-04-08 14:02:49,426 INFO L87 Difference]: Start difference. First operand 120 states and 146 transitions. Second operand has 12 states, 12 states have (on average 5.666666666666667) internal successors, (68), 11 states have internal predecessors, (68), 11 states have call successors, (12), 11 states have call predecessors, (12), 9 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 14:02:49,855 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:02:49,855 INFO L93 Difference]: Finished difference Result 139 states and 169 transitions. [2022-04-08 14:02:49,855 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2022-04-08 14:02:49,855 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 5.666666666666667) internal successors, (68), 11 states have internal predecessors, (68), 11 states have call successors, (12), 11 states have call predecessors, (12), 9 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) Word has length 90 [2022-04-08 14:02:49,856 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 14:02:49,856 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 5.666666666666667) internal successors, (68), 11 states have internal predecessors, (68), 11 states have call successors, (12), 11 states have call predecessors, (12), 9 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 14:02:49,857 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 155 transitions. [2022-04-08 14:02:49,857 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 5.666666666666667) internal successors, (68), 11 states have internal predecessors, (68), 11 states have call successors, (12), 11 states have call predecessors, (12), 9 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 14:02:49,859 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 155 transitions. [2022-04-08 14:02:49,859 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 20 states and 155 transitions. [2022-04-08 14:02:49,979 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 155 edges. 155 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:02:49,981 INFO L225 Difference]: With dead ends: 139 [2022-04-08 14:02:49,981 INFO L226 Difference]: Without dead ends: 131 [2022-04-08 14:02:49,981 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 187 GetRequests, 159 SyntacticMatches, 0 SemanticMatches, 28 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 53 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=363, Invalid=507, Unknown=0, NotChecked=0, Total=870 [2022-04-08 14:02:49,981 INFO L913 BasicCegarLoop]: 38 mSDtfsCounter, 78 mSDsluCounter, 168 mSDsCounter, 0 mSdLazyCounter, 48 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 78 SdHoareTripleChecker+Valid, 206 SdHoareTripleChecker+Invalid, 63 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 15 IncrementalHoareTripleChecker+Valid, 48 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 14:02:49,982 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [78 Valid, 206 Invalid, 63 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 48 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 14:02:49,982 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 131 states. [2022-04-08 14:02:50,183 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 131 to 131. [2022-04-08 14:02:50,184 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 14:02:50,184 INFO L82 GeneralOperation]: Start isEquivalent. First operand 131 states. Second operand has 131 states, 102 states have (on average 1.2941176470588236) internal successors, (132), 103 states have internal predecessors, (132), 15 states have call successors, (15), 14 states have call predecessors, (15), 13 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 14:02:50,184 INFO L74 IsIncluded]: Start isIncluded. First operand 131 states. Second operand has 131 states, 102 states have (on average 1.2941176470588236) internal successors, (132), 103 states have internal predecessors, (132), 15 states have call successors, (15), 14 states have call predecessors, (15), 13 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 14:02:50,184 INFO L87 Difference]: Start difference. First operand 131 states. Second operand has 131 states, 102 states have (on average 1.2941176470588236) internal successors, (132), 103 states have internal predecessors, (132), 15 states have call successors, (15), 14 states have call predecessors, (15), 13 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 14:02:50,187 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:02:50,187 INFO L93 Difference]: Finished difference Result 131 states and 160 transitions. [2022-04-08 14:02:50,187 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 160 transitions. [2022-04-08 14:02:50,187 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:02:50,187 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:02:50,187 INFO L74 IsIncluded]: Start isIncluded. First operand has 131 states, 102 states have (on average 1.2941176470588236) internal successors, (132), 103 states have internal predecessors, (132), 15 states have call successors, (15), 14 states have call predecessors, (15), 13 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 131 states. [2022-04-08 14:02:50,188 INFO L87 Difference]: Start difference. First operand has 131 states, 102 states have (on average 1.2941176470588236) internal successors, (132), 103 states have internal predecessors, (132), 15 states have call successors, (15), 14 states have call predecessors, (15), 13 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 131 states. [2022-04-08 14:02:50,190 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:02:50,190 INFO L93 Difference]: Finished difference Result 131 states and 160 transitions. [2022-04-08 14:02:50,190 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 160 transitions. [2022-04-08 14:02:50,190 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:02:50,190 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:02:50,190 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 14:02:50,190 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 14:02:50,190 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 131 states, 102 states have (on average 1.2941176470588236) internal successors, (132), 103 states have internal predecessors, (132), 15 states have call successors, (15), 14 states have call predecessors, (15), 13 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 14:02:50,193 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 131 states to 131 states and 160 transitions. [2022-04-08 14:02:50,194 INFO L78 Accepts]: Start accepts. Automaton has 131 states and 160 transitions. Word has length 90 [2022-04-08 14:02:50,195 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 14:02:50,195 INFO L478 AbstractCegarLoop]: Abstraction has 131 states and 160 transitions. [2022-04-08 14:02:50,195 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 5.666666666666667) internal successors, (68), 11 states have internal predecessors, (68), 11 states have call successors, (12), 11 states have call predecessors, (12), 9 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 14:02:50,195 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 131 states and 160 transitions. [2022-04-08 14:03:07,593 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 160 edges. 152 inductive. 0 not inductive. 8 times theorem prover too weak to decide inductivity. [2022-04-08 14:03:07,593 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 160 transitions. [2022-04-08 14:03:07,594 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 100 [2022-04-08 14:03:07,594 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 14:03:07,594 INFO L499 BasicCegarLoop]: trace histogram [10, 10, 9, 9, 9, 9, 9, 9, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 14:03:07,611 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Forceful destruction successful, exit code 0 [2022-04-08 14:03:07,794 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 22 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable21 [2022-04-08 14:03:07,794 INFO L403 AbstractCegarLoop]: === Iteration 23 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 14:03:07,795 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 14:03:07,795 INFO L85 PathProgramCache]: Analyzing trace with hash -164303550, now seen corresponding path program 17 times [2022-04-08 14:03:07,795 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 14:03:07,795 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1877125960] [2022-04-08 14:03:13,847 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 14:03:13,848 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 14:03:13,848 INFO L85 PathProgramCache]: Analyzing trace with hash -164303550, now seen corresponding path program 18 times [2022-04-08 14:03:13,848 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 14:03:13,848 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [579284050] [2022-04-08 14:03:13,848 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 14:03:13,848 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 14:03:13,862 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 14:03:13,862 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2136858621] [2022-04-08 14:03:13,862 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 14:03:13,862 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 14:03:13,862 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 14:03:13,874 INFO L229 MonitoredProcess]: Starting monitored process 23 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 14:03:13,874 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (23)] Waiting until timeout for monitored process [2022-04-08 14:03:14,003 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 10 check-sat command(s) [2022-04-08 14:03:14,003 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 14:03:14,004 INFO L263 TraceCheckSpWp]: Trace formula consists of 320 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-08 14:03:14,024 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 14:03:14,025 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 14:03:14,506 INFO L272 TraceCheckUtils]: 0: Hoare triple {16010#true} call ULTIMATE.init(); {16010#true} is VALID [2022-04-08 14:03:14,507 INFO L290 TraceCheckUtils]: 1: Hoare triple {16010#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {16018#(<= ~counter~0 0)} is VALID [2022-04-08 14:03:14,508 INFO L290 TraceCheckUtils]: 2: Hoare triple {16018#(<= ~counter~0 0)} assume true; {16018#(<= ~counter~0 0)} is VALID [2022-04-08 14:03:14,508 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16018#(<= ~counter~0 0)} {16010#true} #77#return; {16018#(<= ~counter~0 0)} is VALID [2022-04-08 14:03:14,508 INFO L272 TraceCheckUtils]: 4: Hoare triple {16018#(<= ~counter~0 0)} call #t~ret7 := main(); {16018#(<= ~counter~0 0)} is VALID [2022-04-08 14:03:14,508 INFO L290 TraceCheckUtils]: 5: Hoare triple {16018#(<= ~counter~0 0)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {16018#(<= ~counter~0 0)} is VALID [2022-04-08 14:03:14,509 INFO L272 TraceCheckUtils]: 6: Hoare triple {16018#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {16018#(<= ~counter~0 0)} is VALID [2022-04-08 14:03:14,509 INFO L290 TraceCheckUtils]: 7: Hoare triple {16018#(<= ~counter~0 0)} ~cond := #in~cond; {16018#(<= ~counter~0 0)} is VALID [2022-04-08 14:03:14,509 INFO L290 TraceCheckUtils]: 8: Hoare triple {16018#(<= ~counter~0 0)} assume !(0 == ~cond); {16018#(<= ~counter~0 0)} is VALID [2022-04-08 14:03:14,509 INFO L290 TraceCheckUtils]: 9: Hoare triple {16018#(<= ~counter~0 0)} assume true; {16018#(<= ~counter~0 0)} is VALID [2022-04-08 14:03:14,510 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16018#(<= ~counter~0 0)} {16018#(<= ~counter~0 0)} #69#return; {16018#(<= ~counter~0 0)} is VALID [2022-04-08 14:03:14,510 INFO L290 TraceCheckUtils]: 11: Hoare triple {16018#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {16018#(<= ~counter~0 0)} is VALID [2022-04-08 14:03:14,511 INFO L290 TraceCheckUtils]: 12: Hoare triple {16018#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16052#(<= ~counter~0 1)} is VALID [2022-04-08 14:03:14,511 INFO L290 TraceCheckUtils]: 13: Hoare triple {16052#(<= ~counter~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {16052#(<= ~counter~0 1)} is VALID [2022-04-08 14:03:14,511 INFO L272 TraceCheckUtils]: 14: Hoare triple {16052#(<= ~counter~0 1)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {16052#(<= ~counter~0 1)} is VALID [2022-04-08 14:03:14,511 INFO L290 TraceCheckUtils]: 15: Hoare triple {16052#(<= ~counter~0 1)} ~cond := #in~cond; {16052#(<= ~counter~0 1)} is VALID [2022-04-08 14:03:14,512 INFO L290 TraceCheckUtils]: 16: Hoare triple {16052#(<= ~counter~0 1)} assume !(0 == ~cond); {16052#(<= ~counter~0 1)} is VALID [2022-04-08 14:03:14,512 INFO L290 TraceCheckUtils]: 17: Hoare triple {16052#(<= ~counter~0 1)} assume true; {16052#(<= ~counter~0 1)} is VALID [2022-04-08 14:03:14,512 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {16052#(<= ~counter~0 1)} {16052#(<= ~counter~0 1)} #71#return; {16052#(<= ~counter~0 1)} is VALID [2022-04-08 14:03:14,512 INFO L290 TraceCheckUtils]: 19: Hoare triple {16052#(<= ~counter~0 1)} assume !!(0 != ~a~0 && 0 != ~b~0); {16052#(<= ~counter~0 1)} is VALID [2022-04-08 14:03:14,513 INFO L290 TraceCheckUtils]: 20: Hoare triple {16052#(<= ~counter~0 1)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {16052#(<= ~counter~0 1)} is VALID [2022-04-08 14:03:14,513 INFO L290 TraceCheckUtils]: 21: Hoare triple {16052#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16080#(<= ~counter~0 2)} is VALID [2022-04-08 14:03:14,513 INFO L290 TraceCheckUtils]: 22: Hoare triple {16080#(<= ~counter~0 2)} assume !!(#t~post6 < 100);havoc #t~post6; {16080#(<= ~counter~0 2)} is VALID [2022-04-08 14:03:14,514 INFO L272 TraceCheckUtils]: 23: Hoare triple {16080#(<= ~counter~0 2)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {16080#(<= ~counter~0 2)} is VALID [2022-04-08 14:03:14,514 INFO L290 TraceCheckUtils]: 24: Hoare triple {16080#(<= ~counter~0 2)} ~cond := #in~cond; {16080#(<= ~counter~0 2)} is VALID [2022-04-08 14:03:14,514 INFO L290 TraceCheckUtils]: 25: Hoare triple {16080#(<= ~counter~0 2)} assume !(0 == ~cond); {16080#(<= ~counter~0 2)} is VALID [2022-04-08 14:03:14,514 INFO L290 TraceCheckUtils]: 26: Hoare triple {16080#(<= ~counter~0 2)} assume true; {16080#(<= ~counter~0 2)} is VALID [2022-04-08 14:03:14,515 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {16080#(<= ~counter~0 2)} {16080#(<= ~counter~0 2)} #71#return; {16080#(<= ~counter~0 2)} is VALID [2022-04-08 14:03:14,515 INFO L290 TraceCheckUtils]: 28: Hoare triple {16080#(<= ~counter~0 2)} assume !!(0 != ~a~0 && 0 != ~b~0); {16080#(<= ~counter~0 2)} is VALID [2022-04-08 14:03:14,515 INFO L290 TraceCheckUtils]: 29: Hoare triple {16080#(<= ~counter~0 2)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {16080#(<= ~counter~0 2)} is VALID [2022-04-08 14:03:14,516 INFO L290 TraceCheckUtils]: 30: Hoare triple {16080#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16108#(<= ~counter~0 3)} is VALID [2022-04-08 14:03:14,516 INFO L290 TraceCheckUtils]: 31: Hoare triple {16108#(<= ~counter~0 3)} assume !!(#t~post6 < 100);havoc #t~post6; {16108#(<= ~counter~0 3)} is VALID [2022-04-08 14:03:14,516 INFO L272 TraceCheckUtils]: 32: Hoare triple {16108#(<= ~counter~0 3)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {16108#(<= ~counter~0 3)} is VALID [2022-04-08 14:03:14,516 INFO L290 TraceCheckUtils]: 33: Hoare triple {16108#(<= ~counter~0 3)} ~cond := #in~cond; {16108#(<= ~counter~0 3)} is VALID [2022-04-08 14:03:14,517 INFO L290 TraceCheckUtils]: 34: Hoare triple {16108#(<= ~counter~0 3)} assume !(0 == ~cond); {16108#(<= ~counter~0 3)} is VALID [2022-04-08 14:03:14,517 INFO L290 TraceCheckUtils]: 35: Hoare triple {16108#(<= ~counter~0 3)} assume true; {16108#(<= ~counter~0 3)} is VALID [2022-04-08 14:03:14,517 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {16108#(<= ~counter~0 3)} {16108#(<= ~counter~0 3)} #71#return; {16108#(<= ~counter~0 3)} is VALID [2022-04-08 14:03:14,518 INFO L290 TraceCheckUtils]: 37: Hoare triple {16108#(<= ~counter~0 3)} assume !!(0 != ~a~0 && 0 != ~b~0); {16108#(<= ~counter~0 3)} is VALID [2022-04-08 14:03:14,518 INFO L290 TraceCheckUtils]: 38: Hoare triple {16108#(<= ~counter~0 3)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {16108#(<= ~counter~0 3)} is VALID [2022-04-08 14:03:14,518 INFO L290 TraceCheckUtils]: 39: Hoare triple {16108#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16136#(<= ~counter~0 4)} is VALID [2022-04-08 14:03:14,518 INFO L290 TraceCheckUtils]: 40: Hoare triple {16136#(<= ~counter~0 4)} assume !!(#t~post6 < 100);havoc #t~post6; {16136#(<= ~counter~0 4)} is VALID [2022-04-08 14:03:14,519 INFO L272 TraceCheckUtils]: 41: Hoare triple {16136#(<= ~counter~0 4)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {16136#(<= ~counter~0 4)} is VALID [2022-04-08 14:03:14,519 INFO L290 TraceCheckUtils]: 42: Hoare triple {16136#(<= ~counter~0 4)} ~cond := #in~cond; {16136#(<= ~counter~0 4)} is VALID [2022-04-08 14:03:14,519 INFO L290 TraceCheckUtils]: 43: Hoare triple {16136#(<= ~counter~0 4)} assume !(0 == ~cond); {16136#(<= ~counter~0 4)} is VALID [2022-04-08 14:03:14,519 INFO L290 TraceCheckUtils]: 44: Hoare triple {16136#(<= ~counter~0 4)} assume true; {16136#(<= ~counter~0 4)} is VALID [2022-04-08 14:03:14,520 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {16136#(<= ~counter~0 4)} {16136#(<= ~counter~0 4)} #71#return; {16136#(<= ~counter~0 4)} is VALID [2022-04-08 14:03:14,520 INFO L290 TraceCheckUtils]: 46: Hoare triple {16136#(<= ~counter~0 4)} assume !!(0 != ~a~0 && 0 != ~b~0); {16136#(<= ~counter~0 4)} is VALID [2022-04-08 14:03:14,520 INFO L290 TraceCheckUtils]: 47: Hoare triple {16136#(<= ~counter~0 4)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {16136#(<= ~counter~0 4)} is VALID [2022-04-08 14:03:14,521 INFO L290 TraceCheckUtils]: 48: Hoare triple {16136#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16164#(<= ~counter~0 5)} is VALID [2022-04-08 14:03:14,521 INFO L290 TraceCheckUtils]: 49: Hoare triple {16164#(<= ~counter~0 5)} assume !!(#t~post6 < 100);havoc #t~post6; {16164#(<= ~counter~0 5)} is VALID [2022-04-08 14:03:14,521 INFO L272 TraceCheckUtils]: 50: Hoare triple {16164#(<= ~counter~0 5)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {16164#(<= ~counter~0 5)} is VALID [2022-04-08 14:03:14,521 INFO L290 TraceCheckUtils]: 51: Hoare triple {16164#(<= ~counter~0 5)} ~cond := #in~cond; {16164#(<= ~counter~0 5)} is VALID [2022-04-08 14:03:14,522 INFO L290 TraceCheckUtils]: 52: Hoare triple {16164#(<= ~counter~0 5)} assume !(0 == ~cond); {16164#(<= ~counter~0 5)} is VALID [2022-04-08 14:03:14,522 INFO L290 TraceCheckUtils]: 53: Hoare triple {16164#(<= ~counter~0 5)} assume true; {16164#(<= ~counter~0 5)} is VALID [2022-04-08 14:03:14,522 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {16164#(<= ~counter~0 5)} {16164#(<= ~counter~0 5)} #71#return; {16164#(<= ~counter~0 5)} is VALID [2022-04-08 14:03:14,523 INFO L290 TraceCheckUtils]: 55: Hoare triple {16164#(<= ~counter~0 5)} assume !!(0 != ~a~0 && 0 != ~b~0); {16164#(<= ~counter~0 5)} is VALID [2022-04-08 14:03:14,523 INFO L290 TraceCheckUtils]: 56: Hoare triple {16164#(<= ~counter~0 5)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {16164#(<= ~counter~0 5)} is VALID [2022-04-08 14:03:14,523 INFO L290 TraceCheckUtils]: 57: Hoare triple {16164#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16192#(<= ~counter~0 6)} is VALID [2022-04-08 14:03:14,523 INFO L290 TraceCheckUtils]: 58: Hoare triple {16192#(<= ~counter~0 6)} assume !!(#t~post6 < 100);havoc #t~post6; {16192#(<= ~counter~0 6)} is VALID [2022-04-08 14:03:14,524 INFO L272 TraceCheckUtils]: 59: Hoare triple {16192#(<= ~counter~0 6)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {16192#(<= ~counter~0 6)} is VALID [2022-04-08 14:03:14,524 INFO L290 TraceCheckUtils]: 60: Hoare triple {16192#(<= ~counter~0 6)} ~cond := #in~cond; {16192#(<= ~counter~0 6)} is VALID [2022-04-08 14:03:14,524 INFO L290 TraceCheckUtils]: 61: Hoare triple {16192#(<= ~counter~0 6)} assume !(0 == ~cond); {16192#(<= ~counter~0 6)} is VALID [2022-04-08 14:03:14,525 INFO L290 TraceCheckUtils]: 62: Hoare triple {16192#(<= ~counter~0 6)} assume true; {16192#(<= ~counter~0 6)} is VALID [2022-04-08 14:03:14,525 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {16192#(<= ~counter~0 6)} {16192#(<= ~counter~0 6)} #71#return; {16192#(<= ~counter~0 6)} is VALID [2022-04-08 14:03:14,525 INFO L290 TraceCheckUtils]: 64: Hoare triple {16192#(<= ~counter~0 6)} assume !!(0 != ~a~0 && 0 != ~b~0); {16192#(<= ~counter~0 6)} is VALID [2022-04-08 14:03:14,525 INFO L290 TraceCheckUtils]: 65: Hoare triple {16192#(<= ~counter~0 6)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {16192#(<= ~counter~0 6)} is VALID [2022-04-08 14:03:14,526 INFO L290 TraceCheckUtils]: 66: Hoare triple {16192#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16220#(<= ~counter~0 7)} is VALID [2022-04-08 14:03:14,526 INFO L290 TraceCheckUtils]: 67: Hoare triple {16220#(<= ~counter~0 7)} assume !!(#t~post6 < 100);havoc #t~post6; {16220#(<= ~counter~0 7)} is VALID [2022-04-08 14:03:14,526 INFO L272 TraceCheckUtils]: 68: Hoare triple {16220#(<= ~counter~0 7)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {16220#(<= ~counter~0 7)} is VALID [2022-04-08 14:03:14,527 INFO L290 TraceCheckUtils]: 69: Hoare triple {16220#(<= ~counter~0 7)} ~cond := #in~cond; {16220#(<= ~counter~0 7)} is VALID [2022-04-08 14:03:14,527 INFO L290 TraceCheckUtils]: 70: Hoare triple {16220#(<= ~counter~0 7)} assume !(0 == ~cond); {16220#(<= ~counter~0 7)} is VALID [2022-04-08 14:03:14,527 INFO L290 TraceCheckUtils]: 71: Hoare triple {16220#(<= ~counter~0 7)} assume true; {16220#(<= ~counter~0 7)} is VALID [2022-04-08 14:03:14,527 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {16220#(<= ~counter~0 7)} {16220#(<= ~counter~0 7)} #71#return; {16220#(<= ~counter~0 7)} is VALID [2022-04-08 14:03:14,528 INFO L290 TraceCheckUtils]: 73: Hoare triple {16220#(<= ~counter~0 7)} assume !!(0 != ~a~0 && 0 != ~b~0); {16220#(<= ~counter~0 7)} is VALID [2022-04-08 14:03:14,528 INFO L290 TraceCheckUtils]: 74: Hoare triple {16220#(<= ~counter~0 7)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {16220#(<= ~counter~0 7)} is VALID [2022-04-08 14:03:14,528 INFO L290 TraceCheckUtils]: 75: Hoare triple {16220#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16248#(<= ~counter~0 8)} is VALID [2022-04-08 14:03:14,529 INFO L290 TraceCheckUtils]: 76: Hoare triple {16248#(<= ~counter~0 8)} assume !!(#t~post6 < 100);havoc #t~post6; {16248#(<= ~counter~0 8)} is VALID [2022-04-08 14:03:14,529 INFO L272 TraceCheckUtils]: 77: Hoare triple {16248#(<= ~counter~0 8)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {16248#(<= ~counter~0 8)} is VALID [2022-04-08 14:03:14,529 INFO L290 TraceCheckUtils]: 78: Hoare triple {16248#(<= ~counter~0 8)} ~cond := #in~cond; {16248#(<= ~counter~0 8)} is VALID [2022-04-08 14:03:14,529 INFO L290 TraceCheckUtils]: 79: Hoare triple {16248#(<= ~counter~0 8)} assume !(0 == ~cond); {16248#(<= ~counter~0 8)} is VALID [2022-04-08 14:03:14,530 INFO L290 TraceCheckUtils]: 80: Hoare triple {16248#(<= ~counter~0 8)} assume true; {16248#(<= ~counter~0 8)} is VALID [2022-04-08 14:03:14,530 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {16248#(<= ~counter~0 8)} {16248#(<= ~counter~0 8)} #71#return; {16248#(<= ~counter~0 8)} is VALID [2022-04-08 14:03:14,530 INFO L290 TraceCheckUtils]: 82: Hoare triple {16248#(<= ~counter~0 8)} assume !!(0 != ~a~0 && 0 != ~b~0); {16248#(<= ~counter~0 8)} is VALID [2022-04-08 14:03:14,530 INFO L290 TraceCheckUtils]: 83: Hoare triple {16248#(<= ~counter~0 8)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {16248#(<= ~counter~0 8)} is VALID [2022-04-08 14:03:14,531 INFO L290 TraceCheckUtils]: 84: Hoare triple {16248#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16276#(<= ~counter~0 9)} is VALID [2022-04-08 14:03:14,531 INFO L290 TraceCheckUtils]: 85: Hoare triple {16276#(<= ~counter~0 9)} assume !!(#t~post6 < 100);havoc #t~post6; {16276#(<= ~counter~0 9)} is VALID [2022-04-08 14:03:14,532 INFO L272 TraceCheckUtils]: 86: Hoare triple {16276#(<= ~counter~0 9)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {16276#(<= ~counter~0 9)} is VALID [2022-04-08 14:03:14,545 INFO L290 TraceCheckUtils]: 87: Hoare triple {16276#(<= ~counter~0 9)} ~cond := #in~cond; {16276#(<= ~counter~0 9)} is VALID [2022-04-08 14:03:14,546 INFO L290 TraceCheckUtils]: 88: Hoare triple {16276#(<= ~counter~0 9)} assume !(0 == ~cond); {16276#(<= ~counter~0 9)} is VALID [2022-04-08 14:03:14,546 INFO L290 TraceCheckUtils]: 89: Hoare triple {16276#(<= ~counter~0 9)} assume true; {16276#(<= ~counter~0 9)} is VALID [2022-04-08 14:03:14,546 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {16276#(<= ~counter~0 9)} {16276#(<= ~counter~0 9)} #71#return; {16276#(<= ~counter~0 9)} is VALID [2022-04-08 14:03:14,547 INFO L290 TraceCheckUtils]: 91: Hoare triple {16276#(<= ~counter~0 9)} assume !!(0 != ~a~0 && 0 != ~b~0); {16276#(<= ~counter~0 9)} is VALID [2022-04-08 14:03:14,547 INFO L290 TraceCheckUtils]: 92: Hoare triple {16276#(<= ~counter~0 9)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {16276#(<= ~counter~0 9)} is VALID [2022-04-08 14:03:14,547 INFO L290 TraceCheckUtils]: 93: Hoare triple {16276#(<= ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16304#(<= |main_#t~post6| 9)} is VALID [2022-04-08 14:03:14,548 INFO L290 TraceCheckUtils]: 94: Hoare triple {16304#(<= |main_#t~post6| 9)} assume !(#t~post6 < 100);havoc #t~post6; {16011#false} is VALID [2022-04-08 14:03:14,548 INFO L272 TraceCheckUtils]: 95: Hoare triple {16011#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {16011#false} is VALID [2022-04-08 14:03:14,548 INFO L290 TraceCheckUtils]: 96: Hoare triple {16011#false} ~cond := #in~cond; {16011#false} is VALID [2022-04-08 14:03:14,548 INFO L290 TraceCheckUtils]: 97: Hoare triple {16011#false} assume 0 == ~cond; {16011#false} is VALID [2022-04-08 14:03:14,548 INFO L290 TraceCheckUtils]: 98: Hoare triple {16011#false} assume !false; {16011#false} is VALID [2022-04-08 14:03:14,548 INFO L134 CoverageAnalysis]: Checked inductivity of 360 backedges. 18 proven. 342 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 14:03:14,548 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 14:03:14,905 INFO L290 TraceCheckUtils]: 98: Hoare triple {16011#false} assume !false; {16011#false} is VALID [2022-04-08 14:03:14,906 INFO L290 TraceCheckUtils]: 97: Hoare triple {16011#false} assume 0 == ~cond; {16011#false} is VALID [2022-04-08 14:03:14,906 INFO L290 TraceCheckUtils]: 96: Hoare triple {16011#false} ~cond := #in~cond; {16011#false} is VALID [2022-04-08 14:03:14,906 INFO L272 TraceCheckUtils]: 95: Hoare triple {16011#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {16011#false} is VALID [2022-04-08 14:03:14,906 INFO L290 TraceCheckUtils]: 94: Hoare triple {16332#(< |main_#t~post6| 100)} assume !(#t~post6 < 100);havoc #t~post6; {16011#false} is VALID [2022-04-08 14:03:14,906 INFO L290 TraceCheckUtils]: 93: Hoare triple {16336#(< ~counter~0 100)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16332#(< |main_#t~post6| 100)} is VALID [2022-04-08 14:03:14,906 INFO L290 TraceCheckUtils]: 92: Hoare triple {16336#(< ~counter~0 100)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {16336#(< ~counter~0 100)} is VALID [2022-04-08 14:03:14,907 INFO L290 TraceCheckUtils]: 91: Hoare triple {16336#(< ~counter~0 100)} assume !!(0 != ~a~0 && 0 != ~b~0); {16336#(< ~counter~0 100)} is VALID [2022-04-08 14:03:14,907 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {16010#true} {16336#(< ~counter~0 100)} #71#return; {16336#(< ~counter~0 100)} is VALID [2022-04-08 14:03:14,907 INFO L290 TraceCheckUtils]: 89: Hoare triple {16010#true} assume true; {16010#true} is VALID [2022-04-08 14:03:14,907 INFO L290 TraceCheckUtils]: 88: Hoare triple {16010#true} assume !(0 == ~cond); {16010#true} is VALID [2022-04-08 14:03:14,907 INFO L290 TraceCheckUtils]: 87: Hoare triple {16010#true} ~cond := #in~cond; {16010#true} is VALID [2022-04-08 14:03:14,907 INFO L272 TraceCheckUtils]: 86: Hoare triple {16336#(< ~counter~0 100)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {16010#true} is VALID [2022-04-08 14:03:14,908 INFO L290 TraceCheckUtils]: 85: Hoare triple {16336#(< ~counter~0 100)} assume !!(#t~post6 < 100);havoc #t~post6; {16336#(< ~counter~0 100)} is VALID [2022-04-08 14:03:14,908 INFO L290 TraceCheckUtils]: 84: Hoare triple {16364#(< ~counter~0 99)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16336#(< ~counter~0 100)} is VALID [2022-04-08 14:03:14,908 INFO L290 TraceCheckUtils]: 83: Hoare triple {16364#(< ~counter~0 99)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {16364#(< ~counter~0 99)} is VALID [2022-04-08 14:03:14,908 INFO L290 TraceCheckUtils]: 82: Hoare triple {16364#(< ~counter~0 99)} assume !!(0 != ~a~0 && 0 != ~b~0); {16364#(< ~counter~0 99)} is VALID [2022-04-08 14:03:14,909 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {16010#true} {16364#(< ~counter~0 99)} #71#return; {16364#(< ~counter~0 99)} is VALID [2022-04-08 14:03:14,909 INFO L290 TraceCheckUtils]: 80: Hoare triple {16010#true} assume true; {16010#true} is VALID [2022-04-08 14:03:14,909 INFO L290 TraceCheckUtils]: 79: Hoare triple {16010#true} assume !(0 == ~cond); {16010#true} is VALID [2022-04-08 14:03:14,909 INFO L290 TraceCheckUtils]: 78: Hoare triple {16010#true} ~cond := #in~cond; {16010#true} is VALID [2022-04-08 14:03:14,909 INFO L272 TraceCheckUtils]: 77: Hoare triple {16364#(< ~counter~0 99)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {16010#true} is VALID [2022-04-08 14:03:14,909 INFO L290 TraceCheckUtils]: 76: Hoare triple {16364#(< ~counter~0 99)} assume !!(#t~post6 < 100);havoc #t~post6; {16364#(< ~counter~0 99)} is VALID [2022-04-08 14:03:14,910 INFO L290 TraceCheckUtils]: 75: Hoare triple {16392#(< ~counter~0 98)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16364#(< ~counter~0 99)} is VALID [2022-04-08 14:03:14,910 INFO L290 TraceCheckUtils]: 74: Hoare triple {16392#(< ~counter~0 98)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {16392#(< ~counter~0 98)} is VALID [2022-04-08 14:03:14,910 INFO L290 TraceCheckUtils]: 73: Hoare triple {16392#(< ~counter~0 98)} assume !!(0 != ~a~0 && 0 != ~b~0); {16392#(< ~counter~0 98)} is VALID [2022-04-08 14:03:14,910 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {16010#true} {16392#(< ~counter~0 98)} #71#return; {16392#(< ~counter~0 98)} is VALID [2022-04-08 14:03:14,910 INFO L290 TraceCheckUtils]: 71: Hoare triple {16010#true} assume true; {16010#true} is VALID [2022-04-08 14:03:14,911 INFO L290 TraceCheckUtils]: 70: Hoare triple {16010#true} assume !(0 == ~cond); {16010#true} is VALID [2022-04-08 14:03:14,911 INFO L290 TraceCheckUtils]: 69: Hoare triple {16010#true} ~cond := #in~cond; {16010#true} is VALID [2022-04-08 14:03:14,911 INFO L272 TraceCheckUtils]: 68: Hoare triple {16392#(< ~counter~0 98)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {16010#true} is VALID [2022-04-08 14:03:14,911 INFO L290 TraceCheckUtils]: 67: Hoare triple {16392#(< ~counter~0 98)} assume !!(#t~post6 < 100);havoc #t~post6; {16392#(< ~counter~0 98)} is VALID [2022-04-08 14:03:14,911 INFO L290 TraceCheckUtils]: 66: Hoare triple {16420#(< ~counter~0 97)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16392#(< ~counter~0 98)} is VALID [2022-04-08 14:03:14,911 INFO L290 TraceCheckUtils]: 65: Hoare triple {16420#(< ~counter~0 97)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {16420#(< ~counter~0 97)} is VALID [2022-04-08 14:03:14,912 INFO L290 TraceCheckUtils]: 64: Hoare triple {16420#(< ~counter~0 97)} assume !!(0 != ~a~0 && 0 != ~b~0); {16420#(< ~counter~0 97)} is VALID [2022-04-08 14:03:14,912 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {16010#true} {16420#(< ~counter~0 97)} #71#return; {16420#(< ~counter~0 97)} is VALID [2022-04-08 14:03:14,912 INFO L290 TraceCheckUtils]: 62: Hoare triple {16010#true} assume true; {16010#true} is VALID [2022-04-08 14:03:14,912 INFO L290 TraceCheckUtils]: 61: Hoare triple {16010#true} assume !(0 == ~cond); {16010#true} is VALID [2022-04-08 14:03:14,912 INFO L290 TraceCheckUtils]: 60: Hoare triple {16010#true} ~cond := #in~cond; {16010#true} is VALID [2022-04-08 14:03:14,912 INFO L272 TraceCheckUtils]: 59: Hoare triple {16420#(< ~counter~0 97)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {16010#true} is VALID [2022-04-08 14:03:14,912 INFO L290 TraceCheckUtils]: 58: Hoare triple {16420#(< ~counter~0 97)} assume !!(#t~post6 < 100);havoc #t~post6; {16420#(< ~counter~0 97)} is VALID [2022-04-08 14:03:14,913 INFO L290 TraceCheckUtils]: 57: Hoare triple {16448#(< ~counter~0 96)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16420#(< ~counter~0 97)} is VALID [2022-04-08 14:03:14,913 INFO L290 TraceCheckUtils]: 56: Hoare triple {16448#(< ~counter~0 96)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {16448#(< ~counter~0 96)} is VALID [2022-04-08 14:03:14,913 INFO L290 TraceCheckUtils]: 55: Hoare triple {16448#(< ~counter~0 96)} assume !!(0 != ~a~0 && 0 != ~b~0); {16448#(< ~counter~0 96)} is VALID [2022-04-08 14:03:14,914 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {16010#true} {16448#(< ~counter~0 96)} #71#return; {16448#(< ~counter~0 96)} is VALID [2022-04-08 14:03:14,914 INFO L290 TraceCheckUtils]: 53: Hoare triple {16010#true} assume true; {16010#true} is VALID [2022-04-08 14:03:14,914 INFO L290 TraceCheckUtils]: 52: Hoare triple {16010#true} assume !(0 == ~cond); {16010#true} is VALID [2022-04-08 14:03:14,914 INFO L290 TraceCheckUtils]: 51: Hoare triple {16010#true} ~cond := #in~cond; {16010#true} is VALID [2022-04-08 14:03:14,914 INFO L272 TraceCheckUtils]: 50: Hoare triple {16448#(< ~counter~0 96)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {16010#true} is VALID [2022-04-08 14:03:14,914 INFO L290 TraceCheckUtils]: 49: Hoare triple {16448#(< ~counter~0 96)} assume !!(#t~post6 < 100);havoc #t~post6; {16448#(< ~counter~0 96)} is VALID [2022-04-08 14:03:14,914 INFO L290 TraceCheckUtils]: 48: Hoare triple {16476#(< ~counter~0 95)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16448#(< ~counter~0 96)} is VALID [2022-04-08 14:03:14,915 INFO L290 TraceCheckUtils]: 47: Hoare triple {16476#(< ~counter~0 95)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {16476#(< ~counter~0 95)} is VALID [2022-04-08 14:03:14,915 INFO L290 TraceCheckUtils]: 46: Hoare triple {16476#(< ~counter~0 95)} assume !!(0 != ~a~0 && 0 != ~b~0); {16476#(< ~counter~0 95)} is VALID [2022-04-08 14:03:14,915 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {16010#true} {16476#(< ~counter~0 95)} #71#return; {16476#(< ~counter~0 95)} is VALID [2022-04-08 14:03:14,915 INFO L290 TraceCheckUtils]: 44: Hoare triple {16010#true} assume true; {16010#true} is VALID [2022-04-08 14:03:14,915 INFO L290 TraceCheckUtils]: 43: Hoare triple {16010#true} assume !(0 == ~cond); {16010#true} is VALID [2022-04-08 14:03:14,915 INFO L290 TraceCheckUtils]: 42: Hoare triple {16010#true} ~cond := #in~cond; {16010#true} is VALID [2022-04-08 14:03:14,915 INFO L272 TraceCheckUtils]: 41: Hoare triple {16476#(< ~counter~0 95)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {16010#true} is VALID [2022-04-08 14:03:14,916 INFO L290 TraceCheckUtils]: 40: Hoare triple {16476#(< ~counter~0 95)} assume !!(#t~post6 < 100);havoc #t~post6; {16476#(< ~counter~0 95)} is VALID [2022-04-08 14:03:14,916 INFO L290 TraceCheckUtils]: 39: Hoare triple {16504#(< ~counter~0 94)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16476#(< ~counter~0 95)} is VALID [2022-04-08 14:03:14,916 INFO L290 TraceCheckUtils]: 38: Hoare triple {16504#(< ~counter~0 94)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {16504#(< ~counter~0 94)} is VALID [2022-04-08 14:03:14,916 INFO L290 TraceCheckUtils]: 37: Hoare triple {16504#(< ~counter~0 94)} assume !!(0 != ~a~0 && 0 != ~b~0); {16504#(< ~counter~0 94)} is VALID [2022-04-08 14:03:14,917 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {16010#true} {16504#(< ~counter~0 94)} #71#return; {16504#(< ~counter~0 94)} is VALID [2022-04-08 14:03:14,917 INFO L290 TraceCheckUtils]: 35: Hoare triple {16010#true} assume true; {16010#true} is VALID [2022-04-08 14:03:14,917 INFO L290 TraceCheckUtils]: 34: Hoare triple {16010#true} assume !(0 == ~cond); {16010#true} is VALID [2022-04-08 14:03:14,917 INFO L290 TraceCheckUtils]: 33: Hoare triple {16010#true} ~cond := #in~cond; {16010#true} is VALID [2022-04-08 14:03:14,917 INFO L272 TraceCheckUtils]: 32: Hoare triple {16504#(< ~counter~0 94)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {16010#true} is VALID [2022-04-08 14:03:14,917 INFO L290 TraceCheckUtils]: 31: Hoare triple {16504#(< ~counter~0 94)} assume !!(#t~post6 < 100);havoc #t~post6; {16504#(< ~counter~0 94)} is VALID [2022-04-08 14:03:14,918 INFO L290 TraceCheckUtils]: 30: Hoare triple {16532#(< ~counter~0 93)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16504#(< ~counter~0 94)} is VALID [2022-04-08 14:03:14,918 INFO L290 TraceCheckUtils]: 29: Hoare triple {16532#(< ~counter~0 93)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {16532#(< ~counter~0 93)} is VALID [2022-04-08 14:03:14,918 INFO L290 TraceCheckUtils]: 28: Hoare triple {16532#(< ~counter~0 93)} assume !!(0 != ~a~0 && 0 != ~b~0); {16532#(< ~counter~0 93)} is VALID [2022-04-08 14:03:14,918 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {16010#true} {16532#(< ~counter~0 93)} #71#return; {16532#(< ~counter~0 93)} is VALID [2022-04-08 14:03:14,918 INFO L290 TraceCheckUtils]: 26: Hoare triple {16010#true} assume true; {16010#true} is VALID [2022-04-08 14:03:14,918 INFO L290 TraceCheckUtils]: 25: Hoare triple {16010#true} assume !(0 == ~cond); {16010#true} is VALID [2022-04-08 14:03:14,919 INFO L290 TraceCheckUtils]: 24: Hoare triple {16010#true} ~cond := #in~cond; {16010#true} is VALID [2022-04-08 14:03:14,919 INFO L272 TraceCheckUtils]: 23: Hoare triple {16532#(< ~counter~0 93)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {16010#true} is VALID [2022-04-08 14:03:14,919 INFO L290 TraceCheckUtils]: 22: Hoare triple {16532#(< ~counter~0 93)} assume !!(#t~post6 < 100);havoc #t~post6; {16532#(< ~counter~0 93)} is VALID [2022-04-08 14:03:14,919 INFO L290 TraceCheckUtils]: 21: Hoare triple {16560#(< ~counter~0 92)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16532#(< ~counter~0 93)} is VALID [2022-04-08 14:03:14,919 INFO L290 TraceCheckUtils]: 20: Hoare triple {16560#(< ~counter~0 92)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {16560#(< ~counter~0 92)} is VALID [2022-04-08 14:03:14,920 INFO L290 TraceCheckUtils]: 19: Hoare triple {16560#(< ~counter~0 92)} assume !!(0 != ~a~0 && 0 != ~b~0); {16560#(< ~counter~0 92)} is VALID [2022-04-08 14:03:14,920 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {16010#true} {16560#(< ~counter~0 92)} #71#return; {16560#(< ~counter~0 92)} is VALID [2022-04-08 14:03:14,920 INFO L290 TraceCheckUtils]: 17: Hoare triple {16010#true} assume true; {16010#true} is VALID [2022-04-08 14:03:14,920 INFO L290 TraceCheckUtils]: 16: Hoare triple {16010#true} assume !(0 == ~cond); {16010#true} is VALID [2022-04-08 14:03:14,920 INFO L290 TraceCheckUtils]: 15: Hoare triple {16010#true} ~cond := #in~cond; {16010#true} is VALID [2022-04-08 14:03:14,920 INFO L272 TraceCheckUtils]: 14: Hoare triple {16560#(< ~counter~0 92)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {16010#true} is VALID [2022-04-08 14:03:14,920 INFO L290 TraceCheckUtils]: 13: Hoare triple {16560#(< ~counter~0 92)} assume !!(#t~post6 < 100);havoc #t~post6; {16560#(< ~counter~0 92)} is VALID [2022-04-08 14:03:14,921 INFO L290 TraceCheckUtils]: 12: Hoare triple {16588#(< ~counter~0 91)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16560#(< ~counter~0 92)} is VALID [2022-04-08 14:03:14,921 INFO L290 TraceCheckUtils]: 11: Hoare triple {16588#(< ~counter~0 91)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {16588#(< ~counter~0 91)} is VALID [2022-04-08 14:03:14,921 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16010#true} {16588#(< ~counter~0 91)} #69#return; {16588#(< ~counter~0 91)} is VALID [2022-04-08 14:03:14,921 INFO L290 TraceCheckUtils]: 9: Hoare triple {16010#true} assume true; {16010#true} is VALID [2022-04-08 14:03:14,921 INFO L290 TraceCheckUtils]: 8: Hoare triple {16010#true} assume !(0 == ~cond); {16010#true} is VALID [2022-04-08 14:03:14,921 INFO L290 TraceCheckUtils]: 7: Hoare triple {16010#true} ~cond := #in~cond; {16010#true} is VALID [2022-04-08 14:03:14,921 INFO L272 TraceCheckUtils]: 6: Hoare triple {16588#(< ~counter~0 91)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {16010#true} is VALID [2022-04-08 14:03:14,922 INFO L290 TraceCheckUtils]: 5: Hoare triple {16588#(< ~counter~0 91)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {16588#(< ~counter~0 91)} is VALID [2022-04-08 14:03:14,922 INFO L272 TraceCheckUtils]: 4: Hoare triple {16588#(< ~counter~0 91)} call #t~ret7 := main(); {16588#(< ~counter~0 91)} is VALID [2022-04-08 14:03:14,922 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16588#(< ~counter~0 91)} {16010#true} #77#return; {16588#(< ~counter~0 91)} is VALID [2022-04-08 14:03:14,922 INFO L290 TraceCheckUtils]: 2: Hoare triple {16588#(< ~counter~0 91)} assume true; {16588#(< ~counter~0 91)} is VALID [2022-04-08 14:03:14,923 INFO L290 TraceCheckUtils]: 1: Hoare triple {16010#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {16588#(< ~counter~0 91)} is VALID [2022-04-08 14:03:14,923 INFO L272 TraceCheckUtils]: 0: Hoare triple {16010#true} call ULTIMATE.init(); {16010#true} is VALID [2022-04-08 14:03:14,923 INFO L134 CoverageAnalysis]: Checked inductivity of 360 backedges. 18 proven. 198 refuted. 0 times theorem prover too weak. 144 trivial. 0 not checked. [2022-04-08 14:03:14,923 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 14:03:14,923 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [579284050] [2022-04-08 14:03:14,923 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 14:03:14,923 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2136858621] [2022-04-08 14:03:14,923 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2136858621] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 14:03:14,924 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 14:03:14,924 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13] total 24 [2022-04-08 14:03:14,924 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 14:03:14,924 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1877125960] [2022-04-08 14:03:14,924 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1877125960] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 14:03:14,924 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 14:03:14,924 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-08 14:03:14,924 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1390190485] [2022-04-08 14:03:14,924 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 14:03:14,925 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 5.769230769230769) internal successors, (75), 12 states have internal predecessors, (75), 12 states have call successors, (13), 12 states have call predecessors, (13), 10 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) Word has length 99 [2022-04-08 14:03:14,925 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 14:03:14,925 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 5.769230769230769) internal successors, (75), 12 states have internal predecessors, (75), 12 states have call successors, (13), 12 states have call predecessors, (13), 10 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-08 14:03:14,970 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 99 edges. 99 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:03:14,970 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-08 14:03:14,970 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 14:03:14,971 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-08 14:03:14,971 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=236, Invalid=316, Unknown=0, NotChecked=0, Total=552 [2022-04-08 14:03:14,971 INFO L87 Difference]: Start difference. First operand 131 states and 160 transitions. Second operand has 13 states, 13 states have (on average 5.769230769230769) internal successors, (75), 12 states have internal predecessors, (75), 12 states have call successors, (13), 12 states have call predecessors, (13), 10 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-08 14:03:15,360 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:03:15,360 INFO L93 Difference]: Finished difference Result 150 states and 183 transitions. [2022-04-08 14:03:15,361 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-04-08 14:03:15,361 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 5.769230769230769) internal successors, (75), 12 states have internal predecessors, (75), 12 states have call successors, (13), 12 states have call predecessors, (13), 10 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) Word has length 99 [2022-04-08 14:03:15,361 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 14:03:15,361 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 5.769230769230769) internal successors, (75), 12 states have internal predecessors, (75), 12 states have call successors, (13), 12 states have call predecessors, (13), 10 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-08 14:03:15,363 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 169 transitions. [2022-04-08 14:03:15,364 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 5.769230769230769) internal successors, (75), 12 states have internal predecessors, (75), 12 states have call successors, (13), 12 states have call predecessors, (13), 10 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-08 14:03:15,366 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 169 transitions. [2022-04-08 14:03:15,366 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 22 states and 169 transitions. [2022-04-08 14:03:15,477 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 169 edges. 169 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:03:15,479 INFO L225 Difference]: With dead ends: 150 [2022-04-08 14:03:15,479 INFO L226 Difference]: Without dead ends: 142 [2022-04-08 14:03:15,479 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 206 GetRequests, 175 SyntacticMatches, 0 SemanticMatches, 31 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 64 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=443, Invalid=613, Unknown=0, NotChecked=0, Total=1056 [2022-04-08 14:03:15,480 INFO L913 BasicCegarLoop]: 39 mSDtfsCounter, 122 mSDsluCounter, 147 mSDsCounter, 0 mSdLazyCounter, 64 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 122 SdHoareTripleChecker+Valid, 186 SdHoareTripleChecker+Invalid, 74 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 64 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 14:03:15,480 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [122 Valid, 186 Invalid, 74 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 64 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 14:03:15,480 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 142 states. [2022-04-08 14:03:15,616 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 142 to 142. [2022-04-08 14:03:15,616 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 14:03:15,616 INFO L82 GeneralOperation]: Start isEquivalent. First operand 142 states. Second operand has 142 states, 111 states have (on average 1.2972972972972974) internal successors, (144), 112 states have internal predecessors, (144), 16 states have call successors, (16), 15 states have call predecessors, (16), 14 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-08 14:03:15,616 INFO L74 IsIncluded]: Start isIncluded. First operand 142 states. Second operand has 142 states, 111 states have (on average 1.2972972972972974) internal successors, (144), 112 states have internal predecessors, (144), 16 states have call successors, (16), 15 states have call predecessors, (16), 14 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-08 14:03:15,617 INFO L87 Difference]: Start difference. First operand 142 states. Second operand has 142 states, 111 states have (on average 1.2972972972972974) internal successors, (144), 112 states have internal predecessors, (144), 16 states have call successors, (16), 15 states have call predecessors, (16), 14 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-08 14:03:15,619 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:03:15,619 INFO L93 Difference]: Finished difference Result 142 states and 174 transitions. [2022-04-08 14:03:15,619 INFO L276 IsEmpty]: Start isEmpty. Operand 142 states and 174 transitions. [2022-04-08 14:03:15,619 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:03:15,619 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:03:15,619 INFO L74 IsIncluded]: Start isIncluded. First operand has 142 states, 111 states have (on average 1.2972972972972974) internal successors, (144), 112 states have internal predecessors, (144), 16 states have call successors, (16), 15 states have call predecessors, (16), 14 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) Second operand 142 states. [2022-04-08 14:03:15,619 INFO L87 Difference]: Start difference. First operand has 142 states, 111 states have (on average 1.2972972972972974) internal successors, (144), 112 states have internal predecessors, (144), 16 states have call successors, (16), 15 states have call predecessors, (16), 14 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) Second operand 142 states. [2022-04-08 14:03:15,622 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:03:15,622 INFO L93 Difference]: Finished difference Result 142 states and 174 transitions. [2022-04-08 14:03:15,622 INFO L276 IsEmpty]: Start isEmpty. Operand 142 states and 174 transitions. [2022-04-08 14:03:15,622 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:03:15,622 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:03:15,622 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 14:03:15,622 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 14:03:15,622 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 142 states, 111 states have (on average 1.2972972972972974) internal successors, (144), 112 states have internal predecessors, (144), 16 states have call successors, (16), 15 states have call predecessors, (16), 14 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-08 14:03:15,624 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 142 states to 142 states and 174 transitions. [2022-04-08 14:03:15,624 INFO L78 Accepts]: Start accepts. Automaton has 142 states and 174 transitions. Word has length 99 [2022-04-08 14:03:15,625 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 14:03:15,625 INFO L478 AbstractCegarLoop]: Abstraction has 142 states and 174 transitions. [2022-04-08 14:03:15,625 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 5.769230769230769) internal successors, (75), 12 states have internal predecessors, (75), 12 states have call successors, (13), 12 states have call predecessors, (13), 10 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-08 14:03:15,625 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 142 states and 174 transitions. [2022-04-08 14:03:35,114 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 174 edges. 165 inductive. 0 not inductive. 9 times theorem prover too weak to decide inductivity. [2022-04-08 14:03:35,115 INFO L276 IsEmpty]: Start isEmpty. Operand 142 states and 174 transitions. [2022-04-08 14:03:35,115 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 109 [2022-04-08 14:03:35,115 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 14:03:35,115 INFO L499 BasicCegarLoop]: trace histogram [11, 11, 10, 10, 10, 10, 10, 10, 10, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 14:03:35,134 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (23)] Forceful destruction successful, exit code 0 [2022-04-08 14:03:35,316 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable22,23 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 14:03:35,317 INFO L403 AbstractCegarLoop]: === Iteration 24 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 14:03:35,317 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 14:03:35,317 INFO L85 PathProgramCache]: Analyzing trace with hash 1397474810, now seen corresponding path program 19 times [2022-04-08 14:03:35,317 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 14:03:35,317 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1746164827] [2022-04-08 14:03:41,369 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 14:03:41,369 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 14:03:41,369 INFO L85 PathProgramCache]: Analyzing trace with hash 1397474810, now seen corresponding path program 20 times [2022-04-08 14:03:41,369 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 14:03:41,369 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [213347586] [2022-04-08 14:03:41,369 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 14:03:41,369 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 14:03:41,388 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 14:03:41,388 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [936886091] [2022-04-08 14:03:41,388 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 14:03:41,388 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 14:03:41,388 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 14:03:41,390 INFO L229 MonitoredProcess]: Starting monitored process 24 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 14:03:41,390 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (24)] Waiting until timeout for monitored process [2022-04-08 14:03:41,478 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 14:03:41,478 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 14:03:41,479 INFO L263 TraceCheckSpWp]: Trace formula consists of 346 conjuncts, 25 conjunts are in the unsatisfiable core [2022-04-08 14:03:41,507 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 14:03:41,509 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 14:03:41,967 INFO L272 TraceCheckUtils]: 0: Hoare triple {17513#true} call ULTIMATE.init(); {17513#true} is VALID [2022-04-08 14:03:41,967 INFO L290 TraceCheckUtils]: 1: Hoare triple {17513#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {17521#(<= ~counter~0 0)} is VALID [2022-04-08 14:03:41,968 INFO L290 TraceCheckUtils]: 2: Hoare triple {17521#(<= ~counter~0 0)} assume true; {17521#(<= ~counter~0 0)} is VALID [2022-04-08 14:03:41,968 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17521#(<= ~counter~0 0)} {17513#true} #77#return; {17521#(<= ~counter~0 0)} is VALID [2022-04-08 14:03:41,968 INFO L272 TraceCheckUtils]: 4: Hoare triple {17521#(<= ~counter~0 0)} call #t~ret7 := main(); {17521#(<= ~counter~0 0)} is VALID [2022-04-08 14:03:41,968 INFO L290 TraceCheckUtils]: 5: Hoare triple {17521#(<= ~counter~0 0)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {17521#(<= ~counter~0 0)} is VALID [2022-04-08 14:03:41,969 INFO L272 TraceCheckUtils]: 6: Hoare triple {17521#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {17521#(<= ~counter~0 0)} is VALID [2022-04-08 14:03:41,969 INFO L290 TraceCheckUtils]: 7: Hoare triple {17521#(<= ~counter~0 0)} ~cond := #in~cond; {17521#(<= ~counter~0 0)} is VALID [2022-04-08 14:03:41,969 INFO L290 TraceCheckUtils]: 8: Hoare triple {17521#(<= ~counter~0 0)} assume !(0 == ~cond); {17521#(<= ~counter~0 0)} is VALID [2022-04-08 14:03:41,969 INFO L290 TraceCheckUtils]: 9: Hoare triple {17521#(<= ~counter~0 0)} assume true; {17521#(<= ~counter~0 0)} is VALID [2022-04-08 14:03:41,970 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {17521#(<= ~counter~0 0)} {17521#(<= ~counter~0 0)} #69#return; {17521#(<= ~counter~0 0)} is VALID [2022-04-08 14:03:41,970 INFO L290 TraceCheckUtils]: 11: Hoare triple {17521#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {17521#(<= ~counter~0 0)} is VALID [2022-04-08 14:03:41,970 INFO L290 TraceCheckUtils]: 12: Hoare triple {17521#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17555#(<= ~counter~0 1)} is VALID [2022-04-08 14:03:41,971 INFO L290 TraceCheckUtils]: 13: Hoare triple {17555#(<= ~counter~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {17555#(<= ~counter~0 1)} is VALID [2022-04-08 14:03:41,971 INFO L272 TraceCheckUtils]: 14: Hoare triple {17555#(<= ~counter~0 1)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {17555#(<= ~counter~0 1)} is VALID [2022-04-08 14:03:41,971 INFO L290 TraceCheckUtils]: 15: Hoare triple {17555#(<= ~counter~0 1)} ~cond := #in~cond; {17555#(<= ~counter~0 1)} is VALID [2022-04-08 14:03:41,972 INFO L290 TraceCheckUtils]: 16: Hoare triple {17555#(<= ~counter~0 1)} assume !(0 == ~cond); {17555#(<= ~counter~0 1)} is VALID [2022-04-08 14:03:41,972 INFO L290 TraceCheckUtils]: 17: Hoare triple {17555#(<= ~counter~0 1)} assume true; {17555#(<= ~counter~0 1)} is VALID [2022-04-08 14:03:41,972 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {17555#(<= ~counter~0 1)} {17555#(<= ~counter~0 1)} #71#return; {17555#(<= ~counter~0 1)} is VALID [2022-04-08 14:03:41,972 INFO L290 TraceCheckUtils]: 19: Hoare triple {17555#(<= ~counter~0 1)} assume !!(0 != ~a~0 && 0 != ~b~0); {17555#(<= ~counter~0 1)} is VALID [2022-04-08 14:03:41,973 INFO L290 TraceCheckUtils]: 20: Hoare triple {17555#(<= ~counter~0 1)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {17555#(<= ~counter~0 1)} is VALID [2022-04-08 14:03:41,973 INFO L290 TraceCheckUtils]: 21: Hoare triple {17555#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17583#(<= ~counter~0 2)} is VALID [2022-04-08 14:03:41,973 INFO L290 TraceCheckUtils]: 22: Hoare triple {17583#(<= ~counter~0 2)} assume !!(#t~post6 < 100);havoc #t~post6; {17583#(<= ~counter~0 2)} is VALID [2022-04-08 14:03:41,974 INFO L272 TraceCheckUtils]: 23: Hoare triple {17583#(<= ~counter~0 2)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {17583#(<= ~counter~0 2)} is VALID [2022-04-08 14:03:41,974 INFO L290 TraceCheckUtils]: 24: Hoare triple {17583#(<= ~counter~0 2)} ~cond := #in~cond; {17583#(<= ~counter~0 2)} is VALID [2022-04-08 14:03:41,974 INFO L290 TraceCheckUtils]: 25: Hoare triple {17583#(<= ~counter~0 2)} assume !(0 == ~cond); {17583#(<= ~counter~0 2)} is VALID [2022-04-08 14:03:41,974 INFO L290 TraceCheckUtils]: 26: Hoare triple {17583#(<= ~counter~0 2)} assume true; {17583#(<= ~counter~0 2)} is VALID [2022-04-08 14:03:41,975 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {17583#(<= ~counter~0 2)} {17583#(<= ~counter~0 2)} #71#return; {17583#(<= ~counter~0 2)} is VALID [2022-04-08 14:03:41,975 INFO L290 TraceCheckUtils]: 28: Hoare triple {17583#(<= ~counter~0 2)} assume !!(0 != ~a~0 && 0 != ~b~0); {17583#(<= ~counter~0 2)} is VALID [2022-04-08 14:03:41,975 INFO L290 TraceCheckUtils]: 29: Hoare triple {17583#(<= ~counter~0 2)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {17583#(<= ~counter~0 2)} is VALID [2022-04-08 14:03:41,975 INFO L290 TraceCheckUtils]: 30: Hoare triple {17583#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17611#(<= ~counter~0 3)} is VALID [2022-04-08 14:03:41,976 INFO L290 TraceCheckUtils]: 31: Hoare triple {17611#(<= ~counter~0 3)} assume !!(#t~post6 < 100);havoc #t~post6; {17611#(<= ~counter~0 3)} is VALID [2022-04-08 14:03:41,976 INFO L272 TraceCheckUtils]: 32: Hoare triple {17611#(<= ~counter~0 3)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {17611#(<= ~counter~0 3)} is VALID [2022-04-08 14:03:41,976 INFO L290 TraceCheckUtils]: 33: Hoare triple {17611#(<= ~counter~0 3)} ~cond := #in~cond; {17611#(<= ~counter~0 3)} is VALID [2022-04-08 14:03:41,977 INFO L290 TraceCheckUtils]: 34: Hoare triple {17611#(<= ~counter~0 3)} assume !(0 == ~cond); {17611#(<= ~counter~0 3)} is VALID [2022-04-08 14:03:41,977 INFO L290 TraceCheckUtils]: 35: Hoare triple {17611#(<= ~counter~0 3)} assume true; {17611#(<= ~counter~0 3)} is VALID [2022-04-08 14:03:41,977 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {17611#(<= ~counter~0 3)} {17611#(<= ~counter~0 3)} #71#return; {17611#(<= ~counter~0 3)} is VALID [2022-04-08 14:03:41,977 INFO L290 TraceCheckUtils]: 37: Hoare triple {17611#(<= ~counter~0 3)} assume !!(0 != ~a~0 && 0 != ~b~0); {17611#(<= ~counter~0 3)} is VALID [2022-04-08 14:03:41,978 INFO L290 TraceCheckUtils]: 38: Hoare triple {17611#(<= ~counter~0 3)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {17611#(<= ~counter~0 3)} is VALID [2022-04-08 14:03:41,978 INFO L290 TraceCheckUtils]: 39: Hoare triple {17611#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17639#(<= ~counter~0 4)} is VALID [2022-04-08 14:03:41,978 INFO L290 TraceCheckUtils]: 40: Hoare triple {17639#(<= ~counter~0 4)} assume !!(#t~post6 < 100);havoc #t~post6; {17639#(<= ~counter~0 4)} is VALID [2022-04-08 14:03:41,979 INFO L272 TraceCheckUtils]: 41: Hoare triple {17639#(<= ~counter~0 4)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {17639#(<= ~counter~0 4)} is VALID [2022-04-08 14:03:41,979 INFO L290 TraceCheckUtils]: 42: Hoare triple {17639#(<= ~counter~0 4)} ~cond := #in~cond; {17639#(<= ~counter~0 4)} is VALID [2022-04-08 14:03:41,979 INFO L290 TraceCheckUtils]: 43: Hoare triple {17639#(<= ~counter~0 4)} assume !(0 == ~cond); {17639#(<= ~counter~0 4)} is VALID [2022-04-08 14:03:41,979 INFO L290 TraceCheckUtils]: 44: Hoare triple {17639#(<= ~counter~0 4)} assume true; {17639#(<= ~counter~0 4)} is VALID [2022-04-08 14:03:41,980 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {17639#(<= ~counter~0 4)} {17639#(<= ~counter~0 4)} #71#return; {17639#(<= ~counter~0 4)} is VALID [2022-04-08 14:03:41,980 INFO L290 TraceCheckUtils]: 46: Hoare triple {17639#(<= ~counter~0 4)} assume !!(0 != ~a~0 && 0 != ~b~0); {17639#(<= ~counter~0 4)} is VALID [2022-04-08 14:03:41,980 INFO L290 TraceCheckUtils]: 47: Hoare triple {17639#(<= ~counter~0 4)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {17639#(<= ~counter~0 4)} is VALID [2022-04-08 14:03:41,980 INFO L290 TraceCheckUtils]: 48: Hoare triple {17639#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17667#(<= ~counter~0 5)} is VALID [2022-04-08 14:03:41,981 INFO L290 TraceCheckUtils]: 49: Hoare triple {17667#(<= ~counter~0 5)} assume !!(#t~post6 < 100);havoc #t~post6; {17667#(<= ~counter~0 5)} is VALID [2022-04-08 14:03:41,981 INFO L272 TraceCheckUtils]: 50: Hoare triple {17667#(<= ~counter~0 5)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {17667#(<= ~counter~0 5)} is VALID [2022-04-08 14:03:41,981 INFO L290 TraceCheckUtils]: 51: Hoare triple {17667#(<= ~counter~0 5)} ~cond := #in~cond; {17667#(<= ~counter~0 5)} is VALID [2022-04-08 14:03:41,982 INFO L290 TraceCheckUtils]: 52: Hoare triple {17667#(<= ~counter~0 5)} assume !(0 == ~cond); {17667#(<= ~counter~0 5)} is VALID [2022-04-08 14:03:41,982 INFO L290 TraceCheckUtils]: 53: Hoare triple {17667#(<= ~counter~0 5)} assume true; {17667#(<= ~counter~0 5)} is VALID [2022-04-08 14:03:41,982 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {17667#(<= ~counter~0 5)} {17667#(<= ~counter~0 5)} #71#return; {17667#(<= ~counter~0 5)} is VALID [2022-04-08 14:03:41,982 INFO L290 TraceCheckUtils]: 55: Hoare triple {17667#(<= ~counter~0 5)} assume !!(0 != ~a~0 && 0 != ~b~0); {17667#(<= ~counter~0 5)} is VALID [2022-04-08 14:03:41,983 INFO L290 TraceCheckUtils]: 56: Hoare triple {17667#(<= ~counter~0 5)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {17667#(<= ~counter~0 5)} is VALID [2022-04-08 14:03:41,983 INFO L290 TraceCheckUtils]: 57: Hoare triple {17667#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17695#(<= ~counter~0 6)} is VALID [2022-04-08 14:03:41,983 INFO L290 TraceCheckUtils]: 58: Hoare triple {17695#(<= ~counter~0 6)} assume !!(#t~post6 < 100);havoc #t~post6; {17695#(<= ~counter~0 6)} is VALID [2022-04-08 14:03:41,984 INFO L272 TraceCheckUtils]: 59: Hoare triple {17695#(<= ~counter~0 6)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {17695#(<= ~counter~0 6)} is VALID [2022-04-08 14:03:41,984 INFO L290 TraceCheckUtils]: 60: Hoare triple {17695#(<= ~counter~0 6)} ~cond := #in~cond; {17695#(<= ~counter~0 6)} is VALID [2022-04-08 14:03:41,984 INFO L290 TraceCheckUtils]: 61: Hoare triple {17695#(<= ~counter~0 6)} assume !(0 == ~cond); {17695#(<= ~counter~0 6)} is VALID [2022-04-08 14:03:41,984 INFO L290 TraceCheckUtils]: 62: Hoare triple {17695#(<= ~counter~0 6)} assume true; {17695#(<= ~counter~0 6)} is VALID [2022-04-08 14:03:41,985 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {17695#(<= ~counter~0 6)} {17695#(<= ~counter~0 6)} #71#return; {17695#(<= ~counter~0 6)} is VALID [2022-04-08 14:03:41,985 INFO L290 TraceCheckUtils]: 64: Hoare triple {17695#(<= ~counter~0 6)} assume !!(0 != ~a~0 && 0 != ~b~0); {17695#(<= ~counter~0 6)} is VALID [2022-04-08 14:03:41,985 INFO L290 TraceCheckUtils]: 65: Hoare triple {17695#(<= ~counter~0 6)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {17695#(<= ~counter~0 6)} is VALID [2022-04-08 14:03:41,985 INFO L290 TraceCheckUtils]: 66: Hoare triple {17695#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17723#(<= ~counter~0 7)} is VALID [2022-04-08 14:03:41,986 INFO L290 TraceCheckUtils]: 67: Hoare triple {17723#(<= ~counter~0 7)} assume !!(#t~post6 < 100);havoc #t~post6; {17723#(<= ~counter~0 7)} is VALID [2022-04-08 14:03:41,986 INFO L272 TraceCheckUtils]: 68: Hoare triple {17723#(<= ~counter~0 7)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {17723#(<= ~counter~0 7)} is VALID [2022-04-08 14:03:41,986 INFO L290 TraceCheckUtils]: 69: Hoare triple {17723#(<= ~counter~0 7)} ~cond := #in~cond; {17723#(<= ~counter~0 7)} is VALID [2022-04-08 14:03:41,987 INFO L290 TraceCheckUtils]: 70: Hoare triple {17723#(<= ~counter~0 7)} assume !(0 == ~cond); {17723#(<= ~counter~0 7)} is VALID [2022-04-08 14:03:41,987 INFO L290 TraceCheckUtils]: 71: Hoare triple {17723#(<= ~counter~0 7)} assume true; {17723#(<= ~counter~0 7)} is VALID [2022-04-08 14:03:41,987 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {17723#(<= ~counter~0 7)} {17723#(<= ~counter~0 7)} #71#return; {17723#(<= ~counter~0 7)} is VALID [2022-04-08 14:03:41,987 INFO L290 TraceCheckUtils]: 73: Hoare triple {17723#(<= ~counter~0 7)} assume !!(0 != ~a~0 && 0 != ~b~0); {17723#(<= ~counter~0 7)} is VALID [2022-04-08 14:03:41,988 INFO L290 TraceCheckUtils]: 74: Hoare triple {17723#(<= ~counter~0 7)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {17723#(<= ~counter~0 7)} is VALID [2022-04-08 14:03:41,988 INFO L290 TraceCheckUtils]: 75: Hoare triple {17723#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17751#(<= ~counter~0 8)} is VALID [2022-04-08 14:03:41,988 INFO L290 TraceCheckUtils]: 76: Hoare triple {17751#(<= ~counter~0 8)} assume !!(#t~post6 < 100);havoc #t~post6; {17751#(<= ~counter~0 8)} is VALID [2022-04-08 14:03:41,989 INFO L272 TraceCheckUtils]: 77: Hoare triple {17751#(<= ~counter~0 8)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {17751#(<= ~counter~0 8)} is VALID [2022-04-08 14:03:41,989 INFO L290 TraceCheckUtils]: 78: Hoare triple {17751#(<= ~counter~0 8)} ~cond := #in~cond; {17751#(<= ~counter~0 8)} is VALID [2022-04-08 14:03:41,989 INFO L290 TraceCheckUtils]: 79: Hoare triple {17751#(<= ~counter~0 8)} assume !(0 == ~cond); {17751#(<= ~counter~0 8)} is VALID [2022-04-08 14:03:41,989 INFO L290 TraceCheckUtils]: 80: Hoare triple {17751#(<= ~counter~0 8)} assume true; {17751#(<= ~counter~0 8)} is VALID [2022-04-08 14:03:41,990 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {17751#(<= ~counter~0 8)} {17751#(<= ~counter~0 8)} #71#return; {17751#(<= ~counter~0 8)} is VALID [2022-04-08 14:03:41,990 INFO L290 TraceCheckUtils]: 82: Hoare triple {17751#(<= ~counter~0 8)} assume !!(0 != ~a~0 && 0 != ~b~0); {17751#(<= ~counter~0 8)} is VALID [2022-04-08 14:03:41,990 INFO L290 TraceCheckUtils]: 83: Hoare triple {17751#(<= ~counter~0 8)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {17751#(<= ~counter~0 8)} is VALID [2022-04-08 14:03:41,990 INFO L290 TraceCheckUtils]: 84: Hoare triple {17751#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17779#(<= ~counter~0 9)} is VALID [2022-04-08 14:03:41,991 INFO L290 TraceCheckUtils]: 85: Hoare triple {17779#(<= ~counter~0 9)} assume !!(#t~post6 < 100);havoc #t~post6; {17779#(<= ~counter~0 9)} is VALID [2022-04-08 14:03:41,991 INFO L272 TraceCheckUtils]: 86: Hoare triple {17779#(<= ~counter~0 9)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {17779#(<= ~counter~0 9)} is VALID [2022-04-08 14:03:41,991 INFO L290 TraceCheckUtils]: 87: Hoare triple {17779#(<= ~counter~0 9)} ~cond := #in~cond; {17779#(<= ~counter~0 9)} is VALID [2022-04-08 14:03:41,992 INFO L290 TraceCheckUtils]: 88: Hoare triple {17779#(<= ~counter~0 9)} assume !(0 == ~cond); {17779#(<= ~counter~0 9)} is VALID [2022-04-08 14:03:41,992 INFO L290 TraceCheckUtils]: 89: Hoare triple {17779#(<= ~counter~0 9)} assume true; {17779#(<= ~counter~0 9)} is VALID [2022-04-08 14:03:41,992 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {17779#(<= ~counter~0 9)} {17779#(<= ~counter~0 9)} #71#return; {17779#(<= ~counter~0 9)} is VALID [2022-04-08 14:03:41,992 INFO L290 TraceCheckUtils]: 91: Hoare triple {17779#(<= ~counter~0 9)} assume !!(0 != ~a~0 && 0 != ~b~0); {17779#(<= ~counter~0 9)} is VALID [2022-04-08 14:03:41,993 INFO L290 TraceCheckUtils]: 92: Hoare triple {17779#(<= ~counter~0 9)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {17779#(<= ~counter~0 9)} is VALID [2022-04-08 14:03:41,993 INFO L290 TraceCheckUtils]: 93: Hoare triple {17779#(<= ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17807#(<= ~counter~0 10)} is VALID [2022-04-08 14:03:41,993 INFO L290 TraceCheckUtils]: 94: Hoare triple {17807#(<= ~counter~0 10)} assume !!(#t~post6 < 100);havoc #t~post6; {17807#(<= ~counter~0 10)} is VALID [2022-04-08 14:03:41,994 INFO L272 TraceCheckUtils]: 95: Hoare triple {17807#(<= ~counter~0 10)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {17807#(<= ~counter~0 10)} is VALID [2022-04-08 14:03:41,994 INFO L290 TraceCheckUtils]: 96: Hoare triple {17807#(<= ~counter~0 10)} ~cond := #in~cond; {17807#(<= ~counter~0 10)} is VALID [2022-04-08 14:03:41,994 INFO L290 TraceCheckUtils]: 97: Hoare triple {17807#(<= ~counter~0 10)} assume !(0 == ~cond); {17807#(<= ~counter~0 10)} is VALID [2022-04-08 14:03:41,994 INFO L290 TraceCheckUtils]: 98: Hoare triple {17807#(<= ~counter~0 10)} assume true; {17807#(<= ~counter~0 10)} is VALID [2022-04-08 14:03:41,995 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {17807#(<= ~counter~0 10)} {17807#(<= ~counter~0 10)} #71#return; {17807#(<= ~counter~0 10)} is VALID [2022-04-08 14:03:41,995 INFO L290 TraceCheckUtils]: 100: Hoare triple {17807#(<= ~counter~0 10)} assume !!(0 != ~a~0 && 0 != ~b~0); {17807#(<= ~counter~0 10)} is VALID [2022-04-08 14:03:41,995 INFO L290 TraceCheckUtils]: 101: Hoare triple {17807#(<= ~counter~0 10)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {17807#(<= ~counter~0 10)} is VALID [2022-04-08 14:03:41,995 INFO L290 TraceCheckUtils]: 102: Hoare triple {17807#(<= ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17835#(<= |main_#t~post6| 10)} is VALID [2022-04-08 14:03:41,996 INFO L290 TraceCheckUtils]: 103: Hoare triple {17835#(<= |main_#t~post6| 10)} assume !(#t~post6 < 100);havoc #t~post6; {17514#false} is VALID [2022-04-08 14:03:41,996 INFO L272 TraceCheckUtils]: 104: Hoare triple {17514#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {17514#false} is VALID [2022-04-08 14:03:41,996 INFO L290 TraceCheckUtils]: 105: Hoare triple {17514#false} ~cond := #in~cond; {17514#false} is VALID [2022-04-08 14:03:41,996 INFO L290 TraceCheckUtils]: 106: Hoare triple {17514#false} assume 0 == ~cond; {17514#false} is VALID [2022-04-08 14:03:41,996 INFO L290 TraceCheckUtils]: 107: Hoare triple {17514#false} assume !false; {17514#false} is VALID [2022-04-08 14:03:42,000 INFO L134 CoverageAnalysis]: Checked inductivity of 445 backedges. 20 proven. 425 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 14:03:42,000 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 14:03:42,406 INFO L290 TraceCheckUtils]: 107: Hoare triple {17514#false} assume !false; {17514#false} is VALID [2022-04-08 14:03:42,406 INFO L290 TraceCheckUtils]: 106: Hoare triple {17514#false} assume 0 == ~cond; {17514#false} is VALID [2022-04-08 14:03:42,406 INFO L290 TraceCheckUtils]: 105: Hoare triple {17514#false} ~cond := #in~cond; {17514#false} is VALID [2022-04-08 14:03:42,406 INFO L272 TraceCheckUtils]: 104: Hoare triple {17514#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {17514#false} is VALID [2022-04-08 14:03:42,406 INFO L290 TraceCheckUtils]: 103: Hoare triple {17863#(< |main_#t~post6| 100)} assume !(#t~post6 < 100);havoc #t~post6; {17514#false} is VALID [2022-04-08 14:03:42,407 INFO L290 TraceCheckUtils]: 102: Hoare triple {17867#(< ~counter~0 100)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17863#(< |main_#t~post6| 100)} is VALID [2022-04-08 14:03:42,407 INFO L290 TraceCheckUtils]: 101: Hoare triple {17867#(< ~counter~0 100)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {17867#(< ~counter~0 100)} is VALID [2022-04-08 14:03:42,407 INFO L290 TraceCheckUtils]: 100: Hoare triple {17867#(< ~counter~0 100)} assume !!(0 != ~a~0 && 0 != ~b~0); {17867#(< ~counter~0 100)} is VALID [2022-04-08 14:03:42,407 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {17513#true} {17867#(< ~counter~0 100)} #71#return; {17867#(< ~counter~0 100)} is VALID [2022-04-08 14:03:42,408 INFO L290 TraceCheckUtils]: 98: Hoare triple {17513#true} assume true; {17513#true} is VALID [2022-04-08 14:03:42,408 INFO L290 TraceCheckUtils]: 97: Hoare triple {17513#true} assume !(0 == ~cond); {17513#true} is VALID [2022-04-08 14:03:42,408 INFO L290 TraceCheckUtils]: 96: Hoare triple {17513#true} ~cond := #in~cond; {17513#true} is VALID [2022-04-08 14:03:42,408 INFO L272 TraceCheckUtils]: 95: Hoare triple {17867#(< ~counter~0 100)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {17513#true} is VALID [2022-04-08 14:03:42,408 INFO L290 TraceCheckUtils]: 94: Hoare triple {17867#(< ~counter~0 100)} assume !!(#t~post6 < 100);havoc #t~post6; {17867#(< ~counter~0 100)} is VALID [2022-04-08 14:03:42,408 INFO L290 TraceCheckUtils]: 93: Hoare triple {17895#(< ~counter~0 99)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17867#(< ~counter~0 100)} is VALID [2022-04-08 14:03:42,409 INFO L290 TraceCheckUtils]: 92: Hoare triple {17895#(< ~counter~0 99)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {17895#(< ~counter~0 99)} is VALID [2022-04-08 14:03:42,409 INFO L290 TraceCheckUtils]: 91: Hoare triple {17895#(< ~counter~0 99)} assume !!(0 != ~a~0 && 0 != ~b~0); {17895#(< ~counter~0 99)} is VALID [2022-04-08 14:03:42,409 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {17513#true} {17895#(< ~counter~0 99)} #71#return; {17895#(< ~counter~0 99)} is VALID [2022-04-08 14:03:42,409 INFO L290 TraceCheckUtils]: 89: Hoare triple {17513#true} assume true; {17513#true} is VALID [2022-04-08 14:03:42,409 INFO L290 TraceCheckUtils]: 88: Hoare triple {17513#true} assume !(0 == ~cond); {17513#true} is VALID [2022-04-08 14:03:42,409 INFO L290 TraceCheckUtils]: 87: Hoare triple {17513#true} ~cond := #in~cond; {17513#true} is VALID [2022-04-08 14:03:42,409 INFO L272 TraceCheckUtils]: 86: Hoare triple {17895#(< ~counter~0 99)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {17513#true} is VALID [2022-04-08 14:03:42,410 INFO L290 TraceCheckUtils]: 85: Hoare triple {17895#(< ~counter~0 99)} assume !!(#t~post6 < 100);havoc #t~post6; {17895#(< ~counter~0 99)} is VALID [2022-04-08 14:03:42,410 INFO L290 TraceCheckUtils]: 84: Hoare triple {17923#(< ~counter~0 98)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17895#(< ~counter~0 99)} is VALID [2022-04-08 14:03:42,410 INFO L290 TraceCheckUtils]: 83: Hoare triple {17923#(< ~counter~0 98)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {17923#(< ~counter~0 98)} is VALID [2022-04-08 14:03:42,410 INFO L290 TraceCheckUtils]: 82: Hoare triple {17923#(< ~counter~0 98)} assume !!(0 != ~a~0 && 0 != ~b~0); {17923#(< ~counter~0 98)} is VALID [2022-04-08 14:03:42,411 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {17513#true} {17923#(< ~counter~0 98)} #71#return; {17923#(< ~counter~0 98)} is VALID [2022-04-08 14:03:42,411 INFO L290 TraceCheckUtils]: 80: Hoare triple {17513#true} assume true; {17513#true} is VALID [2022-04-08 14:03:42,411 INFO L290 TraceCheckUtils]: 79: Hoare triple {17513#true} assume !(0 == ~cond); {17513#true} is VALID [2022-04-08 14:03:42,411 INFO L290 TraceCheckUtils]: 78: Hoare triple {17513#true} ~cond := #in~cond; {17513#true} is VALID [2022-04-08 14:03:42,411 INFO L272 TraceCheckUtils]: 77: Hoare triple {17923#(< ~counter~0 98)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {17513#true} is VALID [2022-04-08 14:03:42,411 INFO L290 TraceCheckUtils]: 76: Hoare triple {17923#(< ~counter~0 98)} assume !!(#t~post6 < 100);havoc #t~post6; {17923#(< ~counter~0 98)} is VALID [2022-04-08 14:03:42,412 INFO L290 TraceCheckUtils]: 75: Hoare triple {17951#(< ~counter~0 97)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17923#(< ~counter~0 98)} is VALID [2022-04-08 14:03:42,412 INFO L290 TraceCheckUtils]: 74: Hoare triple {17951#(< ~counter~0 97)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {17951#(< ~counter~0 97)} is VALID [2022-04-08 14:03:42,412 INFO L290 TraceCheckUtils]: 73: Hoare triple {17951#(< ~counter~0 97)} assume !!(0 != ~a~0 && 0 != ~b~0); {17951#(< ~counter~0 97)} is VALID [2022-04-08 14:03:42,412 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {17513#true} {17951#(< ~counter~0 97)} #71#return; {17951#(< ~counter~0 97)} is VALID [2022-04-08 14:03:42,412 INFO L290 TraceCheckUtils]: 71: Hoare triple {17513#true} assume true; {17513#true} is VALID [2022-04-08 14:03:42,412 INFO L290 TraceCheckUtils]: 70: Hoare triple {17513#true} assume !(0 == ~cond); {17513#true} is VALID [2022-04-08 14:03:42,412 INFO L290 TraceCheckUtils]: 69: Hoare triple {17513#true} ~cond := #in~cond; {17513#true} is VALID [2022-04-08 14:03:42,413 INFO L272 TraceCheckUtils]: 68: Hoare triple {17951#(< ~counter~0 97)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {17513#true} is VALID [2022-04-08 14:03:42,413 INFO L290 TraceCheckUtils]: 67: Hoare triple {17951#(< ~counter~0 97)} assume !!(#t~post6 < 100);havoc #t~post6; {17951#(< ~counter~0 97)} is VALID [2022-04-08 14:03:42,413 INFO L290 TraceCheckUtils]: 66: Hoare triple {17979#(< ~counter~0 96)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17951#(< ~counter~0 97)} is VALID [2022-04-08 14:03:42,413 INFO L290 TraceCheckUtils]: 65: Hoare triple {17979#(< ~counter~0 96)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {17979#(< ~counter~0 96)} is VALID [2022-04-08 14:03:42,413 INFO L290 TraceCheckUtils]: 64: Hoare triple {17979#(< ~counter~0 96)} assume !!(0 != ~a~0 && 0 != ~b~0); {17979#(< ~counter~0 96)} is VALID [2022-04-08 14:03:42,414 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {17513#true} {17979#(< ~counter~0 96)} #71#return; {17979#(< ~counter~0 96)} is VALID [2022-04-08 14:03:42,414 INFO L290 TraceCheckUtils]: 62: Hoare triple {17513#true} assume true; {17513#true} is VALID [2022-04-08 14:03:42,414 INFO L290 TraceCheckUtils]: 61: Hoare triple {17513#true} assume !(0 == ~cond); {17513#true} is VALID [2022-04-08 14:03:42,414 INFO L290 TraceCheckUtils]: 60: Hoare triple {17513#true} ~cond := #in~cond; {17513#true} is VALID [2022-04-08 14:03:42,414 INFO L272 TraceCheckUtils]: 59: Hoare triple {17979#(< ~counter~0 96)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {17513#true} is VALID [2022-04-08 14:03:42,414 INFO L290 TraceCheckUtils]: 58: Hoare triple {17979#(< ~counter~0 96)} assume !!(#t~post6 < 100);havoc #t~post6; {17979#(< ~counter~0 96)} is VALID [2022-04-08 14:03:42,415 INFO L290 TraceCheckUtils]: 57: Hoare triple {18007#(< ~counter~0 95)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17979#(< ~counter~0 96)} is VALID [2022-04-08 14:03:42,415 INFO L290 TraceCheckUtils]: 56: Hoare triple {18007#(< ~counter~0 95)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {18007#(< ~counter~0 95)} is VALID [2022-04-08 14:03:42,415 INFO L290 TraceCheckUtils]: 55: Hoare triple {18007#(< ~counter~0 95)} assume !!(0 != ~a~0 && 0 != ~b~0); {18007#(< ~counter~0 95)} is VALID [2022-04-08 14:03:42,415 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {17513#true} {18007#(< ~counter~0 95)} #71#return; {18007#(< ~counter~0 95)} is VALID [2022-04-08 14:03:42,415 INFO L290 TraceCheckUtils]: 53: Hoare triple {17513#true} assume true; {17513#true} is VALID [2022-04-08 14:03:42,415 INFO L290 TraceCheckUtils]: 52: Hoare triple {17513#true} assume !(0 == ~cond); {17513#true} is VALID [2022-04-08 14:03:42,416 INFO L290 TraceCheckUtils]: 51: Hoare triple {17513#true} ~cond := #in~cond; {17513#true} is VALID [2022-04-08 14:03:42,416 INFO L272 TraceCheckUtils]: 50: Hoare triple {18007#(< ~counter~0 95)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {17513#true} is VALID [2022-04-08 14:03:42,416 INFO L290 TraceCheckUtils]: 49: Hoare triple {18007#(< ~counter~0 95)} assume !!(#t~post6 < 100);havoc #t~post6; {18007#(< ~counter~0 95)} is VALID [2022-04-08 14:03:42,416 INFO L290 TraceCheckUtils]: 48: Hoare triple {18035#(< ~counter~0 94)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18007#(< ~counter~0 95)} is VALID [2022-04-08 14:03:42,416 INFO L290 TraceCheckUtils]: 47: Hoare triple {18035#(< ~counter~0 94)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {18035#(< ~counter~0 94)} is VALID [2022-04-08 14:03:42,417 INFO L290 TraceCheckUtils]: 46: Hoare triple {18035#(< ~counter~0 94)} assume !!(0 != ~a~0 && 0 != ~b~0); {18035#(< ~counter~0 94)} is VALID [2022-04-08 14:03:42,417 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {17513#true} {18035#(< ~counter~0 94)} #71#return; {18035#(< ~counter~0 94)} is VALID [2022-04-08 14:03:42,417 INFO L290 TraceCheckUtils]: 44: Hoare triple {17513#true} assume true; {17513#true} is VALID [2022-04-08 14:03:42,417 INFO L290 TraceCheckUtils]: 43: Hoare triple {17513#true} assume !(0 == ~cond); {17513#true} is VALID [2022-04-08 14:03:42,417 INFO L290 TraceCheckUtils]: 42: Hoare triple {17513#true} ~cond := #in~cond; {17513#true} is VALID [2022-04-08 14:03:42,417 INFO L272 TraceCheckUtils]: 41: Hoare triple {18035#(< ~counter~0 94)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {17513#true} is VALID [2022-04-08 14:03:42,417 INFO L290 TraceCheckUtils]: 40: Hoare triple {18035#(< ~counter~0 94)} assume !!(#t~post6 < 100);havoc #t~post6; {18035#(< ~counter~0 94)} is VALID [2022-04-08 14:03:42,418 INFO L290 TraceCheckUtils]: 39: Hoare triple {18063#(< ~counter~0 93)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18035#(< ~counter~0 94)} is VALID [2022-04-08 14:03:42,418 INFO L290 TraceCheckUtils]: 38: Hoare triple {18063#(< ~counter~0 93)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {18063#(< ~counter~0 93)} is VALID [2022-04-08 14:03:42,418 INFO L290 TraceCheckUtils]: 37: Hoare triple {18063#(< ~counter~0 93)} assume !!(0 != ~a~0 && 0 != ~b~0); {18063#(< ~counter~0 93)} is VALID [2022-04-08 14:03:42,418 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {17513#true} {18063#(< ~counter~0 93)} #71#return; {18063#(< ~counter~0 93)} is VALID [2022-04-08 14:03:42,418 INFO L290 TraceCheckUtils]: 35: Hoare triple {17513#true} assume true; {17513#true} is VALID [2022-04-08 14:03:42,419 INFO L290 TraceCheckUtils]: 34: Hoare triple {17513#true} assume !(0 == ~cond); {17513#true} is VALID [2022-04-08 14:03:42,419 INFO L290 TraceCheckUtils]: 33: Hoare triple {17513#true} ~cond := #in~cond; {17513#true} is VALID [2022-04-08 14:03:42,419 INFO L272 TraceCheckUtils]: 32: Hoare triple {18063#(< ~counter~0 93)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {17513#true} is VALID [2022-04-08 14:03:42,419 INFO L290 TraceCheckUtils]: 31: Hoare triple {18063#(< ~counter~0 93)} assume !!(#t~post6 < 100);havoc #t~post6; {18063#(< ~counter~0 93)} is VALID [2022-04-08 14:03:42,419 INFO L290 TraceCheckUtils]: 30: Hoare triple {18091#(< ~counter~0 92)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18063#(< ~counter~0 93)} is VALID [2022-04-08 14:03:42,419 INFO L290 TraceCheckUtils]: 29: Hoare triple {18091#(< ~counter~0 92)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {18091#(< ~counter~0 92)} is VALID [2022-04-08 14:03:42,420 INFO L290 TraceCheckUtils]: 28: Hoare triple {18091#(< ~counter~0 92)} assume !!(0 != ~a~0 && 0 != ~b~0); {18091#(< ~counter~0 92)} is VALID [2022-04-08 14:03:42,420 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {17513#true} {18091#(< ~counter~0 92)} #71#return; {18091#(< ~counter~0 92)} is VALID [2022-04-08 14:03:42,420 INFO L290 TraceCheckUtils]: 26: Hoare triple {17513#true} assume true; {17513#true} is VALID [2022-04-08 14:03:42,420 INFO L290 TraceCheckUtils]: 25: Hoare triple {17513#true} assume !(0 == ~cond); {17513#true} is VALID [2022-04-08 14:03:42,420 INFO L290 TraceCheckUtils]: 24: Hoare triple {17513#true} ~cond := #in~cond; {17513#true} is VALID [2022-04-08 14:03:42,420 INFO L272 TraceCheckUtils]: 23: Hoare triple {18091#(< ~counter~0 92)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {17513#true} is VALID [2022-04-08 14:03:42,420 INFO L290 TraceCheckUtils]: 22: Hoare triple {18091#(< ~counter~0 92)} assume !!(#t~post6 < 100);havoc #t~post6; {18091#(< ~counter~0 92)} is VALID [2022-04-08 14:03:42,421 INFO L290 TraceCheckUtils]: 21: Hoare triple {18119#(< ~counter~0 91)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18091#(< ~counter~0 92)} is VALID [2022-04-08 14:03:42,421 INFO L290 TraceCheckUtils]: 20: Hoare triple {18119#(< ~counter~0 91)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {18119#(< ~counter~0 91)} is VALID [2022-04-08 14:03:42,421 INFO L290 TraceCheckUtils]: 19: Hoare triple {18119#(< ~counter~0 91)} assume !!(0 != ~a~0 && 0 != ~b~0); {18119#(< ~counter~0 91)} is VALID [2022-04-08 14:03:42,421 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {17513#true} {18119#(< ~counter~0 91)} #71#return; {18119#(< ~counter~0 91)} is VALID [2022-04-08 14:03:42,422 INFO L290 TraceCheckUtils]: 17: Hoare triple {17513#true} assume true; {17513#true} is VALID [2022-04-08 14:03:42,422 INFO L290 TraceCheckUtils]: 16: Hoare triple {17513#true} assume !(0 == ~cond); {17513#true} is VALID [2022-04-08 14:03:42,422 INFO L290 TraceCheckUtils]: 15: Hoare triple {17513#true} ~cond := #in~cond; {17513#true} is VALID [2022-04-08 14:03:42,422 INFO L272 TraceCheckUtils]: 14: Hoare triple {18119#(< ~counter~0 91)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {17513#true} is VALID [2022-04-08 14:03:42,422 INFO L290 TraceCheckUtils]: 13: Hoare triple {18119#(< ~counter~0 91)} assume !!(#t~post6 < 100);havoc #t~post6; {18119#(< ~counter~0 91)} is VALID [2022-04-08 14:03:42,422 INFO L290 TraceCheckUtils]: 12: Hoare triple {18147#(< ~counter~0 90)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18119#(< ~counter~0 91)} is VALID [2022-04-08 14:03:42,422 INFO L290 TraceCheckUtils]: 11: Hoare triple {18147#(< ~counter~0 90)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {18147#(< ~counter~0 90)} is VALID [2022-04-08 14:03:42,423 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {17513#true} {18147#(< ~counter~0 90)} #69#return; {18147#(< ~counter~0 90)} is VALID [2022-04-08 14:03:42,423 INFO L290 TraceCheckUtils]: 9: Hoare triple {17513#true} assume true; {17513#true} is VALID [2022-04-08 14:03:42,433 INFO L290 TraceCheckUtils]: 8: Hoare triple {17513#true} assume !(0 == ~cond); {17513#true} is VALID [2022-04-08 14:03:42,433 INFO L290 TraceCheckUtils]: 7: Hoare triple {17513#true} ~cond := #in~cond; {17513#true} is VALID [2022-04-08 14:03:42,433 INFO L272 TraceCheckUtils]: 6: Hoare triple {18147#(< ~counter~0 90)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {17513#true} is VALID [2022-04-08 14:03:42,434 INFO L290 TraceCheckUtils]: 5: Hoare triple {18147#(< ~counter~0 90)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {18147#(< ~counter~0 90)} is VALID [2022-04-08 14:03:42,434 INFO L272 TraceCheckUtils]: 4: Hoare triple {18147#(< ~counter~0 90)} call #t~ret7 := main(); {18147#(< ~counter~0 90)} is VALID [2022-04-08 14:03:42,435 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18147#(< ~counter~0 90)} {17513#true} #77#return; {18147#(< ~counter~0 90)} is VALID [2022-04-08 14:03:42,435 INFO L290 TraceCheckUtils]: 2: Hoare triple {18147#(< ~counter~0 90)} assume true; {18147#(< ~counter~0 90)} is VALID [2022-04-08 14:03:42,438 INFO L290 TraceCheckUtils]: 1: Hoare triple {17513#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {18147#(< ~counter~0 90)} is VALID [2022-04-08 14:03:42,438 INFO L272 TraceCheckUtils]: 0: Hoare triple {17513#true} call ULTIMATE.init(); {17513#true} is VALID [2022-04-08 14:03:42,438 INFO L134 CoverageAnalysis]: Checked inductivity of 445 backedges. 20 proven. 245 refuted. 0 times theorem prover too weak. 180 trivial. 0 not checked. [2022-04-08 14:03:42,438 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 14:03:42,438 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [213347586] [2022-04-08 14:03:42,439 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 14:03:42,439 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [936886091] [2022-04-08 14:03:42,439 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [936886091] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 14:03:42,439 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 14:03:42,439 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 14] total 26 [2022-04-08 14:03:42,440 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 14:03:42,440 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1746164827] [2022-04-08 14:03:42,440 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1746164827] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 14:03:42,440 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 14:03:42,441 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-08 14:03:42,441 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1488115988] [2022-04-08 14:03:42,441 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 14:03:42,442 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 5.857142857142857) internal successors, (82), 13 states have internal predecessors, (82), 13 states have call successors, (14), 13 states have call predecessors, (14), 11 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) Word has length 108 [2022-04-08 14:03:42,442 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 14:03:42,442 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 5.857142857142857) internal successors, (82), 13 states have internal predecessors, (82), 13 states have call successors, (14), 13 states have call predecessors, (14), 11 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-08 14:03:42,512 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 108 edges. 108 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:03:42,512 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-08 14:03:42,512 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 14:03:42,512 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-08 14:03:42,513 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=281, Invalid=369, Unknown=0, NotChecked=0, Total=650 [2022-04-08 14:03:42,513 INFO L87 Difference]: Start difference. First operand 142 states and 174 transitions. Second operand has 14 states, 14 states have (on average 5.857142857142857) internal successors, (82), 13 states have internal predecessors, (82), 13 states have call successors, (14), 13 states have call predecessors, (14), 11 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-08 14:03:43,005 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:03:43,005 INFO L93 Difference]: Finished difference Result 161 states and 197 transitions. [2022-04-08 14:03:43,005 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2022-04-08 14:03:43,005 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 5.857142857142857) internal successors, (82), 13 states have internal predecessors, (82), 13 states have call successors, (14), 13 states have call predecessors, (14), 11 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) Word has length 108 [2022-04-08 14:03:43,006 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 14:03:43,006 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 5.857142857142857) internal successors, (82), 13 states have internal predecessors, (82), 13 states have call successors, (14), 13 states have call predecessors, (14), 11 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-08 14:03:43,008 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 183 transitions. [2022-04-08 14:03:43,008 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 5.857142857142857) internal successors, (82), 13 states have internal predecessors, (82), 13 states have call successors, (14), 13 states have call predecessors, (14), 11 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-08 14:03:43,010 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 183 transitions. [2022-04-08 14:03:43,010 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 24 states and 183 transitions. [2022-04-08 14:03:43,147 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 183 edges. 183 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:03:43,148 INFO L225 Difference]: With dead ends: 161 [2022-04-08 14:03:43,148 INFO L226 Difference]: Without dead ends: 153 [2022-04-08 14:03:43,149 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 225 GetRequests, 191 SyntacticMatches, 0 SemanticMatches, 34 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 76 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=531, Invalid=729, Unknown=0, NotChecked=0, Total=1260 [2022-04-08 14:03:43,149 INFO L913 BasicCegarLoop]: 40 mSDtfsCounter, 97 mSDsluCounter, 182 mSDsCounter, 0 mSdLazyCounter, 57 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 97 SdHoareTripleChecker+Valid, 222 SdHoareTripleChecker+Invalid, 67 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 57 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 14:03:43,149 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [97 Valid, 222 Invalid, 67 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 57 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 14:03:43,150 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 153 states. [2022-04-08 14:03:43,384 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 153 to 153. [2022-04-08 14:03:43,384 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 14:03:43,384 INFO L82 GeneralOperation]: Start isEquivalent. First operand 153 states. Second operand has 153 states, 120 states have (on average 1.3) internal successors, (156), 121 states have internal predecessors, (156), 17 states have call successors, (17), 16 states have call predecessors, (17), 15 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-08 14:03:43,384 INFO L74 IsIncluded]: Start isIncluded. First operand 153 states. Second operand has 153 states, 120 states have (on average 1.3) internal successors, (156), 121 states have internal predecessors, (156), 17 states have call successors, (17), 16 states have call predecessors, (17), 15 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-08 14:03:43,384 INFO L87 Difference]: Start difference. First operand 153 states. Second operand has 153 states, 120 states have (on average 1.3) internal successors, (156), 121 states have internal predecessors, (156), 17 states have call successors, (17), 16 states have call predecessors, (17), 15 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-08 14:03:43,386 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:03:43,386 INFO L93 Difference]: Finished difference Result 153 states and 188 transitions. [2022-04-08 14:03:43,386 INFO L276 IsEmpty]: Start isEmpty. Operand 153 states and 188 transitions. [2022-04-08 14:03:43,386 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:03:43,386 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:03:43,386 INFO L74 IsIncluded]: Start isIncluded. First operand has 153 states, 120 states have (on average 1.3) internal successors, (156), 121 states have internal predecessors, (156), 17 states have call successors, (17), 16 states have call predecessors, (17), 15 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) Second operand 153 states. [2022-04-08 14:03:43,387 INFO L87 Difference]: Start difference. First operand has 153 states, 120 states have (on average 1.3) internal successors, (156), 121 states have internal predecessors, (156), 17 states have call successors, (17), 16 states have call predecessors, (17), 15 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) Second operand 153 states. [2022-04-08 14:03:43,388 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:03:43,388 INFO L93 Difference]: Finished difference Result 153 states and 188 transitions. [2022-04-08 14:03:43,388 INFO L276 IsEmpty]: Start isEmpty. Operand 153 states and 188 transitions. [2022-04-08 14:03:43,388 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:03:43,388 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:03:43,388 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 14:03:43,389 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 14:03:43,389 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 153 states, 120 states have (on average 1.3) internal successors, (156), 121 states have internal predecessors, (156), 17 states have call successors, (17), 16 states have call predecessors, (17), 15 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-08 14:03:43,390 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 153 states to 153 states and 188 transitions. [2022-04-08 14:03:43,390 INFO L78 Accepts]: Start accepts. Automaton has 153 states and 188 transitions. Word has length 108 [2022-04-08 14:03:43,391 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 14:03:43,391 INFO L478 AbstractCegarLoop]: Abstraction has 153 states and 188 transitions. [2022-04-08 14:03:43,391 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 5.857142857142857) internal successors, (82), 13 states have internal predecessors, (82), 13 states have call successors, (14), 13 states have call predecessors, (14), 11 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-08 14:03:43,391 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 153 states and 188 transitions. [2022-04-08 14:04:05,112 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 188 edges. 178 inductive. 0 not inductive. 10 times theorem prover too weak to decide inductivity. [2022-04-08 14:04:05,112 INFO L276 IsEmpty]: Start isEmpty. Operand 153 states and 188 transitions. [2022-04-08 14:04:05,112 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 118 [2022-04-08 14:04:05,112 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 14:04:05,112 INFO L499 BasicCegarLoop]: trace histogram [12, 12, 11, 11, 11, 11, 11, 11, 11, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 14:04:05,130 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (24)] Forceful destruction successful, exit code 0 [2022-04-08 14:04:05,313 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable23,24 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 14:04:05,313 INFO L403 AbstractCegarLoop]: === Iteration 25 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 14:04:05,313 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 14:04:05,313 INFO L85 PathProgramCache]: Analyzing trace with hash -617530302, now seen corresponding path program 21 times [2022-04-08 14:04:05,313 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 14:04:05,313 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2135037490] [2022-04-08 14:04:11,363 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 14:04:11,364 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 14:04:11,364 INFO L85 PathProgramCache]: Analyzing trace with hash -617530302, now seen corresponding path program 22 times [2022-04-08 14:04:11,364 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 14:04:11,364 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1855410971] [2022-04-08 14:04:11,364 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 14:04:11,364 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 14:04:11,379 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 14:04:11,379 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [836396120] [2022-04-08 14:04:11,379 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 14:04:11,379 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 14:04:11,379 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 14:04:11,385 INFO L229 MonitoredProcess]: Starting monitored process 25 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 14:04:11,386 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (25)] Waiting until timeout for monitored process [2022-04-08 14:04:11,476 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 14:04:11,476 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 14:04:11,478 INFO L263 TraceCheckSpWp]: Trace formula consists of 372 conjuncts, 27 conjunts are in the unsatisfiable core [2022-04-08 14:04:11,495 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 14:04:11,498 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 14:04:11,937 INFO L272 TraceCheckUtils]: 0: Hoare triple {19140#true} call ULTIMATE.init(); {19140#true} is VALID [2022-04-08 14:04:11,937 INFO L290 TraceCheckUtils]: 1: Hoare triple {19140#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {19148#(<= ~counter~0 0)} is VALID [2022-04-08 14:04:11,937 INFO L290 TraceCheckUtils]: 2: Hoare triple {19148#(<= ~counter~0 0)} assume true; {19148#(<= ~counter~0 0)} is VALID [2022-04-08 14:04:11,938 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {19148#(<= ~counter~0 0)} {19140#true} #77#return; {19148#(<= ~counter~0 0)} is VALID [2022-04-08 14:04:11,938 INFO L272 TraceCheckUtils]: 4: Hoare triple {19148#(<= ~counter~0 0)} call #t~ret7 := main(); {19148#(<= ~counter~0 0)} is VALID [2022-04-08 14:04:11,939 INFO L290 TraceCheckUtils]: 5: Hoare triple {19148#(<= ~counter~0 0)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {19148#(<= ~counter~0 0)} is VALID [2022-04-08 14:04:11,939 INFO L272 TraceCheckUtils]: 6: Hoare triple {19148#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {19148#(<= ~counter~0 0)} is VALID [2022-04-08 14:04:11,952 INFO L290 TraceCheckUtils]: 7: Hoare triple {19148#(<= ~counter~0 0)} ~cond := #in~cond; {19148#(<= ~counter~0 0)} is VALID [2022-04-08 14:04:11,953 INFO L290 TraceCheckUtils]: 8: Hoare triple {19148#(<= ~counter~0 0)} assume !(0 == ~cond); {19148#(<= ~counter~0 0)} is VALID [2022-04-08 14:04:11,953 INFO L290 TraceCheckUtils]: 9: Hoare triple {19148#(<= ~counter~0 0)} assume true; {19148#(<= ~counter~0 0)} is VALID [2022-04-08 14:04:11,954 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {19148#(<= ~counter~0 0)} {19148#(<= ~counter~0 0)} #69#return; {19148#(<= ~counter~0 0)} is VALID [2022-04-08 14:04:11,954 INFO L290 TraceCheckUtils]: 11: Hoare triple {19148#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {19148#(<= ~counter~0 0)} is VALID [2022-04-08 14:04:11,955 INFO L290 TraceCheckUtils]: 12: Hoare triple {19148#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19182#(<= ~counter~0 1)} is VALID [2022-04-08 14:04:11,955 INFO L290 TraceCheckUtils]: 13: Hoare triple {19182#(<= ~counter~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {19182#(<= ~counter~0 1)} is VALID [2022-04-08 14:04:11,956 INFO L272 TraceCheckUtils]: 14: Hoare triple {19182#(<= ~counter~0 1)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {19182#(<= ~counter~0 1)} is VALID [2022-04-08 14:04:11,956 INFO L290 TraceCheckUtils]: 15: Hoare triple {19182#(<= ~counter~0 1)} ~cond := #in~cond; {19182#(<= ~counter~0 1)} is VALID [2022-04-08 14:04:11,956 INFO L290 TraceCheckUtils]: 16: Hoare triple {19182#(<= ~counter~0 1)} assume !(0 == ~cond); {19182#(<= ~counter~0 1)} is VALID [2022-04-08 14:04:11,957 INFO L290 TraceCheckUtils]: 17: Hoare triple {19182#(<= ~counter~0 1)} assume true; {19182#(<= ~counter~0 1)} is VALID [2022-04-08 14:04:11,957 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {19182#(<= ~counter~0 1)} {19182#(<= ~counter~0 1)} #71#return; {19182#(<= ~counter~0 1)} is VALID [2022-04-08 14:04:11,958 INFO L290 TraceCheckUtils]: 19: Hoare triple {19182#(<= ~counter~0 1)} assume !!(0 != ~a~0 && 0 != ~b~0); {19182#(<= ~counter~0 1)} is VALID [2022-04-08 14:04:11,958 INFO L290 TraceCheckUtils]: 20: Hoare triple {19182#(<= ~counter~0 1)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {19182#(<= ~counter~0 1)} is VALID [2022-04-08 14:04:11,959 INFO L290 TraceCheckUtils]: 21: Hoare triple {19182#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19210#(<= ~counter~0 2)} is VALID [2022-04-08 14:04:11,959 INFO L290 TraceCheckUtils]: 22: Hoare triple {19210#(<= ~counter~0 2)} assume !!(#t~post6 < 100);havoc #t~post6; {19210#(<= ~counter~0 2)} is VALID [2022-04-08 14:04:11,960 INFO L272 TraceCheckUtils]: 23: Hoare triple {19210#(<= ~counter~0 2)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {19210#(<= ~counter~0 2)} is VALID [2022-04-08 14:04:11,960 INFO L290 TraceCheckUtils]: 24: Hoare triple {19210#(<= ~counter~0 2)} ~cond := #in~cond; {19210#(<= ~counter~0 2)} is VALID [2022-04-08 14:04:11,960 INFO L290 TraceCheckUtils]: 25: Hoare triple {19210#(<= ~counter~0 2)} assume !(0 == ~cond); {19210#(<= ~counter~0 2)} is VALID [2022-04-08 14:04:11,960 INFO L290 TraceCheckUtils]: 26: Hoare triple {19210#(<= ~counter~0 2)} assume true; {19210#(<= ~counter~0 2)} is VALID [2022-04-08 14:04:11,961 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {19210#(<= ~counter~0 2)} {19210#(<= ~counter~0 2)} #71#return; {19210#(<= ~counter~0 2)} is VALID [2022-04-08 14:04:11,961 INFO L290 TraceCheckUtils]: 28: Hoare triple {19210#(<= ~counter~0 2)} assume !!(0 != ~a~0 && 0 != ~b~0); {19210#(<= ~counter~0 2)} is VALID [2022-04-08 14:04:11,962 INFO L290 TraceCheckUtils]: 29: Hoare triple {19210#(<= ~counter~0 2)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {19210#(<= ~counter~0 2)} is VALID [2022-04-08 14:04:11,962 INFO L290 TraceCheckUtils]: 30: Hoare triple {19210#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19238#(<= ~counter~0 3)} is VALID [2022-04-08 14:04:11,963 INFO L290 TraceCheckUtils]: 31: Hoare triple {19238#(<= ~counter~0 3)} assume !!(#t~post6 < 100);havoc #t~post6; {19238#(<= ~counter~0 3)} is VALID [2022-04-08 14:04:11,963 INFO L272 TraceCheckUtils]: 32: Hoare triple {19238#(<= ~counter~0 3)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {19238#(<= ~counter~0 3)} is VALID [2022-04-08 14:04:11,964 INFO L290 TraceCheckUtils]: 33: Hoare triple {19238#(<= ~counter~0 3)} ~cond := #in~cond; {19238#(<= ~counter~0 3)} is VALID [2022-04-08 14:04:11,964 INFO L290 TraceCheckUtils]: 34: Hoare triple {19238#(<= ~counter~0 3)} assume !(0 == ~cond); {19238#(<= ~counter~0 3)} is VALID [2022-04-08 14:04:11,964 INFO L290 TraceCheckUtils]: 35: Hoare triple {19238#(<= ~counter~0 3)} assume true; {19238#(<= ~counter~0 3)} is VALID [2022-04-08 14:04:11,965 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {19238#(<= ~counter~0 3)} {19238#(<= ~counter~0 3)} #71#return; {19238#(<= ~counter~0 3)} is VALID [2022-04-08 14:04:11,965 INFO L290 TraceCheckUtils]: 37: Hoare triple {19238#(<= ~counter~0 3)} assume !!(0 != ~a~0 && 0 != ~b~0); {19238#(<= ~counter~0 3)} is VALID [2022-04-08 14:04:11,965 INFO L290 TraceCheckUtils]: 38: Hoare triple {19238#(<= ~counter~0 3)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {19238#(<= ~counter~0 3)} is VALID [2022-04-08 14:04:11,966 INFO L290 TraceCheckUtils]: 39: Hoare triple {19238#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19266#(<= ~counter~0 4)} is VALID [2022-04-08 14:04:11,966 INFO L290 TraceCheckUtils]: 40: Hoare triple {19266#(<= ~counter~0 4)} assume !!(#t~post6 < 100);havoc #t~post6; {19266#(<= ~counter~0 4)} is VALID [2022-04-08 14:04:11,967 INFO L272 TraceCheckUtils]: 41: Hoare triple {19266#(<= ~counter~0 4)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {19266#(<= ~counter~0 4)} is VALID [2022-04-08 14:04:11,967 INFO L290 TraceCheckUtils]: 42: Hoare triple {19266#(<= ~counter~0 4)} ~cond := #in~cond; {19266#(<= ~counter~0 4)} is VALID [2022-04-08 14:04:11,967 INFO L290 TraceCheckUtils]: 43: Hoare triple {19266#(<= ~counter~0 4)} assume !(0 == ~cond); {19266#(<= ~counter~0 4)} is VALID [2022-04-08 14:04:11,968 INFO L290 TraceCheckUtils]: 44: Hoare triple {19266#(<= ~counter~0 4)} assume true; {19266#(<= ~counter~0 4)} is VALID [2022-04-08 14:04:11,968 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {19266#(<= ~counter~0 4)} {19266#(<= ~counter~0 4)} #71#return; {19266#(<= ~counter~0 4)} is VALID [2022-04-08 14:04:11,969 INFO L290 TraceCheckUtils]: 46: Hoare triple {19266#(<= ~counter~0 4)} assume !!(0 != ~a~0 && 0 != ~b~0); {19266#(<= ~counter~0 4)} is VALID [2022-04-08 14:04:11,969 INFO L290 TraceCheckUtils]: 47: Hoare triple {19266#(<= ~counter~0 4)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {19266#(<= ~counter~0 4)} is VALID [2022-04-08 14:04:11,969 INFO L290 TraceCheckUtils]: 48: Hoare triple {19266#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19294#(<= ~counter~0 5)} is VALID [2022-04-08 14:04:11,970 INFO L290 TraceCheckUtils]: 49: Hoare triple {19294#(<= ~counter~0 5)} assume !!(#t~post6 < 100);havoc #t~post6; {19294#(<= ~counter~0 5)} is VALID [2022-04-08 14:04:11,970 INFO L272 TraceCheckUtils]: 50: Hoare triple {19294#(<= ~counter~0 5)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {19294#(<= ~counter~0 5)} is VALID [2022-04-08 14:04:11,970 INFO L290 TraceCheckUtils]: 51: Hoare triple {19294#(<= ~counter~0 5)} ~cond := #in~cond; {19294#(<= ~counter~0 5)} is VALID [2022-04-08 14:04:11,971 INFO L290 TraceCheckUtils]: 52: Hoare triple {19294#(<= ~counter~0 5)} assume !(0 == ~cond); {19294#(<= ~counter~0 5)} is VALID [2022-04-08 14:04:11,971 INFO L290 TraceCheckUtils]: 53: Hoare triple {19294#(<= ~counter~0 5)} assume true; {19294#(<= ~counter~0 5)} is VALID [2022-04-08 14:04:11,972 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {19294#(<= ~counter~0 5)} {19294#(<= ~counter~0 5)} #71#return; {19294#(<= ~counter~0 5)} is VALID [2022-04-08 14:04:11,972 INFO L290 TraceCheckUtils]: 55: Hoare triple {19294#(<= ~counter~0 5)} assume !!(0 != ~a~0 && 0 != ~b~0); {19294#(<= ~counter~0 5)} is VALID [2022-04-08 14:04:11,972 INFO L290 TraceCheckUtils]: 56: Hoare triple {19294#(<= ~counter~0 5)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {19294#(<= ~counter~0 5)} is VALID [2022-04-08 14:04:11,973 INFO L290 TraceCheckUtils]: 57: Hoare triple {19294#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19322#(<= ~counter~0 6)} is VALID [2022-04-08 14:04:11,973 INFO L290 TraceCheckUtils]: 58: Hoare triple {19322#(<= ~counter~0 6)} assume !!(#t~post6 < 100);havoc #t~post6; {19322#(<= ~counter~0 6)} is VALID [2022-04-08 14:04:11,974 INFO L272 TraceCheckUtils]: 59: Hoare triple {19322#(<= ~counter~0 6)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {19322#(<= ~counter~0 6)} is VALID [2022-04-08 14:04:11,974 INFO L290 TraceCheckUtils]: 60: Hoare triple {19322#(<= ~counter~0 6)} ~cond := #in~cond; {19322#(<= ~counter~0 6)} is VALID [2022-04-08 14:04:11,974 INFO L290 TraceCheckUtils]: 61: Hoare triple {19322#(<= ~counter~0 6)} assume !(0 == ~cond); {19322#(<= ~counter~0 6)} is VALID [2022-04-08 14:04:11,974 INFO L290 TraceCheckUtils]: 62: Hoare triple {19322#(<= ~counter~0 6)} assume true; {19322#(<= ~counter~0 6)} is VALID [2022-04-08 14:04:11,975 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {19322#(<= ~counter~0 6)} {19322#(<= ~counter~0 6)} #71#return; {19322#(<= ~counter~0 6)} is VALID [2022-04-08 14:04:11,975 INFO L290 TraceCheckUtils]: 64: Hoare triple {19322#(<= ~counter~0 6)} assume !!(0 != ~a~0 && 0 != ~b~0); {19322#(<= ~counter~0 6)} is VALID [2022-04-08 14:04:11,976 INFO L290 TraceCheckUtils]: 65: Hoare triple {19322#(<= ~counter~0 6)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {19322#(<= ~counter~0 6)} is VALID [2022-04-08 14:04:11,976 INFO L290 TraceCheckUtils]: 66: Hoare triple {19322#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19350#(<= ~counter~0 7)} is VALID [2022-04-08 14:04:11,976 INFO L290 TraceCheckUtils]: 67: Hoare triple {19350#(<= ~counter~0 7)} assume !!(#t~post6 < 100);havoc #t~post6; {19350#(<= ~counter~0 7)} is VALID [2022-04-08 14:04:11,977 INFO L272 TraceCheckUtils]: 68: Hoare triple {19350#(<= ~counter~0 7)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {19350#(<= ~counter~0 7)} is VALID [2022-04-08 14:04:11,977 INFO L290 TraceCheckUtils]: 69: Hoare triple {19350#(<= ~counter~0 7)} ~cond := #in~cond; {19350#(<= ~counter~0 7)} is VALID [2022-04-08 14:04:11,977 INFO L290 TraceCheckUtils]: 70: Hoare triple {19350#(<= ~counter~0 7)} assume !(0 == ~cond); {19350#(<= ~counter~0 7)} is VALID [2022-04-08 14:04:11,978 INFO L290 TraceCheckUtils]: 71: Hoare triple {19350#(<= ~counter~0 7)} assume true; {19350#(<= ~counter~0 7)} is VALID [2022-04-08 14:04:11,978 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {19350#(<= ~counter~0 7)} {19350#(<= ~counter~0 7)} #71#return; {19350#(<= ~counter~0 7)} is VALID [2022-04-08 14:04:11,979 INFO L290 TraceCheckUtils]: 73: Hoare triple {19350#(<= ~counter~0 7)} assume !!(0 != ~a~0 && 0 != ~b~0); {19350#(<= ~counter~0 7)} is VALID [2022-04-08 14:04:11,979 INFO L290 TraceCheckUtils]: 74: Hoare triple {19350#(<= ~counter~0 7)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {19350#(<= ~counter~0 7)} is VALID [2022-04-08 14:04:11,979 INFO L290 TraceCheckUtils]: 75: Hoare triple {19350#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19378#(<= ~counter~0 8)} is VALID [2022-04-08 14:04:11,980 INFO L290 TraceCheckUtils]: 76: Hoare triple {19378#(<= ~counter~0 8)} assume !!(#t~post6 < 100);havoc #t~post6; {19378#(<= ~counter~0 8)} is VALID [2022-04-08 14:04:11,980 INFO L272 TraceCheckUtils]: 77: Hoare triple {19378#(<= ~counter~0 8)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {19378#(<= ~counter~0 8)} is VALID [2022-04-08 14:04:11,980 INFO L290 TraceCheckUtils]: 78: Hoare triple {19378#(<= ~counter~0 8)} ~cond := #in~cond; {19378#(<= ~counter~0 8)} is VALID [2022-04-08 14:04:11,981 INFO L290 TraceCheckUtils]: 79: Hoare triple {19378#(<= ~counter~0 8)} assume !(0 == ~cond); {19378#(<= ~counter~0 8)} is VALID [2022-04-08 14:04:11,981 INFO L290 TraceCheckUtils]: 80: Hoare triple {19378#(<= ~counter~0 8)} assume true; {19378#(<= ~counter~0 8)} is VALID [2022-04-08 14:04:11,982 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {19378#(<= ~counter~0 8)} {19378#(<= ~counter~0 8)} #71#return; {19378#(<= ~counter~0 8)} is VALID [2022-04-08 14:04:11,982 INFO L290 TraceCheckUtils]: 82: Hoare triple {19378#(<= ~counter~0 8)} assume !!(0 != ~a~0 && 0 != ~b~0); {19378#(<= ~counter~0 8)} is VALID [2022-04-08 14:04:11,982 INFO L290 TraceCheckUtils]: 83: Hoare triple {19378#(<= ~counter~0 8)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {19378#(<= ~counter~0 8)} is VALID [2022-04-08 14:04:11,983 INFO L290 TraceCheckUtils]: 84: Hoare triple {19378#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19406#(<= ~counter~0 9)} is VALID [2022-04-08 14:04:11,983 INFO L290 TraceCheckUtils]: 85: Hoare triple {19406#(<= ~counter~0 9)} assume !!(#t~post6 < 100);havoc #t~post6; {19406#(<= ~counter~0 9)} is VALID [2022-04-08 14:04:11,983 INFO L272 TraceCheckUtils]: 86: Hoare triple {19406#(<= ~counter~0 9)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {19406#(<= ~counter~0 9)} is VALID [2022-04-08 14:04:11,984 INFO L290 TraceCheckUtils]: 87: Hoare triple {19406#(<= ~counter~0 9)} ~cond := #in~cond; {19406#(<= ~counter~0 9)} is VALID [2022-04-08 14:04:11,984 INFO L290 TraceCheckUtils]: 88: Hoare triple {19406#(<= ~counter~0 9)} assume !(0 == ~cond); {19406#(<= ~counter~0 9)} is VALID [2022-04-08 14:04:11,984 INFO L290 TraceCheckUtils]: 89: Hoare triple {19406#(<= ~counter~0 9)} assume true; {19406#(<= ~counter~0 9)} is VALID [2022-04-08 14:04:11,985 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {19406#(<= ~counter~0 9)} {19406#(<= ~counter~0 9)} #71#return; {19406#(<= ~counter~0 9)} is VALID [2022-04-08 14:04:11,985 INFO L290 TraceCheckUtils]: 91: Hoare triple {19406#(<= ~counter~0 9)} assume !!(0 != ~a~0 && 0 != ~b~0); {19406#(<= ~counter~0 9)} is VALID [2022-04-08 14:04:11,985 INFO L290 TraceCheckUtils]: 92: Hoare triple {19406#(<= ~counter~0 9)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {19406#(<= ~counter~0 9)} is VALID [2022-04-08 14:04:11,986 INFO L290 TraceCheckUtils]: 93: Hoare triple {19406#(<= ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19434#(<= ~counter~0 10)} is VALID [2022-04-08 14:04:11,986 INFO L290 TraceCheckUtils]: 94: Hoare triple {19434#(<= ~counter~0 10)} assume !!(#t~post6 < 100);havoc #t~post6; {19434#(<= ~counter~0 10)} is VALID [2022-04-08 14:04:11,987 INFO L272 TraceCheckUtils]: 95: Hoare triple {19434#(<= ~counter~0 10)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {19434#(<= ~counter~0 10)} is VALID [2022-04-08 14:04:11,987 INFO L290 TraceCheckUtils]: 96: Hoare triple {19434#(<= ~counter~0 10)} ~cond := #in~cond; {19434#(<= ~counter~0 10)} is VALID [2022-04-08 14:04:11,987 INFO L290 TraceCheckUtils]: 97: Hoare triple {19434#(<= ~counter~0 10)} assume !(0 == ~cond); {19434#(<= ~counter~0 10)} is VALID [2022-04-08 14:04:11,988 INFO L290 TraceCheckUtils]: 98: Hoare triple {19434#(<= ~counter~0 10)} assume true; {19434#(<= ~counter~0 10)} is VALID [2022-04-08 14:04:11,988 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {19434#(<= ~counter~0 10)} {19434#(<= ~counter~0 10)} #71#return; {19434#(<= ~counter~0 10)} is VALID [2022-04-08 14:04:11,988 INFO L290 TraceCheckUtils]: 100: Hoare triple {19434#(<= ~counter~0 10)} assume !!(0 != ~a~0 && 0 != ~b~0); {19434#(<= ~counter~0 10)} is VALID [2022-04-08 14:04:11,989 INFO L290 TraceCheckUtils]: 101: Hoare triple {19434#(<= ~counter~0 10)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {19434#(<= ~counter~0 10)} is VALID [2022-04-08 14:04:11,989 INFO L290 TraceCheckUtils]: 102: Hoare triple {19434#(<= ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19462#(<= ~counter~0 11)} is VALID [2022-04-08 14:04:11,989 INFO L290 TraceCheckUtils]: 103: Hoare triple {19462#(<= ~counter~0 11)} assume !!(#t~post6 < 100);havoc #t~post6; {19462#(<= ~counter~0 11)} is VALID [2022-04-08 14:04:11,990 INFO L272 TraceCheckUtils]: 104: Hoare triple {19462#(<= ~counter~0 11)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {19462#(<= ~counter~0 11)} is VALID [2022-04-08 14:04:11,990 INFO L290 TraceCheckUtils]: 105: Hoare triple {19462#(<= ~counter~0 11)} ~cond := #in~cond; {19462#(<= ~counter~0 11)} is VALID [2022-04-08 14:04:11,991 INFO L290 TraceCheckUtils]: 106: Hoare triple {19462#(<= ~counter~0 11)} assume !(0 == ~cond); {19462#(<= ~counter~0 11)} is VALID [2022-04-08 14:04:11,991 INFO L290 TraceCheckUtils]: 107: Hoare triple {19462#(<= ~counter~0 11)} assume true; {19462#(<= ~counter~0 11)} is VALID [2022-04-08 14:04:11,992 INFO L284 TraceCheckUtils]: 108: Hoare quadruple {19462#(<= ~counter~0 11)} {19462#(<= ~counter~0 11)} #71#return; {19462#(<= ~counter~0 11)} is VALID [2022-04-08 14:04:11,992 INFO L290 TraceCheckUtils]: 109: Hoare triple {19462#(<= ~counter~0 11)} assume !!(0 != ~a~0 && 0 != ~b~0); {19462#(<= ~counter~0 11)} is VALID [2022-04-08 14:04:11,992 INFO L290 TraceCheckUtils]: 110: Hoare triple {19462#(<= ~counter~0 11)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {19462#(<= ~counter~0 11)} is VALID [2022-04-08 14:04:11,992 INFO L290 TraceCheckUtils]: 111: Hoare triple {19462#(<= ~counter~0 11)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19490#(<= |main_#t~post6| 11)} is VALID [2022-04-08 14:04:11,993 INFO L290 TraceCheckUtils]: 112: Hoare triple {19490#(<= |main_#t~post6| 11)} assume !(#t~post6 < 100);havoc #t~post6; {19141#false} is VALID [2022-04-08 14:04:11,993 INFO L272 TraceCheckUtils]: 113: Hoare triple {19141#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {19141#false} is VALID [2022-04-08 14:04:11,993 INFO L290 TraceCheckUtils]: 114: Hoare triple {19141#false} ~cond := #in~cond; {19141#false} is VALID [2022-04-08 14:04:11,993 INFO L290 TraceCheckUtils]: 115: Hoare triple {19141#false} assume 0 == ~cond; {19141#false} is VALID [2022-04-08 14:04:11,993 INFO L290 TraceCheckUtils]: 116: Hoare triple {19141#false} assume !false; {19141#false} is VALID [2022-04-08 14:04:11,993 INFO L134 CoverageAnalysis]: Checked inductivity of 539 backedges. 22 proven. 517 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 14:04:11,993 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 14:04:12,564 INFO L290 TraceCheckUtils]: 116: Hoare triple {19141#false} assume !false; {19141#false} is VALID [2022-04-08 14:04:12,564 INFO L290 TraceCheckUtils]: 115: Hoare triple {19141#false} assume 0 == ~cond; {19141#false} is VALID [2022-04-08 14:04:12,564 INFO L290 TraceCheckUtils]: 114: Hoare triple {19141#false} ~cond := #in~cond; {19141#false} is VALID [2022-04-08 14:04:12,564 INFO L272 TraceCheckUtils]: 113: Hoare triple {19141#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {19141#false} is VALID [2022-04-08 14:04:12,565 INFO L290 TraceCheckUtils]: 112: Hoare triple {19518#(< |main_#t~post6| 100)} assume !(#t~post6 < 100);havoc #t~post6; {19141#false} is VALID [2022-04-08 14:04:12,565 INFO L290 TraceCheckUtils]: 111: Hoare triple {19522#(< ~counter~0 100)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19518#(< |main_#t~post6| 100)} is VALID [2022-04-08 14:04:12,565 INFO L290 TraceCheckUtils]: 110: Hoare triple {19522#(< ~counter~0 100)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {19522#(< ~counter~0 100)} is VALID [2022-04-08 14:04:12,565 INFO L290 TraceCheckUtils]: 109: Hoare triple {19522#(< ~counter~0 100)} assume !!(0 != ~a~0 && 0 != ~b~0); {19522#(< ~counter~0 100)} is VALID [2022-04-08 14:04:12,566 INFO L284 TraceCheckUtils]: 108: Hoare quadruple {19140#true} {19522#(< ~counter~0 100)} #71#return; {19522#(< ~counter~0 100)} is VALID [2022-04-08 14:04:12,566 INFO L290 TraceCheckUtils]: 107: Hoare triple {19140#true} assume true; {19140#true} is VALID [2022-04-08 14:04:12,566 INFO L290 TraceCheckUtils]: 106: Hoare triple {19140#true} assume !(0 == ~cond); {19140#true} is VALID [2022-04-08 14:04:12,566 INFO L290 TraceCheckUtils]: 105: Hoare triple {19140#true} ~cond := #in~cond; {19140#true} is VALID [2022-04-08 14:04:12,566 INFO L272 TraceCheckUtils]: 104: Hoare triple {19522#(< ~counter~0 100)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {19140#true} is VALID [2022-04-08 14:04:12,567 INFO L290 TraceCheckUtils]: 103: Hoare triple {19522#(< ~counter~0 100)} assume !!(#t~post6 < 100);havoc #t~post6; {19522#(< ~counter~0 100)} is VALID [2022-04-08 14:04:12,567 INFO L290 TraceCheckUtils]: 102: Hoare triple {19550#(< ~counter~0 99)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19522#(< ~counter~0 100)} is VALID [2022-04-08 14:04:12,567 INFO L290 TraceCheckUtils]: 101: Hoare triple {19550#(< ~counter~0 99)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {19550#(< ~counter~0 99)} is VALID [2022-04-08 14:04:12,568 INFO L290 TraceCheckUtils]: 100: Hoare triple {19550#(< ~counter~0 99)} assume !!(0 != ~a~0 && 0 != ~b~0); {19550#(< ~counter~0 99)} is VALID [2022-04-08 14:04:12,568 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {19140#true} {19550#(< ~counter~0 99)} #71#return; {19550#(< ~counter~0 99)} is VALID [2022-04-08 14:04:12,568 INFO L290 TraceCheckUtils]: 98: Hoare triple {19140#true} assume true; {19140#true} is VALID [2022-04-08 14:04:12,568 INFO L290 TraceCheckUtils]: 97: Hoare triple {19140#true} assume !(0 == ~cond); {19140#true} is VALID [2022-04-08 14:04:12,568 INFO L290 TraceCheckUtils]: 96: Hoare triple {19140#true} ~cond := #in~cond; {19140#true} is VALID [2022-04-08 14:04:12,568 INFO L272 TraceCheckUtils]: 95: Hoare triple {19550#(< ~counter~0 99)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {19140#true} is VALID [2022-04-08 14:04:12,569 INFO L290 TraceCheckUtils]: 94: Hoare triple {19550#(< ~counter~0 99)} assume !!(#t~post6 < 100);havoc #t~post6; {19550#(< ~counter~0 99)} is VALID [2022-04-08 14:04:12,569 INFO L290 TraceCheckUtils]: 93: Hoare triple {19578#(< ~counter~0 98)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19550#(< ~counter~0 99)} is VALID [2022-04-08 14:04:12,569 INFO L290 TraceCheckUtils]: 92: Hoare triple {19578#(< ~counter~0 98)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {19578#(< ~counter~0 98)} is VALID [2022-04-08 14:04:12,570 INFO L290 TraceCheckUtils]: 91: Hoare triple {19578#(< ~counter~0 98)} assume !!(0 != ~a~0 && 0 != ~b~0); {19578#(< ~counter~0 98)} is VALID [2022-04-08 14:04:12,570 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {19140#true} {19578#(< ~counter~0 98)} #71#return; {19578#(< ~counter~0 98)} is VALID [2022-04-08 14:04:12,570 INFO L290 TraceCheckUtils]: 89: Hoare triple {19140#true} assume true; {19140#true} is VALID [2022-04-08 14:04:12,570 INFO L290 TraceCheckUtils]: 88: Hoare triple {19140#true} assume !(0 == ~cond); {19140#true} is VALID [2022-04-08 14:04:12,570 INFO L290 TraceCheckUtils]: 87: Hoare triple {19140#true} ~cond := #in~cond; {19140#true} is VALID [2022-04-08 14:04:12,570 INFO L272 TraceCheckUtils]: 86: Hoare triple {19578#(< ~counter~0 98)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {19140#true} is VALID [2022-04-08 14:04:12,571 INFO L290 TraceCheckUtils]: 85: Hoare triple {19578#(< ~counter~0 98)} assume !!(#t~post6 < 100);havoc #t~post6; {19578#(< ~counter~0 98)} is VALID [2022-04-08 14:04:12,571 INFO L290 TraceCheckUtils]: 84: Hoare triple {19606#(< ~counter~0 97)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19578#(< ~counter~0 98)} is VALID [2022-04-08 14:04:12,571 INFO L290 TraceCheckUtils]: 83: Hoare triple {19606#(< ~counter~0 97)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {19606#(< ~counter~0 97)} is VALID [2022-04-08 14:04:12,572 INFO L290 TraceCheckUtils]: 82: Hoare triple {19606#(< ~counter~0 97)} assume !!(0 != ~a~0 && 0 != ~b~0); {19606#(< ~counter~0 97)} is VALID [2022-04-08 14:04:12,572 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {19140#true} {19606#(< ~counter~0 97)} #71#return; {19606#(< ~counter~0 97)} is VALID [2022-04-08 14:04:12,572 INFO L290 TraceCheckUtils]: 80: Hoare triple {19140#true} assume true; {19140#true} is VALID [2022-04-08 14:04:12,572 INFO L290 TraceCheckUtils]: 79: Hoare triple {19140#true} assume !(0 == ~cond); {19140#true} is VALID [2022-04-08 14:04:12,572 INFO L290 TraceCheckUtils]: 78: Hoare triple {19140#true} ~cond := #in~cond; {19140#true} is VALID [2022-04-08 14:04:12,572 INFO L272 TraceCheckUtils]: 77: Hoare triple {19606#(< ~counter~0 97)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {19140#true} is VALID [2022-04-08 14:04:12,573 INFO L290 TraceCheckUtils]: 76: Hoare triple {19606#(< ~counter~0 97)} assume !!(#t~post6 < 100);havoc #t~post6; {19606#(< ~counter~0 97)} is VALID [2022-04-08 14:04:12,573 INFO L290 TraceCheckUtils]: 75: Hoare triple {19634#(< ~counter~0 96)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19606#(< ~counter~0 97)} is VALID [2022-04-08 14:04:12,573 INFO L290 TraceCheckUtils]: 74: Hoare triple {19634#(< ~counter~0 96)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {19634#(< ~counter~0 96)} is VALID [2022-04-08 14:04:12,574 INFO L290 TraceCheckUtils]: 73: Hoare triple {19634#(< ~counter~0 96)} assume !!(0 != ~a~0 && 0 != ~b~0); {19634#(< ~counter~0 96)} is VALID [2022-04-08 14:04:12,574 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {19140#true} {19634#(< ~counter~0 96)} #71#return; {19634#(< ~counter~0 96)} is VALID [2022-04-08 14:04:12,574 INFO L290 TraceCheckUtils]: 71: Hoare triple {19140#true} assume true; {19140#true} is VALID [2022-04-08 14:04:12,574 INFO L290 TraceCheckUtils]: 70: Hoare triple {19140#true} assume !(0 == ~cond); {19140#true} is VALID [2022-04-08 14:04:12,574 INFO L290 TraceCheckUtils]: 69: Hoare triple {19140#true} ~cond := #in~cond; {19140#true} is VALID [2022-04-08 14:04:12,574 INFO L272 TraceCheckUtils]: 68: Hoare triple {19634#(< ~counter~0 96)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {19140#true} is VALID [2022-04-08 14:04:12,575 INFO L290 TraceCheckUtils]: 67: Hoare triple {19634#(< ~counter~0 96)} assume !!(#t~post6 < 100);havoc #t~post6; {19634#(< ~counter~0 96)} is VALID [2022-04-08 14:04:12,575 INFO L290 TraceCheckUtils]: 66: Hoare triple {19662#(< ~counter~0 95)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19634#(< ~counter~0 96)} is VALID [2022-04-08 14:04:12,575 INFO L290 TraceCheckUtils]: 65: Hoare triple {19662#(< ~counter~0 95)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {19662#(< ~counter~0 95)} is VALID [2022-04-08 14:04:12,575 INFO L290 TraceCheckUtils]: 64: Hoare triple {19662#(< ~counter~0 95)} assume !!(0 != ~a~0 && 0 != ~b~0); {19662#(< ~counter~0 95)} is VALID [2022-04-08 14:04:12,576 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {19140#true} {19662#(< ~counter~0 95)} #71#return; {19662#(< ~counter~0 95)} is VALID [2022-04-08 14:04:12,576 INFO L290 TraceCheckUtils]: 62: Hoare triple {19140#true} assume true; {19140#true} is VALID [2022-04-08 14:04:12,576 INFO L290 TraceCheckUtils]: 61: Hoare triple {19140#true} assume !(0 == ~cond); {19140#true} is VALID [2022-04-08 14:04:12,576 INFO L290 TraceCheckUtils]: 60: Hoare triple {19140#true} ~cond := #in~cond; {19140#true} is VALID [2022-04-08 14:04:12,576 INFO L272 TraceCheckUtils]: 59: Hoare triple {19662#(< ~counter~0 95)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {19140#true} is VALID [2022-04-08 14:04:12,576 INFO L290 TraceCheckUtils]: 58: Hoare triple {19662#(< ~counter~0 95)} assume !!(#t~post6 < 100);havoc #t~post6; {19662#(< ~counter~0 95)} is VALID [2022-04-08 14:04:12,577 INFO L290 TraceCheckUtils]: 57: Hoare triple {19690#(< ~counter~0 94)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19662#(< ~counter~0 95)} is VALID [2022-04-08 14:04:12,577 INFO L290 TraceCheckUtils]: 56: Hoare triple {19690#(< ~counter~0 94)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {19690#(< ~counter~0 94)} is VALID [2022-04-08 14:04:12,577 INFO L290 TraceCheckUtils]: 55: Hoare triple {19690#(< ~counter~0 94)} assume !!(0 != ~a~0 && 0 != ~b~0); {19690#(< ~counter~0 94)} is VALID [2022-04-08 14:04:12,578 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {19140#true} {19690#(< ~counter~0 94)} #71#return; {19690#(< ~counter~0 94)} is VALID [2022-04-08 14:04:12,578 INFO L290 TraceCheckUtils]: 53: Hoare triple {19140#true} assume true; {19140#true} is VALID [2022-04-08 14:04:12,578 INFO L290 TraceCheckUtils]: 52: Hoare triple {19140#true} assume !(0 == ~cond); {19140#true} is VALID [2022-04-08 14:04:12,578 INFO L290 TraceCheckUtils]: 51: Hoare triple {19140#true} ~cond := #in~cond; {19140#true} is VALID [2022-04-08 14:04:12,578 INFO L272 TraceCheckUtils]: 50: Hoare triple {19690#(< ~counter~0 94)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {19140#true} is VALID [2022-04-08 14:04:12,578 INFO L290 TraceCheckUtils]: 49: Hoare triple {19690#(< ~counter~0 94)} assume !!(#t~post6 < 100);havoc #t~post6; {19690#(< ~counter~0 94)} is VALID [2022-04-08 14:04:12,579 INFO L290 TraceCheckUtils]: 48: Hoare triple {19718#(< ~counter~0 93)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19690#(< ~counter~0 94)} is VALID [2022-04-08 14:04:12,579 INFO L290 TraceCheckUtils]: 47: Hoare triple {19718#(< ~counter~0 93)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {19718#(< ~counter~0 93)} is VALID [2022-04-08 14:04:12,579 INFO L290 TraceCheckUtils]: 46: Hoare triple {19718#(< ~counter~0 93)} assume !!(0 != ~a~0 && 0 != ~b~0); {19718#(< ~counter~0 93)} is VALID [2022-04-08 14:04:12,580 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {19140#true} {19718#(< ~counter~0 93)} #71#return; {19718#(< ~counter~0 93)} is VALID [2022-04-08 14:04:12,580 INFO L290 TraceCheckUtils]: 44: Hoare triple {19140#true} assume true; {19140#true} is VALID [2022-04-08 14:04:12,580 INFO L290 TraceCheckUtils]: 43: Hoare triple {19140#true} assume !(0 == ~cond); {19140#true} is VALID [2022-04-08 14:04:12,580 INFO L290 TraceCheckUtils]: 42: Hoare triple {19140#true} ~cond := #in~cond; {19140#true} is VALID [2022-04-08 14:04:12,580 INFO L272 TraceCheckUtils]: 41: Hoare triple {19718#(< ~counter~0 93)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {19140#true} is VALID [2022-04-08 14:04:12,580 INFO L290 TraceCheckUtils]: 40: Hoare triple {19718#(< ~counter~0 93)} assume !!(#t~post6 < 100);havoc #t~post6; {19718#(< ~counter~0 93)} is VALID [2022-04-08 14:04:12,581 INFO L290 TraceCheckUtils]: 39: Hoare triple {19746#(< ~counter~0 92)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19718#(< ~counter~0 93)} is VALID [2022-04-08 14:04:12,581 INFO L290 TraceCheckUtils]: 38: Hoare triple {19746#(< ~counter~0 92)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {19746#(< ~counter~0 92)} is VALID [2022-04-08 14:04:12,581 INFO L290 TraceCheckUtils]: 37: Hoare triple {19746#(< ~counter~0 92)} assume !!(0 != ~a~0 && 0 != ~b~0); {19746#(< ~counter~0 92)} is VALID [2022-04-08 14:04:12,582 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {19140#true} {19746#(< ~counter~0 92)} #71#return; {19746#(< ~counter~0 92)} is VALID [2022-04-08 14:04:12,582 INFO L290 TraceCheckUtils]: 35: Hoare triple {19140#true} assume true; {19140#true} is VALID [2022-04-08 14:04:12,582 INFO L290 TraceCheckUtils]: 34: Hoare triple {19140#true} assume !(0 == ~cond); {19140#true} is VALID [2022-04-08 14:04:12,582 INFO L290 TraceCheckUtils]: 33: Hoare triple {19140#true} ~cond := #in~cond; {19140#true} is VALID [2022-04-08 14:04:12,582 INFO L272 TraceCheckUtils]: 32: Hoare triple {19746#(< ~counter~0 92)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {19140#true} is VALID [2022-04-08 14:04:12,582 INFO L290 TraceCheckUtils]: 31: Hoare triple {19746#(< ~counter~0 92)} assume !!(#t~post6 < 100);havoc #t~post6; {19746#(< ~counter~0 92)} is VALID [2022-04-08 14:04:12,583 INFO L290 TraceCheckUtils]: 30: Hoare triple {19774#(< ~counter~0 91)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19746#(< ~counter~0 92)} is VALID [2022-04-08 14:04:12,583 INFO L290 TraceCheckUtils]: 29: Hoare triple {19774#(< ~counter~0 91)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {19774#(< ~counter~0 91)} is VALID [2022-04-08 14:04:12,583 INFO L290 TraceCheckUtils]: 28: Hoare triple {19774#(< ~counter~0 91)} assume !!(0 != ~a~0 && 0 != ~b~0); {19774#(< ~counter~0 91)} is VALID [2022-04-08 14:04:12,584 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {19140#true} {19774#(< ~counter~0 91)} #71#return; {19774#(< ~counter~0 91)} is VALID [2022-04-08 14:04:12,584 INFO L290 TraceCheckUtils]: 26: Hoare triple {19140#true} assume true; {19140#true} is VALID [2022-04-08 14:04:12,584 INFO L290 TraceCheckUtils]: 25: Hoare triple {19140#true} assume !(0 == ~cond); {19140#true} is VALID [2022-04-08 14:04:12,584 INFO L290 TraceCheckUtils]: 24: Hoare triple {19140#true} ~cond := #in~cond; {19140#true} is VALID [2022-04-08 14:04:12,584 INFO L272 TraceCheckUtils]: 23: Hoare triple {19774#(< ~counter~0 91)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {19140#true} is VALID [2022-04-08 14:04:12,584 INFO L290 TraceCheckUtils]: 22: Hoare triple {19774#(< ~counter~0 91)} assume !!(#t~post6 < 100);havoc #t~post6; {19774#(< ~counter~0 91)} is VALID [2022-04-08 14:04:12,585 INFO L290 TraceCheckUtils]: 21: Hoare triple {19802#(< ~counter~0 90)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19774#(< ~counter~0 91)} is VALID [2022-04-08 14:04:12,585 INFO L290 TraceCheckUtils]: 20: Hoare triple {19802#(< ~counter~0 90)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {19802#(< ~counter~0 90)} is VALID [2022-04-08 14:04:12,585 INFO L290 TraceCheckUtils]: 19: Hoare triple {19802#(< ~counter~0 90)} assume !!(0 != ~a~0 && 0 != ~b~0); {19802#(< ~counter~0 90)} is VALID [2022-04-08 14:04:12,586 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {19140#true} {19802#(< ~counter~0 90)} #71#return; {19802#(< ~counter~0 90)} is VALID [2022-04-08 14:04:12,586 INFO L290 TraceCheckUtils]: 17: Hoare triple {19140#true} assume true; {19140#true} is VALID [2022-04-08 14:04:12,586 INFO L290 TraceCheckUtils]: 16: Hoare triple {19140#true} assume !(0 == ~cond); {19140#true} is VALID [2022-04-08 14:04:12,586 INFO L290 TraceCheckUtils]: 15: Hoare triple {19140#true} ~cond := #in~cond; {19140#true} is VALID [2022-04-08 14:04:12,586 INFO L272 TraceCheckUtils]: 14: Hoare triple {19802#(< ~counter~0 90)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {19140#true} is VALID [2022-04-08 14:04:12,586 INFO L290 TraceCheckUtils]: 13: Hoare triple {19802#(< ~counter~0 90)} assume !!(#t~post6 < 100);havoc #t~post6; {19802#(< ~counter~0 90)} is VALID [2022-04-08 14:04:12,587 INFO L290 TraceCheckUtils]: 12: Hoare triple {19830#(< ~counter~0 89)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19802#(< ~counter~0 90)} is VALID [2022-04-08 14:04:12,587 INFO L290 TraceCheckUtils]: 11: Hoare triple {19830#(< ~counter~0 89)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {19830#(< ~counter~0 89)} is VALID [2022-04-08 14:04:12,587 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {19140#true} {19830#(< ~counter~0 89)} #69#return; {19830#(< ~counter~0 89)} is VALID [2022-04-08 14:04:12,587 INFO L290 TraceCheckUtils]: 9: Hoare triple {19140#true} assume true; {19140#true} is VALID [2022-04-08 14:04:12,587 INFO L290 TraceCheckUtils]: 8: Hoare triple {19140#true} assume !(0 == ~cond); {19140#true} is VALID [2022-04-08 14:04:12,587 INFO L290 TraceCheckUtils]: 7: Hoare triple {19140#true} ~cond := #in~cond; {19140#true} is VALID [2022-04-08 14:04:12,588 INFO L272 TraceCheckUtils]: 6: Hoare triple {19830#(< ~counter~0 89)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {19140#true} is VALID [2022-04-08 14:04:12,588 INFO L290 TraceCheckUtils]: 5: Hoare triple {19830#(< ~counter~0 89)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {19830#(< ~counter~0 89)} is VALID [2022-04-08 14:04:12,588 INFO L272 TraceCheckUtils]: 4: Hoare triple {19830#(< ~counter~0 89)} call #t~ret7 := main(); {19830#(< ~counter~0 89)} is VALID [2022-04-08 14:04:12,588 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {19830#(< ~counter~0 89)} {19140#true} #77#return; {19830#(< ~counter~0 89)} is VALID [2022-04-08 14:04:12,589 INFO L290 TraceCheckUtils]: 2: Hoare triple {19830#(< ~counter~0 89)} assume true; {19830#(< ~counter~0 89)} is VALID [2022-04-08 14:04:12,589 INFO L290 TraceCheckUtils]: 1: Hoare triple {19140#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {19830#(< ~counter~0 89)} is VALID [2022-04-08 14:04:12,589 INFO L272 TraceCheckUtils]: 0: Hoare triple {19140#true} call ULTIMATE.init(); {19140#true} is VALID [2022-04-08 14:04:12,589 INFO L134 CoverageAnalysis]: Checked inductivity of 539 backedges. 22 proven. 297 refuted. 0 times theorem prover too weak. 220 trivial. 0 not checked. [2022-04-08 14:04:12,590 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 14:04:12,590 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1855410971] [2022-04-08 14:04:12,590 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 14:04:12,590 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [836396120] [2022-04-08 14:04:12,590 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [836396120] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 14:04:12,590 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 14:04:12,590 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 15] total 28 [2022-04-08 14:04:12,590 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 14:04:12,590 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2135037490] [2022-04-08 14:04:12,590 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2135037490] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 14:04:12,590 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 14:04:12,590 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-08 14:04:12,590 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1882623625] [2022-04-08 14:04:12,590 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 14:04:12,591 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 5.933333333333334) internal successors, (89), 14 states have internal predecessors, (89), 14 states have call successors, (15), 14 states have call predecessors, (15), 12 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Word has length 117 [2022-04-08 14:04:12,591 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 14:04:12,591 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 15 states have (on average 5.933333333333334) internal successors, (89), 14 states have internal predecessors, (89), 14 states have call successors, (15), 14 states have call predecessors, (15), 12 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 14:04:12,665 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 117 edges. 117 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:04:12,665 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-08 14:04:12,665 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 14:04:12,665 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-08 14:04:12,666 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=330, Invalid=426, Unknown=0, NotChecked=0, Total=756 [2022-04-08 14:04:12,666 INFO L87 Difference]: Start difference. First operand 153 states and 188 transitions. Second operand has 15 states, 15 states have (on average 5.933333333333334) internal successors, (89), 14 states have internal predecessors, (89), 14 states have call successors, (15), 14 states have call predecessors, (15), 12 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 14:04:13,318 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:04:13,318 INFO L93 Difference]: Finished difference Result 172 states and 211 transitions. [2022-04-08 14:04:13,318 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2022-04-08 14:04:13,318 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 5.933333333333334) internal successors, (89), 14 states have internal predecessors, (89), 14 states have call successors, (15), 14 states have call predecessors, (15), 12 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Word has length 117 [2022-04-08 14:04:13,318 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 14:04:13,319 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 5.933333333333334) internal successors, (89), 14 states have internal predecessors, (89), 14 states have call successors, (15), 14 states have call predecessors, (15), 12 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 14:04:13,320 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 197 transitions. [2022-04-08 14:04:13,321 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 5.933333333333334) internal successors, (89), 14 states have internal predecessors, (89), 14 states have call successors, (15), 14 states have call predecessors, (15), 12 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 14:04:13,322 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 197 transitions. [2022-04-08 14:04:13,322 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 26 states and 197 transitions. [2022-04-08 14:04:13,476 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 197 edges. 197 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:04:13,478 INFO L225 Difference]: With dead ends: 172 [2022-04-08 14:04:13,478 INFO L226 Difference]: Without dead ends: 164 [2022-04-08 14:04:13,479 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 244 GetRequests, 207 SyntacticMatches, 0 SemanticMatches, 37 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 89 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=627, Invalid=855, Unknown=0, NotChecked=0, Total=1482 [2022-04-08 14:04:13,479 INFO L913 BasicCegarLoop]: 41 mSDtfsCounter, 127 mSDsluCounter, 185 mSDsCounter, 0 mSdLazyCounter, 66 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 127 SdHoareTripleChecker+Valid, 226 SdHoareTripleChecker+Invalid, 76 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 66 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 14:04:13,479 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [127 Valid, 226 Invalid, 76 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 66 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 14:04:13,480 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 164 states. [2022-04-08 14:04:13,739 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 164 to 164. [2022-04-08 14:04:13,739 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 14:04:13,739 INFO L82 GeneralOperation]: Start isEquivalent. First operand 164 states. Second operand has 164 states, 129 states have (on average 1.302325581395349) internal successors, (168), 130 states have internal predecessors, (168), 18 states have call successors, (18), 17 states have call predecessors, (18), 16 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-08 14:04:13,739 INFO L74 IsIncluded]: Start isIncluded. First operand 164 states. Second operand has 164 states, 129 states have (on average 1.302325581395349) internal successors, (168), 130 states have internal predecessors, (168), 18 states have call successors, (18), 17 states have call predecessors, (18), 16 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-08 14:04:13,740 INFO L87 Difference]: Start difference. First operand 164 states. Second operand has 164 states, 129 states have (on average 1.302325581395349) internal successors, (168), 130 states have internal predecessors, (168), 18 states have call successors, (18), 17 states have call predecessors, (18), 16 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-08 14:04:13,741 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:04:13,741 INFO L93 Difference]: Finished difference Result 164 states and 202 transitions. [2022-04-08 14:04:13,741 INFO L276 IsEmpty]: Start isEmpty. Operand 164 states and 202 transitions. [2022-04-08 14:04:13,742 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:04:13,742 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:04:13,742 INFO L74 IsIncluded]: Start isIncluded. First operand has 164 states, 129 states have (on average 1.302325581395349) internal successors, (168), 130 states have internal predecessors, (168), 18 states have call successors, (18), 17 states have call predecessors, (18), 16 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) Second operand 164 states. [2022-04-08 14:04:13,742 INFO L87 Difference]: Start difference. First operand has 164 states, 129 states have (on average 1.302325581395349) internal successors, (168), 130 states have internal predecessors, (168), 18 states have call successors, (18), 17 states have call predecessors, (18), 16 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) Second operand 164 states. [2022-04-08 14:04:13,744 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:04:13,744 INFO L93 Difference]: Finished difference Result 164 states and 202 transitions. [2022-04-08 14:04:13,744 INFO L276 IsEmpty]: Start isEmpty. Operand 164 states and 202 transitions. [2022-04-08 14:04:13,744 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:04:13,744 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:04:13,744 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 14:04:13,744 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 14:04:13,744 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 164 states, 129 states have (on average 1.302325581395349) internal successors, (168), 130 states have internal predecessors, (168), 18 states have call successors, (18), 17 states have call predecessors, (18), 16 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-08 14:04:13,746 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 164 states to 164 states and 202 transitions. [2022-04-08 14:04:13,746 INFO L78 Accepts]: Start accepts. Automaton has 164 states and 202 transitions. Word has length 117 [2022-04-08 14:04:13,746 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 14:04:13,746 INFO L478 AbstractCegarLoop]: Abstraction has 164 states and 202 transitions. [2022-04-08 14:04:13,747 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 15 states have (on average 5.933333333333334) internal successors, (89), 14 states have internal predecessors, (89), 14 states have call successors, (15), 14 states have call predecessors, (15), 12 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 14:04:13,747 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 164 states and 202 transitions. [2022-04-08 14:04:37,480 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 202 edges. 191 inductive. 0 not inductive. 11 times theorem prover too weak to decide inductivity. [2022-04-08 14:04:37,480 INFO L276 IsEmpty]: Start isEmpty. Operand 164 states and 202 transitions. [2022-04-08 14:04:37,481 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 127 [2022-04-08 14:04:37,481 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 14:04:37,481 INFO L499 BasicCegarLoop]: trace histogram [13, 13, 12, 12, 12, 12, 12, 12, 12, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 14:04:37,499 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (25)] Forceful destruction successful, exit code 0 [2022-04-08 14:04:37,681 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 25 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable24 [2022-04-08 14:04:37,682 INFO L403 AbstractCegarLoop]: === Iteration 26 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 14:04:37,682 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 14:04:37,682 INFO L85 PathProgramCache]: Analyzing trace with hash -206022918, now seen corresponding path program 23 times [2022-04-08 14:04:37,682 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 14:04:37,682 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1291196503] [2022-04-08 14:04:43,732 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 14:04:43,732 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 14:04:43,732 INFO L85 PathProgramCache]: Analyzing trace with hash -206022918, now seen corresponding path program 24 times [2022-04-08 14:04:43,732 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 14:04:43,732 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1350024948] [2022-04-08 14:04:43,732 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 14:04:43,732 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 14:04:43,748 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 14:04:43,748 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [600046034] [2022-04-08 14:04:43,748 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 14:04:43,748 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 14:04:43,748 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 14:04:43,749 INFO L229 MonitoredProcess]: Starting monitored process 26 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 14:04:43,750 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (26)] Waiting until timeout for monitored process [2022-04-08 14:04:43,882 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 13 check-sat command(s) [2022-04-08 14:04:43,883 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 14:04:43,885 INFO L263 TraceCheckSpWp]: Trace formula consists of 398 conjuncts, 29 conjunts are in the unsatisfiable core [2022-04-08 14:04:43,907 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 14:04:43,909 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 14:04:44,523 INFO L272 TraceCheckUtils]: 0: Hoare triple {20891#true} call ULTIMATE.init(); {20891#true} is VALID [2022-04-08 14:04:44,524 INFO L290 TraceCheckUtils]: 1: Hoare triple {20891#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {20899#(<= ~counter~0 0)} is VALID [2022-04-08 14:04:44,524 INFO L290 TraceCheckUtils]: 2: Hoare triple {20899#(<= ~counter~0 0)} assume true; {20899#(<= ~counter~0 0)} is VALID [2022-04-08 14:04:44,524 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20899#(<= ~counter~0 0)} {20891#true} #77#return; {20899#(<= ~counter~0 0)} is VALID [2022-04-08 14:04:44,525 INFO L272 TraceCheckUtils]: 4: Hoare triple {20899#(<= ~counter~0 0)} call #t~ret7 := main(); {20899#(<= ~counter~0 0)} is VALID [2022-04-08 14:04:44,525 INFO L290 TraceCheckUtils]: 5: Hoare triple {20899#(<= ~counter~0 0)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {20899#(<= ~counter~0 0)} is VALID [2022-04-08 14:04:44,525 INFO L272 TraceCheckUtils]: 6: Hoare triple {20899#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {20899#(<= ~counter~0 0)} is VALID [2022-04-08 14:04:44,526 INFO L290 TraceCheckUtils]: 7: Hoare triple {20899#(<= ~counter~0 0)} ~cond := #in~cond; {20899#(<= ~counter~0 0)} is VALID [2022-04-08 14:04:44,526 INFO L290 TraceCheckUtils]: 8: Hoare triple {20899#(<= ~counter~0 0)} assume !(0 == ~cond); {20899#(<= ~counter~0 0)} is VALID [2022-04-08 14:04:44,526 INFO L290 TraceCheckUtils]: 9: Hoare triple {20899#(<= ~counter~0 0)} assume true; {20899#(<= ~counter~0 0)} is VALID [2022-04-08 14:04:44,526 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20899#(<= ~counter~0 0)} {20899#(<= ~counter~0 0)} #69#return; {20899#(<= ~counter~0 0)} is VALID [2022-04-08 14:04:44,527 INFO L290 TraceCheckUtils]: 11: Hoare triple {20899#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {20899#(<= ~counter~0 0)} is VALID [2022-04-08 14:04:44,527 INFO L290 TraceCheckUtils]: 12: Hoare triple {20899#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20933#(<= ~counter~0 1)} is VALID [2022-04-08 14:04:44,528 INFO L290 TraceCheckUtils]: 13: Hoare triple {20933#(<= ~counter~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {20933#(<= ~counter~0 1)} is VALID [2022-04-08 14:04:44,528 INFO L272 TraceCheckUtils]: 14: Hoare triple {20933#(<= ~counter~0 1)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {20933#(<= ~counter~0 1)} is VALID [2022-04-08 14:04:44,529 INFO L290 TraceCheckUtils]: 15: Hoare triple {20933#(<= ~counter~0 1)} ~cond := #in~cond; {20933#(<= ~counter~0 1)} is VALID [2022-04-08 14:04:44,529 INFO L290 TraceCheckUtils]: 16: Hoare triple {20933#(<= ~counter~0 1)} assume !(0 == ~cond); {20933#(<= ~counter~0 1)} is VALID [2022-04-08 14:04:44,529 INFO L290 TraceCheckUtils]: 17: Hoare triple {20933#(<= ~counter~0 1)} assume true; {20933#(<= ~counter~0 1)} is VALID [2022-04-08 14:04:44,530 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {20933#(<= ~counter~0 1)} {20933#(<= ~counter~0 1)} #71#return; {20933#(<= ~counter~0 1)} is VALID [2022-04-08 14:04:44,531 INFO L290 TraceCheckUtils]: 19: Hoare triple {20933#(<= ~counter~0 1)} assume !!(0 != ~a~0 && 0 != ~b~0); {20933#(<= ~counter~0 1)} is VALID [2022-04-08 14:04:44,531 INFO L290 TraceCheckUtils]: 20: Hoare triple {20933#(<= ~counter~0 1)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {20933#(<= ~counter~0 1)} is VALID [2022-04-08 14:04:44,531 INFO L290 TraceCheckUtils]: 21: Hoare triple {20933#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20961#(<= ~counter~0 2)} is VALID [2022-04-08 14:04:44,532 INFO L290 TraceCheckUtils]: 22: Hoare triple {20961#(<= ~counter~0 2)} assume !!(#t~post6 < 100);havoc #t~post6; {20961#(<= ~counter~0 2)} is VALID [2022-04-08 14:04:44,532 INFO L272 TraceCheckUtils]: 23: Hoare triple {20961#(<= ~counter~0 2)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {20961#(<= ~counter~0 2)} is VALID [2022-04-08 14:04:44,532 INFO L290 TraceCheckUtils]: 24: Hoare triple {20961#(<= ~counter~0 2)} ~cond := #in~cond; {20961#(<= ~counter~0 2)} is VALID [2022-04-08 14:04:44,533 INFO L290 TraceCheckUtils]: 25: Hoare triple {20961#(<= ~counter~0 2)} assume !(0 == ~cond); {20961#(<= ~counter~0 2)} is VALID [2022-04-08 14:04:44,533 INFO L290 TraceCheckUtils]: 26: Hoare triple {20961#(<= ~counter~0 2)} assume true; {20961#(<= ~counter~0 2)} is VALID [2022-04-08 14:04:44,533 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {20961#(<= ~counter~0 2)} {20961#(<= ~counter~0 2)} #71#return; {20961#(<= ~counter~0 2)} is VALID [2022-04-08 14:04:44,534 INFO L290 TraceCheckUtils]: 28: Hoare triple {20961#(<= ~counter~0 2)} assume !!(0 != ~a~0 && 0 != ~b~0); {20961#(<= ~counter~0 2)} is VALID [2022-04-08 14:04:44,534 INFO L290 TraceCheckUtils]: 29: Hoare triple {20961#(<= ~counter~0 2)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {20961#(<= ~counter~0 2)} is VALID [2022-04-08 14:04:44,534 INFO L290 TraceCheckUtils]: 30: Hoare triple {20961#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20989#(<= ~counter~0 3)} is VALID [2022-04-08 14:04:44,535 INFO L290 TraceCheckUtils]: 31: Hoare triple {20989#(<= ~counter~0 3)} assume !!(#t~post6 < 100);havoc #t~post6; {20989#(<= ~counter~0 3)} is VALID [2022-04-08 14:04:44,535 INFO L272 TraceCheckUtils]: 32: Hoare triple {20989#(<= ~counter~0 3)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {20989#(<= ~counter~0 3)} is VALID [2022-04-08 14:04:44,536 INFO L290 TraceCheckUtils]: 33: Hoare triple {20989#(<= ~counter~0 3)} ~cond := #in~cond; {20989#(<= ~counter~0 3)} is VALID [2022-04-08 14:04:44,536 INFO L290 TraceCheckUtils]: 34: Hoare triple {20989#(<= ~counter~0 3)} assume !(0 == ~cond); {20989#(<= ~counter~0 3)} is VALID [2022-04-08 14:04:44,536 INFO L290 TraceCheckUtils]: 35: Hoare triple {20989#(<= ~counter~0 3)} assume true; {20989#(<= ~counter~0 3)} is VALID [2022-04-08 14:04:44,537 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {20989#(<= ~counter~0 3)} {20989#(<= ~counter~0 3)} #71#return; {20989#(<= ~counter~0 3)} is VALID [2022-04-08 14:04:44,537 INFO L290 TraceCheckUtils]: 37: Hoare triple {20989#(<= ~counter~0 3)} assume !!(0 != ~a~0 && 0 != ~b~0); {20989#(<= ~counter~0 3)} is VALID [2022-04-08 14:04:44,537 INFO L290 TraceCheckUtils]: 38: Hoare triple {20989#(<= ~counter~0 3)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {20989#(<= ~counter~0 3)} is VALID [2022-04-08 14:04:44,538 INFO L290 TraceCheckUtils]: 39: Hoare triple {20989#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21017#(<= ~counter~0 4)} is VALID [2022-04-08 14:04:44,538 INFO L290 TraceCheckUtils]: 40: Hoare triple {21017#(<= ~counter~0 4)} assume !!(#t~post6 < 100);havoc #t~post6; {21017#(<= ~counter~0 4)} is VALID [2022-04-08 14:04:44,538 INFO L272 TraceCheckUtils]: 41: Hoare triple {21017#(<= ~counter~0 4)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {21017#(<= ~counter~0 4)} is VALID [2022-04-08 14:04:44,539 INFO L290 TraceCheckUtils]: 42: Hoare triple {21017#(<= ~counter~0 4)} ~cond := #in~cond; {21017#(<= ~counter~0 4)} is VALID [2022-04-08 14:04:44,539 INFO L290 TraceCheckUtils]: 43: Hoare triple {21017#(<= ~counter~0 4)} assume !(0 == ~cond); {21017#(<= ~counter~0 4)} is VALID [2022-04-08 14:04:44,539 INFO L290 TraceCheckUtils]: 44: Hoare triple {21017#(<= ~counter~0 4)} assume true; {21017#(<= ~counter~0 4)} is VALID [2022-04-08 14:04:44,540 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {21017#(<= ~counter~0 4)} {21017#(<= ~counter~0 4)} #71#return; {21017#(<= ~counter~0 4)} is VALID [2022-04-08 14:04:44,540 INFO L290 TraceCheckUtils]: 46: Hoare triple {21017#(<= ~counter~0 4)} assume !!(0 != ~a~0 && 0 != ~b~0); {21017#(<= ~counter~0 4)} is VALID [2022-04-08 14:04:44,540 INFO L290 TraceCheckUtils]: 47: Hoare triple {21017#(<= ~counter~0 4)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {21017#(<= ~counter~0 4)} is VALID [2022-04-08 14:04:44,541 INFO L290 TraceCheckUtils]: 48: Hoare triple {21017#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21045#(<= ~counter~0 5)} is VALID [2022-04-08 14:04:44,541 INFO L290 TraceCheckUtils]: 49: Hoare triple {21045#(<= ~counter~0 5)} assume !!(#t~post6 < 100);havoc #t~post6; {21045#(<= ~counter~0 5)} is VALID [2022-04-08 14:04:44,542 INFO L272 TraceCheckUtils]: 50: Hoare triple {21045#(<= ~counter~0 5)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {21045#(<= ~counter~0 5)} is VALID [2022-04-08 14:04:44,542 INFO L290 TraceCheckUtils]: 51: Hoare triple {21045#(<= ~counter~0 5)} ~cond := #in~cond; {21045#(<= ~counter~0 5)} is VALID [2022-04-08 14:04:44,542 INFO L290 TraceCheckUtils]: 52: Hoare triple {21045#(<= ~counter~0 5)} assume !(0 == ~cond); {21045#(<= ~counter~0 5)} is VALID [2022-04-08 14:04:44,542 INFO L290 TraceCheckUtils]: 53: Hoare triple {21045#(<= ~counter~0 5)} assume true; {21045#(<= ~counter~0 5)} is VALID [2022-04-08 14:04:44,543 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {21045#(<= ~counter~0 5)} {21045#(<= ~counter~0 5)} #71#return; {21045#(<= ~counter~0 5)} is VALID [2022-04-08 14:04:44,543 INFO L290 TraceCheckUtils]: 55: Hoare triple {21045#(<= ~counter~0 5)} assume !!(0 != ~a~0 && 0 != ~b~0); {21045#(<= ~counter~0 5)} is VALID [2022-04-08 14:04:44,544 INFO L290 TraceCheckUtils]: 56: Hoare triple {21045#(<= ~counter~0 5)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {21045#(<= ~counter~0 5)} is VALID [2022-04-08 14:04:44,544 INFO L290 TraceCheckUtils]: 57: Hoare triple {21045#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21073#(<= ~counter~0 6)} is VALID [2022-04-08 14:04:44,544 INFO L290 TraceCheckUtils]: 58: Hoare triple {21073#(<= ~counter~0 6)} assume !!(#t~post6 < 100);havoc #t~post6; {21073#(<= ~counter~0 6)} is VALID [2022-04-08 14:04:44,545 INFO L272 TraceCheckUtils]: 59: Hoare triple {21073#(<= ~counter~0 6)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {21073#(<= ~counter~0 6)} is VALID [2022-04-08 14:04:44,545 INFO L290 TraceCheckUtils]: 60: Hoare triple {21073#(<= ~counter~0 6)} ~cond := #in~cond; {21073#(<= ~counter~0 6)} is VALID [2022-04-08 14:04:44,545 INFO L290 TraceCheckUtils]: 61: Hoare triple {21073#(<= ~counter~0 6)} assume !(0 == ~cond); {21073#(<= ~counter~0 6)} is VALID [2022-04-08 14:04:44,546 INFO L290 TraceCheckUtils]: 62: Hoare triple {21073#(<= ~counter~0 6)} assume true; {21073#(<= ~counter~0 6)} is VALID [2022-04-08 14:04:44,546 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {21073#(<= ~counter~0 6)} {21073#(<= ~counter~0 6)} #71#return; {21073#(<= ~counter~0 6)} is VALID [2022-04-08 14:04:44,546 INFO L290 TraceCheckUtils]: 64: Hoare triple {21073#(<= ~counter~0 6)} assume !!(0 != ~a~0 && 0 != ~b~0); {21073#(<= ~counter~0 6)} is VALID [2022-04-08 14:04:44,547 INFO L290 TraceCheckUtils]: 65: Hoare triple {21073#(<= ~counter~0 6)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {21073#(<= ~counter~0 6)} is VALID [2022-04-08 14:04:44,547 INFO L290 TraceCheckUtils]: 66: Hoare triple {21073#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21101#(<= ~counter~0 7)} is VALID [2022-04-08 14:04:44,547 INFO L290 TraceCheckUtils]: 67: Hoare triple {21101#(<= ~counter~0 7)} assume !!(#t~post6 < 100);havoc #t~post6; {21101#(<= ~counter~0 7)} is VALID [2022-04-08 14:04:44,548 INFO L272 TraceCheckUtils]: 68: Hoare triple {21101#(<= ~counter~0 7)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {21101#(<= ~counter~0 7)} is VALID [2022-04-08 14:04:44,548 INFO L290 TraceCheckUtils]: 69: Hoare triple {21101#(<= ~counter~0 7)} ~cond := #in~cond; {21101#(<= ~counter~0 7)} is VALID [2022-04-08 14:04:44,548 INFO L290 TraceCheckUtils]: 70: Hoare triple {21101#(<= ~counter~0 7)} assume !(0 == ~cond); {21101#(<= ~counter~0 7)} is VALID [2022-04-08 14:04:44,549 INFO L290 TraceCheckUtils]: 71: Hoare triple {21101#(<= ~counter~0 7)} assume true; {21101#(<= ~counter~0 7)} is VALID [2022-04-08 14:04:44,549 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {21101#(<= ~counter~0 7)} {21101#(<= ~counter~0 7)} #71#return; {21101#(<= ~counter~0 7)} is VALID [2022-04-08 14:04:44,550 INFO L290 TraceCheckUtils]: 73: Hoare triple {21101#(<= ~counter~0 7)} assume !!(0 != ~a~0 && 0 != ~b~0); {21101#(<= ~counter~0 7)} is VALID [2022-04-08 14:04:44,550 INFO L290 TraceCheckUtils]: 74: Hoare triple {21101#(<= ~counter~0 7)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {21101#(<= ~counter~0 7)} is VALID [2022-04-08 14:04:44,550 INFO L290 TraceCheckUtils]: 75: Hoare triple {21101#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21129#(<= ~counter~0 8)} is VALID [2022-04-08 14:04:44,551 INFO L290 TraceCheckUtils]: 76: Hoare triple {21129#(<= ~counter~0 8)} assume !!(#t~post6 < 100);havoc #t~post6; {21129#(<= ~counter~0 8)} is VALID [2022-04-08 14:04:44,551 INFO L272 TraceCheckUtils]: 77: Hoare triple {21129#(<= ~counter~0 8)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {21129#(<= ~counter~0 8)} is VALID [2022-04-08 14:04:44,551 INFO L290 TraceCheckUtils]: 78: Hoare triple {21129#(<= ~counter~0 8)} ~cond := #in~cond; {21129#(<= ~counter~0 8)} is VALID [2022-04-08 14:04:44,552 INFO L290 TraceCheckUtils]: 79: Hoare triple {21129#(<= ~counter~0 8)} assume !(0 == ~cond); {21129#(<= ~counter~0 8)} is VALID [2022-04-08 14:04:44,552 INFO L290 TraceCheckUtils]: 80: Hoare triple {21129#(<= ~counter~0 8)} assume true; {21129#(<= ~counter~0 8)} is VALID [2022-04-08 14:04:44,552 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {21129#(<= ~counter~0 8)} {21129#(<= ~counter~0 8)} #71#return; {21129#(<= ~counter~0 8)} is VALID [2022-04-08 14:04:44,553 INFO L290 TraceCheckUtils]: 82: Hoare triple {21129#(<= ~counter~0 8)} assume !!(0 != ~a~0 && 0 != ~b~0); {21129#(<= ~counter~0 8)} is VALID [2022-04-08 14:04:44,553 INFO L290 TraceCheckUtils]: 83: Hoare triple {21129#(<= ~counter~0 8)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {21129#(<= ~counter~0 8)} is VALID [2022-04-08 14:04:44,553 INFO L290 TraceCheckUtils]: 84: Hoare triple {21129#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21157#(<= ~counter~0 9)} is VALID [2022-04-08 14:04:44,554 INFO L290 TraceCheckUtils]: 85: Hoare triple {21157#(<= ~counter~0 9)} assume !!(#t~post6 < 100);havoc #t~post6; {21157#(<= ~counter~0 9)} is VALID [2022-04-08 14:04:44,554 INFO L272 TraceCheckUtils]: 86: Hoare triple {21157#(<= ~counter~0 9)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {21157#(<= ~counter~0 9)} is VALID [2022-04-08 14:04:44,555 INFO L290 TraceCheckUtils]: 87: Hoare triple {21157#(<= ~counter~0 9)} ~cond := #in~cond; {21157#(<= ~counter~0 9)} is VALID [2022-04-08 14:04:44,555 INFO L290 TraceCheckUtils]: 88: Hoare triple {21157#(<= ~counter~0 9)} assume !(0 == ~cond); {21157#(<= ~counter~0 9)} is VALID [2022-04-08 14:04:44,555 INFO L290 TraceCheckUtils]: 89: Hoare triple {21157#(<= ~counter~0 9)} assume true; {21157#(<= ~counter~0 9)} is VALID [2022-04-08 14:04:44,556 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {21157#(<= ~counter~0 9)} {21157#(<= ~counter~0 9)} #71#return; {21157#(<= ~counter~0 9)} is VALID [2022-04-08 14:04:44,556 INFO L290 TraceCheckUtils]: 91: Hoare triple {21157#(<= ~counter~0 9)} assume !!(0 != ~a~0 && 0 != ~b~0); {21157#(<= ~counter~0 9)} is VALID [2022-04-08 14:04:44,556 INFO L290 TraceCheckUtils]: 92: Hoare triple {21157#(<= ~counter~0 9)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {21157#(<= ~counter~0 9)} is VALID [2022-04-08 14:04:44,557 INFO L290 TraceCheckUtils]: 93: Hoare triple {21157#(<= ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21185#(<= ~counter~0 10)} is VALID [2022-04-08 14:04:44,557 INFO L290 TraceCheckUtils]: 94: Hoare triple {21185#(<= ~counter~0 10)} assume !!(#t~post6 < 100);havoc #t~post6; {21185#(<= ~counter~0 10)} is VALID [2022-04-08 14:04:44,557 INFO L272 TraceCheckUtils]: 95: Hoare triple {21185#(<= ~counter~0 10)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {21185#(<= ~counter~0 10)} is VALID [2022-04-08 14:04:44,558 INFO L290 TraceCheckUtils]: 96: Hoare triple {21185#(<= ~counter~0 10)} ~cond := #in~cond; {21185#(<= ~counter~0 10)} is VALID [2022-04-08 14:04:44,558 INFO L290 TraceCheckUtils]: 97: Hoare triple {21185#(<= ~counter~0 10)} assume !(0 == ~cond); {21185#(<= ~counter~0 10)} is VALID [2022-04-08 14:04:44,558 INFO L290 TraceCheckUtils]: 98: Hoare triple {21185#(<= ~counter~0 10)} assume true; {21185#(<= ~counter~0 10)} is VALID [2022-04-08 14:04:44,559 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {21185#(<= ~counter~0 10)} {21185#(<= ~counter~0 10)} #71#return; {21185#(<= ~counter~0 10)} is VALID [2022-04-08 14:04:44,559 INFO L290 TraceCheckUtils]: 100: Hoare triple {21185#(<= ~counter~0 10)} assume !!(0 != ~a~0 && 0 != ~b~0); {21185#(<= ~counter~0 10)} is VALID [2022-04-08 14:04:44,559 INFO L290 TraceCheckUtils]: 101: Hoare triple {21185#(<= ~counter~0 10)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {21185#(<= ~counter~0 10)} is VALID [2022-04-08 14:04:44,560 INFO L290 TraceCheckUtils]: 102: Hoare triple {21185#(<= ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21213#(<= ~counter~0 11)} is VALID [2022-04-08 14:04:44,560 INFO L290 TraceCheckUtils]: 103: Hoare triple {21213#(<= ~counter~0 11)} assume !!(#t~post6 < 100);havoc #t~post6; {21213#(<= ~counter~0 11)} is VALID [2022-04-08 14:04:44,561 INFO L272 TraceCheckUtils]: 104: Hoare triple {21213#(<= ~counter~0 11)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {21213#(<= ~counter~0 11)} is VALID [2022-04-08 14:04:44,561 INFO L290 TraceCheckUtils]: 105: Hoare triple {21213#(<= ~counter~0 11)} ~cond := #in~cond; {21213#(<= ~counter~0 11)} is VALID [2022-04-08 14:04:44,561 INFO L290 TraceCheckUtils]: 106: Hoare triple {21213#(<= ~counter~0 11)} assume !(0 == ~cond); {21213#(<= ~counter~0 11)} is VALID [2022-04-08 14:04:44,569 INFO L290 TraceCheckUtils]: 107: Hoare triple {21213#(<= ~counter~0 11)} assume true; {21213#(<= ~counter~0 11)} is VALID [2022-04-08 14:04:44,570 INFO L284 TraceCheckUtils]: 108: Hoare quadruple {21213#(<= ~counter~0 11)} {21213#(<= ~counter~0 11)} #71#return; {21213#(<= ~counter~0 11)} is VALID [2022-04-08 14:04:44,570 INFO L290 TraceCheckUtils]: 109: Hoare triple {21213#(<= ~counter~0 11)} assume !!(0 != ~a~0 && 0 != ~b~0); {21213#(<= ~counter~0 11)} is VALID [2022-04-08 14:04:44,570 INFO L290 TraceCheckUtils]: 110: Hoare triple {21213#(<= ~counter~0 11)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {21213#(<= ~counter~0 11)} is VALID [2022-04-08 14:04:44,571 INFO L290 TraceCheckUtils]: 111: Hoare triple {21213#(<= ~counter~0 11)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21241#(<= ~counter~0 12)} is VALID [2022-04-08 14:04:44,571 INFO L290 TraceCheckUtils]: 112: Hoare triple {21241#(<= ~counter~0 12)} assume !!(#t~post6 < 100);havoc #t~post6; {21241#(<= ~counter~0 12)} is VALID [2022-04-08 14:04:44,572 INFO L272 TraceCheckUtils]: 113: Hoare triple {21241#(<= ~counter~0 12)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {21241#(<= ~counter~0 12)} is VALID [2022-04-08 14:04:44,572 INFO L290 TraceCheckUtils]: 114: Hoare triple {21241#(<= ~counter~0 12)} ~cond := #in~cond; {21241#(<= ~counter~0 12)} is VALID [2022-04-08 14:04:44,572 INFO L290 TraceCheckUtils]: 115: Hoare triple {21241#(<= ~counter~0 12)} assume !(0 == ~cond); {21241#(<= ~counter~0 12)} is VALID [2022-04-08 14:04:44,572 INFO L290 TraceCheckUtils]: 116: Hoare triple {21241#(<= ~counter~0 12)} assume true; {21241#(<= ~counter~0 12)} is VALID [2022-04-08 14:04:44,573 INFO L284 TraceCheckUtils]: 117: Hoare quadruple {21241#(<= ~counter~0 12)} {21241#(<= ~counter~0 12)} #71#return; {21241#(<= ~counter~0 12)} is VALID [2022-04-08 14:04:44,573 INFO L290 TraceCheckUtils]: 118: Hoare triple {21241#(<= ~counter~0 12)} assume !!(0 != ~a~0 && 0 != ~b~0); {21241#(<= ~counter~0 12)} is VALID [2022-04-08 14:04:44,573 INFO L290 TraceCheckUtils]: 119: Hoare triple {21241#(<= ~counter~0 12)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {21241#(<= ~counter~0 12)} is VALID [2022-04-08 14:04:44,574 INFO L290 TraceCheckUtils]: 120: Hoare triple {21241#(<= ~counter~0 12)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21269#(<= |main_#t~post6| 12)} is VALID [2022-04-08 14:04:44,574 INFO L290 TraceCheckUtils]: 121: Hoare triple {21269#(<= |main_#t~post6| 12)} assume !(#t~post6 < 100);havoc #t~post6; {20892#false} is VALID [2022-04-08 14:04:44,574 INFO L272 TraceCheckUtils]: 122: Hoare triple {20892#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {20892#false} is VALID [2022-04-08 14:04:44,574 INFO L290 TraceCheckUtils]: 123: Hoare triple {20892#false} ~cond := #in~cond; {20892#false} is VALID [2022-04-08 14:04:44,574 INFO L290 TraceCheckUtils]: 124: Hoare triple {20892#false} assume 0 == ~cond; {20892#false} is VALID [2022-04-08 14:04:44,574 INFO L290 TraceCheckUtils]: 125: Hoare triple {20892#false} assume !false; {20892#false} is VALID [2022-04-08 14:04:44,575 INFO L134 CoverageAnalysis]: Checked inductivity of 642 backedges. 24 proven. 618 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 14:04:44,575 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 14:04:45,210 INFO L290 TraceCheckUtils]: 125: Hoare triple {20892#false} assume !false; {20892#false} is VALID [2022-04-08 14:04:45,211 INFO L290 TraceCheckUtils]: 124: Hoare triple {20892#false} assume 0 == ~cond; {20892#false} is VALID [2022-04-08 14:04:45,211 INFO L290 TraceCheckUtils]: 123: Hoare triple {20892#false} ~cond := #in~cond; {20892#false} is VALID [2022-04-08 14:04:45,211 INFO L272 TraceCheckUtils]: 122: Hoare triple {20892#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {20892#false} is VALID [2022-04-08 14:04:45,211 INFO L290 TraceCheckUtils]: 121: Hoare triple {21297#(< |main_#t~post6| 100)} assume !(#t~post6 < 100);havoc #t~post6; {20892#false} is VALID [2022-04-08 14:04:45,211 INFO L290 TraceCheckUtils]: 120: Hoare triple {21301#(< ~counter~0 100)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21297#(< |main_#t~post6| 100)} is VALID [2022-04-08 14:04:45,212 INFO L290 TraceCheckUtils]: 119: Hoare triple {21301#(< ~counter~0 100)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {21301#(< ~counter~0 100)} is VALID [2022-04-08 14:04:45,212 INFO L290 TraceCheckUtils]: 118: Hoare triple {21301#(< ~counter~0 100)} assume !!(0 != ~a~0 && 0 != ~b~0); {21301#(< ~counter~0 100)} is VALID [2022-04-08 14:04:45,213 INFO L284 TraceCheckUtils]: 117: Hoare quadruple {20891#true} {21301#(< ~counter~0 100)} #71#return; {21301#(< ~counter~0 100)} is VALID [2022-04-08 14:04:45,213 INFO L290 TraceCheckUtils]: 116: Hoare triple {20891#true} assume true; {20891#true} is VALID [2022-04-08 14:04:45,213 INFO L290 TraceCheckUtils]: 115: Hoare triple {20891#true} assume !(0 == ~cond); {20891#true} is VALID [2022-04-08 14:04:45,213 INFO L290 TraceCheckUtils]: 114: Hoare triple {20891#true} ~cond := #in~cond; {20891#true} is VALID [2022-04-08 14:04:45,213 INFO L272 TraceCheckUtils]: 113: Hoare triple {21301#(< ~counter~0 100)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {20891#true} is VALID [2022-04-08 14:04:45,213 INFO L290 TraceCheckUtils]: 112: Hoare triple {21301#(< ~counter~0 100)} assume !!(#t~post6 < 100);havoc #t~post6; {21301#(< ~counter~0 100)} is VALID [2022-04-08 14:04:45,214 INFO L290 TraceCheckUtils]: 111: Hoare triple {21329#(< ~counter~0 99)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21301#(< ~counter~0 100)} is VALID [2022-04-08 14:04:45,214 INFO L290 TraceCheckUtils]: 110: Hoare triple {21329#(< ~counter~0 99)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {21329#(< ~counter~0 99)} is VALID [2022-04-08 14:04:45,214 INFO L290 TraceCheckUtils]: 109: Hoare triple {21329#(< ~counter~0 99)} assume !!(0 != ~a~0 && 0 != ~b~0); {21329#(< ~counter~0 99)} is VALID [2022-04-08 14:04:45,215 INFO L284 TraceCheckUtils]: 108: Hoare quadruple {20891#true} {21329#(< ~counter~0 99)} #71#return; {21329#(< ~counter~0 99)} is VALID [2022-04-08 14:04:45,215 INFO L290 TraceCheckUtils]: 107: Hoare triple {20891#true} assume true; {20891#true} is VALID [2022-04-08 14:04:45,215 INFO L290 TraceCheckUtils]: 106: Hoare triple {20891#true} assume !(0 == ~cond); {20891#true} is VALID [2022-04-08 14:04:45,215 INFO L290 TraceCheckUtils]: 105: Hoare triple {20891#true} ~cond := #in~cond; {20891#true} is VALID [2022-04-08 14:04:45,215 INFO L272 TraceCheckUtils]: 104: Hoare triple {21329#(< ~counter~0 99)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {20891#true} is VALID [2022-04-08 14:04:45,215 INFO L290 TraceCheckUtils]: 103: Hoare triple {21329#(< ~counter~0 99)} assume !!(#t~post6 < 100);havoc #t~post6; {21329#(< ~counter~0 99)} is VALID [2022-04-08 14:04:45,216 INFO L290 TraceCheckUtils]: 102: Hoare triple {21357#(< ~counter~0 98)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21329#(< ~counter~0 99)} is VALID [2022-04-08 14:04:45,216 INFO L290 TraceCheckUtils]: 101: Hoare triple {21357#(< ~counter~0 98)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {21357#(< ~counter~0 98)} is VALID [2022-04-08 14:04:45,216 INFO L290 TraceCheckUtils]: 100: Hoare triple {21357#(< ~counter~0 98)} assume !!(0 != ~a~0 && 0 != ~b~0); {21357#(< ~counter~0 98)} is VALID [2022-04-08 14:04:45,217 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {20891#true} {21357#(< ~counter~0 98)} #71#return; {21357#(< ~counter~0 98)} is VALID [2022-04-08 14:04:45,217 INFO L290 TraceCheckUtils]: 98: Hoare triple {20891#true} assume true; {20891#true} is VALID [2022-04-08 14:04:45,217 INFO L290 TraceCheckUtils]: 97: Hoare triple {20891#true} assume !(0 == ~cond); {20891#true} is VALID [2022-04-08 14:04:45,217 INFO L290 TraceCheckUtils]: 96: Hoare triple {20891#true} ~cond := #in~cond; {20891#true} is VALID [2022-04-08 14:04:45,217 INFO L272 TraceCheckUtils]: 95: Hoare triple {21357#(< ~counter~0 98)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {20891#true} is VALID [2022-04-08 14:04:45,218 INFO L290 TraceCheckUtils]: 94: Hoare triple {21357#(< ~counter~0 98)} assume !!(#t~post6 < 100);havoc #t~post6; {21357#(< ~counter~0 98)} is VALID [2022-04-08 14:04:45,218 INFO L290 TraceCheckUtils]: 93: Hoare triple {21385#(< ~counter~0 97)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21357#(< ~counter~0 98)} is VALID [2022-04-08 14:04:45,218 INFO L290 TraceCheckUtils]: 92: Hoare triple {21385#(< ~counter~0 97)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {21385#(< ~counter~0 97)} is VALID [2022-04-08 14:04:45,219 INFO L290 TraceCheckUtils]: 91: Hoare triple {21385#(< ~counter~0 97)} assume !!(0 != ~a~0 && 0 != ~b~0); {21385#(< ~counter~0 97)} is VALID [2022-04-08 14:04:45,219 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {20891#true} {21385#(< ~counter~0 97)} #71#return; {21385#(< ~counter~0 97)} is VALID [2022-04-08 14:04:45,219 INFO L290 TraceCheckUtils]: 89: Hoare triple {20891#true} assume true; {20891#true} is VALID [2022-04-08 14:04:45,219 INFO L290 TraceCheckUtils]: 88: Hoare triple {20891#true} assume !(0 == ~cond); {20891#true} is VALID [2022-04-08 14:04:45,219 INFO L290 TraceCheckUtils]: 87: Hoare triple {20891#true} ~cond := #in~cond; {20891#true} is VALID [2022-04-08 14:04:45,220 INFO L272 TraceCheckUtils]: 86: Hoare triple {21385#(< ~counter~0 97)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {20891#true} is VALID [2022-04-08 14:04:45,220 INFO L290 TraceCheckUtils]: 85: Hoare triple {21385#(< ~counter~0 97)} assume !!(#t~post6 < 100);havoc #t~post6; {21385#(< ~counter~0 97)} is VALID [2022-04-08 14:04:45,220 INFO L290 TraceCheckUtils]: 84: Hoare triple {21413#(< ~counter~0 96)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21385#(< ~counter~0 97)} is VALID [2022-04-08 14:04:45,220 INFO L290 TraceCheckUtils]: 83: Hoare triple {21413#(< ~counter~0 96)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {21413#(< ~counter~0 96)} is VALID [2022-04-08 14:04:45,221 INFO L290 TraceCheckUtils]: 82: Hoare triple {21413#(< ~counter~0 96)} assume !!(0 != ~a~0 && 0 != ~b~0); {21413#(< ~counter~0 96)} is VALID [2022-04-08 14:04:45,221 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {20891#true} {21413#(< ~counter~0 96)} #71#return; {21413#(< ~counter~0 96)} is VALID [2022-04-08 14:04:45,221 INFO L290 TraceCheckUtils]: 80: Hoare triple {20891#true} assume true; {20891#true} is VALID [2022-04-08 14:04:45,221 INFO L290 TraceCheckUtils]: 79: Hoare triple {20891#true} assume !(0 == ~cond); {20891#true} is VALID [2022-04-08 14:04:45,222 INFO L290 TraceCheckUtils]: 78: Hoare triple {20891#true} ~cond := #in~cond; {20891#true} is VALID [2022-04-08 14:04:45,222 INFO L272 TraceCheckUtils]: 77: Hoare triple {21413#(< ~counter~0 96)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {20891#true} is VALID [2022-04-08 14:04:45,222 INFO L290 TraceCheckUtils]: 76: Hoare triple {21413#(< ~counter~0 96)} assume !!(#t~post6 < 100);havoc #t~post6; {21413#(< ~counter~0 96)} is VALID [2022-04-08 14:04:45,222 INFO L290 TraceCheckUtils]: 75: Hoare triple {21441#(< ~counter~0 95)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21413#(< ~counter~0 96)} is VALID [2022-04-08 14:04:45,223 INFO L290 TraceCheckUtils]: 74: Hoare triple {21441#(< ~counter~0 95)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {21441#(< ~counter~0 95)} is VALID [2022-04-08 14:04:45,223 INFO L290 TraceCheckUtils]: 73: Hoare triple {21441#(< ~counter~0 95)} assume !!(0 != ~a~0 && 0 != ~b~0); {21441#(< ~counter~0 95)} is VALID [2022-04-08 14:04:45,223 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {20891#true} {21441#(< ~counter~0 95)} #71#return; {21441#(< ~counter~0 95)} is VALID [2022-04-08 14:04:45,224 INFO L290 TraceCheckUtils]: 71: Hoare triple {20891#true} assume true; {20891#true} is VALID [2022-04-08 14:04:45,224 INFO L290 TraceCheckUtils]: 70: Hoare triple {20891#true} assume !(0 == ~cond); {20891#true} is VALID [2022-04-08 14:04:45,224 INFO L290 TraceCheckUtils]: 69: Hoare triple {20891#true} ~cond := #in~cond; {20891#true} is VALID [2022-04-08 14:04:45,224 INFO L272 TraceCheckUtils]: 68: Hoare triple {21441#(< ~counter~0 95)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {20891#true} is VALID [2022-04-08 14:04:45,224 INFO L290 TraceCheckUtils]: 67: Hoare triple {21441#(< ~counter~0 95)} assume !!(#t~post6 < 100);havoc #t~post6; {21441#(< ~counter~0 95)} is VALID [2022-04-08 14:04:45,224 INFO L290 TraceCheckUtils]: 66: Hoare triple {21469#(< ~counter~0 94)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21441#(< ~counter~0 95)} is VALID [2022-04-08 14:04:45,225 INFO L290 TraceCheckUtils]: 65: Hoare triple {21469#(< ~counter~0 94)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {21469#(< ~counter~0 94)} is VALID [2022-04-08 14:04:45,225 INFO L290 TraceCheckUtils]: 64: Hoare triple {21469#(< ~counter~0 94)} assume !!(0 != ~a~0 && 0 != ~b~0); {21469#(< ~counter~0 94)} is VALID [2022-04-08 14:04:45,226 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {20891#true} {21469#(< ~counter~0 94)} #71#return; {21469#(< ~counter~0 94)} is VALID [2022-04-08 14:04:45,226 INFO L290 TraceCheckUtils]: 62: Hoare triple {20891#true} assume true; {20891#true} is VALID [2022-04-08 14:04:45,226 INFO L290 TraceCheckUtils]: 61: Hoare triple {20891#true} assume !(0 == ~cond); {20891#true} is VALID [2022-04-08 14:04:45,226 INFO L290 TraceCheckUtils]: 60: Hoare triple {20891#true} ~cond := #in~cond; {20891#true} is VALID [2022-04-08 14:04:45,226 INFO L272 TraceCheckUtils]: 59: Hoare triple {21469#(< ~counter~0 94)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {20891#true} is VALID [2022-04-08 14:04:45,226 INFO L290 TraceCheckUtils]: 58: Hoare triple {21469#(< ~counter~0 94)} assume !!(#t~post6 < 100);havoc #t~post6; {21469#(< ~counter~0 94)} is VALID [2022-04-08 14:04:45,227 INFO L290 TraceCheckUtils]: 57: Hoare triple {21497#(< ~counter~0 93)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21469#(< ~counter~0 94)} is VALID [2022-04-08 14:04:45,227 INFO L290 TraceCheckUtils]: 56: Hoare triple {21497#(< ~counter~0 93)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {21497#(< ~counter~0 93)} is VALID [2022-04-08 14:04:45,227 INFO L290 TraceCheckUtils]: 55: Hoare triple {21497#(< ~counter~0 93)} assume !!(0 != ~a~0 && 0 != ~b~0); {21497#(< ~counter~0 93)} is VALID [2022-04-08 14:04:45,228 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {20891#true} {21497#(< ~counter~0 93)} #71#return; {21497#(< ~counter~0 93)} is VALID [2022-04-08 14:04:45,228 INFO L290 TraceCheckUtils]: 53: Hoare triple {20891#true} assume true; {20891#true} is VALID [2022-04-08 14:04:45,228 INFO L290 TraceCheckUtils]: 52: Hoare triple {20891#true} assume !(0 == ~cond); {20891#true} is VALID [2022-04-08 14:04:45,228 INFO L290 TraceCheckUtils]: 51: Hoare triple {20891#true} ~cond := #in~cond; {20891#true} is VALID [2022-04-08 14:04:45,228 INFO L272 TraceCheckUtils]: 50: Hoare triple {21497#(< ~counter~0 93)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {20891#true} is VALID [2022-04-08 14:04:45,228 INFO L290 TraceCheckUtils]: 49: Hoare triple {21497#(< ~counter~0 93)} assume !!(#t~post6 < 100);havoc #t~post6; {21497#(< ~counter~0 93)} is VALID [2022-04-08 14:04:45,229 INFO L290 TraceCheckUtils]: 48: Hoare triple {21525#(< ~counter~0 92)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21497#(< ~counter~0 93)} is VALID [2022-04-08 14:04:45,229 INFO L290 TraceCheckUtils]: 47: Hoare triple {21525#(< ~counter~0 92)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {21525#(< ~counter~0 92)} is VALID [2022-04-08 14:04:45,229 INFO L290 TraceCheckUtils]: 46: Hoare triple {21525#(< ~counter~0 92)} assume !!(0 != ~a~0 && 0 != ~b~0); {21525#(< ~counter~0 92)} is VALID [2022-04-08 14:04:45,230 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {20891#true} {21525#(< ~counter~0 92)} #71#return; {21525#(< ~counter~0 92)} is VALID [2022-04-08 14:04:45,230 INFO L290 TraceCheckUtils]: 44: Hoare triple {20891#true} assume true; {20891#true} is VALID [2022-04-08 14:04:45,230 INFO L290 TraceCheckUtils]: 43: Hoare triple {20891#true} assume !(0 == ~cond); {20891#true} is VALID [2022-04-08 14:04:45,230 INFO L290 TraceCheckUtils]: 42: Hoare triple {20891#true} ~cond := #in~cond; {20891#true} is VALID [2022-04-08 14:04:45,230 INFO L272 TraceCheckUtils]: 41: Hoare triple {21525#(< ~counter~0 92)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {20891#true} is VALID [2022-04-08 14:04:45,230 INFO L290 TraceCheckUtils]: 40: Hoare triple {21525#(< ~counter~0 92)} assume !!(#t~post6 < 100);havoc #t~post6; {21525#(< ~counter~0 92)} is VALID [2022-04-08 14:04:45,231 INFO L290 TraceCheckUtils]: 39: Hoare triple {21553#(< ~counter~0 91)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21525#(< ~counter~0 92)} is VALID [2022-04-08 14:04:45,231 INFO L290 TraceCheckUtils]: 38: Hoare triple {21553#(< ~counter~0 91)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {21553#(< ~counter~0 91)} is VALID [2022-04-08 14:04:45,231 INFO L290 TraceCheckUtils]: 37: Hoare triple {21553#(< ~counter~0 91)} assume !!(0 != ~a~0 && 0 != ~b~0); {21553#(< ~counter~0 91)} is VALID [2022-04-08 14:04:45,232 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {20891#true} {21553#(< ~counter~0 91)} #71#return; {21553#(< ~counter~0 91)} is VALID [2022-04-08 14:04:45,232 INFO L290 TraceCheckUtils]: 35: Hoare triple {20891#true} assume true; {20891#true} is VALID [2022-04-08 14:04:45,232 INFO L290 TraceCheckUtils]: 34: Hoare triple {20891#true} assume !(0 == ~cond); {20891#true} is VALID [2022-04-08 14:04:45,232 INFO L290 TraceCheckUtils]: 33: Hoare triple {20891#true} ~cond := #in~cond; {20891#true} is VALID [2022-04-08 14:04:45,232 INFO L272 TraceCheckUtils]: 32: Hoare triple {21553#(< ~counter~0 91)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {20891#true} is VALID [2022-04-08 14:04:45,233 INFO L290 TraceCheckUtils]: 31: Hoare triple {21553#(< ~counter~0 91)} assume !!(#t~post6 < 100);havoc #t~post6; {21553#(< ~counter~0 91)} is VALID [2022-04-08 14:04:45,233 INFO L290 TraceCheckUtils]: 30: Hoare triple {21581#(< ~counter~0 90)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21553#(< ~counter~0 91)} is VALID [2022-04-08 14:04:45,233 INFO L290 TraceCheckUtils]: 29: Hoare triple {21581#(< ~counter~0 90)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {21581#(< ~counter~0 90)} is VALID [2022-04-08 14:04:45,234 INFO L290 TraceCheckUtils]: 28: Hoare triple {21581#(< ~counter~0 90)} assume !!(0 != ~a~0 && 0 != ~b~0); {21581#(< ~counter~0 90)} is VALID [2022-04-08 14:04:45,234 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {20891#true} {21581#(< ~counter~0 90)} #71#return; {21581#(< ~counter~0 90)} is VALID [2022-04-08 14:04:45,234 INFO L290 TraceCheckUtils]: 26: Hoare triple {20891#true} assume true; {20891#true} is VALID [2022-04-08 14:04:45,234 INFO L290 TraceCheckUtils]: 25: Hoare triple {20891#true} assume !(0 == ~cond); {20891#true} is VALID [2022-04-08 14:04:45,234 INFO L290 TraceCheckUtils]: 24: Hoare triple {20891#true} ~cond := #in~cond; {20891#true} is VALID [2022-04-08 14:04:45,234 INFO L272 TraceCheckUtils]: 23: Hoare triple {21581#(< ~counter~0 90)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {20891#true} is VALID [2022-04-08 14:04:45,235 INFO L290 TraceCheckUtils]: 22: Hoare triple {21581#(< ~counter~0 90)} assume !!(#t~post6 < 100);havoc #t~post6; {21581#(< ~counter~0 90)} is VALID [2022-04-08 14:04:45,235 INFO L290 TraceCheckUtils]: 21: Hoare triple {21609#(< ~counter~0 89)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21581#(< ~counter~0 90)} is VALID [2022-04-08 14:04:45,235 INFO L290 TraceCheckUtils]: 20: Hoare triple {21609#(< ~counter~0 89)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {21609#(< ~counter~0 89)} is VALID [2022-04-08 14:04:45,236 INFO L290 TraceCheckUtils]: 19: Hoare triple {21609#(< ~counter~0 89)} assume !!(0 != ~a~0 && 0 != ~b~0); {21609#(< ~counter~0 89)} is VALID [2022-04-08 14:04:45,236 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {20891#true} {21609#(< ~counter~0 89)} #71#return; {21609#(< ~counter~0 89)} is VALID [2022-04-08 14:04:45,236 INFO L290 TraceCheckUtils]: 17: Hoare triple {20891#true} assume true; {20891#true} is VALID [2022-04-08 14:04:45,236 INFO L290 TraceCheckUtils]: 16: Hoare triple {20891#true} assume !(0 == ~cond); {20891#true} is VALID [2022-04-08 14:04:45,237 INFO L290 TraceCheckUtils]: 15: Hoare triple {20891#true} ~cond := #in~cond; {20891#true} is VALID [2022-04-08 14:04:45,237 INFO L272 TraceCheckUtils]: 14: Hoare triple {21609#(< ~counter~0 89)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {20891#true} is VALID [2022-04-08 14:04:45,237 INFO L290 TraceCheckUtils]: 13: Hoare triple {21609#(< ~counter~0 89)} assume !!(#t~post6 < 100);havoc #t~post6; {21609#(< ~counter~0 89)} is VALID [2022-04-08 14:04:45,237 INFO L290 TraceCheckUtils]: 12: Hoare triple {21637#(< ~counter~0 88)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21609#(< ~counter~0 89)} is VALID [2022-04-08 14:04:45,238 INFO L290 TraceCheckUtils]: 11: Hoare triple {21637#(< ~counter~0 88)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {21637#(< ~counter~0 88)} is VALID [2022-04-08 14:04:45,238 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20891#true} {21637#(< ~counter~0 88)} #69#return; {21637#(< ~counter~0 88)} is VALID [2022-04-08 14:04:45,238 INFO L290 TraceCheckUtils]: 9: Hoare triple {20891#true} assume true; {20891#true} is VALID [2022-04-08 14:04:45,238 INFO L290 TraceCheckUtils]: 8: Hoare triple {20891#true} assume !(0 == ~cond); {20891#true} is VALID [2022-04-08 14:04:45,238 INFO L290 TraceCheckUtils]: 7: Hoare triple {20891#true} ~cond := #in~cond; {20891#true} is VALID [2022-04-08 14:04:45,238 INFO L272 TraceCheckUtils]: 6: Hoare triple {21637#(< ~counter~0 88)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {20891#true} is VALID [2022-04-08 14:04:45,238 INFO L290 TraceCheckUtils]: 5: Hoare triple {21637#(< ~counter~0 88)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {21637#(< ~counter~0 88)} is VALID [2022-04-08 14:04:45,239 INFO L272 TraceCheckUtils]: 4: Hoare triple {21637#(< ~counter~0 88)} call #t~ret7 := main(); {21637#(< ~counter~0 88)} is VALID [2022-04-08 14:04:45,239 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21637#(< ~counter~0 88)} {20891#true} #77#return; {21637#(< ~counter~0 88)} is VALID [2022-04-08 14:04:45,239 INFO L290 TraceCheckUtils]: 2: Hoare triple {21637#(< ~counter~0 88)} assume true; {21637#(< ~counter~0 88)} is VALID [2022-04-08 14:04:45,240 INFO L290 TraceCheckUtils]: 1: Hoare triple {20891#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {21637#(< ~counter~0 88)} is VALID [2022-04-08 14:04:45,240 INFO L272 TraceCheckUtils]: 0: Hoare triple {20891#true} call ULTIMATE.init(); {20891#true} is VALID [2022-04-08 14:04:45,240 INFO L134 CoverageAnalysis]: Checked inductivity of 642 backedges. 24 proven. 354 refuted. 0 times theorem prover too weak. 264 trivial. 0 not checked. [2022-04-08 14:04:45,240 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 14:04:45,241 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1350024948] [2022-04-08 14:04:45,241 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 14:04:45,241 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [600046034] [2022-04-08 14:04:45,241 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [600046034] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 14:04:45,241 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 14:04:45,241 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 16] total 30 [2022-04-08 14:04:45,242 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 14:04:45,242 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1291196503] [2022-04-08 14:04:45,242 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1291196503] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 14:04:45,242 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 14:04:45,242 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-08 14:04:45,242 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [513496736] [2022-04-08 14:04:45,242 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 14:04:45,243 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 6.0) internal successors, (96), 15 states have internal predecessors, (96), 15 states have call successors, (16), 15 states have call predecessors, (16), 13 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) Word has length 126 [2022-04-08 14:04:45,243 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 14:04:45,243 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 16 states have (on average 6.0) internal successors, (96), 15 states have internal predecessors, (96), 15 states have call successors, (16), 15 states have call predecessors, (16), 13 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-08 14:04:45,332 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 126 edges. 126 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:04:45,332 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-08 14:04:45,332 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 14:04:45,333 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-08 14:04:45,333 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=383, Invalid=487, Unknown=0, NotChecked=0, Total=870 [2022-04-08 14:04:45,333 INFO L87 Difference]: Start difference. First operand 164 states and 202 transitions. Second operand has 16 states, 16 states have (on average 6.0) internal successors, (96), 15 states have internal predecessors, (96), 15 states have call successors, (16), 15 states have call predecessors, (16), 13 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-08 14:04:46,082 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:04:46,082 INFO L93 Difference]: Finished difference Result 183 states and 225 transitions. [2022-04-08 14:04:46,082 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 28 states. [2022-04-08 14:04:46,082 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 6.0) internal successors, (96), 15 states have internal predecessors, (96), 15 states have call successors, (16), 15 states have call predecessors, (16), 13 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) Word has length 126 [2022-04-08 14:04:46,082 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 14:04:46,082 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 6.0) internal successors, (96), 15 states have internal predecessors, (96), 15 states have call successors, (16), 15 states have call predecessors, (16), 13 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-08 14:04:46,085 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 211 transitions. [2022-04-08 14:04:46,086 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 6.0) internal successors, (96), 15 states have internal predecessors, (96), 15 states have call successors, (16), 15 states have call predecessors, (16), 13 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-08 14:04:46,106 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 211 transitions. [2022-04-08 14:04:46,106 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 28 states and 211 transitions. [2022-04-08 14:04:46,266 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 211 edges. 211 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:04:46,268 INFO L225 Difference]: With dead ends: 183 [2022-04-08 14:04:46,269 INFO L226 Difference]: Without dead ends: 175 [2022-04-08 14:04:46,269 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 263 GetRequests, 223 SyntacticMatches, 0 SemanticMatches, 40 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 103 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=731, Invalid=991, Unknown=0, NotChecked=0, Total=1722 [2022-04-08 14:04:46,269 INFO L913 BasicCegarLoop]: 42 mSDtfsCounter, 121 mSDsluCounter, 204 mSDsCounter, 0 mSdLazyCounter, 77 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 121 SdHoareTripleChecker+Valid, 246 SdHoareTripleChecker+Invalid, 82 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 77 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 14:04:46,269 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [121 Valid, 246 Invalid, 82 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 77 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 14:04:46,270 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 175 states. [2022-04-08 14:04:46,500 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 175 to 175. [2022-04-08 14:04:46,500 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 14:04:46,501 INFO L82 GeneralOperation]: Start isEquivalent. First operand 175 states. Second operand has 175 states, 138 states have (on average 1.3043478260869565) internal successors, (180), 139 states have internal predecessors, (180), 19 states have call successors, (19), 18 states have call predecessors, (19), 17 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 14:04:46,507 INFO L74 IsIncluded]: Start isIncluded. First operand 175 states. Second operand has 175 states, 138 states have (on average 1.3043478260869565) internal successors, (180), 139 states have internal predecessors, (180), 19 states have call successors, (19), 18 states have call predecessors, (19), 17 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 14:04:46,508 INFO L87 Difference]: Start difference. First operand 175 states. Second operand has 175 states, 138 states have (on average 1.3043478260869565) internal successors, (180), 139 states have internal predecessors, (180), 19 states have call successors, (19), 18 states have call predecessors, (19), 17 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 14:04:46,510 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:04:46,510 INFO L93 Difference]: Finished difference Result 175 states and 216 transitions. [2022-04-08 14:04:46,510 INFO L276 IsEmpty]: Start isEmpty. Operand 175 states and 216 transitions. [2022-04-08 14:04:46,510 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:04:46,510 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:04:46,510 INFO L74 IsIncluded]: Start isIncluded. First operand has 175 states, 138 states have (on average 1.3043478260869565) internal successors, (180), 139 states have internal predecessors, (180), 19 states have call successors, (19), 18 states have call predecessors, (19), 17 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) Second operand 175 states. [2022-04-08 14:04:46,510 INFO L87 Difference]: Start difference. First operand has 175 states, 138 states have (on average 1.3043478260869565) internal successors, (180), 139 states have internal predecessors, (180), 19 states have call successors, (19), 18 states have call predecessors, (19), 17 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) Second operand 175 states. [2022-04-08 14:04:46,512 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:04:46,512 INFO L93 Difference]: Finished difference Result 175 states and 216 transitions. [2022-04-08 14:04:46,512 INFO L276 IsEmpty]: Start isEmpty. Operand 175 states and 216 transitions. [2022-04-08 14:04:46,512 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:04:46,512 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:04:46,513 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 14:04:46,513 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 14:04:46,513 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 175 states, 138 states have (on average 1.3043478260869565) internal successors, (180), 139 states have internal predecessors, (180), 19 states have call successors, (19), 18 states have call predecessors, (19), 17 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 14:04:46,515 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 175 states to 175 states and 216 transitions. [2022-04-08 14:04:46,515 INFO L78 Accepts]: Start accepts. Automaton has 175 states and 216 transitions. Word has length 126 [2022-04-08 14:04:46,515 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 14:04:46,515 INFO L478 AbstractCegarLoop]: Abstraction has 175 states and 216 transitions. [2022-04-08 14:04:46,515 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 16 states have (on average 6.0) internal successors, (96), 15 states have internal predecessors, (96), 15 states have call successors, (16), 15 states have call predecessors, (16), 13 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-08 14:04:46,515 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 175 states and 216 transitions. [2022-04-08 14:05:14,126 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 216 edges. 204 inductive. 0 not inductive. 12 times theorem prover too weak to decide inductivity. [2022-04-08 14:05:14,126 INFO L276 IsEmpty]: Start isEmpty. Operand 175 states and 216 transitions. [2022-04-08 14:05:14,127 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 136 [2022-04-08 14:05:14,127 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 14:05:14,127 INFO L499 BasicCegarLoop]: trace histogram [14, 14, 13, 13, 13, 13, 13, 13, 13, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 14:05:14,146 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (26)] Forceful destruction successful, exit code 0 [2022-04-08 14:05:14,327 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 26 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable25 [2022-04-08 14:05:14,327 INFO L403 AbstractCegarLoop]: === Iteration 27 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 14:05:14,328 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 14:05:14,328 INFO L85 PathProgramCache]: Analyzing trace with hash -1923626174, now seen corresponding path program 25 times [2022-04-08 14:05:14,328 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 14:05:14,328 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [489671601] [2022-04-08 14:05:18,704 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 14:05:18,705 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 14:05:18,705 INFO L85 PathProgramCache]: Analyzing trace with hash -1923626174, now seen corresponding path program 26 times [2022-04-08 14:05:18,705 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 14:05:18,705 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [955509007] [2022-04-08 14:05:18,705 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 14:05:18,705 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 14:05:18,722 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 14:05:18,722 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1285997154] [2022-04-08 14:05:18,722 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 14:05:18,722 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 14:05:18,722 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 14:05:18,723 INFO L229 MonitoredProcess]: Starting monitored process 27 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 14:05:18,724 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (27)] Waiting until timeout for monitored process [2022-04-08 14:05:18,813 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 14:05:18,813 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 14:05:18,815 INFO L263 TraceCheckSpWp]: Trace formula consists of 424 conjuncts, 31 conjunts are in the unsatisfiable core [2022-04-08 14:05:18,837 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 14:05:18,839 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 14:05:19,449 INFO L272 TraceCheckUtils]: 0: Hoare triple {22766#true} call ULTIMATE.init(); {22766#true} is VALID [2022-04-08 14:05:19,449 INFO L290 TraceCheckUtils]: 1: Hoare triple {22766#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {22774#(<= ~counter~0 0)} is VALID [2022-04-08 14:05:19,450 INFO L290 TraceCheckUtils]: 2: Hoare triple {22774#(<= ~counter~0 0)} assume true; {22774#(<= ~counter~0 0)} is VALID [2022-04-08 14:05:19,450 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {22774#(<= ~counter~0 0)} {22766#true} #77#return; {22774#(<= ~counter~0 0)} is VALID [2022-04-08 14:05:19,450 INFO L272 TraceCheckUtils]: 4: Hoare triple {22774#(<= ~counter~0 0)} call #t~ret7 := main(); {22774#(<= ~counter~0 0)} is VALID [2022-04-08 14:05:19,451 INFO L290 TraceCheckUtils]: 5: Hoare triple {22774#(<= ~counter~0 0)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {22774#(<= ~counter~0 0)} is VALID [2022-04-08 14:05:19,451 INFO L272 TraceCheckUtils]: 6: Hoare triple {22774#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {22774#(<= ~counter~0 0)} is VALID [2022-04-08 14:05:19,451 INFO L290 TraceCheckUtils]: 7: Hoare triple {22774#(<= ~counter~0 0)} ~cond := #in~cond; {22774#(<= ~counter~0 0)} is VALID [2022-04-08 14:05:19,452 INFO L290 TraceCheckUtils]: 8: Hoare triple {22774#(<= ~counter~0 0)} assume !(0 == ~cond); {22774#(<= ~counter~0 0)} is VALID [2022-04-08 14:05:19,452 INFO L290 TraceCheckUtils]: 9: Hoare triple {22774#(<= ~counter~0 0)} assume true; {22774#(<= ~counter~0 0)} is VALID [2022-04-08 14:05:19,452 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {22774#(<= ~counter~0 0)} {22774#(<= ~counter~0 0)} #69#return; {22774#(<= ~counter~0 0)} is VALID [2022-04-08 14:05:19,453 INFO L290 TraceCheckUtils]: 11: Hoare triple {22774#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {22774#(<= ~counter~0 0)} is VALID [2022-04-08 14:05:19,453 INFO L290 TraceCheckUtils]: 12: Hoare triple {22774#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22808#(<= ~counter~0 1)} is VALID [2022-04-08 14:05:19,454 INFO L290 TraceCheckUtils]: 13: Hoare triple {22808#(<= ~counter~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {22808#(<= ~counter~0 1)} is VALID [2022-04-08 14:05:19,454 INFO L272 TraceCheckUtils]: 14: Hoare triple {22808#(<= ~counter~0 1)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {22808#(<= ~counter~0 1)} is VALID [2022-04-08 14:05:19,454 INFO L290 TraceCheckUtils]: 15: Hoare triple {22808#(<= ~counter~0 1)} ~cond := #in~cond; {22808#(<= ~counter~0 1)} is VALID [2022-04-08 14:05:19,455 INFO L290 TraceCheckUtils]: 16: Hoare triple {22808#(<= ~counter~0 1)} assume !(0 == ~cond); {22808#(<= ~counter~0 1)} is VALID [2022-04-08 14:05:19,455 INFO L290 TraceCheckUtils]: 17: Hoare triple {22808#(<= ~counter~0 1)} assume true; {22808#(<= ~counter~0 1)} is VALID [2022-04-08 14:05:19,456 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {22808#(<= ~counter~0 1)} {22808#(<= ~counter~0 1)} #71#return; {22808#(<= ~counter~0 1)} is VALID [2022-04-08 14:05:19,456 INFO L290 TraceCheckUtils]: 19: Hoare triple {22808#(<= ~counter~0 1)} assume !!(0 != ~a~0 && 0 != ~b~0); {22808#(<= ~counter~0 1)} is VALID [2022-04-08 14:05:19,456 INFO L290 TraceCheckUtils]: 20: Hoare triple {22808#(<= ~counter~0 1)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {22808#(<= ~counter~0 1)} is VALID [2022-04-08 14:05:19,457 INFO L290 TraceCheckUtils]: 21: Hoare triple {22808#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22836#(<= ~counter~0 2)} is VALID [2022-04-08 14:05:19,457 INFO L290 TraceCheckUtils]: 22: Hoare triple {22836#(<= ~counter~0 2)} assume !!(#t~post6 < 100);havoc #t~post6; {22836#(<= ~counter~0 2)} is VALID [2022-04-08 14:05:19,457 INFO L272 TraceCheckUtils]: 23: Hoare triple {22836#(<= ~counter~0 2)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {22836#(<= ~counter~0 2)} is VALID [2022-04-08 14:05:19,458 INFO L290 TraceCheckUtils]: 24: Hoare triple {22836#(<= ~counter~0 2)} ~cond := #in~cond; {22836#(<= ~counter~0 2)} is VALID [2022-04-08 14:05:19,458 INFO L290 TraceCheckUtils]: 25: Hoare triple {22836#(<= ~counter~0 2)} assume !(0 == ~cond); {22836#(<= ~counter~0 2)} is VALID [2022-04-08 14:05:19,458 INFO L290 TraceCheckUtils]: 26: Hoare triple {22836#(<= ~counter~0 2)} assume true; {22836#(<= ~counter~0 2)} is VALID [2022-04-08 14:05:19,459 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {22836#(<= ~counter~0 2)} {22836#(<= ~counter~0 2)} #71#return; {22836#(<= ~counter~0 2)} is VALID [2022-04-08 14:05:19,459 INFO L290 TraceCheckUtils]: 28: Hoare triple {22836#(<= ~counter~0 2)} assume !!(0 != ~a~0 && 0 != ~b~0); {22836#(<= ~counter~0 2)} is VALID [2022-04-08 14:05:19,459 INFO L290 TraceCheckUtils]: 29: Hoare triple {22836#(<= ~counter~0 2)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {22836#(<= ~counter~0 2)} is VALID [2022-04-08 14:05:19,460 INFO L290 TraceCheckUtils]: 30: Hoare triple {22836#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22864#(<= ~counter~0 3)} is VALID [2022-04-08 14:05:19,460 INFO L290 TraceCheckUtils]: 31: Hoare triple {22864#(<= ~counter~0 3)} assume !!(#t~post6 < 100);havoc #t~post6; {22864#(<= ~counter~0 3)} is VALID [2022-04-08 14:05:19,461 INFO L272 TraceCheckUtils]: 32: Hoare triple {22864#(<= ~counter~0 3)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {22864#(<= ~counter~0 3)} is VALID [2022-04-08 14:05:19,461 INFO L290 TraceCheckUtils]: 33: Hoare triple {22864#(<= ~counter~0 3)} ~cond := #in~cond; {22864#(<= ~counter~0 3)} is VALID [2022-04-08 14:05:19,461 INFO L290 TraceCheckUtils]: 34: Hoare triple {22864#(<= ~counter~0 3)} assume !(0 == ~cond); {22864#(<= ~counter~0 3)} is VALID [2022-04-08 14:05:19,462 INFO L290 TraceCheckUtils]: 35: Hoare triple {22864#(<= ~counter~0 3)} assume true; {22864#(<= ~counter~0 3)} is VALID [2022-04-08 14:05:19,462 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {22864#(<= ~counter~0 3)} {22864#(<= ~counter~0 3)} #71#return; {22864#(<= ~counter~0 3)} is VALID [2022-04-08 14:05:19,462 INFO L290 TraceCheckUtils]: 37: Hoare triple {22864#(<= ~counter~0 3)} assume !!(0 != ~a~0 && 0 != ~b~0); {22864#(<= ~counter~0 3)} is VALID [2022-04-08 14:05:19,463 INFO L290 TraceCheckUtils]: 38: Hoare triple {22864#(<= ~counter~0 3)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {22864#(<= ~counter~0 3)} is VALID [2022-04-08 14:05:19,463 INFO L290 TraceCheckUtils]: 39: Hoare triple {22864#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22892#(<= ~counter~0 4)} is VALID [2022-04-08 14:05:19,463 INFO L290 TraceCheckUtils]: 40: Hoare triple {22892#(<= ~counter~0 4)} assume !!(#t~post6 < 100);havoc #t~post6; {22892#(<= ~counter~0 4)} is VALID [2022-04-08 14:05:19,464 INFO L272 TraceCheckUtils]: 41: Hoare triple {22892#(<= ~counter~0 4)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {22892#(<= ~counter~0 4)} is VALID [2022-04-08 14:05:19,464 INFO L290 TraceCheckUtils]: 42: Hoare triple {22892#(<= ~counter~0 4)} ~cond := #in~cond; {22892#(<= ~counter~0 4)} is VALID [2022-04-08 14:05:19,464 INFO L290 TraceCheckUtils]: 43: Hoare triple {22892#(<= ~counter~0 4)} assume !(0 == ~cond); {22892#(<= ~counter~0 4)} is VALID [2022-04-08 14:05:19,465 INFO L290 TraceCheckUtils]: 44: Hoare triple {22892#(<= ~counter~0 4)} assume true; {22892#(<= ~counter~0 4)} is VALID [2022-04-08 14:05:19,465 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {22892#(<= ~counter~0 4)} {22892#(<= ~counter~0 4)} #71#return; {22892#(<= ~counter~0 4)} is VALID [2022-04-08 14:05:19,465 INFO L290 TraceCheckUtils]: 46: Hoare triple {22892#(<= ~counter~0 4)} assume !!(0 != ~a~0 && 0 != ~b~0); {22892#(<= ~counter~0 4)} is VALID [2022-04-08 14:05:19,465 INFO L290 TraceCheckUtils]: 47: Hoare triple {22892#(<= ~counter~0 4)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {22892#(<= ~counter~0 4)} is VALID [2022-04-08 14:05:19,466 INFO L290 TraceCheckUtils]: 48: Hoare triple {22892#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22920#(<= ~counter~0 5)} is VALID [2022-04-08 14:05:19,466 INFO L290 TraceCheckUtils]: 49: Hoare triple {22920#(<= ~counter~0 5)} assume !!(#t~post6 < 100);havoc #t~post6; {22920#(<= ~counter~0 5)} is VALID [2022-04-08 14:05:19,466 INFO L272 TraceCheckUtils]: 50: Hoare triple {22920#(<= ~counter~0 5)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {22920#(<= ~counter~0 5)} is VALID [2022-04-08 14:05:19,467 INFO L290 TraceCheckUtils]: 51: Hoare triple {22920#(<= ~counter~0 5)} ~cond := #in~cond; {22920#(<= ~counter~0 5)} is VALID [2022-04-08 14:05:19,467 INFO L290 TraceCheckUtils]: 52: Hoare triple {22920#(<= ~counter~0 5)} assume !(0 == ~cond); {22920#(<= ~counter~0 5)} is VALID [2022-04-08 14:05:19,467 INFO L290 TraceCheckUtils]: 53: Hoare triple {22920#(<= ~counter~0 5)} assume true; {22920#(<= ~counter~0 5)} is VALID [2022-04-08 14:05:19,467 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {22920#(<= ~counter~0 5)} {22920#(<= ~counter~0 5)} #71#return; {22920#(<= ~counter~0 5)} is VALID [2022-04-08 14:05:19,468 INFO L290 TraceCheckUtils]: 55: Hoare triple {22920#(<= ~counter~0 5)} assume !!(0 != ~a~0 && 0 != ~b~0); {22920#(<= ~counter~0 5)} is VALID [2022-04-08 14:05:19,468 INFO L290 TraceCheckUtils]: 56: Hoare triple {22920#(<= ~counter~0 5)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {22920#(<= ~counter~0 5)} is VALID [2022-04-08 14:05:19,468 INFO L290 TraceCheckUtils]: 57: Hoare triple {22920#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22948#(<= ~counter~0 6)} is VALID [2022-04-08 14:05:19,469 INFO L290 TraceCheckUtils]: 58: Hoare triple {22948#(<= ~counter~0 6)} assume !!(#t~post6 < 100);havoc #t~post6; {22948#(<= ~counter~0 6)} is VALID [2022-04-08 14:05:19,469 INFO L272 TraceCheckUtils]: 59: Hoare triple {22948#(<= ~counter~0 6)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {22948#(<= ~counter~0 6)} is VALID [2022-04-08 14:05:19,469 INFO L290 TraceCheckUtils]: 60: Hoare triple {22948#(<= ~counter~0 6)} ~cond := #in~cond; {22948#(<= ~counter~0 6)} is VALID [2022-04-08 14:05:19,469 INFO L290 TraceCheckUtils]: 61: Hoare triple {22948#(<= ~counter~0 6)} assume !(0 == ~cond); {22948#(<= ~counter~0 6)} is VALID [2022-04-08 14:05:19,470 INFO L290 TraceCheckUtils]: 62: Hoare triple {22948#(<= ~counter~0 6)} assume true; {22948#(<= ~counter~0 6)} is VALID [2022-04-08 14:05:19,470 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {22948#(<= ~counter~0 6)} {22948#(<= ~counter~0 6)} #71#return; {22948#(<= ~counter~0 6)} is VALID [2022-04-08 14:05:19,470 INFO L290 TraceCheckUtils]: 64: Hoare triple {22948#(<= ~counter~0 6)} assume !!(0 != ~a~0 && 0 != ~b~0); {22948#(<= ~counter~0 6)} is VALID [2022-04-08 14:05:19,470 INFO L290 TraceCheckUtils]: 65: Hoare triple {22948#(<= ~counter~0 6)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {22948#(<= ~counter~0 6)} is VALID [2022-04-08 14:05:19,471 INFO L290 TraceCheckUtils]: 66: Hoare triple {22948#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22976#(<= ~counter~0 7)} is VALID [2022-04-08 14:05:19,475 INFO L290 TraceCheckUtils]: 67: Hoare triple {22976#(<= ~counter~0 7)} assume !!(#t~post6 < 100);havoc #t~post6; {22976#(<= ~counter~0 7)} is VALID [2022-04-08 14:05:19,476 INFO L272 TraceCheckUtils]: 68: Hoare triple {22976#(<= ~counter~0 7)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {22976#(<= ~counter~0 7)} is VALID [2022-04-08 14:05:19,476 INFO L290 TraceCheckUtils]: 69: Hoare triple {22976#(<= ~counter~0 7)} ~cond := #in~cond; {22976#(<= ~counter~0 7)} is VALID [2022-04-08 14:05:19,477 INFO L290 TraceCheckUtils]: 70: Hoare triple {22976#(<= ~counter~0 7)} assume !(0 == ~cond); {22976#(<= ~counter~0 7)} is VALID [2022-04-08 14:05:19,477 INFO L290 TraceCheckUtils]: 71: Hoare triple {22976#(<= ~counter~0 7)} assume true; {22976#(<= ~counter~0 7)} is VALID [2022-04-08 14:05:19,477 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {22976#(<= ~counter~0 7)} {22976#(<= ~counter~0 7)} #71#return; {22976#(<= ~counter~0 7)} is VALID [2022-04-08 14:05:19,478 INFO L290 TraceCheckUtils]: 73: Hoare triple {22976#(<= ~counter~0 7)} assume !!(0 != ~a~0 && 0 != ~b~0); {22976#(<= ~counter~0 7)} is VALID [2022-04-08 14:05:19,478 INFO L290 TraceCheckUtils]: 74: Hoare triple {22976#(<= ~counter~0 7)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {22976#(<= ~counter~0 7)} is VALID [2022-04-08 14:05:19,479 INFO L290 TraceCheckUtils]: 75: Hoare triple {22976#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23004#(<= ~counter~0 8)} is VALID [2022-04-08 14:05:19,479 INFO L290 TraceCheckUtils]: 76: Hoare triple {23004#(<= ~counter~0 8)} assume !!(#t~post6 < 100);havoc #t~post6; {23004#(<= ~counter~0 8)} is VALID [2022-04-08 14:05:19,479 INFO L272 TraceCheckUtils]: 77: Hoare triple {23004#(<= ~counter~0 8)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {23004#(<= ~counter~0 8)} is VALID [2022-04-08 14:05:19,480 INFO L290 TraceCheckUtils]: 78: Hoare triple {23004#(<= ~counter~0 8)} ~cond := #in~cond; {23004#(<= ~counter~0 8)} is VALID [2022-04-08 14:05:19,480 INFO L290 TraceCheckUtils]: 79: Hoare triple {23004#(<= ~counter~0 8)} assume !(0 == ~cond); {23004#(<= ~counter~0 8)} is VALID [2022-04-08 14:05:19,480 INFO L290 TraceCheckUtils]: 80: Hoare triple {23004#(<= ~counter~0 8)} assume true; {23004#(<= ~counter~0 8)} is VALID [2022-04-08 14:05:19,481 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {23004#(<= ~counter~0 8)} {23004#(<= ~counter~0 8)} #71#return; {23004#(<= ~counter~0 8)} is VALID [2022-04-08 14:05:19,481 INFO L290 TraceCheckUtils]: 82: Hoare triple {23004#(<= ~counter~0 8)} assume !!(0 != ~a~0 && 0 != ~b~0); {23004#(<= ~counter~0 8)} is VALID [2022-04-08 14:05:19,481 INFO L290 TraceCheckUtils]: 83: Hoare triple {23004#(<= ~counter~0 8)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {23004#(<= ~counter~0 8)} is VALID [2022-04-08 14:05:19,482 INFO L290 TraceCheckUtils]: 84: Hoare triple {23004#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23032#(<= ~counter~0 9)} is VALID [2022-04-08 14:05:19,482 INFO L290 TraceCheckUtils]: 85: Hoare triple {23032#(<= ~counter~0 9)} assume !!(#t~post6 < 100);havoc #t~post6; {23032#(<= ~counter~0 9)} is VALID [2022-04-08 14:05:19,483 INFO L272 TraceCheckUtils]: 86: Hoare triple {23032#(<= ~counter~0 9)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {23032#(<= ~counter~0 9)} is VALID [2022-04-08 14:05:19,483 INFO L290 TraceCheckUtils]: 87: Hoare triple {23032#(<= ~counter~0 9)} ~cond := #in~cond; {23032#(<= ~counter~0 9)} is VALID [2022-04-08 14:05:19,483 INFO L290 TraceCheckUtils]: 88: Hoare triple {23032#(<= ~counter~0 9)} assume !(0 == ~cond); {23032#(<= ~counter~0 9)} is VALID [2022-04-08 14:05:19,484 INFO L290 TraceCheckUtils]: 89: Hoare triple {23032#(<= ~counter~0 9)} assume true; {23032#(<= ~counter~0 9)} is VALID [2022-04-08 14:05:19,484 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {23032#(<= ~counter~0 9)} {23032#(<= ~counter~0 9)} #71#return; {23032#(<= ~counter~0 9)} is VALID [2022-04-08 14:05:19,484 INFO L290 TraceCheckUtils]: 91: Hoare triple {23032#(<= ~counter~0 9)} assume !!(0 != ~a~0 && 0 != ~b~0); {23032#(<= ~counter~0 9)} is VALID [2022-04-08 14:05:19,485 INFO L290 TraceCheckUtils]: 92: Hoare triple {23032#(<= ~counter~0 9)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {23032#(<= ~counter~0 9)} is VALID [2022-04-08 14:05:19,485 INFO L290 TraceCheckUtils]: 93: Hoare triple {23032#(<= ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23060#(<= ~counter~0 10)} is VALID [2022-04-08 14:05:19,485 INFO L290 TraceCheckUtils]: 94: Hoare triple {23060#(<= ~counter~0 10)} assume !!(#t~post6 < 100);havoc #t~post6; {23060#(<= ~counter~0 10)} is VALID [2022-04-08 14:05:19,486 INFO L272 TraceCheckUtils]: 95: Hoare triple {23060#(<= ~counter~0 10)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {23060#(<= ~counter~0 10)} is VALID [2022-04-08 14:05:19,486 INFO L290 TraceCheckUtils]: 96: Hoare triple {23060#(<= ~counter~0 10)} ~cond := #in~cond; {23060#(<= ~counter~0 10)} is VALID [2022-04-08 14:05:19,487 INFO L290 TraceCheckUtils]: 97: Hoare triple {23060#(<= ~counter~0 10)} assume !(0 == ~cond); {23060#(<= ~counter~0 10)} is VALID [2022-04-08 14:05:19,487 INFO L290 TraceCheckUtils]: 98: Hoare triple {23060#(<= ~counter~0 10)} assume true; {23060#(<= ~counter~0 10)} is VALID [2022-04-08 14:05:19,487 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {23060#(<= ~counter~0 10)} {23060#(<= ~counter~0 10)} #71#return; {23060#(<= ~counter~0 10)} is VALID [2022-04-08 14:05:19,488 INFO L290 TraceCheckUtils]: 100: Hoare triple {23060#(<= ~counter~0 10)} assume !!(0 != ~a~0 && 0 != ~b~0); {23060#(<= ~counter~0 10)} is VALID [2022-04-08 14:05:19,488 INFO L290 TraceCheckUtils]: 101: Hoare triple {23060#(<= ~counter~0 10)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {23060#(<= ~counter~0 10)} is VALID [2022-04-08 14:05:19,488 INFO L290 TraceCheckUtils]: 102: Hoare triple {23060#(<= ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23088#(<= ~counter~0 11)} is VALID [2022-04-08 14:05:19,489 INFO L290 TraceCheckUtils]: 103: Hoare triple {23088#(<= ~counter~0 11)} assume !!(#t~post6 < 100);havoc #t~post6; {23088#(<= ~counter~0 11)} is VALID [2022-04-08 14:05:19,489 INFO L272 TraceCheckUtils]: 104: Hoare triple {23088#(<= ~counter~0 11)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {23088#(<= ~counter~0 11)} is VALID [2022-04-08 14:05:19,490 INFO L290 TraceCheckUtils]: 105: Hoare triple {23088#(<= ~counter~0 11)} ~cond := #in~cond; {23088#(<= ~counter~0 11)} is VALID [2022-04-08 14:05:19,490 INFO L290 TraceCheckUtils]: 106: Hoare triple {23088#(<= ~counter~0 11)} assume !(0 == ~cond); {23088#(<= ~counter~0 11)} is VALID [2022-04-08 14:05:19,490 INFO L290 TraceCheckUtils]: 107: Hoare triple {23088#(<= ~counter~0 11)} assume true; {23088#(<= ~counter~0 11)} is VALID [2022-04-08 14:05:19,491 INFO L284 TraceCheckUtils]: 108: Hoare quadruple {23088#(<= ~counter~0 11)} {23088#(<= ~counter~0 11)} #71#return; {23088#(<= ~counter~0 11)} is VALID [2022-04-08 14:05:19,491 INFO L290 TraceCheckUtils]: 109: Hoare triple {23088#(<= ~counter~0 11)} assume !!(0 != ~a~0 && 0 != ~b~0); {23088#(<= ~counter~0 11)} is VALID [2022-04-08 14:05:19,491 INFO L290 TraceCheckUtils]: 110: Hoare triple {23088#(<= ~counter~0 11)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {23088#(<= ~counter~0 11)} is VALID [2022-04-08 14:05:19,492 INFO L290 TraceCheckUtils]: 111: Hoare triple {23088#(<= ~counter~0 11)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23116#(<= ~counter~0 12)} is VALID [2022-04-08 14:05:19,492 INFO L290 TraceCheckUtils]: 112: Hoare triple {23116#(<= ~counter~0 12)} assume !!(#t~post6 < 100);havoc #t~post6; {23116#(<= ~counter~0 12)} is VALID [2022-04-08 14:05:19,493 INFO L272 TraceCheckUtils]: 113: Hoare triple {23116#(<= ~counter~0 12)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {23116#(<= ~counter~0 12)} is VALID [2022-04-08 14:05:19,493 INFO L290 TraceCheckUtils]: 114: Hoare triple {23116#(<= ~counter~0 12)} ~cond := #in~cond; {23116#(<= ~counter~0 12)} is VALID [2022-04-08 14:05:19,493 INFO L290 TraceCheckUtils]: 115: Hoare triple {23116#(<= ~counter~0 12)} assume !(0 == ~cond); {23116#(<= ~counter~0 12)} is VALID [2022-04-08 14:05:19,493 INFO L290 TraceCheckUtils]: 116: Hoare triple {23116#(<= ~counter~0 12)} assume true; {23116#(<= ~counter~0 12)} is VALID [2022-04-08 14:05:19,494 INFO L284 TraceCheckUtils]: 117: Hoare quadruple {23116#(<= ~counter~0 12)} {23116#(<= ~counter~0 12)} #71#return; {23116#(<= ~counter~0 12)} is VALID [2022-04-08 14:05:19,494 INFO L290 TraceCheckUtils]: 118: Hoare triple {23116#(<= ~counter~0 12)} assume !!(0 != ~a~0 && 0 != ~b~0); {23116#(<= ~counter~0 12)} is VALID [2022-04-08 14:05:19,495 INFO L290 TraceCheckUtils]: 119: Hoare triple {23116#(<= ~counter~0 12)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {23116#(<= ~counter~0 12)} is VALID [2022-04-08 14:05:19,495 INFO L290 TraceCheckUtils]: 120: Hoare triple {23116#(<= ~counter~0 12)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23144#(<= ~counter~0 13)} is VALID [2022-04-08 14:05:19,495 INFO L290 TraceCheckUtils]: 121: Hoare triple {23144#(<= ~counter~0 13)} assume !!(#t~post6 < 100);havoc #t~post6; {23144#(<= ~counter~0 13)} is VALID [2022-04-08 14:05:19,496 INFO L272 TraceCheckUtils]: 122: Hoare triple {23144#(<= ~counter~0 13)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {23144#(<= ~counter~0 13)} is VALID [2022-04-08 14:05:19,496 INFO L290 TraceCheckUtils]: 123: Hoare triple {23144#(<= ~counter~0 13)} ~cond := #in~cond; {23144#(<= ~counter~0 13)} is VALID [2022-04-08 14:05:19,496 INFO L290 TraceCheckUtils]: 124: Hoare triple {23144#(<= ~counter~0 13)} assume !(0 == ~cond); {23144#(<= ~counter~0 13)} is VALID [2022-04-08 14:05:19,497 INFO L290 TraceCheckUtils]: 125: Hoare triple {23144#(<= ~counter~0 13)} assume true; {23144#(<= ~counter~0 13)} is VALID [2022-04-08 14:05:19,497 INFO L284 TraceCheckUtils]: 126: Hoare quadruple {23144#(<= ~counter~0 13)} {23144#(<= ~counter~0 13)} #71#return; {23144#(<= ~counter~0 13)} is VALID [2022-04-08 14:05:19,498 INFO L290 TraceCheckUtils]: 127: Hoare triple {23144#(<= ~counter~0 13)} assume !!(0 != ~a~0 && 0 != ~b~0); {23144#(<= ~counter~0 13)} is VALID [2022-04-08 14:05:19,498 INFO L290 TraceCheckUtils]: 128: Hoare triple {23144#(<= ~counter~0 13)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {23144#(<= ~counter~0 13)} is VALID [2022-04-08 14:05:19,498 INFO L290 TraceCheckUtils]: 129: Hoare triple {23144#(<= ~counter~0 13)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23172#(<= |main_#t~post6| 13)} is VALID [2022-04-08 14:05:19,499 INFO L290 TraceCheckUtils]: 130: Hoare triple {23172#(<= |main_#t~post6| 13)} assume !(#t~post6 < 100);havoc #t~post6; {22767#false} is VALID [2022-04-08 14:05:19,499 INFO L272 TraceCheckUtils]: 131: Hoare triple {22767#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {22767#false} is VALID [2022-04-08 14:05:19,499 INFO L290 TraceCheckUtils]: 132: Hoare triple {22767#false} ~cond := #in~cond; {22767#false} is VALID [2022-04-08 14:05:19,499 INFO L290 TraceCheckUtils]: 133: Hoare triple {22767#false} assume 0 == ~cond; {22767#false} is VALID [2022-04-08 14:05:19,499 INFO L290 TraceCheckUtils]: 134: Hoare triple {22767#false} assume !false; {22767#false} is VALID [2022-04-08 14:05:19,499 INFO L134 CoverageAnalysis]: Checked inductivity of 754 backedges. 26 proven. 728 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 14:05:19,499 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 14:05:20,283 INFO L290 TraceCheckUtils]: 134: Hoare triple {22767#false} assume !false; {22767#false} is VALID [2022-04-08 14:05:20,283 INFO L290 TraceCheckUtils]: 133: Hoare triple {22767#false} assume 0 == ~cond; {22767#false} is VALID [2022-04-08 14:05:20,283 INFO L290 TraceCheckUtils]: 132: Hoare triple {22767#false} ~cond := #in~cond; {22767#false} is VALID [2022-04-08 14:05:20,283 INFO L272 TraceCheckUtils]: 131: Hoare triple {22767#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {22767#false} is VALID [2022-04-08 14:05:20,284 INFO L290 TraceCheckUtils]: 130: Hoare triple {23200#(< |main_#t~post6| 100)} assume !(#t~post6 < 100);havoc #t~post6; {22767#false} is VALID [2022-04-08 14:05:20,284 INFO L290 TraceCheckUtils]: 129: Hoare triple {23204#(< ~counter~0 100)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23200#(< |main_#t~post6| 100)} is VALID [2022-04-08 14:05:20,284 INFO L290 TraceCheckUtils]: 128: Hoare triple {23204#(< ~counter~0 100)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {23204#(< ~counter~0 100)} is VALID [2022-04-08 14:05:20,284 INFO L290 TraceCheckUtils]: 127: Hoare triple {23204#(< ~counter~0 100)} assume !!(0 != ~a~0 && 0 != ~b~0); {23204#(< ~counter~0 100)} is VALID [2022-04-08 14:05:20,285 INFO L284 TraceCheckUtils]: 126: Hoare quadruple {22766#true} {23204#(< ~counter~0 100)} #71#return; {23204#(< ~counter~0 100)} is VALID [2022-04-08 14:05:20,285 INFO L290 TraceCheckUtils]: 125: Hoare triple {22766#true} assume true; {22766#true} is VALID [2022-04-08 14:05:20,285 INFO L290 TraceCheckUtils]: 124: Hoare triple {22766#true} assume !(0 == ~cond); {22766#true} is VALID [2022-04-08 14:05:20,285 INFO L290 TraceCheckUtils]: 123: Hoare triple {22766#true} ~cond := #in~cond; {22766#true} is VALID [2022-04-08 14:05:20,285 INFO L272 TraceCheckUtils]: 122: Hoare triple {23204#(< ~counter~0 100)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {22766#true} is VALID [2022-04-08 14:05:20,286 INFO L290 TraceCheckUtils]: 121: Hoare triple {23204#(< ~counter~0 100)} assume !!(#t~post6 < 100);havoc #t~post6; {23204#(< ~counter~0 100)} is VALID [2022-04-08 14:05:20,286 INFO L290 TraceCheckUtils]: 120: Hoare triple {23232#(< ~counter~0 99)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23204#(< ~counter~0 100)} is VALID [2022-04-08 14:05:20,287 INFO L290 TraceCheckUtils]: 119: Hoare triple {23232#(< ~counter~0 99)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {23232#(< ~counter~0 99)} is VALID [2022-04-08 14:05:20,287 INFO L290 TraceCheckUtils]: 118: Hoare triple {23232#(< ~counter~0 99)} assume !!(0 != ~a~0 && 0 != ~b~0); {23232#(< ~counter~0 99)} is VALID [2022-04-08 14:05:20,287 INFO L284 TraceCheckUtils]: 117: Hoare quadruple {22766#true} {23232#(< ~counter~0 99)} #71#return; {23232#(< ~counter~0 99)} is VALID [2022-04-08 14:05:20,288 INFO L290 TraceCheckUtils]: 116: Hoare triple {22766#true} assume true; {22766#true} is VALID [2022-04-08 14:05:20,288 INFO L290 TraceCheckUtils]: 115: Hoare triple {22766#true} assume !(0 == ~cond); {22766#true} is VALID [2022-04-08 14:05:20,288 INFO L290 TraceCheckUtils]: 114: Hoare triple {22766#true} ~cond := #in~cond; {22766#true} is VALID [2022-04-08 14:05:20,288 INFO L272 TraceCheckUtils]: 113: Hoare triple {23232#(< ~counter~0 99)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {22766#true} is VALID [2022-04-08 14:05:20,288 INFO L290 TraceCheckUtils]: 112: Hoare triple {23232#(< ~counter~0 99)} assume !!(#t~post6 < 100);havoc #t~post6; {23232#(< ~counter~0 99)} is VALID [2022-04-08 14:05:20,289 INFO L290 TraceCheckUtils]: 111: Hoare triple {23260#(< ~counter~0 98)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23232#(< ~counter~0 99)} is VALID [2022-04-08 14:05:20,289 INFO L290 TraceCheckUtils]: 110: Hoare triple {23260#(< ~counter~0 98)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {23260#(< ~counter~0 98)} is VALID [2022-04-08 14:05:20,289 INFO L290 TraceCheckUtils]: 109: Hoare triple {23260#(< ~counter~0 98)} assume !!(0 != ~a~0 && 0 != ~b~0); {23260#(< ~counter~0 98)} is VALID [2022-04-08 14:05:20,290 INFO L284 TraceCheckUtils]: 108: Hoare quadruple {22766#true} {23260#(< ~counter~0 98)} #71#return; {23260#(< ~counter~0 98)} is VALID [2022-04-08 14:05:20,290 INFO L290 TraceCheckUtils]: 107: Hoare triple {22766#true} assume true; {22766#true} is VALID [2022-04-08 14:05:20,290 INFO L290 TraceCheckUtils]: 106: Hoare triple {22766#true} assume !(0 == ~cond); {22766#true} is VALID [2022-04-08 14:05:20,290 INFO L290 TraceCheckUtils]: 105: Hoare triple {22766#true} ~cond := #in~cond; {22766#true} is VALID [2022-04-08 14:05:20,290 INFO L272 TraceCheckUtils]: 104: Hoare triple {23260#(< ~counter~0 98)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {22766#true} is VALID [2022-04-08 14:05:20,290 INFO L290 TraceCheckUtils]: 103: Hoare triple {23260#(< ~counter~0 98)} assume !!(#t~post6 < 100);havoc #t~post6; {23260#(< ~counter~0 98)} is VALID [2022-04-08 14:05:20,291 INFO L290 TraceCheckUtils]: 102: Hoare triple {23288#(< ~counter~0 97)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23260#(< ~counter~0 98)} is VALID [2022-04-08 14:05:20,291 INFO L290 TraceCheckUtils]: 101: Hoare triple {23288#(< ~counter~0 97)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {23288#(< ~counter~0 97)} is VALID [2022-04-08 14:05:20,291 INFO L290 TraceCheckUtils]: 100: Hoare triple {23288#(< ~counter~0 97)} assume !!(0 != ~a~0 && 0 != ~b~0); {23288#(< ~counter~0 97)} is VALID [2022-04-08 14:05:20,292 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {22766#true} {23288#(< ~counter~0 97)} #71#return; {23288#(< ~counter~0 97)} is VALID [2022-04-08 14:05:20,292 INFO L290 TraceCheckUtils]: 98: Hoare triple {22766#true} assume true; {22766#true} is VALID [2022-04-08 14:05:20,292 INFO L290 TraceCheckUtils]: 97: Hoare triple {22766#true} assume !(0 == ~cond); {22766#true} is VALID [2022-04-08 14:05:20,292 INFO L290 TraceCheckUtils]: 96: Hoare triple {22766#true} ~cond := #in~cond; {22766#true} is VALID [2022-04-08 14:05:20,292 INFO L272 TraceCheckUtils]: 95: Hoare triple {23288#(< ~counter~0 97)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {22766#true} is VALID [2022-04-08 14:05:20,292 INFO L290 TraceCheckUtils]: 94: Hoare triple {23288#(< ~counter~0 97)} assume !!(#t~post6 < 100);havoc #t~post6; {23288#(< ~counter~0 97)} is VALID [2022-04-08 14:05:20,293 INFO L290 TraceCheckUtils]: 93: Hoare triple {23316#(< ~counter~0 96)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23288#(< ~counter~0 97)} is VALID [2022-04-08 14:05:20,293 INFO L290 TraceCheckUtils]: 92: Hoare triple {23316#(< ~counter~0 96)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {23316#(< ~counter~0 96)} is VALID [2022-04-08 14:05:20,293 INFO L290 TraceCheckUtils]: 91: Hoare triple {23316#(< ~counter~0 96)} assume !!(0 != ~a~0 && 0 != ~b~0); {23316#(< ~counter~0 96)} is VALID [2022-04-08 14:05:20,294 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {22766#true} {23316#(< ~counter~0 96)} #71#return; {23316#(< ~counter~0 96)} is VALID [2022-04-08 14:05:20,294 INFO L290 TraceCheckUtils]: 89: Hoare triple {22766#true} assume true; {22766#true} is VALID [2022-04-08 14:05:20,294 INFO L290 TraceCheckUtils]: 88: Hoare triple {22766#true} assume !(0 == ~cond); {22766#true} is VALID [2022-04-08 14:05:20,294 INFO L290 TraceCheckUtils]: 87: Hoare triple {22766#true} ~cond := #in~cond; {22766#true} is VALID [2022-04-08 14:05:20,294 INFO L272 TraceCheckUtils]: 86: Hoare triple {23316#(< ~counter~0 96)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {22766#true} is VALID [2022-04-08 14:05:20,295 INFO L290 TraceCheckUtils]: 85: Hoare triple {23316#(< ~counter~0 96)} assume !!(#t~post6 < 100);havoc #t~post6; {23316#(< ~counter~0 96)} is VALID [2022-04-08 14:05:20,295 INFO L290 TraceCheckUtils]: 84: Hoare triple {23344#(< ~counter~0 95)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23316#(< ~counter~0 96)} is VALID [2022-04-08 14:05:20,295 INFO L290 TraceCheckUtils]: 83: Hoare triple {23344#(< ~counter~0 95)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {23344#(< ~counter~0 95)} is VALID [2022-04-08 14:05:20,296 INFO L290 TraceCheckUtils]: 82: Hoare triple {23344#(< ~counter~0 95)} assume !!(0 != ~a~0 && 0 != ~b~0); {23344#(< ~counter~0 95)} is VALID [2022-04-08 14:05:20,296 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {22766#true} {23344#(< ~counter~0 95)} #71#return; {23344#(< ~counter~0 95)} is VALID [2022-04-08 14:05:20,296 INFO L290 TraceCheckUtils]: 80: Hoare triple {22766#true} assume true; {22766#true} is VALID [2022-04-08 14:05:20,296 INFO L290 TraceCheckUtils]: 79: Hoare triple {22766#true} assume !(0 == ~cond); {22766#true} is VALID [2022-04-08 14:05:20,296 INFO L290 TraceCheckUtils]: 78: Hoare triple {22766#true} ~cond := #in~cond; {22766#true} is VALID [2022-04-08 14:05:20,296 INFO L272 TraceCheckUtils]: 77: Hoare triple {23344#(< ~counter~0 95)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {22766#true} is VALID [2022-04-08 14:05:20,297 INFO L290 TraceCheckUtils]: 76: Hoare triple {23344#(< ~counter~0 95)} assume !!(#t~post6 < 100);havoc #t~post6; {23344#(< ~counter~0 95)} is VALID [2022-04-08 14:05:20,297 INFO L290 TraceCheckUtils]: 75: Hoare triple {23372#(< ~counter~0 94)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23344#(< ~counter~0 95)} is VALID [2022-04-08 14:05:20,298 INFO L290 TraceCheckUtils]: 74: Hoare triple {23372#(< ~counter~0 94)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {23372#(< ~counter~0 94)} is VALID [2022-04-08 14:05:20,298 INFO L290 TraceCheckUtils]: 73: Hoare triple {23372#(< ~counter~0 94)} assume !!(0 != ~a~0 && 0 != ~b~0); {23372#(< ~counter~0 94)} is VALID [2022-04-08 14:05:20,298 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {22766#true} {23372#(< ~counter~0 94)} #71#return; {23372#(< ~counter~0 94)} is VALID [2022-04-08 14:05:20,298 INFO L290 TraceCheckUtils]: 71: Hoare triple {22766#true} assume true; {22766#true} is VALID [2022-04-08 14:05:20,299 INFO L290 TraceCheckUtils]: 70: Hoare triple {22766#true} assume !(0 == ~cond); {22766#true} is VALID [2022-04-08 14:05:20,299 INFO L290 TraceCheckUtils]: 69: Hoare triple {22766#true} ~cond := #in~cond; {22766#true} is VALID [2022-04-08 14:05:20,299 INFO L272 TraceCheckUtils]: 68: Hoare triple {23372#(< ~counter~0 94)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {22766#true} is VALID [2022-04-08 14:05:20,299 INFO L290 TraceCheckUtils]: 67: Hoare triple {23372#(< ~counter~0 94)} assume !!(#t~post6 < 100);havoc #t~post6; {23372#(< ~counter~0 94)} is VALID [2022-04-08 14:05:20,299 INFO L290 TraceCheckUtils]: 66: Hoare triple {23400#(< ~counter~0 93)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23372#(< ~counter~0 94)} is VALID [2022-04-08 14:05:20,300 INFO L290 TraceCheckUtils]: 65: Hoare triple {23400#(< ~counter~0 93)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {23400#(< ~counter~0 93)} is VALID [2022-04-08 14:05:20,300 INFO L290 TraceCheckUtils]: 64: Hoare triple {23400#(< ~counter~0 93)} assume !!(0 != ~a~0 && 0 != ~b~0); {23400#(< ~counter~0 93)} is VALID [2022-04-08 14:05:20,301 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {22766#true} {23400#(< ~counter~0 93)} #71#return; {23400#(< ~counter~0 93)} is VALID [2022-04-08 14:05:20,301 INFO L290 TraceCheckUtils]: 62: Hoare triple {22766#true} assume true; {22766#true} is VALID [2022-04-08 14:05:20,301 INFO L290 TraceCheckUtils]: 61: Hoare triple {22766#true} assume !(0 == ~cond); {22766#true} is VALID [2022-04-08 14:05:20,301 INFO L290 TraceCheckUtils]: 60: Hoare triple {22766#true} ~cond := #in~cond; {22766#true} is VALID [2022-04-08 14:05:20,301 INFO L272 TraceCheckUtils]: 59: Hoare triple {23400#(< ~counter~0 93)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {22766#true} is VALID [2022-04-08 14:05:20,301 INFO L290 TraceCheckUtils]: 58: Hoare triple {23400#(< ~counter~0 93)} assume !!(#t~post6 < 100);havoc #t~post6; {23400#(< ~counter~0 93)} is VALID [2022-04-08 14:05:20,302 INFO L290 TraceCheckUtils]: 57: Hoare triple {23428#(< ~counter~0 92)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23400#(< ~counter~0 93)} is VALID [2022-04-08 14:05:20,302 INFO L290 TraceCheckUtils]: 56: Hoare triple {23428#(< ~counter~0 92)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {23428#(< ~counter~0 92)} is VALID [2022-04-08 14:05:20,302 INFO L290 TraceCheckUtils]: 55: Hoare triple {23428#(< ~counter~0 92)} assume !!(0 != ~a~0 && 0 != ~b~0); {23428#(< ~counter~0 92)} is VALID [2022-04-08 14:05:20,303 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {22766#true} {23428#(< ~counter~0 92)} #71#return; {23428#(< ~counter~0 92)} is VALID [2022-04-08 14:05:20,303 INFO L290 TraceCheckUtils]: 53: Hoare triple {22766#true} assume true; {22766#true} is VALID [2022-04-08 14:05:20,303 INFO L290 TraceCheckUtils]: 52: Hoare triple {22766#true} assume !(0 == ~cond); {22766#true} is VALID [2022-04-08 14:05:20,303 INFO L290 TraceCheckUtils]: 51: Hoare triple {22766#true} ~cond := #in~cond; {22766#true} is VALID [2022-04-08 14:05:20,303 INFO L272 TraceCheckUtils]: 50: Hoare triple {23428#(< ~counter~0 92)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {22766#true} is VALID [2022-04-08 14:05:20,303 INFO L290 TraceCheckUtils]: 49: Hoare triple {23428#(< ~counter~0 92)} assume !!(#t~post6 < 100);havoc #t~post6; {23428#(< ~counter~0 92)} is VALID [2022-04-08 14:05:20,304 INFO L290 TraceCheckUtils]: 48: Hoare triple {23456#(< ~counter~0 91)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23428#(< ~counter~0 92)} is VALID [2022-04-08 14:05:20,304 INFO L290 TraceCheckUtils]: 47: Hoare triple {23456#(< ~counter~0 91)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {23456#(< ~counter~0 91)} is VALID [2022-04-08 14:05:20,304 INFO L290 TraceCheckUtils]: 46: Hoare triple {23456#(< ~counter~0 91)} assume !!(0 != ~a~0 && 0 != ~b~0); {23456#(< ~counter~0 91)} is VALID [2022-04-08 14:05:20,305 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {22766#true} {23456#(< ~counter~0 91)} #71#return; {23456#(< ~counter~0 91)} is VALID [2022-04-08 14:05:20,305 INFO L290 TraceCheckUtils]: 44: Hoare triple {22766#true} assume true; {22766#true} is VALID [2022-04-08 14:05:20,305 INFO L290 TraceCheckUtils]: 43: Hoare triple {22766#true} assume !(0 == ~cond); {22766#true} is VALID [2022-04-08 14:05:20,305 INFO L290 TraceCheckUtils]: 42: Hoare triple {22766#true} ~cond := #in~cond; {22766#true} is VALID [2022-04-08 14:05:20,305 INFO L272 TraceCheckUtils]: 41: Hoare triple {23456#(< ~counter~0 91)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {22766#true} is VALID [2022-04-08 14:05:20,305 INFO L290 TraceCheckUtils]: 40: Hoare triple {23456#(< ~counter~0 91)} assume !!(#t~post6 < 100);havoc #t~post6; {23456#(< ~counter~0 91)} is VALID [2022-04-08 14:05:20,306 INFO L290 TraceCheckUtils]: 39: Hoare triple {23484#(< ~counter~0 90)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23456#(< ~counter~0 91)} is VALID [2022-04-08 14:05:20,306 INFO L290 TraceCheckUtils]: 38: Hoare triple {23484#(< ~counter~0 90)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {23484#(< ~counter~0 90)} is VALID [2022-04-08 14:05:20,307 INFO L290 TraceCheckUtils]: 37: Hoare triple {23484#(< ~counter~0 90)} assume !!(0 != ~a~0 && 0 != ~b~0); {23484#(< ~counter~0 90)} is VALID [2022-04-08 14:05:20,307 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {22766#true} {23484#(< ~counter~0 90)} #71#return; {23484#(< ~counter~0 90)} is VALID [2022-04-08 14:05:20,307 INFO L290 TraceCheckUtils]: 35: Hoare triple {22766#true} assume true; {22766#true} is VALID [2022-04-08 14:05:20,307 INFO L290 TraceCheckUtils]: 34: Hoare triple {22766#true} assume !(0 == ~cond); {22766#true} is VALID [2022-04-08 14:05:20,307 INFO L290 TraceCheckUtils]: 33: Hoare triple {22766#true} ~cond := #in~cond; {22766#true} is VALID [2022-04-08 14:05:20,307 INFO L272 TraceCheckUtils]: 32: Hoare triple {23484#(< ~counter~0 90)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {22766#true} is VALID [2022-04-08 14:05:20,308 INFO L290 TraceCheckUtils]: 31: Hoare triple {23484#(< ~counter~0 90)} assume !!(#t~post6 < 100);havoc #t~post6; {23484#(< ~counter~0 90)} is VALID [2022-04-08 14:05:20,308 INFO L290 TraceCheckUtils]: 30: Hoare triple {23512#(< ~counter~0 89)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23484#(< ~counter~0 90)} is VALID [2022-04-08 14:05:20,308 INFO L290 TraceCheckUtils]: 29: Hoare triple {23512#(< ~counter~0 89)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {23512#(< ~counter~0 89)} is VALID [2022-04-08 14:05:20,309 INFO L290 TraceCheckUtils]: 28: Hoare triple {23512#(< ~counter~0 89)} assume !!(0 != ~a~0 && 0 != ~b~0); {23512#(< ~counter~0 89)} is VALID [2022-04-08 14:05:20,309 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {22766#true} {23512#(< ~counter~0 89)} #71#return; {23512#(< ~counter~0 89)} is VALID [2022-04-08 14:05:20,309 INFO L290 TraceCheckUtils]: 26: Hoare triple {22766#true} assume true; {22766#true} is VALID [2022-04-08 14:05:20,309 INFO L290 TraceCheckUtils]: 25: Hoare triple {22766#true} assume !(0 == ~cond); {22766#true} is VALID [2022-04-08 14:05:20,310 INFO L290 TraceCheckUtils]: 24: Hoare triple {22766#true} ~cond := #in~cond; {22766#true} is VALID [2022-04-08 14:05:20,310 INFO L272 TraceCheckUtils]: 23: Hoare triple {23512#(< ~counter~0 89)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {22766#true} is VALID [2022-04-08 14:05:20,310 INFO L290 TraceCheckUtils]: 22: Hoare triple {23512#(< ~counter~0 89)} assume !!(#t~post6 < 100);havoc #t~post6; {23512#(< ~counter~0 89)} is VALID [2022-04-08 14:05:20,310 INFO L290 TraceCheckUtils]: 21: Hoare triple {23540#(< ~counter~0 88)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23512#(< ~counter~0 89)} is VALID [2022-04-08 14:05:20,311 INFO L290 TraceCheckUtils]: 20: Hoare triple {23540#(< ~counter~0 88)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {23540#(< ~counter~0 88)} is VALID [2022-04-08 14:05:20,311 INFO L290 TraceCheckUtils]: 19: Hoare triple {23540#(< ~counter~0 88)} assume !!(0 != ~a~0 && 0 != ~b~0); {23540#(< ~counter~0 88)} is VALID [2022-04-08 14:05:20,312 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {22766#true} {23540#(< ~counter~0 88)} #71#return; {23540#(< ~counter~0 88)} is VALID [2022-04-08 14:05:20,312 INFO L290 TraceCheckUtils]: 17: Hoare triple {22766#true} assume true; {22766#true} is VALID [2022-04-08 14:05:20,312 INFO L290 TraceCheckUtils]: 16: Hoare triple {22766#true} assume !(0 == ~cond); {22766#true} is VALID [2022-04-08 14:05:20,312 INFO L290 TraceCheckUtils]: 15: Hoare triple {22766#true} ~cond := #in~cond; {22766#true} is VALID [2022-04-08 14:05:20,312 INFO L272 TraceCheckUtils]: 14: Hoare triple {23540#(< ~counter~0 88)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {22766#true} is VALID [2022-04-08 14:05:20,312 INFO L290 TraceCheckUtils]: 13: Hoare triple {23540#(< ~counter~0 88)} assume !!(#t~post6 < 100);havoc #t~post6; {23540#(< ~counter~0 88)} is VALID [2022-04-08 14:05:20,313 INFO L290 TraceCheckUtils]: 12: Hoare triple {23568#(< ~counter~0 87)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23540#(< ~counter~0 88)} is VALID [2022-04-08 14:05:20,313 INFO L290 TraceCheckUtils]: 11: Hoare triple {23568#(< ~counter~0 87)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {23568#(< ~counter~0 87)} is VALID [2022-04-08 14:05:20,313 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {22766#true} {23568#(< ~counter~0 87)} #69#return; {23568#(< ~counter~0 87)} is VALID [2022-04-08 14:05:20,313 INFO L290 TraceCheckUtils]: 9: Hoare triple {22766#true} assume true; {22766#true} is VALID [2022-04-08 14:05:20,313 INFO L290 TraceCheckUtils]: 8: Hoare triple {22766#true} assume !(0 == ~cond); {22766#true} is VALID [2022-04-08 14:05:20,314 INFO L290 TraceCheckUtils]: 7: Hoare triple {22766#true} ~cond := #in~cond; {22766#true} is VALID [2022-04-08 14:05:20,314 INFO L272 TraceCheckUtils]: 6: Hoare triple {23568#(< ~counter~0 87)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {22766#true} is VALID [2022-04-08 14:05:20,314 INFO L290 TraceCheckUtils]: 5: Hoare triple {23568#(< ~counter~0 87)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {23568#(< ~counter~0 87)} is VALID [2022-04-08 14:05:20,314 INFO L272 TraceCheckUtils]: 4: Hoare triple {23568#(< ~counter~0 87)} call #t~ret7 := main(); {23568#(< ~counter~0 87)} is VALID [2022-04-08 14:05:20,314 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23568#(< ~counter~0 87)} {22766#true} #77#return; {23568#(< ~counter~0 87)} is VALID [2022-04-08 14:05:20,315 INFO L290 TraceCheckUtils]: 2: Hoare triple {23568#(< ~counter~0 87)} assume true; {23568#(< ~counter~0 87)} is VALID [2022-04-08 14:05:20,315 INFO L290 TraceCheckUtils]: 1: Hoare triple {22766#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {23568#(< ~counter~0 87)} is VALID [2022-04-08 14:05:20,315 INFO L272 TraceCheckUtils]: 0: Hoare triple {22766#true} call ULTIMATE.init(); {22766#true} is VALID [2022-04-08 14:05:20,316 INFO L134 CoverageAnalysis]: Checked inductivity of 754 backedges. 26 proven. 416 refuted. 0 times theorem prover too weak. 312 trivial. 0 not checked. [2022-04-08 14:05:20,316 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 14:05:20,316 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [955509007] [2022-04-08 14:05:20,316 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 14:05:20,316 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1285997154] [2022-04-08 14:05:20,316 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1285997154] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 14:05:20,316 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 14:05:20,316 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 17] total 32 [2022-04-08 14:05:20,316 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 14:05:20,316 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [489671601] [2022-04-08 14:05:20,317 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [489671601] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 14:05:20,317 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 14:05:20,317 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-08 14:05:20,317 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1446749427] [2022-04-08 14:05:20,317 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 14:05:20,317 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 17 states have (on average 6.0588235294117645) internal successors, (103), 16 states have internal predecessors, (103), 16 states have call successors, (17), 16 states have call predecessors, (17), 14 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) Word has length 135 [2022-04-08 14:05:20,317 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 14:05:20,317 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 17 states, 17 states have (on average 6.0588235294117645) internal successors, (103), 16 states have internal predecessors, (103), 16 states have call successors, (17), 16 states have call predecessors, (17), 14 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-08 14:05:20,417 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 135 edges. 135 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:05:20,417 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-08 14:05:20,417 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 14:05:20,417 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-08 14:05:20,417 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=440, Invalid=552, Unknown=0, NotChecked=0, Total=992 [2022-04-08 14:05:20,418 INFO L87 Difference]: Start difference. First operand 175 states and 216 transitions. Second operand has 17 states, 17 states have (on average 6.0588235294117645) internal successors, (103), 16 states have internal predecessors, (103), 16 states have call successors, (17), 16 states have call predecessors, (17), 14 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-08 14:05:21,037 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:05:21,037 INFO L93 Difference]: Finished difference Result 194 states and 239 transitions. [2022-04-08 14:05:21,038 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 30 states. [2022-04-08 14:05:21,038 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 17 states have (on average 6.0588235294117645) internal successors, (103), 16 states have internal predecessors, (103), 16 states have call successors, (17), 16 states have call predecessors, (17), 14 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) Word has length 135 [2022-04-08 14:05:21,038 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 14:05:21,038 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 17 states have (on average 6.0588235294117645) internal successors, (103), 16 states have internal predecessors, (103), 16 states have call successors, (17), 16 states have call predecessors, (17), 14 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-08 14:05:21,040 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 225 transitions. [2022-04-08 14:05:21,040 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 17 states have (on average 6.0588235294117645) internal successors, (103), 16 states have internal predecessors, (103), 16 states have call successors, (17), 16 states have call predecessors, (17), 14 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-08 14:05:21,042 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 225 transitions. [2022-04-08 14:05:21,042 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 30 states and 225 transitions. [2022-04-08 14:05:21,181 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 225 edges. 225 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:05:21,184 INFO L225 Difference]: With dead ends: 194 [2022-04-08 14:05:21,184 INFO L226 Difference]: Without dead ends: 186 [2022-04-08 14:05:21,184 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 282 GetRequests, 239 SyntacticMatches, 0 SemanticMatches, 43 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 118 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=843, Invalid=1137, Unknown=0, NotChecked=0, Total=1980 [2022-04-08 14:05:21,185 INFO L913 BasicCegarLoop]: 43 mSDtfsCounter, 163 mSDsluCounter, 207 mSDsCounter, 0 mSdLazyCounter, 71 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 163 SdHoareTripleChecker+Valid, 250 SdHoareTripleChecker+Invalid, 86 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 15 IncrementalHoareTripleChecker+Valid, 71 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 14:05:21,185 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [163 Valid, 250 Invalid, 86 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 71 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 14:05:21,185 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 186 states. [2022-04-08 14:05:21,412 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 186 to 186. [2022-04-08 14:05:21,412 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 14:05:21,413 INFO L82 GeneralOperation]: Start isEquivalent. First operand 186 states. Second operand has 186 states, 147 states have (on average 1.3061224489795917) internal successors, (192), 148 states have internal predecessors, (192), 20 states have call successors, (20), 19 states have call predecessors, (20), 18 states have return successors, (18), 18 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-08 14:05:21,414 INFO L74 IsIncluded]: Start isIncluded. First operand 186 states. Second operand has 186 states, 147 states have (on average 1.3061224489795917) internal successors, (192), 148 states have internal predecessors, (192), 20 states have call successors, (20), 19 states have call predecessors, (20), 18 states have return successors, (18), 18 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-08 14:05:21,414 INFO L87 Difference]: Start difference. First operand 186 states. Second operand has 186 states, 147 states have (on average 1.3061224489795917) internal successors, (192), 148 states have internal predecessors, (192), 20 states have call successors, (20), 19 states have call predecessors, (20), 18 states have return successors, (18), 18 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-08 14:05:21,418 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:05:21,418 INFO L93 Difference]: Finished difference Result 186 states and 230 transitions. [2022-04-08 14:05:21,418 INFO L276 IsEmpty]: Start isEmpty. Operand 186 states and 230 transitions. [2022-04-08 14:05:21,420 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:05:21,420 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:05:21,421 INFO L74 IsIncluded]: Start isIncluded. First operand has 186 states, 147 states have (on average 1.3061224489795917) internal successors, (192), 148 states have internal predecessors, (192), 20 states have call successors, (20), 19 states have call predecessors, (20), 18 states have return successors, (18), 18 states have call predecessors, (18), 18 states have call successors, (18) Second operand 186 states. [2022-04-08 14:05:21,421 INFO L87 Difference]: Start difference. First operand has 186 states, 147 states have (on average 1.3061224489795917) internal successors, (192), 148 states have internal predecessors, (192), 20 states have call successors, (20), 19 states have call predecessors, (20), 18 states have return successors, (18), 18 states have call predecessors, (18), 18 states have call successors, (18) Second operand 186 states. [2022-04-08 14:05:21,423 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:05:21,423 INFO L93 Difference]: Finished difference Result 186 states and 230 transitions. [2022-04-08 14:05:21,423 INFO L276 IsEmpty]: Start isEmpty. Operand 186 states and 230 transitions. [2022-04-08 14:05:21,423 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:05:21,423 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:05:21,423 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 14:05:21,423 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 14:05:21,423 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 186 states, 147 states have (on average 1.3061224489795917) internal successors, (192), 148 states have internal predecessors, (192), 20 states have call successors, (20), 19 states have call predecessors, (20), 18 states have return successors, (18), 18 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-08 14:05:21,426 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 186 states to 186 states and 230 transitions. [2022-04-08 14:05:21,426 INFO L78 Accepts]: Start accepts. Automaton has 186 states and 230 transitions. Word has length 135 [2022-04-08 14:05:21,426 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 14:05:21,426 INFO L478 AbstractCegarLoop]: Abstraction has 186 states and 230 transitions. [2022-04-08 14:05:21,426 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 17 states have (on average 6.0588235294117645) internal successors, (103), 16 states have internal predecessors, (103), 16 states have call successors, (17), 16 states have call predecessors, (17), 14 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-08 14:05:21,426 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 186 states and 230 transitions. [2022-04-08 14:05:49,532 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 230 edges. 217 inductive. 0 not inductive. 13 times theorem prover too weak to decide inductivity. [2022-04-08 14:05:49,532 INFO L276 IsEmpty]: Start isEmpty. Operand 186 states and 230 transitions. [2022-04-08 14:05:49,533 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 145 [2022-04-08 14:05:49,533 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 14:05:49,533 INFO L499 BasicCegarLoop]: trace histogram [15, 15, 14, 14, 14, 14, 14, 14, 14, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 14:05:49,551 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (27)] Forceful destruction successful, exit code 0 [2022-04-08 14:05:49,733 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 27 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable26 [2022-04-08 14:05:49,733 INFO L403 AbstractCegarLoop]: === Iteration 28 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 14:05:49,734 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 14:05:49,734 INFO L85 PathProgramCache]: Analyzing trace with hash 1384294394, now seen corresponding path program 27 times [2022-04-08 14:05:49,734 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 14:05:49,734 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1051225415] [2022-04-08 14:05:55,780 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 14:05:55,780 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 14:05:55,780 INFO L85 PathProgramCache]: Analyzing trace with hash 1384294394, now seen corresponding path program 28 times [2022-04-08 14:05:55,781 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 14:05:55,781 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [306204255] [2022-04-08 14:05:55,781 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 14:05:55,781 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 14:05:55,834 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 14:05:55,834 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1127955337] [2022-04-08 14:05:55,834 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 14:05:55,834 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 14:05:55,834 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 14:05:55,835 INFO L229 MonitoredProcess]: Starting monitored process 28 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 14:05:55,864 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (28)] Waiting until timeout for monitored process [2022-04-08 14:05:55,978 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 14:05:55,978 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 14:05:55,980 INFO L263 TraceCheckSpWp]: Trace formula consists of 450 conjuncts, 33 conjunts are in the unsatisfiable core [2022-04-08 14:05:56,002 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 14:05:56,003 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 14:05:56,795 INFO L272 TraceCheckUtils]: 0: Hoare triple {24765#true} call ULTIMATE.init(); {24765#true} is VALID [2022-04-08 14:05:56,795 INFO L290 TraceCheckUtils]: 1: Hoare triple {24765#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {24773#(<= ~counter~0 0)} is VALID [2022-04-08 14:05:56,796 INFO L290 TraceCheckUtils]: 2: Hoare triple {24773#(<= ~counter~0 0)} assume true; {24773#(<= ~counter~0 0)} is VALID [2022-04-08 14:05:56,796 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {24773#(<= ~counter~0 0)} {24765#true} #77#return; {24773#(<= ~counter~0 0)} is VALID [2022-04-08 14:05:56,796 INFO L272 TraceCheckUtils]: 4: Hoare triple {24773#(<= ~counter~0 0)} call #t~ret7 := main(); {24773#(<= ~counter~0 0)} is VALID [2022-04-08 14:05:56,800 INFO L290 TraceCheckUtils]: 5: Hoare triple {24773#(<= ~counter~0 0)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {24773#(<= ~counter~0 0)} is VALID [2022-04-08 14:05:56,800 INFO L272 TraceCheckUtils]: 6: Hoare triple {24773#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {24773#(<= ~counter~0 0)} is VALID [2022-04-08 14:05:56,800 INFO L290 TraceCheckUtils]: 7: Hoare triple {24773#(<= ~counter~0 0)} ~cond := #in~cond; {24773#(<= ~counter~0 0)} is VALID [2022-04-08 14:05:56,801 INFO L290 TraceCheckUtils]: 8: Hoare triple {24773#(<= ~counter~0 0)} assume !(0 == ~cond); {24773#(<= ~counter~0 0)} is VALID [2022-04-08 14:05:56,801 INFO L290 TraceCheckUtils]: 9: Hoare triple {24773#(<= ~counter~0 0)} assume true; {24773#(<= ~counter~0 0)} is VALID [2022-04-08 14:05:56,801 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {24773#(<= ~counter~0 0)} {24773#(<= ~counter~0 0)} #69#return; {24773#(<= ~counter~0 0)} is VALID [2022-04-08 14:05:56,801 INFO L290 TraceCheckUtils]: 11: Hoare triple {24773#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {24773#(<= ~counter~0 0)} is VALID [2022-04-08 14:05:56,802 INFO L290 TraceCheckUtils]: 12: Hoare triple {24773#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24807#(<= ~counter~0 1)} is VALID [2022-04-08 14:05:56,802 INFO L290 TraceCheckUtils]: 13: Hoare triple {24807#(<= ~counter~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {24807#(<= ~counter~0 1)} is VALID [2022-04-08 14:05:56,803 INFO L272 TraceCheckUtils]: 14: Hoare triple {24807#(<= ~counter~0 1)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {24807#(<= ~counter~0 1)} is VALID [2022-04-08 14:05:56,803 INFO L290 TraceCheckUtils]: 15: Hoare triple {24807#(<= ~counter~0 1)} ~cond := #in~cond; {24807#(<= ~counter~0 1)} is VALID [2022-04-08 14:05:56,803 INFO L290 TraceCheckUtils]: 16: Hoare triple {24807#(<= ~counter~0 1)} assume !(0 == ~cond); {24807#(<= ~counter~0 1)} is VALID [2022-04-08 14:05:56,804 INFO L290 TraceCheckUtils]: 17: Hoare triple {24807#(<= ~counter~0 1)} assume true; {24807#(<= ~counter~0 1)} is VALID [2022-04-08 14:05:56,804 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {24807#(<= ~counter~0 1)} {24807#(<= ~counter~0 1)} #71#return; {24807#(<= ~counter~0 1)} is VALID [2022-04-08 14:05:56,804 INFO L290 TraceCheckUtils]: 19: Hoare triple {24807#(<= ~counter~0 1)} assume !!(0 != ~a~0 && 0 != ~b~0); {24807#(<= ~counter~0 1)} is VALID [2022-04-08 14:05:56,805 INFO L290 TraceCheckUtils]: 20: Hoare triple {24807#(<= ~counter~0 1)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {24807#(<= ~counter~0 1)} is VALID [2022-04-08 14:05:56,805 INFO L290 TraceCheckUtils]: 21: Hoare triple {24807#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24835#(<= ~counter~0 2)} is VALID [2022-04-08 14:05:56,805 INFO L290 TraceCheckUtils]: 22: Hoare triple {24835#(<= ~counter~0 2)} assume !!(#t~post6 < 100);havoc #t~post6; {24835#(<= ~counter~0 2)} is VALID [2022-04-08 14:05:56,806 INFO L272 TraceCheckUtils]: 23: Hoare triple {24835#(<= ~counter~0 2)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {24835#(<= ~counter~0 2)} is VALID [2022-04-08 14:05:56,806 INFO L290 TraceCheckUtils]: 24: Hoare triple {24835#(<= ~counter~0 2)} ~cond := #in~cond; {24835#(<= ~counter~0 2)} is VALID [2022-04-08 14:05:56,806 INFO L290 TraceCheckUtils]: 25: Hoare triple {24835#(<= ~counter~0 2)} assume !(0 == ~cond); {24835#(<= ~counter~0 2)} is VALID [2022-04-08 14:05:56,807 INFO L290 TraceCheckUtils]: 26: Hoare triple {24835#(<= ~counter~0 2)} assume true; {24835#(<= ~counter~0 2)} is VALID [2022-04-08 14:05:56,807 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {24835#(<= ~counter~0 2)} {24835#(<= ~counter~0 2)} #71#return; {24835#(<= ~counter~0 2)} is VALID [2022-04-08 14:05:56,807 INFO L290 TraceCheckUtils]: 28: Hoare triple {24835#(<= ~counter~0 2)} assume !!(0 != ~a~0 && 0 != ~b~0); {24835#(<= ~counter~0 2)} is VALID [2022-04-08 14:05:56,808 INFO L290 TraceCheckUtils]: 29: Hoare triple {24835#(<= ~counter~0 2)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {24835#(<= ~counter~0 2)} is VALID [2022-04-08 14:05:56,808 INFO L290 TraceCheckUtils]: 30: Hoare triple {24835#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24863#(<= ~counter~0 3)} is VALID [2022-04-08 14:05:56,808 INFO L290 TraceCheckUtils]: 31: Hoare triple {24863#(<= ~counter~0 3)} assume !!(#t~post6 < 100);havoc #t~post6; {24863#(<= ~counter~0 3)} is VALID [2022-04-08 14:05:56,809 INFO L272 TraceCheckUtils]: 32: Hoare triple {24863#(<= ~counter~0 3)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {24863#(<= ~counter~0 3)} is VALID [2022-04-08 14:05:56,809 INFO L290 TraceCheckUtils]: 33: Hoare triple {24863#(<= ~counter~0 3)} ~cond := #in~cond; {24863#(<= ~counter~0 3)} is VALID [2022-04-08 14:05:56,809 INFO L290 TraceCheckUtils]: 34: Hoare triple {24863#(<= ~counter~0 3)} assume !(0 == ~cond); {24863#(<= ~counter~0 3)} is VALID [2022-04-08 14:05:56,810 INFO L290 TraceCheckUtils]: 35: Hoare triple {24863#(<= ~counter~0 3)} assume true; {24863#(<= ~counter~0 3)} is VALID [2022-04-08 14:05:56,810 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {24863#(<= ~counter~0 3)} {24863#(<= ~counter~0 3)} #71#return; {24863#(<= ~counter~0 3)} is VALID [2022-04-08 14:05:56,810 INFO L290 TraceCheckUtils]: 37: Hoare triple {24863#(<= ~counter~0 3)} assume !!(0 != ~a~0 && 0 != ~b~0); {24863#(<= ~counter~0 3)} is VALID [2022-04-08 14:05:56,810 INFO L290 TraceCheckUtils]: 38: Hoare triple {24863#(<= ~counter~0 3)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {24863#(<= ~counter~0 3)} is VALID [2022-04-08 14:05:56,811 INFO L290 TraceCheckUtils]: 39: Hoare triple {24863#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24891#(<= ~counter~0 4)} is VALID [2022-04-08 14:05:56,811 INFO L290 TraceCheckUtils]: 40: Hoare triple {24891#(<= ~counter~0 4)} assume !!(#t~post6 < 100);havoc #t~post6; {24891#(<= ~counter~0 4)} is VALID [2022-04-08 14:05:56,812 INFO L272 TraceCheckUtils]: 41: Hoare triple {24891#(<= ~counter~0 4)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {24891#(<= ~counter~0 4)} is VALID [2022-04-08 14:05:56,812 INFO L290 TraceCheckUtils]: 42: Hoare triple {24891#(<= ~counter~0 4)} ~cond := #in~cond; {24891#(<= ~counter~0 4)} is VALID [2022-04-08 14:05:56,812 INFO L290 TraceCheckUtils]: 43: Hoare triple {24891#(<= ~counter~0 4)} assume !(0 == ~cond); {24891#(<= ~counter~0 4)} is VALID [2022-04-08 14:05:56,812 INFO L290 TraceCheckUtils]: 44: Hoare triple {24891#(<= ~counter~0 4)} assume true; {24891#(<= ~counter~0 4)} is VALID [2022-04-08 14:05:56,813 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {24891#(<= ~counter~0 4)} {24891#(<= ~counter~0 4)} #71#return; {24891#(<= ~counter~0 4)} is VALID [2022-04-08 14:05:56,813 INFO L290 TraceCheckUtils]: 46: Hoare triple {24891#(<= ~counter~0 4)} assume !!(0 != ~a~0 && 0 != ~b~0); {24891#(<= ~counter~0 4)} is VALID [2022-04-08 14:05:56,813 INFO L290 TraceCheckUtils]: 47: Hoare triple {24891#(<= ~counter~0 4)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {24891#(<= ~counter~0 4)} is VALID [2022-04-08 14:05:56,814 INFO L290 TraceCheckUtils]: 48: Hoare triple {24891#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24919#(<= ~counter~0 5)} is VALID [2022-04-08 14:05:56,814 INFO L290 TraceCheckUtils]: 49: Hoare triple {24919#(<= ~counter~0 5)} assume !!(#t~post6 < 100);havoc #t~post6; {24919#(<= ~counter~0 5)} is VALID [2022-04-08 14:05:56,815 INFO L272 TraceCheckUtils]: 50: Hoare triple {24919#(<= ~counter~0 5)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {24919#(<= ~counter~0 5)} is VALID [2022-04-08 14:05:56,815 INFO L290 TraceCheckUtils]: 51: Hoare triple {24919#(<= ~counter~0 5)} ~cond := #in~cond; {24919#(<= ~counter~0 5)} is VALID [2022-04-08 14:05:56,815 INFO L290 TraceCheckUtils]: 52: Hoare triple {24919#(<= ~counter~0 5)} assume !(0 == ~cond); {24919#(<= ~counter~0 5)} is VALID [2022-04-08 14:05:56,815 INFO L290 TraceCheckUtils]: 53: Hoare triple {24919#(<= ~counter~0 5)} assume true; {24919#(<= ~counter~0 5)} is VALID [2022-04-08 14:05:56,816 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {24919#(<= ~counter~0 5)} {24919#(<= ~counter~0 5)} #71#return; {24919#(<= ~counter~0 5)} is VALID [2022-04-08 14:05:56,816 INFO L290 TraceCheckUtils]: 55: Hoare triple {24919#(<= ~counter~0 5)} assume !!(0 != ~a~0 && 0 != ~b~0); {24919#(<= ~counter~0 5)} is VALID [2022-04-08 14:05:56,816 INFO L290 TraceCheckUtils]: 56: Hoare triple {24919#(<= ~counter~0 5)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {24919#(<= ~counter~0 5)} is VALID [2022-04-08 14:05:56,817 INFO L290 TraceCheckUtils]: 57: Hoare triple {24919#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24947#(<= ~counter~0 6)} is VALID [2022-04-08 14:05:56,817 INFO L290 TraceCheckUtils]: 58: Hoare triple {24947#(<= ~counter~0 6)} assume !!(#t~post6 < 100);havoc #t~post6; {24947#(<= ~counter~0 6)} is VALID [2022-04-08 14:05:56,818 INFO L272 TraceCheckUtils]: 59: Hoare triple {24947#(<= ~counter~0 6)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {24947#(<= ~counter~0 6)} is VALID [2022-04-08 14:05:56,818 INFO L290 TraceCheckUtils]: 60: Hoare triple {24947#(<= ~counter~0 6)} ~cond := #in~cond; {24947#(<= ~counter~0 6)} is VALID [2022-04-08 14:05:56,818 INFO L290 TraceCheckUtils]: 61: Hoare triple {24947#(<= ~counter~0 6)} assume !(0 == ~cond); {24947#(<= ~counter~0 6)} is VALID [2022-04-08 14:05:56,818 INFO L290 TraceCheckUtils]: 62: Hoare triple {24947#(<= ~counter~0 6)} assume true; {24947#(<= ~counter~0 6)} is VALID [2022-04-08 14:05:56,819 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {24947#(<= ~counter~0 6)} {24947#(<= ~counter~0 6)} #71#return; {24947#(<= ~counter~0 6)} is VALID [2022-04-08 14:05:56,819 INFO L290 TraceCheckUtils]: 64: Hoare triple {24947#(<= ~counter~0 6)} assume !!(0 != ~a~0 && 0 != ~b~0); {24947#(<= ~counter~0 6)} is VALID [2022-04-08 14:05:56,819 INFO L290 TraceCheckUtils]: 65: Hoare triple {24947#(<= ~counter~0 6)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {24947#(<= ~counter~0 6)} is VALID [2022-04-08 14:05:56,820 INFO L290 TraceCheckUtils]: 66: Hoare triple {24947#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24975#(<= ~counter~0 7)} is VALID [2022-04-08 14:05:56,820 INFO L290 TraceCheckUtils]: 67: Hoare triple {24975#(<= ~counter~0 7)} assume !!(#t~post6 < 100);havoc #t~post6; {24975#(<= ~counter~0 7)} is VALID [2022-04-08 14:05:56,820 INFO L272 TraceCheckUtils]: 68: Hoare triple {24975#(<= ~counter~0 7)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {24975#(<= ~counter~0 7)} is VALID [2022-04-08 14:05:56,821 INFO L290 TraceCheckUtils]: 69: Hoare triple {24975#(<= ~counter~0 7)} ~cond := #in~cond; {24975#(<= ~counter~0 7)} is VALID [2022-04-08 14:05:56,821 INFO L290 TraceCheckUtils]: 70: Hoare triple {24975#(<= ~counter~0 7)} assume !(0 == ~cond); {24975#(<= ~counter~0 7)} is VALID [2022-04-08 14:05:56,822 INFO L290 TraceCheckUtils]: 71: Hoare triple {24975#(<= ~counter~0 7)} assume true; {24975#(<= ~counter~0 7)} is VALID [2022-04-08 14:05:56,822 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {24975#(<= ~counter~0 7)} {24975#(<= ~counter~0 7)} #71#return; {24975#(<= ~counter~0 7)} is VALID [2022-04-08 14:05:56,822 INFO L290 TraceCheckUtils]: 73: Hoare triple {24975#(<= ~counter~0 7)} assume !!(0 != ~a~0 && 0 != ~b~0); {24975#(<= ~counter~0 7)} is VALID [2022-04-08 14:05:56,823 INFO L290 TraceCheckUtils]: 74: Hoare triple {24975#(<= ~counter~0 7)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {24975#(<= ~counter~0 7)} is VALID [2022-04-08 14:05:56,823 INFO L290 TraceCheckUtils]: 75: Hoare triple {24975#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25003#(<= ~counter~0 8)} is VALID [2022-04-08 14:05:56,823 INFO L290 TraceCheckUtils]: 76: Hoare triple {25003#(<= ~counter~0 8)} assume !!(#t~post6 < 100);havoc #t~post6; {25003#(<= ~counter~0 8)} is VALID [2022-04-08 14:05:56,824 INFO L272 TraceCheckUtils]: 77: Hoare triple {25003#(<= ~counter~0 8)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {25003#(<= ~counter~0 8)} is VALID [2022-04-08 14:05:56,824 INFO L290 TraceCheckUtils]: 78: Hoare triple {25003#(<= ~counter~0 8)} ~cond := #in~cond; {25003#(<= ~counter~0 8)} is VALID [2022-04-08 14:05:56,824 INFO L290 TraceCheckUtils]: 79: Hoare triple {25003#(<= ~counter~0 8)} assume !(0 == ~cond); {25003#(<= ~counter~0 8)} is VALID [2022-04-08 14:05:56,825 INFO L290 TraceCheckUtils]: 80: Hoare triple {25003#(<= ~counter~0 8)} assume true; {25003#(<= ~counter~0 8)} is VALID [2022-04-08 14:05:56,825 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {25003#(<= ~counter~0 8)} {25003#(<= ~counter~0 8)} #71#return; {25003#(<= ~counter~0 8)} is VALID [2022-04-08 14:05:56,825 INFO L290 TraceCheckUtils]: 82: Hoare triple {25003#(<= ~counter~0 8)} assume !!(0 != ~a~0 && 0 != ~b~0); {25003#(<= ~counter~0 8)} is VALID [2022-04-08 14:05:56,826 INFO L290 TraceCheckUtils]: 83: Hoare triple {25003#(<= ~counter~0 8)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {25003#(<= ~counter~0 8)} is VALID [2022-04-08 14:05:56,826 INFO L290 TraceCheckUtils]: 84: Hoare triple {25003#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25031#(<= ~counter~0 9)} is VALID [2022-04-08 14:05:56,826 INFO L290 TraceCheckUtils]: 85: Hoare triple {25031#(<= ~counter~0 9)} assume !!(#t~post6 < 100);havoc #t~post6; {25031#(<= ~counter~0 9)} is VALID [2022-04-08 14:05:56,827 INFO L272 TraceCheckUtils]: 86: Hoare triple {25031#(<= ~counter~0 9)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {25031#(<= ~counter~0 9)} is VALID [2022-04-08 14:05:56,827 INFO L290 TraceCheckUtils]: 87: Hoare triple {25031#(<= ~counter~0 9)} ~cond := #in~cond; {25031#(<= ~counter~0 9)} is VALID [2022-04-08 14:05:56,827 INFO L290 TraceCheckUtils]: 88: Hoare triple {25031#(<= ~counter~0 9)} assume !(0 == ~cond); {25031#(<= ~counter~0 9)} is VALID [2022-04-08 14:05:56,827 INFO L290 TraceCheckUtils]: 89: Hoare triple {25031#(<= ~counter~0 9)} assume true; {25031#(<= ~counter~0 9)} is VALID [2022-04-08 14:05:56,828 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {25031#(<= ~counter~0 9)} {25031#(<= ~counter~0 9)} #71#return; {25031#(<= ~counter~0 9)} is VALID [2022-04-08 14:05:56,828 INFO L290 TraceCheckUtils]: 91: Hoare triple {25031#(<= ~counter~0 9)} assume !!(0 != ~a~0 && 0 != ~b~0); {25031#(<= ~counter~0 9)} is VALID [2022-04-08 14:05:56,828 INFO L290 TraceCheckUtils]: 92: Hoare triple {25031#(<= ~counter~0 9)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {25031#(<= ~counter~0 9)} is VALID [2022-04-08 14:05:56,829 INFO L290 TraceCheckUtils]: 93: Hoare triple {25031#(<= ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25059#(<= ~counter~0 10)} is VALID [2022-04-08 14:05:56,829 INFO L290 TraceCheckUtils]: 94: Hoare triple {25059#(<= ~counter~0 10)} assume !!(#t~post6 < 100);havoc #t~post6; {25059#(<= ~counter~0 10)} is VALID [2022-04-08 14:05:56,830 INFO L272 TraceCheckUtils]: 95: Hoare triple {25059#(<= ~counter~0 10)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {25059#(<= ~counter~0 10)} is VALID [2022-04-08 14:05:56,830 INFO L290 TraceCheckUtils]: 96: Hoare triple {25059#(<= ~counter~0 10)} ~cond := #in~cond; {25059#(<= ~counter~0 10)} is VALID [2022-04-08 14:05:56,830 INFO L290 TraceCheckUtils]: 97: Hoare triple {25059#(<= ~counter~0 10)} assume !(0 == ~cond); {25059#(<= ~counter~0 10)} is VALID [2022-04-08 14:05:56,830 INFO L290 TraceCheckUtils]: 98: Hoare triple {25059#(<= ~counter~0 10)} assume true; {25059#(<= ~counter~0 10)} is VALID [2022-04-08 14:05:56,831 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {25059#(<= ~counter~0 10)} {25059#(<= ~counter~0 10)} #71#return; {25059#(<= ~counter~0 10)} is VALID [2022-04-08 14:05:56,831 INFO L290 TraceCheckUtils]: 100: Hoare triple {25059#(<= ~counter~0 10)} assume !!(0 != ~a~0 && 0 != ~b~0); {25059#(<= ~counter~0 10)} is VALID [2022-04-08 14:05:56,831 INFO L290 TraceCheckUtils]: 101: Hoare triple {25059#(<= ~counter~0 10)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {25059#(<= ~counter~0 10)} is VALID [2022-04-08 14:05:56,832 INFO L290 TraceCheckUtils]: 102: Hoare triple {25059#(<= ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25087#(<= ~counter~0 11)} is VALID [2022-04-08 14:05:56,832 INFO L290 TraceCheckUtils]: 103: Hoare triple {25087#(<= ~counter~0 11)} assume !!(#t~post6 < 100);havoc #t~post6; {25087#(<= ~counter~0 11)} is VALID [2022-04-08 14:05:56,833 INFO L272 TraceCheckUtils]: 104: Hoare triple {25087#(<= ~counter~0 11)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {25087#(<= ~counter~0 11)} is VALID [2022-04-08 14:05:56,833 INFO L290 TraceCheckUtils]: 105: Hoare triple {25087#(<= ~counter~0 11)} ~cond := #in~cond; {25087#(<= ~counter~0 11)} is VALID [2022-04-08 14:05:56,833 INFO L290 TraceCheckUtils]: 106: Hoare triple {25087#(<= ~counter~0 11)} assume !(0 == ~cond); {25087#(<= ~counter~0 11)} is VALID [2022-04-08 14:05:56,833 INFO L290 TraceCheckUtils]: 107: Hoare triple {25087#(<= ~counter~0 11)} assume true; {25087#(<= ~counter~0 11)} is VALID [2022-04-08 14:05:56,834 INFO L284 TraceCheckUtils]: 108: Hoare quadruple {25087#(<= ~counter~0 11)} {25087#(<= ~counter~0 11)} #71#return; {25087#(<= ~counter~0 11)} is VALID [2022-04-08 14:05:56,834 INFO L290 TraceCheckUtils]: 109: Hoare triple {25087#(<= ~counter~0 11)} assume !!(0 != ~a~0 && 0 != ~b~0); {25087#(<= ~counter~0 11)} is VALID [2022-04-08 14:05:56,834 INFO L290 TraceCheckUtils]: 110: Hoare triple {25087#(<= ~counter~0 11)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {25087#(<= ~counter~0 11)} is VALID [2022-04-08 14:05:56,835 INFO L290 TraceCheckUtils]: 111: Hoare triple {25087#(<= ~counter~0 11)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25115#(<= ~counter~0 12)} is VALID [2022-04-08 14:05:56,835 INFO L290 TraceCheckUtils]: 112: Hoare triple {25115#(<= ~counter~0 12)} assume !!(#t~post6 < 100);havoc #t~post6; {25115#(<= ~counter~0 12)} is VALID [2022-04-08 14:05:56,835 INFO L272 TraceCheckUtils]: 113: Hoare triple {25115#(<= ~counter~0 12)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {25115#(<= ~counter~0 12)} is VALID [2022-04-08 14:05:56,836 INFO L290 TraceCheckUtils]: 114: Hoare triple {25115#(<= ~counter~0 12)} ~cond := #in~cond; {25115#(<= ~counter~0 12)} is VALID [2022-04-08 14:05:56,836 INFO L290 TraceCheckUtils]: 115: Hoare triple {25115#(<= ~counter~0 12)} assume !(0 == ~cond); {25115#(<= ~counter~0 12)} is VALID [2022-04-08 14:05:56,836 INFO L290 TraceCheckUtils]: 116: Hoare triple {25115#(<= ~counter~0 12)} assume true; {25115#(<= ~counter~0 12)} is VALID [2022-04-08 14:05:56,837 INFO L284 TraceCheckUtils]: 117: Hoare quadruple {25115#(<= ~counter~0 12)} {25115#(<= ~counter~0 12)} #71#return; {25115#(<= ~counter~0 12)} is VALID [2022-04-08 14:05:56,837 INFO L290 TraceCheckUtils]: 118: Hoare triple {25115#(<= ~counter~0 12)} assume !!(0 != ~a~0 && 0 != ~b~0); {25115#(<= ~counter~0 12)} is VALID [2022-04-08 14:05:56,837 INFO L290 TraceCheckUtils]: 119: Hoare triple {25115#(<= ~counter~0 12)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {25115#(<= ~counter~0 12)} is VALID [2022-04-08 14:05:56,838 INFO L290 TraceCheckUtils]: 120: Hoare triple {25115#(<= ~counter~0 12)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25143#(<= ~counter~0 13)} is VALID [2022-04-08 14:05:56,838 INFO L290 TraceCheckUtils]: 121: Hoare triple {25143#(<= ~counter~0 13)} assume !!(#t~post6 < 100);havoc #t~post6; {25143#(<= ~counter~0 13)} is VALID [2022-04-08 14:05:56,838 INFO L272 TraceCheckUtils]: 122: Hoare triple {25143#(<= ~counter~0 13)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {25143#(<= ~counter~0 13)} is VALID [2022-04-08 14:05:56,839 INFO L290 TraceCheckUtils]: 123: Hoare triple {25143#(<= ~counter~0 13)} ~cond := #in~cond; {25143#(<= ~counter~0 13)} is VALID [2022-04-08 14:05:56,839 INFO L290 TraceCheckUtils]: 124: Hoare triple {25143#(<= ~counter~0 13)} assume !(0 == ~cond); {25143#(<= ~counter~0 13)} is VALID [2022-04-08 14:05:56,839 INFO L290 TraceCheckUtils]: 125: Hoare triple {25143#(<= ~counter~0 13)} assume true; {25143#(<= ~counter~0 13)} is VALID [2022-04-08 14:05:56,840 INFO L284 TraceCheckUtils]: 126: Hoare quadruple {25143#(<= ~counter~0 13)} {25143#(<= ~counter~0 13)} #71#return; {25143#(<= ~counter~0 13)} is VALID [2022-04-08 14:05:56,840 INFO L290 TraceCheckUtils]: 127: Hoare triple {25143#(<= ~counter~0 13)} assume !!(0 != ~a~0 && 0 != ~b~0); {25143#(<= ~counter~0 13)} is VALID [2022-04-08 14:05:56,840 INFO L290 TraceCheckUtils]: 128: Hoare triple {25143#(<= ~counter~0 13)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {25143#(<= ~counter~0 13)} is VALID [2022-04-08 14:05:56,841 INFO L290 TraceCheckUtils]: 129: Hoare triple {25143#(<= ~counter~0 13)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25171#(<= ~counter~0 14)} is VALID [2022-04-08 14:05:56,841 INFO L290 TraceCheckUtils]: 130: Hoare triple {25171#(<= ~counter~0 14)} assume !!(#t~post6 < 100);havoc #t~post6; {25171#(<= ~counter~0 14)} is VALID [2022-04-08 14:05:56,841 INFO L272 TraceCheckUtils]: 131: Hoare triple {25171#(<= ~counter~0 14)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {25171#(<= ~counter~0 14)} is VALID [2022-04-08 14:05:56,842 INFO L290 TraceCheckUtils]: 132: Hoare triple {25171#(<= ~counter~0 14)} ~cond := #in~cond; {25171#(<= ~counter~0 14)} is VALID [2022-04-08 14:05:56,842 INFO L290 TraceCheckUtils]: 133: Hoare triple {25171#(<= ~counter~0 14)} assume !(0 == ~cond); {25171#(<= ~counter~0 14)} is VALID [2022-04-08 14:05:56,842 INFO L290 TraceCheckUtils]: 134: Hoare triple {25171#(<= ~counter~0 14)} assume true; {25171#(<= ~counter~0 14)} is VALID [2022-04-08 14:05:56,843 INFO L284 TraceCheckUtils]: 135: Hoare quadruple {25171#(<= ~counter~0 14)} {25171#(<= ~counter~0 14)} #71#return; {25171#(<= ~counter~0 14)} is VALID [2022-04-08 14:05:56,843 INFO L290 TraceCheckUtils]: 136: Hoare triple {25171#(<= ~counter~0 14)} assume !!(0 != ~a~0 && 0 != ~b~0); {25171#(<= ~counter~0 14)} is VALID [2022-04-08 14:05:56,843 INFO L290 TraceCheckUtils]: 137: Hoare triple {25171#(<= ~counter~0 14)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {25171#(<= ~counter~0 14)} is VALID [2022-04-08 14:05:56,843 INFO L290 TraceCheckUtils]: 138: Hoare triple {25171#(<= ~counter~0 14)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25199#(<= |main_#t~post6| 14)} is VALID [2022-04-08 14:05:56,844 INFO L290 TraceCheckUtils]: 139: Hoare triple {25199#(<= |main_#t~post6| 14)} assume !(#t~post6 < 100);havoc #t~post6; {24766#false} is VALID [2022-04-08 14:05:56,844 INFO L272 TraceCheckUtils]: 140: Hoare triple {24766#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {24766#false} is VALID [2022-04-08 14:05:56,844 INFO L290 TraceCheckUtils]: 141: Hoare triple {24766#false} ~cond := #in~cond; {24766#false} is VALID [2022-04-08 14:05:56,844 INFO L290 TraceCheckUtils]: 142: Hoare triple {24766#false} assume 0 == ~cond; {24766#false} is VALID [2022-04-08 14:05:56,844 INFO L290 TraceCheckUtils]: 143: Hoare triple {24766#false} assume !false; {24766#false} is VALID [2022-04-08 14:05:56,844 INFO L134 CoverageAnalysis]: Checked inductivity of 875 backedges. 28 proven. 847 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 14:05:56,845 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 14:05:57,495 INFO L290 TraceCheckUtils]: 143: Hoare triple {24766#false} assume !false; {24766#false} is VALID [2022-04-08 14:05:57,495 INFO L290 TraceCheckUtils]: 142: Hoare triple {24766#false} assume 0 == ~cond; {24766#false} is VALID [2022-04-08 14:05:57,495 INFO L290 TraceCheckUtils]: 141: Hoare triple {24766#false} ~cond := #in~cond; {24766#false} is VALID [2022-04-08 14:05:57,495 INFO L272 TraceCheckUtils]: 140: Hoare triple {24766#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {24766#false} is VALID [2022-04-08 14:05:57,495 INFO L290 TraceCheckUtils]: 139: Hoare triple {25227#(< |main_#t~post6| 100)} assume !(#t~post6 < 100);havoc #t~post6; {24766#false} is VALID [2022-04-08 14:05:57,495 INFO L290 TraceCheckUtils]: 138: Hoare triple {25231#(< ~counter~0 100)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25227#(< |main_#t~post6| 100)} is VALID [2022-04-08 14:05:57,496 INFO L290 TraceCheckUtils]: 137: Hoare triple {25231#(< ~counter~0 100)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {25231#(< ~counter~0 100)} is VALID [2022-04-08 14:05:57,496 INFO L290 TraceCheckUtils]: 136: Hoare triple {25231#(< ~counter~0 100)} assume !!(0 != ~a~0 && 0 != ~b~0); {25231#(< ~counter~0 100)} is VALID [2022-04-08 14:05:57,496 INFO L284 TraceCheckUtils]: 135: Hoare quadruple {24765#true} {25231#(< ~counter~0 100)} #71#return; {25231#(< ~counter~0 100)} is VALID [2022-04-08 14:05:57,496 INFO L290 TraceCheckUtils]: 134: Hoare triple {24765#true} assume true; {24765#true} is VALID [2022-04-08 14:05:57,496 INFO L290 TraceCheckUtils]: 133: Hoare triple {24765#true} assume !(0 == ~cond); {24765#true} is VALID [2022-04-08 14:05:57,496 INFO L290 TraceCheckUtils]: 132: Hoare triple {24765#true} ~cond := #in~cond; {24765#true} is VALID [2022-04-08 14:05:57,496 INFO L272 TraceCheckUtils]: 131: Hoare triple {25231#(< ~counter~0 100)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {24765#true} is VALID [2022-04-08 14:05:57,497 INFO L290 TraceCheckUtils]: 130: Hoare triple {25231#(< ~counter~0 100)} assume !!(#t~post6 < 100);havoc #t~post6; {25231#(< ~counter~0 100)} is VALID [2022-04-08 14:05:57,497 INFO L290 TraceCheckUtils]: 129: Hoare triple {25259#(< ~counter~0 99)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25231#(< ~counter~0 100)} is VALID [2022-04-08 14:05:57,497 INFO L290 TraceCheckUtils]: 128: Hoare triple {25259#(< ~counter~0 99)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {25259#(< ~counter~0 99)} is VALID [2022-04-08 14:05:57,498 INFO L290 TraceCheckUtils]: 127: Hoare triple {25259#(< ~counter~0 99)} assume !!(0 != ~a~0 && 0 != ~b~0); {25259#(< ~counter~0 99)} is VALID [2022-04-08 14:05:57,498 INFO L284 TraceCheckUtils]: 126: Hoare quadruple {24765#true} {25259#(< ~counter~0 99)} #71#return; {25259#(< ~counter~0 99)} is VALID [2022-04-08 14:05:57,498 INFO L290 TraceCheckUtils]: 125: Hoare triple {24765#true} assume true; {24765#true} is VALID [2022-04-08 14:05:57,498 INFO L290 TraceCheckUtils]: 124: Hoare triple {24765#true} assume !(0 == ~cond); {24765#true} is VALID [2022-04-08 14:05:57,498 INFO L290 TraceCheckUtils]: 123: Hoare triple {24765#true} ~cond := #in~cond; {24765#true} is VALID [2022-04-08 14:05:57,498 INFO L272 TraceCheckUtils]: 122: Hoare triple {25259#(< ~counter~0 99)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {24765#true} is VALID [2022-04-08 14:05:57,498 INFO L290 TraceCheckUtils]: 121: Hoare triple {25259#(< ~counter~0 99)} assume !!(#t~post6 < 100);havoc #t~post6; {25259#(< ~counter~0 99)} is VALID [2022-04-08 14:05:57,499 INFO L290 TraceCheckUtils]: 120: Hoare triple {25287#(< ~counter~0 98)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25259#(< ~counter~0 99)} is VALID [2022-04-08 14:05:57,499 INFO L290 TraceCheckUtils]: 119: Hoare triple {25287#(< ~counter~0 98)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {25287#(< ~counter~0 98)} is VALID [2022-04-08 14:05:57,499 INFO L290 TraceCheckUtils]: 118: Hoare triple {25287#(< ~counter~0 98)} assume !!(0 != ~a~0 && 0 != ~b~0); {25287#(< ~counter~0 98)} is VALID [2022-04-08 14:05:57,499 INFO L284 TraceCheckUtils]: 117: Hoare quadruple {24765#true} {25287#(< ~counter~0 98)} #71#return; {25287#(< ~counter~0 98)} is VALID [2022-04-08 14:05:57,500 INFO L290 TraceCheckUtils]: 116: Hoare triple {24765#true} assume true; {24765#true} is VALID [2022-04-08 14:05:57,500 INFO L290 TraceCheckUtils]: 115: Hoare triple {24765#true} assume !(0 == ~cond); {24765#true} is VALID [2022-04-08 14:05:57,500 INFO L290 TraceCheckUtils]: 114: Hoare triple {24765#true} ~cond := #in~cond; {24765#true} is VALID [2022-04-08 14:05:57,500 INFO L272 TraceCheckUtils]: 113: Hoare triple {25287#(< ~counter~0 98)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {24765#true} is VALID [2022-04-08 14:05:57,500 INFO L290 TraceCheckUtils]: 112: Hoare triple {25287#(< ~counter~0 98)} assume !!(#t~post6 < 100);havoc #t~post6; {25287#(< ~counter~0 98)} is VALID [2022-04-08 14:05:57,500 INFO L290 TraceCheckUtils]: 111: Hoare triple {25315#(< ~counter~0 97)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25287#(< ~counter~0 98)} is VALID [2022-04-08 14:05:57,500 INFO L290 TraceCheckUtils]: 110: Hoare triple {25315#(< ~counter~0 97)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {25315#(< ~counter~0 97)} is VALID [2022-04-08 14:05:57,501 INFO L290 TraceCheckUtils]: 109: Hoare triple {25315#(< ~counter~0 97)} assume !!(0 != ~a~0 && 0 != ~b~0); {25315#(< ~counter~0 97)} is VALID [2022-04-08 14:05:57,501 INFO L284 TraceCheckUtils]: 108: Hoare quadruple {24765#true} {25315#(< ~counter~0 97)} #71#return; {25315#(< ~counter~0 97)} is VALID [2022-04-08 14:05:57,501 INFO L290 TraceCheckUtils]: 107: Hoare triple {24765#true} assume true; {24765#true} is VALID [2022-04-08 14:05:57,501 INFO L290 TraceCheckUtils]: 106: Hoare triple {24765#true} assume !(0 == ~cond); {24765#true} is VALID [2022-04-08 14:05:57,501 INFO L290 TraceCheckUtils]: 105: Hoare triple {24765#true} ~cond := #in~cond; {24765#true} is VALID [2022-04-08 14:05:57,501 INFO L272 TraceCheckUtils]: 104: Hoare triple {25315#(< ~counter~0 97)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {24765#true} is VALID [2022-04-08 14:05:57,501 INFO L290 TraceCheckUtils]: 103: Hoare triple {25315#(< ~counter~0 97)} assume !!(#t~post6 < 100);havoc #t~post6; {25315#(< ~counter~0 97)} is VALID [2022-04-08 14:05:57,502 INFO L290 TraceCheckUtils]: 102: Hoare triple {25343#(< ~counter~0 96)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25315#(< ~counter~0 97)} is VALID [2022-04-08 14:05:57,502 INFO L290 TraceCheckUtils]: 101: Hoare triple {25343#(< ~counter~0 96)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {25343#(< ~counter~0 96)} is VALID [2022-04-08 14:05:57,502 INFO L290 TraceCheckUtils]: 100: Hoare triple {25343#(< ~counter~0 96)} assume !!(0 != ~a~0 && 0 != ~b~0); {25343#(< ~counter~0 96)} is VALID [2022-04-08 14:05:57,503 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {24765#true} {25343#(< ~counter~0 96)} #71#return; {25343#(< ~counter~0 96)} is VALID [2022-04-08 14:05:57,503 INFO L290 TraceCheckUtils]: 98: Hoare triple {24765#true} assume true; {24765#true} is VALID [2022-04-08 14:05:57,503 INFO L290 TraceCheckUtils]: 97: Hoare triple {24765#true} assume !(0 == ~cond); {24765#true} is VALID [2022-04-08 14:05:57,503 INFO L290 TraceCheckUtils]: 96: Hoare triple {24765#true} ~cond := #in~cond; {24765#true} is VALID [2022-04-08 14:05:57,503 INFO L272 TraceCheckUtils]: 95: Hoare triple {25343#(< ~counter~0 96)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {24765#true} is VALID [2022-04-08 14:05:57,503 INFO L290 TraceCheckUtils]: 94: Hoare triple {25343#(< ~counter~0 96)} assume !!(#t~post6 < 100);havoc #t~post6; {25343#(< ~counter~0 96)} is VALID [2022-04-08 14:05:57,503 INFO L290 TraceCheckUtils]: 93: Hoare triple {25371#(< ~counter~0 95)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25343#(< ~counter~0 96)} is VALID [2022-04-08 14:05:57,504 INFO L290 TraceCheckUtils]: 92: Hoare triple {25371#(< ~counter~0 95)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {25371#(< ~counter~0 95)} is VALID [2022-04-08 14:05:57,504 INFO L290 TraceCheckUtils]: 91: Hoare triple {25371#(< ~counter~0 95)} assume !!(0 != ~a~0 && 0 != ~b~0); {25371#(< ~counter~0 95)} is VALID [2022-04-08 14:05:57,504 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {24765#true} {25371#(< ~counter~0 95)} #71#return; {25371#(< ~counter~0 95)} is VALID [2022-04-08 14:05:57,504 INFO L290 TraceCheckUtils]: 89: Hoare triple {24765#true} assume true; {24765#true} is VALID [2022-04-08 14:05:57,504 INFO L290 TraceCheckUtils]: 88: Hoare triple {24765#true} assume !(0 == ~cond); {24765#true} is VALID [2022-04-08 14:05:57,504 INFO L290 TraceCheckUtils]: 87: Hoare triple {24765#true} ~cond := #in~cond; {24765#true} is VALID [2022-04-08 14:05:57,504 INFO L272 TraceCheckUtils]: 86: Hoare triple {25371#(< ~counter~0 95)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {24765#true} is VALID [2022-04-08 14:05:57,505 INFO L290 TraceCheckUtils]: 85: Hoare triple {25371#(< ~counter~0 95)} assume !!(#t~post6 < 100);havoc #t~post6; {25371#(< ~counter~0 95)} is VALID [2022-04-08 14:05:57,505 INFO L290 TraceCheckUtils]: 84: Hoare triple {25399#(< ~counter~0 94)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25371#(< ~counter~0 95)} is VALID [2022-04-08 14:05:57,505 INFO L290 TraceCheckUtils]: 83: Hoare triple {25399#(< ~counter~0 94)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {25399#(< ~counter~0 94)} is VALID [2022-04-08 14:05:57,505 INFO L290 TraceCheckUtils]: 82: Hoare triple {25399#(< ~counter~0 94)} assume !!(0 != ~a~0 && 0 != ~b~0); {25399#(< ~counter~0 94)} is VALID [2022-04-08 14:05:57,506 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {24765#true} {25399#(< ~counter~0 94)} #71#return; {25399#(< ~counter~0 94)} is VALID [2022-04-08 14:05:57,506 INFO L290 TraceCheckUtils]: 80: Hoare triple {24765#true} assume true; {24765#true} is VALID [2022-04-08 14:05:57,506 INFO L290 TraceCheckUtils]: 79: Hoare triple {24765#true} assume !(0 == ~cond); {24765#true} is VALID [2022-04-08 14:05:57,506 INFO L290 TraceCheckUtils]: 78: Hoare triple {24765#true} ~cond := #in~cond; {24765#true} is VALID [2022-04-08 14:05:57,506 INFO L272 TraceCheckUtils]: 77: Hoare triple {25399#(< ~counter~0 94)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {24765#true} is VALID [2022-04-08 14:05:57,506 INFO L290 TraceCheckUtils]: 76: Hoare triple {25399#(< ~counter~0 94)} assume !!(#t~post6 < 100);havoc #t~post6; {25399#(< ~counter~0 94)} is VALID [2022-04-08 14:05:57,506 INFO L290 TraceCheckUtils]: 75: Hoare triple {25427#(< ~counter~0 93)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25399#(< ~counter~0 94)} is VALID [2022-04-08 14:05:57,507 INFO L290 TraceCheckUtils]: 74: Hoare triple {25427#(< ~counter~0 93)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {25427#(< ~counter~0 93)} is VALID [2022-04-08 14:05:57,507 INFO L290 TraceCheckUtils]: 73: Hoare triple {25427#(< ~counter~0 93)} assume !!(0 != ~a~0 && 0 != ~b~0); {25427#(< ~counter~0 93)} is VALID [2022-04-08 14:05:57,507 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {24765#true} {25427#(< ~counter~0 93)} #71#return; {25427#(< ~counter~0 93)} is VALID [2022-04-08 14:05:57,507 INFO L290 TraceCheckUtils]: 71: Hoare triple {24765#true} assume true; {24765#true} is VALID [2022-04-08 14:05:57,507 INFO L290 TraceCheckUtils]: 70: Hoare triple {24765#true} assume !(0 == ~cond); {24765#true} is VALID [2022-04-08 14:05:57,507 INFO L290 TraceCheckUtils]: 69: Hoare triple {24765#true} ~cond := #in~cond; {24765#true} is VALID [2022-04-08 14:05:57,507 INFO L272 TraceCheckUtils]: 68: Hoare triple {25427#(< ~counter~0 93)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {24765#true} is VALID [2022-04-08 14:05:57,508 INFO L290 TraceCheckUtils]: 67: Hoare triple {25427#(< ~counter~0 93)} assume !!(#t~post6 < 100);havoc #t~post6; {25427#(< ~counter~0 93)} is VALID [2022-04-08 14:05:57,508 INFO L290 TraceCheckUtils]: 66: Hoare triple {25455#(< ~counter~0 92)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25427#(< ~counter~0 93)} is VALID [2022-04-08 14:05:57,508 INFO L290 TraceCheckUtils]: 65: Hoare triple {25455#(< ~counter~0 92)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {25455#(< ~counter~0 92)} is VALID [2022-04-08 14:05:57,508 INFO L290 TraceCheckUtils]: 64: Hoare triple {25455#(< ~counter~0 92)} assume !!(0 != ~a~0 && 0 != ~b~0); {25455#(< ~counter~0 92)} is VALID [2022-04-08 14:05:57,509 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {24765#true} {25455#(< ~counter~0 92)} #71#return; {25455#(< ~counter~0 92)} is VALID [2022-04-08 14:05:57,509 INFO L290 TraceCheckUtils]: 62: Hoare triple {24765#true} assume true; {24765#true} is VALID [2022-04-08 14:05:57,509 INFO L290 TraceCheckUtils]: 61: Hoare triple {24765#true} assume !(0 == ~cond); {24765#true} is VALID [2022-04-08 14:05:57,509 INFO L290 TraceCheckUtils]: 60: Hoare triple {24765#true} ~cond := #in~cond; {24765#true} is VALID [2022-04-08 14:05:57,509 INFO L272 TraceCheckUtils]: 59: Hoare triple {25455#(< ~counter~0 92)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {24765#true} is VALID [2022-04-08 14:05:57,509 INFO L290 TraceCheckUtils]: 58: Hoare triple {25455#(< ~counter~0 92)} assume !!(#t~post6 < 100);havoc #t~post6; {25455#(< ~counter~0 92)} is VALID [2022-04-08 14:05:57,509 INFO L290 TraceCheckUtils]: 57: Hoare triple {25483#(< ~counter~0 91)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25455#(< ~counter~0 92)} is VALID [2022-04-08 14:05:57,510 INFO L290 TraceCheckUtils]: 56: Hoare triple {25483#(< ~counter~0 91)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {25483#(< ~counter~0 91)} is VALID [2022-04-08 14:05:57,510 INFO L290 TraceCheckUtils]: 55: Hoare triple {25483#(< ~counter~0 91)} assume !!(0 != ~a~0 && 0 != ~b~0); {25483#(< ~counter~0 91)} is VALID [2022-04-08 14:05:57,510 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {24765#true} {25483#(< ~counter~0 91)} #71#return; {25483#(< ~counter~0 91)} is VALID [2022-04-08 14:05:57,510 INFO L290 TraceCheckUtils]: 53: Hoare triple {24765#true} assume true; {24765#true} is VALID [2022-04-08 14:05:57,510 INFO L290 TraceCheckUtils]: 52: Hoare triple {24765#true} assume !(0 == ~cond); {24765#true} is VALID [2022-04-08 14:05:57,510 INFO L290 TraceCheckUtils]: 51: Hoare triple {24765#true} ~cond := #in~cond; {24765#true} is VALID [2022-04-08 14:05:57,510 INFO L272 TraceCheckUtils]: 50: Hoare triple {25483#(< ~counter~0 91)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {24765#true} is VALID [2022-04-08 14:05:57,511 INFO L290 TraceCheckUtils]: 49: Hoare triple {25483#(< ~counter~0 91)} assume !!(#t~post6 < 100);havoc #t~post6; {25483#(< ~counter~0 91)} is VALID [2022-04-08 14:05:57,511 INFO L290 TraceCheckUtils]: 48: Hoare triple {25511#(< ~counter~0 90)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25483#(< ~counter~0 91)} is VALID [2022-04-08 14:05:57,511 INFO L290 TraceCheckUtils]: 47: Hoare triple {25511#(< ~counter~0 90)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {25511#(< ~counter~0 90)} is VALID [2022-04-08 14:05:57,511 INFO L290 TraceCheckUtils]: 46: Hoare triple {25511#(< ~counter~0 90)} assume !!(0 != ~a~0 && 0 != ~b~0); {25511#(< ~counter~0 90)} is VALID [2022-04-08 14:05:57,512 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {24765#true} {25511#(< ~counter~0 90)} #71#return; {25511#(< ~counter~0 90)} is VALID [2022-04-08 14:05:57,512 INFO L290 TraceCheckUtils]: 44: Hoare triple {24765#true} assume true; {24765#true} is VALID [2022-04-08 14:05:57,512 INFO L290 TraceCheckUtils]: 43: Hoare triple {24765#true} assume !(0 == ~cond); {24765#true} is VALID [2022-04-08 14:05:57,512 INFO L290 TraceCheckUtils]: 42: Hoare triple {24765#true} ~cond := #in~cond; {24765#true} is VALID [2022-04-08 14:05:57,512 INFO L272 TraceCheckUtils]: 41: Hoare triple {25511#(< ~counter~0 90)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {24765#true} is VALID [2022-04-08 14:05:57,512 INFO L290 TraceCheckUtils]: 40: Hoare triple {25511#(< ~counter~0 90)} assume !!(#t~post6 < 100);havoc #t~post6; {25511#(< ~counter~0 90)} is VALID [2022-04-08 14:05:57,513 INFO L290 TraceCheckUtils]: 39: Hoare triple {25539#(< ~counter~0 89)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25511#(< ~counter~0 90)} is VALID [2022-04-08 14:05:57,513 INFO L290 TraceCheckUtils]: 38: Hoare triple {25539#(< ~counter~0 89)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {25539#(< ~counter~0 89)} is VALID [2022-04-08 14:05:57,513 INFO L290 TraceCheckUtils]: 37: Hoare triple {25539#(< ~counter~0 89)} assume !!(0 != ~a~0 && 0 != ~b~0); {25539#(< ~counter~0 89)} is VALID [2022-04-08 14:05:57,513 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {24765#true} {25539#(< ~counter~0 89)} #71#return; {25539#(< ~counter~0 89)} is VALID [2022-04-08 14:05:57,513 INFO L290 TraceCheckUtils]: 35: Hoare triple {24765#true} assume true; {24765#true} is VALID [2022-04-08 14:05:57,513 INFO L290 TraceCheckUtils]: 34: Hoare triple {24765#true} assume !(0 == ~cond); {24765#true} is VALID [2022-04-08 14:05:57,513 INFO L290 TraceCheckUtils]: 33: Hoare triple {24765#true} ~cond := #in~cond; {24765#true} is VALID [2022-04-08 14:05:57,514 INFO L272 TraceCheckUtils]: 32: Hoare triple {25539#(< ~counter~0 89)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {24765#true} is VALID [2022-04-08 14:05:57,514 INFO L290 TraceCheckUtils]: 31: Hoare triple {25539#(< ~counter~0 89)} assume !!(#t~post6 < 100);havoc #t~post6; {25539#(< ~counter~0 89)} is VALID [2022-04-08 14:05:57,514 INFO L290 TraceCheckUtils]: 30: Hoare triple {25567#(< ~counter~0 88)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25539#(< ~counter~0 89)} is VALID [2022-04-08 14:05:57,514 INFO L290 TraceCheckUtils]: 29: Hoare triple {25567#(< ~counter~0 88)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {25567#(< ~counter~0 88)} is VALID [2022-04-08 14:05:57,514 INFO L290 TraceCheckUtils]: 28: Hoare triple {25567#(< ~counter~0 88)} assume !!(0 != ~a~0 && 0 != ~b~0); {25567#(< ~counter~0 88)} is VALID [2022-04-08 14:05:57,515 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {24765#true} {25567#(< ~counter~0 88)} #71#return; {25567#(< ~counter~0 88)} is VALID [2022-04-08 14:05:57,515 INFO L290 TraceCheckUtils]: 26: Hoare triple {24765#true} assume true; {24765#true} is VALID [2022-04-08 14:05:57,515 INFO L290 TraceCheckUtils]: 25: Hoare triple {24765#true} assume !(0 == ~cond); {24765#true} is VALID [2022-04-08 14:05:57,515 INFO L290 TraceCheckUtils]: 24: Hoare triple {24765#true} ~cond := #in~cond; {24765#true} is VALID [2022-04-08 14:05:57,515 INFO L272 TraceCheckUtils]: 23: Hoare triple {25567#(< ~counter~0 88)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {24765#true} is VALID [2022-04-08 14:05:57,515 INFO L290 TraceCheckUtils]: 22: Hoare triple {25567#(< ~counter~0 88)} assume !!(#t~post6 < 100);havoc #t~post6; {25567#(< ~counter~0 88)} is VALID [2022-04-08 14:05:57,516 INFO L290 TraceCheckUtils]: 21: Hoare triple {25595#(< ~counter~0 87)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25567#(< ~counter~0 88)} is VALID [2022-04-08 14:05:57,516 INFO L290 TraceCheckUtils]: 20: Hoare triple {25595#(< ~counter~0 87)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {25595#(< ~counter~0 87)} is VALID [2022-04-08 14:05:57,516 INFO L290 TraceCheckUtils]: 19: Hoare triple {25595#(< ~counter~0 87)} assume !!(0 != ~a~0 && 0 != ~b~0); {25595#(< ~counter~0 87)} is VALID [2022-04-08 14:05:57,516 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {24765#true} {25595#(< ~counter~0 87)} #71#return; {25595#(< ~counter~0 87)} is VALID [2022-04-08 14:05:57,516 INFO L290 TraceCheckUtils]: 17: Hoare triple {24765#true} assume true; {24765#true} is VALID [2022-04-08 14:05:57,517 INFO L290 TraceCheckUtils]: 16: Hoare triple {24765#true} assume !(0 == ~cond); {24765#true} is VALID [2022-04-08 14:05:57,517 INFO L290 TraceCheckUtils]: 15: Hoare triple {24765#true} ~cond := #in~cond; {24765#true} is VALID [2022-04-08 14:05:57,517 INFO L272 TraceCheckUtils]: 14: Hoare triple {25595#(< ~counter~0 87)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {24765#true} is VALID [2022-04-08 14:05:57,517 INFO L290 TraceCheckUtils]: 13: Hoare triple {25595#(< ~counter~0 87)} assume !!(#t~post6 < 100);havoc #t~post6; {25595#(< ~counter~0 87)} is VALID [2022-04-08 14:05:57,517 INFO L290 TraceCheckUtils]: 12: Hoare triple {25623#(< ~counter~0 86)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25595#(< ~counter~0 87)} is VALID [2022-04-08 14:05:57,517 INFO L290 TraceCheckUtils]: 11: Hoare triple {25623#(< ~counter~0 86)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {25623#(< ~counter~0 86)} is VALID [2022-04-08 14:05:57,518 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {24765#true} {25623#(< ~counter~0 86)} #69#return; {25623#(< ~counter~0 86)} is VALID [2022-04-08 14:05:57,518 INFO L290 TraceCheckUtils]: 9: Hoare triple {24765#true} assume true; {24765#true} is VALID [2022-04-08 14:05:57,518 INFO L290 TraceCheckUtils]: 8: Hoare triple {24765#true} assume !(0 == ~cond); {24765#true} is VALID [2022-04-08 14:05:57,518 INFO L290 TraceCheckUtils]: 7: Hoare triple {24765#true} ~cond := #in~cond; {24765#true} is VALID [2022-04-08 14:05:57,518 INFO L272 TraceCheckUtils]: 6: Hoare triple {25623#(< ~counter~0 86)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {24765#true} is VALID [2022-04-08 14:05:57,518 INFO L290 TraceCheckUtils]: 5: Hoare triple {25623#(< ~counter~0 86)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {25623#(< ~counter~0 86)} is VALID [2022-04-08 14:05:57,518 INFO L272 TraceCheckUtils]: 4: Hoare triple {25623#(< ~counter~0 86)} call #t~ret7 := main(); {25623#(< ~counter~0 86)} is VALID [2022-04-08 14:05:57,519 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25623#(< ~counter~0 86)} {24765#true} #77#return; {25623#(< ~counter~0 86)} is VALID [2022-04-08 14:05:57,519 INFO L290 TraceCheckUtils]: 2: Hoare triple {25623#(< ~counter~0 86)} assume true; {25623#(< ~counter~0 86)} is VALID [2022-04-08 14:05:57,519 INFO L290 TraceCheckUtils]: 1: Hoare triple {24765#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {25623#(< ~counter~0 86)} is VALID [2022-04-08 14:05:57,519 INFO L272 TraceCheckUtils]: 0: Hoare triple {24765#true} call ULTIMATE.init(); {24765#true} is VALID [2022-04-08 14:05:57,520 INFO L134 CoverageAnalysis]: Checked inductivity of 875 backedges. 28 proven. 483 refuted. 0 times theorem prover too weak. 364 trivial. 0 not checked. [2022-04-08 14:05:57,520 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 14:05:57,520 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [306204255] [2022-04-08 14:05:57,520 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 14:05:57,520 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1127955337] [2022-04-08 14:05:57,520 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1127955337] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 14:05:57,520 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 14:05:57,520 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 18] total 34 [2022-04-08 14:05:57,520 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 14:05:57,520 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1051225415] [2022-04-08 14:05:57,521 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1051225415] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 14:05:57,521 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 14:05:57,521 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [18] imperfect sequences [] total 18 [2022-04-08 14:05:57,521 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [946064732] [2022-04-08 14:05:57,521 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 14:05:57,522 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 18 states have (on average 6.111111111111111) internal successors, (110), 17 states have internal predecessors, (110), 17 states have call successors, (18), 17 states have call predecessors, (18), 15 states have return successors, (16), 15 states have call predecessors, (16), 16 states have call successors, (16) Word has length 144 [2022-04-08 14:05:57,522 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 14:05:57,522 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 18 states, 18 states have (on average 6.111111111111111) internal successors, (110), 17 states have internal predecessors, (110), 17 states have call successors, (18), 17 states have call predecessors, (18), 15 states have return successors, (16), 15 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-08 14:05:57,591 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 144 edges. 144 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:05:57,591 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-08 14:05:57,591 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 14:05:57,591 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-08 14:05:57,592 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=501, Invalid=621, Unknown=0, NotChecked=0, Total=1122 [2022-04-08 14:05:57,592 INFO L87 Difference]: Start difference. First operand 186 states and 230 transitions. Second operand has 18 states, 18 states have (on average 6.111111111111111) internal successors, (110), 17 states have internal predecessors, (110), 17 states have call successors, (18), 17 states have call predecessors, (18), 15 states have return successors, (16), 15 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-08 14:05:58,219 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:05:58,219 INFO L93 Difference]: Finished difference Result 205 states and 253 transitions. [2022-04-08 14:05:58,219 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 32 states. [2022-04-08 14:05:58,219 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 18 states have (on average 6.111111111111111) internal successors, (110), 17 states have internal predecessors, (110), 17 states have call successors, (18), 17 states have call predecessors, (18), 15 states have return successors, (16), 15 states have call predecessors, (16), 16 states have call successors, (16) Word has length 144 [2022-04-08 14:05:58,220 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 14:05:58,220 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 18 states have (on average 6.111111111111111) internal successors, (110), 17 states have internal predecessors, (110), 17 states have call successors, (18), 17 states have call predecessors, (18), 15 states have return successors, (16), 15 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-08 14:05:58,235 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 239 transitions. [2022-04-08 14:05:58,241 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 18 states have (on average 6.111111111111111) internal successors, (110), 17 states have internal predecessors, (110), 17 states have call successors, (18), 17 states have call predecessors, (18), 15 states have return successors, (16), 15 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-08 14:05:58,244 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 239 transitions. [2022-04-08 14:05:58,244 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 32 states and 239 transitions. [2022-04-08 14:05:58,478 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 239 edges. 239 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:05:58,480 INFO L225 Difference]: With dead ends: 205 [2022-04-08 14:05:58,480 INFO L226 Difference]: Without dead ends: 197 [2022-04-08 14:05:58,481 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 301 GetRequests, 255 SyntacticMatches, 0 SemanticMatches, 46 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 134 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=963, Invalid=1293, Unknown=0, NotChecked=0, Total=2256 [2022-04-08 14:05:58,481 INFO L913 BasicCegarLoop]: 44 mSDtfsCounter, 187 mSDsluCounter, 218 mSDsCounter, 0 mSdLazyCounter, 96 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 187 SdHoareTripleChecker+Valid, 262 SdHoareTripleChecker+Invalid, 106 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 96 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 14:05:58,481 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [187 Valid, 262 Invalid, 106 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 96 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 14:05:58,482 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 197 states. [2022-04-08 14:05:58,802 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 197 to 197. [2022-04-08 14:05:58,803 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 14:05:58,803 INFO L82 GeneralOperation]: Start isEquivalent. First operand 197 states. Second operand has 197 states, 156 states have (on average 1.3076923076923077) internal successors, (204), 157 states have internal predecessors, (204), 21 states have call successors, (21), 20 states have call predecessors, (21), 19 states have return successors, (19), 19 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-08 14:05:58,803 INFO L74 IsIncluded]: Start isIncluded. First operand 197 states. Second operand has 197 states, 156 states have (on average 1.3076923076923077) internal successors, (204), 157 states have internal predecessors, (204), 21 states have call successors, (21), 20 states have call predecessors, (21), 19 states have return successors, (19), 19 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-08 14:05:58,803 INFO L87 Difference]: Start difference. First operand 197 states. Second operand has 197 states, 156 states have (on average 1.3076923076923077) internal successors, (204), 157 states have internal predecessors, (204), 21 states have call successors, (21), 20 states have call predecessors, (21), 19 states have return successors, (19), 19 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-08 14:05:58,805 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:05:58,805 INFO L93 Difference]: Finished difference Result 197 states and 244 transitions. [2022-04-08 14:05:58,806 INFO L276 IsEmpty]: Start isEmpty. Operand 197 states and 244 transitions. [2022-04-08 14:05:58,806 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:05:58,806 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:05:58,806 INFO L74 IsIncluded]: Start isIncluded. First operand has 197 states, 156 states have (on average 1.3076923076923077) internal successors, (204), 157 states have internal predecessors, (204), 21 states have call successors, (21), 20 states have call predecessors, (21), 19 states have return successors, (19), 19 states have call predecessors, (19), 19 states have call successors, (19) Second operand 197 states. [2022-04-08 14:05:58,806 INFO L87 Difference]: Start difference. First operand has 197 states, 156 states have (on average 1.3076923076923077) internal successors, (204), 157 states have internal predecessors, (204), 21 states have call successors, (21), 20 states have call predecessors, (21), 19 states have return successors, (19), 19 states have call predecessors, (19), 19 states have call successors, (19) Second operand 197 states. [2022-04-08 14:05:58,809 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:05:58,809 INFO L93 Difference]: Finished difference Result 197 states and 244 transitions. [2022-04-08 14:05:58,809 INFO L276 IsEmpty]: Start isEmpty. Operand 197 states and 244 transitions. [2022-04-08 14:05:58,809 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:05:58,809 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:05:58,809 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 14:05:58,809 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 14:05:58,809 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 197 states, 156 states have (on average 1.3076923076923077) internal successors, (204), 157 states have internal predecessors, (204), 21 states have call successors, (21), 20 states have call predecessors, (21), 19 states have return successors, (19), 19 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-08 14:05:58,812 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 197 states to 197 states and 244 transitions. [2022-04-08 14:05:58,812 INFO L78 Accepts]: Start accepts. Automaton has 197 states and 244 transitions. Word has length 144 [2022-04-08 14:05:58,812 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 14:05:58,812 INFO L478 AbstractCegarLoop]: Abstraction has 197 states and 244 transitions. [2022-04-08 14:05:58,812 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 18 states, 18 states have (on average 6.111111111111111) internal successors, (110), 17 states have internal predecessors, (110), 17 states have call successors, (18), 17 states have call predecessors, (18), 15 states have return successors, (16), 15 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-08 14:05:58,812 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 197 states and 244 transitions. [2022-04-08 14:06:29,227 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 244 edges. 230 inductive. 0 not inductive. 14 times theorem prover too weak to decide inductivity. [2022-04-08 14:06:29,227 INFO L276 IsEmpty]: Start isEmpty. Operand 197 states and 244 transitions. [2022-04-08 14:06:29,227 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 154 [2022-04-08 14:06:29,227 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 14:06:29,228 INFO L499 BasicCegarLoop]: trace histogram [16, 16, 15, 15, 15, 15, 15, 15, 15, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 14:06:29,246 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (28)] Forceful destruction successful, exit code 0 [2022-04-08 14:06:29,428 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 28 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable27 [2022-04-08 14:06:29,428 INFO L403 AbstractCegarLoop]: === Iteration 29 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 14:06:29,428 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 14:06:29,428 INFO L85 PathProgramCache]: Analyzing trace with hash 1855494722, now seen corresponding path program 29 times [2022-04-08 14:06:29,428 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 14:06:29,428 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2097162592] [2022-04-08 14:06:35,478 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 14:06:35,478 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 14:06:35,478 INFO L85 PathProgramCache]: Analyzing trace with hash 1855494722, now seen corresponding path program 30 times [2022-04-08 14:06:35,478 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 14:06:35,478 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [489990855] [2022-04-08 14:06:35,478 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 14:06:35,478 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 14:06:35,495 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 14:06:35,495 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1337621960] [2022-04-08 14:06:35,496 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 14:06:35,496 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 14:06:35,496 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 14:06:35,496 INFO L229 MonitoredProcess]: Starting monitored process 29 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 14:06:35,498 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (29)] Waiting until timeout for monitored process [2022-04-08 14:06:35,702 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 16 check-sat command(s) [2022-04-08 14:06:35,702 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 14:06:35,704 INFO L263 TraceCheckSpWp]: Trace formula consists of 476 conjuncts, 35 conjunts are in the unsatisfiable core [2022-04-08 14:06:35,726 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 14:06:35,727 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 14:06:36,452 INFO L272 TraceCheckUtils]: 0: Hoare triple {26888#true} call ULTIMATE.init(); {26888#true} is VALID [2022-04-08 14:06:36,452 INFO L290 TraceCheckUtils]: 1: Hoare triple {26888#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {26896#(<= ~counter~0 0)} is VALID [2022-04-08 14:06:36,453 INFO L290 TraceCheckUtils]: 2: Hoare triple {26896#(<= ~counter~0 0)} assume true; {26896#(<= ~counter~0 0)} is VALID [2022-04-08 14:06:36,453 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {26896#(<= ~counter~0 0)} {26888#true} #77#return; {26896#(<= ~counter~0 0)} is VALID [2022-04-08 14:06:36,453 INFO L272 TraceCheckUtils]: 4: Hoare triple {26896#(<= ~counter~0 0)} call #t~ret7 := main(); {26896#(<= ~counter~0 0)} is VALID [2022-04-08 14:06:36,453 INFO L290 TraceCheckUtils]: 5: Hoare triple {26896#(<= ~counter~0 0)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {26896#(<= ~counter~0 0)} is VALID [2022-04-08 14:06:36,454 INFO L272 TraceCheckUtils]: 6: Hoare triple {26896#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {26896#(<= ~counter~0 0)} is VALID [2022-04-08 14:06:36,454 INFO L290 TraceCheckUtils]: 7: Hoare triple {26896#(<= ~counter~0 0)} ~cond := #in~cond; {26896#(<= ~counter~0 0)} is VALID [2022-04-08 14:06:36,454 INFO L290 TraceCheckUtils]: 8: Hoare triple {26896#(<= ~counter~0 0)} assume !(0 == ~cond); {26896#(<= ~counter~0 0)} is VALID [2022-04-08 14:06:36,454 INFO L290 TraceCheckUtils]: 9: Hoare triple {26896#(<= ~counter~0 0)} assume true; {26896#(<= ~counter~0 0)} is VALID [2022-04-08 14:06:36,454 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {26896#(<= ~counter~0 0)} {26896#(<= ~counter~0 0)} #69#return; {26896#(<= ~counter~0 0)} is VALID [2022-04-08 14:06:36,455 INFO L290 TraceCheckUtils]: 11: Hoare triple {26896#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {26896#(<= ~counter~0 0)} is VALID [2022-04-08 14:06:36,455 INFO L290 TraceCheckUtils]: 12: Hoare triple {26896#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26930#(<= ~counter~0 1)} is VALID [2022-04-08 14:06:36,455 INFO L290 TraceCheckUtils]: 13: Hoare triple {26930#(<= ~counter~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {26930#(<= ~counter~0 1)} is VALID [2022-04-08 14:06:36,456 INFO L272 TraceCheckUtils]: 14: Hoare triple {26930#(<= ~counter~0 1)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {26930#(<= ~counter~0 1)} is VALID [2022-04-08 14:06:36,456 INFO L290 TraceCheckUtils]: 15: Hoare triple {26930#(<= ~counter~0 1)} ~cond := #in~cond; {26930#(<= ~counter~0 1)} is VALID [2022-04-08 14:06:36,456 INFO L290 TraceCheckUtils]: 16: Hoare triple {26930#(<= ~counter~0 1)} assume !(0 == ~cond); {26930#(<= ~counter~0 1)} is VALID [2022-04-08 14:06:36,456 INFO L290 TraceCheckUtils]: 17: Hoare triple {26930#(<= ~counter~0 1)} assume true; {26930#(<= ~counter~0 1)} is VALID [2022-04-08 14:06:36,457 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {26930#(<= ~counter~0 1)} {26930#(<= ~counter~0 1)} #71#return; {26930#(<= ~counter~0 1)} is VALID [2022-04-08 14:06:36,457 INFO L290 TraceCheckUtils]: 19: Hoare triple {26930#(<= ~counter~0 1)} assume !!(0 != ~a~0 && 0 != ~b~0); {26930#(<= ~counter~0 1)} is VALID [2022-04-08 14:06:36,457 INFO L290 TraceCheckUtils]: 20: Hoare triple {26930#(<= ~counter~0 1)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {26930#(<= ~counter~0 1)} is VALID [2022-04-08 14:06:36,457 INFO L290 TraceCheckUtils]: 21: Hoare triple {26930#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26958#(<= ~counter~0 2)} is VALID [2022-04-08 14:06:36,457 INFO L290 TraceCheckUtils]: 22: Hoare triple {26958#(<= ~counter~0 2)} assume !!(#t~post6 < 100);havoc #t~post6; {26958#(<= ~counter~0 2)} is VALID [2022-04-08 14:06:36,458 INFO L272 TraceCheckUtils]: 23: Hoare triple {26958#(<= ~counter~0 2)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {26958#(<= ~counter~0 2)} is VALID [2022-04-08 14:06:36,458 INFO L290 TraceCheckUtils]: 24: Hoare triple {26958#(<= ~counter~0 2)} ~cond := #in~cond; {26958#(<= ~counter~0 2)} is VALID [2022-04-08 14:06:36,458 INFO L290 TraceCheckUtils]: 25: Hoare triple {26958#(<= ~counter~0 2)} assume !(0 == ~cond); {26958#(<= ~counter~0 2)} is VALID [2022-04-08 14:06:36,458 INFO L290 TraceCheckUtils]: 26: Hoare triple {26958#(<= ~counter~0 2)} assume true; {26958#(<= ~counter~0 2)} is VALID [2022-04-08 14:06:36,461 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {26958#(<= ~counter~0 2)} {26958#(<= ~counter~0 2)} #71#return; {26958#(<= ~counter~0 2)} is VALID [2022-04-08 14:06:36,461 INFO L290 TraceCheckUtils]: 28: Hoare triple {26958#(<= ~counter~0 2)} assume !!(0 != ~a~0 && 0 != ~b~0); {26958#(<= ~counter~0 2)} is VALID [2022-04-08 14:06:36,461 INFO L290 TraceCheckUtils]: 29: Hoare triple {26958#(<= ~counter~0 2)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {26958#(<= ~counter~0 2)} is VALID [2022-04-08 14:06:36,462 INFO L290 TraceCheckUtils]: 30: Hoare triple {26958#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26986#(<= ~counter~0 3)} is VALID [2022-04-08 14:06:36,462 INFO L290 TraceCheckUtils]: 31: Hoare triple {26986#(<= ~counter~0 3)} assume !!(#t~post6 < 100);havoc #t~post6; {26986#(<= ~counter~0 3)} is VALID [2022-04-08 14:06:36,463 INFO L272 TraceCheckUtils]: 32: Hoare triple {26986#(<= ~counter~0 3)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {26986#(<= ~counter~0 3)} is VALID [2022-04-08 14:06:36,463 INFO L290 TraceCheckUtils]: 33: Hoare triple {26986#(<= ~counter~0 3)} ~cond := #in~cond; {26986#(<= ~counter~0 3)} is VALID [2022-04-08 14:06:36,463 INFO L290 TraceCheckUtils]: 34: Hoare triple {26986#(<= ~counter~0 3)} assume !(0 == ~cond); {26986#(<= ~counter~0 3)} is VALID [2022-04-08 14:06:36,463 INFO L290 TraceCheckUtils]: 35: Hoare triple {26986#(<= ~counter~0 3)} assume true; {26986#(<= ~counter~0 3)} is VALID [2022-04-08 14:06:36,464 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {26986#(<= ~counter~0 3)} {26986#(<= ~counter~0 3)} #71#return; {26986#(<= ~counter~0 3)} is VALID [2022-04-08 14:06:36,464 INFO L290 TraceCheckUtils]: 37: Hoare triple {26986#(<= ~counter~0 3)} assume !!(0 != ~a~0 && 0 != ~b~0); {26986#(<= ~counter~0 3)} is VALID [2022-04-08 14:06:36,465 INFO L290 TraceCheckUtils]: 38: Hoare triple {26986#(<= ~counter~0 3)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {26986#(<= ~counter~0 3)} is VALID [2022-04-08 14:06:36,465 INFO L290 TraceCheckUtils]: 39: Hoare triple {26986#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27014#(<= ~counter~0 4)} is VALID [2022-04-08 14:06:36,465 INFO L290 TraceCheckUtils]: 40: Hoare triple {27014#(<= ~counter~0 4)} assume !!(#t~post6 < 100);havoc #t~post6; {27014#(<= ~counter~0 4)} is VALID [2022-04-08 14:06:36,466 INFO L272 TraceCheckUtils]: 41: Hoare triple {27014#(<= ~counter~0 4)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {27014#(<= ~counter~0 4)} is VALID [2022-04-08 14:06:36,466 INFO L290 TraceCheckUtils]: 42: Hoare triple {27014#(<= ~counter~0 4)} ~cond := #in~cond; {27014#(<= ~counter~0 4)} is VALID [2022-04-08 14:06:36,466 INFO L290 TraceCheckUtils]: 43: Hoare triple {27014#(<= ~counter~0 4)} assume !(0 == ~cond); {27014#(<= ~counter~0 4)} is VALID [2022-04-08 14:06:36,467 INFO L290 TraceCheckUtils]: 44: Hoare triple {27014#(<= ~counter~0 4)} assume true; {27014#(<= ~counter~0 4)} is VALID [2022-04-08 14:06:36,467 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {27014#(<= ~counter~0 4)} {27014#(<= ~counter~0 4)} #71#return; {27014#(<= ~counter~0 4)} is VALID [2022-04-08 14:06:36,468 INFO L290 TraceCheckUtils]: 46: Hoare triple {27014#(<= ~counter~0 4)} assume !!(0 != ~a~0 && 0 != ~b~0); {27014#(<= ~counter~0 4)} is VALID [2022-04-08 14:06:36,468 INFO L290 TraceCheckUtils]: 47: Hoare triple {27014#(<= ~counter~0 4)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {27014#(<= ~counter~0 4)} is VALID [2022-04-08 14:06:36,468 INFO L290 TraceCheckUtils]: 48: Hoare triple {27014#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27042#(<= ~counter~0 5)} is VALID [2022-04-08 14:06:36,469 INFO L290 TraceCheckUtils]: 49: Hoare triple {27042#(<= ~counter~0 5)} assume !!(#t~post6 < 100);havoc #t~post6; {27042#(<= ~counter~0 5)} is VALID [2022-04-08 14:06:36,469 INFO L272 TraceCheckUtils]: 50: Hoare triple {27042#(<= ~counter~0 5)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {27042#(<= ~counter~0 5)} is VALID [2022-04-08 14:06:36,469 INFO L290 TraceCheckUtils]: 51: Hoare triple {27042#(<= ~counter~0 5)} ~cond := #in~cond; {27042#(<= ~counter~0 5)} is VALID [2022-04-08 14:06:36,470 INFO L290 TraceCheckUtils]: 52: Hoare triple {27042#(<= ~counter~0 5)} assume !(0 == ~cond); {27042#(<= ~counter~0 5)} is VALID [2022-04-08 14:06:36,470 INFO L290 TraceCheckUtils]: 53: Hoare triple {27042#(<= ~counter~0 5)} assume true; {27042#(<= ~counter~0 5)} is VALID [2022-04-08 14:06:36,471 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {27042#(<= ~counter~0 5)} {27042#(<= ~counter~0 5)} #71#return; {27042#(<= ~counter~0 5)} is VALID [2022-04-08 14:06:36,471 INFO L290 TraceCheckUtils]: 55: Hoare triple {27042#(<= ~counter~0 5)} assume !!(0 != ~a~0 && 0 != ~b~0); {27042#(<= ~counter~0 5)} is VALID [2022-04-08 14:06:36,471 INFO L290 TraceCheckUtils]: 56: Hoare triple {27042#(<= ~counter~0 5)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {27042#(<= ~counter~0 5)} is VALID [2022-04-08 14:06:36,472 INFO L290 TraceCheckUtils]: 57: Hoare triple {27042#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27070#(<= ~counter~0 6)} is VALID [2022-04-08 14:06:36,472 INFO L290 TraceCheckUtils]: 58: Hoare triple {27070#(<= ~counter~0 6)} assume !!(#t~post6 < 100);havoc #t~post6; {27070#(<= ~counter~0 6)} is VALID [2022-04-08 14:06:36,472 INFO L272 TraceCheckUtils]: 59: Hoare triple {27070#(<= ~counter~0 6)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {27070#(<= ~counter~0 6)} is VALID [2022-04-08 14:06:36,473 INFO L290 TraceCheckUtils]: 60: Hoare triple {27070#(<= ~counter~0 6)} ~cond := #in~cond; {27070#(<= ~counter~0 6)} is VALID [2022-04-08 14:06:36,473 INFO L290 TraceCheckUtils]: 61: Hoare triple {27070#(<= ~counter~0 6)} assume !(0 == ~cond); {27070#(<= ~counter~0 6)} is VALID [2022-04-08 14:06:36,473 INFO L290 TraceCheckUtils]: 62: Hoare triple {27070#(<= ~counter~0 6)} assume true; {27070#(<= ~counter~0 6)} is VALID [2022-04-08 14:06:36,474 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {27070#(<= ~counter~0 6)} {27070#(<= ~counter~0 6)} #71#return; {27070#(<= ~counter~0 6)} is VALID [2022-04-08 14:06:36,474 INFO L290 TraceCheckUtils]: 64: Hoare triple {27070#(<= ~counter~0 6)} assume !!(0 != ~a~0 && 0 != ~b~0); {27070#(<= ~counter~0 6)} is VALID [2022-04-08 14:06:36,474 INFO L290 TraceCheckUtils]: 65: Hoare triple {27070#(<= ~counter~0 6)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {27070#(<= ~counter~0 6)} is VALID [2022-04-08 14:06:36,475 INFO L290 TraceCheckUtils]: 66: Hoare triple {27070#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27098#(<= ~counter~0 7)} is VALID [2022-04-08 14:06:36,475 INFO L290 TraceCheckUtils]: 67: Hoare triple {27098#(<= ~counter~0 7)} assume !!(#t~post6 < 100);havoc #t~post6; {27098#(<= ~counter~0 7)} is VALID [2022-04-08 14:06:36,475 INFO L272 TraceCheckUtils]: 68: Hoare triple {27098#(<= ~counter~0 7)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {27098#(<= ~counter~0 7)} is VALID [2022-04-08 14:06:36,476 INFO L290 TraceCheckUtils]: 69: Hoare triple {27098#(<= ~counter~0 7)} ~cond := #in~cond; {27098#(<= ~counter~0 7)} is VALID [2022-04-08 14:06:36,476 INFO L290 TraceCheckUtils]: 70: Hoare triple {27098#(<= ~counter~0 7)} assume !(0 == ~cond); {27098#(<= ~counter~0 7)} is VALID [2022-04-08 14:06:36,476 INFO L290 TraceCheckUtils]: 71: Hoare triple {27098#(<= ~counter~0 7)} assume true; {27098#(<= ~counter~0 7)} is VALID [2022-04-08 14:06:36,477 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {27098#(<= ~counter~0 7)} {27098#(<= ~counter~0 7)} #71#return; {27098#(<= ~counter~0 7)} is VALID [2022-04-08 14:06:36,477 INFO L290 TraceCheckUtils]: 73: Hoare triple {27098#(<= ~counter~0 7)} assume !!(0 != ~a~0 && 0 != ~b~0); {27098#(<= ~counter~0 7)} is VALID [2022-04-08 14:06:36,477 INFO L290 TraceCheckUtils]: 74: Hoare triple {27098#(<= ~counter~0 7)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {27098#(<= ~counter~0 7)} is VALID [2022-04-08 14:06:36,478 INFO L290 TraceCheckUtils]: 75: Hoare triple {27098#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27126#(<= ~counter~0 8)} is VALID [2022-04-08 14:06:36,478 INFO L290 TraceCheckUtils]: 76: Hoare triple {27126#(<= ~counter~0 8)} assume !!(#t~post6 < 100);havoc #t~post6; {27126#(<= ~counter~0 8)} is VALID [2022-04-08 14:06:36,478 INFO L272 TraceCheckUtils]: 77: Hoare triple {27126#(<= ~counter~0 8)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {27126#(<= ~counter~0 8)} is VALID [2022-04-08 14:06:36,479 INFO L290 TraceCheckUtils]: 78: Hoare triple {27126#(<= ~counter~0 8)} ~cond := #in~cond; {27126#(<= ~counter~0 8)} is VALID [2022-04-08 14:06:36,479 INFO L290 TraceCheckUtils]: 79: Hoare triple {27126#(<= ~counter~0 8)} assume !(0 == ~cond); {27126#(<= ~counter~0 8)} is VALID [2022-04-08 14:06:36,479 INFO L290 TraceCheckUtils]: 80: Hoare triple {27126#(<= ~counter~0 8)} assume true; {27126#(<= ~counter~0 8)} is VALID [2022-04-08 14:06:36,480 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {27126#(<= ~counter~0 8)} {27126#(<= ~counter~0 8)} #71#return; {27126#(<= ~counter~0 8)} is VALID [2022-04-08 14:06:36,480 INFO L290 TraceCheckUtils]: 82: Hoare triple {27126#(<= ~counter~0 8)} assume !!(0 != ~a~0 && 0 != ~b~0); {27126#(<= ~counter~0 8)} is VALID [2022-04-08 14:06:36,480 INFO L290 TraceCheckUtils]: 83: Hoare triple {27126#(<= ~counter~0 8)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {27126#(<= ~counter~0 8)} is VALID [2022-04-08 14:06:36,480 INFO L290 TraceCheckUtils]: 84: Hoare triple {27126#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27154#(<= ~counter~0 9)} is VALID [2022-04-08 14:06:36,481 INFO L290 TraceCheckUtils]: 85: Hoare triple {27154#(<= ~counter~0 9)} assume !!(#t~post6 < 100);havoc #t~post6; {27154#(<= ~counter~0 9)} is VALID [2022-04-08 14:06:36,481 INFO L272 TraceCheckUtils]: 86: Hoare triple {27154#(<= ~counter~0 9)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {27154#(<= ~counter~0 9)} is VALID [2022-04-08 14:06:36,481 INFO L290 TraceCheckUtils]: 87: Hoare triple {27154#(<= ~counter~0 9)} ~cond := #in~cond; {27154#(<= ~counter~0 9)} is VALID [2022-04-08 14:06:36,482 INFO L290 TraceCheckUtils]: 88: Hoare triple {27154#(<= ~counter~0 9)} assume !(0 == ~cond); {27154#(<= ~counter~0 9)} is VALID [2022-04-08 14:06:36,482 INFO L290 TraceCheckUtils]: 89: Hoare triple {27154#(<= ~counter~0 9)} assume true; {27154#(<= ~counter~0 9)} is VALID [2022-04-08 14:06:36,482 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {27154#(<= ~counter~0 9)} {27154#(<= ~counter~0 9)} #71#return; {27154#(<= ~counter~0 9)} is VALID [2022-04-08 14:06:36,483 INFO L290 TraceCheckUtils]: 91: Hoare triple {27154#(<= ~counter~0 9)} assume !!(0 != ~a~0 && 0 != ~b~0); {27154#(<= ~counter~0 9)} is VALID [2022-04-08 14:06:36,483 INFO L290 TraceCheckUtils]: 92: Hoare triple {27154#(<= ~counter~0 9)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {27154#(<= ~counter~0 9)} is VALID [2022-04-08 14:06:36,483 INFO L290 TraceCheckUtils]: 93: Hoare triple {27154#(<= ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27182#(<= ~counter~0 10)} is VALID [2022-04-08 14:06:36,484 INFO L290 TraceCheckUtils]: 94: Hoare triple {27182#(<= ~counter~0 10)} assume !!(#t~post6 < 100);havoc #t~post6; {27182#(<= ~counter~0 10)} is VALID [2022-04-08 14:06:36,484 INFO L272 TraceCheckUtils]: 95: Hoare triple {27182#(<= ~counter~0 10)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {27182#(<= ~counter~0 10)} is VALID [2022-04-08 14:06:36,484 INFO L290 TraceCheckUtils]: 96: Hoare triple {27182#(<= ~counter~0 10)} ~cond := #in~cond; {27182#(<= ~counter~0 10)} is VALID [2022-04-08 14:06:36,485 INFO L290 TraceCheckUtils]: 97: Hoare triple {27182#(<= ~counter~0 10)} assume !(0 == ~cond); {27182#(<= ~counter~0 10)} is VALID [2022-04-08 14:06:36,485 INFO L290 TraceCheckUtils]: 98: Hoare triple {27182#(<= ~counter~0 10)} assume true; {27182#(<= ~counter~0 10)} is VALID [2022-04-08 14:06:36,485 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {27182#(<= ~counter~0 10)} {27182#(<= ~counter~0 10)} #71#return; {27182#(<= ~counter~0 10)} is VALID [2022-04-08 14:06:36,485 INFO L290 TraceCheckUtils]: 100: Hoare triple {27182#(<= ~counter~0 10)} assume !!(0 != ~a~0 && 0 != ~b~0); {27182#(<= ~counter~0 10)} is VALID [2022-04-08 14:06:36,486 INFO L290 TraceCheckUtils]: 101: Hoare triple {27182#(<= ~counter~0 10)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {27182#(<= ~counter~0 10)} is VALID [2022-04-08 14:06:36,486 INFO L290 TraceCheckUtils]: 102: Hoare triple {27182#(<= ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27210#(<= ~counter~0 11)} is VALID [2022-04-08 14:06:36,486 INFO L290 TraceCheckUtils]: 103: Hoare triple {27210#(<= ~counter~0 11)} assume !!(#t~post6 < 100);havoc #t~post6; {27210#(<= ~counter~0 11)} is VALID [2022-04-08 14:06:36,487 INFO L272 TraceCheckUtils]: 104: Hoare triple {27210#(<= ~counter~0 11)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {27210#(<= ~counter~0 11)} is VALID [2022-04-08 14:06:36,487 INFO L290 TraceCheckUtils]: 105: Hoare triple {27210#(<= ~counter~0 11)} ~cond := #in~cond; {27210#(<= ~counter~0 11)} is VALID [2022-04-08 14:06:36,487 INFO L290 TraceCheckUtils]: 106: Hoare triple {27210#(<= ~counter~0 11)} assume !(0 == ~cond); {27210#(<= ~counter~0 11)} is VALID [2022-04-08 14:06:36,488 INFO L290 TraceCheckUtils]: 107: Hoare triple {27210#(<= ~counter~0 11)} assume true; {27210#(<= ~counter~0 11)} is VALID [2022-04-08 14:06:36,488 INFO L284 TraceCheckUtils]: 108: Hoare quadruple {27210#(<= ~counter~0 11)} {27210#(<= ~counter~0 11)} #71#return; {27210#(<= ~counter~0 11)} is VALID [2022-04-08 14:06:36,488 INFO L290 TraceCheckUtils]: 109: Hoare triple {27210#(<= ~counter~0 11)} assume !!(0 != ~a~0 && 0 != ~b~0); {27210#(<= ~counter~0 11)} is VALID [2022-04-08 14:06:36,489 INFO L290 TraceCheckUtils]: 110: Hoare triple {27210#(<= ~counter~0 11)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {27210#(<= ~counter~0 11)} is VALID [2022-04-08 14:06:36,489 INFO L290 TraceCheckUtils]: 111: Hoare triple {27210#(<= ~counter~0 11)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27238#(<= ~counter~0 12)} is VALID [2022-04-08 14:06:36,489 INFO L290 TraceCheckUtils]: 112: Hoare triple {27238#(<= ~counter~0 12)} assume !!(#t~post6 < 100);havoc #t~post6; {27238#(<= ~counter~0 12)} is VALID [2022-04-08 14:06:36,490 INFO L272 TraceCheckUtils]: 113: Hoare triple {27238#(<= ~counter~0 12)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {27238#(<= ~counter~0 12)} is VALID [2022-04-08 14:06:36,490 INFO L290 TraceCheckUtils]: 114: Hoare triple {27238#(<= ~counter~0 12)} ~cond := #in~cond; {27238#(<= ~counter~0 12)} is VALID [2022-04-08 14:06:36,490 INFO L290 TraceCheckUtils]: 115: Hoare triple {27238#(<= ~counter~0 12)} assume !(0 == ~cond); {27238#(<= ~counter~0 12)} is VALID [2022-04-08 14:06:36,490 INFO L290 TraceCheckUtils]: 116: Hoare triple {27238#(<= ~counter~0 12)} assume true; {27238#(<= ~counter~0 12)} is VALID [2022-04-08 14:06:36,491 INFO L284 TraceCheckUtils]: 117: Hoare quadruple {27238#(<= ~counter~0 12)} {27238#(<= ~counter~0 12)} #71#return; {27238#(<= ~counter~0 12)} is VALID [2022-04-08 14:06:36,491 INFO L290 TraceCheckUtils]: 118: Hoare triple {27238#(<= ~counter~0 12)} assume !!(0 != ~a~0 && 0 != ~b~0); {27238#(<= ~counter~0 12)} is VALID [2022-04-08 14:06:36,491 INFO L290 TraceCheckUtils]: 119: Hoare triple {27238#(<= ~counter~0 12)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {27238#(<= ~counter~0 12)} is VALID [2022-04-08 14:06:36,492 INFO L290 TraceCheckUtils]: 120: Hoare triple {27238#(<= ~counter~0 12)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27266#(<= ~counter~0 13)} is VALID [2022-04-08 14:06:36,492 INFO L290 TraceCheckUtils]: 121: Hoare triple {27266#(<= ~counter~0 13)} assume !!(#t~post6 < 100);havoc #t~post6; {27266#(<= ~counter~0 13)} is VALID [2022-04-08 14:06:36,493 INFO L272 TraceCheckUtils]: 122: Hoare triple {27266#(<= ~counter~0 13)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {27266#(<= ~counter~0 13)} is VALID [2022-04-08 14:06:36,493 INFO L290 TraceCheckUtils]: 123: Hoare triple {27266#(<= ~counter~0 13)} ~cond := #in~cond; {27266#(<= ~counter~0 13)} is VALID [2022-04-08 14:06:36,493 INFO L290 TraceCheckUtils]: 124: Hoare triple {27266#(<= ~counter~0 13)} assume !(0 == ~cond); {27266#(<= ~counter~0 13)} is VALID [2022-04-08 14:06:36,493 INFO L290 TraceCheckUtils]: 125: Hoare triple {27266#(<= ~counter~0 13)} assume true; {27266#(<= ~counter~0 13)} is VALID [2022-04-08 14:06:36,494 INFO L284 TraceCheckUtils]: 126: Hoare quadruple {27266#(<= ~counter~0 13)} {27266#(<= ~counter~0 13)} #71#return; {27266#(<= ~counter~0 13)} is VALID [2022-04-08 14:06:36,494 INFO L290 TraceCheckUtils]: 127: Hoare triple {27266#(<= ~counter~0 13)} assume !!(0 != ~a~0 && 0 != ~b~0); {27266#(<= ~counter~0 13)} is VALID [2022-04-08 14:06:36,494 INFO L290 TraceCheckUtils]: 128: Hoare triple {27266#(<= ~counter~0 13)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {27266#(<= ~counter~0 13)} is VALID [2022-04-08 14:06:36,495 INFO L290 TraceCheckUtils]: 129: Hoare triple {27266#(<= ~counter~0 13)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27294#(<= ~counter~0 14)} is VALID [2022-04-08 14:06:36,495 INFO L290 TraceCheckUtils]: 130: Hoare triple {27294#(<= ~counter~0 14)} assume !!(#t~post6 < 100);havoc #t~post6; {27294#(<= ~counter~0 14)} is VALID [2022-04-08 14:06:36,495 INFO L272 TraceCheckUtils]: 131: Hoare triple {27294#(<= ~counter~0 14)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {27294#(<= ~counter~0 14)} is VALID [2022-04-08 14:06:36,496 INFO L290 TraceCheckUtils]: 132: Hoare triple {27294#(<= ~counter~0 14)} ~cond := #in~cond; {27294#(<= ~counter~0 14)} is VALID [2022-04-08 14:06:36,496 INFO L290 TraceCheckUtils]: 133: Hoare triple {27294#(<= ~counter~0 14)} assume !(0 == ~cond); {27294#(<= ~counter~0 14)} is VALID [2022-04-08 14:06:36,496 INFO L290 TraceCheckUtils]: 134: Hoare triple {27294#(<= ~counter~0 14)} assume true; {27294#(<= ~counter~0 14)} is VALID [2022-04-08 14:06:36,496 INFO L284 TraceCheckUtils]: 135: Hoare quadruple {27294#(<= ~counter~0 14)} {27294#(<= ~counter~0 14)} #71#return; {27294#(<= ~counter~0 14)} is VALID [2022-04-08 14:06:36,497 INFO L290 TraceCheckUtils]: 136: Hoare triple {27294#(<= ~counter~0 14)} assume !!(0 != ~a~0 && 0 != ~b~0); {27294#(<= ~counter~0 14)} is VALID [2022-04-08 14:06:36,497 INFO L290 TraceCheckUtils]: 137: Hoare triple {27294#(<= ~counter~0 14)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {27294#(<= ~counter~0 14)} is VALID [2022-04-08 14:06:36,497 INFO L290 TraceCheckUtils]: 138: Hoare triple {27294#(<= ~counter~0 14)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27322#(<= ~counter~0 15)} is VALID [2022-04-08 14:06:36,498 INFO L290 TraceCheckUtils]: 139: Hoare triple {27322#(<= ~counter~0 15)} assume !!(#t~post6 < 100);havoc #t~post6; {27322#(<= ~counter~0 15)} is VALID [2022-04-08 14:06:36,498 INFO L272 TraceCheckUtils]: 140: Hoare triple {27322#(<= ~counter~0 15)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {27322#(<= ~counter~0 15)} is VALID [2022-04-08 14:06:36,498 INFO L290 TraceCheckUtils]: 141: Hoare triple {27322#(<= ~counter~0 15)} ~cond := #in~cond; {27322#(<= ~counter~0 15)} is VALID [2022-04-08 14:06:36,498 INFO L290 TraceCheckUtils]: 142: Hoare triple {27322#(<= ~counter~0 15)} assume !(0 == ~cond); {27322#(<= ~counter~0 15)} is VALID [2022-04-08 14:06:36,499 INFO L290 TraceCheckUtils]: 143: Hoare triple {27322#(<= ~counter~0 15)} assume true; {27322#(<= ~counter~0 15)} is VALID [2022-04-08 14:06:36,499 INFO L284 TraceCheckUtils]: 144: Hoare quadruple {27322#(<= ~counter~0 15)} {27322#(<= ~counter~0 15)} #71#return; {27322#(<= ~counter~0 15)} is VALID [2022-04-08 14:06:36,499 INFO L290 TraceCheckUtils]: 145: Hoare triple {27322#(<= ~counter~0 15)} assume !!(0 != ~a~0 && 0 != ~b~0); {27322#(<= ~counter~0 15)} is VALID [2022-04-08 14:06:36,500 INFO L290 TraceCheckUtils]: 146: Hoare triple {27322#(<= ~counter~0 15)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {27322#(<= ~counter~0 15)} is VALID [2022-04-08 14:06:36,500 INFO L290 TraceCheckUtils]: 147: Hoare triple {27322#(<= ~counter~0 15)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27350#(<= |main_#t~post6| 15)} is VALID [2022-04-08 14:06:36,500 INFO L290 TraceCheckUtils]: 148: Hoare triple {27350#(<= |main_#t~post6| 15)} assume !(#t~post6 < 100);havoc #t~post6; {26889#false} is VALID [2022-04-08 14:06:36,500 INFO L272 TraceCheckUtils]: 149: Hoare triple {26889#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {26889#false} is VALID [2022-04-08 14:06:36,500 INFO L290 TraceCheckUtils]: 150: Hoare triple {26889#false} ~cond := #in~cond; {26889#false} is VALID [2022-04-08 14:06:36,500 INFO L290 TraceCheckUtils]: 151: Hoare triple {26889#false} assume 0 == ~cond; {26889#false} is VALID [2022-04-08 14:06:36,501 INFO L290 TraceCheckUtils]: 152: Hoare triple {26889#false} assume !false; {26889#false} is VALID [2022-04-08 14:06:36,501 INFO L134 CoverageAnalysis]: Checked inductivity of 1005 backedges. 30 proven. 975 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 14:06:36,501 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 14:06:37,408 INFO L290 TraceCheckUtils]: 152: Hoare triple {26889#false} assume !false; {26889#false} is VALID [2022-04-08 14:06:37,409 INFO L290 TraceCheckUtils]: 151: Hoare triple {26889#false} assume 0 == ~cond; {26889#false} is VALID [2022-04-08 14:06:37,409 INFO L290 TraceCheckUtils]: 150: Hoare triple {26889#false} ~cond := #in~cond; {26889#false} is VALID [2022-04-08 14:06:37,409 INFO L272 TraceCheckUtils]: 149: Hoare triple {26889#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {26889#false} is VALID [2022-04-08 14:06:37,410 INFO L290 TraceCheckUtils]: 148: Hoare triple {27378#(< |main_#t~post6| 100)} assume !(#t~post6 < 100);havoc #t~post6; {26889#false} is VALID [2022-04-08 14:06:37,410 INFO L290 TraceCheckUtils]: 147: Hoare triple {27382#(< ~counter~0 100)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27378#(< |main_#t~post6| 100)} is VALID [2022-04-08 14:06:37,411 INFO L290 TraceCheckUtils]: 146: Hoare triple {27382#(< ~counter~0 100)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {27382#(< ~counter~0 100)} is VALID [2022-04-08 14:06:37,411 INFO L290 TraceCheckUtils]: 145: Hoare triple {27382#(< ~counter~0 100)} assume !!(0 != ~a~0 && 0 != ~b~0); {27382#(< ~counter~0 100)} is VALID [2022-04-08 14:06:37,412 INFO L284 TraceCheckUtils]: 144: Hoare quadruple {26888#true} {27382#(< ~counter~0 100)} #71#return; {27382#(< ~counter~0 100)} is VALID [2022-04-08 14:06:37,412 INFO L290 TraceCheckUtils]: 143: Hoare triple {26888#true} assume true; {26888#true} is VALID [2022-04-08 14:06:37,412 INFO L290 TraceCheckUtils]: 142: Hoare triple {26888#true} assume !(0 == ~cond); {26888#true} is VALID [2022-04-08 14:06:37,412 INFO L290 TraceCheckUtils]: 141: Hoare triple {26888#true} ~cond := #in~cond; {26888#true} is VALID [2022-04-08 14:06:37,412 INFO L272 TraceCheckUtils]: 140: Hoare triple {27382#(< ~counter~0 100)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {26888#true} is VALID [2022-04-08 14:06:37,412 INFO L290 TraceCheckUtils]: 139: Hoare triple {27382#(< ~counter~0 100)} assume !!(#t~post6 < 100);havoc #t~post6; {27382#(< ~counter~0 100)} is VALID [2022-04-08 14:06:37,413 INFO L290 TraceCheckUtils]: 138: Hoare triple {27410#(< ~counter~0 99)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27382#(< ~counter~0 100)} is VALID [2022-04-08 14:06:37,413 INFO L290 TraceCheckUtils]: 137: Hoare triple {27410#(< ~counter~0 99)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {27410#(< ~counter~0 99)} is VALID [2022-04-08 14:06:37,413 INFO L290 TraceCheckUtils]: 136: Hoare triple {27410#(< ~counter~0 99)} assume !!(0 != ~a~0 && 0 != ~b~0); {27410#(< ~counter~0 99)} is VALID [2022-04-08 14:06:37,414 INFO L284 TraceCheckUtils]: 135: Hoare quadruple {26888#true} {27410#(< ~counter~0 99)} #71#return; {27410#(< ~counter~0 99)} is VALID [2022-04-08 14:06:37,414 INFO L290 TraceCheckUtils]: 134: Hoare triple {26888#true} assume true; {26888#true} is VALID [2022-04-08 14:06:37,414 INFO L290 TraceCheckUtils]: 133: Hoare triple {26888#true} assume !(0 == ~cond); {26888#true} is VALID [2022-04-08 14:06:37,414 INFO L290 TraceCheckUtils]: 132: Hoare triple {26888#true} ~cond := #in~cond; {26888#true} is VALID [2022-04-08 14:06:37,414 INFO L272 TraceCheckUtils]: 131: Hoare triple {27410#(< ~counter~0 99)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {26888#true} is VALID [2022-04-08 14:06:37,414 INFO L290 TraceCheckUtils]: 130: Hoare triple {27410#(< ~counter~0 99)} assume !!(#t~post6 < 100);havoc #t~post6; {27410#(< ~counter~0 99)} is VALID [2022-04-08 14:06:37,415 INFO L290 TraceCheckUtils]: 129: Hoare triple {27438#(< ~counter~0 98)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27410#(< ~counter~0 99)} is VALID [2022-04-08 14:06:37,415 INFO L290 TraceCheckUtils]: 128: Hoare triple {27438#(< ~counter~0 98)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {27438#(< ~counter~0 98)} is VALID [2022-04-08 14:06:37,416 INFO L290 TraceCheckUtils]: 127: Hoare triple {27438#(< ~counter~0 98)} assume !!(0 != ~a~0 && 0 != ~b~0); {27438#(< ~counter~0 98)} is VALID [2022-04-08 14:06:37,416 INFO L284 TraceCheckUtils]: 126: Hoare quadruple {26888#true} {27438#(< ~counter~0 98)} #71#return; {27438#(< ~counter~0 98)} is VALID [2022-04-08 14:06:37,416 INFO L290 TraceCheckUtils]: 125: Hoare triple {26888#true} assume true; {26888#true} is VALID [2022-04-08 14:06:37,416 INFO L290 TraceCheckUtils]: 124: Hoare triple {26888#true} assume !(0 == ~cond); {26888#true} is VALID [2022-04-08 14:06:37,416 INFO L290 TraceCheckUtils]: 123: Hoare triple {26888#true} ~cond := #in~cond; {26888#true} is VALID [2022-04-08 14:06:37,416 INFO L272 TraceCheckUtils]: 122: Hoare triple {27438#(< ~counter~0 98)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {26888#true} is VALID [2022-04-08 14:06:37,417 INFO L290 TraceCheckUtils]: 121: Hoare triple {27438#(< ~counter~0 98)} assume !!(#t~post6 < 100);havoc #t~post6; {27438#(< ~counter~0 98)} is VALID [2022-04-08 14:06:37,417 INFO L290 TraceCheckUtils]: 120: Hoare triple {27466#(< ~counter~0 97)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27438#(< ~counter~0 98)} is VALID [2022-04-08 14:06:37,417 INFO L290 TraceCheckUtils]: 119: Hoare triple {27466#(< ~counter~0 97)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {27466#(< ~counter~0 97)} is VALID [2022-04-08 14:06:37,418 INFO L290 TraceCheckUtils]: 118: Hoare triple {27466#(< ~counter~0 97)} assume !!(0 != ~a~0 && 0 != ~b~0); {27466#(< ~counter~0 97)} is VALID [2022-04-08 14:06:37,418 INFO L284 TraceCheckUtils]: 117: Hoare quadruple {26888#true} {27466#(< ~counter~0 97)} #71#return; {27466#(< ~counter~0 97)} is VALID [2022-04-08 14:06:37,418 INFO L290 TraceCheckUtils]: 116: Hoare triple {26888#true} assume true; {26888#true} is VALID [2022-04-08 14:06:37,418 INFO L290 TraceCheckUtils]: 115: Hoare triple {26888#true} assume !(0 == ~cond); {26888#true} is VALID [2022-04-08 14:06:37,419 INFO L290 TraceCheckUtils]: 114: Hoare triple {26888#true} ~cond := #in~cond; {26888#true} is VALID [2022-04-08 14:06:37,419 INFO L272 TraceCheckUtils]: 113: Hoare triple {27466#(< ~counter~0 97)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {26888#true} is VALID [2022-04-08 14:06:37,419 INFO L290 TraceCheckUtils]: 112: Hoare triple {27466#(< ~counter~0 97)} assume !!(#t~post6 < 100);havoc #t~post6; {27466#(< ~counter~0 97)} is VALID [2022-04-08 14:06:37,419 INFO L290 TraceCheckUtils]: 111: Hoare triple {27494#(< ~counter~0 96)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27466#(< ~counter~0 97)} is VALID [2022-04-08 14:06:37,420 INFO L290 TraceCheckUtils]: 110: Hoare triple {27494#(< ~counter~0 96)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {27494#(< ~counter~0 96)} is VALID [2022-04-08 14:06:37,420 INFO L290 TraceCheckUtils]: 109: Hoare triple {27494#(< ~counter~0 96)} assume !!(0 != ~a~0 && 0 != ~b~0); {27494#(< ~counter~0 96)} is VALID [2022-04-08 14:06:37,420 INFO L284 TraceCheckUtils]: 108: Hoare quadruple {26888#true} {27494#(< ~counter~0 96)} #71#return; {27494#(< ~counter~0 96)} is VALID [2022-04-08 14:06:37,421 INFO L290 TraceCheckUtils]: 107: Hoare triple {26888#true} assume true; {26888#true} is VALID [2022-04-08 14:06:37,421 INFO L290 TraceCheckUtils]: 106: Hoare triple {26888#true} assume !(0 == ~cond); {26888#true} is VALID [2022-04-08 14:06:37,421 INFO L290 TraceCheckUtils]: 105: Hoare triple {26888#true} ~cond := #in~cond; {26888#true} is VALID [2022-04-08 14:06:37,421 INFO L272 TraceCheckUtils]: 104: Hoare triple {27494#(< ~counter~0 96)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {26888#true} is VALID [2022-04-08 14:06:37,421 INFO L290 TraceCheckUtils]: 103: Hoare triple {27494#(< ~counter~0 96)} assume !!(#t~post6 < 100);havoc #t~post6; {27494#(< ~counter~0 96)} is VALID [2022-04-08 14:06:37,421 INFO L290 TraceCheckUtils]: 102: Hoare triple {27522#(< ~counter~0 95)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27494#(< ~counter~0 96)} is VALID [2022-04-08 14:06:37,422 INFO L290 TraceCheckUtils]: 101: Hoare triple {27522#(< ~counter~0 95)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {27522#(< ~counter~0 95)} is VALID [2022-04-08 14:06:37,422 INFO L290 TraceCheckUtils]: 100: Hoare triple {27522#(< ~counter~0 95)} assume !!(0 != ~a~0 && 0 != ~b~0); {27522#(< ~counter~0 95)} is VALID [2022-04-08 14:06:37,422 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {26888#true} {27522#(< ~counter~0 95)} #71#return; {27522#(< ~counter~0 95)} is VALID [2022-04-08 14:06:37,422 INFO L290 TraceCheckUtils]: 98: Hoare triple {26888#true} assume true; {26888#true} is VALID [2022-04-08 14:06:37,423 INFO L290 TraceCheckUtils]: 97: Hoare triple {26888#true} assume !(0 == ~cond); {26888#true} is VALID [2022-04-08 14:06:37,423 INFO L290 TraceCheckUtils]: 96: Hoare triple {26888#true} ~cond := #in~cond; {26888#true} is VALID [2022-04-08 14:06:37,423 INFO L272 TraceCheckUtils]: 95: Hoare triple {27522#(< ~counter~0 95)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {26888#true} is VALID [2022-04-08 14:06:37,423 INFO L290 TraceCheckUtils]: 94: Hoare triple {27522#(< ~counter~0 95)} assume !!(#t~post6 < 100);havoc #t~post6; {27522#(< ~counter~0 95)} is VALID [2022-04-08 14:06:37,423 INFO L290 TraceCheckUtils]: 93: Hoare triple {27550#(< ~counter~0 94)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27522#(< ~counter~0 95)} is VALID [2022-04-08 14:06:37,424 INFO L290 TraceCheckUtils]: 92: Hoare triple {27550#(< ~counter~0 94)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {27550#(< ~counter~0 94)} is VALID [2022-04-08 14:06:37,424 INFO L290 TraceCheckUtils]: 91: Hoare triple {27550#(< ~counter~0 94)} assume !!(0 != ~a~0 && 0 != ~b~0); {27550#(< ~counter~0 94)} is VALID [2022-04-08 14:06:37,424 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {26888#true} {27550#(< ~counter~0 94)} #71#return; {27550#(< ~counter~0 94)} is VALID [2022-04-08 14:06:37,424 INFO L290 TraceCheckUtils]: 89: Hoare triple {26888#true} assume true; {26888#true} is VALID [2022-04-08 14:06:37,424 INFO L290 TraceCheckUtils]: 88: Hoare triple {26888#true} assume !(0 == ~cond); {26888#true} is VALID [2022-04-08 14:06:37,425 INFO L290 TraceCheckUtils]: 87: Hoare triple {26888#true} ~cond := #in~cond; {26888#true} is VALID [2022-04-08 14:06:37,425 INFO L272 TraceCheckUtils]: 86: Hoare triple {27550#(< ~counter~0 94)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {26888#true} is VALID [2022-04-08 14:06:37,425 INFO L290 TraceCheckUtils]: 85: Hoare triple {27550#(< ~counter~0 94)} assume !!(#t~post6 < 100);havoc #t~post6; {27550#(< ~counter~0 94)} is VALID [2022-04-08 14:06:37,425 INFO L290 TraceCheckUtils]: 84: Hoare triple {27578#(< ~counter~0 93)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27550#(< ~counter~0 94)} is VALID [2022-04-08 14:06:37,439 INFO L290 TraceCheckUtils]: 83: Hoare triple {27578#(< ~counter~0 93)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {27578#(< ~counter~0 93)} is VALID [2022-04-08 14:06:37,439 INFO L290 TraceCheckUtils]: 82: Hoare triple {27578#(< ~counter~0 93)} assume !!(0 != ~a~0 && 0 != ~b~0); {27578#(< ~counter~0 93)} is VALID [2022-04-08 14:06:37,440 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {26888#true} {27578#(< ~counter~0 93)} #71#return; {27578#(< ~counter~0 93)} is VALID [2022-04-08 14:06:37,440 INFO L290 TraceCheckUtils]: 80: Hoare triple {26888#true} assume true; {26888#true} is VALID [2022-04-08 14:06:37,440 INFO L290 TraceCheckUtils]: 79: Hoare triple {26888#true} assume !(0 == ~cond); {26888#true} is VALID [2022-04-08 14:06:37,440 INFO L290 TraceCheckUtils]: 78: Hoare triple {26888#true} ~cond := #in~cond; {26888#true} is VALID [2022-04-08 14:06:37,440 INFO L272 TraceCheckUtils]: 77: Hoare triple {27578#(< ~counter~0 93)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {26888#true} is VALID [2022-04-08 14:06:37,440 INFO L290 TraceCheckUtils]: 76: Hoare triple {27578#(< ~counter~0 93)} assume !!(#t~post6 < 100);havoc #t~post6; {27578#(< ~counter~0 93)} is VALID [2022-04-08 14:06:37,441 INFO L290 TraceCheckUtils]: 75: Hoare triple {27606#(< ~counter~0 92)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27578#(< ~counter~0 93)} is VALID [2022-04-08 14:06:37,441 INFO L290 TraceCheckUtils]: 74: Hoare triple {27606#(< ~counter~0 92)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {27606#(< ~counter~0 92)} is VALID [2022-04-08 14:06:37,441 INFO L290 TraceCheckUtils]: 73: Hoare triple {27606#(< ~counter~0 92)} assume !!(0 != ~a~0 && 0 != ~b~0); {27606#(< ~counter~0 92)} is VALID [2022-04-08 14:06:37,442 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {26888#true} {27606#(< ~counter~0 92)} #71#return; {27606#(< ~counter~0 92)} is VALID [2022-04-08 14:06:37,442 INFO L290 TraceCheckUtils]: 71: Hoare triple {26888#true} assume true; {26888#true} is VALID [2022-04-08 14:06:37,442 INFO L290 TraceCheckUtils]: 70: Hoare triple {26888#true} assume !(0 == ~cond); {26888#true} is VALID [2022-04-08 14:06:37,442 INFO L290 TraceCheckUtils]: 69: Hoare triple {26888#true} ~cond := #in~cond; {26888#true} is VALID [2022-04-08 14:06:37,442 INFO L272 TraceCheckUtils]: 68: Hoare triple {27606#(< ~counter~0 92)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {26888#true} is VALID [2022-04-08 14:06:37,442 INFO L290 TraceCheckUtils]: 67: Hoare triple {27606#(< ~counter~0 92)} assume !!(#t~post6 < 100);havoc #t~post6; {27606#(< ~counter~0 92)} is VALID [2022-04-08 14:06:37,443 INFO L290 TraceCheckUtils]: 66: Hoare triple {27634#(< ~counter~0 91)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27606#(< ~counter~0 92)} is VALID [2022-04-08 14:06:37,443 INFO L290 TraceCheckUtils]: 65: Hoare triple {27634#(< ~counter~0 91)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {27634#(< ~counter~0 91)} is VALID [2022-04-08 14:06:37,443 INFO L290 TraceCheckUtils]: 64: Hoare triple {27634#(< ~counter~0 91)} assume !!(0 != ~a~0 && 0 != ~b~0); {27634#(< ~counter~0 91)} is VALID [2022-04-08 14:06:37,444 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {26888#true} {27634#(< ~counter~0 91)} #71#return; {27634#(< ~counter~0 91)} is VALID [2022-04-08 14:06:37,444 INFO L290 TraceCheckUtils]: 62: Hoare triple {26888#true} assume true; {26888#true} is VALID [2022-04-08 14:06:37,444 INFO L290 TraceCheckUtils]: 61: Hoare triple {26888#true} assume !(0 == ~cond); {26888#true} is VALID [2022-04-08 14:06:37,444 INFO L290 TraceCheckUtils]: 60: Hoare triple {26888#true} ~cond := #in~cond; {26888#true} is VALID [2022-04-08 14:06:37,444 INFO L272 TraceCheckUtils]: 59: Hoare triple {27634#(< ~counter~0 91)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {26888#true} is VALID [2022-04-08 14:06:37,444 INFO L290 TraceCheckUtils]: 58: Hoare triple {27634#(< ~counter~0 91)} assume !!(#t~post6 < 100);havoc #t~post6; {27634#(< ~counter~0 91)} is VALID [2022-04-08 14:06:37,445 INFO L290 TraceCheckUtils]: 57: Hoare triple {27662#(< ~counter~0 90)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27634#(< ~counter~0 91)} is VALID [2022-04-08 14:06:37,445 INFO L290 TraceCheckUtils]: 56: Hoare triple {27662#(< ~counter~0 90)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {27662#(< ~counter~0 90)} is VALID [2022-04-08 14:06:37,445 INFO L290 TraceCheckUtils]: 55: Hoare triple {27662#(< ~counter~0 90)} assume !!(0 != ~a~0 && 0 != ~b~0); {27662#(< ~counter~0 90)} is VALID [2022-04-08 14:06:37,446 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {26888#true} {27662#(< ~counter~0 90)} #71#return; {27662#(< ~counter~0 90)} is VALID [2022-04-08 14:06:37,446 INFO L290 TraceCheckUtils]: 53: Hoare triple {26888#true} assume true; {26888#true} is VALID [2022-04-08 14:06:37,446 INFO L290 TraceCheckUtils]: 52: Hoare triple {26888#true} assume !(0 == ~cond); {26888#true} is VALID [2022-04-08 14:06:37,446 INFO L290 TraceCheckUtils]: 51: Hoare triple {26888#true} ~cond := #in~cond; {26888#true} is VALID [2022-04-08 14:06:37,446 INFO L272 TraceCheckUtils]: 50: Hoare triple {27662#(< ~counter~0 90)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {26888#true} is VALID [2022-04-08 14:06:37,446 INFO L290 TraceCheckUtils]: 49: Hoare triple {27662#(< ~counter~0 90)} assume !!(#t~post6 < 100);havoc #t~post6; {27662#(< ~counter~0 90)} is VALID [2022-04-08 14:06:37,447 INFO L290 TraceCheckUtils]: 48: Hoare triple {27690#(< ~counter~0 89)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27662#(< ~counter~0 90)} is VALID [2022-04-08 14:06:37,447 INFO L290 TraceCheckUtils]: 47: Hoare triple {27690#(< ~counter~0 89)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {27690#(< ~counter~0 89)} is VALID [2022-04-08 14:06:37,447 INFO L290 TraceCheckUtils]: 46: Hoare triple {27690#(< ~counter~0 89)} assume !!(0 != ~a~0 && 0 != ~b~0); {27690#(< ~counter~0 89)} is VALID [2022-04-08 14:06:37,448 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {26888#true} {27690#(< ~counter~0 89)} #71#return; {27690#(< ~counter~0 89)} is VALID [2022-04-08 14:06:37,448 INFO L290 TraceCheckUtils]: 44: Hoare triple {26888#true} assume true; {26888#true} is VALID [2022-04-08 14:06:37,448 INFO L290 TraceCheckUtils]: 43: Hoare triple {26888#true} assume !(0 == ~cond); {26888#true} is VALID [2022-04-08 14:06:37,448 INFO L290 TraceCheckUtils]: 42: Hoare triple {26888#true} ~cond := #in~cond; {26888#true} is VALID [2022-04-08 14:06:37,448 INFO L272 TraceCheckUtils]: 41: Hoare triple {27690#(< ~counter~0 89)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {26888#true} is VALID [2022-04-08 14:06:37,448 INFO L290 TraceCheckUtils]: 40: Hoare triple {27690#(< ~counter~0 89)} assume !!(#t~post6 < 100);havoc #t~post6; {27690#(< ~counter~0 89)} is VALID [2022-04-08 14:06:37,449 INFO L290 TraceCheckUtils]: 39: Hoare triple {27718#(< ~counter~0 88)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27690#(< ~counter~0 89)} is VALID [2022-04-08 14:06:37,449 INFO L290 TraceCheckUtils]: 38: Hoare triple {27718#(< ~counter~0 88)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {27718#(< ~counter~0 88)} is VALID [2022-04-08 14:06:37,449 INFO L290 TraceCheckUtils]: 37: Hoare triple {27718#(< ~counter~0 88)} assume !!(0 != ~a~0 && 0 != ~b~0); {27718#(< ~counter~0 88)} is VALID [2022-04-08 14:06:37,450 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {26888#true} {27718#(< ~counter~0 88)} #71#return; {27718#(< ~counter~0 88)} is VALID [2022-04-08 14:06:37,450 INFO L290 TraceCheckUtils]: 35: Hoare triple {26888#true} assume true; {26888#true} is VALID [2022-04-08 14:06:37,450 INFO L290 TraceCheckUtils]: 34: Hoare triple {26888#true} assume !(0 == ~cond); {26888#true} is VALID [2022-04-08 14:06:37,450 INFO L290 TraceCheckUtils]: 33: Hoare triple {26888#true} ~cond := #in~cond; {26888#true} is VALID [2022-04-08 14:06:37,450 INFO L272 TraceCheckUtils]: 32: Hoare triple {27718#(< ~counter~0 88)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {26888#true} is VALID [2022-04-08 14:06:37,451 INFO L290 TraceCheckUtils]: 31: Hoare triple {27718#(< ~counter~0 88)} assume !!(#t~post6 < 100);havoc #t~post6; {27718#(< ~counter~0 88)} is VALID [2022-04-08 14:06:37,451 INFO L290 TraceCheckUtils]: 30: Hoare triple {27746#(< ~counter~0 87)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27718#(< ~counter~0 88)} is VALID [2022-04-08 14:06:37,451 INFO L290 TraceCheckUtils]: 29: Hoare triple {27746#(< ~counter~0 87)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {27746#(< ~counter~0 87)} is VALID [2022-04-08 14:06:37,451 INFO L290 TraceCheckUtils]: 28: Hoare triple {27746#(< ~counter~0 87)} assume !!(0 != ~a~0 && 0 != ~b~0); {27746#(< ~counter~0 87)} is VALID [2022-04-08 14:06:37,452 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {26888#true} {27746#(< ~counter~0 87)} #71#return; {27746#(< ~counter~0 87)} is VALID [2022-04-08 14:06:37,452 INFO L290 TraceCheckUtils]: 26: Hoare triple {26888#true} assume true; {26888#true} is VALID [2022-04-08 14:06:37,452 INFO L290 TraceCheckUtils]: 25: Hoare triple {26888#true} assume !(0 == ~cond); {26888#true} is VALID [2022-04-08 14:06:37,452 INFO L290 TraceCheckUtils]: 24: Hoare triple {26888#true} ~cond := #in~cond; {26888#true} is VALID [2022-04-08 14:06:37,452 INFO L272 TraceCheckUtils]: 23: Hoare triple {27746#(< ~counter~0 87)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {26888#true} is VALID [2022-04-08 14:06:37,453 INFO L290 TraceCheckUtils]: 22: Hoare triple {27746#(< ~counter~0 87)} assume !!(#t~post6 < 100);havoc #t~post6; {27746#(< ~counter~0 87)} is VALID [2022-04-08 14:06:37,453 INFO L290 TraceCheckUtils]: 21: Hoare triple {27774#(< ~counter~0 86)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27746#(< ~counter~0 87)} is VALID [2022-04-08 14:06:37,453 INFO L290 TraceCheckUtils]: 20: Hoare triple {27774#(< ~counter~0 86)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {27774#(< ~counter~0 86)} is VALID [2022-04-08 14:06:37,453 INFO L290 TraceCheckUtils]: 19: Hoare triple {27774#(< ~counter~0 86)} assume !!(0 != ~a~0 && 0 != ~b~0); {27774#(< ~counter~0 86)} is VALID [2022-04-08 14:06:37,454 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {26888#true} {27774#(< ~counter~0 86)} #71#return; {27774#(< ~counter~0 86)} is VALID [2022-04-08 14:06:37,454 INFO L290 TraceCheckUtils]: 17: Hoare triple {26888#true} assume true; {26888#true} is VALID [2022-04-08 14:06:37,454 INFO L290 TraceCheckUtils]: 16: Hoare triple {26888#true} assume !(0 == ~cond); {26888#true} is VALID [2022-04-08 14:06:37,454 INFO L290 TraceCheckUtils]: 15: Hoare triple {26888#true} ~cond := #in~cond; {26888#true} is VALID [2022-04-08 14:06:37,454 INFO L272 TraceCheckUtils]: 14: Hoare triple {27774#(< ~counter~0 86)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {26888#true} is VALID [2022-04-08 14:06:37,454 INFO L290 TraceCheckUtils]: 13: Hoare triple {27774#(< ~counter~0 86)} assume !!(#t~post6 < 100);havoc #t~post6; {27774#(< ~counter~0 86)} is VALID [2022-04-08 14:06:37,455 INFO L290 TraceCheckUtils]: 12: Hoare triple {27802#(< ~counter~0 85)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27774#(< ~counter~0 86)} is VALID [2022-04-08 14:06:37,455 INFO L290 TraceCheckUtils]: 11: Hoare triple {27802#(< ~counter~0 85)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {27802#(< ~counter~0 85)} is VALID [2022-04-08 14:06:37,456 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {26888#true} {27802#(< ~counter~0 85)} #69#return; {27802#(< ~counter~0 85)} is VALID [2022-04-08 14:06:37,456 INFO L290 TraceCheckUtils]: 9: Hoare triple {26888#true} assume true; {26888#true} is VALID [2022-04-08 14:06:37,456 INFO L290 TraceCheckUtils]: 8: Hoare triple {26888#true} assume !(0 == ~cond); {26888#true} is VALID [2022-04-08 14:06:37,456 INFO L290 TraceCheckUtils]: 7: Hoare triple {26888#true} ~cond := #in~cond; {26888#true} is VALID [2022-04-08 14:06:37,456 INFO L272 TraceCheckUtils]: 6: Hoare triple {27802#(< ~counter~0 85)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {26888#true} is VALID [2022-04-08 14:06:37,456 INFO L290 TraceCheckUtils]: 5: Hoare triple {27802#(< ~counter~0 85)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {27802#(< ~counter~0 85)} is VALID [2022-04-08 14:06:37,456 INFO L272 TraceCheckUtils]: 4: Hoare triple {27802#(< ~counter~0 85)} call #t~ret7 := main(); {27802#(< ~counter~0 85)} is VALID [2022-04-08 14:06:37,457 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {27802#(< ~counter~0 85)} {26888#true} #77#return; {27802#(< ~counter~0 85)} is VALID [2022-04-08 14:06:37,457 INFO L290 TraceCheckUtils]: 2: Hoare triple {27802#(< ~counter~0 85)} assume true; {27802#(< ~counter~0 85)} is VALID [2022-04-08 14:06:37,457 INFO L290 TraceCheckUtils]: 1: Hoare triple {26888#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {27802#(< ~counter~0 85)} is VALID [2022-04-08 14:06:37,458 INFO L272 TraceCheckUtils]: 0: Hoare triple {26888#true} call ULTIMATE.init(); {26888#true} is VALID [2022-04-08 14:06:37,458 INFO L134 CoverageAnalysis]: Checked inductivity of 1005 backedges. 30 proven. 555 refuted. 0 times theorem prover too weak. 420 trivial. 0 not checked. [2022-04-08 14:06:37,458 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 14:06:37,458 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [489990855] [2022-04-08 14:06:37,458 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 14:06:37,458 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1337621960] [2022-04-08 14:06:37,458 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1337621960] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 14:06:37,459 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 14:06:37,459 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 19] total 36 [2022-04-08 14:06:37,459 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 14:06:37,459 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2097162592] [2022-04-08 14:06:37,459 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2097162592] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 14:06:37,459 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 14:06:37,459 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [19] imperfect sequences [] total 19 [2022-04-08 14:06:37,459 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [279479327] [2022-04-08 14:06:37,459 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 14:06:37,460 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 19 states have (on average 6.157894736842105) internal successors, (117), 18 states have internal predecessors, (117), 18 states have call successors, (19), 18 states have call predecessors, (19), 16 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) Word has length 153 [2022-04-08 14:06:37,460 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 14:06:37,460 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 19 states, 19 states have (on average 6.157894736842105) internal successors, (117), 18 states have internal predecessors, (117), 18 states have call successors, (19), 18 states have call predecessors, (19), 16 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 14:06:37,571 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 153 edges. 153 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:06:37,571 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-04-08 14:06:37,571 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 14:06:37,571 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-04-08 14:06:37,572 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=566, Invalid=694, Unknown=0, NotChecked=0, Total=1260 [2022-04-08 14:06:37,572 INFO L87 Difference]: Start difference. First operand 197 states and 244 transitions. Second operand has 19 states, 19 states have (on average 6.157894736842105) internal successors, (117), 18 states have internal predecessors, (117), 18 states have call successors, (19), 18 states have call predecessors, (19), 16 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 14:06:38,413 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:06:38,413 INFO L93 Difference]: Finished difference Result 216 states and 267 transitions. [2022-04-08 14:06:38,413 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 34 states. [2022-04-08 14:06:38,413 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 19 states have (on average 6.157894736842105) internal successors, (117), 18 states have internal predecessors, (117), 18 states have call successors, (19), 18 states have call predecessors, (19), 16 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) Word has length 153 [2022-04-08 14:06:38,414 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 14:06:38,414 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 6.157894736842105) internal successors, (117), 18 states have internal predecessors, (117), 18 states have call successors, (19), 18 states have call predecessors, (19), 16 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 14:06:38,416 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 253 transitions. [2022-04-08 14:06:38,416 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 6.157894736842105) internal successors, (117), 18 states have internal predecessors, (117), 18 states have call successors, (19), 18 states have call predecessors, (19), 16 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 14:06:38,418 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 253 transitions. [2022-04-08 14:06:38,419 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 253 transitions. [2022-04-08 14:06:38,580 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 253 edges. 253 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:06:38,583 INFO L225 Difference]: With dead ends: 216 [2022-04-08 14:06:38,583 INFO L226 Difference]: Without dead ends: 208 [2022-04-08 14:06:38,584 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 320 GetRequests, 271 SyntacticMatches, 0 SemanticMatches, 49 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 151 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=1091, Invalid=1459, Unknown=0, NotChecked=0, Total=2550 [2022-04-08 14:06:38,584 INFO L913 BasicCegarLoop]: 45 mSDtfsCounter, 194 mSDsluCounter, 237 mSDsCounter, 0 mSdLazyCounter, 83 mSolverCounterSat, 20 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 194 SdHoareTripleChecker+Valid, 282 SdHoareTripleChecker+Invalid, 103 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 20 IncrementalHoareTripleChecker+Valid, 83 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 14:06:38,584 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [194 Valid, 282 Invalid, 103 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [20 Valid, 83 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 14:06:38,584 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 208 states. [2022-04-08 14:06:38,885 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 208 to 208. [2022-04-08 14:06:38,885 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 14:06:38,885 INFO L82 GeneralOperation]: Start isEquivalent. First operand 208 states. Second operand has 208 states, 165 states have (on average 1.309090909090909) internal successors, (216), 166 states have internal predecessors, (216), 22 states have call successors, (22), 21 states have call predecessors, (22), 20 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-08 14:06:38,886 INFO L74 IsIncluded]: Start isIncluded. First operand 208 states. Second operand has 208 states, 165 states have (on average 1.309090909090909) internal successors, (216), 166 states have internal predecessors, (216), 22 states have call successors, (22), 21 states have call predecessors, (22), 20 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-08 14:06:38,886 INFO L87 Difference]: Start difference. First operand 208 states. Second operand has 208 states, 165 states have (on average 1.309090909090909) internal successors, (216), 166 states have internal predecessors, (216), 22 states have call successors, (22), 21 states have call predecessors, (22), 20 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-08 14:06:38,892 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:06:38,892 INFO L93 Difference]: Finished difference Result 208 states and 258 transitions. [2022-04-08 14:06:38,892 INFO L276 IsEmpty]: Start isEmpty. Operand 208 states and 258 transitions. [2022-04-08 14:06:38,907 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:06:38,907 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:06:38,907 INFO L74 IsIncluded]: Start isIncluded. First operand has 208 states, 165 states have (on average 1.309090909090909) internal successors, (216), 166 states have internal predecessors, (216), 22 states have call successors, (22), 21 states have call predecessors, (22), 20 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) Second operand 208 states. [2022-04-08 14:06:38,908 INFO L87 Difference]: Start difference. First operand has 208 states, 165 states have (on average 1.309090909090909) internal successors, (216), 166 states have internal predecessors, (216), 22 states have call successors, (22), 21 states have call predecessors, (22), 20 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) Second operand 208 states. [2022-04-08 14:06:38,910 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:06:38,910 INFO L93 Difference]: Finished difference Result 208 states and 258 transitions. [2022-04-08 14:06:38,910 INFO L276 IsEmpty]: Start isEmpty. Operand 208 states and 258 transitions. [2022-04-08 14:06:38,910 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:06:38,910 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:06:38,910 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 14:06:38,910 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 14:06:38,911 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 208 states, 165 states have (on average 1.309090909090909) internal successors, (216), 166 states have internal predecessors, (216), 22 states have call successors, (22), 21 states have call predecessors, (22), 20 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-08 14:06:38,913 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 208 states to 208 states and 258 transitions. [2022-04-08 14:06:38,913 INFO L78 Accepts]: Start accepts. Automaton has 208 states and 258 transitions. Word has length 153 [2022-04-08 14:06:38,913 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 14:06:38,913 INFO L478 AbstractCegarLoop]: Abstraction has 208 states and 258 transitions. [2022-04-08 14:06:38,913 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 19 states, 19 states have (on average 6.157894736842105) internal successors, (117), 18 states have internal predecessors, (117), 18 states have call successors, (19), 18 states have call predecessors, (19), 16 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 14:06:38,914 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 208 states and 258 transitions. [2022-04-08 14:07:11,460 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 258 edges. 243 inductive. 0 not inductive. 15 times theorem prover too weak to decide inductivity. [2022-04-08 14:07:11,460 INFO L276 IsEmpty]: Start isEmpty. Operand 208 states and 258 transitions. [2022-04-08 14:07:11,461 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 163 [2022-04-08 14:07:11,461 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 14:07:11,461 INFO L499 BasicCegarLoop]: trace histogram [17, 17, 16, 16, 16, 16, 16, 16, 16, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 14:07:11,481 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (29)] Forceful destruction successful, exit code 0 [2022-04-08 14:07:11,661 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 29 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable28 [2022-04-08 14:07:11,661 INFO L403 AbstractCegarLoop]: === Iteration 30 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 14:07:11,662 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 14:07:11,662 INFO L85 PathProgramCache]: Analyzing trace with hash 1002092794, now seen corresponding path program 31 times [2022-04-08 14:07:11,662 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 14:07:11,662 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [19083179] [2022-04-08 14:07:17,712 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 14:07:17,713 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 14:07:17,713 INFO L85 PathProgramCache]: Analyzing trace with hash 1002092794, now seen corresponding path program 32 times [2022-04-08 14:07:17,713 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 14:07:17,713 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [998536101] [2022-04-08 14:07:17,713 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 14:07:17,713 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 14:07:17,731 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 14:07:17,731 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1824694747] [2022-04-08 14:07:17,731 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 14:07:17,731 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 14:07:17,731 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 14:07:17,732 INFO L229 MonitoredProcess]: Starting monitored process 30 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 14:07:17,733 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (30)] Waiting until timeout for monitored process [2022-04-08 14:07:17,828 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 14:07:17,828 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 14:07:17,831 INFO L263 TraceCheckSpWp]: Trace formula consists of 502 conjuncts, 37 conjunts are in the unsatisfiable core [2022-04-08 14:07:17,856 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 14:07:17,868 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 14:07:18,504 INFO L272 TraceCheckUtils]: 0: Hoare triple {29135#true} call ULTIMATE.init(); {29135#true} is VALID [2022-04-08 14:07:18,504 INFO L290 TraceCheckUtils]: 1: Hoare triple {29135#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {29143#(<= ~counter~0 0)} is VALID [2022-04-08 14:07:18,505 INFO L290 TraceCheckUtils]: 2: Hoare triple {29143#(<= ~counter~0 0)} assume true; {29143#(<= ~counter~0 0)} is VALID [2022-04-08 14:07:18,505 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29143#(<= ~counter~0 0)} {29135#true} #77#return; {29143#(<= ~counter~0 0)} is VALID [2022-04-08 14:07:18,505 INFO L272 TraceCheckUtils]: 4: Hoare triple {29143#(<= ~counter~0 0)} call #t~ret7 := main(); {29143#(<= ~counter~0 0)} is VALID [2022-04-08 14:07:18,505 INFO L290 TraceCheckUtils]: 5: Hoare triple {29143#(<= ~counter~0 0)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {29143#(<= ~counter~0 0)} is VALID [2022-04-08 14:07:18,506 INFO L272 TraceCheckUtils]: 6: Hoare triple {29143#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {29143#(<= ~counter~0 0)} is VALID [2022-04-08 14:07:18,506 INFO L290 TraceCheckUtils]: 7: Hoare triple {29143#(<= ~counter~0 0)} ~cond := #in~cond; {29143#(<= ~counter~0 0)} is VALID [2022-04-08 14:07:18,506 INFO L290 TraceCheckUtils]: 8: Hoare triple {29143#(<= ~counter~0 0)} assume !(0 == ~cond); {29143#(<= ~counter~0 0)} is VALID [2022-04-08 14:07:18,506 INFO L290 TraceCheckUtils]: 9: Hoare triple {29143#(<= ~counter~0 0)} assume true; {29143#(<= ~counter~0 0)} is VALID [2022-04-08 14:07:18,507 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {29143#(<= ~counter~0 0)} {29143#(<= ~counter~0 0)} #69#return; {29143#(<= ~counter~0 0)} is VALID [2022-04-08 14:07:18,507 INFO L290 TraceCheckUtils]: 11: Hoare triple {29143#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {29143#(<= ~counter~0 0)} is VALID [2022-04-08 14:07:18,507 INFO L290 TraceCheckUtils]: 12: Hoare triple {29143#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29177#(<= ~counter~0 1)} is VALID [2022-04-08 14:07:18,508 INFO L290 TraceCheckUtils]: 13: Hoare triple {29177#(<= ~counter~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {29177#(<= ~counter~0 1)} is VALID [2022-04-08 14:07:18,508 INFO L272 TraceCheckUtils]: 14: Hoare triple {29177#(<= ~counter~0 1)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {29177#(<= ~counter~0 1)} is VALID [2022-04-08 14:07:18,508 INFO L290 TraceCheckUtils]: 15: Hoare triple {29177#(<= ~counter~0 1)} ~cond := #in~cond; {29177#(<= ~counter~0 1)} is VALID [2022-04-08 14:07:18,509 INFO L290 TraceCheckUtils]: 16: Hoare triple {29177#(<= ~counter~0 1)} assume !(0 == ~cond); {29177#(<= ~counter~0 1)} is VALID [2022-04-08 14:07:18,509 INFO L290 TraceCheckUtils]: 17: Hoare triple {29177#(<= ~counter~0 1)} assume true; {29177#(<= ~counter~0 1)} is VALID [2022-04-08 14:07:18,509 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {29177#(<= ~counter~0 1)} {29177#(<= ~counter~0 1)} #71#return; {29177#(<= ~counter~0 1)} is VALID [2022-04-08 14:07:18,509 INFO L290 TraceCheckUtils]: 19: Hoare triple {29177#(<= ~counter~0 1)} assume !!(0 != ~a~0 && 0 != ~b~0); {29177#(<= ~counter~0 1)} is VALID [2022-04-08 14:07:18,510 INFO L290 TraceCheckUtils]: 20: Hoare triple {29177#(<= ~counter~0 1)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {29177#(<= ~counter~0 1)} is VALID [2022-04-08 14:07:18,510 INFO L290 TraceCheckUtils]: 21: Hoare triple {29177#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29205#(<= ~counter~0 2)} is VALID [2022-04-08 14:07:18,510 INFO L290 TraceCheckUtils]: 22: Hoare triple {29205#(<= ~counter~0 2)} assume !!(#t~post6 < 100);havoc #t~post6; {29205#(<= ~counter~0 2)} is VALID [2022-04-08 14:07:18,511 INFO L272 TraceCheckUtils]: 23: Hoare triple {29205#(<= ~counter~0 2)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {29205#(<= ~counter~0 2)} is VALID [2022-04-08 14:07:18,511 INFO L290 TraceCheckUtils]: 24: Hoare triple {29205#(<= ~counter~0 2)} ~cond := #in~cond; {29205#(<= ~counter~0 2)} is VALID [2022-04-08 14:07:18,511 INFO L290 TraceCheckUtils]: 25: Hoare triple {29205#(<= ~counter~0 2)} assume !(0 == ~cond); {29205#(<= ~counter~0 2)} is VALID [2022-04-08 14:07:18,511 INFO L290 TraceCheckUtils]: 26: Hoare triple {29205#(<= ~counter~0 2)} assume true; {29205#(<= ~counter~0 2)} is VALID [2022-04-08 14:07:18,512 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {29205#(<= ~counter~0 2)} {29205#(<= ~counter~0 2)} #71#return; {29205#(<= ~counter~0 2)} is VALID [2022-04-08 14:07:18,512 INFO L290 TraceCheckUtils]: 28: Hoare triple {29205#(<= ~counter~0 2)} assume !!(0 != ~a~0 && 0 != ~b~0); {29205#(<= ~counter~0 2)} is VALID [2022-04-08 14:07:18,512 INFO L290 TraceCheckUtils]: 29: Hoare triple {29205#(<= ~counter~0 2)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {29205#(<= ~counter~0 2)} is VALID [2022-04-08 14:07:18,513 INFO L290 TraceCheckUtils]: 30: Hoare triple {29205#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29233#(<= ~counter~0 3)} is VALID [2022-04-08 14:07:18,513 INFO L290 TraceCheckUtils]: 31: Hoare triple {29233#(<= ~counter~0 3)} assume !!(#t~post6 < 100);havoc #t~post6; {29233#(<= ~counter~0 3)} is VALID [2022-04-08 14:07:18,513 INFO L272 TraceCheckUtils]: 32: Hoare triple {29233#(<= ~counter~0 3)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {29233#(<= ~counter~0 3)} is VALID [2022-04-08 14:07:18,513 INFO L290 TraceCheckUtils]: 33: Hoare triple {29233#(<= ~counter~0 3)} ~cond := #in~cond; {29233#(<= ~counter~0 3)} is VALID [2022-04-08 14:07:18,514 INFO L290 TraceCheckUtils]: 34: Hoare triple {29233#(<= ~counter~0 3)} assume !(0 == ~cond); {29233#(<= ~counter~0 3)} is VALID [2022-04-08 14:07:18,514 INFO L290 TraceCheckUtils]: 35: Hoare triple {29233#(<= ~counter~0 3)} assume true; {29233#(<= ~counter~0 3)} is VALID [2022-04-08 14:07:18,514 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {29233#(<= ~counter~0 3)} {29233#(<= ~counter~0 3)} #71#return; {29233#(<= ~counter~0 3)} is VALID [2022-04-08 14:07:18,514 INFO L290 TraceCheckUtils]: 37: Hoare triple {29233#(<= ~counter~0 3)} assume !!(0 != ~a~0 && 0 != ~b~0); {29233#(<= ~counter~0 3)} is VALID [2022-04-08 14:07:18,515 INFO L290 TraceCheckUtils]: 38: Hoare triple {29233#(<= ~counter~0 3)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {29233#(<= ~counter~0 3)} is VALID [2022-04-08 14:07:18,515 INFO L290 TraceCheckUtils]: 39: Hoare triple {29233#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29261#(<= ~counter~0 4)} is VALID [2022-04-08 14:07:18,515 INFO L290 TraceCheckUtils]: 40: Hoare triple {29261#(<= ~counter~0 4)} assume !!(#t~post6 < 100);havoc #t~post6; {29261#(<= ~counter~0 4)} is VALID [2022-04-08 14:07:18,516 INFO L272 TraceCheckUtils]: 41: Hoare triple {29261#(<= ~counter~0 4)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {29261#(<= ~counter~0 4)} is VALID [2022-04-08 14:07:18,516 INFO L290 TraceCheckUtils]: 42: Hoare triple {29261#(<= ~counter~0 4)} ~cond := #in~cond; {29261#(<= ~counter~0 4)} is VALID [2022-04-08 14:07:18,516 INFO L290 TraceCheckUtils]: 43: Hoare triple {29261#(<= ~counter~0 4)} assume !(0 == ~cond); {29261#(<= ~counter~0 4)} is VALID [2022-04-08 14:07:18,517 INFO L290 TraceCheckUtils]: 44: Hoare triple {29261#(<= ~counter~0 4)} assume true; {29261#(<= ~counter~0 4)} is VALID [2022-04-08 14:07:18,517 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {29261#(<= ~counter~0 4)} {29261#(<= ~counter~0 4)} #71#return; {29261#(<= ~counter~0 4)} is VALID [2022-04-08 14:07:18,517 INFO L290 TraceCheckUtils]: 46: Hoare triple {29261#(<= ~counter~0 4)} assume !!(0 != ~a~0 && 0 != ~b~0); {29261#(<= ~counter~0 4)} is VALID [2022-04-08 14:07:18,518 INFO L290 TraceCheckUtils]: 47: Hoare triple {29261#(<= ~counter~0 4)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {29261#(<= ~counter~0 4)} is VALID [2022-04-08 14:07:18,518 INFO L290 TraceCheckUtils]: 48: Hoare triple {29261#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29289#(<= ~counter~0 5)} is VALID [2022-04-08 14:07:18,518 INFO L290 TraceCheckUtils]: 49: Hoare triple {29289#(<= ~counter~0 5)} assume !!(#t~post6 < 100);havoc #t~post6; {29289#(<= ~counter~0 5)} is VALID [2022-04-08 14:07:18,519 INFO L272 TraceCheckUtils]: 50: Hoare triple {29289#(<= ~counter~0 5)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {29289#(<= ~counter~0 5)} is VALID [2022-04-08 14:07:18,519 INFO L290 TraceCheckUtils]: 51: Hoare triple {29289#(<= ~counter~0 5)} ~cond := #in~cond; {29289#(<= ~counter~0 5)} is VALID [2022-04-08 14:07:18,519 INFO L290 TraceCheckUtils]: 52: Hoare triple {29289#(<= ~counter~0 5)} assume !(0 == ~cond); {29289#(<= ~counter~0 5)} is VALID [2022-04-08 14:07:18,519 INFO L290 TraceCheckUtils]: 53: Hoare triple {29289#(<= ~counter~0 5)} assume true; {29289#(<= ~counter~0 5)} is VALID [2022-04-08 14:07:18,520 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {29289#(<= ~counter~0 5)} {29289#(<= ~counter~0 5)} #71#return; {29289#(<= ~counter~0 5)} is VALID [2022-04-08 14:07:18,520 INFO L290 TraceCheckUtils]: 55: Hoare triple {29289#(<= ~counter~0 5)} assume !!(0 != ~a~0 && 0 != ~b~0); {29289#(<= ~counter~0 5)} is VALID [2022-04-08 14:07:18,520 INFO L290 TraceCheckUtils]: 56: Hoare triple {29289#(<= ~counter~0 5)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {29289#(<= ~counter~0 5)} is VALID [2022-04-08 14:07:18,521 INFO L290 TraceCheckUtils]: 57: Hoare triple {29289#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29317#(<= ~counter~0 6)} is VALID [2022-04-08 14:07:18,521 INFO L290 TraceCheckUtils]: 58: Hoare triple {29317#(<= ~counter~0 6)} assume !!(#t~post6 < 100);havoc #t~post6; {29317#(<= ~counter~0 6)} is VALID [2022-04-08 14:07:18,521 INFO L272 TraceCheckUtils]: 59: Hoare triple {29317#(<= ~counter~0 6)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {29317#(<= ~counter~0 6)} is VALID [2022-04-08 14:07:18,521 INFO L290 TraceCheckUtils]: 60: Hoare triple {29317#(<= ~counter~0 6)} ~cond := #in~cond; {29317#(<= ~counter~0 6)} is VALID [2022-04-08 14:07:18,522 INFO L290 TraceCheckUtils]: 61: Hoare triple {29317#(<= ~counter~0 6)} assume !(0 == ~cond); {29317#(<= ~counter~0 6)} is VALID [2022-04-08 14:07:18,522 INFO L290 TraceCheckUtils]: 62: Hoare triple {29317#(<= ~counter~0 6)} assume true; {29317#(<= ~counter~0 6)} is VALID [2022-04-08 14:07:18,522 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {29317#(<= ~counter~0 6)} {29317#(<= ~counter~0 6)} #71#return; {29317#(<= ~counter~0 6)} is VALID [2022-04-08 14:07:18,522 INFO L290 TraceCheckUtils]: 64: Hoare triple {29317#(<= ~counter~0 6)} assume !!(0 != ~a~0 && 0 != ~b~0); {29317#(<= ~counter~0 6)} is VALID [2022-04-08 14:07:18,523 INFO L290 TraceCheckUtils]: 65: Hoare triple {29317#(<= ~counter~0 6)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {29317#(<= ~counter~0 6)} is VALID [2022-04-08 14:07:18,523 INFO L290 TraceCheckUtils]: 66: Hoare triple {29317#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29345#(<= ~counter~0 7)} is VALID [2022-04-08 14:07:18,523 INFO L290 TraceCheckUtils]: 67: Hoare triple {29345#(<= ~counter~0 7)} assume !!(#t~post6 < 100);havoc #t~post6; {29345#(<= ~counter~0 7)} is VALID [2022-04-08 14:07:18,524 INFO L272 TraceCheckUtils]: 68: Hoare triple {29345#(<= ~counter~0 7)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {29345#(<= ~counter~0 7)} is VALID [2022-04-08 14:07:18,524 INFO L290 TraceCheckUtils]: 69: Hoare triple {29345#(<= ~counter~0 7)} ~cond := #in~cond; {29345#(<= ~counter~0 7)} is VALID [2022-04-08 14:07:18,524 INFO L290 TraceCheckUtils]: 70: Hoare triple {29345#(<= ~counter~0 7)} assume !(0 == ~cond); {29345#(<= ~counter~0 7)} is VALID [2022-04-08 14:07:18,524 INFO L290 TraceCheckUtils]: 71: Hoare triple {29345#(<= ~counter~0 7)} assume true; {29345#(<= ~counter~0 7)} is VALID [2022-04-08 14:07:18,525 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {29345#(<= ~counter~0 7)} {29345#(<= ~counter~0 7)} #71#return; {29345#(<= ~counter~0 7)} is VALID [2022-04-08 14:07:18,525 INFO L290 TraceCheckUtils]: 73: Hoare triple {29345#(<= ~counter~0 7)} assume !!(0 != ~a~0 && 0 != ~b~0); {29345#(<= ~counter~0 7)} is VALID [2022-04-08 14:07:18,525 INFO L290 TraceCheckUtils]: 74: Hoare triple {29345#(<= ~counter~0 7)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {29345#(<= ~counter~0 7)} is VALID [2022-04-08 14:07:18,525 INFO L290 TraceCheckUtils]: 75: Hoare triple {29345#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29373#(<= ~counter~0 8)} is VALID [2022-04-08 14:07:18,526 INFO L290 TraceCheckUtils]: 76: Hoare triple {29373#(<= ~counter~0 8)} assume !!(#t~post6 < 100);havoc #t~post6; {29373#(<= ~counter~0 8)} is VALID [2022-04-08 14:07:18,526 INFO L272 TraceCheckUtils]: 77: Hoare triple {29373#(<= ~counter~0 8)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {29373#(<= ~counter~0 8)} is VALID [2022-04-08 14:07:18,526 INFO L290 TraceCheckUtils]: 78: Hoare triple {29373#(<= ~counter~0 8)} ~cond := #in~cond; {29373#(<= ~counter~0 8)} is VALID [2022-04-08 14:07:18,527 INFO L290 TraceCheckUtils]: 79: Hoare triple {29373#(<= ~counter~0 8)} assume !(0 == ~cond); {29373#(<= ~counter~0 8)} is VALID [2022-04-08 14:07:18,527 INFO L290 TraceCheckUtils]: 80: Hoare triple {29373#(<= ~counter~0 8)} assume true; {29373#(<= ~counter~0 8)} is VALID [2022-04-08 14:07:18,527 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {29373#(<= ~counter~0 8)} {29373#(<= ~counter~0 8)} #71#return; {29373#(<= ~counter~0 8)} is VALID [2022-04-08 14:07:18,527 INFO L290 TraceCheckUtils]: 82: Hoare triple {29373#(<= ~counter~0 8)} assume !!(0 != ~a~0 && 0 != ~b~0); {29373#(<= ~counter~0 8)} is VALID [2022-04-08 14:07:18,528 INFO L290 TraceCheckUtils]: 83: Hoare triple {29373#(<= ~counter~0 8)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {29373#(<= ~counter~0 8)} is VALID [2022-04-08 14:07:18,528 INFO L290 TraceCheckUtils]: 84: Hoare triple {29373#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29401#(<= ~counter~0 9)} is VALID [2022-04-08 14:07:18,528 INFO L290 TraceCheckUtils]: 85: Hoare triple {29401#(<= ~counter~0 9)} assume !!(#t~post6 < 100);havoc #t~post6; {29401#(<= ~counter~0 9)} is VALID [2022-04-08 14:07:18,529 INFO L272 TraceCheckUtils]: 86: Hoare triple {29401#(<= ~counter~0 9)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {29401#(<= ~counter~0 9)} is VALID [2022-04-08 14:07:18,529 INFO L290 TraceCheckUtils]: 87: Hoare triple {29401#(<= ~counter~0 9)} ~cond := #in~cond; {29401#(<= ~counter~0 9)} is VALID [2022-04-08 14:07:18,529 INFO L290 TraceCheckUtils]: 88: Hoare triple {29401#(<= ~counter~0 9)} assume !(0 == ~cond); {29401#(<= ~counter~0 9)} is VALID [2022-04-08 14:07:18,529 INFO L290 TraceCheckUtils]: 89: Hoare triple {29401#(<= ~counter~0 9)} assume true; {29401#(<= ~counter~0 9)} is VALID [2022-04-08 14:07:18,530 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {29401#(<= ~counter~0 9)} {29401#(<= ~counter~0 9)} #71#return; {29401#(<= ~counter~0 9)} is VALID [2022-04-08 14:07:18,530 INFO L290 TraceCheckUtils]: 91: Hoare triple {29401#(<= ~counter~0 9)} assume !!(0 != ~a~0 && 0 != ~b~0); {29401#(<= ~counter~0 9)} is VALID [2022-04-08 14:07:18,530 INFO L290 TraceCheckUtils]: 92: Hoare triple {29401#(<= ~counter~0 9)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {29401#(<= ~counter~0 9)} is VALID [2022-04-08 14:07:18,530 INFO L290 TraceCheckUtils]: 93: Hoare triple {29401#(<= ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29429#(<= ~counter~0 10)} is VALID [2022-04-08 14:07:18,531 INFO L290 TraceCheckUtils]: 94: Hoare triple {29429#(<= ~counter~0 10)} assume !!(#t~post6 < 100);havoc #t~post6; {29429#(<= ~counter~0 10)} is VALID [2022-04-08 14:07:18,531 INFO L272 TraceCheckUtils]: 95: Hoare triple {29429#(<= ~counter~0 10)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {29429#(<= ~counter~0 10)} is VALID [2022-04-08 14:07:18,531 INFO L290 TraceCheckUtils]: 96: Hoare triple {29429#(<= ~counter~0 10)} ~cond := #in~cond; {29429#(<= ~counter~0 10)} is VALID [2022-04-08 14:07:18,532 INFO L290 TraceCheckUtils]: 97: Hoare triple {29429#(<= ~counter~0 10)} assume !(0 == ~cond); {29429#(<= ~counter~0 10)} is VALID [2022-04-08 14:07:18,532 INFO L290 TraceCheckUtils]: 98: Hoare triple {29429#(<= ~counter~0 10)} assume true; {29429#(<= ~counter~0 10)} is VALID [2022-04-08 14:07:18,532 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {29429#(<= ~counter~0 10)} {29429#(<= ~counter~0 10)} #71#return; {29429#(<= ~counter~0 10)} is VALID [2022-04-08 14:07:18,532 INFO L290 TraceCheckUtils]: 100: Hoare triple {29429#(<= ~counter~0 10)} assume !!(0 != ~a~0 && 0 != ~b~0); {29429#(<= ~counter~0 10)} is VALID [2022-04-08 14:07:18,533 INFO L290 TraceCheckUtils]: 101: Hoare triple {29429#(<= ~counter~0 10)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {29429#(<= ~counter~0 10)} is VALID [2022-04-08 14:07:18,533 INFO L290 TraceCheckUtils]: 102: Hoare triple {29429#(<= ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29457#(<= ~counter~0 11)} is VALID [2022-04-08 14:07:18,533 INFO L290 TraceCheckUtils]: 103: Hoare triple {29457#(<= ~counter~0 11)} assume !!(#t~post6 < 100);havoc #t~post6; {29457#(<= ~counter~0 11)} is VALID [2022-04-08 14:07:18,534 INFO L272 TraceCheckUtils]: 104: Hoare triple {29457#(<= ~counter~0 11)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {29457#(<= ~counter~0 11)} is VALID [2022-04-08 14:07:18,534 INFO L290 TraceCheckUtils]: 105: Hoare triple {29457#(<= ~counter~0 11)} ~cond := #in~cond; {29457#(<= ~counter~0 11)} is VALID [2022-04-08 14:07:18,534 INFO L290 TraceCheckUtils]: 106: Hoare triple {29457#(<= ~counter~0 11)} assume !(0 == ~cond); {29457#(<= ~counter~0 11)} is VALID [2022-04-08 14:07:18,534 INFO L290 TraceCheckUtils]: 107: Hoare triple {29457#(<= ~counter~0 11)} assume true; {29457#(<= ~counter~0 11)} is VALID [2022-04-08 14:07:18,535 INFO L284 TraceCheckUtils]: 108: Hoare quadruple {29457#(<= ~counter~0 11)} {29457#(<= ~counter~0 11)} #71#return; {29457#(<= ~counter~0 11)} is VALID [2022-04-08 14:07:18,535 INFO L290 TraceCheckUtils]: 109: Hoare triple {29457#(<= ~counter~0 11)} assume !!(0 != ~a~0 && 0 != ~b~0); {29457#(<= ~counter~0 11)} is VALID [2022-04-08 14:07:18,535 INFO L290 TraceCheckUtils]: 110: Hoare triple {29457#(<= ~counter~0 11)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {29457#(<= ~counter~0 11)} is VALID [2022-04-08 14:07:18,535 INFO L290 TraceCheckUtils]: 111: Hoare triple {29457#(<= ~counter~0 11)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29485#(<= ~counter~0 12)} is VALID [2022-04-08 14:07:18,536 INFO L290 TraceCheckUtils]: 112: Hoare triple {29485#(<= ~counter~0 12)} assume !!(#t~post6 < 100);havoc #t~post6; {29485#(<= ~counter~0 12)} is VALID [2022-04-08 14:07:18,536 INFO L272 TraceCheckUtils]: 113: Hoare triple {29485#(<= ~counter~0 12)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {29485#(<= ~counter~0 12)} is VALID [2022-04-08 14:07:18,536 INFO L290 TraceCheckUtils]: 114: Hoare triple {29485#(<= ~counter~0 12)} ~cond := #in~cond; {29485#(<= ~counter~0 12)} is VALID [2022-04-08 14:07:18,536 INFO L290 TraceCheckUtils]: 115: Hoare triple {29485#(<= ~counter~0 12)} assume !(0 == ~cond); {29485#(<= ~counter~0 12)} is VALID [2022-04-08 14:07:18,537 INFO L290 TraceCheckUtils]: 116: Hoare triple {29485#(<= ~counter~0 12)} assume true; {29485#(<= ~counter~0 12)} is VALID [2022-04-08 14:07:18,537 INFO L284 TraceCheckUtils]: 117: Hoare quadruple {29485#(<= ~counter~0 12)} {29485#(<= ~counter~0 12)} #71#return; {29485#(<= ~counter~0 12)} is VALID [2022-04-08 14:07:18,537 INFO L290 TraceCheckUtils]: 118: Hoare triple {29485#(<= ~counter~0 12)} assume !!(0 != ~a~0 && 0 != ~b~0); {29485#(<= ~counter~0 12)} is VALID [2022-04-08 14:07:18,538 INFO L290 TraceCheckUtils]: 119: Hoare triple {29485#(<= ~counter~0 12)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {29485#(<= ~counter~0 12)} is VALID [2022-04-08 14:07:18,538 INFO L290 TraceCheckUtils]: 120: Hoare triple {29485#(<= ~counter~0 12)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29513#(<= ~counter~0 13)} is VALID [2022-04-08 14:07:18,538 INFO L290 TraceCheckUtils]: 121: Hoare triple {29513#(<= ~counter~0 13)} assume !!(#t~post6 < 100);havoc #t~post6; {29513#(<= ~counter~0 13)} is VALID [2022-04-08 14:07:18,539 INFO L272 TraceCheckUtils]: 122: Hoare triple {29513#(<= ~counter~0 13)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {29513#(<= ~counter~0 13)} is VALID [2022-04-08 14:07:18,539 INFO L290 TraceCheckUtils]: 123: Hoare triple {29513#(<= ~counter~0 13)} ~cond := #in~cond; {29513#(<= ~counter~0 13)} is VALID [2022-04-08 14:07:18,539 INFO L290 TraceCheckUtils]: 124: Hoare triple {29513#(<= ~counter~0 13)} assume !(0 == ~cond); {29513#(<= ~counter~0 13)} is VALID [2022-04-08 14:07:18,539 INFO L290 TraceCheckUtils]: 125: Hoare triple {29513#(<= ~counter~0 13)} assume true; {29513#(<= ~counter~0 13)} is VALID [2022-04-08 14:07:18,540 INFO L284 TraceCheckUtils]: 126: Hoare quadruple {29513#(<= ~counter~0 13)} {29513#(<= ~counter~0 13)} #71#return; {29513#(<= ~counter~0 13)} is VALID [2022-04-08 14:07:18,540 INFO L290 TraceCheckUtils]: 127: Hoare triple {29513#(<= ~counter~0 13)} assume !!(0 != ~a~0 && 0 != ~b~0); {29513#(<= ~counter~0 13)} is VALID [2022-04-08 14:07:18,540 INFO L290 TraceCheckUtils]: 128: Hoare triple {29513#(<= ~counter~0 13)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {29513#(<= ~counter~0 13)} is VALID [2022-04-08 14:07:18,540 INFO L290 TraceCheckUtils]: 129: Hoare triple {29513#(<= ~counter~0 13)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29541#(<= ~counter~0 14)} is VALID [2022-04-08 14:07:18,541 INFO L290 TraceCheckUtils]: 130: Hoare triple {29541#(<= ~counter~0 14)} assume !!(#t~post6 < 100);havoc #t~post6; {29541#(<= ~counter~0 14)} is VALID [2022-04-08 14:07:18,541 INFO L272 TraceCheckUtils]: 131: Hoare triple {29541#(<= ~counter~0 14)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {29541#(<= ~counter~0 14)} is VALID [2022-04-08 14:07:18,541 INFO L290 TraceCheckUtils]: 132: Hoare triple {29541#(<= ~counter~0 14)} ~cond := #in~cond; {29541#(<= ~counter~0 14)} is VALID [2022-04-08 14:07:18,541 INFO L290 TraceCheckUtils]: 133: Hoare triple {29541#(<= ~counter~0 14)} assume !(0 == ~cond); {29541#(<= ~counter~0 14)} is VALID [2022-04-08 14:07:18,542 INFO L290 TraceCheckUtils]: 134: Hoare triple {29541#(<= ~counter~0 14)} assume true; {29541#(<= ~counter~0 14)} is VALID [2022-04-08 14:07:18,542 INFO L284 TraceCheckUtils]: 135: Hoare quadruple {29541#(<= ~counter~0 14)} {29541#(<= ~counter~0 14)} #71#return; {29541#(<= ~counter~0 14)} is VALID [2022-04-08 14:07:18,542 INFO L290 TraceCheckUtils]: 136: Hoare triple {29541#(<= ~counter~0 14)} assume !!(0 != ~a~0 && 0 != ~b~0); {29541#(<= ~counter~0 14)} is VALID [2022-04-08 14:07:18,542 INFO L290 TraceCheckUtils]: 137: Hoare triple {29541#(<= ~counter~0 14)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {29541#(<= ~counter~0 14)} is VALID [2022-04-08 14:07:18,543 INFO L290 TraceCheckUtils]: 138: Hoare triple {29541#(<= ~counter~0 14)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29569#(<= ~counter~0 15)} is VALID [2022-04-08 14:07:18,543 INFO L290 TraceCheckUtils]: 139: Hoare triple {29569#(<= ~counter~0 15)} assume !!(#t~post6 < 100);havoc #t~post6; {29569#(<= ~counter~0 15)} is VALID [2022-04-08 14:07:18,543 INFO L272 TraceCheckUtils]: 140: Hoare triple {29569#(<= ~counter~0 15)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {29569#(<= ~counter~0 15)} is VALID [2022-04-08 14:07:18,544 INFO L290 TraceCheckUtils]: 141: Hoare triple {29569#(<= ~counter~0 15)} ~cond := #in~cond; {29569#(<= ~counter~0 15)} is VALID [2022-04-08 14:07:18,544 INFO L290 TraceCheckUtils]: 142: Hoare triple {29569#(<= ~counter~0 15)} assume !(0 == ~cond); {29569#(<= ~counter~0 15)} is VALID [2022-04-08 14:07:18,544 INFO L290 TraceCheckUtils]: 143: Hoare triple {29569#(<= ~counter~0 15)} assume true; {29569#(<= ~counter~0 15)} is VALID [2022-04-08 14:07:18,544 INFO L284 TraceCheckUtils]: 144: Hoare quadruple {29569#(<= ~counter~0 15)} {29569#(<= ~counter~0 15)} #71#return; {29569#(<= ~counter~0 15)} is VALID [2022-04-08 14:07:18,545 INFO L290 TraceCheckUtils]: 145: Hoare triple {29569#(<= ~counter~0 15)} assume !!(0 != ~a~0 && 0 != ~b~0); {29569#(<= ~counter~0 15)} is VALID [2022-04-08 14:07:18,545 INFO L290 TraceCheckUtils]: 146: Hoare triple {29569#(<= ~counter~0 15)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {29569#(<= ~counter~0 15)} is VALID [2022-04-08 14:07:18,545 INFO L290 TraceCheckUtils]: 147: Hoare triple {29569#(<= ~counter~0 15)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29597#(<= ~counter~0 16)} is VALID [2022-04-08 14:07:18,546 INFO L290 TraceCheckUtils]: 148: Hoare triple {29597#(<= ~counter~0 16)} assume !!(#t~post6 < 100);havoc #t~post6; {29597#(<= ~counter~0 16)} is VALID [2022-04-08 14:07:18,546 INFO L272 TraceCheckUtils]: 149: Hoare triple {29597#(<= ~counter~0 16)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {29597#(<= ~counter~0 16)} is VALID [2022-04-08 14:07:18,546 INFO L290 TraceCheckUtils]: 150: Hoare triple {29597#(<= ~counter~0 16)} ~cond := #in~cond; {29597#(<= ~counter~0 16)} is VALID [2022-04-08 14:07:18,546 INFO L290 TraceCheckUtils]: 151: Hoare triple {29597#(<= ~counter~0 16)} assume !(0 == ~cond); {29597#(<= ~counter~0 16)} is VALID [2022-04-08 14:07:18,547 INFO L290 TraceCheckUtils]: 152: Hoare triple {29597#(<= ~counter~0 16)} assume true; {29597#(<= ~counter~0 16)} is VALID [2022-04-08 14:07:18,547 INFO L284 TraceCheckUtils]: 153: Hoare quadruple {29597#(<= ~counter~0 16)} {29597#(<= ~counter~0 16)} #71#return; {29597#(<= ~counter~0 16)} is VALID [2022-04-08 14:07:18,547 INFO L290 TraceCheckUtils]: 154: Hoare triple {29597#(<= ~counter~0 16)} assume !!(0 != ~a~0 && 0 != ~b~0); {29597#(<= ~counter~0 16)} is VALID [2022-04-08 14:07:18,547 INFO L290 TraceCheckUtils]: 155: Hoare triple {29597#(<= ~counter~0 16)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {29597#(<= ~counter~0 16)} is VALID [2022-04-08 14:07:18,548 INFO L290 TraceCheckUtils]: 156: Hoare triple {29597#(<= ~counter~0 16)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29625#(<= |main_#t~post6| 16)} is VALID [2022-04-08 14:07:18,548 INFO L290 TraceCheckUtils]: 157: Hoare triple {29625#(<= |main_#t~post6| 16)} assume !(#t~post6 < 100);havoc #t~post6; {29136#false} is VALID [2022-04-08 14:07:18,548 INFO L272 TraceCheckUtils]: 158: Hoare triple {29136#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {29136#false} is VALID [2022-04-08 14:07:18,548 INFO L290 TraceCheckUtils]: 159: Hoare triple {29136#false} ~cond := #in~cond; {29136#false} is VALID [2022-04-08 14:07:18,548 INFO L290 TraceCheckUtils]: 160: Hoare triple {29136#false} assume 0 == ~cond; {29136#false} is VALID [2022-04-08 14:07:18,548 INFO L290 TraceCheckUtils]: 161: Hoare triple {29136#false} assume !false; {29136#false} is VALID [2022-04-08 14:07:18,549 INFO L134 CoverageAnalysis]: Checked inductivity of 1144 backedges. 32 proven. 1112 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 14:07:18,549 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 14:07:19,339 INFO L290 TraceCheckUtils]: 161: Hoare triple {29136#false} assume !false; {29136#false} is VALID [2022-04-08 14:07:19,339 INFO L290 TraceCheckUtils]: 160: Hoare triple {29136#false} assume 0 == ~cond; {29136#false} is VALID [2022-04-08 14:07:19,339 INFO L290 TraceCheckUtils]: 159: Hoare triple {29136#false} ~cond := #in~cond; {29136#false} is VALID [2022-04-08 14:07:19,339 INFO L272 TraceCheckUtils]: 158: Hoare triple {29136#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {29136#false} is VALID [2022-04-08 14:07:19,340 INFO L290 TraceCheckUtils]: 157: Hoare triple {29653#(< |main_#t~post6| 100)} assume !(#t~post6 < 100);havoc #t~post6; {29136#false} is VALID [2022-04-08 14:07:19,340 INFO L290 TraceCheckUtils]: 156: Hoare triple {29657#(< ~counter~0 100)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29653#(< |main_#t~post6| 100)} is VALID [2022-04-08 14:07:19,340 INFO L290 TraceCheckUtils]: 155: Hoare triple {29657#(< ~counter~0 100)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {29657#(< ~counter~0 100)} is VALID [2022-04-08 14:07:19,340 INFO L290 TraceCheckUtils]: 154: Hoare triple {29657#(< ~counter~0 100)} assume !!(0 != ~a~0 && 0 != ~b~0); {29657#(< ~counter~0 100)} is VALID [2022-04-08 14:07:19,341 INFO L284 TraceCheckUtils]: 153: Hoare quadruple {29135#true} {29657#(< ~counter~0 100)} #71#return; {29657#(< ~counter~0 100)} is VALID [2022-04-08 14:07:19,341 INFO L290 TraceCheckUtils]: 152: Hoare triple {29135#true} assume true; {29135#true} is VALID [2022-04-08 14:07:19,341 INFO L290 TraceCheckUtils]: 151: Hoare triple {29135#true} assume !(0 == ~cond); {29135#true} is VALID [2022-04-08 14:07:19,341 INFO L290 TraceCheckUtils]: 150: Hoare triple {29135#true} ~cond := #in~cond; {29135#true} is VALID [2022-04-08 14:07:19,341 INFO L272 TraceCheckUtils]: 149: Hoare triple {29657#(< ~counter~0 100)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {29135#true} is VALID [2022-04-08 14:07:19,342 INFO L290 TraceCheckUtils]: 148: Hoare triple {29657#(< ~counter~0 100)} assume !!(#t~post6 < 100);havoc #t~post6; {29657#(< ~counter~0 100)} is VALID [2022-04-08 14:07:19,342 INFO L290 TraceCheckUtils]: 147: Hoare triple {29685#(< ~counter~0 99)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29657#(< ~counter~0 100)} is VALID [2022-04-08 14:07:19,343 INFO L290 TraceCheckUtils]: 146: Hoare triple {29685#(< ~counter~0 99)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {29685#(< ~counter~0 99)} is VALID [2022-04-08 14:07:19,343 INFO L290 TraceCheckUtils]: 145: Hoare triple {29685#(< ~counter~0 99)} assume !!(0 != ~a~0 && 0 != ~b~0); {29685#(< ~counter~0 99)} is VALID [2022-04-08 14:07:19,343 INFO L284 TraceCheckUtils]: 144: Hoare quadruple {29135#true} {29685#(< ~counter~0 99)} #71#return; {29685#(< ~counter~0 99)} is VALID [2022-04-08 14:07:19,344 INFO L290 TraceCheckUtils]: 143: Hoare triple {29135#true} assume true; {29135#true} is VALID [2022-04-08 14:07:19,344 INFO L290 TraceCheckUtils]: 142: Hoare triple {29135#true} assume !(0 == ~cond); {29135#true} is VALID [2022-04-08 14:07:19,344 INFO L290 TraceCheckUtils]: 141: Hoare triple {29135#true} ~cond := #in~cond; {29135#true} is VALID [2022-04-08 14:07:19,344 INFO L272 TraceCheckUtils]: 140: Hoare triple {29685#(< ~counter~0 99)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {29135#true} is VALID [2022-04-08 14:07:19,344 INFO L290 TraceCheckUtils]: 139: Hoare triple {29685#(< ~counter~0 99)} assume !!(#t~post6 < 100);havoc #t~post6; {29685#(< ~counter~0 99)} is VALID [2022-04-08 14:07:19,345 INFO L290 TraceCheckUtils]: 138: Hoare triple {29713#(< ~counter~0 98)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29685#(< ~counter~0 99)} is VALID [2022-04-08 14:07:19,345 INFO L290 TraceCheckUtils]: 137: Hoare triple {29713#(< ~counter~0 98)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {29713#(< ~counter~0 98)} is VALID [2022-04-08 14:07:19,345 INFO L290 TraceCheckUtils]: 136: Hoare triple {29713#(< ~counter~0 98)} assume !!(0 != ~a~0 && 0 != ~b~0); {29713#(< ~counter~0 98)} is VALID [2022-04-08 14:07:19,346 INFO L284 TraceCheckUtils]: 135: Hoare quadruple {29135#true} {29713#(< ~counter~0 98)} #71#return; {29713#(< ~counter~0 98)} is VALID [2022-04-08 14:07:19,346 INFO L290 TraceCheckUtils]: 134: Hoare triple {29135#true} assume true; {29135#true} is VALID [2022-04-08 14:07:19,346 INFO L290 TraceCheckUtils]: 133: Hoare triple {29135#true} assume !(0 == ~cond); {29135#true} is VALID [2022-04-08 14:07:19,346 INFO L290 TraceCheckUtils]: 132: Hoare triple {29135#true} ~cond := #in~cond; {29135#true} is VALID [2022-04-08 14:07:19,346 INFO L272 TraceCheckUtils]: 131: Hoare triple {29713#(< ~counter~0 98)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {29135#true} is VALID [2022-04-08 14:07:19,346 INFO L290 TraceCheckUtils]: 130: Hoare triple {29713#(< ~counter~0 98)} assume !!(#t~post6 < 100);havoc #t~post6; {29713#(< ~counter~0 98)} is VALID [2022-04-08 14:07:19,347 INFO L290 TraceCheckUtils]: 129: Hoare triple {29741#(< ~counter~0 97)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29713#(< ~counter~0 98)} is VALID [2022-04-08 14:07:19,347 INFO L290 TraceCheckUtils]: 128: Hoare triple {29741#(< ~counter~0 97)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {29741#(< ~counter~0 97)} is VALID [2022-04-08 14:07:19,347 INFO L290 TraceCheckUtils]: 127: Hoare triple {29741#(< ~counter~0 97)} assume !!(0 != ~a~0 && 0 != ~b~0); {29741#(< ~counter~0 97)} is VALID [2022-04-08 14:07:19,348 INFO L284 TraceCheckUtils]: 126: Hoare quadruple {29135#true} {29741#(< ~counter~0 97)} #71#return; {29741#(< ~counter~0 97)} is VALID [2022-04-08 14:07:19,348 INFO L290 TraceCheckUtils]: 125: Hoare triple {29135#true} assume true; {29135#true} is VALID [2022-04-08 14:07:19,348 INFO L290 TraceCheckUtils]: 124: Hoare triple {29135#true} assume !(0 == ~cond); {29135#true} is VALID [2022-04-08 14:07:19,348 INFO L290 TraceCheckUtils]: 123: Hoare triple {29135#true} ~cond := #in~cond; {29135#true} is VALID [2022-04-08 14:07:19,348 INFO L272 TraceCheckUtils]: 122: Hoare triple {29741#(< ~counter~0 97)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {29135#true} is VALID [2022-04-08 14:07:19,348 INFO L290 TraceCheckUtils]: 121: Hoare triple {29741#(< ~counter~0 97)} assume !!(#t~post6 < 100);havoc #t~post6; {29741#(< ~counter~0 97)} is VALID [2022-04-08 14:07:19,349 INFO L290 TraceCheckUtils]: 120: Hoare triple {29769#(< ~counter~0 96)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29741#(< ~counter~0 97)} is VALID [2022-04-08 14:07:19,349 INFO L290 TraceCheckUtils]: 119: Hoare triple {29769#(< ~counter~0 96)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {29769#(< ~counter~0 96)} is VALID [2022-04-08 14:07:19,349 INFO L290 TraceCheckUtils]: 118: Hoare triple {29769#(< ~counter~0 96)} assume !!(0 != ~a~0 && 0 != ~b~0); {29769#(< ~counter~0 96)} is VALID [2022-04-08 14:07:19,350 INFO L284 TraceCheckUtils]: 117: Hoare quadruple {29135#true} {29769#(< ~counter~0 96)} #71#return; {29769#(< ~counter~0 96)} is VALID [2022-04-08 14:07:19,350 INFO L290 TraceCheckUtils]: 116: Hoare triple {29135#true} assume true; {29135#true} is VALID [2022-04-08 14:07:19,350 INFO L290 TraceCheckUtils]: 115: Hoare triple {29135#true} assume !(0 == ~cond); {29135#true} is VALID [2022-04-08 14:07:19,350 INFO L290 TraceCheckUtils]: 114: Hoare triple {29135#true} ~cond := #in~cond; {29135#true} is VALID [2022-04-08 14:07:19,350 INFO L272 TraceCheckUtils]: 113: Hoare triple {29769#(< ~counter~0 96)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {29135#true} is VALID [2022-04-08 14:07:19,351 INFO L290 TraceCheckUtils]: 112: Hoare triple {29769#(< ~counter~0 96)} assume !!(#t~post6 < 100);havoc #t~post6; {29769#(< ~counter~0 96)} is VALID [2022-04-08 14:07:19,351 INFO L290 TraceCheckUtils]: 111: Hoare triple {29797#(< ~counter~0 95)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29769#(< ~counter~0 96)} is VALID [2022-04-08 14:07:19,351 INFO L290 TraceCheckUtils]: 110: Hoare triple {29797#(< ~counter~0 95)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {29797#(< ~counter~0 95)} is VALID [2022-04-08 14:07:19,352 INFO L290 TraceCheckUtils]: 109: Hoare triple {29797#(< ~counter~0 95)} assume !!(0 != ~a~0 && 0 != ~b~0); {29797#(< ~counter~0 95)} is VALID [2022-04-08 14:07:19,352 INFO L284 TraceCheckUtils]: 108: Hoare quadruple {29135#true} {29797#(< ~counter~0 95)} #71#return; {29797#(< ~counter~0 95)} is VALID [2022-04-08 14:07:19,352 INFO L290 TraceCheckUtils]: 107: Hoare triple {29135#true} assume true; {29135#true} is VALID [2022-04-08 14:07:19,352 INFO L290 TraceCheckUtils]: 106: Hoare triple {29135#true} assume !(0 == ~cond); {29135#true} is VALID [2022-04-08 14:07:19,352 INFO L290 TraceCheckUtils]: 105: Hoare triple {29135#true} ~cond := #in~cond; {29135#true} is VALID [2022-04-08 14:07:19,352 INFO L272 TraceCheckUtils]: 104: Hoare triple {29797#(< ~counter~0 95)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {29135#true} is VALID [2022-04-08 14:07:19,353 INFO L290 TraceCheckUtils]: 103: Hoare triple {29797#(< ~counter~0 95)} assume !!(#t~post6 < 100);havoc #t~post6; {29797#(< ~counter~0 95)} is VALID [2022-04-08 14:07:19,353 INFO L290 TraceCheckUtils]: 102: Hoare triple {29825#(< ~counter~0 94)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29797#(< ~counter~0 95)} is VALID [2022-04-08 14:07:19,354 INFO L290 TraceCheckUtils]: 101: Hoare triple {29825#(< ~counter~0 94)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {29825#(< ~counter~0 94)} is VALID [2022-04-08 14:07:19,355 INFO L290 TraceCheckUtils]: 100: Hoare triple {29825#(< ~counter~0 94)} assume !!(0 != ~a~0 && 0 != ~b~0); {29825#(< ~counter~0 94)} is VALID [2022-04-08 14:07:19,355 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {29135#true} {29825#(< ~counter~0 94)} #71#return; {29825#(< ~counter~0 94)} is VALID [2022-04-08 14:07:19,355 INFO L290 TraceCheckUtils]: 98: Hoare triple {29135#true} assume true; {29135#true} is VALID [2022-04-08 14:07:19,355 INFO L290 TraceCheckUtils]: 97: Hoare triple {29135#true} assume !(0 == ~cond); {29135#true} is VALID [2022-04-08 14:07:19,356 INFO L290 TraceCheckUtils]: 96: Hoare triple {29135#true} ~cond := #in~cond; {29135#true} is VALID [2022-04-08 14:07:19,356 INFO L272 TraceCheckUtils]: 95: Hoare triple {29825#(< ~counter~0 94)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {29135#true} is VALID [2022-04-08 14:07:19,356 INFO L290 TraceCheckUtils]: 94: Hoare triple {29825#(< ~counter~0 94)} assume !!(#t~post6 < 100);havoc #t~post6; {29825#(< ~counter~0 94)} is VALID [2022-04-08 14:07:19,356 INFO L290 TraceCheckUtils]: 93: Hoare triple {29853#(< ~counter~0 93)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29825#(< ~counter~0 94)} is VALID [2022-04-08 14:07:19,357 INFO L290 TraceCheckUtils]: 92: Hoare triple {29853#(< ~counter~0 93)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {29853#(< ~counter~0 93)} is VALID [2022-04-08 14:07:19,357 INFO L290 TraceCheckUtils]: 91: Hoare triple {29853#(< ~counter~0 93)} assume !!(0 != ~a~0 && 0 != ~b~0); {29853#(< ~counter~0 93)} is VALID [2022-04-08 14:07:19,357 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {29135#true} {29853#(< ~counter~0 93)} #71#return; {29853#(< ~counter~0 93)} is VALID [2022-04-08 14:07:19,358 INFO L290 TraceCheckUtils]: 89: Hoare triple {29135#true} assume true; {29135#true} is VALID [2022-04-08 14:07:19,358 INFO L290 TraceCheckUtils]: 88: Hoare triple {29135#true} assume !(0 == ~cond); {29135#true} is VALID [2022-04-08 14:07:19,358 INFO L290 TraceCheckUtils]: 87: Hoare triple {29135#true} ~cond := #in~cond; {29135#true} is VALID [2022-04-08 14:07:19,358 INFO L272 TraceCheckUtils]: 86: Hoare triple {29853#(< ~counter~0 93)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {29135#true} is VALID [2022-04-08 14:07:19,358 INFO L290 TraceCheckUtils]: 85: Hoare triple {29853#(< ~counter~0 93)} assume !!(#t~post6 < 100);havoc #t~post6; {29853#(< ~counter~0 93)} is VALID [2022-04-08 14:07:19,359 INFO L290 TraceCheckUtils]: 84: Hoare triple {29881#(< ~counter~0 92)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29853#(< ~counter~0 93)} is VALID [2022-04-08 14:07:19,359 INFO L290 TraceCheckUtils]: 83: Hoare triple {29881#(< ~counter~0 92)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {29881#(< ~counter~0 92)} is VALID [2022-04-08 14:07:19,359 INFO L290 TraceCheckUtils]: 82: Hoare triple {29881#(< ~counter~0 92)} assume !!(0 != ~a~0 && 0 != ~b~0); {29881#(< ~counter~0 92)} is VALID [2022-04-08 14:07:19,360 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {29135#true} {29881#(< ~counter~0 92)} #71#return; {29881#(< ~counter~0 92)} is VALID [2022-04-08 14:07:19,360 INFO L290 TraceCheckUtils]: 80: Hoare triple {29135#true} assume true; {29135#true} is VALID [2022-04-08 14:07:19,360 INFO L290 TraceCheckUtils]: 79: Hoare triple {29135#true} assume !(0 == ~cond); {29135#true} is VALID [2022-04-08 14:07:19,360 INFO L290 TraceCheckUtils]: 78: Hoare triple {29135#true} ~cond := #in~cond; {29135#true} is VALID [2022-04-08 14:07:19,360 INFO L272 TraceCheckUtils]: 77: Hoare triple {29881#(< ~counter~0 92)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {29135#true} is VALID [2022-04-08 14:07:19,360 INFO L290 TraceCheckUtils]: 76: Hoare triple {29881#(< ~counter~0 92)} assume !!(#t~post6 < 100);havoc #t~post6; {29881#(< ~counter~0 92)} is VALID [2022-04-08 14:07:19,361 INFO L290 TraceCheckUtils]: 75: Hoare triple {29909#(< ~counter~0 91)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29881#(< ~counter~0 92)} is VALID [2022-04-08 14:07:19,361 INFO L290 TraceCheckUtils]: 74: Hoare triple {29909#(< ~counter~0 91)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {29909#(< ~counter~0 91)} is VALID [2022-04-08 14:07:19,361 INFO L290 TraceCheckUtils]: 73: Hoare triple {29909#(< ~counter~0 91)} assume !!(0 != ~a~0 && 0 != ~b~0); {29909#(< ~counter~0 91)} is VALID [2022-04-08 14:07:19,362 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {29135#true} {29909#(< ~counter~0 91)} #71#return; {29909#(< ~counter~0 91)} is VALID [2022-04-08 14:07:19,362 INFO L290 TraceCheckUtils]: 71: Hoare triple {29135#true} assume true; {29135#true} is VALID [2022-04-08 14:07:19,362 INFO L290 TraceCheckUtils]: 70: Hoare triple {29135#true} assume !(0 == ~cond); {29135#true} is VALID [2022-04-08 14:07:19,362 INFO L290 TraceCheckUtils]: 69: Hoare triple {29135#true} ~cond := #in~cond; {29135#true} is VALID [2022-04-08 14:07:19,362 INFO L272 TraceCheckUtils]: 68: Hoare triple {29909#(< ~counter~0 91)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {29135#true} is VALID [2022-04-08 14:07:19,362 INFO L290 TraceCheckUtils]: 67: Hoare triple {29909#(< ~counter~0 91)} assume !!(#t~post6 < 100);havoc #t~post6; {29909#(< ~counter~0 91)} is VALID [2022-04-08 14:07:19,363 INFO L290 TraceCheckUtils]: 66: Hoare triple {29937#(< ~counter~0 90)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29909#(< ~counter~0 91)} is VALID [2022-04-08 14:07:19,363 INFO L290 TraceCheckUtils]: 65: Hoare triple {29937#(< ~counter~0 90)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {29937#(< ~counter~0 90)} is VALID [2022-04-08 14:07:19,363 INFO L290 TraceCheckUtils]: 64: Hoare triple {29937#(< ~counter~0 90)} assume !!(0 != ~a~0 && 0 != ~b~0); {29937#(< ~counter~0 90)} is VALID [2022-04-08 14:07:19,364 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {29135#true} {29937#(< ~counter~0 90)} #71#return; {29937#(< ~counter~0 90)} is VALID [2022-04-08 14:07:19,364 INFO L290 TraceCheckUtils]: 62: Hoare triple {29135#true} assume true; {29135#true} is VALID [2022-04-08 14:07:19,364 INFO L290 TraceCheckUtils]: 61: Hoare triple {29135#true} assume !(0 == ~cond); {29135#true} is VALID [2022-04-08 14:07:19,364 INFO L290 TraceCheckUtils]: 60: Hoare triple {29135#true} ~cond := #in~cond; {29135#true} is VALID [2022-04-08 14:07:19,364 INFO L272 TraceCheckUtils]: 59: Hoare triple {29937#(< ~counter~0 90)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {29135#true} is VALID [2022-04-08 14:07:19,364 INFO L290 TraceCheckUtils]: 58: Hoare triple {29937#(< ~counter~0 90)} assume !!(#t~post6 < 100);havoc #t~post6; {29937#(< ~counter~0 90)} is VALID [2022-04-08 14:07:19,365 INFO L290 TraceCheckUtils]: 57: Hoare triple {29965#(< ~counter~0 89)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29937#(< ~counter~0 90)} is VALID [2022-04-08 14:07:19,365 INFO L290 TraceCheckUtils]: 56: Hoare triple {29965#(< ~counter~0 89)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {29965#(< ~counter~0 89)} is VALID [2022-04-08 14:07:19,366 INFO L290 TraceCheckUtils]: 55: Hoare triple {29965#(< ~counter~0 89)} assume !!(0 != ~a~0 && 0 != ~b~0); {29965#(< ~counter~0 89)} is VALID [2022-04-08 14:07:19,366 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {29135#true} {29965#(< ~counter~0 89)} #71#return; {29965#(< ~counter~0 89)} is VALID [2022-04-08 14:07:19,366 INFO L290 TraceCheckUtils]: 53: Hoare triple {29135#true} assume true; {29135#true} is VALID [2022-04-08 14:07:19,366 INFO L290 TraceCheckUtils]: 52: Hoare triple {29135#true} assume !(0 == ~cond); {29135#true} is VALID [2022-04-08 14:07:19,366 INFO L290 TraceCheckUtils]: 51: Hoare triple {29135#true} ~cond := #in~cond; {29135#true} is VALID [2022-04-08 14:07:19,366 INFO L272 TraceCheckUtils]: 50: Hoare triple {29965#(< ~counter~0 89)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {29135#true} is VALID [2022-04-08 14:07:19,367 INFO L290 TraceCheckUtils]: 49: Hoare triple {29965#(< ~counter~0 89)} assume !!(#t~post6 < 100);havoc #t~post6; {29965#(< ~counter~0 89)} is VALID [2022-04-08 14:07:19,367 INFO L290 TraceCheckUtils]: 48: Hoare triple {29993#(< ~counter~0 88)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29965#(< ~counter~0 89)} is VALID [2022-04-08 14:07:19,367 INFO L290 TraceCheckUtils]: 47: Hoare triple {29993#(< ~counter~0 88)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {29993#(< ~counter~0 88)} is VALID [2022-04-08 14:07:19,368 INFO L290 TraceCheckUtils]: 46: Hoare triple {29993#(< ~counter~0 88)} assume !!(0 != ~a~0 && 0 != ~b~0); {29993#(< ~counter~0 88)} is VALID [2022-04-08 14:07:19,368 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {29135#true} {29993#(< ~counter~0 88)} #71#return; {29993#(< ~counter~0 88)} is VALID [2022-04-08 14:07:19,368 INFO L290 TraceCheckUtils]: 44: Hoare triple {29135#true} assume true; {29135#true} is VALID [2022-04-08 14:07:19,368 INFO L290 TraceCheckUtils]: 43: Hoare triple {29135#true} assume !(0 == ~cond); {29135#true} is VALID [2022-04-08 14:07:19,368 INFO L290 TraceCheckUtils]: 42: Hoare triple {29135#true} ~cond := #in~cond; {29135#true} is VALID [2022-04-08 14:07:19,369 INFO L272 TraceCheckUtils]: 41: Hoare triple {29993#(< ~counter~0 88)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {29135#true} is VALID [2022-04-08 14:07:19,369 INFO L290 TraceCheckUtils]: 40: Hoare triple {29993#(< ~counter~0 88)} assume !!(#t~post6 < 100);havoc #t~post6; {29993#(< ~counter~0 88)} is VALID [2022-04-08 14:07:19,369 INFO L290 TraceCheckUtils]: 39: Hoare triple {30021#(< ~counter~0 87)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29993#(< ~counter~0 88)} is VALID [2022-04-08 14:07:19,370 INFO L290 TraceCheckUtils]: 38: Hoare triple {30021#(< ~counter~0 87)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {30021#(< ~counter~0 87)} is VALID [2022-04-08 14:07:19,370 INFO L290 TraceCheckUtils]: 37: Hoare triple {30021#(< ~counter~0 87)} assume !!(0 != ~a~0 && 0 != ~b~0); {30021#(< ~counter~0 87)} is VALID [2022-04-08 14:07:19,370 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {29135#true} {30021#(< ~counter~0 87)} #71#return; {30021#(< ~counter~0 87)} is VALID [2022-04-08 14:07:19,370 INFO L290 TraceCheckUtils]: 35: Hoare triple {29135#true} assume true; {29135#true} is VALID [2022-04-08 14:07:19,371 INFO L290 TraceCheckUtils]: 34: Hoare triple {29135#true} assume !(0 == ~cond); {29135#true} is VALID [2022-04-08 14:07:19,371 INFO L290 TraceCheckUtils]: 33: Hoare triple {29135#true} ~cond := #in~cond; {29135#true} is VALID [2022-04-08 14:07:19,371 INFO L272 TraceCheckUtils]: 32: Hoare triple {30021#(< ~counter~0 87)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {29135#true} is VALID [2022-04-08 14:07:19,371 INFO L290 TraceCheckUtils]: 31: Hoare triple {30021#(< ~counter~0 87)} assume !!(#t~post6 < 100);havoc #t~post6; {30021#(< ~counter~0 87)} is VALID [2022-04-08 14:07:19,371 INFO L290 TraceCheckUtils]: 30: Hoare triple {30049#(< ~counter~0 86)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {30021#(< ~counter~0 87)} is VALID [2022-04-08 14:07:19,372 INFO L290 TraceCheckUtils]: 29: Hoare triple {30049#(< ~counter~0 86)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {30049#(< ~counter~0 86)} is VALID [2022-04-08 14:07:19,372 INFO L290 TraceCheckUtils]: 28: Hoare triple {30049#(< ~counter~0 86)} assume !!(0 != ~a~0 && 0 != ~b~0); {30049#(< ~counter~0 86)} is VALID [2022-04-08 14:07:19,373 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {29135#true} {30049#(< ~counter~0 86)} #71#return; {30049#(< ~counter~0 86)} is VALID [2022-04-08 14:07:19,373 INFO L290 TraceCheckUtils]: 26: Hoare triple {29135#true} assume true; {29135#true} is VALID [2022-04-08 14:07:19,373 INFO L290 TraceCheckUtils]: 25: Hoare triple {29135#true} assume !(0 == ~cond); {29135#true} is VALID [2022-04-08 14:07:19,373 INFO L290 TraceCheckUtils]: 24: Hoare triple {29135#true} ~cond := #in~cond; {29135#true} is VALID [2022-04-08 14:07:19,373 INFO L272 TraceCheckUtils]: 23: Hoare triple {30049#(< ~counter~0 86)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {29135#true} is VALID [2022-04-08 14:07:19,373 INFO L290 TraceCheckUtils]: 22: Hoare triple {30049#(< ~counter~0 86)} assume !!(#t~post6 < 100);havoc #t~post6; {30049#(< ~counter~0 86)} is VALID [2022-04-08 14:07:19,374 INFO L290 TraceCheckUtils]: 21: Hoare triple {30077#(< ~counter~0 85)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {30049#(< ~counter~0 86)} is VALID [2022-04-08 14:07:19,374 INFO L290 TraceCheckUtils]: 20: Hoare triple {30077#(< ~counter~0 85)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {30077#(< ~counter~0 85)} is VALID [2022-04-08 14:07:19,374 INFO L290 TraceCheckUtils]: 19: Hoare triple {30077#(< ~counter~0 85)} assume !!(0 != ~a~0 && 0 != ~b~0); {30077#(< ~counter~0 85)} is VALID [2022-04-08 14:07:19,375 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {29135#true} {30077#(< ~counter~0 85)} #71#return; {30077#(< ~counter~0 85)} is VALID [2022-04-08 14:07:19,375 INFO L290 TraceCheckUtils]: 17: Hoare triple {29135#true} assume true; {29135#true} is VALID [2022-04-08 14:07:19,375 INFO L290 TraceCheckUtils]: 16: Hoare triple {29135#true} assume !(0 == ~cond); {29135#true} is VALID [2022-04-08 14:07:19,375 INFO L290 TraceCheckUtils]: 15: Hoare triple {29135#true} ~cond := #in~cond; {29135#true} is VALID [2022-04-08 14:07:19,375 INFO L272 TraceCheckUtils]: 14: Hoare triple {30077#(< ~counter~0 85)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {29135#true} is VALID [2022-04-08 14:07:19,375 INFO L290 TraceCheckUtils]: 13: Hoare triple {30077#(< ~counter~0 85)} assume !!(#t~post6 < 100);havoc #t~post6; {30077#(< ~counter~0 85)} is VALID [2022-04-08 14:07:19,376 INFO L290 TraceCheckUtils]: 12: Hoare triple {30105#(< ~counter~0 84)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {30077#(< ~counter~0 85)} is VALID [2022-04-08 14:07:19,376 INFO L290 TraceCheckUtils]: 11: Hoare triple {30105#(< ~counter~0 84)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {30105#(< ~counter~0 84)} is VALID [2022-04-08 14:07:19,376 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {29135#true} {30105#(< ~counter~0 84)} #69#return; {30105#(< ~counter~0 84)} is VALID [2022-04-08 14:07:19,376 INFO L290 TraceCheckUtils]: 9: Hoare triple {29135#true} assume true; {29135#true} is VALID [2022-04-08 14:07:19,377 INFO L290 TraceCheckUtils]: 8: Hoare triple {29135#true} assume !(0 == ~cond); {29135#true} is VALID [2022-04-08 14:07:19,377 INFO L290 TraceCheckUtils]: 7: Hoare triple {29135#true} ~cond := #in~cond; {29135#true} is VALID [2022-04-08 14:07:19,377 INFO L272 TraceCheckUtils]: 6: Hoare triple {30105#(< ~counter~0 84)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {29135#true} is VALID [2022-04-08 14:07:19,377 INFO L290 TraceCheckUtils]: 5: Hoare triple {30105#(< ~counter~0 84)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {30105#(< ~counter~0 84)} is VALID [2022-04-08 14:07:19,377 INFO L272 TraceCheckUtils]: 4: Hoare triple {30105#(< ~counter~0 84)} call #t~ret7 := main(); {30105#(< ~counter~0 84)} is VALID [2022-04-08 14:07:19,378 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {30105#(< ~counter~0 84)} {29135#true} #77#return; {30105#(< ~counter~0 84)} is VALID [2022-04-08 14:07:19,378 INFO L290 TraceCheckUtils]: 2: Hoare triple {30105#(< ~counter~0 84)} assume true; {30105#(< ~counter~0 84)} is VALID [2022-04-08 14:07:19,378 INFO L290 TraceCheckUtils]: 1: Hoare triple {29135#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {30105#(< ~counter~0 84)} is VALID [2022-04-08 14:07:19,378 INFO L272 TraceCheckUtils]: 0: Hoare triple {29135#true} call ULTIMATE.init(); {29135#true} is VALID [2022-04-08 14:07:19,379 INFO L134 CoverageAnalysis]: Checked inductivity of 1144 backedges. 32 proven. 632 refuted. 0 times theorem prover too weak. 480 trivial. 0 not checked. [2022-04-08 14:07:19,379 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 14:07:19,379 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [998536101] [2022-04-08 14:07:19,379 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 14:07:19,379 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1824694747] [2022-04-08 14:07:19,379 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1824694747] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 14:07:19,379 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 14:07:19,379 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [20, 20] total 38 [2022-04-08 14:07:19,380 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 14:07:19,380 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [19083179] [2022-04-08 14:07:19,380 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [19083179] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 14:07:19,380 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 14:07:19,380 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [20] imperfect sequences [] total 20 [2022-04-08 14:07:19,380 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [843076141] [2022-04-08 14:07:19,380 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 14:07:19,381 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 20 states have (on average 6.2) internal successors, (124), 19 states have internal predecessors, (124), 19 states have call successors, (20), 19 states have call predecessors, (20), 17 states have return successors, (18), 17 states have call predecessors, (18), 18 states have call successors, (18) Word has length 162 [2022-04-08 14:07:19,381 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 14:07:19,381 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 20 states, 20 states have (on average 6.2) internal successors, (124), 19 states have internal predecessors, (124), 19 states have call successors, (20), 19 states have call predecessors, (20), 17 states have return successors, (18), 17 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-08 14:07:19,475 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 162 edges. 162 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:07:19,475 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 20 states [2022-04-08 14:07:19,475 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 14:07:19,477 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2022-04-08 14:07:19,477 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=635, Invalid=771, Unknown=0, NotChecked=0, Total=1406 [2022-04-08 14:07:19,477 INFO L87 Difference]: Start difference. First operand 208 states and 258 transitions. Second operand has 20 states, 20 states have (on average 6.2) internal successors, (124), 19 states have internal predecessors, (124), 19 states have call successors, (20), 19 states have call predecessors, (20), 17 states have return successors, (18), 17 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-08 14:07:20,203 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:07:20,203 INFO L93 Difference]: Finished difference Result 227 states and 281 transitions. [2022-04-08 14:07:20,203 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 36 states. [2022-04-08 14:07:20,203 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 20 states have (on average 6.2) internal successors, (124), 19 states have internal predecessors, (124), 19 states have call successors, (20), 19 states have call predecessors, (20), 17 states have return successors, (18), 17 states have call predecessors, (18), 18 states have call successors, (18) Word has length 162 [2022-04-08 14:07:20,203 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 14:07:20,203 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 20 states have (on average 6.2) internal successors, (124), 19 states have internal predecessors, (124), 19 states have call successors, (20), 19 states have call predecessors, (20), 17 states have return successors, (18), 17 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-08 14:07:20,206 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 267 transitions. [2022-04-08 14:07:20,206 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 20 states have (on average 6.2) internal successors, (124), 19 states have internal predecessors, (124), 19 states have call successors, (20), 19 states have call predecessors, (20), 17 states have return successors, (18), 17 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-08 14:07:20,209 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 267 transitions. [2022-04-08 14:07:20,209 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 36 states and 267 transitions. [2022-04-08 14:07:20,450 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 267 edges. 267 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:07:20,453 INFO L225 Difference]: With dead ends: 227 [2022-04-08 14:07:20,453 INFO L226 Difference]: Without dead ends: 219 [2022-04-08 14:07:20,454 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 339 GetRequests, 287 SyntacticMatches, 0 SemanticMatches, 52 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 169 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=1227, Invalid=1635, Unknown=0, NotChecked=0, Total=2862 [2022-04-08 14:07:20,455 INFO L913 BasicCegarLoop]: 46 mSDtfsCounter, 252 mSDsluCounter, 232 mSDsCounter, 0 mSdLazyCounter, 101 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 252 SdHoareTripleChecker+Valid, 278 SdHoareTripleChecker+Invalid, 111 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 101 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 14:07:20,455 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [252 Valid, 278 Invalid, 111 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 101 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 14:07:20,455 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 219 states. [2022-04-08 14:07:20,767 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 219 to 219. [2022-04-08 14:07:20,767 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 14:07:20,768 INFO L82 GeneralOperation]: Start isEquivalent. First operand 219 states. Second operand has 219 states, 174 states have (on average 1.3103448275862069) internal successors, (228), 175 states have internal predecessors, (228), 23 states have call successors, (23), 22 states have call predecessors, (23), 21 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-08 14:07:20,768 INFO L74 IsIncluded]: Start isIncluded. First operand 219 states. Second operand has 219 states, 174 states have (on average 1.3103448275862069) internal successors, (228), 175 states have internal predecessors, (228), 23 states have call successors, (23), 22 states have call predecessors, (23), 21 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-08 14:07:20,768 INFO L87 Difference]: Start difference. First operand 219 states. Second operand has 219 states, 174 states have (on average 1.3103448275862069) internal successors, (228), 175 states have internal predecessors, (228), 23 states have call successors, (23), 22 states have call predecessors, (23), 21 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-08 14:07:20,771 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:07:20,771 INFO L93 Difference]: Finished difference Result 219 states and 272 transitions. [2022-04-08 14:07:20,771 INFO L276 IsEmpty]: Start isEmpty. Operand 219 states and 272 transitions. [2022-04-08 14:07:20,771 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:07:20,771 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:07:20,771 INFO L74 IsIncluded]: Start isIncluded. First operand has 219 states, 174 states have (on average 1.3103448275862069) internal successors, (228), 175 states have internal predecessors, (228), 23 states have call successors, (23), 22 states have call predecessors, (23), 21 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) Second operand 219 states. [2022-04-08 14:07:20,771 INFO L87 Difference]: Start difference. First operand has 219 states, 174 states have (on average 1.3103448275862069) internal successors, (228), 175 states have internal predecessors, (228), 23 states have call successors, (23), 22 states have call predecessors, (23), 21 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) Second operand 219 states. [2022-04-08 14:07:20,774 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:07:20,774 INFO L93 Difference]: Finished difference Result 219 states and 272 transitions. [2022-04-08 14:07:20,774 INFO L276 IsEmpty]: Start isEmpty. Operand 219 states and 272 transitions. [2022-04-08 14:07:20,774 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:07:20,774 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:07:20,774 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 14:07:20,774 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 14:07:20,774 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 219 states, 174 states have (on average 1.3103448275862069) internal successors, (228), 175 states have internal predecessors, (228), 23 states have call successors, (23), 22 states have call predecessors, (23), 21 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-08 14:07:20,777 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 219 states to 219 states and 272 transitions. [2022-04-08 14:07:20,777 INFO L78 Accepts]: Start accepts. Automaton has 219 states and 272 transitions. Word has length 162 [2022-04-08 14:07:20,777 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 14:07:20,777 INFO L478 AbstractCegarLoop]: Abstraction has 219 states and 272 transitions. [2022-04-08 14:07:20,778 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 20 states, 20 states have (on average 6.2) internal successors, (124), 19 states have internal predecessors, (124), 19 states have call successors, (20), 19 states have call predecessors, (20), 17 states have return successors, (18), 17 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-08 14:07:20,778 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 219 states and 272 transitions. [2022-04-08 14:07:55,491 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 272 edges. 256 inductive. 0 not inductive. 16 times theorem prover too weak to decide inductivity. [2022-04-08 14:07:55,492 INFO L276 IsEmpty]: Start isEmpty. Operand 219 states and 272 transitions. [2022-04-08 14:07:55,492 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 172 [2022-04-08 14:07:55,492 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 14:07:55,492 INFO L499 BasicCegarLoop]: trace histogram [18, 18, 17, 17, 17, 17, 17, 17, 17, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 14:07:55,509 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (30)] Forceful destruction successful, exit code 0 [2022-04-08 14:07:55,693 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable29,30 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 14:07:55,693 INFO L403 AbstractCegarLoop]: === Iteration 31 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 14:07:55,693 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 14:07:55,693 INFO L85 PathProgramCache]: Analyzing trace with hash 1155770690, now seen corresponding path program 33 times [2022-04-08 14:07:55,693 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 14:07:55,693 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [722795693] [2022-04-08 14:08:01,741 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 14:08:01,742 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 14:08:01,742 INFO L85 PathProgramCache]: Analyzing trace with hash 1155770690, now seen corresponding path program 34 times [2022-04-08 14:08:01,742 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 14:08:01,742 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1636243682] [2022-04-08 14:08:01,742 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 14:08:01,742 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 14:08:01,763 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 14:08:01,763 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1998806640] [2022-04-08 14:08:01,763 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 14:08:01,763 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 14:08:01,763 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 14:08:01,764 INFO L229 MonitoredProcess]: Starting monitored process 31 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 14:08:01,765 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (31)] Waiting until timeout for monitored process [2022-04-08 14:08:01,901 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 14:08:01,901 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 14:08:01,903 INFO L263 TraceCheckSpWp]: Trace formula consists of 528 conjuncts, 39 conjunts are in the unsatisfiable core [2022-04-08 14:08:01,928 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 14:08:01,934 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 14:08:02,665 INFO L272 TraceCheckUtils]: 0: Hoare triple {31506#true} call ULTIMATE.init(); {31506#true} is VALID [2022-04-08 14:08:02,666 INFO L290 TraceCheckUtils]: 1: Hoare triple {31506#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {31514#(<= ~counter~0 0)} is VALID [2022-04-08 14:08:02,666 INFO L290 TraceCheckUtils]: 2: Hoare triple {31514#(<= ~counter~0 0)} assume true; {31514#(<= ~counter~0 0)} is VALID [2022-04-08 14:08:02,667 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {31514#(<= ~counter~0 0)} {31506#true} #77#return; {31514#(<= ~counter~0 0)} is VALID [2022-04-08 14:08:02,667 INFO L272 TraceCheckUtils]: 4: Hoare triple {31514#(<= ~counter~0 0)} call #t~ret7 := main(); {31514#(<= ~counter~0 0)} is VALID [2022-04-08 14:08:02,667 INFO L290 TraceCheckUtils]: 5: Hoare triple {31514#(<= ~counter~0 0)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {31514#(<= ~counter~0 0)} is VALID [2022-04-08 14:08:02,668 INFO L272 TraceCheckUtils]: 6: Hoare triple {31514#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {31514#(<= ~counter~0 0)} is VALID [2022-04-08 14:08:02,668 INFO L290 TraceCheckUtils]: 7: Hoare triple {31514#(<= ~counter~0 0)} ~cond := #in~cond; {31514#(<= ~counter~0 0)} is VALID [2022-04-08 14:08:02,668 INFO L290 TraceCheckUtils]: 8: Hoare triple {31514#(<= ~counter~0 0)} assume !(0 == ~cond); {31514#(<= ~counter~0 0)} is VALID [2022-04-08 14:08:02,668 INFO L290 TraceCheckUtils]: 9: Hoare triple {31514#(<= ~counter~0 0)} assume true; {31514#(<= ~counter~0 0)} is VALID [2022-04-08 14:08:02,668 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {31514#(<= ~counter~0 0)} {31514#(<= ~counter~0 0)} #69#return; {31514#(<= ~counter~0 0)} is VALID [2022-04-08 14:08:02,669 INFO L290 TraceCheckUtils]: 11: Hoare triple {31514#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {31514#(<= ~counter~0 0)} is VALID [2022-04-08 14:08:02,669 INFO L290 TraceCheckUtils]: 12: Hoare triple {31514#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {31548#(<= ~counter~0 1)} is VALID [2022-04-08 14:08:02,669 INFO L290 TraceCheckUtils]: 13: Hoare triple {31548#(<= ~counter~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {31548#(<= ~counter~0 1)} is VALID [2022-04-08 14:08:02,670 INFO L272 TraceCheckUtils]: 14: Hoare triple {31548#(<= ~counter~0 1)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {31548#(<= ~counter~0 1)} is VALID [2022-04-08 14:08:02,670 INFO L290 TraceCheckUtils]: 15: Hoare triple {31548#(<= ~counter~0 1)} ~cond := #in~cond; {31548#(<= ~counter~0 1)} is VALID [2022-04-08 14:08:02,670 INFO L290 TraceCheckUtils]: 16: Hoare triple {31548#(<= ~counter~0 1)} assume !(0 == ~cond); {31548#(<= ~counter~0 1)} is VALID [2022-04-08 14:08:02,670 INFO L290 TraceCheckUtils]: 17: Hoare triple {31548#(<= ~counter~0 1)} assume true; {31548#(<= ~counter~0 1)} is VALID [2022-04-08 14:08:02,671 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {31548#(<= ~counter~0 1)} {31548#(<= ~counter~0 1)} #71#return; {31548#(<= ~counter~0 1)} is VALID [2022-04-08 14:08:02,671 INFO L290 TraceCheckUtils]: 19: Hoare triple {31548#(<= ~counter~0 1)} assume !!(0 != ~a~0 && 0 != ~b~0); {31548#(<= ~counter~0 1)} is VALID [2022-04-08 14:08:02,671 INFO L290 TraceCheckUtils]: 20: Hoare triple {31548#(<= ~counter~0 1)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {31548#(<= ~counter~0 1)} is VALID [2022-04-08 14:08:02,671 INFO L290 TraceCheckUtils]: 21: Hoare triple {31548#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {31576#(<= ~counter~0 2)} is VALID [2022-04-08 14:08:02,672 INFO L290 TraceCheckUtils]: 22: Hoare triple {31576#(<= ~counter~0 2)} assume !!(#t~post6 < 100);havoc #t~post6; {31576#(<= ~counter~0 2)} is VALID [2022-04-08 14:08:02,672 INFO L272 TraceCheckUtils]: 23: Hoare triple {31576#(<= ~counter~0 2)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {31576#(<= ~counter~0 2)} is VALID [2022-04-08 14:08:02,672 INFO L290 TraceCheckUtils]: 24: Hoare triple {31576#(<= ~counter~0 2)} ~cond := #in~cond; {31576#(<= ~counter~0 2)} is VALID [2022-04-08 14:08:02,672 INFO L290 TraceCheckUtils]: 25: Hoare triple {31576#(<= ~counter~0 2)} assume !(0 == ~cond); {31576#(<= ~counter~0 2)} is VALID [2022-04-08 14:08:02,673 INFO L290 TraceCheckUtils]: 26: Hoare triple {31576#(<= ~counter~0 2)} assume true; {31576#(<= ~counter~0 2)} is VALID [2022-04-08 14:08:02,673 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {31576#(<= ~counter~0 2)} {31576#(<= ~counter~0 2)} #71#return; {31576#(<= ~counter~0 2)} is VALID [2022-04-08 14:08:02,673 INFO L290 TraceCheckUtils]: 28: Hoare triple {31576#(<= ~counter~0 2)} assume !!(0 != ~a~0 && 0 != ~b~0); {31576#(<= ~counter~0 2)} is VALID [2022-04-08 14:08:02,673 INFO L290 TraceCheckUtils]: 29: Hoare triple {31576#(<= ~counter~0 2)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {31576#(<= ~counter~0 2)} is VALID [2022-04-08 14:08:02,674 INFO L290 TraceCheckUtils]: 30: Hoare triple {31576#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {31604#(<= ~counter~0 3)} is VALID [2022-04-08 14:08:02,674 INFO L290 TraceCheckUtils]: 31: Hoare triple {31604#(<= ~counter~0 3)} assume !!(#t~post6 < 100);havoc #t~post6; {31604#(<= ~counter~0 3)} is VALID [2022-04-08 14:08:02,674 INFO L272 TraceCheckUtils]: 32: Hoare triple {31604#(<= ~counter~0 3)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {31604#(<= ~counter~0 3)} is VALID [2022-04-08 14:08:02,674 INFO L290 TraceCheckUtils]: 33: Hoare triple {31604#(<= ~counter~0 3)} ~cond := #in~cond; {31604#(<= ~counter~0 3)} is VALID [2022-04-08 14:08:02,674 INFO L290 TraceCheckUtils]: 34: Hoare triple {31604#(<= ~counter~0 3)} assume !(0 == ~cond); {31604#(<= ~counter~0 3)} is VALID [2022-04-08 14:08:02,675 INFO L290 TraceCheckUtils]: 35: Hoare triple {31604#(<= ~counter~0 3)} assume true; {31604#(<= ~counter~0 3)} is VALID [2022-04-08 14:08:02,675 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {31604#(<= ~counter~0 3)} {31604#(<= ~counter~0 3)} #71#return; {31604#(<= ~counter~0 3)} is VALID [2022-04-08 14:08:02,675 INFO L290 TraceCheckUtils]: 37: Hoare triple {31604#(<= ~counter~0 3)} assume !!(0 != ~a~0 && 0 != ~b~0); {31604#(<= ~counter~0 3)} is VALID [2022-04-08 14:08:02,675 INFO L290 TraceCheckUtils]: 38: Hoare triple {31604#(<= ~counter~0 3)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {31604#(<= ~counter~0 3)} is VALID [2022-04-08 14:08:02,676 INFO L290 TraceCheckUtils]: 39: Hoare triple {31604#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {31632#(<= ~counter~0 4)} is VALID [2022-04-08 14:08:02,676 INFO L290 TraceCheckUtils]: 40: Hoare triple {31632#(<= ~counter~0 4)} assume !!(#t~post6 < 100);havoc #t~post6; {31632#(<= ~counter~0 4)} is VALID [2022-04-08 14:08:02,676 INFO L272 TraceCheckUtils]: 41: Hoare triple {31632#(<= ~counter~0 4)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {31632#(<= ~counter~0 4)} is VALID [2022-04-08 14:08:02,676 INFO L290 TraceCheckUtils]: 42: Hoare triple {31632#(<= ~counter~0 4)} ~cond := #in~cond; {31632#(<= ~counter~0 4)} is VALID [2022-04-08 14:08:02,677 INFO L290 TraceCheckUtils]: 43: Hoare triple {31632#(<= ~counter~0 4)} assume !(0 == ~cond); {31632#(<= ~counter~0 4)} is VALID [2022-04-08 14:08:02,677 INFO L290 TraceCheckUtils]: 44: Hoare triple {31632#(<= ~counter~0 4)} assume true; {31632#(<= ~counter~0 4)} is VALID [2022-04-08 14:08:02,677 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {31632#(<= ~counter~0 4)} {31632#(<= ~counter~0 4)} #71#return; {31632#(<= ~counter~0 4)} is VALID [2022-04-08 14:08:02,677 INFO L290 TraceCheckUtils]: 46: Hoare triple {31632#(<= ~counter~0 4)} assume !!(0 != ~a~0 && 0 != ~b~0); {31632#(<= ~counter~0 4)} is VALID [2022-04-08 14:08:02,678 INFO L290 TraceCheckUtils]: 47: Hoare triple {31632#(<= ~counter~0 4)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {31632#(<= ~counter~0 4)} is VALID [2022-04-08 14:08:02,678 INFO L290 TraceCheckUtils]: 48: Hoare triple {31632#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {31660#(<= ~counter~0 5)} is VALID [2022-04-08 14:08:02,678 INFO L290 TraceCheckUtils]: 49: Hoare triple {31660#(<= ~counter~0 5)} assume !!(#t~post6 < 100);havoc #t~post6; {31660#(<= ~counter~0 5)} is VALID [2022-04-08 14:08:02,678 INFO L272 TraceCheckUtils]: 50: Hoare triple {31660#(<= ~counter~0 5)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {31660#(<= ~counter~0 5)} is VALID [2022-04-08 14:08:02,679 INFO L290 TraceCheckUtils]: 51: Hoare triple {31660#(<= ~counter~0 5)} ~cond := #in~cond; {31660#(<= ~counter~0 5)} is VALID [2022-04-08 14:08:02,679 INFO L290 TraceCheckUtils]: 52: Hoare triple {31660#(<= ~counter~0 5)} assume !(0 == ~cond); {31660#(<= ~counter~0 5)} is VALID [2022-04-08 14:08:02,679 INFO L290 TraceCheckUtils]: 53: Hoare triple {31660#(<= ~counter~0 5)} assume true; {31660#(<= ~counter~0 5)} is VALID [2022-04-08 14:08:02,679 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {31660#(<= ~counter~0 5)} {31660#(<= ~counter~0 5)} #71#return; {31660#(<= ~counter~0 5)} is VALID [2022-04-08 14:08:02,679 INFO L290 TraceCheckUtils]: 55: Hoare triple {31660#(<= ~counter~0 5)} assume !!(0 != ~a~0 && 0 != ~b~0); {31660#(<= ~counter~0 5)} is VALID [2022-04-08 14:08:02,680 INFO L290 TraceCheckUtils]: 56: Hoare triple {31660#(<= ~counter~0 5)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {31660#(<= ~counter~0 5)} is VALID [2022-04-08 14:08:02,680 INFO L290 TraceCheckUtils]: 57: Hoare triple {31660#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {31688#(<= ~counter~0 6)} is VALID [2022-04-08 14:08:02,680 INFO L290 TraceCheckUtils]: 58: Hoare triple {31688#(<= ~counter~0 6)} assume !!(#t~post6 < 100);havoc #t~post6; {31688#(<= ~counter~0 6)} is VALID [2022-04-08 14:08:02,681 INFO L272 TraceCheckUtils]: 59: Hoare triple {31688#(<= ~counter~0 6)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {31688#(<= ~counter~0 6)} is VALID [2022-04-08 14:08:02,681 INFO L290 TraceCheckUtils]: 60: Hoare triple {31688#(<= ~counter~0 6)} ~cond := #in~cond; {31688#(<= ~counter~0 6)} is VALID [2022-04-08 14:08:02,681 INFO L290 TraceCheckUtils]: 61: Hoare triple {31688#(<= ~counter~0 6)} assume !(0 == ~cond); {31688#(<= ~counter~0 6)} is VALID [2022-04-08 14:08:02,681 INFO L290 TraceCheckUtils]: 62: Hoare triple {31688#(<= ~counter~0 6)} assume true; {31688#(<= ~counter~0 6)} is VALID [2022-04-08 14:08:02,681 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {31688#(<= ~counter~0 6)} {31688#(<= ~counter~0 6)} #71#return; {31688#(<= ~counter~0 6)} is VALID [2022-04-08 14:08:02,682 INFO L290 TraceCheckUtils]: 64: Hoare triple {31688#(<= ~counter~0 6)} assume !!(0 != ~a~0 && 0 != ~b~0); {31688#(<= ~counter~0 6)} is VALID [2022-04-08 14:08:02,682 INFO L290 TraceCheckUtils]: 65: Hoare triple {31688#(<= ~counter~0 6)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {31688#(<= ~counter~0 6)} is VALID [2022-04-08 14:08:02,682 INFO L290 TraceCheckUtils]: 66: Hoare triple {31688#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {31716#(<= ~counter~0 7)} is VALID [2022-04-08 14:08:02,682 INFO L290 TraceCheckUtils]: 67: Hoare triple {31716#(<= ~counter~0 7)} assume !!(#t~post6 < 100);havoc #t~post6; {31716#(<= ~counter~0 7)} is VALID [2022-04-08 14:08:02,683 INFO L272 TraceCheckUtils]: 68: Hoare triple {31716#(<= ~counter~0 7)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {31716#(<= ~counter~0 7)} is VALID [2022-04-08 14:08:02,683 INFO L290 TraceCheckUtils]: 69: Hoare triple {31716#(<= ~counter~0 7)} ~cond := #in~cond; {31716#(<= ~counter~0 7)} is VALID [2022-04-08 14:08:02,683 INFO L290 TraceCheckUtils]: 70: Hoare triple {31716#(<= ~counter~0 7)} assume !(0 == ~cond); {31716#(<= ~counter~0 7)} is VALID [2022-04-08 14:08:02,683 INFO L290 TraceCheckUtils]: 71: Hoare triple {31716#(<= ~counter~0 7)} assume true; {31716#(<= ~counter~0 7)} is VALID [2022-04-08 14:08:02,683 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {31716#(<= ~counter~0 7)} {31716#(<= ~counter~0 7)} #71#return; {31716#(<= ~counter~0 7)} is VALID [2022-04-08 14:08:02,684 INFO L290 TraceCheckUtils]: 73: Hoare triple {31716#(<= ~counter~0 7)} assume !!(0 != ~a~0 && 0 != ~b~0); {31716#(<= ~counter~0 7)} is VALID [2022-04-08 14:08:02,684 INFO L290 TraceCheckUtils]: 74: Hoare triple {31716#(<= ~counter~0 7)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {31716#(<= ~counter~0 7)} is VALID [2022-04-08 14:08:02,684 INFO L290 TraceCheckUtils]: 75: Hoare triple {31716#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {31744#(<= ~counter~0 8)} is VALID [2022-04-08 14:08:02,684 INFO L290 TraceCheckUtils]: 76: Hoare triple {31744#(<= ~counter~0 8)} assume !!(#t~post6 < 100);havoc #t~post6; {31744#(<= ~counter~0 8)} is VALID [2022-04-08 14:08:02,685 INFO L272 TraceCheckUtils]: 77: Hoare triple {31744#(<= ~counter~0 8)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {31744#(<= ~counter~0 8)} is VALID [2022-04-08 14:08:02,685 INFO L290 TraceCheckUtils]: 78: Hoare triple {31744#(<= ~counter~0 8)} ~cond := #in~cond; {31744#(<= ~counter~0 8)} is VALID [2022-04-08 14:08:02,685 INFO L290 TraceCheckUtils]: 79: Hoare triple {31744#(<= ~counter~0 8)} assume !(0 == ~cond); {31744#(<= ~counter~0 8)} is VALID [2022-04-08 14:08:02,685 INFO L290 TraceCheckUtils]: 80: Hoare triple {31744#(<= ~counter~0 8)} assume true; {31744#(<= ~counter~0 8)} is VALID [2022-04-08 14:08:02,686 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {31744#(<= ~counter~0 8)} {31744#(<= ~counter~0 8)} #71#return; {31744#(<= ~counter~0 8)} is VALID [2022-04-08 14:08:02,686 INFO L290 TraceCheckUtils]: 82: Hoare triple {31744#(<= ~counter~0 8)} assume !!(0 != ~a~0 && 0 != ~b~0); {31744#(<= ~counter~0 8)} is VALID [2022-04-08 14:08:02,686 INFO L290 TraceCheckUtils]: 83: Hoare triple {31744#(<= ~counter~0 8)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {31744#(<= ~counter~0 8)} is VALID [2022-04-08 14:08:02,686 INFO L290 TraceCheckUtils]: 84: Hoare triple {31744#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {31772#(<= ~counter~0 9)} is VALID [2022-04-08 14:08:02,687 INFO L290 TraceCheckUtils]: 85: Hoare triple {31772#(<= ~counter~0 9)} assume !!(#t~post6 < 100);havoc #t~post6; {31772#(<= ~counter~0 9)} is VALID [2022-04-08 14:08:02,687 INFO L272 TraceCheckUtils]: 86: Hoare triple {31772#(<= ~counter~0 9)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {31772#(<= ~counter~0 9)} is VALID [2022-04-08 14:08:02,687 INFO L290 TraceCheckUtils]: 87: Hoare triple {31772#(<= ~counter~0 9)} ~cond := #in~cond; {31772#(<= ~counter~0 9)} is VALID [2022-04-08 14:08:02,687 INFO L290 TraceCheckUtils]: 88: Hoare triple {31772#(<= ~counter~0 9)} assume !(0 == ~cond); {31772#(<= ~counter~0 9)} is VALID [2022-04-08 14:08:02,687 INFO L290 TraceCheckUtils]: 89: Hoare triple {31772#(<= ~counter~0 9)} assume true; {31772#(<= ~counter~0 9)} is VALID [2022-04-08 14:08:02,688 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {31772#(<= ~counter~0 9)} {31772#(<= ~counter~0 9)} #71#return; {31772#(<= ~counter~0 9)} is VALID [2022-04-08 14:08:02,688 INFO L290 TraceCheckUtils]: 91: Hoare triple {31772#(<= ~counter~0 9)} assume !!(0 != ~a~0 && 0 != ~b~0); {31772#(<= ~counter~0 9)} is VALID [2022-04-08 14:08:02,688 INFO L290 TraceCheckUtils]: 92: Hoare triple {31772#(<= ~counter~0 9)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {31772#(<= ~counter~0 9)} is VALID [2022-04-08 14:08:02,688 INFO L290 TraceCheckUtils]: 93: Hoare triple {31772#(<= ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {31800#(<= ~counter~0 10)} is VALID [2022-04-08 14:08:02,689 INFO L290 TraceCheckUtils]: 94: Hoare triple {31800#(<= ~counter~0 10)} assume !!(#t~post6 < 100);havoc #t~post6; {31800#(<= ~counter~0 10)} is VALID [2022-04-08 14:08:02,689 INFO L272 TraceCheckUtils]: 95: Hoare triple {31800#(<= ~counter~0 10)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {31800#(<= ~counter~0 10)} is VALID [2022-04-08 14:08:02,689 INFO L290 TraceCheckUtils]: 96: Hoare triple {31800#(<= ~counter~0 10)} ~cond := #in~cond; {31800#(<= ~counter~0 10)} is VALID [2022-04-08 14:08:02,689 INFO L290 TraceCheckUtils]: 97: Hoare triple {31800#(<= ~counter~0 10)} assume !(0 == ~cond); {31800#(<= ~counter~0 10)} is VALID [2022-04-08 14:08:02,690 INFO L290 TraceCheckUtils]: 98: Hoare triple {31800#(<= ~counter~0 10)} assume true; {31800#(<= ~counter~0 10)} is VALID [2022-04-08 14:08:02,690 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {31800#(<= ~counter~0 10)} {31800#(<= ~counter~0 10)} #71#return; {31800#(<= ~counter~0 10)} is VALID [2022-04-08 14:08:02,690 INFO L290 TraceCheckUtils]: 100: Hoare triple {31800#(<= ~counter~0 10)} assume !!(0 != ~a~0 && 0 != ~b~0); {31800#(<= ~counter~0 10)} is VALID [2022-04-08 14:08:02,690 INFO L290 TraceCheckUtils]: 101: Hoare triple {31800#(<= ~counter~0 10)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {31800#(<= ~counter~0 10)} is VALID [2022-04-08 14:08:02,693 INFO L290 TraceCheckUtils]: 102: Hoare triple {31800#(<= ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {31828#(<= ~counter~0 11)} is VALID [2022-04-08 14:08:02,693 INFO L290 TraceCheckUtils]: 103: Hoare triple {31828#(<= ~counter~0 11)} assume !!(#t~post6 < 100);havoc #t~post6; {31828#(<= ~counter~0 11)} is VALID [2022-04-08 14:08:02,693 INFO L272 TraceCheckUtils]: 104: Hoare triple {31828#(<= ~counter~0 11)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {31828#(<= ~counter~0 11)} is VALID [2022-04-08 14:08:02,694 INFO L290 TraceCheckUtils]: 105: Hoare triple {31828#(<= ~counter~0 11)} ~cond := #in~cond; {31828#(<= ~counter~0 11)} is VALID [2022-04-08 14:08:02,694 INFO L290 TraceCheckUtils]: 106: Hoare triple {31828#(<= ~counter~0 11)} assume !(0 == ~cond); {31828#(<= ~counter~0 11)} is VALID [2022-04-08 14:08:02,694 INFO L290 TraceCheckUtils]: 107: Hoare triple {31828#(<= ~counter~0 11)} assume true; {31828#(<= ~counter~0 11)} is VALID [2022-04-08 14:08:02,694 INFO L284 TraceCheckUtils]: 108: Hoare quadruple {31828#(<= ~counter~0 11)} {31828#(<= ~counter~0 11)} #71#return; {31828#(<= ~counter~0 11)} is VALID [2022-04-08 14:08:02,695 INFO L290 TraceCheckUtils]: 109: Hoare triple {31828#(<= ~counter~0 11)} assume !!(0 != ~a~0 && 0 != ~b~0); {31828#(<= ~counter~0 11)} is VALID [2022-04-08 14:08:02,695 INFO L290 TraceCheckUtils]: 110: Hoare triple {31828#(<= ~counter~0 11)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {31828#(<= ~counter~0 11)} is VALID [2022-04-08 14:08:02,695 INFO L290 TraceCheckUtils]: 111: Hoare triple {31828#(<= ~counter~0 11)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {31856#(<= ~counter~0 12)} is VALID [2022-04-08 14:08:02,695 INFO L290 TraceCheckUtils]: 112: Hoare triple {31856#(<= ~counter~0 12)} assume !!(#t~post6 < 100);havoc #t~post6; {31856#(<= ~counter~0 12)} is VALID [2022-04-08 14:08:02,696 INFO L272 TraceCheckUtils]: 113: Hoare triple {31856#(<= ~counter~0 12)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {31856#(<= ~counter~0 12)} is VALID [2022-04-08 14:08:02,696 INFO L290 TraceCheckUtils]: 114: Hoare triple {31856#(<= ~counter~0 12)} ~cond := #in~cond; {31856#(<= ~counter~0 12)} is VALID [2022-04-08 14:08:02,696 INFO L290 TraceCheckUtils]: 115: Hoare triple {31856#(<= ~counter~0 12)} assume !(0 == ~cond); {31856#(<= ~counter~0 12)} is VALID [2022-04-08 14:08:02,696 INFO L290 TraceCheckUtils]: 116: Hoare triple {31856#(<= ~counter~0 12)} assume true; {31856#(<= ~counter~0 12)} is VALID [2022-04-08 14:08:02,697 INFO L284 TraceCheckUtils]: 117: Hoare quadruple {31856#(<= ~counter~0 12)} {31856#(<= ~counter~0 12)} #71#return; {31856#(<= ~counter~0 12)} is VALID [2022-04-08 14:08:02,697 INFO L290 TraceCheckUtils]: 118: Hoare triple {31856#(<= ~counter~0 12)} assume !!(0 != ~a~0 && 0 != ~b~0); {31856#(<= ~counter~0 12)} is VALID [2022-04-08 14:08:02,697 INFO L290 TraceCheckUtils]: 119: Hoare triple {31856#(<= ~counter~0 12)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {31856#(<= ~counter~0 12)} is VALID [2022-04-08 14:08:02,697 INFO L290 TraceCheckUtils]: 120: Hoare triple {31856#(<= ~counter~0 12)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {31884#(<= ~counter~0 13)} is VALID [2022-04-08 14:08:02,697 INFO L290 TraceCheckUtils]: 121: Hoare triple {31884#(<= ~counter~0 13)} assume !!(#t~post6 < 100);havoc #t~post6; {31884#(<= ~counter~0 13)} is VALID [2022-04-08 14:08:02,698 INFO L272 TraceCheckUtils]: 122: Hoare triple {31884#(<= ~counter~0 13)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {31884#(<= ~counter~0 13)} is VALID [2022-04-08 14:08:02,698 INFO L290 TraceCheckUtils]: 123: Hoare triple {31884#(<= ~counter~0 13)} ~cond := #in~cond; {31884#(<= ~counter~0 13)} is VALID [2022-04-08 14:08:02,698 INFO L290 TraceCheckUtils]: 124: Hoare triple {31884#(<= ~counter~0 13)} assume !(0 == ~cond); {31884#(<= ~counter~0 13)} is VALID [2022-04-08 14:08:02,698 INFO L290 TraceCheckUtils]: 125: Hoare triple {31884#(<= ~counter~0 13)} assume true; {31884#(<= ~counter~0 13)} is VALID [2022-04-08 14:08:02,699 INFO L284 TraceCheckUtils]: 126: Hoare quadruple {31884#(<= ~counter~0 13)} {31884#(<= ~counter~0 13)} #71#return; {31884#(<= ~counter~0 13)} is VALID [2022-04-08 14:08:02,699 INFO L290 TraceCheckUtils]: 127: Hoare triple {31884#(<= ~counter~0 13)} assume !!(0 != ~a~0 && 0 != ~b~0); {31884#(<= ~counter~0 13)} is VALID [2022-04-08 14:08:02,699 INFO L290 TraceCheckUtils]: 128: Hoare triple {31884#(<= ~counter~0 13)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {31884#(<= ~counter~0 13)} is VALID [2022-04-08 14:08:02,699 INFO L290 TraceCheckUtils]: 129: Hoare triple {31884#(<= ~counter~0 13)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {31912#(<= ~counter~0 14)} is VALID [2022-04-08 14:08:02,700 INFO L290 TraceCheckUtils]: 130: Hoare triple {31912#(<= ~counter~0 14)} assume !!(#t~post6 < 100);havoc #t~post6; {31912#(<= ~counter~0 14)} is VALID [2022-04-08 14:08:02,700 INFO L272 TraceCheckUtils]: 131: Hoare triple {31912#(<= ~counter~0 14)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {31912#(<= ~counter~0 14)} is VALID [2022-04-08 14:08:02,700 INFO L290 TraceCheckUtils]: 132: Hoare triple {31912#(<= ~counter~0 14)} ~cond := #in~cond; {31912#(<= ~counter~0 14)} is VALID [2022-04-08 14:08:02,700 INFO L290 TraceCheckUtils]: 133: Hoare triple {31912#(<= ~counter~0 14)} assume !(0 == ~cond); {31912#(<= ~counter~0 14)} is VALID [2022-04-08 14:08:02,701 INFO L290 TraceCheckUtils]: 134: Hoare triple {31912#(<= ~counter~0 14)} assume true; {31912#(<= ~counter~0 14)} is VALID [2022-04-08 14:08:02,701 INFO L284 TraceCheckUtils]: 135: Hoare quadruple {31912#(<= ~counter~0 14)} {31912#(<= ~counter~0 14)} #71#return; {31912#(<= ~counter~0 14)} is VALID [2022-04-08 14:08:02,701 INFO L290 TraceCheckUtils]: 136: Hoare triple {31912#(<= ~counter~0 14)} assume !!(0 != ~a~0 && 0 != ~b~0); {31912#(<= ~counter~0 14)} is VALID [2022-04-08 14:08:02,701 INFO L290 TraceCheckUtils]: 137: Hoare triple {31912#(<= ~counter~0 14)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {31912#(<= ~counter~0 14)} is VALID [2022-04-08 14:08:02,702 INFO L290 TraceCheckUtils]: 138: Hoare triple {31912#(<= ~counter~0 14)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {31940#(<= ~counter~0 15)} is VALID [2022-04-08 14:08:02,702 INFO L290 TraceCheckUtils]: 139: Hoare triple {31940#(<= ~counter~0 15)} assume !!(#t~post6 < 100);havoc #t~post6; {31940#(<= ~counter~0 15)} is VALID [2022-04-08 14:08:02,702 INFO L272 TraceCheckUtils]: 140: Hoare triple {31940#(<= ~counter~0 15)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {31940#(<= ~counter~0 15)} is VALID [2022-04-08 14:08:02,702 INFO L290 TraceCheckUtils]: 141: Hoare triple {31940#(<= ~counter~0 15)} ~cond := #in~cond; {31940#(<= ~counter~0 15)} is VALID [2022-04-08 14:08:02,703 INFO L290 TraceCheckUtils]: 142: Hoare triple {31940#(<= ~counter~0 15)} assume !(0 == ~cond); {31940#(<= ~counter~0 15)} is VALID [2022-04-08 14:08:02,703 INFO L290 TraceCheckUtils]: 143: Hoare triple {31940#(<= ~counter~0 15)} assume true; {31940#(<= ~counter~0 15)} is VALID [2022-04-08 14:08:02,703 INFO L284 TraceCheckUtils]: 144: Hoare quadruple {31940#(<= ~counter~0 15)} {31940#(<= ~counter~0 15)} #71#return; {31940#(<= ~counter~0 15)} is VALID [2022-04-08 14:08:02,703 INFO L290 TraceCheckUtils]: 145: Hoare triple {31940#(<= ~counter~0 15)} assume !!(0 != ~a~0 && 0 != ~b~0); {31940#(<= ~counter~0 15)} is VALID [2022-04-08 14:08:02,703 INFO L290 TraceCheckUtils]: 146: Hoare triple {31940#(<= ~counter~0 15)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {31940#(<= ~counter~0 15)} is VALID [2022-04-08 14:08:02,704 INFO L290 TraceCheckUtils]: 147: Hoare triple {31940#(<= ~counter~0 15)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {31968#(<= ~counter~0 16)} is VALID [2022-04-08 14:08:02,704 INFO L290 TraceCheckUtils]: 148: Hoare triple {31968#(<= ~counter~0 16)} assume !!(#t~post6 < 100);havoc #t~post6; {31968#(<= ~counter~0 16)} is VALID [2022-04-08 14:08:02,704 INFO L272 TraceCheckUtils]: 149: Hoare triple {31968#(<= ~counter~0 16)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {31968#(<= ~counter~0 16)} is VALID [2022-04-08 14:08:02,705 INFO L290 TraceCheckUtils]: 150: Hoare triple {31968#(<= ~counter~0 16)} ~cond := #in~cond; {31968#(<= ~counter~0 16)} is VALID [2022-04-08 14:08:02,705 INFO L290 TraceCheckUtils]: 151: Hoare triple {31968#(<= ~counter~0 16)} assume !(0 == ~cond); {31968#(<= ~counter~0 16)} is VALID [2022-04-08 14:08:02,705 INFO L290 TraceCheckUtils]: 152: Hoare triple {31968#(<= ~counter~0 16)} assume true; {31968#(<= ~counter~0 16)} is VALID [2022-04-08 14:08:02,705 INFO L284 TraceCheckUtils]: 153: Hoare quadruple {31968#(<= ~counter~0 16)} {31968#(<= ~counter~0 16)} #71#return; {31968#(<= ~counter~0 16)} is VALID [2022-04-08 14:08:02,705 INFO L290 TraceCheckUtils]: 154: Hoare triple {31968#(<= ~counter~0 16)} assume !!(0 != ~a~0 && 0 != ~b~0); {31968#(<= ~counter~0 16)} is VALID [2022-04-08 14:08:02,706 INFO L290 TraceCheckUtils]: 155: Hoare triple {31968#(<= ~counter~0 16)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {31968#(<= ~counter~0 16)} is VALID [2022-04-08 14:08:02,706 INFO L290 TraceCheckUtils]: 156: Hoare triple {31968#(<= ~counter~0 16)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {31996#(<= ~counter~0 17)} is VALID [2022-04-08 14:08:02,706 INFO L290 TraceCheckUtils]: 157: Hoare triple {31996#(<= ~counter~0 17)} assume !!(#t~post6 < 100);havoc #t~post6; {31996#(<= ~counter~0 17)} is VALID [2022-04-08 14:08:02,707 INFO L272 TraceCheckUtils]: 158: Hoare triple {31996#(<= ~counter~0 17)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {31996#(<= ~counter~0 17)} is VALID [2022-04-08 14:08:02,707 INFO L290 TraceCheckUtils]: 159: Hoare triple {31996#(<= ~counter~0 17)} ~cond := #in~cond; {31996#(<= ~counter~0 17)} is VALID [2022-04-08 14:08:02,707 INFO L290 TraceCheckUtils]: 160: Hoare triple {31996#(<= ~counter~0 17)} assume !(0 == ~cond); {31996#(<= ~counter~0 17)} is VALID [2022-04-08 14:08:02,707 INFO L290 TraceCheckUtils]: 161: Hoare triple {31996#(<= ~counter~0 17)} assume true; {31996#(<= ~counter~0 17)} is VALID [2022-04-08 14:08:02,707 INFO L284 TraceCheckUtils]: 162: Hoare quadruple {31996#(<= ~counter~0 17)} {31996#(<= ~counter~0 17)} #71#return; {31996#(<= ~counter~0 17)} is VALID [2022-04-08 14:08:02,708 INFO L290 TraceCheckUtils]: 163: Hoare triple {31996#(<= ~counter~0 17)} assume !!(0 != ~a~0 && 0 != ~b~0); {31996#(<= ~counter~0 17)} is VALID [2022-04-08 14:08:02,708 INFO L290 TraceCheckUtils]: 164: Hoare triple {31996#(<= ~counter~0 17)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {31996#(<= ~counter~0 17)} is VALID [2022-04-08 14:08:02,708 INFO L290 TraceCheckUtils]: 165: Hoare triple {31996#(<= ~counter~0 17)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32024#(<= |main_#t~post6| 17)} is VALID [2022-04-08 14:08:02,708 INFO L290 TraceCheckUtils]: 166: Hoare triple {32024#(<= |main_#t~post6| 17)} assume !(#t~post6 < 100);havoc #t~post6; {31507#false} is VALID [2022-04-08 14:08:02,708 INFO L272 TraceCheckUtils]: 167: Hoare triple {31507#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {31507#false} is VALID [2022-04-08 14:08:02,708 INFO L290 TraceCheckUtils]: 168: Hoare triple {31507#false} ~cond := #in~cond; {31507#false} is VALID [2022-04-08 14:08:02,708 INFO L290 TraceCheckUtils]: 169: Hoare triple {31507#false} assume 0 == ~cond; {31507#false} is VALID [2022-04-08 14:08:02,708 INFO L290 TraceCheckUtils]: 170: Hoare triple {31507#false} assume !false; {31507#false} is VALID [2022-04-08 14:08:02,709 INFO L134 CoverageAnalysis]: Checked inductivity of 1292 backedges. 34 proven. 1258 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 14:08:02,709 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 14:08:03,599 INFO L290 TraceCheckUtils]: 170: Hoare triple {31507#false} assume !false; {31507#false} is VALID [2022-04-08 14:08:03,599 INFO L290 TraceCheckUtils]: 169: Hoare triple {31507#false} assume 0 == ~cond; {31507#false} is VALID [2022-04-08 14:08:03,599 INFO L290 TraceCheckUtils]: 168: Hoare triple {31507#false} ~cond := #in~cond; {31507#false} is VALID [2022-04-08 14:08:03,599 INFO L272 TraceCheckUtils]: 167: Hoare triple {31507#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {31507#false} is VALID [2022-04-08 14:08:03,600 INFO L290 TraceCheckUtils]: 166: Hoare triple {32052#(< |main_#t~post6| 100)} assume !(#t~post6 < 100);havoc #t~post6; {31507#false} is VALID [2022-04-08 14:08:03,601 INFO L290 TraceCheckUtils]: 165: Hoare triple {32056#(< ~counter~0 100)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32052#(< |main_#t~post6| 100)} is VALID [2022-04-08 14:08:03,601 INFO L290 TraceCheckUtils]: 164: Hoare triple {32056#(< ~counter~0 100)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {32056#(< ~counter~0 100)} is VALID [2022-04-08 14:08:03,601 INFO L290 TraceCheckUtils]: 163: Hoare triple {32056#(< ~counter~0 100)} assume !!(0 != ~a~0 && 0 != ~b~0); {32056#(< ~counter~0 100)} is VALID [2022-04-08 14:08:03,602 INFO L284 TraceCheckUtils]: 162: Hoare quadruple {31506#true} {32056#(< ~counter~0 100)} #71#return; {32056#(< ~counter~0 100)} is VALID [2022-04-08 14:08:03,602 INFO L290 TraceCheckUtils]: 161: Hoare triple {31506#true} assume true; {31506#true} is VALID [2022-04-08 14:08:03,602 INFO L290 TraceCheckUtils]: 160: Hoare triple {31506#true} assume !(0 == ~cond); {31506#true} is VALID [2022-04-08 14:08:03,602 INFO L290 TraceCheckUtils]: 159: Hoare triple {31506#true} ~cond := #in~cond; {31506#true} is VALID [2022-04-08 14:08:03,602 INFO L272 TraceCheckUtils]: 158: Hoare triple {32056#(< ~counter~0 100)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {31506#true} is VALID [2022-04-08 14:08:03,602 INFO L290 TraceCheckUtils]: 157: Hoare triple {32056#(< ~counter~0 100)} assume !!(#t~post6 < 100);havoc #t~post6; {32056#(< ~counter~0 100)} is VALID [2022-04-08 14:08:03,603 INFO L290 TraceCheckUtils]: 156: Hoare triple {32084#(< ~counter~0 99)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32056#(< ~counter~0 100)} is VALID [2022-04-08 14:08:03,603 INFO L290 TraceCheckUtils]: 155: Hoare triple {32084#(< ~counter~0 99)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {32084#(< ~counter~0 99)} is VALID [2022-04-08 14:08:03,604 INFO L290 TraceCheckUtils]: 154: Hoare triple {32084#(< ~counter~0 99)} assume !!(0 != ~a~0 && 0 != ~b~0); {32084#(< ~counter~0 99)} is VALID [2022-04-08 14:08:03,604 INFO L284 TraceCheckUtils]: 153: Hoare quadruple {31506#true} {32084#(< ~counter~0 99)} #71#return; {32084#(< ~counter~0 99)} is VALID [2022-04-08 14:08:03,604 INFO L290 TraceCheckUtils]: 152: Hoare triple {31506#true} assume true; {31506#true} is VALID [2022-04-08 14:08:03,604 INFO L290 TraceCheckUtils]: 151: Hoare triple {31506#true} assume !(0 == ~cond); {31506#true} is VALID [2022-04-08 14:08:03,604 INFO L290 TraceCheckUtils]: 150: Hoare triple {31506#true} ~cond := #in~cond; {31506#true} is VALID [2022-04-08 14:08:03,605 INFO L272 TraceCheckUtils]: 149: Hoare triple {32084#(< ~counter~0 99)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {31506#true} is VALID [2022-04-08 14:08:03,605 INFO L290 TraceCheckUtils]: 148: Hoare triple {32084#(< ~counter~0 99)} assume !!(#t~post6 < 100);havoc #t~post6; {32084#(< ~counter~0 99)} is VALID [2022-04-08 14:08:03,605 INFO L290 TraceCheckUtils]: 147: Hoare triple {32112#(< ~counter~0 98)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32084#(< ~counter~0 99)} is VALID [2022-04-08 14:08:03,606 INFO L290 TraceCheckUtils]: 146: Hoare triple {32112#(< ~counter~0 98)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {32112#(< ~counter~0 98)} is VALID [2022-04-08 14:08:03,606 INFO L290 TraceCheckUtils]: 145: Hoare triple {32112#(< ~counter~0 98)} assume !!(0 != ~a~0 && 0 != ~b~0); {32112#(< ~counter~0 98)} is VALID [2022-04-08 14:08:03,606 INFO L284 TraceCheckUtils]: 144: Hoare quadruple {31506#true} {32112#(< ~counter~0 98)} #71#return; {32112#(< ~counter~0 98)} is VALID [2022-04-08 14:08:03,606 INFO L290 TraceCheckUtils]: 143: Hoare triple {31506#true} assume true; {31506#true} is VALID [2022-04-08 14:08:03,607 INFO L290 TraceCheckUtils]: 142: Hoare triple {31506#true} assume !(0 == ~cond); {31506#true} is VALID [2022-04-08 14:08:03,607 INFO L290 TraceCheckUtils]: 141: Hoare triple {31506#true} ~cond := #in~cond; {31506#true} is VALID [2022-04-08 14:08:03,607 INFO L272 TraceCheckUtils]: 140: Hoare triple {32112#(< ~counter~0 98)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {31506#true} is VALID [2022-04-08 14:08:03,607 INFO L290 TraceCheckUtils]: 139: Hoare triple {32112#(< ~counter~0 98)} assume !!(#t~post6 < 100);havoc #t~post6; {32112#(< ~counter~0 98)} is VALID [2022-04-08 14:08:03,607 INFO L290 TraceCheckUtils]: 138: Hoare triple {32140#(< ~counter~0 97)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32112#(< ~counter~0 98)} is VALID [2022-04-08 14:08:03,608 INFO L290 TraceCheckUtils]: 137: Hoare triple {32140#(< ~counter~0 97)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {32140#(< ~counter~0 97)} is VALID [2022-04-08 14:08:03,608 INFO L290 TraceCheckUtils]: 136: Hoare triple {32140#(< ~counter~0 97)} assume !!(0 != ~a~0 && 0 != ~b~0); {32140#(< ~counter~0 97)} is VALID [2022-04-08 14:08:03,609 INFO L284 TraceCheckUtils]: 135: Hoare quadruple {31506#true} {32140#(< ~counter~0 97)} #71#return; {32140#(< ~counter~0 97)} is VALID [2022-04-08 14:08:03,609 INFO L290 TraceCheckUtils]: 134: Hoare triple {31506#true} assume true; {31506#true} is VALID [2022-04-08 14:08:03,609 INFO L290 TraceCheckUtils]: 133: Hoare triple {31506#true} assume !(0 == ~cond); {31506#true} is VALID [2022-04-08 14:08:03,609 INFO L290 TraceCheckUtils]: 132: Hoare triple {31506#true} ~cond := #in~cond; {31506#true} is VALID [2022-04-08 14:08:03,609 INFO L272 TraceCheckUtils]: 131: Hoare triple {32140#(< ~counter~0 97)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {31506#true} is VALID [2022-04-08 14:08:03,609 INFO L290 TraceCheckUtils]: 130: Hoare triple {32140#(< ~counter~0 97)} assume !!(#t~post6 < 100);havoc #t~post6; {32140#(< ~counter~0 97)} is VALID [2022-04-08 14:08:03,610 INFO L290 TraceCheckUtils]: 129: Hoare triple {32168#(< ~counter~0 96)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32140#(< ~counter~0 97)} is VALID [2022-04-08 14:08:03,610 INFO L290 TraceCheckUtils]: 128: Hoare triple {32168#(< ~counter~0 96)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {32168#(< ~counter~0 96)} is VALID [2022-04-08 14:08:03,610 INFO L290 TraceCheckUtils]: 127: Hoare triple {32168#(< ~counter~0 96)} assume !!(0 != ~a~0 && 0 != ~b~0); {32168#(< ~counter~0 96)} is VALID [2022-04-08 14:08:03,611 INFO L284 TraceCheckUtils]: 126: Hoare quadruple {31506#true} {32168#(< ~counter~0 96)} #71#return; {32168#(< ~counter~0 96)} is VALID [2022-04-08 14:08:03,611 INFO L290 TraceCheckUtils]: 125: Hoare triple {31506#true} assume true; {31506#true} is VALID [2022-04-08 14:08:03,611 INFO L290 TraceCheckUtils]: 124: Hoare triple {31506#true} assume !(0 == ~cond); {31506#true} is VALID [2022-04-08 14:08:03,611 INFO L290 TraceCheckUtils]: 123: Hoare triple {31506#true} ~cond := #in~cond; {31506#true} is VALID [2022-04-08 14:08:03,611 INFO L272 TraceCheckUtils]: 122: Hoare triple {32168#(< ~counter~0 96)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {31506#true} is VALID [2022-04-08 14:08:03,611 INFO L290 TraceCheckUtils]: 121: Hoare triple {32168#(< ~counter~0 96)} assume !!(#t~post6 < 100);havoc #t~post6; {32168#(< ~counter~0 96)} is VALID [2022-04-08 14:08:03,612 INFO L290 TraceCheckUtils]: 120: Hoare triple {32196#(< ~counter~0 95)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32168#(< ~counter~0 96)} is VALID [2022-04-08 14:08:03,612 INFO L290 TraceCheckUtils]: 119: Hoare triple {32196#(< ~counter~0 95)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {32196#(< ~counter~0 95)} is VALID [2022-04-08 14:08:03,612 INFO L290 TraceCheckUtils]: 118: Hoare triple {32196#(< ~counter~0 95)} assume !!(0 != ~a~0 && 0 != ~b~0); {32196#(< ~counter~0 95)} is VALID [2022-04-08 14:08:03,613 INFO L284 TraceCheckUtils]: 117: Hoare quadruple {31506#true} {32196#(< ~counter~0 95)} #71#return; {32196#(< ~counter~0 95)} is VALID [2022-04-08 14:08:03,613 INFO L290 TraceCheckUtils]: 116: Hoare triple {31506#true} assume true; {31506#true} is VALID [2022-04-08 14:08:03,613 INFO L290 TraceCheckUtils]: 115: Hoare triple {31506#true} assume !(0 == ~cond); {31506#true} is VALID [2022-04-08 14:08:03,613 INFO L290 TraceCheckUtils]: 114: Hoare triple {31506#true} ~cond := #in~cond; {31506#true} is VALID [2022-04-08 14:08:03,613 INFO L272 TraceCheckUtils]: 113: Hoare triple {32196#(< ~counter~0 95)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {31506#true} is VALID [2022-04-08 14:08:03,614 INFO L290 TraceCheckUtils]: 112: Hoare triple {32196#(< ~counter~0 95)} assume !!(#t~post6 < 100);havoc #t~post6; {32196#(< ~counter~0 95)} is VALID [2022-04-08 14:08:03,615 INFO L290 TraceCheckUtils]: 111: Hoare triple {32224#(< ~counter~0 94)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32196#(< ~counter~0 95)} is VALID [2022-04-08 14:08:03,615 INFO L290 TraceCheckUtils]: 110: Hoare triple {32224#(< ~counter~0 94)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {32224#(< ~counter~0 94)} is VALID [2022-04-08 14:08:03,615 INFO L290 TraceCheckUtils]: 109: Hoare triple {32224#(< ~counter~0 94)} assume !!(0 != ~a~0 && 0 != ~b~0); {32224#(< ~counter~0 94)} is VALID [2022-04-08 14:08:03,616 INFO L284 TraceCheckUtils]: 108: Hoare quadruple {31506#true} {32224#(< ~counter~0 94)} #71#return; {32224#(< ~counter~0 94)} is VALID [2022-04-08 14:08:03,616 INFO L290 TraceCheckUtils]: 107: Hoare triple {31506#true} assume true; {31506#true} is VALID [2022-04-08 14:08:03,616 INFO L290 TraceCheckUtils]: 106: Hoare triple {31506#true} assume !(0 == ~cond); {31506#true} is VALID [2022-04-08 14:08:03,616 INFO L290 TraceCheckUtils]: 105: Hoare triple {31506#true} ~cond := #in~cond; {31506#true} is VALID [2022-04-08 14:08:03,616 INFO L272 TraceCheckUtils]: 104: Hoare triple {32224#(< ~counter~0 94)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {31506#true} is VALID [2022-04-08 14:08:03,616 INFO L290 TraceCheckUtils]: 103: Hoare triple {32224#(< ~counter~0 94)} assume !!(#t~post6 < 100);havoc #t~post6; {32224#(< ~counter~0 94)} is VALID [2022-04-08 14:08:03,617 INFO L290 TraceCheckUtils]: 102: Hoare triple {32252#(< ~counter~0 93)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32224#(< ~counter~0 94)} is VALID [2022-04-08 14:08:03,617 INFO L290 TraceCheckUtils]: 101: Hoare triple {32252#(< ~counter~0 93)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {32252#(< ~counter~0 93)} is VALID [2022-04-08 14:08:03,617 INFO L290 TraceCheckUtils]: 100: Hoare triple {32252#(< ~counter~0 93)} assume !!(0 != ~a~0 && 0 != ~b~0); {32252#(< ~counter~0 93)} is VALID [2022-04-08 14:08:03,618 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {31506#true} {32252#(< ~counter~0 93)} #71#return; {32252#(< ~counter~0 93)} is VALID [2022-04-08 14:08:03,618 INFO L290 TraceCheckUtils]: 98: Hoare triple {31506#true} assume true; {31506#true} is VALID [2022-04-08 14:08:03,618 INFO L290 TraceCheckUtils]: 97: Hoare triple {31506#true} assume !(0 == ~cond); {31506#true} is VALID [2022-04-08 14:08:03,618 INFO L290 TraceCheckUtils]: 96: Hoare triple {31506#true} ~cond := #in~cond; {31506#true} is VALID [2022-04-08 14:08:03,618 INFO L272 TraceCheckUtils]: 95: Hoare triple {32252#(< ~counter~0 93)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {31506#true} is VALID [2022-04-08 14:08:03,618 INFO L290 TraceCheckUtils]: 94: Hoare triple {32252#(< ~counter~0 93)} assume !!(#t~post6 < 100);havoc #t~post6; {32252#(< ~counter~0 93)} is VALID [2022-04-08 14:08:03,619 INFO L290 TraceCheckUtils]: 93: Hoare triple {32280#(< ~counter~0 92)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32252#(< ~counter~0 93)} is VALID [2022-04-08 14:08:03,619 INFO L290 TraceCheckUtils]: 92: Hoare triple {32280#(< ~counter~0 92)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {32280#(< ~counter~0 92)} is VALID [2022-04-08 14:08:03,619 INFO L290 TraceCheckUtils]: 91: Hoare triple {32280#(< ~counter~0 92)} assume !!(0 != ~a~0 && 0 != ~b~0); {32280#(< ~counter~0 92)} is VALID [2022-04-08 14:08:03,620 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {31506#true} {32280#(< ~counter~0 92)} #71#return; {32280#(< ~counter~0 92)} is VALID [2022-04-08 14:08:03,620 INFO L290 TraceCheckUtils]: 89: Hoare triple {31506#true} assume true; {31506#true} is VALID [2022-04-08 14:08:03,620 INFO L290 TraceCheckUtils]: 88: Hoare triple {31506#true} assume !(0 == ~cond); {31506#true} is VALID [2022-04-08 14:08:03,620 INFO L290 TraceCheckUtils]: 87: Hoare triple {31506#true} ~cond := #in~cond; {31506#true} is VALID [2022-04-08 14:08:03,620 INFO L272 TraceCheckUtils]: 86: Hoare triple {32280#(< ~counter~0 92)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {31506#true} is VALID [2022-04-08 14:08:03,620 INFO L290 TraceCheckUtils]: 85: Hoare triple {32280#(< ~counter~0 92)} assume !!(#t~post6 < 100);havoc #t~post6; {32280#(< ~counter~0 92)} is VALID [2022-04-08 14:08:03,621 INFO L290 TraceCheckUtils]: 84: Hoare triple {32308#(< ~counter~0 91)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32280#(< ~counter~0 92)} is VALID [2022-04-08 14:08:03,621 INFO L290 TraceCheckUtils]: 83: Hoare triple {32308#(< ~counter~0 91)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {32308#(< ~counter~0 91)} is VALID [2022-04-08 14:08:03,621 INFO L290 TraceCheckUtils]: 82: Hoare triple {32308#(< ~counter~0 91)} assume !!(0 != ~a~0 && 0 != ~b~0); {32308#(< ~counter~0 91)} is VALID [2022-04-08 14:08:03,622 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {31506#true} {32308#(< ~counter~0 91)} #71#return; {32308#(< ~counter~0 91)} is VALID [2022-04-08 14:08:03,622 INFO L290 TraceCheckUtils]: 80: Hoare triple {31506#true} assume true; {31506#true} is VALID [2022-04-08 14:08:03,622 INFO L290 TraceCheckUtils]: 79: Hoare triple {31506#true} assume !(0 == ~cond); {31506#true} is VALID [2022-04-08 14:08:03,622 INFO L290 TraceCheckUtils]: 78: Hoare triple {31506#true} ~cond := #in~cond; {31506#true} is VALID [2022-04-08 14:08:03,622 INFO L272 TraceCheckUtils]: 77: Hoare triple {32308#(< ~counter~0 91)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {31506#true} is VALID [2022-04-08 14:08:03,622 INFO L290 TraceCheckUtils]: 76: Hoare triple {32308#(< ~counter~0 91)} assume !!(#t~post6 < 100);havoc #t~post6; {32308#(< ~counter~0 91)} is VALID [2022-04-08 14:08:03,623 INFO L290 TraceCheckUtils]: 75: Hoare triple {32336#(< ~counter~0 90)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32308#(< ~counter~0 91)} is VALID [2022-04-08 14:08:03,623 INFO L290 TraceCheckUtils]: 74: Hoare triple {32336#(< ~counter~0 90)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {32336#(< ~counter~0 90)} is VALID [2022-04-08 14:08:03,623 INFO L290 TraceCheckUtils]: 73: Hoare triple {32336#(< ~counter~0 90)} assume !!(0 != ~a~0 && 0 != ~b~0); {32336#(< ~counter~0 90)} is VALID [2022-04-08 14:08:03,624 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {31506#true} {32336#(< ~counter~0 90)} #71#return; {32336#(< ~counter~0 90)} is VALID [2022-04-08 14:08:03,624 INFO L290 TraceCheckUtils]: 71: Hoare triple {31506#true} assume true; {31506#true} is VALID [2022-04-08 14:08:03,624 INFO L290 TraceCheckUtils]: 70: Hoare triple {31506#true} assume !(0 == ~cond); {31506#true} is VALID [2022-04-08 14:08:03,624 INFO L290 TraceCheckUtils]: 69: Hoare triple {31506#true} ~cond := #in~cond; {31506#true} is VALID [2022-04-08 14:08:03,624 INFO L272 TraceCheckUtils]: 68: Hoare triple {32336#(< ~counter~0 90)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {31506#true} is VALID [2022-04-08 14:08:03,625 INFO L290 TraceCheckUtils]: 67: Hoare triple {32336#(< ~counter~0 90)} assume !!(#t~post6 < 100);havoc #t~post6; {32336#(< ~counter~0 90)} is VALID [2022-04-08 14:08:03,625 INFO L290 TraceCheckUtils]: 66: Hoare triple {32364#(< ~counter~0 89)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32336#(< ~counter~0 90)} is VALID [2022-04-08 14:08:03,625 INFO L290 TraceCheckUtils]: 65: Hoare triple {32364#(< ~counter~0 89)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {32364#(< ~counter~0 89)} is VALID [2022-04-08 14:08:03,626 INFO L290 TraceCheckUtils]: 64: Hoare triple {32364#(< ~counter~0 89)} assume !!(0 != ~a~0 && 0 != ~b~0); {32364#(< ~counter~0 89)} is VALID [2022-04-08 14:08:03,626 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {31506#true} {32364#(< ~counter~0 89)} #71#return; {32364#(< ~counter~0 89)} is VALID [2022-04-08 14:08:03,626 INFO L290 TraceCheckUtils]: 62: Hoare triple {31506#true} assume true; {31506#true} is VALID [2022-04-08 14:08:03,626 INFO L290 TraceCheckUtils]: 61: Hoare triple {31506#true} assume !(0 == ~cond); {31506#true} is VALID [2022-04-08 14:08:03,626 INFO L290 TraceCheckUtils]: 60: Hoare triple {31506#true} ~cond := #in~cond; {31506#true} is VALID [2022-04-08 14:08:03,626 INFO L272 TraceCheckUtils]: 59: Hoare triple {32364#(< ~counter~0 89)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {31506#true} is VALID [2022-04-08 14:08:03,627 INFO L290 TraceCheckUtils]: 58: Hoare triple {32364#(< ~counter~0 89)} assume !!(#t~post6 < 100);havoc #t~post6; {32364#(< ~counter~0 89)} is VALID [2022-04-08 14:08:03,627 INFO L290 TraceCheckUtils]: 57: Hoare triple {32392#(< ~counter~0 88)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32364#(< ~counter~0 89)} is VALID [2022-04-08 14:08:03,627 INFO L290 TraceCheckUtils]: 56: Hoare triple {32392#(< ~counter~0 88)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {32392#(< ~counter~0 88)} is VALID [2022-04-08 14:08:03,628 INFO L290 TraceCheckUtils]: 55: Hoare triple {32392#(< ~counter~0 88)} assume !!(0 != ~a~0 && 0 != ~b~0); {32392#(< ~counter~0 88)} is VALID [2022-04-08 14:08:03,642 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {31506#true} {32392#(< ~counter~0 88)} #71#return; {32392#(< ~counter~0 88)} is VALID [2022-04-08 14:08:03,642 INFO L290 TraceCheckUtils]: 53: Hoare triple {31506#true} assume true; {31506#true} is VALID [2022-04-08 14:08:03,642 INFO L290 TraceCheckUtils]: 52: Hoare triple {31506#true} assume !(0 == ~cond); {31506#true} is VALID [2022-04-08 14:08:03,642 INFO L290 TraceCheckUtils]: 51: Hoare triple {31506#true} ~cond := #in~cond; {31506#true} is VALID [2022-04-08 14:08:03,642 INFO L272 TraceCheckUtils]: 50: Hoare triple {32392#(< ~counter~0 88)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {31506#true} is VALID [2022-04-08 14:08:03,642 INFO L290 TraceCheckUtils]: 49: Hoare triple {32392#(< ~counter~0 88)} assume !!(#t~post6 < 100);havoc #t~post6; {32392#(< ~counter~0 88)} is VALID [2022-04-08 14:08:03,643 INFO L290 TraceCheckUtils]: 48: Hoare triple {32420#(< ~counter~0 87)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32392#(< ~counter~0 88)} is VALID [2022-04-08 14:08:03,643 INFO L290 TraceCheckUtils]: 47: Hoare triple {32420#(< ~counter~0 87)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {32420#(< ~counter~0 87)} is VALID [2022-04-08 14:08:03,643 INFO L290 TraceCheckUtils]: 46: Hoare triple {32420#(< ~counter~0 87)} assume !!(0 != ~a~0 && 0 != ~b~0); {32420#(< ~counter~0 87)} is VALID [2022-04-08 14:08:03,644 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {31506#true} {32420#(< ~counter~0 87)} #71#return; {32420#(< ~counter~0 87)} is VALID [2022-04-08 14:08:03,644 INFO L290 TraceCheckUtils]: 44: Hoare triple {31506#true} assume true; {31506#true} is VALID [2022-04-08 14:08:03,644 INFO L290 TraceCheckUtils]: 43: Hoare triple {31506#true} assume !(0 == ~cond); {31506#true} is VALID [2022-04-08 14:08:03,644 INFO L290 TraceCheckUtils]: 42: Hoare triple {31506#true} ~cond := #in~cond; {31506#true} is VALID [2022-04-08 14:08:03,644 INFO L272 TraceCheckUtils]: 41: Hoare triple {32420#(< ~counter~0 87)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {31506#true} is VALID [2022-04-08 14:08:03,644 INFO L290 TraceCheckUtils]: 40: Hoare triple {32420#(< ~counter~0 87)} assume !!(#t~post6 < 100);havoc #t~post6; {32420#(< ~counter~0 87)} is VALID [2022-04-08 14:08:03,645 INFO L290 TraceCheckUtils]: 39: Hoare triple {32448#(< ~counter~0 86)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32420#(< ~counter~0 87)} is VALID [2022-04-08 14:08:03,645 INFO L290 TraceCheckUtils]: 38: Hoare triple {32448#(< ~counter~0 86)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {32448#(< ~counter~0 86)} is VALID [2022-04-08 14:08:03,645 INFO L290 TraceCheckUtils]: 37: Hoare triple {32448#(< ~counter~0 86)} assume !!(0 != ~a~0 && 0 != ~b~0); {32448#(< ~counter~0 86)} is VALID [2022-04-08 14:08:03,646 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {31506#true} {32448#(< ~counter~0 86)} #71#return; {32448#(< ~counter~0 86)} is VALID [2022-04-08 14:08:03,646 INFO L290 TraceCheckUtils]: 35: Hoare triple {31506#true} assume true; {31506#true} is VALID [2022-04-08 14:08:03,646 INFO L290 TraceCheckUtils]: 34: Hoare triple {31506#true} assume !(0 == ~cond); {31506#true} is VALID [2022-04-08 14:08:03,646 INFO L290 TraceCheckUtils]: 33: Hoare triple {31506#true} ~cond := #in~cond; {31506#true} is VALID [2022-04-08 14:08:03,646 INFO L272 TraceCheckUtils]: 32: Hoare triple {32448#(< ~counter~0 86)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {31506#true} is VALID [2022-04-08 14:08:03,646 INFO L290 TraceCheckUtils]: 31: Hoare triple {32448#(< ~counter~0 86)} assume !!(#t~post6 < 100);havoc #t~post6; {32448#(< ~counter~0 86)} is VALID [2022-04-08 14:08:03,647 INFO L290 TraceCheckUtils]: 30: Hoare triple {32476#(< ~counter~0 85)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32448#(< ~counter~0 86)} is VALID [2022-04-08 14:08:03,647 INFO L290 TraceCheckUtils]: 29: Hoare triple {32476#(< ~counter~0 85)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {32476#(< ~counter~0 85)} is VALID [2022-04-08 14:08:03,647 INFO L290 TraceCheckUtils]: 28: Hoare triple {32476#(< ~counter~0 85)} assume !!(0 != ~a~0 && 0 != ~b~0); {32476#(< ~counter~0 85)} is VALID [2022-04-08 14:08:03,648 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {31506#true} {32476#(< ~counter~0 85)} #71#return; {32476#(< ~counter~0 85)} is VALID [2022-04-08 14:08:03,648 INFO L290 TraceCheckUtils]: 26: Hoare triple {31506#true} assume true; {31506#true} is VALID [2022-04-08 14:08:03,648 INFO L290 TraceCheckUtils]: 25: Hoare triple {31506#true} assume !(0 == ~cond); {31506#true} is VALID [2022-04-08 14:08:03,648 INFO L290 TraceCheckUtils]: 24: Hoare triple {31506#true} ~cond := #in~cond; {31506#true} is VALID [2022-04-08 14:08:03,648 INFO L272 TraceCheckUtils]: 23: Hoare triple {32476#(< ~counter~0 85)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {31506#true} is VALID [2022-04-08 14:08:03,649 INFO L290 TraceCheckUtils]: 22: Hoare triple {32476#(< ~counter~0 85)} assume !!(#t~post6 < 100);havoc #t~post6; {32476#(< ~counter~0 85)} is VALID [2022-04-08 14:08:03,649 INFO L290 TraceCheckUtils]: 21: Hoare triple {32504#(< ~counter~0 84)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32476#(< ~counter~0 85)} is VALID [2022-04-08 14:08:03,649 INFO L290 TraceCheckUtils]: 20: Hoare triple {32504#(< ~counter~0 84)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {32504#(< ~counter~0 84)} is VALID [2022-04-08 14:08:03,650 INFO L290 TraceCheckUtils]: 19: Hoare triple {32504#(< ~counter~0 84)} assume !!(0 != ~a~0 && 0 != ~b~0); {32504#(< ~counter~0 84)} is VALID [2022-04-08 14:08:03,653 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {31506#true} {32504#(< ~counter~0 84)} #71#return; {32504#(< ~counter~0 84)} is VALID [2022-04-08 14:08:03,653 INFO L290 TraceCheckUtils]: 17: Hoare triple {31506#true} assume true; {31506#true} is VALID [2022-04-08 14:08:03,653 INFO L290 TraceCheckUtils]: 16: Hoare triple {31506#true} assume !(0 == ~cond); {31506#true} is VALID [2022-04-08 14:08:03,653 INFO L290 TraceCheckUtils]: 15: Hoare triple {31506#true} ~cond := #in~cond; {31506#true} is VALID [2022-04-08 14:08:03,653 INFO L272 TraceCheckUtils]: 14: Hoare triple {32504#(< ~counter~0 84)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {31506#true} is VALID [2022-04-08 14:08:03,655 INFO L290 TraceCheckUtils]: 13: Hoare triple {32504#(< ~counter~0 84)} assume !!(#t~post6 < 100);havoc #t~post6; {32504#(< ~counter~0 84)} is VALID [2022-04-08 14:08:03,656 INFO L290 TraceCheckUtils]: 12: Hoare triple {32532#(< ~counter~0 83)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32504#(< ~counter~0 84)} is VALID [2022-04-08 14:08:03,656 INFO L290 TraceCheckUtils]: 11: Hoare triple {32532#(< ~counter~0 83)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {32532#(< ~counter~0 83)} is VALID [2022-04-08 14:08:03,657 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {31506#true} {32532#(< ~counter~0 83)} #69#return; {32532#(< ~counter~0 83)} is VALID [2022-04-08 14:08:03,657 INFO L290 TraceCheckUtils]: 9: Hoare triple {31506#true} assume true; {31506#true} is VALID [2022-04-08 14:08:03,657 INFO L290 TraceCheckUtils]: 8: Hoare triple {31506#true} assume !(0 == ~cond); {31506#true} is VALID [2022-04-08 14:08:03,657 INFO L290 TraceCheckUtils]: 7: Hoare triple {31506#true} ~cond := #in~cond; {31506#true} is VALID [2022-04-08 14:08:03,657 INFO L272 TraceCheckUtils]: 6: Hoare triple {32532#(< ~counter~0 83)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {31506#true} is VALID [2022-04-08 14:08:03,657 INFO L290 TraceCheckUtils]: 5: Hoare triple {32532#(< ~counter~0 83)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {32532#(< ~counter~0 83)} is VALID [2022-04-08 14:08:03,657 INFO L272 TraceCheckUtils]: 4: Hoare triple {32532#(< ~counter~0 83)} call #t~ret7 := main(); {32532#(< ~counter~0 83)} is VALID [2022-04-08 14:08:03,657 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {32532#(< ~counter~0 83)} {31506#true} #77#return; {32532#(< ~counter~0 83)} is VALID [2022-04-08 14:08:03,658 INFO L290 TraceCheckUtils]: 2: Hoare triple {32532#(< ~counter~0 83)} assume true; {32532#(< ~counter~0 83)} is VALID [2022-04-08 14:08:03,658 INFO L290 TraceCheckUtils]: 1: Hoare triple {31506#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {32532#(< ~counter~0 83)} is VALID [2022-04-08 14:08:03,658 INFO L272 TraceCheckUtils]: 0: Hoare triple {31506#true} call ULTIMATE.init(); {31506#true} is VALID [2022-04-08 14:08:03,659 INFO L134 CoverageAnalysis]: Checked inductivity of 1292 backedges. 34 proven. 714 refuted. 0 times theorem prover too weak. 544 trivial. 0 not checked. [2022-04-08 14:08:03,659 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 14:08:03,659 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1636243682] [2022-04-08 14:08:03,659 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 14:08:03,659 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1998806640] [2022-04-08 14:08:03,659 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1998806640] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 14:08:03,659 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 14:08:03,659 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [21, 21] total 40 [2022-04-08 14:08:03,659 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 14:08:03,660 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [722795693] [2022-04-08 14:08:03,660 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [722795693] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 14:08:03,660 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 14:08:03,660 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [21] imperfect sequences [] total 21 [2022-04-08 14:08:03,660 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2082704651] [2022-04-08 14:08:03,660 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 14:08:03,665 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 21 states have (on average 6.238095238095238) internal successors, (131), 20 states have internal predecessors, (131), 20 states have call successors, (21), 20 states have call predecessors, (21), 18 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) Word has length 171 [2022-04-08 14:08:03,665 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 14:08:03,665 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 21 states, 21 states have (on average 6.238095238095238) internal successors, (131), 20 states have internal predecessors, (131), 20 states have call successors, (21), 20 states have call predecessors, (21), 18 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-08 14:08:03,767 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 171 edges. 171 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:08:03,767 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2022-04-08 14:08:03,767 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 14:08:03,767 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2022-04-08 14:08:03,768 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=708, Invalid=852, Unknown=0, NotChecked=0, Total=1560 [2022-04-08 14:08:03,768 INFO L87 Difference]: Start difference. First operand 219 states and 272 transitions. Second operand has 21 states, 21 states have (on average 6.238095238095238) internal successors, (131), 20 states have internal predecessors, (131), 20 states have call successors, (21), 20 states have call predecessors, (21), 18 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-08 14:08:04,561 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:08:04,561 INFO L93 Difference]: Finished difference Result 238 states and 295 transitions. [2022-04-08 14:08:04,561 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 38 states. [2022-04-08 14:08:04,561 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 21 states have (on average 6.238095238095238) internal successors, (131), 20 states have internal predecessors, (131), 20 states have call successors, (21), 20 states have call predecessors, (21), 18 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) Word has length 171 [2022-04-08 14:08:04,562 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 14:08:04,562 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 21 states have (on average 6.238095238095238) internal successors, (131), 20 states have internal predecessors, (131), 20 states have call successors, (21), 20 states have call predecessors, (21), 18 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-08 14:08:04,564 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 281 transitions. [2022-04-08 14:08:04,565 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 21 states have (on average 6.238095238095238) internal successors, (131), 20 states have internal predecessors, (131), 20 states have call successors, (21), 20 states have call predecessors, (21), 18 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-08 14:08:04,582 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 281 transitions. [2022-04-08 14:08:04,583 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 38 states and 281 transitions. [2022-04-08 14:08:04,749 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 281 edges. 281 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:08:04,752 INFO L225 Difference]: With dead ends: 238 [2022-04-08 14:08:04,752 INFO L226 Difference]: Without dead ends: 230 [2022-04-08 14:08:04,753 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 358 GetRequests, 303 SyntacticMatches, 0 SemanticMatches, 55 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 188 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=1371, Invalid=1821, Unknown=0, NotChecked=0, Total=3192 [2022-04-08 14:08:04,756 INFO L913 BasicCegarLoop]: 47 mSDtfsCounter, 222 mSDsluCounter, 275 mSDsCounter, 0 mSdLazyCounter, 113 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 222 SdHoareTripleChecker+Valid, 322 SdHoareTripleChecker+Invalid, 123 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 113 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 14:08:04,757 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [222 Valid, 322 Invalid, 123 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 113 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 14:08:04,771 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 230 states. [2022-04-08 14:08:05,060 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 230 to 230. [2022-04-08 14:08:05,060 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 14:08:05,061 INFO L82 GeneralOperation]: Start isEquivalent. First operand 230 states. Second operand has 230 states, 183 states have (on average 1.3114754098360655) internal successors, (240), 184 states have internal predecessors, (240), 24 states have call successors, (24), 23 states have call predecessors, (24), 22 states have return successors, (22), 22 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-08 14:08:05,061 INFO L74 IsIncluded]: Start isIncluded. First operand 230 states. Second operand has 230 states, 183 states have (on average 1.3114754098360655) internal successors, (240), 184 states have internal predecessors, (240), 24 states have call successors, (24), 23 states have call predecessors, (24), 22 states have return successors, (22), 22 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-08 14:08:05,061 INFO L87 Difference]: Start difference. First operand 230 states. Second operand has 230 states, 183 states have (on average 1.3114754098360655) internal successors, (240), 184 states have internal predecessors, (240), 24 states have call successors, (24), 23 states have call predecessors, (24), 22 states have return successors, (22), 22 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-08 14:08:05,070 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:08:05,070 INFO L93 Difference]: Finished difference Result 230 states and 286 transitions. [2022-04-08 14:08:05,070 INFO L276 IsEmpty]: Start isEmpty. Operand 230 states and 286 transitions. [2022-04-08 14:08:05,070 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:08:05,070 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:08:05,071 INFO L74 IsIncluded]: Start isIncluded. First operand has 230 states, 183 states have (on average 1.3114754098360655) internal successors, (240), 184 states have internal predecessors, (240), 24 states have call successors, (24), 23 states have call predecessors, (24), 22 states have return successors, (22), 22 states have call predecessors, (22), 22 states have call successors, (22) Second operand 230 states. [2022-04-08 14:08:05,071 INFO L87 Difference]: Start difference. First operand has 230 states, 183 states have (on average 1.3114754098360655) internal successors, (240), 184 states have internal predecessors, (240), 24 states have call successors, (24), 23 states have call predecessors, (24), 22 states have return successors, (22), 22 states have call predecessors, (22), 22 states have call successors, (22) Second operand 230 states. [2022-04-08 14:08:05,082 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:08:05,082 INFO L93 Difference]: Finished difference Result 230 states and 286 transitions. [2022-04-08 14:08:05,082 INFO L276 IsEmpty]: Start isEmpty. Operand 230 states and 286 transitions. [2022-04-08 14:08:05,083 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:08:05,083 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:08:05,083 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 14:08:05,083 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 14:08:05,083 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 230 states, 183 states have (on average 1.3114754098360655) internal successors, (240), 184 states have internal predecessors, (240), 24 states have call successors, (24), 23 states have call predecessors, (24), 22 states have return successors, (22), 22 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-08 14:08:05,086 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 230 states to 230 states and 286 transitions. [2022-04-08 14:08:05,086 INFO L78 Accepts]: Start accepts. Automaton has 230 states and 286 transitions. Word has length 171 [2022-04-08 14:08:05,086 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 14:08:05,086 INFO L478 AbstractCegarLoop]: Abstraction has 230 states and 286 transitions. [2022-04-08 14:08:05,087 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 21 states, 21 states have (on average 6.238095238095238) internal successors, (131), 20 states have internal predecessors, (131), 20 states have call successors, (21), 20 states have call predecessors, (21), 18 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-08 14:08:05,087 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 230 states and 286 transitions. [2022-04-08 14:08:41,963 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 286 edges. 269 inductive. 0 not inductive. 17 times theorem prover too weak to decide inductivity. [2022-04-08 14:08:41,963 INFO L276 IsEmpty]: Start isEmpty. Operand 230 states and 286 transitions. [2022-04-08 14:08:41,964 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 181 [2022-04-08 14:08:41,964 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 14:08:41,964 INFO L499 BasicCegarLoop]: trace histogram [19, 19, 18, 18, 18, 18, 18, 18, 18, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 14:08:41,981 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (31)] Forceful destruction successful, exit code 0 [2022-04-08 14:08:42,164 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 31 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable30 [2022-04-08 14:08:42,165 INFO L403 AbstractCegarLoop]: === Iteration 32 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 14:08:42,165 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 14:08:42,165 INFO L85 PathProgramCache]: Analyzing trace with hash -1754232326, now seen corresponding path program 35 times [2022-04-08 14:08:42,165 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 14:08:42,165 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [433604206] [2022-04-08 14:08:48,217 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 14:08:48,217 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 14:08:48,217 INFO L85 PathProgramCache]: Analyzing trace with hash -1754232326, now seen corresponding path program 36 times [2022-04-08 14:08:48,217 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 14:08:48,217 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [388198578] [2022-04-08 14:08:48,217 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 14:08:48,217 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 14:08:48,242 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 14:08:48,242 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1970535034] [2022-04-08 14:08:48,242 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 14:08:48,242 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 14:08:48,242 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 14:08:48,243 INFO L229 MonitoredProcess]: Starting monitored process 32 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 14:08:48,244 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (32)] Waiting until timeout for monitored process [2022-04-08 14:08:48,543 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 19 check-sat command(s) [2022-04-08 14:08:48,543 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 14:08:48,545 INFO L263 TraceCheckSpWp]: Trace formula consists of 554 conjuncts, 41 conjunts are in the unsatisfiable core [2022-04-08 14:08:48,578 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 14:08:48,589 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 14:08:49,443 INFO L272 TraceCheckUtils]: 0: Hoare triple {34001#true} call ULTIMATE.init(); {34001#true} is VALID [2022-04-08 14:08:49,444 INFO L290 TraceCheckUtils]: 1: Hoare triple {34001#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {34009#(<= ~counter~0 0)} is VALID [2022-04-08 14:08:49,444 INFO L290 TraceCheckUtils]: 2: Hoare triple {34009#(<= ~counter~0 0)} assume true; {34009#(<= ~counter~0 0)} is VALID [2022-04-08 14:08:49,444 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {34009#(<= ~counter~0 0)} {34001#true} #77#return; {34009#(<= ~counter~0 0)} is VALID [2022-04-08 14:08:49,445 INFO L272 TraceCheckUtils]: 4: Hoare triple {34009#(<= ~counter~0 0)} call #t~ret7 := main(); {34009#(<= ~counter~0 0)} is VALID [2022-04-08 14:08:49,445 INFO L290 TraceCheckUtils]: 5: Hoare triple {34009#(<= ~counter~0 0)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {34009#(<= ~counter~0 0)} is VALID [2022-04-08 14:08:49,445 INFO L272 TraceCheckUtils]: 6: Hoare triple {34009#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {34009#(<= ~counter~0 0)} is VALID [2022-04-08 14:08:49,445 INFO L290 TraceCheckUtils]: 7: Hoare triple {34009#(<= ~counter~0 0)} ~cond := #in~cond; {34009#(<= ~counter~0 0)} is VALID [2022-04-08 14:08:49,445 INFO L290 TraceCheckUtils]: 8: Hoare triple {34009#(<= ~counter~0 0)} assume !(0 == ~cond); {34009#(<= ~counter~0 0)} is VALID [2022-04-08 14:08:49,446 INFO L290 TraceCheckUtils]: 9: Hoare triple {34009#(<= ~counter~0 0)} assume true; {34009#(<= ~counter~0 0)} is VALID [2022-04-08 14:08:49,446 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {34009#(<= ~counter~0 0)} {34009#(<= ~counter~0 0)} #69#return; {34009#(<= ~counter~0 0)} is VALID [2022-04-08 14:08:49,446 INFO L290 TraceCheckUtils]: 11: Hoare triple {34009#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {34009#(<= ~counter~0 0)} is VALID [2022-04-08 14:08:49,447 INFO L290 TraceCheckUtils]: 12: Hoare triple {34009#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34043#(<= ~counter~0 1)} is VALID [2022-04-08 14:08:49,447 INFO L290 TraceCheckUtils]: 13: Hoare triple {34043#(<= ~counter~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {34043#(<= ~counter~0 1)} is VALID [2022-04-08 14:08:49,447 INFO L272 TraceCheckUtils]: 14: Hoare triple {34043#(<= ~counter~0 1)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {34043#(<= ~counter~0 1)} is VALID [2022-04-08 14:08:49,447 INFO L290 TraceCheckUtils]: 15: Hoare triple {34043#(<= ~counter~0 1)} ~cond := #in~cond; {34043#(<= ~counter~0 1)} is VALID [2022-04-08 14:08:49,448 INFO L290 TraceCheckUtils]: 16: Hoare triple {34043#(<= ~counter~0 1)} assume !(0 == ~cond); {34043#(<= ~counter~0 1)} is VALID [2022-04-08 14:08:49,448 INFO L290 TraceCheckUtils]: 17: Hoare triple {34043#(<= ~counter~0 1)} assume true; {34043#(<= ~counter~0 1)} is VALID [2022-04-08 14:08:49,448 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {34043#(<= ~counter~0 1)} {34043#(<= ~counter~0 1)} #71#return; {34043#(<= ~counter~0 1)} is VALID [2022-04-08 14:08:49,448 INFO L290 TraceCheckUtils]: 19: Hoare triple {34043#(<= ~counter~0 1)} assume !!(0 != ~a~0 && 0 != ~b~0); {34043#(<= ~counter~0 1)} is VALID [2022-04-08 14:08:49,448 INFO L290 TraceCheckUtils]: 20: Hoare triple {34043#(<= ~counter~0 1)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {34043#(<= ~counter~0 1)} is VALID [2022-04-08 14:08:49,449 INFO L290 TraceCheckUtils]: 21: Hoare triple {34043#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34071#(<= ~counter~0 2)} is VALID [2022-04-08 14:08:49,449 INFO L290 TraceCheckUtils]: 22: Hoare triple {34071#(<= ~counter~0 2)} assume !!(#t~post6 < 100);havoc #t~post6; {34071#(<= ~counter~0 2)} is VALID [2022-04-08 14:08:49,449 INFO L272 TraceCheckUtils]: 23: Hoare triple {34071#(<= ~counter~0 2)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {34071#(<= ~counter~0 2)} is VALID [2022-04-08 14:08:49,450 INFO L290 TraceCheckUtils]: 24: Hoare triple {34071#(<= ~counter~0 2)} ~cond := #in~cond; {34071#(<= ~counter~0 2)} is VALID [2022-04-08 14:08:49,450 INFO L290 TraceCheckUtils]: 25: Hoare triple {34071#(<= ~counter~0 2)} assume !(0 == ~cond); {34071#(<= ~counter~0 2)} is VALID [2022-04-08 14:08:49,450 INFO L290 TraceCheckUtils]: 26: Hoare triple {34071#(<= ~counter~0 2)} assume true; {34071#(<= ~counter~0 2)} is VALID [2022-04-08 14:08:49,450 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {34071#(<= ~counter~0 2)} {34071#(<= ~counter~0 2)} #71#return; {34071#(<= ~counter~0 2)} is VALID [2022-04-08 14:08:49,450 INFO L290 TraceCheckUtils]: 28: Hoare triple {34071#(<= ~counter~0 2)} assume !!(0 != ~a~0 && 0 != ~b~0); {34071#(<= ~counter~0 2)} is VALID [2022-04-08 14:08:49,451 INFO L290 TraceCheckUtils]: 29: Hoare triple {34071#(<= ~counter~0 2)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {34071#(<= ~counter~0 2)} is VALID [2022-04-08 14:08:49,451 INFO L290 TraceCheckUtils]: 30: Hoare triple {34071#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34099#(<= ~counter~0 3)} is VALID [2022-04-08 14:08:49,451 INFO L290 TraceCheckUtils]: 31: Hoare triple {34099#(<= ~counter~0 3)} assume !!(#t~post6 < 100);havoc #t~post6; {34099#(<= ~counter~0 3)} is VALID [2022-04-08 14:08:49,452 INFO L272 TraceCheckUtils]: 32: Hoare triple {34099#(<= ~counter~0 3)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {34099#(<= ~counter~0 3)} is VALID [2022-04-08 14:08:49,453 INFO L290 TraceCheckUtils]: 33: Hoare triple {34099#(<= ~counter~0 3)} ~cond := #in~cond; {34099#(<= ~counter~0 3)} is VALID [2022-04-08 14:08:49,453 INFO L290 TraceCheckUtils]: 34: Hoare triple {34099#(<= ~counter~0 3)} assume !(0 == ~cond); {34099#(<= ~counter~0 3)} is VALID [2022-04-08 14:08:49,453 INFO L290 TraceCheckUtils]: 35: Hoare triple {34099#(<= ~counter~0 3)} assume true; {34099#(<= ~counter~0 3)} is VALID [2022-04-08 14:08:49,454 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {34099#(<= ~counter~0 3)} {34099#(<= ~counter~0 3)} #71#return; {34099#(<= ~counter~0 3)} is VALID [2022-04-08 14:08:49,454 INFO L290 TraceCheckUtils]: 37: Hoare triple {34099#(<= ~counter~0 3)} assume !!(0 != ~a~0 && 0 != ~b~0); {34099#(<= ~counter~0 3)} is VALID [2022-04-08 14:08:49,454 INFO L290 TraceCheckUtils]: 38: Hoare triple {34099#(<= ~counter~0 3)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {34099#(<= ~counter~0 3)} is VALID [2022-04-08 14:08:49,454 INFO L290 TraceCheckUtils]: 39: Hoare triple {34099#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34127#(<= ~counter~0 4)} is VALID [2022-04-08 14:08:49,454 INFO L290 TraceCheckUtils]: 40: Hoare triple {34127#(<= ~counter~0 4)} assume !!(#t~post6 < 100);havoc #t~post6; {34127#(<= ~counter~0 4)} is VALID [2022-04-08 14:08:49,455 INFO L272 TraceCheckUtils]: 41: Hoare triple {34127#(<= ~counter~0 4)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {34127#(<= ~counter~0 4)} is VALID [2022-04-08 14:08:49,455 INFO L290 TraceCheckUtils]: 42: Hoare triple {34127#(<= ~counter~0 4)} ~cond := #in~cond; {34127#(<= ~counter~0 4)} is VALID [2022-04-08 14:08:49,455 INFO L290 TraceCheckUtils]: 43: Hoare triple {34127#(<= ~counter~0 4)} assume !(0 == ~cond); {34127#(<= ~counter~0 4)} is VALID [2022-04-08 14:08:49,455 INFO L290 TraceCheckUtils]: 44: Hoare triple {34127#(<= ~counter~0 4)} assume true; {34127#(<= ~counter~0 4)} is VALID [2022-04-08 14:08:49,456 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {34127#(<= ~counter~0 4)} {34127#(<= ~counter~0 4)} #71#return; {34127#(<= ~counter~0 4)} is VALID [2022-04-08 14:08:49,456 INFO L290 TraceCheckUtils]: 46: Hoare triple {34127#(<= ~counter~0 4)} assume !!(0 != ~a~0 && 0 != ~b~0); {34127#(<= ~counter~0 4)} is VALID [2022-04-08 14:08:49,456 INFO L290 TraceCheckUtils]: 47: Hoare triple {34127#(<= ~counter~0 4)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {34127#(<= ~counter~0 4)} is VALID [2022-04-08 14:08:49,456 INFO L290 TraceCheckUtils]: 48: Hoare triple {34127#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34155#(<= ~counter~0 5)} is VALID [2022-04-08 14:08:49,457 INFO L290 TraceCheckUtils]: 49: Hoare triple {34155#(<= ~counter~0 5)} assume !!(#t~post6 < 100);havoc #t~post6; {34155#(<= ~counter~0 5)} is VALID [2022-04-08 14:08:49,457 INFO L272 TraceCheckUtils]: 50: Hoare triple {34155#(<= ~counter~0 5)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {34155#(<= ~counter~0 5)} is VALID [2022-04-08 14:08:49,457 INFO L290 TraceCheckUtils]: 51: Hoare triple {34155#(<= ~counter~0 5)} ~cond := #in~cond; {34155#(<= ~counter~0 5)} is VALID [2022-04-08 14:08:49,457 INFO L290 TraceCheckUtils]: 52: Hoare triple {34155#(<= ~counter~0 5)} assume !(0 == ~cond); {34155#(<= ~counter~0 5)} is VALID [2022-04-08 14:08:49,457 INFO L290 TraceCheckUtils]: 53: Hoare triple {34155#(<= ~counter~0 5)} assume true; {34155#(<= ~counter~0 5)} is VALID [2022-04-08 14:08:49,458 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {34155#(<= ~counter~0 5)} {34155#(<= ~counter~0 5)} #71#return; {34155#(<= ~counter~0 5)} is VALID [2022-04-08 14:08:49,458 INFO L290 TraceCheckUtils]: 55: Hoare triple {34155#(<= ~counter~0 5)} assume !!(0 != ~a~0 && 0 != ~b~0); {34155#(<= ~counter~0 5)} is VALID [2022-04-08 14:08:49,458 INFO L290 TraceCheckUtils]: 56: Hoare triple {34155#(<= ~counter~0 5)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {34155#(<= ~counter~0 5)} is VALID [2022-04-08 14:08:49,459 INFO L290 TraceCheckUtils]: 57: Hoare triple {34155#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34183#(<= ~counter~0 6)} is VALID [2022-04-08 14:08:49,459 INFO L290 TraceCheckUtils]: 58: Hoare triple {34183#(<= ~counter~0 6)} assume !!(#t~post6 < 100);havoc #t~post6; {34183#(<= ~counter~0 6)} is VALID [2022-04-08 14:08:49,459 INFO L272 TraceCheckUtils]: 59: Hoare triple {34183#(<= ~counter~0 6)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {34183#(<= ~counter~0 6)} is VALID [2022-04-08 14:08:49,459 INFO L290 TraceCheckUtils]: 60: Hoare triple {34183#(<= ~counter~0 6)} ~cond := #in~cond; {34183#(<= ~counter~0 6)} is VALID [2022-04-08 14:08:49,459 INFO L290 TraceCheckUtils]: 61: Hoare triple {34183#(<= ~counter~0 6)} assume !(0 == ~cond); {34183#(<= ~counter~0 6)} is VALID [2022-04-08 14:08:49,460 INFO L290 TraceCheckUtils]: 62: Hoare triple {34183#(<= ~counter~0 6)} assume true; {34183#(<= ~counter~0 6)} is VALID [2022-04-08 14:08:49,460 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {34183#(<= ~counter~0 6)} {34183#(<= ~counter~0 6)} #71#return; {34183#(<= ~counter~0 6)} is VALID [2022-04-08 14:08:49,460 INFO L290 TraceCheckUtils]: 64: Hoare triple {34183#(<= ~counter~0 6)} assume !!(0 != ~a~0 && 0 != ~b~0); {34183#(<= ~counter~0 6)} is VALID [2022-04-08 14:08:49,460 INFO L290 TraceCheckUtils]: 65: Hoare triple {34183#(<= ~counter~0 6)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {34183#(<= ~counter~0 6)} is VALID [2022-04-08 14:08:49,461 INFO L290 TraceCheckUtils]: 66: Hoare triple {34183#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34211#(<= ~counter~0 7)} is VALID [2022-04-08 14:08:49,461 INFO L290 TraceCheckUtils]: 67: Hoare triple {34211#(<= ~counter~0 7)} assume !!(#t~post6 < 100);havoc #t~post6; {34211#(<= ~counter~0 7)} is VALID [2022-04-08 14:08:49,461 INFO L272 TraceCheckUtils]: 68: Hoare triple {34211#(<= ~counter~0 7)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {34211#(<= ~counter~0 7)} is VALID [2022-04-08 14:08:49,461 INFO L290 TraceCheckUtils]: 69: Hoare triple {34211#(<= ~counter~0 7)} ~cond := #in~cond; {34211#(<= ~counter~0 7)} is VALID [2022-04-08 14:08:49,461 INFO L290 TraceCheckUtils]: 70: Hoare triple {34211#(<= ~counter~0 7)} assume !(0 == ~cond); {34211#(<= ~counter~0 7)} is VALID [2022-04-08 14:08:49,462 INFO L290 TraceCheckUtils]: 71: Hoare triple {34211#(<= ~counter~0 7)} assume true; {34211#(<= ~counter~0 7)} is VALID [2022-04-08 14:08:49,462 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {34211#(<= ~counter~0 7)} {34211#(<= ~counter~0 7)} #71#return; {34211#(<= ~counter~0 7)} is VALID [2022-04-08 14:08:49,462 INFO L290 TraceCheckUtils]: 73: Hoare triple {34211#(<= ~counter~0 7)} assume !!(0 != ~a~0 && 0 != ~b~0); {34211#(<= ~counter~0 7)} is VALID [2022-04-08 14:08:49,462 INFO L290 TraceCheckUtils]: 74: Hoare triple {34211#(<= ~counter~0 7)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {34211#(<= ~counter~0 7)} is VALID [2022-04-08 14:08:49,463 INFO L290 TraceCheckUtils]: 75: Hoare triple {34211#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34239#(<= ~counter~0 8)} is VALID [2022-04-08 14:08:49,463 INFO L290 TraceCheckUtils]: 76: Hoare triple {34239#(<= ~counter~0 8)} assume !!(#t~post6 < 100);havoc #t~post6; {34239#(<= ~counter~0 8)} is VALID [2022-04-08 14:08:49,463 INFO L272 TraceCheckUtils]: 77: Hoare triple {34239#(<= ~counter~0 8)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {34239#(<= ~counter~0 8)} is VALID [2022-04-08 14:08:49,463 INFO L290 TraceCheckUtils]: 78: Hoare triple {34239#(<= ~counter~0 8)} ~cond := #in~cond; {34239#(<= ~counter~0 8)} is VALID [2022-04-08 14:08:49,464 INFO L290 TraceCheckUtils]: 79: Hoare triple {34239#(<= ~counter~0 8)} assume !(0 == ~cond); {34239#(<= ~counter~0 8)} is VALID [2022-04-08 14:08:49,464 INFO L290 TraceCheckUtils]: 80: Hoare triple {34239#(<= ~counter~0 8)} assume true; {34239#(<= ~counter~0 8)} is VALID [2022-04-08 14:08:49,464 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {34239#(<= ~counter~0 8)} {34239#(<= ~counter~0 8)} #71#return; {34239#(<= ~counter~0 8)} is VALID [2022-04-08 14:08:49,464 INFO L290 TraceCheckUtils]: 82: Hoare triple {34239#(<= ~counter~0 8)} assume !!(0 != ~a~0 && 0 != ~b~0); {34239#(<= ~counter~0 8)} is VALID [2022-04-08 14:08:49,464 INFO L290 TraceCheckUtils]: 83: Hoare triple {34239#(<= ~counter~0 8)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {34239#(<= ~counter~0 8)} is VALID [2022-04-08 14:08:49,465 INFO L290 TraceCheckUtils]: 84: Hoare triple {34239#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34267#(<= ~counter~0 9)} is VALID [2022-04-08 14:08:49,465 INFO L290 TraceCheckUtils]: 85: Hoare triple {34267#(<= ~counter~0 9)} assume !!(#t~post6 < 100);havoc #t~post6; {34267#(<= ~counter~0 9)} is VALID [2022-04-08 14:08:49,465 INFO L272 TraceCheckUtils]: 86: Hoare triple {34267#(<= ~counter~0 9)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {34267#(<= ~counter~0 9)} is VALID [2022-04-08 14:08:49,465 INFO L290 TraceCheckUtils]: 87: Hoare triple {34267#(<= ~counter~0 9)} ~cond := #in~cond; {34267#(<= ~counter~0 9)} is VALID [2022-04-08 14:08:49,466 INFO L290 TraceCheckUtils]: 88: Hoare triple {34267#(<= ~counter~0 9)} assume !(0 == ~cond); {34267#(<= ~counter~0 9)} is VALID [2022-04-08 14:08:49,466 INFO L290 TraceCheckUtils]: 89: Hoare triple {34267#(<= ~counter~0 9)} assume true; {34267#(<= ~counter~0 9)} is VALID [2022-04-08 14:08:49,466 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {34267#(<= ~counter~0 9)} {34267#(<= ~counter~0 9)} #71#return; {34267#(<= ~counter~0 9)} is VALID [2022-04-08 14:08:49,466 INFO L290 TraceCheckUtils]: 91: Hoare triple {34267#(<= ~counter~0 9)} assume !!(0 != ~a~0 && 0 != ~b~0); {34267#(<= ~counter~0 9)} is VALID [2022-04-08 14:08:49,466 INFO L290 TraceCheckUtils]: 92: Hoare triple {34267#(<= ~counter~0 9)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {34267#(<= ~counter~0 9)} is VALID [2022-04-08 14:08:49,467 INFO L290 TraceCheckUtils]: 93: Hoare triple {34267#(<= ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34295#(<= ~counter~0 10)} is VALID [2022-04-08 14:08:49,467 INFO L290 TraceCheckUtils]: 94: Hoare triple {34295#(<= ~counter~0 10)} assume !!(#t~post6 < 100);havoc #t~post6; {34295#(<= ~counter~0 10)} is VALID [2022-04-08 14:08:49,467 INFO L272 TraceCheckUtils]: 95: Hoare triple {34295#(<= ~counter~0 10)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {34295#(<= ~counter~0 10)} is VALID [2022-04-08 14:08:49,467 INFO L290 TraceCheckUtils]: 96: Hoare triple {34295#(<= ~counter~0 10)} ~cond := #in~cond; {34295#(<= ~counter~0 10)} is VALID [2022-04-08 14:08:49,468 INFO L290 TraceCheckUtils]: 97: Hoare triple {34295#(<= ~counter~0 10)} assume !(0 == ~cond); {34295#(<= ~counter~0 10)} is VALID [2022-04-08 14:08:49,468 INFO L290 TraceCheckUtils]: 98: Hoare triple {34295#(<= ~counter~0 10)} assume true; {34295#(<= ~counter~0 10)} is VALID [2022-04-08 14:08:49,468 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {34295#(<= ~counter~0 10)} {34295#(<= ~counter~0 10)} #71#return; {34295#(<= ~counter~0 10)} is VALID [2022-04-08 14:08:49,468 INFO L290 TraceCheckUtils]: 100: Hoare triple {34295#(<= ~counter~0 10)} assume !!(0 != ~a~0 && 0 != ~b~0); {34295#(<= ~counter~0 10)} is VALID [2022-04-08 14:08:49,468 INFO L290 TraceCheckUtils]: 101: Hoare triple {34295#(<= ~counter~0 10)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {34295#(<= ~counter~0 10)} is VALID [2022-04-08 14:08:49,469 INFO L290 TraceCheckUtils]: 102: Hoare triple {34295#(<= ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34323#(<= ~counter~0 11)} is VALID [2022-04-08 14:08:49,469 INFO L290 TraceCheckUtils]: 103: Hoare triple {34323#(<= ~counter~0 11)} assume !!(#t~post6 < 100);havoc #t~post6; {34323#(<= ~counter~0 11)} is VALID [2022-04-08 14:08:49,469 INFO L272 TraceCheckUtils]: 104: Hoare triple {34323#(<= ~counter~0 11)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {34323#(<= ~counter~0 11)} is VALID [2022-04-08 14:08:49,470 INFO L290 TraceCheckUtils]: 105: Hoare triple {34323#(<= ~counter~0 11)} ~cond := #in~cond; {34323#(<= ~counter~0 11)} is VALID [2022-04-08 14:08:49,470 INFO L290 TraceCheckUtils]: 106: Hoare triple {34323#(<= ~counter~0 11)} assume !(0 == ~cond); {34323#(<= ~counter~0 11)} is VALID [2022-04-08 14:08:49,470 INFO L290 TraceCheckUtils]: 107: Hoare triple {34323#(<= ~counter~0 11)} assume true; {34323#(<= ~counter~0 11)} is VALID [2022-04-08 14:08:49,470 INFO L284 TraceCheckUtils]: 108: Hoare quadruple {34323#(<= ~counter~0 11)} {34323#(<= ~counter~0 11)} #71#return; {34323#(<= ~counter~0 11)} is VALID [2022-04-08 14:08:49,470 INFO L290 TraceCheckUtils]: 109: Hoare triple {34323#(<= ~counter~0 11)} assume !!(0 != ~a~0 && 0 != ~b~0); {34323#(<= ~counter~0 11)} is VALID [2022-04-08 14:08:49,471 INFO L290 TraceCheckUtils]: 110: Hoare triple {34323#(<= ~counter~0 11)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {34323#(<= ~counter~0 11)} is VALID [2022-04-08 14:08:49,471 INFO L290 TraceCheckUtils]: 111: Hoare triple {34323#(<= ~counter~0 11)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34351#(<= ~counter~0 12)} is VALID [2022-04-08 14:08:49,471 INFO L290 TraceCheckUtils]: 112: Hoare triple {34351#(<= ~counter~0 12)} assume !!(#t~post6 < 100);havoc #t~post6; {34351#(<= ~counter~0 12)} is VALID [2022-04-08 14:08:49,471 INFO L272 TraceCheckUtils]: 113: Hoare triple {34351#(<= ~counter~0 12)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {34351#(<= ~counter~0 12)} is VALID [2022-04-08 14:08:49,472 INFO L290 TraceCheckUtils]: 114: Hoare triple {34351#(<= ~counter~0 12)} ~cond := #in~cond; {34351#(<= ~counter~0 12)} is VALID [2022-04-08 14:08:49,472 INFO L290 TraceCheckUtils]: 115: Hoare triple {34351#(<= ~counter~0 12)} assume !(0 == ~cond); {34351#(<= ~counter~0 12)} is VALID [2022-04-08 14:08:49,472 INFO L290 TraceCheckUtils]: 116: Hoare triple {34351#(<= ~counter~0 12)} assume true; {34351#(<= ~counter~0 12)} is VALID [2022-04-08 14:08:49,472 INFO L284 TraceCheckUtils]: 117: Hoare quadruple {34351#(<= ~counter~0 12)} {34351#(<= ~counter~0 12)} #71#return; {34351#(<= ~counter~0 12)} is VALID [2022-04-08 14:08:49,472 INFO L290 TraceCheckUtils]: 118: Hoare triple {34351#(<= ~counter~0 12)} assume !!(0 != ~a~0 && 0 != ~b~0); {34351#(<= ~counter~0 12)} is VALID [2022-04-08 14:08:49,473 INFO L290 TraceCheckUtils]: 119: Hoare triple {34351#(<= ~counter~0 12)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {34351#(<= ~counter~0 12)} is VALID [2022-04-08 14:08:49,473 INFO L290 TraceCheckUtils]: 120: Hoare triple {34351#(<= ~counter~0 12)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34379#(<= ~counter~0 13)} is VALID [2022-04-08 14:08:49,473 INFO L290 TraceCheckUtils]: 121: Hoare triple {34379#(<= ~counter~0 13)} assume !!(#t~post6 < 100);havoc #t~post6; {34379#(<= ~counter~0 13)} is VALID [2022-04-08 14:08:49,473 INFO L272 TraceCheckUtils]: 122: Hoare triple {34379#(<= ~counter~0 13)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {34379#(<= ~counter~0 13)} is VALID [2022-04-08 14:08:49,474 INFO L290 TraceCheckUtils]: 123: Hoare triple {34379#(<= ~counter~0 13)} ~cond := #in~cond; {34379#(<= ~counter~0 13)} is VALID [2022-04-08 14:08:49,474 INFO L290 TraceCheckUtils]: 124: Hoare triple {34379#(<= ~counter~0 13)} assume !(0 == ~cond); {34379#(<= ~counter~0 13)} is VALID [2022-04-08 14:08:49,474 INFO L290 TraceCheckUtils]: 125: Hoare triple {34379#(<= ~counter~0 13)} assume true; {34379#(<= ~counter~0 13)} is VALID [2022-04-08 14:08:49,474 INFO L284 TraceCheckUtils]: 126: Hoare quadruple {34379#(<= ~counter~0 13)} {34379#(<= ~counter~0 13)} #71#return; {34379#(<= ~counter~0 13)} is VALID [2022-04-08 14:08:49,475 INFO L290 TraceCheckUtils]: 127: Hoare triple {34379#(<= ~counter~0 13)} assume !!(0 != ~a~0 && 0 != ~b~0); {34379#(<= ~counter~0 13)} is VALID [2022-04-08 14:08:49,475 INFO L290 TraceCheckUtils]: 128: Hoare triple {34379#(<= ~counter~0 13)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {34379#(<= ~counter~0 13)} is VALID [2022-04-08 14:08:49,475 INFO L290 TraceCheckUtils]: 129: Hoare triple {34379#(<= ~counter~0 13)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34407#(<= ~counter~0 14)} is VALID [2022-04-08 14:08:49,475 INFO L290 TraceCheckUtils]: 130: Hoare triple {34407#(<= ~counter~0 14)} assume !!(#t~post6 < 100);havoc #t~post6; {34407#(<= ~counter~0 14)} is VALID [2022-04-08 14:08:49,476 INFO L272 TraceCheckUtils]: 131: Hoare triple {34407#(<= ~counter~0 14)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {34407#(<= ~counter~0 14)} is VALID [2022-04-08 14:08:49,476 INFO L290 TraceCheckUtils]: 132: Hoare triple {34407#(<= ~counter~0 14)} ~cond := #in~cond; {34407#(<= ~counter~0 14)} is VALID [2022-04-08 14:08:49,476 INFO L290 TraceCheckUtils]: 133: Hoare triple {34407#(<= ~counter~0 14)} assume !(0 == ~cond); {34407#(<= ~counter~0 14)} is VALID [2022-04-08 14:08:49,476 INFO L290 TraceCheckUtils]: 134: Hoare triple {34407#(<= ~counter~0 14)} assume true; {34407#(<= ~counter~0 14)} is VALID [2022-04-08 14:08:49,476 INFO L284 TraceCheckUtils]: 135: Hoare quadruple {34407#(<= ~counter~0 14)} {34407#(<= ~counter~0 14)} #71#return; {34407#(<= ~counter~0 14)} is VALID [2022-04-08 14:08:49,477 INFO L290 TraceCheckUtils]: 136: Hoare triple {34407#(<= ~counter~0 14)} assume !!(0 != ~a~0 && 0 != ~b~0); {34407#(<= ~counter~0 14)} is VALID [2022-04-08 14:08:49,477 INFO L290 TraceCheckUtils]: 137: Hoare triple {34407#(<= ~counter~0 14)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {34407#(<= ~counter~0 14)} is VALID [2022-04-08 14:08:49,477 INFO L290 TraceCheckUtils]: 138: Hoare triple {34407#(<= ~counter~0 14)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34435#(<= ~counter~0 15)} is VALID [2022-04-08 14:08:49,477 INFO L290 TraceCheckUtils]: 139: Hoare triple {34435#(<= ~counter~0 15)} assume !!(#t~post6 < 100);havoc #t~post6; {34435#(<= ~counter~0 15)} is VALID [2022-04-08 14:08:49,478 INFO L272 TraceCheckUtils]: 140: Hoare triple {34435#(<= ~counter~0 15)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {34435#(<= ~counter~0 15)} is VALID [2022-04-08 14:08:49,478 INFO L290 TraceCheckUtils]: 141: Hoare triple {34435#(<= ~counter~0 15)} ~cond := #in~cond; {34435#(<= ~counter~0 15)} is VALID [2022-04-08 14:08:49,478 INFO L290 TraceCheckUtils]: 142: Hoare triple {34435#(<= ~counter~0 15)} assume !(0 == ~cond); {34435#(<= ~counter~0 15)} is VALID [2022-04-08 14:08:49,478 INFO L290 TraceCheckUtils]: 143: Hoare triple {34435#(<= ~counter~0 15)} assume true; {34435#(<= ~counter~0 15)} is VALID [2022-04-08 14:08:49,479 INFO L284 TraceCheckUtils]: 144: Hoare quadruple {34435#(<= ~counter~0 15)} {34435#(<= ~counter~0 15)} #71#return; {34435#(<= ~counter~0 15)} is VALID [2022-04-08 14:08:49,479 INFO L290 TraceCheckUtils]: 145: Hoare triple {34435#(<= ~counter~0 15)} assume !!(0 != ~a~0 && 0 != ~b~0); {34435#(<= ~counter~0 15)} is VALID [2022-04-08 14:08:49,479 INFO L290 TraceCheckUtils]: 146: Hoare triple {34435#(<= ~counter~0 15)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {34435#(<= ~counter~0 15)} is VALID [2022-04-08 14:08:49,479 INFO L290 TraceCheckUtils]: 147: Hoare triple {34435#(<= ~counter~0 15)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34463#(<= ~counter~0 16)} is VALID [2022-04-08 14:08:49,479 INFO L290 TraceCheckUtils]: 148: Hoare triple {34463#(<= ~counter~0 16)} assume !!(#t~post6 < 100);havoc #t~post6; {34463#(<= ~counter~0 16)} is VALID [2022-04-08 14:08:49,480 INFO L272 TraceCheckUtils]: 149: Hoare triple {34463#(<= ~counter~0 16)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {34463#(<= ~counter~0 16)} is VALID [2022-04-08 14:08:49,480 INFO L290 TraceCheckUtils]: 150: Hoare triple {34463#(<= ~counter~0 16)} ~cond := #in~cond; {34463#(<= ~counter~0 16)} is VALID [2022-04-08 14:08:49,480 INFO L290 TraceCheckUtils]: 151: Hoare triple {34463#(<= ~counter~0 16)} assume !(0 == ~cond); {34463#(<= ~counter~0 16)} is VALID [2022-04-08 14:08:49,480 INFO L290 TraceCheckUtils]: 152: Hoare triple {34463#(<= ~counter~0 16)} assume true; {34463#(<= ~counter~0 16)} is VALID [2022-04-08 14:08:49,481 INFO L284 TraceCheckUtils]: 153: Hoare quadruple {34463#(<= ~counter~0 16)} {34463#(<= ~counter~0 16)} #71#return; {34463#(<= ~counter~0 16)} is VALID [2022-04-08 14:08:49,481 INFO L290 TraceCheckUtils]: 154: Hoare triple {34463#(<= ~counter~0 16)} assume !!(0 != ~a~0 && 0 != ~b~0); {34463#(<= ~counter~0 16)} is VALID [2022-04-08 14:08:49,481 INFO L290 TraceCheckUtils]: 155: Hoare triple {34463#(<= ~counter~0 16)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {34463#(<= ~counter~0 16)} is VALID [2022-04-08 14:08:49,481 INFO L290 TraceCheckUtils]: 156: Hoare triple {34463#(<= ~counter~0 16)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34491#(<= ~counter~0 17)} is VALID [2022-04-08 14:08:49,482 INFO L290 TraceCheckUtils]: 157: Hoare triple {34491#(<= ~counter~0 17)} assume !!(#t~post6 < 100);havoc #t~post6; {34491#(<= ~counter~0 17)} is VALID [2022-04-08 14:08:49,482 INFO L272 TraceCheckUtils]: 158: Hoare triple {34491#(<= ~counter~0 17)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {34491#(<= ~counter~0 17)} is VALID [2022-04-08 14:08:49,482 INFO L290 TraceCheckUtils]: 159: Hoare triple {34491#(<= ~counter~0 17)} ~cond := #in~cond; {34491#(<= ~counter~0 17)} is VALID [2022-04-08 14:08:49,482 INFO L290 TraceCheckUtils]: 160: Hoare triple {34491#(<= ~counter~0 17)} assume !(0 == ~cond); {34491#(<= ~counter~0 17)} is VALID [2022-04-08 14:08:49,482 INFO L290 TraceCheckUtils]: 161: Hoare triple {34491#(<= ~counter~0 17)} assume true; {34491#(<= ~counter~0 17)} is VALID [2022-04-08 14:08:49,483 INFO L284 TraceCheckUtils]: 162: Hoare quadruple {34491#(<= ~counter~0 17)} {34491#(<= ~counter~0 17)} #71#return; {34491#(<= ~counter~0 17)} is VALID [2022-04-08 14:08:49,483 INFO L290 TraceCheckUtils]: 163: Hoare triple {34491#(<= ~counter~0 17)} assume !!(0 != ~a~0 && 0 != ~b~0); {34491#(<= ~counter~0 17)} is VALID [2022-04-08 14:08:49,483 INFO L290 TraceCheckUtils]: 164: Hoare triple {34491#(<= ~counter~0 17)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {34491#(<= ~counter~0 17)} is VALID [2022-04-08 14:08:49,483 INFO L290 TraceCheckUtils]: 165: Hoare triple {34491#(<= ~counter~0 17)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34519#(<= ~counter~0 18)} is VALID [2022-04-08 14:08:49,484 INFO L290 TraceCheckUtils]: 166: Hoare triple {34519#(<= ~counter~0 18)} assume !!(#t~post6 < 100);havoc #t~post6; {34519#(<= ~counter~0 18)} is VALID [2022-04-08 14:08:49,484 INFO L272 TraceCheckUtils]: 167: Hoare triple {34519#(<= ~counter~0 18)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {34519#(<= ~counter~0 18)} is VALID [2022-04-08 14:08:49,484 INFO L290 TraceCheckUtils]: 168: Hoare triple {34519#(<= ~counter~0 18)} ~cond := #in~cond; {34519#(<= ~counter~0 18)} is VALID [2022-04-08 14:08:49,484 INFO L290 TraceCheckUtils]: 169: Hoare triple {34519#(<= ~counter~0 18)} assume !(0 == ~cond); {34519#(<= ~counter~0 18)} is VALID [2022-04-08 14:08:49,484 INFO L290 TraceCheckUtils]: 170: Hoare triple {34519#(<= ~counter~0 18)} assume true; {34519#(<= ~counter~0 18)} is VALID [2022-04-08 14:08:49,485 INFO L284 TraceCheckUtils]: 171: Hoare quadruple {34519#(<= ~counter~0 18)} {34519#(<= ~counter~0 18)} #71#return; {34519#(<= ~counter~0 18)} is VALID [2022-04-08 14:08:49,485 INFO L290 TraceCheckUtils]: 172: Hoare triple {34519#(<= ~counter~0 18)} assume !!(0 != ~a~0 && 0 != ~b~0); {34519#(<= ~counter~0 18)} is VALID [2022-04-08 14:08:49,485 INFO L290 TraceCheckUtils]: 173: Hoare triple {34519#(<= ~counter~0 18)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {34519#(<= ~counter~0 18)} is VALID [2022-04-08 14:08:49,485 INFO L290 TraceCheckUtils]: 174: Hoare triple {34519#(<= ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34547#(<= |main_#t~post6| 18)} is VALID [2022-04-08 14:08:49,486 INFO L290 TraceCheckUtils]: 175: Hoare triple {34547#(<= |main_#t~post6| 18)} assume !(#t~post6 < 100);havoc #t~post6; {34002#false} is VALID [2022-04-08 14:08:49,486 INFO L272 TraceCheckUtils]: 176: Hoare triple {34002#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {34002#false} is VALID [2022-04-08 14:08:49,486 INFO L290 TraceCheckUtils]: 177: Hoare triple {34002#false} ~cond := #in~cond; {34002#false} is VALID [2022-04-08 14:08:49,486 INFO L290 TraceCheckUtils]: 178: Hoare triple {34002#false} assume 0 == ~cond; {34002#false} is VALID [2022-04-08 14:08:49,486 INFO L290 TraceCheckUtils]: 179: Hoare triple {34002#false} assume !false; {34002#false} is VALID [2022-04-08 14:08:49,487 INFO L134 CoverageAnalysis]: Checked inductivity of 1449 backedges. 36 proven. 1413 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 14:08:49,487 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 14:08:50,334 INFO L290 TraceCheckUtils]: 179: Hoare triple {34002#false} assume !false; {34002#false} is VALID [2022-04-08 14:08:50,334 INFO L290 TraceCheckUtils]: 178: Hoare triple {34002#false} assume 0 == ~cond; {34002#false} is VALID [2022-04-08 14:08:50,335 INFO L290 TraceCheckUtils]: 177: Hoare triple {34002#false} ~cond := #in~cond; {34002#false} is VALID [2022-04-08 14:08:50,335 INFO L272 TraceCheckUtils]: 176: Hoare triple {34002#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {34002#false} is VALID [2022-04-08 14:08:50,335 INFO L290 TraceCheckUtils]: 175: Hoare triple {34575#(< |main_#t~post6| 100)} assume !(#t~post6 < 100);havoc #t~post6; {34002#false} is VALID [2022-04-08 14:08:50,335 INFO L290 TraceCheckUtils]: 174: Hoare triple {34579#(< ~counter~0 100)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34575#(< |main_#t~post6| 100)} is VALID [2022-04-08 14:08:50,335 INFO L290 TraceCheckUtils]: 173: Hoare triple {34579#(< ~counter~0 100)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {34579#(< ~counter~0 100)} is VALID [2022-04-08 14:08:50,336 INFO L290 TraceCheckUtils]: 172: Hoare triple {34579#(< ~counter~0 100)} assume !!(0 != ~a~0 && 0 != ~b~0); {34579#(< ~counter~0 100)} is VALID [2022-04-08 14:08:50,336 INFO L284 TraceCheckUtils]: 171: Hoare quadruple {34001#true} {34579#(< ~counter~0 100)} #71#return; {34579#(< ~counter~0 100)} is VALID [2022-04-08 14:08:50,336 INFO L290 TraceCheckUtils]: 170: Hoare triple {34001#true} assume true; {34001#true} is VALID [2022-04-08 14:08:50,336 INFO L290 TraceCheckUtils]: 169: Hoare triple {34001#true} assume !(0 == ~cond); {34001#true} is VALID [2022-04-08 14:08:50,336 INFO L290 TraceCheckUtils]: 168: Hoare triple {34001#true} ~cond := #in~cond; {34001#true} is VALID [2022-04-08 14:08:50,336 INFO L272 TraceCheckUtils]: 167: Hoare triple {34579#(< ~counter~0 100)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {34001#true} is VALID [2022-04-08 14:08:50,336 INFO L290 TraceCheckUtils]: 166: Hoare triple {34579#(< ~counter~0 100)} assume !!(#t~post6 < 100);havoc #t~post6; {34579#(< ~counter~0 100)} is VALID [2022-04-08 14:08:50,337 INFO L290 TraceCheckUtils]: 165: Hoare triple {34607#(< ~counter~0 99)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34579#(< ~counter~0 100)} is VALID [2022-04-08 14:08:50,337 INFO L290 TraceCheckUtils]: 164: Hoare triple {34607#(< ~counter~0 99)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {34607#(< ~counter~0 99)} is VALID [2022-04-08 14:08:50,338 INFO L290 TraceCheckUtils]: 163: Hoare triple {34607#(< ~counter~0 99)} assume !!(0 != ~a~0 && 0 != ~b~0); {34607#(< ~counter~0 99)} is VALID [2022-04-08 14:08:50,338 INFO L284 TraceCheckUtils]: 162: Hoare quadruple {34001#true} {34607#(< ~counter~0 99)} #71#return; {34607#(< ~counter~0 99)} is VALID [2022-04-08 14:08:50,338 INFO L290 TraceCheckUtils]: 161: Hoare triple {34001#true} assume true; {34001#true} is VALID [2022-04-08 14:08:50,338 INFO L290 TraceCheckUtils]: 160: Hoare triple {34001#true} assume !(0 == ~cond); {34001#true} is VALID [2022-04-08 14:08:50,338 INFO L290 TraceCheckUtils]: 159: Hoare triple {34001#true} ~cond := #in~cond; {34001#true} is VALID [2022-04-08 14:08:50,338 INFO L272 TraceCheckUtils]: 158: Hoare triple {34607#(< ~counter~0 99)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {34001#true} is VALID [2022-04-08 14:08:50,338 INFO L290 TraceCheckUtils]: 157: Hoare triple {34607#(< ~counter~0 99)} assume !!(#t~post6 < 100);havoc #t~post6; {34607#(< ~counter~0 99)} is VALID [2022-04-08 14:08:50,339 INFO L290 TraceCheckUtils]: 156: Hoare triple {34635#(< ~counter~0 98)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34607#(< ~counter~0 99)} is VALID [2022-04-08 14:08:50,339 INFO L290 TraceCheckUtils]: 155: Hoare triple {34635#(< ~counter~0 98)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {34635#(< ~counter~0 98)} is VALID [2022-04-08 14:08:50,339 INFO L290 TraceCheckUtils]: 154: Hoare triple {34635#(< ~counter~0 98)} assume !!(0 != ~a~0 && 0 != ~b~0); {34635#(< ~counter~0 98)} is VALID [2022-04-08 14:08:50,340 INFO L284 TraceCheckUtils]: 153: Hoare quadruple {34001#true} {34635#(< ~counter~0 98)} #71#return; {34635#(< ~counter~0 98)} is VALID [2022-04-08 14:08:50,340 INFO L290 TraceCheckUtils]: 152: Hoare triple {34001#true} assume true; {34001#true} is VALID [2022-04-08 14:08:50,340 INFO L290 TraceCheckUtils]: 151: Hoare triple {34001#true} assume !(0 == ~cond); {34001#true} is VALID [2022-04-08 14:08:50,340 INFO L290 TraceCheckUtils]: 150: Hoare triple {34001#true} ~cond := #in~cond; {34001#true} is VALID [2022-04-08 14:08:50,340 INFO L272 TraceCheckUtils]: 149: Hoare triple {34635#(< ~counter~0 98)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {34001#true} is VALID [2022-04-08 14:08:50,340 INFO L290 TraceCheckUtils]: 148: Hoare triple {34635#(< ~counter~0 98)} assume !!(#t~post6 < 100);havoc #t~post6; {34635#(< ~counter~0 98)} is VALID [2022-04-08 14:08:50,341 INFO L290 TraceCheckUtils]: 147: Hoare triple {34663#(< ~counter~0 97)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34635#(< ~counter~0 98)} is VALID [2022-04-08 14:08:50,341 INFO L290 TraceCheckUtils]: 146: Hoare triple {34663#(< ~counter~0 97)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {34663#(< ~counter~0 97)} is VALID [2022-04-08 14:08:50,341 INFO L290 TraceCheckUtils]: 145: Hoare triple {34663#(< ~counter~0 97)} assume !!(0 != ~a~0 && 0 != ~b~0); {34663#(< ~counter~0 97)} is VALID [2022-04-08 14:08:50,341 INFO L284 TraceCheckUtils]: 144: Hoare quadruple {34001#true} {34663#(< ~counter~0 97)} #71#return; {34663#(< ~counter~0 97)} is VALID [2022-04-08 14:08:50,341 INFO L290 TraceCheckUtils]: 143: Hoare triple {34001#true} assume true; {34001#true} is VALID [2022-04-08 14:08:50,342 INFO L290 TraceCheckUtils]: 142: Hoare triple {34001#true} assume !(0 == ~cond); {34001#true} is VALID [2022-04-08 14:08:50,342 INFO L290 TraceCheckUtils]: 141: Hoare triple {34001#true} ~cond := #in~cond; {34001#true} is VALID [2022-04-08 14:08:50,342 INFO L272 TraceCheckUtils]: 140: Hoare triple {34663#(< ~counter~0 97)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {34001#true} is VALID [2022-04-08 14:08:50,342 INFO L290 TraceCheckUtils]: 139: Hoare triple {34663#(< ~counter~0 97)} assume !!(#t~post6 < 100);havoc #t~post6; {34663#(< ~counter~0 97)} is VALID [2022-04-08 14:08:50,342 INFO L290 TraceCheckUtils]: 138: Hoare triple {34691#(< ~counter~0 96)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34663#(< ~counter~0 97)} is VALID [2022-04-08 14:08:50,343 INFO L290 TraceCheckUtils]: 137: Hoare triple {34691#(< ~counter~0 96)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {34691#(< ~counter~0 96)} is VALID [2022-04-08 14:08:50,343 INFO L290 TraceCheckUtils]: 136: Hoare triple {34691#(< ~counter~0 96)} assume !!(0 != ~a~0 && 0 != ~b~0); {34691#(< ~counter~0 96)} is VALID [2022-04-08 14:08:50,343 INFO L284 TraceCheckUtils]: 135: Hoare quadruple {34001#true} {34691#(< ~counter~0 96)} #71#return; {34691#(< ~counter~0 96)} is VALID [2022-04-08 14:08:50,343 INFO L290 TraceCheckUtils]: 134: Hoare triple {34001#true} assume true; {34001#true} is VALID [2022-04-08 14:08:50,343 INFO L290 TraceCheckUtils]: 133: Hoare triple {34001#true} assume !(0 == ~cond); {34001#true} is VALID [2022-04-08 14:08:50,343 INFO L290 TraceCheckUtils]: 132: Hoare triple {34001#true} ~cond := #in~cond; {34001#true} is VALID [2022-04-08 14:08:50,343 INFO L272 TraceCheckUtils]: 131: Hoare triple {34691#(< ~counter~0 96)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {34001#true} is VALID [2022-04-08 14:08:50,344 INFO L290 TraceCheckUtils]: 130: Hoare triple {34691#(< ~counter~0 96)} assume !!(#t~post6 < 100);havoc #t~post6; {34691#(< ~counter~0 96)} is VALID [2022-04-08 14:08:50,344 INFO L290 TraceCheckUtils]: 129: Hoare triple {34719#(< ~counter~0 95)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34691#(< ~counter~0 96)} is VALID [2022-04-08 14:08:50,344 INFO L290 TraceCheckUtils]: 128: Hoare triple {34719#(< ~counter~0 95)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {34719#(< ~counter~0 95)} is VALID [2022-04-08 14:08:50,344 INFO L290 TraceCheckUtils]: 127: Hoare triple {34719#(< ~counter~0 95)} assume !!(0 != ~a~0 && 0 != ~b~0); {34719#(< ~counter~0 95)} is VALID [2022-04-08 14:08:50,345 INFO L284 TraceCheckUtils]: 126: Hoare quadruple {34001#true} {34719#(< ~counter~0 95)} #71#return; {34719#(< ~counter~0 95)} is VALID [2022-04-08 14:08:50,345 INFO L290 TraceCheckUtils]: 125: Hoare triple {34001#true} assume true; {34001#true} is VALID [2022-04-08 14:08:50,345 INFO L290 TraceCheckUtils]: 124: Hoare triple {34001#true} assume !(0 == ~cond); {34001#true} is VALID [2022-04-08 14:08:50,345 INFO L290 TraceCheckUtils]: 123: Hoare triple {34001#true} ~cond := #in~cond; {34001#true} is VALID [2022-04-08 14:08:50,345 INFO L272 TraceCheckUtils]: 122: Hoare triple {34719#(< ~counter~0 95)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {34001#true} is VALID [2022-04-08 14:08:50,345 INFO L290 TraceCheckUtils]: 121: Hoare triple {34719#(< ~counter~0 95)} assume !!(#t~post6 < 100);havoc #t~post6; {34719#(< ~counter~0 95)} is VALID [2022-04-08 14:08:50,346 INFO L290 TraceCheckUtils]: 120: Hoare triple {34747#(< ~counter~0 94)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34719#(< ~counter~0 95)} is VALID [2022-04-08 14:08:50,346 INFO L290 TraceCheckUtils]: 119: Hoare triple {34747#(< ~counter~0 94)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {34747#(< ~counter~0 94)} is VALID [2022-04-08 14:08:50,346 INFO L290 TraceCheckUtils]: 118: Hoare triple {34747#(< ~counter~0 94)} assume !!(0 != ~a~0 && 0 != ~b~0); {34747#(< ~counter~0 94)} is VALID [2022-04-08 14:08:50,346 INFO L284 TraceCheckUtils]: 117: Hoare quadruple {34001#true} {34747#(< ~counter~0 94)} #71#return; {34747#(< ~counter~0 94)} is VALID [2022-04-08 14:08:50,347 INFO L290 TraceCheckUtils]: 116: Hoare triple {34001#true} assume true; {34001#true} is VALID [2022-04-08 14:08:50,347 INFO L290 TraceCheckUtils]: 115: Hoare triple {34001#true} assume !(0 == ~cond); {34001#true} is VALID [2022-04-08 14:08:50,347 INFO L290 TraceCheckUtils]: 114: Hoare triple {34001#true} ~cond := #in~cond; {34001#true} is VALID [2022-04-08 14:08:50,347 INFO L272 TraceCheckUtils]: 113: Hoare triple {34747#(< ~counter~0 94)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {34001#true} is VALID [2022-04-08 14:08:50,347 INFO L290 TraceCheckUtils]: 112: Hoare triple {34747#(< ~counter~0 94)} assume !!(#t~post6 < 100);havoc #t~post6; {34747#(< ~counter~0 94)} is VALID [2022-04-08 14:08:50,347 INFO L290 TraceCheckUtils]: 111: Hoare triple {34775#(< ~counter~0 93)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34747#(< ~counter~0 94)} is VALID [2022-04-08 14:08:50,348 INFO L290 TraceCheckUtils]: 110: Hoare triple {34775#(< ~counter~0 93)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {34775#(< ~counter~0 93)} is VALID [2022-04-08 14:08:50,348 INFO L290 TraceCheckUtils]: 109: Hoare triple {34775#(< ~counter~0 93)} assume !!(0 != ~a~0 && 0 != ~b~0); {34775#(< ~counter~0 93)} is VALID [2022-04-08 14:08:50,348 INFO L284 TraceCheckUtils]: 108: Hoare quadruple {34001#true} {34775#(< ~counter~0 93)} #71#return; {34775#(< ~counter~0 93)} is VALID [2022-04-08 14:08:50,348 INFO L290 TraceCheckUtils]: 107: Hoare triple {34001#true} assume true; {34001#true} is VALID [2022-04-08 14:08:50,348 INFO L290 TraceCheckUtils]: 106: Hoare triple {34001#true} assume !(0 == ~cond); {34001#true} is VALID [2022-04-08 14:08:50,348 INFO L290 TraceCheckUtils]: 105: Hoare triple {34001#true} ~cond := #in~cond; {34001#true} is VALID [2022-04-08 14:08:50,349 INFO L272 TraceCheckUtils]: 104: Hoare triple {34775#(< ~counter~0 93)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {34001#true} is VALID [2022-04-08 14:08:50,350 INFO L290 TraceCheckUtils]: 103: Hoare triple {34775#(< ~counter~0 93)} assume !!(#t~post6 < 100);havoc #t~post6; {34775#(< ~counter~0 93)} is VALID [2022-04-08 14:08:50,350 INFO L290 TraceCheckUtils]: 102: Hoare triple {34803#(< ~counter~0 92)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34775#(< ~counter~0 93)} is VALID [2022-04-08 14:08:50,351 INFO L290 TraceCheckUtils]: 101: Hoare triple {34803#(< ~counter~0 92)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {34803#(< ~counter~0 92)} is VALID [2022-04-08 14:08:50,351 INFO L290 TraceCheckUtils]: 100: Hoare triple {34803#(< ~counter~0 92)} assume !!(0 != ~a~0 && 0 != ~b~0); {34803#(< ~counter~0 92)} is VALID [2022-04-08 14:08:50,351 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {34001#true} {34803#(< ~counter~0 92)} #71#return; {34803#(< ~counter~0 92)} is VALID [2022-04-08 14:08:50,351 INFO L290 TraceCheckUtils]: 98: Hoare triple {34001#true} assume true; {34001#true} is VALID [2022-04-08 14:08:50,351 INFO L290 TraceCheckUtils]: 97: Hoare triple {34001#true} assume !(0 == ~cond); {34001#true} is VALID [2022-04-08 14:08:50,351 INFO L290 TraceCheckUtils]: 96: Hoare triple {34001#true} ~cond := #in~cond; {34001#true} is VALID [2022-04-08 14:08:50,352 INFO L272 TraceCheckUtils]: 95: Hoare triple {34803#(< ~counter~0 92)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {34001#true} is VALID [2022-04-08 14:08:50,352 INFO L290 TraceCheckUtils]: 94: Hoare triple {34803#(< ~counter~0 92)} assume !!(#t~post6 < 100);havoc #t~post6; {34803#(< ~counter~0 92)} is VALID [2022-04-08 14:08:50,352 INFO L290 TraceCheckUtils]: 93: Hoare triple {34831#(< ~counter~0 91)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34803#(< ~counter~0 92)} is VALID [2022-04-08 14:08:50,352 INFO L290 TraceCheckUtils]: 92: Hoare triple {34831#(< ~counter~0 91)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {34831#(< ~counter~0 91)} is VALID [2022-04-08 14:08:50,353 INFO L290 TraceCheckUtils]: 91: Hoare triple {34831#(< ~counter~0 91)} assume !!(0 != ~a~0 && 0 != ~b~0); {34831#(< ~counter~0 91)} is VALID [2022-04-08 14:08:50,353 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {34001#true} {34831#(< ~counter~0 91)} #71#return; {34831#(< ~counter~0 91)} is VALID [2022-04-08 14:08:50,353 INFO L290 TraceCheckUtils]: 89: Hoare triple {34001#true} assume true; {34001#true} is VALID [2022-04-08 14:08:50,353 INFO L290 TraceCheckUtils]: 88: Hoare triple {34001#true} assume !(0 == ~cond); {34001#true} is VALID [2022-04-08 14:08:50,353 INFO L290 TraceCheckUtils]: 87: Hoare triple {34001#true} ~cond := #in~cond; {34001#true} is VALID [2022-04-08 14:08:50,353 INFO L272 TraceCheckUtils]: 86: Hoare triple {34831#(< ~counter~0 91)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {34001#true} is VALID [2022-04-08 14:08:50,353 INFO L290 TraceCheckUtils]: 85: Hoare triple {34831#(< ~counter~0 91)} assume !!(#t~post6 < 100);havoc #t~post6; {34831#(< ~counter~0 91)} is VALID [2022-04-08 14:08:50,355 INFO L290 TraceCheckUtils]: 84: Hoare triple {34859#(< ~counter~0 90)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34831#(< ~counter~0 91)} is VALID [2022-04-08 14:08:50,355 INFO L290 TraceCheckUtils]: 83: Hoare triple {34859#(< ~counter~0 90)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {34859#(< ~counter~0 90)} is VALID [2022-04-08 14:08:50,355 INFO L290 TraceCheckUtils]: 82: Hoare triple {34859#(< ~counter~0 90)} assume !!(0 != ~a~0 && 0 != ~b~0); {34859#(< ~counter~0 90)} is VALID [2022-04-08 14:08:50,356 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {34001#true} {34859#(< ~counter~0 90)} #71#return; {34859#(< ~counter~0 90)} is VALID [2022-04-08 14:08:50,356 INFO L290 TraceCheckUtils]: 80: Hoare triple {34001#true} assume true; {34001#true} is VALID [2022-04-08 14:08:50,356 INFO L290 TraceCheckUtils]: 79: Hoare triple {34001#true} assume !(0 == ~cond); {34001#true} is VALID [2022-04-08 14:08:50,356 INFO L290 TraceCheckUtils]: 78: Hoare triple {34001#true} ~cond := #in~cond; {34001#true} is VALID [2022-04-08 14:08:50,356 INFO L272 TraceCheckUtils]: 77: Hoare triple {34859#(< ~counter~0 90)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {34001#true} is VALID [2022-04-08 14:08:50,356 INFO L290 TraceCheckUtils]: 76: Hoare triple {34859#(< ~counter~0 90)} assume !!(#t~post6 < 100);havoc #t~post6; {34859#(< ~counter~0 90)} is VALID [2022-04-08 14:08:50,357 INFO L290 TraceCheckUtils]: 75: Hoare triple {34887#(< ~counter~0 89)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34859#(< ~counter~0 90)} is VALID [2022-04-08 14:08:50,357 INFO L290 TraceCheckUtils]: 74: Hoare triple {34887#(< ~counter~0 89)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {34887#(< ~counter~0 89)} is VALID [2022-04-08 14:08:50,357 INFO L290 TraceCheckUtils]: 73: Hoare triple {34887#(< ~counter~0 89)} assume !!(0 != ~a~0 && 0 != ~b~0); {34887#(< ~counter~0 89)} is VALID [2022-04-08 14:08:50,357 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {34001#true} {34887#(< ~counter~0 89)} #71#return; {34887#(< ~counter~0 89)} is VALID [2022-04-08 14:08:50,358 INFO L290 TraceCheckUtils]: 71: Hoare triple {34001#true} assume true; {34001#true} is VALID [2022-04-08 14:08:50,358 INFO L290 TraceCheckUtils]: 70: Hoare triple {34001#true} assume !(0 == ~cond); {34001#true} is VALID [2022-04-08 14:08:50,358 INFO L290 TraceCheckUtils]: 69: Hoare triple {34001#true} ~cond := #in~cond; {34001#true} is VALID [2022-04-08 14:08:50,358 INFO L272 TraceCheckUtils]: 68: Hoare triple {34887#(< ~counter~0 89)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {34001#true} is VALID [2022-04-08 14:08:50,358 INFO L290 TraceCheckUtils]: 67: Hoare triple {34887#(< ~counter~0 89)} assume !!(#t~post6 < 100);havoc #t~post6; {34887#(< ~counter~0 89)} is VALID [2022-04-08 14:08:50,358 INFO L290 TraceCheckUtils]: 66: Hoare triple {34915#(< ~counter~0 88)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34887#(< ~counter~0 89)} is VALID [2022-04-08 14:08:50,359 INFO L290 TraceCheckUtils]: 65: Hoare triple {34915#(< ~counter~0 88)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {34915#(< ~counter~0 88)} is VALID [2022-04-08 14:08:50,359 INFO L290 TraceCheckUtils]: 64: Hoare triple {34915#(< ~counter~0 88)} assume !!(0 != ~a~0 && 0 != ~b~0); {34915#(< ~counter~0 88)} is VALID [2022-04-08 14:08:50,359 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {34001#true} {34915#(< ~counter~0 88)} #71#return; {34915#(< ~counter~0 88)} is VALID [2022-04-08 14:08:50,359 INFO L290 TraceCheckUtils]: 62: Hoare triple {34001#true} assume true; {34001#true} is VALID [2022-04-08 14:08:50,359 INFO L290 TraceCheckUtils]: 61: Hoare triple {34001#true} assume !(0 == ~cond); {34001#true} is VALID [2022-04-08 14:08:50,359 INFO L290 TraceCheckUtils]: 60: Hoare triple {34001#true} ~cond := #in~cond; {34001#true} is VALID [2022-04-08 14:08:50,360 INFO L272 TraceCheckUtils]: 59: Hoare triple {34915#(< ~counter~0 88)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {34001#true} is VALID [2022-04-08 14:08:50,360 INFO L290 TraceCheckUtils]: 58: Hoare triple {34915#(< ~counter~0 88)} assume !!(#t~post6 < 100);havoc #t~post6; {34915#(< ~counter~0 88)} is VALID [2022-04-08 14:08:50,360 INFO L290 TraceCheckUtils]: 57: Hoare triple {34943#(< ~counter~0 87)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34915#(< ~counter~0 88)} is VALID [2022-04-08 14:08:50,360 INFO L290 TraceCheckUtils]: 56: Hoare triple {34943#(< ~counter~0 87)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {34943#(< ~counter~0 87)} is VALID [2022-04-08 14:08:50,361 INFO L290 TraceCheckUtils]: 55: Hoare triple {34943#(< ~counter~0 87)} assume !!(0 != ~a~0 && 0 != ~b~0); {34943#(< ~counter~0 87)} is VALID [2022-04-08 14:08:50,361 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {34001#true} {34943#(< ~counter~0 87)} #71#return; {34943#(< ~counter~0 87)} is VALID [2022-04-08 14:08:50,361 INFO L290 TraceCheckUtils]: 53: Hoare triple {34001#true} assume true; {34001#true} is VALID [2022-04-08 14:08:50,361 INFO L290 TraceCheckUtils]: 52: Hoare triple {34001#true} assume !(0 == ~cond); {34001#true} is VALID [2022-04-08 14:08:50,361 INFO L290 TraceCheckUtils]: 51: Hoare triple {34001#true} ~cond := #in~cond; {34001#true} is VALID [2022-04-08 14:08:50,361 INFO L272 TraceCheckUtils]: 50: Hoare triple {34943#(< ~counter~0 87)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {34001#true} is VALID [2022-04-08 14:08:50,361 INFO L290 TraceCheckUtils]: 49: Hoare triple {34943#(< ~counter~0 87)} assume !!(#t~post6 < 100);havoc #t~post6; {34943#(< ~counter~0 87)} is VALID [2022-04-08 14:08:50,362 INFO L290 TraceCheckUtils]: 48: Hoare triple {34971#(< ~counter~0 86)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34943#(< ~counter~0 87)} is VALID [2022-04-08 14:08:50,362 INFO L290 TraceCheckUtils]: 47: Hoare triple {34971#(< ~counter~0 86)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {34971#(< ~counter~0 86)} is VALID [2022-04-08 14:08:50,362 INFO L290 TraceCheckUtils]: 46: Hoare triple {34971#(< ~counter~0 86)} assume !!(0 != ~a~0 && 0 != ~b~0); {34971#(< ~counter~0 86)} is VALID [2022-04-08 14:08:50,363 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {34001#true} {34971#(< ~counter~0 86)} #71#return; {34971#(< ~counter~0 86)} is VALID [2022-04-08 14:08:50,363 INFO L290 TraceCheckUtils]: 44: Hoare triple {34001#true} assume true; {34001#true} is VALID [2022-04-08 14:08:50,363 INFO L290 TraceCheckUtils]: 43: Hoare triple {34001#true} assume !(0 == ~cond); {34001#true} is VALID [2022-04-08 14:08:50,363 INFO L290 TraceCheckUtils]: 42: Hoare triple {34001#true} ~cond := #in~cond; {34001#true} is VALID [2022-04-08 14:08:50,363 INFO L272 TraceCheckUtils]: 41: Hoare triple {34971#(< ~counter~0 86)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {34001#true} is VALID [2022-04-08 14:08:50,363 INFO L290 TraceCheckUtils]: 40: Hoare triple {34971#(< ~counter~0 86)} assume !!(#t~post6 < 100);havoc #t~post6; {34971#(< ~counter~0 86)} is VALID [2022-04-08 14:08:50,364 INFO L290 TraceCheckUtils]: 39: Hoare triple {34999#(< ~counter~0 85)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34971#(< ~counter~0 86)} is VALID [2022-04-08 14:08:50,364 INFO L290 TraceCheckUtils]: 38: Hoare triple {34999#(< ~counter~0 85)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {34999#(< ~counter~0 85)} is VALID [2022-04-08 14:08:50,364 INFO L290 TraceCheckUtils]: 37: Hoare triple {34999#(< ~counter~0 85)} assume !!(0 != ~a~0 && 0 != ~b~0); {34999#(< ~counter~0 85)} is VALID [2022-04-08 14:08:50,364 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {34001#true} {34999#(< ~counter~0 85)} #71#return; {34999#(< ~counter~0 85)} is VALID [2022-04-08 14:08:50,364 INFO L290 TraceCheckUtils]: 35: Hoare triple {34001#true} assume true; {34001#true} is VALID [2022-04-08 14:08:50,365 INFO L290 TraceCheckUtils]: 34: Hoare triple {34001#true} assume !(0 == ~cond); {34001#true} is VALID [2022-04-08 14:08:50,365 INFO L290 TraceCheckUtils]: 33: Hoare triple {34001#true} ~cond := #in~cond; {34001#true} is VALID [2022-04-08 14:08:50,365 INFO L272 TraceCheckUtils]: 32: Hoare triple {34999#(< ~counter~0 85)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {34001#true} is VALID [2022-04-08 14:08:50,365 INFO L290 TraceCheckUtils]: 31: Hoare triple {34999#(< ~counter~0 85)} assume !!(#t~post6 < 100);havoc #t~post6; {34999#(< ~counter~0 85)} is VALID [2022-04-08 14:08:50,365 INFO L290 TraceCheckUtils]: 30: Hoare triple {35027#(< ~counter~0 84)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34999#(< ~counter~0 85)} is VALID [2022-04-08 14:08:50,366 INFO L290 TraceCheckUtils]: 29: Hoare triple {35027#(< ~counter~0 84)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {35027#(< ~counter~0 84)} is VALID [2022-04-08 14:08:50,366 INFO L290 TraceCheckUtils]: 28: Hoare triple {35027#(< ~counter~0 84)} assume !!(0 != ~a~0 && 0 != ~b~0); {35027#(< ~counter~0 84)} is VALID [2022-04-08 14:08:50,366 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {34001#true} {35027#(< ~counter~0 84)} #71#return; {35027#(< ~counter~0 84)} is VALID [2022-04-08 14:08:50,366 INFO L290 TraceCheckUtils]: 26: Hoare triple {34001#true} assume true; {34001#true} is VALID [2022-04-08 14:08:50,366 INFO L290 TraceCheckUtils]: 25: Hoare triple {34001#true} assume !(0 == ~cond); {34001#true} is VALID [2022-04-08 14:08:50,366 INFO L290 TraceCheckUtils]: 24: Hoare triple {34001#true} ~cond := #in~cond; {34001#true} is VALID [2022-04-08 14:08:50,366 INFO L272 TraceCheckUtils]: 23: Hoare triple {35027#(< ~counter~0 84)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {34001#true} is VALID [2022-04-08 14:08:50,367 INFO L290 TraceCheckUtils]: 22: Hoare triple {35027#(< ~counter~0 84)} assume !!(#t~post6 < 100);havoc #t~post6; {35027#(< ~counter~0 84)} is VALID [2022-04-08 14:08:50,367 INFO L290 TraceCheckUtils]: 21: Hoare triple {35055#(< ~counter~0 83)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {35027#(< ~counter~0 84)} is VALID [2022-04-08 14:08:50,367 INFO L290 TraceCheckUtils]: 20: Hoare triple {35055#(< ~counter~0 83)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {35055#(< ~counter~0 83)} is VALID [2022-04-08 14:08:50,367 INFO L290 TraceCheckUtils]: 19: Hoare triple {35055#(< ~counter~0 83)} assume !!(0 != ~a~0 && 0 != ~b~0); {35055#(< ~counter~0 83)} is VALID [2022-04-08 14:08:50,368 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {34001#true} {35055#(< ~counter~0 83)} #71#return; {35055#(< ~counter~0 83)} is VALID [2022-04-08 14:08:50,368 INFO L290 TraceCheckUtils]: 17: Hoare triple {34001#true} assume true; {34001#true} is VALID [2022-04-08 14:08:50,368 INFO L290 TraceCheckUtils]: 16: Hoare triple {34001#true} assume !(0 == ~cond); {34001#true} is VALID [2022-04-08 14:08:50,368 INFO L290 TraceCheckUtils]: 15: Hoare triple {34001#true} ~cond := #in~cond; {34001#true} is VALID [2022-04-08 14:08:50,368 INFO L272 TraceCheckUtils]: 14: Hoare triple {35055#(< ~counter~0 83)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {34001#true} is VALID [2022-04-08 14:08:50,368 INFO L290 TraceCheckUtils]: 13: Hoare triple {35055#(< ~counter~0 83)} assume !!(#t~post6 < 100);havoc #t~post6; {35055#(< ~counter~0 83)} is VALID [2022-04-08 14:08:50,369 INFO L290 TraceCheckUtils]: 12: Hoare triple {35083#(< ~counter~0 82)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {35055#(< ~counter~0 83)} is VALID [2022-04-08 14:08:50,369 INFO L290 TraceCheckUtils]: 11: Hoare triple {35083#(< ~counter~0 82)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {35083#(< ~counter~0 82)} is VALID [2022-04-08 14:08:50,369 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {34001#true} {35083#(< ~counter~0 82)} #69#return; {35083#(< ~counter~0 82)} is VALID [2022-04-08 14:08:50,369 INFO L290 TraceCheckUtils]: 9: Hoare triple {34001#true} assume true; {34001#true} is VALID [2022-04-08 14:08:50,369 INFO L290 TraceCheckUtils]: 8: Hoare triple {34001#true} assume !(0 == ~cond); {34001#true} is VALID [2022-04-08 14:08:50,369 INFO L290 TraceCheckUtils]: 7: Hoare triple {34001#true} ~cond := #in~cond; {34001#true} is VALID [2022-04-08 14:08:50,370 INFO L272 TraceCheckUtils]: 6: Hoare triple {35083#(< ~counter~0 82)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {34001#true} is VALID [2022-04-08 14:08:50,370 INFO L290 TraceCheckUtils]: 5: Hoare triple {35083#(< ~counter~0 82)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {35083#(< ~counter~0 82)} is VALID [2022-04-08 14:08:50,370 INFO L272 TraceCheckUtils]: 4: Hoare triple {35083#(< ~counter~0 82)} call #t~ret7 := main(); {35083#(< ~counter~0 82)} is VALID [2022-04-08 14:08:50,370 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35083#(< ~counter~0 82)} {34001#true} #77#return; {35083#(< ~counter~0 82)} is VALID [2022-04-08 14:08:50,370 INFO L290 TraceCheckUtils]: 2: Hoare triple {35083#(< ~counter~0 82)} assume true; {35083#(< ~counter~0 82)} is VALID [2022-04-08 14:08:50,371 INFO L290 TraceCheckUtils]: 1: Hoare triple {34001#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {35083#(< ~counter~0 82)} is VALID [2022-04-08 14:08:50,371 INFO L272 TraceCheckUtils]: 0: Hoare triple {34001#true} call ULTIMATE.init(); {34001#true} is VALID [2022-04-08 14:08:50,372 INFO L134 CoverageAnalysis]: Checked inductivity of 1449 backedges. 36 proven. 801 refuted. 0 times theorem prover too weak. 612 trivial. 0 not checked. [2022-04-08 14:08:50,372 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 14:08:50,372 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [388198578] [2022-04-08 14:08:50,372 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 14:08:50,372 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1970535034] [2022-04-08 14:08:50,372 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1970535034] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 14:08:50,372 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 14:08:50,372 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [22, 22] total 42 [2022-04-08 14:08:50,372 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 14:08:50,372 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [433604206] [2022-04-08 14:08:50,372 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [433604206] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 14:08:50,373 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 14:08:50,373 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [22] imperfect sequences [] total 22 [2022-04-08 14:08:50,373 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [284463474] [2022-04-08 14:08:50,373 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 14:08:50,373 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 22 states have (on average 6.2727272727272725) internal successors, (138), 21 states have internal predecessors, (138), 21 states have call successors, (22), 21 states have call predecessors, (22), 19 states have return successors, (20), 19 states have call predecessors, (20), 20 states have call successors, (20) Word has length 180 [2022-04-08 14:08:50,373 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 14:08:50,374 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 22 states, 22 states have (on average 6.2727272727272725) internal successors, (138), 21 states have internal predecessors, (138), 21 states have call successors, (22), 21 states have call predecessors, (22), 19 states have return successors, (20), 19 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-08 14:08:50,464 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 180 edges. 180 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:08:50,465 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 22 states [2022-04-08 14:08:50,465 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 14:08:50,465 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2022-04-08 14:08:50,466 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=785, Invalid=937, Unknown=0, NotChecked=0, Total=1722 [2022-04-08 14:08:50,466 INFO L87 Difference]: Start difference. First operand 230 states and 286 transitions. Second operand has 22 states, 22 states have (on average 6.2727272727272725) internal successors, (138), 21 states have internal predecessors, (138), 21 states have call successors, (22), 21 states have call predecessors, (22), 19 states have return successors, (20), 19 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-08 14:08:51,263 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:08:51,264 INFO L93 Difference]: Finished difference Result 249 states and 309 transitions. [2022-04-08 14:08:51,264 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 40 states. [2022-04-08 14:08:51,264 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 22 states have (on average 6.2727272727272725) internal successors, (138), 21 states have internal predecessors, (138), 21 states have call successors, (22), 21 states have call predecessors, (22), 19 states have return successors, (20), 19 states have call predecessors, (20), 20 states have call successors, (20) Word has length 180 [2022-04-08 14:08:51,264 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 14:08:51,264 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 22 states have (on average 6.2727272727272725) internal successors, (138), 21 states have internal predecessors, (138), 21 states have call successors, (22), 21 states have call predecessors, (22), 19 states have return successors, (20), 19 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-08 14:08:51,267 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 295 transitions. [2022-04-08 14:08:51,267 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 22 states have (on average 6.2727272727272725) internal successors, (138), 21 states have internal predecessors, (138), 21 states have call successors, (22), 21 states have call predecessors, (22), 19 states have return successors, (20), 19 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-08 14:08:51,270 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 295 transitions. [2022-04-08 14:08:51,270 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 40 states and 295 transitions. [2022-04-08 14:08:51,508 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 295 edges. 295 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:08:51,511 INFO L225 Difference]: With dead ends: 249 [2022-04-08 14:08:51,511 INFO L226 Difference]: Without dead ends: 241 [2022-04-08 14:08:51,512 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 377 GetRequests, 319 SyntacticMatches, 0 SemanticMatches, 58 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 208 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=1523, Invalid=2017, Unknown=0, NotChecked=0, Total=3540 [2022-04-08 14:08:51,513 INFO L913 BasicCegarLoop]: 48 mSDtfsCounter, 224 mSDsluCounter, 270 mSDsCounter, 0 mSdLazyCounter, 115 mSolverCounterSat, 20 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 224 SdHoareTripleChecker+Valid, 318 SdHoareTripleChecker+Invalid, 135 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 20 IncrementalHoareTripleChecker+Valid, 115 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 14:08:51,513 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [224 Valid, 318 Invalid, 135 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [20 Valid, 115 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 14:08:51,513 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 241 states. [2022-04-08 14:08:51,986 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 241 to 241. [2022-04-08 14:08:51,986 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 14:08:51,986 INFO L82 GeneralOperation]: Start isEquivalent. First operand 241 states. Second operand has 241 states, 192 states have (on average 1.3125) internal successors, (252), 193 states have internal predecessors, (252), 25 states have call successors, (25), 24 states have call predecessors, (25), 23 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-08 14:08:51,987 INFO L74 IsIncluded]: Start isIncluded. First operand 241 states. Second operand has 241 states, 192 states have (on average 1.3125) internal successors, (252), 193 states have internal predecessors, (252), 25 states have call successors, (25), 24 states have call predecessors, (25), 23 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-08 14:08:51,987 INFO L87 Difference]: Start difference. First operand 241 states. Second operand has 241 states, 192 states have (on average 1.3125) internal successors, (252), 193 states have internal predecessors, (252), 25 states have call successors, (25), 24 states have call predecessors, (25), 23 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-08 14:08:51,989 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:08:51,989 INFO L93 Difference]: Finished difference Result 241 states and 300 transitions. [2022-04-08 14:08:51,989 INFO L276 IsEmpty]: Start isEmpty. Operand 241 states and 300 transitions. [2022-04-08 14:08:51,990 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:08:51,990 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:08:51,990 INFO L74 IsIncluded]: Start isIncluded. First operand has 241 states, 192 states have (on average 1.3125) internal successors, (252), 193 states have internal predecessors, (252), 25 states have call successors, (25), 24 states have call predecessors, (25), 23 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) Second operand 241 states. [2022-04-08 14:08:51,990 INFO L87 Difference]: Start difference. First operand has 241 states, 192 states have (on average 1.3125) internal successors, (252), 193 states have internal predecessors, (252), 25 states have call successors, (25), 24 states have call predecessors, (25), 23 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) Second operand 241 states. [2022-04-08 14:08:51,993 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:08:51,993 INFO L93 Difference]: Finished difference Result 241 states and 300 transitions. [2022-04-08 14:08:51,993 INFO L276 IsEmpty]: Start isEmpty. Operand 241 states and 300 transitions. [2022-04-08 14:08:51,993 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:08:51,993 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:08:51,993 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 14:08:51,993 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 14:08:51,993 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 241 states, 192 states have (on average 1.3125) internal successors, (252), 193 states have internal predecessors, (252), 25 states have call successors, (25), 24 states have call predecessors, (25), 23 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-08 14:08:51,996 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 241 states to 241 states and 300 transitions. [2022-04-08 14:08:51,996 INFO L78 Accepts]: Start accepts. Automaton has 241 states and 300 transitions. Word has length 180 [2022-04-08 14:08:51,996 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 14:08:51,997 INFO L478 AbstractCegarLoop]: Abstraction has 241 states and 300 transitions. [2022-04-08 14:08:51,997 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 22 states, 22 states have (on average 6.2727272727272725) internal successors, (138), 21 states have internal predecessors, (138), 21 states have call successors, (22), 21 states have call predecessors, (22), 19 states have return successors, (20), 19 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-08 14:08:51,997 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 241 states and 300 transitions. [2022-04-08 14:09:31,156 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 300 edges. 282 inductive. 0 not inductive. 18 times theorem prover too weak to decide inductivity. [2022-04-08 14:09:31,156 INFO L276 IsEmpty]: Start isEmpty. Operand 241 states and 300 transitions. [2022-04-08 14:09:31,162 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 190 [2022-04-08 14:09:31,162 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 14:09:31,163 INFO L499 BasicCegarLoop]: trace histogram [20, 20, 19, 19, 19, 19, 19, 19, 19, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 14:09:31,180 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (32)] Ended with exit code 0 [2022-04-08 14:09:31,363 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable31,32 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 14:09:31,363 INFO L403 AbstractCegarLoop]: === Iteration 33 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 14:09:31,364 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 14:09:31,364 INFO L85 PathProgramCache]: Analyzing trace with hash 975763522, now seen corresponding path program 37 times [2022-04-08 14:09:31,364 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 14:09:31,364 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1035595776] [2022-04-08 14:09:37,416 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 14:09:37,416 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 14:09:37,417 INFO L85 PathProgramCache]: Analyzing trace with hash 975763522, now seen corresponding path program 38 times [2022-04-08 14:09:37,417 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 14:09:37,417 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [181470901] [2022-04-08 14:09:37,417 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 14:09:37,417 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 14:09:37,438 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 14:09:37,439 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1511021319] [2022-04-08 14:09:37,439 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 14:09:37,439 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 14:09:37,439 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 14:09:37,440 INFO L229 MonitoredProcess]: Starting monitored process 33 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 14:09:37,441 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (33)] Waiting until timeout for monitored process [2022-04-08 14:09:37,549 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 14:09:37,549 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 14:09:37,552 INFO L263 TraceCheckSpWp]: Trace formula consists of 580 conjuncts, 43 conjunts are in the unsatisfiable core [2022-04-08 14:09:37,583 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 14:09:37,588 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 14:09:38,552 INFO L272 TraceCheckUtils]: 0: Hoare triple {36620#true} call ULTIMATE.init(); {36620#true} is VALID [2022-04-08 14:09:38,553 INFO L290 TraceCheckUtils]: 1: Hoare triple {36620#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {36628#(<= ~counter~0 0)} is VALID [2022-04-08 14:09:38,553 INFO L290 TraceCheckUtils]: 2: Hoare triple {36628#(<= ~counter~0 0)} assume true; {36628#(<= ~counter~0 0)} is VALID [2022-04-08 14:09:38,554 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36628#(<= ~counter~0 0)} {36620#true} #77#return; {36628#(<= ~counter~0 0)} is VALID [2022-04-08 14:09:38,554 INFO L272 TraceCheckUtils]: 4: Hoare triple {36628#(<= ~counter~0 0)} call #t~ret7 := main(); {36628#(<= ~counter~0 0)} is VALID [2022-04-08 14:09:38,554 INFO L290 TraceCheckUtils]: 5: Hoare triple {36628#(<= ~counter~0 0)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {36628#(<= ~counter~0 0)} is VALID [2022-04-08 14:09:38,555 INFO L272 TraceCheckUtils]: 6: Hoare triple {36628#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {36628#(<= ~counter~0 0)} is VALID [2022-04-08 14:09:38,555 INFO L290 TraceCheckUtils]: 7: Hoare triple {36628#(<= ~counter~0 0)} ~cond := #in~cond; {36628#(<= ~counter~0 0)} is VALID [2022-04-08 14:09:38,555 INFO L290 TraceCheckUtils]: 8: Hoare triple {36628#(<= ~counter~0 0)} assume !(0 == ~cond); {36628#(<= ~counter~0 0)} is VALID [2022-04-08 14:09:38,555 INFO L290 TraceCheckUtils]: 9: Hoare triple {36628#(<= ~counter~0 0)} assume true; {36628#(<= ~counter~0 0)} is VALID [2022-04-08 14:09:38,556 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {36628#(<= ~counter~0 0)} {36628#(<= ~counter~0 0)} #69#return; {36628#(<= ~counter~0 0)} is VALID [2022-04-08 14:09:38,556 INFO L290 TraceCheckUtils]: 11: Hoare triple {36628#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {36628#(<= ~counter~0 0)} is VALID [2022-04-08 14:09:38,557 INFO L290 TraceCheckUtils]: 12: Hoare triple {36628#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {36662#(<= ~counter~0 1)} is VALID [2022-04-08 14:09:38,557 INFO L290 TraceCheckUtils]: 13: Hoare triple {36662#(<= ~counter~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {36662#(<= ~counter~0 1)} is VALID [2022-04-08 14:09:38,558 INFO L272 TraceCheckUtils]: 14: Hoare triple {36662#(<= ~counter~0 1)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {36662#(<= ~counter~0 1)} is VALID [2022-04-08 14:09:38,558 INFO L290 TraceCheckUtils]: 15: Hoare triple {36662#(<= ~counter~0 1)} ~cond := #in~cond; {36662#(<= ~counter~0 1)} is VALID [2022-04-08 14:09:38,558 INFO L290 TraceCheckUtils]: 16: Hoare triple {36662#(<= ~counter~0 1)} assume !(0 == ~cond); {36662#(<= ~counter~0 1)} is VALID [2022-04-08 14:09:38,559 INFO L290 TraceCheckUtils]: 17: Hoare triple {36662#(<= ~counter~0 1)} assume true; {36662#(<= ~counter~0 1)} is VALID [2022-04-08 14:09:38,559 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {36662#(<= ~counter~0 1)} {36662#(<= ~counter~0 1)} #71#return; {36662#(<= ~counter~0 1)} is VALID [2022-04-08 14:09:38,559 INFO L290 TraceCheckUtils]: 19: Hoare triple {36662#(<= ~counter~0 1)} assume !!(0 != ~a~0 && 0 != ~b~0); {36662#(<= ~counter~0 1)} is VALID [2022-04-08 14:09:38,560 INFO L290 TraceCheckUtils]: 20: Hoare triple {36662#(<= ~counter~0 1)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {36662#(<= ~counter~0 1)} is VALID [2022-04-08 14:09:38,560 INFO L290 TraceCheckUtils]: 21: Hoare triple {36662#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {36690#(<= ~counter~0 2)} is VALID [2022-04-08 14:09:38,560 INFO L290 TraceCheckUtils]: 22: Hoare triple {36690#(<= ~counter~0 2)} assume !!(#t~post6 < 100);havoc #t~post6; {36690#(<= ~counter~0 2)} is VALID [2022-04-08 14:09:38,561 INFO L272 TraceCheckUtils]: 23: Hoare triple {36690#(<= ~counter~0 2)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {36690#(<= ~counter~0 2)} is VALID [2022-04-08 14:09:38,561 INFO L290 TraceCheckUtils]: 24: Hoare triple {36690#(<= ~counter~0 2)} ~cond := #in~cond; {36690#(<= ~counter~0 2)} is VALID [2022-04-08 14:09:38,561 INFO L290 TraceCheckUtils]: 25: Hoare triple {36690#(<= ~counter~0 2)} assume !(0 == ~cond); {36690#(<= ~counter~0 2)} is VALID [2022-04-08 14:09:38,562 INFO L290 TraceCheckUtils]: 26: Hoare triple {36690#(<= ~counter~0 2)} assume true; {36690#(<= ~counter~0 2)} is VALID [2022-04-08 14:09:38,562 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {36690#(<= ~counter~0 2)} {36690#(<= ~counter~0 2)} #71#return; {36690#(<= ~counter~0 2)} is VALID [2022-04-08 14:09:38,563 INFO L290 TraceCheckUtils]: 28: Hoare triple {36690#(<= ~counter~0 2)} assume !!(0 != ~a~0 && 0 != ~b~0); {36690#(<= ~counter~0 2)} is VALID [2022-04-08 14:09:38,563 INFO L290 TraceCheckUtils]: 29: Hoare triple {36690#(<= ~counter~0 2)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {36690#(<= ~counter~0 2)} is VALID [2022-04-08 14:09:38,563 INFO L290 TraceCheckUtils]: 30: Hoare triple {36690#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {36718#(<= ~counter~0 3)} is VALID [2022-04-08 14:09:38,564 INFO L290 TraceCheckUtils]: 31: Hoare triple {36718#(<= ~counter~0 3)} assume !!(#t~post6 < 100);havoc #t~post6; {36718#(<= ~counter~0 3)} is VALID [2022-04-08 14:09:38,564 INFO L272 TraceCheckUtils]: 32: Hoare triple {36718#(<= ~counter~0 3)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {36718#(<= ~counter~0 3)} is VALID [2022-04-08 14:09:38,564 INFO L290 TraceCheckUtils]: 33: Hoare triple {36718#(<= ~counter~0 3)} ~cond := #in~cond; {36718#(<= ~counter~0 3)} is VALID [2022-04-08 14:09:38,565 INFO L290 TraceCheckUtils]: 34: Hoare triple {36718#(<= ~counter~0 3)} assume !(0 == ~cond); {36718#(<= ~counter~0 3)} is VALID [2022-04-08 14:09:38,565 INFO L290 TraceCheckUtils]: 35: Hoare triple {36718#(<= ~counter~0 3)} assume true; {36718#(<= ~counter~0 3)} is VALID [2022-04-08 14:09:38,566 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {36718#(<= ~counter~0 3)} {36718#(<= ~counter~0 3)} #71#return; {36718#(<= ~counter~0 3)} is VALID [2022-04-08 14:09:38,566 INFO L290 TraceCheckUtils]: 37: Hoare triple {36718#(<= ~counter~0 3)} assume !!(0 != ~a~0 && 0 != ~b~0); {36718#(<= ~counter~0 3)} is VALID [2022-04-08 14:09:38,566 INFO L290 TraceCheckUtils]: 38: Hoare triple {36718#(<= ~counter~0 3)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {36718#(<= ~counter~0 3)} is VALID [2022-04-08 14:09:38,567 INFO L290 TraceCheckUtils]: 39: Hoare triple {36718#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {36746#(<= ~counter~0 4)} is VALID [2022-04-08 14:09:38,567 INFO L290 TraceCheckUtils]: 40: Hoare triple {36746#(<= ~counter~0 4)} assume !!(#t~post6 < 100);havoc #t~post6; {36746#(<= ~counter~0 4)} is VALID [2022-04-08 14:09:38,567 INFO L272 TraceCheckUtils]: 41: Hoare triple {36746#(<= ~counter~0 4)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {36746#(<= ~counter~0 4)} is VALID [2022-04-08 14:09:38,568 INFO L290 TraceCheckUtils]: 42: Hoare triple {36746#(<= ~counter~0 4)} ~cond := #in~cond; {36746#(<= ~counter~0 4)} is VALID [2022-04-08 14:09:38,568 INFO L290 TraceCheckUtils]: 43: Hoare triple {36746#(<= ~counter~0 4)} assume !(0 == ~cond); {36746#(<= ~counter~0 4)} is VALID [2022-04-08 14:09:38,568 INFO L290 TraceCheckUtils]: 44: Hoare triple {36746#(<= ~counter~0 4)} assume true; {36746#(<= ~counter~0 4)} is VALID [2022-04-08 14:09:38,569 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {36746#(<= ~counter~0 4)} {36746#(<= ~counter~0 4)} #71#return; {36746#(<= ~counter~0 4)} is VALID [2022-04-08 14:09:38,569 INFO L290 TraceCheckUtils]: 46: Hoare triple {36746#(<= ~counter~0 4)} assume !!(0 != ~a~0 && 0 != ~b~0); {36746#(<= ~counter~0 4)} is VALID [2022-04-08 14:09:38,569 INFO L290 TraceCheckUtils]: 47: Hoare triple {36746#(<= ~counter~0 4)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {36746#(<= ~counter~0 4)} is VALID [2022-04-08 14:09:38,570 INFO L290 TraceCheckUtils]: 48: Hoare triple {36746#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {36774#(<= ~counter~0 5)} is VALID [2022-04-08 14:09:38,570 INFO L290 TraceCheckUtils]: 49: Hoare triple {36774#(<= ~counter~0 5)} assume !!(#t~post6 < 100);havoc #t~post6; {36774#(<= ~counter~0 5)} is VALID [2022-04-08 14:09:38,571 INFO L272 TraceCheckUtils]: 50: Hoare triple {36774#(<= ~counter~0 5)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {36774#(<= ~counter~0 5)} is VALID [2022-04-08 14:09:38,571 INFO L290 TraceCheckUtils]: 51: Hoare triple {36774#(<= ~counter~0 5)} ~cond := #in~cond; {36774#(<= ~counter~0 5)} is VALID [2022-04-08 14:09:38,571 INFO L290 TraceCheckUtils]: 52: Hoare triple {36774#(<= ~counter~0 5)} assume !(0 == ~cond); {36774#(<= ~counter~0 5)} is VALID [2022-04-08 14:09:38,571 INFO L290 TraceCheckUtils]: 53: Hoare triple {36774#(<= ~counter~0 5)} assume true; {36774#(<= ~counter~0 5)} is VALID [2022-04-08 14:09:38,572 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {36774#(<= ~counter~0 5)} {36774#(<= ~counter~0 5)} #71#return; {36774#(<= ~counter~0 5)} is VALID [2022-04-08 14:09:38,572 INFO L290 TraceCheckUtils]: 55: Hoare triple {36774#(<= ~counter~0 5)} assume !!(0 != ~a~0 && 0 != ~b~0); {36774#(<= ~counter~0 5)} is VALID [2022-04-08 14:09:38,572 INFO L290 TraceCheckUtils]: 56: Hoare triple {36774#(<= ~counter~0 5)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {36774#(<= ~counter~0 5)} is VALID [2022-04-08 14:09:38,573 INFO L290 TraceCheckUtils]: 57: Hoare triple {36774#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {36802#(<= ~counter~0 6)} is VALID [2022-04-08 14:09:38,573 INFO L290 TraceCheckUtils]: 58: Hoare triple {36802#(<= ~counter~0 6)} assume !!(#t~post6 < 100);havoc #t~post6; {36802#(<= ~counter~0 6)} is VALID [2022-04-08 14:09:38,574 INFO L272 TraceCheckUtils]: 59: Hoare triple {36802#(<= ~counter~0 6)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {36802#(<= ~counter~0 6)} is VALID [2022-04-08 14:09:38,574 INFO L290 TraceCheckUtils]: 60: Hoare triple {36802#(<= ~counter~0 6)} ~cond := #in~cond; {36802#(<= ~counter~0 6)} is VALID [2022-04-08 14:09:38,574 INFO L290 TraceCheckUtils]: 61: Hoare triple {36802#(<= ~counter~0 6)} assume !(0 == ~cond); {36802#(<= ~counter~0 6)} is VALID [2022-04-08 14:09:38,575 INFO L290 TraceCheckUtils]: 62: Hoare triple {36802#(<= ~counter~0 6)} assume true; {36802#(<= ~counter~0 6)} is VALID [2022-04-08 14:09:38,575 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {36802#(<= ~counter~0 6)} {36802#(<= ~counter~0 6)} #71#return; {36802#(<= ~counter~0 6)} is VALID [2022-04-08 14:09:38,575 INFO L290 TraceCheckUtils]: 64: Hoare triple {36802#(<= ~counter~0 6)} assume !!(0 != ~a~0 && 0 != ~b~0); {36802#(<= ~counter~0 6)} is VALID [2022-04-08 14:09:38,576 INFO L290 TraceCheckUtils]: 65: Hoare triple {36802#(<= ~counter~0 6)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {36802#(<= ~counter~0 6)} is VALID [2022-04-08 14:09:38,576 INFO L290 TraceCheckUtils]: 66: Hoare triple {36802#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {36830#(<= ~counter~0 7)} is VALID [2022-04-08 14:09:38,576 INFO L290 TraceCheckUtils]: 67: Hoare triple {36830#(<= ~counter~0 7)} assume !!(#t~post6 < 100);havoc #t~post6; {36830#(<= ~counter~0 7)} is VALID [2022-04-08 14:09:38,577 INFO L272 TraceCheckUtils]: 68: Hoare triple {36830#(<= ~counter~0 7)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {36830#(<= ~counter~0 7)} is VALID [2022-04-08 14:09:38,577 INFO L290 TraceCheckUtils]: 69: Hoare triple {36830#(<= ~counter~0 7)} ~cond := #in~cond; {36830#(<= ~counter~0 7)} is VALID [2022-04-08 14:09:38,578 INFO L290 TraceCheckUtils]: 70: Hoare triple {36830#(<= ~counter~0 7)} assume !(0 == ~cond); {36830#(<= ~counter~0 7)} is VALID [2022-04-08 14:09:38,578 INFO L290 TraceCheckUtils]: 71: Hoare triple {36830#(<= ~counter~0 7)} assume true; {36830#(<= ~counter~0 7)} is VALID [2022-04-08 14:09:38,578 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {36830#(<= ~counter~0 7)} {36830#(<= ~counter~0 7)} #71#return; {36830#(<= ~counter~0 7)} is VALID [2022-04-08 14:09:38,579 INFO L290 TraceCheckUtils]: 73: Hoare triple {36830#(<= ~counter~0 7)} assume !!(0 != ~a~0 && 0 != ~b~0); {36830#(<= ~counter~0 7)} is VALID [2022-04-08 14:09:38,579 INFO L290 TraceCheckUtils]: 74: Hoare triple {36830#(<= ~counter~0 7)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {36830#(<= ~counter~0 7)} is VALID [2022-04-08 14:09:38,579 INFO L290 TraceCheckUtils]: 75: Hoare triple {36830#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {36858#(<= ~counter~0 8)} is VALID [2022-04-08 14:09:38,580 INFO L290 TraceCheckUtils]: 76: Hoare triple {36858#(<= ~counter~0 8)} assume !!(#t~post6 < 100);havoc #t~post6; {36858#(<= ~counter~0 8)} is VALID [2022-04-08 14:09:38,580 INFO L272 TraceCheckUtils]: 77: Hoare triple {36858#(<= ~counter~0 8)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {36858#(<= ~counter~0 8)} is VALID [2022-04-08 14:09:38,580 INFO L290 TraceCheckUtils]: 78: Hoare triple {36858#(<= ~counter~0 8)} ~cond := #in~cond; {36858#(<= ~counter~0 8)} is VALID [2022-04-08 14:09:38,581 INFO L290 TraceCheckUtils]: 79: Hoare triple {36858#(<= ~counter~0 8)} assume !(0 == ~cond); {36858#(<= ~counter~0 8)} is VALID [2022-04-08 14:09:38,581 INFO L290 TraceCheckUtils]: 80: Hoare triple {36858#(<= ~counter~0 8)} assume true; {36858#(<= ~counter~0 8)} is VALID [2022-04-08 14:09:38,582 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {36858#(<= ~counter~0 8)} {36858#(<= ~counter~0 8)} #71#return; {36858#(<= ~counter~0 8)} is VALID [2022-04-08 14:09:38,582 INFO L290 TraceCheckUtils]: 82: Hoare triple {36858#(<= ~counter~0 8)} assume !!(0 != ~a~0 && 0 != ~b~0); {36858#(<= ~counter~0 8)} is VALID [2022-04-08 14:09:38,582 INFO L290 TraceCheckUtils]: 83: Hoare triple {36858#(<= ~counter~0 8)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {36858#(<= ~counter~0 8)} is VALID [2022-04-08 14:09:38,583 INFO L290 TraceCheckUtils]: 84: Hoare triple {36858#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {36886#(<= ~counter~0 9)} is VALID [2022-04-08 14:09:38,583 INFO L290 TraceCheckUtils]: 85: Hoare triple {36886#(<= ~counter~0 9)} assume !!(#t~post6 < 100);havoc #t~post6; {36886#(<= ~counter~0 9)} is VALID [2022-04-08 14:09:38,583 INFO L272 TraceCheckUtils]: 86: Hoare triple {36886#(<= ~counter~0 9)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {36886#(<= ~counter~0 9)} is VALID [2022-04-08 14:09:38,584 INFO L290 TraceCheckUtils]: 87: Hoare triple {36886#(<= ~counter~0 9)} ~cond := #in~cond; {36886#(<= ~counter~0 9)} is VALID [2022-04-08 14:09:38,584 INFO L290 TraceCheckUtils]: 88: Hoare triple {36886#(<= ~counter~0 9)} assume !(0 == ~cond); {36886#(<= ~counter~0 9)} is VALID [2022-04-08 14:09:38,584 INFO L290 TraceCheckUtils]: 89: Hoare triple {36886#(<= ~counter~0 9)} assume true; {36886#(<= ~counter~0 9)} is VALID [2022-04-08 14:09:38,585 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {36886#(<= ~counter~0 9)} {36886#(<= ~counter~0 9)} #71#return; {36886#(<= ~counter~0 9)} is VALID [2022-04-08 14:09:38,585 INFO L290 TraceCheckUtils]: 91: Hoare triple {36886#(<= ~counter~0 9)} assume !!(0 != ~a~0 && 0 != ~b~0); {36886#(<= ~counter~0 9)} is VALID [2022-04-08 14:09:38,585 INFO L290 TraceCheckUtils]: 92: Hoare triple {36886#(<= ~counter~0 9)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {36886#(<= ~counter~0 9)} is VALID [2022-04-08 14:09:38,586 INFO L290 TraceCheckUtils]: 93: Hoare triple {36886#(<= ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {36914#(<= ~counter~0 10)} is VALID [2022-04-08 14:09:38,586 INFO L290 TraceCheckUtils]: 94: Hoare triple {36914#(<= ~counter~0 10)} assume !!(#t~post6 < 100);havoc #t~post6; {36914#(<= ~counter~0 10)} is VALID [2022-04-08 14:09:38,587 INFO L272 TraceCheckUtils]: 95: Hoare triple {36914#(<= ~counter~0 10)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {36914#(<= ~counter~0 10)} is VALID [2022-04-08 14:09:38,587 INFO L290 TraceCheckUtils]: 96: Hoare triple {36914#(<= ~counter~0 10)} ~cond := #in~cond; {36914#(<= ~counter~0 10)} is VALID [2022-04-08 14:09:38,587 INFO L290 TraceCheckUtils]: 97: Hoare triple {36914#(<= ~counter~0 10)} assume !(0 == ~cond); {36914#(<= ~counter~0 10)} is VALID [2022-04-08 14:09:38,587 INFO L290 TraceCheckUtils]: 98: Hoare triple {36914#(<= ~counter~0 10)} assume true; {36914#(<= ~counter~0 10)} is VALID [2022-04-08 14:09:38,588 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {36914#(<= ~counter~0 10)} {36914#(<= ~counter~0 10)} #71#return; {36914#(<= ~counter~0 10)} is VALID [2022-04-08 14:09:38,588 INFO L290 TraceCheckUtils]: 100: Hoare triple {36914#(<= ~counter~0 10)} assume !!(0 != ~a~0 && 0 != ~b~0); {36914#(<= ~counter~0 10)} is VALID [2022-04-08 14:09:38,589 INFO L290 TraceCheckUtils]: 101: Hoare triple {36914#(<= ~counter~0 10)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {36914#(<= ~counter~0 10)} is VALID [2022-04-08 14:09:38,589 INFO L290 TraceCheckUtils]: 102: Hoare triple {36914#(<= ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {36942#(<= ~counter~0 11)} is VALID [2022-04-08 14:09:38,589 INFO L290 TraceCheckUtils]: 103: Hoare triple {36942#(<= ~counter~0 11)} assume !!(#t~post6 < 100);havoc #t~post6; {36942#(<= ~counter~0 11)} is VALID [2022-04-08 14:09:38,590 INFO L272 TraceCheckUtils]: 104: Hoare triple {36942#(<= ~counter~0 11)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {36942#(<= ~counter~0 11)} is VALID [2022-04-08 14:09:38,590 INFO L290 TraceCheckUtils]: 105: Hoare triple {36942#(<= ~counter~0 11)} ~cond := #in~cond; {36942#(<= ~counter~0 11)} is VALID [2022-04-08 14:09:38,590 INFO L290 TraceCheckUtils]: 106: Hoare triple {36942#(<= ~counter~0 11)} assume !(0 == ~cond); {36942#(<= ~counter~0 11)} is VALID [2022-04-08 14:09:38,591 INFO L290 TraceCheckUtils]: 107: Hoare triple {36942#(<= ~counter~0 11)} assume true; {36942#(<= ~counter~0 11)} is VALID [2022-04-08 14:09:38,591 INFO L284 TraceCheckUtils]: 108: Hoare quadruple {36942#(<= ~counter~0 11)} {36942#(<= ~counter~0 11)} #71#return; {36942#(<= ~counter~0 11)} is VALID [2022-04-08 14:09:38,591 INFO L290 TraceCheckUtils]: 109: Hoare triple {36942#(<= ~counter~0 11)} assume !!(0 != ~a~0 && 0 != ~b~0); {36942#(<= ~counter~0 11)} is VALID [2022-04-08 14:09:38,592 INFO L290 TraceCheckUtils]: 110: Hoare triple {36942#(<= ~counter~0 11)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {36942#(<= ~counter~0 11)} is VALID [2022-04-08 14:09:38,592 INFO L290 TraceCheckUtils]: 111: Hoare triple {36942#(<= ~counter~0 11)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {36970#(<= ~counter~0 12)} is VALID [2022-04-08 14:09:38,593 INFO L290 TraceCheckUtils]: 112: Hoare triple {36970#(<= ~counter~0 12)} assume !!(#t~post6 < 100);havoc #t~post6; {36970#(<= ~counter~0 12)} is VALID [2022-04-08 14:09:38,593 INFO L272 TraceCheckUtils]: 113: Hoare triple {36970#(<= ~counter~0 12)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {36970#(<= ~counter~0 12)} is VALID [2022-04-08 14:09:38,593 INFO L290 TraceCheckUtils]: 114: Hoare triple {36970#(<= ~counter~0 12)} ~cond := #in~cond; {36970#(<= ~counter~0 12)} is VALID [2022-04-08 14:09:38,594 INFO L290 TraceCheckUtils]: 115: Hoare triple {36970#(<= ~counter~0 12)} assume !(0 == ~cond); {36970#(<= ~counter~0 12)} is VALID [2022-04-08 14:09:38,594 INFO L290 TraceCheckUtils]: 116: Hoare triple {36970#(<= ~counter~0 12)} assume true; {36970#(<= ~counter~0 12)} is VALID [2022-04-08 14:09:38,594 INFO L284 TraceCheckUtils]: 117: Hoare quadruple {36970#(<= ~counter~0 12)} {36970#(<= ~counter~0 12)} #71#return; {36970#(<= ~counter~0 12)} is VALID [2022-04-08 14:09:38,595 INFO L290 TraceCheckUtils]: 118: Hoare triple {36970#(<= ~counter~0 12)} assume !!(0 != ~a~0 && 0 != ~b~0); {36970#(<= ~counter~0 12)} is VALID [2022-04-08 14:09:38,595 INFO L290 TraceCheckUtils]: 119: Hoare triple {36970#(<= ~counter~0 12)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {36970#(<= ~counter~0 12)} is VALID [2022-04-08 14:09:38,596 INFO L290 TraceCheckUtils]: 120: Hoare triple {36970#(<= ~counter~0 12)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {36998#(<= ~counter~0 13)} is VALID [2022-04-08 14:09:38,596 INFO L290 TraceCheckUtils]: 121: Hoare triple {36998#(<= ~counter~0 13)} assume !!(#t~post6 < 100);havoc #t~post6; {36998#(<= ~counter~0 13)} is VALID [2022-04-08 14:09:38,596 INFO L272 TraceCheckUtils]: 122: Hoare triple {36998#(<= ~counter~0 13)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {36998#(<= ~counter~0 13)} is VALID [2022-04-08 14:09:38,597 INFO L290 TraceCheckUtils]: 123: Hoare triple {36998#(<= ~counter~0 13)} ~cond := #in~cond; {36998#(<= ~counter~0 13)} is VALID [2022-04-08 14:09:38,597 INFO L290 TraceCheckUtils]: 124: Hoare triple {36998#(<= ~counter~0 13)} assume !(0 == ~cond); {36998#(<= ~counter~0 13)} is VALID [2022-04-08 14:09:38,597 INFO L290 TraceCheckUtils]: 125: Hoare triple {36998#(<= ~counter~0 13)} assume true; {36998#(<= ~counter~0 13)} is VALID [2022-04-08 14:09:38,598 INFO L284 TraceCheckUtils]: 126: Hoare quadruple {36998#(<= ~counter~0 13)} {36998#(<= ~counter~0 13)} #71#return; {36998#(<= ~counter~0 13)} is VALID [2022-04-08 14:09:38,598 INFO L290 TraceCheckUtils]: 127: Hoare triple {36998#(<= ~counter~0 13)} assume !!(0 != ~a~0 && 0 != ~b~0); {36998#(<= ~counter~0 13)} is VALID [2022-04-08 14:09:38,598 INFO L290 TraceCheckUtils]: 128: Hoare triple {36998#(<= ~counter~0 13)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {36998#(<= ~counter~0 13)} is VALID [2022-04-08 14:09:38,599 INFO L290 TraceCheckUtils]: 129: Hoare triple {36998#(<= ~counter~0 13)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37026#(<= ~counter~0 14)} is VALID [2022-04-08 14:09:38,599 INFO L290 TraceCheckUtils]: 130: Hoare triple {37026#(<= ~counter~0 14)} assume !!(#t~post6 < 100);havoc #t~post6; {37026#(<= ~counter~0 14)} is VALID [2022-04-08 14:09:38,600 INFO L272 TraceCheckUtils]: 131: Hoare triple {37026#(<= ~counter~0 14)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {37026#(<= ~counter~0 14)} is VALID [2022-04-08 14:09:38,600 INFO L290 TraceCheckUtils]: 132: Hoare triple {37026#(<= ~counter~0 14)} ~cond := #in~cond; {37026#(<= ~counter~0 14)} is VALID [2022-04-08 14:09:38,600 INFO L290 TraceCheckUtils]: 133: Hoare triple {37026#(<= ~counter~0 14)} assume !(0 == ~cond); {37026#(<= ~counter~0 14)} is VALID [2022-04-08 14:09:38,600 INFO L290 TraceCheckUtils]: 134: Hoare triple {37026#(<= ~counter~0 14)} assume true; {37026#(<= ~counter~0 14)} is VALID [2022-04-08 14:09:38,601 INFO L284 TraceCheckUtils]: 135: Hoare quadruple {37026#(<= ~counter~0 14)} {37026#(<= ~counter~0 14)} #71#return; {37026#(<= ~counter~0 14)} is VALID [2022-04-08 14:09:38,601 INFO L290 TraceCheckUtils]: 136: Hoare triple {37026#(<= ~counter~0 14)} assume !!(0 != ~a~0 && 0 != ~b~0); {37026#(<= ~counter~0 14)} is VALID [2022-04-08 14:09:38,601 INFO L290 TraceCheckUtils]: 137: Hoare triple {37026#(<= ~counter~0 14)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {37026#(<= ~counter~0 14)} is VALID [2022-04-08 14:09:38,602 INFO L290 TraceCheckUtils]: 138: Hoare triple {37026#(<= ~counter~0 14)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37054#(<= ~counter~0 15)} is VALID [2022-04-08 14:09:38,602 INFO L290 TraceCheckUtils]: 139: Hoare triple {37054#(<= ~counter~0 15)} assume !!(#t~post6 < 100);havoc #t~post6; {37054#(<= ~counter~0 15)} is VALID [2022-04-08 14:09:38,603 INFO L272 TraceCheckUtils]: 140: Hoare triple {37054#(<= ~counter~0 15)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {37054#(<= ~counter~0 15)} is VALID [2022-04-08 14:09:38,603 INFO L290 TraceCheckUtils]: 141: Hoare triple {37054#(<= ~counter~0 15)} ~cond := #in~cond; {37054#(<= ~counter~0 15)} is VALID [2022-04-08 14:09:38,603 INFO L290 TraceCheckUtils]: 142: Hoare triple {37054#(<= ~counter~0 15)} assume !(0 == ~cond); {37054#(<= ~counter~0 15)} is VALID [2022-04-08 14:09:38,604 INFO L290 TraceCheckUtils]: 143: Hoare triple {37054#(<= ~counter~0 15)} assume true; {37054#(<= ~counter~0 15)} is VALID [2022-04-08 14:09:38,604 INFO L284 TraceCheckUtils]: 144: Hoare quadruple {37054#(<= ~counter~0 15)} {37054#(<= ~counter~0 15)} #71#return; {37054#(<= ~counter~0 15)} is VALID [2022-04-08 14:09:38,604 INFO L290 TraceCheckUtils]: 145: Hoare triple {37054#(<= ~counter~0 15)} assume !!(0 != ~a~0 && 0 != ~b~0); {37054#(<= ~counter~0 15)} is VALID [2022-04-08 14:09:38,605 INFO L290 TraceCheckUtils]: 146: Hoare triple {37054#(<= ~counter~0 15)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {37054#(<= ~counter~0 15)} is VALID [2022-04-08 14:09:38,605 INFO L290 TraceCheckUtils]: 147: Hoare triple {37054#(<= ~counter~0 15)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37082#(<= ~counter~0 16)} is VALID [2022-04-08 14:09:38,605 INFO L290 TraceCheckUtils]: 148: Hoare triple {37082#(<= ~counter~0 16)} assume !!(#t~post6 < 100);havoc #t~post6; {37082#(<= ~counter~0 16)} is VALID [2022-04-08 14:09:38,606 INFO L272 TraceCheckUtils]: 149: Hoare triple {37082#(<= ~counter~0 16)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {37082#(<= ~counter~0 16)} is VALID [2022-04-08 14:09:38,606 INFO L290 TraceCheckUtils]: 150: Hoare triple {37082#(<= ~counter~0 16)} ~cond := #in~cond; {37082#(<= ~counter~0 16)} is VALID [2022-04-08 14:09:38,607 INFO L290 TraceCheckUtils]: 151: Hoare triple {37082#(<= ~counter~0 16)} assume !(0 == ~cond); {37082#(<= ~counter~0 16)} is VALID [2022-04-08 14:09:38,607 INFO L290 TraceCheckUtils]: 152: Hoare triple {37082#(<= ~counter~0 16)} assume true; {37082#(<= ~counter~0 16)} is VALID [2022-04-08 14:09:38,607 INFO L284 TraceCheckUtils]: 153: Hoare quadruple {37082#(<= ~counter~0 16)} {37082#(<= ~counter~0 16)} #71#return; {37082#(<= ~counter~0 16)} is VALID [2022-04-08 14:09:38,608 INFO L290 TraceCheckUtils]: 154: Hoare triple {37082#(<= ~counter~0 16)} assume !!(0 != ~a~0 && 0 != ~b~0); {37082#(<= ~counter~0 16)} is VALID [2022-04-08 14:09:38,608 INFO L290 TraceCheckUtils]: 155: Hoare triple {37082#(<= ~counter~0 16)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {37082#(<= ~counter~0 16)} is VALID [2022-04-08 14:09:38,608 INFO L290 TraceCheckUtils]: 156: Hoare triple {37082#(<= ~counter~0 16)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37110#(<= ~counter~0 17)} is VALID [2022-04-08 14:09:38,609 INFO L290 TraceCheckUtils]: 157: Hoare triple {37110#(<= ~counter~0 17)} assume !!(#t~post6 < 100);havoc #t~post6; {37110#(<= ~counter~0 17)} is VALID [2022-04-08 14:09:38,609 INFO L272 TraceCheckUtils]: 158: Hoare triple {37110#(<= ~counter~0 17)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {37110#(<= ~counter~0 17)} is VALID [2022-04-08 14:09:38,609 INFO L290 TraceCheckUtils]: 159: Hoare triple {37110#(<= ~counter~0 17)} ~cond := #in~cond; {37110#(<= ~counter~0 17)} is VALID [2022-04-08 14:09:38,610 INFO L290 TraceCheckUtils]: 160: Hoare triple {37110#(<= ~counter~0 17)} assume !(0 == ~cond); {37110#(<= ~counter~0 17)} is VALID [2022-04-08 14:09:38,610 INFO L290 TraceCheckUtils]: 161: Hoare triple {37110#(<= ~counter~0 17)} assume true; {37110#(<= ~counter~0 17)} is VALID [2022-04-08 14:09:38,611 INFO L284 TraceCheckUtils]: 162: Hoare quadruple {37110#(<= ~counter~0 17)} {37110#(<= ~counter~0 17)} #71#return; {37110#(<= ~counter~0 17)} is VALID [2022-04-08 14:09:38,611 INFO L290 TraceCheckUtils]: 163: Hoare triple {37110#(<= ~counter~0 17)} assume !!(0 != ~a~0 && 0 != ~b~0); {37110#(<= ~counter~0 17)} is VALID [2022-04-08 14:09:38,611 INFO L290 TraceCheckUtils]: 164: Hoare triple {37110#(<= ~counter~0 17)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {37110#(<= ~counter~0 17)} is VALID [2022-04-08 14:09:38,612 INFO L290 TraceCheckUtils]: 165: Hoare triple {37110#(<= ~counter~0 17)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37138#(<= ~counter~0 18)} is VALID [2022-04-08 14:09:38,612 INFO L290 TraceCheckUtils]: 166: Hoare triple {37138#(<= ~counter~0 18)} assume !!(#t~post6 < 100);havoc #t~post6; {37138#(<= ~counter~0 18)} is VALID [2022-04-08 14:09:38,612 INFO L272 TraceCheckUtils]: 167: Hoare triple {37138#(<= ~counter~0 18)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {37138#(<= ~counter~0 18)} is VALID [2022-04-08 14:09:38,613 INFO L290 TraceCheckUtils]: 168: Hoare triple {37138#(<= ~counter~0 18)} ~cond := #in~cond; {37138#(<= ~counter~0 18)} is VALID [2022-04-08 14:09:38,613 INFO L290 TraceCheckUtils]: 169: Hoare triple {37138#(<= ~counter~0 18)} assume !(0 == ~cond); {37138#(<= ~counter~0 18)} is VALID [2022-04-08 14:09:38,613 INFO L290 TraceCheckUtils]: 170: Hoare triple {37138#(<= ~counter~0 18)} assume true; {37138#(<= ~counter~0 18)} is VALID [2022-04-08 14:09:38,614 INFO L284 TraceCheckUtils]: 171: Hoare quadruple {37138#(<= ~counter~0 18)} {37138#(<= ~counter~0 18)} #71#return; {37138#(<= ~counter~0 18)} is VALID [2022-04-08 14:09:38,614 INFO L290 TraceCheckUtils]: 172: Hoare triple {37138#(<= ~counter~0 18)} assume !!(0 != ~a~0 && 0 != ~b~0); {37138#(<= ~counter~0 18)} is VALID [2022-04-08 14:09:38,614 INFO L290 TraceCheckUtils]: 173: Hoare triple {37138#(<= ~counter~0 18)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {37138#(<= ~counter~0 18)} is VALID [2022-04-08 14:09:38,615 INFO L290 TraceCheckUtils]: 174: Hoare triple {37138#(<= ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37166#(<= ~counter~0 19)} is VALID [2022-04-08 14:09:38,615 INFO L290 TraceCheckUtils]: 175: Hoare triple {37166#(<= ~counter~0 19)} assume !!(#t~post6 < 100);havoc #t~post6; {37166#(<= ~counter~0 19)} is VALID [2022-04-08 14:09:38,616 INFO L272 TraceCheckUtils]: 176: Hoare triple {37166#(<= ~counter~0 19)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {37166#(<= ~counter~0 19)} is VALID [2022-04-08 14:09:38,616 INFO L290 TraceCheckUtils]: 177: Hoare triple {37166#(<= ~counter~0 19)} ~cond := #in~cond; {37166#(<= ~counter~0 19)} is VALID [2022-04-08 14:09:38,616 INFO L290 TraceCheckUtils]: 178: Hoare triple {37166#(<= ~counter~0 19)} assume !(0 == ~cond); {37166#(<= ~counter~0 19)} is VALID [2022-04-08 14:09:38,616 INFO L290 TraceCheckUtils]: 179: Hoare triple {37166#(<= ~counter~0 19)} assume true; {37166#(<= ~counter~0 19)} is VALID [2022-04-08 14:09:38,617 INFO L284 TraceCheckUtils]: 180: Hoare quadruple {37166#(<= ~counter~0 19)} {37166#(<= ~counter~0 19)} #71#return; {37166#(<= ~counter~0 19)} is VALID [2022-04-08 14:09:38,617 INFO L290 TraceCheckUtils]: 181: Hoare triple {37166#(<= ~counter~0 19)} assume !!(0 != ~a~0 && 0 != ~b~0); {37166#(<= ~counter~0 19)} is VALID [2022-04-08 14:09:38,618 INFO L290 TraceCheckUtils]: 182: Hoare triple {37166#(<= ~counter~0 19)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {37166#(<= ~counter~0 19)} is VALID [2022-04-08 14:09:38,618 INFO L290 TraceCheckUtils]: 183: Hoare triple {37166#(<= ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37194#(<= |main_#t~post6| 19)} is VALID [2022-04-08 14:09:38,618 INFO L290 TraceCheckUtils]: 184: Hoare triple {37194#(<= |main_#t~post6| 19)} assume !(#t~post6 < 100);havoc #t~post6; {36621#false} is VALID [2022-04-08 14:09:38,618 INFO L272 TraceCheckUtils]: 185: Hoare triple {36621#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {36621#false} is VALID [2022-04-08 14:09:38,618 INFO L290 TraceCheckUtils]: 186: Hoare triple {36621#false} ~cond := #in~cond; {36621#false} is VALID [2022-04-08 14:09:38,618 INFO L290 TraceCheckUtils]: 187: Hoare triple {36621#false} assume 0 == ~cond; {36621#false} is VALID [2022-04-08 14:09:38,619 INFO L290 TraceCheckUtils]: 188: Hoare triple {36621#false} assume !false; {36621#false} is VALID [2022-04-08 14:09:38,628 INFO L134 CoverageAnalysis]: Checked inductivity of 1615 backedges. 38 proven. 1577 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 14:09:38,629 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 14:09:39,779 INFO L290 TraceCheckUtils]: 188: Hoare triple {36621#false} assume !false; {36621#false} is VALID [2022-04-08 14:09:39,779 INFO L290 TraceCheckUtils]: 187: Hoare triple {36621#false} assume 0 == ~cond; {36621#false} is VALID [2022-04-08 14:09:39,779 INFO L290 TraceCheckUtils]: 186: Hoare triple {36621#false} ~cond := #in~cond; {36621#false} is VALID [2022-04-08 14:09:39,779 INFO L272 TraceCheckUtils]: 185: Hoare triple {36621#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {36621#false} is VALID [2022-04-08 14:09:39,779 INFO L290 TraceCheckUtils]: 184: Hoare triple {37222#(< |main_#t~post6| 100)} assume !(#t~post6 < 100);havoc #t~post6; {36621#false} is VALID [2022-04-08 14:09:39,780 INFO L290 TraceCheckUtils]: 183: Hoare triple {37226#(< ~counter~0 100)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37222#(< |main_#t~post6| 100)} is VALID [2022-04-08 14:09:39,780 INFO L290 TraceCheckUtils]: 182: Hoare triple {37226#(< ~counter~0 100)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {37226#(< ~counter~0 100)} is VALID [2022-04-08 14:09:39,780 INFO L290 TraceCheckUtils]: 181: Hoare triple {37226#(< ~counter~0 100)} assume !!(0 != ~a~0 && 0 != ~b~0); {37226#(< ~counter~0 100)} is VALID [2022-04-08 14:09:39,781 INFO L284 TraceCheckUtils]: 180: Hoare quadruple {36620#true} {37226#(< ~counter~0 100)} #71#return; {37226#(< ~counter~0 100)} is VALID [2022-04-08 14:09:39,781 INFO L290 TraceCheckUtils]: 179: Hoare triple {36620#true} assume true; {36620#true} is VALID [2022-04-08 14:09:39,781 INFO L290 TraceCheckUtils]: 178: Hoare triple {36620#true} assume !(0 == ~cond); {36620#true} is VALID [2022-04-08 14:09:39,781 INFO L290 TraceCheckUtils]: 177: Hoare triple {36620#true} ~cond := #in~cond; {36620#true} is VALID [2022-04-08 14:09:39,781 INFO L272 TraceCheckUtils]: 176: Hoare triple {37226#(< ~counter~0 100)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {36620#true} is VALID [2022-04-08 14:09:39,782 INFO L290 TraceCheckUtils]: 175: Hoare triple {37226#(< ~counter~0 100)} assume !!(#t~post6 < 100);havoc #t~post6; {37226#(< ~counter~0 100)} is VALID [2022-04-08 14:09:39,782 INFO L290 TraceCheckUtils]: 174: Hoare triple {37254#(< ~counter~0 99)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37226#(< ~counter~0 100)} is VALID [2022-04-08 14:09:39,783 INFO L290 TraceCheckUtils]: 173: Hoare triple {37254#(< ~counter~0 99)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {37254#(< ~counter~0 99)} is VALID [2022-04-08 14:09:39,783 INFO L290 TraceCheckUtils]: 172: Hoare triple {37254#(< ~counter~0 99)} assume !!(0 != ~a~0 && 0 != ~b~0); {37254#(< ~counter~0 99)} is VALID [2022-04-08 14:09:39,784 INFO L284 TraceCheckUtils]: 171: Hoare quadruple {36620#true} {37254#(< ~counter~0 99)} #71#return; {37254#(< ~counter~0 99)} is VALID [2022-04-08 14:09:39,784 INFO L290 TraceCheckUtils]: 170: Hoare triple {36620#true} assume true; {36620#true} is VALID [2022-04-08 14:09:39,784 INFO L290 TraceCheckUtils]: 169: Hoare triple {36620#true} assume !(0 == ~cond); {36620#true} is VALID [2022-04-08 14:09:39,784 INFO L290 TraceCheckUtils]: 168: Hoare triple {36620#true} ~cond := #in~cond; {36620#true} is VALID [2022-04-08 14:09:39,784 INFO L272 TraceCheckUtils]: 167: Hoare triple {37254#(< ~counter~0 99)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {36620#true} is VALID [2022-04-08 14:09:39,784 INFO L290 TraceCheckUtils]: 166: Hoare triple {37254#(< ~counter~0 99)} assume !!(#t~post6 < 100);havoc #t~post6; {37254#(< ~counter~0 99)} is VALID [2022-04-08 14:09:39,785 INFO L290 TraceCheckUtils]: 165: Hoare triple {37282#(< ~counter~0 98)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37254#(< ~counter~0 99)} is VALID [2022-04-08 14:09:39,785 INFO L290 TraceCheckUtils]: 164: Hoare triple {37282#(< ~counter~0 98)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {37282#(< ~counter~0 98)} is VALID [2022-04-08 14:09:39,785 INFO L290 TraceCheckUtils]: 163: Hoare triple {37282#(< ~counter~0 98)} assume !!(0 != ~a~0 && 0 != ~b~0); {37282#(< ~counter~0 98)} is VALID [2022-04-08 14:09:39,786 INFO L284 TraceCheckUtils]: 162: Hoare quadruple {36620#true} {37282#(< ~counter~0 98)} #71#return; {37282#(< ~counter~0 98)} is VALID [2022-04-08 14:09:39,786 INFO L290 TraceCheckUtils]: 161: Hoare triple {36620#true} assume true; {36620#true} is VALID [2022-04-08 14:09:39,786 INFO L290 TraceCheckUtils]: 160: Hoare triple {36620#true} assume !(0 == ~cond); {36620#true} is VALID [2022-04-08 14:09:39,786 INFO L290 TraceCheckUtils]: 159: Hoare triple {36620#true} ~cond := #in~cond; {36620#true} is VALID [2022-04-08 14:09:39,786 INFO L272 TraceCheckUtils]: 158: Hoare triple {37282#(< ~counter~0 98)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {36620#true} is VALID [2022-04-08 14:09:39,786 INFO L290 TraceCheckUtils]: 157: Hoare triple {37282#(< ~counter~0 98)} assume !!(#t~post6 < 100);havoc #t~post6; {37282#(< ~counter~0 98)} is VALID [2022-04-08 14:09:39,787 INFO L290 TraceCheckUtils]: 156: Hoare triple {37310#(< ~counter~0 97)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37282#(< ~counter~0 98)} is VALID [2022-04-08 14:09:39,787 INFO L290 TraceCheckUtils]: 155: Hoare triple {37310#(< ~counter~0 97)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {37310#(< ~counter~0 97)} is VALID [2022-04-08 14:09:39,787 INFO L290 TraceCheckUtils]: 154: Hoare triple {37310#(< ~counter~0 97)} assume !!(0 != ~a~0 && 0 != ~b~0); {37310#(< ~counter~0 97)} is VALID [2022-04-08 14:09:39,788 INFO L284 TraceCheckUtils]: 153: Hoare quadruple {36620#true} {37310#(< ~counter~0 97)} #71#return; {37310#(< ~counter~0 97)} is VALID [2022-04-08 14:09:39,788 INFO L290 TraceCheckUtils]: 152: Hoare triple {36620#true} assume true; {36620#true} is VALID [2022-04-08 14:09:39,788 INFO L290 TraceCheckUtils]: 151: Hoare triple {36620#true} assume !(0 == ~cond); {36620#true} is VALID [2022-04-08 14:09:39,788 INFO L290 TraceCheckUtils]: 150: Hoare triple {36620#true} ~cond := #in~cond; {36620#true} is VALID [2022-04-08 14:09:39,795 INFO L272 TraceCheckUtils]: 149: Hoare triple {37310#(< ~counter~0 97)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {36620#true} is VALID [2022-04-08 14:09:39,796 INFO L290 TraceCheckUtils]: 148: Hoare triple {37310#(< ~counter~0 97)} assume !!(#t~post6 < 100);havoc #t~post6; {37310#(< ~counter~0 97)} is VALID [2022-04-08 14:09:39,797 INFO L290 TraceCheckUtils]: 147: Hoare triple {37338#(< ~counter~0 96)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37310#(< ~counter~0 97)} is VALID [2022-04-08 14:09:39,798 INFO L290 TraceCheckUtils]: 146: Hoare triple {37338#(< ~counter~0 96)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {37338#(< ~counter~0 96)} is VALID [2022-04-08 14:09:39,798 INFO L290 TraceCheckUtils]: 145: Hoare triple {37338#(< ~counter~0 96)} assume !!(0 != ~a~0 && 0 != ~b~0); {37338#(< ~counter~0 96)} is VALID [2022-04-08 14:09:39,798 INFO L284 TraceCheckUtils]: 144: Hoare quadruple {36620#true} {37338#(< ~counter~0 96)} #71#return; {37338#(< ~counter~0 96)} is VALID [2022-04-08 14:09:39,798 INFO L290 TraceCheckUtils]: 143: Hoare triple {36620#true} assume true; {36620#true} is VALID [2022-04-08 14:09:39,799 INFO L290 TraceCheckUtils]: 142: Hoare triple {36620#true} assume !(0 == ~cond); {36620#true} is VALID [2022-04-08 14:09:39,799 INFO L290 TraceCheckUtils]: 141: Hoare triple {36620#true} ~cond := #in~cond; {36620#true} is VALID [2022-04-08 14:09:39,799 INFO L272 TraceCheckUtils]: 140: Hoare triple {37338#(< ~counter~0 96)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {36620#true} is VALID [2022-04-08 14:09:39,799 INFO L290 TraceCheckUtils]: 139: Hoare triple {37338#(< ~counter~0 96)} assume !!(#t~post6 < 100);havoc #t~post6; {37338#(< ~counter~0 96)} is VALID [2022-04-08 14:09:39,799 INFO L290 TraceCheckUtils]: 138: Hoare triple {37366#(< ~counter~0 95)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37338#(< ~counter~0 96)} is VALID [2022-04-08 14:09:39,800 INFO L290 TraceCheckUtils]: 137: Hoare triple {37366#(< ~counter~0 95)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {37366#(< ~counter~0 95)} is VALID [2022-04-08 14:09:39,800 INFO L290 TraceCheckUtils]: 136: Hoare triple {37366#(< ~counter~0 95)} assume !!(0 != ~a~0 && 0 != ~b~0); {37366#(< ~counter~0 95)} is VALID [2022-04-08 14:09:39,800 INFO L284 TraceCheckUtils]: 135: Hoare quadruple {36620#true} {37366#(< ~counter~0 95)} #71#return; {37366#(< ~counter~0 95)} is VALID [2022-04-08 14:09:39,800 INFO L290 TraceCheckUtils]: 134: Hoare triple {36620#true} assume true; {36620#true} is VALID [2022-04-08 14:09:39,800 INFO L290 TraceCheckUtils]: 133: Hoare triple {36620#true} assume !(0 == ~cond); {36620#true} is VALID [2022-04-08 14:09:39,800 INFO L290 TraceCheckUtils]: 132: Hoare triple {36620#true} ~cond := #in~cond; {36620#true} is VALID [2022-04-08 14:09:39,800 INFO L272 TraceCheckUtils]: 131: Hoare triple {37366#(< ~counter~0 95)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {36620#true} is VALID [2022-04-08 14:09:39,801 INFO L290 TraceCheckUtils]: 130: Hoare triple {37366#(< ~counter~0 95)} assume !!(#t~post6 < 100);havoc #t~post6; {37366#(< ~counter~0 95)} is VALID [2022-04-08 14:09:39,801 INFO L290 TraceCheckUtils]: 129: Hoare triple {37394#(< ~counter~0 94)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37366#(< ~counter~0 95)} is VALID [2022-04-08 14:09:39,801 INFO L290 TraceCheckUtils]: 128: Hoare triple {37394#(< ~counter~0 94)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {37394#(< ~counter~0 94)} is VALID [2022-04-08 14:09:39,802 INFO L290 TraceCheckUtils]: 127: Hoare triple {37394#(< ~counter~0 94)} assume !!(0 != ~a~0 && 0 != ~b~0); {37394#(< ~counter~0 94)} is VALID [2022-04-08 14:09:39,802 INFO L284 TraceCheckUtils]: 126: Hoare quadruple {36620#true} {37394#(< ~counter~0 94)} #71#return; {37394#(< ~counter~0 94)} is VALID [2022-04-08 14:09:39,802 INFO L290 TraceCheckUtils]: 125: Hoare triple {36620#true} assume true; {36620#true} is VALID [2022-04-08 14:09:39,802 INFO L290 TraceCheckUtils]: 124: Hoare triple {36620#true} assume !(0 == ~cond); {36620#true} is VALID [2022-04-08 14:09:39,802 INFO L290 TraceCheckUtils]: 123: Hoare triple {36620#true} ~cond := #in~cond; {36620#true} is VALID [2022-04-08 14:09:39,802 INFO L272 TraceCheckUtils]: 122: Hoare triple {37394#(< ~counter~0 94)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {36620#true} is VALID [2022-04-08 14:09:39,802 INFO L290 TraceCheckUtils]: 121: Hoare triple {37394#(< ~counter~0 94)} assume !!(#t~post6 < 100);havoc #t~post6; {37394#(< ~counter~0 94)} is VALID [2022-04-08 14:09:39,803 INFO L290 TraceCheckUtils]: 120: Hoare triple {37422#(< ~counter~0 93)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37394#(< ~counter~0 94)} is VALID [2022-04-08 14:09:39,803 INFO L290 TraceCheckUtils]: 119: Hoare triple {37422#(< ~counter~0 93)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {37422#(< ~counter~0 93)} is VALID [2022-04-08 14:09:39,803 INFO L290 TraceCheckUtils]: 118: Hoare triple {37422#(< ~counter~0 93)} assume !!(0 != ~a~0 && 0 != ~b~0); {37422#(< ~counter~0 93)} is VALID [2022-04-08 14:09:39,804 INFO L284 TraceCheckUtils]: 117: Hoare quadruple {36620#true} {37422#(< ~counter~0 93)} #71#return; {37422#(< ~counter~0 93)} is VALID [2022-04-08 14:09:39,804 INFO L290 TraceCheckUtils]: 116: Hoare triple {36620#true} assume true; {36620#true} is VALID [2022-04-08 14:09:39,804 INFO L290 TraceCheckUtils]: 115: Hoare triple {36620#true} assume !(0 == ~cond); {36620#true} is VALID [2022-04-08 14:09:39,804 INFO L290 TraceCheckUtils]: 114: Hoare triple {36620#true} ~cond := #in~cond; {36620#true} is VALID [2022-04-08 14:09:39,804 INFO L272 TraceCheckUtils]: 113: Hoare triple {37422#(< ~counter~0 93)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {36620#true} is VALID [2022-04-08 14:09:39,804 INFO L290 TraceCheckUtils]: 112: Hoare triple {37422#(< ~counter~0 93)} assume !!(#t~post6 < 100);havoc #t~post6; {37422#(< ~counter~0 93)} is VALID [2022-04-08 14:09:39,805 INFO L290 TraceCheckUtils]: 111: Hoare triple {37450#(< ~counter~0 92)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37422#(< ~counter~0 93)} is VALID [2022-04-08 14:09:39,805 INFO L290 TraceCheckUtils]: 110: Hoare triple {37450#(< ~counter~0 92)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {37450#(< ~counter~0 92)} is VALID [2022-04-08 14:09:39,805 INFO L290 TraceCheckUtils]: 109: Hoare triple {37450#(< ~counter~0 92)} assume !!(0 != ~a~0 && 0 != ~b~0); {37450#(< ~counter~0 92)} is VALID [2022-04-08 14:09:39,805 INFO L284 TraceCheckUtils]: 108: Hoare quadruple {36620#true} {37450#(< ~counter~0 92)} #71#return; {37450#(< ~counter~0 92)} is VALID [2022-04-08 14:09:39,806 INFO L290 TraceCheckUtils]: 107: Hoare triple {36620#true} assume true; {36620#true} is VALID [2022-04-08 14:09:39,806 INFO L290 TraceCheckUtils]: 106: Hoare triple {36620#true} assume !(0 == ~cond); {36620#true} is VALID [2022-04-08 14:09:39,806 INFO L290 TraceCheckUtils]: 105: Hoare triple {36620#true} ~cond := #in~cond; {36620#true} is VALID [2022-04-08 14:09:39,806 INFO L272 TraceCheckUtils]: 104: Hoare triple {37450#(< ~counter~0 92)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {36620#true} is VALID [2022-04-08 14:09:39,806 INFO L290 TraceCheckUtils]: 103: Hoare triple {37450#(< ~counter~0 92)} assume !!(#t~post6 < 100);havoc #t~post6; {37450#(< ~counter~0 92)} is VALID [2022-04-08 14:09:39,806 INFO L290 TraceCheckUtils]: 102: Hoare triple {37478#(< ~counter~0 91)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37450#(< ~counter~0 92)} is VALID [2022-04-08 14:09:39,807 INFO L290 TraceCheckUtils]: 101: Hoare triple {37478#(< ~counter~0 91)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {37478#(< ~counter~0 91)} is VALID [2022-04-08 14:09:39,807 INFO L290 TraceCheckUtils]: 100: Hoare triple {37478#(< ~counter~0 91)} assume !!(0 != ~a~0 && 0 != ~b~0); {37478#(< ~counter~0 91)} is VALID [2022-04-08 14:09:39,807 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {36620#true} {37478#(< ~counter~0 91)} #71#return; {37478#(< ~counter~0 91)} is VALID [2022-04-08 14:09:39,807 INFO L290 TraceCheckUtils]: 98: Hoare triple {36620#true} assume true; {36620#true} is VALID [2022-04-08 14:09:39,807 INFO L290 TraceCheckUtils]: 97: Hoare triple {36620#true} assume !(0 == ~cond); {36620#true} is VALID [2022-04-08 14:09:39,807 INFO L290 TraceCheckUtils]: 96: Hoare triple {36620#true} ~cond := #in~cond; {36620#true} is VALID [2022-04-08 14:09:39,807 INFO L272 TraceCheckUtils]: 95: Hoare triple {37478#(< ~counter~0 91)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {36620#true} is VALID [2022-04-08 14:09:39,808 INFO L290 TraceCheckUtils]: 94: Hoare triple {37478#(< ~counter~0 91)} assume !!(#t~post6 < 100);havoc #t~post6; {37478#(< ~counter~0 91)} is VALID [2022-04-08 14:09:39,808 INFO L290 TraceCheckUtils]: 93: Hoare triple {37506#(< ~counter~0 90)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37478#(< ~counter~0 91)} is VALID [2022-04-08 14:09:39,808 INFO L290 TraceCheckUtils]: 92: Hoare triple {37506#(< ~counter~0 90)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {37506#(< ~counter~0 90)} is VALID [2022-04-08 14:09:39,809 INFO L290 TraceCheckUtils]: 91: Hoare triple {37506#(< ~counter~0 90)} assume !!(0 != ~a~0 && 0 != ~b~0); {37506#(< ~counter~0 90)} is VALID [2022-04-08 14:09:39,809 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {36620#true} {37506#(< ~counter~0 90)} #71#return; {37506#(< ~counter~0 90)} is VALID [2022-04-08 14:09:39,809 INFO L290 TraceCheckUtils]: 89: Hoare triple {36620#true} assume true; {36620#true} is VALID [2022-04-08 14:09:39,809 INFO L290 TraceCheckUtils]: 88: Hoare triple {36620#true} assume !(0 == ~cond); {36620#true} is VALID [2022-04-08 14:09:39,809 INFO L290 TraceCheckUtils]: 87: Hoare triple {36620#true} ~cond := #in~cond; {36620#true} is VALID [2022-04-08 14:09:39,809 INFO L272 TraceCheckUtils]: 86: Hoare triple {37506#(< ~counter~0 90)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {36620#true} is VALID [2022-04-08 14:09:39,809 INFO L290 TraceCheckUtils]: 85: Hoare triple {37506#(< ~counter~0 90)} assume !!(#t~post6 < 100);havoc #t~post6; {37506#(< ~counter~0 90)} is VALID [2022-04-08 14:09:39,810 INFO L290 TraceCheckUtils]: 84: Hoare triple {37534#(< ~counter~0 89)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37506#(< ~counter~0 90)} is VALID [2022-04-08 14:09:39,810 INFO L290 TraceCheckUtils]: 83: Hoare triple {37534#(< ~counter~0 89)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {37534#(< ~counter~0 89)} is VALID [2022-04-08 14:09:39,810 INFO L290 TraceCheckUtils]: 82: Hoare triple {37534#(< ~counter~0 89)} assume !!(0 != ~a~0 && 0 != ~b~0); {37534#(< ~counter~0 89)} is VALID [2022-04-08 14:09:39,811 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {36620#true} {37534#(< ~counter~0 89)} #71#return; {37534#(< ~counter~0 89)} is VALID [2022-04-08 14:09:39,811 INFO L290 TraceCheckUtils]: 80: Hoare triple {36620#true} assume true; {36620#true} is VALID [2022-04-08 14:09:39,811 INFO L290 TraceCheckUtils]: 79: Hoare triple {36620#true} assume !(0 == ~cond); {36620#true} is VALID [2022-04-08 14:09:39,811 INFO L290 TraceCheckUtils]: 78: Hoare triple {36620#true} ~cond := #in~cond; {36620#true} is VALID [2022-04-08 14:09:39,811 INFO L272 TraceCheckUtils]: 77: Hoare triple {37534#(< ~counter~0 89)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {36620#true} is VALID [2022-04-08 14:09:39,811 INFO L290 TraceCheckUtils]: 76: Hoare triple {37534#(< ~counter~0 89)} assume !!(#t~post6 < 100);havoc #t~post6; {37534#(< ~counter~0 89)} is VALID [2022-04-08 14:09:39,812 INFO L290 TraceCheckUtils]: 75: Hoare triple {37562#(< ~counter~0 88)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37534#(< ~counter~0 89)} is VALID [2022-04-08 14:09:39,812 INFO L290 TraceCheckUtils]: 74: Hoare triple {37562#(< ~counter~0 88)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {37562#(< ~counter~0 88)} is VALID [2022-04-08 14:09:39,812 INFO L290 TraceCheckUtils]: 73: Hoare triple {37562#(< ~counter~0 88)} assume !!(0 != ~a~0 && 0 != ~b~0); {37562#(< ~counter~0 88)} is VALID [2022-04-08 14:09:39,812 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {36620#true} {37562#(< ~counter~0 88)} #71#return; {37562#(< ~counter~0 88)} is VALID [2022-04-08 14:09:39,812 INFO L290 TraceCheckUtils]: 71: Hoare triple {36620#true} assume true; {36620#true} is VALID [2022-04-08 14:09:39,813 INFO L290 TraceCheckUtils]: 70: Hoare triple {36620#true} assume !(0 == ~cond); {36620#true} is VALID [2022-04-08 14:09:39,813 INFO L290 TraceCheckUtils]: 69: Hoare triple {36620#true} ~cond := #in~cond; {36620#true} is VALID [2022-04-08 14:09:39,813 INFO L272 TraceCheckUtils]: 68: Hoare triple {37562#(< ~counter~0 88)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {36620#true} is VALID [2022-04-08 14:09:39,813 INFO L290 TraceCheckUtils]: 67: Hoare triple {37562#(< ~counter~0 88)} assume !!(#t~post6 < 100);havoc #t~post6; {37562#(< ~counter~0 88)} is VALID [2022-04-08 14:09:39,813 INFO L290 TraceCheckUtils]: 66: Hoare triple {37590#(< ~counter~0 87)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37562#(< ~counter~0 88)} is VALID [2022-04-08 14:09:39,814 INFO L290 TraceCheckUtils]: 65: Hoare triple {37590#(< ~counter~0 87)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {37590#(< ~counter~0 87)} is VALID [2022-04-08 14:09:39,814 INFO L290 TraceCheckUtils]: 64: Hoare triple {37590#(< ~counter~0 87)} assume !!(0 != ~a~0 && 0 != ~b~0); {37590#(< ~counter~0 87)} is VALID [2022-04-08 14:09:39,814 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {36620#true} {37590#(< ~counter~0 87)} #71#return; {37590#(< ~counter~0 87)} is VALID [2022-04-08 14:09:39,814 INFO L290 TraceCheckUtils]: 62: Hoare triple {36620#true} assume true; {36620#true} is VALID [2022-04-08 14:09:39,814 INFO L290 TraceCheckUtils]: 61: Hoare triple {36620#true} assume !(0 == ~cond); {36620#true} is VALID [2022-04-08 14:09:39,814 INFO L290 TraceCheckUtils]: 60: Hoare triple {36620#true} ~cond := #in~cond; {36620#true} is VALID [2022-04-08 14:09:39,814 INFO L272 TraceCheckUtils]: 59: Hoare triple {37590#(< ~counter~0 87)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {36620#true} is VALID [2022-04-08 14:09:39,815 INFO L290 TraceCheckUtils]: 58: Hoare triple {37590#(< ~counter~0 87)} assume !!(#t~post6 < 100);havoc #t~post6; {37590#(< ~counter~0 87)} is VALID [2022-04-08 14:09:39,815 INFO L290 TraceCheckUtils]: 57: Hoare triple {37618#(< ~counter~0 86)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37590#(< ~counter~0 87)} is VALID [2022-04-08 14:09:39,815 INFO L290 TraceCheckUtils]: 56: Hoare triple {37618#(< ~counter~0 86)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {37618#(< ~counter~0 86)} is VALID [2022-04-08 14:09:39,816 INFO L290 TraceCheckUtils]: 55: Hoare triple {37618#(< ~counter~0 86)} assume !!(0 != ~a~0 && 0 != ~b~0); {37618#(< ~counter~0 86)} is VALID [2022-04-08 14:09:39,816 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {36620#true} {37618#(< ~counter~0 86)} #71#return; {37618#(< ~counter~0 86)} is VALID [2022-04-08 14:09:39,816 INFO L290 TraceCheckUtils]: 53: Hoare triple {36620#true} assume true; {36620#true} is VALID [2022-04-08 14:09:39,816 INFO L290 TraceCheckUtils]: 52: Hoare triple {36620#true} assume !(0 == ~cond); {36620#true} is VALID [2022-04-08 14:09:39,816 INFO L290 TraceCheckUtils]: 51: Hoare triple {36620#true} ~cond := #in~cond; {36620#true} is VALID [2022-04-08 14:09:39,816 INFO L272 TraceCheckUtils]: 50: Hoare triple {37618#(< ~counter~0 86)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {36620#true} is VALID [2022-04-08 14:09:39,816 INFO L290 TraceCheckUtils]: 49: Hoare triple {37618#(< ~counter~0 86)} assume !!(#t~post6 < 100);havoc #t~post6; {37618#(< ~counter~0 86)} is VALID [2022-04-08 14:09:39,817 INFO L290 TraceCheckUtils]: 48: Hoare triple {37646#(< ~counter~0 85)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37618#(< ~counter~0 86)} is VALID [2022-04-08 14:09:39,817 INFO L290 TraceCheckUtils]: 47: Hoare triple {37646#(< ~counter~0 85)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {37646#(< ~counter~0 85)} is VALID [2022-04-08 14:09:39,817 INFO L290 TraceCheckUtils]: 46: Hoare triple {37646#(< ~counter~0 85)} assume !!(0 != ~a~0 && 0 != ~b~0); {37646#(< ~counter~0 85)} is VALID [2022-04-08 14:09:39,818 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {36620#true} {37646#(< ~counter~0 85)} #71#return; {37646#(< ~counter~0 85)} is VALID [2022-04-08 14:09:39,818 INFO L290 TraceCheckUtils]: 44: Hoare triple {36620#true} assume true; {36620#true} is VALID [2022-04-08 14:09:39,818 INFO L290 TraceCheckUtils]: 43: Hoare triple {36620#true} assume !(0 == ~cond); {36620#true} is VALID [2022-04-08 14:09:39,818 INFO L290 TraceCheckUtils]: 42: Hoare triple {36620#true} ~cond := #in~cond; {36620#true} is VALID [2022-04-08 14:09:39,818 INFO L272 TraceCheckUtils]: 41: Hoare triple {37646#(< ~counter~0 85)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {36620#true} is VALID [2022-04-08 14:09:39,818 INFO L290 TraceCheckUtils]: 40: Hoare triple {37646#(< ~counter~0 85)} assume !!(#t~post6 < 100);havoc #t~post6; {37646#(< ~counter~0 85)} is VALID [2022-04-08 14:09:39,819 INFO L290 TraceCheckUtils]: 39: Hoare triple {37674#(< ~counter~0 84)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37646#(< ~counter~0 85)} is VALID [2022-04-08 14:09:39,819 INFO L290 TraceCheckUtils]: 38: Hoare triple {37674#(< ~counter~0 84)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {37674#(< ~counter~0 84)} is VALID [2022-04-08 14:09:39,819 INFO L290 TraceCheckUtils]: 37: Hoare triple {37674#(< ~counter~0 84)} assume !!(0 != ~a~0 && 0 != ~b~0); {37674#(< ~counter~0 84)} is VALID [2022-04-08 14:09:39,820 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {36620#true} {37674#(< ~counter~0 84)} #71#return; {37674#(< ~counter~0 84)} is VALID [2022-04-08 14:09:39,820 INFO L290 TraceCheckUtils]: 35: Hoare triple {36620#true} assume true; {36620#true} is VALID [2022-04-08 14:09:39,820 INFO L290 TraceCheckUtils]: 34: Hoare triple {36620#true} assume !(0 == ~cond); {36620#true} is VALID [2022-04-08 14:09:39,820 INFO L290 TraceCheckUtils]: 33: Hoare triple {36620#true} ~cond := #in~cond; {36620#true} is VALID [2022-04-08 14:09:39,820 INFO L272 TraceCheckUtils]: 32: Hoare triple {37674#(< ~counter~0 84)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {36620#true} is VALID [2022-04-08 14:09:39,820 INFO L290 TraceCheckUtils]: 31: Hoare triple {37674#(< ~counter~0 84)} assume !!(#t~post6 < 100);havoc #t~post6; {37674#(< ~counter~0 84)} is VALID [2022-04-08 14:09:39,820 INFO L290 TraceCheckUtils]: 30: Hoare triple {37702#(< ~counter~0 83)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37674#(< ~counter~0 84)} is VALID [2022-04-08 14:09:39,821 INFO L290 TraceCheckUtils]: 29: Hoare triple {37702#(< ~counter~0 83)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {37702#(< ~counter~0 83)} is VALID [2022-04-08 14:09:39,821 INFO L290 TraceCheckUtils]: 28: Hoare triple {37702#(< ~counter~0 83)} assume !!(0 != ~a~0 && 0 != ~b~0); {37702#(< ~counter~0 83)} is VALID [2022-04-08 14:09:39,821 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {36620#true} {37702#(< ~counter~0 83)} #71#return; {37702#(< ~counter~0 83)} is VALID [2022-04-08 14:09:39,821 INFO L290 TraceCheckUtils]: 26: Hoare triple {36620#true} assume true; {36620#true} is VALID [2022-04-08 14:09:39,821 INFO L290 TraceCheckUtils]: 25: Hoare triple {36620#true} assume !(0 == ~cond); {36620#true} is VALID [2022-04-08 14:09:39,821 INFO L290 TraceCheckUtils]: 24: Hoare triple {36620#true} ~cond := #in~cond; {36620#true} is VALID [2022-04-08 14:09:39,822 INFO L272 TraceCheckUtils]: 23: Hoare triple {37702#(< ~counter~0 83)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {36620#true} is VALID [2022-04-08 14:09:39,822 INFO L290 TraceCheckUtils]: 22: Hoare triple {37702#(< ~counter~0 83)} assume !!(#t~post6 < 100);havoc #t~post6; {37702#(< ~counter~0 83)} is VALID [2022-04-08 14:09:39,822 INFO L290 TraceCheckUtils]: 21: Hoare triple {37730#(< ~counter~0 82)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37702#(< ~counter~0 83)} is VALID [2022-04-08 14:09:39,822 INFO L290 TraceCheckUtils]: 20: Hoare triple {37730#(< ~counter~0 82)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {37730#(< ~counter~0 82)} is VALID [2022-04-08 14:09:39,823 INFO L290 TraceCheckUtils]: 19: Hoare triple {37730#(< ~counter~0 82)} assume !!(0 != ~a~0 && 0 != ~b~0); {37730#(< ~counter~0 82)} is VALID [2022-04-08 14:09:39,823 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {36620#true} {37730#(< ~counter~0 82)} #71#return; {37730#(< ~counter~0 82)} is VALID [2022-04-08 14:09:39,823 INFO L290 TraceCheckUtils]: 17: Hoare triple {36620#true} assume true; {36620#true} is VALID [2022-04-08 14:09:39,823 INFO L290 TraceCheckUtils]: 16: Hoare triple {36620#true} assume !(0 == ~cond); {36620#true} is VALID [2022-04-08 14:09:39,823 INFO L290 TraceCheckUtils]: 15: Hoare triple {36620#true} ~cond := #in~cond; {36620#true} is VALID [2022-04-08 14:09:39,823 INFO L272 TraceCheckUtils]: 14: Hoare triple {37730#(< ~counter~0 82)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {36620#true} is VALID [2022-04-08 14:09:39,823 INFO L290 TraceCheckUtils]: 13: Hoare triple {37730#(< ~counter~0 82)} assume !!(#t~post6 < 100);havoc #t~post6; {37730#(< ~counter~0 82)} is VALID [2022-04-08 14:09:39,824 INFO L290 TraceCheckUtils]: 12: Hoare triple {37758#(< ~counter~0 81)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37730#(< ~counter~0 82)} is VALID [2022-04-08 14:09:39,824 INFO L290 TraceCheckUtils]: 11: Hoare triple {37758#(< ~counter~0 81)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {37758#(< ~counter~0 81)} is VALID [2022-04-08 14:09:39,824 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {36620#true} {37758#(< ~counter~0 81)} #69#return; {37758#(< ~counter~0 81)} is VALID [2022-04-08 14:09:39,824 INFO L290 TraceCheckUtils]: 9: Hoare triple {36620#true} assume true; {36620#true} is VALID [2022-04-08 14:09:39,825 INFO L290 TraceCheckUtils]: 8: Hoare triple {36620#true} assume !(0 == ~cond); {36620#true} is VALID [2022-04-08 14:09:39,825 INFO L290 TraceCheckUtils]: 7: Hoare triple {36620#true} ~cond := #in~cond; {36620#true} is VALID [2022-04-08 14:09:39,825 INFO L272 TraceCheckUtils]: 6: Hoare triple {37758#(< ~counter~0 81)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {36620#true} is VALID [2022-04-08 14:09:39,825 INFO L290 TraceCheckUtils]: 5: Hoare triple {37758#(< ~counter~0 81)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {37758#(< ~counter~0 81)} is VALID [2022-04-08 14:09:39,825 INFO L272 TraceCheckUtils]: 4: Hoare triple {37758#(< ~counter~0 81)} call #t~ret7 := main(); {37758#(< ~counter~0 81)} is VALID [2022-04-08 14:09:39,825 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {37758#(< ~counter~0 81)} {36620#true} #77#return; {37758#(< ~counter~0 81)} is VALID [2022-04-08 14:09:39,826 INFO L290 TraceCheckUtils]: 2: Hoare triple {37758#(< ~counter~0 81)} assume true; {37758#(< ~counter~0 81)} is VALID [2022-04-08 14:09:39,826 INFO L290 TraceCheckUtils]: 1: Hoare triple {36620#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {37758#(< ~counter~0 81)} is VALID [2022-04-08 14:09:39,826 INFO L272 TraceCheckUtils]: 0: Hoare triple {36620#true} call ULTIMATE.init(); {36620#true} is VALID [2022-04-08 14:09:39,827 INFO L134 CoverageAnalysis]: Checked inductivity of 1615 backedges. 38 proven. 893 refuted. 0 times theorem prover too weak. 684 trivial. 0 not checked. [2022-04-08 14:09:39,827 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 14:09:39,827 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [181470901] [2022-04-08 14:09:39,827 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 14:09:39,827 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1511021319] [2022-04-08 14:09:39,827 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1511021319] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 14:09:39,827 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 14:09:39,827 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [23, 23] total 44 [2022-04-08 14:09:39,827 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 14:09:39,828 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1035595776] [2022-04-08 14:09:39,828 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1035595776] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 14:09:39,828 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 14:09:39,828 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [23] imperfect sequences [] total 23 [2022-04-08 14:09:39,828 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [124135940] [2022-04-08 14:09:39,828 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 14:09:39,828 INFO L78 Accepts]: Start accepts. Automaton has has 23 states, 23 states have (on average 6.304347826086956) internal successors, (145), 22 states have internal predecessors, (145), 22 states have call successors, (23), 22 states have call predecessors, (23), 20 states have return successors, (21), 20 states have call predecessors, (21), 21 states have call successors, (21) Word has length 189 [2022-04-08 14:09:39,829 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 14:09:39,829 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 23 states, 23 states have (on average 6.304347826086956) internal successors, (145), 22 states have internal predecessors, (145), 22 states have call successors, (23), 22 states have call predecessors, (23), 20 states have return successors, (21), 20 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-08 14:09:39,949 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 189 edges. 189 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:09:39,949 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 23 states [2022-04-08 14:09:39,949 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 14:09:39,950 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2022-04-08 14:09:39,950 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=866, Invalid=1026, Unknown=0, NotChecked=0, Total=1892 [2022-04-08 14:09:39,951 INFO L87 Difference]: Start difference. First operand 241 states and 300 transitions. Second operand has 23 states, 23 states have (on average 6.304347826086956) internal successors, (145), 22 states have internal predecessors, (145), 22 states have call successors, (23), 22 states have call predecessors, (23), 20 states have return successors, (21), 20 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-08 14:09:40,864 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:09:40,864 INFO L93 Difference]: Finished difference Result 260 states and 323 transitions. [2022-04-08 14:09:40,864 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 42 states. [2022-04-08 14:09:40,865 INFO L78 Accepts]: Start accepts. Automaton has has 23 states, 23 states have (on average 6.304347826086956) internal successors, (145), 22 states have internal predecessors, (145), 22 states have call successors, (23), 22 states have call predecessors, (23), 20 states have return successors, (21), 20 states have call predecessors, (21), 21 states have call successors, (21) Word has length 189 [2022-04-08 14:09:40,865 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 14:09:40,865 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 23 states have (on average 6.304347826086956) internal successors, (145), 22 states have internal predecessors, (145), 22 states have call successors, (23), 22 states have call predecessors, (23), 20 states have return successors, (21), 20 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-08 14:09:40,868 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 309 transitions. [2022-04-08 14:09:40,868 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 23 states have (on average 6.304347826086956) internal successors, (145), 22 states have internal predecessors, (145), 22 states have call successors, (23), 22 states have call predecessors, (23), 20 states have return successors, (21), 20 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-08 14:09:40,884 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 309 transitions. [2022-04-08 14:09:40,884 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 42 states and 309 transitions. [2022-04-08 14:09:41,134 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 309 edges. 309 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:09:41,141 INFO L225 Difference]: With dead ends: 260 [2022-04-08 14:09:41,141 INFO L226 Difference]: Without dead ends: 252 [2022-04-08 14:09:41,142 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 396 GetRequests, 335 SyntacticMatches, 0 SemanticMatches, 61 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 229 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=1683, Invalid=2223, Unknown=0, NotChecked=0, Total=3906 [2022-04-08 14:09:41,155 INFO L913 BasicCegarLoop]: 49 mSDtfsCounter, 277 mSDsluCounter, 265 mSDsCounter, 0 mSdLazyCounter, 127 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 277 SdHoareTripleChecker+Valid, 314 SdHoareTripleChecker+Invalid, 137 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 127 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 14:09:41,155 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [277 Valid, 314 Invalid, 137 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 127 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 14:09:41,156 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 252 states. [2022-04-08 14:09:41,424 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 252 to 252. [2022-04-08 14:09:41,424 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 14:09:41,425 INFO L82 GeneralOperation]: Start isEquivalent. First operand 252 states. Second operand has 252 states, 201 states have (on average 1.3134328358208955) internal successors, (264), 202 states have internal predecessors, (264), 26 states have call successors, (26), 25 states have call predecessors, (26), 24 states have return successors, (24), 24 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-08 14:09:41,425 INFO L74 IsIncluded]: Start isIncluded. First operand 252 states. Second operand has 252 states, 201 states have (on average 1.3134328358208955) internal successors, (264), 202 states have internal predecessors, (264), 26 states have call successors, (26), 25 states have call predecessors, (26), 24 states have return successors, (24), 24 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-08 14:09:41,425 INFO L87 Difference]: Start difference. First operand 252 states. Second operand has 252 states, 201 states have (on average 1.3134328358208955) internal successors, (264), 202 states have internal predecessors, (264), 26 states have call successors, (26), 25 states have call predecessors, (26), 24 states have return successors, (24), 24 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-08 14:09:41,428 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:09:41,428 INFO L93 Difference]: Finished difference Result 252 states and 314 transitions. [2022-04-08 14:09:41,428 INFO L276 IsEmpty]: Start isEmpty. Operand 252 states and 314 transitions. [2022-04-08 14:09:41,428 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:09:41,428 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:09:41,429 INFO L74 IsIncluded]: Start isIncluded. First operand has 252 states, 201 states have (on average 1.3134328358208955) internal successors, (264), 202 states have internal predecessors, (264), 26 states have call successors, (26), 25 states have call predecessors, (26), 24 states have return successors, (24), 24 states have call predecessors, (24), 24 states have call successors, (24) Second operand 252 states. [2022-04-08 14:09:41,429 INFO L87 Difference]: Start difference. First operand has 252 states, 201 states have (on average 1.3134328358208955) internal successors, (264), 202 states have internal predecessors, (264), 26 states have call successors, (26), 25 states have call predecessors, (26), 24 states have return successors, (24), 24 states have call predecessors, (24), 24 states have call successors, (24) Second operand 252 states. [2022-04-08 14:09:41,431 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:09:41,432 INFO L93 Difference]: Finished difference Result 252 states and 314 transitions. [2022-04-08 14:09:41,432 INFO L276 IsEmpty]: Start isEmpty. Operand 252 states and 314 transitions. [2022-04-08 14:09:41,432 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:09:41,432 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:09:41,432 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 14:09:41,432 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 14:09:41,432 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 252 states, 201 states have (on average 1.3134328358208955) internal successors, (264), 202 states have internal predecessors, (264), 26 states have call successors, (26), 25 states have call predecessors, (26), 24 states have return successors, (24), 24 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-08 14:09:41,436 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 252 states to 252 states and 314 transitions. [2022-04-08 14:09:41,436 INFO L78 Accepts]: Start accepts. Automaton has 252 states and 314 transitions. Word has length 189 [2022-04-08 14:09:41,436 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 14:09:41,436 INFO L478 AbstractCegarLoop]: Abstraction has 252 states and 314 transitions. [2022-04-08 14:09:41,436 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 23 states, 23 states have (on average 6.304347826086956) internal successors, (145), 22 states have internal predecessors, (145), 22 states have call successors, (23), 22 states have call predecessors, (23), 20 states have return successors, (21), 20 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-08 14:09:41,436 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 252 states and 314 transitions. [2022-04-08 14:10:22,760 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 314 edges. 295 inductive. 0 not inductive. 19 times theorem prover too weak to decide inductivity. [2022-04-08 14:10:22,761 INFO L276 IsEmpty]: Start isEmpty. Operand 252 states and 314 transitions. [2022-04-08 14:10:22,762 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 199 [2022-04-08 14:10:22,762 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 14:10:22,762 INFO L499 BasicCegarLoop]: trace histogram [21, 21, 20, 20, 20, 20, 20, 20, 20, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 14:10:22,778 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (33)] Forceful destruction successful, exit code 0 [2022-04-08 14:10:22,962 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable32,33 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 14:10:22,962 INFO L403 AbstractCegarLoop]: === Iteration 34 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 14:10:22,963 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 14:10:22,963 INFO L85 PathProgramCache]: Analyzing trace with hash 1773411066, now seen corresponding path program 39 times [2022-04-08 14:10:22,963 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 14:10:22,963 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1252425070] [2022-04-08 14:10:29,014 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 14:10:29,014 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 14:10:29,014 INFO L85 PathProgramCache]: Analyzing trace with hash 1773411066, now seen corresponding path program 40 times [2022-04-08 14:10:29,014 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 14:10:29,014 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [221871723] [2022-04-08 14:10:29,014 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 14:10:29,014 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 14:10:29,036 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 14:10:29,036 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [49758161] [2022-04-08 14:10:29,036 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 14:10:29,036 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 14:10:29,036 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 14:10:29,037 INFO L229 MonitoredProcess]: Starting monitored process 34 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 14:10:29,038 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (34)] Waiting until timeout for monitored process [2022-04-08 14:10:29,266 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 14:10:29,266 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 14:10:29,269 INFO L263 TraceCheckSpWp]: Trace formula consists of 606 conjuncts, 45 conjunts are in the unsatisfiable core [2022-04-08 14:10:29,308 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 14:10:29,314 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 14:10:30,183 INFO L272 TraceCheckUtils]: 0: Hoare triple {39363#true} call ULTIMATE.init(); {39363#true} is VALID [2022-04-08 14:10:30,183 INFO L290 TraceCheckUtils]: 1: Hoare triple {39363#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {39371#(<= ~counter~0 0)} is VALID [2022-04-08 14:10:30,183 INFO L290 TraceCheckUtils]: 2: Hoare triple {39371#(<= ~counter~0 0)} assume true; {39371#(<= ~counter~0 0)} is VALID [2022-04-08 14:10:30,184 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {39371#(<= ~counter~0 0)} {39363#true} #77#return; {39371#(<= ~counter~0 0)} is VALID [2022-04-08 14:10:30,184 INFO L272 TraceCheckUtils]: 4: Hoare triple {39371#(<= ~counter~0 0)} call #t~ret7 := main(); {39371#(<= ~counter~0 0)} is VALID [2022-04-08 14:10:30,184 INFO L290 TraceCheckUtils]: 5: Hoare triple {39371#(<= ~counter~0 0)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {39371#(<= ~counter~0 0)} is VALID [2022-04-08 14:10:30,184 INFO L272 TraceCheckUtils]: 6: Hoare triple {39371#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {39371#(<= ~counter~0 0)} is VALID [2022-04-08 14:10:30,185 INFO L290 TraceCheckUtils]: 7: Hoare triple {39371#(<= ~counter~0 0)} ~cond := #in~cond; {39371#(<= ~counter~0 0)} is VALID [2022-04-08 14:10:30,185 INFO L290 TraceCheckUtils]: 8: Hoare triple {39371#(<= ~counter~0 0)} assume !(0 == ~cond); {39371#(<= ~counter~0 0)} is VALID [2022-04-08 14:10:30,185 INFO L290 TraceCheckUtils]: 9: Hoare triple {39371#(<= ~counter~0 0)} assume true; {39371#(<= ~counter~0 0)} is VALID [2022-04-08 14:10:30,185 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {39371#(<= ~counter~0 0)} {39371#(<= ~counter~0 0)} #69#return; {39371#(<= ~counter~0 0)} is VALID [2022-04-08 14:10:30,185 INFO L290 TraceCheckUtils]: 11: Hoare triple {39371#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {39371#(<= ~counter~0 0)} is VALID [2022-04-08 14:10:30,186 INFO L290 TraceCheckUtils]: 12: Hoare triple {39371#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {39405#(<= ~counter~0 1)} is VALID [2022-04-08 14:10:30,186 INFO L290 TraceCheckUtils]: 13: Hoare triple {39405#(<= ~counter~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {39405#(<= ~counter~0 1)} is VALID [2022-04-08 14:10:30,187 INFO L272 TraceCheckUtils]: 14: Hoare triple {39405#(<= ~counter~0 1)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {39405#(<= ~counter~0 1)} is VALID [2022-04-08 14:10:30,187 INFO L290 TraceCheckUtils]: 15: Hoare triple {39405#(<= ~counter~0 1)} ~cond := #in~cond; {39405#(<= ~counter~0 1)} is VALID [2022-04-08 14:10:30,187 INFO L290 TraceCheckUtils]: 16: Hoare triple {39405#(<= ~counter~0 1)} assume !(0 == ~cond); {39405#(<= ~counter~0 1)} is VALID [2022-04-08 14:10:30,187 INFO L290 TraceCheckUtils]: 17: Hoare triple {39405#(<= ~counter~0 1)} assume true; {39405#(<= ~counter~0 1)} is VALID [2022-04-08 14:10:30,188 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {39405#(<= ~counter~0 1)} {39405#(<= ~counter~0 1)} #71#return; {39405#(<= ~counter~0 1)} is VALID [2022-04-08 14:10:30,188 INFO L290 TraceCheckUtils]: 19: Hoare triple {39405#(<= ~counter~0 1)} assume !!(0 != ~a~0 && 0 != ~b~0); {39405#(<= ~counter~0 1)} is VALID [2022-04-08 14:10:30,188 INFO L290 TraceCheckUtils]: 20: Hoare triple {39405#(<= ~counter~0 1)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {39405#(<= ~counter~0 1)} is VALID [2022-04-08 14:10:30,189 INFO L290 TraceCheckUtils]: 21: Hoare triple {39405#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {39433#(<= ~counter~0 2)} is VALID [2022-04-08 14:10:30,189 INFO L290 TraceCheckUtils]: 22: Hoare triple {39433#(<= ~counter~0 2)} assume !!(#t~post6 < 100);havoc #t~post6; {39433#(<= ~counter~0 2)} is VALID [2022-04-08 14:10:30,189 INFO L272 TraceCheckUtils]: 23: Hoare triple {39433#(<= ~counter~0 2)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {39433#(<= ~counter~0 2)} is VALID [2022-04-08 14:10:30,190 INFO L290 TraceCheckUtils]: 24: Hoare triple {39433#(<= ~counter~0 2)} ~cond := #in~cond; {39433#(<= ~counter~0 2)} is VALID [2022-04-08 14:10:30,190 INFO L290 TraceCheckUtils]: 25: Hoare triple {39433#(<= ~counter~0 2)} assume !(0 == ~cond); {39433#(<= ~counter~0 2)} is VALID [2022-04-08 14:10:30,190 INFO L290 TraceCheckUtils]: 26: Hoare triple {39433#(<= ~counter~0 2)} assume true; {39433#(<= ~counter~0 2)} is VALID [2022-04-08 14:10:30,190 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {39433#(<= ~counter~0 2)} {39433#(<= ~counter~0 2)} #71#return; {39433#(<= ~counter~0 2)} is VALID [2022-04-08 14:10:30,191 INFO L290 TraceCheckUtils]: 28: Hoare triple {39433#(<= ~counter~0 2)} assume !!(0 != ~a~0 && 0 != ~b~0); {39433#(<= ~counter~0 2)} is VALID [2022-04-08 14:10:30,191 INFO L290 TraceCheckUtils]: 29: Hoare triple {39433#(<= ~counter~0 2)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {39433#(<= ~counter~0 2)} is VALID [2022-04-08 14:10:30,191 INFO L290 TraceCheckUtils]: 30: Hoare triple {39433#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {39461#(<= ~counter~0 3)} is VALID [2022-04-08 14:10:30,191 INFO L290 TraceCheckUtils]: 31: Hoare triple {39461#(<= ~counter~0 3)} assume !!(#t~post6 < 100);havoc #t~post6; {39461#(<= ~counter~0 3)} is VALID [2022-04-08 14:10:30,192 INFO L272 TraceCheckUtils]: 32: Hoare triple {39461#(<= ~counter~0 3)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {39461#(<= ~counter~0 3)} is VALID [2022-04-08 14:10:30,192 INFO L290 TraceCheckUtils]: 33: Hoare triple {39461#(<= ~counter~0 3)} ~cond := #in~cond; {39461#(<= ~counter~0 3)} is VALID [2022-04-08 14:10:30,192 INFO L290 TraceCheckUtils]: 34: Hoare triple {39461#(<= ~counter~0 3)} assume !(0 == ~cond); {39461#(<= ~counter~0 3)} is VALID [2022-04-08 14:10:30,193 INFO L290 TraceCheckUtils]: 35: Hoare triple {39461#(<= ~counter~0 3)} assume true; {39461#(<= ~counter~0 3)} is VALID [2022-04-08 14:10:30,193 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {39461#(<= ~counter~0 3)} {39461#(<= ~counter~0 3)} #71#return; {39461#(<= ~counter~0 3)} is VALID [2022-04-08 14:10:30,193 INFO L290 TraceCheckUtils]: 37: Hoare triple {39461#(<= ~counter~0 3)} assume !!(0 != ~a~0 && 0 != ~b~0); {39461#(<= ~counter~0 3)} is VALID [2022-04-08 14:10:30,193 INFO L290 TraceCheckUtils]: 38: Hoare triple {39461#(<= ~counter~0 3)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {39461#(<= ~counter~0 3)} is VALID [2022-04-08 14:10:30,194 INFO L290 TraceCheckUtils]: 39: Hoare triple {39461#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {39489#(<= ~counter~0 4)} is VALID [2022-04-08 14:10:30,194 INFO L290 TraceCheckUtils]: 40: Hoare triple {39489#(<= ~counter~0 4)} assume !!(#t~post6 < 100);havoc #t~post6; {39489#(<= ~counter~0 4)} is VALID [2022-04-08 14:10:30,194 INFO L272 TraceCheckUtils]: 41: Hoare triple {39489#(<= ~counter~0 4)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {39489#(<= ~counter~0 4)} is VALID [2022-04-08 14:10:30,195 INFO L290 TraceCheckUtils]: 42: Hoare triple {39489#(<= ~counter~0 4)} ~cond := #in~cond; {39489#(<= ~counter~0 4)} is VALID [2022-04-08 14:10:30,195 INFO L290 TraceCheckUtils]: 43: Hoare triple {39489#(<= ~counter~0 4)} assume !(0 == ~cond); {39489#(<= ~counter~0 4)} is VALID [2022-04-08 14:10:30,195 INFO L290 TraceCheckUtils]: 44: Hoare triple {39489#(<= ~counter~0 4)} assume true; {39489#(<= ~counter~0 4)} is VALID [2022-04-08 14:10:30,195 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {39489#(<= ~counter~0 4)} {39489#(<= ~counter~0 4)} #71#return; {39489#(<= ~counter~0 4)} is VALID [2022-04-08 14:10:30,196 INFO L290 TraceCheckUtils]: 46: Hoare triple {39489#(<= ~counter~0 4)} assume !!(0 != ~a~0 && 0 != ~b~0); {39489#(<= ~counter~0 4)} is VALID [2022-04-08 14:10:30,196 INFO L290 TraceCheckUtils]: 47: Hoare triple {39489#(<= ~counter~0 4)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {39489#(<= ~counter~0 4)} is VALID [2022-04-08 14:10:30,196 INFO L290 TraceCheckUtils]: 48: Hoare triple {39489#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {39517#(<= ~counter~0 5)} is VALID [2022-04-08 14:10:30,196 INFO L290 TraceCheckUtils]: 49: Hoare triple {39517#(<= ~counter~0 5)} assume !!(#t~post6 < 100);havoc #t~post6; {39517#(<= ~counter~0 5)} is VALID [2022-04-08 14:10:30,197 INFO L272 TraceCheckUtils]: 50: Hoare triple {39517#(<= ~counter~0 5)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {39517#(<= ~counter~0 5)} is VALID [2022-04-08 14:10:30,197 INFO L290 TraceCheckUtils]: 51: Hoare triple {39517#(<= ~counter~0 5)} ~cond := #in~cond; {39517#(<= ~counter~0 5)} is VALID [2022-04-08 14:10:30,197 INFO L290 TraceCheckUtils]: 52: Hoare triple {39517#(<= ~counter~0 5)} assume !(0 == ~cond); {39517#(<= ~counter~0 5)} is VALID [2022-04-08 14:10:30,197 INFO L290 TraceCheckUtils]: 53: Hoare triple {39517#(<= ~counter~0 5)} assume true; {39517#(<= ~counter~0 5)} is VALID [2022-04-08 14:10:30,198 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {39517#(<= ~counter~0 5)} {39517#(<= ~counter~0 5)} #71#return; {39517#(<= ~counter~0 5)} is VALID [2022-04-08 14:10:30,198 INFO L290 TraceCheckUtils]: 55: Hoare triple {39517#(<= ~counter~0 5)} assume !!(0 != ~a~0 && 0 != ~b~0); {39517#(<= ~counter~0 5)} is VALID [2022-04-08 14:10:30,198 INFO L290 TraceCheckUtils]: 56: Hoare triple {39517#(<= ~counter~0 5)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {39517#(<= ~counter~0 5)} is VALID [2022-04-08 14:10:30,199 INFO L290 TraceCheckUtils]: 57: Hoare triple {39517#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {39545#(<= ~counter~0 6)} is VALID [2022-04-08 14:10:30,199 INFO L290 TraceCheckUtils]: 58: Hoare triple {39545#(<= ~counter~0 6)} assume !!(#t~post6 < 100);havoc #t~post6; {39545#(<= ~counter~0 6)} is VALID [2022-04-08 14:10:30,199 INFO L272 TraceCheckUtils]: 59: Hoare triple {39545#(<= ~counter~0 6)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {39545#(<= ~counter~0 6)} is VALID [2022-04-08 14:10:30,200 INFO L290 TraceCheckUtils]: 60: Hoare triple {39545#(<= ~counter~0 6)} ~cond := #in~cond; {39545#(<= ~counter~0 6)} is VALID [2022-04-08 14:10:30,200 INFO L290 TraceCheckUtils]: 61: Hoare triple {39545#(<= ~counter~0 6)} assume !(0 == ~cond); {39545#(<= ~counter~0 6)} is VALID [2022-04-08 14:10:30,200 INFO L290 TraceCheckUtils]: 62: Hoare triple {39545#(<= ~counter~0 6)} assume true; {39545#(<= ~counter~0 6)} is VALID [2022-04-08 14:10:30,200 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {39545#(<= ~counter~0 6)} {39545#(<= ~counter~0 6)} #71#return; {39545#(<= ~counter~0 6)} is VALID [2022-04-08 14:10:30,201 INFO L290 TraceCheckUtils]: 64: Hoare triple {39545#(<= ~counter~0 6)} assume !!(0 != ~a~0 && 0 != ~b~0); {39545#(<= ~counter~0 6)} is VALID [2022-04-08 14:10:30,201 INFO L290 TraceCheckUtils]: 65: Hoare triple {39545#(<= ~counter~0 6)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {39545#(<= ~counter~0 6)} is VALID [2022-04-08 14:10:30,201 INFO L290 TraceCheckUtils]: 66: Hoare triple {39545#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {39573#(<= ~counter~0 7)} is VALID [2022-04-08 14:10:30,201 INFO L290 TraceCheckUtils]: 67: Hoare triple {39573#(<= ~counter~0 7)} assume !!(#t~post6 < 100);havoc #t~post6; {39573#(<= ~counter~0 7)} is VALID [2022-04-08 14:10:30,202 INFO L272 TraceCheckUtils]: 68: Hoare triple {39573#(<= ~counter~0 7)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {39573#(<= ~counter~0 7)} is VALID [2022-04-08 14:10:30,202 INFO L290 TraceCheckUtils]: 69: Hoare triple {39573#(<= ~counter~0 7)} ~cond := #in~cond; {39573#(<= ~counter~0 7)} is VALID [2022-04-08 14:10:30,202 INFO L290 TraceCheckUtils]: 70: Hoare triple {39573#(<= ~counter~0 7)} assume !(0 == ~cond); {39573#(<= ~counter~0 7)} is VALID [2022-04-08 14:10:30,202 INFO L290 TraceCheckUtils]: 71: Hoare triple {39573#(<= ~counter~0 7)} assume true; {39573#(<= ~counter~0 7)} is VALID [2022-04-08 14:10:30,203 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {39573#(<= ~counter~0 7)} {39573#(<= ~counter~0 7)} #71#return; {39573#(<= ~counter~0 7)} is VALID [2022-04-08 14:10:30,203 INFO L290 TraceCheckUtils]: 73: Hoare triple {39573#(<= ~counter~0 7)} assume !!(0 != ~a~0 && 0 != ~b~0); {39573#(<= ~counter~0 7)} is VALID [2022-04-08 14:10:30,203 INFO L290 TraceCheckUtils]: 74: Hoare triple {39573#(<= ~counter~0 7)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {39573#(<= ~counter~0 7)} is VALID [2022-04-08 14:10:30,204 INFO L290 TraceCheckUtils]: 75: Hoare triple {39573#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {39601#(<= ~counter~0 8)} is VALID [2022-04-08 14:10:30,204 INFO L290 TraceCheckUtils]: 76: Hoare triple {39601#(<= ~counter~0 8)} assume !!(#t~post6 < 100);havoc #t~post6; {39601#(<= ~counter~0 8)} is VALID [2022-04-08 14:10:30,204 INFO L272 TraceCheckUtils]: 77: Hoare triple {39601#(<= ~counter~0 8)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {39601#(<= ~counter~0 8)} is VALID [2022-04-08 14:10:30,204 INFO L290 TraceCheckUtils]: 78: Hoare triple {39601#(<= ~counter~0 8)} ~cond := #in~cond; {39601#(<= ~counter~0 8)} is VALID [2022-04-08 14:10:30,205 INFO L290 TraceCheckUtils]: 79: Hoare triple {39601#(<= ~counter~0 8)} assume !(0 == ~cond); {39601#(<= ~counter~0 8)} is VALID [2022-04-08 14:10:30,205 INFO L290 TraceCheckUtils]: 80: Hoare triple {39601#(<= ~counter~0 8)} assume true; {39601#(<= ~counter~0 8)} is VALID [2022-04-08 14:10:30,205 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {39601#(<= ~counter~0 8)} {39601#(<= ~counter~0 8)} #71#return; {39601#(<= ~counter~0 8)} is VALID [2022-04-08 14:10:30,205 INFO L290 TraceCheckUtils]: 82: Hoare triple {39601#(<= ~counter~0 8)} assume !!(0 != ~a~0 && 0 != ~b~0); {39601#(<= ~counter~0 8)} is VALID [2022-04-08 14:10:30,206 INFO L290 TraceCheckUtils]: 83: Hoare triple {39601#(<= ~counter~0 8)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {39601#(<= ~counter~0 8)} is VALID [2022-04-08 14:10:30,206 INFO L290 TraceCheckUtils]: 84: Hoare triple {39601#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {39629#(<= ~counter~0 9)} is VALID [2022-04-08 14:10:30,206 INFO L290 TraceCheckUtils]: 85: Hoare triple {39629#(<= ~counter~0 9)} assume !!(#t~post6 < 100);havoc #t~post6; {39629#(<= ~counter~0 9)} is VALID [2022-04-08 14:10:30,207 INFO L272 TraceCheckUtils]: 86: Hoare triple {39629#(<= ~counter~0 9)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {39629#(<= ~counter~0 9)} is VALID [2022-04-08 14:10:30,207 INFO L290 TraceCheckUtils]: 87: Hoare triple {39629#(<= ~counter~0 9)} ~cond := #in~cond; {39629#(<= ~counter~0 9)} is VALID [2022-04-08 14:10:30,207 INFO L290 TraceCheckUtils]: 88: Hoare triple {39629#(<= ~counter~0 9)} assume !(0 == ~cond); {39629#(<= ~counter~0 9)} is VALID [2022-04-08 14:10:30,207 INFO L290 TraceCheckUtils]: 89: Hoare triple {39629#(<= ~counter~0 9)} assume true; {39629#(<= ~counter~0 9)} is VALID [2022-04-08 14:10:30,208 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {39629#(<= ~counter~0 9)} {39629#(<= ~counter~0 9)} #71#return; {39629#(<= ~counter~0 9)} is VALID [2022-04-08 14:10:30,208 INFO L290 TraceCheckUtils]: 91: Hoare triple {39629#(<= ~counter~0 9)} assume !!(0 != ~a~0 && 0 != ~b~0); {39629#(<= ~counter~0 9)} is VALID [2022-04-08 14:10:30,208 INFO L290 TraceCheckUtils]: 92: Hoare triple {39629#(<= ~counter~0 9)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {39629#(<= ~counter~0 9)} is VALID [2022-04-08 14:10:30,209 INFO L290 TraceCheckUtils]: 93: Hoare triple {39629#(<= ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {39657#(<= ~counter~0 10)} is VALID [2022-04-08 14:10:30,209 INFO L290 TraceCheckUtils]: 94: Hoare triple {39657#(<= ~counter~0 10)} assume !!(#t~post6 < 100);havoc #t~post6; {39657#(<= ~counter~0 10)} is VALID [2022-04-08 14:10:30,209 INFO L272 TraceCheckUtils]: 95: Hoare triple {39657#(<= ~counter~0 10)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {39657#(<= ~counter~0 10)} is VALID [2022-04-08 14:10:30,209 INFO L290 TraceCheckUtils]: 96: Hoare triple {39657#(<= ~counter~0 10)} ~cond := #in~cond; {39657#(<= ~counter~0 10)} is VALID [2022-04-08 14:10:30,210 INFO L290 TraceCheckUtils]: 97: Hoare triple {39657#(<= ~counter~0 10)} assume !(0 == ~cond); {39657#(<= ~counter~0 10)} is VALID [2022-04-08 14:10:30,212 INFO L290 TraceCheckUtils]: 98: Hoare triple {39657#(<= ~counter~0 10)} assume true; {39657#(<= ~counter~0 10)} is VALID [2022-04-08 14:10:30,212 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {39657#(<= ~counter~0 10)} {39657#(<= ~counter~0 10)} #71#return; {39657#(<= ~counter~0 10)} is VALID [2022-04-08 14:10:30,213 INFO L290 TraceCheckUtils]: 100: Hoare triple {39657#(<= ~counter~0 10)} assume !!(0 != ~a~0 && 0 != ~b~0); {39657#(<= ~counter~0 10)} is VALID [2022-04-08 14:10:30,213 INFO L290 TraceCheckUtils]: 101: Hoare triple {39657#(<= ~counter~0 10)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {39657#(<= ~counter~0 10)} is VALID [2022-04-08 14:10:30,213 INFO L290 TraceCheckUtils]: 102: Hoare triple {39657#(<= ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {39685#(<= ~counter~0 11)} is VALID [2022-04-08 14:10:30,214 INFO L290 TraceCheckUtils]: 103: Hoare triple {39685#(<= ~counter~0 11)} assume !!(#t~post6 < 100);havoc #t~post6; {39685#(<= ~counter~0 11)} is VALID [2022-04-08 14:10:30,214 INFO L272 TraceCheckUtils]: 104: Hoare triple {39685#(<= ~counter~0 11)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {39685#(<= ~counter~0 11)} is VALID [2022-04-08 14:10:30,214 INFO L290 TraceCheckUtils]: 105: Hoare triple {39685#(<= ~counter~0 11)} ~cond := #in~cond; {39685#(<= ~counter~0 11)} is VALID [2022-04-08 14:10:30,214 INFO L290 TraceCheckUtils]: 106: Hoare triple {39685#(<= ~counter~0 11)} assume !(0 == ~cond); {39685#(<= ~counter~0 11)} is VALID [2022-04-08 14:10:30,215 INFO L290 TraceCheckUtils]: 107: Hoare triple {39685#(<= ~counter~0 11)} assume true; {39685#(<= ~counter~0 11)} is VALID [2022-04-08 14:10:30,215 INFO L284 TraceCheckUtils]: 108: Hoare quadruple {39685#(<= ~counter~0 11)} {39685#(<= ~counter~0 11)} #71#return; {39685#(<= ~counter~0 11)} is VALID [2022-04-08 14:10:30,215 INFO L290 TraceCheckUtils]: 109: Hoare triple {39685#(<= ~counter~0 11)} assume !!(0 != ~a~0 && 0 != ~b~0); {39685#(<= ~counter~0 11)} is VALID [2022-04-08 14:10:30,215 INFO L290 TraceCheckUtils]: 110: Hoare triple {39685#(<= ~counter~0 11)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {39685#(<= ~counter~0 11)} is VALID [2022-04-08 14:10:30,216 INFO L290 TraceCheckUtils]: 111: Hoare triple {39685#(<= ~counter~0 11)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {39713#(<= ~counter~0 12)} is VALID [2022-04-08 14:10:30,216 INFO L290 TraceCheckUtils]: 112: Hoare triple {39713#(<= ~counter~0 12)} assume !!(#t~post6 < 100);havoc #t~post6; {39713#(<= ~counter~0 12)} is VALID [2022-04-08 14:10:30,216 INFO L272 TraceCheckUtils]: 113: Hoare triple {39713#(<= ~counter~0 12)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {39713#(<= ~counter~0 12)} is VALID [2022-04-08 14:10:30,217 INFO L290 TraceCheckUtils]: 114: Hoare triple {39713#(<= ~counter~0 12)} ~cond := #in~cond; {39713#(<= ~counter~0 12)} is VALID [2022-04-08 14:10:30,217 INFO L290 TraceCheckUtils]: 115: Hoare triple {39713#(<= ~counter~0 12)} assume !(0 == ~cond); {39713#(<= ~counter~0 12)} is VALID [2022-04-08 14:10:30,217 INFO L290 TraceCheckUtils]: 116: Hoare triple {39713#(<= ~counter~0 12)} assume true; {39713#(<= ~counter~0 12)} is VALID [2022-04-08 14:10:30,217 INFO L284 TraceCheckUtils]: 117: Hoare quadruple {39713#(<= ~counter~0 12)} {39713#(<= ~counter~0 12)} #71#return; {39713#(<= ~counter~0 12)} is VALID [2022-04-08 14:10:30,218 INFO L290 TraceCheckUtils]: 118: Hoare triple {39713#(<= ~counter~0 12)} assume !!(0 != ~a~0 && 0 != ~b~0); {39713#(<= ~counter~0 12)} is VALID [2022-04-08 14:10:30,218 INFO L290 TraceCheckUtils]: 119: Hoare triple {39713#(<= ~counter~0 12)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {39713#(<= ~counter~0 12)} is VALID [2022-04-08 14:10:30,218 INFO L290 TraceCheckUtils]: 120: Hoare triple {39713#(<= ~counter~0 12)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {39741#(<= ~counter~0 13)} is VALID [2022-04-08 14:10:30,218 INFO L290 TraceCheckUtils]: 121: Hoare triple {39741#(<= ~counter~0 13)} assume !!(#t~post6 < 100);havoc #t~post6; {39741#(<= ~counter~0 13)} is VALID [2022-04-08 14:10:30,219 INFO L272 TraceCheckUtils]: 122: Hoare triple {39741#(<= ~counter~0 13)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {39741#(<= ~counter~0 13)} is VALID [2022-04-08 14:10:30,219 INFO L290 TraceCheckUtils]: 123: Hoare triple {39741#(<= ~counter~0 13)} ~cond := #in~cond; {39741#(<= ~counter~0 13)} is VALID [2022-04-08 14:10:30,219 INFO L290 TraceCheckUtils]: 124: Hoare triple {39741#(<= ~counter~0 13)} assume !(0 == ~cond); {39741#(<= ~counter~0 13)} is VALID [2022-04-08 14:10:30,219 INFO L290 TraceCheckUtils]: 125: Hoare triple {39741#(<= ~counter~0 13)} assume true; {39741#(<= ~counter~0 13)} is VALID [2022-04-08 14:10:30,220 INFO L284 TraceCheckUtils]: 126: Hoare quadruple {39741#(<= ~counter~0 13)} {39741#(<= ~counter~0 13)} #71#return; {39741#(<= ~counter~0 13)} is VALID [2022-04-08 14:10:30,220 INFO L290 TraceCheckUtils]: 127: Hoare triple {39741#(<= ~counter~0 13)} assume !!(0 != ~a~0 && 0 != ~b~0); {39741#(<= ~counter~0 13)} is VALID [2022-04-08 14:10:30,220 INFO L290 TraceCheckUtils]: 128: Hoare triple {39741#(<= ~counter~0 13)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {39741#(<= ~counter~0 13)} is VALID [2022-04-08 14:10:30,221 INFO L290 TraceCheckUtils]: 129: Hoare triple {39741#(<= ~counter~0 13)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {39769#(<= ~counter~0 14)} is VALID [2022-04-08 14:10:30,221 INFO L290 TraceCheckUtils]: 130: Hoare triple {39769#(<= ~counter~0 14)} assume !!(#t~post6 < 100);havoc #t~post6; {39769#(<= ~counter~0 14)} is VALID [2022-04-08 14:10:30,221 INFO L272 TraceCheckUtils]: 131: Hoare triple {39769#(<= ~counter~0 14)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {39769#(<= ~counter~0 14)} is VALID [2022-04-08 14:10:30,222 INFO L290 TraceCheckUtils]: 132: Hoare triple {39769#(<= ~counter~0 14)} ~cond := #in~cond; {39769#(<= ~counter~0 14)} is VALID [2022-04-08 14:10:30,222 INFO L290 TraceCheckUtils]: 133: Hoare triple {39769#(<= ~counter~0 14)} assume !(0 == ~cond); {39769#(<= ~counter~0 14)} is VALID [2022-04-08 14:10:30,222 INFO L290 TraceCheckUtils]: 134: Hoare triple {39769#(<= ~counter~0 14)} assume true; {39769#(<= ~counter~0 14)} is VALID [2022-04-08 14:10:30,222 INFO L284 TraceCheckUtils]: 135: Hoare quadruple {39769#(<= ~counter~0 14)} {39769#(<= ~counter~0 14)} #71#return; {39769#(<= ~counter~0 14)} is VALID [2022-04-08 14:10:30,223 INFO L290 TraceCheckUtils]: 136: Hoare triple {39769#(<= ~counter~0 14)} assume !!(0 != ~a~0 && 0 != ~b~0); {39769#(<= ~counter~0 14)} is VALID [2022-04-08 14:10:30,223 INFO L290 TraceCheckUtils]: 137: Hoare triple {39769#(<= ~counter~0 14)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {39769#(<= ~counter~0 14)} is VALID [2022-04-08 14:10:30,223 INFO L290 TraceCheckUtils]: 138: Hoare triple {39769#(<= ~counter~0 14)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {39797#(<= ~counter~0 15)} is VALID [2022-04-08 14:10:30,223 INFO L290 TraceCheckUtils]: 139: Hoare triple {39797#(<= ~counter~0 15)} assume !!(#t~post6 < 100);havoc #t~post6; {39797#(<= ~counter~0 15)} is VALID [2022-04-08 14:10:30,224 INFO L272 TraceCheckUtils]: 140: Hoare triple {39797#(<= ~counter~0 15)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {39797#(<= ~counter~0 15)} is VALID [2022-04-08 14:10:30,224 INFO L290 TraceCheckUtils]: 141: Hoare triple {39797#(<= ~counter~0 15)} ~cond := #in~cond; {39797#(<= ~counter~0 15)} is VALID [2022-04-08 14:10:30,224 INFO L290 TraceCheckUtils]: 142: Hoare triple {39797#(<= ~counter~0 15)} assume !(0 == ~cond); {39797#(<= ~counter~0 15)} is VALID [2022-04-08 14:10:30,224 INFO L290 TraceCheckUtils]: 143: Hoare triple {39797#(<= ~counter~0 15)} assume true; {39797#(<= ~counter~0 15)} is VALID [2022-04-08 14:10:30,225 INFO L284 TraceCheckUtils]: 144: Hoare quadruple {39797#(<= ~counter~0 15)} {39797#(<= ~counter~0 15)} #71#return; {39797#(<= ~counter~0 15)} is VALID [2022-04-08 14:10:30,225 INFO L290 TraceCheckUtils]: 145: Hoare triple {39797#(<= ~counter~0 15)} assume !!(0 != ~a~0 && 0 != ~b~0); {39797#(<= ~counter~0 15)} is VALID [2022-04-08 14:10:30,225 INFO L290 TraceCheckUtils]: 146: Hoare triple {39797#(<= ~counter~0 15)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {39797#(<= ~counter~0 15)} is VALID [2022-04-08 14:10:30,226 INFO L290 TraceCheckUtils]: 147: Hoare triple {39797#(<= ~counter~0 15)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {39825#(<= ~counter~0 16)} is VALID [2022-04-08 14:10:30,226 INFO L290 TraceCheckUtils]: 148: Hoare triple {39825#(<= ~counter~0 16)} assume !!(#t~post6 < 100);havoc #t~post6; {39825#(<= ~counter~0 16)} is VALID [2022-04-08 14:10:30,226 INFO L272 TraceCheckUtils]: 149: Hoare triple {39825#(<= ~counter~0 16)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {39825#(<= ~counter~0 16)} is VALID [2022-04-08 14:10:30,226 INFO L290 TraceCheckUtils]: 150: Hoare triple {39825#(<= ~counter~0 16)} ~cond := #in~cond; {39825#(<= ~counter~0 16)} is VALID [2022-04-08 14:10:30,227 INFO L290 TraceCheckUtils]: 151: Hoare triple {39825#(<= ~counter~0 16)} assume !(0 == ~cond); {39825#(<= ~counter~0 16)} is VALID [2022-04-08 14:10:30,227 INFO L290 TraceCheckUtils]: 152: Hoare triple {39825#(<= ~counter~0 16)} assume true; {39825#(<= ~counter~0 16)} is VALID [2022-04-08 14:10:30,227 INFO L284 TraceCheckUtils]: 153: Hoare quadruple {39825#(<= ~counter~0 16)} {39825#(<= ~counter~0 16)} #71#return; {39825#(<= ~counter~0 16)} is VALID [2022-04-08 14:10:30,228 INFO L290 TraceCheckUtils]: 154: Hoare triple {39825#(<= ~counter~0 16)} assume !!(0 != ~a~0 && 0 != ~b~0); {39825#(<= ~counter~0 16)} is VALID [2022-04-08 14:10:30,228 INFO L290 TraceCheckUtils]: 155: Hoare triple {39825#(<= ~counter~0 16)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {39825#(<= ~counter~0 16)} is VALID [2022-04-08 14:10:30,228 INFO L290 TraceCheckUtils]: 156: Hoare triple {39825#(<= ~counter~0 16)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {39853#(<= ~counter~0 17)} is VALID [2022-04-08 14:10:30,228 INFO L290 TraceCheckUtils]: 157: Hoare triple {39853#(<= ~counter~0 17)} assume !!(#t~post6 < 100);havoc #t~post6; {39853#(<= ~counter~0 17)} is VALID [2022-04-08 14:10:30,229 INFO L272 TraceCheckUtils]: 158: Hoare triple {39853#(<= ~counter~0 17)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {39853#(<= ~counter~0 17)} is VALID [2022-04-08 14:10:30,229 INFO L290 TraceCheckUtils]: 159: Hoare triple {39853#(<= ~counter~0 17)} ~cond := #in~cond; {39853#(<= ~counter~0 17)} is VALID [2022-04-08 14:10:30,229 INFO L290 TraceCheckUtils]: 160: Hoare triple {39853#(<= ~counter~0 17)} assume !(0 == ~cond); {39853#(<= ~counter~0 17)} is VALID [2022-04-08 14:10:30,229 INFO L290 TraceCheckUtils]: 161: Hoare triple {39853#(<= ~counter~0 17)} assume true; {39853#(<= ~counter~0 17)} is VALID [2022-04-08 14:10:30,230 INFO L284 TraceCheckUtils]: 162: Hoare quadruple {39853#(<= ~counter~0 17)} {39853#(<= ~counter~0 17)} #71#return; {39853#(<= ~counter~0 17)} is VALID [2022-04-08 14:10:30,230 INFO L290 TraceCheckUtils]: 163: Hoare triple {39853#(<= ~counter~0 17)} assume !!(0 != ~a~0 && 0 != ~b~0); {39853#(<= ~counter~0 17)} is VALID [2022-04-08 14:10:30,230 INFO L290 TraceCheckUtils]: 164: Hoare triple {39853#(<= ~counter~0 17)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {39853#(<= ~counter~0 17)} is VALID [2022-04-08 14:10:30,231 INFO L290 TraceCheckUtils]: 165: Hoare triple {39853#(<= ~counter~0 17)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {39881#(<= ~counter~0 18)} is VALID [2022-04-08 14:10:30,231 INFO L290 TraceCheckUtils]: 166: Hoare triple {39881#(<= ~counter~0 18)} assume !!(#t~post6 < 100);havoc #t~post6; {39881#(<= ~counter~0 18)} is VALID [2022-04-08 14:10:30,231 INFO L272 TraceCheckUtils]: 167: Hoare triple {39881#(<= ~counter~0 18)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {39881#(<= ~counter~0 18)} is VALID [2022-04-08 14:10:30,231 INFO L290 TraceCheckUtils]: 168: Hoare triple {39881#(<= ~counter~0 18)} ~cond := #in~cond; {39881#(<= ~counter~0 18)} is VALID [2022-04-08 14:10:30,232 INFO L290 TraceCheckUtils]: 169: Hoare triple {39881#(<= ~counter~0 18)} assume !(0 == ~cond); {39881#(<= ~counter~0 18)} is VALID [2022-04-08 14:10:30,232 INFO L290 TraceCheckUtils]: 170: Hoare triple {39881#(<= ~counter~0 18)} assume true; {39881#(<= ~counter~0 18)} is VALID [2022-04-08 14:10:30,232 INFO L284 TraceCheckUtils]: 171: Hoare quadruple {39881#(<= ~counter~0 18)} {39881#(<= ~counter~0 18)} #71#return; {39881#(<= ~counter~0 18)} is VALID [2022-04-08 14:10:30,232 INFO L290 TraceCheckUtils]: 172: Hoare triple {39881#(<= ~counter~0 18)} assume !!(0 != ~a~0 && 0 != ~b~0); {39881#(<= ~counter~0 18)} is VALID [2022-04-08 14:10:30,233 INFO L290 TraceCheckUtils]: 173: Hoare triple {39881#(<= ~counter~0 18)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {39881#(<= ~counter~0 18)} is VALID [2022-04-08 14:10:30,233 INFO L290 TraceCheckUtils]: 174: Hoare triple {39881#(<= ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {39909#(<= ~counter~0 19)} is VALID [2022-04-08 14:10:30,233 INFO L290 TraceCheckUtils]: 175: Hoare triple {39909#(<= ~counter~0 19)} assume !!(#t~post6 < 100);havoc #t~post6; {39909#(<= ~counter~0 19)} is VALID [2022-04-08 14:10:30,234 INFO L272 TraceCheckUtils]: 176: Hoare triple {39909#(<= ~counter~0 19)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {39909#(<= ~counter~0 19)} is VALID [2022-04-08 14:10:30,234 INFO L290 TraceCheckUtils]: 177: Hoare triple {39909#(<= ~counter~0 19)} ~cond := #in~cond; {39909#(<= ~counter~0 19)} is VALID [2022-04-08 14:10:30,234 INFO L290 TraceCheckUtils]: 178: Hoare triple {39909#(<= ~counter~0 19)} assume !(0 == ~cond); {39909#(<= ~counter~0 19)} is VALID [2022-04-08 14:10:30,234 INFO L290 TraceCheckUtils]: 179: Hoare triple {39909#(<= ~counter~0 19)} assume true; {39909#(<= ~counter~0 19)} is VALID [2022-04-08 14:10:30,235 INFO L284 TraceCheckUtils]: 180: Hoare quadruple {39909#(<= ~counter~0 19)} {39909#(<= ~counter~0 19)} #71#return; {39909#(<= ~counter~0 19)} is VALID [2022-04-08 14:10:30,235 INFO L290 TraceCheckUtils]: 181: Hoare triple {39909#(<= ~counter~0 19)} assume !!(0 != ~a~0 && 0 != ~b~0); {39909#(<= ~counter~0 19)} is VALID [2022-04-08 14:10:30,235 INFO L290 TraceCheckUtils]: 182: Hoare triple {39909#(<= ~counter~0 19)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {39909#(<= ~counter~0 19)} is VALID [2022-04-08 14:10:30,236 INFO L290 TraceCheckUtils]: 183: Hoare triple {39909#(<= ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {39937#(<= ~counter~0 20)} is VALID [2022-04-08 14:10:30,236 INFO L290 TraceCheckUtils]: 184: Hoare triple {39937#(<= ~counter~0 20)} assume !!(#t~post6 < 100);havoc #t~post6; {39937#(<= ~counter~0 20)} is VALID [2022-04-08 14:10:30,236 INFO L272 TraceCheckUtils]: 185: Hoare triple {39937#(<= ~counter~0 20)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {39937#(<= ~counter~0 20)} is VALID [2022-04-08 14:10:30,236 INFO L290 TraceCheckUtils]: 186: Hoare triple {39937#(<= ~counter~0 20)} ~cond := #in~cond; {39937#(<= ~counter~0 20)} is VALID [2022-04-08 14:10:30,237 INFO L290 TraceCheckUtils]: 187: Hoare triple {39937#(<= ~counter~0 20)} assume !(0 == ~cond); {39937#(<= ~counter~0 20)} is VALID [2022-04-08 14:10:30,237 INFO L290 TraceCheckUtils]: 188: Hoare triple {39937#(<= ~counter~0 20)} assume true; {39937#(<= ~counter~0 20)} is VALID [2022-04-08 14:10:30,237 INFO L284 TraceCheckUtils]: 189: Hoare quadruple {39937#(<= ~counter~0 20)} {39937#(<= ~counter~0 20)} #71#return; {39937#(<= ~counter~0 20)} is VALID [2022-04-08 14:10:30,237 INFO L290 TraceCheckUtils]: 190: Hoare triple {39937#(<= ~counter~0 20)} assume !!(0 != ~a~0 && 0 != ~b~0); {39937#(<= ~counter~0 20)} is VALID [2022-04-08 14:10:30,238 INFO L290 TraceCheckUtils]: 191: Hoare triple {39937#(<= ~counter~0 20)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {39937#(<= ~counter~0 20)} is VALID [2022-04-08 14:10:30,238 INFO L290 TraceCheckUtils]: 192: Hoare triple {39937#(<= ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {39965#(<= |main_#t~post6| 20)} is VALID [2022-04-08 14:10:30,238 INFO L290 TraceCheckUtils]: 193: Hoare triple {39965#(<= |main_#t~post6| 20)} assume !(#t~post6 < 100);havoc #t~post6; {39364#false} is VALID [2022-04-08 14:10:30,238 INFO L272 TraceCheckUtils]: 194: Hoare triple {39364#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {39364#false} is VALID [2022-04-08 14:10:30,238 INFO L290 TraceCheckUtils]: 195: Hoare triple {39364#false} ~cond := #in~cond; {39364#false} is VALID [2022-04-08 14:10:30,238 INFO L290 TraceCheckUtils]: 196: Hoare triple {39364#false} assume 0 == ~cond; {39364#false} is VALID [2022-04-08 14:10:30,238 INFO L290 TraceCheckUtils]: 197: Hoare triple {39364#false} assume !false; {39364#false} is VALID [2022-04-08 14:10:30,239 INFO L134 CoverageAnalysis]: Checked inductivity of 1790 backedges. 40 proven. 1750 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 14:10:30,239 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 14:10:31,010 INFO L290 TraceCheckUtils]: 197: Hoare triple {39364#false} assume !false; {39364#false} is VALID [2022-04-08 14:10:31,010 INFO L290 TraceCheckUtils]: 196: Hoare triple {39364#false} assume 0 == ~cond; {39364#false} is VALID [2022-04-08 14:10:31,010 INFO L290 TraceCheckUtils]: 195: Hoare triple {39364#false} ~cond := #in~cond; {39364#false} is VALID [2022-04-08 14:10:31,011 INFO L272 TraceCheckUtils]: 194: Hoare triple {39364#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {39364#false} is VALID [2022-04-08 14:10:31,011 INFO L290 TraceCheckUtils]: 193: Hoare triple {39993#(< |main_#t~post6| 100)} assume !(#t~post6 < 100);havoc #t~post6; {39364#false} is VALID [2022-04-08 14:10:31,011 INFO L290 TraceCheckUtils]: 192: Hoare triple {39997#(< ~counter~0 100)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {39993#(< |main_#t~post6| 100)} is VALID [2022-04-08 14:10:31,011 INFO L290 TraceCheckUtils]: 191: Hoare triple {39997#(< ~counter~0 100)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {39997#(< ~counter~0 100)} is VALID [2022-04-08 14:10:31,011 INFO L290 TraceCheckUtils]: 190: Hoare triple {39997#(< ~counter~0 100)} assume !!(0 != ~a~0 && 0 != ~b~0); {39997#(< ~counter~0 100)} is VALID [2022-04-08 14:10:31,012 INFO L284 TraceCheckUtils]: 189: Hoare quadruple {39363#true} {39997#(< ~counter~0 100)} #71#return; {39997#(< ~counter~0 100)} is VALID [2022-04-08 14:10:31,012 INFO L290 TraceCheckUtils]: 188: Hoare triple {39363#true} assume true; {39363#true} is VALID [2022-04-08 14:10:31,012 INFO L290 TraceCheckUtils]: 187: Hoare triple {39363#true} assume !(0 == ~cond); {39363#true} is VALID [2022-04-08 14:10:31,012 INFO L290 TraceCheckUtils]: 186: Hoare triple {39363#true} ~cond := #in~cond; {39363#true} is VALID [2022-04-08 14:10:31,012 INFO L272 TraceCheckUtils]: 185: Hoare triple {39997#(< ~counter~0 100)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {39363#true} is VALID [2022-04-08 14:10:31,012 INFO L290 TraceCheckUtils]: 184: Hoare triple {39997#(< ~counter~0 100)} assume !!(#t~post6 < 100);havoc #t~post6; {39997#(< ~counter~0 100)} is VALID [2022-04-08 14:10:31,013 INFO L290 TraceCheckUtils]: 183: Hoare triple {40025#(< ~counter~0 99)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {39997#(< ~counter~0 100)} is VALID [2022-04-08 14:10:31,013 INFO L290 TraceCheckUtils]: 182: Hoare triple {40025#(< ~counter~0 99)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {40025#(< ~counter~0 99)} is VALID [2022-04-08 14:10:31,013 INFO L290 TraceCheckUtils]: 181: Hoare triple {40025#(< ~counter~0 99)} assume !!(0 != ~a~0 && 0 != ~b~0); {40025#(< ~counter~0 99)} is VALID [2022-04-08 14:10:31,014 INFO L284 TraceCheckUtils]: 180: Hoare quadruple {39363#true} {40025#(< ~counter~0 99)} #71#return; {40025#(< ~counter~0 99)} is VALID [2022-04-08 14:10:31,014 INFO L290 TraceCheckUtils]: 179: Hoare triple {39363#true} assume true; {39363#true} is VALID [2022-04-08 14:10:31,014 INFO L290 TraceCheckUtils]: 178: Hoare triple {39363#true} assume !(0 == ~cond); {39363#true} is VALID [2022-04-08 14:10:31,014 INFO L290 TraceCheckUtils]: 177: Hoare triple {39363#true} ~cond := #in~cond; {39363#true} is VALID [2022-04-08 14:10:31,014 INFO L272 TraceCheckUtils]: 176: Hoare triple {40025#(< ~counter~0 99)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {39363#true} is VALID [2022-04-08 14:10:31,014 INFO L290 TraceCheckUtils]: 175: Hoare triple {40025#(< ~counter~0 99)} assume !!(#t~post6 < 100);havoc #t~post6; {40025#(< ~counter~0 99)} is VALID [2022-04-08 14:10:31,015 INFO L290 TraceCheckUtils]: 174: Hoare triple {40053#(< ~counter~0 98)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {40025#(< ~counter~0 99)} is VALID [2022-04-08 14:10:31,015 INFO L290 TraceCheckUtils]: 173: Hoare triple {40053#(< ~counter~0 98)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {40053#(< ~counter~0 98)} is VALID [2022-04-08 14:10:31,015 INFO L290 TraceCheckUtils]: 172: Hoare triple {40053#(< ~counter~0 98)} assume !!(0 != ~a~0 && 0 != ~b~0); {40053#(< ~counter~0 98)} is VALID [2022-04-08 14:10:31,015 INFO L284 TraceCheckUtils]: 171: Hoare quadruple {39363#true} {40053#(< ~counter~0 98)} #71#return; {40053#(< ~counter~0 98)} is VALID [2022-04-08 14:10:31,015 INFO L290 TraceCheckUtils]: 170: Hoare triple {39363#true} assume true; {39363#true} is VALID [2022-04-08 14:10:31,015 INFO L290 TraceCheckUtils]: 169: Hoare triple {39363#true} assume !(0 == ~cond); {39363#true} is VALID [2022-04-08 14:10:31,015 INFO L290 TraceCheckUtils]: 168: Hoare triple {39363#true} ~cond := #in~cond; {39363#true} is VALID [2022-04-08 14:10:31,016 INFO L272 TraceCheckUtils]: 167: Hoare triple {40053#(< ~counter~0 98)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {39363#true} is VALID [2022-04-08 14:10:31,016 INFO L290 TraceCheckUtils]: 166: Hoare triple {40053#(< ~counter~0 98)} assume !!(#t~post6 < 100);havoc #t~post6; {40053#(< ~counter~0 98)} is VALID [2022-04-08 14:10:31,016 INFO L290 TraceCheckUtils]: 165: Hoare triple {40081#(< ~counter~0 97)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {40053#(< ~counter~0 98)} is VALID [2022-04-08 14:10:31,016 INFO L290 TraceCheckUtils]: 164: Hoare triple {40081#(< ~counter~0 97)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {40081#(< ~counter~0 97)} is VALID [2022-04-08 14:10:31,016 INFO L290 TraceCheckUtils]: 163: Hoare triple {40081#(< ~counter~0 97)} assume !!(0 != ~a~0 && 0 != ~b~0); {40081#(< ~counter~0 97)} is VALID [2022-04-08 14:10:31,017 INFO L284 TraceCheckUtils]: 162: Hoare quadruple {39363#true} {40081#(< ~counter~0 97)} #71#return; {40081#(< ~counter~0 97)} is VALID [2022-04-08 14:10:31,017 INFO L290 TraceCheckUtils]: 161: Hoare triple {39363#true} assume true; {39363#true} is VALID [2022-04-08 14:10:31,017 INFO L290 TraceCheckUtils]: 160: Hoare triple {39363#true} assume !(0 == ~cond); {39363#true} is VALID [2022-04-08 14:10:31,017 INFO L290 TraceCheckUtils]: 159: Hoare triple {39363#true} ~cond := #in~cond; {39363#true} is VALID [2022-04-08 14:10:31,017 INFO L272 TraceCheckUtils]: 158: Hoare triple {40081#(< ~counter~0 97)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {39363#true} is VALID [2022-04-08 14:10:31,017 INFO L290 TraceCheckUtils]: 157: Hoare triple {40081#(< ~counter~0 97)} assume !!(#t~post6 < 100);havoc #t~post6; {40081#(< ~counter~0 97)} is VALID [2022-04-08 14:10:31,018 INFO L290 TraceCheckUtils]: 156: Hoare triple {40109#(< ~counter~0 96)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {40081#(< ~counter~0 97)} is VALID [2022-04-08 14:10:31,018 INFO L290 TraceCheckUtils]: 155: Hoare triple {40109#(< ~counter~0 96)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {40109#(< ~counter~0 96)} is VALID [2022-04-08 14:10:31,018 INFO L290 TraceCheckUtils]: 154: Hoare triple {40109#(< ~counter~0 96)} assume !!(0 != ~a~0 && 0 != ~b~0); {40109#(< ~counter~0 96)} is VALID [2022-04-08 14:10:31,018 INFO L284 TraceCheckUtils]: 153: Hoare quadruple {39363#true} {40109#(< ~counter~0 96)} #71#return; {40109#(< ~counter~0 96)} is VALID [2022-04-08 14:10:31,018 INFO L290 TraceCheckUtils]: 152: Hoare triple {39363#true} assume true; {39363#true} is VALID [2022-04-08 14:10:31,019 INFO L290 TraceCheckUtils]: 151: Hoare triple {39363#true} assume !(0 == ~cond); {39363#true} is VALID [2022-04-08 14:10:31,019 INFO L290 TraceCheckUtils]: 150: Hoare triple {39363#true} ~cond := #in~cond; {39363#true} is VALID [2022-04-08 14:10:31,019 INFO L272 TraceCheckUtils]: 149: Hoare triple {40109#(< ~counter~0 96)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {39363#true} is VALID [2022-04-08 14:10:31,019 INFO L290 TraceCheckUtils]: 148: Hoare triple {40109#(< ~counter~0 96)} assume !!(#t~post6 < 100);havoc #t~post6; {40109#(< ~counter~0 96)} is VALID [2022-04-08 14:10:31,019 INFO L290 TraceCheckUtils]: 147: Hoare triple {40137#(< ~counter~0 95)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {40109#(< ~counter~0 96)} is VALID [2022-04-08 14:10:31,019 INFO L290 TraceCheckUtils]: 146: Hoare triple {40137#(< ~counter~0 95)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {40137#(< ~counter~0 95)} is VALID [2022-04-08 14:10:31,020 INFO L290 TraceCheckUtils]: 145: Hoare triple {40137#(< ~counter~0 95)} assume !!(0 != ~a~0 && 0 != ~b~0); {40137#(< ~counter~0 95)} is VALID [2022-04-08 14:10:31,020 INFO L284 TraceCheckUtils]: 144: Hoare quadruple {39363#true} {40137#(< ~counter~0 95)} #71#return; {40137#(< ~counter~0 95)} is VALID [2022-04-08 14:10:31,020 INFO L290 TraceCheckUtils]: 143: Hoare triple {39363#true} assume true; {39363#true} is VALID [2022-04-08 14:10:31,020 INFO L290 TraceCheckUtils]: 142: Hoare triple {39363#true} assume !(0 == ~cond); {39363#true} is VALID [2022-04-08 14:10:31,020 INFO L290 TraceCheckUtils]: 141: Hoare triple {39363#true} ~cond := #in~cond; {39363#true} is VALID [2022-04-08 14:10:31,020 INFO L272 TraceCheckUtils]: 140: Hoare triple {40137#(< ~counter~0 95)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {39363#true} is VALID [2022-04-08 14:10:31,020 INFO L290 TraceCheckUtils]: 139: Hoare triple {40137#(< ~counter~0 95)} assume !!(#t~post6 < 100);havoc #t~post6; {40137#(< ~counter~0 95)} is VALID [2022-04-08 14:10:31,021 INFO L290 TraceCheckUtils]: 138: Hoare triple {40165#(< ~counter~0 94)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {40137#(< ~counter~0 95)} is VALID [2022-04-08 14:10:31,021 INFO L290 TraceCheckUtils]: 137: Hoare triple {40165#(< ~counter~0 94)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {40165#(< ~counter~0 94)} is VALID [2022-04-08 14:10:31,021 INFO L290 TraceCheckUtils]: 136: Hoare triple {40165#(< ~counter~0 94)} assume !!(0 != ~a~0 && 0 != ~b~0); {40165#(< ~counter~0 94)} is VALID [2022-04-08 14:10:31,022 INFO L284 TraceCheckUtils]: 135: Hoare quadruple {39363#true} {40165#(< ~counter~0 94)} #71#return; {40165#(< ~counter~0 94)} is VALID [2022-04-08 14:10:31,022 INFO L290 TraceCheckUtils]: 134: Hoare triple {39363#true} assume true; {39363#true} is VALID [2022-04-08 14:10:31,022 INFO L290 TraceCheckUtils]: 133: Hoare triple {39363#true} assume !(0 == ~cond); {39363#true} is VALID [2022-04-08 14:10:31,022 INFO L290 TraceCheckUtils]: 132: Hoare triple {39363#true} ~cond := #in~cond; {39363#true} is VALID [2022-04-08 14:10:31,022 INFO L272 TraceCheckUtils]: 131: Hoare triple {40165#(< ~counter~0 94)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {39363#true} is VALID [2022-04-08 14:10:31,022 INFO L290 TraceCheckUtils]: 130: Hoare triple {40165#(< ~counter~0 94)} assume !!(#t~post6 < 100);havoc #t~post6; {40165#(< ~counter~0 94)} is VALID [2022-04-08 14:10:31,022 INFO L290 TraceCheckUtils]: 129: Hoare triple {40193#(< ~counter~0 93)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {40165#(< ~counter~0 94)} is VALID [2022-04-08 14:10:31,023 INFO L290 TraceCheckUtils]: 128: Hoare triple {40193#(< ~counter~0 93)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {40193#(< ~counter~0 93)} is VALID [2022-04-08 14:10:31,023 INFO L290 TraceCheckUtils]: 127: Hoare triple {40193#(< ~counter~0 93)} assume !!(0 != ~a~0 && 0 != ~b~0); {40193#(< ~counter~0 93)} is VALID [2022-04-08 14:10:31,023 INFO L284 TraceCheckUtils]: 126: Hoare quadruple {39363#true} {40193#(< ~counter~0 93)} #71#return; {40193#(< ~counter~0 93)} is VALID [2022-04-08 14:10:31,023 INFO L290 TraceCheckUtils]: 125: Hoare triple {39363#true} assume true; {39363#true} is VALID [2022-04-08 14:10:31,023 INFO L290 TraceCheckUtils]: 124: Hoare triple {39363#true} assume !(0 == ~cond); {39363#true} is VALID [2022-04-08 14:10:31,023 INFO L290 TraceCheckUtils]: 123: Hoare triple {39363#true} ~cond := #in~cond; {39363#true} is VALID [2022-04-08 14:10:31,024 INFO L272 TraceCheckUtils]: 122: Hoare triple {40193#(< ~counter~0 93)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {39363#true} is VALID [2022-04-08 14:10:31,024 INFO L290 TraceCheckUtils]: 121: Hoare triple {40193#(< ~counter~0 93)} assume !!(#t~post6 < 100);havoc #t~post6; {40193#(< ~counter~0 93)} is VALID [2022-04-08 14:10:31,024 INFO L290 TraceCheckUtils]: 120: Hoare triple {40221#(< ~counter~0 92)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {40193#(< ~counter~0 93)} is VALID [2022-04-08 14:10:31,024 INFO L290 TraceCheckUtils]: 119: Hoare triple {40221#(< ~counter~0 92)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {40221#(< ~counter~0 92)} is VALID [2022-04-08 14:10:31,025 INFO L290 TraceCheckUtils]: 118: Hoare triple {40221#(< ~counter~0 92)} assume !!(0 != ~a~0 && 0 != ~b~0); {40221#(< ~counter~0 92)} is VALID [2022-04-08 14:10:31,025 INFO L284 TraceCheckUtils]: 117: Hoare quadruple {39363#true} {40221#(< ~counter~0 92)} #71#return; {40221#(< ~counter~0 92)} is VALID [2022-04-08 14:10:31,025 INFO L290 TraceCheckUtils]: 116: Hoare triple {39363#true} assume true; {39363#true} is VALID [2022-04-08 14:10:31,025 INFO L290 TraceCheckUtils]: 115: Hoare triple {39363#true} assume !(0 == ~cond); {39363#true} is VALID [2022-04-08 14:10:31,025 INFO L290 TraceCheckUtils]: 114: Hoare triple {39363#true} ~cond := #in~cond; {39363#true} is VALID [2022-04-08 14:10:31,025 INFO L272 TraceCheckUtils]: 113: Hoare triple {40221#(< ~counter~0 92)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {39363#true} is VALID [2022-04-08 14:10:31,025 INFO L290 TraceCheckUtils]: 112: Hoare triple {40221#(< ~counter~0 92)} assume !!(#t~post6 < 100);havoc #t~post6; {40221#(< ~counter~0 92)} is VALID [2022-04-08 14:10:31,026 INFO L290 TraceCheckUtils]: 111: Hoare triple {40249#(< ~counter~0 91)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {40221#(< ~counter~0 92)} is VALID [2022-04-08 14:10:31,026 INFO L290 TraceCheckUtils]: 110: Hoare triple {40249#(< ~counter~0 91)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {40249#(< ~counter~0 91)} is VALID [2022-04-08 14:10:31,026 INFO L290 TraceCheckUtils]: 109: Hoare triple {40249#(< ~counter~0 91)} assume !!(0 != ~a~0 && 0 != ~b~0); {40249#(< ~counter~0 91)} is VALID [2022-04-08 14:10:31,026 INFO L284 TraceCheckUtils]: 108: Hoare quadruple {39363#true} {40249#(< ~counter~0 91)} #71#return; {40249#(< ~counter~0 91)} is VALID [2022-04-08 14:10:31,027 INFO L290 TraceCheckUtils]: 107: Hoare triple {39363#true} assume true; {39363#true} is VALID [2022-04-08 14:10:31,027 INFO L290 TraceCheckUtils]: 106: Hoare triple {39363#true} assume !(0 == ~cond); {39363#true} is VALID [2022-04-08 14:10:31,027 INFO L290 TraceCheckUtils]: 105: Hoare triple {39363#true} ~cond := #in~cond; {39363#true} is VALID [2022-04-08 14:10:31,027 INFO L272 TraceCheckUtils]: 104: Hoare triple {40249#(< ~counter~0 91)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {39363#true} is VALID [2022-04-08 14:10:31,027 INFO L290 TraceCheckUtils]: 103: Hoare triple {40249#(< ~counter~0 91)} assume !!(#t~post6 < 100);havoc #t~post6; {40249#(< ~counter~0 91)} is VALID [2022-04-08 14:10:31,027 INFO L290 TraceCheckUtils]: 102: Hoare triple {40277#(< ~counter~0 90)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {40249#(< ~counter~0 91)} is VALID [2022-04-08 14:10:31,028 INFO L290 TraceCheckUtils]: 101: Hoare triple {40277#(< ~counter~0 90)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {40277#(< ~counter~0 90)} is VALID [2022-04-08 14:10:31,028 INFO L290 TraceCheckUtils]: 100: Hoare triple {40277#(< ~counter~0 90)} assume !!(0 != ~a~0 && 0 != ~b~0); {40277#(< ~counter~0 90)} is VALID [2022-04-08 14:10:31,028 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {39363#true} {40277#(< ~counter~0 90)} #71#return; {40277#(< ~counter~0 90)} is VALID [2022-04-08 14:10:31,028 INFO L290 TraceCheckUtils]: 98: Hoare triple {39363#true} assume true; {39363#true} is VALID [2022-04-08 14:10:31,028 INFO L290 TraceCheckUtils]: 97: Hoare triple {39363#true} assume !(0 == ~cond); {39363#true} is VALID [2022-04-08 14:10:31,028 INFO L290 TraceCheckUtils]: 96: Hoare triple {39363#true} ~cond := #in~cond; {39363#true} is VALID [2022-04-08 14:10:31,028 INFO L272 TraceCheckUtils]: 95: Hoare triple {40277#(< ~counter~0 90)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {39363#true} is VALID [2022-04-08 14:10:31,029 INFO L290 TraceCheckUtils]: 94: Hoare triple {40277#(< ~counter~0 90)} assume !!(#t~post6 < 100);havoc #t~post6; {40277#(< ~counter~0 90)} is VALID [2022-04-08 14:10:31,029 INFO L290 TraceCheckUtils]: 93: Hoare triple {40305#(< ~counter~0 89)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {40277#(< ~counter~0 90)} is VALID [2022-04-08 14:10:31,029 INFO L290 TraceCheckUtils]: 92: Hoare triple {40305#(< ~counter~0 89)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {40305#(< ~counter~0 89)} is VALID [2022-04-08 14:10:31,029 INFO L290 TraceCheckUtils]: 91: Hoare triple {40305#(< ~counter~0 89)} assume !!(0 != ~a~0 && 0 != ~b~0); {40305#(< ~counter~0 89)} is VALID [2022-04-08 14:10:31,030 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {39363#true} {40305#(< ~counter~0 89)} #71#return; {40305#(< ~counter~0 89)} is VALID [2022-04-08 14:10:31,030 INFO L290 TraceCheckUtils]: 89: Hoare triple {39363#true} assume true; {39363#true} is VALID [2022-04-08 14:10:31,030 INFO L290 TraceCheckUtils]: 88: Hoare triple {39363#true} assume !(0 == ~cond); {39363#true} is VALID [2022-04-08 14:10:31,030 INFO L290 TraceCheckUtils]: 87: Hoare triple {39363#true} ~cond := #in~cond; {39363#true} is VALID [2022-04-08 14:10:31,030 INFO L272 TraceCheckUtils]: 86: Hoare triple {40305#(< ~counter~0 89)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {39363#true} is VALID [2022-04-08 14:10:31,030 INFO L290 TraceCheckUtils]: 85: Hoare triple {40305#(< ~counter~0 89)} assume !!(#t~post6 < 100);havoc #t~post6; {40305#(< ~counter~0 89)} is VALID [2022-04-08 14:10:31,031 INFO L290 TraceCheckUtils]: 84: Hoare triple {40333#(< ~counter~0 88)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {40305#(< ~counter~0 89)} is VALID [2022-04-08 14:10:31,031 INFO L290 TraceCheckUtils]: 83: Hoare triple {40333#(< ~counter~0 88)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {40333#(< ~counter~0 88)} is VALID [2022-04-08 14:10:31,031 INFO L290 TraceCheckUtils]: 82: Hoare triple {40333#(< ~counter~0 88)} assume !!(0 != ~a~0 && 0 != ~b~0); {40333#(< ~counter~0 88)} is VALID [2022-04-08 14:10:31,031 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {39363#true} {40333#(< ~counter~0 88)} #71#return; {40333#(< ~counter~0 88)} is VALID [2022-04-08 14:10:31,031 INFO L290 TraceCheckUtils]: 80: Hoare triple {39363#true} assume true; {39363#true} is VALID [2022-04-08 14:10:31,031 INFO L290 TraceCheckUtils]: 79: Hoare triple {39363#true} assume !(0 == ~cond); {39363#true} is VALID [2022-04-08 14:10:31,031 INFO L290 TraceCheckUtils]: 78: Hoare triple {39363#true} ~cond := #in~cond; {39363#true} is VALID [2022-04-08 14:10:31,031 INFO L272 TraceCheckUtils]: 77: Hoare triple {40333#(< ~counter~0 88)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {39363#true} is VALID [2022-04-08 14:10:31,032 INFO L290 TraceCheckUtils]: 76: Hoare triple {40333#(< ~counter~0 88)} assume !!(#t~post6 < 100);havoc #t~post6; {40333#(< ~counter~0 88)} is VALID [2022-04-08 14:10:31,032 INFO L290 TraceCheckUtils]: 75: Hoare triple {40361#(< ~counter~0 87)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {40333#(< ~counter~0 88)} is VALID [2022-04-08 14:10:31,032 INFO L290 TraceCheckUtils]: 74: Hoare triple {40361#(< ~counter~0 87)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {40361#(< ~counter~0 87)} is VALID [2022-04-08 14:10:31,032 INFO L290 TraceCheckUtils]: 73: Hoare triple {40361#(< ~counter~0 87)} assume !!(0 != ~a~0 && 0 != ~b~0); {40361#(< ~counter~0 87)} is VALID [2022-04-08 14:10:31,033 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {39363#true} {40361#(< ~counter~0 87)} #71#return; {40361#(< ~counter~0 87)} is VALID [2022-04-08 14:10:31,033 INFO L290 TraceCheckUtils]: 71: Hoare triple {39363#true} assume true; {39363#true} is VALID [2022-04-08 14:10:31,033 INFO L290 TraceCheckUtils]: 70: Hoare triple {39363#true} assume !(0 == ~cond); {39363#true} is VALID [2022-04-08 14:10:31,033 INFO L290 TraceCheckUtils]: 69: Hoare triple {39363#true} ~cond := #in~cond; {39363#true} is VALID [2022-04-08 14:10:31,033 INFO L272 TraceCheckUtils]: 68: Hoare triple {40361#(< ~counter~0 87)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {39363#true} is VALID [2022-04-08 14:10:31,033 INFO L290 TraceCheckUtils]: 67: Hoare triple {40361#(< ~counter~0 87)} assume !!(#t~post6 < 100);havoc #t~post6; {40361#(< ~counter~0 87)} is VALID [2022-04-08 14:10:31,034 INFO L290 TraceCheckUtils]: 66: Hoare triple {40389#(< ~counter~0 86)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {40361#(< ~counter~0 87)} is VALID [2022-04-08 14:10:31,034 INFO L290 TraceCheckUtils]: 65: Hoare triple {40389#(< ~counter~0 86)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {40389#(< ~counter~0 86)} is VALID [2022-04-08 14:10:31,034 INFO L290 TraceCheckUtils]: 64: Hoare triple {40389#(< ~counter~0 86)} assume !!(0 != ~a~0 && 0 != ~b~0); {40389#(< ~counter~0 86)} is VALID [2022-04-08 14:10:31,034 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {39363#true} {40389#(< ~counter~0 86)} #71#return; {40389#(< ~counter~0 86)} is VALID [2022-04-08 14:10:31,034 INFO L290 TraceCheckUtils]: 62: Hoare triple {39363#true} assume true; {39363#true} is VALID [2022-04-08 14:10:31,034 INFO L290 TraceCheckUtils]: 61: Hoare triple {39363#true} assume !(0 == ~cond); {39363#true} is VALID [2022-04-08 14:10:31,035 INFO L290 TraceCheckUtils]: 60: Hoare triple {39363#true} ~cond := #in~cond; {39363#true} is VALID [2022-04-08 14:10:31,035 INFO L272 TraceCheckUtils]: 59: Hoare triple {40389#(< ~counter~0 86)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {39363#true} is VALID [2022-04-08 14:10:31,035 INFO L290 TraceCheckUtils]: 58: Hoare triple {40389#(< ~counter~0 86)} assume !!(#t~post6 < 100);havoc #t~post6; {40389#(< ~counter~0 86)} is VALID [2022-04-08 14:10:31,035 INFO L290 TraceCheckUtils]: 57: Hoare triple {40417#(< ~counter~0 85)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {40389#(< ~counter~0 86)} is VALID [2022-04-08 14:10:31,035 INFO L290 TraceCheckUtils]: 56: Hoare triple {40417#(< ~counter~0 85)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {40417#(< ~counter~0 85)} is VALID [2022-04-08 14:10:31,036 INFO L290 TraceCheckUtils]: 55: Hoare triple {40417#(< ~counter~0 85)} assume !!(0 != ~a~0 && 0 != ~b~0); {40417#(< ~counter~0 85)} is VALID [2022-04-08 14:10:31,036 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {39363#true} {40417#(< ~counter~0 85)} #71#return; {40417#(< ~counter~0 85)} is VALID [2022-04-08 14:10:31,036 INFO L290 TraceCheckUtils]: 53: Hoare triple {39363#true} assume true; {39363#true} is VALID [2022-04-08 14:10:31,036 INFO L290 TraceCheckUtils]: 52: Hoare triple {39363#true} assume !(0 == ~cond); {39363#true} is VALID [2022-04-08 14:10:31,036 INFO L290 TraceCheckUtils]: 51: Hoare triple {39363#true} ~cond := #in~cond; {39363#true} is VALID [2022-04-08 14:10:31,036 INFO L272 TraceCheckUtils]: 50: Hoare triple {40417#(< ~counter~0 85)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {39363#true} is VALID [2022-04-08 14:10:31,036 INFO L290 TraceCheckUtils]: 49: Hoare triple {40417#(< ~counter~0 85)} assume !!(#t~post6 < 100);havoc #t~post6; {40417#(< ~counter~0 85)} is VALID [2022-04-08 14:10:31,037 INFO L290 TraceCheckUtils]: 48: Hoare triple {40445#(< ~counter~0 84)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {40417#(< ~counter~0 85)} is VALID [2022-04-08 14:10:31,037 INFO L290 TraceCheckUtils]: 47: Hoare triple {40445#(< ~counter~0 84)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {40445#(< ~counter~0 84)} is VALID [2022-04-08 14:10:31,037 INFO L290 TraceCheckUtils]: 46: Hoare triple {40445#(< ~counter~0 84)} assume !!(0 != ~a~0 && 0 != ~b~0); {40445#(< ~counter~0 84)} is VALID [2022-04-08 14:10:31,038 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {39363#true} {40445#(< ~counter~0 84)} #71#return; {40445#(< ~counter~0 84)} is VALID [2022-04-08 14:10:31,038 INFO L290 TraceCheckUtils]: 44: Hoare triple {39363#true} assume true; {39363#true} is VALID [2022-04-08 14:10:31,038 INFO L290 TraceCheckUtils]: 43: Hoare triple {39363#true} assume !(0 == ~cond); {39363#true} is VALID [2022-04-08 14:10:31,038 INFO L290 TraceCheckUtils]: 42: Hoare triple {39363#true} ~cond := #in~cond; {39363#true} is VALID [2022-04-08 14:10:31,038 INFO L272 TraceCheckUtils]: 41: Hoare triple {40445#(< ~counter~0 84)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {39363#true} is VALID [2022-04-08 14:10:31,038 INFO L290 TraceCheckUtils]: 40: Hoare triple {40445#(< ~counter~0 84)} assume !!(#t~post6 < 100);havoc #t~post6; {40445#(< ~counter~0 84)} is VALID [2022-04-08 14:10:31,038 INFO L290 TraceCheckUtils]: 39: Hoare triple {40473#(< ~counter~0 83)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {40445#(< ~counter~0 84)} is VALID [2022-04-08 14:10:31,039 INFO L290 TraceCheckUtils]: 38: Hoare triple {40473#(< ~counter~0 83)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {40473#(< ~counter~0 83)} is VALID [2022-04-08 14:10:31,039 INFO L290 TraceCheckUtils]: 37: Hoare triple {40473#(< ~counter~0 83)} assume !!(0 != ~a~0 && 0 != ~b~0); {40473#(< ~counter~0 83)} is VALID [2022-04-08 14:10:31,039 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {39363#true} {40473#(< ~counter~0 83)} #71#return; {40473#(< ~counter~0 83)} is VALID [2022-04-08 14:10:31,039 INFO L290 TraceCheckUtils]: 35: Hoare triple {39363#true} assume true; {39363#true} is VALID [2022-04-08 14:10:31,039 INFO L290 TraceCheckUtils]: 34: Hoare triple {39363#true} assume !(0 == ~cond); {39363#true} is VALID [2022-04-08 14:10:31,039 INFO L290 TraceCheckUtils]: 33: Hoare triple {39363#true} ~cond := #in~cond; {39363#true} is VALID [2022-04-08 14:10:31,039 INFO L272 TraceCheckUtils]: 32: Hoare triple {40473#(< ~counter~0 83)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {39363#true} is VALID [2022-04-08 14:10:31,040 INFO L290 TraceCheckUtils]: 31: Hoare triple {40473#(< ~counter~0 83)} assume !!(#t~post6 < 100);havoc #t~post6; {40473#(< ~counter~0 83)} is VALID [2022-04-08 14:10:31,040 INFO L290 TraceCheckUtils]: 30: Hoare triple {40501#(< ~counter~0 82)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {40473#(< ~counter~0 83)} is VALID [2022-04-08 14:10:31,040 INFO L290 TraceCheckUtils]: 29: Hoare triple {40501#(< ~counter~0 82)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {40501#(< ~counter~0 82)} is VALID [2022-04-08 14:10:31,040 INFO L290 TraceCheckUtils]: 28: Hoare triple {40501#(< ~counter~0 82)} assume !!(0 != ~a~0 && 0 != ~b~0); {40501#(< ~counter~0 82)} is VALID [2022-04-08 14:10:31,041 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {39363#true} {40501#(< ~counter~0 82)} #71#return; {40501#(< ~counter~0 82)} is VALID [2022-04-08 14:10:31,041 INFO L290 TraceCheckUtils]: 26: Hoare triple {39363#true} assume true; {39363#true} is VALID [2022-04-08 14:10:31,041 INFO L290 TraceCheckUtils]: 25: Hoare triple {39363#true} assume !(0 == ~cond); {39363#true} is VALID [2022-04-08 14:10:31,041 INFO L290 TraceCheckUtils]: 24: Hoare triple {39363#true} ~cond := #in~cond; {39363#true} is VALID [2022-04-08 14:10:31,041 INFO L272 TraceCheckUtils]: 23: Hoare triple {40501#(< ~counter~0 82)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {39363#true} is VALID [2022-04-08 14:10:31,041 INFO L290 TraceCheckUtils]: 22: Hoare triple {40501#(< ~counter~0 82)} assume !!(#t~post6 < 100);havoc #t~post6; {40501#(< ~counter~0 82)} is VALID [2022-04-08 14:10:31,042 INFO L290 TraceCheckUtils]: 21: Hoare triple {40529#(< ~counter~0 81)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {40501#(< ~counter~0 82)} is VALID [2022-04-08 14:10:31,042 INFO L290 TraceCheckUtils]: 20: Hoare triple {40529#(< ~counter~0 81)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {40529#(< ~counter~0 81)} is VALID [2022-04-08 14:10:31,042 INFO L290 TraceCheckUtils]: 19: Hoare triple {40529#(< ~counter~0 81)} assume !!(0 != ~a~0 && 0 != ~b~0); {40529#(< ~counter~0 81)} is VALID [2022-04-08 14:10:31,042 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {39363#true} {40529#(< ~counter~0 81)} #71#return; {40529#(< ~counter~0 81)} is VALID [2022-04-08 14:10:31,042 INFO L290 TraceCheckUtils]: 17: Hoare triple {39363#true} assume true; {39363#true} is VALID [2022-04-08 14:10:31,043 INFO L290 TraceCheckUtils]: 16: Hoare triple {39363#true} assume !(0 == ~cond); {39363#true} is VALID [2022-04-08 14:10:31,043 INFO L290 TraceCheckUtils]: 15: Hoare triple {39363#true} ~cond := #in~cond; {39363#true} is VALID [2022-04-08 14:10:31,043 INFO L272 TraceCheckUtils]: 14: Hoare triple {40529#(< ~counter~0 81)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {39363#true} is VALID [2022-04-08 14:10:31,043 INFO L290 TraceCheckUtils]: 13: Hoare triple {40529#(< ~counter~0 81)} assume !!(#t~post6 < 100);havoc #t~post6; {40529#(< ~counter~0 81)} is VALID [2022-04-08 14:10:31,043 INFO L290 TraceCheckUtils]: 12: Hoare triple {40557#(< ~counter~0 80)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {40529#(< ~counter~0 81)} is VALID [2022-04-08 14:10:31,043 INFO L290 TraceCheckUtils]: 11: Hoare triple {40557#(< ~counter~0 80)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {40557#(< ~counter~0 80)} is VALID [2022-04-08 14:10:31,044 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {39363#true} {40557#(< ~counter~0 80)} #69#return; {40557#(< ~counter~0 80)} is VALID [2022-04-08 14:10:31,044 INFO L290 TraceCheckUtils]: 9: Hoare triple {39363#true} assume true; {39363#true} is VALID [2022-04-08 14:10:31,044 INFO L290 TraceCheckUtils]: 8: Hoare triple {39363#true} assume !(0 == ~cond); {39363#true} is VALID [2022-04-08 14:10:31,044 INFO L290 TraceCheckUtils]: 7: Hoare triple {39363#true} ~cond := #in~cond; {39363#true} is VALID [2022-04-08 14:10:31,044 INFO L272 TraceCheckUtils]: 6: Hoare triple {40557#(< ~counter~0 80)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {39363#true} is VALID [2022-04-08 14:10:31,044 INFO L290 TraceCheckUtils]: 5: Hoare triple {40557#(< ~counter~0 80)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {40557#(< ~counter~0 80)} is VALID [2022-04-08 14:10:31,044 INFO L272 TraceCheckUtils]: 4: Hoare triple {40557#(< ~counter~0 80)} call #t~ret7 := main(); {40557#(< ~counter~0 80)} is VALID [2022-04-08 14:10:31,045 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40557#(< ~counter~0 80)} {39363#true} #77#return; {40557#(< ~counter~0 80)} is VALID [2022-04-08 14:10:31,045 INFO L290 TraceCheckUtils]: 2: Hoare triple {40557#(< ~counter~0 80)} assume true; {40557#(< ~counter~0 80)} is VALID [2022-04-08 14:10:31,045 INFO L290 TraceCheckUtils]: 1: Hoare triple {39363#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {40557#(< ~counter~0 80)} is VALID [2022-04-08 14:10:31,045 INFO L272 TraceCheckUtils]: 0: Hoare triple {39363#true} call ULTIMATE.init(); {39363#true} is VALID [2022-04-08 14:10:31,046 INFO L134 CoverageAnalysis]: Checked inductivity of 1790 backedges. 40 proven. 990 refuted. 0 times theorem prover too weak. 760 trivial. 0 not checked. [2022-04-08 14:10:31,046 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 14:10:31,046 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [221871723] [2022-04-08 14:10:31,046 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 14:10:31,046 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [49758161] [2022-04-08 14:10:31,046 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [49758161] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 14:10:31,046 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 14:10:31,046 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [24, 24] total 46 [2022-04-08 14:10:31,047 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 14:10:31,047 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1252425070] [2022-04-08 14:10:31,047 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1252425070] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 14:10:31,047 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 14:10:31,047 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [24] imperfect sequences [] total 24 [2022-04-08 14:10:31,047 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1477821955] [2022-04-08 14:10:31,047 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 14:10:31,048 INFO L78 Accepts]: Start accepts. Automaton has has 24 states, 24 states have (on average 6.333333333333333) internal successors, (152), 23 states have internal predecessors, (152), 23 states have call successors, (24), 23 states have call predecessors, (24), 21 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) Word has length 198 [2022-04-08 14:10:31,048 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 14:10:31,048 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 24 states, 24 states have (on average 6.333333333333333) internal successors, (152), 23 states have internal predecessors, (152), 23 states have call successors, (24), 23 states have call predecessors, (24), 21 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-08 14:10:31,163 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 198 edges. 198 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:10:31,163 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 24 states [2022-04-08 14:10:31,163 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 14:10:31,163 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 24 interpolants. [2022-04-08 14:10:31,164 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=951, Invalid=1119, Unknown=0, NotChecked=0, Total=2070 [2022-04-08 14:10:31,164 INFO L87 Difference]: Start difference. First operand 252 states and 314 transitions. Second operand has 24 states, 24 states have (on average 6.333333333333333) internal successors, (152), 23 states have internal predecessors, (152), 23 states have call successors, (24), 23 states have call predecessors, (24), 21 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-08 14:10:32,069 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:10:32,069 INFO L93 Difference]: Finished difference Result 271 states and 337 transitions. [2022-04-08 14:10:32,069 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 44 states. [2022-04-08 14:10:32,070 INFO L78 Accepts]: Start accepts. Automaton has has 24 states, 24 states have (on average 6.333333333333333) internal successors, (152), 23 states have internal predecessors, (152), 23 states have call successors, (24), 23 states have call predecessors, (24), 21 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) Word has length 198 [2022-04-08 14:10:32,070 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 14:10:32,070 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 24 states, 24 states have (on average 6.333333333333333) internal successors, (152), 23 states have internal predecessors, (152), 23 states have call successors, (24), 23 states have call predecessors, (24), 21 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-08 14:10:32,073 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 44 states to 44 states and 323 transitions. [2022-04-08 14:10:32,073 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 24 states, 24 states have (on average 6.333333333333333) internal successors, (152), 23 states have internal predecessors, (152), 23 states have call successors, (24), 23 states have call predecessors, (24), 21 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-08 14:10:32,076 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 44 states to 44 states and 323 transitions. [2022-04-08 14:10:32,076 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 44 states and 323 transitions. [2022-04-08 14:10:32,284 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 323 edges. 323 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:10:32,288 INFO L225 Difference]: With dead ends: 271 [2022-04-08 14:10:32,288 INFO L226 Difference]: Without dead ends: 263 [2022-04-08 14:10:32,289 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 415 GetRequests, 351 SyntacticMatches, 0 SemanticMatches, 64 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 251 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=1851, Invalid=2439, Unknown=0, NotChecked=0, Total=4290 [2022-04-08 14:10:32,289 INFO L913 BasicCegarLoop]: 50 mSDtfsCounter, 296 mSDsluCounter, 284 mSDsCounter, 0 mSdLazyCounter, 133 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 296 SdHoareTripleChecker+Valid, 334 SdHoareTripleChecker+Invalid, 138 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 133 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 14:10:32,289 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [296 Valid, 334 Invalid, 138 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 133 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 14:10:32,289 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 263 states.