/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/fermat2-ll_unwindbound20.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 12:41:44,425 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 12:41:44,426 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 12:41:44,469 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 12:41:44,470 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 12:41:44,470 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 12:41:44,484 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 12:41:44,486 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 12:41:44,487 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 12:41:44,488 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 12:41:44,489 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 12:41:44,489 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 12:41:44,490 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 12:41:44,490 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 12:41:44,491 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 12:41:44,492 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 12:41:44,493 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 12:41:44,494 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 12:41:44,501 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 12:41:44,502 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 12:41:44,504 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 12:41:44,507 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 12:41:44,508 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 12:41:44,509 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 12:41:44,510 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 12:41:44,513 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 12:41:44,513 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 12:41:44,513 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 12:41:44,514 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 12:41:44,514 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 12:41:44,515 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 12:41:44,515 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 12:41:44,516 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 12:41:44,516 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 12:41:44,517 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 12:41:44,517 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 12:41:44,518 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 12:41:44,518 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 12:41:44,518 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 12:41:44,519 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 12:41:44,519 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 12:41:44,520 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 12:41:44,521 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-28 12:41:44,528 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 12:41:44,528 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 12:41:44,529 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 12:41:44,529 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 12:41:44,529 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 12:41:44,529 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 12:41:44,530 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 12:41:44,530 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 12:41:44,530 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 12:41:44,530 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 12:41:44,530 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 12:41:44,530 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 12:41:44,530 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 12:41:44,531 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 12:41:44,531 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 12:41:44,531 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 12:41:44,531 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 12:41:44,531 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 12:41:44,531 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 12:41:44,532 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 12:41:44,532 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 12:41:44,532 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-28 12:41:44,532 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-28 12:41:44,768 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 12:41:44,788 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 12:41:44,790 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 12:41:44,791 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 12:41:44,792 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 12:41:44,793 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/fermat2-ll_unwindbound20.c [2022-04-28 12:41:44,846 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/ac0216108/77ca1624c4594e1bb15f548d24b0b911/FLAGdc69520b8 [2022-04-28 12:41:45,224 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 12:41:45,225 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/fermat2-ll_unwindbound20.c [2022-04-28 12:41:45,231 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/ac0216108/77ca1624c4594e1bb15f548d24b0b911/FLAGdc69520b8 [2022-04-28 12:41:45,638 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/ac0216108/77ca1624c4594e1bb15f548d24b0b911 [2022-04-28 12:41:45,639 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 12:41:45,640 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 12:41:45,642 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 12:41:45,642 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 12:41:45,649 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 12:41:45,650 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 12:41:45" (1/1) ... [2022-04-28 12:41:45,651 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@68159b18 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:41:45, skipping insertion in model container [2022-04-28 12:41:45,651 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 12:41:45" (1/1) ... [2022-04-28 12:41:45,657 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 12:41:45,667 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 12:41:45,823 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/fermat2-ll_unwindbound20.c[524,537] [2022-04-28 12:41:45,849 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 12:41:45,857 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 12:41:45,872 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/fermat2-ll_unwindbound20.c[524,537] [2022-04-28 12:41:45,887 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 12:41:45,900 INFO L208 MainTranslator]: Completed translation [2022-04-28 12:41:45,900 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:41:45 WrapperNode [2022-04-28 12:41:45,901 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 12:41:45,901 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 12:41:45,901 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 12:41:45,902 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 12:41:45,910 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:41:45" (1/1) ... [2022-04-28 12:41:45,910 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:41:45" (1/1) ... [2022-04-28 12:41:45,916 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:41:45" (1/1) ... [2022-04-28 12:41:45,916 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:41:45" (1/1) ... [2022-04-28 12:41:45,932 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:41:45" (1/1) ... [2022-04-28 12:41:45,936 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:41:45" (1/1) ... [2022-04-28 12:41:45,936 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:41:45" (1/1) ... [2022-04-28 12:41:45,938 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 12:41:45,939 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 12:41:45,939 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 12:41:45,939 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 12:41:45,940 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:41:45" (1/1) ... [2022-04-28 12:41:45,954 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 12:41:45,964 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:41:45,973 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-28 12:41:45,974 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-28 12:41:45,997 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 12:41:45,997 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 12:41:45,997 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 12:41:45,997 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 12:41:45,998 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 12:41:45,998 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 12:41:45,998 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 12:41:45,998 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 12:41:45,998 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 12:41:45,998 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 12:41:45,998 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-28 12:41:45,998 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 12:41:45,998 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 12:41:45,998 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 12:41:45,998 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 12:41:45,999 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 12:41:45,999 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 12:41:45,999 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 12:41:45,999 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 12:41:45,999 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 12:41:46,049 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 12:41:46,050 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 12:41:46,238 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 12:41:46,245 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 12:41:46,245 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-28 12:41:46,246 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 12:41:46 BoogieIcfgContainer [2022-04-28 12:41:46,246 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 12:41:46,248 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 12:41:46,248 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 12:41:46,269 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 12:41:46,269 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 12:41:45" (1/3) ... [2022-04-28 12:41:46,270 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@748b6ed and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 12:41:46, skipping insertion in model container [2022-04-28 12:41:46,270 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:41:45" (2/3) ... [2022-04-28 12:41:46,270 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@748b6ed and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 12:41:46, skipping insertion in model container [2022-04-28 12:41:46,270 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 12:41:46" (3/3) ... [2022-04-28 12:41:46,271 INFO L111 eAbstractionObserver]: Analyzing ICFG fermat2-ll_unwindbound20.c [2022-04-28 12:41:46,283 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 12:41:46,283 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 12:41:46,319 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 12:41:46,324 INFO L357 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, mPorIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@3bcfa678, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@5ed6531 [2022-04-28 12:41:46,324 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 12:41:46,333 INFO L276 IsEmpty]: Start isEmpty. Operand has 30 states, 18 states have (on average 1.3888888888888888) internal successors, (25), 19 states have internal predecessors, (25), 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-28 12:41:46,339 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-04-28 12:41:46,339 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:41:46,339 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:41:46,340 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:41:46,343 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:41:46,343 INFO L85 PathProgramCache]: Analyzing trace with hash -1859024204, now seen corresponding path program 1 times [2022-04-28 12:41:46,350 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:41:46,350 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2062688080] [2022-04-28 12:41:46,359 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:41:46,359 INFO L85 PathProgramCache]: Analyzing trace with hash -1859024204, now seen corresponding path program 2 times [2022-04-28 12:41:46,361 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:41:46,362 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [176500250] [2022-04-28 12:41:46,362 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:41:46,363 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:41:46,444 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:41:46,445 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [35614033] [2022-04-28 12:41:46,445 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:41:46,445 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:41:46,445 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:41:46,447 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-28 12:41:46,452 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-28 12:41:46,504 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 12:41:46,504 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:41:46,506 INFO L263 TraceCheckSpWp]: Trace formula consists of 80 conjuncts, 1 conjunts are in the unsatisfiable core [2022-04-28 12:41:46,516 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:41:46,519 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:41:46,603 INFO L272 TraceCheckUtils]: 0: Hoare triple {33#true} call ULTIMATE.init(); {33#true} is VALID [2022-04-28 12:41:46,603 INFO L290 TraceCheckUtils]: 1: Hoare triple {33#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; {33#true} is VALID [2022-04-28 12:41:46,603 INFO L290 TraceCheckUtils]: 2: Hoare triple {33#true} assume true; {33#true} is VALID [2022-04-28 12:41:46,604 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {33#true} {33#true} #67#return; {33#true} is VALID [2022-04-28 12:41:46,604 INFO L272 TraceCheckUtils]: 4: Hoare triple {33#true} call #t~ret7 := main(); {33#true} is VALID [2022-04-28 12:41:46,604 INFO L290 TraceCheckUtils]: 5: Hoare triple {33#true} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~R~0 := #t~nondet5;havoc #t~nondet5; {33#true} is VALID [2022-04-28 12:41:46,604 INFO L272 TraceCheckUtils]: 6: Hoare triple {33#true} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {33#true} is VALID [2022-04-28 12:41:46,605 INFO L290 TraceCheckUtils]: 7: Hoare triple {33#true} ~cond := #in~cond; {33#true} is VALID [2022-04-28 12:41:46,605 INFO L290 TraceCheckUtils]: 8: Hoare triple {33#true} assume 0 == ~cond;assume false; {33#true} is VALID [2022-04-28 12:41:46,605 INFO L290 TraceCheckUtils]: 9: Hoare triple {33#true} assume true; {33#true} is VALID [2022-04-28 12:41:46,605 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {33#true} {33#true} #59#return; {33#true} is VALID [2022-04-28 12:41:46,605 INFO L272 TraceCheckUtils]: 11: Hoare triple {33#true} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {33#true} is VALID [2022-04-28 12:41:46,606 INFO L290 TraceCheckUtils]: 12: Hoare triple {33#true} ~cond := #in~cond; {33#true} is VALID [2022-04-28 12:41:46,606 INFO L290 TraceCheckUtils]: 13: Hoare triple {33#true} assume 0 == ~cond;assume false; {34#false} is VALID [2022-04-28 12:41:46,607 INFO L290 TraceCheckUtils]: 14: Hoare triple {34#false} assume true; {34#false} is VALID [2022-04-28 12:41:46,607 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {34#false} {33#true} #61#return; {34#false} is VALID [2022-04-28 12:41:46,607 INFO L290 TraceCheckUtils]: 16: Hoare triple {34#false} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {34#false} is VALID [2022-04-28 12:41:46,607 INFO L290 TraceCheckUtils]: 17: Hoare triple {34#false} assume !true; {34#false} is VALID [2022-04-28 12:41:46,608 INFO L272 TraceCheckUtils]: 18: Hoare triple {34#false} call __VERIFIER_assert((if 4 * ~A~0 == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {34#false} is VALID [2022-04-28 12:41:46,608 INFO L290 TraceCheckUtils]: 19: Hoare triple {34#false} ~cond := #in~cond; {34#false} is VALID [2022-04-28 12:41:46,608 INFO L290 TraceCheckUtils]: 20: Hoare triple {34#false} assume 0 == ~cond; {34#false} is VALID [2022-04-28 12:41:46,608 INFO L290 TraceCheckUtils]: 21: Hoare triple {34#false} assume !false; {34#false} is VALID [2022-04-28 12:41:46,609 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-28 12:41:46,609 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:41:46,610 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:41:46,610 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [176500250] [2022-04-28 12:41:46,610 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:41:46,610 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [35614033] [2022-04-28 12:41:46,610 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [35614033] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:41:46,611 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:41:46,611 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-04-28 12:41:46,613 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:41:46,614 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2062688080] [2022-04-28 12:41:46,614 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2062688080] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:41:46,614 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:41:46,614 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-04-28 12:41:46,615 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [195509516] [2022-04-28 12:41:46,615 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:41:46,620 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 6.5) internal successors, (13), 2 states have internal predecessors, (13), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) Word has length 22 [2022-04-28 12:41:46,622 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:41:46,624 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 2 states, 2 states have (on average 6.5) internal successors, (13), 2 states have internal predecessors, (13), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 12:41:46,657 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 21 edges. 21 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:41:46,657 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2022-04-28 12:41:46,657 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:41:46,688 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2022-04-28 12:41:46,689 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-04-28 12:41:46,691 INFO L87 Difference]: Start difference. First operand has 30 states, 18 states have (on average 1.3888888888888888) internal successors, (25), 19 states have internal predecessors, (25), 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 2 states, 2 states have (on average 6.5) internal successors, (13), 2 states have internal predecessors, (13), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 12:41:46,750 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:41:46,750 INFO L93 Difference]: Finished difference Result 53 states and 70 transitions. [2022-04-28 12:41:46,750 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-04-28 12:41:46,751 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 6.5) internal successors, (13), 2 states have internal predecessors, (13), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) Word has length 22 [2022-04-28 12:41:46,751 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:41:46,752 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 6.5) internal successors, (13), 2 states have internal predecessors, (13), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 12:41:46,764 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 70 transitions. [2022-04-28 12:41:46,764 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 6.5) internal successors, (13), 2 states have internal predecessors, (13), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 12:41:46,777 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 70 transitions. [2022-04-28 12:41:46,777 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 2 states and 70 transitions. [2022-04-28 12:41:46,862 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:41:46,870 INFO L225 Difference]: With dead ends: 53 [2022-04-28 12:41:46,870 INFO L226 Difference]: Without dead ends: 25 [2022-04-28 12:41:46,873 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 21 GetRequests, 21 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-04-28 12:41:46,876 INFO L413 NwaCegarLoop]: 34 mSDtfsCounter, 0 mSDsluCounter, 0 mSDsCounter, 0 mSdLazyCounter, 0 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 34 SdHoareTripleChecker+Invalid, 0 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 0 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:41:46,878 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [0 Valid, 34 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:41:46,891 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 25 states. [2022-04-28 12:41:46,900 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 25 to 25. [2022-04-28 12:41:46,901 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:41:46,901 INFO L82 GeneralOperation]: Start isEquivalent. First operand 25 states. Second operand has 25 states, 15 states have (on average 1.2666666666666666) internal successors, (19), 16 states have internal predecessors, (19), 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-28 12:41:46,902 INFO L74 IsIncluded]: Start isIncluded. First operand 25 states. Second operand has 25 states, 15 states have (on average 1.2666666666666666) internal successors, (19), 16 states have internal predecessors, (19), 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-28 12:41:46,902 INFO L87 Difference]: Start difference. First operand 25 states. Second operand has 25 states, 15 states have (on average 1.2666666666666666) internal successors, (19), 16 states have internal predecessors, (19), 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-28 12:41:46,906 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:41:46,906 INFO L93 Difference]: Finished difference Result 25 states and 29 transitions. [2022-04-28 12:41:46,907 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 29 transitions. [2022-04-28 12:41:46,907 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:41:46,907 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:41:46,909 INFO L74 IsIncluded]: Start isIncluded. First operand has 25 states, 15 states have (on average 1.2666666666666666) internal successors, (19), 16 states have internal predecessors, (19), 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 25 states. [2022-04-28 12:41:46,910 INFO L87 Difference]: Start difference. First operand has 25 states, 15 states have (on average 1.2666666666666666) internal successors, (19), 16 states have internal predecessors, (19), 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 25 states. [2022-04-28 12:41:46,912 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:41:46,912 INFO L93 Difference]: Finished difference Result 25 states and 29 transitions. [2022-04-28 12:41:46,912 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 29 transitions. [2022-04-28 12:41:46,913 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:41:46,913 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:41:46,913 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:41:46,913 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:41:46,913 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 15 states have (on average 1.2666666666666666) internal successors, (19), 16 states have internal predecessors, (19), 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-28 12:41:46,915 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 29 transitions. [2022-04-28 12:41:46,916 INFO L78 Accepts]: Start accepts. Automaton has 25 states and 29 transitions. Word has length 22 [2022-04-28 12:41:46,916 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:41:46,916 INFO L495 AbstractCegarLoop]: Abstraction has 25 states and 29 transitions. [2022-04-28 12:41:46,916 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 6.5) internal successors, (13), 2 states have internal predecessors, (13), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 12:41:46,917 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 25 states and 29 transitions. [2022-04-28 12:41:46,944 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-28 12:41:46,944 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 29 transitions. [2022-04-28 12:41:46,945 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-28 12:41:46,945 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:41:46,946 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:41:46,968 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-28 12:41:47,167 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable0 [2022-04-28 12:41:47,168 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:41:47,169 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:41:47,169 INFO L85 PathProgramCache]: Analyzing trace with hash 243739414, now seen corresponding path program 1 times [2022-04-28 12:41:47,169 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:41:47,169 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [301527946] [2022-04-28 12:41:47,170 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:41:47,170 INFO L85 PathProgramCache]: Analyzing trace with hash 243739414, now seen corresponding path program 2 times [2022-04-28 12:41:47,170 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:41:47,170 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1943531851] [2022-04-28 12:41:47,170 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:41:47,171 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:41:47,197 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:41:47,197 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2033949551] [2022-04-28 12:41:47,197 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:41:47,198 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:41:47,198 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:41:47,204 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-28 12:41:47,208 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-28 12:41:47,254 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 12:41:47,254 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:41:47,255 INFO L263 TraceCheckSpWp]: Trace formula consists of 84 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-28 12:41:47,269 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:41:47,271 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:41:47,458 INFO L272 TraceCheckUtils]: 0: Hoare triple {306#true} call ULTIMATE.init(); {306#true} is VALID [2022-04-28 12:41:47,459 INFO L290 TraceCheckUtils]: 1: Hoare triple {306#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; {314#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:47,460 INFO L290 TraceCheckUtils]: 2: Hoare triple {314#(<= ~counter~0 0)} assume true; {314#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:47,460 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {314#(<= ~counter~0 0)} {306#true} #67#return; {314#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:47,461 INFO L272 TraceCheckUtils]: 4: Hoare triple {314#(<= ~counter~0 0)} call #t~ret7 := main(); {314#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:47,461 INFO L290 TraceCheckUtils]: 5: Hoare triple {314#(<= ~counter~0 0)} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~R~0 := #t~nondet5;havoc #t~nondet5; {314#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:47,462 INFO L272 TraceCheckUtils]: 6: Hoare triple {314#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {314#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:47,463 INFO L290 TraceCheckUtils]: 7: Hoare triple {314#(<= ~counter~0 0)} ~cond := #in~cond; {314#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:47,463 INFO L290 TraceCheckUtils]: 8: Hoare triple {314#(<= ~counter~0 0)} assume !(0 == ~cond); {314#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:47,464 INFO L290 TraceCheckUtils]: 9: Hoare triple {314#(<= ~counter~0 0)} assume true; {314#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:47,464 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {314#(<= ~counter~0 0)} {314#(<= ~counter~0 0)} #59#return; {314#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:47,465 INFO L272 TraceCheckUtils]: 11: Hoare triple {314#(<= ~counter~0 0)} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {314#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:47,466 INFO L290 TraceCheckUtils]: 12: Hoare triple {314#(<= ~counter~0 0)} ~cond := #in~cond; {314#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:47,466 INFO L290 TraceCheckUtils]: 13: Hoare triple {314#(<= ~counter~0 0)} assume !(0 == ~cond); {314#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:47,466 INFO L290 TraceCheckUtils]: 14: Hoare triple {314#(<= ~counter~0 0)} assume true; {314#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:47,469 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {314#(<= ~counter~0 0)} {314#(<= ~counter~0 0)} #61#return; {314#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:47,470 INFO L290 TraceCheckUtils]: 16: Hoare triple {314#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {314#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:47,470 INFO L290 TraceCheckUtils]: 17: Hoare triple {314#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {363#(<= |main_#t~post6| 0)} is VALID [2022-04-28 12:41:47,471 INFO L290 TraceCheckUtils]: 18: Hoare triple {363#(<= |main_#t~post6| 0)} assume !(#t~post6 < 20);havoc #t~post6; {307#false} is VALID [2022-04-28 12:41:47,471 INFO L272 TraceCheckUtils]: 19: Hoare triple {307#false} call __VERIFIER_assert((if 4 * ~A~0 == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {307#false} is VALID [2022-04-28 12:41:47,472 INFO L290 TraceCheckUtils]: 20: Hoare triple {307#false} ~cond := #in~cond; {307#false} is VALID [2022-04-28 12:41:47,473 INFO L290 TraceCheckUtils]: 21: Hoare triple {307#false} assume 0 == ~cond; {307#false} is VALID [2022-04-28 12:41:47,474 INFO L290 TraceCheckUtils]: 22: Hoare triple {307#false} assume !false; {307#false} is VALID [2022-04-28 12:41:47,474 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:41:47,475 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:41:47,475 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:41:47,475 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1943531851] [2022-04-28 12:41:47,475 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:41:47,475 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2033949551] [2022-04-28 12:41:47,476 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2033949551] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:41:47,476 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:41:47,476 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-28 12:41:47,476 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:41:47,478 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [301527946] [2022-04-28 12:41:47,478 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [301527946] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:41:47,478 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:41:47,478 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-28 12:41:47,478 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1013152643] [2022-04-28 12:41:47,479 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:41:47,482 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, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) Word has length 23 [2022-04-28 12:41:47,482 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:41:47,483 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, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 12:41:47,502 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:41:47,502 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-28 12:41:47,502 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:41:47,503 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-28 12:41:47,503 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-28 12:41:47,503 INFO L87 Difference]: Start difference. First operand 25 states and 29 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, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 12:41:47,579 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:41:47,579 INFO L93 Difference]: Finished difference Result 34 states and 38 transitions. [2022-04-28 12:41:47,580 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-28 12:41:47,580 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, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) Word has length 23 [2022-04-28 12:41:47,580 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:41:47,580 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, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 12:41:47,582 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 38 transitions. [2022-04-28 12:41:47,582 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, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 12:41:47,584 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 38 transitions. [2022-04-28 12:41:47,584 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 38 transitions. [2022-04-28 12:41:47,617 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-28 12:41:47,618 INFO L225 Difference]: With dead ends: 34 [2022-04-28 12:41:47,619 INFO L226 Difference]: Without dead ends: 27 [2022-04-28 12:41:47,619 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 22 GetRequests, 20 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-28 12:41:47,620 INFO L413 NwaCegarLoop]: 27 mSDtfsCounter, 0 mSDsluCounter, 40 mSDsCounter, 0 mSdLazyCounter, 7 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 67 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-28 12:41:47,620 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [0 Valid, 67 Invalid, 7 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 7 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:41:47,621 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2022-04-28 12:41:47,637 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 27. [2022-04-28 12:41:47,637 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:41:47,637 INFO L82 GeneralOperation]: Start isEquivalent. First operand 27 states. Second operand has 27 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 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-28 12:41:47,638 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand has 27 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 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-28 12:41:47,638 INFO L87 Difference]: Start difference. First operand 27 states. Second operand has 27 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 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-28 12:41:47,640 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:41:47,640 INFO L93 Difference]: Finished difference Result 27 states and 31 transitions. [2022-04-28 12:41:47,640 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2022-04-28 12:41:47,641 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:41:47,641 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:41:47,641 INFO L74 IsIncluded]: Start isIncluded. First operand has 27 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 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 27 states. [2022-04-28 12:41:47,642 INFO L87 Difference]: Start difference. First operand has 27 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 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 27 states. [2022-04-28 12:41:47,644 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:41:47,644 INFO L93 Difference]: Finished difference Result 27 states and 31 transitions. [2022-04-28 12:41:47,644 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2022-04-28 12:41:47,644 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:41:47,644 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:41:47,645 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:41:47,645 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:41:47,645 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 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-28 12:41:47,647 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 31 transitions. [2022-04-28 12:41:47,647 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 31 transitions. Word has length 23 [2022-04-28 12:41:47,647 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:41:47,647 INFO L495 AbstractCegarLoop]: Abstraction has 27 states and 31 transitions. [2022-04-28 12:41:47,648 INFO L496 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, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 12:41:47,648 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 27 states and 31 transitions. [2022-04-28 12:41:47,676 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:41:47,676 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2022-04-28 12:41:47,677 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-28 12:41:47,677 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:41:47,677 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:41:47,708 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-28 12:41:47,903 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable1 [2022-04-28 12:41:47,904 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:41:47,904 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:41:47,904 INFO L85 PathProgramCache]: Analyzing trace with hash 245526874, now seen corresponding path program 1 times [2022-04-28 12:41:47,904 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:41:47,905 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [400859115] [2022-04-28 12:41:47,905 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:41:47,905 INFO L85 PathProgramCache]: Analyzing trace with hash 245526874, now seen corresponding path program 2 times [2022-04-28 12:41:47,906 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:41:47,906 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [409005921] [2022-04-28 12:41:47,906 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:41:47,906 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:41:47,922 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:41:47,922 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [273468703] [2022-04-28 12:41:47,923 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:41:47,923 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:41:47,923 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:41:47,924 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-28 12:41:47,925 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-28 12:41:47,974 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 12:41:47,974 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:41:47,975 INFO L263 TraceCheckSpWp]: Trace formula consists of 84 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-28 12:41:47,991 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:41:47,992 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:41:48,364 INFO L272 TraceCheckUtils]: 0: Hoare triple {554#true} call ULTIMATE.init(); {554#true} is VALID [2022-04-28 12:41:48,365 INFO L290 TraceCheckUtils]: 1: Hoare triple {554#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; {554#true} is VALID [2022-04-28 12:41:48,365 INFO L290 TraceCheckUtils]: 2: Hoare triple {554#true} assume true; {554#true} is VALID [2022-04-28 12:41:48,365 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {554#true} {554#true} #67#return; {554#true} is VALID [2022-04-28 12:41:48,365 INFO L272 TraceCheckUtils]: 4: Hoare triple {554#true} call #t~ret7 := main(); {554#true} is VALID [2022-04-28 12:41:48,366 INFO L290 TraceCheckUtils]: 5: Hoare triple {554#true} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~R~0 := #t~nondet5;havoc #t~nondet5; {554#true} is VALID [2022-04-28 12:41:48,366 INFO L272 TraceCheckUtils]: 6: Hoare triple {554#true} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {554#true} is VALID [2022-04-28 12:41:48,366 INFO L290 TraceCheckUtils]: 7: Hoare triple {554#true} ~cond := #in~cond; {554#true} is VALID [2022-04-28 12:41:48,366 INFO L290 TraceCheckUtils]: 8: Hoare triple {554#true} assume !(0 == ~cond); {554#true} is VALID [2022-04-28 12:41:48,366 INFO L290 TraceCheckUtils]: 9: Hoare triple {554#true} assume true; {554#true} is VALID [2022-04-28 12:41:48,366 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {554#true} {554#true} #59#return; {554#true} is VALID [2022-04-28 12:41:48,367 INFO L272 TraceCheckUtils]: 11: Hoare triple {554#true} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {554#true} is VALID [2022-04-28 12:41:48,367 INFO L290 TraceCheckUtils]: 12: Hoare triple {554#true} ~cond := #in~cond; {554#true} is VALID [2022-04-28 12:41:48,367 INFO L290 TraceCheckUtils]: 13: Hoare triple {554#true} assume !(0 == ~cond); {554#true} is VALID [2022-04-28 12:41:48,367 INFO L290 TraceCheckUtils]: 14: Hoare triple {554#true} assume true; {554#true} is VALID [2022-04-28 12:41:48,367 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {554#true} {554#true} #61#return; {554#true} is VALID [2022-04-28 12:41:48,428 INFO L290 TraceCheckUtils]: 16: Hoare triple {554#true} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {607#(and (= (+ (* (- 1) main_~A~0) (* (div (+ (* (- 1) main_~u~0) 1) (- 2)) (div (+ (* (- 1) main_~u~0) 1) (- 2)))) main_~r~0) (= (mod (+ main_~u~0 1) 2) 0) (= main_~v~0 1))} is VALID [2022-04-28 12:41:48,430 INFO L290 TraceCheckUtils]: 17: Hoare triple {607#(and (= (+ (* (- 1) main_~A~0) (* (div (+ (* (- 1) main_~u~0) 1) (- 2)) (div (+ (* (- 1) main_~u~0) 1) (- 2)))) main_~r~0) (= (mod (+ main_~u~0 1) 2) 0) (= main_~v~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {607#(and (= (+ (* (- 1) main_~A~0) (* (div (+ (* (- 1) main_~u~0) 1) (- 2)) (div (+ (* (- 1) main_~u~0) 1) (- 2)))) main_~r~0) (= (mod (+ main_~u~0 1) 2) 0) (= main_~v~0 1))} is VALID [2022-04-28 12:41:48,431 INFO L290 TraceCheckUtils]: 18: Hoare triple {607#(and (= (+ (* (- 1) main_~A~0) (* (div (+ (* (- 1) main_~u~0) 1) (- 2)) (div (+ (* (- 1) main_~u~0) 1) (- 2)))) main_~r~0) (= (mod (+ main_~u~0 1) 2) 0) (= main_~v~0 1))} assume !!(#t~post6 < 20);havoc #t~post6; {607#(and (= (+ (* (- 1) main_~A~0) (* (div (+ (* (- 1) main_~u~0) 1) (- 2)) (div (+ (* (- 1) main_~u~0) 1) (- 2)))) main_~r~0) (= (mod (+ main_~u~0 1) 2) 0) (= main_~v~0 1))} is VALID [2022-04-28 12:41:49,702 INFO L272 TraceCheckUtils]: 19: Hoare triple {607#(and (= (+ (* (- 1) main_~A~0) (* (div (+ (* (- 1) main_~u~0) 1) (- 2)) (div (+ (* (- 1) main_~u~0) 1) (- 2)))) main_~r~0) (= (mod (+ main_~u~0 1) 2) 0) (= main_~v~0 1))} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {617#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:41:49,703 INFO L290 TraceCheckUtils]: 20: Hoare triple {617#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {621#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:41:49,704 INFO L290 TraceCheckUtils]: 21: Hoare triple {621#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {555#false} is VALID [2022-04-28 12:41:49,704 INFO L290 TraceCheckUtils]: 22: Hoare triple {555#false} assume !false; {555#false} is VALID [2022-04-28 12:41:49,704 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:41:49,704 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:41:49,704 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:41:49,705 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [409005921] [2022-04-28 12:41:49,705 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:41:49,705 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [273468703] [2022-04-28 12:41:49,705 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [273468703] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:41:49,705 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:41:49,705 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:41:49,705 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:41:49,705 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [400859115] [2022-04-28 12:41:49,706 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [400859115] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:41:49,706 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:41:49,706 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:41:49,706 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [89406812] [2022-04-28 12:41:49,706 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:41:49,706 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, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) Word has length 23 [2022-04-28 12:41:49,706 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:41:49,707 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, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 12:41:52,416 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:41:52,417 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:41:52,417 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:41:52,417 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:41:52,417 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 12:41:52,418 INFO L87 Difference]: Start difference. First operand 27 states and 31 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, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 12:41:54,581 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.32s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 12:41:58,506 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.74s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 12:41:58,578 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:41:58,578 INFO L93 Difference]: Finished difference Result 39 states and 46 transitions. [2022-04-28 12:41:58,578 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:41:58,578 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, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) Word has length 23 [2022-04-28 12:41:58,579 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:41:58,579 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, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 12:41:58,580 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 44 transitions. [2022-04-28 12:41:58,580 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, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 12:41:58,581 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 44 transitions. [2022-04-28 12:41:58,582 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 44 transitions. [2022-04-28 12:42:00,207 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-28 12:42:00,209 INFO L225 Difference]: With dead ends: 39 [2022-04-28 12:42:00,209 INFO L226 Difference]: Without dead ends: 37 [2022-04-28 12:42:00,209 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 23 GetRequests, 19 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-28 12:42:00,210 INFO L413 NwaCegarLoop]: 24 mSDtfsCounter, 8 mSDsluCounter, 61 mSDsCounter, 0 mSdLazyCounter, 36 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 85 SdHoareTripleChecker+Invalid, 37 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 36 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 4.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:42:00,211 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [9 Valid, 85 Invalid, 37 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 36 Invalid, 0 Unknown, 0 Unchecked, 4.0s Time] [2022-04-28 12:42:00,211 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states. [2022-04-28 12:42:00,229 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 36. [2022-04-28 12:42:00,229 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:42:00,229 INFO L82 GeneralOperation]: Start isEquivalent. First operand 37 states. Second operand has 36 states, 24 states have (on average 1.2916666666666667) internal successors, (31), 25 states have internal predecessors, (31), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 12:42:00,230 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand has 36 states, 24 states have (on average 1.2916666666666667) internal successors, (31), 25 states have internal predecessors, (31), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 12:42:00,230 INFO L87 Difference]: Start difference. First operand 37 states. Second operand has 36 states, 24 states have (on average 1.2916666666666667) internal successors, (31), 25 states have internal predecessors, (31), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 12:42:00,232 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:42:00,232 INFO L93 Difference]: Finished difference Result 37 states and 44 transitions. [2022-04-28 12:42:00,232 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 44 transitions. [2022-04-28 12:42:00,233 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:42:00,233 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:42:00,233 INFO L74 IsIncluded]: Start isIncluded. First operand has 36 states, 24 states have (on average 1.2916666666666667) internal successors, (31), 25 states have internal predecessors, (31), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 37 states. [2022-04-28 12:42:00,234 INFO L87 Difference]: Start difference. First operand has 36 states, 24 states have (on average 1.2916666666666667) internal successors, (31), 25 states have internal predecessors, (31), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 37 states. [2022-04-28 12:42:00,241 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:42:00,241 INFO L93 Difference]: Finished difference Result 37 states and 44 transitions. [2022-04-28 12:42:00,241 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 44 transitions. [2022-04-28 12:42:00,241 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:42:00,242 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:42:00,242 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:42:00,242 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:42:00,242 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 36 states, 24 states have (on average 1.2916666666666667) internal successors, (31), 25 states have internal predecessors, (31), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 12:42:00,244 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 43 transitions. [2022-04-28 12:42:00,244 INFO L78 Accepts]: Start accepts. Automaton has 36 states and 43 transitions. Word has length 23 [2022-04-28 12:42:00,244 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:42:00,245 INFO L495 AbstractCegarLoop]: Abstraction has 36 states and 43 transitions. [2022-04-28 12:42:00,245 INFO L496 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, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 12:42:00,245 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 36 states and 43 transitions. [2022-04-28 12:42:04,322 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 42 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 12:42:04,323 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 43 transitions. [2022-04-28 12:42:04,323 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-04-28 12:42:04,324 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:42:04,324 INFO L195 NwaCegarLoop]: 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-28 12:42:04,340 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-28 12:42:04,527 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:42:04,528 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:42:04,528 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:42:04,528 INFO L85 PathProgramCache]: Analyzing trace with hash -1019533657, now seen corresponding path program 1 times [2022-04-28 12:42:04,528 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:42:04,528 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [342483604] [2022-04-28 12:42:04,529 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:42:04,529 INFO L85 PathProgramCache]: Analyzing trace with hash -1019533657, now seen corresponding path program 2 times [2022-04-28 12:42:04,529 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:42:04,529 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1506531090] [2022-04-28 12:42:04,529 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:42:04,529 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:42:04,541 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:42:04,542 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [856729613] [2022-04-28 12:42:04,542 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:42:04,542 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:42:04,542 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:42:04,543 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-28 12:42:04,550 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-28 12:42:04,585 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:42:04,585 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:42:04,586 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-28 12:42:04,595 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:42:04,596 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:42:04,772 INFO L272 TraceCheckUtils]: 0: Hoare triple {853#true} call ULTIMATE.init(); {853#true} is VALID [2022-04-28 12:42:04,773 INFO L290 TraceCheckUtils]: 1: Hoare triple {853#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; {853#true} is VALID [2022-04-28 12:42:04,773 INFO L290 TraceCheckUtils]: 2: Hoare triple {853#true} assume true; {853#true} is VALID [2022-04-28 12:42:04,773 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {853#true} {853#true} #67#return; {853#true} is VALID [2022-04-28 12:42:04,773 INFO L272 TraceCheckUtils]: 4: Hoare triple {853#true} call #t~ret7 := main(); {853#true} is VALID [2022-04-28 12:42:04,774 INFO L290 TraceCheckUtils]: 5: Hoare triple {853#true} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~R~0 := #t~nondet5;havoc #t~nondet5; {853#true} is VALID [2022-04-28 12:42:04,774 INFO L272 TraceCheckUtils]: 6: Hoare triple {853#true} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {853#true} is VALID [2022-04-28 12:42:04,774 INFO L290 TraceCheckUtils]: 7: Hoare triple {853#true} ~cond := #in~cond; {853#true} is VALID [2022-04-28 12:42:04,774 INFO L290 TraceCheckUtils]: 8: Hoare triple {853#true} assume !(0 == ~cond); {853#true} is VALID [2022-04-28 12:42:04,774 INFO L290 TraceCheckUtils]: 9: Hoare triple {853#true} assume true; {853#true} is VALID [2022-04-28 12:42:04,775 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {853#true} {853#true} #59#return; {853#true} is VALID [2022-04-28 12:42:04,775 INFO L272 TraceCheckUtils]: 11: Hoare triple {853#true} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {853#true} is VALID [2022-04-28 12:42:04,775 INFO L290 TraceCheckUtils]: 12: Hoare triple {853#true} ~cond := #in~cond; {853#true} is VALID [2022-04-28 12:42:04,775 INFO L290 TraceCheckUtils]: 13: Hoare triple {853#true} assume !(0 == ~cond); {853#true} is VALID [2022-04-28 12:42:04,775 INFO L290 TraceCheckUtils]: 14: Hoare triple {853#true} assume true; {853#true} is VALID [2022-04-28 12:42:04,776 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {853#true} {853#true} #61#return; {853#true} is VALID [2022-04-28 12:42:04,776 INFO L290 TraceCheckUtils]: 16: Hoare triple {853#true} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {853#true} is VALID [2022-04-28 12:42:04,776 INFO L290 TraceCheckUtils]: 17: Hoare triple {853#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {853#true} is VALID [2022-04-28 12:42:04,776 INFO L290 TraceCheckUtils]: 18: Hoare triple {853#true} assume !!(#t~post6 < 20);havoc #t~post6; {853#true} is VALID [2022-04-28 12:42:04,777 INFO L272 TraceCheckUtils]: 19: Hoare triple {853#true} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {853#true} is VALID [2022-04-28 12:42:04,777 INFO L290 TraceCheckUtils]: 20: Hoare triple {853#true} ~cond := #in~cond; {918#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:42:04,778 INFO L290 TraceCheckUtils]: 21: Hoare triple {918#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {922#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:42:04,778 INFO L290 TraceCheckUtils]: 22: Hoare triple {922#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {922#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:42:04,780 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {922#(not (= |__VERIFIER_assert_#in~cond| 0))} {853#true} #63#return; {929#(= (+ (* main_~v~0 2) (* main_~u~0 main_~u~0)) (+ (* main_~v~0 main_~v~0) (* main_~u~0 2) (* main_~A~0 4) (* main_~r~0 4)))} is VALID [2022-04-28 12:42:04,780 INFO L290 TraceCheckUtils]: 24: Hoare triple {929#(= (+ (* main_~v~0 2) (* main_~u~0 main_~u~0)) (+ (* main_~v~0 main_~v~0) (* main_~u~0 2) (* main_~A~0 4) (* main_~r~0 4)))} assume !(0 != ~r~0); {933#(= (+ (* main_~v~0 2) (* main_~u~0 main_~u~0)) (+ (* main_~v~0 main_~v~0) (* main_~u~0 2) (* main_~A~0 4)))} is VALID [2022-04-28 12:42:04,781 INFO L272 TraceCheckUtils]: 25: Hoare triple {933#(= (+ (* main_~v~0 2) (* main_~u~0 main_~u~0)) (+ (* main_~v~0 main_~v~0) (* main_~u~0 2) (* main_~A~0 4)))} call __VERIFIER_assert((if 4 * ~A~0 == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {937#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:42:04,782 INFO L290 TraceCheckUtils]: 26: Hoare triple {937#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {941#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:42:04,782 INFO L290 TraceCheckUtils]: 27: Hoare triple {941#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {854#false} is VALID [2022-04-28 12:42:04,783 INFO L290 TraceCheckUtils]: 28: Hoare triple {854#false} assume !false; {854#false} is VALID [2022-04-28 12:42:04,783 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:42:04,783 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:42:05,225 INFO L290 TraceCheckUtils]: 28: Hoare triple {854#false} assume !false; {854#false} is VALID [2022-04-28 12:42:05,226 INFO L290 TraceCheckUtils]: 27: Hoare triple {941#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {854#false} is VALID [2022-04-28 12:42:05,226 INFO L290 TraceCheckUtils]: 26: Hoare triple {937#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {941#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:42:05,227 INFO L272 TraceCheckUtils]: 25: Hoare triple {933#(= (+ (* main_~v~0 2) (* main_~u~0 main_~u~0)) (+ (* main_~v~0 main_~v~0) (* main_~u~0 2) (* main_~A~0 4)))} call __VERIFIER_assert((if 4 * ~A~0 == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {937#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:42:05,228 INFO L290 TraceCheckUtils]: 24: Hoare triple {960#(or (not (= main_~r~0 0)) (= (+ (* main_~v~0 2) (* main_~u~0 main_~u~0)) (+ (* main_~v~0 main_~v~0) (* main_~u~0 2) (* main_~A~0 4))))} assume !(0 != ~r~0); {933#(= (+ (* main_~v~0 2) (* main_~u~0 main_~u~0)) (+ (* main_~v~0 main_~v~0) (* main_~u~0 2) (* main_~A~0 4)))} is VALID [2022-04-28 12:42:05,230 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {922#(not (= |__VERIFIER_assert_#in~cond| 0))} {853#true} #63#return; {960#(or (not (= main_~r~0 0)) (= (+ (* main_~v~0 2) (* main_~u~0 main_~u~0)) (+ (* main_~v~0 main_~v~0) (* main_~u~0 2) (* main_~A~0 4))))} is VALID [2022-04-28 12:42:05,231 INFO L290 TraceCheckUtils]: 22: Hoare triple {922#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {922#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:42:05,231 INFO L290 TraceCheckUtils]: 21: Hoare triple {973#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {922#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:42:05,232 INFO L290 TraceCheckUtils]: 20: Hoare triple {853#true} ~cond := #in~cond; {973#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:42:05,232 INFO L272 TraceCheckUtils]: 19: Hoare triple {853#true} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {853#true} is VALID [2022-04-28 12:42:05,232 INFO L290 TraceCheckUtils]: 18: Hoare triple {853#true} assume !!(#t~post6 < 20);havoc #t~post6; {853#true} is VALID [2022-04-28 12:42:05,232 INFO L290 TraceCheckUtils]: 17: Hoare triple {853#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {853#true} is VALID [2022-04-28 12:42:05,232 INFO L290 TraceCheckUtils]: 16: Hoare triple {853#true} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {853#true} is VALID [2022-04-28 12:42:05,232 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {853#true} {853#true} #61#return; {853#true} is VALID [2022-04-28 12:42:05,232 INFO L290 TraceCheckUtils]: 14: Hoare triple {853#true} assume true; {853#true} is VALID [2022-04-28 12:42:05,233 INFO L290 TraceCheckUtils]: 13: Hoare triple {853#true} assume !(0 == ~cond); {853#true} is VALID [2022-04-28 12:42:05,233 INFO L290 TraceCheckUtils]: 12: Hoare triple {853#true} ~cond := #in~cond; {853#true} is VALID [2022-04-28 12:42:05,233 INFO L272 TraceCheckUtils]: 11: Hoare triple {853#true} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {853#true} is VALID [2022-04-28 12:42:05,233 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {853#true} {853#true} #59#return; {853#true} is VALID [2022-04-28 12:42:05,233 INFO L290 TraceCheckUtils]: 9: Hoare triple {853#true} assume true; {853#true} is VALID [2022-04-28 12:42:05,234 INFO L290 TraceCheckUtils]: 8: Hoare triple {853#true} assume !(0 == ~cond); {853#true} is VALID [2022-04-28 12:42:05,234 INFO L290 TraceCheckUtils]: 7: Hoare triple {853#true} ~cond := #in~cond; {853#true} is VALID [2022-04-28 12:42:05,234 INFO L272 TraceCheckUtils]: 6: Hoare triple {853#true} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {853#true} is VALID [2022-04-28 12:42:05,234 INFO L290 TraceCheckUtils]: 5: Hoare triple {853#true} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~R~0 := #t~nondet5;havoc #t~nondet5; {853#true} is VALID [2022-04-28 12:42:05,234 INFO L272 TraceCheckUtils]: 4: Hoare triple {853#true} call #t~ret7 := main(); {853#true} is VALID [2022-04-28 12:42:05,234 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {853#true} {853#true} #67#return; {853#true} is VALID [2022-04-28 12:42:05,235 INFO L290 TraceCheckUtils]: 2: Hoare triple {853#true} assume true; {853#true} is VALID [2022-04-28 12:42:05,235 INFO L290 TraceCheckUtils]: 1: Hoare triple {853#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; {853#true} is VALID [2022-04-28 12:42:05,235 INFO L272 TraceCheckUtils]: 0: Hoare triple {853#true} call ULTIMATE.init(); {853#true} is VALID [2022-04-28 12:42:05,235 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:42:05,235 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:42:05,235 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1506531090] [2022-04-28 12:42:05,236 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:42:05,236 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [856729613] [2022-04-28 12:42:05,236 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [856729613] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:42:05,236 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:42:05,236 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 10 [2022-04-28 12:42:05,236 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:42:05,237 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [342483604] [2022-04-28 12:42:05,237 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [342483604] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:42:05,237 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:42:05,237 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 12:42:05,237 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1932188200] [2022-04-28 12:42:05,237 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:42:05,237 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 6 states have internal predecessors, (16), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) Word has length 29 [2022-04-28 12:42:05,238 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:42:05,238 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 6 states have internal predecessors, (16), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 12:42:05,257 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-28 12:42:05,257 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 12:42:05,257 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:42:05,258 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 12:42:05,258 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=67, Unknown=0, NotChecked=0, Total=90 [2022-04-28 12:42:05,258 INFO L87 Difference]: Start difference. First operand 36 states and 43 transitions. Second operand has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 6 states have internal predecessors, (16), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 12:42:05,562 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:42:05,562 INFO L93 Difference]: Finished difference Result 43 states and 49 transitions. [2022-04-28 12:42:05,563 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 12:42:05,563 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 6 states have internal predecessors, (16), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) Word has length 29 [2022-04-28 12:42:05,563 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:42:05,563 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 6 states have internal predecessors, (16), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 12:42:05,565 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 35 transitions. [2022-04-28 12:42:05,565 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 6 states have internal predecessors, (16), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 12:42:05,566 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 35 transitions. [2022-04-28 12:42:05,566 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 35 transitions. [2022-04-28 12:42:05,609 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-28 12:42:05,611 INFO L225 Difference]: With dead ends: 43 [2022-04-28 12:42:05,611 INFO L226 Difference]: Without dead ends: 38 [2022-04-28 12:42:05,611 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 60 GetRequests, 48 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 10 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=41, Invalid=115, Unknown=0, NotChecked=0, Total=156 [2022-04-28 12:42:05,612 INFO L413 NwaCegarLoop]: 21 mSDtfsCounter, 17 mSDsluCounter, 82 mSDsCounter, 0 mSdLazyCounter, 55 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 103 SdHoareTripleChecker+Invalid, 61 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 55 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:42:05,612 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [17 Valid, 103 Invalid, 61 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 55 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:42:05,613 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 38 states. [2022-04-28 12:42:05,634 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 38 to 29. [2022-04-28 12:42:05,634 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:42:05,635 INFO L82 GeneralOperation]: Start isEquivalent. First operand 38 states. Second operand has 29 states, 19 states have (on average 1.105263157894737) internal successors, (21), 19 states have internal predecessors, (21), 6 states have call successors, (6), 5 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-28 12:42:05,635 INFO L74 IsIncluded]: Start isIncluded. First operand 38 states. Second operand has 29 states, 19 states have (on average 1.105263157894737) internal successors, (21), 19 states have internal predecessors, (21), 6 states have call successors, (6), 5 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-28 12:42:05,635 INFO L87 Difference]: Start difference. First operand 38 states. Second operand has 29 states, 19 states have (on average 1.105263157894737) internal successors, (21), 19 states have internal predecessors, (21), 6 states have call successors, (6), 5 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-28 12:42:05,637 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:42:05,637 INFO L93 Difference]: Finished difference Result 38 states and 42 transitions. [2022-04-28 12:42:05,637 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 42 transitions. [2022-04-28 12:42:05,638 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:42:05,638 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:42:05,638 INFO L74 IsIncluded]: Start isIncluded. First operand has 29 states, 19 states have (on average 1.105263157894737) internal successors, (21), 19 states have internal predecessors, (21), 6 states have call successors, (6), 5 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 38 states. [2022-04-28 12:42:05,638 INFO L87 Difference]: Start difference. First operand has 29 states, 19 states have (on average 1.105263157894737) internal successors, (21), 19 states have internal predecessors, (21), 6 states have call successors, (6), 5 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 38 states. [2022-04-28 12:42:05,640 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:42:05,640 INFO L93 Difference]: Finished difference Result 38 states and 42 transitions. [2022-04-28 12:42:05,640 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 42 transitions. [2022-04-28 12:42:05,641 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:42:05,641 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:42:05,641 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:42:05,641 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:42:05,641 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 19 states have (on average 1.105263157894737) internal successors, (21), 19 states have internal predecessors, (21), 6 states have call successors, (6), 5 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-28 12:42:05,642 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 31 transitions. [2022-04-28 12:42:05,642 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 31 transitions. Word has length 29 [2022-04-28 12:42:05,643 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:42:05,643 INFO L495 AbstractCegarLoop]: Abstraction has 29 states and 31 transitions. [2022-04-28 12:42:05,643 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 6 states have internal predecessors, (16), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 12:42:05,643 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 29 states and 31 transitions. [2022-04-28 12:42:07,679 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 30 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 12:42:07,679 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 31 transitions. [2022-04-28 12:42:07,680 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-28 12:42:07,680 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:42:07,680 INFO L195 NwaCegarLoop]: trace histogram [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, 1, 1] [2022-04-28 12:42:07,699 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-28 12:42:07,880 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:42:07,881 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:42:07,881 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:42:07,881 INFO L85 PathProgramCache]: Analyzing trace with hash 1080225052, now seen corresponding path program 1 times [2022-04-28 12:42:07,881 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:42:07,881 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1441696493] [2022-04-28 12:42:07,882 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:42:07,882 INFO L85 PathProgramCache]: Analyzing trace with hash 1080225052, now seen corresponding path program 2 times [2022-04-28 12:42:07,882 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:42:07,882 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [888775366] [2022-04-28 12:42:07,882 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:42:07,882 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:42:07,900 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:42:07,900 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [932446873] [2022-04-28 12:42:07,900 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:42:07,900 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:42:07,900 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:42:07,901 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-28 12:42:07,902 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-28 12:42:07,948 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:42:07,949 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:42:07,949 INFO L263 TraceCheckSpWp]: Trace formula consists of 113 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 12:42:07,961 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:42:07,962 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:42:08,126 INFO L272 TraceCheckUtils]: 0: Hoare triple {1262#true} call ULTIMATE.init(); {1262#true} is VALID [2022-04-28 12:42:08,127 INFO L290 TraceCheckUtils]: 1: Hoare triple {1262#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; {1270#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:08,128 INFO L290 TraceCheckUtils]: 2: Hoare triple {1270#(<= ~counter~0 0)} assume true; {1270#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:08,129 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1270#(<= ~counter~0 0)} {1262#true} #67#return; {1270#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:08,129 INFO L272 TraceCheckUtils]: 4: Hoare triple {1270#(<= ~counter~0 0)} call #t~ret7 := main(); {1270#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:08,129 INFO L290 TraceCheckUtils]: 5: Hoare triple {1270#(<= ~counter~0 0)} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~R~0 := #t~nondet5;havoc #t~nondet5; {1270#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:08,130 INFO L272 TraceCheckUtils]: 6: Hoare triple {1270#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {1270#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:08,131 INFO L290 TraceCheckUtils]: 7: Hoare triple {1270#(<= ~counter~0 0)} ~cond := #in~cond; {1270#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:08,131 INFO L290 TraceCheckUtils]: 8: Hoare triple {1270#(<= ~counter~0 0)} assume !(0 == ~cond); {1270#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:08,131 INFO L290 TraceCheckUtils]: 9: Hoare triple {1270#(<= ~counter~0 0)} assume true; {1270#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:08,132 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1270#(<= ~counter~0 0)} {1270#(<= ~counter~0 0)} #59#return; {1270#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:08,132 INFO L272 TraceCheckUtils]: 11: Hoare triple {1270#(<= ~counter~0 0)} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {1270#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:08,133 INFO L290 TraceCheckUtils]: 12: Hoare triple {1270#(<= ~counter~0 0)} ~cond := #in~cond; {1270#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:08,133 INFO L290 TraceCheckUtils]: 13: Hoare triple {1270#(<= ~counter~0 0)} assume !(0 == ~cond); {1270#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:08,134 INFO L290 TraceCheckUtils]: 14: Hoare triple {1270#(<= ~counter~0 0)} assume true; {1270#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:08,134 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1270#(<= ~counter~0 0)} {1270#(<= ~counter~0 0)} #61#return; {1270#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:08,135 INFO L290 TraceCheckUtils]: 16: Hoare triple {1270#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {1270#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:08,135 INFO L290 TraceCheckUtils]: 17: Hoare triple {1270#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1319#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:08,136 INFO L290 TraceCheckUtils]: 18: Hoare triple {1319#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {1319#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:08,136 INFO L272 TraceCheckUtils]: 19: Hoare triple {1319#(<= ~counter~0 1)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {1319#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:08,137 INFO L290 TraceCheckUtils]: 20: Hoare triple {1319#(<= ~counter~0 1)} ~cond := #in~cond; {1319#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:08,137 INFO L290 TraceCheckUtils]: 21: Hoare triple {1319#(<= ~counter~0 1)} assume !(0 == ~cond); {1319#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:08,138 INFO L290 TraceCheckUtils]: 22: Hoare triple {1319#(<= ~counter~0 1)} assume true; {1319#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:08,138 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1319#(<= ~counter~0 1)} {1319#(<= ~counter~0 1)} #63#return; {1319#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:08,139 INFO L290 TraceCheckUtils]: 24: Hoare triple {1319#(<= ~counter~0 1)} assume !!(0 != ~r~0); {1319#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:08,139 INFO L290 TraceCheckUtils]: 25: Hoare triple {1319#(<= ~counter~0 1)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {1319#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:08,140 INFO L290 TraceCheckUtils]: 26: Hoare triple {1319#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1347#(<= |main_#t~post6| 1)} is VALID [2022-04-28 12:42:08,140 INFO L290 TraceCheckUtils]: 27: Hoare triple {1347#(<= |main_#t~post6| 1)} assume !(#t~post6 < 20);havoc #t~post6; {1263#false} is VALID [2022-04-28 12:42:08,140 INFO L272 TraceCheckUtils]: 28: Hoare triple {1263#false} call __VERIFIER_assert((if 4 * ~A~0 == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {1263#false} is VALID [2022-04-28 12:42:08,141 INFO L290 TraceCheckUtils]: 29: Hoare triple {1263#false} ~cond := #in~cond; {1263#false} is VALID [2022-04-28 12:42:08,141 INFO L290 TraceCheckUtils]: 30: Hoare triple {1263#false} assume 0 == ~cond; {1263#false} is VALID [2022-04-28 12:42:08,141 INFO L290 TraceCheckUtils]: 31: Hoare triple {1263#false} assume !false; {1263#false} is VALID [2022-04-28 12:42:08,141 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:42:08,141 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:42:08,332 INFO L290 TraceCheckUtils]: 31: Hoare triple {1263#false} assume !false; {1263#false} is VALID [2022-04-28 12:42:08,332 INFO L290 TraceCheckUtils]: 30: Hoare triple {1263#false} assume 0 == ~cond; {1263#false} is VALID [2022-04-28 12:42:08,332 INFO L290 TraceCheckUtils]: 29: Hoare triple {1263#false} ~cond := #in~cond; {1263#false} is VALID [2022-04-28 12:42:08,332 INFO L272 TraceCheckUtils]: 28: Hoare triple {1263#false} call __VERIFIER_assert((if 4 * ~A~0 == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {1263#false} is VALID [2022-04-28 12:42:08,333 INFO L290 TraceCheckUtils]: 27: Hoare triple {1375#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {1263#false} is VALID [2022-04-28 12:42:08,333 INFO L290 TraceCheckUtils]: 26: Hoare triple {1379#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1375#(< |main_#t~post6| 20)} is VALID [2022-04-28 12:42:08,334 INFO L290 TraceCheckUtils]: 25: Hoare triple {1379#(< ~counter~0 20)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {1379#(< ~counter~0 20)} is VALID [2022-04-28 12:42:08,334 INFO L290 TraceCheckUtils]: 24: Hoare triple {1379#(< ~counter~0 20)} assume !!(0 != ~r~0); {1379#(< ~counter~0 20)} is VALID [2022-04-28 12:42:08,335 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1262#true} {1379#(< ~counter~0 20)} #63#return; {1379#(< ~counter~0 20)} is VALID [2022-04-28 12:42:08,335 INFO L290 TraceCheckUtils]: 22: Hoare triple {1262#true} assume true; {1262#true} is VALID [2022-04-28 12:42:08,335 INFO L290 TraceCheckUtils]: 21: Hoare triple {1262#true} assume !(0 == ~cond); {1262#true} is VALID [2022-04-28 12:42:08,336 INFO L290 TraceCheckUtils]: 20: Hoare triple {1262#true} ~cond := #in~cond; {1262#true} is VALID [2022-04-28 12:42:08,336 INFO L272 TraceCheckUtils]: 19: Hoare triple {1379#(< ~counter~0 20)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {1262#true} is VALID [2022-04-28 12:42:08,336 INFO L290 TraceCheckUtils]: 18: Hoare triple {1379#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6; {1379#(< ~counter~0 20)} is VALID [2022-04-28 12:42:08,337 INFO L290 TraceCheckUtils]: 17: Hoare triple {1407#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1379#(< ~counter~0 20)} is VALID [2022-04-28 12:42:08,337 INFO L290 TraceCheckUtils]: 16: Hoare triple {1407#(< ~counter~0 19)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {1407#(< ~counter~0 19)} is VALID [2022-04-28 12:42:08,338 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1262#true} {1407#(< ~counter~0 19)} #61#return; {1407#(< ~counter~0 19)} is VALID [2022-04-28 12:42:08,338 INFO L290 TraceCheckUtils]: 14: Hoare triple {1262#true} assume true; {1262#true} is VALID [2022-04-28 12:42:08,338 INFO L290 TraceCheckUtils]: 13: Hoare triple {1262#true} assume !(0 == ~cond); {1262#true} is VALID [2022-04-28 12:42:08,338 INFO L290 TraceCheckUtils]: 12: Hoare triple {1262#true} ~cond := #in~cond; {1262#true} is VALID [2022-04-28 12:42:08,339 INFO L272 TraceCheckUtils]: 11: Hoare triple {1407#(< ~counter~0 19)} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {1262#true} is VALID [2022-04-28 12:42:08,339 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1262#true} {1407#(< ~counter~0 19)} #59#return; {1407#(< ~counter~0 19)} is VALID [2022-04-28 12:42:08,339 INFO L290 TraceCheckUtils]: 9: Hoare triple {1262#true} assume true; {1262#true} is VALID [2022-04-28 12:42:08,340 INFO L290 TraceCheckUtils]: 8: Hoare triple {1262#true} assume !(0 == ~cond); {1262#true} is VALID [2022-04-28 12:42:08,340 INFO L290 TraceCheckUtils]: 7: Hoare triple {1262#true} ~cond := #in~cond; {1262#true} is VALID [2022-04-28 12:42:08,340 INFO L272 TraceCheckUtils]: 6: Hoare triple {1407#(< ~counter~0 19)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {1262#true} is VALID [2022-04-28 12:42:08,340 INFO L290 TraceCheckUtils]: 5: Hoare triple {1407#(< ~counter~0 19)} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~R~0 := #t~nondet5;havoc #t~nondet5; {1407#(< ~counter~0 19)} is VALID [2022-04-28 12:42:08,341 INFO L272 TraceCheckUtils]: 4: Hoare triple {1407#(< ~counter~0 19)} call #t~ret7 := main(); {1407#(< ~counter~0 19)} is VALID [2022-04-28 12:42:08,341 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1407#(< ~counter~0 19)} {1262#true} #67#return; {1407#(< ~counter~0 19)} is VALID [2022-04-28 12:42:08,342 INFO L290 TraceCheckUtils]: 2: Hoare triple {1407#(< ~counter~0 19)} assume true; {1407#(< ~counter~0 19)} is VALID [2022-04-28 12:42:08,342 INFO L290 TraceCheckUtils]: 1: Hoare triple {1262#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; {1407#(< ~counter~0 19)} is VALID [2022-04-28 12:42:08,342 INFO L272 TraceCheckUtils]: 0: Hoare triple {1262#true} call ULTIMATE.init(); {1262#true} is VALID [2022-04-28 12:42:08,343 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:42:08,343 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:42:08,343 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [888775366] [2022-04-28 12:42:08,343 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:42:08,343 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [932446873] [2022-04-28 12:42:08,343 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [932446873] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:42:08,343 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:42:08,344 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 8 [2022-04-28 12:42:08,344 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:42:08,344 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1441696493] [2022-04-28 12:42:08,344 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1441696493] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:42:08,344 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:42:08,344 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:42:08,344 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1806631007] [2022-04-28 12:42:08,344 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:42:08,345 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, (6), 4 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 3 states have call successors, (4) Word has length 32 [2022-04-28 12:42:08,345 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:42:08,345 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, (6), 4 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 12:42:08,370 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-28 12:42:08,370 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:42:08,370 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:42:08,370 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:42:08,371 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2022-04-28 12:42:08,371 INFO L87 Difference]: Start difference. First operand 29 states and 31 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, (6), 4 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 12:42:08,486 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:42:08,486 INFO L93 Difference]: Finished difference Result 43 states and 46 transitions. [2022-04-28 12:42:08,486 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 12:42:08,486 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, (6), 4 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 3 states have call successors, (4) Word has length 32 [2022-04-28 12:42:08,486 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:42:08,487 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, (6), 4 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 12:42:08,490 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 45 transitions. [2022-04-28 12:42:08,490 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, (6), 4 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 12:42:08,495 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 45 transitions. [2022-04-28 12:42:08,495 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 45 transitions. [2022-04-28 12:42:08,537 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-28 12:42:08,538 INFO L225 Difference]: With dead ends: 43 [2022-04-28 12:42:08,538 INFO L226 Difference]: Without dead ends: 38 [2022-04-28 12:42:08,538 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 64 GetRequests, 57 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-28 12:42:08,539 INFO L413 NwaCegarLoop]: 27 mSDtfsCounter, 7 mSDsluCounter, 51 mSDsCounter, 0 mSdLazyCounter, 11 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 7 SdHoareTripleChecker+Valid, 78 SdHoareTripleChecker+Invalid, 18 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 11 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:42:08,539 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [7 Valid, 78 Invalid, 18 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 11 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:42:08,540 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 38 states. [2022-04-28 12:42:08,568 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 38 to 38. [2022-04-28 12:42:08,569 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:42:08,569 INFO L82 GeneralOperation]: Start isEquivalent. First operand 38 states. Second operand has 38 states, 26 states have (on average 1.1153846153846154) internal successors, (29), 26 states have internal predecessors, (29), 7 states have call successors, (7), 6 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 12:42:08,569 INFO L74 IsIncluded]: Start isIncluded. First operand 38 states. Second operand has 38 states, 26 states have (on average 1.1153846153846154) internal successors, (29), 26 states have internal predecessors, (29), 7 states have call successors, (7), 6 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 12:42:08,569 INFO L87 Difference]: Start difference. First operand 38 states. Second operand has 38 states, 26 states have (on average 1.1153846153846154) internal successors, (29), 26 states have internal predecessors, (29), 7 states have call successors, (7), 6 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 12:42:08,572 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:42:08,572 INFO L93 Difference]: Finished difference Result 38 states and 41 transitions. [2022-04-28 12:42:08,572 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 41 transitions. [2022-04-28 12:42:08,575 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:42:08,575 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:42:08,575 INFO L74 IsIncluded]: Start isIncluded. First operand has 38 states, 26 states have (on average 1.1153846153846154) internal successors, (29), 26 states have internal predecessors, (29), 7 states have call successors, (7), 6 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 38 states. [2022-04-28 12:42:08,576 INFO L87 Difference]: Start difference. First operand has 38 states, 26 states have (on average 1.1153846153846154) internal successors, (29), 26 states have internal predecessors, (29), 7 states have call successors, (7), 6 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 38 states. [2022-04-28 12:42:08,578 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:42:08,578 INFO L93 Difference]: Finished difference Result 38 states and 41 transitions. [2022-04-28 12:42:08,578 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 41 transitions. [2022-04-28 12:42:08,579 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:42:08,579 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:42:08,579 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:42:08,579 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:42:08,581 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 38 states, 26 states have (on average 1.1153846153846154) internal successors, (29), 26 states have internal predecessors, (29), 7 states have call successors, (7), 6 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 12:42:08,583 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 41 transitions. [2022-04-28 12:42:08,583 INFO L78 Accepts]: Start accepts. Automaton has 38 states and 41 transitions. Word has length 32 [2022-04-28 12:42:08,583 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:42:08,583 INFO L495 AbstractCegarLoop]: Abstraction has 38 states and 41 transitions. [2022-04-28 12:42:08,583 INFO L496 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, (6), 4 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 12:42:08,584 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 38 states and 41 transitions. [2022-04-28 12:42:10,642 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 40 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 12:42:10,643 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 41 transitions. [2022-04-28 12:42:10,643 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-28 12:42:10,643 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:42:10,643 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:42:10,663 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-28 12:42:10,844 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:42:10,844 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:42:10,844 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:42:10,845 INFO L85 PathProgramCache]: Analyzing trace with hash 1448743382, now seen corresponding path program 3 times [2022-04-28 12:42:10,845 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:42:10,845 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [240901815] [2022-04-28 12:42:10,845 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:42:10,845 INFO L85 PathProgramCache]: Analyzing trace with hash 1448743382, now seen corresponding path program 4 times [2022-04-28 12:42:10,845 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:42:10,845 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1275799186] [2022-04-28 12:42:10,846 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:42:10,846 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:42:10,858 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:42:10,859 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1773913403] [2022-04-28 12:42:10,859 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:42:10,859 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:42:10,859 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:42:10,860 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-28 12:42:10,867 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-28 12:42:10,948 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:42:10,949 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:42:10,949 INFO L263 TraceCheckSpWp]: Trace formula consists of 133 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 12:42:10,964 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:42:10,965 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:42:11,204 INFO L272 TraceCheckUtils]: 0: Hoare triple {1701#true} call ULTIMATE.init(); {1701#true} is VALID [2022-04-28 12:42:11,205 INFO L290 TraceCheckUtils]: 1: Hoare triple {1701#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; {1709#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:11,205 INFO L290 TraceCheckUtils]: 2: Hoare triple {1709#(<= ~counter~0 0)} assume true; {1709#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:11,206 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1709#(<= ~counter~0 0)} {1701#true} #67#return; {1709#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:11,206 INFO L272 TraceCheckUtils]: 4: Hoare triple {1709#(<= ~counter~0 0)} call #t~ret7 := main(); {1709#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:11,207 INFO L290 TraceCheckUtils]: 5: Hoare triple {1709#(<= ~counter~0 0)} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~R~0 := #t~nondet5;havoc #t~nondet5; {1709#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:11,207 INFO L272 TraceCheckUtils]: 6: Hoare triple {1709#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {1709#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:11,208 INFO L290 TraceCheckUtils]: 7: Hoare triple {1709#(<= ~counter~0 0)} ~cond := #in~cond; {1709#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:11,208 INFO L290 TraceCheckUtils]: 8: Hoare triple {1709#(<= ~counter~0 0)} assume !(0 == ~cond); {1709#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:11,209 INFO L290 TraceCheckUtils]: 9: Hoare triple {1709#(<= ~counter~0 0)} assume true; {1709#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:11,209 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1709#(<= ~counter~0 0)} {1709#(<= ~counter~0 0)} #59#return; {1709#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:11,210 INFO L272 TraceCheckUtils]: 11: Hoare triple {1709#(<= ~counter~0 0)} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {1709#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:11,210 INFO L290 TraceCheckUtils]: 12: Hoare triple {1709#(<= ~counter~0 0)} ~cond := #in~cond; {1709#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:11,211 INFO L290 TraceCheckUtils]: 13: Hoare triple {1709#(<= ~counter~0 0)} assume !(0 == ~cond); {1709#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:11,211 INFO L290 TraceCheckUtils]: 14: Hoare triple {1709#(<= ~counter~0 0)} assume true; {1709#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:11,212 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1709#(<= ~counter~0 0)} {1709#(<= ~counter~0 0)} #61#return; {1709#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:11,212 INFO L290 TraceCheckUtils]: 16: Hoare triple {1709#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {1709#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:11,213 INFO L290 TraceCheckUtils]: 17: Hoare triple {1709#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1758#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:11,213 INFO L290 TraceCheckUtils]: 18: Hoare triple {1758#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {1758#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:11,214 INFO L272 TraceCheckUtils]: 19: Hoare triple {1758#(<= ~counter~0 1)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {1758#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:11,215 INFO L290 TraceCheckUtils]: 20: Hoare triple {1758#(<= ~counter~0 1)} ~cond := #in~cond; {1758#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:11,215 INFO L290 TraceCheckUtils]: 21: Hoare triple {1758#(<= ~counter~0 1)} assume !(0 == ~cond); {1758#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:11,216 INFO L290 TraceCheckUtils]: 22: Hoare triple {1758#(<= ~counter~0 1)} assume true; {1758#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:11,216 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1758#(<= ~counter~0 1)} {1758#(<= ~counter~0 1)} #63#return; {1758#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:11,217 INFO L290 TraceCheckUtils]: 24: Hoare triple {1758#(<= ~counter~0 1)} assume !!(0 != ~r~0); {1758#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:11,217 INFO L290 TraceCheckUtils]: 25: Hoare triple {1758#(<= ~counter~0 1)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {1758#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:11,218 INFO L290 TraceCheckUtils]: 26: Hoare triple {1758#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1786#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:11,218 INFO L290 TraceCheckUtils]: 27: Hoare triple {1786#(<= ~counter~0 2)} assume !!(#t~post6 < 20);havoc #t~post6; {1786#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:11,219 INFO L272 TraceCheckUtils]: 28: Hoare triple {1786#(<= ~counter~0 2)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {1786#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:11,220 INFO L290 TraceCheckUtils]: 29: Hoare triple {1786#(<= ~counter~0 2)} ~cond := #in~cond; {1786#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:11,220 INFO L290 TraceCheckUtils]: 30: Hoare triple {1786#(<= ~counter~0 2)} assume !(0 == ~cond); {1786#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:11,221 INFO L290 TraceCheckUtils]: 31: Hoare triple {1786#(<= ~counter~0 2)} assume true; {1786#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:11,221 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1786#(<= ~counter~0 2)} {1786#(<= ~counter~0 2)} #63#return; {1786#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:11,222 INFO L290 TraceCheckUtils]: 33: Hoare triple {1786#(<= ~counter~0 2)} assume !!(0 != ~r~0); {1786#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:11,222 INFO L290 TraceCheckUtils]: 34: Hoare triple {1786#(<= ~counter~0 2)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {1786#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:11,223 INFO L290 TraceCheckUtils]: 35: Hoare triple {1786#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1814#(<= |main_#t~post6| 2)} is VALID [2022-04-28 12:42:11,223 INFO L290 TraceCheckUtils]: 36: Hoare triple {1814#(<= |main_#t~post6| 2)} assume !(#t~post6 < 20);havoc #t~post6; {1702#false} is VALID [2022-04-28 12:42:11,223 INFO L272 TraceCheckUtils]: 37: Hoare triple {1702#false} call __VERIFIER_assert((if 4 * ~A~0 == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {1702#false} is VALID [2022-04-28 12:42:11,224 INFO L290 TraceCheckUtils]: 38: Hoare triple {1702#false} ~cond := #in~cond; {1702#false} is VALID [2022-04-28 12:42:11,224 INFO L290 TraceCheckUtils]: 39: Hoare triple {1702#false} assume 0 == ~cond; {1702#false} is VALID [2022-04-28 12:42:11,224 INFO L290 TraceCheckUtils]: 40: Hoare triple {1702#false} assume !false; {1702#false} is VALID [2022-04-28 12:42:11,224 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 4 proven. 13 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:42:11,224 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:42:11,493 INFO L290 TraceCheckUtils]: 40: Hoare triple {1702#false} assume !false; {1702#false} is VALID [2022-04-28 12:42:11,493 INFO L290 TraceCheckUtils]: 39: Hoare triple {1702#false} assume 0 == ~cond; {1702#false} is VALID [2022-04-28 12:42:11,493 INFO L290 TraceCheckUtils]: 38: Hoare triple {1702#false} ~cond := #in~cond; {1702#false} is VALID [2022-04-28 12:42:11,493 INFO L272 TraceCheckUtils]: 37: Hoare triple {1702#false} call __VERIFIER_assert((if 4 * ~A~0 == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {1702#false} is VALID [2022-04-28 12:42:11,494 INFO L290 TraceCheckUtils]: 36: Hoare triple {1842#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {1702#false} is VALID [2022-04-28 12:42:11,494 INFO L290 TraceCheckUtils]: 35: Hoare triple {1846#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1842#(< |main_#t~post6| 20)} is VALID [2022-04-28 12:42:11,495 INFO L290 TraceCheckUtils]: 34: Hoare triple {1846#(< ~counter~0 20)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {1846#(< ~counter~0 20)} is VALID [2022-04-28 12:42:11,495 INFO L290 TraceCheckUtils]: 33: Hoare triple {1846#(< ~counter~0 20)} assume !!(0 != ~r~0); {1846#(< ~counter~0 20)} is VALID [2022-04-28 12:42:11,496 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1701#true} {1846#(< ~counter~0 20)} #63#return; {1846#(< ~counter~0 20)} is VALID [2022-04-28 12:42:11,496 INFO L290 TraceCheckUtils]: 31: Hoare triple {1701#true} assume true; {1701#true} is VALID [2022-04-28 12:42:11,496 INFO L290 TraceCheckUtils]: 30: Hoare triple {1701#true} assume !(0 == ~cond); {1701#true} is VALID [2022-04-28 12:42:11,496 INFO L290 TraceCheckUtils]: 29: Hoare triple {1701#true} ~cond := #in~cond; {1701#true} is VALID [2022-04-28 12:42:11,496 INFO L272 TraceCheckUtils]: 28: Hoare triple {1846#(< ~counter~0 20)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {1701#true} is VALID [2022-04-28 12:42:11,497 INFO L290 TraceCheckUtils]: 27: Hoare triple {1846#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6; {1846#(< ~counter~0 20)} is VALID [2022-04-28 12:42:11,498 INFO L290 TraceCheckUtils]: 26: Hoare triple {1874#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1846#(< ~counter~0 20)} is VALID [2022-04-28 12:42:11,498 INFO L290 TraceCheckUtils]: 25: Hoare triple {1874#(< ~counter~0 19)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {1874#(< ~counter~0 19)} is VALID [2022-04-28 12:42:11,499 INFO L290 TraceCheckUtils]: 24: Hoare triple {1874#(< ~counter~0 19)} assume !!(0 != ~r~0); {1874#(< ~counter~0 19)} is VALID [2022-04-28 12:42:11,501 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1701#true} {1874#(< ~counter~0 19)} #63#return; {1874#(< ~counter~0 19)} is VALID [2022-04-28 12:42:11,502 INFO L290 TraceCheckUtils]: 22: Hoare triple {1701#true} assume true; {1701#true} is VALID [2022-04-28 12:42:11,502 INFO L290 TraceCheckUtils]: 21: Hoare triple {1701#true} assume !(0 == ~cond); {1701#true} is VALID [2022-04-28 12:42:11,502 INFO L290 TraceCheckUtils]: 20: Hoare triple {1701#true} ~cond := #in~cond; {1701#true} is VALID [2022-04-28 12:42:11,502 INFO L272 TraceCheckUtils]: 19: Hoare triple {1874#(< ~counter~0 19)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {1701#true} is VALID [2022-04-28 12:42:11,504 INFO L290 TraceCheckUtils]: 18: Hoare triple {1874#(< ~counter~0 19)} assume !!(#t~post6 < 20);havoc #t~post6; {1874#(< ~counter~0 19)} is VALID [2022-04-28 12:42:11,505 INFO L290 TraceCheckUtils]: 17: Hoare triple {1902#(< ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1874#(< ~counter~0 19)} is VALID [2022-04-28 12:42:11,508 INFO L290 TraceCheckUtils]: 16: Hoare triple {1902#(< ~counter~0 18)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {1902#(< ~counter~0 18)} is VALID [2022-04-28 12:42:11,508 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1701#true} {1902#(< ~counter~0 18)} #61#return; {1902#(< ~counter~0 18)} is VALID [2022-04-28 12:42:11,509 INFO L290 TraceCheckUtils]: 14: Hoare triple {1701#true} assume true; {1701#true} is VALID [2022-04-28 12:42:11,509 INFO L290 TraceCheckUtils]: 13: Hoare triple {1701#true} assume !(0 == ~cond); {1701#true} is VALID [2022-04-28 12:42:11,509 INFO L290 TraceCheckUtils]: 12: Hoare triple {1701#true} ~cond := #in~cond; {1701#true} is VALID [2022-04-28 12:42:11,509 INFO L272 TraceCheckUtils]: 11: Hoare triple {1902#(< ~counter~0 18)} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {1701#true} is VALID [2022-04-28 12:42:11,510 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1701#true} {1902#(< ~counter~0 18)} #59#return; {1902#(< ~counter~0 18)} is VALID [2022-04-28 12:42:11,510 INFO L290 TraceCheckUtils]: 9: Hoare triple {1701#true} assume true; {1701#true} is VALID [2022-04-28 12:42:11,510 INFO L290 TraceCheckUtils]: 8: Hoare triple {1701#true} assume !(0 == ~cond); {1701#true} is VALID [2022-04-28 12:42:11,510 INFO L290 TraceCheckUtils]: 7: Hoare triple {1701#true} ~cond := #in~cond; {1701#true} is VALID [2022-04-28 12:42:11,510 INFO L272 TraceCheckUtils]: 6: Hoare triple {1902#(< ~counter~0 18)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {1701#true} is VALID [2022-04-28 12:42:11,511 INFO L290 TraceCheckUtils]: 5: Hoare triple {1902#(< ~counter~0 18)} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~R~0 := #t~nondet5;havoc #t~nondet5; {1902#(< ~counter~0 18)} is VALID [2022-04-28 12:42:11,511 INFO L272 TraceCheckUtils]: 4: Hoare triple {1902#(< ~counter~0 18)} call #t~ret7 := main(); {1902#(< ~counter~0 18)} is VALID [2022-04-28 12:42:11,512 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1902#(< ~counter~0 18)} {1701#true} #67#return; {1902#(< ~counter~0 18)} is VALID [2022-04-28 12:42:11,512 INFO L290 TraceCheckUtils]: 2: Hoare triple {1902#(< ~counter~0 18)} assume true; {1902#(< ~counter~0 18)} is VALID [2022-04-28 12:42:11,513 INFO L290 TraceCheckUtils]: 1: Hoare triple {1701#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; {1902#(< ~counter~0 18)} is VALID [2022-04-28 12:42:11,513 INFO L272 TraceCheckUtils]: 0: Hoare triple {1701#true} call ULTIMATE.init(); {1701#true} is VALID [2022-04-28 12:42:11,513 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 4 proven. 9 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-28 12:42:11,513 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:42:11,513 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1275799186] [2022-04-28 12:42:11,514 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:42:11,514 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1773913403] [2022-04-28 12:42:11,514 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1773913403] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:42:11,514 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:42:11,514 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 10 [2022-04-28 12:42:11,514 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:42:11,514 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [240901815] [2022-04-28 12:42:11,514 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [240901815] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:42:11,514 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:42:11,515 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 12:42:11,515 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1691431061] [2022-04-28 12:42:11,515 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:42:11,515 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, (7), 5 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 4 states have call successors, (5) Word has length 41 [2022-04-28 12:42:11,515 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:42:11,516 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, (7), 5 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 12:42:11,551 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-28 12:42:11,551 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 12:42:11,551 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:42:11,552 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 12:42:11,552 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=57, Unknown=0, NotChecked=0, Total=90 [2022-04-28 12:42:11,552 INFO L87 Difference]: Start difference. First operand 38 states and 41 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, (7), 5 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 12:42:11,698 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:42:11,698 INFO L93 Difference]: Finished difference Result 52 states and 56 transitions. [2022-04-28 12:42:11,698 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 12:42:11,698 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, (7), 5 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 4 states have call successors, (5) Word has length 41 [2022-04-28 12:42:11,699 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:42:11,699 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, (7), 5 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 12:42:11,700 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 55 transitions. [2022-04-28 12:42:11,701 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, (7), 5 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 12:42:11,702 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 55 transitions. [2022-04-28 12:42:11,702 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 55 transitions. [2022-04-28 12:42:11,758 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:42:11,759 INFO L225 Difference]: With dead ends: 52 [2022-04-28 12:42:11,759 INFO L226 Difference]: Without dead ends: 47 [2022-04-28 12:42:11,759 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 83 GetRequests, 73 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=51, Invalid=81, Unknown=0, NotChecked=0, Total=132 [2022-04-28 12:42:11,760 INFO L413 NwaCegarLoop]: 28 mSDtfsCounter, 8 mSDsluCounter, 64 mSDsCounter, 0 mSdLazyCounter, 16 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 92 SdHoareTripleChecker+Invalid, 23 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 16 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:42:11,760 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [8 Valid, 92 Invalid, 23 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 16 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:42:11,761 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2022-04-28 12:42:11,800 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 47. [2022-04-28 12:42:11,801 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:42:11,801 INFO L82 GeneralOperation]: Start isEquivalent. First operand 47 states. Second operand has 47 states, 33 states have (on average 1.121212121212121) internal successors, (37), 33 states have internal predecessors, (37), 8 states have call successors, (8), 7 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 12:42:11,801 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand has 47 states, 33 states have (on average 1.121212121212121) internal successors, (37), 33 states have internal predecessors, (37), 8 states have call successors, (8), 7 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 12:42:11,801 INFO L87 Difference]: Start difference. First operand 47 states. Second operand has 47 states, 33 states have (on average 1.121212121212121) internal successors, (37), 33 states have internal predecessors, (37), 8 states have call successors, (8), 7 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 12:42:11,803 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:42:11,803 INFO L93 Difference]: Finished difference Result 47 states and 51 transitions. [2022-04-28 12:42:11,803 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 51 transitions. [2022-04-28 12:42:11,803 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:42:11,804 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:42:11,804 INFO L74 IsIncluded]: Start isIncluded. First operand has 47 states, 33 states have (on average 1.121212121212121) internal successors, (37), 33 states have internal predecessors, (37), 8 states have call successors, (8), 7 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 47 states. [2022-04-28 12:42:11,804 INFO L87 Difference]: Start difference. First operand has 47 states, 33 states have (on average 1.121212121212121) internal successors, (37), 33 states have internal predecessors, (37), 8 states have call successors, (8), 7 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 47 states. [2022-04-28 12:42:11,806 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:42:11,806 INFO L93 Difference]: Finished difference Result 47 states and 51 transitions. [2022-04-28 12:42:11,806 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 51 transitions. [2022-04-28 12:42:11,806 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:42:11,806 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:42:11,806 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:42:11,806 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:42:11,806 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 47 states, 33 states have (on average 1.121212121212121) internal successors, (37), 33 states have internal predecessors, (37), 8 states have call successors, (8), 7 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 12:42:11,808 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 47 states to 47 states and 51 transitions. [2022-04-28 12:42:11,808 INFO L78 Accepts]: Start accepts. Automaton has 47 states and 51 transitions. Word has length 41 [2022-04-28 12:42:11,808 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:42:11,808 INFO L495 AbstractCegarLoop]: Abstraction has 47 states and 51 transitions. [2022-04-28 12:42:11,808 INFO L496 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, (7), 5 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 12:42:11,809 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 47 states and 51 transitions. [2022-04-28 12:42:13,248 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-28 12:42:13,248 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 51 transitions. [2022-04-28 12:42:13,248 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-28 12:42:13,249 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:42:13,249 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:42:13,265 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-28 12:42:13,455 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:42:13,456 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:42:13,456 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:42:13,456 INFO L85 PathProgramCache]: Analyzing trace with hash -678977956, now seen corresponding path program 5 times [2022-04-28 12:42:13,456 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:42:13,456 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1826388907] [2022-04-28 12:42:13,457 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:42:13,457 INFO L85 PathProgramCache]: Analyzing trace with hash -678977956, now seen corresponding path program 6 times [2022-04-28 12:42:13,457 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:42:13,457 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [953139270] [2022-04-28 12:42:13,457 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:42:13,457 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:42:13,491 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:42:13,491 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1952402829] [2022-04-28 12:42:13,492 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 12:42:13,492 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:42:13,492 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:42:13,497 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-28 12:42:13,520 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-28 12:42:13,571 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-28 12:42:13,571 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:42:13,572 INFO L263 TraceCheckSpWp]: Trace formula consists of 153 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-28 12:42:13,591 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:42:13,592 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:42:13,893 INFO L272 TraceCheckUtils]: 0: Hoare triple {2252#true} call ULTIMATE.init(); {2252#true} is VALID [2022-04-28 12:42:13,894 INFO L290 TraceCheckUtils]: 1: Hoare triple {2252#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; {2260#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:13,895 INFO L290 TraceCheckUtils]: 2: Hoare triple {2260#(<= ~counter~0 0)} assume true; {2260#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:13,895 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2260#(<= ~counter~0 0)} {2252#true} #67#return; {2260#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:13,896 INFO L272 TraceCheckUtils]: 4: Hoare triple {2260#(<= ~counter~0 0)} call #t~ret7 := main(); {2260#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:13,896 INFO L290 TraceCheckUtils]: 5: Hoare triple {2260#(<= ~counter~0 0)} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~R~0 := #t~nondet5;havoc #t~nondet5; {2260#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:13,897 INFO L272 TraceCheckUtils]: 6: Hoare triple {2260#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {2260#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:13,897 INFO L290 TraceCheckUtils]: 7: Hoare triple {2260#(<= ~counter~0 0)} ~cond := #in~cond; {2260#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:13,897 INFO L290 TraceCheckUtils]: 8: Hoare triple {2260#(<= ~counter~0 0)} assume !(0 == ~cond); {2260#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:13,898 INFO L290 TraceCheckUtils]: 9: Hoare triple {2260#(<= ~counter~0 0)} assume true; {2260#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:13,898 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2260#(<= ~counter~0 0)} {2260#(<= ~counter~0 0)} #59#return; {2260#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:13,899 INFO L272 TraceCheckUtils]: 11: Hoare triple {2260#(<= ~counter~0 0)} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {2260#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:13,899 INFO L290 TraceCheckUtils]: 12: Hoare triple {2260#(<= ~counter~0 0)} ~cond := #in~cond; {2260#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:13,900 INFO L290 TraceCheckUtils]: 13: Hoare triple {2260#(<= ~counter~0 0)} assume !(0 == ~cond); {2260#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:13,900 INFO L290 TraceCheckUtils]: 14: Hoare triple {2260#(<= ~counter~0 0)} assume true; {2260#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:13,901 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2260#(<= ~counter~0 0)} {2260#(<= ~counter~0 0)} #61#return; {2260#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:13,901 INFO L290 TraceCheckUtils]: 16: Hoare triple {2260#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {2260#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:13,902 INFO L290 TraceCheckUtils]: 17: Hoare triple {2260#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2309#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:13,902 INFO L290 TraceCheckUtils]: 18: Hoare triple {2309#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {2309#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:13,903 INFO L272 TraceCheckUtils]: 19: Hoare triple {2309#(<= ~counter~0 1)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {2309#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:13,903 INFO L290 TraceCheckUtils]: 20: Hoare triple {2309#(<= ~counter~0 1)} ~cond := #in~cond; {2309#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:13,903 INFO L290 TraceCheckUtils]: 21: Hoare triple {2309#(<= ~counter~0 1)} assume !(0 == ~cond); {2309#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:13,904 INFO L290 TraceCheckUtils]: 22: Hoare triple {2309#(<= ~counter~0 1)} assume true; {2309#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:13,904 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2309#(<= ~counter~0 1)} {2309#(<= ~counter~0 1)} #63#return; {2309#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:13,905 INFO L290 TraceCheckUtils]: 24: Hoare triple {2309#(<= ~counter~0 1)} assume !!(0 != ~r~0); {2309#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:13,905 INFO L290 TraceCheckUtils]: 25: Hoare triple {2309#(<= ~counter~0 1)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {2309#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:13,906 INFO L290 TraceCheckUtils]: 26: Hoare triple {2309#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2337#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:13,906 INFO L290 TraceCheckUtils]: 27: Hoare triple {2337#(<= ~counter~0 2)} assume !!(#t~post6 < 20);havoc #t~post6; {2337#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:13,907 INFO L272 TraceCheckUtils]: 28: Hoare triple {2337#(<= ~counter~0 2)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {2337#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:13,907 INFO L290 TraceCheckUtils]: 29: Hoare triple {2337#(<= ~counter~0 2)} ~cond := #in~cond; {2337#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:13,908 INFO L290 TraceCheckUtils]: 30: Hoare triple {2337#(<= ~counter~0 2)} assume !(0 == ~cond); {2337#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:13,908 INFO L290 TraceCheckUtils]: 31: Hoare triple {2337#(<= ~counter~0 2)} assume true; {2337#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:13,909 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2337#(<= ~counter~0 2)} {2337#(<= ~counter~0 2)} #63#return; {2337#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:13,909 INFO L290 TraceCheckUtils]: 33: Hoare triple {2337#(<= ~counter~0 2)} assume !!(0 != ~r~0); {2337#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:13,909 INFO L290 TraceCheckUtils]: 34: Hoare triple {2337#(<= ~counter~0 2)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {2337#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:13,910 INFO L290 TraceCheckUtils]: 35: Hoare triple {2337#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2365#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:13,910 INFO L290 TraceCheckUtils]: 36: Hoare triple {2365#(<= ~counter~0 3)} assume !!(#t~post6 < 20);havoc #t~post6; {2365#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:13,911 INFO L272 TraceCheckUtils]: 37: Hoare triple {2365#(<= ~counter~0 3)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {2365#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:13,911 INFO L290 TraceCheckUtils]: 38: Hoare triple {2365#(<= ~counter~0 3)} ~cond := #in~cond; {2365#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:13,912 INFO L290 TraceCheckUtils]: 39: Hoare triple {2365#(<= ~counter~0 3)} assume !(0 == ~cond); {2365#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:13,912 INFO L290 TraceCheckUtils]: 40: Hoare triple {2365#(<= ~counter~0 3)} assume true; {2365#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:13,913 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {2365#(<= ~counter~0 3)} {2365#(<= ~counter~0 3)} #63#return; {2365#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:13,913 INFO L290 TraceCheckUtils]: 42: Hoare triple {2365#(<= ~counter~0 3)} assume !!(0 != ~r~0); {2365#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:13,913 INFO L290 TraceCheckUtils]: 43: Hoare triple {2365#(<= ~counter~0 3)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {2365#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:13,914 INFO L290 TraceCheckUtils]: 44: Hoare triple {2365#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2393#(<= |main_#t~post6| 3)} is VALID [2022-04-28 12:42:13,914 INFO L290 TraceCheckUtils]: 45: Hoare triple {2393#(<= |main_#t~post6| 3)} assume !(#t~post6 < 20);havoc #t~post6; {2253#false} is VALID [2022-04-28 12:42:13,915 INFO L272 TraceCheckUtils]: 46: Hoare triple {2253#false} call __VERIFIER_assert((if 4 * ~A~0 == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {2253#false} is VALID [2022-04-28 12:42:13,915 INFO L290 TraceCheckUtils]: 47: Hoare triple {2253#false} ~cond := #in~cond; {2253#false} is VALID [2022-04-28 12:42:13,915 INFO L290 TraceCheckUtils]: 48: Hoare triple {2253#false} assume 0 == ~cond; {2253#false} is VALID [2022-04-28 12:42:13,915 INFO L290 TraceCheckUtils]: 49: Hoare triple {2253#false} assume !false; {2253#false} is VALID [2022-04-28 12:42:13,915 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 6 proven. 33 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:42:13,915 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:42:14,192 INFO L290 TraceCheckUtils]: 49: Hoare triple {2253#false} assume !false; {2253#false} is VALID [2022-04-28 12:42:14,193 INFO L290 TraceCheckUtils]: 48: Hoare triple {2253#false} assume 0 == ~cond; {2253#false} is VALID [2022-04-28 12:42:14,193 INFO L290 TraceCheckUtils]: 47: Hoare triple {2253#false} ~cond := #in~cond; {2253#false} is VALID [2022-04-28 12:42:14,193 INFO L272 TraceCheckUtils]: 46: Hoare triple {2253#false} call __VERIFIER_assert((if 4 * ~A~0 == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {2253#false} is VALID [2022-04-28 12:42:14,193 INFO L290 TraceCheckUtils]: 45: Hoare triple {2421#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {2253#false} is VALID [2022-04-28 12:42:14,194 INFO L290 TraceCheckUtils]: 44: Hoare triple {2425#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2421#(< |main_#t~post6| 20)} is VALID [2022-04-28 12:42:14,194 INFO L290 TraceCheckUtils]: 43: Hoare triple {2425#(< ~counter~0 20)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {2425#(< ~counter~0 20)} is VALID [2022-04-28 12:42:14,195 INFO L290 TraceCheckUtils]: 42: Hoare triple {2425#(< ~counter~0 20)} assume !!(0 != ~r~0); {2425#(< ~counter~0 20)} is VALID [2022-04-28 12:42:14,198 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {2252#true} {2425#(< ~counter~0 20)} #63#return; {2425#(< ~counter~0 20)} is VALID [2022-04-28 12:42:14,198 INFO L290 TraceCheckUtils]: 40: Hoare triple {2252#true} assume true; {2252#true} is VALID [2022-04-28 12:42:14,198 INFO L290 TraceCheckUtils]: 39: Hoare triple {2252#true} assume !(0 == ~cond); {2252#true} is VALID [2022-04-28 12:42:14,198 INFO L290 TraceCheckUtils]: 38: Hoare triple {2252#true} ~cond := #in~cond; {2252#true} is VALID [2022-04-28 12:42:14,198 INFO L272 TraceCheckUtils]: 37: Hoare triple {2425#(< ~counter~0 20)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {2252#true} is VALID [2022-04-28 12:42:14,199 INFO L290 TraceCheckUtils]: 36: Hoare triple {2425#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6; {2425#(< ~counter~0 20)} is VALID [2022-04-28 12:42:14,199 INFO L290 TraceCheckUtils]: 35: Hoare triple {2453#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2425#(< ~counter~0 20)} is VALID [2022-04-28 12:42:14,200 INFO L290 TraceCheckUtils]: 34: Hoare triple {2453#(< ~counter~0 19)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {2453#(< ~counter~0 19)} is VALID [2022-04-28 12:42:14,200 INFO L290 TraceCheckUtils]: 33: Hoare triple {2453#(< ~counter~0 19)} assume !!(0 != ~r~0); {2453#(< ~counter~0 19)} is VALID [2022-04-28 12:42:14,201 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2252#true} {2453#(< ~counter~0 19)} #63#return; {2453#(< ~counter~0 19)} is VALID [2022-04-28 12:42:14,201 INFO L290 TraceCheckUtils]: 31: Hoare triple {2252#true} assume true; {2252#true} is VALID [2022-04-28 12:42:14,201 INFO L290 TraceCheckUtils]: 30: Hoare triple {2252#true} assume !(0 == ~cond); {2252#true} is VALID [2022-04-28 12:42:14,201 INFO L290 TraceCheckUtils]: 29: Hoare triple {2252#true} ~cond := #in~cond; {2252#true} is VALID [2022-04-28 12:42:14,201 INFO L272 TraceCheckUtils]: 28: Hoare triple {2453#(< ~counter~0 19)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {2252#true} is VALID [2022-04-28 12:42:14,202 INFO L290 TraceCheckUtils]: 27: Hoare triple {2453#(< ~counter~0 19)} assume !!(#t~post6 < 20);havoc #t~post6; {2453#(< ~counter~0 19)} is VALID [2022-04-28 12:42:14,202 INFO L290 TraceCheckUtils]: 26: Hoare triple {2481#(< ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2453#(< ~counter~0 19)} is VALID [2022-04-28 12:42:14,203 INFO L290 TraceCheckUtils]: 25: Hoare triple {2481#(< ~counter~0 18)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {2481#(< ~counter~0 18)} is VALID [2022-04-28 12:42:14,203 INFO L290 TraceCheckUtils]: 24: Hoare triple {2481#(< ~counter~0 18)} assume !!(0 != ~r~0); {2481#(< ~counter~0 18)} is VALID [2022-04-28 12:42:14,204 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2252#true} {2481#(< ~counter~0 18)} #63#return; {2481#(< ~counter~0 18)} is VALID [2022-04-28 12:42:14,204 INFO L290 TraceCheckUtils]: 22: Hoare triple {2252#true} assume true; {2252#true} is VALID [2022-04-28 12:42:14,204 INFO L290 TraceCheckUtils]: 21: Hoare triple {2252#true} assume !(0 == ~cond); {2252#true} is VALID [2022-04-28 12:42:14,204 INFO L290 TraceCheckUtils]: 20: Hoare triple {2252#true} ~cond := #in~cond; {2252#true} is VALID [2022-04-28 12:42:14,205 INFO L272 TraceCheckUtils]: 19: Hoare triple {2481#(< ~counter~0 18)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {2252#true} is VALID [2022-04-28 12:42:14,205 INFO L290 TraceCheckUtils]: 18: Hoare triple {2481#(< ~counter~0 18)} assume !!(#t~post6 < 20);havoc #t~post6; {2481#(< ~counter~0 18)} is VALID [2022-04-28 12:42:14,206 INFO L290 TraceCheckUtils]: 17: Hoare triple {2509#(< ~counter~0 17)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2481#(< ~counter~0 18)} is VALID [2022-04-28 12:42:14,206 INFO L290 TraceCheckUtils]: 16: Hoare triple {2509#(< ~counter~0 17)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {2509#(< ~counter~0 17)} is VALID [2022-04-28 12:42:14,207 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2252#true} {2509#(< ~counter~0 17)} #61#return; {2509#(< ~counter~0 17)} is VALID [2022-04-28 12:42:14,207 INFO L290 TraceCheckUtils]: 14: Hoare triple {2252#true} assume true; {2252#true} is VALID [2022-04-28 12:42:14,207 INFO L290 TraceCheckUtils]: 13: Hoare triple {2252#true} assume !(0 == ~cond); {2252#true} is VALID [2022-04-28 12:42:14,207 INFO L290 TraceCheckUtils]: 12: Hoare triple {2252#true} ~cond := #in~cond; {2252#true} is VALID [2022-04-28 12:42:14,207 INFO L272 TraceCheckUtils]: 11: Hoare triple {2509#(< ~counter~0 17)} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {2252#true} is VALID [2022-04-28 12:42:14,208 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2252#true} {2509#(< ~counter~0 17)} #59#return; {2509#(< ~counter~0 17)} is VALID [2022-04-28 12:42:14,208 INFO L290 TraceCheckUtils]: 9: Hoare triple {2252#true} assume true; {2252#true} is VALID [2022-04-28 12:42:14,208 INFO L290 TraceCheckUtils]: 8: Hoare triple {2252#true} assume !(0 == ~cond); {2252#true} is VALID [2022-04-28 12:42:14,208 INFO L290 TraceCheckUtils]: 7: Hoare triple {2252#true} ~cond := #in~cond; {2252#true} is VALID [2022-04-28 12:42:14,208 INFO L272 TraceCheckUtils]: 6: Hoare triple {2509#(< ~counter~0 17)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {2252#true} is VALID [2022-04-28 12:42:14,209 INFO L290 TraceCheckUtils]: 5: Hoare triple {2509#(< ~counter~0 17)} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~R~0 := #t~nondet5;havoc #t~nondet5; {2509#(< ~counter~0 17)} is VALID [2022-04-28 12:42:14,209 INFO L272 TraceCheckUtils]: 4: Hoare triple {2509#(< ~counter~0 17)} call #t~ret7 := main(); {2509#(< ~counter~0 17)} is VALID [2022-04-28 12:42:14,210 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2509#(< ~counter~0 17)} {2252#true} #67#return; {2509#(< ~counter~0 17)} is VALID [2022-04-28 12:42:14,210 INFO L290 TraceCheckUtils]: 2: Hoare triple {2509#(< ~counter~0 17)} assume true; {2509#(< ~counter~0 17)} is VALID [2022-04-28 12:42:14,211 INFO L290 TraceCheckUtils]: 1: Hoare triple {2252#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; {2509#(< ~counter~0 17)} is VALID [2022-04-28 12:42:14,211 INFO L272 TraceCheckUtils]: 0: Hoare triple {2252#true} call ULTIMATE.init(); {2252#true} is VALID [2022-04-28 12:42:14,211 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 6 proven. 21 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-28 12:42:14,211 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:42:14,211 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [953139270] [2022-04-28 12:42:14,211 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:42:14,211 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1952402829] [2022-04-28 12:42:14,212 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1952402829] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:42:14,212 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:42:14,212 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2022-04-28 12:42:14,212 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:42:14,212 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1826388907] [2022-04-28 12:42:14,212 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1826388907] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:42:14,212 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:42:14,212 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 12:42:14,212 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2084947510] [2022-04-28 12:42:14,213 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:42:14,213 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, (8), 6 states have call predecessors, (8), 4 states have return successors, (6), 4 states have call predecessors, (6), 5 states have call successors, (6) Word has length 50 [2022-04-28 12:42:14,213 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:42:14,213 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, (8), 6 states have call predecessors, (8), 4 states have return successors, (6), 4 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-28 12:42:14,256 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:42:14,256 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 12:42:14,257 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:42:14,257 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 12:42:14,257 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=82, Unknown=0, NotChecked=0, Total=132 [2022-04-28 12:42:14,257 INFO L87 Difference]: Start difference. First operand 47 states and 51 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, (8), 6 states have call predecessors, (8), 4 states have return successors, (6), 4 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-28 12:42:14,449 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:42:14,449 INFO L93 Difference]: Finished difference Result 61 states and 66 transitions. [2022-04-28 12:42:14,449 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 12:42:14,449 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, (8), 6 states have call predecessors, (8), 4 states have return successors, (6), 4 states have call predecessors, (6), 5 states have call successors, (6) Word has length 50 [2022-04-28 12:42:14,450 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:42:14,450 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, (8), 6 states have call predecessors, (8), 4 states have return successors, (6), 4 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-28 12:42:14,452 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 65 transitions. [2022-04-28 12:42:14,452 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, (8), 6 states have call predecessors, (8), 4 states have return successors, (6), 4 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-28 12:42:14,453 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 65 transitions. [2022-04-28 12:42:14,453 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 65 transitions. [2022-04-28 12:42:14,508 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-28 12:42:14,510 INFO L225 Difference]: With dead ends: 61 [2022-04-28 12:42:14,510 INFO L226 Difference]: Without dead ends: 56 [2022-04-28 12:42:14,510 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 102 GetRequests, 89 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 13 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=83, Invalid=127, Unknown=0, NotChecked=0, Total=210 [2022-04-28 12:42:14,511 INFO L413 NwaCegarLoop]: 29 mSDtfsCounter, 9 mSDsluCounter, 77 mSDsCounter, 0 mSdLazyCounter, 22 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 106 SdHoareTripleChecker+Invalid, 29 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 22 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:42:14,511 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [9 Valid, 106 Invalid, 29 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 22 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:42:14,512 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 56 states. [2022-04-28 12:42:14,562 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 56 to 56. [2022-04-28 12:42:14,562 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:42:14,563 INFO L82 GeneralOperation]: Start isEquivalent. First operand 56 states. Second operand has 56 states, 40 states have (on average 1.125) internal successors, (45), 40 states have internal predecessors, (45), 9 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 12:42:14,563 INFO L74 IsIncluded]: Start isIncluded. First operand 56 states. Second operand has 56 states, 40 states have (on average 1.125) internal successors, (45), 40 states have internal predecessors, (45), 9 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 12:42:14,563 INFO L87 Difference]: Start difference. First operand 56 states. Second operand has 56 states, 40 states have (on average 1.125) internal successors, (45), 40 states have internal predecessors, (45), 9 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 12:42:14,565 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:42:14,565 INFO L93 Difference]: Finished difference Result 56 states and 61 transitions. [2022-04-28 12:42:14,565 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 61 transitions. [2022-04-28 12:42:14,565 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:42:14,565 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:42:14,566 INFO L74 IsIncluded]: Start isIncluded. First operand has 56 states, 40 states have (on average 1.125) internal successors, (45), 40 states have internal predecessors, (45), 9 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 56 states. [2022-04-28 12:42:14,566 INFO L87 Difference]: Start difference. First operand has 56 states, 40 states have (on average 1.125) internal successors, (45), 40 states have internal predecessors, (45), 9 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 56 states. [2022-04-28 12:42:14,568 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:42:14,568 INFO L93 Difference]: Finished difference Result 56 states and 61 transitions. [2022-04-28 12:42:14,568 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 61 transitions. [2022-04-28 12:42:14,568 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:42:14,568 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:42:14,568 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:42:14,568 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:42:14,568 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 56 states, 40 states have (on average 1.125) internal successors, (45), 40 states have internal predecessors, (45), 9 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 12:42:14,570 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 56 states to 56 states and 61 transitions. [2022-04-28 12:42:14,570 INFO L78 Accepts]: Start accepts. Automaton has 56 states and 61 transitions. Word has length 50 [2022-04-28 12:42:14,570 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:42:14,570 INFO L495 AbstractCegarLoop]: Abstraction has 56 states and 61 transitions. [2022-04-28 12:42:14,571 INFO L496 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, (8), 6 states have call predecessors, (8), 4 states have return successors, (6), 4 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-28 12:42:14,571 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 56 states and 61 transitions. [2022-04-28 12:42:14,916 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:42:14,917 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 61 transitions. [2022-04-28 12:42:14,917 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 60 [2022-04-28 12:42:14,917 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:42:14,917 INFO L195 NwaCegarLoop]: trace histogram [5, 5, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:42:14,934 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-28 12:42:15,119 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:42:15,120 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:42:15,120 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:42:15,120 INFO L85 PathProgramCache]: Analyzing trace with hash 1632159894, now seen corresponding path program 7 times [2022-04-28 12:42:15,120 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:42:15,120 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1143483474] [2022-04-28 12:42:15,120 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:42:15,121 INFO L85 PathProgramCache]: Analyzing trace with hash 1632159894, now seen corresponding path program 8 times [2022-04-28 12:42:15,121 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:42:15,121 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [823991338] [2022-04-28 12:42:15,121 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:42:15,121 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:42:15,137 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:42:15,138 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [137568606] [2022-04-28 12:42:15,138 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:42:15,138 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:42:15,138 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:42:15,139 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-28 12:42:15,140 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-28 12:42:15,187 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:42:15,188 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:42:15,188 INFO L263 TraceCheckSpWp]: Trace formula consists of 173 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-28 12:42:15,201 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:42:15,203 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:42:15,537 INFO L272 TraceCheckUtils]: 0: Hoare triple {2915#true} call ULTIMATE.init(); {2915#true} is VALID [2022-04-28 12:42:15,538 INFO L290 TraceCheckUtils]: 1: Hoare triple {2915#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; {2923#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:15,538 INFO L290 TraceCheckUtils]: 2: Hoare triple {2923#(<= ~counter~0 0)} assume true; {2923#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:15,543 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2923#(<= ~counter~0 0)} {2915#true} #67#return; {2923#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:15,555 INFO L272 TraceCheckUtils]: 4: Hoare triple {2923#(<= ~counter~0 0)} call #t~ret7 := main(); {2923#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:15,556 INFO L290 TraceCheckUtils]: 5: Hoare triple {2923#(<= ~counter~0 0)} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~R~0 := #t~nondet5;havoc #t~nondet5; {2923#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:15,557 INFO L272 TraceCheckUtils]: 6: Hoare triple {2923#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {2923#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:15,557 INFO L290 TraceCheckUtils]: 7: Hoare triple {2923#(<= ~counter~0 0)} ~cond := #in~cond; {2923#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:15,563 INFO L290 TraceCheckUtils]: 8: Hoare triple {2923#(<= ~counter~0 0)} assume !(0 == ~cond); {2923#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:15,563 INFO L290 TraceCheckUtils]: 9: Hoare triple {2923#(<= ~counter~0 0)} assume true; {2923#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:15,564 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2923#(<= ~counter~0 0)} {2923#(<= ~counter~0 0)} #59#return; {2923#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:15,564 INFO L272 TraceCheckUtils]: 11: Hoare triple {2923#(<= ~counter~0 0)} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {2923#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:15,565 INFO L290 TraceCheckUtils]: 12: Hoare triple {2923#(<= ~counter~0 0)} ~cond := #in~cond; {2923#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:15,565 INFO L290 TraceCheckUtils]: 13: Hoare triple {2923#(<= ~counter~0 0)} assume !(0 == ~cond); {2923#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:15,565 INFO L290 TraceCheckUtils]: 14: Hoare triple {2923#(<= ~counter~0 0)} assume true; {2923#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:15,566 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2923#(<= ~counter~0 0)} {2923#(<= ~counter~0 0)} #61#return; {2923#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:15,566 INFO L290 TraceCheckUtils]: 16: Hoare triple {2923#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {2923#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:15,567 INFO L290 TraceCheckUtils]: 17: Hoare triple {2923#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2972#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:15,567 INFO L290 TraceCheckUtils]: 18: Hoare triple {2972#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {2972#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:15,568 INFO L272 TraceCheckUtils]: 19: Hoare triple {2972#(<= ~counter~0 1)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {2972#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:15,568 INFO L290 TraceCheckUtils]: 20: Hoare triple {2972#(<= ~counter~0 1)} ~cond := #in~cond; {2972#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:15,568 INFO L290 TraceCheckUtils]: 21: Hoare triple {2972#(<= ~counter~0 1)} assume !(0 == ~cond); {2972#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:15,569 INFO L290 TraceCheckUtils]: 22: Hoare triple {2972#(<= ~counter~0 1)} assume true; {2972#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:15,569 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2972#(<= ~counter~0 1)} {2972#(<= ~counter~0 1)} #63#return; {2972#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:15,570 INFO L290 TraceCheckUtils]: 24: Hoare triple {2972#(<= ~counter~0 1)} assume !!(0 != ~r~0); {2972#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:15,570 INFO L290 TraceCheckUtils]: 25: Hoare triple {2972#(<= ~counter~0 1)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {2972#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:15,571 INFO L290 TraceCheckUtils]: 26: Hoare triple {2972#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3000#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:15,571 INFO L290 TraceCheckUtils]: 27: Hoare triple {3000#(<= ~counter~0 2)} assume !!(#t~post6 < 20);havoc #t~post6; {3000#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:15,572 INFO L272 TraceCheckUtils]: 28: Hoare triple {3000#(<= ~counter~0 2)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {3000#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:15,572 INFO L290 TraceCheckUtils]: 29: Hoare triple {3000#(<= ~counter~0 2)} ~cond := #in~cond; {3000#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:15,572 INFO L290 TraceCheckUtils]: 30: Hoare triple {3000#(<= ~counter~0 2)} assume !(0 == ~cond); {3000#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:15,573 INFO L290 TraceCheckUtils]: 31: Hoare triple {3000#(<= ~counter~0 2)} assume true; {3000#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:15,573 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3000#(<= ~counter~0 2)} {3000#(<= ~counter~0 2)} #63#return; {3000#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:15,574 INFO L290 TraceCheckUtils]: 33: Hoare triple {3000#(<= ~counter~0 2)} assume !!(0 != ~r~0); {3000#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:15,574 INFO L290 TraceCheckUtils]: 34: Hoare triple {3000#(<= ~counter~0 2)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {3000#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:15,574 INFO L290 TraceCheckUtils]: 35: Hoare triple {3000#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3028#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:15,575 INFO L290 TraceCheckUtils]: 36: Hoare triple {3028#(<= ~counter~0 3)} assume !!(#t~post6 < 20);havoc #t~post6; {3028#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:15,575 INFO L272 TraceCheckUtils]: 37: Hoare triple {3028#(<= ~counter~0 3)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {3028#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:15,576 INFO L290 TraceCheckUtils]: 38: Hoare triple {3028#(<= ~counter~0 3)} ~cond := #in~cond; {3028#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:15,576 INFO L290 TraceCheckUtils]: 39: Hoare triple {3028#(<= ~counter~0 3)} assume !(0 == ~cond); {3028#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:15,576 INFO L290 TraceCheckUtils]: 40: Hoare triple {3028#(<= ~counter~0 3)} assume true; {3028#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:15,577 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {3028#(<= ~counter~0 3)} {3028#(<= ~counter~0 3)} #63#return; {3028#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:15,577 INFO L290 TraceCheckUtils]: 42: Hoare triple {3028#(<= ~counter~0 3)} assume !!(0 != ~r~0); {3028#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:15,578 INFO L290 TraceCheckUtils]: 43: Hoare triple {3028#(<= ~counter~0 3)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {3028#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:15,578 INFO L290 TraceCheckUtils]: 44: Hoare triple {3028#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3056#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:15,579 INFO L290 TraceCheckUtils]: 45: Hoare triple {3056#(<= ~counter~0 4)} assume !!(#t~post6 < 20);havoc #t~post6; {3056#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:15,580 INFO L272 TraceCheckUtils]: 46: Hoare triple {3056#(<= ~counter~0 4)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {3056#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:15,580 INFO L290 TraceCheckUtils]: 47: Hoare triple {3056#(<= ~counter~0 4)} ~cond := #in~cond; {3056#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:15,580 INFO L290 TraceCheckUtils]: 48: Hoare triple {3056#(<= ~counter~0 4)} assume !(0 == ~cond); {3056#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:15,581 INFO L290 TraceCheckUtils]: 49: Hoare triple {3056#(<= ~counter~0 4)} assume true; {3056#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:15,581 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3056#(<= ~counter~0 4)} {3056#(<= ~counter~0 4)} #63#return; {3056#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:15,582 INFO L290 TraceCheckUtils]: 51: Hoare triple {3056#(<= ~counter~0 4)} assume !!(0 != ~r~0); {3056#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:15,582 INFO L290 TraceCheckUtils]: 52: Hoare triple {3056#(<= ~counter~0 4)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {3056#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:15,582 INFO L290 TraceCheckUtils]: 53: Hoare triple {3056#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3084#(<= |main_#t~post6| 4)} is VALID [2022-04-28 12:42:15,583 INFO L290 TraceCheckUtils]: 54: Hoare triple {3084#(<= |main_#t~post6| 4)} assume !(#t~post6 < 20);havoc #t~post6; {2916#false} is VALID [2022-04-28 12:42:15,583 INFO L272 TraceCheckUtils]: 55: Hoare triple {2916#false} call __VERIFIER_assert((if 4 * ~A~0 == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {2916#false} is VALID [2022-04-28 12:42:15,583 INFO L290 TraceCheckUtils]: 56: Hoare triple {2916#false} ~cond := #in~cond; {2916#false} is VALID [2022-04-28 12:42:15,583 INFO L290 TraceCheckUtils]: 57: Hoare triple {2916#false} assume 0 == ~cond; {2916#false} is VALID [2022-04-28 12:42:15,583 INFO L290 TraceCheckUtils]: 58: Hoare triple {2916#false} assume !false; {2916#false} is VALID [2022-04-28 12:42:15,584 INFO L134 CoverageAnalysis]: Checked inductivity of 74 backedges. 8 proven. 62 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:42:15,584 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:42:15,936 INFO L290 TraceCheckUtils]: 58: Hoare triple {2916#false} assume !false; {2916#false} is VALID [2022-04-28 12:42:15,936 INFO L290 TraceCheckUtils]: 57: Hoare triple {2916#false} assume 0 == ~cond; {2916#false} is VALID [2022-04-28 12:42:15,936 INFO L290 TraceCheckUtils]: 56: Hoare triple {2916#false} ~cond := #in~cond; {2916#false} is VALID [2022-04-28 12:42:15,936 INFO L272 TraceCheckUtils]: 55: Hoare triple {2916#false} call __VERIFIER_assert((if 4 * ~A~0 == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {2916#false} is VALID [2022-04-28 12:42:15,937 INFO L290 TraceCheckUtils]: 54: Hoare triple {3112#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {2916#false} is VALID [2022-04-28 12:42:15,937 INFO L290 TraceCheckUtils]: 53: Hoare triple {3116#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3112#(< |main_#t~post6| 20)} is VALID [2022-04-28 12:42:15,937 INFO L290 TraceCheckUtils]: 52: Hoare triple {3116#(< ~counter~0 20)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {3116#(< ~counter~0 20)} is VALID [2022-04-28 12:42:15,938 INFO L290 TraceCheckUtils]: 51: Hoare triple {3116#(< ~counter~0 20)} assume !!(0 != ~r~0); {3116#(< ~counter~0 20)} is VALID [2022-04-28 12:42:15,938 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2915#true} {3116#(< ~counter~0 20)} #63#return; {3116#(< ~counter~0 20)} is VALID [2022-04-28 12:42:15,938 INFO L290 TraceCheckUtils]: 49: Hoare triple {2915#true} assume true; {2915#true} is VALID [2022-04-28 12:42:15,938 INFO L290 TraceCheckUtils]: 48: Hoare triple {2915#true} assume !(0 == ~cond); {2915#true} is VALID [2022-04-28 12:42:15,939 INFO L290 TraceCheckUtils]: 47: Hoare triple {2915#true} ~cond := #in~cond; {2915#true} is VALID [2022-04-28 12:42:15,939 INFO L272 TraceCheckUtils]: 46: Hoare triple {3116#(< ~counter~0 20)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {2915#true} is VALID [2022-04-28 12:42:15,939 INFO L290 TraceCheckUtils]: 45: Hoare triple {3116#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6; {3116#(< ~counter~0 20)} is VALID [2022-04-28 12:42:15,939 INFO L290 TraceCheckUtils]: 44: Hoare triple {3144#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3116#(< ~counter~0 20)} is VALID [2022-04-28 12:42:15,940 INFO L290 TraceCheckUtils]: 43: Hoare triple {3144#(< ~counter~0 19)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {3144#(< ~counter~0 19)} is VALID [2022-04-28 12:42:15,940 INFO L290 TraceCheckUtils]: 42: Hoare triple {3144#(< ~counter~0 19)} assume !!(0 != ~r~0); {3144#(< ~counter~0 19)} is VALID [2022-04-28 12:42:15,941 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {2915#true} {3144#(< ~counter~0 19)} #63#return; {3144#(< ~counter~0 19)} is VALID [2022-04-28 12:42:15,941 INFO L290 TraceCheckUtils]: 40: Hoare triple {2915#true} assume true; {2915#true} is VALID [2022-04-28 12:42:15,941 INFO L290 TraceCheckUtils]: 39: Hoare triple {2915#true} assume !(0 == ~cond); {2915#true} is VALID [2022-04-28 12:42:15,941 INFO L290 TraceCheckUtils]: 38: Hoare triple {2915#true} ~cond := #in~cond; {2915#true} is VALID [2022-04-28 12:42:15,941 INFO L272 TraceCheckUtils]: 37: Hoare triple {3144#(< ~counter~0 19)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {2915#true} is VALID [2022-04-28 12:42:15,941 INFO L290 TraceCheckUtils]: 36: Hoare triple {3144#(< ~counter~0 19)} assume !!(#t~post6 < 20);havoc #t~post6; {3144#(< ~counter~0 19)} is VALID [2022-04-28 12:42:15,942 INFO L290 TraceCheckUtils]: 35: Hoare triple {3172#(< ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3144#(< ~counter~0 19)} is VALID [2022-04-28 12:42:15,942 INFO L290 TraceCheckUtils]: 34: Hoare triple {3172#(< ~counter~0 18)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {3172#(< ~counter~0 18)} is VALID [2022-04-28 12:42:15,942 INFO L290 TraceCheckUtils]: 33: Hoare triple {3172#(< ~counter~0 18)} assume !!(0 != ~r~0); {3172#(< ~counter~0 18)} is VALID [2022-04-28 12:42:15,943 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2915#true} {3172#(< ~counter~0 18)} #63#return; {3172#(< ~counter~0 18)} is VALID [2022-04-28 12:42:15,943 INFO L290 TraceCheckUtils]: 31: Hoare triple {2915#true} assume true; {2915#true} is VALID [2022-04-28 12:42:15,943 INFO L290 TraceCheckUtils]: 30: Hoare triple {2915#true} assume !(0 == ~cond); {2915#true} is VALID [2022-04-28 12:42:15,943 INFO L290 TraceCheckUtils]: 29: Hoare triple {2915#true} ~cond := #in~cond; {2915#true} is VALID [2022-04-28 12:42:15,944 INFO L272 TraceCheckUtils]: 28: Hoare triple {3172#(< ~counter~0 18)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {2915#true} is VALID [2022-04-28 12:42:15,944 INFO L290 TraceCheckUtils]: 27: Hoare triple {3172#(< ~counter~0 18)} assume !!(#t~post6 < 20);havoc #t~post6; {3172#(< ~counter~0 18)} is VALID [2022-04-28 12:42:15,944 INFO L290 TraceCheckUtils]: 26: Hoare triple {3200#(< ~counter~0 17)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3172#(< ~counter~0 18)} is VALID [2022-04-28 12:42:15,945 INFO L290 TraceCheckUtils]: 25: Hoare triple {3200#(< ~counter~0 17)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {3200#(< ~counter~0 17)} is VALID [2022-04-28 12:42:15,945 INFO L290 TraceCheckUtils]: 24: Hoare triple {3200#(< ~counter~0 17)} assume !!(0 != ~r~0); {3200#(< ~counter~0 17)} is VALID [2022-04-28 12:42:15,946 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2915#true} {3200#(< ~counter~0 17)} #63#return; {3200#(< ~counter~0 17)} is VALID [2022-04-28 12:42:15,946 INFO L290 TraceCheckUtils]: 22: Hoare triple {2915#true} assume true; {2915#true} is VALID [2022-04-28 12:42:15,946 INFO L290 TraceCheckUtils]: 21: Hoare triple {2915#true} assume !(0 == ~cond); {2915#true} is VALID [2022-04-28 12:42:15,946 INFO L290 TraceCheckUtils]: 20: Hoare triple {2915#true} ~cond := #in~cond; {2915#true} is VALID [2022-04-28 12:42:15,946 INFO L272 TraceCheckUtils]: 19: Hoare triple {3200#(< ~counter~0 17)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {2915#true} is VALID [2022-04-28 12:42:15,946 INFO L290 TraceCheckUtils]: 18: Hoare triple {3200#(< ~counter~0 17)} assume !!(#t~post6 < 20);havoc #t~post6; {3200#(< ~counter~0 17)} is VALID [2022-04-28 12:42:15,947 INFO L290 TraceCheckUtils]: 17: Hoare triple {3228#(< ~counter~0 16)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3200#(< ~counter~0 17)} is VALID [2022-04-28 12:42:15,947 INFO L290 TraceCheckUtils]: 16: Hoare triple {3228#(< ~counter~0 16)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {3228#(< ~counter~0 16)} is VALID [2022-04-28 12:42:15,948 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2915#true} {3228#(< ~counter~0 16)} #61#return; {3228#(< ~counter~0 16)} is VALID [2022-04-28 12:42:15,948 INFO L290 TraceCheckUtils]: 14: Hoare triple {2915#true} assume true; {2915#true} is VALID [2022-04-28 12:42:15,948 INFO L290 TraceCheckUtils]: 13: Hoare triple {2915#true} assume !(0 == ~cond); {2915#true} is VALID [2022-04-28 12:42:15,948 INFO L290 TraceCheckUtils]: 12: Hoare triple {2915#true} ~cond := #in~cond; {2915#true} is VALID [2022-04-28 12:42:15,948 INFO L272 TraceCheckUtils]: 11: Hoare triple {3228#(< ~counter~0 16)} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {2915#true} is VALID [2022-04-28 12:42:15,948 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2915#true} {3228#(< ~counter~0 16)} #59#return; {3228#(< ~counter~0 16)} is VALID [2022-04-28 12:42:15,949 INFO L290 TraceCheckUtils]: 9: Hoare triple {2915#true} assume true; {2915#true} is VALID [2022-04-28 12:42:15,949 INFO L290 TraceCheckUtils]: 8: Hoare triple {2915#true} assume !(0 == ~cond); {2915#true} is VALID [2022-04-28 12:42:15,949 INFO L290 TraceCheckUtils]: 7: Hoare triple {2915#true} ~cond := #in~cond; {2915#true} is VALID [2022-04-28 12:42:15,949 INFO L272 TraceCheckUtils]: 6: Hoare triple {3228#(< ~counter~0 16)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {2915#true} is VALID [2022-04-28 12:42:15,949 INFO L290 TraceCheckUtils]: 5: Hoare triple {3228#(< ~counter~0 16)} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~R~0 := #t~nondet5;havoc #t~nondet5; {3228#(< ~counter~0 16)} is VALID [2022-04-28 12:42:15,950 INFO L272 TraceCheckUtils]: 4: Hoare triple {3228#(< ~counter~0 16)} call #t~ret7 := main(); {3228#(< ~counter~0 16)} is VALID [2022-04-28 12:42:15,950 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3228#(< ~counter~0 16)} {2915#true} #67#return; {3228#(< ~counter~0 16)} is VALID [2022-04-28 12:42:15,950 INFO L290 TraceCheckUtils]: 2: Hoare triple {3228#(< ~counter~0 16)} assume true; {3228#(< ~counter~0 16)} is VALID [2022-04-28 12:42:15,951 INFO L290 TraceCheckUtils]: 1: Hoare triple {2915#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; {3228#(< ~counter~0 16)} is VALID [2022-04-28 12:42:15,951 INFO L272 TraceCheckUtils]: 0: Hoare triple {2915#true} call ULTIMATE.init(); {2915#true} is VALID [2022-04-28 12:42:15,951 INFO L134 CoverageAnalysis]: Checked inductivity of 74 backedges. 8 proven. 38 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-28 12:42:15,951 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:42:15,951 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [823991338] [2022-04-28 12:42:15,951 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:42:15,952 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [137568606] [2022-04-28 12:42:15,952 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [137568606] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:42:15,952 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:42:15,952 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 14 [2022-04-28 12:42:15,952 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:42:15,952 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1143483474] [2022-04-28 12:42:15,952 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1143483474] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:42:15,952 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:42:15,952 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 12:42:15,952 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [61093664] [2022-04-28 12:42:15,953 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:42:15,954 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, (9), 7 states have call predecessors, (9), 5 states have return successors, (7), 5 states have call predecessors, (7), 6 states have call successors, (7) Word has length 59 [2022-04-28 12:42:15,956 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:42:15,956 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, (9), 7 states have call predecessors, (9), 5 states have return successors, (7), 5 states have call predecessors, (7), 6 states have call successors, (7) [2022-04-28 12:42:15,995 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:42:15,995 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 12:42:15,995 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:42:15,996 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 12:42:15,996 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2022-04-28 12:42:15,996 INFO L87 Difference]: Start difference. First operand 56 states and 61 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, (9), 7 states have call predecessors, (9), 5 states have return successors, (7), 5 states have call predecessors, (7), 6 states have call successors, (7) [2022-04-28 12:42:16,225 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:42:16,225 INFO L93 Difference]: Finished difference Result 70 states and 76 transitions. [2022-04-28 12:42:16,225 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 12:42:16,225 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, (9), 7 states have call predecessors, (9), 5 states have return successors, (7), 5 states have call predecessors, (7), 6 states have call successors, (7) Word has length 59 [2022-04-28 12:42:16,226 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:42:16,226 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, (9), 7 states have call predecessors, (9), 5 states have return successors, (7), 5 states have call predecessors, (7), 6 states have call successors, (7) [2022-04-28 12:42:16,228 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 75 transitions. [2022-04-28 12:42:16,228 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, (9), 7 states have call predecessors, (9), 5 states have return successors, (7), 5 states have call predecessors, (7), 6 states have call successors, (7) [2022-04-28 12:42:16,230 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 75 transitions. [2022-04-28 12:42:16,230 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 75 transitions. [2022-04-28 12:42:16,293 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:42:16,294 INFO L225 Difference]: With dead ends: 70 [2022-04-28 12:42:16,294 INFO L226 Difference]: Without dead ends: 65 [2022-04-28 12:42:16,295 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 121 GetRequests, 105 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-28 12:42:16,295 INFO L413 NwaCegarLoop]: 30 mSDtfsCounter, 25 mSDsluCounter, 78 mSDsCounter, 0 mSdLazyCounter, 26 mSolverCounterSat, 21 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 25 SdHoareTripleChecker+Valid, 108 SdHoareTripleChecker+Invalid, 47 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 21 IncrementalHoareTripleChecker+Valid, 26 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:42:16,295 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [25 Valid, 108 Invalid, 47 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [21 Valid, 26 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:42:16,296 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 65 states. [2022-04-28 12:42:16,362 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 65 to 65. [2022-04-28 12:42:16,363 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:42:16,363 INFO L82 GeneralOperation]: Start isEquivalent. First operand 65 states. Second operand has 65 states, 47 states have (on average 1.127659574468085) internal successors, (53), 47 states have internal predecessors, (53), 10 states have call successors, (10), 9 states have call predecessors, (10), 7 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 12:42:16,363 INFO L74 IsIncluded]: Start isIncluded. First operand 65 states. Second operand has 65 states, 47 states have (on average 1.127659574468085) internal successors, (53), 47 states have internal predecessors, (53), 10 states have call successors, (10), 9 states have call predecessors, (10), 7 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 12:42:16,363 INFO L87 Difference]: Start difference. First operand 65 states. Second operand has 65 states, 47 states have (on average 1.127659574468085) internal successors, (53), 47 states have internal predecessors, (53), 10 states have call successors, (10), 9 states have call predecessors, (10), 7 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 12:42:16,365 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:42:16,365 INFO L93 Difference]: Finished difference Result 65 states and 71 transitions. [2022-04-28 12:42:16,366 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 71 transitions. [2022-04-28 12:42:16,366 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:42:16,366 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:42:16,366 INFO L74 IsIncluded]: Start isIncluded. First operand has 65 states, 47 states have (on average 1.127659574468085) internal successors, (53), 47 states have internal predecessors, (53), 10 states have call successors, (10), 9 states have call predecessors, (10), 7 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 65 states. [2022-04-28 12:42:16,366 INFO L87 Difference]: Start difference. First operand has 65 states, 47 states have (on average 1.127659574468085) internal successors, (53), 47 states have internal predecessors, (53), 10 states have call successors, (10), 9 states have call predecessors, (10), 7 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 65 states. [2022-04-28 12:42:16,368 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:42:16,368 INFO L93 Difference]: Finished difference Result 65 states and 71 transitions. [2022-04-28 12:42:16,368 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 71 transitions. [2022-04-28 12:42:16,368 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:42:16,369 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:42:16,369 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:42:16,369 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:42:16,369 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 65 states, 47 states have (on average 1.127659574468085) internal successors, (53), 47 states have internal predecessors, (53), 10 states have call successors, (10), 9 states have call predecessors, (10), 7 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 12:42:16,371 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 65 states to 65 states and 71 transitions. [2022-04-28 12:42:16,371 INFO L78 Accepts]: Start accepts. Automaton has 65 states and 71 transitions. Word has length 59 [2022-04-28 12:42:16,371 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:42:16,371 INFO L495 AbstractCegarLoop]: Abstraction has 65 states and 71 transitions. [2022-04-28 12:42:16,371 INFO L496 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, (9), 7 states have call predecessors, (9), 5 states have return successors, (7), 5 states have call predecessors, (7), 6 states have call successors, (7) [2022-04-28 12:42:16,371 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 65 states and 71 transitions. [2022-04-28 12:42:17,897 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:42:17,897 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 71 transitions. [2022-04-28 12:42:17,898 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 69 [2022-04-28 12:42:17,898 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:42:17,898 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 5, 5, 5, 5, 5, 5, 5, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:42:17,924 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-28 12:42:18,120 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable7 [2022-04-28 12:42:18,120 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:42:18,121 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:42:18,121 INFO L85 PathProgramCache]: Analyzing trace with hash -1512407140, now seen corresponding path program 9 times [2022-04-28 12:42:18,121 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:42:18,121 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1479731961] [2022-04-28 12:42:18,121 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:42:18,121 INFO L85 PathProgramCache]: Analyzing trace with hash -1512407140, now seen corresponding path program 10 times [2022-04-28 12:42:18,121 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:42:18,122 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [72367616] [2022-04-28 12:42:18,122 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:42:18,122 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:42:18,137 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:42:18,138 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1106474414] [2022-04-28 12:42:18,138 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:42:18,138 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:42:18,138 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:42:18,139 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-28 12:42:18,140 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-28 12:42:18,296 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:42:18,296 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:42:18,297 INFO L263 TraceCheckSpWp]: Trace formula consists of 193 conjuncts, 15 conjunts are in the unsatisfiable core [2022-04-28 12:42:18,316 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:42:18,318 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:42:18,672 INFO L272 TraceCheckUtils]: 0: Hoare triple {3690#true} call ULTIMATE.init(); {3690#true} is VALID [2022-04-28 12:42:18,673 INFO L290 TraceCheckUtils]: 1: Hoare triple {3690#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; {3698#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:18,673 INFO L290 TraceCheckUtils]: 2: Hoare triple {3698#(<= ~counter~0 0)} assume true; {3698#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:18,674 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3698#(<= ~counter~0 0)} {3690#true} #67#return; {3698#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:18,674 INFO L272 TraceCheckUtils]: 4: Hoare triple {3698#(<= ~counter~0 0)} call #t~ret7 := main(); {3698#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:18,674 INFO L290 TraceCheckUtils]: 5: Hoare triple {3698#(<= ~counter~0 0)} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~R~0 := #t~nondet5;havoc #t~nondet5; {3698#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:18,675 INFO L272 TraceCheckUtils]: 6: Hoare triple {3698#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {3698#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:18,676 INFO L290 TraceCheckUtils]: 7: Hoare triple {3698#(<= ~counter~0 0)} ~cond := #in~cond; {3698#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:18,676 INFO L290 TraceCheckUtils]: 8: Hoare triple {3698#(<= ~counter~0 0)} assume !(0 == ~cond); {3698#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:18,676 INFO L290 TraceCheckUtils]: 9: Hoare triple {3698#(<= ~counter~0 0)} assume true; {3698#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:18,677 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3698#(<= ~counter~0 0)} {3698#(<= ~counter~0 0)} #59#return; {3698#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:18,677 INFO L272 TraceCheckUtils]: 11: Hoare triple {3698#(<= ~counter~0 0)} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {3698#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:18,677 INFO L290 TraceCheckUtils]: 12: Hoare triple {3698#(<= ~counter~0 0)} ~cond := #in~cond; {3698#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:18,678 INFO L290 TraceCheckUtils]: 13: Hoare triple {3698#(<= ~counter~0 0)} assume !(0 == ~cond); {3698#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:18,678 INFO L290 TraceCheckUtils]: 14: Hoare triple {3698#(<= ~counter~0 0)} assume true; {3698#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:18,678 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {3698#(<= ~counter~0 0)} {3698#(<= ~counter~0 0)} #61#return; {3698#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:18,679 INFO L290 TraceCheckUtils]: 16: Hoare triple {3698#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {3698#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:18,679 INFO L290 TraceCheckUtils]: 17: Hoare triple {3698#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3747#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:18,680 INFO L290 TraceCheckUtils]: 18: Hoare triple {3747#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {3747#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:18,680 INFO L272 TraceCheckUtils]: 19: Hoare triple {3747#(<= ~counter~0 1)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {3747#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:18,683 INFO L290 TraceCheckUtils]: 20: Hoare triple {3747#(<= ~counter~0 1)} ~cond := #in~cond; {3747#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:18,684 INFO L290 TraceCheckUtils]: 21: Hoare triple {3747#(<= ~counter~0 1)} assume !(0 == ~cond); {3747#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:18,684 INFO L290 TraceCheckUtils]: 22: Hoare triple {3747#(<= ~counter~0 1)} assume true; {3747#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:18,685 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3747#(<= ~counter~0 1)} {3747#(<= ~counter~0 1)} #63#return; {3747#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:18,685 INFO L290 TraceCheckUtils]: 24: Hoare triple {3747#(<= ~counter~0 1)} assume !!(0 != ~r~0); {3747#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:18,686 INFO L290 TraceCheckUtils]: 25: Hoare triple {3747#(<= ~counter~0 1)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {3747#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:18,686 INFO L290 TraceCheckUtils]: 26: Hoare triple {3747#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3775#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:18,686 INFO L290 TraceCheckUtils]: 27: Hoare triple {3775#(<= ~counter~0 2)} assume !!(#t~post6 < 20);havoc #t~post6; {3775#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:18,687 INFO L272 TraceCheckUtils]: 28: Hoare triple {3775#(<= ~counter~0 2)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {3775#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:18,687 INFO L290 TraceCheckUtils]: 29: Hoare triple {3775#(<= ~counter~0 2)} ~cond := #in~cond; {3775#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:18,688 INFO L290 TraceCheckUtils]: 30: Hoare triple {3775#(<= ~counter~0 2)} assume !(0 == ~cond); {3775#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:18,688 INFO L290 TraceCheckUtils]: 31: Hoare triple {3775#(<= ~counter~0 2)} assume true; {3775#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:18,688 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3775#(<= ~counter~0 2)} {3775#(<= ~counter~0 2)} #63#return; {3775#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:18,689 INFO L290 TraceCheckUtils]: 33: Hoare triple {3775#(<= ~counter~0 2)} assume !!(0 != ~r~0); {3775#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:18,689 INFO L290 TraceCheckUtils]: 34: Hoare triple {3775#(<= ~counter~0 2)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {3775#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:18,689 INFO L290 TraceCheckUtils]: 35: Hoare triple {3775#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3803#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:18,690 INFO L290 TraceCheckUtils]: 36: Hoare triple {3803#(<= ~counter~0 3)} assume !!(#t~post6 < 20);havoc #t~post6; {3803#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:18,690 INFO L272 TraceCheckUtils]: 37: Hoare triple {3803#(<= ~counter~0 3)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {3803#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:18,691 INFO L290 TraceCheckUtils]: 38: Hoare triple {3803#(<= ~counter~0 3)} ~cond := #in~cond; {3803#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:18,691 INFO L290 TraceCheckUtils]: 39: Hoare triple {3803#(<= ~counter~0 3)} assume !(0 == ~cond); {3803#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:18,691 INFO L290 TraceCheckUtils]: 40: Hoare triple {3803#(<= ~counter~0 3)} assume true; {3803#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:18,692 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {3803#(<= ~counter~0 3)} {3803#(<= ~counter~0 3)} #63#return; {3803#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:18,692 INFO L290 TraceCheckUtils]: 42: Hoare triple {3803#(<= ~counter~0 3)} assume !!(0 != ~r~0); {3803#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:18,692 INFO L290 TraceCheckUtils]: 43: Hoare triple {3803#(<= ~counter~0 3)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {3803#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:18,693 INFO L290 TraceCheckUtils]: 44: Hoare triple {3803#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3831#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:18,693 INFO L290 TraceCheckUtils]: 45: Hoare triple {3831#(<= ~counter~0 4)} assume !!(#t~post6 < 20);havoc #t~post6; {3831#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:18,694 INFO L272 TraceCheckUtils]: 46: Hoare triple {3831#(<= ~counter~0 4)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {3831#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:18,694 INFO L290 TraceCheckUtils]: 47: Hoare triple {3831#(<= ~counter~0 4)} ~cond := #in~cond; {3831#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:18,694 INFO L290 TraceCheckUtils]: 48: Hoare triple {3831#(<= ~counter~0 4)} assume !(0 == ~cond); {3831#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:18,694 INFO L290 TraceCheckUtils]: 49: Hoare triple {3831#(<= ~counter~0 4)} assume true; {3831#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:18,695 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3831#(<= ~counter~0 4)} {3831#(<= ~counter~0 4)} #63#return; {3831#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:18,699 INFO L290 TraceCheckUtils]: 51: Hoare triple {3831#(<= ~counter~0 4)} assume !!(0 != ~r~0); {3831#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:18,699 INFO L290 TraceCheckUtils]: 52: Hoare triple {3831#(<= ~counter~0 4)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {3831#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:18,700 INFO L290 TraceCheckUtils]: 53: Hoare triple {3831#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3859#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:18,700 INFO L290 TraceCheckUtils]: 54: Hoare triple {3859#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {3859#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:18,701 INFO L272 TraceCheckUtils]: 55: Hoare triple {3859#(<= ~counter~0 5)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {3859#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:18,701 INFO L290 TraceCheckUtils]: 56: Hoare triple {3859#(<= ~counter~0 5)} ~cond := #in~cond; {3859#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:18,701 INFO L290 TraceCheckUtils]: 57: Hoare triple {3859#(<= ~counter~0 5)} assume !(0 == ~cond); {3859#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:18,702 INFO L290 TraceCheckUtils]: 58: Hoare triple {3859#(<= ~counter~0 5)} assume true; {3859#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:18,703 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {3859#(<= ~counter~0 5)} {3859#(<= ~counter~0 5)} #63#return; {3859#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:18,703 INFO L290 TraceCheckUtils]: 60: Hoare triple {3859#(<= ~counter~0 5)} assume !!(0 != ~r~0); {3859#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:18,704 INFO L290 TraceCheckUtils]: 61: Hoare triple {3859#(<= ~counter~0 5)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {3859#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:18,704 INFO L290 TraceCheckUtils]: 62: Hoare triple {3859#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3887#(<= |main_#t~post6| 5)} is VALID [2022-04-28 12:42:18,704 INFO L290 TraceCheckUtils]: 63: Hoare triple {3887#(<= |main_#t~post6| 5)} assume !(#t~post6 < 20);havoc #t~post6; {3691#false} is VALID [2022-04-28 12:42:18,704 INFO L272 TraceCheckUtils]: 64: Hoare triple {3691#false} call __VERIFIER_assert((if 4 * ~A~0 == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {3691#false} is VALID [2022-04-28 12:42:18,705 INFO L290 TraceCheckUtils]: 65: Hoare triple {3691#false} ~cond := #in~cond; {3691#false} is VALID [2022-04-28 12:42:18,705 INFO L290 TraceCheckUtils]: 66: Hoare triple {3691#false} assume 0 == ~cond; {3691#false} is VALID [2022-04-28 12:42:18,705 INFO L290 TraceCheckUtils]: 67: Hoare triple {3691#false} assume !false; {3691#false} is VALID [2022-04-28 12:42:18,705 INFO L134 CoverageAnalysis]: Checked inductivity of 114 backedges. 10 proven. 100 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:42:18,705 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:42:19,094 INFO L290 TraceCheckUtils]: 67: Hoare triple {3691#false} assume !false; {3691#false} is VALID [2022-04-28 12:42:19,094 INFO L290 TraceCheckUtils]: 66: Hoare triple {3691#false} assume 0 == ~cond; {3691#false} is VALID [2022-04-28 12:42:19,094 INFO L290 TraceCheckUtils]: 65: Hoare triple {3691#false} ~cond := #in~cond; {3691#false} is VALID [2022-04-28 12:42:19,094 INFO L272 TraceCheckUtils]: 64: Hoare triple {3691#false} call __VERIFIER_assert((if 4 * ~A~0 == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {3691#false} is VALID [2022-04-28 12:42:19,094 INFO L290 TraceCheckUtils]: 63: Hoare triple {3915#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {3691#false} is VALID [2022-04-28 12:42:19,095 INFO L290 TraceCheckUtils]: 62: Hoare triple {3919#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3915#(< |main_#t~post6| 20)} is VALID [2022-04-28 12:42:19,095 INFO L290 TraceCheckUtils]: 61: Hoare triple {3919#(< ~counter~0 20)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {3919#(< ~counter~0 20)} is VALID [2022-04-28 12:42:19,095 INFO L290 TraceCheckUtils]: 60: Hoare triple {3919#(< ~counter~0 20)} assume !!(0 != ~r~0); {3919#(< ~counter~0 20)} is VALID [2022-04-28 12:42:19,096 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {3690#true} {3919#(< ~counter~0 20)} #63#return; {3919#(< ~counter~0 20)} is VALID [2022-04-28 12:42:19,096 INFO L290 TraceCheckUtils]: 58: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-28 12:42:19,096 INFO L290 TraceCheckUtils]: 57: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-28 12:42:19,096 INFO L290 TraceCheckUtils]: 56: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-28 12:42:19,096 INFO L272 TraceCheckUtils]: 55: Hoare triple {3919#(< ~counter~0 20)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {3690#true} is VALID [2022-04-28 12:42:19,096 INFO L290 TraceCheckUtils]: 54: Hoare triple {3919#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6; {3919#(< ~counter~0 20)} is VALID [2022-04-28 12:42:19,097 INFO L290 TraceCheckUtils]: 53: Hoare triple {3947#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3919#(< ~counter~0 20)} is VALID [2022-04-28 12:42:19,097 INFO L290 TraceCheckUtils]: 52: Hoare triple {3947#(< ~counter~0 19)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {3947#(< ~counter~0 19)} is VALID [2022-04-28 12:42:19,097 INFO L290 TraceCheckUtils]: 51: Hoare triple {3947#(< ~counter~0 19)} assume !!(0 != ~r~0); {3947#(< ~counter~0 19)} is VALID [2022-04-28 12:42:19,098 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3690#true} {3947#(< ~counter~0 19)} #63#return; {3947#(< ~counter~0 19)} is VALID [2022-04-28 12:42:19,098 INFO L290 TraceCheckUtils]: 49: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-28 12:42:19,098 INFO L290 TraceCheckUtils]: 48: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-28 12:42:19,098 INFO L290 TraceCheckUtils]: 47: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-28 12:42:19,098 INFO L272 TraceCheckUtils]: 46: Hoare triple {3947#(< ~counter~0 19)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {3690#true} is VALID [2022-04-28 12:42:19,098 INFO L290 TraceCheckUtils]: 45: Hoare triple {3947#(< ~counter~0 19)} assume !!(#t~post6 < 20);havoc #t~post6; {3947#(< ~counter~0 19)} is VALID [2022-04-28 12:42:19,099 INFO L290 TraceCheckUtils]: 44: Hoare triple {3975#(< ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3947#(< ~counter~0 19)} is VALID [2022-04-28 12:42:19,099 INFO L290 TraceCheckUtils]: 43: Hoare triple {3975#(< ~counter~0 18)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {3975#(< ~counter~0 18)} is VALID [2022-04-28 12:42:19,099 INFO L290 TraceCheckUtils]: 42: Hoare triple {3975#(< ~counter~0 18)} assume !!(0 != ~r~0); {3975#(< ~counter~0 18)} is VALID [2022-04-28 12:42:19,100 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {3690#true} {3975#(< ~counter~0 18)} #63#return; {3975#(< ~counter~0 18)} is VALID [2022-04-28 12:42:19,100 INFO L290 TraceCheckUtils]: 40: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-28 12:42:19,100 INFO L290 TraceCheckUtils]: 39: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-28 12:42:19,100 INFO L290 TraceCheckUtils]: 38: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-28 12:42:19,100 INFO L272 TraceCheckUtils]: 37: Hoare triple {3975#(< ~counter~0 18)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {3690#true} is VALID [2022-04-28 12:42:19,101 INFO L290 TraceCheckUtils]: 36: Hoare triple {3975#(< ~counter~0 18)} assume !!(#t~post6 < 20);havoc #t~post6; {3975#(< ~counter~0 18)} is VALID [2022-04-28 12:42:19,101 INFO L290 TraceCheckUtils]: 35: Hoare triple {4003#(< ~counter~0 17)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3975#(< ~counter~0 18)} is VALID [2022-04-28 12:42:19,101 INFO L290 TraceCheckUtils]: 34: Hoare triple {4003#(< ~counter~0 17)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {4003#(< ~counter~0 17)} is VALID [2022-04-28 12:42:19,102 INFO L290 TraceCheckUtils]: 33: Hoare triple {4003#(< ~counter~0 17)} assume !!(0 != ~r~0); {4003#(< ~counter~0 17)} is VALID [2022-04-28 12:42:19,102 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3690#true} {4003#(< ~counter~0 17)} #63#return; {4003#(< ~counter~0 17)} is VALID [2022-04-28 12:42:19,102 INFO L290 TraceCheckUtils]: 31: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-28 12:42:19,102 INFO L290 TraceCheckUtils]: 30: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-28 12:42:19,102 INFO L290 TraceCheckUtils]: 29: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-28 12:42:19,102 INFO L272 TraceCheckUtils]: 28: Hoare triple {4003#(< ~counter~0 17)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {3690#true} is VALID [2022-04-28 12:42:19,103 INFO L290 TraceCheckUtils]: 27: Hoare triple {4003#(< ~counter~0 17)} assume !!(#t~post6 < 20);havoc #t~post6; {4003#(< ~counter~0 17)} is VALID [2022-04-28 12:42:19,103 INFO L290 TraceCheckUtils]: 26: Hoare triple {4031#(< ~counter~0 16)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4003#(< ~counter~0 17)} is VALID [2022-04-28 12:42:19,103 INFO L290 TraceCheckUtils]: 25: Hoare triple {4031#(< ~counter~0 16)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {4031#(< ~counter~0 16)} is VALID [2022-04-28 12:42:19,104 INFO L290 TraceCheckUtils]: 24: Hoare triple {4031#(< ~counter~0 16)} assume !!(0 != ~r~0); {4031#(< ~counter~0 16)} is VALID [2022-04-28 12:42:19,104 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3690#true} {4031#(< ~counter~0 16)} #63#return; {4031#(< ~counter~0 16)} is VALID [2022-04-28 12:42:19,104 INFO L290 TraceCheckUtils]: 22: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-28 12:42:19,104 INFO L290 TraceCheckUtils]: 21: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-28 12:42:19,104 INFO L290 TraceCheckUtils]: 20: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-28 12:42:19,104 INFO L272 TraceCheckUtils]: 19: Hoare triple {4031#(< ~counter~0 16)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {3690#true} is VALID [2022-04-28 12:42:19,105 INFO L290 TraceCheckUtils]: 18: Hoare triple {4031#(< ~counter~0 16)} assume !!(#t~post6 < 20);havoc #t~post6; {4031#(< ~counter~0 16)} is VALID [2022-04-28 12:42:19,105 INFO L290 TraceCheckUtils]: 17: Hoare triple {4059#(< ~counter~0 15)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4031#(< ~counter~0 16)} is VALID [2022-04-28 12:42:19,105 INFO L290 TraceCheckUtils]: 16: Hoare triple {4059#(< ~counter~0 15)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {4059#(< ~counter~0 15)} is VALID [2022-04-28 12:42:19,106 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {3690#true} {4059#(< ~counter~0 15)} #61#return; {4059#(< ~counter~0 15)} is VALID [2022-04-28 12:42:19,106 INFO L290 TraceCheckUtils]: 14: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-28 12:42:19,106 INFO L290 TraceCheckUtils]: 13: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-28 12:42:19,106 INFO L290 TraceCheckUtils]: 12: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-28 12:42:19,106 INFO L272 TraceCheckUtils]: 11: Hoare triple {4059#(< ~counter~0 15)} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {3690#true} is VALID [2022-04-28 12:42:19,107 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3690#true} {4059#(< ~counter~0 15)} #59#return; {4059#(< ~counter~0 15)} is VALID [2022-04-28 12:42:19,107 INFO L290 TraceCheckUtils]: 9: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-28 12:42:19,107 INFO L290 TraceCheckUtils]: 8: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-28 12:42:19,107 INFO L290 TraceCheckUtils]: 7: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-28 12:42:19,107 INFO L272 TraceCheckUtils]: 6: Hoare triple {4059#(< ~counter~0 15)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {3690#true} is VALID [2022-04-28 12:42:19,107 INFO L290 TraceCheckUtils]: 5: Hoare triple {4059#(< ~counter~0 15)} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~R~0 := #t~nondet5;havoc #t~nondet5; {4059#(< ~counter~0 15)} is VALID [2022-04-28 12:42:19,108 INFO L272 TraceCheckUtils]: 4: Hoare triple {4059#(< ~counter~0 15)} call #t~ret7 := main(); {4059#(< ~counter~0 15)} is VALID [2022-04-28 12:42:19,108 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4059#(< ~counter~0 15)} {3690#true} #67#return; {4059#(< ~counter~0 15)} is VALID [2022-04-28 12:42:19,108 INFO L290 TraceCheckUtils]: 2: Hoare triple {4059#(< ~counter~0 15)} assume true; {4059#(< ~counter~0 15)} is VALID [2022-04-28 12:42:19,109 INFO L290 TraceCheckUtils]: 1: Hoare triple {3690#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; {4059#(< ~counter~0 15)} is VALID [2022-04-28 12:42:19,109 INFO L272 TraceCheckUtils]: 0: Hoare triple {3690#true} call ULTIMATE.init(); {3690#true} is VALID [2022-04-28 12:42:19,109 INFO L134 CoverageAnalysis]: Checked inductivity of 114 backedges. 10 proven. 60 refuted. 0 times theorem prover too weak. 44 trivial. 0 not checked. [2022-04-28 12:42:19,109 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:42:19,109 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [72367616] [2022-04-28 12:42:19,109 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:42:19,109 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1106474414] [2022-04-28 12:42:19,109 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1106474414] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:42:19,110 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:42:19,110 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 16 [2022-04-28 12:42:19,110 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:42:19,110 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1479731961] [2022-04-28 12:42:19,110 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1479731961] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:42:19,110 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:42:19,110 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 12:42:19,110 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1064866043] [2022-04-28 12:42:19,110 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:42:19,111 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, (10), 8 states have call predecessors, (10), 6 states have return successors, (8), 6 states have call predecessors, (8), 7 states have call successors, (8) Word has length 68 [2022-04-28 12:42:19,111 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:42:19,111 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, (10), 8 states have call predecessors, (10), 6 states have return successors, (8), 6 states have call predecessors, (8), 7 states have call successors, (8) [2022-04-28 12:42:19,162 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-28 12:42:19,163 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 12:42:19,163 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:42:19,163 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 12:42:19,163 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=96, Invalid=144, Unknown=0, NotChecked=0, Total=240 [2022-04-28 12:42:19,163 INFO L87 Difference]: Start difference. First operand 65 states and 71 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, (10), 8 states have call predecessors, (10), 6 states have return successors, (8), 6 states have call predecessors, (8), 7 states have call successors, (8) [2022-04-28 12:42:19,392 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:42:19,393 INFO L93 Difference]: Finished difference Result 79 states and 86 transitions. [2022-04-28 12:42:19,393 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 12:42:19,393 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, (10), 8 states have call predecessors, (10), 6 states have return successors, (8), 6 states have call predecessors, (8), 7 states have call successors, (8) Word has length 68 [2022-04-28 12:42:19,393 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:42:19,393 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, (10), 8 states have call predecessors, (10), 6 states have return successors, (8), 6 states have call predecessors, (8), 7 states have call successors, (8) [2022-04-28 12:42:19,395 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 85 transitions. [2022-04-28 12:42:19,396 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, (10), 8 states have call predecessors, (10), 6 states have return successors, (8), 6 states have call predecessors, (8), 7 states have call successors, (8) [2022-04-28 12:42:19,397 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 85 transitions. [2022-04-28 12:42:19,397 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 85 transitions. [2022-04-28 12:42:19,455 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-28 12:42:19,456 INFO L225 Difference]: With dead ends: 79 [2022-04-28 12:42:19,456 INFO L226 Difference]: Without dead ends: 74 [2022-04-28 12:42:19,456 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 140 GetRequests, 121 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-28 12:42:19,457 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 13 mSDsluCounter, 85 mSDsCounter, 0 mSdLazyCounter, 33 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 116 SdHoareTripleChecker+Invalid, 40 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 33 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:42:19,457 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [13 Valid, 116 Invalid, 40 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 33 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:42:19,458 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2022-04-28 12:42:19,536 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 74. [2022-04-28 12:42:19,537 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:42:19,537 INFO L82 GeneralOperation]: Start isEquivalent. First operand 74 states. Second operand has 74 states, 54 states have (on average 1.1296296296296295) internal successors, (61), 54 states have internal predecessors, (61), 11 states have call successors, (11), 10 states have call predecessors, (11), 8 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 12:42:19,537 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand has 74 states, 54 states have (on average 1.1296296296296295) internal successors, (61), 54 states have internal predecessors, (61), 11 states have call successors, (11), 10 states have call predecessors, (11), 8 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 12:42:19,538 INFO L87 Difference]: Start difference. First operand 74 states. Second operand has 74 states, 54 states have (on average 1.1296296296296295) internal successors, (61), 54 states have internal predecessors, (61), 11 states have call successors, (11), 10 states have call predecessors, (11), 8 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 12:42:19,540 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:42:19,540 INFO L93 Difference]: Finished difference Result 74 states and 81 transitions. [2022-04-28 12:42:19,540 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 81 transitions. [2022-04-28 12:42:19,540 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:42:19,540 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:42:19,541 INFO L74 IsIncluded]: Start isIncluded. First operand has 74 states, 54 states have (on average 1.1296296296296295) internal successors, (61), 54 states have internal predecessors, (61), 11 states have call successors, (11), 10 states have call predecessors, (11), 8 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 74 states. [2022-04-28 12:42:19,541 INFO L87 Difference]: Start difference. First operand has 74 states, 54 states have (on average 1.1296296296296295) internal successors, (61), 54 states have internal predecessors, (61), 11 states have call successors, (11), 10 states have call predecessors, (11), 8 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 74 states. [2022-04-28 12:42:19,543 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:42:19,543 INFO L93 Difference]: Finished difference Result 74 states and 81 transitions. [2022-04-28 12:42:19,543 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 81 transitions. [2022-04-28 12:42:19,543 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:42:19,543 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:42:19,543 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:42:19,543 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:42:19,543 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 74 states, 54 states have (on average 1.1296296296296295) internal successors, (61), 54 states have internal predecessors, (61), 11 states have call successors, (11), 10 states have call predecessors, (11), 8 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 12:42:19,545 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 74 states and 81 transitions. [2022-04-28 12:42:19,545 INFO L78 Accepts]: Start accepts. Automaton has 74 states and 81 transitions. Word has length 68 [2022-04-28 12:42:19,546 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:42:19,546 INFO L495 AbstractCegarLoop]: Abstraction has 74 states and 81 transitions. [2022-04-28 12:42:19,547 INFO L496 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, (10), 8 states have call predecessors, (10), 6 states have return successors, (8), 6 states have call predecessors, (8), 7 states have call successors, (8) [2022-04-28 12:42:19,547 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 74 states and 81 transitions. [2022-04-28 12:42:20,045 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-28 12:42:20,045 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 81 transitions. [2022-04-28 12:42:20,046 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 78 [2022-04-28 12:42:20,046 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:42:20,046 INFO L195 NwaCegarLoop]: trace histogram [7, 7, 6, 6, 6, 6, 6, 6, 6, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:42:20,062 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-28 12:42:20,251 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:42:20,251 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:42:20,252 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:42:20,252 INFO L85 PathProgramCache]: Analyzing trace with hash 771706710, now seen corresponding path program 11 times [2022-04-28 12:42:20,252 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:42:20,252 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [702176377] [2022-04-28 12:42:20,252 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:42:20,252 INFO L85 PathProgramCache]: Analyzing trace with hash 771706710, now seen corresponding path program 12 times [2022-04-28 12:42:20,253 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:42:20,253 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1611674296] [2022-04-28 12:42:20,253 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:42:20,253 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:42:20,268 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:42:20,268 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1722164006] [2022-04-28 12:42:20,268 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 12:42:20,269 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:42:20,269 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:42:20,270 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-28 12:42:20,274 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-28 12:42:20,395 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2022-04-28 12:42:20,395 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:42:20,397 INFO L263 TraceCheckSpWp]: Trace formula consists of 213 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-28 12:42:20,411 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:42:20,413 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:42:20,769 INFO L272 TraceCheckUtils]: 0: Hoare triple {4577#true} call ULTIMATE.init(); {4577#true} is VALID [2022-04-28 12:42:20,770 INFO L290 TraceCheckUtils]: 1: Hoare triple {4577#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; {4585#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:20,770 INFO L290 TraceCheckUtils]: 2: Hoare triple {4585#(<= ~counter~0 0)} assume true; {4585#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:20,770 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4585#(<= ~counter~0 0)} {4577#true} #67#return; {4585#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:20,771 INFO L272 TraceCheckUtils]: 4: Hoare triple {4585#(<= ~counter~0 0)} call #t~ret7 := main(); {4585#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:20,771 INFO L290 TraceCheckUtils]: 5: Hoare triple {4585#(<= ~counter~0 0)} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~R~0 := #t~nondet5;havoc #t~nondet5; {4585#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:20,771 INFO L272 TraceCheckUtils]: 6: Hoare triple {4585#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {4585#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:20,772 INFO L290 TraceCheckUtils]: 7: Hoare triple {4585#(<= ~counter~0 0)} ~cond := #in~cond; {4585#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:20,772 INFO L290 TraceCheckUtils]: 8: Hoare triple {4585#(<= ~counter~0 0)} assume !(0 == ~cond); {4585#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:20,772 INFO L290 TraceCheckUtils]: 9: Hoare triple {4585#(<= ~counter~0 0)} assume true; {4585#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:20,773 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4585#(<= ~counter~0 0)} {4585#(<= ~counter~0 0)} #59#return; {4585#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:20,773 INFO L272 TraceCheckUtils]: 11: Hoare triple {4585#(<= ~counter~0 0)} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {4585#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:20,773 INFO L290 TraceCheckUtils]: 12: Hoare triple {4585#(<= ~counter~0 0)} ~cond := #in~cond; {4585#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:20,773 INFO L290 TraceCheckUtils]: 13: Hoare triple {4585#(<= ~counter~0 0)} assume !(0 == ~cond); {4585#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:20,774 INFO L290 TraceCheckUtils]: 14: Hoare triple {4585#(<= ~counter~0 0)} assume true; {4585#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:20,774 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4585#(<= ~counter~0 0)} {4585#(<= ~counter~0 0)} #61#return; {4585#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:20,774 INFO L290 TraceCheckUtils]: 16: Hoare triple {4585#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {4585#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:20,775 INFO L290 TraceCheckUtils]: 17: Hoare triple {4585#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4634#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:20,775 INFO L290 TraceCheckUtils]: 18: Hoare triple {4634#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {4634#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:20,776 INFO L272 TraceCheckUtils]: 19: Hoare triple {4634#(<= ~counter~0 1)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {4634#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:20,776 INFO L290 TraceCheckUtils]: 20: Hoare triple {4634#(<= ~counter~0 1)} ~cond := #in~cond; {4634#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:20,776 INFO L290 TraceCheckUtils]: 21: Hoare triple {4634#(<= ~counter~0 1)} assume !(0 == ~cond); {4634#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:20,777 INFO L290 TraceCheckUtils]: 22: Hoare triple {4634#(<= ~counter~0 1)} assume true; {4634#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:20,777 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4634#(<= ~counter~0 1)} {4634#(<= ~counter~0 1)} #63#return; {4634#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:20,777 INFO L290 TraceCheckUtils]: 24: Hoare triple {4634#(<= ~counter~0 1)} assume !!(0 != ~r~0); {4634#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:20,778 INFO L290 TraceCheckUtils]: 25: Hoare triple {4634#(<= ~counter~0 1)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {4634#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:20,778 INFO L290 TraceCheckUtils]: 26: Hoare triple {4634#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4662#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:20,778 INFO L290 TraceCheckUtils]: 27: Hoare triple {4662#(<= ~counter~0 2)} assume !!(#t~post6 < 20);havoc #t~post6; {4662#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:20,779 INFO L272 TraceCheckUtils]: 28: Hoare triple {4662#(<= ~counter~0 2)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {4662#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:20,779 INFO L290 TraceCheckUtils]: 29: Hoare triple {4662#(<= ~counter~0 2)} ~cond := #in~cond; {4662#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:20,780 INFO L290 TraceCheckUtils]: 30: Hoare triple {4662#(<= ~counter~0 2)} assume !(0 == ~cond); {4662#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:20,780 INFO L290 TraceCheckUtils]: 31: Hoare triple {4662#(<= ~counter~0 2)} assume true; {4662#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:20,780 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4662#(<= ~counter~0 2)} {4662#(<= ~counter~0 2)} #63#return; {4662#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:20,781 INFO L290 TraceCheckUtils]: 33: Hoare triple {4662#(<= ~counter~0 2)} assume !!(0 != ~r~0); {4662#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:20,783 INFO L290 TraceCheckUtils]: 34: Hoare triple {4662#(<= ~counter~0 2)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {4662#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:20,783 INFO L290 TraceCheckUtils]: 35: Hoare triple {4662#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4690#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:20,784 INFO L290 TraceCheckUtils]: 36: Hoare triple {4690#(<= ~counter~0 3)} assume !!(#t~post6 < 20);havoc #t~post6; {4690#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:20,784 INFO L272 TraceCheckUtils]: 37: Hoare triple {4690#(<= ~counter~0 3)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {4690#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:20,784 INFO L290 TraceCheckUtils]: 38: Hoare triple {4690#(<= ~counter~0 3)} ~cond := #in~cond; {4690#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:20,785 INFO L290 TraceCheckUtils]: 39: Hoare triple {4690#(<= ~counter~0 3)} assume !(0 == ~cond); {4690#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:20,785 INFO L290 TraceCheckUtils]: 40: Hoare triple {4690#(<= ~counter~0 3)} assume true; {4690#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:20,786 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {4690#(<= ~counter~0 3)} {4690#(<= ~counter~0 3)} #63#return; {4690#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:20,786 INFO L290 TraceCheckUtils]: 42: Hoare triple {4690#(<= ~counter~0 3)} assume !!(0 != ~r~0); {4690#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:20,786 INFO L290 TraceCheckUtils]: 43: Hoare triple {4690#(<= ~counter~0 3)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {4690#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:20,787 INFO L290 TraceCheckUtils]: 44: Hoare triple {4690#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4718#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:20,787 INFO L290 TraceCheckUtils]: 45: Hoare triple {4718#(<= ~counter~0 4)} assume !!(#t~post6 < 20);havoc #t~post6; {4718#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:20,787 INFO L272 TraceCheckUtils]: 46: Hoare triple {4718#(<= ~counter~0 4)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {4718#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:20,795 INFO L290 TraceCheckUtils]: 47: Hoare triple {4718#(<= ~counter~0 4)} ~cond := #in~cond; {4718#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:20,795 INFO L290 TraceCheckUtils]: 48: Hoare triple {4718#(<= ~counter~0 4)} assume !(0 == ~cond); {4718#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:20,796 INFO L290 TraceCheckUtils]: 49: Hoare triple {4718#(<= ~counter~0 4)} assume true; {4718#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:20,797 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4718#(<= ~counter~0 4)} {4718#(<= ~counter~0 4)} #63#return; {4718#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:20,797 INFO L290 TraceCheckUtils]: 51: Hoare triple {4718#(<= ~counter~0 4)} assume !!(0 != ~r~0); {4718#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:20,797 INFO L290 TraceCheckUtils]: 52: Hoare triple {4718#(<= ~counter~0 4)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {4718#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:20,798 INFO L290 TraceCheckUtils]: 53: Hoare triple {4718#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4746#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:20,798 INFO L290 TraceCheckUtils]: 54: Hoare triple {4746#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {4746#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:20,799 INFO L272 TraceCheckUtils]: 55: Hoare triple {4746#(<= ~counter~0 5)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {4746#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:20,799 INFO L290 TraceCheckUtils]: 56: Hoare triple {4746#(<= ~counter~0 5)} ~cond := #in~cond; {4746#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:20,799 INFO L290 TraceCheckUtils]: 57: Hoare triple {4746#(<= ~counter~0 5)} assume !(0 == ~cond); {4746#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:20,799 INFO L290 TraceCheckUtils]: 58: Hoare triple {4746#(<= ~counter~0 5)} assume true; {4746#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:20,800 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {4746#(<= ~counter~0 5)} {4746#(<= ~counter~0 5)} #63#return; {4746#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:20,800 INFO L290 TraceCheckUtils]: 60: Hoare triple {4746#(<= ~counter~0 5)} assume !!(0 != ~r~0); {4746#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:20,800 INFO L290 TraceCheckUtils]: 61: Hoare triple {4746#(<= ~counter~0 5)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {4746#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:20,801 INFO L290 TraceCheckUtils]: 62: Hoare triple {4746#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4774#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:20,801 INFO L290 TraceCheckUtils]: 63: Hoare triple {4774#(<= ~counter~0 6)} assume !!(#t~post6 < 20);havoc #t~post6; {4774#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:20,802 INFO L272 TraceCheckUtils]: 64: Hoare triple {4774#(<= ~counter~0 6)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {4774#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:20,802 INFO L290 TraceCheckUtils]: 65: Hoare triple {4774#(<= ~counter~0 6)} ~cond := #in~cond; {4774#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:20,802 INFO L290 TraceCheckUtils]: 66: Hoare triple {4774#(<= ~counter~0 6)} assume !(0 == ~cond); {4774#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:20,803 INFO L290 TraceCheckUtils]: 67: Hoare triple {4774#(<= ~counter~0 6)} assume true; {4774#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:20,803 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {4774#(<= ~counter~0 6)} {4774#(<= ~counter~0 6)} #63#return; {4774#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:20,803 INFO L290 TraceCheckUtils]: 69: Hoare triple {4774#(<= ~counter~0 6)} assume !!(0 != ~r~0); {4774#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:20,804 INFO L290 TraceCheckUtils]: 70: Hoare triple {4774#(<= ~counter~0 6)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {4774#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:20,804 INFO L290 TraceCheckUtils]: 71: Hoare triple {4774#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4802#(<= |main_#t~post6| 6)} is VALID [2022-04-28 12:42:20,804 INFO L290 TraceCheckUtils]: 72: Hoare triple {4802#(<= |main_#t~post6| 6)} assume !(#t~post6 < 20);havoc #t~post6; {4578#false} is VALID [2022-04-28 12:42:20,804 INFO L272 TraceCheckUtils]: 73: Hoare triple {4578#false} call __VERIFIER_assert((if 4 * ~A~0 == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {4578#false} is VALID [2022-04-28 12:42:20,805 INFO L290 TraceCheckUtils]: 74: Hoare triple {4578#false} ~cond := #in~cond; {4578#false} is VALID [2022-04-28 12:42:20,805 INFO L290 TraceCheckUtils]: 75: Hoare triple {4578#false} assume 0 == ~cond; {4578#false} is VALID [2022-04-28 12:42:20,805 INFO L290 TraceCheckUtils]: 76: Hoare triple {4578#false} assume !false; {4578#false} is VALID [2022-04-28 12:42:20,805 INFO L134 CoverageAnalysis]: Checked inductivity of 163 backedges. 12 proven. 147 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:42:20,805 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:42:21,241 INFO L290 TraceCheckUtils]: 76: Hoare triple {4578#false} assume !false; {4578#false} is VALID [2022-04-28 12:42:21,241 INFO L290 TraceCheckUtils]: 75: Hoare triple {4578#false} assume 0 == ~cond; {4578#false} is VALID [2022-04-28 12:42:21,241 INFO L290 TraceCheckUtils]: 74: Hoare triple {4578#false} ~cond := #in~cond; {4578#false} is VALID [2022-04-28 12:42:21,241 INFO L272 TraceCheckUtils]: 73: Hoare triple {4578#false} call __VERIFIER_assert((if 4 * ~A~0 == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {4578#false} is VALID [2022-04-28 12:42:21,243 INFO L290 TraceCheckUtils]: 72: Hoare triple {4830#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {4578#false} is VALID [2022-04-28 12:42:21,244 INFO L290 TraceCheckUtils]: 71: Hoare triple {4834#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4830#(< |main_#t~post6| 20)} is VALID [2022-04-28 12:42:21,244 INFO L290 TraceCheckUtils]: 70: Hoare triple {4834#(< ~counter~0 20)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {4834#(< ~counter~0 20)} is VALID [2022-04-28 12:42:21,244 INFO L290 TraceCheckUtils]: 69: Hoare triple {4834#(< ~counter~0 20)} assume !!(0 != ~r~0); {4834#(< ~counter~0 20)} is VALID [2022-04-28 12:42:21,245 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {4577#true} {4834#(< ~counter~0 20)} #63#return; {4834#(< ~counter~0 20)} is VALID [2022-04-28 12:42:21,245 INFO L290 TraceCheckUtils]: 67: Hoare triple {4577#true} assume true; {4577#true} is VALID [2022-04-28 12:42:21,245 INFO L290 TraceCheckUtils]: 66: Hoare triple {4577#true} assume !(0 == ~cond); {4577#true} is VALID [2022-04-28 12:42:21,245 INFO L290 TraceCheckUtils]: 65: Hoare triple {4577#true} ~cond := #in~cond; {4577#true} is VALID [2022-04-28 12:42:21,245 INFO L272 TraceCheckUtils]: 64: Hoare triple {4834#(< ~counter~0 20)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {4577#true} is VALID [2022-04-28 12:42:21,246 INFO L290 TraceCheckUtils]: 63: Hoare triple {4834#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6; {4834#(< ~counter~0 20)} is VALID [2022-04-28 12:42:21,246 INFO L290 TraceCheckUtils]: 62: Hoare triple {4862#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4834#(< ~counter~0 20)} is VALID [2022-04-28 12:42:21,247 INFO L290 TraceCheckUtils]: 61: Hoare triple {4862#(< ~counter~0 19)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {4862#(< ~counter~0 19)} is VALID [2022-04-28 12:42:21,247 INFO L290 TraceCheckUtils]: 60: Hoare triple {4862#(< ~counter~0 19)} assume !!(0 != ~r~0); {4862#(< ~counter~0 19)} is VALID [2022-04-28 12:42:21,248 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {4577#true} {4862#(< ~counter~0 19)} #63#return; {4862#(< ~counter~0 19)} is VALID [2022-04-28 12:42:21,248 INFO L290 TraceCheckUtils]: 58: Hoare triple {4577#true} assume true; {4577#true} is VALID [2022-04-28 12:42:21,248 INFO L290 TraceCheckUtils]: 57: Hoare triple {4577#true} assume !(0 == ~cond); {4577#true} is VALID [2022-04-28 12:42:21,248 INFO L290 TraceCheckUtils]: 56: Hoare triple {4577#true} ~cond := #in~cond; {4577#true} is VALID [2022-04-28 12:42:21,248 INFO L272 TraceCheckUtils]: 55: Hoare triple {4862#(< ~counter~0 19)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {4577#true} is VALID [2022-04-28 12:42:21,249 INFO L290 TraceCheckUtils]: 54: Hoare triple {4862#(< ~counter~0 19)} assume !!(#t~post6 < 20);havoc #t~post6; {4862#(< ~counter~0 19)} is VALID [2022-04-28 12:42:21,249 INFO L290 TraceCheckUtils]: 53: Hoare triple {4890#(< ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4862#(< ~counter~0 19)} is VALID [2022-04-28 12:42:21,249 INFO L290 TraceCheckUtils]: 52: Hoare triple {4890#(< ~counter~0 18)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {4890#(< ~counter~0 18)} is VALID [2022-04-28 12:42:21,250 INFO L290 TraceCheckUtils]: 51: Hoare triple {4890#(< ~counter~0 18)} assume !!(0 != ~r~0); {4890#(< ~counter~0 18)} is VALID [2022-04-28 12:42:21,250 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4577#true} {4890#(< ~counter~0 18)} #63#return; {4890#(< ~counter~0 18)} is VALID [2022-04-28 12:42:21,251 INFO L290 TraceCheckUtils]: 49: Hoare triple {4577#true} assume true; {4577#true} is VALID [2022-04-28 12:42:21,251 INFO L290 TraceCheckUtils]: 48: Hoare triple {4577#true} assume !(0 == ~cond); {4577#true} is VALID [2022-04-28 12:42:21,251 INFO L290 TraceCheckUtils]: 47: Hoare triple {4577#true} ~cond := #in~cond; {4577#true} is VALID [2022-04-28 12:42:21,251 INFO L272 TraceCheckUtils]: 46: Hoare triple {4890#(< ~counter~0 18)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {4577#true} is VALID [2022-04-28 12:42:21,251 INFO L290 TraceCheckUtils]: 45: Hoare triple {4890#(< ~counter~0 18)} assume !!(#t~post6 < 20);havoc #t~post6; {4890#(< ~counter~0 18)} is VALID [2022-04-28 12:42:21,252 INFO L290 TraceCheckUtils]: 44: Hoare triple {4918#(< ~counter~0 17)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4890#(< ~counter~0 18)} is VALID [2022-04-28 12:42:21,252 INFO L290 TraceCheckUtils]: 43: Hoare triple {4918#(< ~counter~0 17)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {4918#(< ~counter~0 17)} is VALID [2022-04-28 12:42:21,253 INFO L290 TraceCheckUtils]: 42: Hoare triple {4918#(< ~counter~0 17)} assume !!(0 != ~r~0); {4918#(< ~counter~0 17)} is VALID [2022-04-28 12:42:21,253 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {4577#true} {4918#(< ~counter~0 17)} #63#return; {4918#(< ~counter~0 17)} is VALID [2022-04-28 12:42:21,253 INFO L290 TraceCheckUtils]: 40: Hoare triple {4577#true} assume true; {4577#true} is VALID [2022-04-28 12:42:21,253 INFO L290 TraceCheckUtils]: 39: Hoare triple {4577#true} assume !(0 == ~cond); {4577#true} is VALID [2022-04-28 12:42:21,254 INFO L290 TraceCheckUtils]: 38: Hoare triple {4577#true} ~cond := #in~cond; {4577#true} is VALID [2022-04-28 12:42:21,254 INFO L272 TraceCheckUtils]: 37: Hoare triple {4918#(< ~counter~0 17)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {4577#true} is VALID [2022-04-28 12:42:21,254 INFO L290 TraceCheckUtils]: 36: Hoare triple {4918#(< ~counter~0 17)} assume !!(#t~post6 < 20);havoc #t~post6; {4918#(< ~counter~0 17)} is VALID [2022-04-28 12:42:21,254 INFO L290 TraceCheckUtils]: 35: Hoare triple {4946#(< ~counter~0 16)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4918#(< ~counter~0 17)} is VALID [2022-04-28 12:42:21,255 INFO L290 TraceCheckUtils]: 34: Hoare triple {4946#(< ~counter~0 16)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {4946#(< ~counter~0 16)} is VALID [2022-04-28 12:42:21,255 INFO L290 TraceCheckUtils]: 33: Hoare triple {4946#(< ~counter~0 16)} assume !!(0 != ~r~0); {4946#(< ~counter~0 16)} is VALID [2022-04-28 12:42:21,256 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4577#true} {4946#(< ~counter~0 16)} #63#return; {4946#(< ~counter~0 16)} is VALID [2022-04-28 12:42:21,256 INFO L290 TraceCheckUtils]: 31: Hoare triple {4577#true} assume true; {4577#true} is VALID [2022-04-28 12:42:21,256 INFO L290 TraceCheckUtils]: 30: Hoare triple {4577#true} assume !(0 == ~cond); {4577#true} is VALID [2022-04-28 12:42:21,256 INFO L290 TraceCheckUtils]: 29: Hoare triple {4577#true} ~cond := #in~cond; {4577#true} is VALID [2022-04-28 12:42:21,256 INFO L272 TraceCheckUtils]: 28: Hoare triple {4946#(< ~counter~0 16)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {4577#true} is VALID [2022-04-28 12:42:21,268 INFO L290 TraceCheckUtils]: 27: Hoare triple {4946#(< ~counter~0 16)} assume !!(#t~post6 < 20);havoc #t~post6; {4946#(< ~counter~0 16)} is VALID [2022-04-28 12:42:21,269 INFO L290 TraceCheckUtils]: 26: Hoare triple {4974#(< ~counter~0 15)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4946#(< ~counter~0 16)} is VALID [2022-04-28 12:42:21,269 INFO L290 TraceCheckUtils]: 25: Hoare triple {4974#(< ~counter~0 15)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {4974#(< ~counter~0 15)} is VALID [2022-04-28 12:42:21,269 INFO L290 TraceCheckUtils]: 24: Hoare triple {4974#(< ~counter~0 15)} assume !!(0 != ~r~0); {4974#(< ~counter~0 15)} is VALID [2022-04-28 12:42:21,270 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4577#true} {4974#(< ~counter~0 15)} #63#return; {4974#(< ~counter~0 15)} is VALID [2022-04-28 12:42:21,270 INFO L290 TraceCheckUtils]: 22: Hoare triple {4577#true} assume true; {4577#true} is VALID [2022-04-28 12:42:21,270 INFO L290 TraceCheckUtils]: 21: Hoare triple {4577#true} assume !(0 == ~cond); {4577#true} is VALID [2022-04-28 12:42:21,270 INFO L290 TraceCheckUtils]: 20: Hoare triple {4577#true} ~cond := #in~cond; {4577#true} is VALID [2022-04-28 12:42:21,270 INFO L272 TraceCheckUtils]: 19: Hoare triple {4974#(< ~counter~0 15)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {4577#true} is VALID [2022-04-28 12:42:21,270 INFO L290 TraceCheckUtils]: 18: Hoare triple {4974#(< ~counter~0 15)} assume !!(#t~post6 < 20);havoc #t~post6; {4974#(< ~counter~0 15)} is VALID [2022-04-28 12:42:21,271 INFO L290 TraceCheckUtils]: 17: Hoare triple {5002#(< ~counter~0 14)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4974#(< ~counter~0 15)} is VALID [2022-04-28 12:42:21,271 INFO L290 TraceCheckUtils]: 16: Hoare triple {5002#(< ~counter~0 14)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {5002#(< ~counter~0 14)} is VALID [2022-04-28 12:42:21,271 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4577#true} {5002#(< ~counter~0 14)} #61#return; {5002#(< ~counter~0 14)} is VALID [2022-04-28 12:42:21,272 INFO L290 TraceCheckUtils]: 14: Hoare triple {4577#true} assume true; {4577#true} is VALID [2022-04-28 12:42:21,272 INFO L290 TraceCheckUtils]: 13: Hoare triple {4577#true} assume !(0 == ~cond); {4577#true} is VALID [2022-04-28 12:42:21,272 INFO L290 TraceCheckUtils]: 12: Hoare triple {4577#true} ~cond := #in~cond; {4577#true} is VALID [2022-04-28 12:42:21,272 INFO L272 TraceCheckUtils]: 11: Hoare triple {5002#(< ~counter~0 14)} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {4577#true} is VALID [2022-04-28 12:42:21,272 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4577#true} {5002#(< ~counter~0 14)} #59#return; {5002#(< ~counter~0 14)} is VALID [2022-04-28 12:42:21,272 INFO L290 TraceCheckUtils]: 9: Hoare triple {4577#true} assume true; {4577#true} is VALID [2022-04-28 12:42:21,272 INFO L290 TraceCheckUtils]: 8: Hoare triple {4577#true} assume !(0 == ~cond); {4577#true} is VALID [2022-04-28 12:42:21,272 INFO L290 TraceCheckUtils]: 7: Hoare triple {4577#true} ~cond := #in~cond; {4577#true} is VALID [2022-04-28 12:42:21,272 INFO L272 TraceCheckUtils]: 6: Hoare triple {5002#(< ~counter~0 14)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {4577#true} is VALID [2022-04-28 12:42:21,273 INFO L290 TraceCheckUtils]: 5: Hoare triple {5002#(< ~counter~0 14)} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~R~0 := #t~nondet5;havoc #t~nondet5; {5002#(< ~counter~0 14)} is VALID [2022-04-28 12:42:21,273 INFO L272 TraceCheckUtils]: 4: Hoare triple {5002#(< ~counter~0 14)} call #t~ret7 := main(); {5002#(< ~counter~0 14)} is VALID [2022-04-28 12:42:21,273 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5002#(< ~counter~0 14)} {4577#true} #67#return; {5002#(< ~counter~0 14)} is VALID [2022-04-28 12:42:21,274 INFO L290 TraceCheckUtils]: 2: Hoare triple {5002#(< ~counter~0 14)} assume true; {5002#(< ~counter~0 14)} is VALID [2022-04-28 12:42:21,274 INFO L290 TraceCheckUtils]: 1: Hoare triple {4577#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; {5002#(< ~counter~0 14)} is VALID [2022-04-28 12:42:21,274 INFO L272 TraceCheckUtils]: 0: Hoare triple {4577#true} call ULTIMATE.init(); {4577#true} is VALID [2022-04-28 12:42:21,274 INFO L134 CoverageAnalysis]: Checked inductivity of 163 backedges. 12 proven. 87 refuted. 0 times theorem prover too weak. 64 trivial. 0 not checked. [2022-04-28 12:42:21,275 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:42:21,275 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1611674296] [2022-04-28 12:42:21,275 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:42:21,275 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1722164006] [2022-04-28 12:42:21,275 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1722164006] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:42:21,275 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:42:21,275 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 18 [2022-04-28 12:42:21,275 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:42:21,275 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [702176377] [2022-04-28 12:42:21,276 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [702176377] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:42:21,276 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:42:21,276 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 12:42:21,276 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [680070009] [2022-04-28 12:42:21,276 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:42:21,276 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, (11), 9 states have call predecessors, (11), 7 states have return successors, (9), 7 states have call predecessors, (9), 8 states have call successors, (9) Word has length 77 [2022-04-28 12:42:21,277 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:42:21,277 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, (11), 9 states have call predecessors, (11), 7 states have return successors, (9), 7 states have call predecessors, (9), 8 states have call successors, (9) [2022-04-28 12:42:21,336 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:42:21,336 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 12:42:21,336 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:42:21,336 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 12:42:21,337 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=125, Invalid=181, Unknown=0, NotChecked=0, Total=306 [2022-04-28 12:42:21,337 INFO L87 Difference]: Start difference. First operand 74 states and 81 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, (11), 9 states have call predecessors, (11), 7 states have return successors, (9), 7 states have call predecessors, (9), 8 states have call successors, (9) [2022-04-28 12:42:21,622 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:42:21,622 INFO L93 Difference]: Finished difference Result 88 states and 96 transitions. [2022-04-28 12:42:21,622 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-28 12:42:21,622 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, (11), 9 states have call predecessors, (11), 7 states have return successors, (9), 7 states have call predecessors, (9), 8 states have call successors, (9) Word has length 77 [2022-04-28 12:42:21,623 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:42:21,623 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, (11), 9 states have call predecessors, (11), 7 states have return successors, (9), 7 states have call predecessors, (9), 8 states have call successors, (9) [2022-04-28 12:42:21,625 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 95 transitions. [2022-04-28 12:42:21,625 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, (11), 9 states have call predecessors, (11), 7 states have return successors, (9), 7 states have call predecessors, (9), 8 states have call successors, (9) [2022-04-28 12:42:21,627 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 95 transitions. [2022-04-28 12:42:21,627 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 95 transitions. [2022-04-28 12:42:21,703 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 95 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:42:21,704 INFO L225 Difference]: With dead ends: 88 [2022-04-28 12:42:21,704 INFO L226 Difference]: Without dead ends: 83 [2022-04-28 12:42:21,705 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 159 GetRequests, 137 SyntacticMatches, 0 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 34 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=227, Invalid=325, Unknown=0, NotChecked=0, Total=552 [2022-04-28 12:42:21,705 INFO L413 NwaCegarLoop]: 32 mSDtfsCounter, 21 mSDsluCounter, 98 mSDsCounter, 0 mSdLazyCounter, 39 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 21 SdHoareTripleChecker+Valid, 130 SdHoareTripleChecker+Invalid, 53 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 39 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:42:21,705 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [21 Valid, 130 Invalid, 53 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 39 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:42:21,706 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 83 states. [2022-04-28 12:42:21,789 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 83 to 83. [2022-04-28 12:42:21,789 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:42:21,790 INFO L82 GeneralOperation]: Start isEquivalent. First operand 83 states. Second operand has 83 states, 61 states have (on average 1.1311475409836065) internal successors, (69), 61 states have internal predecessors, (69), 12 states have call successors, (12), 11 states have call predecessors, (12), 9 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 12:42:21,790 INFO L74 IsIncluded]: Start isIncluded. First operand 83 states. Second operand has 83 states, 61 states have (on average 1.1311475409836065) internal successors, (69), 61 states have internal predecessors, (69), 12 states have call successors, (12), 11 states have call predecessors, (12), 9 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 12:42:21,790 INFO L87 Difference]: Start difference. First operand 83 states. Second operand has 83 states, 61 states have (on average 1.1311475409836065) internal successors, (69), 61 states have internal predecessors, (69), 12 states have call successors, (12), 11 states have call predecessors, (12), 9 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 12:42:21,792 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:42:21,792 INFO L93 Difference]: Finished difference Result 83 states and 91 transitions. [2022-04-28 12:42:21,792 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 91 transitions. [2022-04-28 12:42:21,793 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:42:21,793 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:42:21,793 INFO L74 IsIncluded]: Start isIncluded. First operand has 83 states, 61 states have (on average 1.1311475409836065) internal successors, (69), 61 states have internal predecessors, (69), 12 states have call successors, (12), 11 states have call predecessors, (12), 9 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 83 states. [2022-04-28 12:42:21,793 INFO L87 Difference]: Start difference. First operand has 83 states, 61 states have (on average 1.1311475409836065) internal successors, (69), 61 states have internal predecessors, (69), 12 states have call successors, (12), 11 states have call predecessors, (12), 9 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 83 states. [2022-04-28 12:42:21,795 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:42:21,795 INFO L93 Difference]: Finished difference Result 83 states and 91 transitions. [2022-04-28 12:42:21,795 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 91 transitions. [2022-04-28 12:42:21,795 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:42:21,795 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:42:21,796 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:42:21,796 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:42:21,796 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 83 states, 61 states have (on average 1.1311475409836065) internal successors, (69), 61 states have internal predecessors, (69), 12 states have call successors, (12), 11 states have call predecessors, (12), 9 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 12:42:21,797 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 83 states to 83 states and 91 transitions. [2022-04-28 12:42:21,798 INFO L78 Accepts]: Start accepts. Automaton has 83 states and 91 transitions. Word has length 77 [2022-04-28 12:42:21,798 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:42:21,798 INFO L495 AbstractCegarLoop]: Abstraction has 83 states and 91 transitions. [2022-04-28 12:42:21,798 INFO L496 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, (11), 9 states have call predecessors, (11), 7 states have return successors, (9), 7 states have call predecessors, (9), 8 states have call successors, (9) [2022-04-28 12:42:21,798 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 83 states and 91 transitions. [2022-04-28 12:42:23,707 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 91 edges. 91 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:42:23,707 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 91 transitions. [2022-04-28 12:42:23,708 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-28 12:42:23,708 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:42:23,708 INFO L195 NwaCegarLoop]: trace histogram [8, 8, 7, 7, 7, 7, 7, 7, 7, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:42:23,714 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-28 12:42:23,908 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-28 12:42:23,909 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:42:23,909 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:42:23,909 INFO L85 PathProgramCache]: Analyzing trace with hash 1848611036, now seen corresponding path program 13 times [2022-04-28 12:42:23,909 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:42:23,909 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2143115936] [2022-04-28 12:42:23,909 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:42:23,910 INFO L85 PathProgramCache]: Analyzing trace with hash 1848611036, now seen corresponding path program 14 times [2022-04-28 12:42:23,910 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:42:23,910 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1160241763] [2022-04-28 12:42:23,910 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:42:23,910 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:42:23,923 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:42:23,923 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1790034925] [2022-04-28 12:42:23,923 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:42:23,924 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:42:23,924 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:42:23,925 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-28 12:42:23,931 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-28 12:42:23,987 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:42:23,987 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:42:23,988 INFO L263 TraceCheckSpWp]: Trace formula consists of 233 conjuncts, 19 conjunts are in the unsatisfiable core [2022-04-28 12:42:24,007 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:42:24,012 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:42:24,412 INFO L272 TraceCheckUtils]: 0: Hoare triple {5576#true} call ULTIMATE.init(); {5576#true} is VALID [2022-04-28 12:42:24,413 INFO L290 TraceCheckUtils]: 1: Hoare triple {5576#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; {5584#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:24,413 INFO L290 TraceCheckUtils]: 2: Hoare triple {5584#(<= ~counter~0 0)} assume true; {5584#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:24,414 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5584#(<= ~counter~0 0)} {5576#true} #67#return; {5584#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:24,414 INFO L272 TraceCheckUtils]: 4: Hoare triple {5584#(<= ~counter~0 0)} call #t~ret7 := main(); {5584#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:24,414 INFO L290 TraceCheckUtils]: 5: Hoare triple {5584#(<= ~counter~0 0)} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~R~0 := #t~nondet5;havoc #t~nondet5; {5584#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:24,415 INFO L272 TraceCheckUtils]: 6: Hoare triple {5584#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {5584#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:24,415 INFO L290 TraceCheckUtils]: 7: Hoare triple {5584#(<= ~counter~0 0)} ~cond := #in~cond; {5584#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:24,415 INFO L290 TraceCheckUtils]: 8: Hoare triple {5584#(<= ~counter~0 0)} assume !(0 == ~cond); {5584#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:24,416 INFO L290 TraceCheckUtils]: 9: Hoare triple {5584#(<= ~counter~0 0)} assume true; {5584#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:24,416 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5584#(<= ~counter~0 0)} {5584#(<= ~counter~0 0)} #59#return; {5584#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:24,416 INFO L272 TraceCheckUtils]: 11: Hoare triple {5584#(<= ~counter~0 0)} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {5584#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:24,417 INFO L290 TraceCheckUtils]: 12: Hoare triple {5584#(<= ~counter~0 0)} ~cond := #in~cond; {5584#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:24,417 INFO L290 TraceCheckUtils]: 13: Hoare triple {5584#(<= ~counter~0 0)} assume !(0 == ~cond); {5584#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:24,417 INFO L290 TraceCheckUtils]: 14: Hoare triple {5584#(<= ~counter~0 0)} assume true; {5584#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:24,418 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {5584#(<= ~counter~0 0)} {5584#(<= ~counter~0 0)} #61#return; {5584#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:24,418 INFO L290 TraceCheckUtils]: 16: Hoare triple {5584#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {5584#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:24,418 INFO L290 TraceCheckUtils]: 17: Hoare triple {5584#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5633#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:24,419 INFO L290 TraceCheckUtils]: 18: Hoare triple {5633#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {5633#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:24,422 INFO L272 TraceCheckUtils]: 19: Hoare triple {5633#(<= ~counter~0 1)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {5633#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:24,422 INFO L290 TraceCheckUtils]: 20: Hoare triple {5633#(<= ~counter~0 1)} ~cond := #in~cond; {5633#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:24,423 INFO L290 TraceCheckUtils]: 21: Hoare triple {5633#(<= ~counter~0 1)} assume !(0 == ~cond); {5633#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:24,423 INFO L290 TraceCheckUtils]: 22: Hoare triple {5633#(<= ~counter~0 1)} assume true; {5633#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:24,423 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5633#(<= ~counter~0 1)} {5633#(<= ~counter~0 1)} #63#return; {5633#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:24,424 INFO L290 TraceCheckUtils]: 24: Hoare triple {5633#(<= ~counter~0 1)} assume !!(0 != ~r~0); {5633#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:24,424 INFO L290 TraceCheckUtils]: 25: Hoare triple {5633#(<= ~counter~0 1)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {5633#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:24,424 INFO L290 TraceCheckUtils]: 26: Hoare triple {5633#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5661#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:24,425 INFO L290 TraceCheckUtils]: 27: Hoare triple {5661#(<= ~counter~0 2)} assume !!(#t~post6 < 20);havoc #t~post6; {5661#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:24,425 INFO L272 TraceCheckUtils]: 28: Hoare triple {5661#(<= ~counter~0 2)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {5661#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:24,425 INFO L290 TraceCheckUtils]: 29: Hoare triple {5661#(<= ~counter~0 2)} ~cond := #in~cond; {5661#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:24,426 INFO L290 TraceCheckUtils]: 30: Hoare triple {5661#(<= ~counter~0 2)} assume !(0 == ~cond); {5661#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:24,426 INFO L290 TraceCheckUtils]: 31: Hoare triple {5661#(<= ~counter~0 2)} assume true; {5661#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:24,427 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5661#(<= ~counter~0 2)} {5661#(<= ~counter~0 2)} #63#return; {5661#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:24,427 INFO L290 TraceCheckUtils]: 33: Hoare triple {5661#(<= ~counter~0 2)} assume !!(0 != ~r~0); {5661#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:24,427 INFO L290 TraceCheckUtils]: 34: Hoare triple {5661#(<= ~counter~0 2)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {5661#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:24,428 INFO L290 TraceCheckUtils]: 35: Hoare triple {5661#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5689#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:24,428 INFO L290 TraceCheckUtils]: 36: Hoare triple {5689#(<= ~counter~0 3)} assume !!(#t~post6 < 20);havoc #t~post6; {5689#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:24,428 INFO L272 TraceCheckUtils]: 37: Hoare triple {5689#(<= ~counter~0 3)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {5689#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:24,429 INFO L290 TraceCheckUtils]: 38: Hoare triple {5689#(<= ~counter~0 3)} ~cond := #in~cond; {5689#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:24,429 INFO L290 TraceCheckUtils]: 39: Hoare triple {5689#(<= ~counter~0 3)} assume !(0 == ~cond); {5689#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:24,429 INFO L290 TraceCheckUtils]: 40: Hoare triple {5689#(<= ~counter~0 3)} assume true; {5689#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:24,430 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {5689#(<= ~counter~0 3)} {5689#(<= ~counter~0 3)} #63#return; {5689#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:24,430 INFO L290 TraceCheckUtils]: 42: Hoare triple {5689#(<= ~counter~0 3)} assume !!(0 != ~r~0); {5689#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:24,430 INFO L290 TraceCheckUtils]: 43: Hoare triple {5689#(<= ~counter~0 3)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {5689#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:24,431 INFO L290 TraceCheckUtils]: 44: Hoare triple {5689#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5717#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:24,431 INFO L290 TraceCheckUtils]: 45: Hoare triple {5717#(<= ~counter~0 4)} assume !!(#t~post6 < 20);havoc #t~post6; {5717#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:24,433 INFO L272 TraceCheckUtils]: 46: Hoare triple {5717#(<= ~counter~0 4)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {5717#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:24,434 INFO L290 TraceCheckUtils]: 47: Hoare triple {5717#(<= ~counter~0 4)} ~cond := #in~cond; {5717#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:24,434 INFO L290 TraceCheckUtils]: 48: Hoare triple {5717#(<= ~counter~0 4)} assume !(0 == ~cond); {5717#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:24,434 INFO L290 TraceCheckUtils]: 49: Hoare triple {5717#(<= ~counter~0 4)} assume true; {5717#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:24,435 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5717#(<= ~counter~0 4)} {5717#(<= ~counter~0 4)} #63#return; {5717#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:24,435 INFO L290 TraceCheckUtils]: 51: Hoare triple {5717#(<= ~counter~0 4)} assume !!(0 != ~r~0); {5717#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:24,435 INFO L290 TraceCheckUtils]: 52: Hoare triple {5717#(<= ~counter~0 4)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {5717#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:24,436 INFO L290 TraceCheckUtils]: 53: Hoare triple {5717#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5745#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:24,436 INFO L290 TraceCheckUtils]: 54: Hoare triple {5745#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {5745#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:24,436 INFO L272 TraceCheckUtils]: 55: Hoare triple {5745#(<= ~counter~0 5)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {5745#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:24,437 INFO L290 TraceCheckUtils]: 56: Hoare triple {5745#(<= ~counter~0 5)} ~cond := #in~cond; {5745#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:24,437 INFO L290 TraceCheckUtils]: 57: Hoare triple {5745#(<= ~counter~0 5)} assume !(0 == ~cond); {5745#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:24,437 INFO L290 TraceCheckUtils]: 58: Hoare triple {5745#(<= ~counter~0 5)} assume true; {5745#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:24,438 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {5745#(<= ~counter~0 5)} {5745#(<= ~counter~0 5)} #63#return; {5745#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:24,438 INFO L290 TraceCheckUtils]: 60: Hoare triple {5745#(<= ~counter~0 5)} assume !!(0 != ~r~0); {5745#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:24,438 INFO L290 TraceCheckUtils]: 61: Hoare triple {5745#(<= ~counter~0 5)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {5745#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:24,439 INFO L290 TraceCheckUtils]: 62: Hoare triple {5745#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5773#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:24,450 INFO L290 TraceCheckUtils]: 63: Hoare triple {5773#(<= ~counter~0 6)} assume !!(#t~post6 < 20);havoc #t~post6; {5773#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:24,452 INFO L272 TraceCheckUtils]: 64: Hoare triple {5773#(<= ~counter~0 6)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {5773#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:24,452 INFO L290 TraceCheckUtils]: 65: Hoare triple {5773#(<= ~counter~0 6)} ~cond := #in~cond; {5773#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:24,452 INFO L290 TraceCheckUtils]: 66: Hoare triple {5773#(<= ~counter~0 6)} assume !(0 == ~cond); {5773#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:24,453 INFO L290 TraceCheckUtils]: 67: Hoare triple {5773#(<= ~counter~0 6)} assume true; {5773#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:24,453 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {5773#(<= ~counter~0 6)} {5773#(<= ~counter~0 6)} #63#return; {5773#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:24,453 INFO L290 TraceCheckUtils]: 69: Hoare triple {5773#(<= ~counter~0 6)} assume !!(0 != ~r~0); {5773#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:24,454 INFO L290 TraceCheckUtils]: 70: Hoare triple {5773#(<= ~counter~0 6)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {5773#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:24,454 INFO L290 TraceCheckUtils]: 71: Hoare triple {5773#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5801#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:24,455 INFO L290 TraceCheckUtils]: 72: Hoare triple {5801#(<= ~counter~0 7)} assume !!(#t~post6 < 20);havoc #t~post6; {5801#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:24,455 INFO L272 TraceCheckUtils]: 73: Hoare triple {5801#(<= ~counter~0 7)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {5801#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:24,455 INFO L290 TraceCheckUtils]: 74: Hoare triple {5801#(<= ~counter~0 7)} ~cond := #in~cond; {5801#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:24,456 INFO L290 TraceCheckUtils]: 75: Hoare triple {5801#(<= ~counter~0 7)} assume !(0 == ~cond); {5801#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:24,456 INFO L290 TraceCheckUtils]: 76: Hoare triple {5801#(<= ~counter~0 7)} assume true; {5801#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:24,456 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {5801#(<= ~counter~0 7)} {5801#(<= ~counter~0 7)} #63#return; {5801#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:24,457 INFO L290 TraceCheckUtils]: 78: Hoare triple {5801#(<= ~counter~0 7)} assume !!(0 != ~r~0); {5801#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:24,457 INFO L290 TraceCheckUtils]: 79: Hoare triple {5801#(<= ~counter~0 7)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {5801#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:24,457 INFO L290 TraceCheckUtils]: 80: Hoare triple {5801#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5829#(<= |main_#t~post6| 7)} is VALID [2022-04-28 12:42:24,458 INFO L290 TraceCheckUtils]: 81: Hoare triple {5829#(<= |main_#t~post6| 7)} assume !(#t~post6 < 20);havoc #t~post6; {5577#false} is VALID [2022-04-28 12:42:24,458 INFO L272 TraceCheckUtils]: 82: Hoare triple {5577#false} call __VERIFIER_assert((if 4 * ~A~0 == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {5577#false} is VALID [2022-04-28 12:42:24,458 INFO L290 TraceCheckUtils]: 83: Hoare triple {5577#false} ~cond := #in~cond; {5577#false} is VALID [2022-04-28 12:42:24,458 INFO L290 TraceCheckUtils]: 84: Hoare triple {5577#false} assume 0 == ~cond; {5577#false} is VALID [2022-04-28 12:42:24,458 INFO L290 TraceCheckUtils]: 85: Hoare triple {5577#false} assume !false; {5577#false} is VALID [2022-04-28 12:42:24,458 INFO L134 CoverageAnalysis]: Checked inductivity of 221 backedges. 14 proven. 203 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:42:24,458 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:42:24,899 INFO L290 TraceCheckUtils]: 85: Hoare triple {5577#false} assume !false; {5577#false} is VALID [2022-04-28 12:42:24,899 INFO L290 TraceCheckUtils]: 84: Hoare triple {5577#false} assume 0 == ~cond; {5577#false} is VALID [2022-04-28 12:42:24,899 INFO L290 TraceCheckUtils]: 83: Hoare triple {5577#false} ~cond := #in~cond; {5577#false} is VALID [2022-04-28 12:42:24,899 INFO L272 TraceCheckUtils]: 82: Hoare triple {5577#false} call __VERIFIER_assert((if 4 * ~A~0 == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {5577#false} is VALID [2022-04-28 12:42:24,900 INFO L290 TraceCheckUtils]: 81: Hoare triple {5857#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {5577#false} is VALID [2022-04-28 12:42:24,900 INFO L290 TraceCheckUtils]: 80: Hoare triple {5861#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5857#(< |main_#t~post6| 20)} is VALID [2022-04-28 12:42:24,900 INFO L290 TraceCheckUtils]: 79: Hoare triple {5861#(< ~counter~0 20)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {5861#(< ~counter~0 20)} is VALID [2022-04-28 12:42:24,901 INFO L290 TraceCheckUtils]: 78: Hoare triple {5861#(< ~counter~0 20)} assume !!(0 != ~r~0); {5861#(< ~counter~0 20)} is VALID [2022-04-28 12:42:24,901 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {5576#true} {5861#(< ~counter~0 20)} #63#return; {5861#(< ~counter~0 20)} is VALID [2022-04-28 12:42:24,901 INFO L290 TraceCheckUtils]: 76: Hoare triple {5576#true} assume true; {5576#true} is VALID [2022-04-28 12:42:24,901 INFO L290 TraceCheckUtils]: 75: Hoare triple {5576#true} assume !(0 == ~cond); {5576#true} is VALID [2022-04-28 12:42:24,901 INFO L290 TraceCheckUtils]: 74: Hoare triple {5576#true} ~cond := #in~cond; {5576#true} is VALID [2022-04-28 12:42:24,901 INFO L272 TraceCheckUtils]: 73: Hoare triple {5861#(< ~counter~0 20)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {5576#true} is VALID [2022-04-28 12:42:24,904 INFO L290 TraceCheckUtils]: 72: Hoare triple {5861#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6; {5861#(< ~counter~0 20)} is VALID [2022-04-28 12:42:24,904 INFO L290 TraceCheckUtils]: 71: Hoare triple {5889#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5861#(< ~counter~0 20)} is VALID [2022-04-28 12:42:24,905 INFO L290 TraceCheckUtils]: 70: Hoare triple {5889#(< ~counter~0 19)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {5889#(< ~counter~0 19)} is VALID [2022-04-28 12:42:24,905 INFO L290 TraceCheckUtils]: 69: Hoare triple {5889#(< ~counter~0 19)} assume !!(0 != ~r~0); {5889#(< ~counter~0 19)} is VALID [2022-04-28 12:42:24,906 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {5576#true} {5889#(< ~counter~0 19)} #63#return; {5889#(< ~counter~0 19)} is VALID [2022-04-28 12:42:24,906 INFO L290 TraceCheckUtils]: 67: Hoare triple {5576#true} assume true; {5576#true} is VALID [2022-04-28 12:42:24,906 INFO L290 TraceCheckUtils]: 66: Hoare triple {5576#true} assume !(0 == ~cond); {5576#true} is VALID [2022-04-28 12:42:24,906 INFO L290 TraceCheckUtils]: 65: Hoare triple {5576#true} ~cond := #in~cond; {5576#true} is VALID [2022-04-28 12:42:24,906 INFO L272 TraceCheckUtils]: 64: Hoare triple {5889#(< ~counter~0 19)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {5576#true} is VALID [2022-04-28 12:42:24,906 INFO L290 TraceCheckUtils]: 63: Hoare triple {5889#(< ~counter~0 19)} assume !!(#t~post6 < 20);havoc #t~post6; {5889#(< ~counter~0 19)} is VALID [2022-04-28 12:42:24,907 INFO L290 TraceCheckUtils]: 62: Hoare triple {5917#(< ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5889#(< ~counter~0 19)} is VALID [2022-04-28 12:42:24,907 INFO L290 TraceCheckUtils]: 61: Hoare triple {5917#(< ~counter~0 18)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {5917#(< ~counter~0 18)} is VALID [2022-04-28 12:42:24,907 INFO L290 TraceCheckUtils]: 60: Hoare triple {5917#(< ~counter~0 18)} assume !!(0 != ~r~0); {5917#(< ~counter~0 18)} is VALID [2022-04-28 12:42:24,908 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {5576#true} {5917#(< ~counter~0 18)} #63#return; {5917#(< ~counter~0 18)} is VALID [2022-04-28 12:42:24,908 INFO L290 TraceCheckUtils]: 58: Hoare triple {5576#true} assume true; {5576#true} is VALID [2022-04-28 12:42:24,908 INFO L290 TraceCheckUtils]: 57: Hoare triple {5576#true} assume !(0 == ~cond); {5576#true} is VALID [2022-04-28 12:42:24,908 INFO L290 TraceCheckUtils]: 56: Hoare triple {5576#true} ~cond := #in~cond; {5576#true} is VALID [2022-04-28 12:42:24,908 INFO L272 TraceCheckUtils]: 55: Hoare triple {5917#(< ~counter~0 18)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {5576#true} is VALID [2022-04-28 12:42:24,911 INFO L290 TraceCheckUtils]: 54: Hoare triple {5917#(< ~counter~0 18)} assume !!(#t~post6 < 20);havoc #t~post6; {5917#(< ~counter~0 18)} is VALID [2022-04-28 12:42:24,912 INFO L290 TraceCheckUtils]: 53: Hoare triple {5945#(< ~counter~0 17)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5917#(< ~counter~0 18)} is VALID [2022-04-28 12:42:24,912 INFO L290 TraceCheckUtils]: 52: Hoare triple {5945#(< ~counter~0 17)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {5945#(< ~counter~0 17)} is VALID [2022-04-28 12:42:24,912 INFO L290 TraceCheckUtils]: 51: Hoare triple {5945#(< ~counter~0 17)} assume !!(0 != ~r~0); {5945#(< ~counter~0 17)} is VALID [2022-04-28 12:42:24,913 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5576#true} {5945#(< ~counter~0 17)} #63#return; {5945#(< ~counter~0 17)} is VALID [2022-04-28 12:42:24,913 INFO L290 TraceCheckUtils]: 49: Hoare triple {5576#true} assume true; {5576#true} is VALID [2022-04-28 12:42:24,913 INFO L290 TraceCheckUtils]: 48: Hoare triple {5576#true} assume !(0 == ~cond); {5576#true} is VALID [2022-04-28 12:42:24,913 INFO L290 TraceCheckUtils]: 47: Hoare triple {5576#true} ~cond := #in~cond; {5576#true} is VALID [2022-04-28 12:42:24,913 INFO L272 TraceCheckUtils]: 46: Hoare triple {5945#(< ~counter~0 17)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {5576#true} is VALID [2022-04-28 12:42:24,913 INFO L290 TraceCheckUtils]: 45: Hoare triple {5945#(< ~counter~0 17)} assume !!(#t~post6 < 20);havoc #t~post6; {5945#(< ~counter~0 17)} is VALID [2022-04-28 12:42:24,914 INFO L290 TraceCheckUtils]: 44: Hoare triple {5973#(< ~counter~0 16)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5945#(< ~counter~0 17)} is VALID [2022-04-28 12:42:24,914 INFO L290 TraceCheckUtils]: 43: Hoare triple {5973#(< ~counter~0 16)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {5973#(< ~counter~0 16)} is VALID [2022-04-28 12:42:24,914 INFO L290 TraceCheckUtils]: 42: Hoare triple {5973#(< ~counter~0 16)} assume !!(0 != ~r~0); {5973#(< ~counter~0 16)} is VALID [2022-04-28 12:42:24,915 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {5576#true} {5973#(< ~counter~0 16)} #63#return; {5973#(< ~counter~0 16)} is VALID [2022-04-28 12:42:24,915 INFO L290 TraceCheckUtils]: 40: Hoare triple {5576#true} assume true; {5576#true} is VALID [2022-04-28 12:42:24,915 INFO L290 TraceCheckUtils]: 39: Hoare triple {5576#true} assume !(0 == ~cond); {5576#true} is VALID [2022-04-28 12:42:24,915 INFO L290 TraceCheckUtils]: 38: Hoare triple {5576#true} ~cond := #in~cond; {5576#true} is VALID [2022-04-28 12:42:24,915 INFO L272 TraceCheckUtils]: 37: Hoare triple {5973#(< ~counter~0 16)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {5576#true} is VALID [2022-04-28 12:42:24,915 INFO L290 TraceCheckUtils]: 36: Hoare triple {5973#(< ~counter~0 16)} assume !!(#t~post6 < 20);havoc #t~post6; {5973#(< ~counter~0 16)} is VALID [2022-04-28 12:42:24,916 INFO L290 TraceCheckUtils]: 35: Hoare triple {6001#(< ~counter~0 15)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5973#(< ~counter~0 16)} is VALID [2022-04-28 12:42:24,916 INFO L290 TraceCheckUtils]: 34: Hoare triple {6001#(< ~counter~0 15)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {6001#(< ~counter~0 15)} is VALID [2022-04-28 12:42:24,916 INFO L290 TraceCheckUtils]: 33: Hoare triple {6001#(< ~counter~0 15)} assume !!(0 != ~r~0); {6001#(< ~counter~0 15)} is VALID [2022-04-28 12:42:24,917 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5576#true} {6001#(< ~counter~0 15)} #63#return; {6001#(< ~counter~0 15)} is VALID [2022-04-28 12:42:24,917 INFO L290 TraceCheckUtils]: 31: Hoare triple {5576#true} assume true; {5576#true} is VALID [2022-04-28 12:42:24,917 INFO L290 TraceCheckUtils]: 30: Hoare triple {5576#true} assume !(0 == ~cond); {5576#true} is VALID [2022-04-28 12:42:24,917 INFO L290 TraceCheckUtils]: 29: Hoare triple {5576#true} ~cond := #in~cond; {5576#true} is VALID [2022-04-28 12:42:24,917 INFO L272 TraceCheckUtils]: 28: Hoare triple {6001#(< ~counter~0 15)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {5576#true} is VALID [2022-04-28 12:42:24,917 INFO L290 TraceCheckUtils]: 27: Hoare triple {6001#(< ~counter~0 15)} assume !!(#t~post6 < 20);havoc #t~post6; {6001#(< ~counter~0 15)} is VALID [2022-04-28 12:42:24,918 INFO L290 TraceCheckUtils]: 26: Hoare triple {6029#(< ~counter~0 14)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6001#(< ~counter~0 15)} is VALID [2022-04-28 12:42:24,918 INFO L290 TraceCheckUtils]: 25: Hoare triple {6029#(< ~counter~0 14)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {6029#(< ~counter~0 14)} is VALID [2022-04-28 12:42:24,918 INFO L290 TraceCheckUtils]: 24: Hoare triple {6029#(< ~counter~0 14)} assume !!(0 != ~r~0); {6029#(< ~counter~0 14)} is VALID [2022-04-28 12:42:24,919 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5576#true} {6029#(< ~counter~0 14)} #63#return; {6029#(< ~counter~0 14)} is VALID [2022-04-28 12:42:24,919 INFO L290 TraceCheckUtils]: 22: Hoare triple {5576#true} assume true; {5576#true} is VALID [2022-04-28 12:42:24,919 INFO L290 TraceCheckUtils]: 21: Hoare triple {5576#true} assume !(0 == ~cond); {5576#true} is VALID [2022-04-28 12:42:24,919 INFO L290 TraceCheckUtils]: 20: Hoare triple {5576#true} ~cond := #in~cond; {5576#true} is VALID [2022-04-28 12:42:24,919 INFO L272 TraceCheckUtils]: 19: Hoare triple {6029#(< ~counter~0 14)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {5576#true} is VALID [2022-04-28 12:42:24,920 INFO L290 TraceCheckUtils]: 18: Hoare triple {6029#(< ~counter~0 14)} assume !!(#t~post6 < 20);havoc #t~post6; {6029#(< ~counter~0 14)} is VALID [2022-04-28 12:42:24,920 INFO L290 TraceCheckUtils]: 17: Hoare triple {6057#(< ~counter~0 13)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6029#(< ~counter~0 14)} is VALID [2022-04-28 12:42:24,920 INFO L290 TraceCheckUtils]: 16: Hoare triple {6057#(< ~counter~0 13)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {6057#(< ~counter~0 13)} is VALID [2022-04-28 12:42:24,921 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {5576#true} {6057#(< ~counter~0 13)} #61#return; {6057#(< ~counter~0 13)} is VALID [2022-04-28 12:42:24,921 INFO L290 TraceCheckUtils]: 14: Hoare triple {5576#true} assume true; {5576#true} is VALID [2022-04-28 12:42:24,921 INFO L290 TraceCheckUtils]: 13: Hoare triple {5576#true} assume !(0 == ~cond); {5576#true} is VALID [2022-04-28 12:42:24,921 INFO L290 TraceCheckUtils]: 12: Hoare triple {5576#true} ~cond := #in~cond; {5576#true} is VALID [2022-04-28 12:42:24,921 INFO L272 TraceCheckUtils]: 11: Hoare triple {6057#(< ~counter~0 13)} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {5576#true} is VALID [2022-04-28 12:42:24,921 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5576#true} {6057#(< ~counter~0 13)} #59#return; {6057#(< ~counter~0 13)} is VALID [2022-04-28 12:42:24,922 INFO L290 TraceCheckUtils]: 9: Hoare triple {5576#true} assume true; {5576#true} is VALID [2022-04-28 12:42:24,922 INFO L290 TraceCheckUtils]: 8: Hoare triple {5576#true} assume !(0 == ~cond); {5576#true} is VALID [2022-04-28 12:42:24,922 INFO L290 TraceCheckUtils]: 7: Hoare triple {5576#true} ~cond := #in~cond; {5576#true} is VALID [2022-04-28 12:42:24,922 INFO L272 TraceCheckUtils]: 6: Hoare triple {6057#(< ~counter~0 13)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {5576#true} is VALID [2022-04-28 12:42:24,922 INFO L290 TraceCheckUtils]: 5: Hoare triple {6057#(< ~counter~0 13)} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~R~0 := #t~nondet5;havoc #t~nondet5; {6057#(< ~counter~0 13)} is VALID [2022-04-28 12:42:24,922 INFO L272 TraceCheckUtils]: 4: Hoare triple {6057#(< ~counter~0 13)} call #t~ret7 := main(); {6057#(< ~counter~0 13)} is VALID [2022-04-28 12:42:24,923 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6057#(< ~counter~0 13)} {5576#true} #67#return; {6057#(< ~counter~0 13)} is VALID [2022-04-28 12:42:24,923 INFO L290 TraceCheckUtils]: 2: Hoare triple {6057#(< ~counter~0 13)} assume true; {6057#(< ~counter~0 13)} is VALID [2022-04-28 12:42:24,923 INFO L290 TraceCheckUtils]: 1: Hoare triple {5576#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; {6057#(< ~counter~0 13)} is VALID [2022-04-28 12:42:24,924 INFO L272 TraceCheckUtils]: 0: Hoare triple {5576#true} call ULTIMATE.init(); {5576#true} is VALID [2022-04-28 12:42:24,924 INFO L134 CoverageAnalysis]: Checked inductivity of 221 backedges. 14 proven. 119 refuted. 0 times theorem prover too weak. 88 trivial. 0 not checked. [2022-04-28 12:42:24,924 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:42:24,924 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1160241763] [2022-04-28 12:42:24,924 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:42:24,924 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1790034925] [2022-04-28 12:42:24,924 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1790034925] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:42:24,924 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:42:24,924 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 20 [2022-04-28 12:42:24,925 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:42:24,925 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2143115936] [2022-04-28 12:42:24,925 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2143115936] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:42:24,925 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:42:24,925 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 12:42:24,925 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [910824691] [2022-04-28 12:42:24,925 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:42:24,926 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, (12), 10 states have call predecessors, (12), 8 states have return successors, (10), 8 states have call predecessors, (10), 9 states have call successors, (10) Word has length 86 [2022-04-28 12:42:24,926 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:42:24,926 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, (12), 10 states have call predecessors, (12), 8 states have return successors, (10), 8 states have call predecessors, (10), 9 states have call successors, (10) [2022-04-28 12:42:24,983 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:42:24,983 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 12:42:24,984 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:42:24,984 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 12:42:24,984 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=158, Invalid=222, Unknown=0, NotChecked=0, Total=380 [2022-04-28 12:42:24,984 INFO L87 Difference]: Start difference. First operand 83 states and 91 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, (12), 10 states have call predecessors, (12), 8 states have return successors, (10), 8 states have call predecessors, (10), 9 states have call successors, (10) [2022-04-28 12:42:25,284 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:42:25,285 INFO L93 Difference]: Finished difference Result 97 states and 106 transitions. [2022-04-28 12:42:25,285 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-28 12:42:25,285 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, (12), 10 states have call predecessors, (12), 8 states have return successors, (10), 8 states have call predecessors, (10), 9 states have call successors, (10) Word has length 86 [2022-04-28 12:42:25,285 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:42:25,286 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, (12), 10 states have call predecessors, (12), 8 states have return successors, (10), 8 states have call predecessors, (10), 9 states have call successors, (10) [2022-04-28 12:42:25,288 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 105 transitions. [2022-04-28 12:42:25,288 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, (12), 10 states have call predecessors, (12), 8 states have return successors, (10), 8 states have call predecessors, (10), 9 states have call successors, (10) [2022-04-28 12:42:25,290 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 105 transitions. [2022-04-28 12:42:25,290 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 105 transitions. [2022-04-28 12:42:25,379 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 105 edges. 105 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:42:25,381 INFO L225 Difference]: With dead ends: 97 [2022-04-28 12:42:25,381 INFO L226 Difference]: Without dead ends: 92 [2022-04-28 12:42:25,381 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 178 GetRequests, 153 SyntacticMatches, 0 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 43 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=291, Invalid=411, Unknown=0, NotChecked=0, Total=702 [2022-04-28 12:42:25,382 INFO L413 NwaCegarLoop]: 33 mSDtfsCounter, 24 mSDsluCounter, 99 mSDsCounter, 0 mSdLazyCounter, 40 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 24 SdHoareTripleChecker+Valid, 132 SdHoareTripleChecker+Invalid, 54 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 40 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:42:25,382 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [24 Valid, 132 Invalid, 54 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 40 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:42:25,383 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 92 states. [2022-04-28 12:42:25,475 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 92 to 92. [2022-04-28 12:42:25,475 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:42:25,475 INFO L82 GeneralOperation]: Start isEquivalent. First operand 92 states. Second operand has 92 states, 68 states have (on average 1.1323529411764706) internal successors, (77), 68 states have internal predecessors, (77), 13 states have call successors, (13), 12 states have call predecessors, (13), 10 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 12:42:25,476 INFO L74 IsIncluded]: Start isIncluded. First operand 92 states. Second operand has 92 states, 68 states have (on average 1.1323529411764706) internal successors, (77), 68 states have internal predecessors, (77), 13 states have call successors, (13), 12 states have call predecessors, (13), 10 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 12:42:25,476 INFO L87 Difference]: Start difference. First operand 92 states. Second operand has 92 states, 68 states have (on average 1.1323529411764706) internal successors, (77), 68 states have internal predecessors, (77), 13 states have call successors, (13), 12 states have call predecessors, (13), 10 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 12:42:25,478 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:42:25,478 INFO L93 Difference]: Finished difference Result 92 states and 101 transitions. [2022-04-28 12:42:25,478 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 101 transitions. [2022-04-28 12:42:25,479 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:42:25,479 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:42:25,479 INFO L74 IsIncluded]: Start isIncluded. First operand has 92 states, 68 states have (on average 1.1323529411764706) internal successors, (77), 68 states have internal predecessors, (77), 13 states have call successors, (13), 12 states have call predecessors, (13), 10 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand 92 states. [2022-04-28 12:42:25,479 INFO L87 Difference]: Start difference. First operand has 92 states, 68 states have (on average 1.1323529411764706) internal successors, (77), 68 states have internal predecessors, (77), 13 states have call successors, (13), 12 states have call predecessors, (13), 10 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand 92 states. [2022-04-28 12:42:25,481 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:42:25,481 INFO L93 Difference]: Finished difference Result 92 states and 101 transitions. [2022-04-28 12:42:25,481 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 101 transitions. [2022-04-28 12:42:25,482 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:42:25,482 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:42:25,482 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:42:25,482 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:42:25,482 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 92 states, 68 states have (on average 1.1323529411764706) internal successors, (77), 68 states have internal predecessors, (77), 13 states have call successors, (13), 12 states have call predecessors, (13), 10 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 12:42:25,484 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 92 states to 92 states and 101 transitions. [2022-04-28 12:42:25,484 INFO L78 Accepts]: Start accepts. Automaton has 92 states and 101 transitions. Word has length 86 [2022-04-28 12:42:25,484 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:42:25,484 INFO L495 AbstractCegarLoop]: Abstraction has 92 states and 101 transitions. [2022-04-28 12:42:25,484 INFO L496 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, (12), 10 states have call predecessors, (12), 8 states have return successors, (10), 8 states have call predecessors, (10), 9 states have call successors, (10) [2022-04-28 12:42:25,484 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 92 states and 101 transitions. [2022-04-28 12:42:26,704 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 101 edges. 101 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:42:26,705 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 101 transitions. [2022-04-28 12:42:26,705 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 96 [2022-04-28 12:42:26,705 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:42:26,706 INFO L195 NwaCegarLoop]: trace histogram [9, 9, 8, 8, 8, 8, 8, 8, 8, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:42:26,723 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Ended with exit code 0 [2022-04-28 12:42:26,911 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-28 12:42:26,911 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:42:26,912 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:42:26,912 INFO L85 PathProgramCache]: Analyzing trace with hash -399923690, now seen corresponding path program 15 times [2022-04-28 12:42:26,912 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:42:26,912 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1230957407] [2022-04-28 12:42:26,912 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:42:26,912 INFO L85 PathProgramCache]: Analyzing trace with hash -399923690, now seen corresponding path program 16 times [2022-04-28 12:42:26,913 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:42:26,913 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1744604836] [2022-04-28 12:42:26,913 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:42:26,913 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:42:26,930 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:42:26,930 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1459097897] [2022-04-28 12:42:26,931 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:42:26,931 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:42:26,931 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:42:26,932 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-28 12:42:26,933 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-28 12:42:27,052 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:42:27,053 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:42:27,054 INFO L263 TraceCheckSpWp]: Trace formula consists of 253 conjuncts, 21 conjunts are in the unsatisfiable core [2022-04-28 12:42:27,072 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:42:27,073 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:42:27,588 INFO L272 TraceCheckUtils]: 0: Hoare triple {6687#true} call ULTIMATE.init(); {6687#true} is VALID [2022-04-28 12:42:27,589 INFO L290 TraceCheckUtils]: 1: Hoare triple {6687#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; {6695#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:27,589 INFO L290 TraceCheckUtils]: 2: Hoare triple {6695#(<= ~counter~0 0)} assume true; {6695#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:27,590 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6695#(<= ~counter~0 0)} {6687#true} #67#return; {6695#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:27,590 INFO L272 TraceCheckUtils]: 4: Hoare triple {6695#(<= ~counter~0 0)} call #t~ret7 := main(); {6695#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:27,591 INFO L290 TraceCheckUtils]: 5: Hoare triple {6695#(<= ~counter~0 0)} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~R~0 := #t~nondet5;havoc #t~nondet5; {6695#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:27,591 INFO L272 TraceCheckUtils]: 6: Hoare triple {6695#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {6695#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:27,592 INFO L290 TraceCheckUtils]: 7: Hoare triple {6695#(<= ~counter~0 0)} ~cond := #in~cond; {6695#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:27,592 INFO L290 TraceCheckUtils]: 8: Hoare triple {6695#(<= ~counter~0 0)} assume !(0 == ~cond); {6695#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:27,592 INFO L290 TraceCheckUtils]: 9: Hoare triple {6695#(<= ~counter~0 0)} assume true; {6695#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:27,593 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6695#(<= ~counter~0 0)} {6695#(<= ~counter~0 0)} #59#return; {6695#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:27,594 INFO L272 TraceCheckUtils]: 11: Hoare triple {6695#(<= ~counter~0 0)} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {6695#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:27,594 INFO L290 TraceCheckUtils]: 12: Hoare triple {6695#(<= ~counter~0 0)} ~cond := #in~cond; {6695#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:27,594 INFO L290 TraceCheckUtils]: 13: Hoare triple {6695#(<= ~counter~0 0)} assume !(0 == ~cond); {6695#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:27,595 INFO L290 TraceCheckUtils]: 14: Hoare triple {6695#(<= ~counter~0 0)} assume true; {6695#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:27,595 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {6695#(<= ~counter~0 0)} {6695#(<= ~counter~0 0)} #61#return; {6695#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:27,596 INFO L290 TraceCheckUtils]: 16: Hoare triple {6695#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {6695#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:27,596 INFO L290 TraceCheckUtils]: 17: Hoare triple {6695#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6744#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:27,597 INFO L290 TraceCheckUtils]: 18: Hoare triple {6744#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {6744#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:27,598 INFO L272 TraceCheckUtils]: 19: Hoare triple {6744#(<= ~counter~0 1)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {6744#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:27,598 INFO L290 TraceCheckUtils]: 20: Hoare triple {6744#(<= ~counter~0 1)} ~cond := #in~cond; {6744#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:27,598 INFO L290 TraceCheckUtils]: 21: Hoare triple {6744#(<= ~counter~0 1)} assume !(0 == ~cond); {6744#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:27,599 INFO L290 TraceCheckUtils]: 22: Hoare triple {6744#(<= ~counter~0 1)} assume true; {6744#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:27,599 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6744#(<= ~counter~0 1)} {6744#(<= ~counter~0 1)} #63#return; {6744#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:27,600 INFO L290 TraceCheckUtils]: 24: Hoare triple {6744#(<= ~counter~0 1)} assume !!(0 != ~r~0); {6744#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:27,600 INFO L290 TraceCheckUtils]: 25: Hoare triple {6744#(<= ~counter~0 1)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {6744#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:27,601 INFO L290 TraceCheckUtils]: 26: Hoare triple {6744#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6772#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:27,601 INFO L290 TraceCheckUtils]: 27: Hoare triple {6772#(<= ~counter~0 2)} assume !!(#t~post6 < 20);havoc #t~post6; {6772#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:27,602 INFO L272 TraceCheckUtils]: 28: Hoare triple {6772#(<= ~counter~0 2)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {6772#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:27,602 INFO L290 TraceCheckUtils]: 29: Hoare triple {6772#(<= ~counter~0 2)} ~cond := #in~cond; {6772#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:27,603 INFO L290 TraceCheckUtils]: 30: Hoare triple {6772#(<= ~counter~0 2)} assume !(0 == ~cond); {6772#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:27,603 INFO L290 TraceCheckUtils]: 31: Hoare triple {6772#(<= ~counter~0 2)} assume true; {6772#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:27,604 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6772#(<= ~counter~0 2)} {6772#(<= ~counter~0 2)} #63#return; {6772#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:27,604 INFO L290 TraceCheckUtils]: 33: Hoare triple {6772#(<= ~counter~0 2)} assume !!(0 != ~r~0); {6772#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:27,604 INFO L290 TraceCheckUtils]: 34: Hoare triple {6772#(<= ~counter~0 2)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {6772#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:27,605 INFO L290 TraceCheckUtils]: 35: Hoare triple {6772#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6800#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:27,605 INFO L290 TraceCheckUtils]: 36: Hoare triple {6800#(<= ~counter~0 3)} assume !!(#t~post6 < 20);havoc #t~post6; {6800#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:27,606 INFO L272 TraceCheckUtils]: 37: Hoare triple {6800#(<= ~counter~0 3)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {6800#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:27,606 INFO L290 TraceCheckUtils]: 38: Hoare triple {6800#(<= ~counter~0 3)} ~cond := #in~cond; {6800#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:27,607 INFO L290 TraceCheckUtils]: 39: Hoare triple {6800#(<= ~counter~0 3)} assume !(0 == ~cond); {6800#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:27,607 INFO L290 TraceCheckUtils]: 40: Hoare triple {6800#(<= ~counter~0 3)} assume true; {6800#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:27,608 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {6800#(<= ~counter~0 3)} {6800#(<= ~counter~0 3)} #63#return; {6800#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:27,608 INFO L290 TraceCheckUtils]: 42: Hoare triple {6800#(<= ~counter~0 3)} assume !!(0 != ~r~0); {6800#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:27,608 INFO L290 TraceCheckUtils]: 43: Hoare triple {6800#(<= ~counter~0 3)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {6800#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:27,609 INFO L290 TraceCheckUtils]: 44: Hoare triple {6800#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6828#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:27,609 INFO L290 TraceCheckUtils]: 45: Hoare triple {6828#(<= ~counter~0 4)} assume !!(#t~post6 < 20);havoc #t~post6; {6828#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:27,610 INFO L272 TraceCheckUtils]: 46: Hoare triple {6828#(<= ~counter~0 4)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {6828#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:27,610 INFO L290 TraceCheckUtils]: 47: Hoare triple {6828#(<= ~counter~0 4)} ~cond := #in~cond; {6828#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:27,610 INFO L290 TraceCheckUtils]: 48: Hoare triple {6828#(<= ~counter~0 4)} assume !(0 == ~cond); {6828#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:27,611 INFO L290 TraceCheckUtils]: 49: Hoare triple {6828#(<= ~counter~0 4)} assume true; {6828#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:27,611 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6828#(<= ~counter~0 4)} {6828#(<= ~counter~0 4)} #63#return; {6828#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:27,612 INFO L290 TraceCheckUtils]: 51: Hoare triple {6828#(<= ~counter~0 4)} assume !!(0 != ~r~0); {6828#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:27,612 INFO L290 TraceCheckUtils]: 52: Hoare triple {6828#(<= ~counter~0 4)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {6828#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:27,613 INFO L290 TraceCheckUtils]: 53: Hoare triple {6828#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6856#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:27,613 INFO L290 TraceCheckUtils]: 54: Hoare triple {6856#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {6856#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:27,614 INFO L272 TraceCheckUtils]: 55: Hoare triple {6856#(<= ~counter~0 5)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {6856#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:27,614 INFO L290 TraceCheckUtils]: 56: Hoare triple {6856#(<= ~counter~0 5)} ~cond := #in~cond; {6856#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:27,614 INFO L290 TraceCheckUtils]: 57: Hoare triple {6856#(<= ~counter~0 5)} assume !(0 == ~cond); {6856#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:27,615 INFO L290 TraceCheckUtils]: 58: Hoare triple {6856#(<= ~counter~0 5)} assume true; {6856#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:27,615 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {6856#(<= ~counter~0 5)} {6856#(<= ~counter~0 5)} #63#return; {6856#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:27,616 INFO L290 TraceCheckUtils]: 60: Hoare triple {6856#(<= ~counter~0 5)} assume !!(0 != ~r~0); {6856#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:27,616 INFO L290 TraceCheckUtils]: 61: Hoare triple {6856#(<= ~counter~0 5)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {6856#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:27,616 INFO L290 TraceCheckUtils]: 62: Hoare triple {6856#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6884#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:27,617 INFO L290 TraceCheckUtils]: 63: Hoare triple {6884#(<= ~counter~0 6)} assume !!(#t~post6 < 20);havoc #t~post6; {6884#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:27,618 INFO L272 TraceCheckUtils]: 64: Hoare triple {6884#(<= ~counter~0 6)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {6884#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:27,618 INFO L290 TraceCheckUtils]: 65: Hoare triple {6884#(<= ~counter~0 6)} ~cond := #in~cond; {6884#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:27,618 INFO L290 TraceCheckUtils]: 66: Hoare triple {6884#(<= ~counter~0 6)} assume !(0 == ~cond); {6884#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:27,619 INFO L290 TraceCheckUtils]: 67: Hoare triple {6884#(<= ~counter~0 6)} assume true; {6884#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:27,619 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {6884#(<= ~counter~0 6)} {6884#(<= ~counter~0 6)} #63#return; {6884#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:27,620 INFO L290 TraceCheckUtils]: 69: Hoare triple {6884#(<= ~counter~0 6)} assume !!(0 != ~r~0); {6884#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:27,620 INFO L290 TraceCheckUtils]: 70: Hoare triple {6884#(<= ~counter~0 6)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {6884#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:27,621 INFO L290 TraceCheckUtils]: 71: Hoare triple {6884#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6912#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:27,621 INFO L290 TraceCheckUtils]: 72: Hoare triple {6912#(<= ~counter~0 7)} assume !!(#t~post6 < 20);havoc #t~post6; {6912#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:27,622 INFO L272 TraceCheckUtils]: 73: Hoare triple {6912#(<= ~counter~0 7)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {6912#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:27,622 INFO L290 TraceCheckUtils]: 74: Hoare triple {6912#(<= ~counter~0 7)} ~cond := #in~cond; {6912#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:27,622 INFO L290 TraceCheckUtils]: 75: Hoare triple {6912#(<= ~counter~0 7)} assume !(0 == ~cond); {6912#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:27,623 INFO L290 TraceCheckUtils]: 76: Hoare triple {6912#(<= ~counter~0 7)} assume true; {6912#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:27,624 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {6912#(<= ~counter~0 7)} {6912#(<= ~counter~0 7)} #63#return; {6912#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:27,624 INFO L290 TraceCheckUtils]: 78: Hoare triple {6912#(<= ~counter~0 7)} assume !!(0 != ~r~0); {6912#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:27,624 INFO L290 TraceCheckUtils]: 79: Hoare triple {6912#(<= ~counter~0 7)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {6912#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:27,625 INFO L290 TraceCheckUtils]: 80: Hoare triple {6912#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6940#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:27,625 INFO L290 TraceCheckUtils]: 81: Hoare triple {6940#(<= ~counter~0 8)} assume !!(#t~post6 < 20);havoc #t~post6; {6940#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:27,626 INFO L272 TraceCheckUtils]: 82: Hoare triple {6940#(<= ~counter~0 8)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {6940#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:27,626 INFO L290 TraceCheckUtils]: 83: Hoare triple {6940#(<= ~counter~0 8)} ~cond := #in~cond; {6940#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:27,627 INFO L290 TraceCheckUtils]: 84: Hoare triple {6940#(<= ~counter~0 8)} assume !(0 == ~cond); {6940#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:27,627 INFO L290 TraceCheckUtils]: 85: Hoare triple {6940#(<= ~counter~0 8)} assume true; {6940#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:27,628 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {6940#(<= ~counter~0 8)} {6940#(<= ~counter~0 8)} #63#return; {6940#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:27,628 INFO L290 TraceCheckUtils]: 87: Hoare triple {6940#(<= ~counter~0 8)} assume !!(0 != ~r~0); {6940#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:27,628 INFO L290 TraceCheckUtils]: 88: Hoare triple {6940#(<= ~counter~0 8)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {6940#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:27,629 INFO L290 TraceCheckUtils]: 89: Hoare triple {6940#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6968#(<= |main_#t~post6| 8)} is VALID [2022-04-28 12:42:27,629 INFO L290 TraceCheckUtils]: 90: Hoare triple {6968#(<= |main_#t~post6| 8)} assume !(#t~post6 < 20);havoc #t~post6; {6688#false} is VALID [2022-04-28 12:42:27,629 INFO L272 TraceCheckUtils]: 91: Hoare triple {6688#false} call __VERIFIER_assert((if 4 * ~A~0 == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {6688#false} is VALID [2022-04-28 12:42:27,629 INFO L290 TraceCheckUtils]: 92: Hoare triple {6688#false} ~cond := #in~cond; {6688#false} is VALID [2022-04-28 12:42:27,629 INFO L290 TraceCheckUtils]: 93: Hoare triple {6688#false} assume 0 == ~cond; {6688#false} is VALID [2022-04-28 12:42:27,629 INFO L290 TraceCheckUtils]: 94: Hoare triple {6688#false} assume !false; {6688#false} is VALID [2022-04-28 12:42:27,630 INFO L134 CoverageAnalysis]: Checked inductivity of 288 backedges. 16 proven. 268 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:42:27,630 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:42:28,167 INFO L290 TraceCheckUtils]: 94: Hoare triple {6688#false} assume !false; {6688#false} is VALID [2022-04-28 12:42:28,167 INFO L290 TraceCheckUtils]: 93: Hoare triple {6688#false} assume 0 == ~cond; {6688#false} is VALID [2022-04-28 12:42:28,167 INFO L290 TraceCheckUtils]: 92: Hoare triple {6688#false} ~cond := #in~cond; {6688#false} is VALID [2022-04-28 12:42:28,167 INFO L272 TraceCheckUtils]: 91: Hoare triple {6688#false} call __VERIFIER_assert((if 4 * ~A~0 == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {6688#false} is VALID [2022-04-28 12:42:28,168 INFO L290 TraceCheckUtils]: 90: Hoare triple {6996#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {6688#false} is VALID [2022-04-28 12:42:28,168 INFO L290 TraceCheckUtils]: 89: Hoare triple {7000#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6996#(< |main_#t~post6| 20)} is VALID [2022-04-28 12:42:28,168 INFO L290 TraceCheckUtils]: 88: Hoare triple {7000#(< ~counter~0 20)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {7000#(< ~counter~0 20)} is VALID [2022-04-28 12:42:28,168 INFO L290 TraceCheckUtils]: 87: Hoare triple {7000#(< ~counter~0 20)} assume !!(0 != ~r~0); {7000#(< ~counter~0 20)} is VALID [2022-04-28 12:42:28,169 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {6687#true} {7000#(< ~counter~0 20)} #63#return; {7000#(< ~counter~0 20)} is VALID [2022-04-28 12:42:28,169 INFO L290 TraceCheckUtils]: 85: Hoare triple {6687#true} assume true; {6687#true} is VALID [2022-04-28 12:42:28,169 INFO L290 TraceCheckUtils]: 84: Hoare triple {6687#true} assume !(0 == ~cond); {6687#true} is VALID [2022-04-28 12:42:28,169 INFO L290 TraceCheckUtils]: 83: Hoare triple {6687#true} ~cond := #in~cond; {6687#true} is VALID [2022-04-28 12:42:28,169 INFO L272 TraceCheckUtils]: 82: Hoare triple {7000#(< ~counter~0 20)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {6687#true} is VALID [2022-04-28 12:42:28,170 INFO L290 TraceCheckUtils]: 81: Hoare triple {7000#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6; {7000#(< ~counter~0 20)} is VALID [2022-04-28 12:42:28,170 INFO L290 TraceCheckUtils]: 80: Hoare triple {7028#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7000#(< ~counter~0 20)} is VALID [2022-04-28 12:42:28,170 INFO L290 TraceCheckUtils]: 79: Hoare triple {7028#(< ~counter~0 19)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {7028#(< ~counter~0 19)} is VALID [2022-04-28 12:42:28,171 INFO L290 TraceCheckUtils]: 78: Hoare triple {7028#(< ~counter~0 19)} assume !!(0 != ~r~0); {7028#(< ~counter~0 19)} is VALID [2022-04-28 12:42:28,171 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {6687#true} {7028#(< ~counter~0 19)} #63#return; {7028#(< ~counter~0 19)} is VALID [2022-04-28 12:42:28,171 INFO L290 TraceCheckUtils]: 76: Hoare triple {6687#true} assume true; {6687#true} is VALID [2022-04-28 12:42:28,171 INFO L290 TraceCheckUtils]: 75: Hoare triple {6687#true} assume !(0 == ~cond); {6687#true} is VALID [2022-04-28 12:42:28,172 INFO L290 TraceCheckUtils]: 74: Hoare triple {6687#true} ~cond := #in~cond; {6687#true} is VALID [2022-04-28 12:42:28,172 INFO L272 TraceCheckUtils]: 73: Hoare triple {7028#(< ~counter~0 19)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {6687#true} is VALID [2022-04-28 12:42:28,172 INFO L290 TraceCheckUtils]: 72: Hoare triple {7028#(< ~counter~0 19)} assume !!(#t~post6 < 20);havoc #t~post6; {7028#(< ~counter~0 19)} is VALID [2022-04-28 12:42:28,172 INFO L290 TraceCheckUtils]: 71: Hoare triple {7056#(< ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7028#(< ~counter~0 19)} is VALID [2022-04-28 12:42:28,173 INFO L290 TraceCheckUtils]: 70: Hoare triple {7056#(< ~counter~0 18)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {7056#(< ~counter~0 18)} is VALID [2022-04-28 12:42:28,173 INFO L290 TraceCheckUtils]: 69: Hoare triple {7056#(< ~counter~0 18)} assume !!(0 != ~r~0); {7056#(< ~counter~0 18)} is VALID [2022-04-28 12:42:28,173 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {6687#true} {7056#(< ~counter~0 18)} #63#return; {7056#(< ~counter~0 18)} is VALID [2022-04-28 12:42:28,174 INFO L290 TraceCheckUtils]: 67: Hoare triple {6687#true} assume true; {6687#true} is VALID [2022-04-28 12:42:28,174 INFO L290 TraceCheckUtils]: 66: Hoare triple {6687#true} assume !(0 == ~cond); {6687#true} is VALID [2022-04-28 12:42:28,174 INFO L290 TraceCheckUtils]: 65: Hoare triple {6687#true} ~cond := #in~cond; {6687#true} is VALID [2022-04-28 12:42:28,174 INFO L272 TraceCheckUtils]: 64: Hoare triple {7056#(< ~counter~0 18)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {6687#true} is VALID [2022-04-28 12:42:28,174 INFO L290 TraceCheckUtils]: 63: Hoare triple {7056#(< ~counter~0 18)} assume !!(#t~post6 < 20);havoc #t~post6; {7056#(< ~counter~0 18)} is VALID [2022-04-28 12:42:28,174 INFO L290 TraceCheckUtils]: 62: Hoare triple {7084#(< ~counter~0 17)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7056#(< ~counter~0 18)} is VALID [2022-04-28 12:42:28,175 INFO L290 TraceCheckUtils]: 61: Hoare triple {7084#(< ~counter~0 17)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {7084#(< ~counter~0 17)} is VALID [2022-04-28 12:42:28,175 INFO L290 TraceCheckUtils]: 60: Hoare triple {7084#(< ~counter~0 17)} assume !!(0 != ~r~0); {7084#(< ~counter~0 17)} is VALID [2022-04-28 12:42:28,176 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {6687#true} {7084#(< ~counter~0 17)} #63#return; {7084#(< ~counter~0 17)} is VALID [2022-04-28 12:42:28,176 INFO L290 TraceCheckUtils]: 58: Hoare triple {6687#true} assume true; {6687#true} is VALID [2022-04-28 12:42:28,176 INFO L290 TraceCheckUtils]: 57: Hoare triple {6687#true} assume !(0 == ~cond); {6687#true} is VALID [2022-04-28 12:42:28,176 INFO L290 TraceCheckUtils]: 56: Hoare triple {6687#true} ~cond := #in~cond; {6687#true} is VALID [2022-04-28 12:42:28,176 INFO L272 TraceCheckUtils]: 55: Hoare triple {7084#(< ~counter~0 17)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {6687#true} is VALID [2022-04-28 12:42:28,176 INFO L290 TraceCheckUtils]: 54: Hoare triple {7084#(< ~counter~0 17)} assume !!(#t~post6 < 20);havoc #t~post6; {7084#(< ~counter~0 17)} is VALID [2022-04-28 12:42:28,177 INFO L290 TraceCheckUtils]: 53: Hoare triple {7112#(< ~counter~0 16)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7084#(< ~counter~0 17)} is VALID [2022-04-28 12:42:28,177 INFO L290 TraceCheckUtils]: 52: Hoare triple {7112#(< ~counter~0 16)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {7112#(< ~counter~0 16)} is VALID [2022-04-28 12:42:28,177 INFO L290 TraceCheckUtils]: 51: Hoare triple {7112#(< ~counter~0 16)} assume !!(0 != ~r~0); {7112#(< ~counter~0 16)} is VALID [2022-04-28 12:42:28,178 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6687#true} {7112#(< ~counter~0 16)} #63#return; {7112#(< ~counter~0 16)} is VALID [2022-04-28 12:42:28,178 INFO L290 TraceCheckUtils]: 49: Hoare triple {6687#true} assume true; {6687#true} is VALID [2022-04-28 12:42:28,178 INFO L290 TraceCheckUtils]: 48: Hoare triple {6687#true} assume !(0 == ~cond); {6687#true} is VALID [2022-04-28 12:42:28,178 INFO L290 TraceCheckUtils]: 47: Hoare triple {6687#true} ~cond := #in~cond; {6687#true} is VALID [2022-04-28 12:42:28,178 INFO L272 TraceCheckUtils]: 46: Hoare triple {7112#(< ~counter~0 16)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {6687#true} is VALID [2022-04-28 12:42:28,178 INFO L290 TraceCheckUtils]: 45: Hoare triple {7112#(< ~counter~0 16)} assume !!(#t~post6 < 20);havoc #t~post6; {7112#(< ~counter~0 16)} is VALID [2022-04-28 12:42:28,179 INFO L290 TraceCheckUtils]: 44: Hoare triple {7140#(< ~counter~0 15)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7112#(< ~counter~0 16)} is VALID [2022-04-28 12:42:28,179 INFO L290 TraceCheckUtils]: 43: Hoare triple {7140#(< ~counter~0 15)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {7140#(< ~counter~0 15)} is VALID [2022-04-28 12:42:28,179 INFO L290 TraceCheckUtils]: 42: Hoare triple {7140#(< ~counter~0 15)} assume !!(0 != ~r~0); {7140#(< ~counter~0 15)} is VALID [2022-04-28 12:42:28,180 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {6687#true} {7140#(< ~counter~0 15)} #63#return; {7140#(< ~counter~0 15)} is VALID [2022-04-28 12:42:28,180 INFO L290 TraceCheckUtils]: 40: Hoare triple {6687#true} assume true; {6687#true} is VALID [2022-04-28 12:42:28,180 INFO L290 TraceCheckUtils]: 39: Hoare triple {6687#true} assume !(0 == ~cond); {6687#true} is VALID [2022-04-28 12:42:28,180 INFO L290 TraceCheckUtils]: 38: Hoare triple {6687#true} ~cond := #in~cond; {6687#true} is VALID [2022-04-28 12:42:28,180 INFO L272 TraceCheckUtils]: 37: Hoare triple {7140#(< ~counter~0 15)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {6687#true} is VALID [2022-04-28 12:42:28,180 INFO L290 TraceCheckUtils]: 36: Hoare triple {7140#(< ~counter~0 15)} assume !!(#t~post6 < 20);havoc #t~post6; {7140#(< ~counter~0 15)} is VALID [2022-04-28 12:42:28,181 INFO L290 TraceCheckUtils]: 35: Hoare triple {7168#(< ~counter~0 14)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7140#(< ~counter~0 15)} is VALID [2022-04-28 12:42:28,181 INFO L290 TraceCheckUtils]: 34: Hoare triple {7168#(< ~counter~0 14)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {7168#(< ~counter~0 14)} is VALID [2022-04-28 12:42:28,182 INFO L290 TraceCheckUtils]: 33: Hoare triple {7168#(< ~counter~0 14)} assume !!(0 != ~r~0); {7168#(< ~counter~0 14)} is VALID [2022-04-28 12:42:28,182 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6687#true} {7168#(< ~counter~0 14)} #63#return; {7168#(< ~counter~0 14)} is VALID [2022-04-28 12:42:28,182 INFO L290 TraceCheckUtils]: 31: Hoare triple {6687#true} assume true; {6687#true} is VALID [2022-04-28 12:42:28,183 INFO L290 TraceCheckUtils]: 30: Hoare triple {6687#true} assume !(0 == ~cond); {6687#true} is VALID [2022-04-28 12:42:28,183 INFO L290 TraceCheckUtils]: 29: Hoare triple {6687#true} ~cond := #in~cond; {6687#true} is VALID [2022-04-28 12:42:28,183 INFO L272 TraceCheckUtils]: 28: Hoare triple {7168#(< ~counter~0 14)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {6687#true} is VALID [2022-04-28 12:42:28,183 INFO L290 TraceCheckUtils]: 27: Hoare triple {7168#(< ~counter~0 14)} assume !!(#t~post6 < 20);havoc #t~post6; {7168#(< ~counter~0 14)} is VALID [2022-04-28 12:42:28,183 INFO L290 TraceCheckUtils]: 26: Hoare triple {7196#(< ~counter~0 13)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7168#(< ~counter~0 14)} is VALID [2022-04-28 12:42:28,184 INFO L290 TraceCheckUtils]: 25: Hoare triple {7196#(< ~counter~0 13)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {7196#(< ~counter~0 13)} is VALID [2022-04-28 12:42:28,184 INFO L290 TraceCheckUtils]: 24: Hoare triple {7196#(< ~counter~0 13)} assume !!(0 != ~r~0); {7196#(< ~counter~0 13)} is VALID [2022-04-28 12:42:28,184 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6687#true} {7196#(< ~counter~0 13)} #63#return; {7196#(< ~counter~0 13)} is VALID [2022-04-28 12:42:28,185 INFO L290 TraceCheckUtils]: 22: Hoare triple {6687#true} assume true; {6687#true} is VALID [2022-04-28 12:42:28,185 INFO L290 TraceCheckUtils]: 21: Hoare triple {6687#true} assume !(0 == ~cond); {6687#true} is VALID [2022-04-28 12:42:28,185 INFO L290 TraceCheckUtils]: 20: Hoare triple {6687#true} ~cond := #in~cond; {6687#true} is VALID [2022-04-28 12:42:28,185 INFO L272 TraceCheckUtils]: 19: Hoare triple {7196#(< ~counter~0 13)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {6687#true} is VALID [2022-04-28 12:42:28,185 INFO L290 TraceCheckUtils]: 18: Hoare triple {7196#(< ~counter~0 13)} assume !!(#t~post6 < 20);havoc #t~post6; {7196#(< ~counter~0 13)} is VALID [2022-04-28 12:42:28,185 INFO L290 TraceCheckUtils]: 17: Hoare triple {7224#(< ~counter~0 12)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7196#(< ~counter~0 13)} is VALID [2022-04-28 12:42:28,186 INFO L290 TraceCheckUtils]: 16: Hoare triple {7224#(< ~counter~0 12)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {7224#(< ~counter~0 12)} is VALID [2022-04-28 12:42:28,186 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {6687#true} {7224#(< ~counter~0 12)} #61#return; {7224#(< ~counter~0 12)} is VALID [2022-04-28 12:42:28,186 INFO L290 TraceCheckUtils]: 14: Hoare triple {6687#true} assume true; {6687#true} is VALID [2022-04-28 12:42:28,186 INFO L290 TraceCheckUtils]: 13: Hoare triple {6687#true} assume !(0 == ~cond); {6687#true} is VALID [2022-04-28 12:42:28,186 INFO L290 TraceCheckUtils]: 12: Hoare triple {6687#true} ~cond := #in~cond; {6687#true} is VALID [2022-04-28 12:42:28,186 INFO L272 TraceCheckUtils]: 11: Hoare triple {7224#(< ~counter~0 12)} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {6687#true} is VALID [2022-04-28 12:42:28,187 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6687#true} {7224#(< ~counter~0 12)} #59#return; {7224#(< ~counter~0 12)} is VALID [2022-04-28 12:42:28,187 INFO L290 TraceCheckUtils]: 9: Hoare triple {6687#true} assume true; {6687#true} is VALID [2022-04-28 12:42:28,187 INFO L290 TraceCheckUtils]: 8: Hoare triple {6687#true} assume !(0 == ~cond); {6687#true} is VALID [2022-04-28 12:42:28,187 INFO L290 TraceCheckUtils]: 7: Hoare triple {6687#true} ~cond := #in~cond; {6687#true} is VALID [2022-04-28 12:42:28,187 INFO L272 TraceCheckUtils]: 6: Hoare triple {7224#(< ~counter~0 12)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {6687#true} is VALID [2022-04-28 12:42:28,187 INFO L290 TraceCheckUtils]: 5: Hoare triple {7224#(< ~counter~0 12)} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~R~0 := #t~nondet5;havoc #t~nondet5; {7224#(< ~counter~0 12)} is VALID [2022-04-28 12:42:28,188 INFO L272 TraceCheckUtils]: 4: Hoare triple {7224#(< ~counter~0 12)} call #t~ret7 := main(); {7224#(< ~counter~0 12)} is VALID [2022-04-28 12:42:28,188 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7224#(< ~counter~0 12)} {6687#true} #67#return; {7224#(< ~counter~0 12)} is VALID [2022-04-28 12:42:28,188 INFO L290 TraceCheckUtils]: 2: Hoare triple {7224#(< ~counter~0 12)} assume true; {7224#(< ~counter~0 12)} is VALID [2022-04-28 12:42:28,189 INFO L290 TraceCheckUtils]: 1: Hoare triple {6687#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; {7224#(< ~counter~0 12)} is VALID [2022-04-28 12:42:28,189 INFO L272 TraceCheckUtils]: 0: Hoare triple {6687#true} call ULTIMATE.init(); {6687#true} is VALID [2022-04-28 12:42:28,189 INFO L134 CoverageAnalysis]: Checked inductivity of 288 backedges. 16 proven. 156 refuted. 0 times theorem prover too weak. 116 trivial. 0 not checked. [2022-04-28 12:42:28,189 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:42:28,190 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1744604836] [2022-04-28 12:42:28,190 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:42:28,190 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1459097897] [2022-04-28 12:42:28,190 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1459097897] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:42:28,190 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:42:28,190 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 12] total 22 [2022-04-28 12:42:28,190 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:42:28,190 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1230957407] [2022-04-28 12:42:28,190 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1230957407] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:42:28,190 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:42:28,190 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 12:42:28,190 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [93611968] [2022-04-28 12:42:28,191 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:42:28,191 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, (13), 11 states have call predecessors, (13), 9 states have return successors, (11), 9 states have call predecessors, (11), 10 states have call successors, (11) Word has length 95 [2022-04-28 12:42:28,191 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:42:28,192 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, (13), 11 states have call predecessors, (13), 9 states have return successors, (11), 9 states have call predecessors, (11), 10 states have call successors, (11) [2022-04-28 12:42:28,260 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 92 edges. 92 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:42:28,260 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 12:42:28,260 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:42:28,260 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 12:42:28,260 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=195, Invalid=267, Unknown=0, NotChecked=0, Total=462 [2022-04-28 12:42:28,261 INFO L87 Difference]: Start difference. First operand 92 states and 101 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, (13), 11 states have call predecessors, (13), 9 states have return successors, (11), 9 states have call predecessors, (11), 10 states have call successors, (11) [2022-04-28 12:42:28,631 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:42:28,631 INFO L93 Difference]: Finished difference Result 106 states and 116 transitions. [2022-04-28 12:42:28,631 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2022-04-28 12:42:28,631 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, (13), 11 states have call predecessors, (13), 9 states have return successors, (11), 9 states have call predecessors, (11), 10 states have call successors, (11) Word has length 95 [2022-04-28 12:42:28,632 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:42:28,632 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, (13), 11 states have call predecessors, (13), 9 states have return successors, (11), 9 states have call predecessors, (11), 10 states have call successors, (11) [2022-04-28 12:42:28,634 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 115 transitions. [2022-04-28 12:42:28,634 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, (13), 11 states have call predecessors, (13), 9 states have return successors, (11), 9 states have call predecessors, (11), 10 states have call successors, (11) [2022-04-28 12:42:28,636 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 115 transitions. [2022-04-28 12:42:28,636 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 20 states and 115 transitions. [2022-04-28 12:42:28,713 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 115 edges. 115 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:42:28,719 INFO L225 Difference]: With dead ends: 106 [2022-04-28 12:42:28,719 INFO L226 Difference]: Without dead ends: 101 [2022-04-28 12:42:28,720 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 197 GetRequests, 169 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-28 12:42:28,720 INFO L413 NwaCegarLoop]: 34 mSDtfsCounter, 31 mSDsluCounter, 112 mSDsCounter, 0 mSdLazyCounter, 46 mSolverCounterSat, 21 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 31 SdHoareTripleChecker+Valid, 146 SdHoareTripleChecker+Invalid, 67 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 21 IncrementalHoareTripleChecker+Valid, 46 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:42:28,720 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [31 Valid, 146 Invalid, 67 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [21 Valid, 46 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:42:28,723 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 101 states. [2022-04-28 12:42:28,832 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 101 to 101. [2022-04-28 12:42:28,832 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:42:28,832 INFO L82 GeneralOperation]: Start isEquivalent. First operand 101 states. Second operand has 101 states, 75 states have (on average 1.1333333333333333) internal successors, (85), 75 states have internal predecessors, (85), 14 states have call successors, (14), 13 states have call predecessors, (14), 11 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 12:42:28,832 INFO L74 IsIncluded]: Start isIncluded. First operand 101 states. Second operand has 101 states, 75 states have (on average 1.1333333333333333) internal successors, (85), 75 states have internal predecessors, (85), 14 states have call successors, (14), 13 states have call predecessors, (14), 11 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 12:42:28,832 INFO L87 Difference]: Start difference. First operand 101 states. Second operand has 101 states, 75 states have (on average 1.1333333333333333) internal successors, (85), 75 states have internal predecessors, (85), 14 states have call successors, (14), 13 states have call predecessors, (14), 11 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 12:42:28,834 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:42:28,834 INFO L93 Difference]: Finished difference Result 101 states and 111 transitions. [2022-04-28 12:42:28,834 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 111 transitions. [2022-04-28 12:42:28,834 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:42:28,834 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:42:28,835 INFO L74 IsIncluded]: Start isIncluded. First operand has 101 states, 75 states have (on average 1.1333333333333333) internal successors, (85), 75 states have internal predecessors, (85), 14 states have call successors, (14), 13 states have call predecessors, (14), 11 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 101 states. [2022-04-28 12:42:28,835 INFO L87 Difference]: Start difference. First operand has 101 states, 75 states have (on average 1.1333333333333333) internal successors, (85), 75 states have internal predecessors, (85), 14 states have call successors, (14), 13 states have call predecessors, (14), 11 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 101 states. [2022-04-28 12:42:28,837 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:42:28,837 INFO L93 Difference]: Finished difference Result 101 states and 111 transitions. [2022-04-28 12:42:28,837 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 111 transitions. [2022-04-28 12:42:28,837 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:42:28,837 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:42:28,837 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:42:28,837 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:42:28,838 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 101 states, 75 states have (on average 1.1333333333333333) internal successors, (85), 75 states have internal predecessors, (85), 14 states have call successors, (14), 13 states have call predecessors, (14), 11 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 12:42:28,839 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 101 states to 101 states and 111 transitions. [2022-04-28 12:42:28,840 INFO L78 Accepts]: Start accepts. Automaton has 101 states and 111 transitions. Word has length 95 [2022-04-28 12:42:28,840 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:42:28,840 INFO L495 AbstractCegarLoop]: Abstraction has 101 states and 111 transitions. [2022-04-28 12:42:28,840 INFO L496 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, (13), 11 states have call predecessors, (13), 9 states have return successors, (11), 9 states have call predecessors, (11), 10 states have call successors, (11) [2022-04-28 12:42:28,840 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 101 states and 111 transitions. [2022-04-28 12:42:30,978 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 111 edges. 110 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 12:42:30,978 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 111 transitions. [2022-04-28 12:42:30,979 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 105 [2022-04-28 12:42:30,979 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:42:30,979 INFO L195 NwaCegarLoop]: trace histogram [10, 10, 9, 9, 9, 9, 9, 9, 9, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:42:30,996 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-28 12:42:31,180 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-04-28 12:42:31,180 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:42:31,180 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:42:31,180 INFO L85 PathProgramCache]: Analyzing trace with hash 1717228060, now seen corresponding path program 17 times [2022-04-28 12:42:31,180 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:42:31,180 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1442574111] [2022-04-28 12:42:31,181 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:42:31,181 INFO L85 PathProgramCache]: Analyzing trace with hash 1717228060, now seen corresponding path program 18 times [2022-04-28 12:42:31,181 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:42:31,181 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [986828341] [2022-04-28 12:42:31,181 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:42:31,181 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:42:31,194 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:42:31,194 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1183814138] [2022-04-28 12:42:31,194 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 12:42:31,194 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:42:31,194 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:42:31,195 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-28 12:42:31,198 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-28 12:42:31,355 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 10 check-sat command(s) [2022-04-28 12:42:31,355 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:42:31,357 INFO L263 TraceCheckSpWp]: Trace formula consists of 273 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-28 12:42:31,380 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:42:31,382 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:42:31,878 INFO L272 TraceCheckUtils]: 0: Hoare triple {7910#true} call ULTIMATE.init(); {7910#true} is VALID [2022-04-28 12:42:31,878 INFO L290 TraceCheckUtils]: 1: Hoare triple {7910#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; {7918#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:31,879 INFO L290 TraceCheckUtils]: 2: Hoare triple {7918#(<= ~counter~0 0)} assume true; {7918#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:31,879 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7918#(<= ~counter~0 0)} {7910#true} #67#return; {7918#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:31,879 INFO L272 TraceCheckUtils]: 4: Hoare triple {7918#(<= ~counter~0 0)} call #t~ret7 := main(); {7918#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:31,880 INFO L290 TraceCheckUtils]: 5: Hoare triple {7918#(<= ~counter~0 0)} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~R~0 := #t~nondet5;havoc #t~nondet5; {7918#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:31,880 INFO L272 TraceCheckUtils]: 6: Hoare triple {7918#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {7918#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:31,881 INFO L290 TraceCheckUtils]: 7: Hoare triple {7918#(<= ~counter~0 0)} ~cond := #in~cond; {7918#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:31,881 INFO L290 TraceCheckUtils]: 8: Hoare triple {7918#(<= ~counter~0 0)} assume !(0 == ~cond); {7918#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:31,881 INFO L290 TraceCheckUtils]: 9: Hoare triple {7918#(<= ~counter~0 0)} assume true; {7918#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:31,882 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7918#(<= ~counter~0 0)} {7918#(<= ~counter~0 0)} #59#return; {7918#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:31,882 INFO L272 TraceCheckUtils]: 11: Hoare triple {7918#(<= ~counter~0 0)} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {7918#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:31,882 INFO L290 TraceCheckUtils]: 12: Hoare triple {7918#(<= ~counter~0 0)} ~cond := #in~cond; {7918#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:31,883 INFO L290 TraceCheckUtils]: 13: Hoare triple {7918#(<= ~counter~0 0)} assume !(0 == ~cond); {7918#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:31,883 INFO L290 TraceCheckUtils]: 14: Hoare triple {7918#(<= ~counter~0 0)} assume true; {7918#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:31,883 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {7918#(<= ~counter~0 0)} {7918#(<= ~counter~0 0)} #61#return; {7918#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:31,884 INFO L290 TraceCheckUtils]: 16: Hoare triple {7918#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {7918#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:31,884 INFO L290 TraceCheckUtils]: 17: Hoare triple {7918#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7967#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:31,884 INFO L290 TraceCheckUtils]: 18: Hoare triple {7967#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {7967#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:31,885 INFO L272 TraceCheckUtils]: 19: Hoare triple {7967#(<= ~counter~0 1)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {7967#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:31,885 INFO L290 TraceCheckUtils]: 20: Hoare triple {7967#(<= ~counter~0 1)} ~cond := #in~cond; {7967#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:31,885 INFO L290 TraceCheckUtils]: 21: Hoare triple {7967#(<= ~counter~0 1)} assume !(0 == ~cond); {7967#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:31,886 INFO L290 TraceCheckUtils]: 22: Hoare triple {7967#(<= ~counter~0 1)} assume true; {7967#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:31,886 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {7967#(<= ~counter~0 1)} {7967#(<= ~counter~0 1)} #63#return; {7967#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:31,887 INFO L290 TraceCheckUtils]: 24: Hoare triple {7967#(<= ~counter~0 1)} assume !!(0 != ~r~0); {7967#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:31,887 INFO L290 TraceCheckUtils]: 25: Hoare triple {7967#(<= ~counter~0 1)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {7967#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:31,887 INFO L290 TraceCheckUtils]: 26: Hoare triple {7967#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7995#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:31,888 INFO L290 TraceCheckUtils]: 27: Hoare triple {7995#(<= ~counter~0 2)} assume !!(#t~post6 < 20);havoc #t~post6; {7995#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:31,888 INFO L272 TraceCheckUtils]: 28: Hoare triple {7995#(<= ~counter~0 2)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {7995#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:31,888 INFO L290 TraceCheckUtils]: 29: Hoare triple {7995#(<= ~counter~0 2)} ~cond := #in~cond; {7995#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:31,889 INFO L290 TraceCheckUtils]: 30: Hoare triple {7995#(<= ~counter~0 2)} assume !(0 == ~cond); {7995#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:31,889 INFO L290 TraceCheckUtils]: 31: Hoare triple {7995#(<= ~counter~0 2)} assume true; {7995#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:31,889 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {7995#(<= ~counter~0 2)} {7995#(<= ~counter~0 2)} #63#return; {7995#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:31,890 INFO L290 TraceCheckUtils]: 33: Hoare triple {7995#(<= ~counter~0 2)} assume !!(0 != ~r~0); {7995#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:31,890 INFO L290 TraceCheckUtils]: 34: Hoare triple {7995#(<= ~counter~0 2)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {7995#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:31,890 INFO L290 TraceCheckUtils]: 35: Hoare triple {7995#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8023#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:31,891 INFO L290 TraceCheckUtils]: 36: Hoare triple {8023#(<= ~counter~0 3)} assume !!(#t~post6 < 20);havoc #t~post6; {8023#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:31,891 INFO L272 TraceCheckUtils]: 37: Hoare triple {8023#(<= ~counter~0 3)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {8023#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:31,892 INFO L290 TraceCheckUtils]: 38: Hoare triple {8023#(<= ~counter~0 3)} ~cond := #in~cond; {8023#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:31,892 INFO L290 TraceCheckUtils]: 39: Hoare triple {8023#(<= ~counter~0 3)} assume !(0 == ~cond); {8023#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:31,892 INFO L290 TraceCheckUtils]: 40: Hoare triple {8023#(<= ~counter~0 3)} assume true; {8023#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:31,893 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {8023#(<= ~counter~0 3)} {8023#(<= ~counter~0 3)} #63#return; {8023#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:31,898 INFO L290 TraceCheckUtils]: 42: Hoare triple {8023#(<= ~counter~0 3)} assume !!(0 != ~r~0); {8023#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:31,899 INFO L290 TraceCheckUtils]: 43: Hoare triple {8023#(<= ~counter~0 3)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {8023#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:31,899 INFO L290 TraceCheckUtils]: 44: Hoare triple {8023#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8051#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:31,900 INFO L290 TraceCheckUtils]: 45: Hoare triple {8051#(<= ~counter~0 4)} assume !!(#t~post6 < 20);havoc #t~post6; {8051#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:31,900 INFO L272 TraceCheckUtils]: 46: Hoare triple {8051#(<= ~counter~0 4)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {8051#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:31,900 INFO L290 TraceCheckUtils]: 47: Hoare triple {8051#(<= ~counter~0 4)} ~cond := #in~cond; {8051#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:31,901 INFO L290 TraceCheckUtils]: 48: Hoare triple {8051#(<= ~counter~0 4)} assume !(0 == ~cond); {8051#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:31,901 INFO L290 TraceCheckUtils]: 49: Hoare triple {8051#(<= ~counter~0 4)} assume true; {8051#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:31,901 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {8051#(<= ~counter~0 4)} {8051#(<= ~counter~0 4)} #63#return; {8051#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:31,902 INFO L290 TraceCheckUtils]: 51: Hoare triple {8051#(<= ~counter~0 4)} assume !!(0 != ~r~0); {8051#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:31,902 INFO L290 TraceCheckUtils]: 52: Hoare triple {8051#(<= ~counter~0 4)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {8051#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:31,902 INFO L290 TraceCheckUtils]: 53: Hoare triple {8051#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8079#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:31,903 INFO L290 TraceCheckUtils]: 54: Hoare triple {8079#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {8079#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:31,903 INFO L272 TraceCheckUtils]: 55: Hoare triple {8079#(<= ~counter~0 5)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {8079#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:31,904 INFO L290 TraceCheckUtils]: 56: Hoare triple {8079#(<= ~counter~0 5)} ~cond := #in~cond; {8079#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:31,904 INFO L290 TraceCheckUtils]: 57: Hoare triple {8079#(<= ~counter~0 5)} assume !(0 == ~cond); {8079#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:31,904 INFO L290 TraceCheckUtils]: 58: Hoare triple {8079#(<= ~counter~0 5)} assume true; {8079#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:31,905 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {8079#(<= ~counter~0 5)} {8079#(<= ~counter~0 5)} #63#return; {8079#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:31,905 INFO L290 TraceCheckUtils]: 60: Hoare triple {8079#(<= ~counter~0 5)} assume !!(0 != ~r~0); {8079#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:31,905 INFO L290 TraceCheckUtils]: 61: Hoare triple {8079#(<= ~counter~0 5)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {8079#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:31,906 INFO L290 TraceCheckUtils]: 62: Hoare triple {8079#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8107#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:31,906 INFO L290 TraceCheckUtils]: 63: Hoare triple {8107#(<= ~counter~0 6)} assume !!(#t~post6 < 20);havoc #t~post6; {8107#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:31,906 INFO L272 TraceCheckUtils]: 64: Hoare triple {8107#(<= ~counter~0 6)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {8107#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:31,907 INFO L290 TraceCheckUtils]: 65: Hoare triple {8107#(<= ~counter~0 6)} ~cond := #in~cond; {8107#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:31,907 INFO L290 TraceCheckUtils]: 66: Hoare triple {8107#(<= ~counter~0 6)} assume !(0 == ~cond); {8107#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:31,907 INFO L290 TraceCheckUtils]: 67: Hoare triple {8107#(<= ~counter~0 6)} assume true; {8107#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:31,908 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {8107#(<= ~counter~0 6)} {8107#(<= ~counter~0 6)} #63#return; {8107#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:31,908 INFO L290 TraceCheckUtils]: 69: Hoare triple {8107#(<= ~counter~0 6)} assume !!(0 != ~r~0); {8107#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:31,908 INFO L290 TraceCheckUtils]: 70: Hoare triple {8107#(<= ~counter~0 6)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {8107#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:31,909 INFO L290 TraceCheckUtils]: 71: Hoare triple {8107#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8135#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:31,909 INFO L290 TraceCheckUtils]: 72: Hoare triple {8135#(<= ~counter~0 7)} assume !!(#t~post6 < 20);havoc #t~post6; {8135#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:31,910 INFO L272 TraceCheckUtils]: 73: Hoare triple {8135#(<= ~counter~0 7)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {8135#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:31,910 INFO L290 TraceCheckUtils]: 74: Hoare triple {8135#(<= ~counter~0 7)} ~cond := #in~cond; {8135#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:31,910 INFO L290 TraceCheckUtils]: 75: Hoare triple {8135#(<= ~counter~0 7)} assume !(0 == ~cond); {8135#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:31,910 INFO L290 TraceCheckUtils]: 76: Hoare triple {8135#(<= ~counter~0 7)} assume true; {8135#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:31,911 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {8135#(<= ~counter~0 7)} {8135#(<= ~counter~0 7)} #63#return; {8135#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:31,911 INFO L290 TraceCheckUtils]: 78: Hoare triple {8135#(<= ~counter~0 7)} assume !!(0 != ~r~0); {8135#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:31,912 INFO L290 TraceCheckUtils]: 79: Hoare triple {8135#(<= ~counter~0 7)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {8135#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:31,912 INFO L290 TraceCheckUtils]: 80: Hoare triple {8135#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8163#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:31,912 INFO L290 TraceCheckUtils]: 81: Hoare triple {8163#(<= ~counter~0 8)} assume !!(#t~post6 < 20);havoc #t~post6; {8163#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:31,913 INFO L272 TraceCheckUtils]: 82: Hoare triple {8163#(<= ~counter~0 8)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {8163#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:31,913 INFO L290 TraceCheckUtils]: 83: Hoare triple {8163#(<= ~counter~0 8)} ~cond := #in~cond; {8163#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:31,913 INFO L290 TraceCheckUtils]: 84: Hoare triple {8163#(<= ~counter~0 8)} assume !(0 == ~cond); {8163#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:31,914 INFO L290 TraceCheckUtils]: 85: Hoare triple {8163#(<= ~counter~0 8)} assume true; {8163#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:31,914 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {8163#(<= ~counter~0 8)} {8163#(<= ~counter~0 8)} #63#return; {8163#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:31,915 INFO L290 TraceCheckUtils]: 87: Hoare triple {8163#(<= ~counter~0 8)} assume !!(0 != ~r~0); {8163#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:31,915 INFO L290 TraceCheckUtils]: 88: Hoare triple {8163#(<= ~counter~0 8)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {8163#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:31,915 INFO L290 TraceCheckUtils]: 89: Hoare triple {8163#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8191#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:31,916 INFO L290 TraceCheckUtils]: 90: Hoare triple {8191#(<= ~counter~0 9)} assume !!(#t~post6 < 20);havoc #t~post6; {8191#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:31,916 INFO L272 TraceCheckUtils]: 91: Hoare triple {8191#(<= ~counter~0 9)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {8191#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:31,916 INFO L290 TraceCheckUtils]: 92: Hoare triple {8191#(<= ~counter~0 9)} ~cond := #in~cond; {8191#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:31,917 INFO L290 TraceCheckUtils]: 93: Hoare triple {8191#(<= ~counter~0 9)} assume !(0 == ~cond); {8191#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:31,917 INFO L290 TraceCheckUtils]: 94: Hoare triple {8191#(<= ~counter~0 9)} assume true; {8191#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:31,917 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {8191#(<= ~counter~0 9)} {8191#(<= ~counter~0 9)} #63#return; {8191#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:31,918 INFO L290 TraceCheckUtils]: 96: Hoare triple {8191#(<= ~counter~0 9)} assume !!(0 != ~r~0); {8191#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:31,919 INFO L290 TraceCheckUtils]: 97: Hoare triple {8191#(<= ~counter~0 9)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {8191#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:31,919 INFO L290 TraceCheckUtils]: 98: Hoare triple {8191#(<= ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8219#(<= |main_#t~post6| 9)} is VALID [2022-04-28 12:42:31,919 INFO L290 TraceCheckUtils]: 99: Hoare triple {8219#(<= |main_#t~post6| 9)} assume !(#t~post6 < 20);havoc #t~post6; {7911#false} is VALID [2022-04-28 12:42:31,919 INFO L272 TraceCheckUtils]: 100: Hoare triple {7911#false} call __VERIFIER_assert((if 4 * ~A~0 == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {7911#false} is VALID [2022-04-28 12:42:31,920 INFO L290 TraceCheckUtils]: 101: Hoare triple {7911#false} ~cond := #in~cond; {7911#false} is VALID [2022-04-28 12:42:31,920 INFO L290 TraceCheckUtils]: 102: Hoare triple {7911#false} assume 0 == ~cond; {7911#false} is VALID [2022-04-28 12:42:31,920 INFO L290 TraceCheckUtils]: 103: Hoare triple {7911#false} assume !false; {7911#false} is VALID [2022-04-28 12:42:31,920 INFO L134 CoverageAnalysis]: Checked inductivity of 364 backedges. 18 proven. 342 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:42:31,920 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:42:32,487 INFO L290 TraceCheckUtils]: 103: Hoare triple {7911#false} assume !false; {7911#false} is VALID [2022-04-28 12:42:32,487 INFO L290 TraceCheckUtils]: 102: Hoare triple {7911#false} assume 0 == ~cond; {7911#false} is VALID [2022-04-28 12:42:32,487 INFO L290 TraceCheckUtils]: 101: Hoare triple {7911#false} ~cond := #in~cond; {7911#false} is VALID [2022-04-28 12:42:32,488 INFO L272 TraceCheckUtils]: 100: Hoare triple {7911#false} call __VERIFIER_assert((if 4 * ~A~0 == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {7911#false} is VALID [2022-04-28 12:42:32,488 INFO L290 TraceCheckUtils]: 99: Hoare triple {8247#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {7911#false} is VALID [2022-04-28 12:42:32,488 INFO L290 TraceCheckUtils]: 98: Hoare triple {8251#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8247#(< |main_#t~post6| 20)} is VALID [2022-04-28 12:42:32,488 INFO L290 TraceCheckUtils]: 97: Hoare triple {8251#(< ~counter~0 20)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {8251#(< ~counter~0 20)} is VALID [2022-04-28 12:42:32,489 INFO L290 TraceCheckUtils]: 96: Hoare triple {8251#(< ~counter~0 20)} assume !!(0 != ~r~0); {8251#(< ~counter~0 20)} is VALID [2022-04-28 12:42:32,489 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {7910#true} {8251#(< ~counter~0 20)} #63#return; {8251#(< ~counter~0 20)} is VALID [2022-04-28 12:42:32,489 INFO L290 TraceCheckUtils]: 94: Hoare triple {7910#true} assume true; {7910#true} is VALID [2022-04-28 12:42:32,489 INFO L290 TraceCheckUtils]: 93: Hoare triple {7910#true} assume !(0 == ~cond); {7910#true} is VALID [2022-04-28 12:42:32,490 INFO L290 TraceCheckUtils]: 92: Hoare triple {7910#true} ~cond := #in~cond; {7910#true} is VALID [2022-04-28 12:42:32,490 INFO L272 TraceCheckUtils]: 91: Hoare triple {8251#(< ~counter~0 20)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {7910#true} is VALID [2022-04-28 12:42:32,490 INFO L290 TraceCheckUtils]: 90: Hoare triple {8251#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6; {8251#(< ~counter~0 20)} is VALID [2022-04-28 12:42:32,490 INFO L290 TraceCheckUtils]: 89: Hoare triple {8279#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8251#(< ~counter~0 20)} is VALID [2022-04-28 12:42:32,491 INFO L290 TraceCheckUtils]: 88: Hoare triple {8279#(< ~counter~0 19)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {8279#(< ~counter~0 19)} is VALID [2022-04-28 12:42:32,491 INFO L290 TraceCheckUtils]: 87: Hoare triple {8279#(< ~counter~0 19)} assume !!(0 != ~r~0); {8279#(< ~counter~0 19)} is VALID [2022-04-28 12:42:32,492 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {7910#true} {8279#(< ~counter~0 19)} #63#return; {8279#(< ~counter~0 19)} is VALID [2022-04-28 12:42:32,492 INFO L290 TraceCheckUtils]: 85: Hoare triple {7910#true} assume true; {7910#true} is VALID [2022-04-28 12:42:32,492 INFO L290 TraceCheckUtils]: 84: Hoare triple {7910#true} assume !(0 == ~cond); {7910#true} is VALID [2022-04-28 12:42:32,492 INFO L290 TraceCheckUtils]: 83: Hoare triple {7910#true} ~cond := #in~cond; {7910#true} is VALID [2022-04-28 12:42:32,505 INFO L272 TraceCheckUtils]: 82: Hoare triple {8279#(< ~counter~0 19)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {7910#true} is VALID [2022-04-28 12:42:32,510 INFO L290 TraceCheckUtils]: 81: Hoare triple {8279#(< ~counter~0 19)} assume !!(#t~post6 < 20);havoc #t~post6; {8279#(< ~counter~0 19)} is VALID [2022-04-28 12:42:32,511 INFO L290 TraceCheckUtils]: 80: Hoare triple {8307#(< ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8279#(< ~counter~0 19)} is VALID [2022-04-28 12:42:32,511 INFO L290 TraceCheckUtils]: 79: Hoare triple {8307#(< ~counter~0 18)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {8307#(< ~counter~0 18)} is VALID [2022-04-28 12:42:32,512 INFO L290 TraceCheckUtils]: 78: Hoare triple {8307#(< ~counter~0 18)} assume !!(0 != ~r~0); {8307#(< ~counter~0 18)} is VALID [2022-04-28 12:42:32,513 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {7910#true} {8307#(< ~counter~0 18)} #63#return; {8307#(< ~counter~0 18)} is VALID [2022-04-28 12:42:32,513 INFO L290 TraceCheckUtils]: 76: Hoare triple {7910#true} assume true; {7910#true} is VALID [2022-04-28 12:42:32,513 INFO L290 TraceCheckUtils]: 75: Hoare triple {7910#true} assume !(0 == ~cond); {7910#true} is VALID [2022-04-28 12:42:32,513 INFO L290 TraceCheckUtils]: 74: Hoare triple {7910#true} ~cond := #in~cond; {7910#true} is VALID [2022-04-28 12:42:32,513 INFO L272 TraceCheckUtils]: 73: Hoare triple {8307#(< ~counter~0 18)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {7910#true} is VALID [2022-04-28 12:42:32,513 INFO L290 TraceCheckUtils]: 72: Hoare triple {8307#(< ~counter~0 18)} assume !!(#t~post6 < 20);havoc #t~post6; {8307#(< ~counter~0 18)} is VALID [2022-04-28 12:42:32,514 INFO L290 TraceCheckUtils]: 71: Hoare triple {8335#(< ~counter~0 17)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8307#(< ~counter~0 18)} is VALID [2022-04-28 12:42:32,514 INFO L290 TraceCheckUtils]: 70: Hoare triple {8335#(< ~counter~0 17)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {8335#(< ~counter~0 17)} is VALID [2022-04-28 12:42:32,515 INFO L290 TraceCheckUtils]: 69: Hoare triple {8335#(< ~counter~0 17)} assume !!(0 != ~r~0); {8335#(< ~counter~0 17)} is VALID [2022-04-28 12:42:32,515 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {7910#true} {8335#(< ~counter~0 17)} #63#return; {8335#(< ~counter~0 17)} is VALID [2022-04-28 12:42:32,515 INFO L290 TraceCheckUtils]: 67: Hoare triple {7910#true} assume true; {7910#true} is VALID [2022-04-28 12:42:32,515 INFO L290 TraceCheckUtils]: 66: Hoare triple {7910#true} assume !(0 == ~cond); {7910#true} is VALID [2022-04-28 12:42:32,515 INFO L290 TraceCheckUtils]: 65: Hoare triple {7910#true} ~cond := #in~cond; {7910#true} is VALID [2022-04-28 12:42:32,515 INFO L272 TraceCheckUtils]: 64: Hoare triple {8335#(< ~counter~0 17)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {7910#true} is VALID [2022-04-28 12:42:32,516 INFO L290 TraceCheckUtils]: 63: Hoare triple {8335#(< ~counter~0 17)} assume !!(#t~post6 < 20);havoc #t~post6; {8335#(< ~counter~0 17)} is VALID [2022-04-28 12:42:32,516 INFO L290 TraceCheckUtils]: 62: Hoare triple {8363#(< ~counter~0 16)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8335#(< ~counter~0 17)} is VALID [2022-04-28 12:42:32,516 INFO L290 TraceCheckUtils]: 61: Hoare triple {8363#(< ~counter~0 16)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {8363#(< ~counter~0 16)} is VALID [2022-04-28 12:42:32,519 INFO L290 TraceCheckUtils]: 60: Hoare triple {8363#(< ~counter~0 16)} assume !!(0 != ~r~0); {8363#(< ~counter~0 16)} is VALID [2022-04-28 12:42:32,520 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {7910#true} {8363#(< ~counter~0 16)} #63#return; {8363#(< ~counter~0 16)} is VALID [2022-04-28 12:42:32,520 INFO L290 TraceCheckUtils]: 58: Hoare triple {7910#true} assume true; {7910#true} is VALID [2022-04-28 12:42:32,520 INFO L290 TraceCheckUtils]: 57: Hoare triple {7910#true} assume !(0 == ~cond); {7910#true} is VALID [2022-04-28 12:42:32,520 INFO L290 TraceCheckUtils]: 56: Hoare triple {7910#true} ~cond := #in~cond; {7910#true} is VALID [2022-04-28 12:42:32,520 INFO L272 TraceCheckUtils]: 55: Hoare triple {8363#(< ~counter~0 16)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {7910#true} is VALID [2022-04-28 12:42:32,520 INFO L290 TraceCheckUtils]: 54: Hoare triple {8363#(< ~counter~0 16)} assume !!(#t~post6 < 20);havoc #t~post6; {8363#(< ~counter~0 16)} is VALID [2022-04-28 12:42:32,521 INFO L290 TraceCheckUtils]: 53: Hoare triple {8391#(< ~counter~0 15)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8363#(< ~counter~0 16)} is VALID [2022-04-28 12:42:32,521 INFO L290 TraceCheckUtils]: 52: Hoare triple {8391#(< ~counter~0 15)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {8391#(< ~counter~0 15)} is VALID [2022-04-28 12:42:32,522 INFO L290 TraceCheckUtils]: 51: Hoare triple {8391#(< ~counter~0 15)} assume !!(0 != ~r~0); {8391#(< ~counter~0 15)} is VALID [2022-04-28 12:42:32,522 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {7910#true} {8391#(< ~counter~0 15)} #63#return; {8391#(< ~counter~0 15)} is VALID [2022-04-28 12:42:32,522 INFO L290 TraceCheckUtils]: 49: Hoare triple {7910#true} assume true; {7910#true} is VALID [2022-04-28 12:42:32,522 INFO L290 TraceCheckUtils]: 48: Hoare triple {7910#true} assume !(0 == ~cond); {7910#true} is VALID [2022-04-28 12:42:32,522 INFO L290 TraceCheckUtils]: 47: Hoare triple {7910#true} ~cond := #in~cond; {7910#true} is VALID [2022-04-28 12:42:32,523 INFO L272 TraceCheckUtils]: 46: Hoare triple {8391#(< ~counter~0 15)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {7910#true} is VALID [2022-04-28 12:42:32,523 INFO L290 TraceCheckUtils]: 45: Hoare triple {8391#(< ~counter~0 15)} assume !!(#t~post6 < 20);havoc #t~post6; {8391#(< ~counter~0 15)} is VALID [2022-04-28 12:42:32,524 INFO L290 TraceCheckUtils]: 44: Hoare triple {8419#(< ~counter~0 14)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8391#(< ~counter~0 15)} is VALID [2022-04-28 12:42:32,524 INFO L290 TraceCheckUtils]: 43: Hoare triple {8419#(< ~counter~0 14)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {8419#(< ~counter~0 14)} is VALID [2022-04-28 12:42:32,524 INFO L290 TraceCheckUtils]: 42: Hoare triple {8419#(< ~counter~0 14)} assume !!(0 != ~r~0); {8419#(< ~counter~0 14)} is VALID [2022-04-28 12:42:32,525 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {7910#true} {8419#(< ~counter~0 14)} #63#return; {8419#(< ~counter~0 14)} is VALID [2022-04-28 12:42:32,525 INFO L290 TraceCheckUtils]: 40: Hoare triple {7910#true} assume true; {7910#true} is VALID [2022-04-28 12:42:32,525 INFO L290 TraceCheckUtils]: 39: Hoare triple {7910#true} assume !(0 == ~cond); {7910#true} is VALID [2022-04-28 12:42:32,525 INFO L290 TraceCheckUtils]: 38: Hoare triple {7910#true} ~cond := #in~cond; {7910#true} is VALID [2022-04-28 12:42:32,526 INFO L272 TraceCheckUtils]: 37: Hoare triple {8419#(< ~counter~0 14)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {7910#true} is VALID [2022-04-28 12:42:32,526 INFO L290 TraceCheckUtils]: 36: Hoare triple {8419#(< ~counter~0 14)} assume !!(#t~post6 < 20);havoc #t~post6; {8419#(< ~counter~0 14)} is VALID [2022-04-28 12:42:32,526 INFO L290 TraceCheckUtils]: 35: Hoare triple {8447#(< ~counter~0 13)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8419#(< ~counter~0 14)} is VALID [2022-04-28 12:42:32,527 INFO L290 TraceCheckUtils]: 34: Hoare triple {8447#(< ~counter~0 13)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {8447#(< ~counter~0 13)} is VALID [2022-04-28 12:42:32,527 INFO L290 TraceCheckUtils]: 33: Hoare triple {8447#(< ~counter~0 13)} assume !!(0 != ~r~0); {8447#(< ~counter~0 13)} is VALID [2022-04-28 12:42:32,528 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {7910#true} {8447#(< ~counter~0 13)} #63#return; {8447#(< ~counter~0 13)} is VALID [2022-04-28 12:42:32,528 INFO L290 TraceCheckUtils]: 31: Hoare triple {7910#true} assume true; {7910#true} is VALID [2022-04-28 12:42:32,528 INFO L290 TraceCheckUtils]: 30: Hoare triple {7910#true} assume !(0 == ~cond); {7910#true} is VALID [2022-04-28 12:42:32,528 INFO L290 TraceCheckUtils]: 29: Hoare triple {7910#true} ~cond := #in~cond; {7910#true} is VALID [2022-04-28 12:42:32,528 INFO L272 TraceCheckUtils]: 28: Hoare triple {8447#(< ~counter~0 13)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {7910#true} is VALID [2022-04-28 12:42:32,529 INFO L290 TraceCheckUtils]: 27: Hoare triple {8447#(< ~counter~0 13)} assume !!(#t~post6 < 20);havoc #t~post6; {8447#(< ~counter~0 13)} is VALID [2022-04-28 12:42:32,529 INFO L290 TraceCheckUtils]: 26: Hoare triple {8475#(< ~counter~0 12)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8447#(< ~counter~0 13)} is VALID [2022-04-28 12:42:32,530 INFO L290 TraceCheckUtils]: 25: Hoare triple {8475#(< ~counter~0 12)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {8475#(< ~counter~0 12)} is VALID [2022-04-28 12:42:32,530 INFO L290 TraceCheckUtils]: 24: Hoare triple {8475#(< ~counter~0 12)} assume !!(0 != ~r~0); {8475#(< ~counter~0 12)} is VALID [2022-04-28 12:42:32,531 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {7910#true} {8475#(< ~counter~0 12)} #63#return; {8475#(< ~counter~0 12)} is VALID [2022-04-28 12:42:32,531 INFO L290 TraceCheckUtils]: 22: Hoare triple {7910#true} assume true; {7910#true} is VALID [2022-04-28 12:42:32,531 INFO L290 TraceCheckUtils]: 21: Hoare triple {7910#true} assume !(0 == ~cond); {7910#true} is VALID [2022-04-28 12:42:32,531 INFO L290 TraceCheckUtils]: 20: Hoare triple {7910#true} ~cond := #in~cond; {7910#true} is VALID [2022-04-28 12:42:32,531 INFO L272 TraceCheckUtils]: 19: Hoare triple {8475#(< ~counter~0 12)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {7910#true} is VALID [2022-04-28 12:42:32,532 INFO L290 TraceCheckUtils]: 18: Hoare triple {8475#(< ~counter~0 12)} assume !!(#t~post6 < 20);havoc #t~post6; {8475#(< ~counter~0 12)} is VALID [2022-04-28 12:42:32,532 INFO L290 TraceCheckUtils]: 17: Hoare triple {8503#(< ~counter~0 11)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8475#(< ~counter~0 12)} is VALID [2022-04-28 12:42:32,533 INFO L290 TraceCheckUtils]: 16: Hoare triple {8503#(< ~counter~0 11)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {8503#(< ~counter~0 11)} is VALID [2022-04-28 12:42:32,533 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {7910#true} {8503#(< ~counter~0 11)} #61#return; {8503#(< ~counter~0 11)} is VALID [2022-04-28 12:42:32,534 INFO L290 TraceCheckUtils]: 14: Hoare triple {7910#true} assume true; {7910#true} is VALID [2022-04-28 12:42:32,534 INFO L290 TraceCheckUtils]: 13: Hoare triple {7910#true} assume !(0 == ~cond); {7910#true} is VALID [2022-04-28 12:42:32,534 INFO L290 TraceCheckUtils]: 12: Hoare triple {7910#true} ~cond := #in~cond; {7910#true} is VALID [2022-04-28 12:42:32,534 INFO L272 TraceCheckUtils]: 11: Hoare triple {8503#(< ~counter~0 11)} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {7910#true} is VALID [2022-04-28 12:42:32,534 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7910#true} {8503#(< ~counter~0 11)} #59#return; {8503#(< ~counter~0 11)} is VALID [2022-04-28 12:42:32,534 INFO L290 TraceCheckUtils]: 9: Hoare triple {7910#true} assume true; {7910#true} is VALID [2022-04-28 12:42:32,535 INFO L290 TraceCheckUtils]: 8: Hoare triple {7910#true} assume !(0 == ~cond); {7910#true} is VALID [2022-04-28 12:42:32,535 INFO L290 TraceCheckUtils]: 7: Hoare triple {7910#true} ~cond := #in~cond; {7910#true} is VALID [2022-04-28 12:42:32,535 INFO L272 TraceCheckUtils]: 6: Hoare triple {8503#(< ~counter~0 11)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {7910#true} is VALID [2022-04-28 12:42:32,535 INFO L290 TraceCheckUtils]: 5: Hoare triple {8503#(< ~counter~0 11)} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~R~0 := #t~nondet5;havoc #t~nondet5; {8503#(< ~counter~0 11)} is VALID [2022-04-28 12:42:32,536 INFO L272 TraceCheckUtils]: 4: Hoare triple {8503#(< ~counter~0 11)} call #t~ret7 := main(); {8503#(< ~counter~0 11)} is VALID [2022-04-28 12:42:32,536 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8503#(< ~counter~0 11)} {7910#true} #67#return; {8503#(< ~counter~0 11)} is VALID [2022-04-28 12:42:32,537 INFO L290 TraceCheckUtils]: 2: Hoare triple {8503#(< ~counter~0 11)} assume true; {8503#(< ~counter~0 11)} is VALID [2022-04-28 12:42:32,537 INFO L290 TraceCheckUtils]: 1: Hoare triple {7910#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; {8503#(< ~counter~0 11)} is VALID [2022-04-28 12:42:32,537 INFO L272 TraceCheckUtils]: 0: Hoare triple {7910#true} call ULTIMATE.init(); {7910#true} is VALID [2022-04-28 12:42:32,538 INFO L134 CoverageAnalysis]: Checked inductivity of 364 backedges. 18 proven. 198 refuted. 0 times theorem prover too weak. 148 trivial. 0 not checked. [2022-04-28 12:42:32,538 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:42:32,538 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [986828341] [2022-04-28 12:42:32,538 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:42:32,538 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1183814138] [2022-04-28 12:42:32,538 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1183814138] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:42:32,538 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:42:32,539 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13] total 24 [2022-04-28 12:42:32,539 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:42:32,539 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1442574111] [2022-04-28 12:42:32,539 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1442574111] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:42:32,539 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:42:32,539 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 12:42:32,539 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [925755783] [2022-04-28 12:42:32,539 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:42:32,540 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, (14), 12 states have call predecessors, (14), 10 states have return successors, (12), 10 states have call predecessors, (12), 11 states have call successors, (12) Word has length 104 [2022-04-28 12:42:32,540 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:42:32,540 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, (14), 12 states have call predecessors, (14), 10 states have return successors, (12), 10 states have call predecessors, (12), 11 states have call successors, (12) [2022-04-28 12:42:32,615 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 101 edges. 101 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:42:32,615 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 12:42:32,615 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:42:32,615 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 12:42:32,616 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=236, Invalid=316, Unknown=0, NotChecked=0, Total=552 [2022-04-28 12:42:32,616 INFO L87 Difference]: Start difference. First operand 101 states and 111 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, (14), 12 states have call predecessors, (14), 10 states have return successors, (12), 10 states have call predecessors, (12), 11 states have call successors, (12) [2022-04-28 12:42:32,985 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:42:32,985 INFO L93 Difference]: Finished difference Result 115 states and 126 transitions. [2022-04-28 12:42:32,985 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-04-28 12:42:32,986 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, (14), 12 states have call predecessors, (14), 10 states have return successors, (12), 10 states have call predecessors, (12), 11 states have call successors, (12) Word has length 104 [2022-04-28 12:42:32,986 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:42:32,986 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, (14), 12 states have call predecessors, (14), 10 states have return successors, (12), 10 states have call predecessors, (12), 11 states have call successors, (12) [2022-04-28 12:42:32,989 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 125 transitions. [2022-04-28 12:42:32,989 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, (14), 12 states have call predecessors, (14), 10 states have return successors, (12), 10 states have call predecessors, (12), 11 states have call successors, (12) [2022-04-28 12:42:32,991 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 125 transitions. [2022-04-28 12:42:32,991 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 22 states and 125 transitions. [2022-04-28 12:42:33,090 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 125 edges. 125 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:42:33,092 INFO L225 Difference]: With dead ends: 115 [2022-04-28 12:42:33,092 INFO L226 Difference]: Without dead ends: 110 [2022-04-28 12:42:33,093 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 216 GetRequests, 185 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-28 12:42:33,094 INFO L413 NwaCegarLoop]: 35 mSDtfsCounter, 26 mSDsluCounter, 119 mSDsCounter, 0 mSdLazyCounter, 62 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 26 SdHoareTripleChecker+Valid, 154 SdHoareTripleChecker+Invalid, 69 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 62 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:42:33,094 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [26 Valid, 154 Invalid, 69 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 62 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:42:33,094 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 110 states. [2022-04-28 12:42:33,195 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 110 to 110. [2022-04-28 12:42:33,196 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:42:33,196 INFO L82 GeneralOperation]: Start isEquivalent. First operand 110 states. Second operand has 110 states, 82 states have (on average 1.1341463414634145) internal successors, (93), 82 states have internal predecessors, (93), 15 states have call successors, (15), 14 states have call predecessors, (15), 12 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 12:42:33,196 INFO L74 IsIncluded]: Start isIncluded. First operand 110 states. Second operand has 110 states, 82 states have (on average 1.1341463414634145) internal successors, (93), 82 states have internal predecessors, (93), 15 states have call successors, (15), 14 states have call predecessors, (15), 12 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 12:42:33,196 INFO L87 Difference]: Start difference. First operand 110 states. Second operand has 110 states, 82 states have (on average 1.1341463414634145) internal successors, (93), 82 states have internal predecessors, (93), 15 states have call successors, (15), 14 states have call predecessors, (15), 12 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 12:42:33,198 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:42:33,198 INFO L93 Difference]: Finished difference Result 110 states and 121 transitions. [2022-04-28 12:42:33,198 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 121 transitions. [2022-04-28 12:42:33,199 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:42:33,199 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:42:33,199 INFO L74 IsIncluded]: Start isIncluded. First operand has 110 states, 82 states have (on average 1.1341463414634145) internal successors, (93), 82 states have internal predecessors, (93), 15 states have call successors, (15), 14 states have call predecessors, (15), 12 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 110 states. [2022-04-28 12:42:33,199 INFO L87 Difference]: Start difference. First operand has 110 states, 82 states have (on average 1.1341463414634145) internal successors, (93), 82 states have internal predecessors, (93), 15 states have call successors, (15), 14 states have call predecessors, (15), 12 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 110 states. [2022-04-28 12:42:33,201 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:42:33,201 INFO L93 Difference]: Finished difference Result 110 states and 121 transitions. [2022-04-28 12:42:33,201 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 121 transitions. [2022-04-28 12:42:33,202 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:42:33,202 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:42:33,202 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:42:33,202 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:42:33,202 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 110 states, 82 states have (on average 1.1341463414634145) internal successors, (93), 82 states have internal predecessors, (93), 15 states have call successors, (15), 14 states have call predecessors, (15), 12 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 12:42:33,204 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 110 states to 110 states and 121 transitions. [2022-04-28 12:42:33,204 INFO L78 Accepts]: Start accepts. Automaton has 110 states and 121 transitions. Word has length 104 [2022-04-28 12:42:33,205 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:42:33,205 INFO L495 AbstractCegarLoop]: Abstraction has 110 states and 121 transitions. [2022-04-28 12:42:33,205 INFO L496 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, (14), 12 states have call predecessors, (14), 10 states have return successors, (12), 10 states have call predecessors, (12), 11 states have call successors, (12) [2022-04-28 12:42:33,205 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 110 states and 121 transitions. [2022-04-28 12:42:33,930 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 121 edges. 121 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:42:33,930 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 121 transitions. [2022-04-28 12:42:33,931 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 114 [2022-04-28 12:42:33,931 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:42:33,931 INFO L195 NwaCegarLoop]: trace histogram [11, 11, 10, 10, 10, 10, 10, 10, 10, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:42:33,936 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Ended with exit code 0 [2022-04-28 12:42:34,136 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-28 12:42:34,137 INFO L420 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:42:34,137 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:42:34,137 INFO L85 PathProgramCache]: Analyzing trace with hash -1468805930, now seen corresponding path program 19 times [2022-04-28 12:42:34,137 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:42:34,137 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1001317265] [2022-04-28 12:42:34,137 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:42:34,138 INFO L85 PathProgramCache]: Analyzing trace with hash -1468805930, now seen corresponding path program 20 times [2022-04-28 12:42:34,138 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:42:34,138 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1792170208] [2022-04-28 12:42:34,138 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:42:34,138 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:42:34,152 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:42:34,152 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1438106808] [2022-04-28 12:42:34,152 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:42:34,152 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:42:34,153 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:42:34,153 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-28 12:42:34,159 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-28 12:42:34,216 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:42:34,216 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:42:34,217 INFO L263 TraceCheckSpWp]: Trace formula consists of 293 conjuncts, 25 conjunts are in the unsatisfiable core [2022-04-28 12:42:34,238 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:42:34,240 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:42:34,802 INFO L272 TraceCheckUtils]: 0: Hoare triple {9245#true} call ULTIMATE.init(); {9245#true} is VALID [2022-04-28 12:42:34,803 INFO L290 TraceCheckUtils]: 1: Hoare triple {9245#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; {9253#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:34,803 INFO L290 TraceCheckUtils]: 2: Hoare triple {9253#(<= ~counter~0 0)} assume true; {9253#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:34,803 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9253#(<= ~counter~0 0)} {9245#true} #67#return; {9253#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:34,804 INFO L272 TraceCheckUtils]: 4: Hoare triple {9253#(<= ~counter~0 0)} call #t~ret7 := main(); {9253#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:34,804 INFO L290 TraceCheckUtils]: 5: Hoare triple {9253#(<= ~counter~0 0)} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~R~0 := #t~nondet5;havoc #t~nondet5; {9253#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:34,804 INFO L272 TraceCheckUtils]: 6: Hoare triple {9253#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {9253#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:34,805 INFO L290 TraceCheckUtils]: 7: Hoare triple {9253#(<= ~counter~0 0)} ~cond := #in~cond; {9253#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:34,805 INFO L290 TraceCheckUtils]: 8: Hoare triple {9253#(<= ~counter~0 0)} assume !(0 == ~cond); {9253#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:34,805 INFO L290 TraceCheckUtils]: 9: Hoare triple {9253#(<= ~counter~0 0)} assume true; {9253#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:34,806 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9253#(<= ~counter~0 0)} {9253#(<= ~counter~0 0)} #59#return; {9253#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:34,806 INFO L272 TraceCheckUtils]: 11: Hoare triple {9253#(<= ~counter~0 0)} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {9253#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:34,806 INFO L290 TraceCheckUtils]: 12: Hoare triple {9253#(<= ~counter~0 0)} ~cond := #in~cond; {9253#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:34,807 INFO L290 TraceCheckUtils]: 13: Hoare triple {9253#(<= ~counter~0 0)} assume !(0 == ~cond); {9253#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:34,807 INFO L290 TraceCheckUtils]: 14: Hoare triple {9253#(<= ~counter~0 0)} assume true; {9253#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:34,807 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {9253#(<= ~counter~0 0)} {9253#(<= ~counter~0 0)} #61#return; {9253#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:34,808 INFO L290 TraceCheckUtils]: 16: Hoare triple {9253#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {9253#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:34,808 INFO L290 TraceCheckUtils]: 17: Hoare triple {9253#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9302#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:34,811 INFO L290 TraceCheckUtils]: 18: Hoare triple {9302#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {9302#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:34,812 INFO L272 TraceCheckUtils]: 19: Hoare triple {9302#(<= ~counter~0 1)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {9302#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:34,812 INFO L290 TraceCheckUtils]: 20: Hoare triple {9302#(<= ~counter~0 1)} ~cond := #in~cond; {9302#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:34,812 INFO L290 TraceCheckUtils]: 21: Hoare triple {9302#(<= ~counter~0 1)} assume !(0 == ~cond); {9302#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:34,813 INFO L290 TraceCheckUtils]: 22: Hoare triple {9302#(<= ~counter~0 1)} assume true; {9302#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:34,814 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {9302#(<= ~counter~0 1)} {9302#(<= ~counter~0 1)} #63#return; {9302#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:34,814 INFO L290 TraceCheckUtils]: 24: Hoare triple {9302#(<= ~counter~0 1)} assume !!(0 != ~r~0); {9302#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:34,814 INFO L290 TraceCheckUtils]: 25: Hoare triple {9302#(<= ~counter~0 1)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {9302#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:34,815 INFO L290 TraceCheckUtils]: 26: Hoare triple {9302#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9330#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:34,815 INFO L290 TraceCheckUtils]: 27: Hoare triple {9330#(<= ~counter~0 2)} assume !!(#t~post6 < 20);havoc #t~post6; {9330#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:34,816 INFO L272 TraceCheckUtils]: 28: Hoare triple {9330#(<= ~counter~0 2)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {9330#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:34,816 INFO L290 TraceCheckUtils]: 29: Hoare triple {9330#(<= ~counter~0 2)} ~cond := #in~cond; {9330#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:34,817 INFO L290 TraceCheckUtils]: 30: Hoare triple {9330#(<= ~counter~0 2)} assume !(0 == ~cond); {9330#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:34,817 INFO L290 TraceCheckUtils]: 31: Hoare triple {9330#(<= ~counter~0 2)} assume true; {9330#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:34,818 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {9330#(<= ~counter~0 2)} {9330#(<= ~counter~0 2)} #63#return; {9330#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:34,818 INFO L290 TraceCheckUtils]: 33: Hoare triple {9330#(<= ~counter~0 2)} assume !!(0 != ~r~0); {9330#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:34,818 INFO L290 TraceCheckUtils]: 34: Hoare triple {9330#(<= ~counter~0 2)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {9330#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:34,819 INFO L290 TraceCheckUtils]: 35: Hoare triple {9330#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9358#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:34,819 INFO L290 TraceCheckUtils]: 36: Hoare triple {9358#(<= ~counter~0 3)} assume !!(#t~post6 < 20);havoc #t~post6; {9358#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:34,820 INFO L272 TraceCheckUtils]: 37: Hoare triple {9358#(<= ~counter~0 3)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {9358#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:34,820 INFO L290 TraceCheckUtils]: 38: Hoare triple {9358#(<= ~counter~0 3)} ~cond := #in~cond; {9358#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:34,821 INFO L290 TraceCheckUtils]: 39: Hoare triple {9358#(<= ~counter~0 3)} assume !(0 == ~cond); {9358#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:34,821 INFO L290 TraceCheckUtils]: 40: Hoare triple {9358#(<= ~counter~0 3)} assume true; {9358#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:34,822 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {9358#(<= ~counter~0 3)} {9358#(<= ~counter~0 3)} #63#return; {9358#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:34,822 INFO L290 TraceCheckUtils]: 42: Hoare triple {9358#(<= ~counter~0 3)} assume !!(0 != ~r~0); {9358#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:34,822 INFO L290 TraceCheckUtils]: 43: Hoare triple {9358#(<= ~counter~0 3)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {9358#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:34,823 INFO L290 TraceCheckUtils]: 44: Hoare triple {9358#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9386#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:34,823 INFO L290 TraceCheckUtils]: 45: Hoare triple {9386#(<= ~counter~0 4)} assume !!(#t~post6 < 20);havoc #t~post6; {9386#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:34,824 INFO L272 TraceCheckUtils]: 46: Hoare triple {9386#(<= ~counter~0 4)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {9386#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:34,824 INFO L290 TraceCheckUtils]: 47: Hoare triple {9386#(<= ~counter~0 4)} ~cond := #in~cond; {9386#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:34,824 INFO L290 TraceCheckUtils]: 48: Hoare triple {9386#(<= ~counter~0 4)} assume !(0 == ~cond); {9386#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:34,825 INFO L290 TraceCheckUtils]: 49: Hoare triple {9386#(<= ~counter~0 4)} assume true; {9386#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:34,826 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {9386#(<= ~counter~0 4)} {9386#(<= ~counter~0 4)} #63#return; {9386#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:34,826 INFO L290 TraceCheckUtils]: 51: Hoare triple {9386#(<= ~counter~0 4)} assume !!(0 != ~r~0); {9386#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:34,826 INFO L290 TraceCheckUtils]: 52: Hoare triple {9386#(<= ~counter~0 4)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {9386#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:34,827 INFO L290 TraceCheckUtils]: 53: Hoare triple {9386#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9414#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:34,827 INFO L290 TraceCheckUtils]: 54: Hoare triple {9414#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {9414#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:34,828 INFO L272 TraceCheckUtils]: 55: Hoare triple {9414#(<= ~counter~0 5)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {9414#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:34,828 INFO L290 TraceCheckUtils]: 56: Hoare triple {9414#(<= ~counter~0 5)} ~cond := #in~cond; {9414#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:34,828 INFO L290 TraceCheckUtils]: 57: Hoare triple {9414#(<= ~counter~0 5)} assume !(0 == ~cond); {9414#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:34,829 INFO L290 TraceCheckUtils]: 58: Hoare triple {9414#(<= ~counter~0 5)} assume true; {9414#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:34,829 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {9414#(<= ~counter~0 5)} {9414#(<= ~counter~0 5)} #63#return; {9414#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:34,830 INFO L290 TraceCheckUtils]: 60: Hoare triple {9414#(<= ~counter~0 5)} assume !!(0 != ~r~0); {9414#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:34,830 INFO L290 TraceCheckUtils]: 61: Hoare triple {9414#(<= ~counter~0 5)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {9414#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:34,830 INFO L290 TraceCheckUtils]: 62: Hoare triple {9414#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9442#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:34,831 INFO L290 TraceCheckUtils]: 63: Hoare triple {9442#(<= ~counter~0 6)} assume !!(#t~post6 < 20);havoc #t~post6; {9442#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:34,831 INFO L272 TraceCheckUtils]: 64: Hoare triple {9442#(<= ~counter~0 6)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {9442#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:34,832 INFO L290 TraceCheckUtils]: 65: Hoare triple {9442#(<= ~counter~0 6)} ~cond := #in~cond; {9442#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:34,832 INFO L290 TraceCheckUtils]: 66: Hoare triple {9442#(<= ~counter~0 6)} assume !(0 == ~cond); {9442#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:34,832 INFO L290 TraceCheckUtils]: 67: Hoare triple {9442#(<= ~counter~0 6)} assume true; {9442#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:34,833 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {9442#(<= ~counter~0 6)} {9442#(<= ~counter~0 6)} #63#return; {9442#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:34,833 INFO L290 TraceCheckUtils]: 69: Hoare triple {9442#(<= ~counter~0 6)} assume !!(0 != ~r~0); {9442#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:34,834 INFO L290 TraceCheckUtils]: 70: Hoare triple {9442#(<= ~counter~0 6)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {9442#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:34,834 INFO L290 TraceCheckUtils]: 71: Hoare triple {9442#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9470#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:34,834 INFO L290 TraceCheckUtils]: 72: Hoare triple {9470#(<= ~counter~0 7)} assume !!(#t~post6 < 20);havoc #t~post6; {9470#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:34,835 INFO L272 TraceCheckUtils]: 73: Hoare triple {9470#(<= ~counter~0 7)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {9470#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:34,835 INFO L290 TraceCheckUtils]: 74: Hoare triple {9470#(<= ~counter~0 7)} ~cond := #in~cond; {9470#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:34,836 INFO L290 TraceCheckUtils]: 75: Hoare triple {9470#(<= ~counter~0 7)} assume !(0 == ~cond); {9470#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:34,836 INFO L290 TraceCheckUtils]: 76: Hoare triple {9470#(<= ~counter~0 7)} assume true; {9470#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:34,837 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {9470#(<= ~counter~0 7)} {9470#(<= ~counter~0 7)} #63#return; {9470#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:34,837 INFO L290 TraceCheckUtils]: 78: Hoare triple {9470#(<= ~counter~0 7)} assume !!(0 != ~r~0); {9470#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:34,837 INFO L290 TraceCheckUtils]: 79: Hoare triple {9470#(<= ~counter~0 7)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {9470#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:34,838 INFO L290 TraceCheckUtils]: 80: Hoare triple {9470#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9498#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:34,838 INFO L290 TraceCheckUtils]: 81: Hoare triple {9498#(<= ~counter~0 8)} assume !!(#t~post6 < 20);havoc #t~post6; {9498#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:34,839 INFO L272 TraceCheckUtils]: 82: Hoare triple {9498#(<= ~counter~0 8)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {9498#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:34,839 INFO L290 TraceCheckUtils]: 83: Hoare triple {9498#(<= ~counter~0 8)} ~cond := #in~cond; {9498#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:34,839 INFO L290 TraceCheckUtils]: 84: Hoare triple {9498#(<= ~counter~0 8)} assume !(0 == ~cond); {9498#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:34,840 INFO L290 TraceCheckUtils]: 85: Hoare triple {9498#(<= ~counter~0 8)} assume true; {9498#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:34,840 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {9498#(<= ~counter~0 8)} {9498#(<= ~counter~0 8)} #63#return; {9498#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:34,841 INFO L290 TraceCheckUtils]: 87: Hoare triple {9498#(<= ~counter~0 8)} assume !!(0 != ~r~0); {9498#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:34,841 INFO L290 TraceCheckUtils]: 88: Hoare triple {9498#(<= ~counter~0 8)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {9498#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:34,842 INFO L290 TraceCheckUtils]: 89: Hoare triple {9498#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9526#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:34,842 INFO L290 TraceCheckUtils]: 90: Hoare triple {9526#(<= ~counter~0 9)} assume !!(#t~post6 < 20);havoc #t~post6; {9526#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:34,842 INFO L272 TraceCheckUtils]: 91: Hoare triple {9526#(<= ~counter~0 9)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {9526#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:34,843 INFO L290 TraceCheckUtils]: 92: Hoare triple {9526#(<= ~counter~0 9)} ~cond := #in~cond; {9526#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:34,843 INFO L290 TraceCheckUtils]: 93: Hoare triple {9526#(<= ~counter~0 9)} assume !(0 == ~cond); {9526#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:34,844 INFO L290 TraceCheckUtils]: 94: Hoare triple {9526#(<= ~counter~0 9)} assume true; {9526#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:34,844 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {9526#(<= ~counter~0 9)} {9526#(<= ~counter~0 9)} #63#return; {9526#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:34,845 INFO L290 TraceCheckUtils]: 96: Hoare triple {9526#(<= ~counter~0 9)} assume !!(0 != ~r~0); {9526#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:34,845 INFO L290 TraceCheckUtils]: 97: Hoare triple {9526#(<= ~counter~0 9)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {9526#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:34,845 INFO L290 TraceCheckUtils]: 98: Hoare triple {9526#(<= ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9554#(<= ~counter~0 10)} is VALID [2022-04-28 12:42:34,846 INFO L290 TraceCheckUtils]: 99: Hoare triple {9554#(<= ~counter~0 10)} assume !!(#t~post6 < 20);havoc #t~post6; {9554#(<= ~counter~0 10)} is VALID [2022-04-28 12:42:34,846 INFO L272 TraceCheckUtils]: 100: Hoare triple {9554#(<= ~counter~0 10)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {9554#(<= ~counter~0 10)} is VALID [2022-04-28 12:42:34,847 INFO L290 TraceCheckUtils]: 101: Hoare triple {9554#(<= ~counter~0 10)} ~cond := #in~cond; {9554#(<= ~counter~0 10)} is VALID [2022-04-28 12:42:34,847 INFO L290 TraceCheckUtils]: 102: Hoare triple {9554#(<= ~counter~0 10)} assume !(0 == ~cond); {9554#(<= ~counter~0 10)} is VALID [2022-04-28 12:42:34,848 INFO L290 TraceCheckUtils]: 103: Hoare triple {9554#(<= ~counter~0 10)} assume true; {9554#(<= ~counter~0 10)} is VALID [2022-04-28 12:42:34,848 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {9554#(<= ~counter~0 10)} {9554#(<= ~counter~0 10)} #63#return; {9554#(<= ~counter~0 10)} is VALID [2022-04-28 12:42:34,849 INFO L290 TraceCheckUtils]: 105: Hoare triple {9554#(<= ~counter~0 10)} assume !!(0 != ~r~0); {9554#(<= ~counter~0 10)} is VALID [2022-04-28 12:42:34,849 INFO L290 TraceCheckUtils]: 106: Hoare triple {9554#(<= ~counter~0 10)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {9554#(<= ~counter~0 10)} is VALID [2022-04-28 12:42:34,849 INFO L290 TraceCheckUtils]: 107: Hoare triple {9554#(<= ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9582#(<= |main_#t~post6| 10)} is VALID [2022-04-28 12:42:34,850 INFO L290 TraceCheckUtils]: 108: Hoare triple {9582#(<= |main_#t~post6| 10)} assume !(#t~post6 < 20);havoc #t~post6; {9246#false} is VALID [2022-04-28 12:42:34,850 INFO L272 TraceCheckUtils]: 109: Hoare triple {9246#false} call __VERIFIER_assert((if 4 * ~A~0 == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {9246#false} is VALID [2022-04-28 12:42:34,850 INFO L290 TraceCheckUtils]: 110: Hoare triple {9246#false} ~cond := #in~cond; {9246#false} is VALID [2022-04-28 12:42:34,850 INFO L290 TraceCheckUtils]: 111: Hoare triple {9246#false} assume 0 == ~cond; {9246#false} is VALID [2022-04-28 12:42:34,850 INFO L290 TraceCheckUtils]: 112: Hoare triple {9246#false} assume !false; {9246#false} is VALID [2022-04-28 12:42:34,851 INFO L134 CoverageAnalysis]: Checked inductivity of 449 backedges. 20 proven. 425 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:42:34,851 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:42:35,434 INFO L290 TraceCheckUtils]: 112: Hoare triple {9246#false} assume !false; {9246#false} is VALID [2022-04-28 12:42:35,434 INFO L290 TraceCheckUtils]: 111: Hoare triple {9246#false} assume 0 == ~cond; {9246#false} is VALID [2022-04-28 12:42:35,434 INFO L290 TraceCheckUtils]: 110: Hoare triple {9246#false} ~cond := #in~cond; {9246#false} is VALID [2022-04-28 12:42:35,434 INFO L272 TraceCheckUtils]: 109: Hoare triple {9246#false} call __VERIFIER_assert((if 4 * ~A~0 == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {9246#false} is VALID [2022-04-28 12:42:35,435 INFO L290 TraceCheckUtils]: 108: Hoare triple {9610#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {9246#false} is VALID [2022-04-28 12:42:35,435 INFO L290 TraceCheckUtils]: 107: Hoare triple {9614#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9610#(< |main_#t~post6| 20)} is VALID [2022-04-28 12:42:35,436 INFO L290 TraceCheckUtils]: 106: Hoare triple {9614#(< ~counter~0 20)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {9614#(< ~counter~0 20)} is VALID [2022-04-28 12:42:35,436 INFO L290 TraceCheckUtils]: 105: Hoare triple {9614#(< ~counter~0 20)} assume !!(0 != ~r~0); {9614#(< ~counter~0 20)} is VALID [2022-04-28 12:42:35,436 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {9245#true} {9614#(< ~counter~0 20)} #63#return; {9614#(< ~counter~0 20)} is VALID [2022-04-28 12:42:35,437 INFO L290 TraceCheckUtils]: 103: Hoare triple {9245#true} assume true; {9245#true} is VALID [2022-04-28 12:42:35,437 INFO L290 TraceCheckUtils]: 102: Hoare triple {9245#true} assume !(0 == ~cond); {9245#true} is VALID [2022-04-28 12:42:35,437 INFO L290 TraceCheckUtils]: 101: Hoare triple {9245#true} ~cond := #in~cond; {9245#true} is VALID [2022-04-28 12:42:35,437 INFO L272 TraceCheckUtils]: 100: Hoare triple {9614#(< ~counter~0 20)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {9245#true} is VALID [2022-04-28 12:42:35,437 INFO L290 TraceCheckUtils]: 99: Hoare triple {9614#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6; {9614#(< ~counter~0 20)} is VALID [2022-04-28 12:42:35,438 INFO L290 TraceCheckUtils]: 98: Hoare triple {9642#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9614#(< ~counter~0 20)} is VALID [2022-04-28 12:42:35,438 INFO L290 TraceCheckUtils]: 97: Hoare triple {9642#(< ~counter~0 19)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {9642#(< ~counter~0 19)} is VALID [2022-04-28 12:42:35,438 INFO L290 TraceCheckUtils]: 96: Hoare triple {9642#(< ~counter~0 19)} assume !!(0 != ~r~0); {9642#(< ~counter~0 19)} is VALID [2022-04-28 12:42:35,439 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {9245#true} {9642#(< ~counter~0 19)} #63#return; {9642#(< ~counter~0 19)} is VALID [2022-04-28 12:42:35,439 INFO L290 TraceCheckUtils]: 94: Hoare triple {9245#true} assume true; {9245#true} is VALID [2022-04-28 12:42:35,439 INFO L290 TraceCheckUtils]: 93: Hoare triple {9245#true} assume !(0 == ~cond); {9245#true} is VALID [2022-04-28 12:42:35,439 INFO L290 TraceCheckUtils]: 92: Hoare triple {9245#true} ~cond := #in~cond; {9245#true} is VALID [2022-04-28 12:42:35,439 INFO L272 TraceCheckUtils]: 91: Hoare triple {9642#(< ~counter~0 19)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {9245#true} is VALID [2022-04-28 12:42:35,439 INFO L290 TraceCheckUtils]: 90: Hoare triple {9642#(< ~counter~0 19)} assume !!(#t~post6 < 20);havoc #t~post6; {9642#(< ~counter~0 19)} is VALID [2022-04-28 12:42:35,440 INFO L290 TraceCheckUtils]: 89: Hoare triple {9670#(< ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9642#(< ~counter~0 19)} is VALID [2022-04-28 12:42:35,440 INFO L290 TraceCheckUtils]: 88: Hoare triple {9670#(< ~counter~0 18)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {9670#(< ~counter~0 18)} is VALID [2022-04-28 12:42:35,440 INFO L290 TraceCheckUtils]: 87: Hoare triple {9670#(< ~counter~0 18)} assume !!(0 != ~r~0); {9670#(< ~counter~0 18)} is VALID [2022-04-28 12:42:35,441 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {9245#true} {9670#(< ~counter~0 18)} #63#return; {9670#(< ~counter~0 18)} is VALID [2022-04-28 12:42:35,441 INFO L290 TraceCheckUtils]: 85: Hoare triple {9245#true} assume true; {9245#true} is VALID [2022-04-28 12:42:35,441 INFO L290 TraceCheckUtils]: 84: Hoare triple {9245#true} assume !(0 == ~cond); {9245#true} is VALID [2022-04-28 12:42:35,441 INFO L290 TraceCheckUtils]: 83: Hoare triple {9245#true} ~cond := #in~cond; {9245#true} is VALID [2022-04-28 12:42:35,441 INFO L272 TraceCheckUtils]: 82: Hoare triple {9670#(< ~counter~0 18)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {9245#true} is VALID [2022-04-28 12:42:35,441 INFO L290 TraceCheckUtils]: 81: Hoare triple {9670#(< ~counter~0 18)} assume !!(#t~post6 < 20);havoc #t~post6; {9670#(< ~counter~0 18)} is VALID [2022-04-28 12:42:35,442 INFO L290 TraceCheckUtils]: 80: Hoare triple {9698#(< ~counter~0 17)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9670#(< ~counter~0 18)} is VALID [2022-04-28 12:42:35,442 INFO L290 TraceCheckUtils]: 79: Hoare triple {9698#(< ~counter~0 17)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {9698#(< ~counter~0 17)} is VALID [2022-04-28 12:42:35,442 INFO L290 TraceCheckUtils]: 78: Hoare triple {9698#(< ~counter~0 17)} assume !!(0 != ~r~0); {9698#(< ~counter~0 17)} is VALID [2022-04-28 12:42:35,443 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {9245#true} {9698#(< ~counter~0 17)} #63#return; {9698#(< ~counter~0 17)} is VALID [2022-04-28 12:42:35,443 INFO L290 TraceCheckUtils]: 76: Hoare triple {9245#true} assume true; {9245#true} is VALID [2022-04-28 12:42:35,443 INFO L290 TraceCheckUtils]: 75: Hoare triple {9245#true} assume !(0 == ~cond); {9245#true} is VALID [2022-04-28 12:42:35,443 INFO L290 TraceCheckUtils]: 74: Hoare triple {9245#true} ~cond := #in~cond; {9245#true} is VALID [2022-04-28 12:42:35,443 INFO L272 TraceCheckUtils]: 73: Hoare triple {9698#(< ~counter~0 17)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {9245#true} is VALID [2022-04-28 12:42:35,443 INFO L290 TraceCheckUtils]: 72: Hoare triple {9698#(< ~counter~0 17)} assume !!(#t~post6 < 20);havoc #t~post6; {9698#(< ~counter~0 17)} is VALID [2022-04-28 12:42:35,444 INFO L290 TraceCheckUtils]: 71: Hoare triple {9726#(< ~counter~0 16)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9698#(< ~counter~0 17)} is VALID [2022-04-28 12:42:35,444 INFO L290 TraceCheckUtils]: 70: Hoare triple {9726#(< ~counter~0 16)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {9726#(< ~counter~0 16)} is VALID [2022-04-28 12:42:35,444 INFO L290 TraceCheckUtils]: 69: Hoare triple {9726#(< ~counter~0 16)} assume !!(0 != ~r~0); {9726#(< ~counter~0 16)} is VALID [2022-04-28 12:42:35,445 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {9245#true} {9726#(< ~counter~0 16)} #63#return; {9726#(< ~counter~0 16)} is VALID [2022-04-28 12:42:35,445 INFO L290 TraceCheckUtils]: 67: Hoare triple {9245#true} assume true; {9245#true} is VALID [2022-04-28 12:42:35,445 INFO L290 TraceCheckUtils]: 66: Hoare triple {9245#true} assume !(0 == ~cond); {9245#true} is VALID [2022-04-28 12:42:35,445 INFO L290 TraceCheckUtils]: 65: Hoare triple {9245#true} ~cond := #in~cond; {9245#true} is VALID [2022-04-28 12:42:35,445 INFO L272 TraceCheckUtils]: 64: Hoare triple {9726#(< ~counter~0 16)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {9245#true} is VALID [2022-04-28 12:42:35,446 INFO L290 TraceCheckUtils]: 63: Hoare triple {9726#(< ~counter~0 16)} assume !!(#t~post6 < 20);havoc #t~post6; {9726#(< ~counter~0 16)} is VALID [2022-04-28 12:42:35,446 INFO L290 TraceCheckUtils]: 62: Hoare triple {9754#(< ~counter~0 15)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9726#(< ~counter~0 16)} is VALID [2022-04-28 12:42:35,446 INFO L290 TraceCheckUtils]: 61: Hoare triple {9754#(< ~counter~0 15)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {9754#(< ~counter~0 15)} is VALID [2022-04-28 12:42:35,447 INFO L290 TraceCheckUtils]: 60: Hoare triple {9754#(< ~counter~0 15)} assume !!(0 != ~r~0); {9754#(< ~counter~0 15)} is VALID [2022-04-28 12:42:35,447 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {9245#true} {9754#(< ~counter~0 15)} #63#return; {9754#(< ~counter~0 15)} is VALID [2022-04-28 12:42:35,447 INFO L290 TraceCheckUtils]: 58: Hoare triple {9245#true} assume true; {9245#true} is VALID [2022-04-28 12:42:35,447 INFO L290 TraceCheckUtils]: 57: Hoare triple {9245#true} assume !(0 == ~cond); {9245#true} is VALID [2022-04-28 12:42:35,447 INFO L290 TraceCheckUtils]: 56: Hoare triple {9245#true} ~cond := #in~cond; {9245#true} is VALID [2022-04-28 12:42:35,448 INFO L272 TraceCheckUtils]: 55: Hoare triple {9754#(< ~counter~0 15)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {9245#true} is VALID [2022-04-28 12:42:35,448 INFO L290 TraceCheckUtils]: 54: Hoare triple {9754#(< ~counter~0 15)} assume !!(#t~post6 < 20);havoc #t~post6; {9754#(< ~counter~0 15)} is VALID [2022-04-28 12:42:35,448 INFO L290 TraceCheckUtils]: 53: Hoare triple {9782#(< ~counter~0 14)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9754#(< ~counter~0 15)} is VALID [2022-04-28 12:42:35,449 INFO L290 TraceCheckUtils]: 52: Hoare triple {9782#(< ~counter~0 14)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {9782#(< ~counter~0 14)} is VALID [2022-04-28 12:42:35,449 INFO L290 TraceCheckUtils]: 51: Hoare triple {9782#(< ~counter~0 14)} assume !!(0 != ~r~0); {9782#(< ~counter~0 14)} is VALID [2022-04-28 12:42:35,449 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {9245#true} {9782#(< ~counter~0 14)} #63#return; {9782#(< ~counter~0 14)} is VALID [2022-04-28 12:42:35,449 INFO L290 TraceCheckUtils]: 49: Hoare triple {9245#true} assume true; {9245#true} is VALID [2022-04-28 12:42:35,450 INFO L290 TraceCheckUtils]: 48: Hoare triple {9245#true} assume !(0 == ~cond); {9245#true} is VALID [2022-04-28 12:42:35,450 INFO L290 TraceCheckUtils]: 47: Hoare triple {9245#true} ~cond := #in~cond; {9245#true} is VALID [2022-04-28 12:42:35,450 INFO L272 TraceCheckUtils]: 46: Hoare triple {9782#(< ~counter~0 14)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {9245#true} is VALID [2022-04-28 12:42:35,450 INFO L290 TraceCheckUtils]: 45: Hoare triple {9782#(< ~counter~0 14)} assume !!(#t~post6 < 20);havoc #t~post6; {9782#(< ~counter~0 14)} is VALID [2022-04-28 12:42:35,450 INFO L290 TraceCheckUtils]: 44: Hoare triple {9810#(< ~counter~0 13)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9782#(< ~counter~0 14)} is VALID [2022-04-28 12:42:35,451 INFO L290 TraceCheckUtils]: 43: Hoare triple {9810#(< ~counter~0 13)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {9810#(< ~counter~0 13)} is VALID [2022-04-28 12:42:35,451 INFO L290 TraceCheckUtils]: 42: Hoare triple {9810#(< ~counter~0 13)} assume !!(0 != ~r~0); {9810#(< ~counter~0 13)} is VALID [2022-04-28 12:42:35,451 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {9245#true} {9810#(< ~counter~0 13)} #63#return; {9810#(< ~counter~0 13)} is VALID [2022-04-28 12:42:35,452 INFO L290 TraceCheckUtils]: 40: Hoare triple {9245#true} assume true; {9245#true} is VALID [2022-04-28 12:42:35,452 INFO L290 TraceCheckUtils]: 39: Hoare triple {9245#true} assume !(0 == ~cond); {9245#true} is VALID [2022-04-28 12:42:35,452 INFO L290 TraceCheckUtils]: 38: Hoare triple {9245#true} ~cond := #in~cond; {9245#true} is VALID [2022-04-28 12:42:35,452 INFO L272 TraceCheckUtils]: 37: Hoare triple {9810#(< ~counter~0 13)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {9245#true} is VALID [2022-04-28 12:42:35,452 INFO L290 TraceCheckUtils]: 36: Hoare triple {9810#(< ~counter~0 13)} assume !!(#t~post6 < 20);havoc #t~post6; {9810#(< ~counter~0 13)} is VALID [2022-04-28 12:42:35,452 INFO L290 TraceCheckUtils]: 35: Hoare triple {9838#(< ~counter~0 12)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9810#(< ~counter~0 13)} is VALID [2022-04-28 12:42:35,453 INFO L290 TraceCheckUtils]: 34: Hoare triple {9838#(< ~counter~0 12)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {9838#(< ~counter~0 12)} is VALID [2022-04-28 12:42:35,453 INFO L290 TraceCheckUtils]: 33: Hoare triple {9838#(< ~counter~0 12)} assume !!(0 != ~r~0); {9838#(< ~counter~0 12)} is VALID [2022-04-28 12:42:35,454 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {9245#true} {9838#(< ~counter~0 12)} #63#return; {9838#(< ~counter~0 12)} is VALID [2022-04-28 12:42:35,454 INFO L290 TraceCheckUtils]: 31: Hoare triple {9245#true} assume true; {9245#true} is VALID [2022-04-28 12:42:35,454 INFO L290 TraceCheckUtils]: 30: Hoare triple {9245#true} assume !(0 == ~cond); {9245#true} is VALID [2022-04-28 12:42:35,454 INFO L290 TraceCheckUtils]: 29: Hoare triple {9245#true} ~cond := #in~cond; {9245#true} is VALID [2022-04-28 12:42:35,454 INFO L272 TraceCheckUtils]: 28: Hoare triple {9838#(< ~counter~0 12)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {9245#true} is VALID [2022-04-28 12:42:35,454 INFO L290 TraceCheckUtils]: 27: Hoare triple {9838#(< ~counter~0 12)} assume !!(#t~post6 < 20);havoc #t~post6; {9838#(< ~counter~0 12)} is VALID [2022-04-28 12:42:35,454 INFO L290 TraceCheckUtils]: 26: Hoare triple {9554#(<= ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9838#(< ~counter~0 12)} is VALID [2022-04-28 12:42:35,455 INFO L290 TraceCheckUtils]: 25: Hoare triple {9554#(<= ~counter~0 10)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {9554#(<= ~counter~0 10)} is VALID [2022-04-28 12:42:35,455 INFO L290 TraceCheckUtils]: 24: Hoare triple {9554#(<= ~counter~0 10)} assume !!(0 != ~r~0); {9554#(<= ~counter~0 10)} is VALID [2022-04-28 12:42:35,456 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {9245#true} {9554#(<= ~counter~0 10)} #63#return; {9554#(<= ~counter~0 10)} is VALID [2022-04-28 12:42:35,456 INFO L290 TraceCheckUtils]: 22: Hoare triple {9245#true} assume true; {9245#true} is VALID [2022-04-28 12:42:35,456 INFO L290 TraceCheckUtils]: 21: Hoare triple {9245#true} assume !(0 == ~cond); {9245#true} is VALID [2022-04-28 12:42:35,456 INFO L290 TraceCheckUtils]: 20: Hoare triple {9245#true} ~cond := #in~cond; {9245#true} is VALID [2022-04-28 12:42:35,456 INFO L272 TraceCheckUtils]: 19: Hoare triple {9554#(<= ~counter~0 10)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {9245#true} is VALID [2022-04-28 12:42:35,456 INFO L290 TraceCheckUtils]: 18: Hoare triple {9554#(<= ~counter~0 10)} assume !!(#t~post6 < 20);havoc #t~post6; {9554#(<= ~counter~0 10)} is VALID [2022-04-28 12:42:35,457 INFO L290 TraceCheckUtils]: 17: Hoare triple {9526#(<= ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9554#(<= ~counter~0 10)} is VALID [2022-04-28 12:42:35,457 INFO L290 TraceCheckUtils]: 16: Hoare triple {9526#(<= ~counter~0 9)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {9526#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:35,457 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {9245#true} {9526#(<= ~counter~0 9)} #61#return; {9526#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:35,457 INFO L290 TraceCheckUtils]: 14: Hoare triple {9245#true} assume true; {9245#true} is VALID [2022-04-28 12:42:35,457 INFO L290 TraceCheckUtils]: 13: Hoare triple {9245#true} assume !(0 == ~cond); {9245#true} is VALID [2022-04-28 12:42:35,457 INFO L290 TraceCheckUtils]: 12: Hoare triple {9245#true} ~cond := #in~cond; {9245#true} is VALID [2022-04-28 12:42:35,458 INFO L272 TraceCheckUtils]: 11: Hoare triple {9526#(<= ~counter~0 9)} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {9245#true} is VALID [2022-04-28 12:42:35,458 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9245#true} {9526#(<= ~counter~0 9)} #59#return; {9526#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:35,458 INFO L290 TraceCheckUtils]: 9: Hoare triple {9245#true} assume true; {9245#true} is VALID [2022-04-28 12:42:35,458 INFO L290 TraceCheckUtils]: 8: Hoare triple {9245#true} assume !(0 == ~cond); {9245#true} is VALID [2022-04-28 12:42:35,458 INFO L290 TraceCheckUtils]: 7: Hoare triple {9245#true} ~cond := #in~cond; {9245#true} is VALID [2022-04-28 12:42:35,458 INFO L272 TraceCheckUtils]: 6: Hoare triple {9526#(<= ~counter~0 9)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {9245#true} is VALID [2022-04-28 12:42:35,459 INFO L290 TraceCheckUtils]: 5: Hoare triple {9526#(<= ~counter~0 9)} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~R~0 := #t~nondet5;havoc #t~nondet5; {9526#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:35,459 INFO L272 TraceCheckUtils]: 4: Hoare triple {9526#(<= ~counter~0 9)} call #t~ret7 := main(); {9526#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:35,460 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9526#(<= ~counter~0 9)} {9245#true} #67#return; {9526#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:35,460 INFO L290 TraceCheckUtils]: 2: Hoare triple {9526#(<= ~counter~0 9)} assume true; {9526#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:35,461 INFO L290 TraceCheckUtils]: 1: Hoare triple {9245#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; {9526#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:35,461 INFO L272 TraceCheckUtils]: 0: Hoare triple {9245#true} call ULTIMATE.init(); {9245#true} is VALID [2022-04-28 12:42:35,461 INFO L134 CoverageAnalysis]: Checked inductivity of 449 backedges. 20 proven. 245 refuted. 0 times theorem prover too weak. 184 trivial. 0 not checked. [2022-04-28 12:42:35,461 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:42:35,461 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1792170208] [2022-04-28 12:42:35,461 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:42:35,461 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1438106808] [2022-04-28 12:42:35,461 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1438106808] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:42:35,461 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:42:35,462 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 14] total 24 [2022-04-28 12:42:35,462 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:42:35,462 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1001317265] [2022-04-28 12:42:35,462 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1001317265] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:42:35,462 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:42:35,462 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 12:42:35,462 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [304221850] [2022-04-28 12:42:35,462 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:42:35,463 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, (15), 13 states have call predecessors, (15), 11 states have return successors, (13), 11 states have call predecessors, (13), 12 states have call successors, (13) Word has length 113 [2022-04-28 12:42:35,463 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:42:35,463 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, (15), 13 states have call predecessors, (15), 11 states have return successors, (13), 11 states have call predecessors, (13), 12 states have call successors, (13) [2022-04-28 12:42:35,539 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 110 edges. 110 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:42:35,539 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 12:42:35,539 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:42:35,539 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 12:42:35,540 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=236, Invalid=316, Unknown=0, NotChecked=0, Total=552 [2022-04-28 12:42:35,540 INFO L87 Difference]: Start difference. First operand 110 states and 121 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, (15), 13 states have call predecessors, (15), 11 states have return successors, (13), 11 states have call predecessors, (13), 12 states have call successors, (13) [2022-04-28 12:42:35,973 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:42:35,973 INFO L93 Difference]: Finished difference Result 124 states and 136 transitions. [2022-04-28 12:42:35,973 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2022-04-28 12:42:35,973 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, (15), 13 states have call predecessors, (15), 11 states have return successors, (13), 11 states have call predecessors, (13), 12 states have call successors, (13) Word has length 113 [2022-04-28 12:42:35,974 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:42:35,974 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, (15), 13 states have call predecessors, (15), 11 states have return successors, (13), 11 states have call predecessors, (13), 12 states have call successors, (13) [2022-04-28 12:42:35,976 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 135 transitions. [2022-04-28 12:42:35,977 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, (15), 13 states have call predecessors, (15), 11 states have return successors, (13), 11 states have call predecessors, (13), 12 states have call successors, (13) [2022-04-28 12:42:35,979 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 135 transitions. [2022-04-28 12:42:35,979 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 24 states and 135 transitions. [2022-04-28 12:42:36,102 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-28 12:42:36,104 INFO L225 Difference]: With dead ends: 124 [2022-04-28 12:42:36,104 INFO L226 Difference]: Without dead ends: 119 [2022-04-28 12:42:36,104 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 235 GetRequests, 202 SyntacticMatches, 1 SemanticMatches, 32 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 83 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=466, Invalid=656, Unknown=0, NotChecked=0, Total=1122 [2022-04-28 12:42:36,105 INFO L413 NwaCegarLoop]: 36 mSDtfsCounter, 35 mSDsluCounter, 132 mSDsCounter, 0 mSdLazyCounter, 65 mSolverCounterSat, 21 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 168 SdHoareTripleChecker+Invalid, 86 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 21 IncrementalHoareTripleChecker+Valid, 65 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:42:36,105 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [35 Valid, 168 Invalid, 86 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [21 Valid, 65 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:42:36,105 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 119 states. [2022-04-28 12:42:36,218 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 119 to 119. [2022-04-28 12:42:36,219 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:42:36,219 INFO L82 GeneralOperation]: Start isEquivalent. First operand 119 states. Second operand has 119 states, 89 states have (on average 1.1348314606741574) internal successors, (101), 89 states have internal predecessors, (101), 16 states have call successors, (16), 15 states have call predecessors, (16), 13 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-28 12:42:36,219 INFO L74 IsIncluded]: Start isIncluded. First operand 119 states. Second operand has 119 states, 89 states have (on average 1.1348314606741574) internal successors, (101), 89 states have internal predecessors, (101), 16 states have call successors, (16), 15 states have call predecessors, (16), 13 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-28 12:42:36,219 INFO L87 Difference]: Start difference. First operand 119 states. Second operand has 119 states, 89 states have (on average 1.1348314606741574) internal successors, (101), 89 states have internal predecessors, (101), 16 states have call successors, (16), 15 states have call predecessors, (16), 13 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-28 12:42:36,221 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:42:36,221 INFO L93 Difference]: Finished difference Result 119 states and 131 transitions. [2022-04-28 12:42:36,221 INFO L276 IsEmpty]: Start isEmpty. Operand 119 states and 131 transitions. [2022-04-28 12:42:36,221 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:42:36,221 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:42:36,222 INFO L74 IsIncluded]: Start isIncluded. First operand has 119 states, 89 states have (on average 1.1348314606741574) internal successors, (101), 89 states have internal predecessors, (101), 16 states have call successors, (16), 15 states have call predecessors, (16), 13 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) Second operand 119 states. [2022-04-28 12:42:36,222 INFO L87 Difference]: Start difference. First operand has 119 states, 89 states have (on average 1.1348314606741574) internal successors, (101), 89 states have internal predecessors, (101), 16 states have call successors, (16), 15 states have call predecessors, (16), 13 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) Second operand 119 states. [2022-04-28 12:42:36,224 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:42:36,224 INFO L93 Difference]: Finished difference Result 119 states and 131 transitions. [2022-04-28 12:42:36,224 INFO L276 IsEmpty]: Start isEmpty. Operand 119 states and 131 transitions. [2022-04-28 12:42:36,224 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:42:36,225 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:42:36,225 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:42:36,225 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:42:36,225 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 119 states, 89 states have (on average 1.1348314606741574) internal successors, (101), 89 states have internal predecessors, (101), 16 states have call successors, (16), 15 states have call predecessors, (16), 13 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-28 12:42:36,227 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 119 states to 119 states and 131 transitions. [2022-04-28 12:42:36,227 INFO L78 Accepts]: Start accepts. Automaton has 119 states and 131 transitions. Word has length 113 [2022-04-28 12:42:36,227 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:42:36,227 INFO L495 AbstractCegarLoop]: Abstraction has 119 states and 131 transitions. [2022-04-28 12:42:36,228 INFO L496 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, (15), 13 states have call predecessors, (15), 11 states have return successors, (13), 11 states have call predecessors, (13), 12 states have call successors, (13) [2022-04-28 12:42:36,228 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 119 states and 131 transitions. [2022-04-28 12:42:38,136 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 131 edges. 131 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:42:38,136 INFO L276 IsEmpty]: Start isEmpty. Operand 119 states and 131 transitions. [2022-04-28 12:42:38,138 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 123 [2022-04-28 12:42:38,138 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:42:38,138 INFO L195 NwaCegarLoop]: trace histogram [12, 12, 11, 11, 11, 11, 11, 11, 11, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:42:38,155 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-28 12:42:38,343 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable13,15 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:42:38,343 INFO L420 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:42:38,343 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:42:38,344 INFO L85 PathProgramCache]: Analyzing trace with hash 1999651676, now seen corresponding path program 21 times [2022-04-28 12:42:38,344 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:42:38,344 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1735406535] [2022-04-28 12:42:38,344 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:42:38,344 INFO L85 PathProgramCache]: Analyzing trace with hash 1999651676, now seen corresponding path program 22 times [2022-04-28 12:42:38,344 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:42:38,344 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [773099255] [2022-04-28 12:42:38,344 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:42:38,344 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:42:38,359 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:42:38,360 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1947562120] [2022-04-28 12:42:38,360 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:42:38,360 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:42:38,360 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:42:38,361 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-28 12:42:38,361 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-28 12:42:38,432 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:42:38,432 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:42:38,433 INFO L263 TraceCheckSpWp]: Trace formula consists of 313 conjuncts, 27 conjunts are in the unsatisfiable core [2022-04-28 12:42:38,454 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:42:38,456 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:42:39,067 INFO L272 TraceCheckUtils]: 0: Hoare triple {10690#true} call ULTIMATE.init(); {10690#true} is VALID [2022-04-28 12:42:39,068 INFO L290 TraceCheckUtils]: 1: Hoare triple {10690#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; {10698#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:39,068 INFO L290 TraceCheckUtils]: 2: Hoare triple {10698#(<= ~counter~0 0)} assume true; {10698#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:39,068 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10698#(<= ~counter~0 0)} {10690#true} #67#return; {10698#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:39,069 INFO L272 TraceCheckUtils]: 4: Hoare triple {10698#(<= ~counter~0 0)} call #t~ret7 := main(); {10698#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:39,069 INFO L290 TraceCheckUtils]: 5: Hoare triple {10698#(<= ~counter~0 0)} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~R~0 := #t~nondet5;havoc #t~nondet5; {10698#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:39,069 INFO L272 TraceCheckUtils]: 6: Hoare triple {10698#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {10698#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:39,070 INFO L290 TraceCheckUtils]: 7: Hoare triple {10698#(<= ~counter~0 0)} ~cond := #in~cond; {10698#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:39,070 INFO L290 TraceCheckUtils]: 8: Hoare triple {10698#(<= ~counter~0 0)} assume !(0 == ~cond); {10698#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:39,070 INFO L290 TraceCheckUtils]: 9: Hoare triple {10698#(<= ~counter~0 0)} assume true; {10698#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:39,071 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10698#(<= ~counter~0 0)} {10698#(<= ~counter~0 0)} #59#return; {10698#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:39,071 INFO L272 TraceCheckUtils]: 11: Hoare triple {10698#(<= ~counter~0 0)} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {10698#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:39,071 INFO L290 TraceCheckUtils]: 12: Hoare triple {10698#(<= ~counter~0 0)} ~cond := #in~cond; {10698#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:39,072 INFO L290 TraceCheckUtils]: 13: Hoare triple {10698#(<= ~counter~0 0)} assume !(0 == ~cond); {10698#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:39,072 INFO L290 TraceCheckUtils]: 14: Hoare triple {10698#(<= ~counter~0 0)} assume true; {10698#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:39,072 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {10698#(<= ~counter~0 0)} {10698#(<= ~counter~0 0)} #61#return; {10698#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:39,073 INFO L290 TraceCheckUtils]: 16: Hoare triple {10698#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {10698#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:39,073 INFO L290 TraceCheckUtils]: 17: Hoare triple {10698#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10747#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:39,073 INFO L290 TraceCheckUtils]: 18: Hoare triple {10747#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {10747#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:39,074 INFO L272 TraceCheckUtils]: 19: Hoare triple {10747#(<= ~counter~0 1)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {10747#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:39,074 INFO L290 TraceCheckUtils]: 20: Hoare triple {10747#(<= ~counter~0 1)} ~cond := #in~cond; {10747#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:39,075 INFO L290 TraceCheckUtils]: 21: Hoare triple {10747#(<= ~counter~0 1)} assume !(0 == ~cond); {10747#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:39,075 INFO L290 TraceCheckUtils]: 22: Hoare triple {10747#(<= ~counter~0 1)} assume true; {10747#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:39,075 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {10747#(<= ~counter~0 1)} {10747#(<= ~counter~0 1)} #63#return; {10747#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:39,076 INFO L290 TraceCheckUtils]: 24: Hoare triple {10747#(<= ~counter~0 1)} assume !!(0 != ~r~0); {10747#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:39,076 INFO L290 TraceCheckUtils]: 25: Hoare triple {10747#(<= ~counter~0 1)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {10747#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:39,076 INFO L290 TraceCheckUtils]: 26: Hoare triple {10747#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10775#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:39,077 INFO L290 TraceCheckUtils]: 27: Hoare triple {10775#(<= ~counter~0 2)} assume !!(#t~post6 < 20);havoc #t~post6; {10775#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:39,077 INFO L272 TraceCheckUtils]: 28: Hoare triple {10775#(<= ~counter~0 2)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {10775#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:39,077 INFO L290 TraceCheckUtils]: 29: Hoare triple {10775#(<= ~counter~0 2)} ~cond := #in~cond; {10775#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:39,078 INFO L290 TraceCheckUtils]: 30: Hoare triple {10775#(<= ~counter~0 2)} assume !(0 == ~cond); {10775#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:39,078 INFO L290 TraceCheckUtils]: 31: Hoare triple {10775#(<= ~counter~0 2)} assume true; {10775#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:39,078 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {10775#(<= ~counter~0 2)} {10775#(<= ~counter~0 2)} #63#return; {10775#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:39,079 INFO L290 TraceCheckUtils]: 33: Hoare triple {10775#(<= ~counter~0 2)} assume !!(0 != ~r~0); {10775#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:39,079 INFO L290 TraceCheckUtils]: 34: Hoare triple {10775#(<= ~counter~0 2)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {10775#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:39,080 INFO L290 TraceCheckUtils]: 35: Hoare triple {10775#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10803#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:39,080 INFO L290 TraceCheckUtils]: 36: Hoare triple {10803#(<= ~counter~0 3)} assume !!(#t~post6 < 20);havoc #t~post6; {10803#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:39,080 INFO L272 TraceCheckUtils]: 37: Hoare triple {10803#(<= ~counter~0 3)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {10803#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:39,081 INFO L290 TraceCheckUtils]: 38: Hoare triple {10803#(<= ~counter~0 3)} ~cond := #in~cond; {10803#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:39,081 INFO L290 TraceCheckUtils]: 39: Hoare triple {10803#(<= ~counter~0 3)} assume !(0 == ~cond); {10803#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:39,081 INFO L290 TraceCheckUtils]: 40: Hoare triple {10803#(<= ~counter~0 3)} assume true; {10803#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:39,082 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {10803#(<= ~counter~0 3)} {10803#(<= ~counter~0 3)} #63#return; {10803#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:39,082 INFO L290 TraceCheckUtils]: 42: Hoare triple {10803#(<= ~counter~0 3)} assume !!(0 != ~r~0); {10803#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:39,082 INFO L290 TraceCheckUtils]: 43: Hoare triple {10803#(<= ~counter~0 3)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {10803#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:39,083 INFO L290 TraceCheckUtils]: 44: Hoare triple {10803#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10831#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:39,083 INFO L290 TraceCheckUtils]: 45: Hoare triple {10831#(<= ~counter~0 4)} assume !!(#t~post6 < 20);havoc #t~post6; {10831#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:39,083 INFO L272 TraceCheckUtils]: 46: Hoare triple {10831#(<= ~counter~0 4)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {10831#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:39,084 INFO L290 TraceCheckUtils]: 47: Hoare triple {10831#(<= ~counter~0 4)} ~cond := #in~cond; {10831#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:39,084 INFO L290 TraceCheckUtils]: 48: Hoare triple {10831#(<= ~counter~0 4)} assume !(0 == ~cond); {10831#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:39,084 INFO L290 TraceCheckUtils]: 49: Hoare triple {10831#(<= ~counter~0 4)} assume true; {10831#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:39,085 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {10831#(<= ~counter~0 4)} {10831#(<= ~counter~0 4)} #63#return; {10831#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:39,085 INFO L290 TraceCheckUtils]: 51: Hoare triple {10831#(<= ~counter~0 4)} assume !!(0 != ~r~0); {10831#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:39,085 INFO L290 TraceCheckUtils]: 52: Hoare triple {10831#(<= ~counter~0 4)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {10831#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:39,086 INFO L290 TraceCheckUtils]: 53: Hoare triple {10831#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10859#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:39,086 INFO L290 TraceCheckUtils]: 54: Hoare triple {10859#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {10859#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:39,087 INFO L272 TraceCheckUtils]: 55: Hoare triple {10859#(<= ~counter~0 5)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {10859#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:39,087 INFO L290 TraceCheckUtils]: 56: Hoare triple {10859#(<= ~counter~0 5)} ~cond := #in~cond; {10859#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:39,087 INFO L290 TraceCheckUtils]: 57: Hoare triple {10859#(<= ~counter~0 5)} assume !(0 == ~cond); {10859#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:39,087 INFO L290 TraceCheckUtils]: 58: Hoare triple {10859#(<= ~counter~0 5)} assume true; {10859#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:39,088 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {10859#(<= ~counter~0 5)} {10859#(<= ~counter~0 5)} #63#return; {10859#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:39,088 INFO L290 TraceCheckUtils]: 60: Hoare triple {10859#(<= ~counter~0 5)} assume !!(0 != ~r~0); {10859#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:39,089 INFO L290 TraceCheckUtils]: 61: Hoare triple {10859#(<= ~counter~0 5)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {10859#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:39,089 INFO L290 TraceCheckUtils]: 62: Hoare triple {10859#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10887#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:39,089 INFO L290 TraceCheckUtils]: 63: Hoare triple {10887#(<= ~counter~0 6)} assume !!(#t~post6 < 20);havoc #t~post6; {10887#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:39,090 INFO L272 TraceCheckUtils]: 64: Hoare triple {10887#(<= ~counter~0 6)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {10887#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:39,090 INFO L290 TraceCheckUtils]: 65: Hoare triple {10887#(<= ~counter~0 6)} ~cond := #in~cond; {10887#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:39,090 INFO L290 TraceCheckUtils]: 66: Hoare triple {10887#(<= ~counter~0 6)} assume !(0 == ~cond); {10887#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:39,091 INFO L290 TraceCheckUtils]: 67: Hoare triple {10887#(<= ~counter~0 6)} assume true; {10887#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:39,091 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {10887#(<= ~counter~0 6)} {10887#(<= ~counter~0 6)} #63#return; {10887#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:39,091 INFO L290 TraceCheckUtils]: 69: Hoare triple {10887#(<= ~counter~0 6)} assume !!(0 != ~r~0); {10887#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:39,092 INFO L290 TraceCheckUtils]: 70: Hoare triple {10887#(<= ~counter~0 6)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {10887#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:39,092 INFO L290 TraceCheckUtils]: 71: Hoare triple {10887#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10915#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:39,092 INFO L290 TraceCheckUtils]: 72: Hoare triple {10915#(<= ~counter~0 7)} assume !!(#t~post6 < 20);havoc #t~post6; {10915#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:39,093 INFO L272 TraceCheckUtils]: 73: Hoare triple {10915#(<= ~counter~0 7)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {10915#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:39,093 INFO L290 TraceCheckUtils]: 74: Hoare triple {10915#(<= ~counter~0 7)} ~cond := #in~cond; {10915#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:39,094 INFO L290 TraceCheckUtils]: 75: Hoare triple {10915#(<= ~counter~0 7)} assume !(0 == ~cond); {10915#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:39,094 INFO L290 TraceCheckUtils]: 76: Hoare triple {10915#(<= ~counter~0 7)} assume true; {10915#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:39,094 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {10915#(<= ~counter~0 7)} {10915#(<= ~counter~0 7)} #63#return; {10915#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:39,095 INFO L290 TraceCheckUtils]: 78: Hoare triple {10915#(<= ~counter~0 7)} assume !!(0 != ~r~0); {10915#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:39,095 INFO L290 TraceCheckUtils]: 79: Hoare triple {10915#(<= ~counter~0 7)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {10915#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:39,095 INFO L290 TraceCheckUtils]: 80: Hoare triple {10915#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10943#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:39,096 INFO L290 TraceCheckUtils]: 81: Hoare triple {10943#(<= ~counter~0 8)} assume !!(#t~post6 < 20);havoc #t~post6; {10943#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:39,096 INFO L272 TraceCheckUtils]: 82: Hoare triple {10943#(<= ~counter~0 8)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {10943#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:39,096 INFO L290 TraceCheckUtils]: 83: Hoare triple {10943#(<= ~counter~0 8)} ~cond := #in~cond; {10943#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:39,097 INFO L290 TraceCheckUtils]: 84: Hoare triple {10943#(<= ~counter~0 8)} assume !(0 == ~cond); {10943#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:39,097 INFO L290 TraceCheckUtils]: 85: Hoare triple {10943#(<= ~counter~0 8)} assume true; {10943#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:39,097 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {10943#(<= ~counter~0 8)} {10943#(<= ~counter~0 8)} #63#return; {10943#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:39,098 INFO L290 TraceCheckUtils]: 87: Hoare triple {10943#(<= ~counter~0 8)} assume !!(0 != ~r~0); {10943#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:39,098 INFO L290 TraceCheckUtils]: 88: Hoare triple {10943#(<= ~counter~0 8)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {10943#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:39,098 INFO L290 TraceCheckUtils]: 89: Hoare triple {10943#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10971#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:39,099 INFO L290 TraceCheckUtils]: 90: Hoare triple {10971#(<= ~counter~0 9)} assume !!(#t~post6 < 20);havoc #t~post6; {10971#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:39,099 INFO L272 TraceCheckUtils]: 91: Hoare triple {10971#(<= ~counter~0 9)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {10971#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:39,100 INFO L290 TraceCheckUtils]: 92: Hoare triple {10971#(<= ~counter~0 9)} ~cond := #in~cond; {10971#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:39,100 INFO L290 TraceCheckUtils]: 93: Hoare triple {10971#(<= ~counter~0 9)} assume !(0 == ~cond); {10971#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:39,100 INFO L290 TraceCheckUtils]: 94: Hoare triple {10971#(<= ~counter~0 9)} assume true; {10971#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:39,101 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {10971#(<= ~counter~0 9)} {10971#(<= ~counter~0 9)} #63#return; {10971#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:39,101 INFO L290 TraceCheckUtils]: 96: Hoare triple {10971#(<= ~counter~0 9)} assume !!(0 != ~r~0); {10971#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:39,101 INFO L290 TraceCheckUtils]: 97: Hoare triple {10971#(<= ~counter~0 9)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {10971#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:39,102 INFO L290 TraceCheckUtils]: 98: Hoare triple {10971#(<= ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10999#(<= ~counter~0 10)} is VALID [2022-04-28 12:42:39,102 INFO L290 TraceCheckUtils]: 99: Hoare triple {10999#(<= ~counter~0 10)} assume !!(#t~post6 < 20);havoc #t~post6; {10999#(<= ~counter~0 10)} is VALID [2022-04-28 12:42:39,102 INFO L272 TraceCheckUtils]: 100: Hoare triple {10999#(<= ~counter~0 10)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {10999#(<= ~counter~0 10)} is VALID [2022-04-28 12:42:39,103 INFO L290 TraceCheckUtils]: 101: Hoare triple {10999#(<= ~counter~0 10)} ~cond := #in~cond; {10999#(<= ~counter~0 10)} is VALID [2022-04-28 12:42:39,103 INFO L290 TraceCheckUtils]: 102: Hoare triple {10999#(<= ~counter~0 10)} assume !(0 == ~cond); {10999#(<= ~counter~0 10)} is VALID [2022-04-28 12:42:39,103 INFO L290 TraceCheckUtils]: 103: Hoare triple {10999#(<= ~counter~0 10)} assume true; {10999#(<= ~counter~0 10)} is VALID [2022-04-28 12:42:39,104 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {10999#(<= ~counter~0 10)} {10999#(<= ~counter~0 10)} #63#return; {10999#(<= ~counter~0 10)} is VALID [2022-04-28 12:42:39,104 INFO L290 TraceCheckUtils]: 105: Hoare triple {10999#(<= ~counter~0 10)} assume !!(0 != ~r~0); {10999#(<= ~counter~0 10)} is VALID [2022-04-28 12:42:39,104 INFO L290 TraceCheckUtils]: 106: Hoare triple {10999#(<= ~counter~0 10)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {10999#(<= ~counter~0 10)} is VALID [2022-04-28 12:42:39,105 INFO L290 TraceCheckUtils]: 107: Hoare triple {10999#(<= ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11027#(<= ~counter~0 11)} is VALID [2022-04-28 12:42:39,105 INFO L290 TraceCheckUtils]: 108: Hoare triple {11027#(<= ~counter~0 11)} assume !!(#t~post6 < 20);havoc #t~post6; {11027#(<= ~counter~0 11)} is VALID [2022-04-28 12:42:39,106 INFO L272 TraceCheckUtils]: 109: Hoare triple {11027#(<= ~counter~0 11)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {11027#(<= ~counter~0 11)} is VALID [2022-04-28 12:42:39,106 INFO L290 TraceCheckUtils]: 110: Hoare triple {11027#(<= ~counter~0 11)} ~cond := #in~cond; {11027#(<= ~counter~0 11)} is VALID [2022-04-28 12:42:39,106 INFO L290 TraceCheckUtils]: 111: Hoare triple {11027#(<= ~counter~0 11)} assume !(0 == ~cond); {11027#(<= ~counter~0 11)} is VALID [2022-04-28 12:42:39,106 INFO L290 TraceCheckUtils]: 112: Hoare triple {11027#(<= ~counter~0 11)} assume true; {11027#(<= ~counter~0 11)} is VALID [2022-04-28 12:42:39,107 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {11027#(<= ~counter~0 11)} {11027#(<= ~counter~0 11)} #63#return; {11027#(<= ~counter~0 11)} is VALID [2022-04-28 12:42:39,107 INFO L290 TraceCheckUtils]: 114: Hoare triple {11027#(<= ~counter~0 11)} assume !!(0 != ~r~0); {11027#(<= ~counter~0 11)} is VALID [2022-04-28 12:42:39,108 INFO L290 TraceCheckUtils]: 115: Hoare triple {11027#(<= ~counter~0 11)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {11027#(<= ~counter~0 11)} is VALID [2022-04-28 12:42:39,108 INFO L290 TraceCheckUtils]: 116: Hoare triple {11027#(<= ~counter~0 11)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11055#(<= |main_#t~post6| 11)} is VALID [2022-04-28 12:42:39,108 INFO L290 TraceCheckUtils]: 117: Hoare triple {11055#(<= |main_#t~post6| 11)} assume !(#t~post6 < 20);havoc #t~post6; {10691#false} is VALID [2022-04-28 12:42:39,108 INFO L272 TraceCheckUtils]: 118: Hoare triple {10691#false} call __VERIFIER_assert((if 4 * ~A~0 == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {10691#false} is VALID [2022-04-28 12:42:39,108 INFO L290 TraceCheckUtils]: 119: Hoare triple {10691#false} ~cond := #in~cond; {10691#false} is VALID [2022-04-28 12:42:39,108 INFO L290 TraceCheckUtils]: 120: Hoare triple {10691#false} assume 0 == ~cond; {10691#false} is VALID [2022-04-28 12:42:39,109 INFO L290 TraceCheckUtils]: 121: Hoare triple {10691#false} assume !false; {10691#false} is VALID [2022-04-28 12:42:39,109 INFO L134 CoverageAnalysis]: Checked inductivity of 543 backedges. 22 proven. 517 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:42:39,109 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:42:39,753 INFO L290 TraceCheckUtils]: 121: Hoare triple {10691#false} assume !false; {10691#false} is VALID [2022-04-28 12:42:39,753 INFO L290 TraceCheckUtils]: 120: Hoare triple {10691#false} assume 0 == ~cond; {10691#false} is VALID [2022-04-28 12:42:39,753 INFO L290 TraceCheckUtils]: 119: Hoare triple {10691#false} ~cond := #in~cond; {10691#false} is VALID [2022-04-28 12:42:39,753 INFO L272 TraceCheckUtils]: 118: Hoare triple {10691#false} call __VERIFIER_assert((if 4 * ~A~0 == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {10691#false} is VALID [2022-04-28 12:42:39,754 INFO L290 TraceCheckUtils]: 117: Hoare triple {11083#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {10691#false} is VALID [2022-04-28 12:42:39,754 INFO L290 TraceCheckUtils]: 116: Hoare triple {11087#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11083#(< |main_#t~post6| 20)} is VALID [2022-04-28 12:42:39,754 INFO L290 TraceCheckUtils]: 115: Hoare triple {11087#(< ~counter~0 20)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {11087#(< ~counter~0 20)} is VALID [2022-04-28 12:42:39,754 INFO L290 TraceCheckUtils]: 114: Hoare triple {11087#(< ~counter~0 20)} assume !!(0 != ~r~0); {11087#(< ~counter~0 20)} is VALID [2022-04-28 12:42:39,755 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {10690#true} {11087#(< ~counter~0 20)} #63#return; {11087#(< ~counter~0 20)} is VALID [2022-04-28 12:42:39,755 INFO L290 TraceCheckUtils]: 112: Hoare triple {10690#true} assume true; {10690#true} is VALID [2022-04-28 12:42:39,755 INFO L290 TraceCheckUtils]: 111: Hoare triple {10690#true} assume !(0 == ~cond); {10690#true} is VALID [2022-04-28 12:42:39,755 INFO L290 TraceCheckUtils]: 110: Hoare triple {10690#true} ~cond := #in~cond; {10690#true} is VALID [2022-04-28 12:42:39,755 INFO L272 TraceCheckUtils]: 109: Hoare triple {11087#(< ~counter~0 20)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {10690#true} is VALID [2022-04-28 12:42:39,756 INFO L290 TraceCheckUtils]: 108: Hoare triple {11087#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6; {11087#(< ~counter~0 20)} is VALID [2022-04-28 12:42:39,756 INFO L290 TraceCheckUtils]: 107: Hoare triple {11115#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11087#(< ~counter~0 20)} is VALID [2022-04-28 12:42:39,756 INFO L290 TraceCheckUtils]: 106: Hoare triple {11115#(< ~counter~0 19)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {11115#(< ~counter~0 19)} is VALID [2022-04-28 12:42:39,757 INFO L290 TraceCheckUtils]: 105: Hoare triple {11115#(< ~counter~0 19)} assume !!(0 != ~r~0); {11115#(< ~counter~0 19)} is VALID [2022-04-28 12:42:39,757 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {10690#true} {11115#(< ~counter~0 19)} #63#return; {11115#(< ~counter~0 19)} is VALID [2022-04-28 12:42:39,757 INFO L290 TraceCheckUtils]: 103: Hoare triple {10690#true} assume true; {10690#true} is VALID [2022-04-28 12:42:39,757 INFO L290 TraceCheckUtils]: 102: Hoare triple {10690#true} assume !(0 == ~cond); {10690#true} is VALID [2022-04-28 12:42:39,757 INFO L290 TraceCheckUtils]: 101: Hoare triple {10690#true} ~cond := #in~cond; {10690#true} is VALID [2022-04-28 12:42:39,758 INFO L272 TraceCheckUtils]: 100: Hoare triple {11115#(< ~counter~0 19)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {10690#true} is VALID [2022-04-28 12:42:39,758 INFO L290 TraceCheckUtils]: 99: Hoare triple {11115#(< ~counter~0 19)} assume !!(#t~post6 < 20);havoc #t~post6; {11115#(< ~counter~0 19)} is VALID [2022-04-28 12:42:39,759 INFO L290 TraceCheckUtils]: 98: Hoare triple {11143#(< ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11115#(< ~counter~0 19)} is VALID [2022-04-28 12:42:39,759 INFO L290 TraceCheckUtils]: 97: Hoare triple {11143#(< ~counter~0 18)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {11143#(< ~counter~0 18)} is VALID [2022-04-28 12:42:39,759 INFO L290 TraceCheckUtils]: 96: Hoare triple {11143#(< ~counter~0 18)} assume !!(0 != ~r~0); {11143#(< ~counter~0 18)} is VALID [2022-04-28 12:42:39,760 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {10690#true} {11143#(< ~counter~0 18)} #63#return; {11143#(< ~counter~0 18)} is VALID [2022-04-28 12:42:39,760 INFO L290 TraceCheckUtils]: 94: Hoare triple {10690#true} assume true; {10690#true} is VALID [2022-04-28 12:42:39,760 INFO L290 TraceCheckUtils]: 93: Hoare triple {10690#true} assume !(0 == ~cond); {10690#true} is VALID [2022-04-28 12:42:39,760 INFO L290 TraceCheckUtils]: 92: Hoare triple {10690#true} ~cond := #in~cond; {10690#true} is VALID [2022-04-28 12:42:39,760 INFO L272 TraceCheckUtils]: 91: Hoare triple {11143#(< ~counter~0 18)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {10690#true} is VALID [2022-04-28 12:42:39,760 INFO L290 TraceCheckUtils]: 90: Hoare triple {11143#(< ~counter~0 18)} assume !!(#t~post6 < 20);havoc #t~post6; {11143#(< ~counter~0 18)} is VALID [2022-04-28 12:42:39,761 INFO L290 TraceCheckUtils]: 89: Hoare triple {11171#(< ~counter~0 17)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11143#(< ~counter~0 18)} is VALID [2022-04-28 12:42:39,761 INFO L290 TraceCheckUtils]: 88: Hoare triple {11171#(< ~counter~0 17)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {11171#(< ~counter~0 17)} is VALID [2022-04-28 12:42:39,761 INFO L290 TraceCheckUtils]: 87: Hoare triple {11171#(< ~counter~0 17)} assume !!(0 != ~r~0); {11171#(< ~counter~0 17)} is VALID [2022-04-28 12:42:39,762 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {10690#true} {11171#(< ~counter~0 17)} #63#return; {11171#(< ~counter~0 17)} is VALID [2022-04-28 12:42:39,762 INFO L290 TraceCheckUtils]: 85: Hoare triple {10690#true} assume true; {10690#true} is VALID [2022-04-28 12:42:39,762 INFO L290 TraceCheckUtils]: 84: Hoare triple {10690#true} assume !(0 == ~cond); {10690#true} is VALID [2022-04-28 12:42:39,762 INFO L290 TraceCheckUtils]: 83: Hoare triple {10690#true} ~cond := #in~cond; {10690#true} is VALID [2022-04-28 12:42:39,762 INFO L272 TraceCheckUtils]: 82: Hoare triple {11171#(< ~counter~0 17)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {10690#true} is VALID [2022-04-28 12:42:39,763 INFO L290 TraceCheckUtils]: 81: Hoare triple {11171#(< ~counter~0 17)} assume !!(#t~post6 < 20);havoc #t~post6; {11171#(< ~counter~0 17)} is VALID [2022-04-28 12:42:39,763 INFO L290 TraceCheckUtils]: 80: Hoare triple {11199#(< ~counter~0 16)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11171#(< ~counter~0 17)} is VALID [2022-04-28 12:42:39,763 INFO L290 TraceCheckUtils]: 79: Hoare triple {11199#(< ~counter~0 16)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {11199#(< ~counter~0 16)} is VALID [2022-04-28 12:42:39,764 INFO L290 TraceCheckUtils]: 78: Hoare triple {11199#(< ~counter~0 16)} assume !!(0 != ~r~0); {11199#(< ~counter~0 16)} is VALID [2022-04-28 12:42:39,764 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {10690#true} {11199#(< ~counter~0 16)} #63#return; {11199#(< ~counter~0 16)} is VALID [2022-04-28 12:42:39,764 INFO L290 TraceCheckUtils]: 76: Hoare triple {10690#true} assume true; {10690#true} is VALID [2022-04-28 12:42:39,764 INFO L290 TraceCheckUtils]: 75: Hoare triple {10690#true} assume !(0 == ~cond); {10690#true} is VALID [2022-04-28 12:42:39,764 INFO L290 TraceCheckUtils]: 74: Hoare triple {10690#true} ~cond := #in~cond; {10690#true} is VALID [2022-04-28 12:42:39,764 INFO L272 TraceCheckUtils]: 73: Hoare triple {11199#(< ~counter~0 16)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {10690#true} is VALID [2022-04-28 12:42:39,765 INFO L290 TraceCheckUtils]: 72: Hoare triple {11199#(< ~counter~0 16)} assume !!(#t~post6 < 20);havoc #t~post6; {11199#(< ~counter~0 16)} is VALID [2022-04-28 12:42:39,765 INFO L290 TraceCheckUtils]: 71: Hoare triple {11227#(< ~counter~0 15)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11199#(< ~counter~0 16)} is VALID [2022-04-28 12:42:39,765 INFO L290 TraceCheckUtils]: 70: Hoare triple {11227#(< ~counter~0 15)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {11227#(< ~counter~0 15)} is VALID [2022-04-28 12:42:39,767 INFO L290 TraceCheckUtils]: 69: Hoare triple {11227#(< ~counter~0 15)} assume !!(0 != ~r~0); {11227#(< ~counter~0 15)} is VALID [2022-04-28 12:42:39,771 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {10690#true} {11227#(< ~counter~0 15)} #63#return; {11227#(< ~counter~0 15)} is VALID [2022-04-28 12:42:39,772 INFO L290 TraceCheckUtils]: 67: Hoare triple {10690#true} assume true; {10690#true} is VALID [2022-04-28 12:42:39,772 INFO L290 TraceCheckUtils]: 66: Hoare triple {10690#true} assume !(0 == ~cond); {10690#true} is VALID [2022-04-28 12:42:39,772 INFO L290 TraceCheckUtils]: 65: Hoare triple {10690#true} ~cond := #in~cond; {10690#true} is VALID [2022-04-28 12:42:39,772 INFO L272 TraceCheckUtils]: 64: Hoare triple {11227#(< ~counter~0 15)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {10690#true} is VALID [2022-04-28 12:42:39,772 INFO L290 TraceCheckUtils]: 63: Hoare triple {11227#(< ~counter~0 15)} assume !!(#t~post6 < 20);havoc #t~post6; {11227#(< ~counter~0 15)} is VALID [2022-04-28 12:42:39,773 INFO L290 TraceCheckUtils]: 62: Hoare triple {11255#(< ~counter~0 14)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11227#(< ~counter~0 15)} is VALID [2022-04-28 12:42:39,773 INFO L290 TraceCheckUtils]: 61: Hoare triple {11255#(< ~counter~0 14)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {11255#(< ~counter~0 14)} is VALID [2022-04-28 12:42:39,773 INFO L290 TraceCheckUtils]: 60: Hoare triple {11255#(< ~counter~0 14)} assume !!(0 != ~r~0); {11255#(< ~counter~0 14)} is VALID [2022-04-28 12:42:39,774 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {10690#true} {11255#(< ~counter~0 14)} #63#return; {11255#(< ~counter~0 14)} is VALID [2022-04-28 12:42:39,774 INFO L290 TraceCheckUtils]: 58: Hoare triple {10690#true} assume true; {10690#true} is VALID [2022-04-28 12:42:39,774 INFO L290 TraceCheckUtils]: 57: Hoare triple {10690#true} assume !(0 == ~cond); {10690#true} is VALID [2022-04-28 12:42:39,774 INFO L290 TraceCheckUtils]: 56: Hoare triple {10690#true} ~cond := #in~cond; {10690#true} is VALID [2022-04-28 12:42:39,774 INFO L272 TraceCheckUtils]: 55: Hoare triple {11255#(< ~counter~0 14)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {10690#true} is VALID [2022-04-28 12:42:39,774 INFO L290 TraceCheckUtils]: 54: Hoare triple {11255#(< ~counter~0 14)} assume !!(#t~post6 < 20);havoc #t~post6; {11255#(< ~counter~0 14)} is VALID [2022-04-28 12:42:39,775 INFO L290 TraceCheckUtils]: 53: Hoare triple {11283#(< ~counter~0 13)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11255#(< ~counter~0 14)} is VALID [2022-04-28 12:42:39,775 INFO L290 TraceCheckUtils]: 52: Hoare triple {11283#(< ~counter~0 13)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {11283#(< ~counter~0 13)} is VALID [2022-04-28 12:42:39,775 INFO L290 TraceCheckUtils]: 51: Hoare triple {11283#(< ~counter~0 13)} assume !!(0 != ~r~0); {11283#(< ~counter~0 13)} is VALID [2022-04-28 12:42:39,776 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {10690#true} {11283#(< ~counter~0 13)} #63#return; {11283#(< ~counter~0 13)} is VALID [2022-04-28 12:42:39,776 INFO L290 TraceCheckUtils]: 49: Hoare triple {10690#true} assume true; {10690#true} is VALID [2022-04-28 12:42:39,776 INFO L290 TraceCheckUtils]: 48: Hoare triple {10690#true} assume !(0 == ~cond); {10690#true} is VALID [2022-04-28 12:42:39,776 INFO L290 TraceCheckUtils]: 47: Hoare triple {10690#true} ~cond := #in~cond; {10690#true} is VALID [2022-04-28 12:42:39,776 INFO L272 TraceCheckUtils]: 46: Hoare triple {11283#(< ~counter~0 13)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {10690#true} is VALID [2022-04-28 12:42:39,777 INFO L290 TraceCheckUtils]: 45: Hoare triple {11283#(< ~counter~0 13)} assume !!(#t~post6 < 20);havoc #t~post6; {11283#(< ~counter~0 13)} is VALID [2022-04-28 12:42:39,777 INFO L290 TraceCheckUtils]: 44: Hoare triple {11027#(<= ~counter~0 11)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11283#(< ~counter~0 13)} is VALID [2022-04-28 12:42:39,777 INFO L290 TraceCheckUtils]: 43: Hoare triple {11027#(<= ~counter~0 11)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {11027#(<= ~counter~0 11)} is VALID [2022-04-28 12:42:39,778 INFO L290 TraceCheckUtils]: 42: Hoare triple {11027#(<= ~counter~0 11)} assume !!(0 != ~r~0); {11027#(<= ~counter~0 11)} is VALID [2022-04-28 12:42:39,778 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {10690#true} {11027#(<= ~counter~0 11)} #63#return; {11027#(<= ~counter~0 11)} is VALID [2022-04-28 12:42:39,778 INFO L290 TraceCheckUtils]: 40: Hoare triple {10690#true} assume true; {10690#true} is VALID [2022-04-28 12:42:39,778 INFO L290 TraceCheckUtils]: 39: Hoare triple {10690#true} assume !(0 == ~cond); {10690#true} is VALID [2022-04-28 12:42:39,778 INFO L290 TraceCheckUtils]: 38: Hoare triple {10690#true} ~cond := #in~cond; {10690#true} is VALID [2022-04-28 12:42:39,778 INFO L272 TraceCheckUtils]: 37: Hoare triple {11027#(<= ~counter~0 11)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {10690#true} is VALID [2022-04-28 12:42:39,779 INFO L290 TraceCheckUtils]: 36: Hoare triple {11027#(<= ~counter~0 11)} assume !!(#t~post6 < 20);havoc #t~post6; {11027#(<= ~counter~0 11)} is VALID [2022-04-28 12:42:39,779 INFO L290 TraceCheckUtils]: 35: Hoare triple {10999#(<= ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11027#(<= ~counter~0 11)} is VALID [2022-04-28 12:42:39,779 INFO L290 TraceCheckUtils]: 34: Hoare triple {10999#(<= ~counter~0 10)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {10999#(<= ~counter~0 10)} is VALID [2022-04-28 12:42:39,780 INFO L290 TraceCheckUtils]: 33: Hoare triple {10999#(<= ~counter~0 10)} assume !!(0 != ~r~0); {10999#(<= ~counter~0 10)} is VALID [2022-04-28 12:42:39,780 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {10690#true} {10999#(<= ~counter~0 10)} #63#return; {10999#(<= ~counter~0 10)} is VALID [2022-04-28 12:42:39,780 INFO L290 TraceCheckUtils]: 31: Hoare triple {10690#true} assume true; {10690#true} is VALID [2022-04-28 12:42:39,780 INFO L290 TraceCheckUtils]: 30: Hoare triple {10690#true} assume !(0 == ~cond); {10690#true} is VALID [2022-04-28 12:42:39,780 INFO L290 TraceCheckUtils]: 29: Hoare triple {10690#true} ~cond := #in~cond; {10690#true} is VALID [2022-04-28 12:42:39,781 INFO L272 TraceCheckUtils]: 28: Hoare triple {10999#(<= ~counter~0 10)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {10690#true} is VALID [2022-04-28 12:42:39,781 INFO L290 TraceCheckUtils]: 27: Hoare triple {10999#(<= ~counter~0 10)} assume !!(#t~post6 < 20);havoc #t~post6; {10999#(<= ~counter~0 10)} is VALID [2022-04-28 12:42:39,781 INFO L290 TraceCheckUtils]: 26: Hoare triple {10971#(<= ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10999#(<= ~counter~0 10)} is VALID [2022-04-28 12:42:39,782 INFO L290 TraceCheckUtils]: 25: Hoare triple {10971#(<= ~counter~0 9)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {10971#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:39,782 INFO L290 TraceCheckUtils]: 24: Hoare triple {10971#(<= ~counter~0 9)} assume !!(0 != ~r~0); {10971#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:39,782 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {10690#true} {10971#(<= ~counter~0 9)} #63#return; {10971#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:39,782 INFO L290 TraceCheckUtils]: 22: Hoare triple {10690#true} assume true; {10690#true} is VALID [2022-04-28 12:42:39,783 INFO L290 TraceCheckUtils]: 21: Hoare triple {10690#true} assume !(0 == ~cond); {10690#true} is VALID [2022-04-28 12:42:39,783 INFO L290 TraceCheckUtils]: 20: Hoare triple {10690#true} ~cond := #in~cond; {10690#true} is VALID [2022-04-28 12:42:39,783 INFO L272 TraceCheckUtils]: 19: Hoare triple {10971#(<= ~counter~0 9)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {10690#true} is VALID [2022-04-28 12:42:39,783 INFO L290 TraceCheckUtils]: 18: Hoare triple {10971#(<= ~counter~0 9)} assume !!(#t~post6 < 20);havoc #t~post6; {10971#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:39,783 INFO L290 TraceCheckUtils]: 17: Hoare triple {10943#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10971#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:39,784 INFO L290 TraceCheckUtils]: 16: Hoare triple {10943#(<= ~counter~0 8)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {10943#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:39,784 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {10690#true} {10943#(<= ~counter~0 8)} #61#return; {10943#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:39,784 INFO L290 TraceCheckUtils]: 14: Hoare triple {10690#true} assume true; {10690#true} is VALID [2022-04-28 12:42:39,784 INFO L290 TraceCheckUtils]: 13: Hoare triple {10690#true} assume !(0 == ~cond); {10690#true} is VALID [2022-04-28 12:42:39,784 INFO L290 TraceCheckUtils]: 12: Hoare triple {10690#true} ~cond := #in~cond; {10690#true} is VALID [2022-04-28 12:42:39,784 INFO L272 TraceCheckUtils]: 11: Hoare triple {10943#(<= ~counter~0 8)} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {10690#true} is VALID [2022-04-28 12:42:39,785 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10690#true} {10943#(<= ~counter~0 8)} #59#return; {10943#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:39,785 INFO L290 TraceCheckUtils]: 9: Hoare triple {10690#true} assume true; {10690#true} is VALID [2022-04-28 12:42:39,785 INFO L290 TraceCheckUtils]: 8: Hoare triple {10690#true} assume !(0 == ~cond); {10690#true} is VALID [2022-04-28 12:42:39,785 INFO L290 TraceCheckUtils]: 7: Hoare triple {10690#true} ~cond := #in~cond; {10690#true} is VALID [2022-04-28 12:42:39,785 INFO L272 TraceCheckUtils]: 6: Hoare triple {10943#(<= ~counter~0 8)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {10690#true} is VALID [2022-04-28 12:42:39,785 INFO L290 TraceCheckUtils]: 5: Hoare triple {10943#(<= ~counter~0 8)} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~R~0 := #t~nondet5;havoc #t~nondet5; {10943#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:39,786 INFO L272 TraceCheckUtils]: 4: Hoare triple {10943#(<= ~counter~0 8)} call #t~ret7 := main(); {10943#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:39,786 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10943#(<= ~counter~0 8)} {10690#true} #67#return; {10943#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:39,786 INFO L290 TraceCheckUtils]: 2: Hoare triple {10943#(<= ~counter~0 8)} assume true; {10943#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:39,787 INFO L290 TraceCheckUtils]: 1: Hoare triple {10690#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; {10943#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:39,787 INFO L272 TraceCheckUtils]: 0: Hoare triple {10690#true} call ULTIMATE.init(); {10690#true} is VALID [2022-04-28 12:42:39,791 INFO L134 CoverageAnalysis]: Checked inductivity of 543 backedges. 22 proven. 297 refuted. 0 times theorem prover too weak. 224 trivial. 0 not checked. [2022-04-28 12:42:39,791 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:42:39,792 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [773099255] [2022-04-28 12:42:39,792 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:42:39,792 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1947562120] [2022-04-28 12:42:39,792 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1947562120] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:42:39,792 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:42:39,792 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 15] total 24 [2022-04-28 12:42:39,792 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:42:39,792 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1735406535] [2022-04-28 12:42:39,792 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1735406535] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:42:39,793 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:42:39,793 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-28 12:42:39,793 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1195025479] [2022-04-28 12:42:39,793 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:42:39,793 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, (16), 14 states have call predecessors, (16), 12 states have return successors, (14), 12 states have call predecessors, (14), 13 states have call successors, (14) Word has length 122 [2022-04-28 12:42:39,795 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:42:39,795 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, (16), 14 states have call predecessors, (16), 12 states have return successors, (14), 12 states have call predecessors, (14), 13 states have call successors, (14) [2022-04-28 12:42:39,876 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 119 edges. 119 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:42:39,876 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-28 12:42:39,876 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:42:39,877 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-28 12:42:39,877 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=236, Invalid=316, Unknown=0, NotChecked=0, Total=552 [2022-04-28 12:42:39,877 INFO L87 Difference]: Start difference. First operand 119 states and 131 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, (16), 14 states have call predecessors, (16), 12 states have return successors, (14), 12 states have call predecessors, (14), 13 states have call successors, (14) [2022-04-28 12:42:40,346 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:42:40,346 INFO L93 Difference]: Finished difference Result 133 states and 146 transitions. [2022-04-28 12:42:40,346 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2022-04-28 12:42:40,346 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, (16), 14 states have call predecessors, (16), 12 states have return successors, (14), 12 states have call predecessors, (14), 13 states have call successors, (14) Word has length 122 [2022-04-28 12:42:40,346 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:42:40,347 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, (16), 14 states have call predecessors, (16), 12 states have return successors, (14), 12 states have call predecessors, (14), 13 states have call successors, (14) [2022-04-28 12:42:40,349 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 145 transitions. [2022-04-28 12:42:40,349 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, (16), 14 states have call predecessors, (16), 12 states have return successors, (14), 12 states have call predecessors, (14), 13 states have call successors, (14) [2022-04-28 12:42:40,352 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 145 transitions. [2022-04-28 12:42:40,352 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 26 states and 145 transitions. [2022-04-28 12:42:40,453 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 145 edges. 145 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:42:40,455 INFO L225 Difference]: With dead ends: 133 [2022-04-28 12:42:40,455 INFO L226 Difference]: Without dead ends: 128 [2022-04-28 12:42:40,456 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 254 GetRequests, 220 SyntacticMatches, 1 SemanticMatches, 33 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 93 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=489, Invalid=701, Unknown=0, NotChecked=0, Total=1190 [2022-04-28 12:42:40,456 INFO L413 NwaCegarLoop]: 37 mSDtfsCounter, 26 mSDsluCounter, 139 mSDsCounter, 0 mSdLazyCounter, 75 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 26 SdHoareTripleChecker+Valid, 176 SdHoareTripleChecker+Invalid, 82 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 75 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:42:40,456 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [26 Valid, 176 Invalid, 82 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 75 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:42:40,457 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 128 states. [2022-04-28 12:42:40,592 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 128 to 128. [2022-04-28 12:42:40,593 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:42:40,593 INFO L82 GeneralOperation]: Start isEquivalent. First operand 128 states. Second operand has 128 states, 96 states have (on average 1.1354166666666667) internal successors, (109), 96 states have internal predecessors, (109), 17 states have call successors, (17), 16 states have call predecessors, (17), 14 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 12:42:40,593 INFO L74 IsIncluded]: Start isIncluded. First operand 128 states. Second operand has 128 states, 96 states have (on average 1.1354166666666667) internal successors, (109), 96 states have internal predecessors, (109), 17 states have call successors, (17), 16 states have call predecessors, (17), 14 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 12:42:40,593 INFO L87 Difference]: Start difference. First operand 128 states. Second operand has 128 states, 96 states have (on average 1.1354166666666667) internal successors, (109), 96 states have internal predecessors, (109), 17 states have call successors, (17), 16 states have call predecessors, (17), 14 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 12:42:40,595 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:42:40,595 INFO L93 Difference]: Finished difference Result 128 states and 141 transitions. [2022-04-28 12:42:40,595 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 141 transitions. [2022-04-28 12:42:40,596 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:42:40,596 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:42:40,596 INFO L74 IsIncluded]: Start isIncluded. First operand has 128 states, 96 states have (on average 1.1354166666666667) internal successors, (109), 96 states have internal predecessors, (109), 17 states have call successors, (17), 16 states have call predecessors, (17), 14 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) Second operand 128 states. [2022-04-28 12:42:40,596 INFO L87 Difference]: Start difference. First operand has 128 states, 96 states have (on average 1.1354166666666667) internal successors, (109), 96 states have internal predecessors, (109), 17 states have call successors, (17), 16 states have call predecessors, (17), 14 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) Second operand 128 states. [2022-04-28 12:42:40,598 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:42:40,599 INFO L93 Difference]: Finished difference Result 128 states and 141 transitions. [2022-04-28 12:42:40,599 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 141 transitions. [2022-04-28 12:42:40,599 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:42:40,599 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:42:40,599 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:42:40,599 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:42:40,599 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 128 states, 96 states have (on average 1.1354166666666667) internal successors, (109), 96 states have internal predecessors, (109), 17 states have call successors, (17), 16 states have call predecessors, (17), 14 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 12:42:40,602 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 128 states to 128 states and 141 transitions. [2022-04-28 12:42:40,602 INFO L78 Accepts]: Start accepts. Automaton has 128 states and 141 transitions. Word has length 122 [2022-04-28 12:42:40,602 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:42:40,602 INFO L495 AbstractCegarLoop]: Abstraction has 128 states and 141 transitions. [2022-04-28 12:42:40,602 INFO L496 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, (16), 14 states have call predecessors, (16), 12 states have return successors, (14), 12 states have call predecessors, (14), 13 states have call successors, (14) [2022-04-28 12:42:40,602 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 128 states and 141 transitions. [2022-04-28 12:42:42,801 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 141 edges. 140 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 12:42:42,801 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 141 transitions. [2022-04-28 12:42:42,802 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 132 [2022-04-28 12:42:42,803 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:42:42,803 INFO L195 NwaCegarLoop]: trace histogram [13, 13, 12, 12, 12, 12, 12, 12, 12, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:42:42,827 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-28 12:42:43,019 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 16 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable14 [2022-04-28 12:42:43,019 INFO L420 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:42:43,020 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:42:43,020 INFO L85 PathProgramCache]: Analyzing trace with hash 881443734, now seen corresponding path program 23 times [2022-04-28 12:42:43,020 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:42:43,020 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1546649532] [2022-04-28 12:42:43,020 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:42:43,020 INFO L85 PathProgramCache]: Analyzing trace with hash 881443734, now seen corresponding path program 24 times [2022-04-28 12:42:43,020 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:42:43,021 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [323975110] [2022-04-28 12:42:43,021 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:42:43,021 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:42:43,037 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:42:43,037 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [347302077] [2022-04-28 12:42:43,037 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 12:42:43,037 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:42:43,037 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:42:43,038 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-28 12:42:43,042 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-28 12:42:44,648 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 13 check-sat command(s) [2022-04-28 12:42:44,648 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:42:44,652 INFO L263 TraceCheckSpWp]: Trace formula consists of 333 conjuncts, 29 conjunts are in the unsatisfiable core [2022-04-28 12:42:44,683 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:42:44,684 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:42:45,330 INFO L272 TraceCheckUtils]: 0: Hoare triple {12245#true} call ULTIMATE.init(); {12245#true} is VALID [2022-04-28 12:42:45,331 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-28 12:42:45,331 INFO L290 TraceCheckUtils]: 2: Hoare triple {12253#(<= ~counter~0 0)} assume true; {12253#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:45,331 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12253#(<= ~counter~0 0)} {12245#true} #67#return; {12253#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:45,332 INFO L272 TraceCheckUtils]: 4: Hoare triple {12253#(<= ~counter~0 0)} call #t~ret7 := main(); {12253#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:45,332 INFO L290 TraceCheckUtils]: 5: Hoare triple {12253#(<= ~counter~0 0)} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~R~0 := #t~nondet5;havoc #t~nondet5; {12253#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:45,332 INFO L272 TraceCheckUtils]: 6: Hoare triple {12253#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {12253#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:45,333 INFO L290 TraceCheckUtils]: 7: Hoare triple {12253#(<= ~counter~0 0)} ~cond := #in~cond; {12253#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:45,333 INFO L290 TraceCheckUtils]: 8: Hoare triple {12253#(<= ~counter~0 0)} assume !(0 == ~cond); {12253#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:45,333 INFO L290 TraceCheckUtils]: 9: Hoare triple {12253#(<= ~counter~0 0)} assume true; {12253#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:45,334 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {12253#(<= ~counter~0 0)} {12253#(<= ~counter~0 0)} #59#return; {12253#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:45,334 INFO L272 TraceCheckUtils]: 11: Hoare triple {12253#(<= ~counter~0 0)} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {12253#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:45,334 INFO L290 TraceCheckUtils]: 12: Hoare triple {12253#(<= ~counter~0 0)} ~cond := #in~cond; {12253#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:45,335 INFO L290 TraceCheckUtils]: 13: Hoare triple {12253#(<= ~counter~0 0)} assume !(0 == ~cond); {12253#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:45,335 INFO L290 TraceCheckUtils]: 14: Hoare triple {12253#(<= ~counter~0 0)} assume true; {12253#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:45,335 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {12253#(<= ~counter~0 0)} {12253#(<= ~counter~0 0)} #61#return; {12253#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:45,336 INFO L290 TraceCheckUtils]: 16: Hoare triple {12253#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {12253#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:45,336 INFO L290 TraceCheckUtils]: 17: Hoare triple {12253#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12302#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:45,336 INFO L290 TraceCheckUtils]: 18: Hoare triple {12302#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {12302#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:45,337 INFO L272 TraceCheckUtils]: 19: Hoare triple {12302#(<= ~counter~0 1)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {12302#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:45,337 INFO L290 TraceCheckUtils]: 20: Hoare triple {12302#(<= ~counter~0 1)} ~cond := #in~cond; {12302#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:45,337 INFO L290 TraceCheckUtils]: 21: Hoare triple {12302#(<= ~counter~0 1)} assume !(0 == ~cond); {12302#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:45,338 INFO L290 TraceCheckUtils]: 22: Hoare triple {12302#(<= ~counter~0 1)} assume true; {12302#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:45,338 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {12302#(<= ~counter~0 1)} {12302#(<= ~counter~0 1)} #63#return; {12302#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:45,339 INFO L290 TraceCheckUtils]: 24: Hoare triple {12302#(<= ~counter~0 1)} assume !!(0 != ~r~0); {12302#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:45,339 INFO L290 TraceCheckUtils]: 25: Hoare triple {12302#(<= ~counter~0 1)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {12302#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:45,339 INFO L290 TraceCheckUtils]: 26: Hoare triple {12302#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12330#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:45,340 INFO L290 TraceCheckUtils]: 27: Hoare triple {12330#(<= ~counter~0 2)} assume !!(#t~post6 < 20);havoc #t~post6; {12330#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:45,340 INFO L272 TraceCheckUtils]: 28: Hoare triple {12330#(<= ~counter~0 2)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {12330#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:45,340 INFO L290 TraceCheckUtils]: 29: Hoare triple {12330#(<= ~counter~0 2)} ~cond := #in~cond; {12330#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:45,341 INFO L290 TraceCheckUtils]: 30: Hoare triple {12330#(<= ~counter~0 2)} assume !(0 == ~cond); {12330#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:45,341 INFO L290 TraceCheckUtils]: 31: Hoare triple {12330#(<= ~counter~0 2)} assume true; {12330#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:45,341 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {12330#(<= ~counter~0 2)} {12330#(<= ~counter~0 2)} #63#return; {12330#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:45,342 INFO L290 TraceCheckUtils]: 33: Hoare triple {12330#(<= ~counter~0 2)} assume !!(0 != ~r~0); {12330#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:45,342 INFO L290 TraceCheckUtils]: 34: Hoare triple {12330#(<= ~counter~0 2)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {12330#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:45,342 INFO L290 TraceCheckUtils]: 35: Hoare triple {12330#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12358#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:45,343 INFO L290 TraceCheckUtils]: 36: Hoare triple {12358#(<= ~counter~0 3)} assume !!(#t~post6 < 20);havoc #t~post6; {12358#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:45,343 INFO L272 TraceCheckUtils]: 37: Hoare triple {12358#(<= ~counter~0 3)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {12358#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:45,343 INFO L290 TraceCheckUtils]: 38: Hoare triple {12358#(<= ~counter~0 3)} ~cond := #in~cond; {12358#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:45,344 INFO L290 TraceCheckUtils]: 39: Hoare triple {12358#(<= ~counter~0 3)} assume !(0 == ~cond); {12358#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:45,344 INFO L290 TraceCheckUtils]: 40: Hoare triple {12358#(<= ~counter~0 3)} assume true; {12358#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:45,344 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {12358#(<= ~counter~0 3)} {12358#(<= ~counter~0 3)} #63#return; {12358#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:45,345 INFO L290 TraceCheckUtils]: 42: Hoare triple {12358#(<= ~counter~0 3)} assume !!(0 != ~r~0); {12358#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:45,345 INFO L290 TraceCheckUtils]: 43: Hoare triple {12358#(<= ~counter~0 3)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {12358#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:45,345 INFO L290 TraceCheckUtils]: 44: Hoare triple {12358#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12386#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:45,346 INFO L290 TraceCheckUtils]: 45: Hoare triple {12386#(<= ~counter~0 4)} assume !!(#t~post6 < 20);havoc #t~post6; {12386#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:45,346 INFO L272 TraceCheckUtils]: 46: Hoare triple {12386#(<= ~counter~0 4)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {12386#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:45,347 INFO L290 TraceCheckUtils]: 47: Hoare triple {12386#(<= ~counter~0 4)} ~cond := #in~cond; {12386#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:45,347 INFO L290 TraceCheckUtils]: 48: Hoare triple {12386#(<= ~counter~0 4)} assume !(0 == ~cond); {12386#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:45,347 INFO L290 TraceCheckUtils]: 49: Hoare triple {12386#(<= ~counter~0 4)} assume true; {12386#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:45,348 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {12386#(<= ~counter~0 4)} {12386#(<= ~counter~0 4)} #63#return; {12386#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:45,348 INFO L290 TraceCheckUtils]: 51: Hoare triple {12386#(<= ~counter~0 4)} assume !!(0 != ~r~0); {12386#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:45,348 INFO L290 TraceCheckUtils]: 52: Hoare triple {12386#(<= ~counter~0 4)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {12386#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:45,349 INFO L290 TraceCheckUtils]: 53: Hoare triple {12386#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12414#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:45,349 INFO L290 TraceCheckUtils]: 54: Hoare triple {12414#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {12414#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:45,349 INFO L272 TraceCheckUtils]: 55: Hoare triple {12414#(<= ~counter~0 5)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {12414#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:45,350 INFO L290 TraceCheckUtils]: 56: Hoare triple {12414#(<= ~counter~0 5)} ~cond := #in~cond; {12414#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:45,350 INFO L290 TraceCheckUtils]: 57: Hoare triple {12414#(<= ~counter~0 5)} assume !(0 == ~cond); {12414#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:45,350 INFO L290 TraceCheckUtils]: 58: Hoare triple {12414#(<= ~counter~0 5)} assume true; {12414#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:45,351 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {12414#(<= ~counter~0 5)} {12414#(<= ~counter~0 5)} #63#return; {12414#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:45,351 INFO L290 TraceCheckUtils]: 60: Hoare triple {12414#(<= ~counter~0 5)} assume !!(0 != ~r~0); {12414#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:45,351 INFO L290 TraceCheckUtils]: 61: Hoare triple {12414#(<= ~counter~0 5)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {12414#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:45,352 INFO L290 TraceCheckUtils]: 62: Hoare triple {12414#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12442#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:45,352 INFO L290 TraceCheckUtils]: 63: Hoare triple {12442#(<= ~counter~0 6)} assume !!(#t~post6 < 20);havoc #t~post6; {12442#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:45,352 INFO L272 TraceCheckUtils]: 64: Hoare triple {12442#(<= ~counter~0 6)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {12442#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:45,353 INFO L290 TraceCheckUtils]: 65: Hoare triple {12442#(<= ~counter~0 6)} ~cond := #in~cond; {12442#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:45,353 INFO L290 TraceCheckUtils]: 66: Hoare triple {12442#(<= ~counter~0 6)} assume !(0 == ~cond); {12442#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:45,353 INFO L290 TraceCheckUtils]: 67: Hoare triple {12442#(<= ~counter~0 6)} assume true; {12442#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:45,354 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {12442#(<= ~counter~0 6)} {12442#(<= ~counter~0 6)} #63#return; {12442#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:45,354 INFO L290 TraceCheckUtils]: 69: Hoare triple {12442#(<= ~counter~0 6)} assume !!(0 != ~r~0); {12442#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:45,354 INFO L290 TraceCheckUtils]: 70: Hoare triple {12442#(<= ~counter~0 6)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {12442#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:45,355 INFO L290 TraceCheckUtils]: 71: Hoare triple {12442#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12470#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:45,355 INFO L290 TraceCheckUtils]: 72: Hoare triple {12470#(<= ~counter~0 7)} assume !!(#t~post6 < 20);havoc #t~post6; {12470#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:45,356 INFO L272 TraceCheckUtils]: 73: Hoare triple {12470#(<= ~counter~0 7)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {12470#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:45,356 INFO L290 TraceCheckUtils]: 74: Hoare triple {12470#(<= ~counter~0 7)} ~cond := #in~cond; {12470#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:45,356 INFO L290 TraceCheckUtils]: 75: Hoare triple {12470#(<= ~counter~0 7)} assume !(0 == ~cond); {12470#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:45,356 INFO L290 TraceCheckUtils]: 76: Hoare triple {12470#(<= ~counter~0 7)} assume true; {12470#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:45,357 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {12470#(<= ~counter~0 7)} {12470#(<= ~counter~0 7)} #63#return; {12470#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:45,357 INFO L290 TraceCheckUtils]: 78: Hoare triple {12470#(<= ~counter~0 7)} assume !!(0 != ~r~0); {12470#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:45,357 INFO L290 TraceCheckUtils]: 79: Hoare triple {12470#(<= ~counter~0 7)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {12470#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:45,358 INFO L290 TraceCheckUtils]: 80: Hoare triple {12470#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12498#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:45,358 INFO L290 TraceCheckUtils]: 81: Hoare triple {12498#(<= ~counter~0 8)} assume !!(#t~post6 < 20);havoc #t~post6; {12498#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:45,359 INFO L272 TraceCheckUtils]: 82: Hoare triple {12498#(<= ~counter~0 8)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {12498#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:45,359 INFO L290 TraceCheckUtils]: 83: Hoare triple {12498#(<= ~counter~0 8)} ~cond := #in~cond; {12498#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:45,359 INFO L290 TraceCheckUtils]: 84: Hoare triple {12498#(<= ~counter~0 8)} assume !(0 == ~cond); {12498#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:45,359 INFO L290 TraceCheckUtils]: 85: Hoare triple {12498#(<= ~counter~0 8)} assume true; {12498#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:45,360 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {12498#(<= ~counter~0 8)} {12498#(<= ~counter~0 8)} #63#return; {12498#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:45,360 INFO L290 TraceCheckUtils]: 87: Hoare triple {12498#(<= ~counter~0 8)} assume !!(0 != ~r~0); {12498#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:45,361 INFO L290 TraceCheckUtils]: 88: Hoare triple {12498#(<= ~counter~0 8)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {12498#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:45,361 INFO L290 TraceCheckUtils]: 89: Hoare triple {12498#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12526#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:45,361 INFO L290 TraceCheckUtils]: 90: Hoare triple {12526#(<= ~counter~0 9)} assume !!(#t~post6 < 20);havoc #t~post6; {12526#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:45,362 INFO L272 TraceCheckUtils]: 91: Hoare triple {12526#(<= ~counter~0 9)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {12526#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:45,362 INFO L290 TraceCheckUtils]: 92: Hoare triple {12526#(<= ~counter~0 9)} ~cond := #in~cond; {12526#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:45,362 INFO L290 TraceCheckUtils]: 93: Hoare triple {12526#(<= ~counter~0 9)} assume !(0 == ~cond); {12526#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:45,363 INFO L290 TraceCheckUtils]: 94: Hoare triple {12526#(<= ~counter~0 9)} assume true; {12526#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:45,363 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {12526#(<= ~counter~0 9)} {12526#(<= ~counter~0 9)} #63#return; {12526#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:45,363 INFO L290 TraceCheckUtils]: 96: Hoare triple {12526#(<= ~counter~0 9)} assume !!(0 != ~r~0); {12526#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:45,364 INFO L290 TraceCheckUtils]: 97: Hoare triple {12526#(<= ~counter~0 9)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {12526#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:45,364 INFO L290 TraceCheckUtils]: 98: Hoare triple {12526#(<= ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12554#(<= ~counter~0 10)} is VALID [2022-04-28 12:42:45,364 INFO L290 TraceCheckUtils]: 99: Hoare triple {12554#(<= ~counter~0 10)} assume !!(#t~post6 < 20);havoc #t~post6; {12554#(<= ~counter~0 10)} is VALID [2022-04-28 12:42:45,365 INFO L272 TraceCheckUtils]: 100: Hoare triple {12554#(<= ~counter~0 10)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {12554#(<= ~counter~0 10)} is VALID [2022-04-28 12:42:45,365 INFO L290 TraceCheckUtils]: 101: Hoare triple {12554#(<= ~counter~0 10)} ~cond := #in~cond; {12554#(<= ~counter~0 10)} is VALID [2022-04-28 12:42:45,365 INFO L290 TraceCheckUtils]: 102: Hoare triple {12554#(<= ~counter~0 10)} assume !(0 == ~cond); {12554#(<= ~counter~0 10)} is VALID [2022-04-28 12:42:45,366 INFO L290 TraceCheckUtils]: 103: Hoare triple {12554#(<= ~counter~0 10)} assume true; {12554#(<= ~counter~0 10)} is VALID [2022-04-28 12:42:45,366 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {12554#(<= ~counter~0 10)} {12554#(<= ~counter~0 10)} #63#return; {12554#(<= ~counter~0 10)} is VALID [2022-04-28 12:42:45,366 INFO L290 TraceCheckUtils]: 105: Hoare triple {12554#(<= ~counter~0 10)} assume !!(0 != ~r~0); {12554#(<= ~counter~0 10)} is VALID [2022-04-28 12:42:45,367 INFO L290 TraceCheckUtils]: 106: Hoare triple {12554#(<= ~counter~0 10)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {12554#(<= ~counter~0 10)} is VALID [2022-04-28 12:42:45,367 INFO L290 TraceCheckUtils]: 107: Hoare triple {12554#(<= ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12582#(<= ~counter~0 11)} is VALID [2022-04-28 12:42:45,367 INFO L290 TraceCheckUtils]: 108: Hoare triple {12582#(<= ~counter~0 11)} assume !!(#t~post6 < 20);havoc #t~post6; {12582#(<= ~counter~0 11)} is VALID [2022-04-28 12:42:45,368 INFO L272 TraceCheckUtils]: 109: Hoare triple {12582#(<= ~counter~0 11)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {12582#(<= ~counter~0 11)} is VALID [2022-04-28 12:42:45,368 INFO L290 TraceCheckUtils]: 110: Hoare triple {12582#(<= ~counter~0 11)} ~cond := #in~cond; {12582#(<= ~counter~0 11)} is VALID [2022-04-28 12:42:45,369 INFO L290 TraceCheckUtils]: 111: Hoare triple {12582#(<= ~counter~0 11)} assume !(0 == ~cond); {12582#(<= ~counter~0 11)} is VALID [2022-04-28 12:42:45,369 INFO L290 TraceCheckUtils]: 112: Hoare triple {12582#(<= ~counter~0 11)} assume true; {12582#(<= ~counter~0 11)} is VALID [2022-04-28 12:42:45,369 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {12582#(<= ~counter~0 11)} {12582#(<= ~counter~0 11)} #63#return; {12582#(<= ~counter~0 11)} is VALID [2022-04-28 12:42:45,370 INFO L290 TraceCheckUtils]: 114: Hoare triple {12582#(<= ~counter~0 11)} assume !!(0 != ~r~0); {12582#(<= ~counter~0 11)} is VALID [2022-04-28 12:42:45,370 INFO L290 TraceCheckUtils]: 115: Hoare triple {12582#(<= ~counter~0 11)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {12582#(<= ~counter~0 11)} is VALID [2022-04-28 12:42:45,370 INFO L290 TraceCheckUtils]: 116: Hoare triple {12582#(<= ~counter~0 11)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12610#(<= ~counter~0 12)} is VALID [2022-04-28 12:42:45,371 INFO L290 TraceCheckUtils]: 117: Hoare triple {12610#(<= ~counter~0 12)} assume !!(#t~post6 < 20);havoc #t~post6; {12610#(<= ~counter~0 12)} is VALID [2022-04-28 12:42:45,371 INFO L272 TraceCheckUtils]: 118: Hoare triple {12610#(<= ~counter~0 12)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {12610#(<= ~counter~0 12)} is VALID [2022-04-28 12:42:45,371 INFO L290 TraceCheckUtils]: 119: Hoare triple {12610#(<= ~counter~0 12)} ~cond := #in~cond; {12610#(<= ~counter~0 12)} is VALID [2022-04-28 12:42:45,372 INFO L290 TraceCheckUtils]: 120: Hoare triple {12610#(<= ~counter~0 12)} assume !(0 == ~cond); {12610#(<= ~counter~0 12)} is VALID [2022-04-28 12:42:45,372 INFO L290 TraceCheckUtils]: 121: Hoare triple {12610#(<= ~counter~0 12)} assume true; {12610#(<= ~counter~0 12)} is VALID [2022-04-28 12:42:45,372 INFO L284 TraceCheckUtils]: 122: Hoare quadruple {12610#(<= ~counter~0 12)} {12610#(<= ~counter~0 12)} #63#return; {12610#(<= ~counter~0 12)} is VALID [2022-04-28 12:42:45,373 INFO L290 TraceCheckUtils]: 123: Hoare triple {12610#(<= ~counter~0 12)} assume !!(0 != ~r~0); {12610#(<= ~counter~0 12)} is VALID [2022-04-28 12:42:45,373 INFO L290 TraceCheckUtils]: 124: Hoare triple {12610#(<= ~counter~0 12)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {12610#(<= ~counter~0 12)} is VALID [2022-04-28 12:42:45,373 INFO L290 TraceCheckUtils]: 125: Hoare triple {12610#(<= ~counter~0 12)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12638#(<= |main_#t~post6| 12)} is VALID [2022-04-28 12:42:45,374 INFO L290 TraceCheckUtils]: 126: Hoare triple {12638#(<= |main_#t~post6| 12)} assume !(#t~post6 < 20);havoc #t~post6; {12246#false} is VALID [2022-04-28 12:42:45,374 INFO L272 TraceCheckUtils]: 127: Hoare triple {12246#false} call __VERIFIER_assert((if 4 * ~A~0 == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {12246#false} is VALID [2022-04-28 12:42:45,374 INFO L290 TraceCheckUtils]: 128: Hoare triple {12246#false} ~cond := #in~cond; {12246#false} is VALID [2022-04-28 12:42:45,374 INFO L290 TraceCheckUtils]: 129: Hoare triple {12246#false} assume 0 == ~cond; {12246#false} is VALID [2022-04-28 12:42:45,374 INFO L290 TraceCheckUtils]: 130: Hoare triple {12246#false} assume !false; {12246#false} is VALID [2022-04-28 12:42:45,374 INFO L134 CoverageAnalysis]: Checked inductivity of 646 backedges. 24 proven. 618 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:42:45,375 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:42:46,041 INFO L290 TraceCheckUtils]: 130: Hoare triple {12246#false} assume !false; {12246#false} is VALID [2022-04-28 12:42:46,041 INFO L290 TraceCheckUtils]: 129: Hoare triple {12246#false} assume 0 == ~cond; {12246#false} is VALID [2022-04-28 12:42:46,041 INFO L290 TraceCheckUtils]: 128: Hoare triple {12246#false} ~cond := #in~cond; {12246#false} is VALID [2022-04-28 12:42:46,041 INFO L272 TraceCheckUtils]: 127: Hoare triple {12246#false} call __VERIFIER_assert((if 4 * ~A~0 == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {12246#false} is VALID [2022-04-28 12:42:46,042 INFO L290 TraceCheckUtils]: 126: Hoare triple {12666#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {12246#false} is VALID [2022-04-28 12:42:46,042 INFO L290 TraceCheckUtils]: 125: Hoare triple {12670#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12666#(< |main_#t~post6| 20)} is VALID [2022-04-28 12:42:46,042 INFO L290 TraceCheckUtils]: 124: Hoare triple {12670#(< ~counter~0 20)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {12670#(< ~counter~0 20)} is VALID [2022-04-28 12:42:46,043 INFO L290 TraceCheckUtils]: 123: Hoare triple {12670#(< ~counter~0 20)} assume !!(0 != ~r~0); {12670#(< ~counter~0 20)} is VALID [2022-04-28 12:42:46,043 INFO L284 TraceCheckUtils]: 122: Hoare quadruple {12245#true} {12670#(< ~counter~0 20)} #63#return; {12670#(< ~counter~0 20)} is VALID [2022-04-28 12:42:46,043 INFO L290 TraceCheckUtils]: 121: Hoare triple {12245#true} assume true; {12245#true} is VALID [2022-04-28 12:42:46,043 INFO L290 TraceCheckUtils]: 120: Hoare triple {12245#true} assume !(0 == ~cond); {12245#true} is VALID [2022-04-28 12:42:46,043 INFO L290 TraceCheckUtils]: 119: Hoare triple {12245#true} ~cond := #in~cond; {12245#true} is VALID [2022-04-28 12:42:46,043 INFO L272 TraceCheckUtils]: 118: Hoare triple {12670#(< ~counter~0 20)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {12245#true} is VALID [2022-04-28 12:42:46,044 INFO L290 TraceCheckUtils]: 117: Hoare triple {12670#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6; {12670#(< ~counter~0 20)} is VALID [2022-04-28 12:42:46,044 INFO L290 TraceCheckUtils]: 116: Hoare triple {12698#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12670#(< ~counter~0 20)} is VALID [2022-04-28 12:42:46,045 INFO L290 TraceCheckUtils]: 115: Hoare triple {12698#(< ~counter~0 19)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {12698#(< ~counter~0 19)} is VALID [2022-04-28 12:42:46,045 INFO L290 TraceCheckUtils]: 114: Hoare triple {12698#(< ~counter~0 19)} assume !!(0 != ~r~0); {12698#(< ~counter~0 19)} is VALID [2022-04-28 12:42:46,045 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {12245#true} {12698#(< ~counter~0 19)} #63#return; {12698#(< ~counter~0 19)} is VALID [2022-04-28 12:42:46,045 INFO L290 TraceCheckUtils]: 112: Hoare triple {12245#true} assume true; {12245#true} is VALID [2022-04-28 12:42:46,045 INFO L290 TraceCheckUtils]: 111: Hoare triple {12245#true} assume !(0 == ~cond); {12245#true} is VALID [2022-04-28 12:42:46,046 INFO L290 TraceCheckUtils]: 110: Hoare triple {12245#true} ~cond := #in~cond; {12245#true} is VALID [2022-04-28 12:42:46,046 INFO L272 TraceCheckUtils]: 109: Hoare triple {12698#(< ~counter~0 19)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {12245#true} is VALID [2022-04-28 12:42:46,046 INFO L290 TraceCheckUtils]: 108: Hoare triple {12698#(< ~counter~0 19)} assume !!(#t~post6 < 20);havoc #t~post6; {12698#(< ~counter~0 19)} is VALID [2022-04-28 12:42:46,046 INFO L290 TraceCheckUtils]: 107: Hoare triple {12726#(< ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12698#(< ~counter~0 19)} is VALID [2022-04-28 12:42:46,047 INFO L290 TraceCheckUtils]: 106: Hoare triple {12726#(< ~counter~0 18)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {12726#(< ~counter~0 18)} is VALID [2022-04-28 12:42:46,047 INFO L290 TraceCheckUtils]: 105: Hoare triple {12726#(< ~counter~0 18)} assume !!(0 != ~r~0); {12726#(< ~counter~0 18)} is VALID [2022-04-28 12:42:46,047 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {12245#true} {12726#(< ~counter~0 18)} #63#return; {12726#(< ~counter~0 18)} is VALID [2022-04-28 12:42:46,047 INFO L290 TraceCheckUtils]: 103: Hoare triple {12245#true} assume true; {12245#true} is VALID [2022-04-28 12:42:46,048 INFO L290 TraceCheckUtils]: 102: Hoare triple {12245#true} assume !(0 == ~cond); {12245#true} is VALID [2022-04-28 12:42:46,048 INFO L290 TraceCheckUtils]: 101: Hoare triple {12245#true} ~cond := #in~cond; {12245#true} is VALID [2022-04-28 12:42:46,048 INFO L272 TraceCheckUtils]: 100: Hoare triple {12726#(< ~counter~0 18)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {12245#true} is VALID [2022-04-28 12:42:46,048 INFO L290 TraceCheckUtils]: 99: Hoare triple {12726#(< ~counter~0 18)} assume !!(#t~post6 < 20);havoc #t~post6; {12726#(< ~counter~0 18)} is VALID [2022-04-28 12:42:46,048 INFO L290 TraceCheckUtils]: 98: Hoare triple {12754#(< ~counter~0 17)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12726#(< ~counter~0 18)} is VALID [2022-04-28 12:42:46,049 INFO L290 TraceCheckUtils]: 97: Hoare triple {12754#(< ~counter~0 17)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {12754#(< ~counter~0 17)} is VALID [2022-04-28 12:42:46,049 INFO L290 TraceCheckUtils]: 96: Hoare triple {12754#(< ~counter~0 17)} assume !!(0 != ~r~0); {12754#(< ~counter~0 17)} is VALID [2022-04-28 12:42:46,049 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {12245#true} {12754#(< ~counter~0 17)} #63#return; {12754#(< ~counter~0 17)} is VALID [2022-04-28 12:42:46,050 INFO L290 TraceCheckUtils]: 94: Hoare triple {12245#true} assume true; {12245#true} is VALID [2022-04-28 12:42:46,050 INFO L290 TraceCheckUtils]: 93: Hoare triple {12245#true} assume !(0 == ~cond); {12245#true} is VALID [2022-04-28 12:42:46,050 INFO L290 TraceCheckUtils]: 92: Hoare triple {12245#true} ~cond := #in~cond; {12245#true} is VALID [2022-04-28 12:42:46,050 INFO L272 TraceCheckUtils]: 91: Hoare triple {12754#(< ~counter~0 17)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {12245#true} is VALID [2022-04-28 12:42:46,050 INFO L290 TraceCheckUtils]: 90: Hoare triple {12754#(< ~counter~0 17)} assume !!(#t~post6 < 20);havoc #t~post6; {12754#(< ~counter~0 17)} is VALID [2022-04-28 12:42:46,050 INFO L290 TraceCheckUtils]: 89: Hoare triple {12782#(< ~counter~0 16)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12754#(< ~counter~0 17)} is VALID [2022-04-28 12:42:46,051 INFO L290 TraceCheckUtils]: 88: Hoare triple {12782#(< ~counter~0 16)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {12782#(< ~counter~0 16)} is VALID [2022-04-28 12:42:46,051 INFO L290 TraceCheckUtils]: 87: Hoare triple {12782#(< ~counter~0 16)} assume !!(0 != ~r~0); {12782#(< ~counter~0 16)} is VALID [2022-04-28 12:42:46,052 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {12245#true} {12782#(< ~counter~0 16)} #63#return; {12782#(< ~counter~0 16)} is VALID [2022-04-28 12:42:46,052 INFO L290 TraceCheckUtils]: 85: Hoare triple {12245#true} assume true; {12245#true} is VALID [2022-04-28 12:42:46,052 INFO L290 TraceCheckUtils]: 84: Hoare triple {12245#true} assume !(0 == ~cond); {12245#true} is VALID [2022-04-28 12:42:46,052 INFO L290 TraceCheckUtils]: 83: Hoare triple {12245#true} ~cond := #in~cond; {12245#true} is VALID [2022-04-28 12:42:46,052 INFO L272 TraceCheckUtils]: 82: Hoare triple {12782#(< ~counter~0 16)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {12245#true} is VALID [2022-04-28 12:42:46,052 INFO L290 TraceCheckUtils]: 81: Hoare triple {12782#(< ~counter~0 16)} assume !!(#t~post6 < 20);havoc #t~post6; {12782#(< ~counter~0 16)} is VALID [2022-04-28 12:42:46,053 INFO L290 TraceCheckUtils]: 80: Hoare triple {12810#(< ~counter~0 15)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12782#(< ~counter~0 16)} is VALID [2022-04-28 12:42:46,053 INFO L290 TraceCheckUtils]: 79: Hoare triple {12810#(< ~counter~0 15)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {12810#(< ~counter~0 15)} is VALID [2022-04-28 12:42:46,053 INFO L290 TraceCheckUtils]: 78: Hoare triple {12810#(< ~counter~0 15)} assume !!(0 != ~r~0); {12810#(< ~counter~0 15)} is VALID [2022-04-28 12:42:46,054 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {12245#true} {12810#(< ~counter~0 15)} #63#return; {12810#(< ~counter~0 15)} is VALID [2022-04-28 12:42:46,054 INFO L290 TraceCheckUtils]: 76: Hoare triple {12245#true} assume true; {12245#true} is VALID [2022-04-28 12:42:46,054 INFO L290 TraceCheckUtils]: 75: Hoare triple {12245#true} assume !(0 == ~cond); {12245#true} is VALID [2022-04-28 12:42:46,054 INFO L290 TraceCheckUtils]: 74: Hoare triple {12245#true} ~cond := #in~cond; {12245#true} is VALID [2022-04-28 12:42:46,054 INFO L272 TraceCheckUtils]: 73: Hoare triple {12810#(< ~counter~0 15)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {12245#true} is VALID [2022-04-28 12:42:46,054 INFO L290 TraceCheckUtils]: 72: Hoare triple {12810#(< ~counter~0 15)} assume !!(#t~post6 < 20);havoc #t~post6; {12810#(< ~counter~0 15)} is VALID [2022-04-28 12:42:46,055 INFO L290 TraceCheckUtils]: 71: Hoare triple {12838#(< ~counter~0 14)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12810#(< ~counter~0 15)} is VALID [2022-04-28 12:42:46,055 INFO L290 TraceCheckUtils]: 70: Hoare triple {12838#(< ~counter~0 14)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {12838#(< ~counter~0 14)} is VALID [2022-04-28 12:42:46,055 INFO L290 TraceCheckUtils]: 69: Hoare triple {12838#(< ~counter~0 14)} assume !!(0 != ~r~0); {12838#(< ~counter~0 14)} is VALID [2022-04-28 12:42:46,056 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {12245#true} {12838#(< ~counter~0 14)} #63#return; {12838#(< ~counter~0 14)} is VALID [2022-04-28 12:42:46,056 INFO L290 TraceCheckUtils]: 67: Hoare triple {12245#true} assume true; {12245#true} is VALID [2022-04-28 12:42:46,056 INFO L290 TraceCheckUtils]: 66: Hoare triple {12245#true} assume !(0 == ~cond); {12245#true} is VALID [2022-04-28 12:42:46,056 INFO L290 TraceCheckUtils]: 65: Hoare triple {12245#true} ~cond := #in~cond; {12245#true} is VALID [2022-04-28 12:42:46,056 INFO L272 TraceCheckUtils]: 64: Hoare triple {12838#(< ~counter~0 14)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {12245#true} is VALID [2022-04-28 12:42:46,056 INFO L290 TraceCheckUtils]: 63: Hoare triple {12838#(< ~counter~0 14)} assume !!(#t~post6 < 20);havoc #t~post6; {12838#(< ~counter~0 14)} is VALID [2022-04-28 12:42:46,057 INFO L290 TraceCheckUtils]: 62: Hoare triple {12610#(<= ~counter~0 12)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12838#(< ~counter~0 14)} is VALID [2022-04-28 12:42:46,057 INFO L290 TraceCheckUtils]: 61: Hoare triple {12610#(<= ~counter~0 12)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {12610#(<= ~counter~0 12)} is VALID [2022-04-28 12:42:46,057 INFO L290 TraceCheckUtils]: 60: Hoare triple {12610#(<= ~counter~0 12)} assume !!(0 != ~r~0); {12610#(<= ~counter~0 12)} is VALID [2022-04-28 12:42:46,058 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {12245#true} {12610#(<= ~counter~0 12)} #63#return; {12610#(<= ~counter~0 12)} is VALID [2022-04-28 12:42:46,058 INFO L290 TraceCheckUtils]: 58: Hoare triple {12245#true} assume true; {12245#true} is VALID [2022-04-28 12:42:46,058 INFO L290 TraceCheckUtils]: 57: Hoare triple {12245#true} assume !(0 == ~cond); {12245#true} is VALID [2022-04-28 12:42:46,058 INFO L290 TraceCheckUtils]: 56: Hoare triple {12245#true} ~cond := #in~cond; {12245#true} is VALID [2022-04-28 12:42:46,058 INFO L272 TraceCheckUtils]: 55: Hoare triple {12610#(<= ~counter~0 12)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {12245#true} is VALID [2022-04-28 12:42:46,058 INFO L290 TraceCheckUtils]: 54: Hoare triple {12610#(<= ~counter~0 12)} assume !!(#t~post6 < 20);havoc #t~post6; {12610#(<= ~counter~0 12)} is VALID [2022-04-28 12:42:46,059 INFO L290 TraceCheckUtils]: 53: Hoare triple {12582#(<= ~counter~0 11)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12610#(<= ~counter~0 12)} is VALID [2022-04-28 12:42:46,059 INFO L290 TraceCheckUtils]: 52: Hoare triple {12582#(<= ~counter~0 11)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {12582#(<= ~counter~0 11)} is VALID [2022-04-28 12:42:46,059 INFO L290 TraceCheckUtils]: 51: Hoare triple {12582#(<= ~counter~0 11)} assume !!(0 != ~r~0); {12582#(<= ~counter~0 11)} is VALID [2022-04-28 12:42:46,060 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {12245#true} {12582#(<= ~counter~0 11)} #63#return; {12582#(<= ~counter~0 11)} is VALID [2022-04-28 12:42:46,060 INFO L290 TraceCheckUtils]: 49: Hoare triple {12245#true} assume true; {12245#true} is VALID [2022-04-28 12:42:46,060 INFO L290 TraceCheckUtils]: 48: Hoare triple {12245#true} assume !(0 == ~cond); {12245#true} is VALID [2022-04-28 12:42:46,060 INFO L290 TraceCheckUtils]: 47: Hoare triple {12245#true} ~cond := #in~cond; {12245#true} is VALID [2022-04-28 12:42:46,060 INFO L272 TraceCheckUtils]: 46: Hoare triple {12582#(<= ~counter~0 11)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {12245#true} is VALID [2022-04-28 12:42:46,060 INFO L290 TraceCheckUtils]: 45: Hoare triple {12582#(<= ~counter~0 11)} assume !!(#t~post6 < 20);havoc #t~post6; {12582#(<= ~counter~0 11)} is VALID [2022-04-28 12:42:46,061 INFO L290 TraceCheckUtils]: 44: Hoare triple {12554#(<= ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12582#(<= ~counter~0 11)} is VALID [2022-04-28 12:42:46,061 INFO L290 TraceCheckUtils]: 43: Hoare triple {12554#(<= ~counter~0 10)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {12554#(<= ~counter~0 10)} is VALID [2022-04-28 12:42:46,061 INFO L290 TraceCheckUtils]: 42: Hoare triple {12554#(<= ~counter~0 10)} assume !!(0 != ~r~0); {12554#(<= ~counter~0 10)} is VALID [2022-04-28 12:42:46,062 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {12245#true} {12554#(<= ~counter~0 10)} #63#return; {12554#(<= ~counter~0 10)} is VALID [2022-04-28 12:42:46,062 INFO L290 TraceCheckUtils]: 40: Hoare triple {12245#true} assume true; {12245#true} is VALID [2022-04-28 12:42:46,062 INFO L290 TraceCheckUtils]: 39: Hoare triple {12245#true} assume !(0 == ~cond); {12245#true} is VALID [2022-04-28 12:42:46,062 INFO L290 TraceCheckUtils]: 38: Hoare triple {12245#true} ~cond := #in~cond; {12245#true} is VALID [2022-04-28 12:42:46,062 INFO L272 TraceCheckUtils]: 37: Hoare triple {12554#(<= ~counter~0 10)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {12245#true} is VALID [2022-04-28 12:42:46,067 INFO L290 TraceCheckUtils]: 36: Hoare triple {12554#(<= ~counter~0 10)} assume !!(#t~post6 < 20);havoc #t~post6; {12554#(<= ~counter~0 10)} is VALID [2022-04-28 12:42:46,068 INFO L290 TraceCheckUtils]: 35: Hoare triple {12526#(<= ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12554#(<= ~counter~0 10)} is VALID [2022-04-28 12:42:46,068 INFO L290 TraceCheckUtils]: 34: Hoare triple {12526#(<= ~counter~0 9)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {12526#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:46,068 INFO L290 TraceCheckUtils]: 33: Hoare triple {12526#(<= ~counter~0 9)} assume !!(0 != ~r~0); {12526#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:46,069 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {12245#true} {12526#(<= ~counter~0 9)} #63#return; {12526#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:46,069 INFO L290 TraceCheckUtils]: 31: Hoare triple {12245#true} assume true; {12245#true} is VALID [2022-04-28 12:42:46,069 INFO L290 TraceCheckUtils]: 30: Hoare triple {12245#true} assume !(0 == ~cond); {12245#true} is VALID [2022-04-28 12:42:46,069 INFO L290 TraceCheckUtils]: 29: Hoare triple {12245#true} ~cond := #in~cond; {12245#true} is VALID [2022-04-28 12:42:46,070 INFO L272 TraceCheckUtils]: 28: Hoare triple {12526#(<= ~counter~0 9)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {12245#true} is VALID [2022-04-28 12:42:46,070 INFO L290 TraceCheckUtils]: 27: Hoare triple {12526#(<= ~counter~0 9)} assume !!(#t~post6 < 20);havoc #t~post6; {12526#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:46,070 INFO L290 TraceCheckUtils]: 26: Hoare triple {12498#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12526#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:46,071 INFO L290 TraceCheckUtils]: 25: Hoare triple {12498#(<= ~counter~0 8)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {12498#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:46,071 INFO L290 TraceCheckUtils]: 24: Hoare triple {12498#(<= ~counter~0 8)} assume !!(0 != ~r~0); {12498#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:46,072 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {12245#true} {12498#(<= ~counter~0 8)} #63#return; {12498#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:46,072 INFO L290 TraceCheckUtils]: 22: Hoare triple {12245#true} assume true; {12245#true} is VALID [2022-04-28 12:42:46,072 INFO L290 TraceCheckUtils]: 21: Hoare triple {12245#true} assume !(0 == ~cond); {12245#true} is VALID [2022-04-28 12:42:46,072 INFO L290 TraceCheckUtils]: 20: Hoare triple {12245#true} ~cond := #in~cond; {12245#true} is VALID [2022-04-28 12:42:46,072 INFO L272 TraceCheckUtils]: 19: Hoare triple {12498#(<= ~counter~0 8)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {12245#true} is VALID [2022-04-28 12:42:46,073 INFO L290 TraceCheckUtils]: 18: Hoare triple {12498#(<= ~counter~0 8)} assume !!(#t~post6 < 20);havoc #t~post6; {12498#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:46,073 INFO L290 TraceCheckUtils]: 17: Hoare triple {12470#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12498#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:46,073 INFO L290 TraceCheckUtils]: 16: Hoare triple {12470#(<= ~counter~0 7)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {12470#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:46,074 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {12245#true} {12470#(<= ~counter~0 7)} #61#return; {12470#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:46,074 INFO L290 TraceCheckUtils]: 14: Hoare triple {12245#true} assume true; {12245#true} is VALID [2022-04-28 12:42:46,074 INFO L290 TraceCheckUtils]: 13: Hoare triple {12245#true} assume !(0 == ~cond); {12245#true} is VALID [2022-04-28 12:42:46,074 INFO L290 TraceCheckUtils]: 12: Hoare triple {12245#true} ~cond := #in~cond; {12245#true} is VALID [2022-04-28 12:42:46,074 INFO L272 TraceCheckUtils]: 11: Hoare triple {12470#(<= ~counter~0 7)} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {12245#true} is VALID [2022-04-28 12:42:46,074 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {12245#true} {12470#(<= ~counter~0 7)} #59#return; {12470#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:46,075 INFO L290 TraceCheckUtils]: 9: Hoare triple {12245#true} assume true; {12245#true} is VALID [2022-04-28 12:42:46,075 INFO L290 TraceCheckUtils]: 8: Hoare triple {12245#true} assume !(0 == ~cond); {12245#true} is VALID [2022-04-28 12:42:46,075 INFO L290 TraceCheckUtils]: 7: Hoare triple {12245#true} ~cond := #in~cond; {12245#true} is VALID [2022-04-28 12:42:46,075 INFO L272 TraceCheckUtils]: 6: Hoare triple {12470#(<= ~counter~0 7)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {12245#true} is VALID [2022-04-28 12:42:46,075 INFO L290 TraceCheckUtils]: 5: Hoare triple {12470#(<= ~counter~0 7)} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~R~0 := #t~nondet5;havoc #t~nondet5; {12470#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:46,075 INFO L272 TraceCheckUtils]: 4: Hoare triple {12470#(<= ~counter~0 7)} call #t~ret7 := main(); {12470#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:46,076 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12470#(<= ~counter~0 7)} {12245#true} #67#return; {12470#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:46,076 INFO L290 TraceCheckUtils]: 2: Hoare triple {12470#(<= ~counter~0 7)} assume true; {12470#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:46,076 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; {12470#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:46,076 INFO L272 TraceCheckUtils]: 0: Hoare triple {12245#true} call ULTIMATE.init(); {12245#true} is VALID [2022-04-28 12:42:46,077 INFO L134 CoverageAnalysis]: Checked inductivity of 646 backedges. 24 proven. 354 refuted. 0 times theorem prover too weak. 268 trivial. 0 not checked. [2022-04-28 12:42:46,077 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:42:46,077 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [323975110] [2022-04-28 12:42:46,077 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:42:46,077 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [347302077] [2022-04-28 12:42:46,077 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [347302077] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:42:46,077 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:42:46,077 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 16] total 24 [2022-04-28 12:42:46,078 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:42:46,078 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1546649532] [2022-04-28 12:42:46,078 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1546649532] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:42:46,078 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:42:46,078 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-28 12:42:46,078 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1332994020] [2022-04-28 12:42:46,078 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:42:46,078 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, (17), 15 states have call predecessors, (17), 13 states have return successors, (15), 13 states have call predecessors, (15), 14 states have call successors, (15) Word has length 131 [2022-04-28 12:42:46,079 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:42:46,079 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, (17), 15 states have call predecessors, (17), 13 states have return successors, (15), 13 states have call predecessors, (15), 14 states have call successors, (15) [2022-04-28 12:42:46,162 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 128 edges. 128 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:42:46,163 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-28 12:42:46,163 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:42:46,163 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-28 12:42:46,163 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=236, Invalid=316, Unknown=0, NotChecked=0, Total=552 [2022-04-28 12:42:46,163 INFO L87 Difference]: Start difference. First operand 128 states and 141 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, (17), 15 states have call predecessors, (17), 13 states have return successors, (15), 13 states have call predecessors, (15), 14 states have call successors, (15) [2022-04-28 12:42:46,633 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:42:46,633 INFO L93 Difference]: Finished difference Result 142 states and 156 transitions. [2022-04-28 12:42:46,633 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 28 states. [2022-04-28 12:42:46,633 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, (17), 15 states have call predecessors, (17), 13 states have return successors, (15), 13 states have call predecessors, (15), 14 states have call successors, (15) Word has length 131 [2022-04-28 12:42:46,633 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:42:46,634 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, (17), 15 states have call predecessors, (17), 13 states have return successors, (15), 13 states have call predecessors, (15), 14 states have call successors, (15) [2022-04-28 12:42:46,637 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 155 transitions. [2022-04-28 12:42:46,637 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, (17), 15 states have call predecessors, (17), 13 states have return successors, (15), 13 states have call predecessors, (15), 14 states have call successors, (15) [2022-04-28 12:42:46,640 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 155 transitions. [2022-04-28 12:42:46,640 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 28 states and 155 transitions. [2022-04-28 12:42:46,765 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-28 12:42:46,768 INFO L225 Difference]: With dead ends: 142 [2022-04-28 12:42:46,768 INFO L226 Difference]: Without dead ends: 137 [2022-04-28 12:42:46,768 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 273 GetRequests, 238 SyntacticMatches, 1 SemanticMatches, 34 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 104 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=512, Invalid=748, Unknown=0, NotChecked=0, Total=1260 [2022-04-28 12:42:46,769 INFO L413 NwaCegarLoop]: 38 mSDtfsCounter, 50 mSDsluCounter, 128 mSDsCounter, 0 mSdLazyCounter, 72 mSolverCounterSat, 28 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 50 SdHoareTripleChecker+Valid, 166 SdHoareTripleChecker+Invalid, 100 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 28 IncrementalHoareTripleChecker+Valid, 72 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:42:46,769 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [50 Valid, 166 Invalid, 100 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [28 Valid, 72 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:42:46,770 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 137 states. [2022-04-28 12:42:46,947 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 137 to 137. [2022-04-28 12:42:46,947 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:42:46,948 INFO L82 GeneralOperation]: Start isEquivalent. First operand 137 states. Second operand has 137 states, 103 states have (on average 1.1359223300970873) internal successors, (117), 103 states have internal predecessors, (117), 18 states have call successors, (18), 17 states have call predecessors, (18), 15 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 12:42:46,948 INFO L74 IsIncluded]: Start isIncluded. First operand 137 states. Second operand has 137 states, 103 states have (on average 1.1359223300970873) internal successors, (117), 103 states have internal predecessors, (117), 18 states have call successors, (18), 17 states have call predecessors, (18), 15 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 12:42:46,948 INFO L87 Difference]: Start difference. First operand 137 states. Second operand has 137 states, 103 states have (on average 1.1359223300970873) internal successors, (117), 103 states have internal predecessors, (117), 18 states have call successors, (18), 17 states have call predecessors, (18), 15 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 12:42:46,951 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:42:46,951 INFO L93 Difference]: Finished difference Result 137 states and 151 transitions. [2022-04-28 12:42:46,951 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 151 transitions. [2022-04-28 12:42:46,952 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:42:46,952 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:42:46,952 INFO L74 IsIncluded]: Start isIncluded. First operand has 137 states, 103 states have (on average 1.1359223300970873) internal successors, (117), 103 states have internal predecessors, (117), 18 states have call successors, (18), 17 states have call predecessors, (18), 15 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) Second operand 137 states. [2022-04-28 12:42:46,952 INFO L87 Difference]: Start difference. First operand has 137 states, 103 states have (on average 1.1359223300970873) internal successors, (117), 103 states have internal predecessors, (117), 18 states have call successors, (18), 17 states have call predecessors, (18), 15 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) Second operand 137 states. [2022-04-28 12:42:46,954 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:42:46,954 INFO L93 Difference]: Finished difference Result 137 states and 151 transitions. [2022-04-28 12:42:46,954 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 151 transitions. [2022-04-28 12:42:46,955 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:42:46,955 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:42:46,955 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:42:46,955 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:42:46,955 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 137 states, 103 states have (on average 1.1359223300970873) internal successors, (117), 103 states have internal predecessors, (117), 18 states have call successors, (18), 17 states have call predecessors, (18), 15 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 12:42:46,957 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 137 states to 137 states and 151 transitions. [2022-04-28 12:42:46,957 INFO L78 Accepts]: Start accepts. Automaton has 137 states and 151 transitions. Word has length 131 [2022-04-28 12:42:46,958 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:42:46,958 INFO L495 AbstractCegarLoop]: Abstraction has 137 states and 151 transitions. [2022-04-28 12:42:46,958 INFO L496 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, (17), 15 states have call predecessors, (17), 13 states have return successors, (15), 13 states have call predecessors, (15), 14 states have call successors, (15) [2022-04-28 12:42:46,959 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 137 states and 151 transitions. [2022-04-28 12:42:49,142 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 151 edges. 150 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 12:42:49,143 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 151 transitions. [2022-04-28 12:42:49,145 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 141 [2022-04-28 12:42:49,145 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:42:49,145 INFO L195 NwaCegarLoop]: trace histogram [14, 14, 13, 13, 13, 13, 13, 13, 13, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:42:49,151 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-28 12:42:49,345 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 17 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable15 [2022-04-28 12:42:49,346 INFO L420 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:42:49,346 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:42:49,346 INFO L85 PathProgramCache]: Analyzing trace with hash 2089018524, now seen corresponding path program 25 times [2022-04-28 12:42:49,346 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:42:49,346 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1922630435] [2022-04-28 12:42:49,346 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:42:49,347 INFO L85 PathProgramCache]: Analyzing trace with hash 2089018524, now seen corresponding path program 26 times [2022-04-28 12:42:49,347 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:42:49,347 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1992271113] [2022-04-28 12:42:49,347 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:42:49,347 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:42:49,372 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:42:49,372 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1612680098] [2022-04-28 12:42:49,372 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:42:49,372 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:42:49,373 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:42:49,373 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-28 12:42:49,376 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-28 12:42:49,438 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:42:49,439 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:42:49,440 INFO L263 TraceCheckSpWp]: Trace formula consists of 353 conjuncts, 31 conjunts are in the unsatisfiable core [2022-04-28 12:42:49,465 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:42:49,466 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:42:50,136 INFO L272 TraceCheckUtils]: 0: Hoare triple {13910#true} call ULTIMATE.init(); {13910#true} is VALID [2022-04-28 12:42:50,137 INFO L290 TraceCheckUtils]: 1: Hoare triple {13910#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; {13918#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:50,137 INFO L290 TraceCheckUtils]: 2: Hoare triple {13918#(<= ~counter~0 0)} assume true; {13918#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:50,138 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13918#(<= ~counter~0 0)} {13910#true} #67#return; {13918#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:50,138 INFO L272 TraceCheckUtils]: 4: Hoare triple {13918#(<= ~counter~0 0)} call #t~ret7 := main(); {13918#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:50,138 INFO L290 TraceCheckUtils]: 5: Hoare triple {13918#(<= ~counter~0 0)} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~R~0 := #t~nondet5;havoc #t~nondet5; {13918#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:50,139 INFO L272 TraceCheckUtils]: 6: Hoare triple {13918#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {13918#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:50,139 INFO L290 TraceCheckUtils]: 7: Hoare triple {13918#(<= ~counter~0 0)} ~cond := #in~cond; {13918#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:50,139 INFO L290 TraceCheckUtils]: 8: Hoare triple {13918#(<= ~counter~0 0)} assume !(0 == ~cond); {13918#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:50,139 INFO L290 TraceCheckUtils]: 9: Hoare triple {13918#(<= ~counter~0 0)} assume true; {13918#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:50,140 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13918#(<= ~counter~0 0)} {13918#(<= ~counter~0 0)} #59#return; {13918#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:50,140 INFO L272 TraceCheckUtils]: 11: Hoare triple {13918#(<= ~counter~0 0)} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {13918#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:50,141 INFO L290 TraceCheckUtils]: 12: Hoare triple {13918#(<= ~counter~0 0)} ~cond := #in~cond; {13918#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:50,141 INFO L290 TraceCheckUtils]: 13: Hoare triple {13918#(<= ~counter~0 0)} assume !(0 == ~cond); {13918#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:50,141 INFO L290 TraceCheckUtils]: 14: Hoare triple {13918#(<= ~counter~0 0)} assume true; {13918#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:50,142 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {13918#(<= ~counter~0 0)} {13918#(<= ~counter~0 0)} #61#return; {13918#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:50,142 INFO L290 TraceCheckUtils]: 16: Hoare triple {13918#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {13918#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:50,142 INFO L290 TraceCheckUtils]: 17: Hoare triple {13918#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13967#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:50,143 INFO L290 TraceCheckUtils]: 18: Hoare triple {13967#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {13967#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:50,143 INFO L272 TraceCheckUtils]: 19: Hoare triple {13967#(<= ~counter~0 1)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {13967#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:50,144 INFO L290 TraceCheckUtils]: 20: Hoare triple {13967#(<= ~counter~0 1)} ~cond := #in~cond; {13967#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:50,144 INFO L290 TraceCheckUtils]: 21: Hoare triple {13967#(<= ~counter~0 1)} assume !(0 == ~cond); {13967#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:50,144 INFO L290 TraceCheckUtils]: 22: Hoare triple {13967#(<= ~counter~0 1)} assume true; {13967#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:50,145 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {13967#(<= ~counter~0 1)} {13967#(<= ~counter~0 1)} #63#return; {13967#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:50,145 INFO L290 TraceCheckUtils]: 24: Hoare triple {13967#(<= ~counter~0 1)} assume !!(0 != ~r~0); {13967#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:50,145 INFO L290 TraceCheckUtils]: 25: Hoare triple {13967#(<= ~counter~0 1)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {13967#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:50,146 INFO L290 TraceCheckUtils]: 26: Hoare triple {13967#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13995#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:50,146 INFO L290 TraceCheckUtils]: 27: Hoare triple {13995#(<= ~counter~0 2)} assume !!(#t~post6 < 20);havoc #t~post6; {13995#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:50,146 INFO L272 TraceCheckUtils]: 28: Hoare triple {13995#(<= ~counter~0 2)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {13995#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:50,147 INFO L290 TraceCheckUtils]: 29: Hoare triple {13995#(<= ~counter~0 2)} ~cond := #in~cond; {13995#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:50,147 INFO L290 TraceCheckUtils]: 30: Hoare triple {13995#(<= ~counter~0 2)} assume !(0 == ~cond); {13995#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:50,147 INFO L290 TraceCheckUtils]: 31: Hoare triple {13995#(<= ~counter~0 2)} assume true; {13995#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:50,148 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {13995#(<= ~counter~0 2)} {13995#(<= ~counter~0 2)} #63#return; {13995#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:50,148 INFO L290 TraceCheckUtils]: 33: Hoare triple {13995#(<= ~counter~0 2)} assume !!(0 != ~r~0); {13995#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:50,148 INFO L290 TraceCheckUtils]: 34: Hoare triple {13995#(<= ~counter~0 2)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {13995#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:50,149 INFO L290 TraceCheckUtils]: 35: Hoare triple {13995#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14023#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:50,149 INFO L290 TraceCheckUtils]: 36: Hoare triple {14023#(<= ~counter~0 3)} assume !!(#t~post6 < 20);havoc #t~post6; {14023#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:50,150 INFO L272 TraceCheckUtils]: 37: Hoare triple {14023#(<= ~counter~0 3)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {14023#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:50,150 INFO L290 TraceCheckUtils]: 38: Hoare triple {14023#(<= ~counter~0 3)} ~cond := #in~cond; {14023#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:50,150 INFO L290 TraceCheckUtils]: 39: Hoare triple {14023#(<= ~counter~0 3)} assume !(0 == ~cond); {14023#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:50,151 INFO L290 TraceCheckUtils]: 40: Hoare triple {14023#(<= ~counter~0 3)} assume true; {14023#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:50,151 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {14023#(<= ~counter~0 3)} {14023#(<= ~counter~0 3)} #63#return; {14023#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:50,151 INFO L290 TraceCheckUtils]: 42: Hoare triple {14023#(<= ~counter~0 3)} assume !!(0 != ~r~0); {14023#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:50,152 INFO L290 TraceCheckUtils]: 43: Hoare triple {14023#(<= ~counter~0 3)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {14023#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:50,152 INFO L290 TraceCheckUtils]: 44: Hoare triple {14023#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14051#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:50,152 INFO L290 TraceCheckUtils]: 45: Hoare triple {14051#(<= ~counter~0 4)} assume !!(#t~post6 < 20);havoc #t~post6; {14051#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:50,153 INFO L272 TraceCheckUtils]: 46: Hoare triple {14051#(<= ~counter~0 4)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {14051#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:50,153 INFO L290 TraceCheckUtils]: 47: Hoare triple {14051#(<= ~counter~0 4)} ~cond := #in~cond; {14051#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:50,153 INFO L290 TraceCheckUtils]: 48: Hoare triple {14051#(<= ~counter~0 4)} assume !(0 == ~cond); {14051#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:50,154 INFO L290 TraceCheckUtils]: 49: Hoare triple {14051#(<= ~counter~0 4)} assume true; {14051#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:50,154 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {14051#(<= ~counter~0 4)} {14051#(<= ~counter~0 4)} #63#return; {14051#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:50,154 INFO L290 TraceCheckUtils]: 51: Hoare triple {14051#(<= ~counter~0 4)} assume !!(0 != ~r~0); {14051#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:50,155 INFO L290 TraceCheckUtils]: 52: Hoare triple {14051#(<= ~counter~0 4)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {14051#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:50,155 INFO L290 TraceCheckUtils]: 53: Hoare triple {14051#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14079#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:50,155 INFO L290 TraceCheckUtils]: 54: Hoare triple {14079#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {14079#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:50,156 INFO L272 TraceCheckUtils]: 55: Hoare triple {14079#(<= ~counter~0 5)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {14079#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:50,156 INFO L290 TraceCheckUtils]: 56: Hoare triple {14079#(<= ~counter~0 5)} ~cond := #in~cond; {14079#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:50,157 INFO L290 TraceCheckUtils]: 57: Hoare triple {14079#(<= ~counter~0 5)} assume !(0 == ~cond); {14079#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:50,157 INFO L290 TraceCheckUtils]: 58: Hoare triple {14079#(<= ~counter~0 5)} assume true; {14079#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:50,157 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {14079#(<= ~counter~0 5)} {14079#(<= ~counter~0 5)} #63#return; {14079#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:50,158 INFO L290 TraceCheckUtils]: 60: Hoare triple {14079#(<= ~counter~0 5)} assume !!(0 != ~r~0); {14079#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:50,158 INFO L290 TraceCheckUtils]: 61: Hoare triple {14079#(<= ~counter~0 5)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {14079#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:50,158 INFO L290 TraceCheckUtils]: 62: Hoare triple {14079#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14107#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:50,159 INFO L290 TraceCheckUtils]: 63: Hoare triple {14107#(<= ~counter~0 6)} assume !!(#t~post6 < 20);havoc #t~post6; {14107#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:50,159 INFO L272 TraceCheckUtils]: 64: Hoare triple {14107#(<= ~counter~0 6)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {14107#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:50,159 INFO L290 TraceCheckUtils]: 65: Hoare triple {14107#(<= ~counter~0 6)} ~cond := #in~cond; {14107#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:50,160 INFO L290 TraceCheckUtils]: 66: Hoare triple {14107#(<= ~counter~0 6)} assume !(0 == ~cond); {14107#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:50,160 INFO L290 TraceCheckUtils]: 67: Hoare triple {14107#(<= ~counter~0 6)} assume true; {14107#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:50,161 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {14107#(<= ~counter~0 6)} {14107#(<= ~counter~0 6)} #63#return; {14107#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:50,161 INFO L290 TraceCheckUtils]: 69: Hoare triple {14107#(<= ~counter~0 6)} assume !!(0 != ~r~0); {14107#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:50,161 INFO L290 TraceCheckUtils]: 70: Hoare triple {14107#(<= ~counter~0 6)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {14107#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:50,162 INFO L290 TraceCheckUtils]: 71: Hoare triple {14107#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14135#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:50,162 INFO L290 TraceCheckUtils]: 72: Hoare triple {14135#(<= ~counter~0 7)} assume !!(#t~post6 < 20);havoc #t~post6; {14135#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:50,162 INFO L272 TraceCheckUtils]: 73: Hoare triple {14135#(<= ~counter~0 7)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {14135#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:50,163 INFO L290 TraceCheckUtils]: 74: Hoare triple {14135#(<= ~counter~0 7)} ~cond := #in~cond; {14135#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:50,163 INFO L290 TraceCheckUtils]: 75: Hoare triple {14135#(<= ~counter~0 7)} assume !(0 == ~cond); {14135#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:50,163 INFO L290 TraceCheckUtils]: 76: Hoare triple {14135#(<= ~counter~0 7)} assume true; {14135#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:50,164 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {14135#(<= ~counter~0 7)} {14135#(<= ~counter~0 7)} #63#return; {14135#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:50,164 INFO L290 TraceCheckUtils]: 78: Hoare triple {14135#(<= ~counter~0 7)} assume !!(0 != ~r~0); {14135#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:50,164 INFO L290 TraceCheckUtils]: 79: Hoare triple {14135#(<= ~counter~0 7)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {14135#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:50,165 INFO L290 TraceCheckUtils]: 80: Hoare triple {14135#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14163#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:50,165 INFO L290 TraceCheckUtils]: 81: Hoare triple {14163#(<= ~counter~0 8)} assume !!(#t~post6 < 20);havoc #t~post6; {14163#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:50,166 INFO L272 TraceCheckUtils]: 82: Hoare triple {14163#(<= ~counter~0 8)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {14163#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:50,166 INFO L290 TraceCheckUtils]: 83: Hoare triple {14163#(<= ~counter~0 8)} ~cond := #in~cond; {14163#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:50,166 INFO L290 TraceCheckUtils]: 84: Hoare triple {14163#(<= ~counter~0 8)} assume !(0 == ~cond); {14163#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:50,166 INFO L290 TraceCheckUtils]: 85: Hoare triple {14163#(<= ~counter~0 8)} assume true; {14163#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:50,167 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {14163#(<= ~counter~0 8)} {14163#(<= ~counter~0 8)} #63#return; {14163#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:50,168 INFO L290 TraceCheckUtils]: 87: Hoare triple {14163#(<= ~counter~0 8)} assume !!(0 != ~r~0); {14163#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:50,168 INFO L290 TraceCheckUtils]: 88: Hoare triple {14163#(<= ~counter~0 8)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {14163#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:50,169 INFO L290 TraceCheckUtils]: 89: Hoare triple {14163#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14191#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:50,169 INFO L290 TraceCheckUtils]: 90: Hoare triple {14191#(<= ~counter~0 9)} assume !!(#t~post6 < 20);havoc #t~post6; {14191#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:50,169 INFO L272 TraceCheckUtils]: 91: Hoare triple {14191#(<= ~counter~0 9)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {14191#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:50,170 INFO L290 TraceCheckUtils]: 92: Hoare triple {14191#(<= ~counter~0 9)} ~cond := #in~cond; {14191#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:50,170 INFO L290 TraceCheckUtils]: 93: Hoare triple {14191#(<= ~counter~0 9)} assume !(0 == ~cond); {14191#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:50,170 INFO L290 TraceCheckUtils]: 94: Hoare triple {14191#(<= ~counter~0 9)} assume true; {14191#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:50,171 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {14191#(<= ~counter~0 9)} {14191#(<= ~counter~0 9)} #63#return; {14191#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:50,171 INFO L290 TraceCheckUtils]: 96: Hoare triple {14191#(<= ~counter~0 9)} assume !!(0 != ~r~0); {14191#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:50,171 INFO L290 TraceCheckUtils]: 97: Hoare triple {14191#(<= ~counter~0 9)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {14191#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:50,172 INFO L290 TraceCheckUtils]: 98: Hoare triple {14191#(<= ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14219#(<= ~counter~0 10)} is VALID [2022-04-28 12:42:50,172 INFO L290 TraceCheckUtils]: 99: Hoare triple {14219#(<= ~counter~0 10)} assume !!(#t~post6 < 20);havoc #t~post6; {14219#(<= ~counter~0 10)} is VALID [2022-04-28 12:42:50,173 INFO L272 TraceCheckUtils]: 100: Hoare triple {14219#(<= ~counter~0 10)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {14219#(<= ~counter~0 10)} is VALID [2022-04-28 12:42:50,173 INFO L290 TraceCheckUtils]: 101: Hoare triple {14219#(<= ~counter~0 10)} ~cond := #in~cond; {14219#(<= ~counter~0 10)} is VALID [2022-04-28 12:42:50,173 INFO L290 TraceCheckUtils]: 102: Hoare triple {14219#(<= ~counter~0 10)} assume !(0 == ~cond); {14219#(<= ~counter~0 10)} is VALID [2022-04-28 12:42:50,173 INFO L290 TraceCheckUtils]: 103: Hoare triple {14219#(<= ~counter~0 10)} assume true; {14219#(<= ~counter~0 10)} is VALID [2022-04-28 12:42:50,174 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {14219#(<= ~counter~0 10)} {14219#(<= ~counter~0 10)} #63#return; {14219#(<= ~counter~0 10)} is VALID [2022-04-28 12:42:50,174 INFO L290 TraceCheckUtils]: 105: Hoare triple {14219#(<= ~counter~0 10)} assume !!(0 != ~r~0); {14219#(<= ~counter~0 10)} is VALID [2022-04-28 12:42:50,175 INFO L290 TraceCheckUtils]: 106: Hoare triple {14219#(<= ~counter~0 10)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {14219#(<= ~counter~0 10)} is VALID [2022-04-28 12:42:50,175 INFO L290 TraceCheckUtils]: 107: Hoare triple {14219#(<= ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14247#(<= ~counter~0 11)} is VALID [2022-04-28 12:42:50,175 INFO L290 TraceCheckUtils]: 108: Hoare triple {14247#(<= ~counter~0 11)} assume !!(#t~post6 < 20);havoc #t~post6; {14247#(<= ~counter~0 11)} is VALID [2022-04-28 12:42:50,176 INFO L272 TraceCheckUtils]: 109: Hoare triple {14247#(<= ~counter~0 11)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {14247#(<= ~counter~0 11)} is VALID [2022-04-28 12:42:50,176 INFO L290 TraceCheckUtils]: 110: Hoare triple {14247#(<= ~counter~0 11)} ~cond := #in~cond; {14247#(<= ~counter~0 11)} is VALID [2022-04-28 12:42:50,176 INFO L290 TraceCheckUtils]: 111: Hoare triple {14247#(<= ~counter~0 11)} assume !(0 == ~cond); {14247#(<= ~counter~0 11)} is VALID [2022-04-28 12:42:50,177 INFO L290 TraceCheckUtils]: 112: Hoare triple {14247#(<= ~counter~0 11)} assume true; {14247#(<= ~counter~0 11)} is VALID [2022-04-28 12:42:50,177 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {14247#(<= ~counter~0 11)} {14247#(<= ~counter~0 11)} #63#return; {14247#(<= ~counter~0 11)} is VALID [2022-04-28 12:42:50,177 INFO L290 TraceCheckUtils]: 114: Hoare triple {14247#(<= ~counter~0 11)} assume !!(0 != ~r~0); {14247#(<= ~counter~0 11)} is VALID [2022-04-28 12:42:50,178 INFO L290 TraceCheckUtils]: 115: Hoare triple {14247#(<= ~counter~0 11)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {14247#(<= ~counter~0 11)} is VALID [2022-04-28 12:42:50,178 INFO L290 TraceCheckUtils]: 116: Hoare triple {14247#(<= ~counter~0 11)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14275#(<= ~counter~0 12)} is VALID [2022-04-28 12:42:50,178 INFO L290 TraceCheckUtils]: 117: Hoare triple {14275#(<= ~counter~0 12)} assume !!(#t~post6 < 20);havoc #t~post6; {14275#(<= ~counter~0 12)} is VALID [2022-04-28 12:42:50,179 INFO L272 TraceCheckUtils]: 118: Hoare triple {14275#(<= ~counter~0 12)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {14275#(<= ~counter~0 12)} is VALID [2022-04-28 12:42:50,179 INFO L290 TraceCheckUtils]: 119: Hoare triple {14275#(<= ~counter~0 12)} ~cond := #in~cond; {14275#(<= ~counter~0 12)} is VALID [2022-04-28 12:42:50,180 INFO L290 TraceCheckUtils]: 120: Hoare triple {14275#(<= ~counter~0 12)} assume !(0 == ~cond); {14275#(<= ~counter~0 12)} is VALID [2022-04-28 12:42:50,180 INFO L290 TraceCheckUtils]: 121: Hoare triple {14275#(<= ~counter~0 12)} assume true; {14275#(<= ~counter~0 12)} is VALID [2022-04-28 12:42:50,180 INFO L284 TraceCheckUtils]: 122: Hoare quadruple {14275#(<= ~counter~0 12)} {14275#(<= ~counter~0 12)} #63#return; {14275#(<= ~counter~0 12)} is VALID [2022-04-28 12:42:50,181 INFO L290 TraceCheckUtils]: 123: Hoare triple {14275#(<= ~counter~0 12)} assume !!(0 != ~r~0); {14275#(<= ~counter~0 12)} is VALID [2022-04-28 12:42:50,181 INFO L290 TraceCheckUtils]: 124: Hoare triple {14275#(<= ~counter~0 12)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {14275#(<= ~counter~0 12)} is VALID [2022-04-28 12:42:50,181 INFO L290 TraceCheckUtils]: 125: Hoare triple {14275#(<= ~counter~0 12)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14303#(<= ~counter~0 13)} is VALID [2022-04-28 12:42:50,182 INFO L290 TraceCheckUtils]: 126: Hoare triple {14303#(<= ~counter~0 13)} assume !!(#t~post6 < 20);havoc #t~post6; {14303#(<= ~counter~0 13)} is VALID [2022-04-28 12:42:50,182 INFO L272 TraceCheckUtils]: 127: Hoare triple {14303#(<= ~counter~0 13)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {14303#(<= ~counter~0 13)} is VALID [2022-04-28 12:42:50,182 INFO L290 TraceCheckUtils]: 128: Hoare triple {14303#(<= ~counter~0 13)} ~cond := #in~cond; {14303#(<= ~counter~0 13)} is VALID [2022-04-28 12:42:50,183 INFO L290 TraceCheckUtils]: 129: Hoare triple {14303#(<= ~counter~0 13)} assume !(0 == ~cond); {14303#(<= ~counter~0 13)} is VALID [2022-04-28 12:42:50,183 INFO L290 TraceCheckUtils]: 130: Hoare triple {14303#(<= ~counter~0 13)} assume true; {14303#(<= ~counter~0 13)} is VALID [2022-04-28 12:42:50,184 INFO L284 TraceCheckUtils]: 131: Hoare quadruple {14303#(<= ~counter~0 13)} {14303#(<= ~counter~0 13)} #63#return; {14303#(<= ~counter~0 13)} is VALID [2022-04-28 12:42:50,184 INFO L290 TraceCheckUtils]: 132: Hoare triple {14303#(<= ~counter~0 13)} assume !!(0 != ~r~0); {14303#(<= ~counter~0 13)} is VALID [2022-04-28 12:42:50,184 INFO L290 TraceCheckUtils]: 133: Hoare triple {14303#(<= ~counter~0 13)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {14303#(<= ~counter~0 13)} is VALID [2022-04-28 12:42:50,184 INFO L290 TraceCheckUtils]: 134: Hoare triple {14303#(<= ~counter~0 13)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14331#(<= |main_#t~post6| 13)} is VALID [2022-04-28 12:42:50,185 INFO L290 TraceCheckUtils]: 135: Hoare triple {14331#(<= |main_#t~post6| 13)} assume !(#t~post6 < 20);havoc #t~post6; {13911#false} is VALID [2022-04-28 12:42:50,185 INFO L272 TraceCheckUtils]: 136: Hoare triple {13911#false} call __VERIFIER_assert((if 4 * ~A~0 == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {13911#false} is VALID [2022-04-28 12:42:50,185 INFO L290 TraceCheckUtils]: 137: Hoare triple {13911#false} ~cond := #in~cond; {13911#false} is VALID [2022-04-28 12:42:50,185 INFO L290 TraceCheckUtils]: 138: Hoare triple {13911#false} assume 0 == ~cond; {13911#false} is VALID [2022-04-28 12:42:50,185 INFO L290 TraceCheckUtils]: 139: Hoare triple {13911#false} assume !false; {13911#false} is VALID [2022-04-28 12:42:50,186 INFO L134 CoverageAnalysis]: Checked inductivity of 758 backedges. 26 proven. 728 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:42:50,186 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:42:50,894 INFO L290 TraceCheckUtils]: 139: Hoare triple {13911#false} assume !false; {13911#false} is VALID [2022-04-28 12:42:50,894 INFO L290 TraceCheckUtils]: 138: Hoare triple {13911#false} assume 0 == ~cond; {13911#false} is VALID [2022-04-28 12:42:50,895 INFO L290 TraceCheckUtils]: 137: Hoare triple {13911#false} ~cond := #in~cond; {13911#false} is VALID [2022-04-28 12:42:50,895 INFO L272 TraceCheckUtils]: 136: Hoare triple {13911#false} call __VERIFIER_assert((if 4 * ~A~0 == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {13911#false} is VALID [2022-04-28 12:42:50,895 INFO L290 TraceCheckUtils]: 135: Hoare triple {14359#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {13911#false} is VALID [2022-04-28 12:42:50,895 INFO L290 TraceCheckUtils]: 134: Hoare triple {14363#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14359#(< |main_#t~post6| 20)} is VALID [2022-04-28 12:42:50,896 INFO L290 TraceCheckUtils]: 133: Hoare triple {14363#(< ~counter~0 20)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {14363#(< ~counter~0 20)} is VALID [2022-04-28 12:42:50,896 INFO L290 TraceCheckUtils]: 132: Hoare triple {14363#(< ~counter~0 20)} assume !!(0 != ~r~0); {14363#(< ~counter~0 20)} is VALID [2022-04-28 12:42:50,896 INFO L284 TraceCheckUtils]: 131: Hoare quadruple {13910#true} {14363#(< ~counter~0 20)} #63#return; {14363#(< ~counter~0 20)} is VALID [2022-04-28 12:42:50,896 INFO L290 TraceCheckUtils]: 130: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-28 12:42:50,897 INFO L290 TraceCheckUtils]: 129: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-28 12:42:50,897 INFO L290 TraceCheckUtils]: 128: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-28 12:42:50,897 INFO L272 TraceCheckUtils]: 127: Hoare triple {14363#(< ~counter~0 20)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {13910#true} is VALID [2022-04-28 12:42:50,897 INFO L290 TraceCheckUtils]: 126: Hoare triple {14363#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6; {14363#(< ~counter~0 20)} is VALID [2022-04-28 12:42:50,898 INFO L290 TraceCheckUtils]: 125: Hoare triple {14391#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14363#(< ~counter~0 20)} is VALID [2022-04-28 12:42:50,898 INFO L290 TraceCheckUtils]: 124: Hoare triple {14391#(< ~counter~0 19)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {14391#(< ~counter~0 19)} is VALID [2022-04-28 12:42:50,898 INFO L290 TraceCheckUtils]: 123: Hoare triple {14391#(< ~counter~0 19)} assume !!(0 != ~r~0); {14391#(< ~counter~0 19)} is VALID [2022-04-28 12:42:50,899 INFO L284 TraceCheckUtils]: 122: Hoare quadruple {13910#true} {14391#(< ~counter~0 19)} #63#return; {14391#(< ~counter~0 19)} is VALID [2022-04-28 12:42:50,899 INFO L290 TraceCheckUtils]: 121: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-28 12:42:50,899 INFO L290 TraceCheckUtils]: 120: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-28 12:42:50,899 INFO L290 TraceCheckUtils]: 119: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-28 12:42:50,899 INFO L272 TraceCheckUtils]: 118: Hoare triple {14391#(< ~counter~0 19)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {13910#true} is VALID [2022-04-28 12:42:50,899 INFO L290 TraceCheckUtils]: 117: Hoare triple {14391#(< ~counter~0 19)} assume !!(#t~post6 < 20);havoc #t~post6; {14391#(< ~counter~0 19)} is VALID [2022-04-28 12:42:50,900 INFO L290 TraceCheckUtils]: 116: Hoare triple {14419#(< ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14391#(< ~counter~0 19)} is VALID [2022-04-28 12:42:50,900 INFO L290 TraceCheckUtils]: 115: Hoare triple {14419#(< ~counter~0 18)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {14419#(< ~counter~0 18)} is VALID [2022-04-28 12:42:50,900 INFO L290 TraceCheckUtils]: 114: Hoare triple {14419#(< ~counter~0 18)} assume !!(0 != ~r~0); {14419#(< ~counter~0 18)} is VALID [2022-04-28 12:42:50,901 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {13910#true} {14419#(< ~counter~0 18)} #63#return; {14419#(< ~counter~0 18)} is VALID [2022-04-28 12:42:50,901 INFO L290 TraceCheckUtils]: 112: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-28 12:42:50,901 INFO L290 TraceCheckUtils]: 111: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-28 12:42:50,901 INFO L290 TraceCheckUtils]: 110: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-28 12:42:50,901 INFO L272 TraceCheckUtils]: 109: Hoare triple {14419#(< ~counter~0 18)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {13910#true} is VALID [2022-04-28 12:42:50,901 INFO L290 TraceCheckUtils]: 108: Hoare triple {14419#(< ~counter~0 18)} assume !!(#t~post6 < 20);havoc #t~post6; {14419#(< ~counter~0 18)} is VALID [2022-04-28 12:42:50,902 INFO L290 TraceCheckUtils]: 107: Hoare triple {14447#(< ~counter~0 17)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14419#(< ~counter~0 18)} is VALID [2022-04-28 12:42:50,902 INFO L290 TraceCheckUtils]: 106: Hoare triple {14447#(< ~counter~0 17)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {14447#(< ~counter~0 17)} is VALID [2022-04-28 12:42:50,902 INFO L290 TraceCheckUtils]: 105: Hoare triple {14447#(< ~counter~0 17)} assume !!(0 != ~r~0); {14447#(< ~counter~0 17)} is VALID [2022-04-28 12:42:50,903 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {13910#true} {14447#(< ~counter~0 17)} #63#return; {14447#(< ~counter~0 17)} is VALID [2022-04-28 12:42:50,903 INFO L290 TraceCheckUtils]: 103: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-28 12:42:50,903 INFO L290 TraceCheckUtils]: 102: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-28 12:42:50,903 INFO L290 TraceCheckUtils]: 101: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-28 12:42:50,903 INFO L272 TraceCheckUtils]: 100: Hoare triple {14447#(< ~counter~0 17)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {13910#true} is VALID [2022-04-28 12:42:50,903 INFO L290 TraceCheckUtils]: 99: Hoare triple {14447#(< ~counter~0 17)} assume !!(#t~post6 < 20);havoc #t~post6; {14447#(< ~counter~0 17)} is VALID [2022-04-28 12:42:50,904 INFO L290 TraceCheckUtils]: 98: Hoare triple {14475#(< ~counter~0 16)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14447#(< ~counter~0 17)} is VALID [2022-04-28 12:42:50,904 INFO L290 TraceCheckUtils]: 97: Hoare triple {14475#(< ~counter~0 16)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {14475#(< ~counter~0 16)} is VALID [2022-04-28 12:42:50,904 INFO L290 TraceCheckUtils]: 96: Hoare triple {14475#(< ~counter~0 16)} assume !!(0 != ~r~0); {14475#(< ~counter~0 16)} is VALID [2022-04-28 12:42:50,905 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {13910#true} {14475#(< ~counter~0 16)} #63#return; {14475#(< ~counter~0 16)} is VALID [2022-04-28 12:42:50,905 INFO L290 TraceCheckUtils]: 94: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-28 12:42:50,905 INFO L290 TraceCheckUtils]: 93: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-28 12:42:50,905 INFO L290 TraceCheckUtils]: 92: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-28 12:42:50,905 INFO L272 TraceCheckUtils]: 91: Hoare triple {14475#(< ~counter~0 16)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {13910#true} is VALID [2022-04-28 12:42:50,906 INFO L290 TraceCheckUtils]: 90: Hoare triple {14475#(< ~counter~0 16)} assume !!(#t~post6 < 20);havoc #t~post6; {14475#(< ~counter~0 16)} is VALID [2022-04-28 12:42:50,906 INFO L290 TraceCheckUtils]: 89: Hoare triple {14503#(< ~counter~0 15)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14475#(< ~counter~0 16)} is VALID [2022-04-28 12:42:50,906 INFO L290 TraceCheckUtils]: 88: Hoare triple {14503#(< ~counter~0 15)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {14503#(< ~counter~0 15)} is VALID [2022-04-28 12:42:50,907 INFO L290 TraceCheckUtils]: 87: Hoare triple {14503#(< ~counter~0 15)} assume !!(0 != ~r~0); {14503#(< ~counter~0 15)} is VALID [2022-04-28 12:42:50,907 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {13910#true} {14503#(< ~counter~0 15)} #63#return; {14503#(< ~counter~0 15)} is VALID [2022-04-28 12:42:50,907 INFO L290 TraceCheckUtils]: 85: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-28 12:42:50,907 INFO L290 TraceCheckUtils]: 84: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-28 12:42:50,907 INFO L290 TraceCheckUtils]: 83: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-28 12:42:50,907 INFO L272 TraceCheckUtils]: 82: Hoare triple {14503#(< ~counter~0 15)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {13910#true} is VALID [2022-04-28 12:42:50,908 INFO L290 TraceCheckUtils]: 81: Hoare triple {14503#(< ~counter~0 15)} assume !!(#t~post6 < 20);havoc #t~post6; {14503#(< ~counter~0 15)} is VALID [2022-04-28 12:42:50,908 INFO L290 TraceCheckUtils]: 80: Hoare triple {14303#(<= ~counter~0 13)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14503#(< ~counter~0 15)} is VALID [2022-04-28 12:42:50,908 INFO L290 TraceCheckUtils]: 79: Hoare triple {14303#(<= ~counter~0 13)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {14303#(<= ~counter~0 13)} is VALID [2022-04-28 12:42:50,909 INFO L290 TraceCheckUtils]: 78: Hoare triple {14303#(<= ~counter~0 13)} assume !!(0 != ~r~0); {14303#(<= ~counter~0 13)} is VALID [2022-04-28 12:42:50,909 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {13910#true} {14303#(<= ~counter~0 13)} #63#return; {14303#(<= ~counter~0 13)} is VALID [2022-04-28 12:42:50,909 INFO L290 TraceCheckUtils]: 76: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-28 12:42:50,909 INFO L290 TraceCheckUtils]: 75: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-28 12:42:50,909 INFO L290 TraceCheckUtils]: 74: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-28 12:42:50,909 INFO L272 TraceCheckUtils]: 73: Hoare triple {14303#(<= ~counter~0 13)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {13910#true} is VALID [2022-04-28 12:42:50,910 INFO L290 TraceCheckUtils]: 72: Hoare triple {14303#(<= ~counter~0 13)} assume !!(#t~post6 < 20);havoc #t~post6; {14303#(<= ~counter~0 13)} is VALID [2022-04-28 12:42:50,910 INFO L290 TraceCheckUtils]: 71: Hoare triple {14275#(<= ~counter~0 12)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14303#(<= ~counter~0 13)} is VALID [2022-04-28 12:42:50,910 INFO L290 TraceCheckUtils]: 70: Hoare triple {14275#(<= ~counter~0 12)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {14275#(<= ~counter~0 12)} is VALID [2022-04-28 12:42:50,911 INFO L290 TraceCheckUtils]: 69: Hoare triple {14275#(<= ~counter~0 12)} assume !!(0 != ~r~0); {14275#(<= ~counter~0 12)} is VALID [2022-04-28 12:42:50,911 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {13910#true} {14275#(<= ~counter~0 12)} #63#return; {14275#(<= ~counter~0 12)} is VALID [2022-04-28 12:42:50,911 INFO L290 TraceCheckUtils]: 67: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-28 12:42:50,911 INFO L290 TraceCheckUtils]: 66: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-28 12:42:50,912 INFO L290 TraceCheckUtils]: 65: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-28 12:42:50,912 INFO L272 TraceCheckUtils]: 64: Hoare triple {14275#(<= ~counter~0 12)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {13910#true} is VALID [2022-04-28 12:42:50,912 INFO L290 TraceCheckUtils]: 63: Hoare triple {14275#(<= ~counter~0 12)} assume !!(#t~post6 < 20);havoc #t~post6; {14275#(<= ~counter~0 12)} is VALID [2022-04-28 12:42:50,912 INFO L290 TraceCheckUtils]: 62: Hoare triple {14247#(<= ~counter~0 11)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14275#(<= ~counter~0 12)} is VALID [2022-04-28 12:42:50,913 INFO L290 TraceCheckUtils]: 61: Hoare triple {14247#(<= ~counter~0 11)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {14247#(<= ~counter~0 11)} is VALID [2022-04-28 12:42:50,913 INFO L290 TraceCheckUtils]: 60: Hoare triple {14247#(<= ~counter~0 11)} assume !!(0 != ~r~0); {14247#(<= ~counter~0 11)} is VALID [2022-04-28 12:42:50,913 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {13910#true} {14247#(<= ~counter~0 11)} #63#return; {14247#(<= ~counter~0 11)} is VALID [2022-04-28 12:42:50,913 INFO L290 TraceCheckUtils]: 58: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-28 12:42:50,914 INFO L290 TraceCheckUtils]: 57: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-28 12:42:50,914 INFO L290 TraceCheckUtils]: 56: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-28 12:42:50,914 INFO L272 TraceCheckUtils]: 55: Hoare triple {14247#(<= ~counter~0 11)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {13910#true} is VALID [2022-04-28 12:42:50,914 INFO L290 TraceCheckUtils]: 54: Hoare triple {14247#(<= ~counter~0 11)} assume !!(#t~post6 < 20);havoc #t~post6; {14247#(<= ~counter~0 11)} is VALID [2022-04-28 12:42:50,914 INFO L290 TraceCheckUtils]: 53: Hoare triple {14219#(<= ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14247#(<= ~counter~0 11)} is VALID [2022-04-28 12:42:50,915 INFO L290 TraceCheckUtils]: 52: Hoare triple {14219#(<= ~counter~0 10)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {14219#(<= ~counter~0 10)} is VALID [2022-04-28 12:42:50,915 INFO L290 TraceCheckUtils]: 51: Hoare triple {14219#(<= ~counter~0 10)} assume !!(0 != ~r~0); {14219#(<= ~counter~0 10)} is VALID [2022-04-28 12:42:50,915 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {13910#true} {14219#(<= ~counter~0 10)} #63#return; {14219#(<= ~counter~0 10)} is VALID [2022-04-28 12:42:50,916 INFO L290 TraceCheckUtils]: 49: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-28 12:42:50,916 INFO L290 TraceCheckUtils]: 48: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-28 12:42:50,916 INFO L290 TraceCheckUtils]: 47: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-28 12:42:50,916 INFO L272 TraceCheckUtils]: 46: Hoare triple {14219#(<= ~counter~0 10)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {13910#true} is VALID [2022-04-28 12:42:50,916 INFO L290 TraceCheckUtils]: 45: Hoare triple {14219#(<= ~counter~0 10)} assume !!(#t~post6 < 20);havoc #t~post6; {14219#(<= ~counter~0 10)} is VALID [2022-04-28 12:42:50,917 INFO L290 TraceCheckUtils]: 44: Hoare triple {14191#(<= ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14219#(<= ~counter~0 10)} is VALID [2022-04-28 12:42:50,917 INFO L290 TraceCheckUtils]: 43: Hoare triple {14191#(<= ~counter~0 9)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {14191#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:50,917 INFO L290 TraceCheckUtils]: 42: Hoare triple {14191#(<= ~counter~0 9)} assume !!(0 != ~r~0); {14191#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:50,918 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {13910#true} {14191#(<= ~counter~0 9)} #63#return; {14191#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:50,918 INFO L290 TraceCheckUtils]: 40: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-28 12:42:50,918 INFO L290 TraceCheckUtils]: 39: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-28 12:42:50,918 INFO L290 TraceCheckUtils]: 38: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-28 12:42:50,918 INFO L272 TraceCheckUtils]: 37: Hoare triple {14191#(<= ~counter~0 9)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {13910#true} is VALID [2022-04-28 12:42:50,918 INFO L290 TraceCheckUtils]: 36: Hoare triple {14191#(<= ~counter~0 9)} assume !!(#t~post6 < 20);havoc #t~post6; {14191#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:50,919 INFO L290 TraceCheckUtils]: 35: Hoare triple {14163#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14191#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:50,919 INFO L290 TraceCheckUtils]: 34: Hoare triple {14163#(<= ~counter~0 8)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {14163#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:50,919 INFO L290 TraceCheckUtils]: 33: Hoare triple {14163#(<= ~counter~0 8)} assume !!(0 != ~r~0); {14163#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:50,920 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {13910#true} {14163#(<= ~counter~0 8)} #63#return; {14163#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:50,920 INFO L290 TraceCheckUtils]: 31: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-28 12:42:50,920 INFO L290 TraceCheckUtils]: 30: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-28 12:42:50,920 INFO L290 TraceCheckUtils]: 29: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-28 12:42:50,920 INFO L272 TraceCheckUtils]: 28: Hoare triple {14163#(<= ~counter~0 8)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {13910#true} is VALID [2022-04-28 12:42:50,920 INFO L290 TraceCheckUtils]: 27: Hoare triple {14163#(<= ~counter~0 8)} assume !!(#t~post6 < 20);havoc #t~post6; {14163#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:50,921 INFO L290 TraceCheckUtils]: 26: Hoare triple {14135#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14163#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:50,921 INFO L290 TraceCheckUtils]: 25: Hoare triple {14135#(<= ~counter~0 7)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {14135#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:50,921 INFO L290 TraceCheckUtils]: 24: Hoare triple {14135#(<= ~counter~0 7)} assume !!(0 != ~r~0); {14135#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:50,922 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {13910#true} {14135#(<= ~counter~0 7)} #63#return; {14135#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:50,922 INFO L290 TraceCheckUtils]: 22: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-28 12:42:50,922 INFO L290 TraceCheckUtils]: 21: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-28 12:42:50,922 INFO L290 TraceCheckUtils]: 20: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-28 12:42:50,922 INFO L272 TraceCheckUtils]: 19: Hoare triple {14135#(<= ~counter~0 7)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {13910#true} is VALID [2022-04-28 12:42:50,922 INFO L290 TraceCheckUtils]: 18: Hoare triple {14135#(<= ~counter~0 7)} assume !!(#t~post6 < 20);havoc #t~post6; {14135#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:50,923 INFO L290 TraceCheckUtils]: 17: Hoare triple {14107#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14135#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:50,923 INFO L290 TraceCheckUtils]: 16: Hoare triple {14107#(<= ~counter~0 6)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {14107#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:50,923 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {13910#true} {14107#(<= ~counter~0 6)} #61#return; {14107#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:50,924 INFO L290 TraceCheckUtils]: 14: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-28 12:42:50,924 INFO L290 TraceCheckUtils]: 13: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-28 12:42:50,924 INFO L290 TraceCheckUtils]: 12: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-28 12:42:50,924 INFO L272 TraceCheckUtils]: 11: Hoare triple {14107#(<= ~counter~0 6)} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {13910#true} is VALID [2022-04-28 12:42:50,924 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13910#true} {14107#(<= ~counter~0 6)} #59#return; {14107#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:50,924 INFO L290 TraceCheckUtils]: 9: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-28 12:42:50,924 INFO L290 TraceCheckUtils]: 8: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-28 12:42:50,924 INFO L290 TraceCheckUtils]: 7: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-28 12:42:50,925 INFO L272 TraceCheckUtils]: 6: Hoare triple {14107#(<= ~counter~0 6)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {13910#true} is VALID [2022-04-28 12:42:50,927 INFO L290 TraceCheckUtils]: 5: Hoare triple {14107#(<= ~counter~0 6)} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~R~0 := #t~nondet5;havoc #t~nondet5; {14107#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:50,927 INFO L272 TraceCheckUtils]: 4: Hoare triple {14107#(<= ~counter~0 6)} call #t~ret7 := main(); {14107#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:50,927 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14107#(<= ~counter~0 6)} {13910#true} #67#return; {14107#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:50,927 INFO L290 TraceCheckUtils]: 2: Hoare triple {14107#(<= ~counter~0 6)} assume true; {14107#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:50,928 INFO L290 TraceCheckUtils]: 1: Hoare triple {13910#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; {14107#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:50,928 INFO L272 TraceCheckUtils]: 0: Hoare triple {13910#true} call ULTIMATE.init(); {13910#true} is VALID [2022-04-28 12:42:50,929 INFO L134 CoverageAnalysis]: Checked inductivity of 758 backedges. 26 proven. 416 refuted. 0 times theorem prover too weak. 316 trivial. 0 not checked. [2022-04-28 12:42:50,929 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:42:50,929 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1992271113] [2022-04-28 12:42:50,929 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:42:50,929 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1612680098] [2022-04-28 12:42:50,929 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1612680098] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:42:50,929 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:42:50,929 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 17] total 24 [2022-04-28 12:42:50,929 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:42:50,930 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1922630435] [2022-04-28 12:42:50,930 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1922630435] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:42:50,930 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:42:50,930 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-28 12:42:50,930 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1498703691] [2022-04-28 12:42:50,930 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:42:50,930 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, (18), 16 states have call predecessors, (18), 14 states have return successors, (16), 14 states have call predecessors, (16), 15 states have call successors, (16) Word has length 140 [2022-04-28 12:42:50,931 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:42:50,931 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, (18), 16 states have call predecessors, (18), 14 states have return successors, (16), 14 states have call predecessors, (16), 15 states have call successors, (16) [2022-04-28 12:42:51,025 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 137 edges. 137 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:42:51,025 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-28 12:42:51,025 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:42:51,025 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-28 12:42:51,025 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=236, Invalid=316, Unknown=0, NotChecked=0, Total=552 [2022-04-28 12:42:51,026 INFO L87 Difference]: Start difference. First operand 137 states and 151 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, (18), 16 states have call predecessors, (18), 14 states have return successors, (16), 14 states have call predecessors, (16), 15 states have call successors, (16) [2022-04-28 12:42:51,577 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:42:51,577 INFO L93 Difference]: Finished difference Result 151 states and 166 transitions. [2022-04-28 12:42:51,577 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 30 states. [2022-04-28 12:42:51,577 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, (18), 16 states have call predecessors, (18), 14 states have return successors, (16), 14 states have call predecessors, (16), 15 states have call successors, (16) Word has length 140 [2022-04-28 12:42:51,578 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:42:51,578 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, (18), 16 states have call predecessors, (18), 14 states have return successors, (16), 14 states have call predecessors, (16), 15 states have call successors, (16) [2022-04-28 12:42:51,581 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 165 transitions. [2022-04-28 12:42:51,582 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, (18), 16 states have call predecessors, (18), 14 states have return successors, (16), 14 states have call predecessors, (16), 15 states have call successors, (16) [2022-04-28 12:42:51,585 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 165 transitions. [2022-04-28 12:42:51,585 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 30 states and 165 transitions. [2022-04-28 12:42:51,721 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 165 edges. 165 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:42:51,724 INFO L225 Difference]: With dead ends: 151 [2022-04-28 12:42:51,724 INFO L226 Difference]: Without dead ends: 146 [2022-04-28 12:42:51,724 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 292 GetRequests, 256 SyntacticMatches, 1 SemanticMatches, 35 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 116 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=535, Invalid=797, Unknown=0, NotChecked=0, Total=1332 [2022-04-28 12:42:51,725 INFO L413 NwaCegarLoop]: 39 mSDtfsCounter, 60 mSDsluCounter, 135 mSDsCounter, 0 mSdLazyCounter, 78 mSolverCounterSat, 28 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 60 SdHoareTripleChecker+Valid, 174 SdHoareTripleChecker+Invalid, 106 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 28 IncrementalHoareTripleChecker+Valid, 78 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:42:51,725 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [60 Valid, 174 Invalid, 106 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [28 Valid, 78 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:42:51,726 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 146 states. [2022-04-28 12:42:51,930 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 146 to 146. [2022-04-28 12:42:51,930 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:42:51,930 INFO L82 GeneralOperation]: Start isEquivalent. First operand 146 states. Second operand has 146 states, 110 states have (on average 1.1363636363636365) internal successors, (125), 110 states have internal predecessors, (125), 19 states have call successors, (19), 18 states have call predecessors, (19), 16 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 12:42:51,931 INFO L74 IsIncluded]: Start isIncluded. First operand 146 states. Second operand has 146 states, 110 states have (on average 1.1363636363636365) internal successors, (125), 110 states have internal predecessors, (125), 19 states have call successors, (19), 18 states have call predecessors, (19), 16 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 12:42:51,931 INFO L87 Difference]: Start difference. First operand 146 states. Second operand has 146 states, 110 states have (on average 1.1363636363636365) internal successors, (125), 110 states have internal predecessors, (125), 19 states have call successors, (19), 18 states have call predecessors, (19), 16 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 12:42:51,933 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:42:51,933 INFO L93 Difference]: Finished difference Result 146 states and 161 transitions. [2022-04-28 12:42:51,933 INFO L276 IsEmpty]: Start isEmpty. Operand 146 states and 161 transitions. [2022-04-28 12:42:51,934 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:42:51,934 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:42:51,934 INFO L74 IsIncluded]: Start isIncluded. First operand has 146 states, 110 states have (on average 1.1363636363636365) internal successors, (125), 110 states have internal predecessors, (125), 19 states have call successors, (19), 18 states have call predecessors, (19), 16 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) Second operand 146 states. [2022-04-28 12:42:51,934 INFO L87 Difference]: Start difference. First operand has 146 states, 110 states have (on average 1.1363636363636365) internal successors, (125), 110 states have internal predecessors, (125), 19 states have call successors, (19), 18 states have call predecessors, (19), 16 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) Second operand 146 states. [2022-04-28 12:42:51,937 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:42:51,937 INFO L93 Difference]: Finished difference Result 146 states and 161 transitions. [2022-04-28 12:42:51,937 INFO L276 IsEmpty]: Start isEmpty. Operand 146 states and 161 transitions. [2022-04-28 12:42:51,937 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:42:51,937 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:42:51,937 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:42:51,937 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:42:51,938 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 146 states, 110 states have (on average 1.1363636363636365) internal successors, (125), 110 states have internal predecessors, (125), 19 states have call successors, (19), 18 states have call predecessors, (19), 16 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 12:42:51,940 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 146 states to 146 states and 161 transitions. [2022-04-28 12:42:51,940 INFO L78 Accepts]: Start accepts. Automaton has 146 states and 161 transitions. Word has length 140 [2022-04-28 12:42:51,940 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:42:51,940 INFO L495 AbstractCegarLoop]: Abstraction has 146 states and 161 transitions. [2022-04-28 12:42:51,940 INFO L496 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, (18), 16 states have call predecessors, (18), 14 states have return successors, (16), 14 states have call predecessors, (16), 15 states have call successors, (16) [2022-04-28 12:42:51,941 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 146 states and 161 transitions. [2022-04-28 12:42:59,072 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 161 edges. 160 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 12:42:59,072 INFO L276 IsEmpty]: Start isEmpty. Operand 146 states and 161 transitions. [2022-04-28 12:42:59,073 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 150 [2022-04-28 12:42:59,073 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:42:59,073 INFO L195 NwaCegarLoop]: trace histogram [15, 15, 14, 14, 14, 14, 14, 14, 14, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:42:59,092 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-28 12:42:59,283 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 18 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable16 [2022-04-28 12:42:59,283 INFO L420 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:42:59,284 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:42:59,284 INFO L85 PathProgramCache]: Analyzing trace with hash -1088976298, now seen corresponding path program 27 times [2022-04-28 12:42:59,284 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:42:59,284 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1025569419] [2022-04-28 12:42:59,284 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:42:59,284 INFO L85 PathProgramCache]: Analyzing trace with hash -1088976298, now seen corresponding path program 28 times [2022-04-28 12:42:59,285 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:42:59,285 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [631688718] [2022-04-28 12:42:59,285 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:42:59,285 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:42:59,307 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:42:59,307 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [974335385] [2022-04-28 12:42:59,307 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:42:59,307 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:42:59,307 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:42:59,308 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-28 12:42:59,310 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-28 12:42:59,547 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:42:59,547 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:42:59,549 INFO L263 TraceCheckSpWp]: Trace formula consists of 373 conjuncts, 33 conjunts are in the unsatisfiable core [2022-04-28 12:42:59,575 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:42:59,578 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:43:00,302 INFO L272 TraceCheckUtils]: 0: Hoare triple {15685#true} call ULTIMATE.init(); {15685#true} is VALID [2022-04-28 12:43:00,302 INFO L290 TraceCheckUtils]: 1: Hoare triple {15685#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; {15693#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:00,302 INFO L290 TraceCheckUtils]: 2: Hoare triple {15693#(<= ~counter~0 0)} assume true; {15693#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:00,303 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15693#(<= ~counter~0 0)} {15685#true} #67#return; {15693#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:00,303 INFO L272 TraceCheckUtils]: 4: Hoare triple {15693#(<= ~counter~0 0)} call #t~ret7 := main(); {15693#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:00,303 INFO L290 TraceCheckUtils]: 5: Hoare triple {15693#(<= ~counter~0 0)} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~R~0 := #t~nondet5;havoc #t~nondet5; {15693#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:00,304 INFO L272 TraceCheckUtils]: 6: Hoare triple {15693#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {15693#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:00,304 INFO L290 TraceCheckUtils]: 7: Hoare triple {15693#(<= ~counter~0 0)} ~cond := #in~cond; {15693#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:00,304 INFO L290 TraceCheckUtils]: 8: Hoare triple {15693#(<= ~counter~0 0)} assume !(0 == ~cond); {15693#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:00,305 INFO L290 TraceCheckUtils]: 9: Hoare triple {15693#(<= ~counter~0 0)} assume true; {15693#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:00,305 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15693#(<= ~counter~0 0)} {15693#(<= ~counter~0 0)} #59#return; {15693#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:00,306 INFO L272 TraceCheckUtils]: 11: Hoare triple {15693#(<= ~counter~0 0)} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {15693#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:00,306 INFO L290 TraceCheckUtils]: 12: Hoare triple {15693#(<= ~counter~0 0)} ~cond := #in~cond; {15693#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:00,306 INFO L290 TraceCheckUtils]: 13: Hoare triple {15693#(<= ~counter~0 0)} assume !(0 == ~cond); {15693#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:00,306 INFO L290 TraceCheckUtils]: 14: Hoare triple {15693#(<= ~counter~0 0)} assume true; {15693#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:00,307 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {15693#(<= ~counter~0 0)} {15693#(<= ~counter~0 0)} #61#return; {15693#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:00,307 INFO L290 TraceCheckUtils]: 16: Hoare triple {15693#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {15693#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:00,308 INFO L290 TraceCheckUtils]: 17: Hoare triple {15693#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15742#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:00,308 INFO L290 TraceCheckUtils]: 18: Hoare triple {15742#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {15742#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:00,309 INFO L272 TraceCheckUtils]: 19: Hoare triple {15742#(<= ~counter~0 1)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {15742#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:00,309 INFO L290 TraceCheckUtils]: 20: Hoare triple {15742#(<= ~counter~0 1)} ~cond := #in~cond; {15742#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:00,309 INFO L290 TraceCheckUtils]: 21: Hoare triple {15742#(<= ~counter~0 1)} assume !(0 == ~cond); {15742#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:00,309 INFO L290 TraceCheckUtils]: 22: Hoare triple {15742#(<= ~counter~0 1)} assume true; {15742#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:00,310 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {15742#(<= ~counter~0 1)} {15742#(<= ~counter~0 1)} #63#return; {15742#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:00,310 INFO L290 TraceCheckUtils]: 24: Hoare triple {15742#(<= ~counter~0 1)} assume !!(0 != ~r~0); {15742#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:00,310 INFO L290 TraceCheckUtils]: 25: Hoare triple {15742#(<= ~counter~0 1)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {15742#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:00,311 INFO L290 TraceCheckUtils]: 26: Hoare triple {15742#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15770#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:00,311 INFO L290 TraceCheckUtils]: 27: Hoare triple {15770#(<= ~counter~0 2)} assume !!(#t~post6 < 20);havoc #t~post6; {15770#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:00,312 INFO L272 TraceCheckUtils]: 28: Hoare triple {15770#(<= ~counter~0 2)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {15770#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:00,312 INFO L290 TraceCheckUtils]: 29: Hoare triple {15770#(<= ~counter~0 2)} ~cond := #in~cond; {15770#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:00,312 INFO L290 TraceCheckUtils]: 30: Hoare triple {15770#(<= ~counter~0 2)} assume !(0 == ~cond); {15770#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:00,313 INFO L290 TraceCheckUtils]: 31: Hoare triple {15770#(<= ~counter~0 2)} assume true; {15770#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:00,313 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {15770#(<= ~counter~0 2)} {15770#(<= ~counter~0 2)} #63#return; {15770#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:00,313 INFO L290 TraceCheckUtils]: 33: Hoare triple {15770#(<= ~counter~0 2)} assume !!(0 != ~r~0); {15770#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:00,314 INFO L290 TraceCheckUtils]: 34: Hoare triple {15770#(<= ~counter~0 2)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {15770#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:00,314 INFO L290 TraceCheckUtils]: 35: Hoare triple {15770#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15798#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:00,314 INFO L290 TraceCheckUtils]: 36: Hoare triple {15798#(<= ~counter~0 3)} assume !!(#t~post6 < 20);havoc #t~post6; {15798#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:00,315 INFO L272 TraceCheckUtils]: 37: Hoare triple {15798#(<= ~counter~0 3)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {15798#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:00,315 INFO L290 TraceCheckUtils]: 38: Hoare triple {15798#(<= ~counter~0 3)} ~cond := #in~cond; {15798#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:00,316 INFO L290 TraceCheckUtils]: 39: Hoare triple {15798#(<= ~counter~0 3)} assume !(0 == ~cond); {15798#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:00,316 INFO L290 TraceCheckUtils]: 40: Hoare triple {15798#(<= ~counter~0 3)} assume true; {15798#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:00,316 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {15798#(<= ~counter~0 3)} {15798#(<= ~counter~0 3)} #63#return; {15798#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:00,317 INFO L290 TraceCheckUtils]: 42: Hoare triple {15798#(<= ~counter~0 3)} assume !!(0 != ~r~0); {15798#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:00,317 INFO L290 TraceCheckUtils]: 43: Hoare triple {15798#(<= ~counter~0 3)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {15798#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:00,317 INFO L290 TraceCheckUtils]: 44: Hoare triple {15798#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15826#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:00,318 INFO L290 TraceCheckUtils]: 45: Hoare triple {15826#(<= ~counter~0 4)} assume !!(#t~post6 < 20);havoc #t~post6; {15826#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:00,318 INFO L272 TraceCheckUtils]: 46: Hoare triple {15826#(<= ~counter~0 4)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {15826#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:00,318 INFO L290 TraceCheckUtils]: 47: Hoare triple {15826#(<= ~counter~0 4)} ~cond := #in~cond; {15826#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:00,319 INFO L290 TraceCheckUtils]: 48: Hoare triple {15826#(<= ~counter~0 4)} assume !(0 == ~cond); {15826#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:00,319 INFO L290 TraceCheckUtils]: 49: Hoare triple {15826#(<= ~counter~0 4)} assume true; {15826#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:00,320 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {15826#(<= ~counter~0 4)} {15826#(<= ~counter~0 4)} #63#return; {15826#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:00,320 INFO L290 TraceCheckUtils]: 51: Hoare triple {15826#(<= ~counter~0 4)} assume !!(0 != ~r~0); {15826#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:00,320 INFO L290 TraceCheckUtils]: 52: Hoare triple {15826#(<= ~counter~0 4)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {15826#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:00,321 INFO L290 TraceCheckUtils]: 53: Hoare triple {15826#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15854#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:00,321 INFO L290 TraceCheckUtils]: 54: Hoare triple {15854#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {15854#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:00,321 INFO L272 TraceCheckUtils]: 55: Hoare triple {15854#(<= ~counter~0 5)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {15854#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:00,322 INFO L290 TraceCheckUtils]: 56: Hoare triple {15854#(<= ~counter~0 5)} ~cond := #in~cond; {15854#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:00,322 INFO L290 TraceCheckUtils]: 57: Hoare triple {15854#(<= ~counter~0 5)} assume !(0 == ~cond); {15854#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:00,322 INFO L290 TraceCheckUtils]: 58: Hoare triple {15854#(<= ~counter~0 5)} assume true; {15854#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:00,323 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {15854#(<= ~counter~0 5)} {15854#(<= ~counter~0 5)} #63#return; {15854#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:00,323 INFO L290 TraceCheckUtils]: 60: Hoare triple {15854#(<= ~counter~0 5)} assume !!(0 != ~r~0); {15854#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:00,323 INFO L290 TraceCheckUtils]: 61: Hoare triple {15854#(<= ~counter~0 5)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {15854#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:00,324 INFO L290 TraceCheckUtils]: 62: Hoare triple {15854#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15882#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:00,324 INFO L290 TraceCheckUtils]: 63: Hoare triple {15882#(<= ~counter~0 6)} assume !!(#t~post6 < 20);havoc #t~post6; {15882#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:00,325 INFO L272 TraceCheckUtils]: 64: Hoare triple {15882#(<= ~counter~0 6)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {15882#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:00,325 INFO L290 TraceCheckUtils]: 65: Hoare triple {15882#(<= ~counter~0 6)} ~cond := #in~cond; {15882#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:00,325 INFO L290 TraceCheckUtils]: 66: Hoare triple {15882#(<= ~counter~0 6)} assume !(0 == ~cond); {15882#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:00,325 INFO L290 TraceCheckUtils]: 67: Hoare triple {15882#(<= ~counter~0 6)} assume true; {15882#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:00,326 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {15882#(<= ~counter~0 6)} {15882#(<= ~counter~0 6)} #63#return; {15882#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:00,326 INFO L290 TraceCheckUtils]: 69: Hoare triple {15882#(<= ~counter~0 6)} assume !!(0 != ~r~0); {15882#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:00,327 INFO L290 TraceCheckUtils]: 70: Hoare triple {15882#(<= ~counter~0 6)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {15882#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:00,327 INFO L290 TraceCheckUtils]: 71: Hoare triple {15882#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15910#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:00,327 INFO L290 TraceCheckUtils]: 72: Hoare triple {15910#(<= ~counter~0 7)} assume !!(#t~post6 < 20);havoc #t~post6; {15910#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:00,328 INFO L272 TraceCheckUtils]: 73: Hoare triple {15910#(<= ~counter~0 7)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {15910#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:00,328 INFO L290 TraceCheckUtils]: 74: Hoare triple {15910#(<= ~counter~0 7)} ~cond := #in~cond; {15910#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:00,328 INFO L290 TraceCheckUtils]: 75: Hoare triple {15910#(<= ~counter~0 7)} assume !(0 == ~cond); {15910#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:00,329 INFO L290 TraceCheckUtils]: 76: Hoare triple {15910#(<= ~counter~0 7)} assume true; {15910#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:00,329 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {15910#(<= ~counter~0 7)} {15910#(<= ~counter~0 7)} #63#return; {15910#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:00,329 INFO L290 TraceCheckUtils]: 78: Hoare triple {15910#(<= ~counter~0 7)} assume !!(0 != ~r~0); {15910#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:00,330 INFO L290 TraceCheckUtils]: 79: Hoare triple {15910#(<= ~counter~0 7)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {15910#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:00,330 INFO L290 TraceCheckUtils]: 80: Hoare triple {15910#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15938#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:00,331 INFO L290 TraceCheckUtils]: 81: Hoare triple {15938#(<= ~counter~0 8)} assume !!(#t~post6 < 20);havoc #t~post6; {15938#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:00,331 INFO L272 TraceCheckUtils]: 82: Hoare triple {15938#(<= ~counter~0 8)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {15938#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:00,331 INFO L290 TraceCheckUtils]: 83: Hoare triple {15938#(<= ~counter~0 8)} ~cond := #in~cond; {15938#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:00,332 INFO L290 TraceCheckUtils]: 84: Hoare triple {15938#(<= ~counter~0 8)} assume !(0 == ~cond); {15938#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:00,332 INFO L290 TraceCheckUtils]: 85: Hoare triple {15938#(<= ~counter~0 8)} assume true; {15938#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:00,332 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {15938#(<= ~counter~0 8)} {15938#(<= ~counter~0 8)} #63#return; {15938#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:00,333 INFO L290 TraceCheckUtils]: 87: Hoare triple {15938#(<= ~counter~0 8)} assume !!(0 != ~r~0); {15938#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:00,333 INFO L290 TraceCheckUtils]: 88: Hoare triple {15938#(<= ~counter~0 8)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {15938#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:00,333 INFO L290 TraceCheckUtils]: 89: Hoare triple {15938#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15966#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:00,334 INFO L290 TraceCheckUtils]: 90: Hoare triple {15966#(<= ~counter~0 9)} assume !!(#t~post6 < 20);havoc #t~post6; {15966#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:00,334 INFO L272 TraceCheckUtils]: 91: Hoare triple {15966#(<= ~counter~0 9)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {15966#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:00,335 INFO L290 TraceCheckUtils]: 92: Hoare triple {15966#(<= ~counter~0 9)} ~cond := #in~cond; {15966#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:00,335 INFO L290 TraceCheckUtils]: 93: Hoare triple {15966#(<= ~counter~0 9)} assume !(0 == ~cond); {15966#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:00,335 INFO L290 TraceCheckUtils]: 94: Hoare triple {15966#(<= ~counter~0 9)} assume true; {15966#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:00,336 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {15966#(<= ~counter~0 9)} {15966#(<= ~counter~0 9)} #63#return; {15966#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:00,336 INFO L290 TraceCheckUtils]: 96: Hoare triple {15966#(<= ~counter~0 9)} assume !!(0 != ~r~0); {15966#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:00,336 INFO L290 TraceCheckUtils]: 97: Hoare triple {15966#(<= ~counter~0 9)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {15966#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:00,337 INFO L290 TraceCheckUtils]: 98: Hoare triple {15966#(<= ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15994#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:00,337 INFO L290 TraceCheckUtils]: 99: Hoare triple {15994#(<= ~counter~0 10)} assume !!(#t~post6 < 20);havoc #t~post6; {15994#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:00,337 INFO L272 TraceCheckUtils]: 100: Hoare triple {15994#(<= ~counter~0 10)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {15994#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:00,338 INFO L290 TraceCheckUtils]: 101: Hoare triple {15994#(<= ~counter~0 10)} ~cond := #in~cond; {15994#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:00,338 INFO L290 TraceCheckUtils]: 102: Hoare triple {15994#(<= ~counter~0 10)} assume !(0 == ~cond); {15994#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:00,338 INFO L290 TraceCheckUtils]: 103: Hoare triple {15994#(<= ~counter~0 10)} assume true; {15994#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:00,339 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {15994#(<= ~counter~0 10)} {15994#(<= ~counter~0 10)} #63#return; {15994#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:00,339 INFO L290 TraceCheckUtils]: 105: Hoare triple {15994#(<= ~counter~0 10)} assume !!(0 != ~r~0); {15994#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:00,339 INFO L290 TraceCheckUtils]: 106: Hoare triple {15994#(<= ~counter~0 10)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {15994#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:00,340 INFO L290 TraceCheckUtils]: 107: Hoare triple {15994#(<= ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16022#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:00,340 INFO L290 TraceCheckUtils]: 108: Hoare triple {16022#(<= ~counter~0 11)} assume !!(#t~post6 < 20);havoc #t~post6; {16022#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:00,341 INFO L272 TraceCheckUtils]: 109: Hoare triple {16022#(<= ~counter~0 11)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {16022#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:00,341 INFO L290 TraceCheckUtils]: 110: Hoare triple {16022#(<= ~counter~0 11)} ~cond := #in~cond; {16022#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:00,341 INFO L290 TraceCheckUtils]: 111: Hoare triple {16022#(<= ~counter~0 11)} assume !(0 == ~cond); {16022#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:00,342 INFO L290 TraceCheckUtils]: 112: Hoare triple {16022#(<= ~counter~0 11)} assume true; {16022#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:00,342 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {16022#(<= ~counter~0 11)} {16022#(<= ~counter~0 11)} #63#return; {16022#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:00,342 INFO L290 TraceCheckUtils]: 114: Hoare triple {16022#(<= ~counter~0 11)} assume !!(0 != ~r~0); {16022#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:00,343 INFO L290 TraceCheckUtils]: 115: Hoare triple {16022#(<= ~counter~0 11)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {16022#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:00,343 INFO L290 TraceCheckUtils]: 116: Hoare triple {16022#(<= ~counter~0 11)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16050#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:00,343 INFO L290 TraceCheckUtils]: 117: Hoare triple {16050#(<= ~counter~0 12)} assume !!(#t~post6 < 20);havoc #t~post6; {16050#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:00,344 INFO L272 TraceCheckUtils]: 118: Hoare triple {16050#(<= ~counter~0 12)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {16050#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:00,344 INFO L290 TraceCheckUtils]: 119: Hoare triple {16050#(<= ~counter~0 12)} ~cond := #in~cond; {16050#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:00,344 INFO L290 TraceCheckUtils]: 120: Hoare triple {16050#(<= ~counter~0 12)} assume !(0 == ~cond); {16050#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:00,345 INFO L290 TraceCheckUtils]: 121: Hoare triple {16050#(<= ~counter~0 12)} assume true; {16050#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:00,345 INFO L284 TraceCheckUtils]: 122: Hoare quadruple {16050#(<= ~counter~0 12)} {16050#(<= ~counter~0 12)} #63#return; {16050#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:00,346 INFO L290 TraceCheckUtils]: 123: Hoare triple {16050#(<= ~counter~0 12)} assume !!(0 != ~r~0); {16050#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:00,346 INFO L290 TraceCheckUtils]: 124: Hoare triple {16050#(<= ~counter~0 12)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {16050#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:00,346 INFO L290 TraceCheckUtils]: 125: Hoare triple {16050#(<= ~counter~0 12)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16078#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:00,347 INFO L290 TraceCheckUtils]: 126: Hoare triple {16078#(<= ~counter~0 13)} assume !!(#t~post6 < 20);havoc #t~post6; {16078#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:00,347 INFO L272 TraceCheckUtils]: 127: Hoare triple {16078#(<= ~counter~0 13)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {16078#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:00,347 INFO L290 TraceCheckUtils]: 128: Hoare triple {16078#(<= ~counter~0 13)} ~cond := #in~cond; {16078#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:00,348 INFO L290 TraceCheckUtils]: 129: Hoare triple {16078#(<= ~counter~0 13)} assume !(0 == ~cond); {16078#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:00,348 INFO L290 TraceCheckUtils]: 130: Hoare triple {16078#(<= ~counter~0 13)} assume true; {16078#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:00,349 INFO L284 TraceCheckUtils]: 131: Hoare quadruple {16078#(<= ~counter~0 13)} {16078#(<= ~counter~0 13)} #63#return; {16078#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:00,349 INFO L290 TraceCheckUtils]: 132: Hoare triple {16078#(<= ~counter~0 13)} assume !!(0 != ~r~0); {16078#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:00,349 INFO L290 TraceCheckUtils]: 133: Hoare triple {16078#(<= ~counter~0 13)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {16078#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:00,350 INFO L290 TraceCheckUtils]: 134: Hoare triple {16078#(<= ~counter~0 13)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16106#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:00,350 INFO L290 TraceCheckUtils]: 135: Hoare triple {16106#(<= ~counter~0 14)} assume !!(#t~post6 < 20);havoc #t~post6; {16106#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:00,350 INFO L272 TraceCheckUtils]: 136: Hoare triple {16106#(<= ~counter~0 14)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {16106#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:00,351 INFO L290 TraceCheckUtils]: 137: Hoare triple {16106#(<= ~counter~0 14)} ~cond := #in~cond; {16106#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:00,351 INFO L290 TraceCheckUtils]: 138: Hoare triple {16106#(<= ~counter~0 14)} assume !(0 == ~cond); {16106#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:00,351 INFO L290 TraceCheckUtils]: 139: Hoare triple {16106#(<= ~counter~0 14)} assume true; {16106#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:00,352 INFO L284 TraceCheckUtils]: 140: Hoare quadruple {16106#(<= ~counter~0 14)} {16106#(<= ~counter~0 14)} #63#return; {16106#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:00,352 INFO L290 TraceCheckUtils]: 141: Hoare triple {16106#(<= ~counter~0 14)} assume !!(0 != ~r~0); {16106#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:00,352 INFO L290 TraceCheckUtils]: 142: Hoare triple {16106#(<= ~counter~0 14)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {16106#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:00,353 INFO L290 TraceCheckUtils]: 143: Hoare triple {16106#(<= ~counter~0 14)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16134#(<= |main_#t~post6| 14)} is VALID [2022-04-28 12:43:00,353 INFO L290 TraceCheckUtils]: 144: Hoare triple {16134#(<= |main_#t~post6| 14)} assume !(#t~post6 < 20);havoc #t~post6; {15686#false} is VALID [2022-04-28 12:43:00,353 INFO L272 TraceCheckUtils]: 145: Hoare triple {15686#false} call __VERIFIER_assert((if 4 * ~A~0 == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {15686#false} is VALID [2022-04-28 12:43:00,353 INFO L290 TraceCheckUtils]: 146: Hoare triple {15686#false} ~cond := #in~cond; {15686#false} is VALID [2022-04-28 12:43:00,353 INFO L290 TraceCheckUtils]: 147: Hoare triple {15686#false} assume 0 == ~cond; {15686#false} is VALID [2022-04-28 12:43:00,353 INFO L290 TraceCheckUtils]: 148: Hoare triple {15686#false} assume !false; {15686#false} is VALID [2022-04-28 12:43:00,354 INFO L134 CoverageAnalysis]: Checked inductivity of 879 backedges. 28 proven. 847 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:43:00,354 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:43:01,051 INFO L290 TraceCheckUtils]: 148: Hoare triple {15686#false} assume !false; {15686#false} is VALID [2022-04-28 12:43:01,052 INFO L290 TraceCheckUtils]: 147: Hoare triple {15686#false} assume 0 == ~cond; {15686#false} is VALID [2022-04-28 12:43:01,052 INFO L290 TraceCheckUtils]: 146: Hoare triple {15686#false} ~cond := #in~cond; {15686#false} is VALID [2022-04-28 12:43:01,052 INFO L272 TraceCheckUtils]: 145: Hoare triple {15686#false} call __VERIFIER_assert((if 4 * ~A~0 == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {15686#false} is VALID [2022-04-28 12:43:01,052 INFO L290 TraceCheckUtils]: 144: Hoare triple {16162#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {15686#false} is VALID [2022-04-28 12:43:01,052 INFO L290 TraceCheckUtils]: 143: Hoare triple {16166#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16162#(< |main_#t~post6| 20)} is VALID [2022-04-28 12:43:01,053 INFO L290 TraceCheckUtils]: 142: Hoare triple {16166#(< ~counter~0 20)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {16166#(< ~counter~0 20)} is VALID [2022-04-28 12:43:01,053 INFO L290 TraceCheckUtils]: 141: Hoare triple {16166#(< ~counter~0 20)} assume !!(0 != ~r~0); {16166#(< ~counter~0 20)} is VALID [2022-04-28 12:43:01,053 INFO L284 TraceCheckUtils]: 140: Hoare quadruple {15685#true} {16166#(< ~counter~0 20)} #63#return; {16166#(< ~counter~0 20)} is VALID [2022-04-28 12:43:01,054 INFO L290 TraceCheckUtils]: 139: Hoare triple {15685#true} assume true; {15685#true} is VALID [2022-04-28 12:43:01,054 INFO L290 TraceCheckUtils]: 138: Hoare triple {15685#true} assume !(0 == ~cond); {15685#true} is VALID [2022-04-28 12:43:01,054 INFO L290 TraceCheckUtils]: 137: Hoare triple {15685#true} ~cond := #in~cond; {15685#true} is VALID [2022-04-28 12:43:01,054 INFO L272 TraceCheckUtils]: 136: Hoare triple {16166#(< ~counter~0 20)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {15685#true} is VALID [2022-04-28 12:43:01,054 INFO L290 TraceCheckUtils]: 135: Hoare triple {16166#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6; {16166#(< ~counter~0 20)} is VALID [2022-04-28 12:43:01,055 INFO L290 TraceCheckUtils]: 134: Hoare triple {16194#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16166#(< ~counter~0 20)} is VALID [2022-04-28 12:43:01,055 INFO L290 TraceCheckUtils]: 133: Hoare triple {16194#(< ~counter~0 19)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {16194#(< ~counter~0 19)} is VALID [2022-04-28 12:43:01,055 INFO L290 TraceCheckUtils]: 132: Hoare triple {16194#(< ~counter~0 19)} assume !!(0 != ~r~0); {16194#(< ~counter~0 19)} is VALID [2022-04-28 12:43:01,056 INFO L284 TraceCheckUtils]: 131: Hoare quadruple {15685#true} {16194#(< ~counter~0 19)} #63#return; {16194#(< ~counter~0 19)} is VALID [2022-04-28 12:43:01,056 INFO L290 TraceCheckUtils]: 130: Hoare triple {15685#true} assume true; {15685#true} is VALID [2022-04-28 12:43:01,056 INFO L290 TraceCheckUtils]: 129: Hoare triple {15685#true} assume !(0 == ~cond); {15685#true} is VALID [2022-04-28 12:43:01,056 INFO L290 TraceCheckUtils]: 128: Hoare triple {15685#true} ~cond := #in~cond; {15685#true} is VALID [2022-04-28 12:43:01,056 INFO L272 TraceCheckUtils]: 127: Hoare triple {16194#(< ~counter~0 19)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {15685#true} is VALID [2022-04-28 12:43:01,056 INFO L290 TraceCheckUtils]: 126: Hoare triple {16194#(< ~counter~0 19)} assume !!(#t~post6 < 20);havoc #t~post6; {16194#(< ~counter~0 19)} is VALID [2022-04-28 12:43:01,057 INFO L290 TraceCheckUtils]: 125: Hoare triple {16222#(< ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16194#(< ~counter~0 19)} is VALID [2022-04-28 12:43:01,057 INFO L290 TraceCheckUtils]: 124: Hoare triple {16222#(< ~counter~0 18)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {16222#(< ~counter~0 18)} is VALID [2022-04-28 12:43:01,057 INFO L290 TraceCheckUtils]: 123: Hoare triple {16222#(< ~counter~0 18)} assume !!(0 != ~r~0); {16222#(< ~counter~0 18)} is VALID [2022-04-28 12:43:01,058 INFO L284 TraceCheckUtils]: 122: Hoare quadruple {15685#true} {16222#(< ~counter~0 18)} #63#return; {16222#(< ~counter~0 18)} is VALID [2022-04-28 12:43:01,058 INFO L290 TraceCheckUtils]: 121: Hoare triple {15685#true} assume true; {15685#true} is VALID [2022-04-28 12:43:01,058 INFO L290 TraceCheckUtils]: 120: Hoare triple {15685#true} assume !(0 == ~cond); {15685#true} is VALID [2022-04-28 12:43:01,058 INFO L290 TraceCheckUtils]: 119: Hoare triple {15685#true} ~cond := #in~cond; {15685#true} is VALID [2022-04-28 12:43:01,058 INFO L272 TraceCheckUtils]: 118: Hoare triple {16222#(< ~counter~0 18)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {15685#true} is VALID [2022-04-28 12:43:01,058 INFO L290 TraceCheckUtils]: 117: Hoare triple {16222#(< ~counter~0 18)} assume !!(#t~post6 < 20);havoc #t~post6; {16222#(< ~counter~0 18)} is VALID [2022-04-28 12:43:01,059 INFO L290 TraceCheckUtils]: 116: Hoare triple {16250#(< ~counter~0 17)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16222#(< ~counter~0 18)} is VALID [2022-04-28 12:43:01,059 INFO L290 TraceCheckUtils]: 115: Hoare triple {16250#(< ~counter~0 17)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {16250#(< ~counter~0 17)} is VALID [2022-04-28 12:43:01,059 INFO L290 TraceCheckUtils]: 114: Hoare triple {16250#(< ~counter~0 17)} assume !!(0 != ~r~0); {16250#(< ~counter~0 17)} is VALID [2022-04-28 12:43:01,060 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {15685#true} {16250#(< ~counter~0 17)} #63#return; {16250#(< ~counter~0 17)} is VALID [2022-04-28 12:43:01,060 INFO L290 TraceCheckUtils]: 112: Hoare triple {15685#true} assume true; {15685#true} is VALID [2022-04-28 12:43:01,060 INFO L290 TraceCheckUtils]: 111: Hoare triple {15685#true} assume !(0 == ~cond); {15685#true} is VALID [2022-04-28 12:43:01,060 INFO L290 TraceCheckUtils]: 110: Hoare triple {15685#true} ~cond := #in~cond; {15685#true} is VALID [2022-04-28 12:43:01,060 INFO L272 TraceCheckUtils]: 109: Hoare triple {16250#(< ~counter~0 17)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {15685#true} is VALID [2022-04-28 12:43:01,060 INFO L290 TraceCheckUtils]: 108: Hoare triple {16250#(< ~counter~0 17)} assume !!(#t~post6 < 20);havoc #t~post6; {16250#(< ~counter~0 17)} is VALID [2022-04-28 12:43:01,061 INFO L290 TraceCheckUtils]: 107: Hoare triple {16278#(< ~counter~0 16)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16250#(< ~counter~0 17)} is VALID [2022-04-28 12:43:01,061 INFO L290 TraceCheckUtils]: 106: Hoare triple {16278#(< ~counter~0 16)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {16278#(< ~counter~0 16)} is VALID [2022-04-28 12:43:01,062 INFO L290 TraceCheckUtils]: 105: Hoare triple {16278#(< ~counter~0 16)} assume !!(0 != ~r~0); {16278#(< ~counter~0 16)} is VALID [2022-04-28 12:43:01,062 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {15685#true} {16278#(< ~counter~0 16)} #63#return; {16278#(< ~counter~0 16)} is VALID [2022-04-28 12:43:01,062 INFO L290 TraceCheckUtils]: 103: Hoare triple {15685#true} assume true; {15685#true} is VALID [2022-04-28 12:43:01,062 INFO L290 TraceCheckUtils]: 102: Hoare triple {15685#true} assume !(0 == ~cond); {15685#true} is VALID [2022-04-28 12:43:01,062 INFO L290 TraceCheckUtils]: 101: Hoare triple {15685#true} ~cond := #in~cond; {15685#true} is VALID [2022-04-28 12:43:01,062 INFO L272 TraceCheckUtils]: 100: Hoare triple {16278#(< ~counter~0 16)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {15685#true} is VALID [2022-04-28 12:43:01,063 INFO L290 TraceCheckUtils]: 99: Hoare triple {16278#(< ~counter~0 16)} assume !!(#t~post6 < 20);havoc #t~post6; {16278#(< ~counter~0 16)} is VALID [2022-04-28 12:43:01,063 INFO L290 TraceCheckUtils]: 98: Hoare triple {16106#(<= ~counter~0 14)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16278#(< ~counter~0 16)} is VALID [2022-04-28 12:43:01,063 INFO L290 TraceCheckUtils]: 97: Hoare triple {16106#(<= ~counter~0 14)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {16106#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:01,064 INFO L290 TraceCheckUtils]: 96: Hoare triple {16106#(<= ~counter~0 14)} assume !!(0 != ~r~0); {16106#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:01,064 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {15685#true} {16106#(<= ~counter~0 14)} #63#return; {16106#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:01,064 INFO L290 TraceCheckUtils]: 94: Hoare triple {15685#true} assume true; {15685#true} is VALID [2022-04-28 12:43:01,064 INFO L290 TraceCheckUtils]: 93: Hoare triple {15685#true} assume !(0 == ~cond); {15685#true} is VALID [2022-04-28 12:43:01,064 INFO L290 TraceCheckUtils]: 92: Hoare triple {15685#true} ~cond := #in~cond; {15685#true} is VALID [2022-04-28 12:43:01,064 INFO L272 TraceCheckUtils]: 91: Hoare triple {16106#(<= ~counter~0 14)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {15685#true} is VALID [2022-04-28 12:43:01,065 INFO L290 TraceCheckUtils]: 90: Hoare triple {16106#(<= ~counter~0 14)} assume !!(#t~post6 < 20);havoc #t~post6; {16106#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:01,065 INFO L290 TraceCheckUtils]: 89: Hoare triple {16078#(<= ~counter~0 13)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16106#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:01,065 INFO L290 TraceCheckUtils]: 88: Hoare triple {16078#(<= ~counter~0 13)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {16078#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:01,066 INFO L290 TraceCheckUtils]: 87: Hoare triple {16078#(<= ~counter~0 13)} assume !!(0 != ~r~0); {16078#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:01,066 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {15685#true} {16078#(<= ~counter~0 13)} #63#return; {16078#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:01,066 INFO L290 TraceCheckUtils]: 85: Hoare triple {15685#true} assume true; {15685#true} is VALID [2022-04-28 12:43:01,066 INFO L290 TraceCheckUtils]: 84: Hoare triple {15685#true} assume !(0 == ~cond); {15685#true} is VALID [2022-04-28 12:43:01,066 INFO L290 TraceCheckUtils]: 83: Hoare triple {15685#true} ~cond := #in~cond; {15685#true} is VALID [2022-04-28 12:43:01,067 INFO L272 TraceCheckUtils]: 82: Hoare triple {16078#(<= ~counter~0 13)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {15685#true} is VALID [2022-04-28 12:43:01,067 INFO L290 TraceCheckUtils]: 81: Hoare triple {16078#(<= ~counter~0 13)} assume !!(#t~post6 < 20);havoc #t~post6; {16078#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:01,067 INFO L290 TraceCheckUtils]: 80: Hoare triple {16050#(<= ~counter~0 12)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16078#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:01,068 INFO L290 TraceCheckUtils]: 79: Hoare triple {16050#(<= ~counter~0 12)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {16050#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:01,068 INFO L290 TraceCheckUtils]: 78: Hoare triple {16050#(<= ~counter~0 12)} assume !!(0 != ~r~0); {16050#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:01,068 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {15685#true} {16050#(<= ~counter~0 12)} #63#return; {16050#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:01,068 INFO L290 TraceCheckUtils]: 76: Hoare triple {15685#true} assume true; {15685#true} is VALID [2022-04-28 12:43:01,069 INFO L290 TraceCheckUtils]: 75: Hoare triple {15685#true} assume !(0 == ~cond); {15685#true} is VALID [2022-04-28 12:43:01,069 INFO L290 TraceCheckUtils]: 74: Hoare triple {15685#true} ~cond := #in~cond; {15685#true} is VALID [2022-04-28 12:43:01,069 INFO L272 TraceCheckUtils]: 73: Hoare triple {16050#(<= ~counter~0 12)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {15685#true} is VALID [2022-04-28 12:43:01,069 INFO L290 TraceCheckUtils]: 72: Hoare triple {16050#(<= ~counter~0 12)} assume !!(#t~post6 < 20);havoc #t~post6; {16050#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:01,069 INFO L290 TraceCheckUtils]: 71: Hoare triple {16022#(<= ~counter~0 11)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16050#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:01,070 INFO L290 TraceCheckUtils]: 70: Hoare triple {16022#(<= ~counter~0 11)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {16022#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:01,070 INFO L290 TraceCheckUtils]: 69: Hoare triple {16022#(<= ~counter~0 11)} assume !!(0 != ~r~0); {16022#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:01,071 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {15685#true} {16022#(<= ~counter~0 11)} #63#return; {16022#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:01,071 INFO L290 TraceCheckUtils]: 67: Hoare triple {15685#true} assume true; {15685#true} is VALID [2022-04-28 12:43:01,071 INFO L290 TraceCheckUtils]: 66: Hoare triple {15685#true} assume !(0 == ~cond); {15685#true} is VALID [2022-04-28 12:43:01,071 INFO L290 TraceCheckUtils]: 65: Hoare triple {15685#true} ~cond := #in~cond; {15685#true} is VALID [2022-04-28 12:43:01,071 INFO L272 TraceCheckUtils]: 64: Hoare triple {16022#(<= ~counter~0 11)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {15685#true} is VALID [2022-04-28 12:43:01,071 INFO L290 TraceCheckUtils]: 63: Hoare triple {16022#(<= ~counter~0 11)} assume !!(#t~post6 < 20);havoc #t~post6; {16022#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:01,072 INFO L290 TraceCheckUtils]: 62: Hoare triple {15994#(<= ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16022#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:01,072 INFO L290 TraceCheckUtils]: 61: Hoare triple {15994#(<= ~counter~0 10)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {15994#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:01,072 INFO L290 TraceCheckUtils]: 60: Hoare triple {15994#(<= ~counter~0 10)} assume !!(0 != ~r~0); {15994#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:01,073 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {15685#true} {15994#(<= ~counter~0 10)} #63#return; {15994#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:01,075 INFO L290 TraceCheckUtils]: 58: Hoare triple {15685#true} assume true; {15685#true} is VALID [2022-04-28 12:43:01,075 INFO L290 TraceCheckUtils]: 57: Hoare triple {15685#true} assume !(0 == ~cond); {15685#true} is VALID [2022-04-28 12:43:01,075 INFO L290 TraceCheckUtils]: 56: Hoare triple {15685#true} ~cond := #in~cond; {15685#true} is VALID [2022-04-28 12:43:01,075 INFO L272 TraceCheckUtils]: 55: Hoare triple {15994#(<= ~counter~0 10)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {15685#true} is VALID [2022-04-28 12:43:01,079 INFO L290 TraceCheckUtils]: 54: Hoare triple {15994#(<= ~counter~0 10)} assume !!(#t~post6 < 20);havoc #t~post6; {15994#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:01,080 INFO L290 TraceCheckUtils]: 53: Hoare triple {15966#(<= ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15994#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:01,080 INFO L290 TraceCheckUtils]: 52: Hoare triple {15966#(<= ~counter~0 9)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {15966#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:01,080 INFO L290 TraceCheckUtils]: 51: Hoare triple {15966#(<= ~counter~0 9)} assume !!(0 != ~r~0); {15966#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:01,081 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {15685#true} {15966#(<= ~counter~0 9)} #63#return; {15966#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:01,081 INFO L290 TraceCheckUtils]: 49: Hoare triple {15685#true} assume true; {15685#true} is VALID [2022-04-28 12:43:01,081 INFO L290 TraceCheckUtils]: 48: Hoare triple {15685#true} assume !(0 == ~cond); {15685#true} is VALID [2022-04-28 12:43:01,081 INFO L290 TraceCheckUtils]: 47: Hoare triple {15685#true} ~cond := #in~cond; {15685#true} is VALID [2022-04-28 12:43:01,082 INFO L272 TraceCheckUtils]: 46: Hoare triple {15966#(<= ~counter~0 9)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {15685#true} is VALID [2022-04-28 12:43:01,082 INFO L290 TraceCheckUtils]: 45: Hoare triple {15966#(<= ~counter~0 9)} assume !!(#t~post6 < 20);havoc #t~post6; {15966#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:01,083 INFO L290 TraceCheckUtils]: 44: Hoare triple {15938#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15966#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:01,083 INFO L290 TraceCheckUtils]: 43: Hoare triple {15938#(<= ~counter~0 8)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {15938#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:01,083 INFO L290 TraceCheckUtils]: 42: Hoare triple {15938#(<= ~counter~0 8)} assume !!(0 != ~r~0); {15938#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:01,084 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {15685#true} {15938#(<= ~counter~0 8)} #63#return; {15938#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:01,084 INFO L290 TraceCheckUtils]: 40: Hoare triple {15685#true} assume true; {15685#true} is VALID [2022-04-28 12:43:01,084 INFO L290 TraceCheckUtils]: 39: Hoare triple {15685#true} assume !(0 == ~cond); {15685#true} is VALID [2022-04-28 12:43:01,084 INFO L290 TraceCheckUtils]: 38: Hoare triple {15685#true} ~cond := #in~cond; {15685#true} is VALID [2022-04-28 12:43:01,084 INFO L272 TraceCheckUtils]: 37: Hoare triple {15938#(<= ~counter~0 8)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {15685#true} is VALID [2022-04-28 12:43:01,085 INFO L290 TraceCheckUtils]: 36: Hoare triple {15938#(<= ~counter~0 8)} assume !!(#t~post6 < 20);havoc #t~post6; {15938#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:01,085 INFO L290 TraceCheckUtils]: 35: Hoare triple {15910#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15938#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:01,086 INFO L290 TraceCheckUtils]: 34: Hoare triple {15910#(<= ~counter~0 7)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {15910#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:01,086 INFO L290 TraceCheckUtils]: 33: Hoare triple {15910#(<= ~counter~0 7)} assume !!(0 != ~r~0); {15910#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:01,087 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {15685#true} {15910#(<= ~counter~0 7)} #63#return; {15910#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:01,087 INFO L290 TraceCheckUtils]: 31: Hoare triple {15685#true} assume true; {15685#true} is VALID [2022-04-28 12:43:01,087 INFO L290 TraceCheckUtils]: 30: Hoare triple {15685#true} assume !(0 == ~cond); {15685#true} is VALID [2022-04-28 12:43:01,087 INFO L290 TraceCheckUtils]: 29: Hoare triple {15685#true} ~cond := #in~cond; {15685#true} is VALID [2022-04-28 12:43:01,087 INFO L272 TraceCheckUtils]: 28: Hoare triple {15910#(<= ~counter~0 7)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {15685#true} is VALID [2022-04-28 12:43:01,088 INFO L290 TraceCheckUtils]: 27: Hoare triple {15910#(<= ~counter~0 7)} assume !!(#t~post6 < 20);havoc #t~post6; {15910#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:01,088 INFO L290 TraceCheckUtils]: 26: Hoare triple {15882#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15910#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:01,088 INFO L290 TraceCheckUtils]: 25: Hoare triple {15882#(<= ~counter~0 6)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {15882#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:01,089 INFO L290 TraceCheckUtils]: 24: Hoare triple {15882#(<= ~counter~0 6)} assume !!(0 != ~r~0); {15882#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:01,089 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {15685#true} {15882#(<= ~counter~0 6)} #63#return; {15882#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:01,090 INFO L290 TraceCheckUtils]: 22: Hoare triple {15685#true} assume true; {15685#true} is VALID [2022-04-28 12:43:01,090 INFO L290 TraceCheckUtils]: 21: Hoare triple {15685#true} assume !(0 == ~cond); {15685#true} is VALID [2022-04-28 12:43:01,090 INFO L290 TraceCheckUtils]: 20: Hoare triple {15685#true} ~cond := #in~cond; {15685#true} is VALID [2022-04-28 12:43:01,090 INFO L272 TraceCheckUtils]: 19: Hoare triple {15882#(<= ~counter~0 6)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {15685#true} is VALID [2022-04-28 12:43:01,090 INFO L290 TraceCheckUtils]: 18: Hoare triple {15882#(<= ~counter~0 6)} assume !!(#t~post6 < 20);havoc #t~post6; {15882#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:01,091 INFO L290 TraceCheckUtils]: 17: Hoare triple {15854#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15882#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:01,091 INFO L290 TraceCheckUtils]: 16: Hoare triple {15854#(<= ~counter~0 5)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {15854#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:01,092 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {15685#true} {15854#(<= ~counter~0 5)} #61#return; {15854#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:01,092 INFO L290 TraceCheckUtils]: 14: Hoare triple {15685#true} assume true; {15685#true} is VALID [2022-04-28 12:43:01,092 INFO L290 TraceCheckUtils]: 13: Hoare triple {15685#true} assume !(0 == ~cond); {15685#true} is VALID [2022-04-28 12:43:01,092 INFO L290 TraceCheckUtils]: 12: Hoare triple {15685#true} ~cond := #in~cond; {15685#true} is VALID [2022-04-28 12:43:01,092 INFO L272 TraceCheckUtils]: 11: Hoare triple {15854#(<= ~counter~0 5)} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {15685#true} is VALID [2022-04-28 12:43:01,093 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15685#true} {15854#(<= ~counter~0 5)} #59#return; {15854#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:01,093 INFO L290 TraceCheckUtils]: 9: Hoare triple {15685#true} assume true; {15685#true} is VALID [2022-04-28 12:43:01,093 INFO L290 TraceCheckUtils]: 8: Hoare triple {15685#true} assume !(0 == ~cond); {15685#true} is VALID [2022-04-28 12:43:01,093 INFO L290 TraceCheckUtils]: 7: Hoare triple {15685#true} ~cond := #in~cond; {15685#true} is VALID [2022-04-28 12:43:01,093 INFO L272 TraceCheckUtils]: 6: Hoare triple {15854#(<= ~counter~0 5)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {15685#true} is VALID [2022-04-28 12:43:01,093 INFO L290 TraceCheckUtils]: 5: Hoare triple {15854#(<= ~counter~0 5)} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~R~0 := #t~nondet5;havoc #t~nondet5; {15854#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:01,094 INFO L272 TraceCheckUtils]: 4: Hoare triple {15854#(<= ~counter~0 5)} call #t~ret7 := main(); {15854#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:01,094 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15854#(<= ~counter~0 5)} {15685#true} #67#return; {15854#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:01,095 INFO L290 TraceCheckUtils]: 2: Hoare triple {15854#(<= ~counter~0 5)} assume true; {15854#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:01,095 INFO L290 TraceCheckUtils]: 1: Hoare triple {15685#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; {15854#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:01,095 INFO L272 TraceCheckUtils]: 0: Hoare triple {15685#true} call ULTIMATE.init(); {15685#true} is VALID [2022-04-28 12:43:01,096 INFO L134 CoverageAnalysis]: Checked inductivity of 879 backedges. 28 proven. 483 refuted. 0 times theorem prover too weak. 368 trivial. 0 not checked. [2022-04-28 12:43:01,096 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:43:01,096 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [631688718] [2022-04-28 12:43:01,096 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:43:01,096 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [974335385] [2022-04-28 12:43:01,096 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [974335385] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:43:01,097 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:43:01,097 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 18] total 24 [2022-04-28 12:43:01,098 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:43:01,098 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1025569419] [2022-04-28 12:43:01,098 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1025569419] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:43:01,098 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:43:01,099 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [18] imperfect sequences [] total 18 [2022-04-28 12:43:01,099 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1330750728] [2022-04-28 12:43:01,099 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:43:01,099 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, (19), 17 states have call predecessors, (19), 15 states have return successors, (17), 15 states have call predecessors, (17), 16 states have call successors, (17) Word has length 149 [2022-04-28 12:43:01,100 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:43:01,100 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, (19), 17 states have call predecessors, (19), 15 states have return successors, (17), 15 states have call predecessors, (17), 16 states have call successors, (17) [2022-04-28 12:43:01,198 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 146 edges. 146 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:43:01,198 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-28 12:43:01,199 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:43:01,199 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-28 12:43:01,199 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=236, Invalid=316, Unknown=0, NotChecked=0, Total=552 [2022-04-28 12:43:01,199 INFO L87 Difference]: Start difference. First operand 146 states and 161 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, (19), 17 states have call predecessors, (19), 15 states have return successors, (17), 15 states have call predecessors, (17), 16 states have call successors, (17) [2022-04-28 12:43:01,775 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:43:01,775 INFO L93 Difference]: Finished difference Result 160 states and 176 transitions. [2022-04-28 12:43:01,775 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 32 states. [2022-04-28 12:43:01,776 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, (19), 17 states have call predecessors, (19), 15 states have return successors, (17), 15 states have call predecessors, (17), 16 states have call successors, (17) Word has length 149 [2022-04-28 12:43:01,776 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:43:01,776 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, (19), 17 states have call predecessors, (19), 15 states have return successors, (17), 15 states have call predecessors, (17), 16 states have call successors, (17) [2022-04-28 12:43:01,779 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 175 transitions. [2022-04-28 12:43:01,779 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, (19), 17 states have call predecessors, (19), 15 states have return successors, (17), 15 states have call predecessors, (17), 16 states have call successors, (17) [2022-04-28 12:43:01,784 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 175 transitions. [2022-04-28 12:43:01,784 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 32 states and 175 transitions. [2022-04-28 12:43:01,924 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 175 edges. 175 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:43:01,927 INFO L225 Difference]: With dead ends: 160 [2022-04-28 12:43:01,927 INFO L226 Difference]: Without dead ends: 155 [2022-04-28 12:43:01,928 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 311 GetRequests, 274 SyntacticMatches, 1 SemanticMatches, 36 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 129 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=558, Invalid=848, Unknown=0, NotChecked=0, Total=1406 [2022-04-28 12:43:01,928 INFO L413 NwaCegarLoop]: 40 mSDtfsCounter, 59 mSDsluCounter, 136 mSDsCounter, 0 mSdLazyCounter, 86 mSolverCounterSat, 21 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 59 SdHoareTripleChecker+Valid, 176 SdHoareTripleChecker+Invalid, 107 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 21 IncrementalHoareTripleChecker+Valid, 86 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:43:01,928 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [59 Valid, 176 Invalid, 107 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [21 Valid, 86 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:43:01,929 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 155 states. [2022-04-28 12:43:02,098 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 155 to 155. [2022-04-28 12:43:02,098 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:43:02,098 INFO L82 GeneralOperation]: Start isEquivalent. First operand 155 states. Second operand has 155 states, 117 states have (on average 1.1367521367521367) internal successors, (133), 117 states have internal predecessors, (133), 20 states have call successors, (20), 19 states have call predecessors, (20), 17 states have return successors, (18), 18 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 12:43:02,099 INFO L74 IsIncluded]: Start isIncluded. First operand 155 states. Second operand has 155 states, 117 states have (on average 1.1367521367521367) internal successors, (133), 117 states have internal predecessors, (133), 20 states have call successors, (20), 19 states have call predecessors, (20), 17 states have return successors, (18), 18 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 12:43:02,099 INFO L87 Difference]: Start difference. First operand 155 states. Second operand has 155 states, 117 states have (on average 1.1367521367521367) internal successors, (133), 117 states have internal predecessors, (133), 20 states have call successors, (20), 19 states have call predecessors, (20), 17 states have return successors, (18), 18 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 12:43:02,101 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:43:02,101 INFO L93 Difference]: Finished difference Result 155 states and 171 transitions. [2022-04-28 12:43:02,102 INFO L276 IsEmpty]: Start isEmpty. Operand 155 states and 171 transitions. [2022-04-28 12:43:02,102 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:43:02,102 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:43:02,102 INFO L74 IsIncluded]: Start isIncluded. First operand has 155 states, 117 states have (on average 1.1367521367521367) internal successors, (133), 117 states have internal predecessors, (133), 20 states have call successors, (20), 19 states have call predecessors, (20), 17 states have return successors, (18), 18 states have call predecessors, (18), 18 states have call successors, (18) Second operand 155 states. [2022-04-28 12:43:02,103 INFO L87 Difference]: Start difference. First operand has 155 states, 117 states have (on average 1.1367521367521367) internal successors, (133), 117 states have internal predecessors, (133), 20 states have call successors, (20), 19 states have call predecessors, (20), 17 states have return successors, (18), 18 states have call predecessors, (18), 18 states have call successors, (18) Second operand 155 states. [2022-04-28 12:43:02,105 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:43:02,105 INFO L93 Difference]: Finished difference Result 155 states and 171 transitions. [2022-04-28 12:43:02,105 INFO L276 IsEmpty]: Start isEmpty. Operand 155 states and 171 transitions. [2022-04-28 12:43:02,105 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:43:02,105 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:43:02,106 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:43:02,106 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:43:02,106 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 155 states, 117 states have (on average 1.1367521367521367) internal successors, (133), 117 states have internal predecessors, (133), 20 states have call successors, (20), 19 states have call predecessors, (20), 17 states have return successors, (18), 18 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 12:43:02,108 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 155 states to 155 states and 171 transitions. [2022-04-28 12:43:02,109 INFO L78 Accepts]: Start accepts. Automaton has 155 states and 171 transitions. Word has length 149 [2022-04-28 12:43:02,109 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:43:02,109 INFO L495 AbstractCegarLoop]: Abstraction has 155 states and 171 transitions. [2022-04-28 12:43:02,109 INFO L496 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, (19), 17 states have call predecessors, (19), 15 states have return successors, (17), 15 states have call predecessors, (17), 16 states have call successors, (17) [2022-04-28 12:43:02,109 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 155 states and 171 transitions. [2022-04-28 12:43:04,350 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 171 edges. 170 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 12:43:04,351 INFO L276 IsEmpty]: Start isEmpty. Operand 155 states and 171 transitions. [2022-04-28 12:43:04,352 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 159 [2022-04-28 12:43:04,352 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:43:04,352 INFO L195 NwaCegarLoop]: trace histogram [16, 16, 15, 15, 15, 15, 15, 15, 15, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:43:04,361 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-28 12:43:04,552 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 19 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable17 [2022-04-28 12:43:04,553 INFO L420 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:43:04,553 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:43:04,553 INFO L85 PathProgramCache]: Analyzing trace with hash -2060864036, now seen corresponding path program 29 times [2022-04-28 12:43:04,553 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:43:04,553 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1558545801] [2022-04-28 12:43:04,553 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:43:04,553 INFO L85 PathProgramCache]: Analyzing trace with hash -2060864036, now seen corresponding path program 30 times [2022-04-28 12:43:04,554 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:43:04,554 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [640200089] [2022-04-28 12:43:04,554 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:43:04,554 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:43:04,572 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:43:04,572 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1255369344] [2022-04-28 12:43:04,572 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 12:43:04,572 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:43:04,573 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:43:04,574 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-28 12:43:04,583 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-28 12:43:26,261 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 16 check-sat command(s) [2022-04-28 12:43:26,261 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:43:26,271 INFO L263 TraceCheckSpWp]: Trace formula consists of 393 conjuncts, 35 conjunts are in the unsatisfiable core [2022-04-28 12:43:26,298 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:43:26,299 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:43:27,050 INFO L272 TraceCheckUtils]: 0: Hoare triple {17570#true} call ULTIMATE.init(); {17570#true} is VALID [2022-04-28 12:43:27,051 INFO L290 TraceCheckUtils]: 1: Hoare triple {17570#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; {17578#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:27,051 INFO L290 TraceCheckUtils]: 2: Hoare triple {17578#(<= ~counter~0 0)} assume true; {17578#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:27,051 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17578#(<= ~counter~0 0)} {17570#true} #67#return; {17578#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:27,052 INFO L272 TraceCheckUtils]: 4: Hoare triple {17578#(<= ~counter~0 0)} call #t~ret7 := main(); {17578#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:27,052 INFO L290 TraceCheckUtils]: 5: Hoare triple {17578#(<= ~counter~0 0)} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~R~0 := #t~nondet5;havoc #t~nondet5; {17578#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:27,052 INFO L272 TraceCheckUtils]: 6: Hoare triple {17578#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {17578#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:27,053 INFO L290 TraceCheckUtils]: 7: Hoare triple {17578#(<= ~counter~0 0)} ~cond := #in~cond; {17578#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:27,053 INFO L290 TraceCheckUtils]: 8: Hoare triple {17578#(<= ~counter~0 0)} assume !(0 == ~cond); {17578#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:27,053 INFO L290 TraceCheckUtils]: 9: Hoare triple {17578#(<= ~counter~0 0)} assume true; {17578#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:27,054 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {17578#(<= ~counter~0 0)} {17578#(<= ~counter~0 0)} #59#return; {17578#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:27,054 INFO L272 TraceCheckUtils]: 11: Hoare triple {17578#(<= ~counter~0 0)} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {17578#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:27,054 INFO L290 TraceCheckUtils]: 12: Hoare triple {17578#(<= ~counter~0 0)} ~cond := #in~cond; {17578#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:27,055 INFO L290 TraceCheckUtils]: 13: Hoare triple {17578#(<= ~counter~0 0)} assume !(0 == ~cond); {17578#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:27,055 INFO L290 TraceCheckUtils]: 14: Hoare triple {17578#(<= ~counter~0 0)} assume true; {17578#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:27,055 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {17578#(<= ~counter~0 0)} {17578#(<= ~counter~0 0)} #61#return; {17578#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:27,056 INFO L290 TraceCheckUtils]: 16: Hoare triple {17578#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {17578#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:27,056 INFO L290 TraceCheckUtils]: 17: Hoare triple {17578#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17627#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:27,057 INFO L290 TraceCheckUtils]: 18: Hoare triple {17627#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {17627#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:27,057 INFO L272 TraceCheckUtils]: 19: Hoare triple {17627#(<= ~counter~0 1)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {17627#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:27,057 INFO L290 TraceCheckUtils]: 20: Hoare triple {17627#(<= ~counter~0 1)} ~cond := #in~cond; {17627#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:27,058 INFO L290 TraceCheckUtils]: 21: Hoare triple {17627#(<= ~counter~0 1)} assume !(0 == ~cond); {17627#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:27,058 INFO L290 TraceCheckUtils]: 22: Hoare triple {17627#(<= ~counter~0 1)} assume true; {17627#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:27,058 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {17627#(<= ~counter~0 1)} {17627#(<= ~counter~0 1)} #63#return; {17627#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:27,059 INFO L290 TraceCheckUtils]: 24: Hoare triple {17627#(<= ~counter~0 1)} assume !!(0 != ~r~0); {17627#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:27,059 INFO L290 TraceCheckUtils]: 25: Hoare triple {17627#(<= ~counter~0 1)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {17627#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:27,059 INFO L290 TraceCheckUtils]: 26: Hoare triple {17627#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17655#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:27,060 INFO L290 TraceCheckUtils]: 27: Hoare triple {17655#(<= ~counter~0 2)} assume !!(#t~post6 < 20);havoc #t~post6; {17655#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:27,060 INFO L272 TraceCheckUtils]: 28: Hoare triple {17655#(<= ~counter~0 2)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {17655#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:27,060 INFO L290 TraceCheckUtils]: 29: Hoare triple {17655#(<= ~counter~0 2)} ~cond := #in~cond; {17655#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:27,061 INFO L290 TraceCheckUtils]: 30: Hoare triple {17655#(<= ~counter~0 2)} assume !(0 == ~cond); {17655#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:27,061 INFO L290 TraceCheckUtils]: 31: Hoare triple {17655#(<= ~counter~0 2)} assume true; {17655#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:27,062 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {17655#(<= ~counter~0 2)} {17655#(<= ~counter~0 2)} #63#return; {17655#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:27,062 INFO L290 TraceCheckUtils]: 33: Hoare triple {17655#(<= ~counter~0 2)} assume !!(0 != ~r~0); {17655#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:27,062 INFO L290 TraceCheckUtils]: 34: Hoare triple {17655#(<= ~counter~0 2)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {17655#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:27,063 INFO L290 TraceCheckUtils]: 35: Hoare triple {17655#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17683#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:27,063 INFO L290 TraceCheckUtils]: 36: Hoare triple {17683#(<= ~counter~0 3)} assume !!(#t~post6 < 20);havoc #t~post6; {17683#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:27,063 INFO L272 TraceCheckUtils]: 37: Hoare triple {17683#(<= ~counter~0 3)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {17683#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:27,064 INFO L290 TraceCheckUtils]: 38: Hoare triple {17683#(<= ~counter~0 3)} ~cond := #in~cond; {17683#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:27,064 INFO L290 TraceCheckUtils]: 39: Hoare triple {17683#(<= ~counter~0 3)} assume !(0 == ~cond); {17683#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:27,064 INFO L290 TraceCheckUtils]: 40: Hoare triple {17683#(<= ~counter~0 3)} assume true; {17683#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:27,065 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {17683#(<= ~counter~0 3)} {17683#(<= ~counter~0 3)} #63#return; {17683#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:27,065 INFO L290 TraceCheckUtils]: 42: Hoare triple {17683#(<= ~counter~0 3)} assume !!(0 != ~r~0); {17683#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:27,065 INFO L290 TraceCheckUtils]: 43: Hoare triple {17683#(<= ~counter~0 3)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {17683#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:27,066 INFO L290 TraceCheckUtils]: 44: Hoare triple {17683#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17711#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:27,066 INFO L290 TraceCheckUtils]: 45: Hoare triple {17711#(<= ~counter~0 4)} assume !!(#t~post6 < 20);havoc #t~post6; {17711#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:27,067 INFO L272 TraceCheckUtils]: 46: Hoare triple {17711#(<= ~counter~0 4)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {17711#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:27,067 INFO L290 TraceCheckUtils]: 47: Hoare triple {17711#(<= ~counter~0 4)} ~cond := #in~cond; {17711#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:27,067 INFO L290 TraceCheckUtils]: 48: Hoare triple {17711#(<= ~counter~0 4)} assume !(0 == ~cond); {17711#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:27,067 INFO L290 TraceCheckUtils]: 49: Hoare triple {17711#(<= ~counter~0 4)} assume true; {17711#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:27,068 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {17711#(<= ~counter~0 4)} {17711#(<= ~counter~0 4)} #63#return; {17711#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:27,068 INFO L290 TraceCheckUtils]: 51: Hoare triple {17711#(<= ~counter~0 4)} assume !!(0 != ~r~0); {17711#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:27,068 INFO L290 TraceCheckUtils]: 52: Hoare triple {17711#(<= ~counter~0 4)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {17711#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:27,069 INFO L290 TraceCheckUtils]: 53: Hoare triple {17711#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17739#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:27,069 INFO L290 TraceCheckUtils]: 54: Hoare triple {17739#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {17739#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:27,070 INFO L272 TraceCheckUtils]: 55: Hoare triple {17739#(<= ~counter~0 5)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {17739#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:27,070 INFO L290 TraceCheckUtils]: 56: Hoare triple {17739#(<= ~counter~0 5)} ~cond := #in~cond; {17739#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:27,070 INFO L290 TraceCheckUtils]: 57: Hoare triple {17739#(<= ~counter~0 5)} assume !(0 == ~cond); {17739#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:27,070 INFO L290 TraceCheckUtils]: 58: Hoare triple {17739#(<= ~counter~0 5)} assume true; {17739#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:27,071 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {17739#(<= ~counter~0 5)} {17739#(<= ~counter~0 5)} #63#return; {17739#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:27,071 INFO L290 TraceCheckUtils]: 60: Hoare triple {17739#(<= ~counter~0 5)} assume !!(0 != ~r~0); {17739#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:27,072 INFO L290 TraceCheckUtils]: 61: Hoare triple {17739#(<= ~counter~0 5)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {17739#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:27,072 INFO L290 TraceCheckUtils]: 62: Hoare triple {17739#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17767#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:27,072 INFO L290 TraceCheckUtils]: 63: Hoare triple {17767#(<= ~counter~0 6)} assume !!(#t~post6 < 20);havoc #t~post6; {17767#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:27,073 INFO L272 TraceCheckUtils]: 64: Hoare triple {17767#(<= ~counter~0 6)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {17767#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:27,073 INFO L290 TraceCheckUtils]: 65: Hoare triple {17767#(<= ~counter~0 6)} ~cond := #in~cond; {17767#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:27,073 INFO L290 TraceCheckUtils]: 66: Hoare triple {17767#(<= ~counter~0 6)} assume !(0 == ~cond); {17767#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:27,074 INFO L290 TraceCheckUtils]: 67: Hoare triple {17767#(<= ~counter~0 6)} assume true; {17767#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:27,074 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {17767#(<= ~counter~0 6)} {17767#(<= ~counter~0 6)} #63#return; {17767#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:27,074 INFO L290 TraceCheckUtils]: 69: Hoare triple {17767#(<= ~counter~0 6)} assume !!(0 != ~r~0); {17767#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:27,075 INFO L290 TraceCheckUtils]: 70: Hoare triple {17767#(<= ~counter~0 6)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {17767#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:27,075 INFO L290 TraceCheckUtils]: 71: Hoare triple {17767#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17795#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:27,075 INFO L290 TraceCheckUtils]: 72: Hoare triple {17795#(<= ~counter~0 7)} assume !!(#t~post6 < 20);havoc #t~post6; {17795#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:27,076 INFO L272 TraceCheckUtils]: 73: Hoare triple {17795#(<= ~counter~0 7)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {17795#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:27,076 INFO L290 TraceCheckUtils]: 74: Hoare triple {17795#(<= ~counter~0 7)} ~cond := #in~cond; {17795#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:27,077 INFO L290 TraceCheckUtils]: 75: Hoare triple {17795#(<= ~counter~0 7)} assume !(0 == ~cond); {17795#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:27,077 INFO L290 TraceCheckUtils]: 76: Hoare triple {17795#(<= ~counter~0 7)} assume true; {17795#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:27,077 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {17795#(<= ~counter~0 7)} {17795#(<= ~counter~0 7)} #63#return; {17795#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:27,078 INFO L290 TraceCheckUtils]: 78: Hoare triple {17795#(<= ~counter~0 7)} assume !!(0 != ~r~0); {17795#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:27,078 INFO L290 TraceCheckUtils]: 79: Hoare triple {17795#(<= ~counter~0 7)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {17795#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:27,078 INFO L290 TraceCheckUtils]: 80: Hoare triple {17795#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17823#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:27,079 INFO L290 TraceCheckUtils]: 81: Hoare triple {17823#(<= ~counter~0 8)} assume !!(#t~post6 < 20);havoc #t~post6; {17823#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:27,079 INFO L272 TraceCheckUtils]: 82: Hoare triple {17823#(<= ~counter~0 8)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {17823#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:27,079 INFO L290 TraceCheckUtils]: 83: Hoare triple {17823#(<= ~counter~0 8)} ~cond := #in~cond; {17823#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:27,080 INFO L290 TraceCheckUtils]: 84: Hoare triple {17823#(<= ~counter~0 8)} assume !(0 == ~cond); {17823#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:27,081 INFO L290 TraceCheckUtils]: 85: Hoare triple {17823#(<= ~counter~0 8)} assume true; {17823#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:27,082 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {17823#(<= ~counter~0 8)} {17823#(<= ~counter~0 8)} #63#return; {17823#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:27,082 INFO L290 TraceCheckUtils]: 87: Hoare triple {17823#(<= ~counter~0 8)} assume !!(0 != ~r~0); {17823#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:27,082 INFO L290 TraceCheckUtils]: 88: Hoare triple {17823#(<= ~counter~0 8)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {17823#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:27,083 INFO L290 TraceCheckUtils]: 89: Hoare triple {17823#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17851#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:27,084 INFO L290 TraceCheckUtils]: 90: Hoare triple {17851#(<= ~counter~0 9)} assume !!(#t~post6 < 20);havoc #t~post6; {17851#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:27,084 INFO L272 TraceCheckUtils]: 91: Hoare triple {17851#(<= ~counter~0 9)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {17851#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:27,084 INFO L290 TraceCheckUtils]: 92: Hoare triple {17851#(<= ~counter~0 9)} ~cond := #in~cond; {17851#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:27,085 INFO L290 TraceCheckUtils]: 93: Hoare triple {17851#(<= ~counter~0 9)} assume !(0 == ~cond); {17851#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:27,085 INFO L290 TraceCheckUtils]: 94: Hoare triple {17851#(<= ~counter~0 9)} assume true; {17851#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:27,086 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {17851#(<= ~counter~0 9)} {17851#(<= ~counter~0 9)} #63#return; {17851#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:27,086 INFO L290 TraceCheckUtils]: 96: Hoare triple {17851#(<= ~counter~0 9)} assume !!(0 != ~r~0); {17851#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:27,086 INFO L290 TraceCheckUtils]: 97: Hoare triple {17851#(<= ~counter~0 9)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {17851#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:27,087 INFO L290 TraceCheckUtils]: 98: Hoare triple {17851#(<= ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17879#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:27,087 INFO L290 TraceCheckUtils]: 99: Hoare triple {17879#(<= ~counter~0 10)} assume !!(#t~post6 < 20);havoc #t~post6; {17879#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:27,088 INFO L272 TraceCheckUtils]: 100: Hoare triple {17879#(<= ~counter~0 10)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {17879#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:27,088 INFO L290 TraceCheckUtils]: 101: Hoare triple {17879#(<= ~counter~0 10)} ~cond := #in~cond; {17879#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:27,088 INFO L290 TraceCheckUtils]: 102: Hoare triple {17879#(<= ~counter~0 10)} assume !(0 == ~cond); {17879#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:27,088 INFO L290 TraceCheckUtils]: 103: Hoare triple {17879#(<= ~counter~0 10)} assume true; {17879#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:27,089 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {17879#(<= ~counter~0 10)} {17879#(<= ~counter~0 10)} #63#return; {17879#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:27,089 INFO L290 TraceCheckUtils]: 105: Hoare triple {17879#(<= ~counter~0 10)} assume !!(0 != ~r~0); {17879#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:27,090 INFO L290 TraceCheckUtils]: 106: Hoare triple {17879#(<= ~counter~0 10)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {17879#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:27,090 INFO L290 TraceCheckUtils]: 107: Hoare triple {17879#(<= ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17907#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:27,090 INFO L290 TraceCheckUtils]: 108: Hoare triple {17907#(<= ~counter~0 11)} assume !!(#t~post6 < 20);havoc #t~post6; {17907#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:27,091 INFO L272 TraceCheckUtils]: 109: Hoare triple {17907#(<= ~counter~0 11)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {17907#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:27,091 INFO L290 TraceCheckUtils]: 110: Hoare triple {17907#(<= ~counter~0 11)} ~cond := #in~cond; {17907#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:27,092 INFO L290 TraceCheckUtils]: 111: Hoare triple {17907#(<= ~counter~0 11)} assume !(0 == ~cond); {17907#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:27,092 INFO L290 TraceCheckUtils]: 112: Hoare triple {17907#(<= ~counter~0 11)} assume true; {17907#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:27,092 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {17907#(<= ~counter~0 11)} {17907#(<= ~counter~0 11)} #63#return; {17907#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:27,093 INFO L290 TraceCheckUtils]: 114: Hoare triple {17907#(<= ~counter~0 11)} assume !!(0 != ~r~0); {17907#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:27,099 INFO L290 TraceCheckUtils]: 115: Hoare triple {17907#(<= ~counter~0 11)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {17907#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:27,100 INFO L290 TraceCheckUtils]: 116: Hoare triple {17907#(<= ~counter~0 11)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17935#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:27,100 INFO L290 TraceCheckUtils]: 117: Hoare triple {17935#(<= ~counter~0 12)} assume !!(#t~post6 < 20);havoc #t~post6; {17935#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:27,101 INFO L272 TraceCheckUtils]: 118: Hoare triple {17935#(<= ~counter~0 12)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {17935#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:27,101 INFO L290 TraceCheckUtils]: 119: Hoare triple {17935#(<= ~counter~0 12)} ~cond := #in~cond; {17935#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:27,102 INFO L290 TraceCheckUtils]: 120: Hoare triple {17935#(<= ~counter~0 12)} assume !(0 == ~cond); {17935#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:27,102 INFO L290 TraceCheckUtils]: 121: Hoare triple {17935#(<= ~counter~0 12)} assume true; {17935#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:27,103 INFO L284 TraceCheckUtils]: 122: Hoare quadruple {17935#(<= ~counter~0 12)} {17935#(<= ~counter~0 12)} #63#return; {17935#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:27,103 INFO L290 TraceCheckUtils]: 123: Hoare triple {17935#(<= ~counter~0 12)} assume !!(0 != ~r~0); {17935#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:27,103 INFO L290 TraceCheckUtils]: 124: Hoare triple {17935#(<= ~counter~0 12)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {17935#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:27,104 INFO L290 TraceCheckUtils]: 125: Hoare triple {17935#(<= ~counter~0 12)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17963#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:27,104 INFO L290 TraceCheckUtils]: 126: Hoare triple {17963#(<= ~counter~0 13)} assume !!(#t~post6 < 20);havoc #t~post6; {17963#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:27,105 INFO L272 TraceCheckUtils]: 127: Hoare triple {17963#(<= ~counter~0 13)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {17963#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:27,105 INFO L290 TraceCheckUtils]: 128: Hoare triple {17963#(<= ~counter~0 13)} ~cond := #in~cond; {17963#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:27,106 INFO L290 TraceCheckUtils]: 129: Hoare triple {17963#(<= ~counter~0 13)} assume !(0 == ~cond); {17963#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:27,106 INFO L290 TraceCheckUtils]: 130: Hoare triple {17963#(<= ~counter~0 13)} assume true; {17963#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:27,107 INFO L284 TraceCheckUtils]: 131: Hoare quadruple {17963#(<= ~counter~0 13)} {17963#(<= ~counter~0 13)} #63#return; {17963#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:27,107 INFO L290 TraceCheckUtils]: 132: Hoare triple {17963#(<= ~counter~0 13)} assume !!(0 != ~r~0); {17963#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:27,108 INFO L290 TraceCheckUtils]: 133: Hoare triple {17963#(<= ~counter~0 13)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {17963#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:27,108 INFO L290 TraceCheckUtils]: 134: Hoare triple {17963#(<= ~counter~0 13)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17991#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:27,108 INFO L290 TraceCheckUtils]: 135: Hoare triple {17991#(<= ~counter~0 14)} assume !!(#t~post6 < 20);havoc #t~post6; {17991#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:27,109 INFO L272 TraceCheckUtils]: 136: Hoare triple {17991#(<= ~counter~0 14)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {17991#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:27,110 INFO L290 TraceCheckUtils]: 137: Hoare triple {17991#(<= ~counter~0 14)} ~cond := #in~cond; {17991#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:27,110 INFO L290 TraceCheckUtils]: 138: Hoare triple {17991#(<= ~counter~0 14)} assume !(0 == ~cond); {17991#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:27,110 INFO L290 TraceCheckUtils]: 139: Hoare triple {17991#(<= ~counter~0 14)} assume true; {17991#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:27,111 INFO L284 TraceCheckUtils]: 140: Hoare quadruple {17991#(<= ~counter~0 14)} {17991#(<= ~counter~0 14)} #63#return; {17991#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:27,111 INFO L290 TraceCheckUtils]: 141: Hoare triple {17991#(<= ~counter~0 14)} assume !!(0 != ~r~0); {17991#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:27,112 INFO L290 TraceCheckUtils]: 142: Hoare triple {17991#(<= ~counter~0 14)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {17991#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:27,112 INFO L290 TraceCheckUtils]: 143: Hoare triple {17991#(<= ~counter~0 14)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18019#(<= ~counter~0 15)} is VALID [2022-04-28 12:43:27,113 INFO L290 TraceCheckUtils]: 144: Hoare triple {18019#(<= ~counter~0 15)} assume !!(#t~post6 < 20);havoc #t~post6; {18019#(<= ~counter~0 15)} is VALID [2022-04-28 12:43:27,113 INFO L272 TraceCheckUtils]: 145: Hoare triple {18019#(<= ~counter~0 15)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {18019#(<= ~counter~0 15)} is VALID [2022-04-28 12:43:27,114 INFO L290 TraceCheckUtils]: 146: Hoare triple {18019#(<= ~counter~0 15)} ~cond := #in~cond; {18019#(<= ~counter~0 15)} is VALID [2022-04-28 12:43:27,114 INFO L290 TraceCheckUtils]: 147: Hoare triple {18019#(<= ~counter~0 15)} assume !(0 == ~cond); {18019#(<= ~counter~0 15)} is VALID [2022-04-28 12:43:27,114 INFO L290 TraceCheckUtils]: 148: Hoare triple {18019#(<= ~counter~0 15)} assume true; {18019#(<= ~counter~0 15)} is VALID [2022-04-28 12:43:27,115 INFO L284 TraceCheckUtils]: 149: Hoare quadruple {18019#(<= ~counter~0 15)} {18019#(<= ~counter~0 15)} #63#return; {18019#(<= ~counter~0 15)} is VALID [2022-04-28 12:43:27,115 INFO L290 TraceCheckUtils]: 150: Hoare triple {18019#(<= ~counter~0 15)} assume !!(0 != ~r~0); {18019#(<= ~counter~0 15)} is VALID [2022-04-28 12:43:27,116 INFO L290 TraceCheckUtils]: 151: Hoare triple {18019#(<= ~counter~0 15)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {18019#(<= ~counter~0 15)} is VALID [2022-04-28 12:43:27,116 INFO L290 TraceCheckUtils]: 152: Hoare triple {18019#(<= ~counter~0 15)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18047#(<= |main_#t~post6| 15)} is VALID [2022-04-28 12:43:27,117 INFO L290 TraceCheckUtils]: 153: Hoare triple {18047#(<= |main_#t~post6| 15)} assume !(#t~post6 < 20);havoc #t~post6; {17571#false} is VALID [2022-04-28 12:43:27,117 INFO L272 TraceCheckUtils]: 154: Hoare triple {17571#false} call __VERIFIER_assert((if 4 * ~A~0 == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {17571#false} is VALID [2022-04-28 12:43:27,117 INFO L290 TraceCheckUtils]: 155: Hoare triple {17571#false} ~cond := #in~cond; {17571#false} is VALID [2022-04-28 12:43:27,117 INFO L290 TraceCheckUtils]: 156: Hoare triple {17571#false} assume 0 == ~cond; {17571#false} is VALID [2022-04-28 12:43:27,117 INFO L290 TraceCheckUtils]: 157: Hoare triple {17571#false} assume !false; {17571#false} is VALID [2022-04-28 12:43:27,118 INFO L134 CoverageAnalysis]: Checked inductivity of 1009 backedges. 30 proven. 975 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:43:27,118 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:43:27,877 INFO L290 TraceCheckUtils]: 157: Hoare triple {17571#false} assume !false; {17571#false} is VALID [2022-04-28 12:43:27,877 INFO L290 TraceCheckUtils]: 156: Hoare triple {17571#false} assume 0 == ~cond; {17571#false} is VALID [2022-04-28 12:43:27,877 INFO L290 TraceCheckUtils]: 155: Hoare triple {17571#false} ~cond := #in~cond; {17571#false} is VALID [2022-04-28 12:43:27,877 INFO L272 TraceCheckUtils]: 154: Hoare triple {17571#false} call __VERIFIER_assert((if 4 * ~A~0 == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {17571#false} is VALID [2022-04-28 12:43:27,877 INFO L290 TraceCheckUtils]: 153: Hoare triple {18075#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {17571#false} is VALID [2022-04-28 12:43:27,878 INFO L290 TraceCheckUtils]: 152: Hoare triple {18079#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18075#(< |main_#t~post6| 20)} is VALID [2022-04-28 12:43:27,878 INFO L290 TraceCheckUtils]: 151: Hoare triple {18079#(< ~counter~0 20)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {18079#(< ~counter~0 20)} is VALID [2022-04-28 12:43:27,878 INFO L290 TraceCheckUtils]: 150: Hoare triple {18079#(< ~counter~0 20)} assume !!(0 != ~r~0); {18079#(< ~counter~0 20)} is VALID [2022-04-28 12:43:27,879 INFO L284 TraceCheckUtils]: 149: Hoare quadruple {17570#true} {18079#(< ~counter~0 20)} #63#return; {18079#(< ~counter~0 20)} is VALID [2022-04-28 12:43:27,879 INFO L290 TraceCheckUtils]: 148: Hoare triple {17570#true} assume true; {17570#true} is VALID [2022-04-28 12:43:27,879 INFO L290 TraceCheckUtils]: 147: Hoare triple {17570#true} assume !(0 == ~cond); {17570#true} is VALID [2022-04-28 12:43:27,879 INFO L290 TraceCheckUtils]: 146: Hoare triple {17570#true} ~cond := #in~cond; {17570#true} is VALID [2022-04-28 12:43:27,879 INFO L272 TraceCheckUtils]: 145: Hoare triple {18079#(< ~counter~0 20)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {17570#true} is VALID [2022-04-28 12:43:27,879 INFO L290 TraceCheckUtils]: 144: Hoare triple {18079#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6; {18079#(< ~counter~0 20)} is VALID [2022-04-28 12:43:27,880 INFO L290 TraceCheckUtils]: 143: Hoare triple {18107#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18079#(< ~counter~0 20)} is VALID [2022-04-28 12:43:27,880 INFO L290 TraceCheckUtils]: 142: Hoare triple {18107#(< ~counter~0 19)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {18107#(< ~counter~0 19)} is VALID [2022-04-28 12:43:27,881 INFO L290 TraceCheckUtils]: 141: Hoare triple {18107#(< ~counter~0 19)} assume !!(0 != ~r~0); {18107#(< ~counter~0 19)} is VALID [2022-04-28 12:43:27,881 INFO L284 TraceCheckUtils]: 140: Hoare quadruple {17570#true} {18107#(< ~counter~0 19)} #63#return; {18107#(< ~counter~0 19)} is VALID [2022-04-28 12:43:27,881 INFO L290 TraceCheckUtils]: 139: Hoare triple {17570#true} assume true; {17570#true} is VALID [2022-04-28 12:43:27,881 INFO L290 TraceCheckUtils]: 138: Hoare triple {17570#true} assume !(0 == ~cond); {17570#true} is VALID [2022-04-28 12:43:27,881 INFO L290 TraceCheckUtils]: 137: Hoare triple {17570#true} ~cond := #in~cond; {17570#true} is VALID [2022-04-28 12:43:27,881 INFO L272 TraceCheckUtils]: 136: Hoare triple {18107#(< ~counter~0 19)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {17570#true} is VALID [2022-04-28 12:43:27,882 INFO L290 TraceCheckUtils]: 135: Hoare triple {18107#(< ~counter~0 19)} assume !!(#t~post6 < 20);havoc #t~post6; {18107#(< ~counter~0 19)} is VALID [2022-04-28 12:43:27,882 INFO L290 TraceCheckUtils]: 134: Hoare triple {18135#(< ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18107#(< ~counter~0 19)} is VALID [2022-04-28 12:43:27,882 INFO L290 TraceCheckUtils]: 133: Hoare triple {18135#(< ~counter~0 18)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {18135#(< ~counter~0 18)} is VALID [2022-04-28 12:43:27,883 INFO L290 TraceCheckUtils]: 132: Hoare triple {18135#(< ~counter~0 18)} assume !!(0 != ~r~0); {18135#(< ~counter~0 18)} is VALID [2022-04-28 12:43:27,883 INFO L284 TraceCheckUtils]: 131: Hoare quadruple {17570#true} {18135#(< ~counter~0 18)} #63#return; {18135#(< ~counter~0 18)} is VALID [2022-04-28 12:43:27,883 INFO L290 TraceCheckUtils]: 130: Hoare triple {17570#true} assume true; {17570#true} is VALID [2022-04-28 12:43:27,883 INFO L290 TraceCheckUtils]: 129: Hoare triple {17570#true} assume !(0 == ~cond); {17570#true} is VALID [2022-04-28 12:43:27,883 INFO L290 TraceCheckUtils]: 128: Hoare triple {17570#true} ~cond := #in~cond; {17570#true} is VALID [2022-04-28 12:43:27,883 INFO L272 TraceCheckUtils]: 127: Hoare triple {18135#(< ~counter~0 18)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {17570#true} is VALID [2022-04-28 12:43:27,884 INFO L290 TraceCheckUtils]: 126: Hoare triple {18135#(< ~counter~0 18)} assume !!(#t~post6 < 20);havoc #t~post6; {18135#(< ~counter~0 18)} is VALID [2022-04-28 12:43:27,884 INFO L290 TraceCheckUtils]: 125: Hoare triple {18163#(< ~counter~0 17)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18135#(< ~counter~0 18)} is VALID [2022-04-28 12:43:27,884 INFO L290 TraceCheckUtils]: 124: Hoare triple {18163#(< ~counter~0 17)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {18163#(< ~counter~0 17)} is VALID [2022-04-28 12:43:27,885 INFO L290 TraceCheckUtils]: 123: Hoare triple {18163#(< ~counter~0 17)} assume !!(0 != ~r~0); {18163#(< ~counter~0 17)} is VALID [2022-04-28 12:43:27,885 INFO L284 TraceCheckUtils]: 122: Hoare quadruple {17570#true} {18163#(< ~counter~0 17)} #63#return; {18163#(< ~counter~0 17)} is VALID [2022-04-28 12:43:27,885 INFO L290 TraceCheckUtils]: 121: Hoare triple {17570#true} assume true; {17570#true} is VALID [2022-04-28 12:43:27,885 INFO L290 TraceCheckUtils]: 120: Hoare triple {17570#true} assume !(0 == ~cond); {17570#true} is VALID [2022-04-28 12:43:27,886 INFO L290 TraceCheckUtils]: 119: Hoare triple {17570#true} ~cond := #in~cond; {17570#true} is VALID [2022-04-28 12:43:27,886 INFO L272 TraceCheckUtils]: 118: Hoare triple {18163#(< ~counter~0 17)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {17570#true} is VALID [2022-04-28 12:43:27,886 INFO L290 TraceCheckUtils]: 117: Hoare triple {18163#(< ~counter~0 17)} assume !!(#t~post6 < 20);havoc #t~post6; {18163#(< ~counter~0 17)} is VALID [2022-04-28 12:43:27,886 INFO L290 TraceCheckUtils]: 116: Hoare triple {18019#(<= ~counter~0 15)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18163#(< ~counter~0 17)} is VALID [2022-04-28 12:43:27,887 INFO L290 TraceCheckUtils]: 115: Hoare triple {18019#(<= ~counter~0 15)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {18019#(<= ~counter~0 15)} is VALID [2022-04-28 12:43:27,887 INFO L290 TraceCheckUtils]: 114: Hoare triple {18019#(<= ~counter~0 15)} assume !!(0 != ~r~0); {18019#(<= ~counter~0 15)} is VALID [2022-04-28 12:43:27,887 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {17570#true} {18019#(<= ~counter~0 15)} #63#return; {18019#(<= ~counter~0 15)} is VALID [2022-04-28 12:43:27,887 INFO L290 TraceCheckUtils]: 112: Hoare triple {17570#true} assume true; {17570#true} is VALID [2022-04-28 12:43:27,888 INFO L290 TraceCheckUtils]: 111: Hoare triple {17570#true} assume !(0 == ~cond); {17570#true} is VALID [2022-04-28 12:43:27,888 INFO L290 TraceCheckUtils]: 110: Hoare triple {17570#true} ~cond := #in~cond; {17570#true} is VALID [2022-04-28 12:43:27,888 INFO L272 TraceCheckUtils]: 109: Hoare triple {18019#(<= ~counter~0 15)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {17570#true} is VALID [2022-04-28 12:43:27,888 INFO L290 TraceCheckUtils]: 108: Hoare triple {18019#(<= ~counter~0 15)} assume !!(#t~post6 < 20);havoc #t~post6; {18019#(<= ~counter~0 15)} is VALID [2022-04-28 12:43:27,888 INFO L290 TraceCheckUtils]: 107: Hoare triple {17991#(<= ~counter~0 14)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18019#(<= ~counter~0 15)} is VALID [2022-04-28 12:43:27,889 INFO L290 TraceCheckUtils]: 106: Hoare triple {17991#(<= ~counter~0 14)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {17991#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:27,889 INFO L290 TraceCheckUtils]: 105: Hoare triple {17991#(<= ~counter~0 14)} assume !!(0 != ~r~0); {17991#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:27,889 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {17570#true} {17991#(<= ~counter~0 14)} #63#return; {17991#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:27,890 INFO L290 TraceCheckUtils]: 103: Hoare triple {17570#true} assume true; {17570#true} is VALID [2022-04-28 12:43:27,890 INFO L290 TraceCheckUtils]: 102: Hoare triple {17570#true} assume !(0 == ~cond); {17570#true} is VALID [2022-04-28 12:43:27,890 INFO L290 TraceCheckUtils]: 101: Hoare triple {17570#true} ~cond := #in~cond; {17570#true} is VALID [2022-04-28 12:43:27,890 INFO L272 TraceCheckUtils]: 100: Hoare triple {17991#(<= ~counter~0 14)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {17570#true} is VALID [2022-04-28 12:43:27,890 INFO L290 TraceCheckUtils]: 99: Hoare triple {17991#(<= ~counter~0 14)} assume !!(#t~post6 < 20);havoc #t~post6; {17991#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:27,890 INFO L290 TraceCheckUtils]: 98: Hoare triple {17963#(<= ~counter~0 13)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17991#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:27,891 INFO L290 TraceCheckUtils]: 97: Hoare triple {17963#(<= ~counter~0 13)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {17963#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:27,891 INFO L290 TraceCheckUtils]: 96: Hoare triple {17963#(<= ~counter~0 13)} assume !!(0 != ~r~0); {17963#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:27,892 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {17570#true} {17963#(<= ~counter~0 13)} #63#return; {17963#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:27,892 INFO L290 TraceCheckUtils]: 94: Hoare triple {17570#true} assume true; {17570#true} is VALID [2022-04-28 12:43:27,892 INFO L290 TraceCheckUtils]: 93: Hoare triple {17570#true} assume !(0 == ~cond); {17570#true} is VALID [2022-04-28 12:43:27,892 INFO L290 TraceCheckUtils]: 92: Hoare triple {17570#true} ~cond := #in~cond; {17570#true} is VALID [2022-04-28 12:43:27,892 INFO L272 TraceCheckUtils]: 91: Hoare triple {17963#(<= ~counter~0 13)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {17570#true} is VALID [2022-04-28 12:43:27,892 INFO L290 TraceCheckUtils]: 90: Hoare triple {17963#(<= ~counter~0 13)} assume !!(#t~post6 < 20);havoc #t~post6; {17963#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:27,893 INFO L290 TraceCheckUtils]: 89: Hoare triple {17935#(<= ~counter~0 12)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17963#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:27,893 INFO L290 TraceCheckUtils]: 88: Hoare triple {17935#(<= ~counter~0 12)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {17935#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:27,893 INFO L290 TraceCheckUtils]: 87: Hoare triple {17935#(<= ~counter~0 12)} assume !!(0 != ~r~0); {17935#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:27,894 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {17570#true} {17935#(<= ~counter~0 12)} #63#return; {17935#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:27,894 INFO L290 TraceCheckUtils]: 85: Hoare triple {17570#true} assume true; {17570#true} is VALID [2022-04-28 12:43:27,894 INFO L290 TraceCheckUtils]: 84: Hoare triple {17570#true} assume !(0 == ~cond); {17570#true} is VALID [2022-04-28 12:43:27,894 INFO L290 TraceCheckUtils]: 83: Hoare triple {17570#true} ~cond := #in~cond; {17570#true} is VALID [2022-04-28 12:43:27,894 INFO L272 TraceCheckUtils]: 82: Hoare triple {17935#(<= ~counter~0 12)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {17570#true} is VALID [2022-04-28 12:43:27,894 INFO L290 TraceCheckUtils]: 81: Hoare triple {17935#(<= ~counter~0 12)} assume !!(#t~post6 < 20);havoc #t~post6; {17935#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:27,895 INFO L290 TraceCheckUtils]: 80: Hoare triple {17907#(<= ~counter~0 11)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17935#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:27,895 INFO L290 TraceCheckUtils]: 79: Hoare triple {17907#(<= ~counter~0 11)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {17907#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:27,895 INFO L290 TraceCheckUtils]: 78: Hoare triple {17907#(<= ~counter~0 11)} assume !!(0 != ~r~0); {17907#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:27,896 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {17570#true} {17907#(<= ~counter~0 11)} #63#return; {17907#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:27,896 INFO L290 TraceCheckUtils]: 76: Hoare triple {17570#true} assume true; {17570#true} is VALID [2022-04-28 12:43:27,896 INFO L290 TraceCheckUtils]: 75: Hoare triple {17570#true} assume !(0 == ~cond); {17570#true} is VALID [2022-04-28 12:43:27,896 INFO L290 TraceCheckUtils]: 74: Hoare triple {17570#true} ~cond := #in~cond; {17570#true} is VALID [2022-04-28 12:43:27,896 INFO L272 TraceCheckUtils]: 73: Hoare triple {17907#(<= ~counter~0 11)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {17570#true} is VALID [2022-04-28 12:43:27,896 INFO L290 TraceCheckUtils]: 72: Hoare triple {17907#(<= ~counter~0 11)} assume !!(#t~post6 < 20);havoc #t~post6; {17907#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:27,897 INFO L290 TraceCheckUtils]: 71: Hoare triple {17879#(<= ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17907#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:27,897 INFO L290 TraceCheckUtils]: 70: Hoare triple {17879#(<= ~counter~0 10)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {17879#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:27,897 INFO L290 TraceCheckUtils]: 69: Hoare triple {17879#(<= ~counter~0 10)} assume !!(0 != ~r~0); {17879#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:27,898 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {17570#true} {17879#(<= ~counter~0 10)} #63#return; {17879#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:27,898 INFO L290 TraceCheckUtils]: 67: Hoare triple {17570#true} assume true; {17570#true} is VALID [2022-04-28 12:43:27,898 INFO L290 TraceCheckUtils]: 66: Hoare triple {17570#true} assume !(0 == ~cond); {17570#true} is VALID [2022-04-28 12:43:27,898 INFO L290 TraceCheckUtils]: 65: Hoare triple {17570#true} ~cond := #in~cond; {17570#true} is VALID [2022-04-28 12:43:27,898 INFO L272 TraceCheckUtils]: 64: Hoare triple {17879#(<= ~counter~0 10)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {17570#true} is VALID [2022-04-28 12:43:27,898 INFO L290 TraceCheckUtils]: 63: Hoare triple {17879#(<= ~counter~0 10)} assume !!(#t~post6 < 20);havoc #t~post6; {17879#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:27,899 INFO L290 TraceCheckUtils]: 62: Hoare triple {17851#(<= ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17879#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:27,899 INFO L290 TraceCheckUtils]: 61: Hoare triple {17851#(<= ~counter~0 9)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {17851#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:27,899 INFO L290 TraceCheckUtils]: 60: Hoare triple {17851#(<= ~counter~0 9)} assume !!(0 != ~r~0); {17851#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:27,900 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {17570#true} {17851#(<= ~counter~0 9)} #63#return; {17851#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:27,900 INFO L290 TraceCheckUtils]: 58: Hoare triple {17570#true} assume true; {17570#true} is VALID [2022-04-28 12:43:27,900 INFO L290 TraceCheckUtils]: 57: Hoare triple {17570#true} assume !(0 == ~cond); {17570#true} is VALID [2022-04-28 12:43:27,900 INFO L290 TraceCheckUtils]: 56: Hoare triple {17570#true} ~cond := #in~cond; {17570#true} is VALID [2022-04-28 12:43:27,900 INFO L272 TraceCheckUtils]: 55: Hoare triple {17851#(<= ~counter~0 9)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {17570#true} is VALID [2022-04-28 12:43:27,900 INFO L290 TraceCheckUtils]: 54: Hoare triple {17851#(<= ~counter~0 9)} assume !!(#t~post6 < 20);havoc #t~post6; {17851#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:27,901 INFO L290 TraceCheckUtils]: 53: Hoare triple {17823#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17851#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:27,901 INFO L290 TraceCheckUtils]: 52: Hoare triple {17823#(<= ~counter~0 8)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {17823#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:27,902 INFO L290 TraceCheckUtils]: 51: Hoare triple {17823#(<= ~counter~0 8)} assume !!(0 != ~r~0); {17823#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:27,902 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {17570#true} {17823#(<= ~counter~0 8)} #63#return; {17823#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:27,902 INFO L290 TraceCheckUtils]: 49: Hoare triple {17570#true} assume true; {17570#true} is VALID [2022-04-28 12:43:27,902 INFO L290 TraceCheckUtils]: 48: Hoare triple {17570#true} assume !(0 == ~cond); {17570#true} is VALID [2022-04-28 12:43:27,902 INFO L290 TraceCheckUtils]: 47: Hoare triple {17570#true} ~cond := #in~cond; {17570#true} is VALID [2022-04-28 12:43:27,902 INFO L272 TraceCheckUtils]: 46: Hoare triple {17823#(<= ~counter~0 8)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {17570#true} is VALID [2022-04-28 12:43:27,903 INFO L290 TraceCheckUtils]: 45: Hoare triple {17823#(<= ~counter~0 8)} assume !!(#t~post6 < 20);havoc #t~post6; {17823#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:27,903 INFO L290 TraceCheckUtils]: 44: Hoare triple {17795#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17823#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:27,903 INFO L290 TraceCheckUtils]: 43: Hoare triple {17795#(<= ~counter~0 7)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {17795#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:27,904 INFO L290 TraceCheckUtils]: 42: Hoare triple {17795#(<= ~counter~0 7)} assume !!(0 != ~r~0); {17795#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:27,904 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {17570#true} {17795#(<= ~counter~0 7)} #63#return; {17795#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:27,904 INFO L290 TraceCheckUtils]: 40: Hoare triple {17570#true} assume true; {17570#true} is VALID [2022-04-28 12:43:27,904 INFO L290 TraceCheckUtils]: 39: Hoare triple {17570#true} assume !(0 == ~cond); {17570#true} is VALID [2022-04-28 12:43:27,904 INFO L290 TraceCheckUtils]: 38: Hoare triple {17570#true} ~cond := #in~cond; {17570#true} is VALID [2022-04-28 12:43:27,904 INFO L272 TraceCheckUtils]: 37: Hoare triple {17795#(<= ~counter~0 7)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {17570#true} is VALID [2022-04-28 12:43:27,905 INFO L290 TraceCheckUtils]: 36: Hoare triple {17795#(<= ~counter~0 7)} assume !!(#t~post6 < 20);havoc #t~post6; {17795#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:27,905 INFO L290 TraceCheckUtils]: 35: Hoare triple {17767#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17795#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:27,905 INFO L290 TraceCheckUtils]: 34: Hoare triple {17767#(<= ~counter~0 6)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {17767#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:27,906 INFO L290 TraceCheckUtils]: 33: Hoare triple {17767#(<= ~counter~0 6)} assume !!(0 != ~r~0); {17767#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:27,906 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {17570#true} {17767#(<= ~counter~0 6)} #63#return; {17767#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:27,906 INFO L290 TraceCheckUtils]: 31: Hoare triple {17570#true} assume true; {17570#true} is VALID [2022-04-28 12:43:27,906 INFO L290 TraceCheckUtils]: 30: Hoare triple {17570#true} assume !(0 == ~cond); {17570#true} is VALID [2022-04-28 12:43:27,906 INFO L290 TraceCheckUtils]: 29: Hoare triple {17570#true} ~cond := #in~cond; {17570#true} is VALID [2022-04-28 12:43:27,906 INFO L272 TraceCheckUtils]: 28: Hoare triple {17767#(<= ~counter~0 6)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {17570#true} is VALID [2022-04-28 12:43:27,907 INFO L290 TraceCheckUtils]: 27: Hoare triple {17767#(<= ~counter~0 6)} assume !!(#t~post6 < 20);havoc #t~post6; {17767#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:27,907 INFO L290 TraceCheckUtils]: 26: Hoare triple {17739#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17767#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:27,908 INFO L290 TraceCheckUtils]: 25: Hoare triple {17739#(<= ~counter~0 5)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {17739#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:27,908 INFO L290 TraceCheckUtils]: 24: Hoare triple {17739#(<= ~counter~0 5)} assume !!(0 != ~r~0); {17739#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:27,908 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {17570#true} {17739#(<= ~counter~0 5)} #63#return; {17739#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:27,908 INFO L290 TraceCheckUtils]: 22: Hoare triple {17570#true} assume true; {17570#true} is VALID [2022-04-28 12:43:27,908 INFO L290 TraceCheckUtils]: 21: Hoare triple {17570#true} assume !(0 == ~cond); {17570#true} is VALID [2022-04-28 12:43:27,909 INFO L290 TraceCheckUtils]: 20: Hoare triple {17570#true} ~cond := #in~cond; {17570#true} is VALID [2022-04-28 12:43:27,909 INFO L272 TraceCheckUtils]: 19: Hoare triple {17739#(<= ~counter~0 5)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {17570#true} is VALID [2022-04-28 12:43:27,909 INFO L290 TraceCheckUtils]: 18: Hoare triple {17739#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {17739#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:27,909 INFO L290 TraceCheckUtils]: 17: Hoare triple {17711#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17739#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:27,910 INFO L290 TraceCheckUtils]: 16: Hoare triple {17711#(<= ~counter~0 4)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {17711#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:27,910 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {17570#true} {17711#(<= ~counter~0 4)} #61#return; {17711#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:27,910 INFO L290 TraceCheckUtils]: 14: Hoare triple {17570#true} assume true; {17570#true} is VALID [2022-04-28 12:43:27,910 INFO L290 TraceCheckUtils]: 13: Hoare triple {17570#true} assume !(0 == ~cond); {17570#true} is VALID [2022-04-28 12:43:27,910 INFO L290 TraceCheckUtils]: 12: Hoare triple {17570#true} ~cond := #in~cond; {17570#true} is VALID [2022-04-28 12:43:27,910 INFO L272 TraceCheckUtils]: 11: Hoare triple {17711#(<= ~counter~0 4)} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {17570#true} is VALID [2022-04-28 12:43:27,911 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {17570#true} {17711#(<= ~counter~0 4)} #59#return; {17711#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:27,911 INFO L290 TraceCheckUtils]: 9: Hoare triple {17570#true} assume true; {17570#true} is VALID [2022-04-28 12:43:27,911 INFO L290 TraceCheckUtils]: 8: Hoare triple {17570#true} assume !(0 == ~cond); {17570#true} is VALID [2022-04-28 12:43:27,911 INFO L290 TraceCheckUtils]: 7: Hoare triple {17570#true} ~cond := #in~cond; {17570#true} is VALID [2022-04-28 12:43:27,911 INFO L272 TraceCheckUtils]: 6: Hoare triple {17711#(<= ~counter~0 4)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {17570#true} is VALID [2022-04-28 12:43:27,911 INFO L290 TraceCheckUtils]: 5: Hoare triple {17711#(<= ~counter~0 4)} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~R~0 := #t~nondet5;havoc #t~nondet5; {17711#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:27,912 INFO L272 TraceCheckUtils]: 4: Hoare triple {17711#(<= ~counter~0 4)} call #t~ret7 := main(); {17711#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:27,912 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17711#(<= ~counter~0 4)} {17570#true} #67#return; {17711#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:27,912 INFO L290 TraceCheckUtils]: 2: Hoare triple {17711#(<= ~counter~0 4)} assume true; {17711#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:27,913 INFO L290 TraceCheckUtils]: 1: Hoare triple {17570#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; {17711#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:27,913 INFO L272 TraceCheckUtils]: 0: Hoare triple {17570#true} call ULTIMATE.init(); {17570#true} is VALID [2022-04-28 12:43:27,913 INFO L134 CoverageAnalysis]: Checked inductivity of 1009 backedges. 30 proven. 555 refuted. 0 times theorem prover too weak. 424 trivial. 0 not checked. [2022-04-28 12:43:27,913 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:43:27,913 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [640200089] [2022-04-28 12:43:27,913 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:43:27,914 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1255369344] [2022-04-28 12:43:27,914 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1255369344] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:43:27,914 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:43:27,914 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 19] total 24 [2022-04-28 12:43:27,914 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:43:27,914 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1558545801] [2022-04-28 12:43:27,914 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1558545801] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:43:27,914 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:43:27,914 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [19] imperfect sequences [] total 19 [2022-04-28 12:43:27,914 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [994125860] [2022-04-28 12:43:27,914 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:43:27,915 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, (20), 18 states have call predecessors, (20), 16 states have return successors, (18), 16 states have call predecessors, (18), 17 states have call successors, (18) Word has length 158 [2022-04-28 12:43:27,915 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:43:27,915 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, (20), 18 states have call predecessors, (20), 16 states have return successors, (18), 16 states have call predecessors, (18), 17 states have call successors, (18) [2022-04-28 12:43:28,020 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-28 12:43:28,020 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-04-28 12:43:28,020 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:43:28,020 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-04-28 12:43:28,020 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=236, Invalid=316, Unknown=0, NotChecked=0, Total=552 [2022-04-28 12:43:28,021 INFO L87 Difference]: Start difference. First operand 155 states and 171 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, (20), 18 states have call predecessors, (20), 16 states have return successors, (18), 16 states have call predecessors, (18), 17 states have call successors, (18) [2022-04-28 12:43:28,696 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:43:28,696 INFO L93 Difference]: Finished difference Result 169 states and 186 transitions. [2022-04-28 12:43:28,696 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 34 states. [2022-04-28 12:43:28,697 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, (20), 18 states have call predecessors, (20), 16 states have return successors, (18), 16 states have call predecessors, (18), 17 states have call successors, (18) Word has length 158 [2022-04-28 12:43:28,697 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:43:28,697 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, (20), 18 states have call predecessors, (20), 16 states have return successors, (18), 16 states have call predecessors, (18), 17 states have call successors, (18) [2022-04-28 12:43:28,699 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 185 transitions. [2022-04-28 12:43:28,699 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, (20), 18 states have call predecessors, (20), 16 states have return successors, (18), 16 states have call predecessors, (18), 17 states have call successors, (18) [2022-04-28 12:43:28,702 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 185 transitions. [2022-04-28 12:43:28,703 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 185 transitions. [2022-04-28 12:43:28,827 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 185 edges. 185 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:43:28,829 INFO L225 Difference]: With dead ends: 169 [2022-04-28 12:43:28,829 INFO L226 Difference]: Without dead ends: 164 [2022-04-28 12:43:28,830 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 330 GetRequests, 292 SyntacticMatches, 1 SemanticMatches, 37 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 143 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=581, Invalid=901, Unknown=0, NotChecked=0, Total=1482 [2022-04-28 12:43:28,830 INFO L413 NwaCegarLoop]: 41 mSDtfsCounter, 88 mSDsluCounter, 149 mSDsCounter, 0 mSdLazyCounter, 85 mSolverCounterSat, 42 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 88 SdHoareTripleChecker+Valid, 190 SdHoareTripleChecker+Invalid, 127 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 42 IncrementalHoareTripleChecker+Valid, 85 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:43:28,831 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [88 Valid, 190 Invalid, 127 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [42 Valid, 85 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:43:28,831 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 164 states. [2022-04-28 12:43:29,022 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 164 to 164. [2022-04-28 12:43:29,023 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:43:29,023 INFO L82 GeneralOperation]: Start isEquivalent. First operand 164 states. Second operand has 164 states, 124 states have (on average 1.1370967741935485) internal successors, (141), 124 states have internal predecessors, (141), 21 states have call successors, (21), 20 states have call predecessors, (21), 18 states have return successors, (19), 19 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-28 12:43:29,023 INFO L74 IsIncluded]: Start isIncluded. First operand 164 states. Second operand has 164 states, 124 states have (on average 1.1370967741935485) internal successors, (141), 124 states have internal predecessors, (141), 21 states have call successors, (21), 20 states have call predecessors, (21), 18 states have return successors, (19), 19 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-28 12:43:29,024 INFO L87 Difference]: Start difference. First operand 164 states. Second operand has 164 states, 124 states have (on average 1.1370967741935485) internal successors, (141), 124 states have internal predecessors, (141), 21 states have call successors, (21), 20 states have call predecessors, (21), 18 states have return successors, (19), 19 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-28 12:43:29,026 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:43:29,026 INFO L93 Difference]: Finished difference Result 164 states and 181 transitions. [2022-04-28 12:43:29,026 INFO L276 IsEmpty]: Start isEmpty. Operand 164 states and 181 transitions. [2022-04-28 12:43:29,027 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:43:29,027 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:43:29,027 INFO L74 IsIncluded]: Start isIncluded. First operand has 164 states, 124 states have (on average 1.1370967741935485) internal successors, (141), 124 states have internal predecessors, (141), 21 states have call successors, (21), 20 states have call predecessors, (21), 18 states have return successors, (19), 19 states have call predecessors, (19), 19 states have call successors, (19) Second operand 164 states. [2022-04-28 12:43:29,027 INFO L87 Difference]: Start difference. First operand has 164 states, 124 states have (on average 1.1370967741935485) internal successors, (141), 124 states have internal predecessors, (141), 21 states have call successors, (21), 20 states have call predecessors, (21), 18 states have return successors, (19), 19 states have call predecessors, (19), 19 states have call successors, (19) Second operand 164 states. [2022-04-28 12:43:29,030 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:43:29,030 INFO L93 Difference]: Finished difference Result 164 states and 181 transitions. [2022-04-28 12:43:29,030 INFO L276 IsEmpty]: Start isEmpty. Operand 164 states and 181 transitions. [2022-04-28 12:43:29,030 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:43:29,030 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:43:29,030 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:43:29,030 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:43:29,031 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 164 states, 124 states have (on average 1.1370967741935485) internal successors, (141), 124 states have internal predecessors, (141), 21 states have call successors, (21), 20 states have call predecessors, (21), 18 states have return successors, (19), 19 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-28 12:43:29,033 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 164 states to 164 states and 181 transitions. [2022-04-28 12:43:29,034 INFO L78 Accepts]: Start accepts. Automaton has 164 states and 181 transitions. Word has length 158 [2022-04-28 12:43:29,034 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:43:29,034 INFO L495 AbstractCegarLoop]: Abstraction has 164 states and 181 transitions. [2022-04-28 12:43:29,034 INFO L496 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, (20), 18 states have call predecessors, (20), 16 states have return successors, (18), 16 states have call predecessors, (18), 17 states have call successors, (18) [2022-04-28 12:43:29,034 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 164 states and 181 transitions. [2022-04-28 12:43:31,255 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 181 edges. 180 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 12:43:31,255 INFO L276 IsEmpty]: Start isEmpty. Operand 164 states and 181 transitions. [2022-04-28 12:43:31,256 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 168 [2022-04-28 12:43:31,256 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:43:31,256 INFO L195 NwaCegarLoop]: trace histogram [17, 17, 16, 16, 16, 16, 16, 16, 16, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:43:31,271 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-28 12:43:31,466 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable18,20 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:43:31,467 INFO L420 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:43:31,467 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:43:31,467 INFO L85 PathProgramCache]: Analyzing trace with hash -1479991018, now seen corresponding path program 31 times [2022-04-28 12:43:31,467 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:43:31,467 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [17291390] [2022-04-28 12:43:31,467 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:43:31,468 INFO L85 PathProgramCache]: Analyzing trace with hash -1479991018, now seen corresponding path program 32 times [2022-04-28 12:43:31,468 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:43:31,468 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1295984899] [2022-04-28 12:43:31,468 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:43:31,468 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:43:31,495 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:43:31,496 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1890112533] [2022-04-28 12:43:31,496 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:43:31,496 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:43:31,496 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:43:31,497 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-28 12:43:31,498 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-28 12:43:31,579 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:43:31,579 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:43:31,580 INFO L263 TraceCheckSpWp]: Trace formula consists of 413 conjuncts, 37 conjunts are in the unsatisfiable core [2022-04-28 12:43:31,608 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:43:31,610 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:43:32,452 INFO L272 TraceCheckUtils]: 0: Hoare triple {19565#true} call ULTIMATE.init(); {19565#true} is VALID [2022-04-28 12:43:32,452 INFO L290 TraceCheckUtils]: 1: Hoare triple {19565#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; {19573#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:32,453 INFO L290 TraceCheckUtils]: 2: Hoare triple {19573#(<= ~counter~0 0)} assume true; {19573#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:32,453 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {19573#(<= ~counter~0 0)} {19565#true} #67#return; {19573#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:32,453 INFO L272 TraceCheckUtils]: 4: Hoare triple {19573#(<= ~counter~0 0)} call #t~ret7 := main(); {19573#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:32,453 INFO L290 TraceCheckUtils]: 5: Hoare triple {19573#(<= ~counter~0 0)} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~R~0 := #t~nondet5;havoc #t~nondet5; {19573#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:32,454 INFO L272 TraceCheckUtils]: 6: Hoare triple {19573#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {19573#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:32,454 INFO L290 TraceCheckUtils]: 7: Hoare triple {19573#(<= ~counter~0 0)} ~cond := #in~cond; {19573#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:32,454 INFO L290 TraceCheckUtils]: 8: Hoare triple {19573#(<= ~counter~0 0)} assume !(0 == ~cond); {19573#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:32,455 INFO L290 TraceCheckUtils]: 9: Hoare triple {19573#(<= ~counter~0 0)} assume true; {19573#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:32,455 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {19573#(<= ~counter~0 0)} {19573#(<= ~counter~0 0)} #59#return; {19573#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:32,456 INFO L272 TraceCheckUtils]: 11: Hoare triple {19573#(<= ~counter~0 0)} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {19573#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:32,456 INFO L290 TraceCheckUtils]: 12: Hoare triple {19573#(<= ~counter~0 0)} ~cond := #in~cond; {19573#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:32,456 INFO L290 TraceCheckUtils]: 13: Hoare triple {19573#(<= ~counter~0 0)} assume !(0 == ~cond); {19573#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:32,456 INFO L290 TraceCheckUtils]: 14: Hoare triple {19573#(<= ~counter~0 0)} assume true; {19573#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:32,457 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {19573#(<= ~counter~0 0)} {19573#(<= ~counter~0 0)} #61#return; {19573#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:32,457 INFO L290 TraceCheckUtils]: 16: Hoare triple {19573#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {19573#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:32,458 INFO L290 TraceCheckUtils]: 17: Hoare triple {19573#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19622#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:32,458 INFO L290 TraceCheckUtils]: 18: Hoare triple {19622#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {19622#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:32,459 INFO L272 TraceCheckUtils]: 19: Hoare triple {19622#(<= ~counter~0 1)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {19622#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:32,459 INFO L290 TraceCheckUtils]: 20: Hoare triple {19622#(<= ~counter~0 1)} ~cond := #in~cond; {19622#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:32,459 INFO L290 TraceCheckUtils]: 21: Hoare triple {19622#(<= ~counter~0 1)} assume !(0 == ~cond); {19622#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:32,459 INFO L290 TraceCheckUtils]: 22: Hoare triple {19622#(<= ~counter~0 1)} assume true; {19622#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:32,460 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {19622#(<= ~counter~0 1)} {19622#(<= ~counter~0 1)} #63#return; {19622#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:32,460 INFO L290 TraceCheckUtils]: 24: Hoare triple {19622#(<= ~counter~0 1)} assume !!(0 != ~r~0); {19622#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:32,460 INFO L290 TraceCheckUtils]: 25: Hoare triple {19622#(<= ~counter~0 1)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {19622#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:32,468 INFO L290 TraceCheckUtils]: 26: Hoare triple {19622#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19650#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:32,468 INFO L290 TraceCheckUtils]: 27: Hoare triple {19650#(<= ~counter~0 2)} assume !!(#t~post6 < 20);havoc #t~post6; {19650#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:32,469 INFO L272 TraceCheckUtils]: 28: Hoare triple {19650#(<= ~counter~0 2)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {19650#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:32,469 INFO L290 TraceCheckUtils]: 29: Hoare triple {19650#(<= ~counter~0 2)} ~cond := #in~cond; {19650#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:32,469 INFO L290 TraceCheckUtils]: 30: Hoare triple {19650#(<= ~counter~0 2)} assume !(0 == ~cond); {19650#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:32,470 INFO L290 TraceCheckUtils]: 31: Hoare triple {19650#(<= ~counter~0 2)} assume true; {19650#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:32,470 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {19650#(<= ~counter~0 2)} {19650#(<= ~counter~0 2)} #63#return; {19650#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:32,470 INFO L290 TraceCheckUtils]: 33: Hoare triple {19650#(<= ~counter~0 2)} assume !!(0 != ~r~0); {19650#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:32,471 INFO L290 TraceCheckUtils]: 34: Hoare triple {19650#(<= ~counter~0 2)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {19650#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:32,471 INFO L290 TraceCheckUtils]: 35: Hoare triple {19650#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19678#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:32,472 INFO L290 TraceCheckUtils]: 36: Hoare triple {19678#(<= ~counter~0 3)} assume !!(#t~post6 < 20);havoc #t~post6; {19678#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:32,472 INFO L272 TraceCheckUtils]: 37: Hoare triple {19678#(<= ~counter~0 3)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {19678#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:32,472 INFO L290 TraceCheckUtils]: 38: Hoare triple {19678#(<= ~counter~0 3)} ~cond := #in~cond; {19678#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:32,473 INFO L290 TraceCheckUtils]: 39: Hoare triple {19678#(<= ~counter~0 3)} assume !(0 == ~cond); {19678#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:32,473 INFO L290 TraceCheckUtils]: 40: Hoare triple {19678#(<= ~counter~0 3)} assume true; {19678#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:32,473 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {19678#(<= ~counter~0 3)} {19678#(<= ~counter~0 3)} #63#return; {19678#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:32,474 INFO L290 TraceCheckUtils]: 42: Hoare triple {19678#(<= ~counter~0 3)} assume !!(0 != ~r~0); {19678#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:32,474 INFO L290 TraceCheckUtils]: 43: Hoare triple {19678#(<= ~counter~0 3)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {19678#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:32,474 INFO L290 TraceCheckUtils]: 44: Hoare triple {19678#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19706#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:32,475 INFO L290 TraceCheckUtils]: 45: Hoare triple {19706#(<= ~counter~0 4)} assume !!(#t~post6 < 20);havoc #t~post6; {19706#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:32,475 INFO L272 TraceCheckUtils]: 46: Hoare triple {19706#(<= ~counter~0 4)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {19706#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:32,476 INFO L290 TraceCheckUtils]: 47: Hoare triple {19706#(<= ~counter~0 4)} ~cond := #in~cond; {19706#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:32,476 INFO L290 TraceCheckUtils]: 48: Hoare triple {19706#(<= ~counter~0 4)} assume !(0 == ~cond); {19706#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:32,476 INFO L290 TraceCheckUtils]: 49: Hoare triple {19706#(<= ~counter~0 4)} assume true; {19706#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:32,477 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {19706#(<= ~counter~0 4)} {19706#(<= ~counter~0 4)} #63#return; {19706#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:32,477 INFO L290 TraceCheckUtils]: 51: Hoare triple {19706#(<= ~counter~0 4)} assume !!(0 != ~r~0); {19706#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:32,477 INFO L290 TraceCheckUtils]: 52: Hoare triple {19706#(<= ~counter~0 4)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {19706#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:32,478 INFO L290 TraceCheckUtils]: 53: Hoare triple {19706#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19734#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:32,478 INFO L290 TraceCheckUtils]: 54: Hoare triple {19734#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {19734#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:32,478 INFO L272 TraceCheckUtils]: 55: Hoare triple {19734#(<= ~counter~0 5)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {19734#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:32,479 INFO L290 TraceCheckUtils]: 56: Hoare triple {19734#(<= ~counter~0 5)} ~cond := #in~cond; {19734#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:32,479 INFO L290 TraceCheckUtils]: 57: Hoare triple {19734#(<= ~counter~0 5)} assume !(0 == ~cond); {19734#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:32,479 INFO L290 TraceCheckUtils]: 58: Hoare triple {19734#(<= ~counter~0 5)} assume true; {19734#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:32,480 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {19734#(<= ~counter~0 5)} {19734#(<= ~counter~0 5)} #63#return; {19734#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:32,480 INFO L290 TraceCheckUtils]: 60: Hoare triple {19734#(<= ~counter~0 5)} assume !!(0 != ~r~0); {19734#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:32,480 INFO L290 TraceCheckUtils]: 61: Hoare triple {19734#(<= ~counter~0 5)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {19734#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:32,481 INFO L290 TraceCheckUtils]: 62: Hoare triple {19734#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19762#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:32,481 INFO L290 TraceCheckUtils]: 63: Hoare triple {19762#(<= ~counter~0 6)} assume !!(#t~post6 < 20);havoc #t~post6; {19762#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:32,482 INFO L272 TraceCheckUtils]: 64: Hoare triple {19762#(<= ~counter~0 6)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {19762#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:32,482 INFO L290 TraceCheckUtils]: 65: Hoare triple {19762#(<= ~counter~0 6)} ~cond := #in~cond; {19762#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:32,482 INFO L290 TraceCheckUtils]: 66: Hoare triple {19762#(<= ~counter~0 6)} assume !(0 == ~cond); {19762#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:32,482 INFO L290 TraceCheckUtils]: 67: Hoare triple {19762#(<= ~counter~0 6)} assume true; {19762#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:32,483 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {19762#(<= ~counter~0 6)} {19762#(<= ~counter~0 6)} #63#return; {19762#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:32,483 INFO L290 TraceCheckUtils]: 69: Hoare triple {19762#(<= ~counter~0 6)} assume !!(0 != ~r~0); {19762#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:32,483 INFO L290 TraceCheckUtils]: 70: Hoare triple {19762#(<= ~counter~0 6)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {19762#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:32,484 INFO L290 TraceCheckUtils]: 71: Hoare triple {19762#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19790#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:32,484 INFO L290 TraceCheckUtils]: 72: Hoare triple {19790#(<= ~counter~0 7)} assume !!(#t~post6 < 20);havoc #t~post6; {19790#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:32,485 INFO L272 TraceCheckUtils]: 73: Hoare triple {19790#(<= ~counter~0 7)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {19790#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:32,485 INFO L290 TraceCheckUtils]: 74: Hoare triple {19790#(<= ~counter~0 7)} ~cond := #in~cond; {19790#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:32,485 INFO L290 TraceCheckUtils]: 75: Hoare triple {19790#(<= ~counter~0 7)} assume !(0 == ~cond); {19790#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:32,485 INFO L290 TraceCheckUtils]: 76: Hoare triple {19790#(<= ~counter~0 7)} assume true; {19790#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:32,486 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {19790#(<= ~counter~0 7)} {19790#(<= ~counter~0 7)} #63#return; {19790#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:32,486 INFO L290 TraceCheckUtils]: 78: Hoare triple {19790#(<= ~counter~0 7)} assume !!(0 != ~r~0); {19790#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:32,487 INFO L290 TraceCheckUtils]: 79: Hoare triple {19790#(<= ~counter~0 7)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {19790#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:32,487 INFO L290 TraceCheckUtils]: 80: Hoare triple {19790#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19818#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:32,487 INFO L290 TraceCheckUtils]: 81: Hoare triple {19818#(<= ~counter~0 8)} assume !!(#t~post6 < 20);havoc #t~post6; {19818#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:32,488 INFO L272 TraceCheckUtils]: 82: Hoare triple {19818#(<= ~counter~0 8)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {19818#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:32,488 INFO L290 TraceCheckUtils]: 83: Hoare triple {19818#(<= ~counter~0 8)} ~cond := #in~cond; {19818#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:32,488 INFO L290 TraceCheckUtils]: 84: Hoare triple {19818#(<= ~counter~0 8)} assume !(0 == ~cond); {19818#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:32,489 INFO L290 TraceCheckUtils]: 85: Hoare triple {19818#(<= ~counter~0 8)} assume true; {19818#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:32,489 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {19818#(<= ~counter~0 8)} {19818#(<= ~counter~0 8)} #63#return; {19818#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:32,489 INFO L290 TraceCheckUtils]: 87: Hoare triple {19818#(<= ~counter~0 8)} assume !!(0 != ~r~0); {19818#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:32,490 INFO L290 TraceCheckUtils]: 88: Hoare triple {19818#(<= ~counter~0 8)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {19818#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:32,490 INFO L290 TraceCheckUtils]: 89: Hoare triple {19818#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19846#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:32,490 INFO L290 TraceCheckUtils]: 90: Hoare triple {19846#(<= ~counter~0 9)} assume !!(#t~post6 < 20);havoc #t~post6; {19846#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:32,491 INFO L272 TraceCheckUtils]: 91: Hoare triple {19846#(<= ~counter~0 9)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {19846#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:32,491 INFO L290 TraceCheckUtils]: 92: Hoare triple {19846#(<= ~counter~0 9)} ~cond := #in~cond; {19846#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:32,492 INFO L290 TraceCheckUtils]: 93: Hoare triple {19846#(<= ~counter~0 9)} assume !(0 == ~cond); {19846#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:32,492 INFO L290 TraceCheckUtils]: 94: Hoare triple {19846#(<= ~counter~0 9)} assume true; {19846#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:32,492 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {19846#(<= ~counter~0 9)} {19846#(<= ~counter~0 9)} #63#return; {19846#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:32,493 INFO L290 TraceCheckUtils]: 96: Hoare triple {19846#(<= ~counter~0 9)} assume !!(0 != ~r~0); {19846#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:32,493 INFO L290 TraceCheckUtils]: 97: Hoare triple {19846#(<= ~counter~0 9)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {19846#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:32,493 INFO L290 TraceCheckUtils]: 98: Hoare triple {19846#(<= ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19874#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:32,494 INFO L290 TraceCheckUtils]: 99: Hoare triple {19874#(<= ~counter~0 10)} assume !!(#t~post6 < 20);havoc #t~post6; {19874#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:32,494 INFO L272 TraceCheckUtils]: 100: Hoare triple {19874#(<= ~counter~0 10)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {19874#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:32,494 INFO L290 TraceCheckUtils]: 101: Hoare triple {19874#(<= ~counter~0 10)} ~cond := #in~cond; {19874#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:32,495 INFO L290 TraceCheckUtils]: 102: Hoare triple {19874#(<= ~counter~0 10)} assume !(0 == ~cond); {19874#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:32,495 INFO L290 TraceCheckUtils]: 103: Hoare triple {19874#(<= ~counter~0 10)} assume true; {19874#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:32,495 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {19874#(<= ~counter~0 10)} {19874#(<= ~counter~0 10)} #63#return; {19874#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:32,496 INFO L290 TraceCheckUtils]: 105: Hoare triple {19874#(<= ~counter~0 10)} assume !!(0 != ~r~0); {19874#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:32,496 INFO L290 TraceCheckUtils]: 106: Hoare triple {19874#(<= ~counter~0 10)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {19874#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:32,496 INFO L290 TraceCheckUtils]: 107: Hoare triple {19874#(<= ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19902#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:32,497 INFO L290 TraceCheckUtils]: 108: Hoare triple {19902#(<= ~counter~0 11)} assume !!(#t~post6 < 20);havoc #t~post6; {19902#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:32,497 INFO L272 TraceCheckUtils]: 109: Hoare triple {19902#(<= ~counter~0 11)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {19902#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:32,498 INFO L290 TraceCheckUtils]: 110: Hoare triple {19902#(<= ~counter~0 11)} ~cond := #in~cond; {19902#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:32,498 INFO L290 TraceCheckUtils]: 111: Hoare triple {19902#(<= ~counter~0 11)} assume !(0 == ~cond); {19902#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:32,498 INFO L290 TraceCheckUtils]: 112: Hoare triple {19902#(<= ~counter~0 11)} assume true; {19902#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:32,499 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {19902#(<= ~counter~0 11)} {19902#(<= ~counter~0 11)} #63#return; {19902#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:32,499 INFO L290 TraceCheckUtils]: 114: Hoare triple {19902#(<= ~counter~0 11)} assume !!(0 != ~r~0); {19902#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:32,499 INFO L290 TraceCheckUtils]: 115: Hoare triple {19902#(<= ~counter~0 11)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {19902#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:32,500 INFO L290 TraceCheckUtils]: 116: Hoare triple {19902#(<= ~counter~0 11)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19930#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:32,500 INFO L290 TraceCheckUtils]: 117: Hoare triple {19930#(<= ~counter~0 12)} assume !!(#t~post6 < 20);havoc #t~post6; {19930#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:32,500 INFO L272 TraceCheckUtils]: 118: Hoare triple {19930#(<= ~counter~0 12)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {19930#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:32,501 INFO L290 TraceCheckUtils]: 119: Hoare triple {19930#(<= ~counter~0 12)} ~cond := #in~cond; {19930#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:32,501 INFO L290 TraceCheckUtils]: 120: Hoare triple {19930#(<= ~counter~0 12)} assume !(0 == ~cond); {19930#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:32,501 INFO L290 TraceCheckUtils]: 121: Hoare triple {19930#(<= ~counter~0 12)} assume true; {19930#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:32,502 INFO L284 TraceCheckUtils]: 122: Hoare quadruple {19930#(<= ~counter~0 12)} {19930#(<= ~counter~0 12)} #63#return; {19930#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:32,502 INFO L290 TraceCheckUtils]: 123: Hoare triple {19930#(<= ~counter~0 12)} assume !!(0 != ~r~0); {19930#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:32,502 INFO L290 TraceCheckUtils]: 124: Hoare triple {19930#(<= ~counter~0 12)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {19930#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:32,503 INFO L290 TraceCheckUtils]: 125: Hoare triple {19930#(<= ~counter~0 12)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19958#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:32,503 INFO L290 TraceCheckUtils]: 126: Hoare triple {19958#(<= ~counter~0 13)} assume !!(#t~post6 < 20);havoc #t~post6; {19958#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:32,503 INFO L272 TraceCheckUtils]: 127: Hoare triple {19958#(<= ~counter~0 13)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {19958#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:32,504 INFO L290 TraceCheckUtils]: 128: Hoare triple {19958#(<= ~counter~0 13)} ~cond := #in~cond; {19958#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:32,504 INFO L290 TraceCheckUtils]: 129: Hoare triple {19958#(<= ~counter~0 13)} assume !(0 == ~cond); {19958#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:32,504 INFO L290 TraceCheckUtils]: 130: Hoare triple {19958#(<= ~counter~0 13)} assume true; {19958#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:32,505 INFO L284 TraceCheckUtils]: 131: Hoare quadruple {19958#(<= ~counter~0 13)} {19958#(<= ~counter~0 13)} #63#return; {19958#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:32,505 INFO L290 TraceCheckUtils]: 132: Hoare triple {19958#(<= ~counter~0 13)} assume !!(0 != ~r~0); {19958#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:32,505 INFO L290 TraceCheckUtils]: 133: Hoare triple {19958#(<= ~counter~0 13)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {19958#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:32,506 INFO L290 TraceCheckUtils]: 134: Hoare triple {19958#(<= ~counter~0 13)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19986#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:32,506 INFO L290 TraceCheckUtils]: 135: Hoare triple {19986#(<= ~counter~0 14)} assume !!(#t~post6 < 20);havoc #t~post6; {19986#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:32,507 INFO L272 TraceCheckUtils]: 136: Hoare triple {19986#(<= ~counter~0 14)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {19986#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:32,507 INFO L290 TraceCheckUtils]: 137: Hoare triple {19986#(<= ~counter~0 14)} ~cond := #in~cond; {19986#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:32,507 INFO L290 TraceCheckUtils]: 138: Hoare triple {19986#(<= ~counter~0 14)} assume !(0 == ~cond); {19986#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:32,507 INFO L290 TraceCheckUtils]: 139: Hoare triple {19986#(<= ~counter~0 14)} assume true; {19986#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:32,508 INFO L284 TraceCheckUtils]: 140: Hoare quadruple {19986#(<= ~counter~0 14)} {19986#(<= ~counter~0 14)} #63#return; {19986#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:32,508 INFO L290 TraceCheckUtils]: 141: Hoare triple {19986#(<= ~counter~0 14)} assume !!(0 != ~r~0); {19986#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:32,509 INFO L290 TraceCheckUtils]: 142: Hoare triple {19986#(<= ~counter~0 14)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {19986#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:32,509 INFO L290 TraceCheckUtils]: 143: Hoare triple {19986#(<= ~counter~0 14)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20014#(<= ~counter~0 15)} is VALID [2022-04-28 12:43:32,509 INFO L290 TraceCheckUtils]: 144: Hoare triple {20014#(<= ~counter~0 15)} assume !!(#t~post6 < 20);havoc #t~post6; {20014#(<= ~counter~0 15)} is VALID [2022-04-28 12:43:32,510 INFO L272 TraceCheckUtils]: 145: Hoare triple {20014#(<= ~counter~0 15)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {20014#(<= ~counter~0 15)} is VALID [2022-04-28 12:43:32,510 INFO L290 TraceCheckUtils]: 146: Hoare triple {20014#(<= ~counter~0 15)} ~cond := #in~cond; {20014#(<= ~counter~0 15)} is VALID [2022-04-28 12:43:32,510 INFO L290 TraceCheckUtils]: 147: Hoare triple {20014#(<= ~counter~0 15)} assume !(0 == ~cond); {20014#(<= ~counter~0 15)} is VALID [2022-04-28 12:43:32,511 INFO L290 TraceCheckUtils]: 148: Hoare triple {20014#(<= ~counter~0 15)} assume true; {20014#(<= ~counter~0 15)} is VALID [2022-04-28 12:43:32,511 INFO L284 TraceCheckUtils]: 149: Hoare quadruple {20014#(<= ~counter~0 15)} {20014#(<= ~counter~0 15)} #63#return; {20014#(<= ~counter~0 15)} is VALID [2022-04-28 12:43:32,511 INFO L290 TraceCheckUtils]: 150: Hoare triple {20014#(<= ~counter~0 15)} assume !!(0 != ~r~0); {20014#(<= ~counter~0 15)} is VALID [2022-04-28 12:43:32,512 INFO L290 TraceCheckUtils]: 151: Hoare triple {20014#(<= ~counter~0 15)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {20014#(<= ~counter~0 15)} is VALID [2022-04-28 12:43:32,512 INFO L290 TraceCheckUtils]: 152: Hoare triple {20014#(<= ~counter~0 15)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20042#(<= ~counter~0 16)} is VALID [2022-04-28 12:43:32,512 INFO L290 TraceCheckUtils]: 153: Hoare triple {20042#(<= ~counter~0 16)} assume !!(#t~post6 < 20);havoc #t~post6; {20042#(<= ~counter~0 16)} is VALID [2022-04-28 12:43:32,513 INFO L272 TraceCheckUtils]: 154: Hoare triple {20042#(<= ~counter~0 16)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {20042#(<= ~counter~0 16)} is VALID [2022-04-28 12:43:32,513 INFO L290 TraceCheckUtils]: 155: Hoare triple {20042#(<= ~counter~0 16)} ~cond := #in~cond; {20042#(<= ~counter~0 16)} is VALID [2022-04-28 12:43:32,513 INFO L290 TraceCheckUtils]: 156: Hoare triple {20042#(<= ~counter~0 16)} assume !(0 == ~cond); {20042#(<= ~counter~0 16)} is VALID [2022-04-28 12:43:32,514 INFO L290 TraceCheckUtils]: 157: Hoare triple {20042#(<= ~counter~0 16)} assume true; {20042#(<= ~counter~0 16)} is VALID [2022-04-28 12:43:32,514 INFO L284 TraceCheckUtils]: 158: Hoare quadruple {20042#(<= ~counter~0 16)} {20042#(<= ~counter~0 16)} #63#return; {20042#(<= ~counter~0 16)} is VALID [2022-04-28 12:43:32,515 INFO L290 TraceCheckUtils]: 159: Hoare triple {20042#(<= ~counter~0 16)} assume !!(0 != ~r~0); {20042#(<= ~counter~0 16)} is VALID [2022-04-28 12:43:32,515 INFO L290 TraceCheckUtils]: 160: Hoare triple {20042#(<= ~counter~0 16)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {20042#(<= ~counter~0 16)} is VALID [2022-04-28 12:43:32,515 INFO L290 TraceCheckUtils]: 161: Hoare triple {20042#(<= ~counter~0 16)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20070#(<= |main_#t~post6| 16)} is VALID [2022-04-28 12:43:32,515 INFO L290 TraceCheckUtils]: 162: Hoare triple {20070#(<= |main_#t~post6| 16)} assume !(#t~post6 < 20);havoc #t~post6; {19566#false} is VALID [2022-04-28 12:43:32,516 INFO L272 TraceCheckUtils]: 163: Hoare triple {19566#false} call __VERIFIER_assert((if 4 * ~A~0 == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {19566#false} is VALID [2022-04-28 12:43:32,516 INFO L290 TraceCheckUtils]: 164: Hoare triple {19566#false} ~cond := #in~cond; {19566#false} is VALID [2022-04-28 12:43:32,516 INFO L290 TraceCheckUtils]: 165: Hoare triple {19566#false} assume 0 == ~cond; {19566#false} is VALID [2022-04-28 12:43:32,516 INFO L290 TraceCheckUtils]: 166: Hoare triple {19566#false} assume !false; {19566#false} is VALID [2022-04-28 12:43:32,516 INFO L134 CoverageAnalysis]: Checked inductivity of 1148 backedges. 32 proven. 1112 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:43:32,517 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:43:33,270 INFO L290 TraceCheckUtils]: 166: Hoare triple {19566#false} assume !false; {19566#false} is VALID [2022-04-28 12:43:33,270 INFO L290 TraceCheckUtils]: 165: Hoare triple {19566#false} assume 0 == ~cond; {19566#false} is VALID [2022-04-28 12:43:33,270 INFO L290 TraceCheckUtils]: 164: Hoare triple {19566#false} ~cond := #in~cond; {19566#false} is VALID [2022-04-28 12:43:33,270 INFO L272 TraceCheckUtils]: 163: Hoare triple {19566#false} call __VERIFIER_assert((if 4 * ~A~0 == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {19566#false} is VALID [2022-04-28 12:43:33,271 INFO L290 TraceCheckUtils]: 162: Hoare triple {20098#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {19566#false} is VALID [2022-04-28 12:43:33,271 INFO L290 TraceCheckUtils]: 161: Hoare triple {20102#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20098#(< |main_#t~post6| 20)} is VALID [2022-04-28 12:43:33,271 INFO L290 TraceCheckUtils]: 160: Hoare triple {20102#(< ~counter~0 20)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {20102#(< ~counter~0 20)} is VALID [2022-04-28 12:43:33,271 INFO L290 TraceCheckUtils]: 159: Hoare triple {20102#(< ~counter~0 20)} assume !!(0 != ~r~0); {20102#(< ~counter~0 20)} is VALID [2022-04-28 12:43:33,272 INFO L284 TraceCheckUtils]: 158: Hoare quadruple {19565#true} {20102#(< ~counter~0 20)} #63#return; {20102#(< ~counter~0 20)} is VALID [2022-04-28 12:43:33,272 INFO L290 TraceCheckUtils]: 157: Hoare triple {19565#true} assume true; {19565#true} is VALID [2022-04-28 12:43:33,272 INFO L290 TraceCheckUtils]: 156: Hoare triple {19565#true} assume !(0 == ~cond); {19565#true} is VALID [2022-04-28 12:43:33,272 INFO L290 TraceCheckUtils]: 155: Hoare triple {19565#true} ~cond := #in~cond; {19565#true} is VALID [2022-04-28 12:43:33,272 INFO L272 TraceCheckUtils]: 154: Hoare triple {20102#(< ~counter~0 20)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {19565#true} is VALID [2022-04-28 12:43:33,273 INFO L290 TraceCheckUtils]: 153: Hoare triple {20102#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6; {20102#(< ~counter~0 20)} is VALID [2022-04-28 12:43:33,273 INFO L290 TraceCheckUtils]: 152: Hoare triple {20130#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20102#(< ~counter~0 20)} is VALID [2022-04-28 12:43:33,274 INFO L290 TraceCheckUtils]: 151: Hoare triple {20130#(< ~counter~0 19)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {20130#(< ~counter~0 19)} is VALID [2022-04-28 12:43:33,274 INFO L290 TraceCheckUtils]: 150: Hoare triple {20130#(< ~counter~0 19)} assume !!(0 != ~r~0); {20130#(< ~counter~0 19)} is VALID [2022-04-28 12:43:33,274 INFO L284 TraceCheckUtils]: 149: Hoare quadruple {19565#true} {20130#(< ~counter~0 19)} #63#return; {20130#(< ~counter~0 19)} is VALID [2022-04-28 12:43:33,274 INFO L290 TraceCheckUtils]: 148: Hoare triple {19565#true} assume true; {19565#true} is VALID [2022-04-28 12:43:33,275 INFO L290 TraceCheckUtils]: 147: Hoare triple {19565#true} assume !(0 == ~cond); {19565#true} is VALID [2022-04-28 12:43:33,275 INFO L290 TraceCheckUtils]: 146: Hoare triple {19565#true} ~cond := #in~cond; {19565#true} is VALID [2022-04-28 12:43:33,275 INFO L272 TraceCheckUtils]: 145: Hoare triple {20130#(< ~counter~0 19)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {19565#true} is VALID [2022-04-28 12:43:33,275 INFO L290 TraceCheckUtils]: 144: Hoare triple {20130#(< ~counter~0 19)} assume !!(#t~post6 < 20);havoc #t~post6; {20130#(< ~counter~0 19)} is VALID [2022-04-28 12:43:33,275 INFO L290 TraceCheckUtils]: 143: Hoare triple {20158#(< ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20130#(< ~counter~0 19)} is VALID [2022-04-28 12:43:33,276 INFO L290 TraceCheckUtils]: 142: Hoare triple {20158#(< ~counter~0 18)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {20158#(< ~counter~0 18)} is VALID [2022-04-28 12:43:33,276 INFO L290 TraceCheckUtils]: 141: Hoare triple {20158#(< ~counter~0 18)} assume !!(0 != ~r~0); {20158#(< ~counter~0 18)} is VALID [2022-04-28 12:43:33,276 INFO L284 TraceCheckUtils]: 140: Hoare quadruple {19565#true} {20158#(< ~counter~0 18)} #63#return; {20158#(< ~counter~0 18)} is VALID [2022-04-28 12:43:33,277 INFO L290 TraceCheckUtils]: 139: Hoare triple {19565#true} assume true; {19565#true} is VALID [2022-04-28 12:43:33,277 INFO L290 TraceCheckUtils]: 138: Hoare triple {19565#true} assume !(0 == ~cond); {19565#true} is VALID [2022-04-28 12:43:33,277 INFO L290 TraceCheckUtils]: 137: Hoare triple {19565#true} ~cond := #in~cond; {19565#true} is VALID [2022-04-28 12:43:33,277 INFO L272 TraceCheckUtils]: 136: Hoare triple {20158#(< ~counter~0 18)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {19565#true} is VALID [2022-04-28 12:43:33,277 INFO L290 TraceCheckUtils]: 135: Hoare triple {20158#(< ~counter~0 18)} assume !!(#t~post6 < 20);havoc #t~post6; {20158#(< ~counter~0 18)} is VALID [2022-04-28 12:43:33,278 INFO L290 TraceCheckUtils]: 134: Hoare triple {20042#(<= ~counter~0 16)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20158#(< ~counter~0 18)} is VALID [2022-04-28 12:43:33,278 INFO L290 TraceCheckUtils]: 133: Hoare triple {20042#(<= ~counter~0 16)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {20042#(<= ~counter~0 16)} is VALID [2022-04-28 12:43:33,278 INFO L290 TraceCheckUtils]: 132: Hoare triple {20042#(<= ~counter~0 16)} assume !!(0 != ~r~0); {20042#(<= ~counter~0 16)} is VALID [2022-04-28 12:43:33,279 INFO L284 TraceCheckUtils]: 131: Hoare quadruple {19565#true} {20042#(<= ~counter~0 16)} #63#return; {20042#(<= ~counter~0 16)} is VALID [2022-04-28 12:43:33,279 INFO L290 TraceCheckUtils]: 130: Hoare triple {19565#true} assume true; {19565#true} is VALID [2022-04-28 12:43:33,279 INFO L290 TraceCheckUtils]: 129: Hoare triple {19565#true} assume !(0 == ~cond); {19565#true} is VALID [2022-04-28 12:43:33,279 INFO L290 TraceCheckUtils]: 128: Hoare triple {19565#true} ~cond := #in~cond; {19565#true} is VALID [2022-04-28 12:43:33,279 INFO L272 TraceCheckUtils]: 127: Hoare triple {20042#(<= ~counter~0 16)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {19565#true} is VALID [2022-04-28 12:43:33,279 INFO L290 TraceCheckUtils]: 126: Hoare triple {20042#(<= ~counter~0 16)} assume !!(#t~post6 < 20);havoc #t~post6; {20042#(<= ~counter~0 16)} is VALID [2022-04-28 12:43:33,280 INFO L290 TraceCheckUtils]: 125: Hoare triple {20014#(<= ~counter~0 15)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20042#(<= ~counter~0 16)} is VALID [2022-04-28 12:43:33,280 INFO L290 TraceCheckUtils]: 124: Hoare triple {20014#(<= ~counter~0 15)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {20014#(<= ~counter~0 15)} is VALID [2022-04-28 12:43:33,280 INFO L290 TraceCheckUtils]: 123: Hoare triple {20014#(<= ~counter~0 15)} assume !!(0 != ~r~0); {20014#(<= ~counter~0 15)} is VALID [2022-04-28 12:43:33,281 INFO L284 TraceCheckUtils]: 122: Hoare quadruple {19565#true} {20014#(<= ~counter~0 15)} #63#return; {20014#(<= ~counter~0 15)} is VALID [2022-04-28 12:43:33,281 INFO L290 TraceCheckUtils]: 121: Hoare triple {19565#true} assume true; {19565#true} is VALID [2022-04-28 12:43:33,281 INFO L290 TraceCheckUtils]: 120: Hoare triple {19565#true} assume !(0 == ~cond); {19565#true} is VALID [2022-04-28 12:43:33,281 INFO L290 TraceCheckUtils]: 119: Hoare triple {19565#true} ~cond := #in~cond; {19565#true} is VALID [2022-04-28 12:43:33,281 INFO L272 TraceCheckUtils]: 118: Hoare triple {20014#(<= ~counter~0 15)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {19565#true} is VALID [2022-04-28 12:43:33,281 INFO L290 TraceCheckUtils]: 117: Hoare triple {20014#(<= ~counter~0 15)} assume !!(#t~post6 < 20);havoc #t~post6; {20014#(<= ~counter~0 15)} is VALID [2022-04-28 12:43:33,282 INFO L290 TraceCheckUtils]: 116: Hoare triple {19986#(<= ~counter~0 14)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20014#(<= ~counter~0 15)} is VALID [2022-04-28 12:43:33,282 INFO L290 TraceCheckUtils]: 115: Hoare triple {19986#(<= ~counter~0 14)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {19986#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:33,282 INFO L290 TraceCheckUtils]: 114: Hoare triple {19986#(<= ~counter~0 14)} assume !!(0 != ~r~0); {19986#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:33,283 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {19565#true} {19986#(<= ~counter~0 14)} #63#return; {19986#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:33,283 INFO L290 TraceCheckUtils]: 112: Hoare triple {19565#true} assume true; {19565#true} is VALID [2022-04-28 12:43:33,283 INFO L290 TraceCheckUtils]: 111: Hoare triple {19565#true} assume !(0 == ~cond); {19565#true} is VALID [2022-04-28 12:43:33,283 INFO L290 TraceCheckUtils]: 110: Hoare triple {19565#true} ~cond := #in~cond; {19565#true} is VALID [2022-04-28 12:43:33,283 INFO L272 TraceCheckUtils]: 109: Hoare triple {19986#(<= ~counter~0 14)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {19565#true} is VALID [2022-04-28 12:43:33,283 INFO L290 TraceCheckUtils]: 108: Hoare triple {19986#(<= ~counter~0 14)} assume !!(#t~post6 < 20);havoc #t~post6; {19986#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:33,284 INFO L290 TraceCheckUtils]: 107: Hoare triple {19958#(<= ~counter~0 13)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19986#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:33,284 INFO L290 TraceCheckUtils]: 106: Hoare triple {19958#(<= ~counter~0 13)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {19958#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:33,284 INFO L290 TraceCheckUtils]: 105: Hoare triple {19958#(<= ~counter~0 13)} assume !!(0 != ~r~0); {19958#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:33,285 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {19565#true} {19958#(<= ~counter~0 13)} #63#return; {19958#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:33,285 INFO L290 TraceCheckUtils]: 103: Hoare triple {19565#true} assume true; {19565#true} is VALID [2022-04-28 12:43:33,285 INFO L290 TraceCheckUtils]: 102: Hoare triple {19565#true} assume !(0 == ~cond); {19565#true} is VALID [2022-04-28 12:43:33,285 INFO L290 TraceCheckUtils]: 101: Hoare triple {19565#true} ~cond := #in~cond; {19565#true} is VALID [2022-04-28 12:43:33,285 INFO L272 TraceCheckUtils]: 100: Hoare triple {19958#(<= ~counter~0 13)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {19565#true} is VALID [2022-04-28 12:43:33,285 INFO L290 TraceCheckUtils]: 99: Hoare triple {19958#(<= ~counter~0 13)} assume !!(#t~post6 < 20);havoc #t~post6; {19958#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:33,286 INFO L290 TraceCheckUtils]: 98: Hoare triple {19930#(<= ~counter~0 12)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19958#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:33,286 INFO L290 TraceCheckUtils]: 97: Hoare triple {19930#(<= ~counter~0 12)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {19930#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:33,287 INFO L290 TraceCheckUtils]: 96: Hoare triple {19930#(<= ~counter~0 12)} assume !!(0 != ~r~0); {19930#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:33,287 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {19565#true} {19930#(<= ~counter~0 12)} #63#return; {19930#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:33,287 INFO L290 TraceCheckUtils]: 94: Hoare triple {19565#true} assume true; {19565#true} is VALID [2022-04-28 12:43:33,287 INFO L290 TraceCheckUtils]: 93: Hoare triple {19565#true} assume !(0 == ~cond); {19565#true} is VALID [2022-04-28 12:43:33,287 INFO L290 TraceCheckUtils]: 92: Hoare triple {19565#true} ~cond := #in~cond; {19565#true} is VALID [2022-04-28 12:43:33,287 INFO L272 TraceCheckUtils]: 91: Hoare triple {19930#(<= ~counter~0 12)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {19565#true} is VALID [2022-04-28 12:43:33,288 INFO L290 TraceCheckUtils]: 90: Hoare triple {19930#(<= ~counter~0 12)} assume !!(#t~post6 < 20);havoc #t~post6; {19930#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:33,288 INFO L290 TraceCheckUtils]: 89: Hoare triple {19902#(<= ~counter~0 11)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19930#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:33,288 INFO L290 TraceCheckUtils]: 88: Hoare triple {19902#(<= ~counter~0 11)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {19902#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:33,289 INFO L290 TraceCheckUtils]: 87: Hoare triple {19902#(<= ~counter~0 11)} assume !!(0 != ~r~0); {19902#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:33,289 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {19565#true} {19902#(<= ~counter~0 11)} #63#return; {19902#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:33,289 INFO L290 TraceCheckUtils]: 85: Hoare triple {19565#true} assume true; {19565#true} is VALID [2022-04-28 12:43:33,289 INFO L290 TraceCheckUtils]: 84: Hoare triple {19565#true} assume !(0 == ~cond); {19565#true} is VALID [2022-04-28 12:43:33,289 INFO L290 TraceCheckUtils]: 83: Hoare triple {19565#true} ~cond := #in~cond; {19565#true} is VALID [2022-04-28 12:43:33,289 INFO L272 TraceCheckUtils]: 82: Hoare triple {19902#(<= ~counter~0 11)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {19565#true} is VALID [2022-04-28 12:43:33,290 INFO L290 TraceCheckUtils]: 81: Hoare triple {19902#(<= ~counter~0 11)} assume !!(#t~post6 < 20);havoc #t~post6; {19902#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:33,290 INFO L290 TraceCheckUtils]: 80: Hoare triple {19874#(<= ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19902#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:33,290 INFO L290 TraceCheckUtils]: 79: Hoare triple {19874#(<= ~counter~0 10)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {19874#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:33,291 INFO L290 TraceCheckUtils]: 78: Hoare triple {19874#(<= ~counter~0 10)} assume !!(0 != ~r~0); {19874#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:33,291 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {19565#true} {19874#(<= ~counter~0 10)} #63#return; {19874#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:33,291 INFO L290 TraceCheckUtils]: 76: Hoare triple {19565#true} assume true; {19565#true} is VALID [2022-04-28 12:43:33,291 INFO L290 TraceCheckUtils]: 75: Hoare triple {19565#true} assume !(0 == ~cond); {19565#true} is VALID [2022-04-28 12:43:33,291 INFO L290 TraceCheckUtils]: 74: Hoare triple {19565#true} ~cond := #in~cond; {19565#true} is VALID [2022-04-28 12:43:33,292 INFO L272 TraceCheckUtils]: 73: Hoare triple {19874#(<= ~counter~0 10)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {19565#true} is VALID [2022-04-28 12:43:33,292 INFO L290 TraceCheckUtils]: 72: Hoare triple {19874#(<= ~counter~0 10)} assume !!(#t~post6 < 20);havoc #t~post6; {19874#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:33,292 INFO L290 TraceCheckUtils]: 71: Hoare triple {19846#(<= ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19874#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:33,293 INFO L290 TraceCheckUtils]: 70: Hoare triple {19846#(<= ~counter~0 9)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {19846#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:33,293 INFO L290 TraceCheckUtils]: 69: Hoare triple {19846#(<= ~counter~0 9)} assume !!(0 != ~r~0); {19846#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:33,293 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {19565#true} {19846#(<= ~counter~0 9)} #63#return; {19846#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:33,293 INFO L290 TraceCheckUtils]: 67: Hoare triple {19565#true} assume true; {19565#true} is VALID [2022-04-28 12:43:33,294 INFO L290 TraceCheckUtils]: 66: Hoare triple {19565#true} assume !(0 == ~cond); {19565#true} is VALID [2022-04-28 12:43:33,294 INFO L290 TraceCheckUtils]: 65: Hoare triple {19565#true} ~cond := #in~cond; {19565#true} is VALID [2022-04-28 12:43:33,294 INFO L272 TraceCheckUtils]: 64: Hoare triple {19846#(<= ~counter~0 9)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {19565#true} is VALID [2022-04-28 12:43:33,294 INFO L290 TraceCheckUtils]: 63: Hoare triple {19846#(<= ~counter~0 9)} assume !!(#t~post6 < 20);havoc #t~post6; {19846#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:33,294 INFO L290 TraceCheckUtils]: 62: Hoare triple {19818#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19846#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:33,295 INFO L290 TraceCheckUtils]: 61: Hoare triple {19818#(<= ~counter~0 8)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {19818#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:33,295 INFO L290 TraceCheckUtils]: 60: Hoare triple {19818#(<= ~counter~0 8)} assume !!(0 != ~r~0); {19818#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:33,299 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {19565#true} {19818#(<= ~counter~0 8)} #63#return; {19818#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:33,299 INFO L290 TraceCheckUtils]: 58: Hoare triple {19565#true} assume true; {19565#true} is VALID [2022-04-28 12:43:33,299 INFO L290 TraceCheckUtils]: 57: Hoare triple {19565#true} assume !(0 == ~cond); {19565#true} is VALID [2022-04-28 12:43:33,299 INFO L290 TraceCheckUtils]: 56: Hoare triple {19565#true} ~cond := #in~cond; {19565#true} is VALID [2022-04-28 12:43:33,300 INFO L272 TraceCheckUtils]: 55: Hoare triple {19818#(<= ~counter~0 8)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {19565#true} is VALID [2022-04-28 12:43:33,303 INFO L290 TraceCheckUtils]: 54: Hoare triple {19818#(<= ~counter~0 8)} assume !!(#t~post6 < 20);havoc #t~post6; {19818#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:33,304 INFO L290 TraceCheckUtils]: 53: Hoare triple {19790#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19818#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:33,304 INFO L290 TraceCheckUtils]: 52: Hoare triple {19790#(<= ~counter~0 7)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {19790#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:33,304 INFO L290 TraceCheckUtils]: 51: Hoare triple {19790#(<= ~counter~0 7)} assume !!(0 != ~r~0); {19790#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:33,305 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {19565#true} {19790#(<= ~counter~0 7)} #63#return; {19790#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:33,305 INFO L290 TraceCheckUtils]: 49: Hoare triple {19565#true} assume true; {19565#true} is VALID [2022-04-28 12:43:33,305 INFO L290 TraceCheckUtils]: 48: Hoare triple {19565#true} assume !(0 == ~cond); {19565#true} is VALID [2022-04-28 12:43:33,305 INFO L290 TraceCheckUtils]: 47: Hoare triple {19565#true} ~cond := #in~cond; {19565#true} is VALID [2022-04-28 12:43:33,306 INFO L272 TraceCheckUtils]: 46: Hoare triple {19790#(<= ~counter~0 7)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {19565#true} is VALID [2022-04-28 12:43:33,306 INFO L290 TraceCheckUtils]: 45: Hoare triple {19790#(<= ~counter~0 7)} assume !!(#t~post6 < 20);havoc #t~post6; {19790#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:33,306 INFO L290 TraceCheckUtils]: 44: Hoare triple {19762#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19790#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:33,307 INFO L290 TraceCheckUtils]: 43: Hoare triple {19762#(<= ~counter~0 6)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {19762#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:33,307 INFO L290 TraceCheckUtils]: 42: Hoare triple {19762#(<= ~counter~0 6)} assume !!(0 != ~r~0); {19762#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:33,308 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {19565#true} {19762#(<= ~counter~0 6)} #63#return; {19762#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:33,308 INFO L290 TraceCheckUtils]: 40: Hoare triple {19565#true} assume true; {19565#true} is VALID [2022-04-28 12:43:33,308 INFO L290 TraceCheckUtils]: 39: Hoare triple {19565#true} assume !(0 == ~cond); {19565#true} is VALID [2022-04-28 12:43:33,308 INFO L290 TraceCheckUtils]: 38: Hoare triple {19565#true} ~cond := #in~cond; {19565#true} is VALID [2022-04-28 12:43:33,308 INFO L272 TraceCheckUtils]: 37: Hoare triple {19762#(<= ~counter~0 6)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {19565#true} is VALID [2022-04-28 12:43:33,309 INFO L290 TraceCheckUtils]: 36: Hoare triple {19762#(<= ~counter~0 6)} assume !!(#t~post6 < 20);havoc #t~post6; {19762#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:33,309 INFO L290 TraceCheckUtils]: 35: Hoare triple {19734#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19762#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:33,310 INFO L290 TraceCheckUtils]: 34: Hoare triple {19734#(<= ~counter~0 5)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {19734#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:33,310 INFO L290 TraceCheckUtils]: 33: Hoare triple {19734#(<= ~counter~0 5)} assume !!(0 != ~r~0); {19734#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:33,311 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {19565#true} {19734#(<= ~counter~0 5)} #63#return; {19734#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:33,311 INFO L290 TraceCheckUtils]: 31: Hoare triple {19565#true} assume true; {19565#true} is VALID [2022-04-28 12:43:33,311 INFO L290 TraceCheckUtils]: 30: Hoare triple {19565#true} assume !(0 == ~cond); {19565#true} is VALID [2022-04-28 12:43:33,311 INFO L290 TraceCheckUtils]: 29: Hoare triple {19565#true} ~cond := #in~cond; {19565#true} is VALID [2022-04-28 12:43:33,311 INFO L272 TraceCheckUtils]: 28: Hoare triple {19734#(<= ~counter~0 5)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {19565#true} is VALID [2022-04-28 12:43:33,311 INFO L290 TraceCheckUtils]: 27: Hoare triple {19734#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {19734#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:33,312 INFO L290 TraceCheckUtils]: 26: Hoare triple {19706#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19734#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:33,312 INFO L290 TraceCheckUtils]: 25: Hoare triple {19706#(<= ~counter~0 4)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {19706#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:33,313 INFO L290 TraceCheckUtils]: 24: Hoare triple {19706#(<= ~counter~0 4)} assume !!(0 != ~r~0); {19706#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:33,313 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {19565#true} {19706#(<= ~counter~0 4)} #63#return; {19706#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:33,313 INFO L290 TraceCheckUtils]: 22: Hoare triple {19565#true} assume true; {19565#true} is VALID [2022-04-28 12:43:33,313 INFO L290 TraceCheckUtils]: 21: Hoare triple {19565#true} assume !(0 == ~cond); {19565#true} is VALID [2022-04-28 12:43:33,314 INFO L290 TraceCheckUtils]: 20: Hoare triple {19565#true} ~cond := #in~cond; {19565#true} is VALID [2022-04-28 12:43:33,314 INFO L272 TraceCheckUtils]: 19: Hoare triple {19706#(<= ~counter~0 4)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {19565#true} is VALID [2022-04-28 12:43:33,314 INFO L290 TraceCheckUtils]: 18: Hoare triple {19706#(<= ~counter~0 4)} assume !!(#t~post6 < 20);havoc #t~post6; {19706#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:33,315 INFO L290 TraceCheckUtils]: 17: Hoare triple {19678#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19706#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:33,315 INFO L290 TraceCheckUtils]: 16: Hoare triple {19678#(<= ~counter~0 3)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {19678#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:33,316 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {19565#true} {19678#(<= ~counter~0 3)} #61#return; {19678#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:33,316 INFO L290 TraceCheckUtils]: 14: Hoare triple {19565#true} assume true; {19565#true} is VALID [2022-04-28 12:43:33,316 INFO L290 TraceCheckUtils]: 13: Hoare triple {19565#true} assume !(0 == ~cond); {19565#true} is VALID [2022-04-28 12:43:33,316 INFO L290 TraceCheckUtils]: 12: Hoare triple {19565#true} ~cond := #in~cond; {19565#true} is VALID [2022-04-28 12:43:33,316 INFO L272 TraceCheckUtils]: 11: Hoare triple {19678#(<= ~counter~0 3)} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {19565#true} is VALID [2022-04-28 12:43:33,316 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {19565#true} {19678#(<= ~counter~0 3)} #59#return; {19678#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:33,317 INFO L290 TraceCheckUtils]: 9: Hoare triple {19565#true} assume true; {19565#true} is VALID [2022-04-28 12:43:33,317 INFO L290 TraceCheckUtils]: 8: Hoare triple {19565#true} assume !(0 == ~cond); {19565#true} is VALID [2022-04-28 12:43:33,317 INFO L290 TraceCheckUtils]: 7: Hoare triple {19565#true} ~cond := #in~cond; {19565#true} is VALID [2022-04-28 12:43:33,317 INFO L272 TraceCheckUtils]: 6: Hoare triple {19678#(<= ~counter~0 3)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {19565#true} is VALID [2022-04-28 12:43:33,317 INFO L290 TraceCheckUtils]: 5: Hoare triple {19678#(<= ~counter~0 3)} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~R~0 := #t~nondet5;havoc #t~nondet5; {19678#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:33,318 INFO L272 TraceCheckUtils]: 4: Hoare triple {19678#(<= ~counter~0 3)} call #t~ret7 := main(); {19678#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:33,318 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {19678#(<= ~counter~0 3)} {19565#true} #67#return; {19678#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:33,318 INFO L290 TraceCheckUtils]: 2: Hoare triple {19678#(<= ~counter~0 3)} assume true; {19678#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:33,319 INFO L290 TraceCheckUtils]: 1: Hoare triple {19565#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; {19678#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:33,319 INFO L272 TraceCheckUtils]: 0: Hoare triple {19565#true} call ULTIMATE.init(); {19565#true} is VALID [2022-04-28 12:43:33,320 INFO L134 CoverageAnalysis]: Checked inductivity of 1148 backedges. 32 proven. 632 refuted. 0 times theorem prover too weak. 484 trivial. 0 not checked. [2022-04-28 12:43:33,320 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:43:33,320 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1295984899] [2022-04-28 12:43:33,320 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:43:33,320 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1890112533] [2022-04-28 12:43:33,320 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1890112533] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:43:33,321 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:43:33,321 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [20, 20] total 24 [2022-04-28 12:43:33,321 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:43:33,321 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [17291390] [2022-04-28 12:43:33,321 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [17291390] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:43:33,321 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:43:33,321 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [20] imperfect sequences [] total 20 [2022-04-28 12:43:33,321 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1392311116] [2022-04-28 12:43:33,321 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:43:33,322 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, (21), 19 states have call predecessors, (21), 17 states have return successors, (19), 17 states have call predecessors, (19), 18 states have call successors, (19) Word has length 167 [2022-04-28 12:43:33,322 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:43:33,323 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, (21), 19 states have call predecessors, (21), 17 states have return successors, (19), 17 states have call predecessors, (19), 18 states have call successors, (19) [2022-04-28 12:43:33,448 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 164 edges. 164 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:43:33,448 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 20 states [2022-04-28 12:43:33,449 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:43:33,449 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2022-04-28 12:43:33,449 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=236, Invalid=316, Unknown=0, NotChecked=0, Total=552 [2022-04-28 12:43:33,449 INFO L87 Difference]: Start difference. First operand 164 states and 181 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, (21), 19 states have call predecessors, (21), 17 states have return successors, (19), 17 states have call predecessors, (19), 18 states have call successors, (19) [2022-04-28 12:43:34,174 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:43:34,174 INFO L93 Difference]: Finished difference Result 178 states and 196 transitions. [2022-04-28 12:43:34,174 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 36 states. [2022-04-28 12:43:34,175 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, (21), 19 states have call predecessors, (21), 17 states have return successors, (19), 17 states have call predecessors, (19), 18 states have call successors, (19) Word has length 167 [2022-04-28 12:43:34,175 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:43:34,175 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, (21), 19 states have call predecessors, (21), 17 states have return successors, (19), 17 states have call predecessors, (19), 18 states have call successors, (19) [2022-04-28 12:43:34,179 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 195 transitions. [2022-04-28 12:43:34,179 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, (21), 19 states have call predecessors, (21), 17 states have return successors, (19), 17 states have call predecessors, (19), 18 states have call successors, (19) [2022-04-28 12:43:34,182 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 195 transitions. [2022-04-28 12:43:34,182 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 36 states and 195 transitions. [2022-04-28 12:43:34,352 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 195 edges. 195 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:43:34,355 INFO L225 Difference]: With dead ends: 178 [2022-04-28 12:43:34,355 INFO L226 Difference]: Without dead ends: 173 [2022-04-28 12:43:34,356 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 349 GetRequests, 310 SyntacticMatches, 1 SemanticMatches, 38 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 158 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=604, Invalid=956, Unknown=0, NotChecked=0, Total=1560 [2022-04-28 12:43:34,356 INFO L413 NwaCegarLoop]: 42 mSDtfsCounter, 70 mSDsluCounter, 156 mSDsCounter, 0 mSdLazyCounter, 93 mSolverCounterSat, 28 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 70 SdHoareTripleChecker+Valid, 198 SdHoareTripleChecker+Invalid, 121 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 28 IncrementalHoareTripleChecker+Valid, 93 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:43:34,356 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [70 Valid, 198 Invalid, 121 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [28 Valid, 93 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:43:34,357 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 173 states. [2022-04-28 12:43:34,562 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 173 to 173. [2022-04-28 12:43:34,562 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:43:34,562 INFO L82 GeneralOperation]: Start isEquivalent. First operand 173 states. Second operand has 173 states, 131 states have (on average 1.1374045801526718) internal successors, (149), 131 states have internal predecessors, (149), 22 states have call successors, (22), 21 states have call predecessors, (22), 19 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-28 12:43:34,563 INFO L74 IsIncluded]: Start isIncluded. First operand 173 states. Second operand has 173 states, 131 states have (on average 1.1374045801526718) internal successors, (149), 131 states have internal predecessors, (149), 22 states have call successors, (22), 21 states have call predecessors, (22), 19 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-28 12:43:34,563 INFO L87 Difference]: Start difference. First operand 173 states. Second operand has 173 states, 131 states have (on average 1.1374045801526718) internal successors, (149), 131 states have internal predecessors, (149), 22 states have call successors, (22), 21 states have call predecessors, (22), 19 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-28 12:43:34,566 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:43:34,566 INFO L93 Difference]: Finished difference Result 173 states and 191 transitions. [2022-04-28 12:43:34,566 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 191 transitions. [2022-04-28 12:43:34,566 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:43:34,566 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:43:34,567 INFO L74 IsIncluded]: Start isIncluded. First operand has 173 states, 131 states have (on average 1.1374045801526718) internal successors, (149), 131 states have internal predecessors, (149), 22 states have call successors, (22), 21 states have call predecessors, (22), 19 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) Second operand 173 states. [2022-04-28 12:43:34,567 INFO L87 Difference]: Start difference. First operand has 173 states, 131 states have (on average 1.1374045801526718) internal successors, (149), 131 states have internal predecessors, (149), 22 states have call successors, (22), 21 states have call predecessors, (22), 19 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) Second operand 173 states. [2022-04-28 12:43:34,570 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:43:34,570 INFO L93 Difference]: Finished difference Result 173 states and 191 transitions. [2022-04-28 12:43:34,570 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 191 transitions. [2022-04-28 12:43:34,570 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:43:34,570 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:43:34,571 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:43:34,571 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:43:34,571 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 173 states, 131 states have (on average 1.1374045801526718) internal successors, (149), 131 states have internal predecessors, (149), 22 states have call successors, (22), 21 states have call predecessors, (22), 19 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-28 12:43:34,574 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 173 states to 173 states and 191 transitions. [2022-04-28 12:43:34,574 INFO L78 Accepts]: Start accepts. Automaton has 173 states and 191 transitions. Word has length 167 [2022-04-28 12:43:34,574 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:43:34,574 INFO L495 AbstractCegarLoop]: Abstraction has 173 states and 191 transitions. [2022-04-28 12:43:34,575 INFO L496 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, (21), 19 states have call predecessors, (21), 17 states have return successors, (19), 17 states have call predecessors, (19), 18 states have call successors, (19) [2022-04-28 12:43:34,575 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 173 states and 191 transitions. [2022-04-28 12:43:36,830 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 191 edges. 190 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 12:43:36,830 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 191 transitions. [2022-04-28 12:43:36,833 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 177 [2022-04-28 12:43:36,833 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:43:36,833 INFO L195 NwaCegarLoop]: trace histogram [18, 18, 17, 17, 17, 17, 17, 17, 17, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:43:36,863 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-28 12:43:37,051 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable19,21 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:43:37,051 INFO L420 AbstractCegarLoop]: === Iteration 21 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:43:37,052 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:43:37,052 INFO L85 PathProgramCache]: Analyzing trace with hash 318093084, now seen corresponding path program 33 times [2022-04-28 12:43:37,052 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:43:37,052 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1414714924] [2022-04-28 12:43:37,052 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:43:37,052 INFO L85 PathProgramCache]: Analyzing trace with hash 318093084, now seen corresponding path program 34 times [2022-04-28 12:43:37,052 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:43:37,052 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [110055456] [2022-04-28 12:43:37,052 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:43:37,053 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:43:37,069 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:43:37,069 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1429938862] [2022-04-28 12:43:37,069 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:43:37,069 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:43:37,069 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:43:37,070 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-28 12:43:37,072 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-28 12:43:37,270 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:43:37,270 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:43:37,272 INFO L263 TraceCheckSpWp]: Trace formula consists of 433 conjuncts, 39 conjunts are in the unsatisfiable core [2022-04-28 12:43:37,313 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:43:37,315 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:43:38,296 INFO L272 TraceCheckUtils]: 0: Hoare triple {21670#true} call ULTIMATE.init(); {21670#true} is VALID [2022-04-28 12:43:38,297 INFO L290 TraceCheckUtils]: 1: Hoare triple {21670#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; {21678#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:38,297 INFO L290 TraceCheckUtils]: 2: Hoare triple {21678#(<= ~counter~0 0)} assume true; {21678#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:38,297 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21678#(<= ~counter~0 0)} {21670#true} #67#return; {21678#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:38,298 INFO L272 TraceCheckUtils]: 4: Hoare triple {21678#(<= ~counter~0 0)} call #t~ret7 := main(); {21678#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:38,298 INFO L290 TraceCheckUtils]: 5: Hoare triple {21678#(<= ~counter~0 0)} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~R~0 := #t~nondet5;havoc #t~nondet5; {21678#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:38,298 INFO L272 TraceCheckUtils]: 6: Hoare triple {21678#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {21678#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:38,299 INFO L290 TraceCheckUtils]: 7: Hoare triple {21678#(<= ~counter~0 0)} ~cond := #in~cond; {21678#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:38,299 INFO L290 TraceCheckUtils]: 8: Hoare triple {21678#(<= ~counter~0 0)} assume !(0 == ~cond); {21678#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:38,299 INFO L290 TraceCheckUtils]: 9: Hoare triple {21678#(<= ~counter~0 0)} assume true; {21678#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:38,300 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {21678#(<= ~counter~0 0)} {21678#(<= ~counter~0 0)} #59#return; {21678#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:38,300 INFO L272 TraceCheckUtils]: 11: Hoare triple {21678#(<= ~counter~0 0)} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {21678#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:38,300 INFO L290 TraceCheckUtils]: 12: Hoare triple {21678#(<= ~counter~0 0)} ~cond := #in~cond; {21678#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:38,301 INFO L290 TraceCheckUtils]: 13: Hoare triple {21678#(<= ~counter~0 0)} assume !(0 == ~cond); {21678#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:38,301 INFO L290 TraceCheckUtils]: 14: Hoare triple {21678#(<= ~counter~0 0)} assume true; {21678#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:38,301 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {21678#(<= ~counter~0 0)} {21678#(<= ~counter~0 0)} #61#return; {21678#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:38,302 INFO L290 TraceCheckUtils]: 16: Hoare triple {21678#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {21678#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:38,302 INFO L290 TraceCheckUtils]: 17: Hoare triple {21678#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21727#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:38,303 INFO L290 TraceCheckUtils]: 18: Hoare triple {21727#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {21727#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:38,303 INFO L272 TraceCheckUtils]: 19: Hoare triple {21727#(<= ~counter~0 1)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {21727#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:38,303 INFO L290 TraceCheckUtils]: 20: Hoare triple {21727#(<= ~counter~0 1)} ~cond := #in~cond; {21727#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:38,304 INFO L290 TraceCheckUtils]: 21: Hoare triple {21727#(<= ~counter~0 1)} assume !(0 == ~cond); {21727#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:38,304 INFO L290 TraceCheckUtils]: 22: Hoare triple {21727#(<= ~counter~0 1)} assume true; {21727#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:38,305 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {21727#(<= ~counter~0 1)} {21727#(<= ~counter~0 1)} #63#return; {21727#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:38,305 INFO L290 TraceCheckUtils]: 24: Hoare triple {21727#(<= ~counter~0 1)} assume !!(0 != ~r~0); {21727#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:38,305 INFO L290 TraceCheckUtils]: 25: Hoare triple {21727#(<= ~counter~0 1)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {21727#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:38,306 INFO L290 TraceCheckUtils]: 26: Hoare triple {21727#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21755#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:38,306 INFO L290 TraceCheckUtils]: 27: Hoare triple {21755#(<= ~counter~0 2)} assume !!(#t~post6 < 20);havoc #t~post6; {21755#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:38,306 INFO L272 TraceCheckUtils]: 28: Hoare triple {21755#(<= ~counter~0 2)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {21755#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:38,307 INFO L290 TraceCheckUtils]: 29: Hoare triple {21755#(<= ~counter~0 2)} ~cond := #in~cond; {21755#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:38,307 INFO L290 TraceCheckUtils]: 30: Hoare triple {21755#(<= ~counter~0 2)} assume !(0 == ~cond); {21755#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:38,307 INFO L290 TraceCheckUtils]: 31: Hoare triple {21755#(<= ~counter~0 2)} assume true; {21755#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:38,308 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {21755#(<= ~counter~0 2)} {21755#(<= ~counter~0 2)} #63#return; {21755#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:38,308 INFO L290 TraceCheckUtils]: 33: Hoare triple {21755#(<= ~counter~0 2)} assume !!(0 != ~r~0); {21755#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:38,308 INFO L290 TraceCheckUtils]: 34: Hoare triple {21755#(<= ~counter~0 2)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {21755#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:38,309 INFO L290 TraceCheckUtils]: 35: Hoare triple {21755#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21783#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:38,313 INFO L290 TraceCheckUtils]: 36: Hoare triple {21783#(<= ~counter~0 3)} assume !!(#t~post6 < 20);havoc #t~post6; {21783#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:38,314 INFO L272 TraceCheckUtils]: 37: Hoare triple {21783#(<= ~counter~0 3)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {21783#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:38,314 INFO L290 TraceCheckUtils]: 38: Hoare triple {21783#(<= ~counter~0 3)} ~cond := #in~cond; {21783#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:38,314 INFO L290 TraceCheckUtils]: 39: Hoare triple {21783#(<= ~counter~0 3)} assume !(0 == ~cond); {21783#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:38,315 INFO L290 TraceCheckUtils]: 40: Hoare triple {21783#(<= ~counter~0 3)} assume true; {21783#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:38,315 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {21783#(<= ~counter~0 3)} {21783#(<= ~counter~0 3)} #63#return; {21783#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:38,315 INFO L290 TraceCheckUtils]: 42: Hoare triple {21783#(<= ~counter~0 3)} assume !!(0 != ~r~0); {21783#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:38,316 INFO L290 TraceCheckUtils]: 43: Hoare triple {21783#(<= ~counter~0 3)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {21783#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:38,316 INFO L290 TraceCheckUtils]: 44: Hoare triple {21783#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21811#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:38,317 INFO L290 TraceCheckUtils]: 45: Hoare triple {21811#(<= ~counter~0 4)} assume !!(#t~post6 < 20);havoc #t~post6; {21811#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:38,317 INFO L272 TraceCheckUtils]: 46: Hoare triple {21811#(<= ~counter~0 4)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {21811#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:38,317 INFO L290 TraceCheckUtils]: 47: Hoare triple {21811#(<= ~counter~0 4)} ~cond := #in~cond; {21811#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:38,318 INFO L290 TraceCheckUtils]: 48: Hoare triple {21811#(<= ~counter~0 4)} assume !(0 == ~cond); {21811#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:38,318 INFO L290 TraceCheckUtils]: 49: Hoare triple {21811#(<= ~counter~0 4)} assume true; {21811#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:38,318 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {21811#(<= ~counter~0 4)} {21811#(<= ~counter~0 4)} #63#return; {21811#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:38,319 INFO L290 TraceCheckUtils]: 51: Hoare triple {21811#(<= ~counter~0 4)} assume !!(0 != ~r~0); {21811#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:38,319 INFO L290 TraceCheckUtils]: 52: Hoare triple {21811#(<= ~counter~0 4)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {21811#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:38,320 INFO L290 TraceCheckUtils]: 53: Hoare triple {21811#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21839#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:38,320 INFO L290 TraceCheckUtils]: 54: Hoare triple {21839#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {21839#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:38,320 INFO L272 TraceCheckUtils]: 55: Hoare triple {21839#(<= ~counter~0 5)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {21839#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:38,321 INFO L290 TraceCheckUtils]: 56: Hoare triple {21839#(<= ~counter~0 5)} ~cond := #in~cond; {21839#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:38,321 INFO L290 TraceCheckUtils]: 57: Hoare triple {21839#(<= ~counter~0 5)} assume !(0 == ~cond); {21839#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:38,321 INFO L290 TraceCheckUtils]: 58: Hoare triple {21839#(<= ~counter~0 5)} assume true; {21839#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:38,322 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {21839#(<= ~counter~0 5)} {21839#(<= ~counter~0 5)} #63#return; {21839#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:38,322 INFO L290 TraceCheckUtils]: 60: Hoare triple {21839#(<= ~counter~0 5)} assume !!(0 != ~r~0); {21839#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:38,322 INFO L290 TraceCheckUtils]: 61: Hoare triple {21839#(<= ~counter~0 5)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {21839#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:38,323 INFO L290 TraceCheckUtils]: 62: Hoare triple {21839#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21867#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:38,323 INFO L290 TraceCheckUtils]: 63: Hoare triple {21867#(<= ~counter~0 6)} assume !!(#t~post6 < 20);havoc #t~post6; {21867#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:38,324 INFO L272 TraceCheckUtils]: 64: Hoare triple {21867#(<= ~counter~0 6)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {21867#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:38,324 INFO L290 TraceCheckUtils]: 65: Hoare triple {21867#(<= ~counter~0 6)} ~cond := #in~cond; {21867#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:38,324 INFO L290 TraceCheckUtils]: 66: Hoare triple {21867#(<= ~counter~0 6)} assume !(0 == ~cond); {21867#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:38,324 INFO L290 TraceCheckUtils]: 67: Hoare triple {21867#(<= ~counter~0 6)} assume true; {21867#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:38,325 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {21867#(<= ~counter~0 6)} {21867#(<= ~counter~0 6)} #63#return; {21867#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:38,325 INFO L290 TraceCheckUtils]: 69: Hoare triple {21867#(<= ~counter~0 6)} assume !!(0 != ~r~0); {21867#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:38,326 INFO L290 TraceCheckUtils]: 70: Hoare triple {21867#(<= ~counter~0 6)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {21867#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:38,326 INFO L290 TraceCheckUtils]: 71: Hoare triple {21867#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21895#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:38,326 INFO L290 TraceCheckUtils]: 72: Hoare triple {21895#(<= ~counter~0 7)} assume !!(#t~post6 < 20);havoc #t~post6; {21895#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:38,327 INFO L272 TraceCheckUtils]: 73: Hoare triple {21895#(<= ~counter~0 7)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {21895#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:38,327 INFO L290 TraceCheckUtils]: 74: Hoare triple {21895#(<= ~counter~0 7)} ~cond := #in~cond; {21895#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:38,327 INFO L290 TraceCheckUtils]: 75: Hoare triple {21895#(<= ~counter~0 7)} assume !(0 == ~cond); {21895#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:38,328 INFO L290 TraceCheckUtils]: 76: Hoare triple {21895#(<= ~counter~0 7)} assume true; {21895#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:38,328 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {21895#(<= ~counter~0 7)} {21895#(<= ~counter~0 7)} #63#return; {21895#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:38,328 INFO L290 TraceCheckUtils]: 78: Hoare triple {21895#(<= ~counter~0 7)} assume !!(0 != ~r~0); {21895#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:38,329 INFO L290 TraceCheckUtils]: 79: Hoare triple {21895#(<= ~counter~0 7)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {21895#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:38,329 INFO L290 TraceCheckUtils]: 80: Hoare triple {21895#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21923#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:38,330 INFO L290 TraceCheckUtils]: 81: Hoare triple {21923#(<= ~counter~0 8)} assume !!(#t~post6 < 20);havoc #t~post6; {21923#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:38,330 INFO L272 TraceCheckUtils]: 82: Hoare triple {21923#(<= ~counter~0 8)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {21923#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:38,330 INFO L290 TraceCheckUtils]: 83: Hoare triple {21923#(<= ~counter~0 8)} ~cond := #in~cond; {21923#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:38,331 INFO L290 TraceCheckUtils]: 84: Hoare triple {21923#(<= ~counter~0 8)} assume !(0 == ~cond); {21923#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:38,331 INFO L290 TraceCheckUtils]: 85: Hoare triple {21923#(<= ~counter~0 8)} assume true; {21923#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:38,331 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {21923#(<= ~counter~0 8)} {21923#(<= ~counter~0 8)} #63#return; {21923#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:38,332 INFO L290 TraceCheckUtils]: 87: Hoare triple {21923#(<= ~counter~0 8)} assume !!(0 != ~r~0); {21923#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:38,332 INFO L290 TraceCheckUtils]: 88: Hoare triple {21923#(<= ~counter~0 8)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {21923#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:38,333 INFO L290 TraceCheckUtils]: 89: Hoare triple {21923#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21951#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:38,333 INFO L290 TraceCheckUtils]: 90: Hoare triple {21951#(<= ~counter~0 9)} assume !!(#t~post6 < 20);havoc #t~post6; {21951#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:38,333 INFO L272 TraceCheckUtils]: 91: Hoare triple {21951#(<= ~counter~0 9)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {21951#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:38,347 INFO L290 TraceCheckUtils]: 92: Hoare triple {21951#(<= ~counter~0 9)} ~cond := #in~cond; {21951#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:38,348 INFO L290 TraceCheckUtils]: 93: Hoare triple {21951#(<= ~counter~0 9)} assume !(0 == ~cond); {21951#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:38,348 INFO L290 TraceCheckUtils]: 94: Hoare triple {21951#(<= ~counter~0 9)} assume true; {21951#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:38,350 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {21951#(<= ~counter~0 9)} {21951#(<= ~counter~0 9)} #63#return; {21951#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:38,350 INFO L290 TraceCheckUtils]: 96: Hoare triple {21951#(<= ~counter~0 9)} assume !!(0 != ~r~0); {21951#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:38,351 INFO L290 TraceCheckUtils]: 97: Hoare triple {21951#(<= ~counter~0 9)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {21951#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:38,352 INFO L290 TraceCheckUtils]: 98: Hoare triple {21951#(<= ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21979#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:38,352 INFO L290 TraceCheckUtils]: 99: Hoare triple {21979#(<= ~counter~0 10)} assume !!(#t~post6 < 20);havoc #t~post6; {21979#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:38,353 INFO L272 TraceCheckUtils]: 100: Hoare triple {21979#(<= ~counter~0 10)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {21979#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:38,354 INFO L290 TraceCheckUtils]: 101: Hoare triple {21979#(<= ~counter~0 10)} ~cond := #in~cond; {21979#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:38,354 INFO L290 TraceCheckUtils]: 102: Hoare triple {21979#(<= ~counter~0 10)} assume !(0 == ~cond); {21979#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:38,355 INFO L290 TraceCheckUtils]: 103: Hoare triple {21979#(<= ~counter~0 10)} assume true; {21979#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:38,356 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {21979#(<= ~counter~0 10)} {21979#(<= ~counter~0 10)} #63#return; {21979#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:38,356 INFO L290 TraceCheckUtils]: 105: Hoare triple {21979#(<= ~counter~0 10)} assume !!(0 != ~r~0); {21979#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:38,357 INFO L290 TraceCheckUtils]: 106: Hoare triple {21979#(<= ~counter~0 10)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {21979#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:38,358 INFO L290 TraceCheckUtils]: 107: Hoare triple {21979#(<= ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22007#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:38,358 INFO L290 TraceCheckUtils]: 108: Hoare triple {22007#(<= ~counter~0 11)} assume !!(#t~post6 < 20);havoc #t~post6; {22007#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:38,359 INFO L272 TraceCheckUtils]: 109: Hoare triple {22007#(<= ~counter~0 11)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {22007#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:38,360 INFO L290 TraceCheckUtils]: 110: Hoare triple {22007#(<= ~counter~0 11)} ~cond := #in~cond; {22007#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:38,360 INFO L290 TraceCheckUtils]: 111: Hoare triple {22007#(<= ~counter~0 11)} assume !(0 == ~cond); {22007#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:38,361 INFO L290 TraceCheckUtils]: 112: Hoare triple {22007#(<= ~counter~0 11)} assume true; {22007#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:38,362 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {22007#(<= ~counter~0 11)} {22007#(<= ~counter~0 11)} #63#return; {22007#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:38,362 INFO L290 TraceCheckUtils]: 114: Hoare triple {22007#(<= ~counter~0 11)} assume !!(0 != ~r~0); {22007#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:38,363 INFO L290 TraceCheckUtils]: 115: Hoare triple {22007#(<= ~counter~0 11)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {22007#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:38,364 INFO L290 TraceCheckUtils]: 116: Hoare triple {22007#(<= ~counter~0 11)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22035#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:38,364 INFO L290 TraceCheckUtils]: 117: Hoare triple {22035#(<= ~counter~0 12)} assume !!(#t~post6 < 20);havoc #t~post6; {22035#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:38,365 INFO L272 TraceCheckUtils]: 118: Hoare triple {22035#(<= ~counter~0 12)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {22035#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:38,366 INFO L290 TraceCheckUtils]: 119: Hoare triple {22035#(<= ~counter~0 12)} ~cond := #in~cond; {22035#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:38,366 INFO L290 TraceCheckUtils]: 120: Hoare triple {22035#(<= ~counter~0 12)} assume !(0 == ~cond); {22035#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:38,367 INFO L290 TraceCheckUtils]: 121: Hoare triple {22035#(<= ~counter~0 12)} assume true; {22035#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:38,367 INFO L284 TraceCheckUtils]: 122: Hoare quadruple {22035#(<= ~counter~0 12)} {22035#(<= ~counter~0 12)} #63#return; {22035#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:38,368 INFO L290 TraceCheckUtils]: 123: Hoare triple {22035#(<= ~counter~0 12)} assume !!(0 != ~r~0); {22035#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:38,368 INFO L290 TraceCheckUtils]: 124: Hoare triple {22035#(<= ~counter~0 12)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {22035#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:38,369 INFO L290 TraceCheckUtils]: 125: Hoare triple {22035#(<= ~counter~0 12)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22063#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:38,369 INFO L290 TraceCheckUtils]: 126: Hoare triple {22063#(<= ~counter~0 13)} assume !!(#t~post6 < 20);havoc #t~post6; {22063#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:38,370 INFO L272 TraceCheckUtils]: 127: Hoare triple {22063#(<= ~counter~0 13)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {22063#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:38,370 INFO L290 TraceCheckUtils]: 128: Hoare triple {22063#(<= ~counter~0 13)} ~cond := #in~cond; {22063#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:38,370 INFO L290 TraceCheckUtils]: 129: Hoare triple {22063#(<= ~counter~0 13)} assume !(0 == ~cond); {22063#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:38,371 INFO L290 TraceCheckUtils]: 130: Hoare triple {22063#(<= ~counter~0 13)} assume true; {22063#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:38,371 INFO L284 TraceCheckUtils]: 131: Hoare quadruple {22063#(<= ~counter~0 13)} {22063#(<= ~counter~0 13)} #63#return; {22063#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:38,372 INFO L290 TraceCheckUtils]: 132: Hoare triple {22063#(<= ~counter~0 13)} assume !!(0 != ~r~0); {22063#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:38,372 INFO L290 TraceCheckUtils]: 133: Hoare triple {22063#(<= ~counter~0 13)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {22063#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:38,373 INFO L290 TraceCheckUtils]: 134: Hoare triple {22063#(<= ~counter~0 13)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22091#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:38,373 INFO L290 TraceCheckUtils]: 135: Hoare triple {22091#(<= ~counter~0 14)} assume !!(#t~post6 < 20);havoc #t~post6; {22091#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:38,374 INFO L272 TraceCheckUtils]: 136: Hoare triple {22091#(<= ~counter~0 14)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {22091#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:38,374 INFO L290 TraceCheckUtils]: 137: Hoare triple {22091#(<= ~counter~0 14)} ~cond := #in~cond; {22091#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:38,375 INFO L290 TraceCheckUtils]: 138: Hoare triple {22091#(<= ~counter~0 14)} assume !(0 == ~cond); {22091#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:38,375 INFO L290 TraceCheckUtils]: 139: Hoare triple {22091#(<= ~counter~0 14)} assume true; {22091#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:38,376 INFO L284 TraceCheckUtils]: 140: Hoare quadruple {22091#(<= ~counter~0 14)} {22091#(<= ~counter~0 14)} #63#return; {22091#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:38,376 INFO L290 TraceCheckUtils]: 141: Hoare triple {22091#(<= ~counter~0 14)} assume !!(0 != ~r~0); {22091#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:38,376 INFO L290 TraceCheckUtils]: 142: Hoare triple {22091#(<= ~counter~0 14)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {22091#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:38,377 INFO L290 TraceCheckUtils]: 143: Hoare triple {22091#(<= ~counter~0 14)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22119#(<= ~counter~0 15)} is VALID [2022-04-28 12:43:38,377 INFO L290 TraceCheckUtils]: 144: Hoare triple {22119#(<= ~counter~0 15)} assume !!(#t~post6 < 20);havoc #t~post6; {22119#(<= ~counter~0 15)} is VALID [2022-04-28 12:43:38,378 INFO L272 TraceCheckUtils]: 145: Hoare triple {22119#(<= ~counter~0 15)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {22119#(<= ~counter~0 15)} is VALID [2022-04-28 12:43:38,378 INFO L290 TraceCheckUtils]: 146: Hoare triple {22119#(<= ~counter~0 15)} ~cond := #in~cond; {22119#(<= ~counter~0 15)} is VALID [2022-04-28 12:43:38,379 INFO L290 TraceCheckUtils]: 147: Hoare triple {22119#(<= ~counter~0 15)} assume !(0 == ~cond); {22119#(<= ~counter~0 15)} is VALID [2022-04-28 12:43:38,379 INFO L290 TraceCheckUtils]: 148: Hoare triple {22119#(<= ~counter~0 15)} assume true; {22119#(<= ~counter~0 15)} is VALID [2022-04-28 12:43:38,380 INFO L284 TraceCheckUtils]: 149: Hoare quadruple {22119#(<= ~counter~0 15)} {22119#(<= ~counter~0 15)} #63#return; {22119#(<= ~counter~0 15)} is VALID [2022-04-28 12:43:38,380 INFO L290 TraceCheckUtils]: 150: Hoare triple {22119#(<= ~counter~0 15)} assume !!(0 != ~r~0); {22119#(<= ~counter~0 15)} is VALID [2022-04-28 12:43:38,380 INFO L290 TraceCheckUtils]: 151: Hoare triple {22119#(<= ~counter~0 15)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {22119#(<= ~counter~0 15)} is VALID [2022-04-28 12:43:38,381 INFO L290 TraceCheckUtils]: 152: Hoare triple {22119#(<= ~counter~0 15)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22147#(<= ~counter~0 16)} is VALID [2022-04-28 12:43:38,381 INFO L290 TraceCheckUtils]: 153: Hoare triple {22147#(<= ~counter~0 16)} assume !!(#t~post6 < 20);havoc #t~post6; {22147#(<= ~counter~0 16)} is VALID [2022-04-28 12:43:38,382 INFO L272 TraceCheckUtils]: 154: Hoare triple {22147#(<= ~counter~0 16)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {22147#(<= ~counter~0 16)} is VALID [2022-04-28 12:43:38,383 INFO L290 TraceCheckUtils]: 155: Hoare triple {22147#(<= ~counter~0 16)} ~cond := #in~cond; {22147#(<= ~counter~0 16)} is VALID [2022-04-28 12:43:38,383 INFO L290 TraceCheckUtils]: 156: Hoare triple {22147#(<= ~counter~0 16)} assume !(0 == ~cond); {22147#(<= ~counter~0 16)} is VALID [2022-04-28 12:43:38,383 INFO L290 TraceCheckUtils]: 157: Hoare triple {22147#(<= ~counter~0 16)} assume true; {22147#(<= ~counter~0 16)} is VALID [2022-04-28 12:43:38,384 INFO L284 TraceCheckUtils]: 158: Hoare quadruple {22147#(<= ~counter~0 16)} {22147#(<= ~counter~0 16)} #63#return; {22147#(<= ~counter~0 16)} is VALID [2022-04-28 12:43:38,384 INFO L290 TraceCheckUtils]: 159: Hoare triple {22147#(<= ~counter~0 16)} assume !!(0 != ~r~0); {22147#(<= ~counter~0 16)} is VALID [2022-04-28 12:43:38,385 INFO L290 TraceCheckUtils]: 160: Hoare triple {22147#(<= ~counter~0 16)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {22147#(<= ~counter~0 16)} is VALID [2022-04-28 12:43:38,385 INFO L290 TraceCheckUtils]: 161: Hoare triple {22147#(<= ~counter~0 16)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22175#(<= ~counter~0 17)} is VALID [2022-04-28 12:43:38,386 INFO L290 TraceCheckUtils]: 162: Hoare triple {22175#(<= ~counter~0 17)} assume !!(#t~post6 < 20);havoc #t~post6; {22175#(<= ~counter~0 17)} is VALID [2022-04-28 12:43:38,386 INFO L272 TraceCheckUtils]: 163: Hoare triple {22175#(<= ~counter~0 17)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {22175#(<= ~counter~0 17)} is VALID [2022-04-28 12:43:38,387 INFO L290 TraceCheckUtils]: 164: Hoare triple {22175#(<= ~counter~0 17)} ~cond := #in~cond; {22175#(<= ~counter~0 17)} is VALID [2022-04-28 12:43:38,387 INFO L290 TraceCheckUtils]: 165: Hoare triple {22175#(<= ~counter~0 17)} assume !(0 == ~cond); {22175#(<= ~counter~0 17)} is VALID [2022-04-28 12:43:38,387 INFO L290 TraceCheckUtils]: 166: Hoare triple {22175#(<= ~counter~0 17)} assume true; {22175#(<= ~counter~0 17)} is VALID [2022-04-28 12:43:38,388 INFO L284 TraceCheckUtils]: 167: Hoare quadruple {22175#(<= ~counter~0 17)} {22175#(<= ~counter~0 17)} #63#return; {22175#(<= ~counter~0 17)} is VALID [2022-04-28 12:43:38,388 INFO L290 TraceCheckUtils]: 168: Hoare triple {22175#(<= ~counter~0 17)} assume !!(0 != ~r~0); {22175#(<= ~counter~0 17)} is VALID [2022-04-28 12:43:38,389 INFO L290 TraceCheckUtils]: 169: Hoare triple {22175#(<= ~counter~0 17)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {22175#(<= ~counter~0 17)} is VALID [2022-04-28 12:43:38,389 INFO L290 TraceCheckUtils]: 170: Hoare triple {22175#(<= ~counter~0 17)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22203#(<= |main_#t~post6| 17)} is VALID [2022-04-28 12:43:38,390 INFO L290 TraceCheckUtils]: 171: Hoare triple {22203#(<= |main_#t~post6| 17)} assume !(#t~post6 < 20);havoc #t~post6; {21671#false} is VALID [2022-04-28 12:43:38,390 INFO L272 TraceCheckUtils]: 172: Hoare triple {21671#false} call __VERIFIER_assert((if 4 * ~A~0 == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {21671#false} is VALID [2022-04-28 12:43:38,390 INFO L290 TraceCheckUtils]: 173: Hoare triple {21671#false} ~cond := #in~cond; {21671#false} is VALID [2022-04-28 12:43:38,390 INFO L290 TraceCheckUtils]: 174: Hoare triple {21671#false} assume 0 == ~cond; {21671#false} is VALID [2022-04-28 12:43:38,390 INFO L290 TraceCheckUtils]: 175: Hoare triple {21671#false} assume !false; {21671#false} is VALID [2022-04-28 12:43:38,391 INFO L134 CoverageAnalysis]: Checked inductivity of 1296 backedges. 34 proven. 1258 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:43:38,391 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:43:39,228 INFO L290 TraceCheckUtils]: 175: Hoare triple {21671#false} assume !false; {21671#false} is VALID [2022-04-28 12:43:39,228 INFO L290 TraceCheckUtils]: 174: Hoare triple {21671#false} assume 0 == ~cond; {21671#false} is VALID [2022-04-28 12:43:39,229 INFO L290 TraceCheckUtils]: 173: Hoare triple {21671#false} ~cond := #in~cond; {21671#false} is VALID [2022-04-28 12:43:39,229 INFO L272 TraceCheckUtils]: 172: Hoare triple {21671#false} call __VERIFIER_assert((if 4 * ~A~0 == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {21671#false} is VALID [2022-04-28 12:43:39,229 INFO L290 TraceCheckUtils]: 171: Hoare triple {22231#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {21671#false} is VALID [2022-04-28 12:43:39,229 INFO L290 TraceCheckUtils]: 170: Hoare triple {22235#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22231#(< |main_#t~post6| 20)} is VALID [2022-04-28 12:43:39,230 INFO L290 TraceCheckUtils]: 169: Hoare triple {22235#(< ~counter~0 20)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {22235#(< ~counter~0 20)} is VALID [2022-04-28 12:43:39,230 INFO L290 TraceCheckUtils]: 168: Hoare triple {22235#(< ~counter~0 20)} assume !!(0 != ~r~0); {22235#(< ~counter~0 20)} is VALID [2022-04-28 12:43:39,230 INFO L284 TraceCheckUtils]: 167: Hoare quadruple {21670#true} {22235#(< ~counter~0 20)} #63#return; {22235#(< ~counter~0 20)} is VALID [2022-04-28 12:43:39,231 INFO L290 TraceCheckUtils]: 166: Hoare triple {21670#true} assume true; {21670#true} is VALID [2022-04-28 12:43:39,231 INFO L290 TraceCheckUtils]: 165: Hoare triple {21670#true} assume !(0 == ~cond); {21670#true} is VALID [2022-04-28 12:43:39,231 INFO L290 TraceCheckUtils]: 164: Hoare triple {21670#true} ~cond := #in~cond; {21670#true} is VALID [2022-04-28 12:43:39,231 INFO L272 TraceCheckUtils]: 163: Hoare triple {22235#(< ~counter~0 20)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {21670#true} is VALID [2022-04-28 12:43:39,231 INFO L290 TraceCheckUtils]: 162: Hoare triple {22235#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6; {22235#(< ~counter~0 20)} is VALID [2022-04-28 12:43:39,232 INFO L290 TraceCheckUtils]: 161: Hoare triple {22263#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22235#(< ~counter~0 20)} is VALID [2022-04-28 12:43:39,232 INFO L290 TraceCheckUtils]: 160: Hoare triple {22263#(< ~counter~0 19)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {22263#(< ~counter~0 19)} is VALID [2022-04-28 12:43:39,232 INFO L290 TraceCheckUtils]: 159: Hoare triple {22263#(< ~counter~0 19)} assume !!(0 != ~r~0); {22263#(< ~counter~0 19)} is VALID [2022-04-28 12:43:39,233 INFO L284 TraceCheckUtils]: 158: Hoare quadruple {21670#true} {22263#(< ~counter~0 19)} #63#return; {22263#(< ~counter~0 19)} is VALID [2022-04-28 12:43:39,233 INFO L290 TraceCheckUtils]: 157: Hoare triple {21670#true} assume true; {21670#true} is VALID [2022-04-28 12:43:39,233 INFO L290 TraceCheckUtils]: 156: Hoare triple {21670#true} assume !(0 == ~cond); {21670#true} is VALID [2022-04-28 12:43:39,233 INFO L290 TraceCheckUtils]: 155: Hoare triple {21670#true} ~cond := #in~cond; {21670#true} is VALID [2022-04-28 12:43:39,233 INFO L272 TraceCheckUtils]: 154: Hoare triple {22263#(< ~counter~0 19)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {21670#true} is VALID [2022-04-28 12:43:39,233 INFO L290 TraceCheckUtils]: 153: Hoare triple {22263#(< ~counter~0 19)} assume !!(#t~post6 < 20);havoc #t~post6; {22263#(< ~counter~0 19)} is VALID [2022-04-28 12:43:39,234 INFO L290 TraceCheckUtils]: 152: Hoare triple {22175#(<= ~counter~0 17)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22263#(< ~counter~0 19)} is VALID [2022-04-28 12:43:39,234 INFO L290 TraceCheckUtils]: 151: Hoare triple {22175#(<= ~counter~0 17)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {22175#(<= ~counter~0 17)} is VALID [2022-04-28 12:43:39,234 INFO L290 TraceCheckUtils]: 150: Hoare triple {22175#(<= ~counter~0 17)} assume !!(0 != ~r~0); {22175#(<= ~counter~0 17)} is VALID [2022-04-28 12:43:39,235 INFO L284 TraceCheckUtils]: 149: Hoare quadruple {21670#true} {22175#(<= ~counter~0 17)} #63#return; {22175#(<= ~counter~0 17)} is VALID [2022-04-28 12:43:39,235 INFO L290 TraceCheckUtils]: 148: Hoare triple {21670#true} assume true; {21670#true} is VALID [2022-04-28 12:43:39,235 INFO L290 TraceCheckUtils]: 147: Hoare triple {21670#true} assume !(0 == ~cond); {21670#true} is VALID [2022-04-28 12:43:39,235 INFO L290 TraceCheckUtils]: 146: Hoare triple {21670#true} ~cond := #in~cond; {21670#true} is VALID [2022-04-28 12:43:39,235 INFO L272 TraceCheckUtils]: 145: Hoare triple {22175#(<= ~counter~0 17)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {21670#true} is VALID [2022-04-28 12:43:39,236 INFO L290 TraceCheckUtils]: 144: Hoare triple {22175#(<= ~counter~0 17)} assume !!(#t~post6 < 20);havoc #t~post6; {22175#(<= ~counter~0 17)} is VALID [2022-04-28 12:43:39,236 INFO L290 TraceCheckUtils]: 143: Hoare triple {22147#(<= ~counter~0 16)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22175#(<= ~counter~0 17)} is VALID [2022-04-28 12:43:39,236 INFO L290 TraceCheckUtils]: 142: Hoare triple {22147#(<= ~counter~0 16)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {22147#(<= ~counter~0 16)} is VALID [2022-04-28 12:43:39,237 INFO L290 TraceCheckUtils]: 141: Hoare triple {22147#(<= ~counter~0 16)} assume !!(0 != ~r~0); {22147#(<= ~counter~0 16)} is VALID [2022-04-28 12:43:39,237 INFO L284 TraceCheckUtils]: 140: Hoare quadruple {21670#true} {22147#(<= ~counter~0 16)} #63#return; {22147#(<= ~counter~0 16)} is VALID [2022-04-28 12:43:39,237 INFO L290 TraceCheckUtils]: 139: Hoare triple {21670#true} assume true; {21670#true} is VALID [2022-04-28 12:43:39,237 INFO L290 TraceCheckUtils]: 138: Hoare triple {21670#true} assume !(0 == ~cond); {21670#true} is VALID [2022-04-28 12:43:39,237 INFO L290 TraceCheckUtils]: 137: Hoare triple {21670#true} ~cond := #in~cond; {21670#true} is VALID [2022-04-28 12:43:39,237 INFO L272 TraceCheckUtils]: 136: Hoare triple {22147#(<= ~counter~0 16)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {21670#true} is VALID [2022-04-28 12:43:39,238 INFO L290 TraceCheckUtils]: 135: Hoare triple {22147#(<= ~counter~0 16)} assume !!(#t~post6 < 20);havoc #t~post6; {22147#(<= ~counter~0 16)} is VALID [2022-04-28 12:43:39,239 INFO L290 TraceCheckUtils]: 134: Hoare triple {22119#(<= ~counter~0 15)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22147#(<= ~counter~0 16)} is VALID [2022-04-28 12:43:39,239 INFO L290 TraceCheckUtils]: 133: Hoare triple {22119#(<= ~counter~0 15)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {22119#(<= ~counter~0 15)} is VALID [2022-04-28 12:43:39,239 INFO L290 TraceCheckUtils]: 132: Hoare triple {22119#(<= ~counter~0 15)} assume !!(0 != ~r~0); {22119#(<= ~counter~0 15)} is VALID [2022-04-28 12:43:39,240 INFO L284 TraceCheckUtils]: 131: Hoare quadruple {21670#true} {22119#(<= ~counter~0 15)} #63#return; {22119#(<= ~counter~0 15)} is VALID [2022-04-28 12:43:39,240 INFO L290 TraceCheckUtils]: 130: Hoare triple {21670#true} assume true; {21670#true} is VALID [2022-04-28 12:43:39,240 INFO L290 TraceCheckUtils]: 129: Hoare triple {21670#true} assume !(0 == ~cond); {21670#true} is VALID [2022-04-28 12:43:39,240 INFO L290 TraceCheckUtils]: 128: Hoare triple {21670#true} ~cond := #in~cond; {21670#true} is VALID [2022-04-28 12:43:39,240 INFO L272 TraceCheckUtils]: 127: Hoare triple {22119#(<= ~counter~0 15)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {21670#true} is VALID [2022-04-28 12:43:39,240 INFO L290 TraceCheckUtils]: 126: Hoare triple {22119#(<= ~counter~0 15)} assume !!(#t~post6 < 20);havoc #t~post6; {22119#(<= ~counter~0 15)} is VALID [2022-04-28 12:43:39,241 INFO L290 TraceCheckUtils]: 125: Hoare triple {22091#(<= ~counter~0 14)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22119#(<= ~counter~0 15)} is VALID [2022-04-28 12:43:39,241 INFO L290 TraceCheckUtils]: 124: Hoare triple {22091#(<= ~counter~0 14)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {22091#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:39,241 INFO L290 TraceCheckUtils]: 123: Hoare triple {22091#(<= ~counter~0 14)} assume !!(0 != ~r~0); {22091#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:39,242 INFO L284 TraceCheckUtils]: 122: Hoare quadruple {21670#true} {22091#(<= ~counter~0 14)} #63#return; {22091#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:39,242 INFO L290 TraceCheckUtils]: 121: Hoare triple {21670#true} assume true; {21670#true} is VALID [2022-04-28 12:43:39,242 INFO L290 TraceCheckUtils]: 120: Hoare triple {21670#true} assume !(0 == ~cond); {21670#true} is VALID [2022-04-28 12:43:39,242 INFO L290 TraceCheckUtils]: 119: Hoare triple {21670#true} ~cond := #in~cond; {21670#true} is VALID [2022-04-28 12:43:39,242 INFO L272 TraceCheckUtils]: 118: Hoare triple {22091#(<= ~counter~0 14)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {21670#true} is VALID [2022-04-28 12:43:39,242 INFO L290 TraceCheckUtils]: 117: Hoare triple {22091#(<= ~counter~0 14)} assume !!(#t~post6 < 20);havoc #t~post6; {22091#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:39,243 INFO L290 TraceCheckUtils]: 116: Hoare triple {22063#(<= ~counter~0 13)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22091#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:39,243 INFO L290 TraceCheckUtils]: 115: Hoare triple {22063#(<= ~counter~0 13)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {22063#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:39,243 INFO L290 TraceCheckUtils]: 114: Hoare triple {22063#(<= ~counter~0 13)} assume !!(0 != ~r~0); {22063#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:39,244 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {21670#true} {22063#(<= ~counter~0 13)} #63#return; {22063#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:39,244 INFO L290 TraceCheckUtils]: 112: Hoare triple {21670#true} assume true; {21670#true} is VALID [2022-04-28 12:43:39,244 INFO L290 TraceCheckUtils]: 111: Hoare triple {21670#true} assume !(0 == ~cond); {21670#true} is VALID [2022-04-28 12:43:39,244 INFO L290 TraceCheckUtils]: 110: Hoare triple {21670#true} ~cond := #in~cond; {21670#true} is VALID [2022-04-28 12:43:39,249 INFO L272 TraceCheckUtils]: 109: Hoare triple {22063#(<= ~counter~0 13)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {21670#true} is VALID [2022-04-28 12:43:39,251 INFO L290 TraceCheckUtils]: 108: Hoare triple {22063#(<= ~counter~0 13)} assume !!(#t~post6 < 20);havoc #t~post6; {22063#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:39,251 INFO L290 TraceCheckUtils]: 107: Hoare triple {22035#(<= ~counter~0 12)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22063#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:39,252 INFO L290 TraceCheckUtils]: 106: Hoare triple {22035#(<= ~counter~0 12)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {22035#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:39,252 INFO L290 TraceCheckUtils]: 105: Hoare triple {22035#(<= ~counter~0 12)} assume !!(0 != ~r~0); {22035#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:39,253 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {21670#true} {22035#(<= ~counter~0 12)} #63#return; {22035#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:39,253 INFO L290 TraceCheckUtils]: 103: Hoare triple {21670#true} assume true; {21670#true} is VALID [2022-04-28 12:43:39,253 INFO L290 TraceCheckUtils]: 102: Hoare triple {21670#true} assume !(0 == ~cond); {21670#true} is VALID [2022-04-28 12:43:39,253 INFO L290 TraceCheckUtils]: 101: Hoare triple {21670#true} ~cond := #in~cond; {21670#true} is VALID [2022-04-28 12:43:39,253 INFO L272 TraceCheckUtils]: 100: Hoare triple {22035#(<= ~counter~0 12)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {21670#true} is VALID [2022-04-28 12:43:39,253 INFO L290 TraceCheckUtils]: 99: Hoare triple {22035#(<= ~counter~0 12)} assume !!(#t~post6 < 20);havoc #t~post6; {22035#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:39,254 INFO L290 TraceCheckUtils]: 98: Hoare triple {22007#(<= ~counter~0 11)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22035#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:39,254 INFO L290 TraceCheckUtils]: 97: Hoare triple {22007#(<= ~counter~0 11)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {22007#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:39,254 INFO L290 TraceCheckUtils]: 96: Hoare triple {22007#(<= ~counter~0 11)} assume !!(0 != ~r~0); {22007#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:39,255 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {21670#true} {22007#(<= ~counter~0 11)} #63#return; {22007#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:39,255 INFO L290 TraceCheckUtils]: 94: Hoare triple {21670#true} assume true; {21670#true} is VALID [2022-04-28 12:43:39,255 INFO L290 TraceCheckUtils]: 93: Hoare triple {21670#true} assume !(0 == ~cond); {21670#true} is VALID [2022-04-28 12:43:39,255 INFO L290 TraceCheckUtils]: 92: Hoare triple {21670#true} ~cond := #in~cond; {21670#true} is VALID [2022-04-28 12:43:39,255 INFO L272 TraceCheckUtils]: 91: Hoare triple {22007#(<= ~counter~0 11)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {21670#true} is VALID [2022-04-28 12:43:39,255 INFO L290 TraceCheckUtils]: 90: Hoare triple {22007#(<= ~counter~0 11)} assume !!(#t~post6 < 20);havoc #t~post6; {22007#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:39,256 INFO L290 TraceCheckUtils]: 89: Hoare triple {21979#(<= ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22007#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:39,256 INFO L290 TraceCheckUtils]: 88: Hoare triple {21979#(<= ~counter~0 10)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {21979#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:39,256 INFO L290 TraceCheckUtils]: 87: Hoare triple {21979#(<= ~counter~0 10)} assume !!(0 != ~r~0); {21979#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:39,257 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {21670#true} {21979#(<= ~counter~0 10)} #63#return; {21979#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:39,257 INFO L290 TraceCheckUtils]: 85: Hoare triple {21670#true} assume true; {21670#true} is VALID [2022-04-28 12:43:39,257 INFO L290 TraceCheckUtils]: 84: Hoare triple {21670#true} assume !(0 == ~cond); {21670#true} is VALID [2022-04-28 12:43:39,257 INFO L290 TraceCheckUtils]: 83: Hoare triple {21670#true} ~cond := #in~cond; {21670#true} is VALID [2022-04-28 12:43:39,257 INFO L272 TraceCheckUtils]: 82: Hoare triple {21979#(<= ~counter~0 10)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {21670#true} is VALID [2022-04-28 12:43:39,257 INFO L290 TraceCheckUtils]: 81: Hoare triple {21979#(<= ~counter~0 10)} assume !!(#t~post6 < 20);havoc #t~post6; {21979#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:39,258 INFO L290 TraceCheckUtils]: 80: Hoare triple {21951#(<= ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21979#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:39,258 INFO L290 TraceCheckUtils]: 79: Hoare triple {21951#(<= ~counter~0 9)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {21951#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:39,258 INFO L290 TraceCheckUtils]: 78: Hoare triple {21951#(<= ~counter~0 9)} assume !!(0 != ~r~0); {21951#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:39,259 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {21670#true} {21951#(<= ~counter~0 9)} #63#return; {21951#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:39,259 INFO L290 TraceCheckUtils]: 76: Hoare triple {21670#true} assume true; {21670#true} is VALID [2022-04-28 12:43:39,259 INFO L290 TraceCheckUtils]: 75: Hoare triple {21670#true} assume !(0 == ~cond); {21670#true} is VALID [2022-04-28 12:43:39,259 INFO L290 TraceCheckUtils]: 74: Hoare triple {21670#true} ~cond := #in~cond; {21670#true} is VALID [2022-04-28 12:43:39,259 INFO L272 TraceCheckUtils]: 73: Hoare triple {21951#(<= ~counter~0 9)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {21670#true} is VALID [2022-04-28 12:43:39,260 INFO L290 TraceCheckUtils]: 72: Hoare triple {21951#(<= ~counter~0 9)} assume !!(#t~post6 < 20);havoc #t~post6; {21951#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:39,260 INFO L290 TraceCheckUtils]: 71: Hoare triple {21923#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21951#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:39,260 INFO L290 TraceCheckUtils]: 70: Hoare triple {21923#(<= ~counter~0 8)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {21923#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:39,261 INFO L290 TraceCheckUtils]: 69: Hoare triple {21923#(<= ~counter~0 8)} assume !!(0 != ~r~0); {21923#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:39,261 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {21670#true} {21923#(<= ~counter~0 8)} #63#return; {21923#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:39,261 INFO L290 TraceCheckUtils]: 67: Hoare triple {21670#true} assume true; {21670#true} is VALID [2022-04-28 12:43:39,261 INFO L290 TraceCheckUtils]: 66: Hoare triple {21670#true} assume !(0 == ~cond); {21670#true} is VALID [2022-04-28 12:43:39,261 INFO L290 TraceCheckUtils]: 65: Hoare triple {21670#true} ~cond := #in~cond; {21670#true} is VALID [2022-04-28 12:43:39,261 INFO L272 TraceCheckUtils]: 64: Hoare triple {21923#(<= ~counter~0 8)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {21670#true} is VALID [2022-04-28 12:43:39,262 INFO L290 TraceCheckUtils]: 63: Hoare triple {21923#(<= ~counter~0 8)} assume !!(#t~post6 < 20);havoc #t~post6; {21923#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:39,262 INFO L290 TraceCheckUtils]: 62: Hoare triple {21895#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21923#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:39,262 INFO L290 TraceCheckUtils]: 61: Hoare triple {21895#(<= ~counter~0 7)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {21895#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:39,263 INFO L290 TraceCheckUtils]: 60: Hoare triple {21895#(<= ~counter~0 7)} assume !!(0 != ~r~0); {21895#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:39,263 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {21670#true} {21895#(<= ~counter~0 7)} #63#return; {21895#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:39,263 INFO L290 TraceCheckUtils]: 58: Hoare triple {21670#true} assume true; {21670#true} is VALID [2022-04-28 12:43:39,263 INFO L290 TraceCheckUtils]: 57: Hoare triple {21670#true} assume !(0 == ~cond); {21670#true} is VALID [2022-04-28 12:43:39,263 INFO L290 TraceCheckUtils]: 56: Hoare triple {21670#true} ~cond := #in~cond; {21670#true} is VALID [2022-04-28 12:43:39,264 INFO L272 TraceCheckUtils]: 55: Hoare triple {21895#(<= ~counter~0 7)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {21670#true} is VALID [2022-04-28 12:43:39,264 INFO L290 TraceCheckUtils]: 54: Hoare triple {21895#(<= ~counter~0 7)} assume !!(#t~post6 < 20);havoc #t~post6; {21895#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:39,267 INFO L290 TraceCheckUtils]: 53: Hoare triple {21867#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21895#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:39,268 INFO L290 TraceCheckUtils]: 52: Hoare triple {21867#(<= ~counter~0 6)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {21867#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:39,268 INFO L290 TraceCheckUtils]: 51: Hoare triple {21867#(<= ~counter~0 6)} assume !!(0 != ~r~0); {21867#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:39,269 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {21670#true} {21867#(<= ~counter~0 6)} #63#return; {21867#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:39,269 INFO L290 TraceCheckUtils]: 49: Hoare triple {21670#true} assume true; {21670#true} is VALID [2022-04-28 12:43:39,269 INFO L290 TraceCheckUtils]: 48: Hoare triple {21670#true} assume !(0 == ~cond); {21670#true} is VALID [2022-04-28 12:43:39,269 INFO L290 TraceCheckUtils]: 47: Hoare triple {21670#true} ~cond := #in~cond; {21670#true} is VALID [2022-04-28 12:43:39,269 INFO L272 TraceCheckUtils]: 46: Hoare triple {21867#(<= ~counter~0 6)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {21670#true} is VALID [2022-04-28 12:43:39,269 INFO L290 TraceCheckUtils]: 45: Hoare triple {21867#(<= ~counter~0 6)} assume !!(#t~post6 < 20);havoc #t~post6; {21867#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:39,270 INFO L290 TraceCheckUtils]: 44: Hoare triple {21839#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21867#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:39,270 INFO L290 TraceCheckUtils]: 43: Hoare triple {21839#(<= ~counter~0 5)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {21839#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:39,271 INFO L290 TraceCheckUtils]: 42: Hoare triple {21839#(<= ~counter~0 5)} assume !!(0 != ~r~0); {21839#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:39,272 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {21670#true} {21839#(<= ~counter~0 5)} #63#return; {21839#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:39,272 INFO L290 TraceCheckUtils]: 40: Hoare triple {21670#true} assume true; {21670#true} is VALID [2022-04-28 12:43:39,272 INFO L290 TraceCheckUtils]: 39: Hoare triple {21670#true} assume !(0 == ~cond); {21670#true} is VALID [2022-04-28 12:43:39,272 INFO L290 TraceCheckUtils]: 38: Hoare triple {21670#true} ~cond := #in~cond; {21670#true} is VALID [2022-04-28 12:43:39,272 INFO L272 TraceCheckUtils]: 37: Hoare triple {21839#(<= ~counter~0 5)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {21670#true} is VALID [2022-04-28 12:43:39,272 INFO L290 TraceCheckUtils]: 36: Hoare triple {21839#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {21839#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:39,273 INFO L290 TraceCheckUtils]: 35: Hoare triple {21811#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21839#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:39,273 INFO L290 TraceCheckUtils]: 34: Hoare triple {21811#(<= ~counter~0 4)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {21811#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:39,273 INFO L290 TraceCheckUtils]: 33: Hoare triple {21811#(<= ~counter~0 4)} assume !!(0 != ~r~0); {21811#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:39,274 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {21670#true} {21811#(<= ~counter~0 4)} #63#return; {21811#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:39,274 INFO L290 TraceCheckUtils]: 31: Hoare triple {21670#true} assume true; {21670#true} is VALID [2022-04-28 12:43:39,274 INFO L290 TraceCheckUtils]: 30: Hoare triple {21670#true} assume !(0 == ~cond); {21670#true} is VALID [2022-04-28 12:43:39,274 INFO L290 TraceCheckUtils]: 29: Hoare triple {21670#true} ~cond := #in~cond; {21670#true} is VALID [2022-04-28 12:43:39,274 INFO L272 TraceCheckUtils]: 28: Hoare triple {21811#(<= ~counter~0 4)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {21670#true} is VALID [2022-04-28 12:43:39,274 INFO L290 TraceCheckUtils]: 27: Hoare triple {21811#(<= ~counter~0 4)} assume !!(#t~post6 < 20);havoc #t~post6; {21811#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:39,275 INFO L290 TraceCheckUtils]: 26: Hoare triple {21783#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21811#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:39,275 INFO L290 TraceCheckUtils]: 25: Hoare triple {21783#(<= ~counter~0 3)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {21783#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:39,275 INFO L290 TraceCheckUtils]: 24: Hoare triple {21783#(<= ~counter~0 3)} assume !!(0 != ~r~0); {21783#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:39,276 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {21670#true} {21783#(<= ~counter~0 3)} #63#return; {21783#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:39,276 INFO L290 TraceCheckUtils]: 22: Hoare triple {21670#true} assume true; {21670#true} is VALID [2022-04-28 12:43:39,276 INFO L290 TraceCheckUtils]: 21: Hoare triple {21670#true} assume !(0 == ~cond); {21670#true} is VALID [2022-04-28 12:43:39,276 INFO L290 TraceCheckUtils]: 20: Hoare triple {21670#true} ~cond := #in~cond; {21670#true} is VALID [2022-04-28 12:43:39,276 INFO L272 TraceCheckUtils]: 19: Hoare triple {21783#(<= ~counter~0 3)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {21670#true} is VALID [2022-04-28 12:43:39,276 INFO L290 TraceCheckUtils]: 18: Hoare triple {21783#(<= ~counter~0 3)} assume !!(#t~post6 < 20);havoc #t~post6; {21783#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:39,277 INFO L290 TraceCheckUtils]: 17: Hoare triple {21755#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21783#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:39,277 INFO L290 TraceCheckUtils]: 16: Hoare triple {21755#(<= ~counter~0 2)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {21755#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:39,278 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {21670#true} {21755#(<= ~counter~0 2)} #61#return; {21755#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:39,278 INFO L290 TraceCheckUtils]: 14: Hoare triple {21670#true} assume true; {21670#true} is VALID [2022-04-28 12:43:39,278 INFO L290 TraceCheckUtils]: 13: Hoare triple {21670#true} assume !(0 == ~cond); {21670#true} is VALID [2022-04-28 12:43:39,278 INFO L290 TraceCheckUtils]: 12: Hoare triple {21670#true} ~cond := #in~cond; {21670#true} is VALID [2022-04-28 12:43:39,278 INFO L272 TraceCheckUtils]: 11: Hoare triple {21755#(<= ~counter~0 2)} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {21670#true} is VALID [2022-04-28 12:43:39,278 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {21670#true} {21755#(<= ~counter~0 2)} #59#return; {21755#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:39,278 INFO L290 TraceCheckUtils]: 9: Hoare triple {21670#true} assume true; {21670#true} is VALID [2022-04-28 12:43:39,279 INFO L290 TraceCheckUtils]: 8: Hoare triple {21670#true} assume !(0 == ~cond); {21670#true} is VALID [2022-04-28 12:43:39,279 INFO L290 TraceCheckUtils]: 7: Hoare triple {21670#true} ~cond := #in~cond; {21670#true} is VALID [2022-04-28 12:43:39,279 INFO L272 TraceCheckUtils]: 6: Hoare triple {21755#(<= ~counter~0 2)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {21670#true} is VALID [2022-04-28 12:43:39,279 INFO L290 TraceCheckUtils]: 5: Hoare triple {21755#(<= ~counter~0 2)} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~R~0 := #t~nondet5;havoc #t~nondet5; {21755#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:39,279 INFO L272 TraceCheckUtils]: 4: Hoare triple {21755#(<= ~counter~0 2)} call #t~ret7 := main(); {21755#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:39,280 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21755#(<= ~counter~0 2)} {21670#true} #67#return; {21755#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:39,280 INFO L290 TraceCheckUtils]: 2: Hoare triple {21755#(<= ~counter~0 2)} assume true; {21755#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:39,280 INFO L290 TraceCheckUtils]: 1: Hoare triple {21670#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; {21755#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:39,280 INFO L272 TraceCheckUtils]: 0: Hoare triple {21670#true} call ULTIMATE.init(); {21670#true} is VALID [2022-04-28 12:43:39,281 INFO L134 CoverageAnalysis]: Checked inductivity of 1296 backedges. 34 proven. 714 refuted. 0 times theorem prover too weak. 548 trivial. 0 not checked. [2022-04-28 12:43:39,281 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:43:39,281 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [110055456] [2022-04-28 12:43:39,281 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:43:39,281 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1429938862] [2022-04-28 12:43:39,281 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1429938862] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:43:39,281 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:43:39,282 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [21, 21] total 24 [2022-04-28 12:43:39,282 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:43:39,282 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1414714924] [2022-04-28 12:43:39,282 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1414714924] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:43:39,282 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:43:39,282 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [21] imperfect sequences [] total 21 [2022-04-28 12:43:39,282 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1052366580] [2022-04-28 12:43:39,282 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:43:39,283 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, (22), 20 states have call predecessors, (22), 18 states have return successors, (20), 18 states have call predecessors, (20), 19 states have call successors, (20) Word has length 176 [2022-04-28 12:43:39,283 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:43:39,283 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, (22), 20 states have call predecessors, (22), 18 states have return successors, (20), 18 states have call predecessors, (20), 19 states have call successors, (20) [2022-04-28 12:43:39,408 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 173 edges. 173 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:43:39,408 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2022-04-28 12:43:39,408 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:43:39,408 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2022-04-28 12:43:39,409 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=236, Invalid=316, Unknown=0, NotChecked=0, Total=552 [2022-04-28 12:43:39,409 INFO L87 Difference]: Start difference. First operand 173 states and 191 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, (22), 20 states have call predecessors, (22), 18 states have return successors, (20), 18 states have call predecessors, (20), 19 states have call successors, (20) [2022-04-28 12:43:40,158 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:43:40,158 INFO L93 Difference]: Finished difference Result 187 states and 206 transitions. [2022-04-28 12:43:40,158 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 38 states. [2022-04-28 12:43:40,158 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, (22), 20 states have call predecessors, (22), 18 states have return successors, (20), 18 states have call predecessors, (20), 19 states have call successors, (20) Word has length 176 [2022-04-28 12:43:40,159 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:43:40,159 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, (22), 20 states have call predecessors, (22), 18 states have return successors, (20), 18 states have call predecessors, (20), 19 states have call successors, (20) [2022-04-28 12:43:40,163 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 205 transitions. [2022-04-28 12:43:40,163 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, (22), 20 states have call predecessors, (22), 18 states have return successors, (20), 18 states have call predecessors, (20), 19 states have call successors, (20) [2022-04-28 12:43:40,166 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 205 transitions. [2022-04-28 12:43:40,166 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 38 states and 205 transitions. [2022-04-28 12:43:40,345 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 205 edges. 205 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:43:40,348 INFO L225 Difference]: With dead ends: 187 [2022-04-28 12:43:40,348 INFO L226 Difference]: Without dead ends: 182 [2022-04-28 12:43:40,349 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 368 GetRequests, 328 SyntacticMatches, 1 SemanticMatches, 39 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 174 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=627, Invalid=1013, Unknown=0, NotChecked=0, Total=1640 [2022-04-28 12:43:40,350 INFO L413 NwaCegarLoop]: 43 mSDtfsCounter, 48 mSDsluCounter, 175 mSDsCounter, 0 mSdLazyCounter, 101 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 48 SdHoareTripleChecker+Valid, 218 SdHoareTripleChecker+Invalid, 115 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 101 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:43:40,350 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [48 Valid, 218 Invalid, 115 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 101 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:43:40,351 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 182 states. [2022-04-28 12:43:40,629 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 182 to 182. [2022-04-28 12:43:40,629 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:43:40,630 INFO L82 GeneralOperation]: Start isEquivalent. First operand 182 states. Second operand has 182 states, 138 states have (on average 1.1376811594202898) internal successors, (157), 138 states have internal predecessors, (157), 23 states have call successors, (23), 22 states have call predecessors, (23), 20 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-28 12:43:40,630 INFO L74 IsIncluded]: Start isIncluded. First operand 182 states. Second operand has 182 states, 138 states have (on average 1.1376811594202898) internal successors, (157), 138 states have internal predecessors, (157), 23 states have call successors, (23), 22 states have call predecessors, (23), 20 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-28 12:43:40,630 INFO L87 Difference]: Start difference. First operand 182 states. Second operand has 182 states, 138 states have (on average 1.1376811594202898) internal successors, (157), 138 states have internal predecessors, (157), 23 states have call successors, (23), 22 states have call predecessors, (23), 20 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-28 12:43:40,633 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:43:40,633 INFO L93 Difference]: Finished difference Result 182 states and 201 transitions. [2022-04-28 12:43:40,633 INFO L276 IsEmpty]: Start isEmpty. Operand 182 states and 201 transitions. [2022-04-28 12:43:40,634 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:43:40,634 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:43:40,634 INFO L74 IsIncluded]: Start isIncluded. First operand has 182 states, 138 states have (on average 1.1376811594202898) internal successors, (157), 138 states have internal predecessors, (157), 23 states have call successors, (23), 22 states have call predecessors, (23), 20 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) Second operand 182 states. [2022-04-28 12:43:40,634 INFO L87 Difference]: Start difference. First operand has 182 states, 138 states have (on average 1.1376811594202898) internal successors, (157), 138 states have internal predecessors, (157), 23 states have call successors, (23), 22 states have call predecessors, (23), 20 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) Second operand 182 states. [2022-04-28 12:43:40,637 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:43:40,638 INFO L93 Difference]: Finished difference Result 182 states and 201 transitions. [2022-04-28 12:43:40,649 INFO L276 IsEmpty]: Start isEmpty. Operand 182 states and 201 transitions. [2022-04-28 12:43:40,649 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:43:40,650 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:43:40,650 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:43:40,650 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:43:40,650 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 182 states, 138 states have (on average 1.1376811594202898) internal successors, (157), 138 states have internal predecessors, (157), 23 states have call successors, (23), 22 states have call predecessors, (23), 20 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-28 12:43:40,653 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 182 states to 182 states and 201 transitions. [2022-04-28 12:43:40,653 INFO L78 Accepts]: Start accepts. Automaton has 182 states and 201 transitions. Word has length 176 [2022-04-28 12:43:40,654 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:43:40,654 INFO L495 AbstractCegarLoop]: Abstraction has 182 states and 201 transitions. [2022-04-28 12:43:40,654 INFO L496 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, (22), 20 states have call predecessors, (22), 18 states have return successors, (20), 18 states have call predecessors, (20), 19 states have call successors, (20) [2022-04-28 12:43:40,654 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 182 states and 201 transitions. [2022-04-28 12:43:42,945 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 201 edges. 200 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 12:43:42,945 INFO L276 IsEmpty]: Start isEmpty. Operand 182 states and 201 transitions. [2022-04-28 12:43:42,946 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 186 [2022-04-28 12:43:42,946 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:43:42,946 INFO L195 NwaCegarLoop]: trace histogram [19, 19, 18, 18, 18, 18, 18, 18, 18, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:43:42,951 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-28 12:43:43,146 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable20,22 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:43:43,147 INFO L420 AbstractCegarLoop]: === Iteration 22 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:43:43,147 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:43:43,147 INFO L85 PathProgramCache]: Analyzing trace with hash 994740182, now seen corresponding path program 35 times [2022-04-28 12:43:43,147 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:43:43,147 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1182241030] [2022-04-28 12:43:43,147 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:43:43,147 INFO L85 PathProgramCache]: Analyzing trace with hash 994740182, now seen corresponding path program 36 times [2022-04-28 12:43:43,148 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:43:43,148 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [181163773] [2022-04-28 12:43:43,148 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:43:43,148 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:43:43,168 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:43:43,168 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1996750049] [2022-04-28 12:43:43,168 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 12:43:43,168 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:43:43,168 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:43:43,169 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-28 12:43:43,178 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-28 12:43:45,214 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 19 check-sat command(s) [2022-04-28 12:43:45,214 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:43:45,219 INFO L263 TraceCheckSpWp]: Trace formula consists of 453 conjuncts, 41 conjunts are in the unsatisfiable core [2022-04-28 12:43:45,254 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:43:45,256 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:43:46,247 INFO L272 TraceCheckUtils]: 0: Hoare triple {23885#true} call ULTIMATE.init(); {23885#true} is VALID [2022-04-28 12:43:46,247 INFO L290 TraceCheckUtils]: 1: Hoare triple {23885#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; {23893#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:46,248 INFO L290 TraceCheckUtils]: 2: Hoare triple {23893#(<= ~counter~0 0)} assume true; {23893#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:46,248 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23893#(<= ~counter~0 0)} {23885#true} #67#return; {23893#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:46,248 INFO L272 TraceCheckUtils]: 4: Hoare triple {23893#(<= ~counter~0 0)} call #t~ret7 := main(); {23893#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:46,248 INFO L290 TraceCheckUtils]: 5: Hoare triple {23893#(<= ~counter~0 0)} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~R~0 := #t~nondet5;havoc #t~nondet5; {23893#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:46,249 INFO L272 TraceCheckUtils]: 6: Hoare triple {23893#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {23893#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:46,249 INFO L290 TraceCheckUtils]: 7: Hoare triple {23893#(<= ~counter~0 0)} ~cond := #in~cond; {23893#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:46,249 INFO L290 TraceCheckUtils]: 8: Hoare triple {23893#(<= ~counter~0 0)} assume !(0 == ~cond); {23893#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:46,250 INFO L290 TraceCheckUtils]: 9: Hoare triple {23893#(<= ~counter~0 0)} assume true; {23893#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:46,250 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {23893#(<= ~counter~0 0)} {23893#(<= ~counter~0 0)} #59#return; {23893#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:46,251 INFO L272 TraceCheckUtils]: 11: Hoare triple {23893#(<= ~counter~0 0)} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {23893#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:46,251 INFO L290 TraceCheckUtils]: 12: Hoare triple {23893#(<= ~counter~0 0)} ~cond := #in~cond; {23893#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:46,251 INFO L290 TraceCheckUtils]: 13: Hoare triple {23893#(<= ~counter~0 0)} assume !(0 == ~cond); {23893#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:46,251 INFO L290 TraceCheckUtils]: 14: Hoare triple {23893#(<= ~counter~0 0)} assume true; {23893#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:46,252 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {23893#(<= ~counter~0 0)} {23893#(<= ~counter~0 0)} #61#return; {23893#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:46,252 INFO L290 TraceCheckUtils]: 16: Hoare triple {23893#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {23893#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:46,253 INFO L290 TraceCheckUtils]: 17: Hoare triple {23893#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23942#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:46,253 INFO L290 TraceCheckUtils]: 18: Hoare triple {23942#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {23942#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:46,254 INFO L272 TraceCheckUtils]: 19: Hoare triple {23942#(<= ~counter~0 1)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {23942#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:46,254 INFO L290 TraceCheckUtils]: 20: Hoare triple {23942#(<= ~counter~0 1)} ~cond := #in~cond; {23942#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:46,254 INFO L290 TraceCheckUtils]: 21: Hoare triple {23942#(<= ~counter~0 1)} assume !(0 == ~cond); {23942#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:46,254 INFO L290 TraceCheckUtils]: 22: Hoare triple {23942#(<= ~counter~0 1)} assume true; {23942#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:46,255 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {23942#(<= ~counter~0 1)} {23942#(<= ~counter~0 1)} #63#return; {23942#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:46,255 INFO L290 TraceCheckUtils]: 24: Hoare triple {23942#(<= ~counter~0 1)} assume !!(0 != ~r~0); {23942#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:46,255 INFO L290 TraceCheckUtils]: 25: Hoare triple {23942#(<= ~counter~0 1)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {23942#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:46,256 INFO L290 TraceCheckUtils]: 26: Hoare triple {23942#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23970#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:46,256 INFO L290 TraceCheckUtils]: 27: Hoare triple {23970#(<= ~counter~0 2)} assume !!(#t~post6 < 20);havoc #t~post6; {23970#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:46,257 INFO L272 TraceCheckUtils]: 28: Hoare triple {23970#(<= ~counter~0 2)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {23970#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:46,257 INFO L290 TraceCheckUtils]: 29: Hoare triple {23970#(<= ~counter~0 2)} ~cond := #in~cond; {23970#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:46,257 INFO L290 TraceCheckUtils]: 30: Hoare triple {23970#(<= ~counter~0 2)} assume !(0 == ~cond); {23970#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:46,257 INFO L290 TraceCheckUtils]: 31: Hoare triple {23970#(<= ~counter~0 2)} assume true; {23970#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:46,258 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {23970#(<= ~counter~0 2)} {23970#(<= ~counter~0 2)} #63#return; {23970#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:46,258 INFO L290 TraceCheckUtils]: 33: Hoare triple {23970#(<= ~counter~0 2)} assume !!(0 != ~r~0); {23970#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:46,259 INFO L290 TraceCheckUtils]: 34: Hoare triple {23970#(<= ~counter~0 2)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {23970#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:46,259 INFO L290 TraceCheckUtils]: 35: Hoare triple {23970#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23998#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:46,259 INFO L290 TraceCheckUtils]: 36: Hoare triple {23998#(<= ~counter~0 3)} assume !!(#t~post6 < 20);havoc #t~post6; {23998#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:46,260 INFO L272 TraceCheckUtils]: 37: Hoare triple {23998#(<= ~counter~0 3)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {23998#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:46,260 INFO L290 TraceCheckUtils]: 38: Hoare triple {23998#(<= ~counter~0 3)} ~cond := #in~cond; {23998#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:46,260 INFO L290 TraceCheckUtils]: 39: Hoare triple {23998#(<= ~counter~0 3)} assume !(0 == ~cond); {23998#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:46,261 INFO L290 TraceCheckUtils]: 40: Hoare triple {23998#(<= ~counter~0 3)} assume true; {23998#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:46,261 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {23998#(<= ~counter~0 3)} {23998#(<= ~counter~0 3)} #63#return; {23998#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:46,261 INFO L290 TraceCheckUtils]: 42: Hoare triple {23998#(<= ~counter~0 3)} assume !!(0 != ~r~0); {23998#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:46,262 INFO L290 TraceCheckUtils]: 43: Hoare triple {23998#(<= ~counter~0 3)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {23998#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:46,262 INFO L290 TraceCheckUtils]: 44: Hoare triple {23998#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24026#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:46,262 INFO L290 TraceCheckUtils]: 45: Hoare triple {24026#(<= ~counter~0 4)} assume !!(#t~post6 < 20);havoc #t~post6; {24026#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:46,263 INFO L272 TraceCheckUtils]: 46: Hoare triple {24026#(<= ~counter~0 4)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {24026#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:46,263 INFO L290 TraceCheckUtils]: 47: Hoare triple {24026#(<= ~counter~0 4)} ~cond := #in~cond; {24026#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:46,263 INFO L290 TraceCheckUtils]: 48: Hoare triple {24026#(<= ~counter~0 4)} assume !(0 == ~cond); {24026#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:46,264 INFO L290 TraceCheckUtils]: 49: Hoare triple {24026#(<= ~counter~0 4)} assume true; {24026#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:46,264 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {24026#(<= ~counter~0 4)} {24026#(<= ~counter~0 4)} #63#return; {24026#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:46,265 INFO L290 TraceCheckUtils]: 51: Hoare triple {24026#(<= ~counter~0 4)} assume !!(0 != ~r~0); {24026#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:46,265 INFO L290 TraceCheckUtils]: 52: Hoare triple {24026#(<= ~counter~0 4)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {24026#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:46,265 INFO L290 TraceCheckUtils]: 53: Hoare triple {24026#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24054#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:46,266 INFO L290 TraceCheckUtils]: 54: Hoare triple {24054#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {24054#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:46,266 INFO L272 TraceCheckUtils]: 55: Hoare triple {24054#(<= ~counter~0 5)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {24054#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:46,266 INFO L290 TraceCheckUtils]: 56: Hoare triple {24054#(<= ~counter~0 5)} ~cond := #in~cond; {24054#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:46,267 INFO L290 TraceCheckUtils]: 57: Hoare triple {24054#(<= ~counter~0 5)} assume !(0 == ~cond); {24054#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:46,267 INFO L290 TraceCheckUtils]: 58: Hoare triple {24054#(<= ~counter~0 5)} assume true; {24054#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:46,267 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {24054#(<= ~counter~0 5)} {24054#(<= ~counter~0 5)} #63#return; {24054#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:46,268 INFO L290 TraceCheckUtils]: 60: Hoare triple {24054#(<= ~counter~0 5)} assume !!(0 != ~r~0); {24054#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:46,268 INFO L290 TraceCheckUtils]: 61: Hoare triple {24054#(<= ~counter~0 5)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {24054#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:46,268 INFO L290 TraceCheckUtils]: 62: Hoare triple {24054#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24082#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:46,269 INFO L290 TraceCheckUtils]: 63: Hoare triple {24082#(<= ~counter~0 6)} assume !!(#t~post6 < 20);havoc #t~post6; {24082#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:46,269 INFO L272 TraceCheckUtils]: 64: Hoare triple {24082#(<= ~counter~0 6)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {24082#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:46,269 INFO L290 TraceCheckUtils]: 65: Hoare triple {24082#(<= ~counter~0 6)} ~cond := #in~cond; {24082#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:46,270 INFO L290 TraceCheckUtils]: 66: Hoare triple {24082#(<= ~counter~0 6)} assume !(0 == ~cond); {24082#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:46,270 INFO L290 TraceCheckUtils]: 67: Hoare triple {24082#(<= ~counter~0 6)} assume true; {24082#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:46,270 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {24082#(<= ~counter~0 6)} {24082#(<= ~counter~0 6)} #63#return; {24082#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:46,271 INFO L290 TraceCheckUtils]: 69: Hoare triple {24082#(<= ~counter~0 6)} assume !!(0 != ~r~0); {24082#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:46,271 INFO L290 TraceCheckUtils]: 70: Hoare triple {24082#(<= ~counter~0 6)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {24082#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:46,271 INFO L290 TraceCheckUtils]: 71: Hoare triple {24082#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24110#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:46,272 INFO L290 TraceCheckUtils]: 72: Hoare triple {24110#(<= ~counter~0 7)} assume !!(#t~post6 < 20);havoc #t~post6; {24110#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:46,272 INFO L272 TraceCheckUtils]: 73: Hoare triple {24110#(<= ~counter~0 7)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {24110#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:46,272 INFO L290 TraceCheckUtils]: 74: Hoare triple {24110#(<= ~counter~0 7)} ~cond := #in~cond; {24110#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:46,273 INFO L290 TraceCheckUtils]: 75: Hoare triple {24110#(<= ~counter~0 7)} assume !(0 == ~cond); {24110#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:46,273 INFO L290 TraceCheckUtils]: 76: Hoare triple {24110#(<= ~counter~0 7)} assume true; {24110#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:46,273 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {24110#(<= ~counter~0 7)} {24110#(<= ~counter~0 7)} #63#return; {24110#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:46,274 INFO L290 TraceCheckUtils]: 78: Hoare triple {24110#(<= ~counter~0 7)} assume !!(0 != ~r~0); {24110#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:46,274 INFO L290 TraceCheckUtils]: 79: Hoare triple {24110#(<= ~counter~0 7)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {24110#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:46,274 INFO L290 TraceCheckUtils]: 80: Hoare triple {24110#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24138#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:46,275 INFO L290 TraceCheckUtils]: 81: Hoare triple {24138#(<= ~counter~0 8)} assume !!(#t~post6 < 20);havoc #t~post6; {24138#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:46,275 INFO L272 TraceCheckUtils]: 82: Hoare triple {24138#(<= ~counter~0 8)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {24138#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:46,275 INFO L290 TraceCheckUtils]: 83: Hoare triple {24138#(<= ~counter~0 8)} ~cond := #in~cond; {24138#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:46,276 INFO L290 TraceCheckUtils]: 84: Hoare triple {24138#(<= ~counter~0 8)} assume !(0 == ~cond); {24138#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:46,276 INFO L290 TraceCheckUtils]: 85: Hoare triple {24138#(<= ~counter~0 8)} assume true; {24138#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:46,277 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {24138#(<= ~counter~0 8)} {24138#(<= ~counter~0 8)} #63#return; {24138#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:46,277 INFO L290 TraceCheckUtils]: 87: Hoare triple {24138#(<= ~counter~0 8)} assume !!(0 != ~r~0); {24138#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:46,277 INFO L290 TraceCheckUtils]: 88: Hoare triple {24138#(<= ~counter~0 8)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {24138#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:46,278 INFO L290 TraceCheckUtils]: 89: Hoare triple {24138#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24166#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:46,278 INFO L290 TraceCheckUtils]: 90: Hoare triple {24166#(<= ~counter~0 9)} assume !!(#t~post6 < 20);havoc #t~post6; {24166#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:46,278 INFO L272 TraceCheckUtils]: 91: Hoare triple {24166#(<= ~counter~0 9)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {24166#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:46,279 INFO L290 TraceCheckUtils]: 92: Hoare triple {24166#(<= ~counter~0 9)} ~cond := #in~cond; {24166#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:46,279 INFO L290 TraceCheckUtils]: 93: Hoare triple {24166#(<= ~counter~0 9)} assume !(0 == ~cond); {24166#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:46,279 INFO L290 TraceCheckUtils]: 94: Hoare triple {24166#(<= ~counter~0 9)} assume true; {24166#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:46,280 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {24166#(<= ~counter~0 9)} {24166#(<= ~counter~0 9)} #63#return; {24166#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:46,280 INFO L290 TraceCheckUtils]: 96: Hoare triple {24166#(<= ~counter~0 9)} assume !!(0 != ~r~0); {24166#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:46,280 INFO L290 TraceCheckUtils]: 97: Hoare triple {24166#(<= ~counter~0 9)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {24166#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:46,281 INFO L290 TraceCheckUtils]: 98: Hoare triple {24166#(<= ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24194#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:46,281 INFO L290 TraceCheckUtils]: 99: Hoare triple {24194#(<= ~counter~0 10)} assume !!(#t~post6 < 20);havoc #t~post6; {24194#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:46,281 INFO L272 TraceCheckUtils]: 100: Hoare triple {24194#(<= ~counter~0 10)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {24194#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:46,282 INFO L290 TraceCheckUtils]: 101: Hoare triple {24194#(<= ~counter~0 10)} ~cond := #in~cond; {24194#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:46,282 INFO L290 TraceCheckUtils]: 102: Hoare triple {24194#(<= ~counter~0 10)} assume !(0 == ~cond); {24194#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:46,282 INFO L290 TraceCheckUtils]: 103: Hoare triple {24194#(<= ~counter~0 10)} assume true; {24194#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:46,283 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {24194#(<= ~counter~0 10)} {24194#(<= ~counter~0 10)} #63#return; {24194#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:46,283 INFO L290 TraceCheckUtils]: 105: Hoare triple {24194#(<= ~counter~0 10)} assume !!(0 != ~r~0); {24194#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:46,283 INFO L290 TraceCheckUtils]: 106: Hoare triple {24194#(<= ~counter~0 10)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {24194#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:46,284 INFO L290 TraceCheckUtils]: 107: Hoare triple {24194#(<= ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24222#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:46,284 INFO L290 TraceCheckUtils]: 108: Hoare triple {24222#(<= ~counter~0 11)} assume !!(#t~post6 < 20);havoc #t~post6; {24222#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:46,284 INFO L272 TraceCheckUtils]: 109: Hoare triple {24222#(<= ~counter~0 11)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {24222#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:46,285 INFO L290 TraceCheckUtils]: 110: Hoare triple {24222#(<= ~counter~0 11)} ~cond := #in~cond; {24222#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:46,285 INFO L290 TraceCheckUtils]: 111: Hoare triple {24222#(<= ~counter~0 11)} assume !(0 == ~cond); {24222#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:46,285 INFO L290 TraceCheckUtils]: 112: Hoare triple {24222#(<= ~counter~0 11)} assume true; {24222#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:46,286 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {24222#(<= ~counter~0 11)} {24222#(<= ~counter~0 11)} #63#return; {24222#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:46,286 INFO L290 TraceCheckUtils]: 114: Hoare triple {24222#(<= ~counter~0 11)} assume !!(0 != ~r~0); {24222#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:46,292 INFO L290 TraceCheckUtils]: 115: Hoare triple {24222#(<= ~counter~0 11)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {24222#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:46,293 INFO L290 TraceCheckUtils]: 116: Hoare triple {24222#(<= ~counter~0 11)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24250#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:46,293 INFO L290 TraceCheckUtils]: 117: Hoare triple {24250#(<= ~counter~0 12)} assume !!(#t~post6 < 20);havoc #t~post6; {24250#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:46,294 INFO L272 TraceCheckUtils]: 118: Hoare triple {24250#(<= ~counter~0 12)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {24250#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:46,294 INFO L290 TraceCheckUtils]: 119: Hoare triple {24250#(<= ~counter~0 12)} ~cond := #in~cond; {24250#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:46,295 INFO L290 TraceCheckUtils]: 120: Hoare triple {24250#(<= ~counter~0 12)} assume !(0 == ~cond); {24250#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:46,295 INFO L290 TraceCheckUtils]: 121: Hoare triple {24250#(<= ~counter~0 12)} assume true; {24250#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:46,295 INFO L284 TraceCheckUtils]: 122: Hoare quadruple {24250#(<= ~counter~0 12)} {24250#(<= ~counter~0 12)} #63#return; {24250#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:46,296 INFO L290 TraceCheckUtils]: 123: Hoare triple {24250#(<= ~counter~0 12)} assume !!(0 != ~r~0); {24250#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:46,296 INFO L290 TraceCheckUtils]: 124: Hoare triple {24250#(<= ~counter~0 12)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {24250#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:46,296 INFO L290 TraceCheckUtils]: 125: Hoare triple {24250#(<= ~counter~0 12)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24278#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:46,297 INFO L290 TraceCheckUtils]: 126: Hoare triple {24278#(<= ~counter~0 13)} assume !!(#t~post6 < 20);havoc #t~post6; {24278#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:46,297 INFO L272 TraceCheckUtils]: 127: Hoare triple {24278#(<= ~counter~0 13)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {24278#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:46,297 INFO L290 TraceCheckUtils]: 128: Hoare triple {24278#(<= ~counter~0 13)} ~cond := #in~cond; {24278#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:46,298 INFO L290 TraceCheckUtils]: 129: Hoare triple {24278#(<= ~counter~0 13)} assume !(0 == ~cond); {24278#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:46,298 INFO L290 TraceCheckUtils]: 130: Hoare triple {24278#(<= ~counter~0 13)} assume true; {24278#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:46,298 INFO L284 TraceCheckUtils]: 131: Hoare quadruple {24278#(<= ~counter~0 13)} {24278#(<= ~counter~0 13)} #63#return; {24278#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:46,299 INFO L290 TraceCheckUtils]: 132: Hoare triple {24278#(<= ~counter~0 13)} assume !!(0 != ~r~0); {24278#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:46,299 INFO L290 TraceCheckUtils]: 133: Hoare triple {24278#(<= ~counter~0 13)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {24278#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:46,299 INFO L290 TraceCheckUtils]: 134: Hoare triple {24278#(<= ~counter~0 13)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24306#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:46,300 INFO L290 TraceCheckUtils]: 135: Hoare triple {24306#(<= ~counter~0 14)} assume !!(#t~post6 < 20);havoc #t~post6; {24306#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:46,300 INFO L272 TraceCheckUtils]: 136: Hoare triple {24306#(<= ~counter~0 14)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {24306#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:46,300 INFO L290 TraceCheckUtils]: 137: Hoare triple {24306#(<= ~counter~0 14)} ~cond := #in~cond; {24306#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:46,301 INFO L290 TraceCheckUtils]: 138: Hoare triple {24306#(<= ~counter~0 14)} assume !(0 == ~cond); {24306#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:46,301 INFO L290 TraceCheckUtils]: 139: Hoare triple {24306#(<= ~counter~0 14)} assume true; {24306#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:46,301 INFO L284 TraceCheckUtils]: 140: Hoare quadruple {24306#(<= ~counter~0 14)} {24306#(<= ~counter~0 14)} #63#return; {24306#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:46,302 INFO L290 TraceCheckUtils]: 141: Hoare triple {24306#(<= ~counter~0 14)} assume !!(0 != ~r~0); {24306#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:46,302 INFO L290 TraceCheckUtils]: 142: Hoare triple {24306#(<= ~counter~0 14)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {24306#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:46,302 INFO L290 TraceCheckUtils]: 143: Hoare triple {24306#(<= ~counter~0 14)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24334#(<= ~counter~0 15)} is VALID [2022-04-28 12:43:46,303 INFO L290 TraceCheckUtils]: 144: Hoare triple {24334#(<= ~counter~0 15)} assume !!(#t~post6 < 20);havoc #t~post6; {24334#(<= ~counter~0 15)} is VALID [2022-04-28 12:43:46,303 INFO L272 TraceCheckUtils]: 145: Hoare triple {24334#(<= ~counter~0 15)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {24334#(<= ~counter~0 15)} is VALID [2022-04-28 12:43:46,304 INFO L290 TraceCheckUtils]: 146: Hoare triple {24334#(<= ~counter~0 15)} ~cond := #in~cond; {24334#(<= ~counter~0 15)} is VALID [2022-04-28 12:43:46,304 INFO L290 TraceCheckUtils]: 147: Hoare triple {24334#(<= ~counter~0 15)} assume !(0 == ~cond); {24334#(<= ~counter~0 15)} is VALID [2022-04-28 12:43:46,304 INFO L290 TraceCheckUtils]: 148: Hoare triple {24334#(<= ~counter~0 15)} assume true; {24334#(<= ~counter~0 15)} is VALID [2022-04-28 12:43:46,305 INFO L284 TraceCheckUtils]: 149: Hoare quadruple {24334#(<= ~counter~0 15)} {24334#(<= ~counter~0 15)} #63#return; {24334#(<= ~counter~0 15)} is VALID [2022-04-28 12:43:46,305 INFO L290 TraceCheckUtils]: 150: Hoare triple {24334#(<= ~counter~0 15)} assume !!(0 != ~r~0); {24334#(<= ~counter~0 15)} is VALID [2022-04-28 12:43:46,305 INFO L290 TraceCheckUtils]: 151: Hoare triple {24334#(<= ~counter~0 15)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {24334#(<= ~counter~0 15)} is VALID [2022-04-28 12:43:46,306 INFO L290 TraceCheckUtils]: 152: Hoare triple {24334#(<= ~counter~0 15)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24362#(<= ~counter~0 16)} is VALID [2022-04-28 12:43:46,306 INFO L290 TraceCheckUtils]: 153: Hoare triple {24362#(<= ~counter~0 16)} assume !!(#t~post6 < 20);havoc #t~post6; {24362#(<= ~counter~0 16)} is VALID [2022-04-28 12:43:46,306 INFO L272 TraceCheckUtils]: 154: Hoare triple {24362#(<= ~counter~0 16)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {24362#(<= ~counter~0 16)} is VALID [2022-04-28 12:43:46,307 INFO L290 TraceCheckUtils]: 155: Hoare triple {24362#(<= ~counter~0 16)} ~cond := #in~cond; {24362#(<= ~counter~0 16)} is VALID [2022-04-28 12:43:46,307 INFO L290 TraceCheckUtils]: 156: Hoare triple {24362#(<= ~counter~0 16)} assume !(0 == ~cond); {24362#(<= ~counter~0 16)} is VALID [2022-04-28 12:43:46,307 INFO L290 TraceCheckUtils]: 157: Hoare triple {24362#(<= ~counter~0 16)} assume true; {24362#(<= ~counter~0 16)} is VALID [2022-04-28 12:43:46,308 INFO L284 TraceCheckUtils]: 158: Hoare quadruple {24362#(<= ~counter~0 16)} {24362#(<= ~counter~0 16)} #63#return; {24362#(<= ~counter~0 16)} is VALID [2022-04-28 12:43:46,308 INFO L290 TraceCheckUtils]: 159: Hoare triple {24362#(<= ~counter~0 16)} assume !!(0 != ~r~0); {24362#(<= ~counter~0 16)} is VALID [2022-04-28 12:43:46,308 INFO L290 TraceCheckUtils]: 160: Hoare triple {24362#(<= ~counter~0 16)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {24362#(<= ~counter~0 16)} is VALID [2022-04-28 12:43:46,309 INFO L290 TraceCheckUtils]: 161: Hoare triple {24362#(<= ~counter~0 16)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24390#(<= ~counter~0 17)} is VALID [2022-04-28 12:43:46,309 INFO L290 TraceCheckUtils]: 162: Hoare triple {24390#(<= ~counter~0 17)} assume !!(#t~post6 < 20);havoc #t~post6; {24390#(<= ~counter~0 17)} is VALID [2022-04-28 12:43:46,309 INFO L272 TraceCheckUtils]: 163: Hoare triple {24390#(<= ~counter~0 17)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {24390#(<= ~counter~0 17)} is VALID [2022-04-28 12:43:46,310 INFO L290 TraceCheckUtils]: 164: Hoare triple {24390#(<= ~counter~0 17)} ~cond := #in~cond; {24390#(<= ~counter~0 17)} is VALID [2022-04-28 12:43:46,310 INFO L290 TraceCheckUtils]: 165: Hoare triple {24390#(<= ~counter~0 17)} assume !(0 == ~cond); {24390#(<= ~counter~0 17)} is VALID [2022-04-28 12:43:46,310 INFO L290 TraceCheckUtils]: 166: Hoare triple {24390#(<= ~counter~0 17)} assume true; {24390#(<= ~counter~0 17)} is VALID [2022-04-28 12:43:46,311 INFO L284 TraceCheckUtils]: 167: Hoare quadruple {24390#(<= ~counter~0 17)} {24390#(<= ~counter~0 17)} #63#return; {24390#(<= ~counter~0 17)} is VALID [2022-04-28 12:43:46,311 INFO L290 TraceCheckUtils]: 168: Hoare triple {24390#(<= ~counter~0 17)} assume !!(0 != ~r~0); {24390#(<= ~counter~0 17)} is VALID [2022-04-28 12:43:46,311 INFO L290 TraceCheckUtils]: 169: Hoare triple {24390#(<= ~counter~0 17)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {24390#(<= ~counter~0 17)} is VALID [2022-04-28 12:43:46,312 INFO L290 TraceCheckUtils]: 170: Hoare triple {24390#(<= ~counter~0 17)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24418#(<= ~counter~0 18)} is VALID [2022-04-28 12:43:46,312 INFO L290 TraceCheckUtils]: 171: Hoare triple {24418#(<= ~counter~0 18)} assume !!(#t~post6 < 20);havoc #t~post6; {24418#(<= ~counter~0 18)} is VALID [2022-04-28 12:43:46,312 INFO L272 TraceCheckUtils]: 172: Hoare triple {24418#(<= ~counter~0 18)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {24418#(<= ~counter~0 18)} is VALID [2022-04-28 12:43:46,313 INFO L290 TraceCheckUtils]: 173: Hoare triple {24418#(<= ~counter~0 18)} ~cond := #in~cond; {24418#(<= ~counter~0 18)} is VALID [2022-04-28 12:43:46,313 INFO L290 TraceCheckUtils]: 174: Hoare triple {24418#(<= ~counter~0 18)} assume !(0 == ~cond); {24418#(<= ~counter~0 18)} is VALID [2022-04-28 12:43:46,313 INFO L290 TraceCheckUtils]: 175: Hoare triple {24418#(<= ~counter~0 18)} assume true; {24418#(<= ~counter~0 18)} is VALID [2022-04-28 12:43:46,314 INFO L284 TraceCheckUtils]: 176: Hoare quadruple {24418#(<= ~counter~0 18)} {24418#(<= ~counter~0 18)} #63#return; {24418#(<= ~counter~0 18)} is VALID [2022-04-28 12:43:46,314 INFO L290 TraceCheckUtils]: 177: Hoare triple {24418#(<= ~counter~0 18)} assume !!(0 != ~r~0); {24418#(<= ~counter~0 18)} is VALID [2022-04-28 12:43:46,314 INFO L290 TraceCheckUtils]: 178: Hoare triple {24418#(<= ~counter~0 18)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {24418#(<= ~counter~0 18)} is VALID [2022-04-28 12:43:46,315 INFO L290 TraceCheckUtils]: 179: Hoare triple {24418#(<= ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24446#(<= |main_#t~post6| 18)} is VALID [2022-04-28 12:43:46,315 INFO L290 TraceCheckUtils]: 180: Hoare triple {24446#(<= |main_#t~post6| 18)} assume !(#t~post6 < 20);havoc #t~post6; {23886#false} is VALID [2022-04-28 12:43:46,315 INFO L272 TraceCheckUtils]: 181: Hoare triple {23886#false} call __VERIFIER_assert((if 4 * ~A~0 == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {23886#false} is VALID [2022-04-28 12:43:46,315 INFO L290 TraceCheckUtils]: 182: Hoare triple {23886#false} ~cond := #in~cond; {23886#false} is VALID [2022-04-28 12:43:46,315 INFO L290 TraceCheckUtils]: 183: Hoare triple {23886#false} assume 0 == ~cond; {23886#false} is VALID [2022-04-28 12:43:46,315 INFO L290 TraceCheckUtils]: 184: Hoare triple {23886#false} assume !false; {23886#false} is VALID [2022-04-28 12:43:46,316 INFO L134 CoverageAnalysis]: Checked inductivity of 1453 backedges. 36 proven. 1413 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:43:46,316 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:43:47,121 INFO L290 TraceCheckUtils]: 184: Hoare triple {23886#false} assume !false; {23886#false} is VALID [2022-04-28 12:43:47,122 INFO L290 TraceCheckUtils]: 183: Hoare triple {23886#false} assume 0 == ~cond; {23886#false} is VALID [2022-04-28 12:43:47,122 INFO L290 TraceCheckUtils]: 182: Hoare triple {23886#false} ~cond := #in~cond; {23886#false} is VALID [2022-04-28 12:43:47,122 INFO L272 TraceCheckUtils]: 181: Hoare triple {23886#false} call __VERIFIER_assert((if 4 * ~A~0 == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {23886#false} is VALID [2022-04-28 12:43:47,122 INFO L290 TraceCheckUtils]: 180: Hoare triple {24474#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {23886#false} is VALID [2022-04-28 12:43:47,122 INFO L290 TraceCheckUtils]: 179: Hoare triple {24478#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24474#(< |main_#t~post6| 20)} is VALID [2022-04-28 12:43:47,123 INFO L290 TraceCheckUtils]: 178: Hoare triple {24478#(< ~counter~0 20)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {24478#(< ~counter~0 20)} is VALID [2022-04-28 12:43:47,123 INFO L290 TraceCheckUtils]: 177: Hoare triple {24478#(< ~counter~0 20)} assume !!(0 != ~r~0); {24478#(< ~counter~0 20)} is VALID [2022-04-28 12:43:47,123 INFO L284 TraceCheckUtils]: 176: Hoare quadruple {23885#true} {24478#(< ~counter~0 20)} #63#return; {24478#(< ~counter~0 20)} is VALID [2022-04-28 12:43:47,124 INFO L290 TraceCheckUtils]: 175: Hoare triple {23885#true} assume true; {23885#true} is VALID [2022-04-28 12:43:47,124 INFO L290 TraceCheckUtils]: 174: Hoare triple {23885#true} assume !(0 == ~cond); {23885#true} is VALID [2022-04-28 12:43:47,124 INFO L290 TraceCheckUtils]: 173: Hoare triple {23885#true} ~cond := #in~cond; {23885#true} is VALID [2022-04-28 12:43:47,124 INFO L272 TraceCheckUtils]: 172: Hoare triple {24478#(< ~counter~0 20)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {23885#true} is VALID [2022-04-28 12:43:47,124 INFO L290 TraceCheckUtils]: 171: Hoare triple {24478#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6; {24478#(< ~counter~0 20)} is VALID [2022-04-28 12:43:47,125 INFO L290 TraceCheckUtils]: 170: Hoare triple {24418#(<= ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24478#(< ~counter~0 20)} is VALID [2022-04-28 12:43:47,125 INFO L290 TraceCheckUtils]: 169: Hoare triple {24418#(<= ~counter~0 18)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {24418#(<= ~counter~0 18)} is VALID [2022-04-28 12:43:47,125 INFO L290 TraceCheckUtils]: 168: Hoare triple {24418#(<= ~counter~0 18)} assume !!(0 != ~r~0); {24418#(<= ~counter~0 18)} is VALID [2022-04-28 12:43:47,126 INFO L284 TraceCheckUtils]: 167: Hoare quadruple {23885#true} {24418#(<= ~counter~0 18)} #63#return; {24418#(<= ~counter~0 18)} is VALID [2022-04-28 12:43:47,126 INFO L290 TraceCheckUtils]: 166: Hoare triple {23885#true} assume true; {23885#true} is VALID [2022-04-28 12:43:47,126 INFO L290 TraceCheckUtils]: 165: Hoare triple {23885#true} assume !(0 == ~cond); {23885#true} is VALID [2022-04-28 12:43:47,126 INFO L290 TraceCheckUtils]: 164: Hoare triple {23885#true} ~cond := #in~cond; {23885#true} is VALID [2022-04-28 12:43:47,126 INFO L272 TraceCheckUtils]: 163: Hoare triple {24418#(<= ~counter~0 18)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {23885#true} is VALID [2022-04-28 12:43:47,126 INFO L290 TraceCheckUtils]: 162: Hoare triple {24418#(<= ~counter~0 18)} assume !!(#t~post6 < 20);havoc #t~post6; {24418#(<= ~counter~0 18)} is VALID [2022-04-28 12:43:47,127 INFO L290 TraceCheckUtils]: 161: Hoare triple {24390#(<= ~counter~0 17)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24418#(<= ~counter~0 18)} is VALID [2022-04-28 12:43:47,127 INFO L290 TraceCheckUtils]: 160: Hoare triple {24390#(<= ~counter~0 17)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {24390#(<= ~counter~0 17)} is VALID [2022-04-28 12:43:47,127 INFO L290 TraceCheckUtils]: 159: Hoare triple {24390#(<= ~counter~0 17)} assume !!(0 != ~r~0); {24390#(<= ~counter~0 17)} is VALID [2022-04-28 12:43:47,128 INFO L284 TraceCheckUtils]: 158: Hoare quadruple {23885#true} {24390#(<= ~counter~0 17)} #63#return; {24390#(<= ~counter~0 17)} is VALID [2022-04-28 12:43:47,128 INFO L290 TraceCheckUtils]: 157: Hoare triple {23885#true} assume true; {23885#true} is VALID [2022-04-28 12:43:47,128 INFO L290 TraceCheckUtils]: 156: Hoare triple {23885#true} assume !(0 == ~cond); {23885#true} is VALID [2022-04-28 12:43:47,128 INFO L290 TraceCheckUtils]: 155: Hoare triple {23885#true} ~cond := #in~cond; {23885#true} is VALID [2022-04-28 12:43:47,128 INFO L272 TraceCheckUtils]: 154: Hoare triple {24390#(<= ~counter~0 17)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {23885#true} is VALID [2022-04-28 12:43:47,128 INFO L290 TraceCheckUtils]: 153: Hoare triple {24390#(<= ~counter~0 17)} assume !!(#t~post6 < 20);havoc #t~post6; {24390#(<= ~counter~0 17)} is VALID [2022-04-28 12:43:47,129 INFO L290 TraceCheckUtils]: 152: Hoare triple {24362#(<= ~counter~0 16)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24390#(<= ~counter~0 17)} is VALID [2022-04-28 12:43:47,129 INFO L290 TraceCheckUtils]: 151: Hoare triple {24362#(<= ~counter~0 16)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {24362#(<= ~counter~0 16)} is VALID [2022-04-28 12:43:47,129 INFO L290 TraceCheckUtils]: 150: Hoare triple {24362#(<= ~counter~0 16)} assume !!(0 != ~r~0); {24362#(<= ~counter~0 16)} is VALID [2022-04-28 12:43:47,130 INFO L284 TraceCheckUtils]: 149: Hoare quadruple {23885#true} {24362#(<= ~counter~0 16)} #63#return; {24362#(<= ~counter~0 16)} is VALID [2022-04-28 12:43:47,130 INFO L290 TraceCheckUtils]: 148: Hoare triple {23885#true} assume true; {23885#true} is VALID [2022-04-28 12:43:47,130 INFO L290 TraceCheckUtils]: 147: Hoare triple {23885#true} assume !(0 == ~cond); {23885#true} is VALID [2022-04-28 12:43:47,130 INFO L290 TraceCheckUtils]: 146: Hoare triple {23885#true} ~cond := #in~cond; {23885#true} is VALID [2022-04-28 12:43:47,130 INFO L272 TraceCheckUtils]: 145: Hoare triple {24362#(<= ~counter~0 16)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {23885#true} is VALID [2022-04-28 12:43:47,130 INFO L290 TraceCheckUtils]: 144: Hoare triple {24362#(<= ~counter~0 16)} assume !!(#t~post6 < 20);havoc #t~post6; {24362#(<= ~counter~0 16)} is VALID [2022-04-28 12:43:47,131 INFO L290 TraceCheckUtils]: 143: Hoare triple {24334#(<= ~counter~0 15)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24362#(<= ~counter~0 16)} is VALID [2022-04-28 12:43:47,131 INFO L290 TraceCheckUtils]: 142: Hoare triple {24334#(<= ~counter~0 15)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {24334#(<= ~counter~0 15)} is VALID [2022-04-28 12:43:47,131 INFO L290 TraceCheckUtils]: 141: Hoare triple {24334#(<= ~counter~0 15)} assume !!(0 != ~r~0); {24334#(<= ~counter~0 15)} is VALID [2022-04-28 12:43:47,132 INFO L284 TraceCheckUtils]: 140: Hoare quadruple {23885#true} {24334#(<= ~counter~0 15)} #63#return; {24334#(<= ~counter~0 15)} is VALID [2022-04-28 12:43:47,132 INFO L290 TraceCheckUtils]: 139: Hoare triple {23885#true} assume true; {23885#true} is VALID [2022-04-28 12:43:47,132 INFO L290 TraceCheckUtils]: 138: Hoare triple {23885#true} assume !(0 == ~cond); {23885#true} is VALID [2022-04-28 12:43:47,132 INFO L290 TraceCheckUtils]: 137: Hoare triple {23885#true} ~cond := #in~cond; {23885#true} is VALID [2022-04-28 12:43:47,132 INFO L272 TraceCheckUtils]: 136: Hoare triple {24334#(<= ~counter~0 15)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {23885#true} is VALID [2022-04-28 12:43:47,132 INFO L290 TraceCheckUtils]: 135: Hoare triple {24334#(<= ~counter~0 15)} assume !!(#t~post6 < 20);havoc #t~post6; {24334#(<= ~counter~0 15)} is VALID [2022-04-28 12:43:47,133 INFO L290 TraceCheckUtils]: 134: Hoare triple {24306#(<= ~counter~0 14)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24334#(<= ~counter~0 15)} is VALID [2022-04-28 12:43:47,133 INFO L290 TraceCheckUtils]: 133: Hoare triple {24306#(<= ~counter~0 14)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {24306#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:47,134 INFO L290 TraceCheckUtils]: 132: Hoare triple {24306#(<= ~counter~0 14)} assume !!(0 != ~r~0); {24306#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:47,134 INFO L284 TraceCheckUtils]: 131: Hoare quadruple {23885#true} {24306#(<= ~counter~0 14)} #63#return; {24306#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:47,134 INFO L290 TraceCheckUtils]: 130: Hoare triple {23885#true} assume true; {23885#true} is VALID [2022-04-28 12:43:47,134 INFO L290 TraceCheckUtils]: 129: Hoare triple {23885#true} assume !(0 == ~cond); {23885#true} is VALID [2022-04-28 12:43:47,134 INFO L290 TraceCheckUtils]: 128: Hoare triple {23885#true} ~cond := #in~cond; {23885#true} is VALID [2022-04-28 12:43:47,134 INFO L272 TraceCheckUtils]: 127: Hoare triple {24306#(<= ~counter~0 14)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {23885#true} is VALID [2022-04-28 12:43:47,135 INFO L290 TraceCheckUtils]: 126: Hoare triple {24306#(<= ~counter~0 14)} assume !!(#t~post6 < 20);havoc #t~post6; {24306#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:47,135 INFO L290 TraceCheckUtils]: 125: Hoare triple {24278#(<= ~counter~0 13)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24306#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:47,135 INFO L290 TraceCheckUtils]: 124: Hoare triple {24278#(<= ~counter~0 13)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {24278#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:47,136 INFO L290 TraceCheckUtils]: 123: Hoare triple {24278#(<= ~counter~0 13)} assume !!(0 != ~r~0); {24278#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:47,136 INFO L284 TraceCheckUtils]: 122: Hoare quadruple {23885#true} {24278#(<= ~counter~0 13)} #63#return; {24278#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:47,136 INFO L290 TraceCheckUtils]: 121: Hoare triple {23885#true} assume true; {23885#true} is VALID [2022-04-28 12:43:47,136 INFO L290 TraceCheckUtils]: 120: Hoare triple {23885#true} assume !(0 == ~cond); {23885#true} is VALID [2022-04-28 12:43:47,136 INFO L290 TraceCheckUtils]: 119: Hoare triple {23885#true} ~cond := #in~cond; {23885#true} is VALID [2022-04-28 12:43:47,136 INFO L272 TraceCheckUtils]: 118: Hoare triple {24278#(<= ~counter~0 13)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {23885#true} is VALID [2022-04-28 12:43:47,137 INFO L290 TraceCheckUtils]: 117: Hoare triple {24278#(<= ~counter~0 13)} assume !!(#t~post6 < 20);havoc #t~post6; {24278#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:47,137 INFO L290 TraceCheckUtils]: 116: Hoare triple {24250#(<= ~counter~0 12)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24278#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:47,137 INFO L290 TraceCheckUtils]: 115: Hoare triple {24250#(<= ~counter~0 12)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {24250#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:47,138 INFO L290 TraceCheckUtils]: 114: Hoare triple {24250#(<= ~counter~0 12)} assume !!(0 != ~r~0); {24250#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:47,138 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {23885#true} {24250#(<= ~counter~0 12)} #63#return; {24250#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:47,138 INFO L290 TraceCheckUtils]: 112: Hoare triple {23885#true} assume true; {23885#true} is VALID [2022-04-28 12:43:47,138 INFO L290 TraceCheckUtils]: 111: Hoare triple {23885#true} assume !(0 == ~cond); {23885#true} is VALID [2022-04-28 12:43:47,138 INFO L290 TraceCheckUtils]: 110: Hoare triple {23885#true} ~cond := #in~cond; {23885#true} is VALID [2022-04-28 12:43:47,139 INFO L272 TraceCheckUtils]: 109: Hoare triple {24250#(<= ~counter~0 12)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {23885#true} is VALID [2022-04-28 12:43:47,139 INFO L290 TraceCheckUtils]: 108: Hoare triple {24250#(<= ~counter~0 12)} assume !!(#t~post6 < 20);havoc #t~post6; {24250#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:47,139 INFO L290 TraceCheckUtils]: 107: Hoare triple {24222#(<= ~counter~0 11)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24250#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:47,140 INFO L290 TraceCheckUtils]: 106: Hoare triple {24222#(<= ~counter~0 11)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {24222#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:47,140 INFO L290 TraceCheckUtils]: 105: Hoare triple {24222#(<= ~counter~0 11)} assume !!(0 != ~r~0); {24222#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:47,140 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {23885#true} {24222#(<= ~counter~0 11)} #63#return; {24222#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:47,140 INFO L290 TraceCheckUtils]: 103: Hoare triple {23885#true} assume true; {23885#true} is VALID [2022-04-28 12:43:47,140 INFO L290 TraceCheckUtils]: 102: Hoare triple {23885#true} assume !(0 == ~cond); {23885#true} is VALID [2022-04-28 12:43:47,141 INFO L290 TraceCheckUtils]: 101: Hoare triple {23885#true} ~cond := #in~cond; {23885#true} is VALID [2022-04-28 12:43:47,141 INFO L272 TraceCheckUtils]: 100: Hoare triple {24222#(<= ~counter~0 11)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {23885#true} is VALID [2022-04-28 12:43:47,141 INFO L290 TraceCheckUtils]: 99: Hoare triple {24222#(<= ~counter~0 11)} assume !!(#t~post6 < 20);havoc #t~post6; {24222#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:47,141 INFO L290 TraceCheckUtils]: 98: Hoare triple {24194#(<= ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24222#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:47,142 INFO L290 TraceCheckUtils]: 97: Hoare triple {24194#(<= ~counter~0 10)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {24194#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:47,142 INFO L290 TraceCheckUtils]: 96: Hoare triple {24194#(<= ~counter~0 10)} assume !!(0 != ~r~0); {24194#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:47,142 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {23885#true} {24194#(<= ~counter~0 10)} #63#return; {24194#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:47,142 INFO L290 TraceCheckUtils]: 94: Hoare triple {23885#true} assume true; {23885#true} is VALID [2022-04-28 12:43:47,143 INFO L290 TraceCheckUtils]: 93: Hoare triple {23885#true} assume !(0 == ~cond); {23885#true} is VALID [2022-04-28 12:43:47,143 INFO L290 TraceCheckUtils]: 92: Hoare triple {23885#true} ~cond := #in~cond; {23885#true} is VALID [2022-04-28 12:43:47,143 INFO L272 TraceCheckUtils]: 91: Hoare triple {24194#(<= ~counter~0 10)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {23885#true} is VALID [2022-04-28 12:43:47,143 INFO L290 TraceCheckUtils]: 90: Hoare triple {24194#(<= ~counter~0 10)} assume !!(#t~post6 < 20);havoc #t~post6; {24194#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:47,143 INFO L290 TraceCheckUtils]: 89: Hoare triple {24166#(<= ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24194#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:47,144 INFO L290 TraceCheckUtils]: 88: Hoare triple {24166#(<= ~counter~0 9)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {24166#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:47,144 INFO L290 TraceCheckUtils]: 87: Hoare triple {24166#(<= ~counter~0 9)} assume !!(0 != ~r~0); {24166#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:47,144 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {23885#true} {24166#(<= ~counter~0 9)} #63#return; {24166#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:47,145 INFO L290 TraceCheckUtils]: 85: Hoare triple {23885#true} assume true; {23885#true} is VALID [2022-04-28 12:43:47,145 INFO L290 TraceCheckUtils]: 84: Hoare triple {23885#true} assume !(0 == ~cond); {23885#true} is VALID [2022-04-28 12:43:47,145 INFO L290 TraceCheckUtils]: 83: Hoare triple {23885#true} ~cond := #in~cond; {23885#true} is VALID [2022-04-28 12:43:47,145 INFO L272 TraceCheckUtils]: 82: Hoare triple {24166#(<= ~counter~0 9)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {23885#true} is VALID [2022-04-28 12:43:47,145 INFO L290 TraceCheckUtils]: 81: Hoare triple {24166#(<= ~counter~0 9)} assume !!(#t~post6 < 20);havoc #t~post6; {24166#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:47,146 INFO L290 TraceCheckUtils]: 80: Hoare triple {24138#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24166#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:47,146 INFO L290 TraceCheckUtils]: 79: Hoare triple {24138#(<= ~counter~0 8)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {24138#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:47,146 INFO L290 TraceCheckUtils]: 78: Hoare triple {24138#(<= ~counter~0 8)} assume !!(0 != ~r~0); {24138#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:47,147 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {23885#true} {24138#(<= ~counter~0 8)} #63#return; {24138#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:47,147 INFO L290 TraceCheckUtils]: 76: Hoare triple {23885#true} assume true; {23885#true} is VALID [2022-04-28 12:43:47,147 INFO L290 TraceCheckUtils]: 75: Hoare triple {23885#true} assume !(0 == ~cond); {23885#true} is VALID [2022-04-28 12:43:47,147 INFO L290 TraceCheckUtils]: 74: Hoare triple {23885#true} ~cond := #in~cond; {23885#true} is VALID [2022-04-28 12:43:47,147 INFO L272 TraceCheckUtils]: 73: Hoare triple {24138#(<= ~counter~0 8)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {23885#true} is VALID [2022-04-28 12:43:47,147 INFO L290 TraceCheckUtils]: 72: Hoare triple {24138#(<= ~counter~0 8)} assume !!(#t~post6 < 20);havoc #t~post6; {24138#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:47,148 INFO L290 TraceCheckUtils]: 71: Hoare triple {24110#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24138#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:47,148 INFO L290 TraceCheckUtils]: 70: Hoare triple {24110#(<= ~counter~0 7)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {24110#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:47,148 INFO L290 TraceCheckUtils]: 69: Hoare triple {24110#(<= ~counter~0 7)} assume !!(0 != ~r~0); {24110#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:47,149 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {23885#true} {24110#(<= ~counter~0 7)} #63#return; {24110#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:47,149 INFO L290 TraceCheckUtils]: 67: Hoare triple {23885#true} assume true; {23885#true} is VALID [2022-04-28 12:43:47,149 INFO L290 TraceCheckUtils]: 66: Hoare triple {23885#true} assume !(0 == ~cond); {23885#true} is VALID [2022-04-28 12:43:47,149 INFO L290 TraceCheckUtils]: 65: Hoare triple {23885#true} ~cond := #in~cond; {23885#true} is VALID [2022-04-28 12:43:47,149 INFO L272 TraceCheckUtils]: 64: Hoare triple {24110#(<= ~counter~0 7)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {23885#true} is VALID [2022-04-28 12:43:47,149 INFO L290 TraceCheckUtils]: 63: Hoare triple {24110#(<= ~counter~0 7)} assume !!(#t~post6 < 20);havoc #t~post6; {24110#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:47,150 INFO L290 TraceCheckUtils]: 62: Hoare triple {24082#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24110#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:47,150 INFO L290 TraceCheckUtils]: 61: Hoare triple {24082#(<= ~counter~0 6)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {24082#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:47,150 INFO L290 TraceCheckUtils]: 60: Hoare triple {24082#(<= ~counter~0 6)} assume !!(0 != ~r~0); {24082#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:47,151 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {23885#true} {24082#(<= ~counter~0 6)} #63#return; {24082#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:47,151 INFO L290 TraceCheckUtils]: 58: Hoare triple {23885#true} assume true; {23885#true} is VALID [2022-04-28 12:43:47,151 INFO L290 TraceCheckUtils]: 57: Hoare triple {23885#true} assume !(0 == ~cond); {23885#true} is VALID [2022-04-28 12:43:47,151 INFO L290 TraceCheckUtils]: 56: Hoare triple {23885#true} ~cond := #in~cond; {23885#true} is VALID [2022-04-28 12:43:47,151 INFO L272 TraceCheckUtils]: 55: Hoare triple {24082#(<= ~counter~0 6)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {23885#true} is VALID [2022-04-28 12:43:47,151 INFO L290 TraceCheckUtils]: 54: Hoare triple {24082#(<= ~counter~0 6)} assume !!(#t~post6 < 20);havoc #t~post6; {24082#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:47,152 INFO L290 TraceCheckUtils]: 53: Hoare triple {24054#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24082#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:47,152 INFO L290 TraceCheckUtils]: 52: Hoare triple {24054#(<= ~counter~0 5)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {24054#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:47,152 INFO L290 TraceCheckUtils]: 51: Hoare triple {24054#(<= ~counter~0 5)} assume !!(0 != ~r~0); {24054#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:47,153 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {23885#true} {24054#(<= ~counter~0 5)} #63#return; {24054#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:47,153 INFO L290 TraceCheckUtils]: 49: Hoare triple {23885#true} assume true; {23885#true} is VALID [2022-04-28 12:43:47,153 INFO L290 TraceCheckUtils]: 48: Hoare triple {23885#true} assume !(0 == ~cond); {23885#true} is VALID [2022-04-28 12:43:47,153 INFO L290 TraceCheckUtils]: 47: Hoare triple {23885#true} ~cond := #in~cond; {23885#true} is VALID [2022-04-28 12:43:47,153 INFO L272 TraceCheckUtils]: 46: Hoare triple {24054#(<= ~counter~0 5)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {23885#true} is VALID [2022-04-28 12:43:47,153 INFO L290 TraceCheckUtils]: 45: Hoare triple {24054#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {24054#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:47,154 INFO L290 TraceCheckUtils]: 44: Hoare triple {24026#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24054#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:47,154 INFO L290 TraceCheckUtils]: 43: Hoare triple {24026#(<= ~counter~0 4)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {24026#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:47,154 INFO L290 TraceCheckUtils]: 42: Hoare triple {24026#(<= ~counter~0 4)} assume !!(0 != ~r~0); {24026#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:47,155 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {23885#true} {24026#(<= ~counter~0 4)} #63#return; {24026#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:47,155 INFO L290 TraceCheckUtils]: 40: Hoare triple {23885#true} assume true; {23885#true} is VALID [2022-04-28 12:43:47,155 INFO L290 TraceCheckUtils]: 39: Hoare triple {23885#true} assume !(0 == ~cond); {23885#true} is VALID [2022-04-28 12:43:47,155 INFO L290 TraceCheckUtils]: 38: Hoare triple {23885#true} ~cond := #in~cond; {23885#true} is VALID [2022-04-28 12:43:47,155 INFO L272 TraceCheckUtils]: 37: Hoare triple {24026#(<= ~counter~0 4)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {23885#true} is VALID [2022-04-28 12:43:47,155 INFO L290 TraceCheckUtils]: 36: Hoare triple {24026#(<= ~counter~0 4)} assume !!(#t~post6 < 20);havoc #t~post6; {24026#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:47,156 INFO L290 TraceCheckUtils]: 35: Hoare triple {23998#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24026#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:47,156 INFO L290 TraceCheckUtils]: 34: Hoare triple {23998#(<= ~counter~0 3)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {23998#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:47,156 INFO L290 TraceCheckUtils]: 33: Hoare triple {23998#(<= ~counter~0 3)} assume !!(0 != ~r~0); {23998#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:47,157 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {23885#true} {23998#(<= ~counter~0 3)} #63#return; {23998#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:47,157 INFO L290 TraceCheckUtils]: 31: Hoare triple {23885#true} assume true; {23885#true} is VALID [2022-04-28 12:43:47,157 INFO L290 TraceCheckUtils]: 30: Hoare triple {23885#true} assume !(0 == ~cond); {23885#true} is VALID [2022-04-28 12:43:47,157 INFO L290 TraceCheckUtils]: 29: Hoare triple {23885#true} ~cond := #in~cond; {23885#true} is VALID [2022-04-28 12:43:47,157 INFO L272 TraceCheckUtils]: 28: Hoare triple {23998#(<= ~counter~0 3)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {23885#true} is VALID [2022-04-28 12:43:47,157 INFO L290 TraceCheckUtils]: 27: Hoare triple {23998#(<= ~counter~0 3)} assume !!(#t~post6 < 20);havoc #t~post6; {23998#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:47,158 INFO L290 TraceCheckUtils]: 26: Hoare triple {23970#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23998#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:47,158 INFO L290 TraceCheckUtils]: 25: Hoare triple {23970#(<= ~counter~0 2)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {23970#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:47,158 INFO L290 TraceCheckUtils]: 24: Hoare triple {23970#(<= ~counter~0 2)} assume !!(0 != ~r~0); {23970#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:47,159 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {23885#true} {23970#(<= ~counter~0 2)} #63#return; {23970#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:47,159 INFO L290 TraceCheckUtils]: 22: Hoare triple {23885#true} assume true; {23885#true} is VALID [2022-04-28 12:43:47,159 INFO L290 TraceCheckUtils]: 21: Hoare triple {23885#true} assume !(0 == ~cond); {23885#true} is VALID [2022-04-28 12:43:47,159 INFO L290 TraceCheckUtils]: 20: Hoare triple {23885#true} ~cond := #in~cond; {23885#true} is VALID [2022-04-28 12:43:47,159 INFO L272 TraceCheckUtils]: 19: Hoare triple {23970#(<= ~counter~0 2)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {23885#true} is VALID [2022-04-28 12:43:47,160 INFO L290 TraceCheckUtils]: 18: Hoare triple {23970#(<= ~counter~0 2)} assume !!(#t~post6 < 20);havoc #t~post6; {23970#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:47,160 INFO L290 TraceCheckUtils]: 17: Hoare triple {23942#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23970#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:47,160 INFO L290 TraceCheckUtils]: 16: Hoare triple {23942#(<= ~counter~0 1)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {23942#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:47,161 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {23885#true} {23942#(<= ~counter~0 1)} #61#return; {23942#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:47,161 INFO L290 TraceCheckUtils]: 14: Hoare triple {23885#true} assume true; {23885#true} is VALID [2022-04-28 12:43:47,161 INFO L290 TraceCheckUtils]: 13: Hoare triple {23885#true} assume !(0 == ~cond); {23885#true} is VALID [2022-04-28 12:43:47,161 INFO L290 TraceCheckUtils]: 12: Hoare triple {23885#true} ~cond := #in~cond; {23885#true} is VALID [2022-04-28 12:43:47,161 INFO L272 TraceCheckUtils]: 11: Hoare triple {23942#(<= ~counter~0 1)} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {23885#true} is VALID [2022-04-28 12:43:47,161 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {23885#true} {23942#(<= ~counter~0 1)} #59#return; {23942#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:47,161 INFO L290 TraceCheckUtils]: 9: Hoare triple {23885#true} assume true; {23885#true} is VALID [2022-04-28 12:43:47,162 INFO L290 TraceCheckUtils]: 8: Hoare triple {23885#true} assume !(0 == ~cond); {23885#true} is VALID [2022-04-28 12:43:47,162 INFO L290 TraceCheckUtils]: 7: Hoare triple {23885#true} ~cond := #in~cond; {23885#true} is VALID [2022-04-28 12:43:47,162 INFO L272 TraceCheckUtils]: 6: Hoare triple {23942#(<= ~counter~0 1)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {23885#true} is VALID [2022-04-28 12:43:47,162 INFO L290 TraceCheckUtils]: 5: Hoare triple {23942#(<= ~counter~0 1)} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~R~0 := #t~nondet5;havoc #t~nondet5; {23942#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:47,162 INFO L272 TraceCheckUtils]: 4: Hoare triple {23942#(<= ~counter~0 1)} call #t~ret7 := main(); {23942#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:47,163 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23942#(<= ~counter~0 1)} {23885#true} #67#return; {23942#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:47,163 INFO L290 TraceCheckUtils]: 2: Hoare triple {23942#(<= ~counter~0 1)} assume true; {23942#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:47,163 INFO L290 TraceCheckUtils]: 1: Hoare triple {23885#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; {23942#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:47,163 INFO L272 TraceCheckUtils]: 0: Hoare triple {23885#true} call ULTIMATE.init(); {23885#true} is VALID [2022-04-28 12:43:47,164 INFO L134 CoverageAnalysis]: Checked inductivity of 1453 backedges. 36 proven. 801 refuted. 0 times theorem prover too weak. 616 trivial. 0 not checked. [2022-04-28 12:43:47,164 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:43:47,164 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [181163773] [2022-04-28 12:43:47,164 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:43:47,164 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1996750049] [2022-04-28 12:43:47,164 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1996750049] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:43:47,165 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:43:47,165 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [22, 22] total 24 [2022-04-28 12:43:47,165 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:43:47,165 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1182241030] [2022-04-28 12:43:47,165 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1182241030] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:43:47,165 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:43:47,165 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [22] imperfect sequences [] total 22 [2022-04-28 12:43:47,165 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1521142565] [2022-04-28 12:43:47,165 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:43:47,166 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, (23), 21 states have call predecessors, (23), 19 states have return successors, (21), 19 states have call predecessors, (21), 20 states have call successors, (21) Word has length 185 [2022-04-28 12:43:47,166 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:43:47,166 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, (23), 21 states have call predecessors, (23), 19 states have return successors, (21), 19 states have call predecessors, (21), 20 states have call successors, (21) [2022-04-28 12:43:47,289 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 182 edges. 182 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:43:47,290 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 22 states [2022-04-28 12:43:47,290 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:43:47,290 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2022-04-28 12:43:47,290 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=236, Invalid=316, Unknown=0, NotChecked=0, Total=552 [2022-04-28 12:43:47,291 INFO L87 Difference]: Start difference. First operand 182 states and 201 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, (23), 21 states have call predecessors, (23), 19 states have return successors, (21), 19 states have call predecessors, (21), 20 states have call successors, (21) [2022-04-28 12:43:48,022 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:43:48,023 INFO L93 Difference]: Finished difference Result 196 states and 216 transitions. [2022-04-28 12:43:48,023 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 40 states. [2022-04-28 12:43:48,023 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, (23), 21 states have call predecessors, (23), 19 states have return successors, (21), 19 states have call predecessors, (21), 20 states have call successors, (21) Word has length 185 [2022-04-28 12:43:48,023 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:43:48,023 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, (23), 21 states have call predecessors, (23), 19 states have return successors, (21), 19 states have call predecessors, (21), 20 states have call successors, (21) [2022-04-28 12:43:48,027 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 215 transitions. [2022-04-28 12:43:48,027 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, (23), 21 states have call predecessors, (23), 19 states have return successors, (21), 19 states have call predecessors, (21), 20 states have call successors, (21) [2022-04-28 12:43:48,031 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 215 transitions. [2022-04-28 12:43:48,031 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 40 states and 215 transitions. [2022-04-28 12:43:48,204 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 215 edges. 215 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:43:48,207 INFO L225 Difference]: With dead ends: 196 [2022-04-28 12:43:48,207 INFO L226 Difference]: Without dead ends: 191 [2022-04-28 12:43:48,208 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 387 GetRequests, 346 SyntacticMatches, 1 SemanticMatches, 40 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 191 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=650, Invalid=1072, Unknown=0, NotChecked=0, Total=1722 [2022-04-28 12:43:48,208 INFO L413 NwaCegarLoop]: 44 mSDtfsCounter, 63 mSDsluCounter, 188 mSDsCounter, 0 mSdLazyCounter, 104 mSolverCounterSat, 21 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 63 SdHoareTripleChecker+Valid, 232 SdHoareTripleChecker+Invalid, 125 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 21 IncrementalHoareTripleChecker+Valid, 104 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:43:48,209 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [63 Valid, 232 Invalid, 125 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [21 Valid, 104 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:43:48,209 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 191 states. [2022-04-28 12:43:48,442 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 191 to 191. [2022-04-28 12:43:48,442 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:43:48,443 INFO L82 GeneralOperation]: Start isEquivalent. First operand 191 states. Second operand has 191 states, 145 states have (on average 1.1379310344827587) internal successors, (165), 145 states have internal predecessors, (165), 24 states have call successors, (24), 23 states have call predecessors, (24), 21 states have return successors, (22), 22 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-28 12:43:48,443 INFO L74 IsIncluded]: Start isIncluded. First operand 191 states. Second operand has 191 states, 145 states have (on average 1.1379310344827587) internal successors, (165), 145 states have internal predecessors, (165), 24 states have call successors, (24), 23 states have call predecessors, (24), 21 states have return successors, (22), 22 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-28 12:43:48,443 INFO L87 Difference]: Start difference. First operand 191 states. Second operand has 191 states, 145 states have (on average 1.1379310344827587) internal successors, (165), 145 states have internal predecessors, (165), 24 states have call successors, (24), 23 states have call predecessors, (24), 21 states have return successors, (22), 22 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-28 12:43:48,447 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:43:48,447 INFO L93 Difference]: Finished difference Result 191 states and 211 transitions. [2022-04-28 12:43:48,447 INFO L276 IsEmpty]: Start isEmpty. Operand 191 states and 211 transitions. [2022-04-28 12:43:48,447 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:43:48,447 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:43:48,448 INFO L74 IsIncluded]: Start isIncluded. First operand has 191 states, 145 states have (on average 1.1379310344827587) internal successors, (165), 145 states have internal predecessors, (165), 24 states have call successors, (24), 23 states have call predecessors, (24), 21 states have return successors, (22), 22 states have call predecessors, (22), 22 states have call successors, (22) Second operand 191 states. [2022-04-28 12:43:48,448 INFO L87 Difference]: Start difference. First operand has 191 states, 145 states have (on average 1.1379310344827587) internal successors, (165), 145 states have internal predecessors, (165), 24 states have call successors, (24), 23 states have call predecessors, (24), 21 states have return successors, (22), 22 states have call predecessors, (22), 22 states have call successors, (22) Second operand 191 states. [2022-04-28 12:43:48,451 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:43:48,451 INFO L93 Difference]: Finished difference Result 191 states and 211 transitions. [2022-04-28 12:43:48,451 INFO L276 IsEmpty]: Start isEmpty. Operand 191 states and 211 transitions. [2022-04-28 12:43:48,451 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:43:48,451 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:43:48,451 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:43:48,451 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:43:48,452 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 191 states, 145 states have (on average 1.1379310344827587) internal successors, (165), 145 states have internal predecessors, (165), 24 states have call successors, (24), 23 states have call predecessors, (24), 21 states have return successors, (22), 22 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-28 12:43:48,455 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 191 states to 191 states and 211 transitions. [2022-04-28 12:43:48,455 INFO L78 Accepts]: Start accepts. Automaton has 191 states and 211 transitions. Word has length 185 [2022-04-28 12:43:48,455 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:43:48,455 INFO L495 AbstractCegarLoop]: Abstraction has 191 states and 211 transitions. [2022-04-28 12:43:48,456 INFO L496 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, (23), 21 states have call predecessors, (23), 19 states have return successors, (21), 19 states have call predecessors, (21), 20 states have call successors, (21) [2022-04-28 12:43:48,456 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 191 states and 211 transitions. [2022-04-28 12:43:50,726 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 211 edges. 210 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 12:43:50,726 INFO L276 IsEmpty]: Start isEmpty. Operand 191 states and 211 transitions. [2022-04-28 12:43:50,726 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 195 [2022-04-28 12:43:50,727 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:43:50,727 INFO L195 NwaCegarLoop]: trace histogram [20, 20, 19, 19, 19, 19, 19, 19, 19, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:43:50,734 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-28 12:43:50,931 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable21,23 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:43:50,931 INFO L420 AbstractCegarLoop]: === Iteration 23 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:43:50,932 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:43:50,932 INFO L85 PathProgramCache]: Analyzing trace with hash 1522264156, now seen corresponding path program 37 times [2022-04-28 12:43:50,932 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:43:50,932 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [698654029] [2022-04-28 12:43:50,932 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:43:50,932 INFO L85 PathProgramCache]: Analyzing trace with hash 1522264156, now seen corresponding path program 38 times [2022-04-28 12:43:50,933 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:43:50,933 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1430304228] [2022-04-28 12:43:50,933 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:43:50,933 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:43:50,951 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:43:50,952 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [85938400] [2022-04-28 12:43:50,952 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:43:50,952 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:43:50,952 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:43:50,953 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-28 12:43:50,964 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-28 12:43:51,070 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:43:51,071 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:43:51,072 INFO L263 TraceCheckSpWp]: Trace formula consists of 473 conjuncts, 43 conjunts are in the unsatisfiable core [2022-04-28 12:43:51,110 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:43:51,112 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:43:52,066 INFO L272 TraceCheckUtils]: 0: Hoare triple {26210#true} call ULTIMATE.init(); {26210#true} is VALID [2022-04-28 12:43:52,067 INFO L290 TraceCheckUtils]: 1: Hoare triple {26210#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; {26218#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:52,067 INFO L290 TraceCheckUtils]: 2: Hoare triple {26218#(<= ~counter~0 0)} assume true; {26218#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:52,067 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {26218#(<= ~counter~0 0)} {26210#true} #67#return; {26218#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:52,068 INFO L272 TraceCheckUtils]: 4: Hoare triple {26218#(<= ~counter~0 0)} call #t~ret7 := main(); {26218#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:52,068 INFO L290 TraceCheckUtils]: 5: Hoare triple {26218#(<= ~counter~0 0)} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~R~0 := #t~nondet5;havoc #t~nondet5; {26218#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:52,068 INFO L272 TraceCheckUtils]: 6: Hoare triple {26218#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {26218#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:52,069 INFO L290 TraceCheckUtils]: 7: Hoare triple {26218#(<= ~counter~0 0)} ~cond := #in~cond; {26218#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:52,069 INFO L290 TraceCheckUtils]: 8: Hoare triple {26218#(<= ~counter~0 0)} assume !(0 == ~cond); {26218#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:52,069 INFO L290 TraceCheckUtils]: 9: Hoare triple {26218#(<= ~counter~0 0)} assume true; {26218#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:52,070 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {26218#(<= ~counter~0 0)} {26218#(<= ~counter~0 0)} #59#return; {26218#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:52,070 INFO L272 TraceCheckUtils]: 11: Hoare triple {26218#(<= ~counter~0 0)} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {26218#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:52,070 INFO L290 TraceCheckUtils]: 12: Hoare triple {26218#(<= ~counter~0 0)} ~cond := #in~cond; {26218#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:52,071 INFO L290 TraceCheckUtils]: 13: Hoare triple {26218#(<= ~counter~0 0)} assume !(0 == ~cond); {26218#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:52,071 INFO L290 TraceCheckUtils]: 14: Hoare triple {26218#(<= ~counter~0 0)} assume true; {26218#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:52,071 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {26218#(<= ~counter~0 0)} {26218#(<= ~counter~0 0)} #61#return; {26218#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:52,072 INFO L290 TraceCheckUtils]: 16: Hoare triple {26218#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {26218#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:52,072 INFO L290 TraceCheckUtils]: 17: Hoare triple {26218#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26267#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:52,073 INFO L290 TraceCheckUtils]: 18: Hoare triple {26267#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {26267#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:52,073 INFO L272 TraceCheckUtils]: 19: Hoare triple {26267#(<= ~counter~0 1)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {26267#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:52,073 INFO L290 TraceCheckUtils]: 20: Hoare triple {26267#(<= ~counter~0 1)} ~cond := #in~cond; {26267#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:52,074 INFO L290 TraceCheckUtils]: 21: Hoare triple {26267#(<= ~counter~0 1)} assume !(0 == ~cond); {26267#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:52,074 INFO L290 TraceCheckUtils]: 22: Hoare triple {26267#(<= ~counter~0 1)} assume true; {26267#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:52,074 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {26267#(<= ~counter~0 1)} {26267#(<= ~counter~0 1)} #63#return; {26267#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:52,075 INFO L290 TraceCheckUtils]: 24: Hoare triple {26267#(<= ~counter~0 1)} assume !!(0 != ~r~0); {26267#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:52,078 INFO L290 TraceCheckUtils]: 25: Hoare triple {26267#(<= ~counter~0 1)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {26267#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:52,078 INFO L290 TraceCheckUtils]: 26: Hoare triple {26267#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26295#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:52,079 INFO L290 TraceCheckUtils]: 27: Hoare triple {26295#(<= ~counter~0 2)} assume !!(#t~post6 < 20);havoc #t~post6; {26295#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:52,079 INFO L272 TraceCheckUtils]: 28: Hoare triple {26295#(<= ~counter~0 2)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {26295#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:52,079 INFO L290 TraceCheckUtils]: 29: Hoare triple {26295#(<= ~counter~0 2)} ~cond := #in~cond; {26295#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:52,080 INFO L290 TraceCheckUtils]: 30: Hoare triple {26295#(<= ~counter~0 2)} assume !(0 == ~cond); {26295#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:52,080 INFO L290 TraceCheckUtils]: 31: Hoare triple {26295#(<= ~counter~0 2)} assume true; {26295#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:52,081 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {26295#(<= ~counter~0 2)} {26295#(<= ~counter~0 2)} #63#return; {26295#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:52,081 INFO L290 TraceCheckUtils]: 33: Hoare triple {26295#(<= ~counter~0 2)} assume !!(0 != ~r~0); {26295#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:52,081 INFO L290 TraceCheckUtils]: 34: Hoare triple {26295#(<= ~counter~0 2)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {26295#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:52,082 INFO L290 TraceCheckUtils]: 35: Hoare triple {26295#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26323#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:52,082 INFO L290 TraceCheckUtils]: 36: Hoare triple {26323#(<= ~counter~0 3)} assume !!(#t~post6 < 20);havoc #t~post6; {26323#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:52,082 INFO L272 TraceCheckUtils]: 37: Hoare triple {26323#(<= ~counter~0 3)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {26323#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:52,083 INFO L290 TraceCheckUtils]: 38: Hoare triple {26323#(<= ~counter~0 3)} ~cond := #in~cond; {26323#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:52,083 INFO L290 TraceCheckUtils]: 39: Hoare triple {26323#(<= ~counter~0 3)} assume !(0 == ~cond); {26323#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:52,083 INFO L290 TraceCheckUtils]: 40: Hoare triple {26323#(<= ~counter~0 3)} assume true; {26323#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:52,084 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {26323#(<= ~counter~0 3)} {26323#(<= ~counter~0 3)} #63#return; {26323#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:52,084 INFO L290 TraceCheckUtils]: 42: Hoare triple {26323#(<= ~counter~0 3)} assume !!(0 != ~r~0); {26323#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:52,084 INFO L290 TraceCheckUtils]: 43: Hoare triple {26323#(<= ~counter~0 3)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {26323#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:52,085 INFO L290 TraceCheckUtils]: 44: Hoare triple {26323#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26351#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:52,085 INFO L290 TraceCheckUtils]: 45: Hoare triple {26351#(<= ~counter~0 4)} assume !!(#t~post6 < 20);havoc #t~post6; {26351#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:52,085 INFO L272 TraceCheckUtils]: 46: Hoare triple {26351#(<= ~counter~0 4)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {26351#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:52,086 INFO L290 TraceCheckUtils]: 47: Hoare triple {26351#(<= ~counter~0 4)} ~cond := #in~cond; {26351#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:52,086 INFO L290 TraceCheckUtils]: 48: Hoare triple {26351#(<= ~counter~0 4)} assume !(0 == ~cond); {26351#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:52,086 INFO L290 TraceCheckUtils]: 49: Hoare triple {26351#(<= ~counter~0 4)} assume true; {26351#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:52,087 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {26351#(<= ~counter~0 4)} {26351#(<= ~counter~0 4)} #63#return; {26351#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:52,087 INFO L290 TraceCheckUtils]: 51: Hoare triple {26351#(<= ~counter~0 4)} assume !!(0 != ~r~0); {26351#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:52,087 INFO L290 TraceCheckUtils]: 52: Hoare triple {26351#(<= ~counter~0 4)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {26351#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:52,088 INFO L290 TraceCheckUtils]: 53: Hoare triple {26351#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26379#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:52,088 INFO L290 TraceCheckUtils]: 54: Hoare triple {26379#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {26379#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:52,089 INFO L272 TraceCheckUtils]: 55: Hoare triple {26379#(<= ~counter~0 5)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {26379#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:52,089 INFO L290 TraceCheckUtils]: 56: Hoare triple {26379#(<= ~counter~0 5)} ~cond := #in~cond; {26379#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:52,089 INFO L290 TraceCheckUtils]: 57: Hoare triple {26379#(<= ~counter~0 5)} assume !(0 == ~cond); {26379#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:52,089 INFO L290 TraceCheckUtils]: 58: Hoare triple {26379#(<= ~counter~0 5)} assume true; {26379#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:52,090 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {26379#(<= ~counter~0 5)} {26379#(<= ~counter~0 5)} #63#return; {26379#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:52,090 INFO L290 TraceCheckUtils]: 60: Hoare triple {26379#(<= ~counter~0 5)} assume !!(0 != ~r~0); {26379#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:52,090 INFO L290 TraceCheckUtils]: 61: Hoare triple {26379#(<= ~counter~0 5)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {26379#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:52,091 INFO L290 TraceCheckUtils]: 62: Hoare triple {26379#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26407#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:52,091 INFO L290 TraceCheckUtils]: 63: Hoare triple {26407#(<= ~counter~0 6)} assume !!(#t~post6 < 20);havoc #t~post6; {26407#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:52,092 INFO L272 TraceCheckUtils]: 64: Hoare triple {26407#(<= ~counter~0 6)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {26407#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:52,092 INFO L290 TraceCheckUtils]: 65: Hoare triple {26407#(<= ~counter~0 6)} ~cond := #in~cond; {26407#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:52,092 INFO L290 TraceCheckUtils]: 66: Hoare triple {26407#(<= ~counter~0 6)} assume !(0 == ~cond); {26407#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:52,093 INFO L290 TraceCheckUtils]: 67: Hoare triple {26407#(<= ~counter~0 6)} assume true; {26407#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:52,093 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {26407#(<= ~counter~0 6)} {26407#(<= ~counter~0 6)} #63#return; {26407#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:52,093 INFO L290 TraceCheckUtils]: 69: Hoare triple {26407#(<= ~counter~0 6)} assume !!(0 != ~r~0); {26407#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:52,094 INFO L290 TraceCheckUtils]: 70: Hoare triple {26407#(<= ~counter~0 6)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {26407#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:52,094 INFO L290 TraceCheckUtils]: 71: Hoare triple {26407#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26435#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:52,095 INFO L290 TraceCheckUtils]: 72: Hoare triple {26435#(<= ~counter~0 7)} assume !!(#t~post6 < 20);havoc #t~post6; {26435#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:52,095 INFO L272 TraceCheckUtils]: 73: Hoare triple {26435#(<= ~counter~0 7)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {26435#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:52,095 INFO L290 TraceCheckUtils]: 74: Hoare triple {26435#(<= ~counter~0 7)} ~cond := #in~cond; {26435#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:52,096 INFO L290 TraceCheckUtils]: 75: Hoare triple {26435#(<= ~counter~0 7)} assume !(0 == ~cond); {26435#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:52,096 INFO L290 TraceCheckUtils]: 76: Hoare triple {26435#(<= ~counter~0 7)} assume true; {26435#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:52,096 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {26435#(<= ~counter~0 7)} {26435#(<= ~counter~0 7)} #63#return; {26435#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:52,097 INFO L290 TraceCheckUtils]: 78: Hoare triple {26435#(<= ~counter~0 7)} assume !!(0 != ~r~0); {26435#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:52,097 INFO L290 TraceCheckUtils]: 79: Hoare triple {26435#(<= ~counter~0 7)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {26435#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:52,098 INFO L290 TraceCheckUtils]: 80: Hoare triple {26435#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26463#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:52,098 INFO L290 TraceCheckUtils]: 81: Hoare triple {26463#(<= ~counter~0 8)} assume !!(#t~post6 < 20);havoc #t~post6; {26463#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:52,099 INFO L272 TraceCheckUtils]: 82: Hoare triple {26463#(<= ~counter~0 8)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {26463#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:52,099 INFO L290 TraceCheckUtils]: 83: Hoare triple {26463#(<= ~counter~0 8)} ~cond := #in~cond; {26463#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:52,100 INFO L290 TraceCheckUtils]: 84: Hoare triple {26463#(<= ~counter~0 8)} assume !(0 == ~cond); {26463#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:52,100 INFO L290 TraceCheckUtils]: 85: Hoare triple {26463#(<= ~counter~0 8)} assume true; {26463#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:52,101 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {26463#(<= ~counter~0 8)} {26463#(<= ~counter~0 8)} #63#return; {26463#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:52,101 INFO L290 TraceCheckUtils]: 87: Hoare triple {26463#(<= ~counter~0 8)} assume !!(0 != ~r~0); {26463#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:52,101 INFO L290 TraceCheckUtils]: 88: Hoare triple {26463#(<= ~counter~0 8)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {26463#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:52,102 INFO L290 TraceCheckUtils]: 89: Hoare triple {26463#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26491#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:52,102 INFO L290 TraceCheckUtils]: 90: Hoare triple {26491#(<= ~counter~0 9)} assume !!(#t~post6 < 20);havoc #t~post6; {26491#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:52,102 INFO L272 TraceCheckUtils]: 91: Hoare triple {26491#(<= ~counter~0 9)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {26491#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:52,103 INFO L290 TraceCheckUtils]: 92: Hoare triple {26491#(<= ~counter~0 9)} ~cond := #in~cond; {26491#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:52,103 INFO L290 TraceCheckUtils]: 93: Hoare triple {26491#(<= ~counter~0 9)} assume !(0 == ~cond); {26491#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:52,103 INFO L290 TraceCheckUtils]: 94: Hoare triple {26491#(<= ~counter~0 9)} assume true; {26491#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:52,104 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {26491#(<= ~counter~0 9)} {26491#(<= ~counter~0 9)} #63#return; {26491#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:52,104 INFO L290 TraceCheckUtils]: 96: Hoare triple {26491#(<= ~counter~0 9)} assume !!(0 != ~r~0); {26491#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:52,104 INFO L290 TraceCheckUtils]: 97: Hoare triple {26491#(<= ~counter~0 9)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {26491#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:52,105 INFO L290 TraceCheckUtils]: 98: Hoare triple {26491#(<= ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26519#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:52,105 INFO L290 TraceCheckUtils]: 99: Hoare triple {26519#(<= ~counter~0 10)} assume !!(#t~post6 < 20);havoc #t~post6; {26519#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:52,106 INFO L272 TraceCheckUtils]: 100: Hoare triple {26519#(<= ~counter~0 10)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {26519#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:52,106 INFO L290 TraceCheckUtils]: 101: Hoare triple {26519#(<= ~counter~0 10)} ~cond := #in~cond; {26519#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:52,106 INFO L290 TraceCheckUtils]: 102: Hoare triple {26519#(<= ~counter~0 10)} assume !(0 == ~cond); {26519#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:52,106 INFO L290 TraceCheckUtils]: 103: Hoare triple {26519#(<= ~counter~0 10)} assume true; {26519#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:52,107 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {26519#(<= ~counter~0 10)} {26519#(<= ~counter~0 10)} #63#return; {26519#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:52,107 INFO L290 TraceCheckUtils]: 105: Hoare triple {26519#(<= ~counter~0 10)} assume !!(0 != ~r~0); {26519#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:52,107 INFO L290 TraceCheckUtils]: 106: Hoare triple {26519#(<= ~counter~0 10)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {26519#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:52,108 INFO L290 TraceCheckUtils]: 107: Hoare triple {26519#(<= ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26547#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:52,108 INFO L290 TraceCheckUtils]: 108: Hoare triple {26547#(<= ~counter~0 11)} assume !!(#t~post6 < 20);havoc #t~post6; {26547#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:52,109 INFO L272 TraceCheckUtils]: 109: Hoare triple {26547#(<= ~counter~0 11)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {26547#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:52,109 INFO L290 TraceCheckUtils]: 110: Hoare triple {26547#(<= ~counter~0 11)} ~cond := #in~cond; {26547#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:52,109 INFO L290 TraceCheckUtils]: 111: Hoare triple {26547#(<= ~counter~0 11)} assume !(0 == ~cond); {26547#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:52,109 INFO L290 TraceCheckUtils]: 112: Hoare triple {26547#(<= ~counter~0 11)} assume true; {26547#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:52,110 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {26547#(<= ~counter~0 11)} {26547#(<= ~counter~0 11)} #63#return; {26547#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:52,110 INFO L290 TraceCheckUtils]: 114: Hoare triple {26547#(<= ~counter~0 11)} assume !!(0 != ~r~0); {26547#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:52,110 INFO L290 TraceCheckUtils]: 115: Hoare triple {26547#(<= ~counter~0 11)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {26547#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:52,111 INFO L290 TraceCheckUtils]: 116: Hoare triple {26547#(<= ~counter~0 11)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26575#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:52,111 INFO L290 TraceCheckUtils]: 117: Hoare triple {26575#(<= ~counter~0 12)} assume !!(#t~post6 < 20);havoc #t~post6; {26575#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:52,112 INFO L272 TraceCheckUtils]: 118: Hoare triple {26575#(<= ~counter~0 12)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {26575#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:52,112 INFO L290 TraceCheckUtils]: 119: Hoare triple {26575#(<= ~counter~0 12)} ~cond := #in~cond; {26575#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:52,112 INFO L290 TraceCheckUtils]: 120: Hoare triple {26575#(<= ~counter~0 12)} assume !(0 == ~cond); {26575#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:52,113 INFO L290 TraceCheckUtils]: 121: Hoare triple {26575#(<= ~counter~0 12)} assume true; {26575#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:52,113 INFO L284 TraceCheckUtils]: 122: Hoare quadruple {26575#(<= ~counter~0 12)} {26575#(<= ~counter~0 12)} #63#return; {26575#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:52,113 INFO L290 TraceCheckUtils]: 123: Hoare triple {26575#(<= ~counter~0 12)} assume !!(0 != ~r~0); {26575#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:52,114 INFO L290 TraceCheckUtils]: 124: Hoare triple {26575#(<= ~counter~0 12)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {26575#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:52,114 INFO L290 TraceCheckUtils]: 125: Hoare triple {26575#(<= ~counter~0 12)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26603#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:52,114 INFO L290 TraceCheckUtils]: 126: Hoare triple {26603#(<= ~counter~0 13)} assume !!(#t~post6 < 20);havoc #t~post6; {26603#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:52,115 INFO L272 TraceCheckUtils]: 127: Hoare triple {26603#(<= ~counter~0 13)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {26603#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:52,115 INFO L290 TraceCheckUtils]: 128: Hoare triple {26603#(<= ~counter~0 13)} ~cond := #in~cond; {26603#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:52,115 INFO L290 TraceCheckUtils]: 129: Hoare triple {26603#(<= ~counter~0 13)} assume !(0 == ~cond); {26603#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:52,116 INFO L290 TraceCheckUtils]: 130: Hoare triple {26603#(<= ~counter~0 13)} assume true; {26603#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:52,116 INFO L284 TraceCheckUtils]: 131: Hoare quadruple {26603#(<= ~counter~0 13)} {26603#(<= ~counter~0 13)} #63#return; {26603#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:52,116 INFO L290 TraceCheckUtils]: 132: Hoare triple {26603#(<= ~counter~0 13)} assume !!(0 != ~r~0); {26603#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:52,117 INFO L290 TraceCheckUtils]: 133: Hoare triple {26603#(<= ~counter~0 13)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {26603#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:52,117 INFO L290 TraceCheckUtils]: 134: Hoare triple {26603#(<= ~counter~0 13)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26631#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:52,117 INFO L290 TraceCheckUtils]: 135: Hoare triple {26631#(<= ~counter~0 14)} assume !!(#t~post6 < 20);havoc #t~post6; {26631#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:52,118 INFO L272 TraceCheckUtils]: 136: Hoare triple {26631#(<= ~counter~0 14)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {26631#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:52,118 INFO L290 TraceCheckUtils]: 137: Hoare triple {26631#(<= ~counter~0 14)} ~cond := #in~cond; {26631#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:52,119 INFO L290 TraceCheckUtils]: 138: Hoare triple {26631#(<= ~counter~0 14)} assume !(0 == ~cond); {26631#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:52,119 INFO L290 TraceCheckUtils]: 139: Hoare triple {26631#(<= ~counter~0 14)} assume true; {26631#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:52,119 INFO L284 TraceCheckUtils]: 140: Hoare quadruple {26631#(<= ~counter~0 14)} {26631#(<= ~counter~0 14)} #63#return; {26631#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:52,120 INFO L290 TraceCheckUtils]: 141: Hoare triple {26631#(<= ~counter~0 14)} assume !!(0 != ~r~0); {26631#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:52,120 INFO L290 TraceCheckUtils]: 142: Hoare triple {26631#(<= ~counter~0 14)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {26631#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:52,120 INFO L290 TraceCheckUtils]: 143: Hoare triple {26631#(<= ~counter~0 14)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26659#(<= ~counter~0 15)} is VALID [2022-04-28 12:43:52,121 INFO L290 TraceCheckUtils]: 144: Hoare triple {26659#(<= ~counter~0 15)} assume !!(#t~post6 < 20);havoc #t~post6; {26659#(<= ~counter~0 15)} is VALID [2022-04-28 12:43:52,121 INFO L272 TraceCheckUtils]: 145: Hoare triple {26659#(<= ~counter~0 15)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {26659#(<= ~counter~0 15)} is VALID [2022-04-28 12:43:52,121 INFO L290 TraceCheckUtils]: 146: Hoare triple {26659#(<= ~counter~0 15)} ~cond := #in~cond; {26659#(<= ~counter~0 15)} is VALID [2022-04-28 12:43:52,122 INFO L290 TraceCheckUtils]: 147: Hoare triple {26659#(<= ~counter~0 15)} assume !(0 == ~cond); {26659#(<= ~counter~0 15)} is VALID [2022-04-28 12:43:52,122 INFO L290 TraceCheckUtils]: 148: Hoare triple {26659#(<= ~counter~0 15)} assume true; {26659#(<= ~counter~0 15)} is VALID [2022-04-28 12:43:52,122 INFO L284 TraceCheckUtils]: 149: Hoare quadruple {26659#(<= ~counter~0 15)} {26659#(<= ~counter~0 15)} #63#return; {26659#(<= ~counter~0 15)} is VALID [2022-04-28 12:43:52,123 INFO L290 TraceCheckUtils]: 150: Hoare triple {26659#(<= ~counter~0 15)} assume !!(0 != ~r~0); {26659#(<= ~counter~0 15)} is VALID [2022-04-28 12:43:52,123 INFO L290 TraceCheckUtils]: 151: Hoare triple {26659#(<= ~counter~0 15)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {26659#(<= ~counter~0 15)} is VALID [2022-04-28 12:43:52,124 INFO L290 TraceCheckUtils]: 152: Hoare triple {26659#(<= ~counter~0 15)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26687#(<= ~counter~0 16)} is VALID [2022-04-28 12:43:52,124 INFO L290 TraceCheckUtils]: 153: Hoare triple {26687#(<= ~counter~0 16)} assume !!(#t~post6 < 20);havoc #t~post6; {26687#(<= ~counter~0 16)} is VALID [2022-04-28 12:43:52,124 INFO L272 TraceCheckUtils]: 154: Hoare triple {26687#(<= ~counter~0 16)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {26687#(<= ~counter~0 16)} is VALID [2022-04-28 12:43:52,125 INFO L290 TraceCheckUtils]: 155: Hoare triple {26687#(<= ~counter~0 16)} ~cond := #in~cond; {26687#(<= ~counter~0 16)} is VALID [2022-04-28 12:43:52,125 INFO L290 TraceCheckUtils]: 156: Hoare triple {26687#(<= ~counter~0 16)} assume !(0 == ~cond); {26687#(<= ~counter~0 16)} is VALID [2022-04-28 12:43:52,125 INFO L290 TraceCheckUtils]: 157: Hoare triple {26687#(<= ~counter~0 16)} assume true; {26687#(<= ~counter~0 16)} is VALID [2022-04-28 12:43:52,126 INFO L284 TraceCheckUtils]: 158: Hoare quadruple {26687#(<= ~counter~0 16)} {26687#(<= ~counter~0 16)} #63#return; {26687#(<= ~counter~0 16)} is VALID [2022-04-28 12:43:52,126 INFO L290 TraceCheckUtils]: 159: Hoare triple {26687#(<= ~counter~0 16)} assume !!(0 != ~r~0); {26687#(<= ~counter~0 16)} is VALID [2022-04-28 12:43:52,126 INFO L290 TraceCheckUtils]: 160: Hoare triple {26687#(<= ~counter~0 16)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {26687#(<= ~counter~0 16)} is VALID [2022-04-28 12:43:52,127 INFO L290 TraceCheckUtils]: 161: Hoare triple {26687#(<= ~counter~0 16)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26715#(<= ~counter~0 17)} is VALID [2022-04-28 12:43:52,127 INFO L290 TraceCheckUtils]: 162: Hoare triple {26715#(<= ~counter~0 17)} assume !!(#t~post6 < 20);havoc #t~post6; {26715#(<= ~counter~0 17)} is VALID [2022-04-28 12:43:52,127 INFO L272 TraceCheckUtils]: 163: Hoare triple {26715#(<= ~counter~0 17)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {26715#(<= ~counter~0 17)} is VALID [2022-04-28 12:43:52,128 INFO L290 TraceCheckUtils]: 164: Hoare triple {26715#(<= ~counter~0 17)} ~cond := #in~cond; {26715#(<= ~counter~0 17)} is VALID [2022-04-28 12:43:52,128 INFO L290 TraceCheckUtils]: 165: Hoare triple {26715#(<= ~counter~0 17)} assume !(0 == ~cond); {26715#(<= ~counter~0 17)} is VALID [2022-04-28 12:43:52,128 INFO L290 TraceCheckUtils]: 166: Hoare triple {26715#(<= ~counter~0 17)} assume true; {26715#(<= ~counter~0 17)} is VALID [2022-04-28 12:43:52,129 INFO L284 TraceCheckUtils]: 167: Hoare quadruple {26715#(<= ~counter~0 17)} {26715#(<= ~counter~0 17)} #63#return; {26715#(<= ~counter~0 17)} is VALID [2022-04-28 12:43:52,129 INFO L290 TraceCheckUtils]: 168: Hoare triple {26715#(<= ~counter~0 17)} assume !!(0 != ~r~0); {26715#(<= ~counter~0 17)} is VALID [2022-04-28 12:43:52,129 INFO L290 TraceCheckUtils]: 169: Hoare triple {26715#(<= ~counter~0 17)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {26715#(<= ~counter~0 17)} is VALID [2022-04-28 12:43:52,130 INFO L290 TraceCheckUtils]: 170: Hoare triple {26715#(<= ~counter~0 17)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26743#(<= ~counter~0 18)} is VALID [2022-04-28 12:43:52,130 INFO L290 TraceCheckUtils]: 171: Hoare triple {26743#(<= ~counter~0 18)} assume !!(#t~post6 < 20);havoc #t~post6; {26743#(<= ~counter~0 18)} is VALID [2022-04-28 12:43:52,131 INFO L272 TraceCheckUtils]: 172: Hoare triple {26743#(<= ~counter~0 18)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {26743#(<= ~counter~0 18)} is VALID [2022-04-28 12:43:52,131 INFO L290 TraceCheckUtils]: 173: Hoare triple {26743#(<= ~counter~0 18)} ~cond := #in~cond; {26743#(<= ~counter~0 18)} is VALID [2022-04-28 12:43:52,131 INFO L290 TraceCheckUtils]: 174: Hoare triple {26743#(<= ~counter~0 18)} assume !(0 == ~cond); {26743#(<= ~counter~0 18)} is VALID [2022-04-28 12:43:52,131 INFO L290 TraceCheckUtils]: 175: Hoare triple {26743#(<= ~counter~0 18)} assume true; {26743#(<= ~counter~0 18)} is VALID [2022-04-28 12:43:52,132 INFO L284 TraceCheckUtils]: 176: Hoare quadruple {26743#(<= ~counter~0 18)} {26743#(<= ~counter~0 18)} #63#return; {26743#(<= ~counter~0 18)} is VALID [2022-04-28 12:43:52,132 INFO L290 TraceCheckUtils]: 177: Hoare triple {26743#(<= ~counter~0 18)} assume !!(0 != ~r~0); {26743#(<= ~counter~0 18)} is VALID [2022-04-28 12:43:52,133 INFO L290 TraceCheckUtils]: 178: Hoare triple {26743#(<= ~counter~0 18)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {26743#(<= ~counter~0 18)} is VALID [2022-04-28 12:43:52,133 INFO L290 TraceCheckUtils]: 179: Hoare triple {26743#(<= ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26771#(<= ~counter~0 19)} is VALID [2022-04-28 12:43:52,133 INFO L290 TraceCheckUtils]: 180: Hoare triple {26771#(<= ~counter~0 19)} assume !!(#t~post6 < 20);havoc #t~post6; {26771#(<= ~counter~0 19)} is VALID [2022-04-28 12:43:52,134 INFO L272 TraceCheckUtils]: 181: Hoare triple {26771#(<= ~counter~0 19)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {26771#(<= ~counter~0 19)} is VALID [2022-04-28 12:43:52,134 INFO L290 TraceCheckUtils]: 182: Hoare triple {26771#(<= ~counter~0 19)} ~cond := #in~cond; {26771#(<= ~counter~0 19)} is VALID [2022-04-28 12:43:52,134 INFO L290 TraceCheckUtils]: 183: Hoare triple {26771#(<= ~counter~0 19)} assume !(0 == ~cond); {26771#(<= ~counter~0 19)} is VALID [2022-04-28 12:43:52,135 INFO L290 TraceCheckUtils]: 184: Hoare triple {26771#(<= ~counter~0 19)} assume true; {26771#(<= ~counter~0 19)} is VALID [2022-04-28 12:43:52,135 INFO L284 TraceCheckUtils]: 185: Hoare quadruple {26771#(<= ~counter~0 19)} {26771#(<= ~counter~0 19)} #63#return; {26771#(<= ~counter~0 19)} is VALID [2022-04-28 12:43:52,135 INFO L290 TraceCheckUtils]: 186: Hoare triple {26771#(<= ~counter~0 19)} assume !!(0 != ~r~0); {26771#(<= ~counter~0 19)} is VALID [2022-04-28 12:43:52,136 INFO L290 TraceCheckUtils]: 187: Hoare triple {26771#(<= ~counter~0 19)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {26771#(<= ~counter~0 19)} is VALID [2022-04-28 12:43:52,136 INFO L290 TraceCheckUtils]: 188: Hoare triple {26771#(<= ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26799#(<= |main_#t~post6| 19)} is VALID [2022-04-28 12:43:52,136 INFO L290 TraceCheckUtils]: 189: Hoare triple {26799#(<= |main_#t~post6| 19)} assume !(#t~post6 < 20);havoc #t~post6; {26211#false} is VALID [2022-04-28 12:43:52,136 INFO L272 TraceCheckUtils]: 190: Hoare triple {26211#false} call __VERIFIER_assert((if 4 * ~A~0 == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {26211#false} is VALID [2022-04-28 12:43:52,137 INFO L290 TraceCheckUtils]: 191: Hoare triple {26211#false} ~cond := #in~cond; {26211#false} is VALID [2022-04-28 12:43:52,137 INFO L290 TraceCheckUtils]: 192: Hoare triple {26211#false} assume 0 == ~cond; {26211#false} is VALID [2022-04-28 12:43:52,137 INFO L290 TraceCheckUtils]: 193: Hoare triple {26211#false} assume !false; {26211#false} is VALID [2022-04-28 12:43:52,137 INFO L134 CoverageAnalysis]: Checked inductivity of 1619 backedges. 38 proven. 1577 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:43:52,138 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:43:52,957 INFO L290 TraceCheckUtils]: 193: Hoare triple {26211#false} assume !false; {26211#false} is VALID [2022-04-28 12:43:52,957 INFO L290 TraceCheckUtils]: 192: Hoare triple {26211#false} assume 0 == ~cond; {26211#false} is VALID [2022-04-28 12:43:52,958 INFO L290 TraceCheckUtils]: 191: Hoare triple {26211#false} ~cond := #in~cond; {26211#false} is VALID [2022-04-28 12:43:52,958 INFO L272 TraceCheckUtils]: 190: Hoare triple {26211#false} call __VERIFIER_assert((if 4 * ~A~0 == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {26211#false} is VALID [2022-04-28 12:43:52,958 INFO L290 TraceCheckUtils]: 189: Hoare triple {26799#(<= |main_#t~post6| 19)} assume !(#t~post6 < 20);havoc #t~post6; {26211#false} is VALID [2022-04-28 12:43:52,959 INFO L290 TraceCheckUtils]: 188: Hoare triple {26771#(<= ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26799#(<= |main_#t~post6| 19)} is VALID [2022-04-28 12:43:52,959 INFO L290 TraceCheckUtils]: 187: Hoare triple {26771#(<= ~counter~0 19)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {26771#(<= ~counter~0 19)} is VALID [2022-04-28 12:43:52,959 INFO L290 TraceCheckUtils]: 186: Hoare triple {26771#(<= ~counter~0 19)} assume !!(0 != ~r~0); {26771#(<= ~counter~0 19)} is VALID [2022-04-28 12:43:52,960 INFO L284 TraceCheckUtils]: 185: Hoare quadruple {26210#true} {26771#(<= ~counter~0 19)} #63#return; {26771#(<= ~counter~0 19)} is VALID [2022-04-28 12:43:52,960 INFO L290 TraceCheckUtils]: 184: Hoare triple {26210#true} assume true; {26210#true} is VALID [2022-04-28 12:43:52,960 INFO L290 TraceCheckUtils]: 183: Hoare triple {26210#true} assume !(0 == ~cond); {26210#true} is VALID [2022-04-28 12:43:52,960 INFO L290 TraceCheckUtils]: 182: Hoare triple {26210#true} ~cond := #in~cond; {26210#true} is VALID [2022-04-28 12:43:52,960 INFO L272 TraceCheckUtils]: 181: Hoare triple {26771#(<= ~counter~0 19)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {26210#true} is VALID [2022-04-28 12:43:52,961 INFO L290 TraceCheckUtils]: 180: Hoare triple {26771#(<= ~counter~0 19)} assume !!(#t~post6 < 20);havoc #t~post6; {26771#(<= ~counter~0 19)} is VALID [2022-04-28 12:43:52,961 INFO L290 TraceCheckUtils]: 179: Hoare triple {26743#(<= ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26771#(<= ~counter~0 19)} is VALID [2022-04-28 12:43:52,962 INFO L290 TraceCheckUtils]: 178: Hoare triple {26743#(<= ~counter~0 18)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {26743#(<= ~counter~0 18)} is VALID [2022-04-28 12:43:52,962 INFO L290 TraceCheckUtils]: 177: Hoare triple {26743#(<= ~counter~0 18)} assume !!(0 != ~r~0); {26743#(<= ~counter~0 18)} is VALID [2022-04-28 12:43:52,963 INFO L284 TraceCheckUtils]: 176: Hoare quadruple {26210#true} {26743#(<= ~counter~0 18)} #63#return; {26743#(<= ~counter~0 18)} is VALID [2022-04-28 12:43:52,963 INFO L290 TraceCheckUtils]: 175: Hoare triple {26210#true} assume true; {26210#true} is VALID [2022-04-28 12:43:52,963 INFO L290 TraceCheckUtils]: 174: Hoare triple {26210#true} assume !(0 == ~cond); {26210#true} is VALID [2022-04-28 12:43:52,963 INFO L290 TraceCheckUtils]: 173: Hoare triple {26210#true} ~cond := #in~cond; {26210#true} is VALID [2022-04-28 12:43:52,963 INFO L272 TraceCheckUtils]: 172: Hoare triple {26743#(<= ~counter~0 18)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {26210#true} is VALID [2022-04-28 12:43:52,963 INFO L290 TraceCheckUtils]: 171: Hoare triple {26743#(<= ~counter~0 18)} assume !!(#t~post6 < 20);havoc #t~post6; {26743#(<= ~counter~0 18)} is VALID [2022-04-28 12:43:52,964 INFO L290 TraceCheckUtils]: 170: Hoare triple {26715#(<= ~counter~0 17)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26743#(<= ~counter~0 18)} is VALID [2022-04-28 12:43:52,964 INFO L290 TraceCheckUtils]: 169: Hoare triple {26715#(<= ~counter~0 17)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {26715#(<= ~counter~0 17)} is VALID [2022-04-28 12:43:52,965 INFO L290 TraceCheckUtils]: 168: Hoare triple {26715#(<= ~counter~0 17)} assume !!(0 != ~r~0); {26715#(<= ~counter~0 17)} is VALID [2022-04-28 12:43:52,965 INFO L284 TraceCheckUtils]: 167: Hoare quadruple {26210#true} {26715#(<= ~counter~0 17)} #63#return; {26715#(<= ~counter~0 17)} is VALID [2022-04-28 12:43:52,965 INFO L290 TraceCheckUtils]: 166: Hoare triple {26210#true} assume true; {26210#true} is VALID [2022-04-28 12:43:52,966 INFO L290 TraceCheckUtils]: 165: Hoare triple {26210#true} assume !(0 == ~cond); {26210#true} is VALID [2022-04-28 12:43:52,966 INFO L290 TraceCheckUtils]: 164: Hoare triple {26210#true} ~cond := #in~cond; {26210#true} is VALID [2022-04-28 12:43:52,966 INFO L272 TraceCheckUtils]: 163: Hoare triple {26715#(<= ~counter~0 17)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {26210#true} is VALID [2022-04-28 12:43:52,966 INFO L290 TraceCheckUtils]: 162: Hoare triple {26715#(<= ~counter~0 17)} assume !!(#t~post6 < 20);havoc #t~post6; {26715#(<= ~counter~0 17)} is VALID [2022-04-28 12:43:52,967 INFO L290 TraceCheckUtils]: 161: Hoare triple {26687#(<= ~counter~0 16)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26715#(<= ~counter~0 17)} is VALID [2022-04-28 12:43:52,967 INFO L290 TraceCheckUtils]: 160: Hoare triple {26687#(<= ~counter~0 16)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {26687#(<= ~counter~0 16)} is VALID [2022-04-28 12:43:52,967 INFO L290 TraceCheckUtils]: 159: Hoare triple {26687#(<= ~counter~0 16)} assume !!(0 != ~r~0); {26687#(<= ~counter~0 16)} is VALID [2022-04-28 12:43:52,968 INFO L284 TraceCheckUtils]: 158: Hoare quadruple {26210#true} {26687#(<= ~counter~0 16)} #63#return; {26687#(<= ~counter~0 16)} is VALID [2022-04-28 12:43:52,968 INFO L290 TraceCheckUtils]: 157: Hoare triple {26210#true} assume true; {26210#true} is VALID [2022-04-28 12:43:52,968 INFO L290 TraceCheckUtils]: 156: Hoare triple {26210#true} assume !(0 == ~cond); {26210#true} is VALID [2022-04-28 12:43:52,968 INFO L290 TraceCheckUtils]: 155: Hoare triple {26210#true} ~cond := #in~cond; {26210#true} is VALID [2022-04-28 12:43:52,968 INFO L272 TraceCheckUtils]: 154: Hoare triple {26687#(<= ~counter~0 16)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {26210#true} is VALID [2022-04-28 12:43:52,969 INFO L290 TraceCheckUtils]: 153: Hoare triple {26687#(<= ~counter~0 16)} assume !!(#t~post6 < 20);havoc #t~post6; {26687#(<= ~counter~0 16)} is VALID [2022-04-28 12:43:52,969 INFO L290 TraceCheckUtils]: 152: Hoare triple {26659#(<= ~counter~0 15)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26687#(<= ~counter~0 16)} is VALID [2022-04-28 12:43:52,970 INFO L290 TraceCheckUtils]: 151: Hoare triple {26659#(<= ~counter~0 15)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {26659#(<= ~counter~0 15)} is VALID [2022-04-28 12:43:52,970 INFO L290 TraceCheckUtils]: 150: Hoare triple {26659#(<= ~counter~0 15)} assume !!(0 != ~r~0); {26659#(<= ~counter~0 15)} is VALID [2022-04-28 12:43:52,971 INFO L284 TraceCheckUtils]: 149: Hoare quadruple {26210#true} {26659#(<= ~counter~0 15)} #63#return; {26659#(<= ~counter~0 15)} is VALID [2022-04-28 12:43:52,971 INFO L290 TraceCheckUtils]: 148: Hoare triple {26210#true} assume true; {26210#true} is VALID [2022-04-28 12:43:52,971 INFO L290 TraceCheckUtils]: 147: Hoare triple {26210#true} assume !(0 == ~cond); {26210#true} is VALID [2022-04-28 12:43:52,971 INFO L290 TraceCheckUtils]: 146: Hoare triple {26210#true} ~cond := #in~cond; {26210#true} is VALID [2022-04-28 12:43:52,971 INFO L272 TraceCheckUtils]: 145: Hoare triple {26659#(<= ~counter~0 15)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {26210#true} is VALID [2022-04-28 12:43:52,971 INFO L290 TraceCheckUtils]: 144: Hoare triple {26659#(<= ~counter~0 15)} assume !!(#t~post6 < 20);havoc #t~post6; {26659#(<= ~counter~0 15)} is VALID [2022-04-28 12:43:52,972 INFO L290 TraceCheckUtils]: 143: Hoare triple {26631#(<= ~counter~0 14)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26659#(<= ~counter~0 15)} is VALID [2022-04-28 12:43:52,972 INFO L290 TraceCheckUtils]: 142: Hoare triple {26631#(<= ~counter~0 14)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {26631#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:52,973 INFO L290 TraceCheckUtils]: 141: Hoare triple {26631#(<= ~counter~0 14)} assume !!(0 != ~r~0); {26631#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:52,973 INFO L284 TraceCheckUtils]: 140: Hoare quadruple {26210#true} {26631#(<= ~counter~0 14)} #63#return; {26631#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:52,973 INFO L290 TraceCheckUtils]: 139: Hoare triple {26210#true} assume true; {26210#true} is VALID [2022-04-28 12:43:52,973 INFO L290 TraceCheckUtils]: 138: Hoare triple {26210#true} assume !(0 == ~cond); {26210#true} is VALID [2022-04-28 12:43:52,973 INFO L290 TraceCheckUtils]: 137: Hoare triple {26210#true} ~cond := #in~cond; {26210#true} is VALID [2022-04-28 12:43:52,974 INFO L272 TraceCheckUtils]: 136: Hoare triple {26631#(<= ~counter~0 14)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {26210#true} is VALID [2022-04-28 12:43:52,974 INFO L290 TraceCheckUtils]: 135: Hoare triple {26631#(<= ~counter~0 14)} assume !!(#t~post6 < 20);havoc #t~post6; {26631#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:52,975 INFO L290 TraceCheckUtils]: 134: Hoare triple {26603#(<= ~counter~0 13)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26631#(<= ~counter~0 14)} is VALID [2022-04-28 12:43:52,975 INFO L290 TraceCheckUtils]: 133: Hoare triple {26603#(<= ~counter~0 13)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {26603#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:52,975 INFO L290 TraceCheckUtils]: 132: Hoare triple {26603#(<= ~counter~0 13)} assume !!(0 != ~r~0); {26603#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:52,976 INFO L284 TraceCheckUtils]: 131: Hoare quadruple {26210#true} {26603#(<= ~counter~0 13)} #63#return; {26603#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:52,976 INFO L290 TraceCheckUtils]: 130: Hoare triple {26210#true} assume true; {26210#true} is VALID [2022-04-28 12:43:52,976 INFO L290 TraceCheckUtils]: 129: Hoare triple {26210#true} assume !(0 == ~cond); {26210#true} is VALID [2022-04-28 12:43:52,976 INFO L290 TraceCheckUtils]: 128: Hoare triple {26210#true} ~cond := #in~cond; {26210#true} is VALID [2022-04-28 12:43:52,976 INFO L272 TraceCheckUtils]: 127: Hoare triple {26603#(<= ~counter~0 13)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {26210#true} is VALID [2022-04-28 12:43:52,977 INFO L290 TraceCheckUtils]: 126: Hoare triple {26603#(<= ~counter~0 13)} assume !!(#t~post6 < 20);havoc #t~post6; {26603#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:52,977 INFO L290 TraceCheckUtils]: 125: Hoare triple {26575#(<= ~counter~0 12)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26603#(<= ~counter~0 13)} is VALID [2022-04-28 12:43:52,978 INFO L290 TraceCheckUtils]: 124: Hoare triple {26575#(<= ~counter~0 12)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {26575#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:52,978 INFO L290 TraceCheckUtils]: 123: Hoare triple {26575#(<= ~counter~0 12)} assume !!(0 != ~r~0); {26575#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:52,979 INFO L284 TraceCheckUtils]: 122: Hoare quadruple {26210#true} {26575#(<= ~counter~0 12)} #63#return; {26575#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:52,979 INFO L290 TraceCheckUtils]: 121: Hoare triple {26210#true} assume true; {26210#true} is VALID [2022-04-28 12:43:52,979 INFO L290 TraceCheckUtils]: 120: Hoare triple {26210#true} assume !(0 == ~cond); {26210#true} is VALID [2022-04-28 12:43:52,979 INFO L290 TraceCheckUtils]: 119: Hoare triple {26210#true} ~cond := #in~cond; {26210#true} is VALID [2022-04-28 12:43:52,979 INFO L272 TraceCheckUtils]: 118: Hoare triple {26575#(<= ~counter~0 12)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {26210#true} is VALID [2022-04-28 12:43:52,979 INFO L290 TraceCheckUtils]: 117: Hoare triple {26575#(<= ~counter~0 12)} assume !!(#t~post6 < 20);havoc #t~post6; {26575#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:52,980 INFO L290 TraceCheckUtils]: 116: Hoare triple {26547#(<= ~counter~0 11)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26575#(<= ~counter~0 12)} is VALID [2022-04-28 12:43:52,980 INFO L290 TraceCheckUtils]: 115: Hoare triple {26547#(<= ~counter~0 11)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {26547#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:52,981 INFO L290 TraceCheckUtils]: 114: Hoare triple {26547#(<= ~counter~0 11)} assume !!(0 != ~r~0); {26547#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:52,981 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {26210#true} {26547#(<= ~counter~0 11)} #63#return; {26547#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:52,981 INFO L290 TraceCheckUtils]: 112: Hoare triple {26210#true} assume true; {26210#true} is VALID [2022-04-28 12:43:52,981 INFO L290 TraceCheckUtils]: 111: Hoare triple {26210#true} assume !(0 == ~cond); {26210#true} is VALID [2022-04-28 12:43:52,982 INFO L290 TraceCheckUtils]: 110: Hoare triple {26210#true} ~cond := #in~cond; {26210#true} is VALID [2022-04-28 12:43:52,982 INFO L272 TraceCheckUtils]: 109: Hoare triple {26547#(<= ~counter~0 11)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {26210#true} is VALID [2022-04-28 12:43:52,982 INFO L290 TraceCheckUtils]: 108: Hoare triple {26547#(<= ~counter~0 11)} assume !!(#t~post6 < 20);havoc #t~post6; {26547#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:52,983 INFO L290 TraceCheckUtils]: 107: Hoare triple {26519#(<= ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26547#(<= ~counter~0 11)} is VALID [2022-04-28 12:43:52,983 INFO L290 TraceCheckUtils]: 106: Hoare triple {26519#(<= ~counter~0 10)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {26519#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:52,983 INFO L290 TraceCheckUtils]: 105: Hoare triple {26519#(<= ~counter~0 10)} assume !!(0 != ~r~0); {26519#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:52,984 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {26210#true} {26519#(<= ~counter~0 10)} #63#return; {26519#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:52,984 INFO L290 TraceCheckUtils]: 103: Hoare triple {26210#true} assume true; {26210#true} is VALID [2022-04-28 12:43:52,984 INFO L290 TraceCheckUtils]: 102: Hoare triple {26210#true} assume !(0 == ~cond); {26210#true} is VALID [2022-04-28 12:43:52,984 INFO L290 TraceCheckUtils]: 101: Hoare triple {26210#true} ~cond := #in~cond; {26210#true} is VALID [2022-04-28 12:43:52,985 INFO L272 TraceCheckUtils]: 100: Hoare triple {26519#(<= ~counter~0 10)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {26210#true} is VALID [2022-04-28 12:43:52,985 INFO L290 TraceCheckUtils]: 99: Hoare triple {26519#(<= ~counter~0 10)} assume !!(#t~post6 < 20);havoc #t~post6; {26519#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:52,986 INFO L290 TraceCheckUtils]: 98: Hoare triple {26491#(<= ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26519#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:52,986 INFO L290 TraceCheckUtils]: 97: Hoare triple {26491#(<= ~counter~0 9)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {26491#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:52,986 INFO L290 TraceCheckUtils]: 96: Hoare triple {26491#(<= ~counter~0 9)} assume !!(0 != ~r~0); {26491#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:52,987 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {26210#true} {26491#(<= ~counter~0 9)} #63#return; {26491#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:52,987 INFO L290 TraceCheckUtils]: 94: Hoare triple {26210#true} assume true; {26210#true} is VALID [2022-04-28 12:43:52,987 INFO L290 TraceCheckUtils]: 93: Hoare triple {26210#true} assume !(0 == ~cond); {26210#true} is VALID [2022-04-28 12:43:52,987 INFO L290 TraceCheckUtils]: 92: Hoare triple {26210#true} ~cond := #in~cond; {26210#true} is VALID [2022-04-28 12:43:52,988 INFO L272 TraceCheckUtils]: 91: Hoare triple {26491#(<= ~counter~0 9)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {26210#true} is VALID [2022-04-28 12:43:52,988 INFO L290 TraceCheckUtils]: 90: Hoare triple {26491#(<= ~counter~0 9)} assume !!(#t~post6 < 20);havoc #t~post6; {26491#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:52,989 INFO L290 TraceCheckUtils]: 89: Hoare triple {26463#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26491#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:52,989 INFO L290 TraceCheckUtils]: 88: Hoare triple {26463#(<= ~counter~0 8)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {26463#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:52,989 INFO L290 TraceCheckUtils]: 87: Hoare triple {26463#(<= ~counter~0 8)} assume !!(0 != ~r~0); {26463#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:52,990 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {26210#true} {26463#(<= ~counter~0 8)} #63#return; {26463#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:52,990 INFO L290 TraceCheckUtils]: 85: Hoare triple {26210#true} assume true; {26210#true} is VALID [2022-04-28 12:43:52,990 INFO L290 TraceCheckUtils]: 84: Hoare triple {26210#true} assume !(0 == ~cond); {26210#true} is VALID [2022-04-28 12:43:52,990 INFO L290 TraceCheckUtils]: 83: Hoare triple {26210#true} ~cond := #in~cond; {26210#true} is VALID [2022-04-28 12:43:52,991 INFO L272 TraceCheckUtils]: 82: Hoare triple {26463#(<= ~counter~0 8)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {26210#true} is VALID [2022-04-28 12:43:52,991 INFO L290 TraceCheckUtils]: 81: Hoare triple {26463#(<= ~counter~0 8)} assume !!(#t~post6 < 20);havoc #t~post6; {26463#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:52,992 INFO L290 TraceCheckUtils]: 80: Hoare triple {26435#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26463#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:52,992 INFO L290 TraceCheckUtils]: 79: Hoare triple {26435#(<= ~counter~0 7)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {26435#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:52,992 INFO L290 TraceCheckUtils]: 78: Hoare triple {26435#(<= ~counter~0 7)} assume !!(0 != ~r~0); {26435#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:52,993 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {26210#true} {26435#(<= ~counter~0 7)} #63#return; {26435#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:52,993 INFO L290 TraceCheckUtils]: 76: Hoare triple {26210#true} assume true; {26210#true} is VALID [2022-04-28 12:43:52,993 INFO L290 TraceCheckUtils]: 75: Hoare triple {26210#true} assume !(0 == ~cond); {26210#true} is VALID [2022-04-28 12:43:52,993 INFO L290 TraceCheckUtils]: 74: Hoare triple {26210#true} ~cond := #in~cond; {26210#true} is VALID [2022-04-28 12:43:52,994 INFO L272 TraceCheckUtils]: 73: Hoare triple {26435#(<= ~counter~0 7)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {26210#true} is VALID [2022-04-28 12:43:52,994 INFO L290 TraceCheckUtils]: 72: Hoare triple {26435#(<= ~counter~0 7)} assume !!(#t~post6 < 20);havoc #t~post6; {26435#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:52,995 INFO L290 TraceCheckUtils]: 71: Hoare triple {26407#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26435#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:52,995 INFO L290 TraceCheckUtils]: 70: Hoare triple {26407#(<= ~counter~0 6)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {26407#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:52,995 INFO L290 TraceCheckUtils]: 69: Hoare triple {26407#(<= ~counter~0 6)} assume !!(0 != ~r~0); {26407#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:52,996 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {26210#true} {26407#(<= ~counter~0 6)} #63#return; {26407#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:52,996 INFO L290 TraceCheckUtils]: 67: Hoare triple {26210#true} assume true; {26210#true} is VALID [2022-04-28 12:43:52,996 INFO L290 TraceCheckUtils]: 66: Hoare triple {26210#true} assume !(0 == ~cond); {26210#true} is VALID [2022-04-28 12:43:52,996 INFO L290 TraceCheckUtils]: 65: Hoare triple {26210#true} ~cond := #in~cond; {26210#true} is VALID [2022-04-28 12:43:52,997 INFO L272 TraceCheckUtils]: 64: Hoare triple {26407#(<= ~counter~0 6)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {26210#true} is VALID [2022-04-28 12:43:52,997 INFO L290 TraceCheckUtils]: 63: Hoare triple {26407#(<= ~counter~0 6)} assume !!(#t~post6 < 20);havoc #t~post6; {26407#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:52,997 INFO L290 TraceCheckUtils]: 62: Hoare triple {26379#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26407#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:52,998 INFO L290 TraceCheckUtils]: 61: Hoare triple {26379#(<= ~counter~0 5)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {26379#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:52,998 INFO L290 TraceCheckUtils]: 60: Hoare triple {26379#(<= ~counter~0 5)} assume !!(0 != ~r~0); {26379#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:52,999 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {26210#true} {26379#(<= ~counter~0 5)} #63#return; {26379#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:52,999 INFO L290 TraceCheckUtils]: 58: Hoare triple {26210#true} assume true; {26210#true} is VALID [2022-04-28 12:43:52,999 INFO L290 TraceCheckUtils]: 57: Hoare triple {26210#true} assume !(0 == ~cond); {26210#true} is VALID [2022-04-28 12:43:52,999 INFO L290 TraceCheckUtils]: 56: Hoare triple {26210#true} ~cond := #in~cond; {26210#true} is VALID [2022-04-28 12:43:52,999 INFO L272 TraceCheckUtils]: 55: Hoare triple {26379#(<= ~counter~0 5)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {26210#true} is VALID [2022-04-28 12:43:53,000 INFO L290 TraceCheckUtils]: 54: Hoare triple {26379#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {26379#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:53,000 INFO L290 TraceCheckUtils]: 53: Hoare triple {26351#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26379#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:53,001 INFO L290 TraceCheckUtils]: 52: Hoare triple {26351#(<= ~counter~0 4)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {26351#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:53,001 INFO L290 TraceCheckUtils]: 51: Hoare triple {26351#(<= ~counter~0 4)} assume !!(0 != ~r~0); {26351#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:53,002 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {26210#true} {26351#(<= ~counter~0 4)} #63#return; {26351#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:53,002 INFO L290 TraceCheckUtils]: 49: Hoare triple {26210#true} assume true; {26210#true} is VALID [2022-04-28 12:43:53,002 INFO L290 TraceCheckUtils]: 48: Hoare triple {26210#true} assume !(0 == ~cond); {26210#true} is VALID [2022-04-28 12:43:53,002 INFO L290 TraceCheckUtils]: 47: Hoare triple {26210#true} ~cond := #in~cond; {26210#true} is VALID [2022-04-28 12:43:53,002 INFO L272 TraceCheckUtils]: 46: Hoare triple {26351#(<= ~counter~0 4)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {26210#true} is VALID [2022-04-28 12:43:53,002 INFO L290 TraceCheckUtils]: 45: Hoare triple {26351#(<= ~counter~0 4)} assume !!(#t~post6 < 20);havoc #t~post6; {26351#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:53,003 INFO L290 TraceCheckUtils]: 44: Hoare triple {26323#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26351#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:53,003 INFO L290 TraceCheckUtils]: 43: Hoare triple {26323#(<= ~counter~0 3)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {26323#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:53,004 INFO L290 TraceCheckUtils]: 42: Hoare triple {26323#(<= ~counter~0 3)} assume !!(0 != ~r~0); {26323#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:53,004 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {26210#true} {26323#(<= ~counter~0 3)} #63#return; {26323#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:53,004 INFO L290 TraceCheckUtils]: 40: Hoare triple {26210#true} assume true; {26210#true} is VALID [2022-04-28 12:43:53,005 INFO L290 TraceCheckUtils]: 39: Hoare triple {26210#true} assume !(0 == ~cond); {26210#true} is VALID [2022-04-28 12:43:53,005 INFO L290 TraceCheckUtils]: 38: Hoare triple {26210#true} ~cond := #in~cond; {26210#true} is VALID [2022-04-28 12:43:53,005 INFO L272 TraceCheckUtils]: 37: Hoare triple {26323#(<= ~counter~0 3)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {26210#true} is VALID [2022-04-28 12:43:53,005 INFO L290 TraceCheckUtils]: 36: Hoare triple {26323#(<= ~counter~0 3)} assume !!(#t~post6 < 20);havoc #t~post6; {26323#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:53,006 INFO L290 TraceCheckUtils]: 35: Hoare triple {26295#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26323#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:53,006 INFO L290 TraceCheckUtils]: 34: Hoare triple {26295#(<= ~counter~0 2)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {26295#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:53,006 INFO L290 TraceCheckUtils]: 33: Hoare triple {26295#(<= ~counter~0 2)} assume !!(0 != ~r~0); {26295#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:53,007 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {26210#true} {26295#(<= ~counter~0 2)} #63#return; {26295#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:53,007 INFO L290 TraceCheckUtils]: 31: Hoare triple {26210#true} assume true; {26210#true} is VALID [2022-04-28 12:43:53,007 INFO L290 TraceCheckUtils]: 30: Hoare triple {26210#true} assume !(0 == ~cond); {26210#true} is VALID [2022-04-28 12:43:53,007 INFO L290 TraceCheckUtils]: 29: Hoare triple {26210#true} ~cond := #in~cond; {26210#true} is VALID [2022-04-28 12:43:53,007 INFO L272 TraceCheckUtils]: 28: Hoare triple {26295#(<= ~counter~0 2)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {26210#true} is VALID [2022-04-28 12:43:53,008 INFO L290 TraceCheckUtils]: 27: Hoare triple {26295#(<= ~counter~0 2)} assume !!(#t~post6 < 20);havoc #t~post6; {26295#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:53,008 INFO L290 TraceCheckUtils]: 26: Hoare triple {26267#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26295#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:53,009 INFO L290 TraceCheckUtils]: 25: Hoare triple {26267#(<= ~counter~0 1)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {26267#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:53,009 INFO L290 TraceCheckUtils]: 24: Hoare triple {26267#(<= ~counter~0 1)} assume !!(0 != ~r~0); {26267#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:53,010 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {26210#true} {26267#(<= ~counter~0 1)} #63#return; {26267#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:53,010 INFO L290 TraceCheckUtils]: 22: Hoare triple {26210#true} assume true; {26210#true} is VALID [2022-04-28 12:43:53,010 INFO L290 TraceCheckUtils]: 21: Hoare triple {26210#true} assume !(0 == ~cond); {26210#true} is VALID [2022-04-28 12:43:53,010 INFO L290 TraceCheckUtils]: 20: Hoare triple {26210#true} ~cond := #in~cond; {26210#true} is VALID [2022-04-28 12:43:53,010 INFO L272 TraceCheckUtils]: 19: Hoare triple {26267#(<= ~counter~0 1)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {26210#true} is VALID [2022-04-28 12:43:53,010 INFO L290 TraceCheckUtils]: 18: Hoare triple {26267#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {26267#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:53,011 INFO L290 TraceCheckUtils]: 17: Hoare triple {26218#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26267#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:53,011 INFO L290 TraceCheckUtils]: 16: Hoare triple {26218#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {26218#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:53,012 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {26210#true} {26218#(<= ~counter~0 0)} #61#return; {26218#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:53,012 INFO L290 TraceCheckUtils]: 14: Hoare triple {26210#true} assume true; {26210#true} is VALID [2022-04-28 12:43:53,012 INFO L290 TraceCheckUtils]: 13: Hoare triple {26210#true} assume !(0 == ~cond); {26210#true} is VALID [2022-04-28 12:43:53,012 INFO L290 TraceCheckUtils]: 12: Hoare triple {26210#true} ~cond := #in~cond; {26210#true} is VALID [2022-04-28 12:43:53,012 INFO L272 TraceCheckUtils]: 11: Hoare triple {26218#(<= ~counter~0 0)} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {26210#true} is VALID [2022-04-28 12:43:53,013 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {26210#true} {26218#(<= ~counter~0 0)} #59#return; {26218#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:53,013 INFO L290 TraceCheckUtils]: 9: Hoare triple {26210#true} assume true; {26210#true} is VALID [2022-04-28 12:43:53,013 INFO L290 TraceCheckUtils]: 8: Hoare triple {26210#true} assume !(0 == ~cond); {26210#true} is VALID [2022-04-28 12:43:53,013 INFO L290 TraceCheckUtils]: 7: Hoare triple {26210#true} ~cond := #in~cond; {26210#true} is VALID [2022-04-28 12:43:53,013 INFO L272 TraceCheckUtils]: 6: Hoare triple {26218#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {26210#true} is VALID [2022-04-28 12:43:53,014 INFO L290 TraceCheckUtils]: 5: Hoare triple {26218#(<= ~counter~0 0)} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~R~0 := #t~nondet5;havoc #t~nondet5; {26218#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:53,014 INFO L272 TraceCheckUtils]: 4: Hoare triple {26218#(<= ~counter~0 0)} call #t~ret7 := main(); {26218#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:53,014 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {26218#(<= ~counter~0 0)} {26210#true} #67#return; {26218#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:53,015 INFO L290 TraceCheckUtils]: 2: Hoare triple {26218#(<= ~counter~0 0)} assume true; {26218#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:53,015 INFO L290 TraceCheckUtils]: 1: Hoare triple {26210#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; {26218#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:53,015 INFO L272 TraceCheckUtils]: 0: Hoare triple {26210#true} call ULTIMATE.init(); {26210#true} is VALID [2022-04-28 12:43:53,016 INFO L134 CoverageAnalysis]: Checked inductivity of 1619 backedges. 38 proven. 893 refuted. 0 times theorem prover too weak. 688 trivial. 0 not checked. [2022-04-28 12:43:53,016 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:43:53,016 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1430304228] [2022-04-28 12:43:53,016 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:43:53,016 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [85938400] [2022-04-28 12:43:53,016 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [85938400] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:43:53,017 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:43:53,017 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [23, 23] total 23 [2022-04-28 12:43:53,017 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:43:53,017 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [698654029] [2022-04-28 12:43:53,017 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [698654029] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:43:53,017 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:43:53,017 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [23] imperfect sequences [] total 23 [2022-04-28 12:43:53,017 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [280654639] [2022-04-28 12:43:53,017 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:43:53,018 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, (24), 22 states have call predecessors, (24), 20 states have return successors, (22), 20 states have call predecessors, (22), 21 states have call successors, (22) Word has length 194 [2022-04-28 12:43:53,018 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:43:53,018 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, (24), 22 states have call predecessors, (24), 20 states have return successors, (22), 20 states have call predecessors, (22), 21 states have call successors, (22) [2022-04-28 12:43:53,174 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 191 edges. 191 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:43:53,174 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 23 states [2022-04-28 12:43:53,174 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:43:53,175 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2022-04-28 12:43:53,175 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=233, Invalid=273, Unknown=0, NotChecked=0, Total=506 [2022-04-28 12:43:53,175 INFO L87 Difference]: Start difference. First operand 191 states and 211 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, (24), 22 states have call predecessors, (24), 20 states have return successors, (22), 20 states have call predecessors, (22), 21 states have call successors, (22) [2022-04-28 12:43:54,174 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:43:54,174 INFO L93 Difference]: Finished difference Result 205 states and 226 transitions. [2022-04-28 12:43:54,174 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 42 states. [2022-04-28 12:43:54,174 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, (24), 22 states have call predecessors, (24), 20 states have return successors, (22), 20 states have call predecessors, (22), 21 states have call successors, (22) Word has length 194 [2022-04-28 12:43:54,174 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:43:54,175 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, (24), 22 states have call predecessors, (24), 20 states have return successors, (22), 20 states have call predecessors, (22), 21 states have call successors, (22) [2022-04-28 12:43:54,178 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 225 transitions. [2022-04-28 12:43:54,178 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, (24), 22 states have call predecessors, (24), 20 states have return successors, (22), 20 states have call predecessors, (22), 21 states have call successors, (22) [2022-04-28 12:43:54,182 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 225 transitions. [2022-04-28 12:43:54,182 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 42 states and 225 transitions. [2022-04-28 12:43:54,366 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-28 12:43:54,369 INFO L225 Difference]: With dead ends: 205 [2022-04-28 12:43:54,369 INFO L226 Difference]: Without dead ends: 200 [2022-04-28 12:43:54,370 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 406 GetRequests, 365 SyntacticMatches, 1 SemanticMatches, 40 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 209 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=651, Invalid=1071, Unknown=0, NotChecked=0, Total=1722 [2022-04-28 12:43:54,371 INFO L413 NwaCegarLoop]: 45 mSDtfsCounter, 50 mSDsluCounter, 219 mSDsCounter, 0 mSdLazyCounter, 151 mSolverCounterSat, 21 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 50 SdHoareTripleChecker+Valid, 264 SdHoareTripleChecker+Invalid, 172 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 21 IncrementalHoareTripleChecker+Valid, 151 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 12:43:54,371 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [50 Valid, 264 Invalid, 172 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [21 Valid, 151 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 12:43:54,371 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 200 states. [2022-04-28 12:43:54,665 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 200 to 200. [2022-04-28 12:43:54,665 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:43:54,666 INFO L82 GeneralOperation]: Start isEquivalent. First operand 200 states. Second operand has 200 states, 152 states have (on average 1.138157894736842) internal successors, (173), 152 states have internal predecessors, (173), 25 states have call successors, (25), 24 states have call predecessors, (25), 22 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-28 12:43:54,666 INFO L74 IsIncluded]: Start isIncluded. First operand 200 states. Second operand has 200 states, 152 states have (on average 1.138157894736842) internal successors, (173), 152 states have internal predecessors, (173), 25 states have call successors, (25), 24 states have call predecessors, (25), 22 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-28 12:43:54,666 INFO L87 Difference]: Start difference. First operand 200 states. Second operand has 200 states, 152 states have (on average 1.138157894736842) internal successors, (173), 152 states have internal predecessors, (173), 25 states have call successors, (25), 24 states have call predecessors, (25), 22 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-28 12:43:54,669 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:43:54,669 INFO L93 Difference]: Finished difference Result 200 states and 221 transitions. [2022-04-28 12:43:54,670 INFO L276 IsEmpty]: Start isEmpty. Operand 200 states and 221 transitions. [2022-04-28 12:43:54,670 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:43:54,670 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:43:54,670 INFO L74 IsIncluded]: Start isIncluded. First operand has 200 states, 152 states have (on average 1.138157894736842) internal successors, (173), 152 states have internal predecessors, (173), 25 states have call successors, (25), 24 states have call predecessors, (25), 22 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) Second operand 200 states. [2022-04-28 12:43:54,671 INFO L87 Difference]: Start difference. First operand has 200 states, 152 states have (on average 1.138157894736842) internal successors, (173), 152 states have internal predecessors, (173), 25 states have call successors, (25), 24 states have call predecessors, (25), 22 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) Second operand 200 states. [2022-04-28 12:43:54,674 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:43:54,674 INFO L93 Difference]: Finished difference Result 200 states and 221 transitions. [2022-04-28 12:43:54,674 INFO L276 IsEmpty]: Start isEmpty. Operand 200 states and 221 transitions. [2022-04-28 12:43:54,674 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:43:54,674 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:43:54,674 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:43:54,674 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:43:54,675 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 200 states, 152 states have (on average 1.138157894736842) internal successors, (173), 152 states have internal predecessors, (173), 25 states have call successors, (25), 24 states have call predecessors, (25), 22 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-28 12:43:54,678 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 200 states to 200 states and 221 transitions. [2022-04-28 12:43:54,678 INFO L78 Accepts]: Start accepts. Automaton has 200 states and 221 transitions. Word has length 194 [2022-04-28 12:43:54,679 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:43:54,679 INFO L495 AbstractCegarLoop]: Abstraction has 200 states and 221 transitions. [2022-04-28 12:43:54,679 INFO L496 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, (24), 22 states have call predecessors, (24), 20 states have return successors, (22), 20 states have call predecessors, (22), 21 states have call successors, (22) [2022-04-28 12:43:54,679 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 200 states and 221 transitions. [2022-04-28 12:43:56,297 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 221 edges. 221 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:43:56,297 INFO L276 IsEmpty]: Start isEmpty. Operand 200 states and 221 transitions. [2022-04-28 12:43:56,298 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 204 [2022-04-28 12:43:56,298 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:43:56,298 INFO L195 NwaCegarLoop]: trace histogram [21, 21, 20, 20, 20, 20, 20, 20, 20, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:43:56,307 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-28 12:43:56,503 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable22,24 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:43:56,503 INFO L420 AbstractCegarLoop]: === Iteration 24 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:43:56,504 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:43:56,504 INFO L85 PathProgramCache]: Analyzing trace with hash 1934081686, now seen corresponding path program 39 times [2022-04-28 12:43:56,504 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:43:56,504 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [151117244] [2022-04-28 12:43:56,504 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:43:56,504 INFO L85 PathProgramCache]: Analyzing trace with hash 1934081686, now seen corresponding path program 40 times [2022-04-28 12:43:56,504 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:43:56,504 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [387349293] [2022-04-28 12:43:56,504 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:43:56,505 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:43:56,522 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:43:56,523 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [438695588] [2022-04-28 12:43:56,523 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:43:56,523 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:43:56,523 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:43:56,524 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-28 12:43:56,539 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-28 12:43:56,705 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:43:56,705 INFO L229 tOrderPrioritization]: Conjunction of SSA is sat [2022-04-28 12:43:56,705 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-04-28 12:43:56,843 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-04-28 12:43:56,937 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-04-28 12:43:56,937 INFO L130 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found a feasible trace [2022-04-28 12:43:56,937 INFO L271 BasicCegarLoop]: Counterexample is feasible [2022-04-28 12:43:56,946 INFO L805 garLoopResultBuilder]: Registering result UNSAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-28 12:43:56,959 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-28 12:43:57,157 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable23,25 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:43:57,160 INFO L356 BasicCegarLoop]: Path program histogram: [40, 2, 2, 2, 2] [2022-04-28 12:43:57,163 INFO L176 ceAbstractionStarter]: Computing trace abstraction results [2022-04-28 12:43:57,187 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-28 12:43:57,188 WARN L170 areAnnotationChecker]: ULTIMATE.initENTRY has no Hoare annotation [2022-04-28 12:43:57,188 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2022-04-28 12:43:57,188 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2022-04-28 12:43:57,188 WARN L170 areAnnotationChecker]: assume_abort_if_notENTRY has no Hoare annotation [2022-04-28 12:43:57,188 WARN L170 areAnnotationChecker]: mainENTRY has no Hoare annotation [2022-04-28 12:43:57,188 WARN L170 areAnnotationChecker]: __VERIFIER_assertENTRY has no Hoare annotation [2022-04-28 12:43:57,188 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-28 12:43:57,188 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2022-04-28 12:43:57,188 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2022-04-28 12:43:57,188 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2022-04-28 12:43:57,188 WARN L170 areAnnotationChecker]: L9 has no Hoare annotation [2022-04-28 12:43:57,188 WARN L170 areAnnotationChecker]: L9 has no Hoare annotation [2022-04-28 12:43:57,188 WARN L170 areAnnotationChecker]: L26 has no Hoare annotation [2022-04-28 12:43:57,188 WARN L170 areAnnotationChecker]: L26 has no Hoare annotation [2022-04-28 12:43:57,188 WARN L170 areAnnotationChecker]: L12 has no Hoare annotation [2022-04-28 12:43:57,188 WARN L170 areAnnotationChecker]: L12 has no Hoare annotation [2022-04-28 12:43:57,188 WARN L170 areAnnotationChecker]: ULTIMATE.initEXIT has no Hoare annotation [2022-04-28 12:43:57,188 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2022-04-28 12:43:57,188 WARN L170 areAnnotationChecker]: L9-2 has no Hoare annotation [2022-04-28 12:43:57,189 WARN L170 areAnnotationChecker]: L26-1 has no Hoare annotation [2022-04-28 12:43:57,189 WARN L170 areAnnotationChecker]: L26-1 has no Hoare annotation [2022-04-28 12:43:57,189 WARN L170 areAnnotationChecker]: L13 has no Hoare annotation [2022-04-28 12:43:57,189 WARN L170 areAnnotationChecker]: L13 has no Hoare annotation [2022-04-28 12:43:57,189 WARN L170 areAnnotationChecker]: L12-2 has no Hoare annotation [2022-04-28 12:43:57,189 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-04-28 12:43:57,189 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-04-28 12:43:57,189 WARN L170 areAnnotationChecker]: L28 has no Hoare annotation [2022-04-28 12:43:57,189 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-28 12:43:57,189 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-28 12:43:57,189 WARN L170 areAnnotationChecker]: L38-2 has no Hoare annotation [2022-04-28 12:43:57,189 WARN L170 areAnnotationChecker]: L38-2 has no Hoare annotation [2022-04-28 12:43:57,189 WARN L170 areAnnotationChecker]: L35-1 has no Hoare annotation [2022-04-28 12:43:57,189 WARN L170 areAnnotationChecker]: L35-1 has no Hoare annotation [2022-04-28 12:43:57,189 WARN L170 areAnnotationChecker]: L48 has no Hoare annotation [2022-04-28 12:43:57,189 WARN L170 areAnnotationChecker]: L34-3 has no Hoare annotation [2022-04-28 12:43:57,189 WARN L170 areAnnotationChecker]: L34-3 has no Hoare annotation [2022-04-28 12:43:57,189 WARN L170 areAnnotationChecker]: L34-1 has no Hoare annotation [2022-04-28 12:43:57,189 WARN L170 areAnnotationChecker]: L34-1 has no Hoare annotation [2022-04-28 12:43:57,190 WARN L170 areAnnotationChecker]: L38 has no Hoare annotation [2022-04-28 12:43:57,190 WARN L170 areAnnotationChecker]: L38 has no Hoare annotation [2022-04-28 12:43:57,190 WARN L170 areAnnotationChecker]: mainFINAL has no Hoare annotation [2022-04-28 12:43:57,190 WARN L170 areAnnotationChecker]: L35 has no Hoare annotation [2022-04-28 12:43:57,190 WARN L170 areAnnotationChecker]: L35 has no Hoare annotation [2022-04-28 12:43:57,190 WARN L170 areAnnotationChecker]: mainEXIT has no Hoare annotation [2022-04-28 12:43:57,190 INFO L163 areAnnotationChecker]: CFG has 0 edges. 0 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2022-04-28 12:43:57,191 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 28.04 12:43:57 BoogieIcfgContainer [2022-04-28 12:43:57,191 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-28 12:43:57,192 INFO L158 Benchmark]: Toolchain (without parser) took 131551.40ms. Allocated memory was 183.5MB in the beginning and 270.5MB in the end (delta: 87.0MB). Free memory was 130.6MB in the beginning and 103.7MB in the end (delta: 26.8MB). Peak memory consumption was 115.3MB. Max. memory is 8.0GB. [2022-04-28 12:43:57,192 INFO L158 Benchmark]: CDTParser took 0.13ms. Allocated memory is still 183.5MB. Free memory is still 146.8MB. There was no memory consumed. Max. memory is 8.0GB. [2022-04-28 12:43:57,192 INFO L158 Benchmark]: CACSL2BoogieTranslator took 259.36ms. Allocated memory is still 183.5MB. Free memory was 130.4MB in the beginning and 159.2MB in the end (delta: -28.7MB). Peak memory consumption was 11.1MB. Max. memory is 8.0GB. [2022-04-28 12:43:57,192 INFO L158 Benchmark]: Boogie Preprocessor took 36.63ms. Allocated memory is still 183.5MB. Free memory was 159.2MB in the beginning and 157.6MB in the end (delta: 1.6MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. [2022-04-28 12:43:57,192 INFO L158 Benchmark]: RCFGBuilder took 307.75ms. Allocated memory is still 183.5MB. Free memory was 157.6MB in the beginning and 146.0MB in the end (delta: 11.5MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. [2022-04-28 12:43:57,192 INFO L158 Benchmark]: TraceAbstraction took 130943.17ms. Allocated memory was 183.5MB in the beginning and 270.5MB in the end (delta: 87.0MB). Free memory was 145.5MB in the beginning and 103.7MB in the end (delta: 41.8MB). Peak memory consumption was 130.4MB. Max. memory is 8.0GB. [2022-04-28 12:43:57,193 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.13ms. Allocated memory is still 183.5MB. Free memory is still 146.8MB. There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 259.36ms. Allocated memory is still 183.5MB. Free memory was 130.4MB in the beginning and 159.2MB in the end (delta: -28.7MB). Peak memory consumption was 11.1MB. Max. memory is 8.0GB. * Boogie Preprocessor took 36.63ms. Allocated memory is still 183.5MB. Free memory was 159.2MB in the beginning and 157.6MB in the end (delta: 1.6MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. * RCFGBuilder took 307.75ms. Allocated memory is still 183.5MB. Free memory was 157.6MB in the beginning and 146.0MB in the end (delta: 11.5MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. * TraceAbstraction took 130943.17ms. Allocated memory was 183.5MB in the beginning and 270.5MB in the end (delta: 87.0MB). Free memory was 145.5MB in the beginning and 103.7MB in the end (delta: 41.8MB). Peak memory consumption was 130.4MB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - CounterExampleResult [Line: 14]: a call to reach_error is reachable a call to reach_error is reachable We found a FailurePath: [L19] int counter = 0; [L21] int A, R; [L22] long long u, v, r; [L23] A = __VERIFIER_nondet_int() [L24] R = __VERIFIER_nondet_int() [L26] CALL assume_abort_if_not(((long long) R - 1) * ((long long) R - 1) < A) [L9] COND FALSE !(!cond) [L26] RET assume_abort_if_not(((long long) R - 1) * ((long long) R - 1) < A) [L28] CALL assume_abort_if_not(A % 2 == 1) [L9] COND FALSE !(!cond) [L28] RET assume_abort_if_not(A % 2 == 1) [L30] u = ((long long) 2 * R) + 1 [L31] v = 1 [L32] r = ((long long) R * R) - A [L34] EXPR counter++ [L34] COND TRUE counter++<20 [L35] CALL __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) [L12] COND FALSE !(!(cond)) [L35] RET __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) [L36] COND FALSE !(!(r != 0)) [L38] COND TRUE r > 0 [L39] r = r - v [L40] v = v + 2 [L34] EXPR counter++ [L34] COND TRUE counter++<20 [L35] CALL __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) [L12] COND FALSE !(!(cond)) [L35] RET __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) [L36] COND FALSE !(!(r != 0)) [L38] COND TRUE r > 0 [L39] r = r - v [L40] v = v + 2 [L34] EXPR counter++ [L34] COND TRUE counter++<20 [L35] CALL __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) [L12] COND FALSE !(!(cond)) [L35] RET __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) [L36] COND FALSE !(!(r != 0)) [L38] COND TRUE r > 0 [L39] r = r - v [L40] v = v + 2 [L34] EXPR counter++ [L34] COND TRUE counter++<20 [L35] CALL __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) [L12] COND FALSE !(!(cond)) [L35] RET __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) [L36] COND FALSE !(!(r != 0)) [L38] COND TRUE r > 0 [L39] r = r - v [L40] v = v + 2 [L34] EXPR counter++ [L34] COND TRUE counter++<20 [L35] CALL __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) [L12] COND FALSE !(!(cond)) [L35] RET __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) [L36] COND FALSE !(!(r != 0)) [L38] COND TRUE r > 0 [L39] r = r - v [L40] v = v + 2 [L34] EXPR counter++ [L34] COND TRUE counter++<20 [L35] CALL __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) [L12] COND FALSE !(!(cond)) [L35] RET __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) [L36] COND FALSE !(!(r != 0)) [L38] COND TRUE r > 0 [L39] r = r - v [L40] v = v + 2 [L34] EXPR counter++ [L34] COND TRUE counter++<20 [L35] CALL __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) [L12] COND FALSE !(!(cond)) [L35] RET __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) [L36] COND FALSE !(!(r != 0)) [L38] COND TRUE r > 0 [L39] r = r - v [L40] v = v + 2 [L34] EXPR counter++ [L34] COND TRUE counter++<20 [L35] CALL __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) [L12] COND FALSE !(!(cond)) [L35] RET __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) [L36] COND FALSE !(!(r != 0)) [L38] COND TRUE r > 0 [L39] r = r - v [L40] v = v + 2 [L34] EXPR counter++ [L34] COND TRUE counter++<20 [L35] CALL __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) [L12] COND FALSE !(!(cond)) [L35] RET __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) [L36] COND FALSE !(!(r != 0)) [L38] COND TRUE r > 0 [L39] r = r - v [L40] v = v + 2 [L34] EXPR counter++ [L34] COND TRUE counter++<20 [L35] CALL __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) [L12] COND FALSE !(!(cond)) [L35] RET __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) [L36] COND FALSE !(!(r != 0)) [L38] COND TRUE r > 0 [L39] r = r - v [L40] v = v + 2 [L34] EXPR counter++ [L34] COND TRUE counter++<20 [L35] CALL __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) [L12] COND FALSE !(!(cond)) [L35] RET __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) [L36] COND FALSE !(!(r != 0)) [L38] COND TRUE r > 0 [L39] r = r - v [L40] v = v + 2 [L34] EXPR counter++ [L34] COND TRUE counter++<20 [L35] CALL __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) [L12] COND FALSE !(!(cond)) [L35] RET __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) [L36] COND FALSE !(!(r != 0)) [L38] COND TRUE r > 0 [L39] r = r - v [L40] v = v + 2 [L34] EXPR counter++ [L34] COND TRUE counter++<20 [L35] CALL __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) [L12] COND FALSE !(!(cond)) [L35] RET __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) [L36] COND FALSE !(!(r != 0)) [L38] COND TRUE r > 0 [L39] r = r - v [L40] v = v + 2 [L34] EXPR counter++ [L34] COND TRUE counter++<20 [L35] CALL __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) [L12] COND FALSE !(!(cond)) [L35] RET __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) [L36] COND FALSE !(!(r != 0)) [L38] COND TRUE r > 0 [L39] r = r - v [L40] v = v + 2 [L34] EXPR counter++ [L34] COND TRUE counter++<20 [L35] CALL __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) [L12] COND FALSE !(!(cond)) [L35] RET __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) [L36] COND FALSE !(!(r != 0)) [L38] COND TRUE r > 0 [L39] r = r - v [L40] v = v + 2 [L34] EXPR counter++ [L34] COND TRUE counter++<20 [L35] CALL __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) [L12] COND FALSE !(!(cond)) [L35] RET __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) [L36] COND FALSE !(!(r != 0)) [L38] COND TRUE r > 0 [L39] r = r - v [L40] v = v + 2 [L34] EXPR counter++ [L34] COND TRUE counter++<20 [L35] CALL __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) [L12] COND FALSE !(!(cond)) [L35] RET __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) [L36] COND FALSE !(!(r != 0)) [L38] COND TRUE r > 0 [L39] r = r - v [L40] v = v + 2 [L34] EXPR counter++ [L34] COND TRUE counter++<20 [L35] CALL __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) [L12] COND FALSE !(!(cond)) [L35] RET __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) [L36] COND FALSE !(!(r != 0)) [L38] COND TRUE r > 0 [L39] r = r - v [L40] v = v + 2 [L34] EXPR counter++ [L34] COND TRUE counter++<20 [L35] CALL __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) [L12] COND FALSE !(!(cond)) [L35] RET __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) [L36] COND FALSE !(!(r != 0)) [L38] COND TRUE r > 0 [L39] r = r - v [L40] v = v + 2 [L34] EXPR counter++ [L34] COND TRUE counter++<20 [L35] CALL __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) [L12] COND FALSE !(!(cond)) [L35] RET __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) [L36] COND FALSE !(!(r != 0)) [L38] COND TRUE r > 0 [L39] r = r - v [L40] v = v + 2 [L34] EXPR counter++ [L34] COND FALSE !(counter++<20) [L48] CALL __VERIFIER_assert(((long long) 4*A) == u*u - v*v - 2*u + 2*v) [L12] COND TRUE !(cond) [L14] reach_error() - StatisticsResult: Ultimate Automizer benchmark data CFG has 6 procedures, 33 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 130.9s, OverallIterations: 24, TraceHistogramMax: 21, PathProgramHistogramMax: 40, EmptinessCheckTime: 0.0s, AutomataDifference: 19.4s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 739 SdHoareTripleChecker+Valid, 5.5s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 738 mSDsluCounter, 3313 SdHoareTripleChecker+Invalid, 5.5s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 2523 mSDsCounter, 343 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 1303 IncrementalHoareTripleChecker+Invalid, 1646 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 343 mSolverCounterUnsat, 790 mSDtfsCounter, 1303 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 4591 GetRequests, 4028 SyntacticMatches, 11 SemanticMatches, 552 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1674 ImplicationChecksByTransitivity, 4.2s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=200occurred in iteration=23, InterpolantAutomatonStates: 475, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 3.0s AutomataMinimizationTime, 23 MinimizatonAttempts, 10 StatesRemovedByMinimization, 2 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: No data available, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available RESULT: Ultimate proved your program to be incorrect! [2022-04-28 12:43:57,209 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Ended with exit code 0 Received shutdown request...