/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/fermat1-ll_unwindbound20.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 12:37:20,699 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 12:37:20,700 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 12:37:20,768 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 12:37:20,769 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 12:37:20,770 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 12:37:20,773 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 12:37:20,777 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 12:37:20,778 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 12:37:20,781 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 12:37:20,782 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 12:37:20,783 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 12:37:20,783 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 12:37:20,785 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 12:37:20,785 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 12:37:20,787 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 12:37:20,788 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 12:37:20,789 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 12:37:20,790 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 12:37:20,794 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 12:37:20,796 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 12:37:20,797 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 12:37:20,797 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 12:37:20,798 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 12:37:20,799 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 12:37:20,803 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 12:37:20,803 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 12:37:20,804 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 12:37:20,804 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 12:37:20,805 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 12:37:20,805 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 12:37:20,805 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 12:37:20,807 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 12:37:20,807 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 12:37:20,807 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 12:37:20,808 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 12:37:20,808 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 12:37:20,808 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 12:37:20,809 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 12:37:20,809 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 12:37:20,809 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 12:37:20,810 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 12:37:20,811 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:37:20,819 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 12:37:20,819 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 12:37:20,820 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 12:37:20,820 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 12:37:20,820 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 12:37:20,821 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 12:37:20,821 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 12:37:20,821 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 12:37:20,821 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 12:37:20,822 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 12:37:20,822 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 12:37:20,822 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 12:37:20,822 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 12:37:20,822 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 12:37:20,822 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 12:37:20,822 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 12:37:20,822 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 12:37:20,822 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 12:37:20,823 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 12:37:20,823 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 12:37:20,823 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 12:37:20,823 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-28 12:37:20,823 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:37:21,025 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 12:37:21,044 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 12:37:21,046 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 12:37:21,046 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 12:37:21,047 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 12:37:21,048 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/fermat1-ll_unwindbound20.c [2022-04-28 12:37:21,088 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/5214709e4/a4536d0223fd4463ac4ae985cdbe3d3a/FLAG3b011b7f1 [2022-04-28 12:37:21,488 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 12:37:21,489 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/fermat1-ll_unwindbound20.c [2022-04-28 12:37:21,493 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/5214709e4/a4536d0223fd4463ac4ae985cdbe3d3a/FLAG3b011b7f1 [2022-04-28 12:37:21,505 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/5214709e4/a4536d0223fd4463ac4ae985cdbe3d3a [2022-04-28 12:37:21,507 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 12:37:21,508 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 12:37:21,510 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 12:37:21,511 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 12:37:21,513 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 12:37:21,514 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 12:37:21" (1/1) ... [2022-04-28 12:37:21,515 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@2ca60ccc and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:37:21, skipping insertion in model container [2022-04-28 12:37:21,515 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 12:37:21" (1/1) ... [2022-04-28 12:37:21,520 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 12:37:21,531 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 12:37:21,665 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/fermat1-ll_unwindbound20.c[535,548] [2022-04-28 12:37:21,692 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 12:37:21,698 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 12:37:21,711 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/fermat1-ll_unwindbound20.c[535,548] [2022-04-28 12:37:21,719 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 12:37:21,727 INFO L208 MainTranslator]: Completed translation [2022-04-28 12:37:21,728 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:37:21 WrapperNode [2022-04-28 12:37:21,728 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 12:37:21,729 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 12:37:21,729 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 12:37:21,729 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 12:37:21,737 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:37:21" (1/1) ... [2022-04-28 12:37:21,737 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:37:21" (1/1) ... [2022-04-28 12:37:21,748 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:37:21" (1/1) ... [2022-04-28 12:37:21,748 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:37:21" (1/1) ... [2022-04-28 12:37:21,768 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:37:21" (1/1) ... [2022-04-28 12:37:21,772 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:37:21" (1/1) ... [2022-04-28 12:37:21,772 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:37:21" (1/1) ... [2022-04-28 12:37:21,773 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 12:37:21,774 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 12:37:21,774 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 12:37:21,774 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 12:37:21,776 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:37:21" (1/1) ... [2022-04-28 12:37:21,781 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 12:37:21,789 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:37:21,805 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:37:21,835 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:37:21,844 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 12:37:21,845 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 12:37:21,845 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 12:37:21,845 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 12:37:21,845 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 12:37:21,846 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 12:37:21,846 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 12:37:21,846 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 12:37:21,846 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 12:37:21,846 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 12:37:21,846 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-28 12:37:21,846 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 12:37:21,846 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 12:37:21,847 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 12:37:21,847 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 12:37:21,848 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 12:37:21,849 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 12:37:21,849 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 12:37:21,849 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 12:37:21,849 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 12:37:21,896 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 12:37:21,897 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 12:37:22,075 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 12:37:22,079 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 12:37:22,080 INFO L299 CfgBuilder]: Removed 3 assume(true) statements. [2022-04-28 12:37:22,081 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 12:37:22 BoogieIcfgContainer [2022-04-28 12:37:22,081 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 12:37:22,082 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 12:37:22,082 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 12:37:22,093 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 12:37:22,094 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 12:37:21" (1/3) ... [2022-04-28 12:37:22,094 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@f5b4962 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 12:37:22, skipping insertion in model container [2022-04-28 12:37:22,094 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:37:21" (2/3) ... [2022-04-28 12:37:22,094 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@f5b4962 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 12:37:22, skipping insertion in model container [2022-04-28 12:37:22,095 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 12:37:22" (3/3) ... [2022-04-28 12:37:22,095 INFO L111 eAbstractionObserver]: Analyzing ICFG fermat1-ll_unwindbound20.c [2022-04-28 12:37:22,104 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 12:37:22,104 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 12:37:22,135 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 12:37:22,140 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@61f5ef3d, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@6e7d1d0b [2022-04-28 12:37:22,140 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 12:37:22,145 INFO L276 IsEmpty]: Start isEmpty. Operand has 37 states, 23 states have (on average 1.5217391304347827) internal successors, (35), 24 states have internal predecessors, (35), 8 states have call successors, (8), 4 states have call predecessors, (8), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 12:37:22,149 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-04-28 12:37:22,149 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:37:22,150 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:37:22,150 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:37:22,153 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:37:22,153 INFO L85 PathProgramCache]: Analyzing trace with hash 928708300, now seen corresponding path program 1 times [2022-04-28 12:37:22,158 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:37:22,158 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [176740067] [2022-04-28 12:37:22,172 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:37:22,172 INFO L85 PathProgramCache]: Analyzing trace with hash 928708300, now seen corresponding path program 2 times [2022-04-28 12:37:22,174 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:37:22,175 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1369690849] [2022-04-28 12:37:22,175 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:37:22,175 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:37:22,270 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:37:22,271 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1855813493] [2022-04-28 12:37:22,271 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:37:22,271 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:37:22,271 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:37:22,273 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:37:22,275 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:37:22,331 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 12:37:22,331 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:37:22,334 INFO L263 TraceCheckSpWp]: Trace formula consists of 80 conjuncts, 1 conjunts are in the unsatisfiable core [2022-04-28 12:37:22,345 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:37:22,349 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:37:22,468 INFO L272 TraceCheckUtils]: 0: Hoare triple {40#true} call ULTIMATE.init(); {40#true} is VALID [2022-04-28 12:37:22,469 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#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; {40#true} is VALID [2022-04-28 12:37:22,469 INFO L290 TraceCheckUtils]: 2: Hoare triple {40#true} assume true; {40#true} is VALID [2022-04-28 12:37:22,469 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40#true} {40#true} #102#return; {40#true} is VALID [2022-04-28 12:37:22,470 INFO L272 TraceCheckUtils]: 4: Hoare triple {40#true} call #t~ret9 := main(); {40#true} is VALID [2022-04-28 12:37:22,470 INFO L290 TraceCheckUtils]: 5: Hoare triple {40#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; {40#true} is VALID [2022-04-28 12:37:22,470 INFO L272 TraceCheckUtils]: 6: Hoare triple {40#true} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {40#true} is VALID [2022-04-28 12:37:22,471 INFO L290 TraceCheckUtils]: 7: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-28 12:37:22,471 INFO L290 TraceCheckUtils]: 8: Hoare triple {40#true} assume 0 == ~cond;assume false; {40#true} is VALID [2022-04-28 12:37:22,471 INFO L290 TraceCheckUtils]: 9: Hoare triple {40#true} assume true; {40#true} is VALID [2022-04-28 12:37:22,471 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {40#true} {40#true} #90#return; {40#true} is VALID [2022-04-28 12:37:22,472 INFO L272 TraceCheckUtils]: 11: Hoare triple {40#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)); {40#true} is VALID [2022-04-28 12:37:22,472 INFO L290 TraceCheckUtils]: 12: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-28 12:37:22,472 INFO L290 TraceCheckUtils]: 13: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-28 12:37:22,473 INFO L290 TraceCheckUtils]: 14: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-28 12:37:22,473 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {41#false} {40#true} #92#return; {41#false} is VALID [2022-04-28 12:37:22,473 INFO L290 TraceCheckUtils]: 16: Hoare triple {41#false} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {41#false} is VALID [2022-04-28 12:37:22,474 INFO L290 TraceCheckUtils]: 17: Hoare triple {41#false} assume !true; {41#false} is VALID [2022-04-28 12:37:22,475 INFO L272 TraceCheckUtils]: 18: Hoare triple {41#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)); {41#false} is VALID [2022-04-28 12:37:22,475 INFO L290 TraceCheckUtils]: 19: Hoare triple {41#false} ~cond := #in~cond; {41#false} is VALID [2022-04-28 12:37:22,475 INFO L290 TraceCheckUtils]: 20: Hoare triple {41#false} assume 0 == ~cond; {41#false} is VALID [2022-04-28 12:37:22,475 INFO L290 TraceCheckUtils]: 21: Hoare triple {41#false} assume !false; {41#false} is VALID [2022-04-28 12:37:22,476 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:37:22,476 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:37:22,477 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:37:22,477 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1369690849] [2022-04-28 12:37:22,477 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:37:22,477 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1855813493] [2022-04-28 12:37:22,477 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1855813493] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:37:22,477 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:37:22,478 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-04-28 12:37:22,480 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:37:22,480 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [176740067] [2022-04-28 12:37:22,480 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [176740067] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:37:22,481 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:37:22,481 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-04-28 12:37:22,481 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1754404370] [2022-04-28 12:37:22,481 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:37:22,485 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:37:22,487 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:37:22,489 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:37:22,514 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:37:22,515 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2022-04-28 12:37:22,515 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:37:22,531 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2022-04-28 12:37:22,531 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-04-28 12:37:22,533 INFO L87 Difference]: Start difference. First operand has 37 states, 23 states have (on average 1.5217391304347827) internal successors, (35), 24 states have internal predecessors, (35), 8 states have call successors, (8), 4 states have call predecessors, (8), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) 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:37:22,613 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:37:22,613 INFO L93 Difference]: Finished difference Result 67 states and 100 transitions. [2022-04-28 12:37:22,613 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-04-28 12:37:22,613 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:37:22,614 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:37:22,614 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:37:22,626 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 100 transitions. [2022-04-28 12:37:22,627 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:37:22,633 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 100 transitions. [2022-04-28 12:37:22,633 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 2 states and 100 transitions. [2022-04-28 12:37:22,719 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 100 edges. 100 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:37:22,726 INFO L225 Difference]: With dead ends: 67 [2022-04-28 12:37:22,726 INFO L226 Difference]: Without dead ends: 32 [2022-04-28 12:37:22,728 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:37:22,732 INFO L413 NwaCegarLoop]: 46 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, 46 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:37:22,733 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [0 Valid, 46 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:37:22,744 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states. [2022-04-28 12:37:22,753 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 32. [2022-04-28 12:37:22,753 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:37:22,754 INFO L82 GeneralOperation]: Start isEquivalent. First operand 32 states. Second operand has 32 states, 20 states have (on average 1.35) internal successors, (27), 21 states have internal predecessors, (27), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 12:37:22,754 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand has 32 states, 20 states have (on average 1.35) internal successors, (27), 21 states have internal predecessors, (27), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 12:37:22,755 INFO L87 Difference]: Start difference. First operand 32 states. Second operand has 32 states, 20 states have (on average 1.35) internal successors, (27), 21 states have internal predecessors, (27), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 12:37:22,758 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:37:22,758 INFO L93 Difference]: Finished difference Result 32 states and 41 transitions. [2022-04-28 12:37:22,758 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-28 12:37:22,758 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:37:22,759 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:37:22,759 INFO L74 IsIncluded]: Start isIncluded. First operand has 32 states, 20 states have (on average 1.35) internal successors, (27), 21 states have internal predecessors, (27), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 32 states. [2022-04-28 12:37:22,759 INFO L87 Difference]: Start difference. First operand has 32 states, 20 states have (on average 1.35) internal successors, (27), 21 states have internal predecessors, (27), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 32 states. [2022-04-28 12:37:22,762 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:37:22,762 INFO L93 Difference]: Finished difference Result 32 states and 41 transitions. [2022-04-28 12:37:22,762 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-28 12:37:22,763 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:37:22,763 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:37:22,763 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:37:22,763 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:37:22,763 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 20 states have (on average 1.35) internal successors, (27), 21 states have internal predecessors, (27), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 12:37:22,768 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 41 transitions. [2022-04-28 12:37:22,769 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 41 transitions. Word has length 22 [2022-04-28 12:37:22,769 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:37:22,769 INFO L495 AbstractCegarLoop]: Abstraction has 32 states and 41 transitions. [2022-04-28 12:37:22,769 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:37:22,769 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 32 states and 41 transitions. [2022-04-28 12:37:22,806 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:37:22,806 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-28 12:37:22,806 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-28 12:37:22,807 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:37:22,807 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:37:22,825 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-28 12:37:23,015 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:37:23,015 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:37:23,015 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:37:23,016 INFO L85 PathProgramCache]: Analyzing trace with hash -155606603, now seen corresponding path program 1 times [2022-04-28 12:37:23,016 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:37:23,016 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [535886104] [2022-04-28 12:37:23,016 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:37:23,016 INFO L85 PathProgramCache]: Analyzing trace with hash -155606603, now seen corresponding path program 2 times [2022-04-28 12:37:23,017 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:37:23,017 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1589449745] [2022-04-28 12:37:23,017 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:37:23,017 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:37:23,040 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:37:23,040 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [334027903] [2022-04-28 12:37:23,040 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:37:23,040 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:37:23,041 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:37:23,042 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:37:23,043 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:37:23,088 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 12:37:23,088 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:37:23,089 INFO L263 TraceCheckSpWp]: Trace formula consists of 84 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-28 12:37:23,098 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:37:23,099 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:37:23,265 INFO L272 TraceCheckUtils]: 0: Hoare triple {369#true} call ULTIMATE.init(); {369#true} is VALID [2022-04-28 12:37:23,267 INFO L290 TraceCheckUtils]: 1: Hoare triple {369#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; {377#(<= ~counter~0 0)} is VALID [2022-04-28 12:37:23,267 INFO L290 TraceCheckUtils]: 2: Hoare triple {377#(<= ~counter~0 0)} assume true; {377#(<= ~counter~0 0)} is VALID [2022-04-28 12:37:23,267 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {377#(<= ~counter~0 0)} {369#true} #102#return; {377#(<= ~counter~0 0)} is VALID [2022-04-28 12:37:23,268 INFO L272 TraceCheckUtils]: 4: Hoare triple {377#(<= ~counter~0 0)} call #t~ret9 := main(); {377#(<= ~counter~0 0)} is VALID [2022-04-28 12:37:23,268 INFO L290 TraceCheckUtils]: 5: Hoare triple {377#(<= ~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; {377#(<= ~counter~0 0)} is VALID [2022-04-28 12:37:23,269 INFO L272 TraceCheckUtils]: 6: Hoare triple {377#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {377#(<= ~counter~0 0)} is VALID [2022-04-28 12:37:23,269 INFO L290 TraceCheckUtils]: 7: Hoare triple {377#(<= ~counter~0 0)} ~cond := #in~cond; {377#(<= ~counter~0 0)} is VALID [2022-04-28 12:37:23,270 INFO L290 TraceCheckUtils]: 8: Hoare triple {377#(<= ~counter~0 0)} assume !(0 == ~cond); {377#(<= ~counter~0 0)} is VALID [2022-04-28 12:37:23,270 INFO L290 TraceCheckUtils]: 9: Hoare triple {377#(<= ~counter~0 0)} assume true; {377#(<= ~counter~0 0)} is VALID [2022-04-28 12:37:23,270 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {377#(<= ~counter~0 0)} {377#(<= ~counter~0 0)} #90#return; {377#(<= ~counter~0 0)} is VALID [2022-04-28 12:37:23,271 INFO L272 TraceCheckUtils]: 11: Hoare triple {377#(<= ~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)); {377#(<= ~counter~0 0)} is VALID [2022-04-28 12:37:23,271 INFO L290 TraceCheckUtils]: 12: Hoare triple {377#(<= ~counter~0 0)} ~cond := #in~cond; {377#(<= ~counter~0 0)} is VALID [2022-04-28 12:37:23,272 INFO L290 TraceCheckUtils]: 13: Hoare triple {377#(<= ~counter~0 0)} assume !(0 == ~cond); {377#(<= ~counter~0 0)} is VALID [2022-04-28 12:37:23,273 INFO L290 TraceCheckUtils]: 14: Hoare triple {377#(<= ~counter~0 0)} assume true; {377#(<= ~counter~0 0)} is VALID [2022-04-28 12:37:23,274 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {377#(<= ~counter~0 0)} {377#(<= ~counter~0 0)} #92#return; {377#(<= ~counter~0 0)} is VALID [2022-04-28 12:37:23,274 INFO L290 TraceCheckUtils]: 16: Hoare triple {377#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {377#(<= ~counter~0 0)} is VALID [2022-04-28 12:37:23,275 INFO L290 TraceCheckUtils]: 17: Hoare triple {377#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {426#(<= |main_#t~post6| 0)} is VALID [2022-04-28 12:37:23,275 INFO L290 TraceCheckUtils]: 18: Hoare triple {426#(<= |main_#t~post6| 0)} assume !(#t~post6 < 20);havoc #t~post6; {370#false} is VALID [2022-04-28 12:37:23,276 INFO L272 TraceCheckUtils]: 19: Hoare triple {370#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)); {370#false} is VALID [2022-04-28 12:37:23,276 INFO L290 TraceCheckUtils]: 20: Hoare triple {370#false} ~cond := #in~cond; {370#false} is VALID [2022-04-28 12:37:23,277 INFO L290 TraceCheckUtils]: 21: Hoare triple {370#false} assume 0 == ~cond; {370#false} is VALID [2022-04-28 12:37:23,277 INFO L290 TraceCheckUtils]: 22: Hoare triple {370#false} assume !false; {370#false} is VALID [2022-04-28 12:37:23,277 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:37:23,277 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:37:23,277 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:37:23,278 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1589449745] [2022-04-28 12:37:23,278 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:37:23,278 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [334027903] [2022-04-28 12:37:23,278 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [334027903] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:37:23,278 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:37:23,278 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-28 12:37:23,279 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:37:23,280 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [535886104] [2022-04-28 12:37:23,280 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [535886104] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:37:23,280 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:37:23,281 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-28 12:37:23,281 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [950324621] [2022-04-28 12:37:23,281 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:37:23,282 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:37:23,282 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:37:23,282 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:37:23,297 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:37:23,297 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-28 12:37:23,297 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:37:23,298 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-28 12:37:23,298 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-28 12:37:23,298 INFO L87 Difference]: Start difference. First operand 32 states and 41 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:37:23,386 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:37:23,386 INFO L93 Difference]: Finished difference Result 41 states and 50 transitions. [2022-04-28 12:37:23,386 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-28 12:37:23,386 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:37:23,387 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:37:23,387 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:37:23,399 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 50 transitions. [2022-04-28 12:37:23,400 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:37:23,401 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 50 transitions. [2022-04-28 12:37:23,401 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 50 transitions. [2022-04-28 12:37:23,436 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:37:23,438 INFO L225 Difference]: With dead ends: 41 [2022-04-28 12:37:23,438 INFO L226 Difference]: Without dead ends: 34 [2022-04-28 12:37:23,438 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:37:23,439 INFO L413 NwaCegarLoop]: 39 mSDtfsCounter, 0 mSDsluCounter, 62 mSDsCounter, 0 mSdLazyCounter, 9 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 101 SdHoareTripleChecker+Invalid, 9 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 9 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:37:23,439 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [0 Valid, 101 Invalid, 9 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 9 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:37:23,440 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 34 states. [2022-04-28 12:37:23,451 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 34 to 34. [2022-04-28 12:37:23,451 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:37:23,451 INFO L82 GeneralOperation]: Start isEquivalent. First operand 34 states. Second operand has 34 states, 22 states have (on average 1.3181818181818181) internal successors, (29), 23 states have internal predecessors, (29), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 12:37:23,452 INFO L74 IsIncluded]: Start isIncluded. First operand 34 states. Second operand has 34 states, 22 states have (on average 1.3181818181818181) internal successors, (29), 23 states have internal predecessors, (29), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 12:37:23,452 INFO L87 Difference]: Start difference. First operand 34 states. Second operand has 34 states, 22 states have (on average 1.3181818181818181) internal successors, (29), 23 states have internal predecessors, (29), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 12:37:23,454 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:37:23,454 INFO L93 Difference]: Finished difference Result 34 states and 43 transitions. [2022-04-28 12:37:23,454 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 43 transitions. [2022-04-28 12:37:23,454 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:37:23,454 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:37:23,455 INFO L74 IsIncluded]: Start isIncluded. First operand has 34 states, 22 states have (on average 1.3181818181818181) internal successors, (29), 23 states have internal predecessors, (29), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 34 states. [2022-04-28 12:37:23,455 INFO L87 Difference]: Start difference. First operand has 34 states, 22 states have (on average 1.3181818181818181) internal successors, (29), 23 states have internal predecessors, (29), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 34 states. [2022-04-28 12:37:23,456 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:37:23,457 INFO L93 Difference]: Finished difference Result 34 states and 43 transitions. [2022-04-28 12:37:23,457 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 43 transitions. [2022-04-28 12:37:23,457 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:37:23,457 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:37:23,457 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:37:23,457 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:37:23,458 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 22 states have (on average 1.3181818181818181) internal successors, (29), 23 states have internal predecessors, (29), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 12:37:23,459 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 43 transitions. [2022-04-28 12:37:23,459 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 43 transitions. Word has length 23 [2022-04-28 12:37:23,459 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:37:23,459 INFO L495 AbstractCegarLoop]: Abstraction has 34 states and 43 transitions. [2022-04-28 12:37:23,459 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:37:23,460 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 43 transitions. [2022-04-28 12:37:23,511 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:37:23,511 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 43 transitions. [2022-04-28 12:37:23,512 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-28 12:37:23,512 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:37:23,513 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:37:23,550 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:37:23,723 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:37:23,724 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:37:23,724 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:37:23,724 INFO L85 PathProgramCache]: Analyzing trace with hash -153938307, now seen corresponding path program 1 times [2022-04-28 12:37:23,724 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:37:23,725 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [164692206] [2022-04-28 12:37:23,725 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:37:23,725 INFO L85 PathProgramCache]: Analyzing trace with hash -153938307, now seen corresponding path program 2 times [2022-04-28 12:37:23,725 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:37:23,726 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1393954955] [2022-04-28 12:37:23,726 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:37:23,726 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:37:23,741 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:37:23,741 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [881972094] [2022-04-28 12:37:23,741 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:37:23,741 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:37:23,742 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:37:23,743 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:37:23,744 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:37:23,782 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 12:37:23,783 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:37:23,783 INFO L263 TraceCheckSpWp]: Trace formula consists of 84 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-28 12:37:23,792 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:37:23,793 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:37:24,055 INFO L272 TraceCheckUtils]: 0: Hoare triple {659#true} call ULTIMATE.init(); {659#true} is VALID [2022-04-28 12:37:24,056 INFO L290 TraceCheckUtils]: 1: Hoare triple {659#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; {659#true} is VALID [2022-04-28 12:37:24,056 INFO L290 TraceCheckUtils]: 2: Hoare triple {659#true} assume true; {659#true} is VALID [2022-04-28 12:37:24,056 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {659#true} {659#true} #102#return; {659#true} is VALID [2022-04-28 12:37:24,060 INFO L272 TraceCheckUtils]: 4: Hoare triple {659#true} call #t~ret9 := main(); {659#true} is VALID [2022-04-28 12:37:24,060 INFO L290 TraceCheckUtils]: 5: Hoare triple {659#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; {659#true} is VALID [2022-04-28 12:37:24,061 INFO L272 TraceCheckUtils]: 6: Hoare triple {659#true} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {659#true} is VALID [2022-04-28 12:37:24,061 INFO L290 TraceCheckUtils]: 7: Hoare triple {659#true} ~cond := #in~cond; {659#true} is VALID [2022-04-28 12:37:24,061 INFO L290 TraceCheckUtils]: 8: Hoare triple {659#true} assume !(0 == ~cond); {659#true} is VALID [2022-04-28 12:37:24,061 INFO L290 TraceCheckUtils]: 9: Hoare triple {659#true} assume true; {659#true} is VALID [2022-04-28 12:37:24,063 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {659#true} {659#true} #90#return; {659#true} is VALID [2022-04-28 12:37:24,063 INFO L272 TraceCheckUtils]: 11: Hoare triple {659#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)); {659#true} is VALID [2022-04-28 12:37:24,063 INFO L290 TraceCheckUtils]: 12: Hoare triple {659#true} ~cond := #in~cond; {659#true} is VALID [2022-04-28 12:37:24,063 INFO L290 TraceCheckUtils]: 13: Hoare triple {659#true} assume !(0 == ~cond); {659#true} is VALID [2022-04-28 12:37:24,064 INFO L290 TraceCheckUtils]: 14: Hoare triple {659#true} assume true; {659#true} is VALID [2022-04-28 12:37:24,064 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {659#true} {659#true} #92#return; {659#true} is VALID [2022-04-28 12:37:25,817 INFO L290 TraceCheckUtils]: 16: Hoare triple {659#true} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {712#(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:37:25,818 INFO L290 TraceCheckUtils]: 17: Hoare triple {712#(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; {712#(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:37:25,819 INFO L290 TraceCheckUtils]: 18: Hoare triple {712#(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; {712#(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:37:26,048 INFO L272 TraceCheckUtils]: 19: Hoare triple {712#(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)); {722#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:37:26,050 INFO L290 TraceCheckUtils]: 20: Hoare triple {722#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {726#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:37:26,050 INFO L290 TraceCheckUtils]: 21: Hoare triple {726#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {660#false} is VALID [2022-04-28 12:37:26,050 INFO L290 TraceCheckUtils]: 22: Hoare triple {660#false} assume !false; {660#false} is VALID [2022-04-28 12:37:26,050 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:37:26,051 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:37:26,051 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:37:26,051 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1393954955] [2022-04-28 12:37:26,051 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:37:26,051 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [881972094] [2022-04-28 12:37:26,051 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [881972094] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:37:26,051 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:37:26,052 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:37:26,052 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:37:26,052 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [164692206] [2022-04-28 12:37:26,052 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [164692206] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:37:26,052 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:37:26,052 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:37:26,052 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [810654722] [2022-04-28 12:37:26,052 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:37:26,053 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:37:26,053 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:37:26,053 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:37:29,452 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 19 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 12:37:29,452 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:37:29,452 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:37:29,452 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:37:29,453 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 12:37:29,453 INFO L87 Difference]: Start difference. First operand 34 states and 43 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:37:31,199 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.69s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 12:37:35,086 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 12:37:39,639 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 12:37:40,717 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.06s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 12:37:42,719 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 12:37:49,799 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.44s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 12:37:49,824 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:37:49,824 INFO L93 Difference]: Finished difference Result 53 states and 70 transitions. [2022-04-28 12:37:49,824 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:37:49,824 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:37:49,824 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:37:49,824 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:37:49,826 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 68 transitions. [2022-04-28 12:37:49,826 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:37:49,827 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 68 transitions. [2022-04-28 12:37:49,828 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 68 transitions. [2022-04-28 12:37:56,707 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 66 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-28 12:37:56,709 INFO L225 Difference]: With dead ends: 53 [2022-04-28 12:37:56,709 INFO L226 Difference]: Without dead ends: 51 [2022-04-28 12:37:56,709 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:37:56,710 INFO L413 NwaCegarLoop]: 34 mSDtfsCounter, 16 mSDsluCounter, 86 mSDsCounter, 0 mSdLazyCounter, 52 mSolverCounterSat, 2 mSolverCounterUnsat, 3 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 12.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 120 SdHoareTripleChecker+Invalid, 57 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 52 IncrementalHoareTripleChecker+Invalid, 3 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 12.4s IncrementalHoareTripleChecker+Time [2022-04-28 12:37:56,710 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [19 Valid, 120 Invalid, 57 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 52 Invalid, 3 Unknown, 0 Unchecked, 12.4s Time] [2022-04-28 12:37:56,711 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2022-04-28 12:37:56,727 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 50. [2022-04-28 12:37:56,728 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:37:56,729 INFO L82 GeneralOperation]: Start isEquivalent. First operand 51 states. Second operand has 50 states, 34 states have (on average 1.3823529411764706) internal successors, (47), 35 states have internal predecessors, (47), 11 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 12:37:56,729 INFO L74 IsIncluded]: Start isIncluded. First operand 51 states. Second operand has 50 states, 34 states have (on average 1.3823529411764706) internal successors, (47), 35 states have internal predecessors, (47), 11 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 12:37:56,729 INFO L87 Difference]: Start difference. First operand 51 states. Second operand has 50 states, 34 states have (on average 1.3823529411764706) internal successors, (47), 35 states have internal predecessors, (47), 11 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 12:37:56,732 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:37:56,732 INFO L93 Difference]: Finished difference Result 51 states and 68 transitions. [2022-04-28 12:37:56,732 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 68 transitions. [2022-04-28 12:37:56,732 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:37:56,732 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:37:56,733 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 34 states have (on average 1.3823529411764706) internal successors, (47), 35 states have internal predecessors, (47), 11 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 51 states. [2022-04-28 12:37:56,733 INFO L87 Difference]: Start difference. First operand has 50 states, 34 states have (on average 1.3823529411764706) internal successors, (47), 35 states have internal predecessors, (47), 11 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 51 states. [2022-04-28 12:37:56,735 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:37:56,735 INFO L93 Difference]: Finished difference Result 51 states and 68 transitions. [2022-04-28 12:37:56,735 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 68 transitions. [2022-04-28 12:37:56,736 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:37:56,736 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:37:56,736 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:37:56,736 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:37:56,736 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 34 states have (on average 1.3823529411764706) internal successors, (47), 35 states have internal predecessors, (47), 11 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 12:37:56,738 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 67 transitions. [2022-04-28 12:37:56,738 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 67 transitions. Word has length 23 [2022-04-28 12:37:56,738 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:37:56,738 INFO L495 AbstractCegarLoop]: Abstraction has 50 states and 67 transitions. [2022-04-28 12:37:56,739 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:37:56,739 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 67 transitions. [2022-04-28 12:37:59,595 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:37:59,595 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 67 transitions. [2022-04-28 12:37:59,596 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-04-28 12:37:59,596 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:37:59,596 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:37:59,617 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:37:59,796 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:37:59,797 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:37:59,797 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:37:59,797 INFO L85 PathProgramCache]: Analyzing trace with hash -1676885497, now seen corresponding path program 1 times [2022-04-28 12:37:59,797 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:37:59,797 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1091548461] [2022-04-28 12:37:59,798 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:37:59,798 INFO L85 PathProgramCache]: Analyzing trace with hash -1676885497, now seen corresponding path program 2 times [2022-04-28 12:37:59,798 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:37:59,798 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [866258836] [2022-04-28 12:37:59,798 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:37:59,798 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:37:59,809 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:37:59,810 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1439980507] [2022-04-28 12:37:59,810 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:37:59,810 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:37:59,810 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:37:59,811 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:37:59,812 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:37:59,849 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:37:59,849 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:37:59,850 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-28 12:37:59,857 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:37:59,858 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:38:00,014 INFO L272 TraceCheckUtils]: 0: Hoare triple {1042#true} call ULTIMATE.init(); {1042#true} is VALID [2022-04-28 12:38:00,015 INFO L290 TraceCheckUtils]: 1: Hoare triple {1042#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; {1042#true} is VALID [2022-04-28 12:38:00,015 INFO L290 TraceCheckUtils]: 2: Hoare triple {1042#true} assume true; {1042#true} is VALID [2022-04-28 12:38:00,015 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1042#true} {1042#true} #102#return; {1042#true} is VALID [2022-04-28 12:38:00,015 INFO L272 TraceCheckUtils]: 4: Hoare triple {1042#true} call #t~ret9 := main(); {1042#true} is VALID [2022-04-28 12:38:00,015 INFO L290 TraceCheckUtils]: 5: Hoare triple {1042#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; {1042#true} is VALID [2022-04-28 12:38:00,016 INFO L272 TraceCheckUtils]: 6: Hoare triple {1042#true} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {1042#true} is VALID [2022-04-28 12:38:00,016 INFO L290 TraceCheckUtils]: 7: Hoare triple {1042#true} ~cond := #in~cond; {1042#true} is VALID [2022-04-28 12:38:00,017 INFO L290 TraceCheckUtils]: 8: Hoare triple {1042#true} assume !(0 == ~cond); {1042#true} is VALID [2022-04-28 12:38:00,017 INFO L290 TraceCheckUtils]: 9: Hoare triple {1042#true} assume true; {1042#true} is VALID [2022-04-28 12:38:00,017 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1042#true} {1042#true} #90#return; {1042#true} is VALID [2022-04-28 12:38:00,017 INFO L272 TraceCheckUtils]: 11: Hoare triple {1042#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)); {1042#true} is VALID [2022-04-28 12:38:00,017 INFO L290 TraceCheckUtils]: 12: Hoare triple {1042#true} ~cond := #in~cond; {1042#true} is VALID [2022-04-28 12:38:00,017 INFO L290 TraceCheckUtils]: 13: Hoare triple {1042#true} assume !(0 == ~cond); {1042#true} is VALID [2022-04-28 12:38:00,017 INFO L290 TraceCheckUtils]: 14: Hoare triple {1042#true} assume true; {1042#true} is VALID [2022-04-28 12:38:00,017 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1042#true} {1042#true} #92#return; {1042#true} is VALID [2022-04-28 12:38:00,018 INFO L290 TraceCheckUtils]: 16: Hoare triple {1042#true} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {1042#true} is VALID [2022-04-28 12:38:00,018 INFO L290 TraceCheckUtils]: 17: Hoare triple {1042#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1042#true} is VALID [2022-04-28 12:38:00,018 INFO L290 TraceCheckUtils]: 18: Hoare triple {1042#true} assume !!(#t~post6 < 20);havoc #t~post6; {1042#true} is VALID [2022-04-28 12:38:00,018 INFO L272 TraceCheckUtils]: 19: Hoare triple {1042#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)); {1042#true} is VALID [2022-04-28 12:38:00,018 INFO L290 TraceCheckUtils]: 20: Hoare triple {1042#true} ~cond := #in~cond; {1107#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:38:00,019 INFO L290 TraceCheckUtils]: 21: Hoare triple {1107#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1111#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:38:00,019 INFO L290 TraceCheckUtils]: 22: Hoare triple {1111#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1111#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:38:00,020 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1111#(not (= |__VERIFIER_assert_#in~cond| 0))} {1042#true} #94#return; {1118#(= (+ (* 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:38:00,021 INFO L290 TraceCheckUtils]: 24: Hoare triple {1118#(= (+ (* 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); {1122#(= (+ (* 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:38:00,021 INFO L272 TraceCheckUtils]: 25: Hoare triple {1122#(= (+ (* 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)); {1126#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:38:00,022 INFO L290 TraceCheckUtils]: 26: Hoare triple {1126#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1130#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:38:00,022 INFO L290 TraceCheckUtils]: 27: Hoare triple {1130#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1043#false} is VALID [2022-04-28 12:38:00,022 INFO L290 TraceCheckUtils]: 28: Hoare triple {1043#false} assume !false; {1043#false} is VALID [2022-04-28 12:38:00,022 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:38:00,023 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:38:00,365 INFO L290 TraceCheckUtils]: 28: Hoare triple {1043#false} assume !false; {1043#false} is VALID [2022-04-28 12:38:00,366 INFO L290 TraceCheckUtils]: 27: Hoare triple {1130#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1043#false} is VALID [2022-04-28 12:38:00,366 INFO L290 TraceCheckUtils]: 26: Hoare triple {1126#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1130#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:38:00,367 INFO L272 TraceCheckUtils]: 25: Hoare triple {1122#(= (+ (* 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)); {1126#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:38:00,367 INFO L290 TraceCheckUtils]: 24: Hoare triple {1149#(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); {1122#(= (+ (* 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:38:00,370 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1111#(not (= |__VERIFIER_assert_#in~cond| 0))} {1042#true} #94#return; {1149#(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:38:00,379 INFO L290 TraceCheckUtils]: 22: Hoare triple {1111#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1111#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:38:00,380 INFO L290 TraceCheckUtils]: 21: Hoare triple {1162#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {1111#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:38:00,380 INFO L290 TraceCheckUtils]: 20: Hoare triple {1042#true} ~cond := #in~cond; {1162#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:38:00,380 INFO L272 TraceCheckUtils]: 19: Hoare triple {1042#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)); {1042#true} is VALID [2022-04-28 12:38:00,381 INFO L290 TraceCheckUtils]: 18: Hoare triple {1042#true} assume !!(#t~post6 < 20);havoc #t~post6; {1042#true} is VALID [2022-04-28 12:38:00,381 INFO L290 TraceCheckUtils]: 17: Hoare triple {1042#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1042#true} is VALID [2022-04-28 12:38:00,381 INFO L290 TraceCheckUtils]: 16: Hoare triple {1042#true} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {1042#true} is VALID [2022-04-28 12:38:00,381 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1042#true} {1042#true} #92#return; {1042#true} is VALID [2022-04-28 12:38:00,381 INFO L290 TraceCheckUtils]: 14: Hoare triple {1042#true} assume true; {1042#true} is VALID [2022-04-28 12:38:00,381 INFO L290 TraceCheckUtils]: 13: Hoare triple {1042#true} assume !(0 == ~cond); {1042#true} is VALID [2022-04-28 12:38:00,382 INFO L290 TraceCheckUtils]: 12: Hoare triple {1042#true} ~cond := #in~cond; {1042#true} is VALID [2022-04-28 12:38:00,383 INFO L272 TraceCheckUtils]: 11: Hoare triple {1042#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)); {1042#true} is VALID [2022-04-28 12:38:00,383 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1042#true} {1042#true} #90#return; {1042#true} is VALID [2022-04-28 12:38:00,383 INFO L290 TraceCheckUtils]: 9: Hoare triple {1042#true} assume true; {1042#true} is VALID [2022-04-28 12:38:00,384 INFO L290 TraceCheckUtils]: 8: Hoare triple {1042#true} assume !(0 == ~cond); {1042#true} is VALID [2022-04-28 12:38:00,385 INFO L290 TraceCheckUtils]: 7: Hoare triple {1042#true} ~cond := #in~cond; {1042#true} is VALID [2022-04-28 12:38:00,394 INFO L272 TraceCheckUtils]: 6: Hoare triple {1042#true} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {1042#true} is VALID [2022-04-28 12:38:00,394 INFO L290 TraceCheckUtils]: 5: Hoare triple {1042#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; {1042#true} is VALID [2022-04-28 12:38:00,395 INFO L272 TraceCheckUtils]: 4: Hoare triple {1042#true} call #t~ret9 := main(); {1042#true} is VALID [2022-04-28 12:38:00,395 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1042#true} {1042#true} #102#return; {1042#true} is VALID [2022-04-28 12:38:00,395 INFO L290 TraceCheckUtils]: 2: Hoare triple {1042#true} assume true; {1042#true} is VALID [2022-04-28 12:38:00,395 INFO L290 TraceCheckUtils]: 1: Hoare triple {1042#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; {1042#true} is VALID [2022-04-28 12:38:00,395 INFO L272 TraceCheckUtils]: 0: Hoare triple {1042#true} call ULTIMATE.init(); {1042#true} is VALID [2022-04-28 12:38:00,396 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:38:00,396 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:38:00,396 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [866258836] [2022-04-28 12:38:00,396 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:38:00,396 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1439980507] [2022-04-28 12:38:00,396 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1439980507] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:38:00,396 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:38:00,396 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 10 [2022-04-28 12:38:00,397 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:38:00,397 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1091548461] [2022-04-28 12:38:00,397 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1091548461] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:38:00,397 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:38:00,397 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 12:38:00,397 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [854531501] [2022-04-28 12:38:00,397 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:38:00,397 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:38:00,398 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:38:00,398 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:38:00,422 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:38:00,422 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 12:38:00,422 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:38:00,422 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 12:38:00,422 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=67, Unknown=0, NotChecked=0, Total=90 [2022-04-28 12:38:00,423 INFO L87 Difference]: Start difference. First operand 50 states and 67 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:38:00,779 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:38:00,779 INFO L93 Difference]: Finished difference Result 57 states and 73 transitions. [2022-04-28 12:38:00,779 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 12:38:00,779 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:38:00,779 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:38:00,779 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:38:00,781 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 47 transitions. [2022-04-28 12:38:00,781 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:38:00,782 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 47 transitions. [2022-04-28 12:38:00,782 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 47 transitions. [2022-04-28 12:38:00,823 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:38:00,824 INFO L225 Difference]: With dead ends: 57 [2022-04-28 12:38:00,824 INFO L226 Difference]: Without dead ends: 52 [2022-04-28 12:38:00,824 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:38:00,825 INFO L413 NwaCegarLoop]: 29 mSDtfsCounter, 25 mSDsluCounter, 106 mSDsCounter, 0 mSdLazyCounter, 83 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 27 SdHoareTripleChecker+Valid, 135 SdHoareTripleChecker+Invalid, 93 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 83 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:38:00,825 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [27 Valid, 135 Invalid, 93 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 83 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:38:00,826 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2022-04-28 12:38:00,847 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 52. [2022-04-28 12:38:00,847 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:38:00,847 INFO L82 GeneralOperation]: Start isEquivalent. First operand 52 states. Second operand has 52 states, 36 states have (on average 1.2777777777777777) internal successors, (46), 36 states have internal predecessors, (46), 11 states have call successors, (11), 6 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 12:38:00,847 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand has 52 states, 36 states have (on average 1.2777777777777777) internal successors, (46), 36 states have internal predecessors, (46), 11 states have call successors, (11), 6 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 12:38:00,849 INFO L87 Difference]: Start difference. First operand 52 states. Second operand has 52 states, 36 states have (on average 1.2777777777777777) internal successors, (46), 36 states have internal predecessors, (46), 11 states have call successors, (11), 6 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 12:38:00,854 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:38:00,854 INFO L93 Difference]: Finished difference Result 52 states and 66 transitions. [2022-04-28 12:38:00,854 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 66 transitions. [2022-04-28 12:38:00,856 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:38:00,856 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:38:00,856 INFO L74 IsIncluded]: Start isIncluded. First operand has 52 states, 36 states have (on average 1.2777777777777777) internal successors, (46), 36 states have internal predecessors, (46), 11 states have call successors, (11), 6 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 52 states. [2022-04-28 12:38:00,856 INFO L87 Difference]: Start difference. First operand has 52 states, 36 states have (on average 1.2777777777777777) internal successors, (46), 36 states have internal predecessors, (46), 11 states have call successors, (11), 6 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 52 states. [2022-04-28 12:38:00,859 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:38:00,859 INFO L93 Difference]: Finished difference Result 52 states and 66 transitions. [2022-04-28 12:38:00,859 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 66 transitions. [2022-04-28 12:38:00,860 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:38:00,860 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:38:00,860 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:38:00,860 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:38:00,860 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 52 states, 36 states have (on average 1.2777777777777777) internal successors, (46), 36 states have internal predecessors, (46), 11 states have call successors, (11), 6 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 12:38:00,862 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 66 transitions. [2022-04-28 12:38:00,862 INFO L78 Accepts]: Start accepts. Automaton has 52 states and 66 transitions. Word has length 29 [2022-04-28 12:38:00,862 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:38:00,862 INFO L495 AbstractCegarLoop]: Abstraction has 52 states and 66 transitions. [2022-04-28 12:38:00,862 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:38:00,862 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 52 states and 66 transitions. [2022-04-28 12:38:03,048 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 65 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 12:38:03,049 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 66 transitions. [2022-04-28 12:38:03,050 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2022-04-28 12:38:03,050 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:38:03,050 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, 1, 1, 1] [2022-04-28 12:38:03,068 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-28 12:38:03,250 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:38:03,251 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:38:03,251 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:38:03,251 INFO L85 PathProgramCache]: Analyzing trace with hash 1154059858, now seen corresponding path program 1 times [2022-04-28 12:38:03,251 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:38:03,251 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [324740891] [2022-04-28 12:38:03,252 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:38:03,252 INFO L85 PathProgramCache]: Analyzing trace with hash 1154059858, now seen corresponding path program 2 times [2022-04-28 12:38:03,252 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:38:03,252 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [132188224] [2022-04-28 12:38:03,252 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:38:03,252 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:38:03,265 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:38:03,265 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [297733990] [2022-04-28 12:38:03,265 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:38:03,265 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:38:03,265 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:38:03,267 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:38:03,268 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:38:03,427 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:38:03,427 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:38:03,428 INFO L263 TraceCheckSpWp]: Trace formula consists of 118 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 12:38:03,442 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:38:03,443 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:38:03,590 INFO L272 TraceCheckUtils]: 0: Hoare triple {1553#true} call ULTIMATE.init(); {1553#true} is VALID [2022-04-28 12:38:03,599 INFO L290 TraceCheckUtils]: 1: Hoare triple {1553#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; {1561#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:03,600 INFO L290 TraceCheckUtils]: 2: Hoare triple {1561#(<= ~counter~0 0)} assume true; {1561#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:03,600 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1561#(<= ~counter~0 0)} {1553#true} #102#return; {1561#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:03,601 INFO L272 TraceCheckUtils]: 4: Hoare triple {1561#(<= ~counter~0 0)} call #t~ret9 := main(); {1561#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:03,601 INFO L290 TraceCheckUtils]: 5: Hoare triple {1561#(<= ~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; {1561#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:03,601 INFO L272 TraceCheckUtils]: 6: Hoare triple {1561#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {1561#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:03,602 INFO L290 TraceCheckUtils]: 7: Hoare triple {1561#(<= ~counter~0 0)} ~cond := #in~cond; {1561#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:03,602 INFO L290 TraceCheckUtils]: 8: Hoare triple {1561#(<= ~counter~0 0)} assume !(0 == ~cond); {1561#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:03,602 INFO L290 TraceCheckUtils]: 9: Hoare triple {1561#(<= ~counter~0 0)} assume true; {1561#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:03,603 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1561#(<= ~counter~0 0)} {1561#(<= ~counter~0 0)} #90#return; {1561#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:03,603 INFO L272 TraceCheckUtils]: 11: Hoare triple {1561#(<= ~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)); {1561#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:03,604 INFO L290 TraceCheckUtils]: 12: Hoare triple {1561#(<= ~counter~0 0)} ~cond := #in~cond; {1561#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:03,604 INFO L290 TraceCheckUtils]: 13: Hoare triple {1561#(<= ~counter~0 0)} assume !(0 == ~cond); {1561#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:03,604 INFO L290 TraceCheckUtils]: 14: Hoare triple {1561#(<= ~counter~0 0)} assume true; {1561#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:03,605 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1561#(<= ~counter~0 0)} {1561#(<= ~counter~0 0)} #92#return; {1561#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:03,605 INFO L290 TraceCheckUtils]: 16: Hoare triple {1561#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {1561#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:03,605 INFO L290 TraceCheckUtils]: 17: Hoare triple {1561#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1610#(<= ~counter~0 1)} is VALID [2022-04-28 12:38:03,606 INFO L290 TraceCheckUtils]: 18: Hoare triple {1610#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {1610#(<= ~counter~0 1)} is VALID [2022-04-28 12:38:03,606 INFO L272 TraceCheckUtils]: 19: Hoare triple {1610#(<= ~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)); {1610#(<= ~counter~0 1)} is VALID [2022-04-28 12:38:03,607 INFO L290 TraceCheckUtils]: 20: Hoare triple {1610#(<= ~counter~0 1)} ~cond := #in~cond; {1610#(<= ~counter~0 1)} is VALID [2022-04-28 12:38:03,607 INFO L290 TraceCheckUtils]: 21: Hoare triple {1610#(<= ~counter~0 1)} assume !(0 == ~cond); {1610#(<= ~counter~0 1)} is VALID [2022-04-28 12:38:03,607 INFO L290 TraceCheckUtils]: 22: Hoare triple {1610#(<= ~counter~0 1)} assume true; {1610#(<= ~counter~0 1)} is VALID [2022-04-28 12:38:03,608 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1610#(<= ~counter~0 1)} {1610#(<= ~counter~0 1)} #94#return; {1610#(<= ~counter~0 1)} is VALID [2022-04-28 12:38:03,608 INFO L290 TraceCheckUtils]: 24: Hoare triple {1610#(<= ~counter~0 1)} assume !!(0 != ~r~0); {1610#(<= ~counter~0 1)} is VALID [2022-04-28 12:38:03,608 INFO L290 TraceCheckUtils]: 25: Hoare triple {1610#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {1635#(<= |main_#t~post7| 1)} is VALID [2022-04-28 12:38:03,609 INFO L290 TraceCheckUtils]: 26: Hoare triple {1635#(<= |main_#t~post7| 1)} assume !(#t~post7 < 20);havoc #t~post7; {1554#false} is VALID [2022-04-28 12:38:03,609 INFO L290 TraceCheckUtils]: 27: Hoare triple {1554#false} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {1554#false} is VALID [2022-04-28 12:38:03,609 INFO L290 TraceCheckUtils]: 28: Hoare triple {1554#false} assume !(#t~post8 < 20);havoc #t~post8; {1554#false} is VALID [2022-04-28 12:38:03,609 INFO L290 TraceCheckUtils]: 29: Hoare triple {1554#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1554#false} is VALID [2022-04-28 12:38:03,609 INFO L290 TraceCheckUtils]: 30: Hoare triple {1554#false} assume !(#t~post6 < 20);havoc #t~post6; {1554#false} is VALID [2022-04-28 12:38:03,609 INFO L272 TraceCheckUtils]: 31: Hoare triple {1554#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)); {1554#false} is VALID [2022-04-28 12:38:03,610 INFO L290 TraceCheckUtils]: 32: Hoare triple {1554#false} ~cond := #in~cond; {1554#false} is VALID [2022-04-28 12:38:03,610 INFO L290 TraceCheckUtils]: 33: Hoare triple {1554#false} assume 0 == ~cond; {1554#false} is VALID [2022-04-28 12:38:03,610 INFO L290 TraceCheckUtils]: 34: Hoare triple {1554#false} assume !false; {1554#false} is VALID [2022-04-28 12:38:03,610 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:38:03,610 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:38:03,610 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:38:03,610 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [132188224] [2022-04-28 12:38:03,610 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:38:03,610 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [297733990] [2022-04-28 12:38:03,610 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [297733990] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:38:03,611 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:38:03,611 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:38:03,611 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:38:03,611 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [324740891] [2022-04-28 12:38:03,611 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [324740891] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:38:03,611 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:38:03,611 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:38:03,611 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1624207010] [2022-04-28 12:38:03,611 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:38:03,612 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 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 35 [2022-04-28 12:38:03,612 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:38:03,612 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 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:38:03,643 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:38:03,643 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:38:03,643 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:38:03,643 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:38:03,644 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-28 12:38:03,644 INFO L87 Difference]: Start difference. First operand 52 states and 66 transitions. Second operand has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 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:38:03,761 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:38:03,761 INFO L93 Difference]: Finished difference Result 97 states and 125 transitions. [2022-04-28 12:38:03,765 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:38:03,766 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 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 35 [2022-04-28 12:38:03,766 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:38:03,766 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 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:38:03,767 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 77 transitions. [2022-04-28 12:38:03,768 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 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:38:03,770 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 77 transitions. [2022-04-28 12:38:03,770 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 77 transitions. [2022-04-28 12:38:03,818 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:38:03,822 INFO L225 Difference]: With dead ends: 97 [2022-04-28 12:38:03,822 INFO L226 Difference]: Without dead ends: 60 [2022-04-28 12:38:03,822 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 34 GetRequests, 31 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-28 12:38:03,824 INFO L413 NwaCegarLoop]: 38 mSDtfsCounter, 6 mSDsluCounter, 65 mSDsCounter, 0 mSdLazyCounter, 14 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 6 SdHoareTripleChecker+Valid, 103 SdHoareTripleChecker+Invalid, 21 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 14 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:38:03,824 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [6 Valid, 103 Invalid, 21 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 14 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:38:03,826 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 60 states. [2022-04-28 12:38:03,858 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 60 to 60. [2022-04-28 12:38:03,859 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:38:03,860 INFO L82 GeneralOperation]: Start isEquivalent. First operand 60 states. Second operand has 60 states, 42 states have (on average 1.2380952380952381) internal successors, (52), 42 states have internal predecessors, (52), 12 states have call successors, (12), 7 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 12:38:03,860 INFO L74 IsIncluded]: Start isIncluded. First operand 60 states. Second operand has 60 states, 42 states have (on average 1.2380952380952381) internal successors, (52), 42 states have internal predecessors, (52), 12 states have call successors, (12), 7 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 12:38:03,860 INFO L87 Difference]: Start difference. First operand 60 states. Second operand has 60 states, 42 states have (on average 1.2380952380952381) internal successors, (52), 42 states have internal predecessors, (52), 12 states have call successors, (12), 7 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 12:38:03,862 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:38:03,862 INFO L93 Difference]: Finished difference Result 60 states and 74 transitions. [2022-04-28 12:38:03,863 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 74 transitions. [2022-04-28 12:38:03,863 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:38:03,863 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:38:03,863 INFO L74 IsIncluded]: Start isIncluded. First operand has 60 states, 42 states have (on average 1.2380952380952381) internal successors, (52), 42 states have internal predecessors, (52), 12 states have call successors, (12), 7 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 60 states. [2022-04-28 12:38:03,863 INFO L87 Difference]: Start difference. First operand has 60 states, 42 states have (on average 1.2380952380952381) internal successors, (52), 42 states have internal predecessors, (52), 12 states have call successors, (12), 7 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 60 states. [2022-04-28 12:38:03,867 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:38:03,867 INFO L93 Difference]: Finished difference Result 60 states and 74 transitions. [2022-04-28 12:38:03,867 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 74 transitions. [2022-04-28 12:38:03,867 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:38:03,867 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:38:03,867 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:38:03,867 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:38:03,867 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 60 states, 42 states have (on average 1.2380952380952381) internal successors, (52), 42 states have internal predecessors, (52), 12 states have call successors, (12), 7 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 12:38:03,869 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 60 states to 60 states and 74 transitions. [2022-04-28 12:38:03,869 INFO L78 Accepts]: Start accepts. Automaton has 60 states and 74 transitions. Word has length 35 [2022-04-28 12:38:03,870 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:38:03,870 INFO L495 AbstractCegarLoop]: Abstraction has 60 states and 74 transitions. [2022-04-28 12:38:03,870 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 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:38:03,870 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 60 states and 74 transitions. [2022-04-28 12:38:06,967 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 73 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 12:38:06,968 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 74 transitions. [2022-04-28 12:38:06,968 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-28 12:38:06,968 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:38:06,968 INFO L195 NwaCegarLoop]: trace histogram [3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:38:06,972 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:38:07,171 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:38:07,173 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:38:07,174 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:38:07,174 INFO L85 PathProgramCache]: Analyzing trace with hash -174895632, now seen corresponding path program 1 times [2022-04-28 12:38:07,174 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:38:07,174 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1906837151] [2022-04-28 12:38:07,174 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:38:07,174 INFO L85 PathProgramCache]: Analyzing trace with hash -174895632, now seen corresponding path program 2 times [2022-04-28 12:38:07,174 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:38:07,174 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [380687834] [2022-04-28 12:38:07,175 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:38:07,175 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:38:07,202 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:38:07,202 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [648704133] [2022-04-28 12:38:07,202 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:38:07,202 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:38:07,202 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:38:07,203 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:38:07,204 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:38:07,244 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:38:07,244 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:38:07,245 INFO L263 TraceCheckSpWp]: Trace formula consists of 128 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 12:38:07,255 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:38:07,257 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:38:07,450 INFO L272 TraceCheckUtils]: 0: Hoare triple {2096#true} call ULTIMATE.init(); {2096#true} is VALID [2022-04-28 12:38:07,451 INFO L290 TraceCheckUtils]: 1: Hoare triple {2096#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; {2104#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:07,451 INFO L290 TraceCheckUtils]: 2: Hoare triple {2104#(<= ~counter~0 0)} assume true; {2104#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:07,451 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2104#(<= ~counter~0 0)} {2096#true} #102#return; {2104#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:07,452 INFO L272 TraceCheckUtils]: 4: Hoare triple {2104#(<= ~counter~0 0)} call #t~ret9 := main(); {2104#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:07,452 INFO L290 TraceCheckUtils]: 5: Hoare triple {2104#(<= ~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; {2104#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:07,452 INFO L272 TraceCheckUtils]: 6: Hoare triple {2104#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {2104#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:07,453 INFO L290 TraceCheckUtils]: 7: Hoare triple {2104#(<= ~counter~0 0)} ~cond := #in~cond; {2104#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:07,453 INFO L290 TraceCheckUtils]: 8: Hoare triple {2104#(<= ~counter~0 0)} assume !(0 == ~cond); {2104#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:07,453 INFO L290 TraceCheckUtils]: 9: Hoare triple {2104#(<= ~counter~0 0)} assume true; {2104#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:07,454 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2104#(<= ~counter~0 0)} {2104#(<= ~counter~0 0)} #90#return; {2104#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:07,455 INFO L272 TraceCheckUtils]: 11: Hoare triple {2104#(<= ~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)); {2104#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:07,455 INFO L290 TraceCheckUtils]: 12: Hoare triple {2104#(<= ~counter~0 0)} ~cond := #in~cond; {2104#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:07,455 INFO L290 TraceCheckUtils]: 13: Hoare triple {2104#(<= ~counter~0 0)} assume !(0 == ~cond); {2104#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:07,456 INFO L290 TraceCheckUtils]: 14: Hoare triple {2104#(<= ~counter~0 0)} assume true; {2104#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:07,456 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2104#(<= ~counter~0 0)} {2104#(<= ~counter~0 0)} #92#return; {2104#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:07,457 INFO L290 TraceCheckUtils]: 16: Hoare triple {2104#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {2104#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:07,458 INFO L290 TraceCheckUtils]: 17: Hoare triple {2104#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2153#(<= ~counter~0 1)} is VALID [2022-04-28 12:38:07,458 INFO L290 TraceCheckUtils]: 18: Hoare triple {2153#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {2153#(<= ~counter~0 1)} is VALID [2022-04-28 12:38:07,459 INFO L272 TraceCheckUtils]: 19: Hoare triple {2153#(<= ~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)); {2153#(<= ~counter~0 1)} is VALID [2022-04-28 12:38:07,459 INFO L290 TraceCheckUtils]: 20: Hoare triple {2153#(<= ~counter~0 1)} ~cond := #in~cond; {2153#(<= ~counter~0 1)} is VALID [2022-04-28 12:38:07,460 INFO L290 TraceCheckUtils]: 21: Hoare triple {2153#(<= ~counter~0 1)} assume !(0 == ~cond); {2153#(<= ~counter~0 1)} is VALID [2022-04-28 12:38:07,460 INFO L290 TraceCheckUtils]: 22: Hoare triple {2153#(<= ~counter~0 1)} assume true; {2153#(<= ~counter~0 1)} is VALID [2022-04-28 12:38:07,461 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2153#(<= ~counter~0 1)} {2153#(<= ~counter~0 1)} #94#return; {2153#(<= ~counter~0 1)} is VALID [2022-04-28 12:38:07,461 INFO L290 TraceCheckUtils]: 24: Hoare triple {2153#(<= ~counter~0 1)} assume !!(0 != ~r~0); {2153#(<= ~counter~0 1)} is VALID [2022-04-28 12:38:07,462 INFO L290 TraceCheckUtils]: 25: Hoare triple {2153#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {2178#(<= ~counter~0 2)} is VALID [2022-04-28 12:38:07,462 INFO L290 TraceCheckUtils]: 26: Hoare triple {2178#(<= ~counter~0 2)} assume !!(#t~post7 < 20);havoc #t~post7; {2178#(<= ~counter~0 2)} is VALID [2022-04-28 12:38:07,463 INFO L272 TraceCheckUtils]: 27: Hoare triple {2178#(<= ~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)); {2178#(<= ~counter~0 2)} is VALID [2022-04-28 12:38:07,463 INFO L290 TraceCheckUtils]: 28: Hoare triple {2178#(<= ~counter~0 2)} ~cond := #in~cond; {2178#(<= ~counter~0 2)} is VALID [2022-04-28 12:38:07,464 INFO L290 TraceCheckUtils]: 29: Hoare triple {2178#(<= ~counter~0 2)} assume !(0 == ~cond); {2178#(<= ~counter~0 2)} is VALID [2022-04-28 12:38:07,464 INFO L290 TraceCheckUtils]: 30: Hoare triple {2178#(<= ~counter~0 2)} assume true; {2178#(<= ~counter~0 2)} is VALID [2022-04-28 12:38:07,465 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {2178#(<= ~counter~0 2)} {2178#(<= ~counter~0 2)} #96#return; {2178#(<= ~counter~0 2)} is VALID [2022-04-28 12:38:07,465 INFO L290 TraceCheckUtils]: 32: Hoare triple {2178#(<= ~counter~0 2)} assume !(~r~0 > 0); {2178#(<= ~counter~0 2)} is VALID [2022-04-28 12:38:07,465 INFO L290 TraceCheckUtils]: 33: Hoare triple {2178#(<= ~counter~0 2)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {2203#(<= |main_#t~post8| 2)} is VALID [2022-04-28 12:38:07,466 INFO L290 TraceCheckUtils]: 34: Hoare triple {2203#(<= |main_#t~post8| 2)} assume !(#t~post8 < 20);havoc #t~post8; {2097#false} is VALID [2022-04-28 12:38:07,466 INFO L290 TraceCheckUtils]: 35: Hoare triple {2097#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2097#false} is VALID [2022-04-28 12:38:07,466 INFO L290 TraceCheckUtils]: 36: Hoare triple {2097#false} assume !(#t~post6 < 20);havoc #t~post6; {2097#false} is VALID [2022-04-28 12:38:07,466 INFO L272 TraceCheckUtils]: 37: Hoare triple {2097#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)); {2097#false} is VALID [2022-04-28 12:38:07,466 INFO L290 TraceCheckUtils]: 38: Hoare triple {2097#false} ~cond := #in~cond; {2097#false} is VALID [2022-04-28 12:38:07,466 INFO L290 TraceCheckUtils]: 39: Hoare triple {2097#false} assume 0 == ~cond; {2097#false} is VALID [2022-04-28 12:38:07,467 INFO L290 TraceCheckUtils]: 40: Hoare triple {2097#false} assume !false; {2097#false} is VALID [2022-04-28 12:38:07,467 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 6 proven. 4 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:38:07,467 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:38:07,673 INFO L290 TraceCheckUtils]: 40: Hoare triple {2097#false} assume !false; {2097#false} is VALID [2022-04-28 12:38:07,673 INFO L290 TraceCheckUtils]: 39: Hoare triple {2097#false} assume 0 == ~cond; {2097#false} is VALID [2022-04-28 12:38:07,673 INFO L290 TraceCheckUtils]: 38: Hoare triple {2097#false} ~cond := #in~cond; {2097#false} is VALID [2022-04-28 12:38:07,673 INFO L272 TraceCheckUtils]: 37: Hoare triple {2097#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)); {2097#false} is VALID [2022-04-28 12:38:07,673 INFO L290 TraceCheckUtils]: 36: Hoare triple {2097#false} assume !(#t~post6 < 20);havoc #t~post6; {2097#false} is VALID [2022-04-28 12:38:07,673 INFO L290 TraceCheckUtils]: 35: Hoare triple {2097#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2097#false} is VALID [2022-04-28 12:38:07,674 INFO L290 TraceCheckUtils]: 34: Hoare triple {2243#(< |main_#t~post8| 20)} assume !(#t~post8 < 20);havoc #t~post8; {2097#false} is VALID [2022-04-28 12:38:07,674 INFO L290 TraceCheckUtils]: 33: Hoare triple {2247#(< ~counter~0 20)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {2243#(< |main_#t~post8| 20)} is VALID [2022-04-28 12:38:07,674 INFO L290 TraceCheckUtils]: 32: Hoare triple {2247#(< ~counter~0 20)} assume !(~r~0 > 0); {2247#(< ~counter~0 20)} is VALID [2022-04-28 12:38:07,675 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {2096#true} {2247#(< ~counter~0 20)} #96#return; {2247#(< ~counter~0 20)} is VALID [2022-04-28 12:38:07,675 INFO L290 TraceCheckUtils]: 30: Hoare triple {2096#true} assume true; {2096#true} is VALID [2022-04-28 12:38:07,675 INFO L290 TraceCheckUtils]: 29: Hoare triple {2096#true} assume !(0 == ~cond); {2096#true} is VALID [2022-04-28 12:38:07,675 INFO L290 TraceCheckUtils]: 28: Hoare triple {2096#true} ~cond := #in~cond; {2096#true} is VALID [2022-04-28 12:38:07,675 INFO L272 TraceCheckUtils]: 27: Hoare triple {2247#(< ~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)); {2096#true} is VALID [2022-04-28 12:38:07,676 INFO L290 TraceCheckUtils]: 26: Hoare triple {2247#(< ~counter~0 20)} assume !!(#t~post7 < 20);havoc #t~post7; {2247#(< ~counter~0 20)} is VALID [2022-04-28 12:38:07,676 INFO L290 TraceCheckUtils]: 25: Hoare triple {2272#(< ~counter~0 19)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {2247#(< ~counter~0 20)} is VALID [2022-04-28 12:38:07,676 INFO L290 TraceCheckUtils]: 24: Hoare triple {2272#(< ~counter~0 19)} assume !!(0 != ~r~0); {2272#(< ~counter~0 19)} is VALID [2022-04-28 12:38:07,677 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2096#true} {2272#(< ~counter~0 19)} #94#return; {2272#(< ~counter~0 19)} is VALID [2022-04-28 12:38:07,677 INFO L290 TraceCheckUtils]: 22: Hoare triple {2096#true} assume true; {2096#true} is VALID [2022-04-28 12:38:07,677 INFO L290 TraceCheckUtils]: 21: Hoare triple {2096#true} assume !(0 == ~cond); {2096#true} is VALID [2022-04-28 12:38:07,677 INFO L290 TraceCheckUtils]: 20: Hoare triple {2096#true} ~cond := #in~cond; {2096#true} is VALID [2022-04-28 12:38:07,677 INFO L272 TraceCheckUtils]: 19: Hoare triple {2272#(< ~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)); {2096#true} is VALID [2022-04-28 12:38:07,678 INFO L290 TraceCheckUtils]: 18: Hoare triple {2272#(< ~counter~0 19)} assume !!(#t~post6 < 20);havoc #t~post6; {2272#(< ~counter~0 19)} is VALID [2022-04-28 12:38:07,678 INFO L290 TraceCheckUtils]: 17: Hoare triple {2297#(< ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2272#(< ~counter~0 19)} is VALID [2022-04-28 12:38:07,678 INFO L290 TraceCheckUtils]: 16: Hoare triple {2297#(< ~counter~0 18)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {2297#(< ~counter~0 18)} is VALID [2022-04-28 12:38:07,679 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2096#true} {2297#(< ~counter~0 18)} #92#return; {2297#(< ~counter~0 18)} is VALID [2022-04-28 12:38:07,679 INFO L290 TraceCheckUtils]: 14: Hoare triple {2096#true} assume true; {2096#true} is VALID [2022-04-28 12:38:07,679 INFO L290 TraceCheckUtils]: 13: Hoare triple {2096#true} assume !(0 == ~cond); {2096#true} is VALID [2022-04-28 12:38:07,679 INFO L290 TraceCheckUtils]: 12: Hoare triple {2096#true} ~cond := #in~cond; {2096#true} is VALID [2022-04-28 12:38:07,679 INFO L272 TraceCheckUtils]: 11: Hoare triple {2297#(< ~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)); {2096#true} is VALID [2022-04-28 12:38:07,680 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2096#true} {2297#(< ~counter~0 18)} #90#return; {2297#(< ~counter~0 18)} is VALID [2022-04-28 12:38:07,680 INFO L290 TraceCheckUtils]: 9: Hoare triple {2096#true} assume true; {2096#true} is VALID [2022-04-28 12:38:07,680 INFO L290 TraceCheckUtils]: 8: Hoare triple {2096#true} assume !(0 == ~cond); {2096#true} is VALID [2022-04-28 12:38:07,680 INFO L290 TraceCheckUtils]: 7: Hoare triple {2096#true} ~cond := #in~cond; {2096#true} is VALID [2022-04-28 12:38:07,680 INFO L272 TraceCheckUtils]: 6: Hoare triple {2297#(< ~counter~0 18)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {2096#true} is VALID [2022-04-28 12:38:07,680 INFO L290 TraceCheckUtils]: 5: Hoare triple {2297#(< ~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; {2297#(< ~counter~0 18)} is VALID [2022-04-28 12:38:07,681 INFO L272 TraceCheckUtils]: 4: Hoare triple {2297#(< ~counter~0 18)} call #t~ret9 := main(); {2297#(< ~counter~0 18)} is VALID [2022-04-28 12:38:07,681 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2297#(< ~counter~0 18)} {2096#true} #102#return; {2297#(< ~counter~0 18)} is VALID [2022-04-28 12:38:07,681 INFO L290 TraceCheckUtils]: 2: Hoare triple {2297#(< ~counter~0 18)} assume true; {2297#(< ~counter~0 18)} is VALID [2022-04-28 12:38:07,682 INFO L290 TraceCheckUtils]: 1: Hoare triple {2096#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; {2297#(< ~counter~0 18)} is VALID [2022-04-28 12:38:07,682 INFO L272 TraceCheckUtils]: 0: Hoare triple {2096#true} call ULTIMATE.init(); {2096#true} is VALID [2022-04-28 12:38:07,682 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-28 12:38:07,682 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:38:07,682 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [380687834] [2022-04-28 12:38:07,682 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:38:07,682 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [648704133] [2022-04-28 12:38:07,683 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [648704133] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 12:38:07,683 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 12:38:07,683 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [6] total 10 [2022-04-28 12:38:07,683 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:38:07,683 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1906837151] [2022-04-28 12:38:07,683 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1906837151] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:38:07,683 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:38:07,683 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 12:38:07,683 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1368186825] [2022-04-28 12:38:07,683 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:38:07,684 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.8333333333333335) internal successors, (23), 6 states have internal predecessors, (23), 5 states have call successors, (7), 3 states have call predecessors, (7), 2 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:38:07,684 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:38:07,684 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 3.8333333333333335) internal successors, (23), 6 states have internal predecessors, (23), 5 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 12:38:07,724 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:38:07,724 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 12:38:07,724 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:38:07,725 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 12:38:07,726 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=57, Unknown=0, NotChecked=0, Total=90 [2022-04-28 12:38:07,726 INFO L87 Difference]: Start difference. First operand 60 states and 74 transitions. Second operand has 6 states, 6 states have (on average 3.8333333333333335) internal successors, (23), 6 states have internal predecessors, (23), 5 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 12:38:07,939 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:38:07,939 INFO L93 Difference]: Finished difference Result 106 states and 135 transitions. [2022-04-28 12:38:07,939 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 12:38:07,940 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.8333333333333335) internal successors, (23), 6 states have internal predecessors, (23), 5 states have call successors, (7), 3 states have call predecessors, (7), 2 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:38:07,940 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:38:07,940 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.8333333333333335) internal successors, (23), 6 states have internal predecessors, (23), 5 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 12:38:07,942 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 87 transitions. [2022-04-28 12:38:07,942 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.8333333333333335) internal successors, (23), 6 states have internal predecessors, (23), 5 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 12:38:07,944 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 87 transitions. [2022-04-28 12:38:07,944 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 87 transitions. [2022-04-28 12:38:08,012 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 87 edges. 87 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:38:08,014 INFO L225 Difference]: With dead ends: 106 [2022-04-28 12:38:08,015 INFO L226 Difference]: Without dead ends: 69 [2022-04-28 12:38:08,015 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 81 GetRequests, 73 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=33, Invalid=57, Unknown=0, NotChecked=0, Total=90 [2022-04-28 12:38:08,016 INFO L413 NwaCegarLoop]: 38 mSDtfsCounter, 31 mSDsluCounter, 71 mSDsCounter, 0 mSdLazyCounter, 19 mSolverCounterSat, 17 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 31 SdHoareTripleChecker+Valid, 109 SdHoareTripleChecker+Invalid, 36 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 17 IncrementalHoareTripleChecker+Valid, 19 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:38:08,017 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [31 Valid, 109 Invalid, 36 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [17 Valid, 19 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:38:08,017 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 69 states. [2022-04-28 12:38:08,071 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 69 to 68. [2022-04-28 12:38:08,071 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:38:08,071 INFO L82 GeneralOperation]: Start isEquivalent. First operand 69 states. Second operand has 68 states, 48 states have (on average 1.2291666666666667) internal successors, (59), 48 states have internal predecessors, (59), 13 states have call successors, (13), 8 states have call predecessors, (13), 6 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 12:38:08,071 INFO L74 IsIncluded]: Start isIncluded. First operand 69 states. Second operand has 68 states, 48 states have (on average 1.2291666666666667) internal successors, (59), 48 states have internal predecessors, (59), 13 states have call successors, (13), 8 states have call predecessors, (13), 6 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 12:38:08,071 INFO L87 Difference]: Start difference. First operand 69 states. Second operand has 68 states, 48 states have (on average 1.2291666666666667) internal successors, (59), 48 states have internal predecessors, (59), 13 states have call successors, (13), 8 states have call predecessors, (13), 6 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 12:38:08,073 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:38:08,073 INFO L93 Difference]: Finished difference Result 69 states and 84 transitions. [2022-04-28 12:38:08,073 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 84 transitions. [2022-04-28 12:38:08,074 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:38:08,074 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:38:08,074 INFO L74 IsIncluded]: Start isIncluded. First operand has 68 states, 48 states have (on average 1.2291666666666667) internal successors, (59), 48 states have internal predecessors, (59), 13 states have call successors, (13), 8 states have call predecessors, (13), 6 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand 69 states. [2022-04-28 12:38:08,075 INFO L87 Difference]: Start difference. First operand has 68 states, 48 states have (on average 1.2291666666666667) internal successors, (59), 48 states have internal predecessors, (59), 13 states have call successors, (13), 8 states have call predecessors, (13), 6 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand 69 states. [2022-04-28 12:38:08,077 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:38:08,077 INFO L93 Difference]: Finished difference Result 69 states and 84 transitions. [2022-04-28 12:38:08,077 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 84 transitions. [2022-04-28 12:38:08,077 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:38:08,077 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:38:08,078 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:38:08,078 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:38:08,078 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 68 states, 48 states have (on average 1.2291666666666667) internal successors, (59), 48 states have internal predecessors, (59), 13 states have call successors, (13), 8 states have call predecessors, (13), 6 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 12:38:08,080 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 68 states to 68 states and 83 transitions. [2022-04-28 12:38:08,080 INFO L78 Accepts]: Start accepts. Automaton has 68 states and 83 transitions. Word has length 41 [2022-04-28 12:38:08,081 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:38:08,081 INFO L495 AbstractCegarLoop]: Abstraction has 68 states and 83 transitions. [2022-04-28 12:38:08,081 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 3.8333333333333335) internal successors, (23), 6 states have internal predecessors, (23), 5 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 12:38:08,081 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 68 states and 83 transitions. [2022-04-28 12:38:12,178 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 81 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-28 12:38:12,178 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 83 transitions. [2022-04-28 12:38:12,179 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-28 12:38:12,179 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:38:12,179 INFO L195 NwaCegarLoop]: trace histogram [3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:38:12,198 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Ended with exit code 0 [2022-04-28 12:38:12,383 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:38:12,383 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:38:12,384 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:38:12,384 INFO L85 PathProgramCache]: Analyzing trace with hash -1292932747, now seen corresponding path program 1 times [2022-04-28 12:38:12,384 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:38:12,384 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1389234367] [2022-04-28 12:38:12,384 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:38:12,384 INFO L85 PathProgramCache]: Analyzing trace with hash -1292932747, now seen corresponding path program 2 times [2022-04-28 12:38:12,385 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:38:12,385 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [975611688] [2022-04-28 12:38:12,385 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:38:12,385 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:38:12,397 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:38:12,397 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1950776147] [2022-04-28 12:38:12,397 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:38:12,397 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:38:12,397 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:38:12,401 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:38:12,402 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:38:12,441 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:38:12,441 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:38:12,441 INFO L263 TraceCheckSpWp]: Trace formula consists of 137 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 12:38:12,456 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:38:12,457 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:38:12,636 INFO L272 TraceCheckUtils]: 0: Hoare triple {2837#true} call ULTIMATE.init(); {2837#true} is VALID [2022-04-28 12:38:12,637 INFO L290 TraceCheckUtils]: 1: Hoare triple {2837#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; {2845#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:12,638 INFO L290 TraceCheckUtils]: 2: Hoare triple {2845#(<= ~counter~0 0)} assume true; {2845#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:12,642 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2845#(<= ~counter~0 0)} {2837#true} #102#return; {2845#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:12,643 INFO L272 TraceCheckUtils]: 4: Hoare triple {2845#(<= ~counter~0 0)} call #t~ret9 := main(); {2845#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:12,643 INFO L290 TraceCheckUtils]: 5: Hoare triple {2845#(<= ~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; {2845#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:12,644 INFO L272 TraceCheckUtils]: 6: Hoare triple {2845#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {2845#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:12,644 INFO L290 TraceCheckUtils]: 7: Hoare triple {2845#(<= ~counter~0 0)} ~cond := #in~cond; {2845#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:12,645 INFO L290 TraceCheckUtils]: 8: Hoare triple {2845#(<= ~counter~0 0)} assume !(0 == ~cond); {2845#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:12,646 INFO L290 TraceCheckUtils]: 9: Hoare triple {2845#(<= ~counter~0 0)} assume true; {2845#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:12,646 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2845#(<= ~counter~0 0)} {2845#(<= ~counter~0 0)} #90#return; {2845#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:12,647 INFO L272 TraceCheckUtils]: 11: Hoare triple {2845#(<= ~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)); {2845#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:12,649 INFO L290 TraceCheckUtils]: 12: Hoare triple {2845#(<= ~counter~0 0)} ~cond := #in~cond; {2845#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:12,650 INFO L290 TraceCheckUtils]: 13: Hoare triple {2845#(<= ~counter~0 0)} assume !(0 == ~cond); {2845#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:12,650 INFO L290 TraceCheckUtils]: 14: Hoare triple {2845#(<= ~counter~0 0)} assume true; {2845#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:12,650 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2845#(<= ~counter~0 0)} {2845#(<= ~counter~0 0)} #92#return; {2845#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:12,650 INFO L290 TraceCheckUtils]: 16: Hoare triple {2845#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {2845#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:12,651 INFO L290 TraceCheckUtils]: 17: Hoare triple {2845#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2894#(<= ~counter~0 1)} is VALID [2022-04-28 12:38:12,651 INFO L290 TraceCheckUtils]: 18: Hoare triple {2894#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {2894#(<= ~counter~0 1)} is VALID [2022-04-28 12:38:12,652 INFO L272 TraceCheckUtils]: 19: Hoare triple {2894#(<= ~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)); {2894#(<= ~counter~0 1)} is VALID [2022-04-28 12:38:12,652 INFO L290 TraceCheckUtils]: 20: Hoare triple {2894#(<= ~counter~0 1)} ~cond := #in~cond; {2894#(<= ~counter~0 1)} is VALID [2022-04-28 12:38:12,652 INFO L290 TraceCheckUtils]: 21: Hoare triple {2894#(<= ~counter~0 1)} assume !(0 == ~cond); {2894#(<= ~counter~0 1)} is VALID [2022-04-28 12:38:12,653 INFO L290 TraceCheckUtils]: 22: Hoare triple {2894#(<= ~counter~0 1)} assume true; {2894#(<= ~counter~0 1)} is VALID [2022-04-28 12:38:12,653 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2894#(<= ~counter~0 1)} {2894#(<= ~counter~0 1)} #94#return; {2894#(<= ~counter~0 1)} is VALID [2022-04-28 12:38:12,653 INFO L290 TraceCheckUtils]: 24: Hoare triple {2894#(<= ~counter~0 1)} assume !!(0 != ~r~0); {2894#(<= ~counter~0 1)} is VALID [2022-04-28 12:38:12,654 INFO L290 TraceCheckUtils]: 25: Hoare triple {2894#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {2919#(<= ~counter~0 2)} is VALID [2022-04-28 12:38:12,654 INFO L290 TraceCheckUtils]: 26: Hoare triple {2919#(<= ~counter~0 2)} assume !!(#t~post7 < 20);havoc #t~post7; {2919#(<= ~counter~0 2)} is VALID [2022-04-28 12:38:12,654 INFO L272 TraceCheckUtils]: 27: Hoare triple {2919#(<= ~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)); {2919#(<= ~counter~0 2)} is VALID [2022-04-28 12:38:12,655 INFO L290 TraceCheckUtils]: 28: Hoare triple {2919#(<= ~counter~0 2)} ~cond := #in~cond; {2919#(<= ~counter~0 2)} is VALID [2022-04-28 12:38:12,655 INFO L290 TraceCheckUtils]: 29: Hoare triple {2919#(<= ~counter~0 2)} assume !(0 == ~cond); {2919#(<= ~counter~0 2)} is VALID [2022-04-28 12:38:12,655 INFO L290 TraceCheckUtils]: 30: Hoare triple {2919#(<= ~counter~0 2)} assume true; {2919#(<= ~counter~0 2)} is VALID [2022-04-28 12:38:12,656 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {2919#(<= ~counter~0 2)} {2919#(<= ~counter~0 2)} #96#return; {2919#(<= ~counter~0 2)} is VALID [2022-04-28 12:38:12,656 INFO L290 TraceCheckUtils]: 32: Hoare triple {2919#(<= ~counter~0 2)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {2919#(<= ~counter~0 2)} is VALID [2022-04-28 12:38:12,656 INFO L290 TraceCheckUtils]: 33: Hoare triple {2919#(<= ~counter~0 2)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {2944#(<= |main_#t~post7| 2)} is VALID [2022-04-28 12:38:12,657 INFO L290 TraceCheckUtils]: 34: Hoare triple {2944#(<= |main_#t~post7| 2)} assume !(#t~post7 < 20);havoc #t~post7; {2838#false} is VALID [2022-04-28 12:38:12,657 INFO L290 TraceCheckUtils]: 35: Hoare triple {2838#false} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {2838#false} is VALID [2022-04-28 12:38:12,657 INFO L290 TraceCheckUtils]: 36: Hoare triple {2838#false} assume !(#t~post8 < 20);havoc #t~post8; {2838#false} is VALID [2022-04-28 12:38:12,657 INFO L290 TraceCheckUtils]: 37: Hoare triple {2838#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2838#false} is VALID [2022-04-28 12:38:12,658 INFO L290 TraceCheckUtils]: 38: Hoare triple {2838#false} assume !(#t~post6 < 20);havoc #t~post6; {2838#false} is VALID [2022-04-28 12:38:12,658 INFO L272 TraceCheckUtils]: 39: Hoare triple {2838#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)); {2838#false} is VALID [2022-04-28 12:38:12,658 INFO L290 TraceCheckUtils]: 40: Hoare triple {2838#false} ~cond := #in~cond; {2838#false} is VALID [2022-04-28 12:38:12,658 INFO L290 TraceCheckUtils]: 41: Hoare triple {2838#false} assume 0 == ~cond; {2838#false} is VALID [2022-04-28 12:38:12,658 INFO L290 TraceCheckUtils]: 42: Hoare triple {2838#false} assume !false; {2838#false} is VALID [2022-04-28 12:38:12,659 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 6 proven. 6 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:38:12,660 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:38:12,872 INFO L290 TraceCheckUtils]: 42: Hoare triple {2838#false} assume !false; {2838#false} is VALID [2022-04-28 12:38:12,872 INFO L290 TraceCheckUtils]: 41: Hoare triple {2838#false} assume 0 == ~cond; {2838#false} is VALID [2022-04-28 12:38:12,872 INFO L290 TraceCheckUtils]: 40: Hoare triple {2838#false} ~cond := #in~cond; {2838#false} is VALID [2022-04-28 12:38:12,872 INFO L272 TraceCheckUtils]: 39: Hoare triple {2838#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)); {2838#false} is VALID [2022-04-28 12:38:12,872 INFO L290 TraceCheckUtils]: 38: Hoare triple {2838#false} assume !(#t~post6 < 20);havoc #t~post6; {2838#false} is VALID [2022-04-28 12:38:12,872 INFO L290 TraceCheckUtils]: 37: Hoare triple {2838#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2838#false} is VALID [2022-04-28 12:38:12,872 INFO L290 TraceCheckUtils]: 36: Hoare triple {2838#false} assume !(#t~post8 < 20);havoc #t~post8; {2838#false} is VALID [2022-04-28 12:38:12,873 INFO L290 TraceCheckUtils]: 35: Hoare triple {2838#false} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {2838#false} is VALID [2022-04-28 12:38:12,873 INFO L290 TraceCheckUtils]: 34: Hoare triple {2996#(< |main_#t~post7| 20)} assume !(#t~post7 < 20);havoc #t~post7; {2838#false} is VALID [2022-04-28 12:38:12,873 INFO L290 TraceCheckUtils]: 33: Hoare triple {3000#(< ~counter~0 20)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {2996#(< |main_#t~post7| 20)} is VALID [2022-04-28 12:38:12,873 INFO L290 TraceCheckUtils]: 32: Hoare triple {3000#(< ~counter~0 20)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {3000#(< ~counter~0 20)} is VALID [2022-04-28 12:38:12,874 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {2837#true} {3000#(< ~counter~0 20)} #96#return; {3000#(< ~counter~0 20)} is VALID [2022-04-28 12:38:12,874 INFO L290 TraceCheckUtils]: 30: Hoare triple {2837#true} assume true; {2837#true} is VALID [2022-04-28 12:38:12,874 INFO L290 TraceCheckUtils]: 29: Hoare triple {2837#true} assume !(0 == ~cond); {2837#true} is VALID [2022-04-28 12:38:12,874 INFO L290 TraceCheckUtils]: 28: Hoare triple {2837#true} ~cond := #in~cond; {2837#true} is VALID [2022-04-28 12:38:12,874 INFO L272 TraceCheckUtils]: 27: Hoare triple {3000#(< ~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)); {2837#true} is VALID [2022-04-28 12:38:12,875 INFO L290 TraceCheckUtils]: 26: Hoare triple {3000#(< ~counter~0 20)} assume !!(#t~post7 < 20);havoc #t~post7; {3000#(< ~counter~0 20)} is VALID [2022-04-28 12:38:12,875 INFO L290 TraceCheckUtils]: 25: Hoare triple {3025#(< ~counter~0 19)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {3000#(< ~counter~0 20)} is VALID [2022-04-28 12:38:12,875 INFO L290 TraceCheckUtils]: 24: Hoare triple {3025#(< ~counter~0 19)} assume !!(0 != ~r~0); {3025#(< ~counter~0 19)} is VALID [2022-04-28 12:38:12,877 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2837#true} {3025#(< ~counter~0 19)} #94#return; {3025#(< ~counter~0 19)} is VALID [2022-04-28 12:38:12,877 INFO L290 TraceCheckUtils]: 22: Hoare triple {2837#true} assume true; {2837#true} is VALID [2022-04-28 12:38:12,877 INFO L290 TraceCheckUtils]: 21: Hoare triple {2837#true} assume !(0 == ~cond); {2837#true} is VALID [2022-04-28 12:38:12,877 INFO L290 TraceCheckUtils]: 20: Hoare triple {2837#true} ~cond := #in~cond; {2837#true} is VALID [2022-04-28 12:38:12,877 INFO L272 TraceCheckUtils]: 19: Hoare triple {3025#(< ~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)); {2837#true} is VALID [2022-04-28 12:38:12,877 INFO L290 TraceCheckUtils]: 18: Hoare triple {3025#(< ~counter~0 19)} assume !!(#t~post6 < 20);havoc #t~post6; {3025#(< ~counter~0 19)} is VALID [2022-04-28 12:38:12,878 INFO L290 TraceCheckUtils]: 17: Hoare triple {3050#(< ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3025#(< ~counter~0 19)} is VALID [2022-04-28 12:38:12,878 INFO L290 TraceCheckUtils]: 16: Hoare triple {3050#(< ~counter~0 18)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {3050#(< ~counter~0 18)} is VALID [2022-04-28 12:38:12,879 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2837#true} {3050#(< ~counter~0 18)} #92#return; {3050#(< ~counter~0 18)} is VALID [2022-04-28 12:38:12,879 INFO L290 TraceCheckUtils]: 14: Hoare triple {2837#true} assume true; {2837#true} is VALID [2022-04-28 12:38:12,879 INFO L290 TraceCheckUtils]: 13: Hoare triple {2837#true} assume !(0 == ~cond); {2837#true} is VALID [2022-04-28 12:38:12,879 INFO L290 TraceCheckUtils]: 12: Hoare triple {2837#true} ~cond := #in~cond; {2837#true} is VALID [2022-04-28 12:38:12,879 INFO L272 TraceCheckUtils]: 11: Hoare triple {3050#(< ~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)); {2837#true} is VALID [2022-04-28 12:38:12,879 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2837#true} {3050#(< ~counter~0 18)} #90#return; {3050#(< ~counter~0 18)} is VALID [2022-04-28 12:38:12,879 INFO L290 TraceCheckUtils]: 9: Hoare triple {2837#true} assume true; {2837#true} is VALID [2022-04-28 12:38:12,880 INFO L290 TraceCheckUtils]: 8: Hoare triple {2837#true} assume !(0 == ~cond); {2837#true} is VALID [2022-04-28 12:38:12,880 INFO L290 TraceCheckUtils]: 7: Hoare triple {2837#true} ~cond := #in~cond; {2837#true} is VALID [2022-04-28 12:38:12,880 INFO L272 TraceCheckUtils]: 6: Hoare triple {3050#(< ~counter~0 18)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {2837#true} is VALID [2022-04-28 12:38:12,880 INFO L290 TraceCheckUtils]: 5: Hoare triple {3050#(< ~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; {3050#(< ~counter~0 18)} is VALID [2022-04-28 12:38:12,880 INFO L272 TraceCheckUtils]: 4: Hoare triple {3050#(< ~counter~0 18)} call #t~ret9 := main(); {3050#(< ~counter~0 18)} is VALID [2022-04-28 12:38:12,881 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3050#(< ~counter~0 18)} {2837#true} #102#return; {3050#(< ~counter~0 18)} is VALID [2022-04-28 12:38:12,881 INFO L290 TraceCheckUtils]: 2: Hoare triple {3050#(< ~counter~0 18)} assume true; {3050#(< ~counter~0 18)} is VALID [2022-04-28 12:38:12,881 INFO L290 TraceCheckUtils]: 1: Hoare triple {2837#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; {3050#(< ~counter~0 18)} is VALID [2022-04-28 12:38:12,882 INFO L272 TraceCheckUtils]: 0: Hoare triple {2837#true} call ULTIMATE.init(); {2837#true} is VALID [2022-04-28 12:38:12,882 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 6 proven. 2 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-28 12:38:12,882 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:38:12,882 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [975611688] [2022-04-28 12:38:12,882 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:38:12,882 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1950776147] [2022-04-28 12:38:12,882 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1950776147] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:38:12,882 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:38:12,882 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 10 [2022-04-28 12:38:12,883 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:38:12,883 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1389234367] [2022-04-28 12:38:12,883 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1389234367] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:38:12,883 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:38:12,883 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 12:38:12,883 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1746757548] [2022-04-28 12:38:12,883 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:38:12,883 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 5 states have internal predecessors, (28), 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 43 [2022-04-28 12:38:12,883 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:38:12,884 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 5 states have internal predecessors, (28), 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:38:12,908 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:38:12,908 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 12:38:12,908 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:38:12,909 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 12:38:12,909 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=57, Unknown=0, NotChecked=0, Total=90 [2022-04-28 12:38:12,909 INFO L87 Difference]: Start difference. First operand 68 states and 83 transitions. Second operand has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 5 states have internal predecessors, (28), 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:38:13,107 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:38:13,108 INFO L93 Difference]: Finished difference Result 91 states and 113 transitions. [2022-04-28 12:38:13,108 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-28 12:38:13,108 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 5 states have internal predecessors, (28), 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 43 [2022-04-28 12:38:13,108 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:38:13,108 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 5 states have internal predecessors, (28), 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:38:13,109 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 87 transitions. [2022-04-28 12:38:13,109 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 5 states have internal predecessors, (28), 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:38:13,110 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 87 transitions. [2022-04-28 12:38:13,111 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 87 transitions. [2022-04-28 12:38:13,168 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 87 edges. 87 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:38:13,169 INFO L225 Difference]: With dead ends: 91 [2022-04-28 12:38:13,169 INFO L226 Difference]: Without dead ends: 70 [2022-04-28 12:38:13,169 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 86 GetRequests, 77 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=41, Invalid=69, Unknown=0, NotChecked=0, Total=110 [2022-04-28 12:38:13,170 INFO L413 NwaCegarLoop]: 38 mSDtfsCounter, 9 mSDsluCounter, 103 mSDsCounter, 0 mSdLazyCounter, 27 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 141 SdHoareTripleChecker+Invalid, 37 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 27 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:38:13,170 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [9 Valid, 141 Invalid, 37 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 27 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:38:13,170 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2022-04-28 12:38:13,224 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 70. [2022-04-28 12:38:13,224 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:38:13,225 INFO L82 GeneralOperation]: Start isEquivalent. First operand 70 states. Second operand has 70 states, 50 states have (on average 1.22) internal successors, (61), 50 states have internal predecessors, (61), 13 states have call successors, (13), 8 states have call predecessors, (13), 6 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 12:38:13,225 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand has 70 states, 50 states have (on average 1.22) internal successors, (61), 50 states have internal predecessors, (61), 13 states have call successors, (13), 8 states have call predecessors, (13), 6 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 12:38:13,225 INFO L87 Difference]: Start difference. First operand 70 states. Second operand has 70 states, 50 states have (on average 1.22) internal successors, (61), 50 states have internal predecessors, (61), 13 states have call successors, (13), 8 states have call predecessors, (13), 6 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 12:38:13,227 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:38:13,227 INFO L93 Difference]: Finished difference Result 70 states and 85 transitions. [2022-04-28 12:38:13,227 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 85 transitions. [2022-04-28 12:38:13,228 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:38:13,228 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:38:13,228 INFO L74 IsIncluded]: Start isIncluded. First operand has 70 states, 50 states have (on average 1.22) internal successors, (61), 50 states have internal predecessors, (61), 13 states have call successors, (13), 8 states have call predecessors, (13), 6 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand 70 states. [2022-04-28 12:38:13,228 INFO L87 Difference]: Start difference. First operand has 70 states, 50 states have (on average 1.22) internal successors, (61), 50 states have internal predecessors, (61), 13 states have call successors, (13), 8 states have call predecessors, (13), 6 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand 70 states. [2022-04-28 12:38:13,230 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:38:13,230 INFO L93 Difference]: Finished difference Result 70 states and 85 transitions. [2022-04-28 12:38:13,231 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 85 transitions. [2022-04-28 12:38:13,231 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:38:13,231 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:38:13,231 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:38:13,231 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:38:13,231 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 70 states, 50 states have (on average 1.22) internal successors, (61), 50 states have internal predecessors, (61), 13 states have call successors, (13), 8 states have call predecessors, (13), 6 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 12:38:13,233 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 70 states to 70 states and 85 transitions. [2022-04-28 12:38:13,233 INFO L78 Accepts]: Start accepts. Automaton has 70 states and 85 transitions. Word has length 43 [2022-04-28 12:38:13,233 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:38:13,233 INFO L495 AbstractCegarLoop]: Abstraction has 70 states and 85 transitions. [2022-04-28 12:38:13,233 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 5 states have internal predecessors, (28), 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:38:13,233 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 70 states and 85 transitions. [2022-04-28 12:38:16,747 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 84 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 12:38:16,748 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 85 transitions. [2022-04-28 12:38:16,748 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-04-28 12:38:16,748 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:38:16,748 INFO L195 NwaCegarLoop]: trace histogram [4, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:38:16,764 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:38:16,948 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:38:16,949 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:38:16,949 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:38:16,949 INFO L85 PathProgramCache]: Analyzing trace with hash 1407897436, now seen corresponding path program 1 times [2022-04-28 12:38:16,949 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:38:16,949 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2078951971] [2022-04-28 12:38:16,949 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:38:16,950 INFO L85 PathProgramCache]: Analyzing trace with hash 1407897436, now seen corresponding path program 2 times [2022-04-28 12:38:16,950 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:38:16,950 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [426586294] [2022-04-28 12:38:16,950 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:38:16,950 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:38:16,959 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:38:16,959 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1320807505] [2022-04-28 12:38:16,959 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:38:16,960 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:38:16,960 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:38:16,969 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:38:16,971 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:38:17,028 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:38:17,029 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:38:17,029 INFO L263 TraceCheckSpWp]: Trace formula consists of 138 conjuncts, 3 conjunts are in the unsatisfiable core [2022-04-28 12:38:17,036 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:38:17,037 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:38:17,161 INFO L272 TraceCheckUtils]: 0: Hoare triple {3568#true} call ULTIMATE.init(); {3568#true} is VALID [2022-04-28 12:38:17,161 INFO L290 TraceCheckUtils]: 1: Hoare triple {3568#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {3568#true} is VALID [2022-04-28 12:38:17,162 INFO L290 TraceCheckUtils]: 2: Hoare triple {3568#true} assume true; {3568#true} is VALID [2022-04-28 12:38:17,162 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3568#true} {3568#true} #102#return; {3568#true} is VALID [2022-04-28 12:38:17,162 INFO L272 TraceCheckUtils]: 4: Hoare triple {3568#true} call #t~ret9 := main(); {3568#true} is VALID [2022-04-28 12:38:17,162 INFO L290 TraceCheckUtils]: 5: Hoare triple {3568#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; {3568#true} is VALID [2022-04-28 12:38:17,162 INFO L272 TraceCheckUtils]: 6: Hoare triple {3568#true} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {3568#true} is VALID [2022-04-28 12:38:17,162 INFO L290 TraceCheckUtils]: 7: Hoare triple {3568#true} ~cond := #in~cond; {3568#true} is VALID [2022-04-28 12:38:17,162 INFO L290 TraceCheckUtils]: 8: Hoare triple {3568#true} assume !(0 == ~cond); {3568#true} is VALID [2022-04-28 12:38:17,162 INFO L290 TraceCheckUtils]: 9: Hoare triple {3568#true} assume true; {3568#true} is VALID [2022-04-28 12:38:17,162 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3568#true} {3568#true} #90#return; {3568#true} is VALID [2022-04-28 12:38:17,162 INFO L272 TraceCheckUtils]: 11: Hoare triple {3568#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)); {3568#true} is VALID [2022-04-28 12:38:17,162 INFO L290 TraceCheckUtils]: 12: Hoare triple {3568#true} ~cond := #in~cond; {3568#true} is VALID [2022-04-28 12:38:17,163 INFO L290 TraceCheckUtils]: 13: Hoare triple {3568#true} assume !(0 == ~cond); {3568#true} is VALID [2022-04-28 12:38:17,163 INFO L290 TraceCheckUtils]: 14: Hoare triple {3568#true} assume true; {3568#true} is VALID [2022-04-28 12:38:17,163 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {3568#true} {3568#true} #92#return; {3568#true} is VALID [2022-04-28 12:38:17,163 INFO L290 TraceCheckUtils]: 16: Hoare triple {3568#true} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {3568#true} is VALID [2022-04-28 12:38:17,163 INFO L290 TraceCheckUtils]: 17: Hoare triple {3568#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3568#true} is VALID [2022-04-28 12:38:17,163 INFO L290 TraceCheckUtils]: 18: Hoare triple {3568#true} assume !!(#t~post6 < 20);havoc #t~post6; {3568#true} is VALID [2022-04-28 12:38:17,163 INFO L272 TraceCheckUtils]: 19: Hoare triple {3568#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)); {3568#true} is VALID [2022-04-28 12:38:17,163 INFO L290 TraceCheckUtils]: 20: Hoare triple {3568#true} ~cond := #in~cond; {3568#true} is VALID [2022-04-28 12:38:17,163 INFO L290 TraceCheckUtils]: 21: Hoare triple {3568#true} assume !(0 == ~cond); {3568#true} is VALID [2022-04-28 12:38:17,163 INFO L290 TraceCheckUtils]: 22: Hoare triple {3568#true} assume true; {3568#true} is VALID [2022-04-28 12:38:17,163 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3568#true} {3568#true} #94#return; {3568#true} is VALID [2022-04-28 12:38:17,164 INFO L290 TraceCheckUtils]: 24: Hoare triple {3568#true} assume !!(0 != ~r~0); {3645#(not (= main_~r~0 0))} is VALID [2022-04-28 12:38:17,164 INFO L290 TraceCheckUtils]: 25: Hoare triple {3645#(not (= main_~r~0 0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {3645#(not (= main_~r~0 0))} is VALID [2022-04-28 12:38:17,164 INFO L290 TraceCheckUtils]: 26: Hoare triple {3645#(not (= main_~r~0 0))} assume !!(#t~post7 < 20);havoc #t~post7; {3645#(not (= main_~r~0 0))} is VALID [2022-04-28 12:38:17,164 INFO L272 TraceCheckUtils]: 27: Hoare triple {3645#(not (= main_~r~0 0))} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {3568#true} is VALID [2022-04-28 12:38:17,164 INFO L290 TraceCheckUtils]: 28: Hoare triple {3568#true} ~cond := #in~cond; {3568#true} is VALID [2022-04-28 12:38:17,164 INFO L290 TraceCheckUtils]: 29: Hoare triple {3568#true} assume !(0 == ~cond); {3568#true} is VALID [2022-04-28 12:38:17,165 INFO L290 TraceCheckUtils]: 30: Hoare triple {3568#true} assume true; {3568#true} is VALID [2022-04-28 12:38:17,165 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {3568#true} {3645#(not (= main_~r~0 0))} #96#return; {3645#(not (= main_~r~0 0))} is VALID [2022-04-28 12:38:17,165 INFO L290 TraceCheckUtils]: 32: Hoare triple {3645#(not (= main_~r~0 0))} assume !(~r~0 > 0); {3670#(and (not (= main_~r~0 0)) (not (< 0 main_~r~0)))} is VALID [2022-04-28 12:38:17,166 INFO L290 TraceCheckUtils]: 33: Hoare triple {3670#(and (not (= main_~r~0 0)) (not (< 0 main_~r~0)))} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {3670#(and (not (= main_~r~0 0)) (not (< 0 main_~r~0)))} is VALID [2022-04-28 12:38:17,166 INFO L290 TraceCheckUtils]: 34: Hoare triple {3670#(and (not (= main_~r~0 0)) (not (< 0 main_~r~0)))} assume !!(#t~post8 < 20);havoc #t~post8; {3670#(and (not (= main_~r~0 0)) (not (< 0 main_~r~0)))} is VALID [2022-04-28 12:38:17,166 INFO L272 TraceCheckUtils]: 35: Hoare triple {3670#(and (not (= main_~r~0 0)) (not (< 0 main_~r~0)))} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {3568#true} is VALID [2022-04-28 12:38:17,166 INFO L290 TraceCheckUtils]: 36: Hoare triple {3568#true} ~cond := #in~cond; {3568#true} is VALID [2022-04-28 12:38:17,166 INFO L290 TraceCheckUtils]: 37: Hoare triple {3568#true} assume !(0 == ~cond); {3568#true} is VALID [2022-04-28 12:38:17,167 INFO L290 TraceCheckUtils]: 38: Hoare triple {3568#true} assume true; {3568#true} is VALID [2022-04-28 12:38:17,167 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {3568#true} {3670#(and (not (= main_~r~0 0)) (not (< 0 main_~r~0)))} #98#return; {3670#(and (not (= main_~r~0 0)) (not (< 0 main_~r~0)))} is VALID [2022-04-28 12:38:17,167 INFO L290 TraceCheckUtils]: 40: Hoare triple {3670#(and (not (= main_~r~0 0)) (not (< 0 main_~r~0)))} assume !(~r~0 < 0); {3569#false} is VALID [2022-04-28 12:38:17,168 INFO L290 TraceCheckUtils]: 41: Hoare triple {3569#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3569#false} is VALID [2022-04-28 12:38:17,168 INFO L290 TraceCheckUtils]: 42: Hoare triple {3569#false} assume !(#t~post6 < 20);havoc #t~post6; {3569#false} is VALID [2022-04-28 12:38:17,168 INFO L272 TraceCheckUtils]: 43: Hoare triple {3569#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)); {3569#false} is VALID [2022-04-28 12:38:17,168 INFO L290 TraceCheckUtils]: 44: Hoare triple {3569#false} ~cond := #in~cond; {3569#false} is VALID [2022-04-28 12:38:17,168 INFO L290 TraceCheckUtils]: 45: Hoare triple {3569#false} assume 0 == ~cond; {3569#false} is VALID [2022-04-28 12:38:17,168 INFO L290 TraceCheckUtils]: 46: Hoare triple {3569#false} assume !false; {3569#false} is VALID [2022-04-28 12:38:17,168 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 8 proven. 0 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-28 12:38:17,168 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:38:17,168 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:38:17,168 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [426586294] [2022-04-28 12:38:17,169 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:38:17,169 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1320807505] [2022-04-28 12:38:17,169 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1320807505] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:38:17,169 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:38:17,169 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-28 12:38:17,169 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:38:17,169 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2078951971] [2022-04-28 12:38:17,169 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2078951971] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:38:17,169 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:38:17,169 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-28 12:38:17,169 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1813275109] [2022-04-28 12:38:17,169 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:38:17,170 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 6.0) internal successors, (24), 4 states have internal predecessors, (24), 4 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) Word has length 47 [2022-04-28 12:38:17,170 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:38:17,170 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 6.0) internal successors, (24), 4 states have internal predecessors, (24), 4 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 12:38:17,196 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:38:17,196 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-28 12:38:17,197 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:38:17,197 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-28 12:38:17,197 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2022-04-28 12:38:17,197 INFO L87 Difference]: Start difference. First operand 70 states and 85 transitions. Second operand has 4 states, 4 states have (on average 6.0) internal successors, (24), 4 states have internal predecessors, (24), 4 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 12:38:17,373 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:38:17,373 INFO L93 Difference]: Finished difference Result 153 states and 210 transitions. [2022-04-28 12:38:17,373 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-28 12:38:17,373 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 6.0) internal successors, (24), 4 states have internal predecessors, (24), 4 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) Word has length 47 [2022-04-28 12:38:17,374 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:38:17,374 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 6.0) internal successors, (24), 4 states have internal predecessors, (24), 4 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 12:38:17,375 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 108 transitions. [2022-04-28 12:38:17,375 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 6.0) internal successors, (24), 4 states have internal predecessors, (24), 4 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 12:38:17,377 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 108 transitions. [2022-04-28 12:38:17,377 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 108 transitions. [2022-04-28 12:38:17,452 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 108 edges. 108 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:38:17,455 INFO L225 Difference]: With dead ends: 153 [2022-04-28 12:38:17,455 INFO L226 Difference]: Without dead ends: 116 [2022-04-28 12:38:17,455 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 46 GetRequests, 44 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2022-04-28 12:38:17,456 INFO L413 NwaCegarLoop]: 60 mSDtfsCounter, 19 mSDsluCounter, 41 mSDsCounter, 0 mSdLazyCounter, 25 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 23 SdHoareTripleChecker+Valid, 101 SdHoareTripleChecker+Invalid, 28 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 25 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:38:17,456 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [23 Valid, 101 Invalid, 28 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 25 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:38:17,456 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 116 states. [2022-04-28 12:38:17,517 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 116 to 98. [2022-04-28 12:38:17,517 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:38:17,517 INFO L82 GeneralOperation]: Start isEquivalent. First operand 116 states. Second operand has 98 states, 71 states have (on average 1.267605633802817) internal successors, (90), 71 states have internal predecessors, (90), 20 states have call successors, (20), 8 states have call predecessors, (20), 6 states have return successors, (18), 18 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 12:38:17,518 INFO L74 IsIncluded]: Start isIncluded. First operand 116 states. Second operand has 98 states, 71 states have (on average 1.267605633802817) internal successors, (90), 71 states have internal predecessors, (90), 20 states have call successors, (20), 8 states have call predecessors, (20), 6 states have return successors, (18), 18 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 12:38:17,518 INFO L87 Difference]: Start difference. First operand 116 states. Second operand has 98 states, 71 states have (on average 1.267605633802817) internal successors, (90), 71 states have internal predecessors, (90), 20 states have call successors, (20), 8 states have call predecessors, (20), 6 states have return successors, (18), 18 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 12:38:17,521 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:38:17,521 INFO L93 Difference]: Finished difference Result 116 states and 156 transitions. [2022-04-28 12:38:17,521 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 156 transitions. [2022-04-28 12:38:17,521 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:38:17,521 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:38:17,522 INFO L74 IsIncluded]: Start isIncluded. First operand has 98 states, 71 states have (on average 1.267605633802817) internal successors, (90), 71 states have internal predecessors, (90), 20 states have call successors, (20), 8 states have call predecessors, (20), 6 states have return successors, (18), 18 states have call predecessors, (18), 18 states have call successors, (18) Second operand 116 states. [2022-04-28 12:38:17,522 INFO L87 Difference]: Start difference. First operand has 98 states, 71 states have (on average 1.267605633802817) internal successors, (90), 71 states have internal predecessors, (90), 20 states have call successors, (20), 8 states have call predecessors, (20), 6 states have return successors, (18), 18 states have call predecessors, (18), 18 states have call successors, (18) Second operand 116 states. [2022-04-28 12:38:17,524 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:38:17,525 INFO L93 Difference]: Finished difference Result 116 states and 156 transitions. [2022-04-28 12:38:17,525 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 156 transitions. [2022-04-28 12:38:17,525 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:38:17,525 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:38:17,525 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:38:17,525 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:38:17,525 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 98 states, 71 states have (on average 1.267605633802817) internal successors, (90), 71 states have internal predecessors, (90), 20 states have call successors, (20), 8 states have call predecessors, (20), 6 states have return successors, (18), 18 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 12:38:17,527 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 98 states to 98 states and 128 transitions. [2022-04-28 12:38:17,528 INFO L78 Accepts]: Start accepts. Automaton has 98 states and 128 transitions. Word has length 47 [2022-04-28 12:38:17,528 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:38:17,528 INFO L495 AbstractCegarLoop]: Abstraction has 98 states and 128 transitions. [2022-04-28 12:38:17,528 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 6.0) internal successors, (24), 4 states have internal predecessors, (24), 4 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 12:38:17,528 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 98 states and 128 transitions. [2022-04-28 12:38:21,524 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 128 edges. 127 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 12:38:21,524 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 128 transitions. [2022-04-28 12:38:21,524 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-28 12:38:21,524 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:38:21,524 INFO L195 NwaCegarLoop]: trace histogram [4, 3, 3, 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, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:38:21,540 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:38:21,735 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:38:21,735 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:38:21,736 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:38:21,736 INFO L85 PathProgramCache]: Analyzing trace with hash 1915058849, now seen corresponding path program 1 times [2022-04-28 12:38:21,736 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:38:21,736 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1349593960] [2022-04-28 12:38:21,736 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:38:21,736 INFO L85 PathProgramCache]: Analyzing trace with hash 1915058849, now seen corresponding path program 2 times [2022-04-28 12:38:21,736 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:38:21,736 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [700559048] [2022-04-28 12:38:21,736 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:38:21,737 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:38:21,745 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:38:21,746 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [337995035] [2022-04-28 12:38:21,746 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:38:21,746 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:38:21,746 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:38:21,747 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:38:21,749 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:38:21,784 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:38:21,785 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:38:21,785 INFO L263 TraceCheckSpWp]: Trace formula consists of 147 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-28 12:38:21,795 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:38:21,796 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:38:22,029 INFO L272 TraceCheckUtils]: 0: Hoare triple {4446#true} call ULTIMATE.init(); {4446#true} is VALID [2022-04-28 12:38:22,030 INFO L290 TraceCheckUtils]: 1: Hoare triple {4446#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; {4454#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:22,030 INFO L290 TraceCheckUtils]: 2: Hoare triple {4454#(<= ~counter~0 0)} assume true; {4454#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:22,031 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4454#(<= ~counter~0 0)} {4446#true} #102#return; {4454#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:22,031 INFO L272 TraceCheckUtils]: 4: Hoare triple {4454#(<= ~counter~0 0)} call #t~ret9 := main(); {4454#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:22,031 INFO L290 TraceCheckUtils]: 5: Hoare triple {4454#(<= ~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; {4454#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:22,032 INFO L272 TraceCheckUtils]: 6: Hoare triple {4454#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {4454#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:22,032 INFO L290 TraceCheckUtils]: 7: Hoare triple {4454#(<= ~counter~0 0)} ~cond := #in~cond; {4454#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:22,033 INFO L290 TraceCheckUtils]: 8: Hoare triple {4454#(<= ~counter~0 0)} assume !(0 == ~cond); {4454#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:22,033 INFO L290 TraceCheckUtils]: 9: Hoare triple {4454#(<= ~counter~0 0)} assume true; {4454#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:22,033 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4454#(<= ~counter~0 0)} {4454#(<= ~counter~0 0)} #90#return; {4454#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:22,034 INFO L272 TraceCheckUtils]: 11: Hoare triple {4454#(<= ~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)); {4454#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:22,034 INFO L290 TraceCheckUtils]: 12: Hoare triple {4454#(<= ~counter~0 0)} ~cond := #in~cond; {4454#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:22,034 INFO L290 TraceCheckUtils]: 13: Hoare triple {4454#(<= ~counter~0 0)} assume !(0 == ~cond); {4454#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:22,035 INFO L290 TraceCheckUtils]: 14: Hoare triple {4454#(<= ~counter~0 0)} assume true; {4454#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:22,035 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4454#(<= ~counter~0 0)} {4454#(<= ~counter~0 0)} #92#return; {4454#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:22,035 INFO L290 TraceCheckUtils]: 16: Hoare triple {4454#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {4454#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:22,036 INFO L290 TraceCheckUtils]: 17: Hoare triple {4454#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4503#(<= ~counter~0 1)} is VALID [2022-04-28 12:38:22,036 INFO L290 TraceCheckUtils]: 18: Hoare triple {4503#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {4503#(<= ~counter~0 1)} is VALID [2022-04-28 12:38:22,037 INFO L272 TraceCheckUtils]: 19: Hoare triple {4503#(<= ~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)); {4503#(<= ~counter~0 1)} is VALID [2022-04-28 12:38:22,037 INFO L290 TraceCheckUtils]: 20: Hoare triple {4503#(<= ~counter~0 1)} ~cond := #in~cond; {4503#(<= ~counter~0 1)} is VALID [2022-04-28 12:38:22,037 INFO L290 TraceCheckUtils]: 21: Hoare triple {4503#(<= ~counter~0 1)} assume !(0 == ~cond); {4503#(<= ~counter~0 1)} is VALID [2022-04-28 12:38:22,038 INFO L290 TraceCheckUtils]: 22: Hoare triple {4503#(<= ~counter~0 1)} assume true; {4503#(<= ~counter~0 1)} is VALID [2022-04-28 12:38:22,038 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4503#(<= ~counter~0 1)} {4503#(<= ~counter~0 1)} #94#return; {4503#(<= ~counter~0 1)} is VALID [2022-04-28 12:38:22,039 INFO L290 TraceCheckUtils]: 24: Hoare triple {4503#(<= ~counter~0 1)} assume !!(0 != ~r~0); {4503#(<= ~counter~0 1)} is VALID [2022-04-28 12:38:22,039 INFO L290 TraceCheckUtils]: 25: Hoare triple {4503#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {4528#(<= ~counter~0 2)} is VALID [2022-04-28 12:38:22,039 INFO L290 TraceCheckUtils]: 26: Hoare triple {4528#(<= ~counter~0 2)} assume !!(#t~post7 < 20);havoc #t~post7; {4528#(<= ~counter~0 2)} is VALID [2022-04-28 12:38:22,040 INFO L272 TraceCheckUtils]: 27: Hoare triple {4528#(<= ~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)); {4528#(<= ~counter~0 2)} is VALID [2022-04-28 12:38:22,040 INFO L290 TraceCheckUtils]: 28: Hoare triple {4528#(<= ~counter~0 2)} ~cond := #in~cond; {4528#(<= ~counter~0 2)} is VALID [2022-04-28 12:38:22,040 INFO L290 TraceCheckUtils]: 29: Hoare triple {4528#(<= ~counter~0 2)} assume !(0 == ~cond); {4528#(<= ~counter~0 2)} is VALID [2022-04-28 12:38:22,041 INFO L290 TraceCheckUtils]: 30: Hoare triple {4528#(<= ~counter~0 2)} assume true; {4528#(<= ~counter~0 2)} is VALID [2022-04-28 12:38:22,041 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {4528#(<= ~counter~0 2)} {4528#(<= ~counter~0 2)} #96#return; {4528#(<= ~counter~0 2)} is VALID [2022-04-28 12:38:22,042 INFO L290 TraceCheckUtils]: 32: Hoare triple {4528#(<= ~counter~0 2)} assume !(~r~0 > 0); {4528#(<= ~counter~0 2)} is VALID [2022-04-28 12:38:22,042 INFO L290 TraceCheckUtils]: 33: Hoare triple {4528#(<= ~counter~0 2)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {4553#(<= ~counter~0 3)} is VALID [2022-04-28 12:38:22,042 INFO L290 TraceCheckUtils]: 34: Hoare triple {4553#(<= ~counter~0 3)} assume !!(#t~post8 < 20);havoc #t~post8; {4553#(<= ~counter~0 3)} is VALID [2022-04-28 12:38:22,043 INFO L272 TraceCheckUtils]: 35: Hoare triple {4553#(<= ~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)); {4553#(<= ~counter~0 3)} is VALID [2022-04-28 12:38:22,043 INFO L290 TraceCheckUtils]: 36: Hoare triple {4553#(<= ~counter~0 3)} ~cond := #in~cond; {4553#(<= ~counter~0 3)} is VALID [2022-04-28 12:38:22,043 INFO L290 TraceCheckUtils]: 37: Hoare triple {4553#(<= ~counter~0 3)} assume !(0 == ~cond); {4553#(<= ~counter~0 3)} is VALID [2022-04-28 12:38:22,043 INFO L290 TraceCheckUtils]: 38: Hoare triple {4553#(<= ~counter~0 3)} assume true; {4553#(<= ~counter~0 3)} is VALID [2022-04-28 12:38:22,044 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {4553#(<= ~counter~0 3)} {4553#(<= ~counter~0 3)} #98#return; {4553#(<= ~counter~0 3)} is VALID [2022-04-28 12:38:22,044 INFO L290 TraceCheckUtils]: 40: Hoare triple {4553#(<= ~counter~0 3)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {4553#(<= ~counter~0 3)} is VALID [2022-04-28 12:38:22,045 INFO L290 TraceCheckUtils]: 41: Hoare triple {4553#(<= ~counter~0 3)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {4578#(<= |main_#t~post8| 3)} is VALID [2022-04-28 12:38:22,045 INFO L290 TraceCheckUtils]: 42: Hoare triple {4578#(<= |main_#t~post8| 3)} assume !(#t~post8 < 20);havoc #t~post8; {4447#false} is VALID [2022-04-28 12:38:22,045 INFO L290 TraceCheckUtils]: 43: Hoare triple {4447#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4447#false} is VALID [2022-04-28 12:38:22,045 INFO L290 TraceCheckUtils]: 44: Hoare triple {4447#false} assume !(#t~post6 < 20);havoc #t~post6; {4447#false} is VALID [2022-04-28 12:38:22,045 INFO L272 TraceCheckUtils]: 45: Hoare triple {4447#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)); {4447#false} is VALID [2022-04-28 12:38:22,045 INFO L290 TraceCheckUtils]: 46: Hoare triple {4447#false} ~cond := #in~cond; {4447#false} is VALID [2022-04-28 12:38:22,045 INFO L290 TraceCheckUtils]: 47: Hoare triple {4447#false} assume 0 == ~cond; {4447#false} is VALID [2022-04-28 12:38:22,045 INFO L290 TraceCheckUtils]: 48: Hoare triple {4447#false} assume !false; {4447#false} is VALID [2022-04-28 12:38:22,047 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 8 proven. 14 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:38:22,047 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:38:22,299 INFO L290 TraceCheckUtils]: 48: Hoare triple {4447#false} assume !false; {4447#false} is VALID [2022-04-28 12:38:22,300 INFO L290 TraceCheckUtils]: 47: Hoare triple {4447#false} assume 0 == ~cond; {4447#false} is VALID [2022-04-28 12:38:22,300 INFO L290 TraceCheckUtils]: 46: Hoare triple {4447#false} ~cond := #in~cond; {4447#false} is VALID [2022-04-28 12:38:22,300 INFO L272 TraceCheckUtils]: 45: Hoare triple {4447#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)); {4447#false} is VALID [2022-04-28 12:38:22,300 INFO L290 TraceCheckUtils]: 44: Hoare triple {4447#false} assume !(#t~post6 < 20);havoc #t~post6; {4447#false} is VALID [2022-04-28 12:38:22,300 INFO L290 TraceCheckUtils]: 43: Hoare triple {4447#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4447#false} is VALID [2022-04-28 12:38:22,300 INFO L290 TraceCheckUtils]: 42: Hoare triple {4618#(< |main_#t~post8| 20)} assume !(#t~post8 < 20);havoc #t~post8; {4447#false} is VALID [2022-04-28 12:38:22,301 INFO L290 TraceCheckUtils]: 41: Hoare triple {4622#(< ~counter~0 20)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {4618#(< |main_#t~post8| 20)} is VALID [2022-04-28 12:38:22,301 INFO L290 TraceCheckUtils]: 40: Hoare triple {4622#(< ~counter~0 20)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {4622#(< ~counter~0 20)} is VALID [2022-04-28 12:38:22,302 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {4446#true} {4622#(< ~counter~0 20)} #98#return; {4622#(< ~counter~0 20)} is VALID [2022-04-28 12:38:22,302 INFO L290 TraceCheckUtils]: 38: Hoare triple {4446#true} assume true; {4446#true} is VALID [2022-04-28 12:38:22,302 INFO L290 TraceCheckUtils]: 37: Hoare triple {4446#true} assume !(0 == ~cond); {4446#true} is VALID [2022-04-28 12:38:22,302 INFO L290 TraceCheckUtils]: 36: Hoare triple {4446#true} ~cond := #in~cond; {4446#true} is VALID [2022-04-28 12:38:22,303 INFO L272 TraceCheckUtils]: 35: Hoare triple {4622#(< ~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)); {4446#true} is VALID [2022-04-28 12:38:22,303 INFO L290 TraceCheckUtils]: 34: Hoare triple {4622#(< ~counter~0 20)} assume !!(#t~post8 < 20);havoc #t~post8; {4622#(< ~counter~0 20)} is VALID [2022-04-28 12:38:22,320 INFO L290 TraceCheckUtils]: 33: Hoare triple {4647#(< ~counter~0 19)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {4622#(< ~counter~0 20)} is VALID [2022-04-28 12:38:22,320 INFO L290 TraceCheckUtils]: 32: Hoare triple {4647#(< ~counter~0 19)} assume !(~r~0 > 0); {4647#(< ~counter~0 19)} is VALID [2022-04-28 12:38:22,321 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {4446#true} {4647#(< ~counter~0 19)} #96#return; {4647#(< ~counter~0 19)} is VALID [2022-04-28 12:38:22,321 INFO L290 TraceCheckUtils]: 30: Hoare triple {4446#true} assume true; {4446#true} is VALID [2022-04-28 12:38:22,321 INFO L290 TraceCheckUtils]: 29: Hoare triple {4446#true} assume !(0 == ~cond); {4446#true} is VALID [2022-04-28 12:38:22,321 INFO L290 TraceCheckUtils]: 28: Hoare triple {4446#true} ~cond := #in~cond; {4446#true} is VALID [2022-04-28 12:38:22,321 INFO L272 TraceCheckUtils]: 27: Hoare triple {4647#(< ~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)); {4446#true} is VALID [2022-04-28 12:38:22,322 INFO L290 TraceCheckUtils]: 26: Hoare triple {4647#(< ~counter~0 19)} assume !!(#t~post7 < 20);havoc #t~post7; {4647#(< ~counter~0 19)} is VALID [2022-04-28 12:38:22,322 INFO L290 TraceCheckUtils]: 25: Hoare triple {4672#(< ~counter~0 18)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {4647#(< ~counter~0 19)} is VALID [2022-04-28 12:38:22,322 INFO L290 TraceCheckUtils]: 24: Hoare triple {4672#(< ~counter~0 18)} assume !!(0 != ~r~0); {4672#(< ~counter~0 18)} is VALID [2022-04-28 12:38:22,323 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4446#true} {4672#(< ~counter~0 18)} #94#return; {4672#(< ~counter~0 18)} is VALID [2022-04-28 12:38:22,323 INFO L290 TraceCheckUtils]: 22: Hoare triple {4446#true} assume true; {4446#true} is VALID [2022-04-28 12:38:22,323 INFO L290 TraceCheckUtils]: 21: Hoare triple {4446#true} assume !(0 == ~cond); {4446#true} is VALID [2022-04-28 12:38:22,323 INFO L290 TraceCheckUtils]: 20: Hoare triple {4446#true} ~cond := #in~cond; {4446#true} is VALID [2022-04-28 12:38:22,323 INFO L272 TraceCheckUtils]: 19: Hoare triple {4672#(< ~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)); {4446#true} is VALID [2022-04-28 12:38:22,324 INFO L290 TraceCheckUtils]: 18: Hoare triple {4672#(< ~counter~0 18)} assume !!(#t~post6 < 20);havoc #t~post6; {4672#(< ~counter~0 18)} is VALID [2022-04-28 12:38:22,324 INFO L290 TraceCheckUtils]: 17: Hoare triple {4697#(< ~counter~0 17)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4672#(< ~counter~0 18)} is VALID [2022-04-28 12:38:22,324 INFO L290 TraceCheckUtils]: 16: Hoare triple {4697#(< ~counter~0 17)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {4697#(< ~counter~0 17)} is VALID [2022-04-28 12:38:22,325 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4446#true} {4697#(< ~counter~0 17)} #92#return; {4697#(< ~counter~0 17)} is VALID [2022-04-28 12:38:22,325 INFO L290 TraceCheckUtils]: 14: Hoare triple {4446#true} assume true; {4446#true} is VALID [2022-04-28 12:38:22,325 INFO L290 TraceCheckUtils]: 13: Hoare triple {4446#true} assume !(0 == ~cond); {4446#true} is VALID [2022-04-28 12:38:22,325 INFO L290 TraceCheckUtils]: 12: Hoare triple {4446#true} ~cond := #in~cond; {4446#true} is VALID [2022-04-28 12:38:22,325 INFO L272 TraceCheckUtils]: 11: Hoare triple {4697#(< ~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)); {4446#true} is VALID [2022-04-28 12:38:22,326 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4446#true} {4697#(< ~counter~0 17)} #90#return; {4697#(< ~counter~0 17)} is VALID [2022-04-28 12:38:22,326 INFO L290 TraceCheckUtils]: 9: Hoare triple {4446#true} assume true; {4446#true} is VALID [2022-04-28 12:38:22,326 INFO L290 TraceCheckUtils]: 8: Hoare triple {4446#true} assume !(0 == ~cond); {4446#true} is VALID [2022-04-28 12:38:22,326 INFO L290 TraceCheckUtils]: 7: Hoare triple {4446#true} ~cond := #in~cond; {4446#true} is VALID [2022-04-28 12:38:22,326 INFO L272 TraceCheckUtils]: 6: Hoare triple {4697#(< ~counter~0 17)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {4446#true} is VALID [2022-04-28 12:38:22,328 INFO L290 TraceCheckUtils]: 5: Hoare triple {4697#(< ~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; {4697#(< ~counter~0 17)} is VALID [2022-04-28 12:38:22,328 INFO L272 TraceCheckUtils]: 4: Hoare triple {4697#(< ~counter~0 17)} call #t~ret9 := main(); {4697#(< ~counter~0 17)} is VALID [2022-04-28 12:38:22,329 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4697#(< ~counter~0 17)} {4446#true} #102#return; {4697#(< ~counter~0 17)} is VALID [2022-04-28 12:38:22,329 INFO L290 TraceCheckUtils]: 2: Hoare triple {4697#(< ~counter~0 17)} assume true; {4697#(< ~counter~0 17)} is VALID [2022-04-28 12:38:22,330 INFO L290 TraceCheckUtils]: 1: Hoare triple {4446#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; {4697#(< ~counter~0 17)} is VALID [2022-04-28 12:38:22,330 INFO L272 TraceCheckUtils]: 0: Hoare triple {4446#true} call ULTIMATE.init(); {4446#true} is VALID [2022-04-28 12:38:22,330 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 8 proven. 2 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-28 12:38:22,330 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:38:22,330 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [700559048] [2022-04-28 12:38:22,330 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:38:22,330 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [337995035] [2022-04-28 12:38:22,331 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [337995035] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:38:22,331 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:38:22,331 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2022-04-28 12:38:22,331 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:38:22,331 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1349593960] [2022-04-28 12:38:22,331 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1349593960] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:38:22,331 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:38:22,331 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 12:38:22,331 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [960522740] [2022-04-28 12:38:22,331 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:38:22,332 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.571428571428571) internal successors, (32), 6 states have internal predecessors, (32), 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 49 [2022-04-28 12:38:22,332 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:38:22,332 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 4.571428571428571) internal successors, (32), 6 states have internal predecessors, (32), 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:38:22,369 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:38:22,369 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 12:38:22,370 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:38:22,370 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 12:38:22,370 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=82, Unknown=0, NotChecked=0, Total=132 [2022-04-28 12:38:22,370 INFO L87 Difference]: Start difference. First operand 98 states and 128 transitions. Second operand has 7 states, 7 states have (on average 4.571428571428571) internal successors, (32), 6 states have internal predecessors, (32), 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:38:22,599 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:38:22,599 INFO L93 Difference]: Finished difference Result 176 states and 238 transitions. [2022-04-28 12:38:22,599 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 12:38:22,599 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.571428571428571) internal successors, (32), 6 states have internal predecessors, (32), 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 49 [2022-04-28 12:38:22,599 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:38:22,599 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.571428571428571) internal successors, (32), 6 states have internal predecessors, (32), 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:38:22,601 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 101 transitions. [2022-04-28 12:38:22,601 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.571428571428571) internal successors, (32), 6 states have internal predecessors, (32), 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:38:22,602 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 101 transitions. [2022-04-28 12:38:22,602 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 101 transitions. [2022-04-28 12:38:22,674 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:38:22,676 INFO L225 Difference]: With dead ends: 176 [2022-04-28 12:38:22,676 INFO L226 Difference]: Without dead ends: 111 [2022-04-28 12:38:22,676 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 98 GetRequests, 87 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 10 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=59, Invalid=97, Unknown=0, NotChecked=0, Total=156 [2022-04-28 12:38:22,677 INFO L413 NwaCegarLoop]: 40 mSDtfsCounter, 22 mSDsluCounter, 97 mSDsCounter, 0 mSdLazyCounter, 30 mSolverCounterSat, 21 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 137 SdHoareTripleChecker+Invalid, 51 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 21 IncrementalHoareTripleChecker+Valid, 30 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:38:22,677 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [22 Valid, 137 Invalid, 51 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [21 Valid, 30 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:38:22,677 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 111 states. [2022-04-28 12:38:22,765 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 111 to 110. [2022-04-28 12:38:22,765 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:38:22,765 INFO L82 GeneralOperation]: Start isEquivalent. First operand 111 states. Second operand has 110 states, 80 states have (on average 1.25) internal successors, (100), 80 states have internal predecessors, (100), 22 states have call successors, (22), 9 states have call predecessors, (22), 7 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-28 12:38:22,765 INFO L74 IsIncluded]: Start isIncluded. First operand 111 states. Second operand has 110 states, 80 states have (on average 1.25) internal successors, (100), 80 states have internal predecessors, (100), 22 states have call successors, (22), 9 states have call predecessors, (22), 7 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-28 12:38:22,766 INFO L87 Difference]: Start difference. First operand 111 states. Second operand has 110 states, 80 states have (on average 1.25) internal successors, (100), 80 states have internal predecessors, (100), 22 states have call successors, (22), 9 states have call predecessors, (22), 7 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-28 12:38:22,768 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:38:22,769 INFO L93 Difference]: Finished difference Result 111 states and 143 transitions. [2022-04-28 12:38:22,769 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 143 transitions. [2022-04-28 12:38:22,769 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:38:22,769 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:38:22,769 INFO L74 IsIncluded]: Start isIncluded. First operand has 110 states, 80 states have (on average 1.25) internal successors, (100), 80 states have internal predecessors, (100), 22 states have call successors, (22), 9 states have call predecessors, (22), 7 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) Second operand 111 states. [2022-04-28 12:38:22,769 INFO L87 Difference]: Start difference. First operand has 110 states, 80 states have (on average 1.25) internal successors, (100), 80 states have internal predecessors, (100), 22 states have call successors, (22), 9 states have call predecessors, (22), 7 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) Second operand 111 states. [2022-04-28 12:38:22,771 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:38:22,771 INFO L93 Difference]: Finished difference Result 111 states and 143 transitions. [2022-04-28 12:38:22,771 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 143 transitions. [2022-04-28 12:38:22,772 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:38:22,772 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:38:22,772 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:38:22,772 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:38:22,773 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 110 states, 80 states have (on average 1.25) internal successors, (100), 80 states have internal predecessors, (100), 22 states have call successors, (22), 9 states have call predecessors, (22), 7 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-28 12:38:22,774 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 110 states to 110 states and 142 transitions. [2022-04-28 12:38:22,775 INFO L78 Accepts]: Start accepts. Automaton has 110 states and 142 transitions. Word has length 49 [2022-04-28 12:38:22,775 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:38:22,775 INFO L495 AbstractCegarLoop]: Abstraction has 110 states and 142 transitions. [2022-04-28 12:38:22,775 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 4.571428571428571) internal successors, (32), 6 states have internal predecessors, (32), 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:38:22,775 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 110 states and 142 transitions. [2022-04-28 12:38:29,748 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 142 edges. 141 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 12:38:29,749 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 142 transitions. [2022-04-28 12:38:29,749 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-04-28 12:38:29,749 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:38:29,749 INFO L195 NwaCegarLoop]: trace histogram [4, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:38:29,765 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:38:29,950 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:38:29,950 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:38:29,950 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:38:29,950 INFO L85 PathProgramCache]: Analyzing trace with hash -60460648, now seen corresponding path program 3 times [2022-04-28 12:38:29,950 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:38:29,950 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [812615558] [2022-04-28 12:38:29,951 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:38:29,952 INFO L85 PathProgramCache]: Analyzing trace with hash -60460648, now seen corresponding path program 4 times [2022-04-28 12:38:29,952 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:38:29,952 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1836897074] [2022-04-28 12:38:29,952 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:38:29,952 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:38:29,966 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:38:29,966 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [682569317] [2022-04-28 12:38:29,966 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:38:29,966 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:38:29,966 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:38:29,967 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:38:29,968 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:38:30,027 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:38:30,028 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:38:30,028 INFO L263 TraceCheckSpWp]: Trace formula consists of 156 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-28 12:38:30,054 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:38:30,055 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:38:30,280 INFO L272 TraceCheckUtils]: 0: Hoare triple {5547#true} call ULTIMATE.init(); {5547#true} is VALID [2022-04-28 12:38:30,280 INFO L290 TraceCheckUtils]: 1: Hoare triple {5547#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; {5555#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:30,281 INFO L290 TraceCheckUtils]: 2: Hoare triple {5555#(<= ~counter~0 0)} assume true; {5555#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:30,281 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5555#(<= ~counter~0 0)} {5547#true} #102#return; {5555#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:30,281 INFO L272 TraceCheckUtils]: 4: Hoare triple {5555#(<= ~counter~0 0)} call #t~ret9 := main(); {5555#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:30,282 INFO L290 TraceCheckUtils]: 5: Hoare triple {5555#(<= ~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; {5555#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:30,282 INFO L272 TraceCheckUtils]: 6: Hoare triple {5555#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {5555#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:30,282 INFO L290 TraceCheckUtils]: 7: Hoare triple {5555#(<= ~counter~0 0)} ~cond := #in~cond; {5555#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:30,283 INFO L290 TraceCheckUtils]: 8: Hoare triple {5555#(<= ~counter~0 0)} assume !(0 == ~cond); {5555#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:30,283 INFO L290 TraceCheckUtils]: 9: Hoare triple {5555#(<= ~counter~0 0)} assume true; {5555#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:30,283 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5555#(<= ~counter~0 0)} {5555#(<= ~counter~0 0)} #90#return; {5555#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:30,284 INFO L272 TraceCheckUtils]: 11: Hoare triple {5555#(<= ~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)); {5555#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:30,284 INFO L290 TraceCheckUtils]: 12: Hoare triple {5555#(<= ~counter~0 0)} ~cond := #in~cond; {5555#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:30,284 INFO L290 TraceCheckUtils]: 13: Hoare triple {5555#(<= ~counter~0 0)} assume !(0 == ~cond); {5555#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:30,284 INFO L290 TraceCheckUtils]: 14: Hoare triple {5555#(<= ~counter~0 0)} assume true; {5555#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:30,285 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {5555#(<= ~counter~0 0)} {5555#(<= ~counter~0 0)} #92#return; {5555#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:30,285 INFO L290 TraceCheckUtils]: 16: Hoare triple {5555#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {5555#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:30,286 INFO L290 TraceCheckUtils]: 17: Hoare triple {5555#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5604#(<= ~counter~0 1)} is VALID [2022-04-28 12:38:30,286 INFO L290 TraceCheckUtils]: 18: Hoare triple {5604#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {5604#(<= ~counter~0 1)} is VALID [2022-04-28 12:38:30,286 INFO L272 TraceCheckUtils]: 19: Hoare triple {5604#(<= ~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)); {5604#(<= ~counter~0 1)} is VALID [2022-04-28 12:38:30,287 INFO L290 TraceCheckUtils]: 20: Hoare triple {5604#(<= ~counter~0 1)} ~cond := #in~cond; {5604#(<= ~counter~0 1)} is VALID [2022-04-28 12:38:30,287 INFO L290 TraceCheckUtils]: 21: Hoare triple {5604#(<= ~counter~0 1)} assume !(0 == ~cond); {5604#(<= ~counter~0 1)} is VALID [2022-04-28 12:38:30,287 INFO L290 TraceCheckUtils]: 22: Hoare triple {5604#(<= ~counter~0 1)} assume true; {5604#(<= ~counter~0 1)} is VALID [2022-04-28 12:38:30,288 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5604#(<= ~counter~0 1)} {5604#(<= ~counter~0 1)} #94#return; {5604#(<= ~counter~0 1)} is VALID [2022-04-28 12:38:30,288 INFO L290 TraceCheckUtils]: 24: Hoare triple {5604#(<= ~counter~0 1)} assume !!(0 != ~r~0); {5604#(<= ~counter~0 1)} is VALID [2022-04-28 12:38:30,288 INFO L290 TraceCheckUtils]: 25: Hoare triple {5604#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {5629#(<= ~counter~0 2)} is VALID [2022-04-28 12:38:30,289 INFO L290 TraceCheckUtils]: 26: Hoare triple {5629#(<= ~counter~0 2)} assume !!(#t~post7 < 20);havoc #t~post7; {5629#(<= ~counter~0 2)} is VALID [2022-04-28 12:38:30,289 INFO L272 TraceCheckUtils]: 27: Hoare triple {5629#(<= ~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)); {5629#(<= ~counter~0 2)} is VALID [2022-04-28 12:38:30,289 INFO L290 TraceCheckUtils]: 28: Hoare triple {5629#(<= ~counter~0 2)} ~cond := #in~cond; {5629#(<= ~counter~0 2)} is VALID [2022-04-28 12:38:30,290 INFO L290 TraceCheckUtils]: 29: Hoare triple {5629#(<= ~counter~0 2)} assume !(0 == ~cond); {5629#(<= ~counter~0 2)} is VALID [2022-04-28 12:38:30,290 INFO L290 TraceCheckUtils]: 30: Hoare triple {5629#(<= ~counter~0 2)} assume true; {5629#(<= ~counter~0 2)} is VALID [2022-04-28 12:38:30,290 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {5629#(<= ~counter~0 2)} {5629#(<= ~counter~0 2)} #96#return; {5629#(<= ~counter~0 2)} is VALID [2022-04-28 12:38:30,291 INFO L290 TraceCheckUtils]: 32: Hoare triple {5629#(<= ~counter~0 2)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {5629#(<= ~counter~0 2)} is VALID [2022-04-28 12:38:30,291 INFO L290 TraceCheckUtils]: 33: Hoare triple {5629#(<= ~counter~0 2)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {5654#(<= ~counter~0 3)} is VALID [2022-04-28 12:38:30,291 INFO L290 TraceCheckUtils]: 34: Hoare triple {5654#(<= ~counter~0 3)} assume !!(#t~post7 < 20);havoc #t~post7; {5654#(<= ~counter~0 3)} is VALID [2022-04-28 12:38:30,292 INFO L272 TraceCheckUtils]: 35: Hoare triple {5654#(<= ~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)); {5654#(<= ~counter~0 3)} is VALID [2022-04-28 12:38:30,292 INFO L290 TraceCheckUtils]: 36: Hoare triple {5654#(<= ~counter~0 3)} ~cond := #in~cond; {5654#(<= ~counter~0 3)} is VALID [2022-04-28 12:38:30,292 INFO L290 TraceCheckUtils]: 37: Hoare triple {5654#(<= ~counter~0 3)} assume !(0 == ~cond); {5654#(<= ~counter~0 3)} is VALID [2022-04-28 12:38:30,293 INFO L290 TraceCheckUtils]: 38: Hoare triple {5654#(<= ~counter~0 3)} assume true; {5654#(<= ~counter~0 3)} is VALID [2022-04-28 12:38:30,293 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {5654#(<= ~counter~0 3)} {5654#(<= ~counter~0 3)} #96#return; {5654#(<= ~counter~0 3)} is VALID [2022-04-28 12:38:30,293 INFO L290 TraceCheckUtils]: 40: Hoare triple {5654#(<= ~counter~0 3)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {5654#(<= ~counter~0 3)} is VALID [2022-04-28 12:38:30,294 INFO L290 TraceCheckUtils]: 41: Hoare triple {5654#(<= ~counter~0 3)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {5679#(<= |main_#t~post7| 3)} is VALID [2022-04-28 12:38:30,294 INFO L290 TraceCheckUtils]: 42: Hoare triple {5679#(<= |main_#t~post7| 3)} assume !(#t~post7 < 20);havoc #t~post7; {5548#false} is VALID [2022-04-28 12:38:30,294 INFO L290 TraceCheckUtils]: 43: Hoare triple {5548#false} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {5548#false} is VALID [2022-04-28 12:38:30,294 INFO L290 TraceCheckUtils]: 44: Hoare triple {5548#false} assume !(#t~post8 < 20);havoc #t~post8; {5548#false} is VALID [2022-04-28 12:38:30,294 INFO L290 TraceCheckUtils]: 45: Hoare triple {5548#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5548#false} is VALID [2022-04-28 12:38:30,294 INFO L290 TraceCheckUtils]: 46: Hoare triple {5548#false} assume !(#t~post6 < 20);havoc #t~post6; {5548#false} is VALID [2022-04-28 12:38:30,294 INFO L272 TraceCheckUtils]: 47: Hoare triple {5548#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)); {5548#false} is VALID [2022-04-28 12:38:30,295 INFO L290 TraceCheckUtils]: 48: Hoare triple {5548#false} ~cond := #in~cond; {5548#false} is VALID [2022-04-28 12:38:30,295 INFO L290 TraceCheckUtils]: 49: Hoare triple {5548#false} assume 0 == ~cond; {5548#false} is VALID [2022-04-28 12:38:30,295 INFO L290 TraceCheckUtils]: 50: Hoare triple {5548#false} assume !false; {5548#false} is VALID [2022-04-28 12:38:30,295 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 8 proven. 20 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:38:30,295 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:38:30,528 INFO L290 TraceCheckUtils]: 50: Hoare triple {5548#false} assume !false; {5548#false} is VALID [2022-04-28 12:38:30,529 INFO L290 TraceCheckUtils]: 49: Hoare triple {5548#false} assume 0 == ~cond; {5548#false} is VALID [2022-04-28 12:38:30,529 INFO L290 TraceCheckUtils]: 48: Hoare triple {5548#false} ~cond := #in~cond; {5548#false} is VALID [2022-04-28 12:38:30,529 INFO L272 TraceCheckUtils]: 47: Hoare triple {5548#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)); {5548#false} is VALID [2022-04-28 12:38:30,529 INFO L290 TraceCheckUtils]: 46: Hoare triple {5548#false} assume !(#t~post6 < 20);havoc #t~post6; {5548#false} is VALID [2022-04-28 12:38:30,529 INFO L290 TraceCheckUtils]: 45: Hoare triple {5548#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5548#false} is VALID [2022-04-28 12:38:30,529 INFO L290 TraceCheckUtils]: 44: Hoare triple {5548#false} assume !(#t~post8 < 20);havoc #t~post8; {5548#false} is VALID [2022-04-28 12:38:30,529 INFO L290 TraceCheckUtils]: 43: Hoare triple {5548#false} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {5548#false} is VALID [2022-04-28 12:38:30,529 INFO L290 TraceCheckUtils]: 42: Hoare triple {5731#(< |main_#t~post7| 20)} assume !(#t~post7 < 20);havoc #t~post7; {5548#false} is VALID [2022-04-28 12:38:30,530 INFO L290 TraceCheckUtils]: 41: Hoare triple {5735#(< ~counter~0 20)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {5731#(< |main_#t~post7| 20)} is VALID [2022-04-28 12:38:30,530 INFO L290 TraceCheckUtils]: 40: Hoare triple {5735#(< ~counter~0 20)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {5735#(< ~counter~0 20)} is VALID [2022-04-28 12:38:30,531 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {5547#true} {5735#(< ~counter~0 20)} #96#return; {5735#(< ~counter~0 20)} is VALID [2022-04-28 12:38:30,531 INFO L290 TraceCheckUtils]: 38: Hoare triple {5547#true} assume true; {5547#true} is VALID [2022-04-28 12:38:30,531 INFO L290 TraceCheckUtils]: 37: Hoare triple {5547#true} assume !(0 == ~cond); {5547#true} is VALID [2022-04-28 12:38:30,531 INFO L290 TraceCheckUtils]: 36: Hoare triple {5547#true} ~cond := #in~cond; {5547#true} is VALID [2022-04-28 12:38:30,531 INFO L272 TraceCheckUtils]: 35: Hoare triple {5735#(< ~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)); {5547#true} is VALID [2022-04-28 12:38:30,531 INFO L290 TraceCheckUtils]: 34: Hoare triple {5735#(< ~counter~0 20)} assume !!(#t~post7 < 20);havoc #t~post7; {5735#(< ~counter~0 20)} is VALID [2022-04-28 12:38:30,532 INFO L290 TraceCheckUtils]: 33: Hoare triple {5760#(< ~counter~0 19)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {5735#(< ~counter~0 20)} is VALID [2022-04-28 12:38:30,532 INFO L290 TraceCheckUtils]: 32: Hoare triple {5760#(< ~counter~0 19)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {5760#(< ~counter~0 19)} is VALID [2022-04-28 12:38:30,532 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {5547#true} {5760#(< ~counter~0 19)} #96#return; {5760#(< ~counter~0 19)} is VALID [2022-04-28 12:38:30,533 INFO L290 TraceCheckUtils]: 30: Hoare triple {5547#true} assume true; {5547#true} is VALID [2022-04-28 12:38:30,533 INFO L290 TraceCheckUtils]: 29: Hoare triple {5547#true} assume !(0 == ~cond); {5547#true} is VALID [2022-04-28 12:38:30,533 INFO L290 TraceCheckUtils]: 28: Hoare triple {5547#true} ~cond := #in~cond; {5547#true} is VALID [2022-04-28 12:38:30,533 INFO L272 TraceCheckUtils]: 27: Hoare triple {5760#(< ~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)); {5547#true} is VALID [2022-04-28 12:38:30,534 INFO L290 TraceCheckUtils]: 26: Hoare triple {5760#(< ~counter~0 19)} assume !!(#t~post7 < 20);havoc #t~post7; {5760#(< ~counter~0 19)} is VALID [2022-04-28 12:38:30,534 INFO L290 TraceCheckUtils]: 25: Hoare triple {5785#(< ~counter~0 18)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {5760#(< ~counter~0 19)} is VALID [2022-04-28 12:38:30,534 INFO L290 TraceCheckUtils]: 24: Hoare triple {5785#(< ~counter~0 18)} assume !!(0 != ~r~0); {5785#(< ~counter~0 18)} is VALID [2022-04-28 12:38:30,535 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5547#true} {5785#(< ~counter~0 18)} #94#return; {5785#(< ~counter~0 18)} is VALID [2022-04-28 12:38:30,535 INFO L290 TraceCheckUtils]: 22: Hoare triple {5547#true} assume true; {5547#true} is VALID [2022-04-28 12:38:30,535 INFO L290 TraceCheckUtils]: 21: Hoare triple {5547#true} assume !(0 == ~cond); {5547#true} is VALID [2022-04-28 12:38:30,535 INFO L290 TraceCheckUtils]: 20: Hoare triple {5547#true} ~cond := #in~cond; {5547#true} is VALID [2022-04-28 12:38:30,535 INFO L272 TraceCheckUtils]: 19: Hoare triple {5785#(< ~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)); {5547#true} is VALID [2022-04-28 12:38:30,535 INFO L290 TraceCheckUtils]: 18: Hoare triple {5785#(< ~counter~0 18)} assume !!(#t~post6 < 20);havoc #t~post6; {5785#(< ~counter~0 18)} is VALID [2022-04-28 12:38:30,536 INFO L290 TraceCheckUtils]: 17: Hoare triple {5810#(< ~counter~0 17)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5785#(< ~counter~0 18)} is VALID [2022-04-28 12:38:30,536 INFO L290 TraceCheckUtils]: 16: Hoare triple {5810#(< ~counter~0 17)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {5810#(< ~counter~0 17)} is VALID [2022-04-28 12:38:30,536 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {5547#true} {5810#(< ~counter~0 17)} #92#return; {5810#(< ~counter~0 17)} is VALID [2022-04-28 12:38:30,537 INFO L290 TraceCheckUtils]: 14: Hoare triple {5547#true} assume true; {5547#true} is VALID [2022-04-28 12:38:30,537 INFO L290 TraceCheckUtils]: 13: Hoare triple {5547#true} assume !(0 == ~cond); {5547#true} is VALID [2022-04-28 12:38:30,537 INFO L290 TraceCheckUtils]: 12: Hoare triple {5547#true} ~cond := #in~cond; {5547#true} is VALID [2022-04-28 12:38:30,537 INFO L272 TraceCheckUtils]: 11: Hoare triple {5810#(< ~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)); {5547#true} is VALID [2022-04-28 12:38:30,537 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5547#true} {5810#(< ~counter~0 17)} #90#return; {5810#(< ~counter~0 17)} is VALID [2022-04-28 12:38:30,537 INFO L290 TraceCheckUtils]: 9: Hoare triple {5547#true} assume true; {5547#true} is VALID [2022-04-28 12:38:30,537 INFO L290 TraceCheckUtils]: 8: Hoare triple {5547#true} assume !(0 == ~cond); {5547#true} is VALID [2022-04-28 12:38:30,537 INFO L290 TraceCheckUtils]: 7: Hoare triple {5547#true} ~cond := #in~cond; {5547#true} is VALID [2022-04-28 12:38:30,538 INFO L272 TraceCheckUtils]: 6: Hoare triple {5810#(< ~counter~0 17)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {5547#true} is VALID [2022-04-28 12:38:30,538 INFO L290 TraceCheckUtils]: 5: Hoare triple {5810#(< ~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; {5810#(< ~counter~0 17)} is VALID [2022-04-28 12:38:30,538 INFO L272 TraceCheckUtils]: 4: Hoare triple {5810#(< ~counter~0 17)} call #t~ret9 := main(); {5810#(< ~counter~0 17)} is VALID [2022-04-28 12:38:30,538 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5810#(< ~counter~0 17)} {5547#true} #102#return; {5810#(< ~counter~0 17)} is VALID [2022-04-28 12:38:30,539 INFO L290 TraceCheckUtils]: 2: Hoare triple {5810#(< ~counter~0 17)} assume true; {5810#(< ~counter~0 17)} is VALID [2022-04-28 12:38:30,539 INFO L290 TraceCheckUtils]: 1: Hoare triple {5547#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; {5810#(< ~counter~0 17)} is VALID [2022-04-28 12:38:30,539 INFO L272 TraceCheckUtils]: 0: Hoare triple {5547#true} call ULTIMATE.init(); {5547#true} is VALID [2022-04-28 12:38:30,539 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 8 proven. 8 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-28 12:38:30,540 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:38:30,540 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1836897074] [2022-04-28 12:38:30,540 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:38:30,540 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [682569317] [2022-04-28 12:38:30,540 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [682569317] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:38:30,540 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:38:30,540 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2022-04-28 12:38:30,540 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:38:30,540 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [812615558] [2022-04-28 12:38:30,540 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [812615558] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:38:30,540 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:38:30,540 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 12:38:30,540 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [362577656] [2022-04-28 12:38:30,540 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:38:30,541 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.857142857142857) internal successors, (34), 6 states have internal predecessors, (34), 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 51 [2022-04-28 12:38:30,541 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:38:30,541 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 4.857142857142857) internal successors, (34), 6 states have internal predecessors, (34), 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:38:30,574 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:38:30,574 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 12:38:30,574 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:38:30,575 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 12:38:30,575 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=82, Unknown=0, NotChecked=0, Total=132 [2022-04-28 12:38:30,575 INFO L87 Difference]: Start difference. First operand 110 states and 142 transitions. Second operand has 7 states, 7 states have (on average 4.857142857142857) internal successors, (34), 6 states have internal predecessors, (34), 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:38:30,860 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:38:30,860 INFO L93 Difference]: Finished difference Result 149 states and 197 transitions. [2022-04-28 12:38:30,860 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 12:38:30,861 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.857142857142857) internal successors, (34), 6 states have internal predecessors, (34), 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 51 [2022-04-28 12:38:30,861 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:38:30,861 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.857142857142857) internal successors, (34), 6 states have internal predecessors, (34), 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:38:30,862 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 101 transitions. [2022-04-28 12:38:30,862 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.857142857142857) internal successors, (34), 6 states have internal predecessors, (34), 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:38:30,864 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 101 transitions. [2022-04-28 12:38:30,864 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 101 transitions. [2022-04-28 12:38:30,929 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:38:30,930 INFO L225 Difference]: With dead ends: 149 [2022-04-28 12:38:30,930 INFO L226 Difference]: Without dead ends: 112 [2022-04-28 12:38:30,931 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 103 GetRequests, 91 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 11 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=70, Invalid=112, Unknown=0, NotChecked=0, Total=182 [2022-04-28 12:38:30,931 INFO L413 NwaCegarLoop]: 40 mSDtfsCounter, 14 mSDsluCounter, 124 mSDsCounter, 0 mSdLazyCounter, 41 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 164 SdHoareTripleChecker+Invalid, 52 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 41 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:38:30,931 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [14 Valid, 164 Invalid, 52 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 41 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:38:30,932 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 112 states. [2022-04-28 12:38:31,008 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 112 to 112. [2022-04-28 12:38:31,008 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:38:31,009 INFO L82 GeneralOperation]: Start isEquivalent. First operand 112 states. Second operand has 112 states, 82 states have (on average 1.2439024390243902) internal successors, (102), 82 states have internal predecessors, (102), 22 states have call successors, (22), 9 states have call predecessors, (22), 7 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-28 12:38:31,009 INFO L74 IsIncluded]: Start isIncluded. First operand 112 states. Second operand has 112 states, 82 states have (on average 1.2439024390243902) internal successors, (102), 82 states have internal predecessors, (102), 22 states have call successors, (22), 9 states have call predecessors, (22), 7 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-28 12:38:31,009 INFO L87 Difference]: Start difference. First operand 112 states. Second operand has 112 states, 82 states have (on average 1.2439024390243902) internal successors, (102), 82 states have internal predecessors, (102), 22 states have call successors, (22), 9 states have call predecessors, (22), 7 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-28 12:38:31,011 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:38:31,011 INFO L93 Difference]: Finished difference Result 112 states and 144 transitions. [2022-04-28 12:38:31,011 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states and 144 transitions. [2022-04-28 12:38:31,012 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:38:31,012 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:38:31,012 INFO L74 IsIncluded]: Start isIncluded. First operand has 112 states, 82 states have (on average 1.2439024390243902) internal successors, (102), 82 states have internal predecessors, (102), 22 states have call successors, (22), 9 states have call predecessors, (22), 7 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) Second operand 112 states. [2022-04-28 12:38:31,012 INFO L87 Difference]: Start difference. First operand has 112 states, 82 states have (on average 1.2439024390243902) internal successors, (102), 82 states have internal predecessors, (102), 22 states have call successors, (22), 9 states have call predecessors, (22), 7 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) Second operand 112 states. [2022-04-28 12:38:31,014 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:38:31,014 INFO L93 Difference]: Finished difference Result 112 states and 144 transitions. [2022-04-28 12:38:31,014 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states and 144 transitions. [2022-04-28 12:38:31,014 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:38:31,014 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:38:31,014 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:38:31,014 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:38:31,015 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 112 states, 82 states have (on average 1.2439024390243902) internal successors, (102), 82 states have internal predecessors, (102), 22 states have call successors, (22), 9 states have call predecessors, (22), 7 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-28 12:38:31,016 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 112 states to 112 states and 144 transitions. [2022-04-28 12:38:31,016 INFO L78 Accepts]: Start accepts. Automaton has 112 states and 144 transitions. Word has length 51 [2022-04-28 12:38:31,016 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:38:31,017 INFO L495 AbstractCegarLoop]: Abstraction has 112 states and 144 transitions. [2022-04-28 12:38:31,017 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 4.857142857142857) internal successors, (34), 6 states have internal predecessors, (34), 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:38:31,017 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 112 states and 144 transitions. [2022-04-28 12:38:37,905 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 144 edges. 141 inductive. 0 not inductive. 3 times theorem prover too weak to decide inductivity. [2022-04-28 12:38:37,905 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states and 144 transitions. [2022-04-28 12:38:37,906 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-28 12:38:37,906 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:38:37,906 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:38:37,923 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Ended with exit code 0 [2022-04-28 12:38:38,114 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:38:38,115 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:38:38,115 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:38:38,115 INFO L85 PathProgramCache]: Analyzing trace with hash -1067781299, now seen corresponding path program 1 times [2022-04-28 12:38:38,115 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:38:38,115 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1598544323] [2022-04-28 12:38:38,115 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:38:38,116 INFO L85 PathProgramCache]: Analyzing trace with hash -1067781299, now seen corresponding path program 2 times [2022-04-28 12:38:38,116 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:38:38,116 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1302773950] [2022-04-28 12:38:38,116 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:38:38,116 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:38:38,126 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:38:38,126 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [830761330] [2022-04-28 12:38:38,127 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:38:38,127 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:38:38,127 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:38:38,128 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:38:38,130 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:38:38,168 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:38:38,168 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:38:38,169 INFO L263 TraceCheckSpWp]: Trace formula consists of 157 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-28 12:38:38,180 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:38:38,181 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:38:38,409 INFO L272 TraceCheckUtils]: 0: Hoare triple {6614#true} call ULTIMATE.init(); {6614#true} is VALID [2022-04-28 12:38:38,410 INFO L290 TraceCheckUtils]: 1: Hoare triple {6614#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; {6622#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:38,410 INFO L290 TraceCheckUtils]: 2: Hoare triple {6622#(<= ~counter~0 0)} assume true; {6622#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:38,410 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6622#(<= ~counter~0 0)} {6614#true} #102#return; {6622#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:38,410 INFO L272 TraceCheckUtils]: 4: Hoare triple {6622#(<= ~counter~0 0)} call #t~ret9 := main(); {6622#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:38,411 INFO L290 TraceCheckUtils]: 5: Hoare triple {6622#(<= ~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; {6622#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:38,411 INFO L272 TraceCheckUtils]: 6: Hoare triple {6622#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {6622#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:38,411 INFO L290 TraceCheckUtils]: 7: Hoare triple {6622#(<= ~counter~0 0)} ~cond := #in~cond; {6622#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:38,412 INFO L290 TraceCheckUtils]: 8: Hoare triple {6622#(<= ~counter~0 0)} assume !(0 == ~cond); {6622#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:38,412 INFO L290 TraceCheckUtils]: 9: Hoare triple {6622#(<= ~counter~0 0)} assume true; {6622#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:38,412 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6622#(<= ~counter~0 0)} {6622#(<= ~counter~0 0)} #90#return; {6622#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:38,413 INFO L272 TraceCheckUtils]: 11: Hoare triple {6622#(<= ~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)); {6622#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:38,413 INFO L290 TraceCheckUtils]: 12: Hoare triple {6622#(<= ~counter~0 0)} ~cond := #in~cond; {6622#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:38,413 INFO L290 TraceCheckUtils]: 13: Hoare triple {6622#(<= ~counter~0 0)} assume !(0 == ~cond); {6622#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:38,414 INFO L290 TraceCheckUtils]: 14: Hoare triple {6622#(<= ~counter~0 0)} assume true; {6622#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:38,414 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {6622#(<= ~counter~0 0)} {6622#(<= ~counter~0 0)} #92#return; {6622#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:38,414 INFO L290 TraceCheckUtils]: 16: Hoare triple {6622#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {6622#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:38,415 INFO L290 TraceCheckUtils]: 17: Hoare triple {6622#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6671#(<= ~counter~0 1)} is VALID [2022-04-28 12:38:38,415 INFO L290 TraceCheckUtils]: 18: Hoare triple {6671#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {6671#(<= ~counter~0 1)} is VALID [2022-04-28 12:38:38,416 INFO L272 TraceCheckUtils]: 19: Hoare triple {6671#(<= ~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)); {6671#(<= ~counter~0 1)} is VALID [2022-04-28 12:38:38,416 INFO L290 TraceCheckUtils]: 20: Hoare triple {6671#(<= ~counter~0 1)} ~cond := #in~cond; {6671#(<= ~counter~0 1)} is VALID [2022-04-28 12:38:38,416 INFO L290 TraceCheckUtils]: 21: Hoare triple {6671#(<= ~counter~0 1)} assume !(0 == ~cond); {6671#(<= ~counter~0 1)} is VALID [2022-04-28 12:38:38,417 INFO L290 TraceCheckUtils]: 22: Hoare triple {6671#(<= ~counter~0 1)} assume true; {6671#(<= ~counter~0 1)} is VALID [2022-04-28 12:38:38,417 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6671#(<= ~counter~0 1)} {6671#(<= ~counter~0 1)} #94#return; {6671#(<= ~counter~0 1)} is VALID [2022-04-28 12:38:38,417 INFO L290 TraceCheckUtils]: 24: Hoare triple {6671#(<= ~counter~0 1)} assume !!(0 != ~r~0); {6671#(<= ~counter~0 1)} is VALID [2022-04-28 12:38:38,418 INFO L290 TraceCheckUtils]: 25: Hoare triple {6671#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {6696#(<= ~counter~0 2)} is VALID [2022-04-28 12:38:38,418 INFO L290 TraceCheckUtils]: 26: Hoare triple {6696#(<= ~counter~0 2)} assume !!(#t~post7 < 20);havoc #t~post7; {6696#(<= ~counter~0 2)} is VALID [2022-04-28 12:38:38,418 INFO L272 TraceCheckUtils]: 27: Hoare triple {6696#(<= ~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)); {6696#(<= ~counter~0 2)} is VALID [2022-04-28 12:38:38,419 INFO L290 TraceCheckUtils]: 28: Hoare triple {6696#(<= ~counter~0 2)} ~cond := #in~cond; {6696#(<= ~counter~0 2)} is VALID [2022-04-28 12:38:38,419 INFO L290 TraceCheckUtils]: 29: Hoare triple {6696#(<= ~counter~0 2)} assume !(0 == ~cond); {6696#(<= ~counter~0 2)} is VALID [2022-04-28 12:38:38,419 INFO L290 TraceCheckUtils]: 30: Hoare triple {6696#(<= ~counter~0 2)} assume true; {6696#(<= ~counter~0 2)} is VALID [2022-04-28 12:38:38,420 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {6696#(<= ~counter~0 2)} {6696#(<= ~counter~0 2)} #96#return; {6696#(<= ~counter~0 2)} is VALID [2022-04-28 12:38:38,420 INFO L290 TraceCheckUtils]: 32: Hoare triple {6696#(<= ~counter~0 2)} assume !(~r~0 > 0); {6696#(<= ~counter~0 2)} is VALID [2022-04-28 12:38:38,420 INFO L290 TraceCheckUtils]: 33: Hoare triple {6696#(<= ~counter~0 2)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {6721#(<= ~counter~0 3)} is VALID [2022-04-28 12:38:38,421 INFO L290 TraceCheckUtils]: 34: Hoare triple {6721#(<= ~counter~0 3)} assume !!(#t~post8 < 20);havoc #t~post8; {6721#(<= ~counter~0 3)} is VALID [2022-04-28 12:38:38,421 INFO L272 TraceCheckUtils]: 35: Hoare triple {6721#(<= ~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)); {6721#(<= ~counter~0 3)} is VALID [2022-04-28 12:38:38,421 INFO L290 TraceCheckUtils]: 36: Hoare triple {6721#(<= ~counter~0 3)} ~cond := #in~cond; {6721#(<= ~counter~0 3)} is VALID [2022-04-28 12:38:38,422 INFO L290 TraceCheckUtils]: 37: Hoare triple {6721#(<= ~counter~0 3)} assume !(0 == ~cond); {6721#(<= ~counter~0 3)} is VALID [2022-04-28 12:38:38,422 INFO L290 TraceCheckUtils]: 38: Hoare triple {6721#(<= ~counter~0 3)} assume true; {6721#(<= ~counter~0 3)} is VALID [2022-04-28 12:38:38,423 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {6721#(<= ~counter~0 3)} {6721#(<= ~counter~0 3)} #98#return; {6721#(<= ~counter~0 3)} is VALID [2022-04-28 12:38:38,423 INFO L290 TraceCheckUtils]: 40: Hoare triple {6721#(<= ~counter~0 3)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {6721#(<= ~counter~0 3)} is VALID [2022-04-28 12:38:38,423 INFO L290 TraceCheckUtils]: 41: Hoare triple {6721#(<= ~counter~0 3)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {6746#(<= ~counter~0 4)} is VALID [2022-04-28 12:38:38,423 INFO L290 TraceCheckUtils]: 42: Hoare triple {6746#(<= ~counter~0 4)} assume !!(#t~post8 < 20);havoc #t~post8; {6746#(<= ~counter~0 4)} is VALID [2022-04-28 12:38:38,424 INFO L272 TraceCheckUtils]: 43: Hoare triple {6746#(<= ~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)); {6746#(<= ~counter~0 4)} is VALID [2022-04-28 12:38:38,424 INFO L290 TraceCheckUtils]: 44: Hoare triple {6746#(<= ~counter~0 4)} ~cond := #in~cond; {6746#(<= ~counter~0 4)} is VALID [2022-04-28 12:38:38,424 INFO L290 TraceCheckUtils]: 45: Hoare triple {6746#(<= ~counter~0 4)} assume !(0 == ~cond); {6746#(<= ~counter~0 4)} is VALID [2022-04-28 12:38:38,425 INFO L290 TraceCheckUtils]: 46: Hoare triple {6746#(<= ~counter~0 4)} assume true; {6746#(<= ~counter~0 4)} is VALID [2022-04-28 12:38:38,425 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {6746#(<= ~counter~0 4)} {6746#(<= ~counter~0 4)} #98#return; {6746#(<= ~counter~0 4)} is VALID [2022-04-28 12:38:38,425 INFO L290 TraceCheckUtils]: 48: Hoare triple {6746#(<= ~counter~0 4)} assume !(~r~0 < 0); {6746#(<= ~counter~0 4)} is VALID [2022-04-28 12:38:38,426 INFO L290 TraceCheckUtils]: 49: Hoare triple {6746#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6771#(<= |main_#t~post6| 4)} is VALID [2022-04-28 12:38:38,426 INFO L290 TraceCheckUtils]: 50: Hoare triple {6771#(<= |main_#t~post6| 4)} assume !(#t~post6 < 20);havoc #t~post6; {6615#false} is VALID [2022-04-28 12:38:38,426 INFO L272 TraceCheckUtils]: 51: Hoare triple {6615#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)); {6615#false} is VALID [2022-04-28 12:38:38,426 INFO L290 TraceCheckUtils]: 52: Hoare triple {6615#false} ~cond := #in~cond; {6615#false} is VALID [2022-04-28 12:38:38,426 INFO L290 TraceCheckUtils]: 53: Hoare triple {6615#false} assume 0 == ~cond; {6615#false} is VALID [2022-04-28 12:38:38,426 INFO L290 TraceCheckUtils]: 54: Hoare triple {6615#false} assume !false; {6615#false} is VALID [2022-04-28 12:38:38,427 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 8 proven. 30 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:38:38,427 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:38:38,692 INFO L290 TraceCheckUtils]: 54: Hoare triple {6615#false} assume !false; {6615#false} is VALID [2022-04-28 12:38:38,692 INFO L290 TraceCheckUtils]: 53: Hoare triple {6615#false} assume 0 == ~cond; {6615#false} is VALID [2022-04-28 12:38:38,692 INFO L290 TraceCheckUtils]: 52: Hoare triple {6615#false} ~cond := #in~cond; {6615#false} is VALID [2022-04-28 12:38:38,692 INFO L272 TraceCheckUtils]: 51: Hoare triple {6615#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)); {6615#false} is VALID [2022-04-28 12:38:38,693 INFO L290 TraceCheckUtils]: 50: Hoare triple {6799#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {6615#false} is VALID [2022-04-28 12:38:38,693 INFO L290 TraceCheckUtils]: 49: Hoare triple {6803#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6799#(< |main_#t~post6| 20)} is VALID [2022-04-28 12:38:38,693 INFO L290 TraceCheckUtils]: 48: Hoare triple {6803#(< ~counter~0 20)} assume !(~r~0 < 0); {6803#(< ~counter~0 20)} is VALID [2022-04-28 12:38:38,694 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {6614#true} {6803#(< ~counter~0 20)} #98#return; {6803#(< ~counter~0 20)} is VALID [2022-04-28 12:38:38,694 INFO L290 TraceCheckUtils]: 46: Hoare triple {6614#true} assume true; {6614#true} is VALID [2022-04-28 12:38:38,694 INFO L290 TraceCheckUtils]: 45: Hoare triple {6614#true} assume !(0 == ~cond); {6614#true} is VALID [2022-04-28 12:38:38,694 INFO L290 TraceCheckUtils]: 44: Hoare triple {6614#true} ~cond := #in~cond; {6614#true} is VALID [2022-04-28 12:38:38,695 INFO L272 TraceCheckUtils]: 43: Hoare triple {6803#(< ~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)); {6614#true} is VALID [2022-04-28 12:38:38,695 INFO L290 TraceCheckUtils]: 42: Hoare triple {6803#(< ~counter~0 20)} assume !!(#t~post8 < 20);havoc #t~post8; {6803#(< ~counter~0 20)} is VALID [2022-04-28 12:38:38,695 INFO L290 TraceCheckUtils]: 41: Hoare triple {6828#(< ~counter~0 19)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {6803#(< ~counter~0 20)} is VALID [2022-04-28 12:38:38,696 INFO L290 TraceCheckUtils]: 40: Hoare triple {6828#(< ~counter~0 19)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {6828#(< ~counter~0 19)} is VALID [2022-04-28 12:38:38,696 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {6614#true} {6828#(< ~counter~0 19)} #98#return; {6828#(< ~counter~0 19)} is VALID [2022-04-28 12:38:38,697 INFO L290 TraceCheckUtils]: 38: Hoare triple {6614#true} assume true; {6614#true} is VALID [2022-04-28 12:38:38,697 INFO L290 TraceCheckUtils]: 37: Hoare triple {6614#true} assume !(0 == ~cond); {6614#true} is VALID [2022-04-28 12:38:38,697 INFO L290 TraceCheckUtils]: 36: Hoare triple {6614#true} ~cond := #in~cond; {6614#true} is VALID [2022-04-28 12:38:38,697 INFO L272 TraceCheckUtils]: 35: Hoare triple {6828#(< ~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)); {6614#true} is VALID [2022-04-28 12:38:38,697 INFO L290 TraceCheckUtils]: 34: Hoare triple {6828#(< ~counter~0 19)} assume !!(#t~post8 < 20);havoc #t~post8; {6828#(< ~counter~0 19)} is VALID [2022-04-28 12:38:38,698 INFO L290 TraceCheckUtils]: 33: Hoare triple {6853#(< ~counter~0 18)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {6828#(< ~counter~0 19)} is VALID [2022-04-28 12:38:38,698 INFO L290 TraceCheckUtils]: 32: Hoare triple {6853#(< ~counter~0 18)} assume !(~r~0 > 0); {6853#(< ~counter~0 18)} is VALID [2022-04-28 12:38:38,699 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {6614#true} {6853#(< ~counter~0 18)} #96#return; {6853#(< ~counter~0 18)} is VALID [2022-04-28 12:38:38,699 INFO L290 TraceCheckUtils]: 30: Hoare triple {6614#true} assume true; {6614#true} is VALID [2022-04-28 12:38:38,699 INFO L290 TraceCheckUtils]: 29: Hoare triple {6614#true} assume !(0 == ~cond); {6614#true} is VALID [2022-04-28 12:38:38,699 INFO L290 TraceCheckUtils]: 28: Hoare triple {6614#true} ~cond := #in~cond; {6614#true} is VALID [2022-04-28 12:38:38,699 INFO L272 TraceCheckUtils]: 27: Hoare triple {6853#(< ~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)); {6614#true} is VALID [2022-04-28 12:38:38,699 INFO L290 TraceCheckUtils]: 26: Hoare triple {6853#(< ~counter~0 18)} assume !!(#t~post7 < 20);havoc #t~post7; {6853#(< ~counter~0 18)} is VALID [2022-04-28 12:38:38,700 INFO L290 TraceCheckUtils]: 25: Hoare triple {6878#(< ~counter~0 17)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {6853#(< ~counter~0 18)} is VALID [2022-04-28 12:38:38,700 INFO L290 TraceCheckUtils]: 24: Hoare triple {6878#(< ~counter~0 17)} assume !!(0 != ~r~0); {6878#(< ~counter~0 17)} is VALID [2022-04-28 12:38:38,701 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6614#true} {6878#(< ~counter~0 17)} #94#return; {6878#(< ~counter~0 17)} is VALID [2022-04-28 12:38:38,701 INFO L290 TraceCheckUtils]: 22: Hoare triple {6614#true} assume true; {6614#true} is VALID [2022-04-28 12:38:38,701 INFO L290 TraceCheckUtils]: 21: Hoare triple {6614#true} assume !(0 == ~cond); {6614#true} is VALID [2022-04-28 12:38:38,701 INFO L290 TraceCheckUtils]: 20: Hoare triple {6614#true} ~cond := #in~cond; {6614#true} is VALID [2022-04-28 12:38:38,701 INFO L272 TraceCheckUtils]: 19: Hoare triple {6878#(< ~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)); {6614#true} is VALID [2022-04-28 12:38:38,701 INFO L290 TraceCheckUtils]: 18: Hoare triple {6878#(< ~counter~0 17)} assume !!(#t~post6 < 20);havoc #t~post6; {6878#(< ~counter~0 17)} is VALID [2022-04-28 12:38:38,702 INFO L290 TraceCheckUtils]: 17: Hoare triple {6903#(< ~counter~0 16)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6878#(< ~counter~0 17)} is VALID [2022-04-28 12:38:38,702 INFO L290 TraceCheckUtils]: 16: Hoare triple {6903#(< ~counter~0 16)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {6903#(< ~counter~0 16)} is VALID [2022-04-28 12:38:38,703 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {6614#true} {6903#(< ~counter~0 16)} #92#return; {6903#(< ~counter~0 16)} is VALID [2022-04-28 12:38:38,703 INFO L290 TraceCheckUtils]: 14: Hoare triple {6614#true} assume true; {6614#true} is VALID [2022-04-28 12:38:38,703 INFO L290 TraceCheckUtils]: 13: Hoare triple {6614#true} assume !(0 == ~cond); {6614#true} is VALID [2022-04-28 12:38:38,703 INFO L290 TraceCheckUtils]: 12: Hoare triple {6614#true} ~cond := #in~cond; {6614#true} is VALID [2022-04-28 12:38:38,703 INFO L272 TraceCheckUtils]: 11: Hoare triple {6903#(< ~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)); {6614#true} is VALID [2022-04-28 12:38:38,704 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6614#true} {6903#(< ~counter~0 16)} #90#return; {6903#(< ~counter~0 16)} is VALID [2022-04-28 12:38:38,704 INFO L290 TraceCheckUtils]: 9: Hoare triple {6614#true} assume true; {6614#true} is VALID [2022-04-28 12:38:38,704 INFO L290 TraceCheckUtils]: 8: Hoare triple {6614#true} assume !(0 == ~cond); {6614#true} is VALID [2022-04-28 12:38:38,704 INFO L290 TraceCheckUtils]: 7: Hoare triple {6614#true} ~cond := #in~cond; {6614#true} is VALID [2022-04-28 12:38:38,704 INFO L272 TraceCheckUtils]: 6: Hoare triple {6903#(< ~counter~0 16)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {6614#true} is VALID [2022-04-28 12:38:38,704 INFO L290 TraceCheckUtils]: 5: Hoare triple {6903#(< ~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; {6903#(< ~counter~0 16)} is VALID [2022-04-28 12:38:38,705 INFO L272 TraceCheckUtils]: 4: Hoare triple {6903#(< ~counter~0 16)} call #t~ret9 := main(); {6903#(< ~counter~0 16)} is VALID [2022-04-28 12:38:38,705 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6903#(< ~counter~0 16)} {6614#true} #102#return; {6903#(< ~counter~0 16)} is VALID [2022-04-28 12:38:38,705 INFO L290 TraceCheckUtils]: 2: Hoare triple {6903#(< ~counter~0 16)} assume true; {6903#(< ~counter~0 16)} is VALID [2022-04-28 12:38:38,706 INFO L290 TraceCheckUtils]: 1: Hoare triple {6614#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; {6903#(< ~counter~0 16)} is VALID [2022-04-28 12:38:38,706 INFO L272 TraceCheckUtils]: 0: Hoare triple {6614#true} call ULTIMATE.init(); {6614#true} is VALID [2022-04-28 12:38:38,706 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 8 proven. 6 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-28 12:38:38,706 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:38:38,707 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1302773950] [2022-04-28 12:38:38,707 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:38:38,707 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [830761330] [2022-04-28 12:38:38,707 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [830761330] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:38:38,707 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:38:38,707 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 14 [2022-04-28 12:38:38,707 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:38:38,707 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1598544323] [2022-04-28 12:38:38,707 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1598544323] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:38:38,707 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:38:38,708 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 12:38:38,708 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [641937896] [2022-04-28 12:38:38,708 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:38:38,709 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.5) internal successors, (36), 7 states have internal predecessors, (36), 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 55 [2022-04-28 12:38:38,709 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:38:38,710 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 4.5) internal successors, (36), 7 states have internal predecessors, (36), 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:38:38,778 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:38:38,778 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 12:38:38,778 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:38:38,778 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 12:38:38,779 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2022-04-28 12:38:38,779 INFO L87 Difference]: Start difference. First operand 112 states and 144 transitions. Second operand has 8 states, 8 states have (on average 4.5) internal successors, (36), 7 states have internal predecessors, (36), 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:38:39,099 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:38:39,100 INFO L93 Difference]: Finished difference Result 134 states and 172 transitions. [2022-04-28 12:38:39,100 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 12:38:39,100 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.5) internal successors, (36), 7 states have internal predecessors, (36), 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 55 [2022-04-28 12:38:39,101 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:38:39,101 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.5) internal successors, (36), 7 states have internal predecessors, (36), 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:38:39,103 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 95 transitions. [2022-04-28 12:38:39,103 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.5) internal successors, (36), 7 states have internal predecessors, (36), 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:38:39,105 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 95 transitions. [2022-04-28 12:38:39,105 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 95 transitions. [2022-04-28 12:38:39,175 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:38:39,177 INFO L225 Difference]: With dead ends: 134 [2022-04-28 12:38:39,177 INFO L226 Difference]: Without dead ends: 129 [2022-04-28 12:38:39,178 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 110 GetRequests, 97 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 13 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=84, Invalid=126, Unknown=0, NotChecked=0, Total=210 [2022-04-28 12:38:39,178 INFO L413 NwaCegarLoop]: 42 mSDtfsCounter, 22 mSDsluCounter, 131 mSDsCounter, 0 mSdLazyCounter, 46 mSolverCounterSat, 16 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 173 SdHoareTripleChecker+Invalid, 62 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 16 IncrementalHoareTripleChecker+Valid, 46 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:38:39,178 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [22 Valid, 173 Invalid, 62 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [16 Valid, 46 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:38:39,179 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 129 states. [2022-04-28 12:38:39,260 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 129 to 125. [2022-04-28 12:38:39,261 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:38:39,261 INFO L82 GeneralOperation]: Start isEquivalent. First operand 129 states. Second operand has 125 states, 91 states have (on average 1.2417582417582418) internal successors, (113), 92 states have internal predecessors, (113), 25 states have call successors, (25), 10 states have call predecessors, (25), 8 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-28 12:38:39,266 INFO L74 IsIncluded]: Start isIncluded. First operand 129 states. Second operand has 125 states, 91 states have (on average 1.2417582417582418) internal successors, (113), 92 states have internal predecessors, (113), 25 states have call successors, (25), 10 states have call predecessors, (25), 8 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-28 12:38:39,267 INFO L87 Difference]: Start difference. First operand 129 states. Second operand has 125 states, 91 states have (on average 1.2417582417582418) internal successors, (113), 92 states have internal predecessors, (113), 25 states have call successors, (25), 10 states have call predecessors, (25), 8 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-28 12:38:39,273 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:38:39,273 INFO L93 Difference]: Finished difference Result 129 states and 166 transitions. [2022-04-28 12:38:39,273 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 166 transitions. [2022-04-28 12:38:39,274 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:38:39,274 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:38:39,274 INFO L74 IsIncluded]: Start isIncluded. First operand has 125 states, 91 states have (on average 1.2417582417582418) internal successors, (113), 92 states have internal predecessors, (113), 25 states have call successors, (25), 10 states have call predecessors, (25), 8 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) Second operand 129 states. [2022-04-28 12:38:39,274 INFO L87 Difference]: Start difference. First operand has 125 states, 91 states have (on average 1.2417582417582418) internal successors, (113), 92 states have internal predecessors, (113), 25 states have call successors, (25), 10 states have call predecessors, (25), 8 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) Second operand 129 states. [2022-04-28 12:38:39,277 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:38:39,277 INFO L93 Difference]: Finished difference Result 129 states and 166 transitions. [2022-04-28 12:38:39,277 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 166 transitions. [2022-04-28 12:38:39,278 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:38:39,278 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:38:39,278 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:38:39,278 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:38:39,278 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 125 states, 91 states have (on average 1.2417582417582418) internal successors, (113), 92 states have internal predecessors, (113), 25 states have call successors, (25), 10 states have call predecessors, (25), 8 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-28 12:38:39,283 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 125 states to 125 states and 161 transitions. [2022-04-28 12:38:39,283 INFO L78 Accepts]: Start accepts. Automaton has 125 states and 161 transitions. Word has length 55 [2022-04-28 12:38:39,283 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:38:39,283 INFO L495 AbstractCegarLoop]: Abstraction has 125 states and 161 transitions. [2022-04-28 12:38:39,283 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 4.5) internal successors, (36), 7 states have internal predecessors, (36), 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:38:39,283 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 125 states and 161 transitions. [2022-04-28 12:38:45,233 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:38:45,233 INFO L276 IsEmpty]: Start isEmpty. Operand 125 states and 161 transitions. [2022-04-28 12:38:45,234 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-04-28 12:38:45,234 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:38:45,234 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:38:45,249 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:38:45,435 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:38:45,436 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:38:45,436 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:38:45,436 INFO L85 PathProgramCache]: Analyzing trace with hash -2095290798, now seen corresponding path program 3 times [2022-04-28 12:38:45,436 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:38:45,436 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1805491711] [2022-04-28 12:38:45,436 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:38:45,436 INFO L85 PathProgramCache]: Analyzing trace with hash -2095290798, now seen corresponding path program 4 times [2022-04-28 12:38:45,436 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:38:45,437 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [296203545] [2022-04-28 12:38:45,437 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:38:45,437 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:38:45,445 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:38:45,445 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1886956552] [2022-04-28 12:38:45,445 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:38:45,445 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:38:45,446 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:38:45,446 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:38:45,447 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:38:45,494 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:38:45,494 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:38:45,495 INFO L263 TraceCheckSpWp]: Trace formula consists of 166 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-28 12:38:45,507 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:38:45,511 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:38:45,742 INFO L272 TraceCheckUtils]: 0: Hoare triple {7735#true} call ULTIMATE.init(); {7735#true} is VALID [2022-04-28 12:38:45,743 INFO L290 TraceCheckUtils]: 1: Hoare triple {7735#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; {7743#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:45,743 INFO L290 TraceCheckUtils]: 2: Hoare triple {7743#(<= ~counter~0 0)} assume true; {7743#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:45,743 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7743#(<= ~counter~0 0)} {7735#true} #102#return; {7743#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:45,744 INFO L272 TraceCheckUtils]: 4: Hoare triple {7743#(<= ~counter~0 0)} call #t~ret9 := main(); {7743#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:45,745 INFO L290 TraceCheckUtils]: 5: Hoare triple {7743#(<= ~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; {7743#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:45,745 INFO L272 TraceCheckUtils]: 6: Hoare triple {7743#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {7743#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:45,745 INFO L290 TraceCheckUtils]: 7: Hoare triple {7743#(<= ~counter~0 0)} ~cond := #in~cond; {7743#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:45,746 INFO L290 TraceCheckUtils]: 8: Hoare triple {7743#(<= ~counter~0 0)} assume !(0 == ~cond); {7743#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:45,746 INFO L290 TraceCheckUtils]: 9: Hoare triple {7743#(<= ~counter~0 0)} assume true; {7743#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:45,746 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7743#(<= ~counter~0 0)} {7743#(<= ~counter~0 0)} #90#return; {7743#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:45,747 INFO L272 TraceCheckUtils]: 11: Hoare triple {7743#(<= ~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)); {7743#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:45,747 INFO L290 TraceCheckUtils]: 12: Hoare triple {7743#(<= ~counter~0 0)} ~cond := #in~cond; {7743#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:45,747 INFO L290 TraceCheckUtils]: 13: Hoare triple {7743#(<= ~counter~0 0)} assume !(0 == ~cond); {7743#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:45,748 INFO L290 TraceCheckUtils]: 14: Hoare triple {7743#(<= ~counter~0 0)} assume true; {7743#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:45,748 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {7743#(<= ~counter~0 0)} {7743#(<= ~counter~0 0)} #92#return; {7743#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:45,748 INFO L290 TraceCheckUtils]: 16: Hoare triple {7743#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {7743#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:45,749 INFO L290 TraceCheckUtils]: 17: Hoare triple {7743#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7792#(<= ~counter~0 1)} is VALID [2022-04-28 12:38:45,749 INFO L290 TraceCheckUtils]: 18: Hoare triple {7792#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {7792#(<= ~counter~0 1)} is VALID [2022-04-28 12:38:45,750 INFO L272 TraceCheckUtils]: 19: Hoare triple {7792#(<= ~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)); {7792#(<= ~counter~0 1)} is VALID [2022-04-28 12:38:45,750 INFO L290 TraceCheckUtils]: 20: Hoare triple {7792#(<= ~counter~0 1)} ~cond := #in~cond; {7792#(<= ~counter~0 1)} is VALID [2022-04-28 12:38:45,750 INFO L290 TraceCheckUtils]: 21: Hoare triple {7792#(<= ~counter~0 1)} assume !(0 == ~cond); {7792#(<= ~counter~0 1)} is VALID [2022-04-28 12:38:45,751 INFO L290 TraceCheckUtils]: 22: Hoare triple {7792#(<= ~counter~0 1)} assume true; {7792#(<= ~counter~0 1)} is VALID [2022-04-28 12:38:45,751 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {7792#(<= ~counter~0 1)} {7792#(<= ~counter~0 1)} #94#return; {7792#(<= ~counter~0 1)} is VALID [2022-04-28 12:38:45,751 INFO L290 TraceCheckUtils]: 24: Hoare triple {7792#(<= ~counter~0 1)} assume !!(0 != ~r~0); {7792#(<= ~counter~0 1)} is VALID [2022-04-28 12:38:45,752 INFO L290 TraceCheckUtils]: 25: Hoare triple {7792#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {7817#(<= ~counter~0 2)} is VALID [2022-04-28 12:38:45,752 INFO L290 TraceCheckUtils]: 26: Hoare triple {7817#(<= ~counter~0 2)} assume !!(#t~post7 < 20);havoc #t~post7; {7817#(<= ~counter~0 2)} is VALID [2022-04-28 12:38:45,753 INFO L272 TraceCheckUtils]: 27: Hoare triple {7817#(<= ~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)); {7817#(<= ~counter~0 2)} is VALID [2022-04-28 12:38:45,753 INFO L290 TraceCheckUtils]: 28: Hoare triple {7817#(<= ~counter~0 2)} ~cond := #in~cond; {7817#(<= ~counter~0 2)} is VALID [2022-04-28 12:38:45,753 INFO L290 TraceCheckUtils]: 29: Hoare triple {7817#(<= ~counter~0 2)} assume !(0 == ~cond); {7817#(<= ~counter~0 2)} is VALID [2022-04-28 12:38:45,753 INFO L290 TraceCheckUtils]: 30: Hoare triple {7817#(<= ~counter~0 2)} assume true; {7817#(<= ~counter~0 2)} is VALID [2022-04-28 12:38:45,754 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {7817#(<= ~counter~0 2)} {7817#(<= ~counter~0 2)} #96#return; {7817#(<= ~counter~0 2)} is VALID [2022-04-28 12:38:45,754 INFO L290 TraceCheckUtils]: 32: Hoare triple {7817#(<= ~counter~0 2)} assume !(~r~0 > 0); {7817#(<= ~counter~0 2)} is VALID [2022-04-28 12:38:45,755 INFO L290 TraceCheckUtils]: 33: Hoare triple {7817#(<= ~counter~0 2)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {7842#(<= ~counter~0 3)} is VALID [2022-04-28 12:38:45,755 INFO L290 TraceCheckUtils]: 34: Hoare triple {7842#(<= ~counter~0 3)} assume !!(#t~post8 < 20);havoc #t~post8; {7842#(<= ~counter~0 3)} is VALID [2022-04-28 12:38:45,755 INFO L272 TraceCheckUtils]: 35: Hoare triple {7842#(<= ~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)); {7842#(<= ~counter~0 3)} is VALID [2022-04-28 12:38:45,756 INFO L290 TraceCheckUtils]: 36: Hoare triple {7842#(<= ~counter~0 3)} ~cond := #in~cond; {7842#(<= ~counter~0 3)} is VALID [2022-04-28 12:38:45,756 INFO L290 TraceCheckUtils]: 37: Hoare triple {7842#(<= ~counter~0 3)} assume !(0 == ~cond); {7842#(<= ~counter~0 3)} is VALID [2022-04-28 12:38:45,756 INFO L290 TraceCheckUtils]: 38: Hoare triple {7842#(<= ~counter~0 3)} assume true; {7842#(<= ~counter~0 3)} is VALID [2022-04-28 12:38:45,757 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {7842#(<= ~counter~0 3)} {7842#(<= ~counter~0 3)} #98#return; {7842#(<= ~counter~0 3)} is VALID [2022-04-28 12:38:45,757 INFO L290 TraceCheckUtils]: 40: Hoare triple {7842#(<= ~counter~0 3)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {7842#(<= ~counter~0 3)} is VALID [2022-04-28 12:38:45,757 INFO L290 TraceCheckUtils]: 41: Hoare triple {7842#(<= ~counter~0 3)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {7867#(<= ~counter~0 4)} is VALID [2022-04-28 12:38:45,758 INFO L290 TraceCheckUtils]: 42: Hoare triple {7867#(<= ~counter~0 4)} assume !!(#t~post8 < 20);havoc #t~post8; {7867#(<= ~counter~0 4)} is VALID [2022-04-28 12:38:45,758 INFO L272 TraceCheckUtils]: 43: Hoare triple {7867#(<= ~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)); {7867#(<= ~counter~0 4)} is VALID [2022-04-28 12:38:45,758 INFO L290 TraceCheckUtils]: 44: Hoare triple {7867#(<= ~counter~0 4)} ~cond := #in~cond; {7867#(<= ~counter~0 4)} is VALID [2022-04-28 12:38:45,759 INFO L290 TraceCheckUtils]: 45: Hoare triple {7867#(<= ~counter~0 4)} assume !(0 == ~cond); {7867#(<= ~counter~0 4)} is VALID [2022-04-28 12:38:45,759 INFO L290 TraceCheckUtils]: 46: Hoare triple {7867#(<= ~counter~0 4)} assume true; {7867#(<= ~counter~0 4)} is VALID [2022-04-28 12:38:45,759 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {7867#(<= ~counter~0 4)} {7867#(<= ~counter~0 4)} #98#return; {7867#(<= ~counter~0 4)} is VALID [2022-04-28 12:38:45,760 INFO L290 TraceCheckUtils]: 48: Hoare triple {7867#(<= ~counter~0 4)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {7867#(<= ~counter~0 4)} is VALID [2022-04-28 12:38:45,760 INFO L290 TraceCheckUtils]: 49: Hoare triple {7867#(<= ~counter~0 4)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {7892#(<= |main_#t~post8| 4)} is VALID [2022-04-28 12:38:45,760 INFO L290 TraceCheckUtils]: 50: Hoare triple {7892#(<= |main_#t~post8| 4)} assume !(#t~post8 < 20);havoc #t~post8; {7736#false} is VALID [2022-04-28 12:38:45,760 INFO L290 TraceCheckUtils]: 51: Hoare triple {7736#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7736#false} is VALID [2022-04-28 12:38:45,760 INFO L290 TraceCheckUtils]: 52: Hoare triple {7736#false} assume !(#t~post6 < 20);havoc #t~post6; {7736#false} is VALID [2022-04-28 12:38:45,760 INFO L272 TraceCheckUtils]: 53: Hoare triple {7736#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)); {7736#false} is VALID [2022-04-28 12:38:45,761 INFO L290 TraceCheckUtils]: 54: Hoare triple {7736#false} ~cond := #in~cond; {7736#false} is VALID [2022-04-28 12:38:45,761 INFO L290 TraceCheckUtils]: 55: Hoare triple {7736#false} assume 0 == ~cond; {7736#false} is VALID [2022-04-28 12:38:45,761 INFO L290 TraceCheckUtils]: 56: Hoare triple {7736#false} assume !false; {7736#false} is VALID [2022-04-28 12:38:45,761 INFO L134 CoverageAnalysis]: Checked inductivity of 46 backedges. 10 proven. 32 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:38:45,761 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:38:46,027 INFO L290 TraceCheckUtils]: 56: Hoare triple {7736#false} assume !false; {7736#false} is VALID [2022-04-28 12:38:46,027 INFO L290 TraceCheckUtils]: 55: Hoare triple {7736#false} assume 0 == ~cond; {7736#false} is VALID [2022-04-28 12:38:46,027 INFO L290 TraceCheckUtils]: 54: Hoare triple {7736#false} ~cond := #in~cond; {7736#false} is VALID [2022-04-28 12:38:46,027 INFO L272 TraceCheckUtils]: 53: Hoare triple {7736#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)); {7736#false} is VALID [2022-04-28 12:38:46,027 INFO L290 TraceCheckUtils]: 52: Hoare triple {7736#false} assume !(#t~post6 < 20);havoc #t~post6; {7736#false} is VALID [2022-04-28 12:38:46,028 INFO L290 TraceCheckUtils]: 51: Hoare triple {7736#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7736#false} is VALID [2022-04-28 12:38:46,028 INFO L290 TraceCheckUtils]: 50: Hoare triple {7932#(< |main_#t~post8| 20)} assume !(#t~post8 < 20);havoc #t~post8; {7736#false} is VALID [2022-04-28 12:38:46,028 INFO L290 TraceCheckUtils]: 49: Hoare triple {7936#(< ~counter~0 20)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {7932#(< |main_#t~post8| 20)} is VALID [2022-04-28 12:38:46,029 INFO L290 TraceCheckUtils]: 48: Hoare triple {7936#(< ~counter~0 20)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {7936#(< ~counter~0 20)} is VALID [2022-04-28 12:38:46,029 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {7735#true} {7936#(< ~counter~0 20)} #98#return; {7936#(< ~counter~0 20)} is VALID [2022-04-28 12:38:46,029 INFO L290 TraceCheckUtils]: 46: Hoare triple {7735#true} assume true; {7735#true} is VALID [2022-04-28 12:38:46,029 INFO L290 TraceCheckUtils]: 45: Hoare triple {7735#true} assume !(0 == ~cond); {7735#true} is VALID [2022-04-28 12:38:46,029 INFO L290 TraceCheckUtils]: 44: Hoare triple {7735#true} ~cond := #in~cond; {7735#true} is VALID [2022-04-28 12:38:46,029 INFO L272 TraceCheckUtils]: 43: Hoare triple {7936#(< ~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)); {7735#true} is VALID [2022-04-28 12:38:46,030 INFO L290 TraceCheckUtils]: 42: Hoare triple {7936#(< ~counter~0 20)} assume !!(#t~post8 < 20);havoc #t~post8; {7936#(< ~counter~0 20)} is VALID [2022-04-28 12:38:46,030 INFO L290 TraceCheckUtils]: 41: Hoare triple {7961#(< ~counter~0 19)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {7936#(< ~counter~0 20)} is VALID [2022-04-28 12:38:46,031 INFO L290 TraceCheckUtils]: 40: Hoare triple {7961#(< ~counter~0 19)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {7961#(< ~counter~0 19)} is VALID [2022-04-28 12:38:46,031 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {7735#true} {7961#(< ~counter~0 19)} #98#return; {7961#(< ~counter~0 19)} is VALID [2022-04-28 12:38:46,031 INFO L290 TraceCheckUtils]: 38: Hoare triple {7735#true} assume true; {7735#true} is VALID [2022-04-28 12:38:46,031 INFO L290 TraceCheckUtils]: 37: Hoare triple {7735#true} assume !(0 == ~cond); {7735#true} is VALID [2022-04-28 12:38:46,031 INFO L290 TraceCheckUtils]: 36: Hoare triple {7735#true} ~cond := #in~cond; {7735#true} is VALID [2022-04-28 12:38:46,031 INFO L272 TraceCheckUtils]: 35: Hoare triple {7961#(< ~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)); {7735#true} is VALID [2022-04-28 12:38:46,043 INFO L290 TraceCheckUtils]: 34: Hoare triple {7961#(< ~counter~0 19)} assume !!(#t~post8 < 20);havoc #t~post8; {7961#(< ~counter~0 19)} is VALID [2022-04-28 12:38:46,044 INFO L290 TraceCheckUtils]: 33: Hoare triple {7986#(< ~counter~0 18)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {7961#(< ~counter~0 19)} is VALID [2022-04-28 12:38:46,044 INFO L290 TraceCheckUtils]: 32: Hoare triple {7986#(< ~counter~0 18)} assume !(~r~0 > 0); {7986#(< ~counter~0 18)} is VALID [2022-04-28 12:38:46,045 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {7735#true} {7986#(< ~counter~0 18)} #96#return; {7986#(< ~counter~0 18)} is VALID [2022-04-28 12:38:46,045 INFO L290 TraceCheckUtils]: 30: Hoare triple {7735#true} assume true; {7735#true} is VALID [2022-04-28 12:38:46,045 INFO L290 TraceCheckUtils]: 29: Hoare triple {7735#true} assume !(0 == ~cond); {7735#true} is VALID [2022-04-28 12:38:46,045 INFO L290 TraceCheckUtils]: 28: Hoare triple {7735#true} ~cond := #in~cond; {7735#true} is VALID [2022-04-28 12:38:46,045 INFO L272 TraceCheckUtils]: 27: Hoare triple {7986#(< ~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)); {7735#true} is VALID [2022-04-28 12:38:46,045 INFO L290 TraceCheckUtils]: 26: Hoare triple {7986#(< ~counter~0 18)} assume !!(#t~post7 < 20);havoc #t~post7; {7986#(< ~counter~0 18)} is VALID [2022-04-28 12:38:46,046 INFO L290 TraceCheckUtils]: 25: Hoare triple {8011#(< ~counter~0 17)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {7986#(< ~counter~0 18)} is VALID [2022-04-28 12:38:46,046 INFO L290 TraceCheckUtils]: 24: Hoare triple {8011#(< ~counter~0 17)} assume !!(0 != ~r~0); {8011#(< ~counter~0 17)} is VALID [2022-04-28 12:38:46,047 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {7735#true} {8011#(< ~counter~0 17)} #94#return; {8011#(< ~counter~0 17)} is VALID [2022-04-28 12:38:46,047 INFO L290 TraceCheckUtils]: 22: Hoare triple {7735#true} assume true; {7735#true} is VALID [2022-04-28 12:38:46,047 INFO L290 TraceCheckUtils]: 21: Hoare triple {7735#true} assume !(0 == ~cond); {7735#true} is VALID [2022-04-28 12:38:46,047 INFO L290 TraceCheckUtils]: 20: Hoare triple {7735#true} ~cond := #in~cond; {7735#true} is VALID [2022-04-28 12:38:46,047 INFO L272 TraceCheckUtils]: 19: Hoare triple {8011#(< ~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)); {7735#true} is VALID [2022-04-28 12:38:46,047 INFO L290 TraceCheckUtils]: 18: Hoare triple {8011#(< ~counter~0 17)} assume !!(#t~post6 < 20);havoc #t~post6; {8011#(< ~counter~0 17)} is VALID [2022-04-28 12:38:46,048 INFO L290 TraceCheckUtils]: 17: Hoare triple {8036#(< ~counter~0 16)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8011#(< ~counter~0 17)} is VALID [2022-04-28 12:38:46,048 INFO L290 TraceCheckUtils]: 16: Hoare triple {8036#(< ~counter~0 16)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {8036#(< ~counter~0 16)} is VALID [2022-04-28 12:38:46,048 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {7735#true} {8036#(< ~counter~0 16)} #92#return; {8036#(< ~counter~0 16)} is VALID [2022-04-28 12:38:46,048 INFO L290 TraceCheckUtils]: 14: Hoare triple {7735#true} assume true; {7735#true} is VALID [2022-04-28 12:38:46,048 INFO L290 TraceCheckUtils]: 13: Hoare triple {7735#true} assume !(0 == ~cond); {7735#true} is VALID [2022-04-28 12:38:46,049 INFO L290 TraceCheckUtils]: 12: Hoare triple {7735#true} ~cond := #in~cond; {7735#true} is VALID [2022-04-28 12:38:46,049 INFO L272 TraceCheckUtils]: 11: Hoare triple {8036#(< ~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)); {7735#true} is VALID [2022-04-28 12:38:46,049 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7735#true} {8036#(< ~counter~0 16)} #90#return; {8036#(< ~counter~0 16)} is VALID [2022-04-28 12:38:46,049 INFO L290 TraceCheckUtils]: 9: Hoare triple {7735#true} assume true; {7735#true} is VALID [2022-04-28 12:38:46,049 INFO L290 TraceCheckUtils]: 8: Hoare triple {7735#true} assume !(0 == ~cond); {7735#true} is VALID [2022-04-28 12:38:46,049 INFO L290 TraceCheckUtils]: 7: Hoare triple {7735#true} ~cond := #in~cond; {7735#true} is VALID [2022-04-28 12:38:46,049 INFO L272 TraceCheckUtils]: 6: Hoare triple {8036#(< ~counter~0 16)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {7735#true} is VALID [2022-04-28 12:38:46,050 INFO L290 TraceCheckUtils]: 5: Hoare triple {8036#(< ~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; {8036#(< ~counter~0 16)} is VALID [2022-04-28 12:38:46,050 INFO L272 TraceCheckUtils]: 4: Hoare triple {8036#(< ~counter~0 16)} call #t~ret9 := main(); {8036#(< ~counter~0 16)} is VALID [2022-04-28 12:38:46,050 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8036#(< ~counter~0 16)} {7735#true} #102#return; {8036#(< ~counter~0 16)} is VALID [2022-04-28 12:38:46,051 INFO L290 TraceCheckUtils]: 2: Hoare triple {8036#(< ~counter~0 16)} assume true; {8036#(< ~counter~0 16)} is VALID [2022-04-28 12:38:46,051 INFO L290 TraceCheckUtils]: 1: Hoare triple {7735#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; {8036#(< ~counter~0 16)} is VALID [2022-04-28 12:38:46,051 INFO L272 TraceCheckUtils]: 0: Hoare triple {7735#true} call ULTIMATE.init(); {7735#true} is VALID [2022-04-28 12:38:46,051 INFO L134 CoverageAnalysis]: Checked inductivity of 46 backedges. 10 proven. 8 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-28 12:38:46,052 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:38:46,052 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [296203545] [2022-04-28 12:38:46,052 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:38:46,052 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1886956552] [2022-04-28 12:38:46,052 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1886956552] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:38:46,052 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:38:46,052 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 14 [2022-04-28 12:38:46,052 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:38:46,052 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1805491711] [2022-04-28 12:38:46,052 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1805491711] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:38:46,052 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:38:46,052 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 12:38:46,053 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1918809352] [2022-04-28 12:38:46,053 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:38:46,053 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.75) internal successors, (38), 7 states have internal predecessors, (38), 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 57 [2022-04-28 12:38:46,053 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:38:46,053 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 4.75) internal successors, (38), 7 states have internal predecessors, (38), 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:38:46,088 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:38:46,088 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 12:38:46,088 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:38:46,089 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 12:38:46,089 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2022-04-28 12:38:46,089 INFO L87 Difference]: Start difference. First operand 125 states and 161 transitions. Second operand has 8 states, 8 states have (on average 4.75) internal successors, (38), 7 states have internal predecessors, (38), 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:38:46,411 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:38:46,411 INFO L93 Difference]: Finished difference Result 196 states and 263 transitions. [2022-04-28 12:38:46,411 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 12:38:46,412 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.75) internal successors, (38), 7 states have internal predecessors, (38), 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 57 [2022-04-28 12:38:46,412 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:38:46,412 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.75) internal successors, (38), 7 states have internal predecessors, (38), 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:38:46,413 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 117 transitions. [2022-04-28 12:38:46,413 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.75) internal successors, (38), 7 states have internal predecessors, (38), 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:38:46,414 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 117 transitions. [2022-04-28 12:38:46,414 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 117 transitions. [2022-04-28 12:38:46,488 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 117 edges. 117 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:38:46,490 INFO L225 Difference]: With dead ends: 196 [2022-04-28 12:38:46,490 INFO L226 Difference]: Without dead ends: 131 [2022-04-28 12:38:46,490 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 115 GetRequests, 101 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=93, Invalid=147, Unknown=0, NotChecked=0, Total=240 [2022-04-28 12:38:46,491 INFO L413 NwaCegarLoop]: 42 mSDtfsCounter, 31 mSDsluCounter, 119 mSDsCounter, 0 mSdLazyCounter, 49 mSolverCounterSat, 25 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 31 SdHoareTripleChecker+Valid, 161 SdHoareTripleChecker+Invalid, 74 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 25 IncrementalHoareTripleChecker+Valid, 49 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:38:46,491 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [31 Valid, 161 Invalid, 74 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [25 Valid, 49 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:38:46,492 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 131 states. [2022-04-28 12:38:46,579 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 131 to 130. [2022-04-28 12:38:46,579 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:38:46,579 INFO L82 GeneralOperation]: Start isEquivalent. First operand 131 states. Second operand has 130 states, 96 states have (on average 1.2395833333333333) internal successors, (119), 96 states have internal predecessors, (119), 25 states have call successors, (25), 10 states have call predecessors, (25), 8 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-28 12:38:46,580 INFO L74 IsIncluded]: Start isIncluded. First operand 131 states. Second operand has 130 states, 96 states have (on average 1.2395833333333333) internal successors, (119), 96 states have internal predecessors, (119), 25 states have call successors, (25), 10 states have call predecessors, (25), 8 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-28 12:38:46,580 INFO L87 Difference]: Start difference. First operand 131 states. Second operand has 130 states, 96 states have (on average 1.2395833333333333) internal successors, (119), 96 states have internal predecessors, (119), 25 states have call successors, (25), 10 states have call predecessors, (25), 8 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-28 12:38:46,582 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:38:46,582 INFO L93 Difference]: Finished difference Result 131 states and 168 transitions. [2022-04-28 12:38:46,582 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 168 transitions. [2022-04-28 12:38:46,582 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:38:46,582 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:38:46,582 INFO L74 IsIncluded]: Start isIncluded. First operand has 130 states, 96 states have (on average 1.2395833333333333) internal successors, (119), 96 states have internal predecessors, (119), 25 states have call successors, (25), 10 states have call predecessors, (25), 8 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) Second operand 131 states. [2022-04-28 12:38:46,583 INFO L87 Difference]: Start difference. First operand has 130 states, 96 states have (on average 1.2395833333333333) internal successors, (119), 96 states have internal predecessors, (119), 25 states have call successors, (25), 10 states have call predecessors, (25), 8 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) Second operand 131 states. [2022-04-28 12:38:46,585 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:38:46,585 INFO L93 Difference]: Finished difference Result 131 states and 168 transitions. [2022-04-28 12:38:46,585 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 168 transitions. [2022-04-28 12:38:46,585 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:38:46,585 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:38:46,585 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:38:46,585 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:38:46,585 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 130 states, 96 states have (on average 1.2395833333333333) internal successors, (119), 96 states have internal predecessors, (119), 25 states have call successors, (25), 10 states have call predecessors, (25), 8 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-28 12:38:46,587 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 130 states to 130 states and 167 transitions. [2022-04-28 12:38:46,588 INFO L78 Accepts]: Start accepts. Automaton has 130 states and 167 transitions. Word has length 57 [2022-04-28 12:38:46,588 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:38:46,588 INFO L495 AbstractCegarLoop]: Abstraction has 130 states and 167 transitions. [2022-04-28 12:38:46,588 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 4.75) internal successors, (38), 7 states have internal predecessors, (38), 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:38:46,588 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 130 states and 167 transitions. [2022-04-28 12:38:51,694 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 167 edges. 166 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 12:38:51,694 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 167 transitions. [2022-04-28 12:38:51,694 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 60 [2022-04-28 12:38:51,694 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:38:51,695 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:38:51,713 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:38:51,907 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:38:51,907 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:38:51,908 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:38:51,908 INFO L85 PathProgramCache]: Analyzing trace with hash -659642693, now seen corresponding path program 5 times [2022-04-28 12:38:51,908 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:38:51,908 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [15550195] [2022-04-28 12:38:51,908 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:38:51,909 INFO L85 PathProgramCache]: Analyzing trace with hash -659642693, now seen corresponding path program 6 times [2022-04-28 12:38:51,909 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:38:51,909 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [80137846] [2022-04-28 12:38:51,909 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:38:51,909 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:38:51,918 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:38:51,919 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [288606431] [2022-04-28 12:38:51,919 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 12:38:51,919 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:38:51,919 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:38:51,920 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:38:51,921 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:38:52,002 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 12:38:52,002 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:38:52,003 INFO L263 TraceCheckSpWp]: Trace formula consists of 175 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-28 12:38:52,014 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:38:52,015 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:38:52,248 INFO L272 TraceCheckUtils]: 0: Hoare triple {9008#true} call ULTIMATE.init(); {9008#true} is VALID [2022-04-28 12:38:52,248 INFO L290 TraceCheckUtils]: 1: Hoare triple {9008#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; {9016#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:52,248 INFO L290 TraceCheckUtils]: 2: Hoare triple {9016#(<= ~counter~0 0)} assume true; {9016#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:52,249 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9016#(<= ~counter~0 0)} {9008#true} #102#return; {9016#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:52,249 INFO L272 TraceCheckUtils]: 4: Hoare triple {9016#(<= ~counter~0 0)} call #t~ret9 := main(); {9016#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:52,249 INFO L290 TraceCheckUtils]: 5: Hoare triple {9016#(<= ~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; {9016#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:52,250 INFO L272 TraceCheckUtils]: 6: Hoare triple {9016#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {9016#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:52,250 INFO L290 TraceCheckUtils]: 7: Hoare triple {9016#(<= ~counter~0 0)} ~cond := #in~cond; {9016#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:52,250 INFO L290 TraceCheckUtils]: 8: Hoare triple {9016#(<= ~counter~0 0)} assume !(0 == ~cond); {9016#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:52,251 INFO L290 TraceCheckUtils]: 9: Hoare triple {9016#(<= ~counter~0 0)} assume true; {9016#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:52,251 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9016#(<= ~counter~0 0)} {9016#(<= ~counter~0 0)} #90#return; {9016#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:52,252 INFO L272 TraceCheckUtils]: 11: Hoare triple {9016#(<= ~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)); {9016#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:52,252 INFO L290 TraceCheckUtils]: 12: Hoare triple {9016#(<= ~counter~0 0)} ~cond := #in~cond; {9016#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:52,252 INFO L290 TraceCheckUtils]: 13: Hoare triple {9016#(<= ~counter~0 0)} assume !(0 == ~cond); {9016#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:52,252 INFO L290 TraceCheckUtils]: 14: Hoare triple {9016#(<= ~counter~0 0)} assume true; {9016#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:52,253 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {9016#(<= ~counter~0 0)} {9016#(<= ~counter~0 0)} #92#return; {9016#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:52,253 INFO L290 TraceCheckUtils]: 16: Hoare triple {9016#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {9016#(<= ~counter~0 0)} is VALID [2022-04-28 12:38:52,253 INFO L290 TraceCheckUtils]: 17: Hoare triple {9016#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9065#(<= ~counter~0 1)} is VALID [2022-04-28 12:38:52,254 INFO L290 TraceCheckUtils]: 18: Hoare triple {9065#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {9065#(<= ~counter~0 1)} is VALID [2022-04-28 12:38:52,254 INFO L272 TraceCheckUtils]: 19: Hoare triple {9065#(<= ~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)); {9065#(<= ~counter~0 1)} is VALID [2022-04-28 12:38:52,255 INFO L290 TraceCheckUtils]: 20: Hoare triple {9065#(<= ~counter~0 1)} ~cond := #in~cond; {9065#(<= ~counter~0 1)} is VALID [2022-04-28 12:38:52,255 INFO L290 TraceCheckUtils]: 21: Hoare triple {9065#(<= ~counter~0 1)} assume !(0 == ~cond); {9065#(<= ~counter~0 1)} is VALID [2022-04-28 12:38:52,255 INFO L290 TraceCheckUtils]: 22: Hoare triple {9065#(<= ~counter~0 1)} assume true; {9065#(<= ~counter~0 1)} is VALID [2022-04-28 12:38:52,256 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {9065#(<= ~counter~0 1)} {9065#(<= ~counter~0 1)} #94#return; {9065#(<= ~counter~0 1)} is VALID [2022-04-28 12:38:52,256 INFO L290 TraceCheckUtils]: 24: Hoare triple {9065#(<= ~counter~0 1)} assume !!(0 != ~r~0); {9065#(<= ~counter~0 1)} is VALID [2022-04-28 12:38:52,256 INFO L290 TraceCheckUtils]: 25: Hoare triple {9065#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {9090#(<= ~counter~0 2)} is VALID [2022-04-28 12:38:52,257 INFO L290 TraceCheckUtils]: 26: Hoare triple {9090#(<= ~counter~0 2)} assume !!(#t~post7 < 20);havoc #t~post7; {9090#(<= ~counter~0 2)} is VALID [2022-04-28 12:38:52,257 INFO L272 TraceCheckUtils]: 27: Hoare triple {9090#(<= ~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)); {9090#(<= ~counter~0 2)} is VALID [2022-04-28 12:38:52,257 INFO L290 TraceCheckUtils]: 28: Hoare triple {9090#(<= ~counter~0 2)} ~cond := #in~cond; {9090#(<= ~counter~0 2)} is VALID [2022-04-28 12:38:52,258 INFO L290 TraceCheckUtils]: 29: Hoare triple {9090#(<= ~counter~0 2)} assume !(0 == ~cond); {9090#(<= ~counter~0 2)} is VALID [2022-04-28 12:38:52,258 INFO L290 TraceCheckUtils]: 30: Hoare triple {9090#(<= ~counter~0 2)} assume true; {9090#(<= ~counter~0 2)} is VALID [2022-04-28 12:38:52,258 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {9090#(<= ~counter~0 2)} {9090#(<= ~counter~0 2)} #96#return; {9090#(<= ~counter~0 2)} is VALID [2022-04-28 12:38:52,259 INFO L290 TraceCheckUtils]: 32: Hoare triple {9090#(<= ~counter~0 2)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {9090#(<= ~counter~0 2)} is VALID [2022-04-28 12:38:52,259 INFO L290 TraceCheckUtils]: 33: Hoare triple {9090#(<= ~counter~0 2)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {9115#(<= ~counter~0 3)} is VALID [2022-04-28 12:38:52,259 INFO L290 TraceCheckUtils]: 34: Hoare triple {9115#(<= ~counter~0 3)} assume !!(#t~post7 < 20);havoc #t~post7; {9115#(<= ~counter~0 3)} is VALID [2022-04-28 12:38:52,260 INFO L272 TraceCheckUtils]: 35: Hoare triple {9115#(<= ~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)); {9115#(<= ~counter~0 3)} is VALID [2022-04-28 12:38:52,260 INFO L290 TraceCheckUtils]: 36: Hoare triple {9115#(<= ~counter~0 3)} ~cond := #in~cond; {9115#(<= ~counter~0 3)} is VALID [2022-04-28 12:38:52,261 INFO L290 TraceCheckUtils]: 37: Hoare triple {9115#(<= ~counter~0 3)} assume !(0 == ~cond); {9115#(<= ~counter~0 3)} is VALID [2022-04-28 12:38:52,261 INFO L290 TraceCheckUtils]: 38: Hoare triple {9115#(<= ~counter~0 3)} assume true; {9115#(<= ~counter~0 3)} is VALID [2022-04-28 12:38:52,261 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {9115#(<= ~counter~0 3)} {9115#(<= ~counter~0 3)} #96#return; {9115#(<= ~counter~0 3)} is VALID [2022-04-28 12:38:52,262 INFO L290 TraceCheckUtils]: 40: Hoare triple {9115#(<= ~counter~0 3)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {9115#(<= ~counter~0 3)} is VALID [2022-04-28 12:38:52,262 INFO L290 TraceCheckUtils]: 41: Hoare triple {9115#(<= ~counter~0 3)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {9140#(<= ~counter~0 4)} is VALID [2022-04-28 12:38:52,262 INFO L290 TraceCheckUtils]: 42: Hoare triple {9140#(<= ~counter~0 4)} assume !!(#t~post7 < 20);havoc #t~post7; {9140#(<= ~counter~0 4)} is VALID [2022-04-28 12:38:52,263 INFO L272 TraceCheckUtils]: 43: Hoare triple {9140#(<= ~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)); {9140#(<= ~counter~0 4)} is VALID [2022-04-28 12:38:52,263 INFO L290 TraceCheckUtils]: 44: Hoare triple {9140#(<= ~counter~0 4)} ~cond := #in~cond; {9140#(<= ~counter~0 4)} is VALID [2022-04-28 12:38:52,263 INFO L290 TraceCheckUtils]: 45: Hoare triple {9140#(<= ~counter~0 4)} assume !(0 == ~cond); {9140#(<= ~counter~0 4)} is VALID [2022-04-28 12:38:52,264 INFO L290 TraceCheckUtils]: 46: Hoare triple {9140#(<= ~counter~0 4)} assume true; {9140#(<= ~counter~0 4)} is VALID [2022-04-28 12:38:52,264 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {9140#(<= ~counter~0 4)} {9140#(<= ~counter~0 4)} #96#return; {9140#(<= ~counter~0 4)} is VALID [2022-04-28 12:38:52,265 INFO L290 TraceCheckUtils]: 48: Hoare triple {9140#(<= ~counter~0 4)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {9140#(<= ~counter~0 4)} is VALID [2022-04-28 12:38:52,265 INFO L290 TraceCheckUtils]: 49: Hoare triple {9140#(<= ~counter~0 4)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {9165#(<= |main_#t~post7| 4)} is VALID [2022-04-28 12:38:52,265 INFO L290 TraceCheckUtils]: 50: Hoare triple {9165#(<= |main_#t~post7| 4)} assume !(#t~post7 < 20);havoc #t~post7; {9009#false} is VALID [2022-04-28 12:38:52,265 INFO L290 TraceCheckUtils]: 51: Hoare triple {9009#false} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {9009#false} is VALID [2022-04-28 12:38:52,266 INFO L290 TraceCheckUtils]: 52: Hoare triple {9009#false} assume !(#t~post8 < 20);havoc #t~post8; {9009#false} is VALID [2022-04-28 12:38:52,266 INFO L290 TraceCheckUtils]: 53: Hoare triple {9009#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9009#false} is VALID [2022-04-28 12:38:52,266 INFO L290 TraceCheckUtils]: 54: Hoare triple {9009#false} assume !(#t~post6 < 20);havoc #t~post6; {9009#false} is VALID [2022-04-28 12:38:52,266 INFO L272 TraceCheckUtils]: 55: Hoare triple {9009#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)); {9009#false} is VALID [2022-04-28 12:38:52,266 INFO L290 TraceCheckUtils]: 56: Hoare triple {9009#false} ~cond := #in~cond; {9009#false} is VALID [2022-04-28 12:38:52,266 INFO L290 TraceCheckUtils]: 57: Hoare triple {9009#false} assume 0 == ~cond; {9009#false} is VALID [2022-04-28 12:38:52,266 INFO L290 TraceCheckUtils]: 58: Hoare triple {9009#false} assume !false; {9009#false} is VALID [2022-04-28 12:38:52,266 INFO L134 CoverageAnalysis]: Checked inductivity of 56 backedges. 10 proven. 42 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:38:52,266 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:38:52,610 INFO L290 TraceCheckUtils]: 58: Hoare triple {9009#false} assume !false; {9009#false} is VALID [2022-04-28 12:38:52,611 INFO L290 TraceCheckUtils]: 57: Hoare triple {9009#false} assume 0 == ~cond; {9009#false} is VALID [2022-04-28 12:38:52,611 INFO L290 TraceCheckUtils]: 56: Hoare triple {9009#false} ~cond := #in~cond; {9009#false} is VALID [2022-04-28 12:38:52,611 INFO L272 TraceCheckUtils]: 55: Hoare triple {9009#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)); {9009#false} is VALID [2022-04-28 12:38:52,611 INFO L290 TraceCheckUtils]: 54: Hoare triple {9009#false} assume !(#t~post6 < 20);havoc #t~post6; {9009#false} is VALID [2022-04-28 12:38:52,611 INFO L290 TraceCheckUtils]: 53: Hoare triple {9009#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9009#false} is VALID [2022-04-28 12:38:52,611 INFO L290 TraceCheckUtils]: 52: Hoare triple {9009#false} assume !(#t~post8 < 20);havoc #t~post8; {9009#false} is VALID [2022-04-28 12:38:52,611 INFO L290 TraceCheckUtils]: 51: Hoare triple {9009#false} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {9009#false} is VALID [2022-04-28 12:38:52,612 INFO L290 TraceCheckUtils]: 50: Hoare triple {9217#(< |main_#t~post7| 20)} assume !(#t~post7 < 20);havoc #t~post7; {9009#false} is VALID [2022-04-28 12:38:52,612 INFO L290 TraceCheckUtils]: 49: Hoare triple {9221#(< ~counter~0 20)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {9217#(< |main_#t~post7| 20)} is VALID [2022-04-28 12:38:52,612 INFO L290 TraceCheckUtils]: 48: Hoare triple {9221#(< ~counter~0 20)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {9221#(< ~counter~0 20)} is VALID [2022-04-28 12:38:52,613 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {9008#true} {9221#(< ~counter~0 20)} #96#return; {9221#(< ~counter~0 20)} is VALID [2022-04-28 12:38:52,613 INFO L290 TraceCheckUtils]: 46: Hoare triple {9008#true} assume true; {9008#true} is VALID [2022-04-28 12:38:52,613 INFO L290 TraceCheckUtils]: 45: Hoare triple {9008#true} assume !(0 == ~cond); {9008#true} is VALID [2022-04-28 12:38:52,613 INFO L290 TraceCheckUtils]: 44: Hoare triple {9008#true} ~cond := #in~cond; {9008#true} is VALID [2022-04-28 12:38:52,613 INFO L272 TraceCheckUtils]: 43: Hoare triple {9221#(< ~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)); {9008#true} is VALID [2022-04-28 12:38:52,614 INFO L290 TraceCheckUtils]: 42: Hoare triple {9221#(< ~counter~0 20)} assume !!(#t~post7 < 20);havoc #t~post7; {9221#(< ~counter~0 20)} is VALID [2022-04-28 12:38:52,614 INFO L290 TraceCheckUtils]: 41: Hoare triple {9246#(< ~counter~0 19)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {9221#(< ~counter~0 20)} is VALID [2022-04-28 12:38:52,615 INFO L290 TraceCheckUtils]: 40: Hoare triple {9246#(< ~counter~0 19)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {9246#(< ~counter~0 19)} is VALID [2022-04-28 12:38:52,615 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {9008#true} {9246#(< ~counter~0 19)} #96#return; {9246#(< ~counter~0 19)} is VALID [2022-04-28 12:38:52,615 INFO L290 TraceCheckUtils]: 38: Hoare triple {9008#true} assume true; {9008#true} is VALID [2022-04-28 12:38:52,615 INFO L290 TraceCheckUtils]: 37: Hoare triple {9008#true} assume !(0 == ~cond); {9008#true} is VALID [2022-04-28 12:38:52,615 INFO L290 TraceCheckUtils]: 36: Hoare triple {9008#true} ~cond := #in~cond; {9008#true} is VALID [2022-04-28 12:38:52,616 INFO L272 TraceCheckUtils]: 35: Hoare triple {9246#(< ~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)); {9008#true} is VALID [2022-04-28 12:38:52,616 INFO L290 TraceCheckUtils]: 34: Hoare triple {9246#(< ~counter~0 19)} assume !!(#t~post7 < 20);havoc #t~post7; {9246#(< ~counter~0 19)} is VALID [2022-04-28 12:38:52,616 INFO L290 TraceCheckUtils]: 33: Hoare triple {9271#(< ~counter~0 18)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {9246#(< ~counter~0 19)} is VALID [2022-04-28 12:38:52,617 INFO L290 TraceCheckUtils]: 32: Hoare triple {9271#(< ~counter~0 18)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {9271#(< ~counter~0 18)} is VALID [2022-04-28 12:38:52,617 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {9008#true} {9271#(< ~counter~0 18)} #96#return; {9271#(< ~counter~0 18)} is VALID [2022-04-28 12:38:52,617 INFO L290 TraceCheckUtils]: 30: Hoare triple {9008#true} assume true; {9008#true} is VALID [2022-04-28 12:38:52,617 INFO L290 TraceCheckUtils]: 29: Hoare triple {9008#true} assume !(0 == ~cond); {9008#true} is VALID [2022-04-28 12:38:52,618 INFO L290 TraceCheckUtils]: 28: Hoare triple {9008#true} ~cond := #in~cond; {9008#true} is VALID [2022-04-28 12:38:52,618 INFO L272 TraceCheckUtils]: 27: Hoare triple {9271#(< ~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)); {9008#true} is VALID [2022-04-28 12:38:52,618 INFO L290 TraceCheckUtils]: 26: Hoare triple {9271#(< ~counter~0 18)} assume !!(#t~post7 < 20);havoc #t~post7; {9271#(< ~counter~0 18)} is VALID [2022-04-28 12:38:52,618 INFO L290 TraceCheckUtils]: 25: Hoare triple {9296#(< ~counter~0 17)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {9271#(< ~counter~0 18)} is VALID [2022-04-28 12:38:52,619 INFO L290 TraceCheckUtils]: 24: Hoare triple {9296#(< ~counter~0 17)} assume !!(0 != ~r~0); {9296#(< ~counter~0 17)} is VALID [2022-04-28 12:38:52,619 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {9008#true} {9296#(< ~counter~0 17)} #94#return; {9296#(< ~counter~0 17)} is VALID [2022-04-28 12:38:52,619 INFO L290 TraceCheckUtils]: 22: Hoare triple {9008#true} assume true; {9008#true} is VALID [2022-04-28 12:38:52,620 INFO L290 TraceCheckUtils]: 21: Hoare triple {9008#true} assume !(0 == ~cond); {9008#true} is VALID [2022-04-28 12:38:52,620 INFO L290 TraceCheckUtils]: 20: Hoare triple {9008#true} ~cond := #in~cond; {9008#true} is VALID [2022-04-28 12:38:52,620 INFO L272 TraceCheckUtils]: 19: Hoare triple {9296#(< ~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)); {9008#true} is VALID [2022-04-28 12:38:52,620 INFO L290 TraceCheckUtils]: 18: Hoare triple {9296#(< ~counter~0 17)} assume !!(#t~post6 < 20);havoc #t~post6; {9296#(< ~counter~0 17)} is VALID [2022-04-28 12:38:52,621 INFO L290 TraceCheckUtils]: 17: Hoare triple {9321#(< ~counter~0 16)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9296#(< ~counter~0 17)} is VALID [2022-04-28 12:38:52,621 INFO L290 TraceCheckUtils]: 16: Hoare triple {9321#(< ~counter~0 16)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {9321#(< ~counter~0 16)} is VALID [2022-04-28 12:38:52,621 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {9008#true} {9321#(< ~counter~0 16)} #92#return; {9321#(< ~counter~0 16)} is VALID [2022-04-28 12:38:52,621 INFO L290 TraceCheckUtils]: 14: Hoare triple {9008#true} assume true; {9008#true} is VALID [2022-04-28 12:38:52,622 INFO L290 TraceCheckUtils]: 13: Hoare triple {9008#true} assume !(0 == ~cond); {9008#true} is VALID [2022-04-28 12:38:52,622 INFO L290 TraceCheckUtils]: 12: Hoare triple {9008#true} ~cond := #in~cond; {9008#true} is VALID [2022-04-28 12:38:52,622 INFO L272 TraceCheckUtils]: 11: Hoare triple {9321#(< ~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)); {9008#true} is VALID [2022-04-28 12:38:52,622 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9008#true} {9321#(< ~counter~0 16)} #90#return; {9321#(< ~counter~0 16)} is VALID [2022-04-28 12:38:52,622 INFO L290 TraceCheckUtils]: 9: Hoare triple {9008#true} assume true; {9008#true} is VALID [2022-04-28 12:38:52,622 INFO L290 TraceCheckUtils]: 8: Hoare triple {9008#true} assume !(0 == ~cond); {9008#true} is VALID [2022-04-28 12:38:52,622 INFO L290 TraceCheckUtils]: 7: Hoare triple {9008#true} ~cond := #in~cond; {9008#true} is VALID [2022-04-28 12:38:52,623 INFO L272 TraceCheckUtils]: 6: Hoare triple {9321#(< ~counter~0 16)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {9008#true} is VALID [2022-04-28 12:38:52,623 INFO L290 TraceCheckUtils]: 5: Hoare triple {9321#(< ~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; {9321#(< ~counter~0 16)} is VALID [2022-04-28 12:38:52,623 INFO L272 TraceCheckUtils]: 4: Hoare triple {9321#(< ~counter~0 16)} call #t~ret9 := main(); {9321#(< ~counter~0 16)} is VALID [2022-04-28 12:38:52,624 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9321#(< ~counter~0 16)} {9008#true} #102#return; {9321#(< ~counter~0 16)} is VALID [2022-04-28 12:38:52,624 INFO L290 TraceCheckUtils]: 2: Hoare triple {9321#(< ~counter~0 16)} assume true; {9321#(< ~counter~0 16)} is VALID [2022-04-28 12:38:52,624 INFO L290 TraceCheckUtils]: 1: Hoare triple {9008#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; {9321#(< ~counter~0 16)} is VALID [2022-04-28 12:38:52,625 INFO L272 TraceCheckUtils]: 0: Hoare triple {9008#true} call ULTIMATE.init(); {9008#true} is VALID [2022-04-28 12:38:52,625 INFO L134 CoverageAnalysis]: Checked inductivity of 56 backedges. 10 proven. 18 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-28 12:38:52,625 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:38:52,625 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [80137846] [2022-04-28 12:38:52,625 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:38:52,625 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [288606431] [2022-04-28 12:38:52,625 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [288606431] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:38:52,625 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:38:52,626 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 14 [2022-04-28 12:38:52,626 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:38:52,626 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [15550195] [2022-04-28 12:38:52,626 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [15550195] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:38:52,626 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:38:52,626 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 12:38:52,626 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [527057656] [2022-04-28 12:38:52,626 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:38:52,627 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:38:52,627 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:38:52,627 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:38:52,669 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:38:52,669 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 12:38:52,669 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:38:52,670 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 12:38:52,670 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2022-04-28 12:38:52,670 INFO L87 Difference]: Start difference. First operand 130 states and 167 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:38:52,994 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:38:52,995 INFO L93 Difference]: Finished difference Result 169 states and 222 transitions. [2022-04-28 12:38:52,995 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 12:38:52,995 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:38:52,995 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:38:52,995 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:38:52,997 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 117 transitions. [2022-04-28 12:38:52,997 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:38:52,998 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 117 transitions. [2022-04-28 12:38:52,998 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 117 transitions. [2022-04-28 12:38:53,085 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 117 edges. 117 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:38:53,087 INFO L225 Difference]: With dead ends: 169 [2022-04-28 12:38:53,087 INFO L226 Difference]: Without dead ends: 132 [2022-04-28 12:38:53,088 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 120 GetRequests, 105 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 16 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=107, Invalid=165, Unknown=0, NotChecked=0, Total=272 [2022-04-28 12:38:53,088 INFO L413 NwaCegarLoop]: 42 mSDtfsCounter, 29 mSDsluCounter, 105 mSDsCounter, 0 mSdLazyCounter, 41 mSolverCounterSat, 21 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 147 SdHoareTripleChecker+Invalid, 62 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 21 IncrementalHoareTripleChecker+Valid, 41 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:38:53,088 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [29 Valid, 147 Invalid, 62 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [21 Valid, 41 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:38:53,089 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 132 states. [2022-04-28 12:38:53,184 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 132 to 132. [2022-04-28 12:38:53,184 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:38:53,185 INFO L82 GeneralOperation]: Start isEquivalent. First operand 132 states. Second operand has 132 states, 98 states have (on average 1.2346938775510203) internal successors, (121), 98 states have internal predecessors, (121), 25 states have call successors, (25), 10 states have call predecessors, (25), 8 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-28 12:38:53,185 INFO L74 IsIncluded]: Start isIncluded. First operand 132 states. Second operand has 132 states, 98 states have (on average 1.2346938775510203) internal successors, (121), 98 states have internal predecessors, (121), 25 states have call successors, (25), 10 states have call predecessors, (25), 8 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-28 12:38:53,185 INFO L87 Difference]: Start difference. First operand 132 states. Second operand has 132 states, 98 states have (on average 1.2346938775510203) internal successors, (121), 98 states have internal predecessors, (121), 25 states have call successors, (25), 10 states have call predecessors, (25), 8 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-28 12:38:53,188 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:38:53,188 INFO L93 Difference]: Finished difference Result 132 states and 169 transitions. [2022-04-28 12:38:53,188 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 169 transitions. [2022-04-28 12:38:53,189 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:38:53,189 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:38:53,189 INFO L74 IsIncluded]: Start isIncluded. First operand has 132 states, 98 states have (on average 1.2346938775510203) internal successors, (121), 98 states have internal predecessors, (121), 25 states have call successors, (25), 10 states have call predecessors, (25), 8 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) Second operand 132 states. [2022-04-28 12:38:53,190 INFO L87 Difference]: Start difference. First operand has 132 states, 98 states have (on average 1.2346938775510203) internal successors, (121), 98 states have internal predecessors, (121), 25 states have call successors, (25), 10 states have call predecessors, (25), 8 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) Second operand 132 states. [2022-04-28 12:38:53,192 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:38:53,192 INFO L93 Difference]: Finished difference Result 132 states and 169 transitions. [2022-04-28 12:38:53,192 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 169 transitions. [2022-04-28 12:38:53,193 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:38:53,193 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:38:53,193 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:38:53,193 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:38:53,193 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 132 states, 98 states have (on average 1.2346938775510203) internal successors, (121), 98 states have internal predecessors, (121), 25 states have call successors, (25), 10 states have call predecessors, (25), 8 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-28 12:38:53,196 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 132 states to 132 states and 169 transitions. [2022-04-28 12:38:53,196 INFO L78 Accepts]: Start accepts. Automaton has 132 states and 169 transitions. Word has length 59 [2022-04-28 12:38:53,196 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:38:53,196 INFO L495 AbstractCegarLoop]: Abstraction has 132 states and 169 transitions. [2022-04-28 12:38:53,197 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:38:53,197 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 132 states and 169 transitions. [2022-04-28 12:39:03,302 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 169 edges. 165 inductive. 0 not inductive. 4 times theorem prover too weak to decide inductivity. [2022-04-28 12:39:03,302 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 169 transitions. [2022-04-28 12:39:03,303 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 64 [2022-04-28 12:39:03,303 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:39:03,303 INFO L195 NwaCegarLoop]: trace histogram [6, 5, 5, 3, 3, 3, 3, 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, 1, 1, 1] [2022-04-28 12:39:03,313 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Forceful destruction successful, exit code 0 [2022-04-28 12:39:03,507 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:39:03,507 INFO L420 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:39:03,507 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:39:03,507 INFO L85 PathProgramCache]: Analyzing trace with hash -1402694082, now seen corresponding path program 3 times [2022-04-28 12:39:03,507 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:39:03,508 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1686331320] [2022-04-28 12:39:03,508 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:39:03,508 INFO L85 PathProgramCache]: Analyzing trace with hash -1402694082, now seen corresponding path program 4 times [2022-04-28 12:39:03,508 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:39:03,508 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [692657650] [2022-04-28 12:39:03,508 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:39:03,508 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:39:03,517 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:39:03,517 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1265881969] [2022-04-28 12:39:03,517 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:39:03,517 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:39:03,517 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:39:03,518 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:39:03,521 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:39:03,572 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:39:03,572 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:39:03,573 INFO L263 TraceCheckSpWp]: Trace formula consists of 176 conjuncts, 15 conjunts are in the unsatisfiable core [2022-04-28 12:39:03,586 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:39:03,587 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:39:03,869 INFO L272 TraceCheckUtils]: 0: Hoare triple {10247#true} call ULTIMATE.init(); {10247#true} is VALID [2022-04-28 12:39:03,869 INFO L290 TraceCheckUtils]: 1: Hoare triple {10247#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; {10255#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:03,870 INFO L290 TraceCheckUtils]: 2: Hoare triple {10255#(<= ~counter~0 0)} assume true; {10255#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:03,870 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10255#(<= ~counter~0 0)} {10247#true} #102#return; {10255#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:03,870 INFO L272 TraceCheckUtils]: 4: Hoare triple {10255#(<= ~counter~0 0)} call #t~ret9 := main(); {10255#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:03,871 INFO L290 TraceCheckUtils]: 5: Hoare triple {10255#(<= ~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; {10255#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:03,871 INFO L272 TraceCheckUtils]: 6: Hoare triple {10255#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {10255#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:03,871 INFO L290 TraceCheckUtils]: 7: Hoare triple {10255#(<= ~counter~0 0)} ~cond := #in~cond; {10255#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:03,872 INFO L290 TraceCheckUtils]: 8: Hoare triple {10255#(<= ~counter~0 0)} assume !(0 == ~cond); {10255#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:03,872 INFO L290 TraceCheckUtils]: 9: Hoare triple {10255#(<= ~counter~0 0)} assume true; {10255#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:03,872 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10255#(<= ~counter~0 0)} {10255#(<= ~counter~0 0)} #90#return; {10255#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:03,873 INFO L272 TraceCheckUtils]: 11: Hoare triple {10255#(<= ~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)); {10255#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:03,873 INFO L290 TraceCheckUtils]: 12: Hoare triple {10255#(<= ~counter~0 0)} ~cond := #in~cond; {10255#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:03,873 INFO L290 TraceCheckUtils]: 13: Hoare triple {10255#(<= ~counter~0 0)} assume !(0 == ~cond); {10255#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:03,873 INFO L290 TraceCheckUtils]: 14: Hoare triple {10255#(<= ~counter~0 0)} assume true; {10255#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:03,874 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {10255#(<= ~counter~0 0)} {10255#(<= ~counter~0 0)} #92#return; {10255#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:03,874 INFO L290 TraceCheckUtils]: 16: Hoare triple {10255#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {10255#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:03,875 INFO L290 TraceCheckUtils]: 17: Hoare triple {10255#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10304#(<= ~counter~0 1)} is VALID [2022-04-28 12:39:03,875 INFO L290 TraceCheckUtils]: 18: Hoare triple {10304#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {10304#(<= ~counter~0 1)} is VALID [2022-04-28 12:39:03,875 INFO L272 TraceCheckUtils]: 19: Hoare triple {10304#(<= ~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)); {10304#(<= ~counter~0 1)} is VALID [2022-04-28 12:39:03,876 INFO L290 TraceCheckUtils]: 20: Hoare triple {10304#(<= ~counter~0 1)} ~cond := #in~cond; {10304#(<= ~counter~0 1)} is VALID [2022-04-28 12:39:03,876 INFO L290 TraceCheckUtils]: 21: Hoare triple {10304#(<= ~counter~0 1)} assume !(0 == ~cond); {10304#(<= ~counter~0 1)} is VALID [2022-04-28 12:39:03,876 INFO L290 TraceCheckUtils]: 22: Hoare triple {10304#(<= ~counter~0 1)} assume true; {10304#(<= ~counter~0 1)} is VALID [2022-04-28 12:39:03,877 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {10304#(<= ~counter~0 1)} {10304#(<= ~counter~0 1)} #94#return; {10304#(<= ~counter~0 1)} is VALID [2022-04-28 12:39:03,877 INFO L290 TraceCheckUtils]: 24: Hoare triple {10304#(<= ~counter~0 1)} assume !!(0 != ~r~0); {10304#(<= ~counter~0 1)} is VALID [2022-04-28 12:39:03,877 INFO L290 TraceCheckUtils]: 25: Hoare triple {10304#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {10329#(<= ~counter~0 2)} is VALID [2022-04-28 12:39:03,878 INFO L290 TraceCheckUtils]: 26: Hoare triple {10329#(<= ~counter~0 2)} assume !!(#t~post7 < 20);havoc #t~post7; {10329#(<= ~counter~0 2)} is VALID [2022-04-28 12:39:03,878 INFO L272 TraceCheckUtils]: 27: Hoare triple {10329#(<= ~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)); {10329#(<= ~counter~0 2)} is VALID [2022-04-28 12:39:03,878 INFO L290 TraceCheckUtils]: 28: Hoare triple {10329#(<= ~counter~0 2)} ~cond := #in~cond; {10329#(<= ~counter~0 2)} is VALID [2022-04-28 12:39:03,879 INFO L290 TraceCheckUtils]: 29: Hoare triple {10329#(<= ~counter~0 2)} assume !(0 == ~cond); {10329#(<= ~counter~0 2)} is VALID [2022-04-28 12:39:03,879 INFO L290 TraceCheckUtils]: 30: Hoare triple {10329#(<= ~counter~0 2)} assume true; {10329#(<= ~counter~0 2)} is VALID [2022-04-28 12:39:03,879 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {10329#(<= ~counter~0 2)} {10329#(<= ~counter~0 2)} #96#return; {10329#(<= ~counter~0 2)} is VALID [2022-04-28 12:39:03,880 INFO L290 TraceCheckUtils]: 32: Hoare triple {10329#(<= ~counter~0 2)} assume !(~r~0 > 0); {10329#(<= ~counter~0 2)} is VALID [2022-04-28 12:39:03,880 INFO L290 TraceCheckUtils]: 33: Hoare triple {10329#(<= ~counter~0 2)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {10354#(<= ~counter~0 3)} is VALID [2022-04-28 12:39:03,880 INFO L290 TraceCheckUtils]: 34: Hoare triple {10354#(<= ~counter~0 3)} assume !!(#t~post8 < 20);havoc #t~post8; {10354#(<= ~counter~0 3)} is VALID [2022-04-28 12:39:03,881 INFO L272 TraceCheckUtils]: 35: Hoare triple {10354#(<= ~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)); {10354#(<= ~counter~0 3)} is VALID [2022-04-28 12:39:03,881 INFO L290 TraceCheckUtils]: 36: Hoare triple {10354#(<= ~counter~0 3)} ~cond := #in~cond; {10354#(<= ~counter~0 3)} is VALID [2022-04-28 12:39:03,881 INFO L290 TraceCheckUtils]: 37: Hoare triple {10354#(<= ~counter~0 3)} assume !(0 == ~cond); {10354#(<= ~counter~0 3)} is VALID [2022-04-28 12:39:03,881 INFO L290 TraceCheckUtils]: 38: Hoare triple {10354#(<= ~counter~0 3)} assume true; {10354#(<= ~counter~0 3)} is VALID [2022-04-28 12:39:03,882 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {10354#(<= ~counter~0 3)} {10354#(<= ~counter~0 3)} #98#return; {10354#(<= ~counter~0 3)} is VALID [2022-04-28 12:39:03,882 INFO L290 TraceCheckUtils]: 40: Hoare triple {10354#(<= ~counter~0 3)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {10354#(<= ~counter~0 3)} is VALID [2022-04-28 12:39:03,883 INFO L290 TraceCheckUtils]: 41: Hoare triple {10354#(<= ~counter~0 3)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {10379#(<= ~counter~0 4)} is VALID [2022-04-28 12:39:03,883 INFO L290 TraceCheckUtils]: 42: Hoare triple {10379#(<= ~counter~0 4)} assume !!(#t~post8 < 20);havoc #t~post8; {10379#(<= ~counter~0 4)} is VALID [2022-04-28 12:39:03,883 INFO L272 TraceCheckUtils]: 43: Hoare triple {10379#(<= ~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)); {10379#(<= ~counter~0 4)} is VALID [2022-04-28 12:39:03,884 INFO L290 TraceCheckUtils]: 44: Hoare triple {10379#(<= ~counter~0 4)} ~cond := #in~cond; {10379#(<= ~counter~0 4)} is VALID [2022-04-28 12:39:03,884 INFO L290 TraceCheckUtils]: 45: Hoare triple {10379#(<= ~counter~0 4)} assume !(0 == ~cond); {10379#(<= ~counter~0 4)} is VALID [2022-04-28 12:39:03,884 INFO L290 TraceCheckUtils]: 46: Hoare triple {10379#(<= ~counter~0 4)} assume true; {10379#(<= ~counter~0 4)} is VALID [2022-04-28 12:39:03,885 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {10379#(<= ~counter~0 4)} {10379#(<= ~counter~0 4)} #98#return; {10379#(<= ~counter~0 4)} is VALID [2022-04-28 12:39:03,885 INFO L290 TraceCheckUtils]: 48: Hoare triple {10379#(<= ~counter~0 4)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {10379#(<= ~counter~0 4)} is VALID [2022-04-28 12:39:03,885 INFO L290 TraceCheckUtils]: 49: Hoare triple {10379#(<= ~counter~0 4)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {10404#(<= ~counter~0 5)} is VALID [2022-04-28 12:39:03,886 INFO L290 TraceCheckUtils]: 50: Hoare triple {10404#(<= ~counter~0 5)} assume !!(#t~post8 < 20);havoc #t~post8; {10404#(<= ~counter~0 5)} is VALID [2022-04-28 12:39:03,886 INFO L272 TraceCheckUtils]: 51: Hoare triple {10404#(<= ~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)); {10404#(<= ~counter~0 5)} is VALID [2022-04-28 12:39:03,886 INFO L290 TraceCheckUtils]: 52: Hoare triple {10404#(<= ~counter~0 5)} ~cond := #in~cond; {10404#(<= ~counter~0 5)} is VALID [2022-04-28 12:39:03,887 INFO L290 TraceCheckUtils]: 53: Hoare triple {10404#(<= ~counter~0 5)} assume !(0 == ~cond); {10404#(<= ~counter~0 5)} is VALID [2022-04-28 12:39:03,887 INFO L290 TraceCheckUtils]: 54: Hoare triple {10404#(<= ~counter~0 5)} assume true; {10404#(<= ~counter~0 5)} is VALID [2022-04-28 12:39:03,887 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {10404#(<= ~counter~0 5)} {10404#(<= ~counter~0 5)} #98#return; {10404#(<= ~counter~0 5)} is VALID [2022-04-28 12:39:03,888 INFO L290 TraceCheckUtils]: 56: Hoare triple {10404#(<= ~counter~0 5)} assume !(~r~0 < 0); {10404#(<= ~counter~0 5)} is VALID [2022-04-28 12:39:03,888 INFO L290 TraceCheckUtils]: 57: Hoare triple {10404#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10429#(<= |main_#t~post6| 5)} is VALID [2022-04-28 12:39:03,888 INFO L290 TraceCheckUtils]: 58: Hoare triple {10429#(<= |main_#t~post6| 5)} assume !(#t~post6 < 20);havoc #t~post6; {10248#false} is VALID [2022-04-28 12:39:03,888 INFO L272 TraceCheckUtils]: 59: Hoare triple {10248#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)); {10248#false} is VALID [2022-04-28 12:39:03,888 INFO L290 TraceCheckUtils]: 60: Hoare triple {10248#false} ~cond := #in~cond; {10248#false} is VALID [2022-04-28 12:39:03,888 INFO L290 TraceCheckUtils]: 61: Hoare triple {10248#false} assume 0 == ~cond; {10248#false} is VALID [2022-04-28 12:39:03,889 INFO L290 TraceCheckUtils]: 62: Hoare triple {10248#false} assume !false; {10248#false} is VALID [2022-04-28 12:39:03,889 INFO L134 CoverageAnalysis]: Checked inductivity of 68 backedges. 10 proven. 54 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:39:03,889 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:39:04,182 INFO L290 TraceCheckUtils]: 62: Hoare triple {10248#false} assume !false; {10248#false} is VALID [2022-04-28 12:39:04,182 INFO L290 TraceCheckUtils]: 61: Hoare triple {10248#false} assume 0 == ~cond; {10248#false} is VALID [2022-04-28 12:39:04,182 INFO L290 TraceCheckUtils]: 60: Hoare triple {10248#false} ~cond := #in~cond; {10248#false} is VALID [2022-04-28 12:39:04,182 INFO L272 TraceCheckUtils]: 59: Hoare triple {10248#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)); {10248#false} is VALID [2022-04-28 12:39:04,182 INFO L290 TraceCheckUtils]: 58: Hoare triple {10457#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {10248#false} is VALID [2022-04-28 12:39:04,183 INFO L290 TraceCheckUtils]: 57: Hoare triple {10461#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10457#(< |main_#t~post6| 20)} is VALID [2022-04-28 12:39:04,183 INFO L290 TraceCheckUtils]: 56: Hoare triple {10461#(< ~counter~0 20)} assume !(~r~0 < 0); {10461#(< ~counter~0 20)} is VALID [2022-04-28 12:39:04,184 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {10247#true} {10461#(< ~counter~0 20)} #98#return; {10461#(< ~counter~0 20)} is VALID [2022-04-28 12:39:04,184 INFO L290 TraceCheckUtils]: 54: Hoare triple {10247#true} assume true; {10247#true} is VALID [2022-04-28 12:39:04,184 INFO L290 TraceCheckUtils]: 53: Hoare triple {10247#true} assume !(0 == ~cond); {10247#true} is VALID [2022-04-28 12:39:04,184 INFO L290 TraceCheckUtils]: 52: Hoare triple {10247#true} ~cond := #in~cond; {10247#true} is VALID [2022-04-28 12:39:04,184 INFO L272 TraceCheckUtils]: 51: Hoare triple {10461#(< ~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)); {10247#true} is VALID [2022-04-28 12:39:04,184 INFO L290 TraceCheckUtils]: 50: Hoare triple {10461#(< ~counter~0 20)} assume !!(#t~post8 < 20);havoc #t~post8; {10461#(< ~counter~0 20)} is VALID [2022-04-28 12:39:04,185 INFO L290 TraceCheckUtils]: 49: Hoare triple {10486#(< ~counter~0 19)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {10461#(< ~counter~0 20)} is VALID [2022-04-28 12:39:04,185 INFO L290 TraceCheckUtils]: 48: Hoare triple {10486#(< ~counter~0 19)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {10486#(< ~counter~0 19)} is VALID [2022-04-28 12:39:04,185 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {10247#true} {10486#(< ~counter~0 19)} #98#return; {10486#(< ~counter~0 19)} is VALID [2022-04-28 12:39:04,185 INFO L290 TraceCheckUtils]: 46: Hoare triple {10247#true} assume true; {10247#true} is VALID [2022-04-28 12:39:04,186 INFO L290 TraceCheckUtils]: 45: Hoare triple {10247#true} assume !(0 == ~cond); {10247#true} is VALID [2022-04-28 12:39:04,186 INFO L290 TraceCheckUtils]: 44: Hoare triple {10247#true} ~cond := #in~cond; {10247#true} is VALID [2022-04-28 12:39:04,186 INFO L272 TraceCheckUtils]: 43: Hoare triple {10486#(< ~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)); {10247#true} is VALID [2022-04-28 12:39:04,186 INFO L290 TraceCheckUtils]: 42: Hoare triple {10486#(< ~counter~0 19)} assume !!(#t~post8 < 20);havoc #t~post8; {10486#(< ~counter~0 19)} is VALID [2022-04-28 12:39:04,186 INFO L290 TraceCheckUtils]: 41: Hoare triple {10511#(< ~counter~0 18)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {10486#(< ~counter~0 19)} is VALID [2022-04-28 12:39:04,187 INFO L290 TraceCheckUtils]: 40: Hoare triple {10511#(< ~counter~0 18)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {10511#(< ~counter~0 18)} is VALID [2022-04-28 12:39:04,187 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {10247#true} {10511#(< ~counter~0 18)} #98#return; {10511#(< ~counter~0 18)} is VALID [2022-04-28 12:39:04,187 INFO L290 TraceCheckUtils]: 38: Hoare triple {10247#true} assume true; {10247#true} is VALID [2022-04-28 12:39:04,187 INFO L290 TraceCheckUtils]: 37: Hoare triple {10247#true} assume !(0 == ~cond); {10247#true} is VALID [2022-04-28 12:39:04,187 INFO L290 TraceCheckUtils]: 36: Hoare triple {10247#true} ~cond := #in~cond; {10247#true} is VALID [2022-04-28 12:39:04,187 INFO L272 TraceCheckUtils]: 35: Hoare triple {10511#(< ~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)); {10247#true} is VALID [2022-04-28 12:39:04,188 INFO L290 TraceCheckUtils]: 34: Hoare triple {10511#(< ~counter~0 18)} assume !!(#t~post8 < 20);havoc #t~post8; {10511#(< ~counter~0 18)} is VALID [2022-04-28 12:39:04,188 INFO L290 TraceCheckUtils]: 33: Hoare triple {10536#(< ~counter~0 17)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {10511#(< ~counter~0 18)} is VALID [2022-04-28 12:39:04,188 INFO L290 TraceCheckUtils]: 32: Hoare triple {10536#(< ~counter~0 17)} assume !(~r~0 > 0); {10536#(< ~counter~0 17)} is VALID [2022-04-28 12:39:04,189 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {10247#true} {10536#(< ~counter~0 17)} #96#return; {10536#(< ~counter~0 17)} is VALID [2022-04-28 12:39:04,189 INFO L290 TraceCheckUtils]: 30: Hoare triple {10247#true} assume true; {10247#true} is VALID [2022-04-28 12:39:04,189 INFO L290 TraceCheckUtils]: 29: Hoare triple {10247#true} assume !(0 == ~cond); {10247#true} is VALID [2022-04-28 12:39:04,189 INFO L290 TraceCheckUtils]: 28: Hoare triple {10247#true} ~cond := #in~cond; {10247#true} is VALID [2022-04-28 12:39:04,189 INFO L272 TraceCheckUtils]: 27: Hoare triple {10536#(< ~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)); {10247#true} is VALID [2022-04-28 12:39:04,189 INFO L290 TraceCheckUtils]: 26: Hoare triple {10536#(< ~counter~0 17)} assume !!(#t~post7 < 20);havoc #t~post7; {10536#(< ~counter~0 17)} is VALID [2022-04-28 12:39:04,190 INFO L290 TraceCheckUtils]: 25: Hoare triple {10561#(< ~counter~0 16)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {10536#(< ~counter~0 17)} is VALID [2022-04-28 12:39:04,190 INFO L290 TraceCheckUtils]: 24: Hoare triple {10561#(< ~counter~0 16)} assume !!(0 != ~r~0); {10561#(< ~counter~0 16)} is VALID [2022-04-28 12:39:04,191 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {10247#true} {10561#(< ~counter~0 16)} #94#return; {10561#(< ~counter~0 16)} is VALID [2022-04-28 12:39:04,191 INFO L290 TraceCheckUtils]: 22: Hoare triple {10247#true} assume true; {10247#true} is VALID [2022-04-28 12:39:04,191 INFO L290 TraceCheckUtils]: 21: Hoare triple {10247#true} assume !(0 == ~cond); {10247#true} is VALID [2022-04-28 12:39:04,191 INFO L290 TraceCheckUtils]: 20: Hoare triple {10247#true} ~cond := #in~cond; {10247#true} is VALID [2022-04-28 12:39:04,191 INFO L272 TraceCheckUtils]: 19: Hoare triple {10561#(< ~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)); {10247#true} is VALID [2022-04-28 12:39:04,191 INFO L290 TraceCheckUtils]: 18: Hoare triple {10561#(< ~counter~0 16)} assume !!(#t~post6 < 20);havoc #t~post6; {10561#(< ~counter~0 16)} is VALID [2022-04-28 12:39:04,192 INFO L290 TraceCheckUtils]: 17: Hoare triple {10586#(< ~counter~0 15)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10561#(< ~counter~0 16)} is VALID [2022-04-28 12:39:04,192 INFO L290 TraceCheckUtils]: 16: Hoare triple {10586#(< ~counter~0 15)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {10586#(< ~counter~0 15)} is VALID [2022-04-28 12:39:04,192 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {10247#true} {10586#(< ~counter~0 15)} #92#return; {10586#(< ~counter~0 15)} is VALID [2022-04-28 12:39:04,192 INFO L290 TraceCheckUtils]: 14: Hoare triple {10247#true} assume true; {10247#true} is VALID [2022-04-28 12:39:04,192 INFO L290 TraceCheckUtils]: 13: Hoare triple {10247#true} assume !(0 == ~cond); {10247#true} is VALID [2022-04-28 12:39:04,192 INFO L290 TraceCheckUtils]: 12: Hoare triple {10247#true} ~cond := #in~cond; {10247#true} is VALID [2022-04-28 12:39:04,192 INFO L272 TraceCheckUtils]: 11: Hoare triple {10586#(< ~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)); {10247#true} is VALID [2022-04-28 12:39:04,193 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10247#true} {10586#(< ~counter~0 15)} #90#return; {10586#(< ~counter~0 15)} is VALID [2022-04-28 12:39:04,193 INFO L290 TraceCheckUtils]: 9: Hoare triple {10247#true} assume true; {10247#true} is VALID [2022-04-28 12:39:04,193 INFO L290 TraceCheckUtils]: 8: Hoare triple {10247#true} assume !(0 == ~cond); {10247#true} is VALID [2022-04-28 12:39:04,193 INFO L290 TraceCheckUtils]: 7: Hoare triple {10247#true} ~cond := #in~cond; {10247#true} is VALID [2022-04-28 12:39:04,193 INFO L272 TraceCheckUtils]: 6: Hoare triple {10586#(< ~counter~0 15)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {10247#true} is VALID [2022-04-28 12:39:04,193 INFO L290 TraceCheckUtils]: 5: Hoare triple {10586#(< ~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; {10586#(< ~counter~0 15)} is VALID [2022-04-28 12:39:04,194 INFO L272 TraceCheckUtils]: 4: Hoare triple {10586#(< ~counter~0 15)} call #t~ret9 := main(); {10586#(< ~counter~0 15)} is VALID [2022-04-28 12:39:04,194 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10586#(< ~counter~0 15)} {10247#true} #102#return; {10586#(< ~counter~0 15)} is VALID [2022-04-28 12:39:04,194 INFO L290 TraceCheckUtils]: 2: Hoare triple {10586#(< ~counter~0 15)} assume true; {10586#(< ~counter~0 15)} is VALID [2022-04-28 12:39:04,195 INFO L290 TraceCheckUtils]: 1: Hoare triple {10247#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; {10586#(< ~counter~0 15)} is VALID [2022-04-28 12:39:04,195 INFO L272 TraceCheckUtils]: 0: Hoare triple {10247#true} call ULTIMATE.init(); {10247#true} is VALID [2022-04-28 12:39:04,195 INFO L134 CoverageAnalysis]: Checked inductivity of 68 backedges. 10 proven. 14 refuted. 0 times theorem prover too weak. 44 trivial. 0 not checked. [2022-04-28 12:39:04,195 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:39:04,195 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [692657650] [2022-04-28 12:39:04,195 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:39:04,195 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1265881969] [2022-04-28 12:39:04,195 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1265881969] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:39:04,195 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:39:04,195 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 16 [2022-04-28 12:39:04,196 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:39:04,196 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1686331320] [2022-04-28 12:39:04,196 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1686331320] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:39:04,196 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:39:04,196 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 12:39:04,196 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [481922630] [2022-04-28 12:39:04,196 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:39:04,196 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 4.666666666666667) internal successors, (42), 8 states have internal predecessors, (42), 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 63 [2022-04-28 12:39:04,196 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:39:04,197 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 4.666666666666667) internal successors, (42), 8 states have internal predecessors, (42), 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:39:04,233 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:39:04,233 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 12:39:04,233 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:39:04,234 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 12:39:04,234 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=96, Invalid=144, Unknown=0, NotChecked=0, Total=240 [2022-04-28 12:39:04,234 INFO L87 Difference]: Start difference. First operand 132 states and 169 transitions. Second operand has 9 states, 9 states have (on average 4.666666666666667) internal successors, (42), 8 states have internal predecessors, (42), 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:39:04,573 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:39:04,573 INFO L93 Difference]: Finished difference Result 164 states and 208 transitions. [2022-04-28 12:39:04,574 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 12:39:04,574 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 4.666666666666667) internal successors, (42), 8 states have internal predecessors, (42), 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 63 [2022-04-28 12:39:04,574 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:39:04,574 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 4.666666666666667) internal successors, (42), 8 states have internal predecessors, (42), 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:39:04,575 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 115 transitions. [2022-04-28 12:39:04,575 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 4.666666666666667) internal successors, (42), 8 states have internal predecessors, (42), 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:39:04,576 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 115 transitions. [2022-04-28 12:39:04,576 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 115 transitions. [2022-04-28 12:39:04,662 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:39:04,664 INFO L225 Difference]: With dead ends: 164 [2022-04-28 12:39:04,664 INFO L226 Difference]: Without dead ends: 159 [2022-04-28 12:39:04,665 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 127 GetRequests, 111 SyntacticMatches, 0 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 17 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=123, Invalid=183, Unknown=0, NotChecked=0, Total=306 [2022-04-28 12:39:04,665 INFO L413 NwaCegarLoop]: 45 mSDtfsCounter, 46 mSDsluCounter, 120 mSDsCounter, 0 mSdLazyCounter, 59 mSolverCounterSat, 35 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 46 SdHoareTripleChecker+Valid, 165 SdHoareTripleChecker+Invalid, 94 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 35 IncrementalHoareTripleChecker+Valid, 59 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:39:04,665 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [46 Valid, 165 Invalid, 94 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [35 Valid, 59 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:39:04,666 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 159 states. [2022-04-28 12:39:04,774 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 159 to 151. [2022-04-28 12:39:04,774 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:39:04,774 INFO L82 GeneralOperation]: Start isEquivalent. First operand 159 states. Second operand has 151 states, 110 states have (on average 1.2272727272727273) internal successors, (135), 113 states have internal predecessors, (135), 30 states have call successors, (30), 12 states have call predecessors, (30), 10 states have return successors, (28), 25 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-28 12:39:04,784 INFO L74 IsIncluded]: Start isIncluded. First operand 159 states. Second operand has 151 states, 110 states have (on average 1.2272727272727273) internal successors, (135), 113 states have internal predecessors, (135), 30 states have call successors, (30), 12 states have call predecessors, (30), 10 states have return successors, (28), 25 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-28 12:39:04,784 INFO L87 Difference]: Start difference. First operand 159 states. Second operand has 151 states, 110 states have (on average 1.2272727272727273) internal successors, (135), 113 states have internal predecessors, (135), 30 states have call successors, (30), 12 states have call predecessors, (30), 10 states have return successors, (28), 25 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-28 12:39:04,786 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:39:04,786 INFO L93 Difference]: Finished difference Result 159 states and 202 transitions. [2022-04-28 12:39:04,786 INFO L276 IsEmpty]: Start isEmpty. Operand 159 states and 202 transitions. [2022-04-28 12:39:04,787 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:39:04,787 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:39:04,787 INFO L74 IsIncluded]: Start isIncluded. First operand has 151 states, 110 states have (on average 1.2272727272727273) internal successors, (135), 113 states have internal predecessors, (135), 30 states have call successors, (30), 12 states have call predecessors, (30), 10 states have return successors, (28), 25 states have call predecessors, (28), 28 states have call successors, (28) Second operand 159 states. [2022-04-28 12:39:04,787 INFO L87 Difference]: Start difference. First operand has 151 states, 110 states have (on average 1.2272727272727273) internal successors, (135), 113 states have internal predecessors, (135), 30 states have call successors, (30), 12 states have call predecessors, (30), 10 states have return successors, (28), 25 states have call predecessors, (28), 28 states have call successors, (28) Second operand 159 states. [2022-04-28 12:39:04,790 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:39:04,790 INFO L93 Difference]: Finished difference Result 159 states and 202 transitions. [2022-04-28 12:39:04,790 INFO L276 IsEmpty]: Start isEmpty. Operand 159 states and 202 transitions. [2022-04-28 12:39:04,791 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:39:04,791 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:39:04,791 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:39:04,791 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:39:04,791 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 151 states, 110 states have (on average 1.2272727272727273) internal successors, (135), 113 states have internal predecessors, (135), 30 states have call successors, (30), 12 states have call predecessors, (30), 10 states have return successors, (28), 25 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-28 12:39:04,793 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 151 states to 151 states and 193 transitions. [2022-04-28 12:39:04,793 INFO L78 Accepts]: Start accepts. Automaton has 151 states and 193 transitions. Word has length 63 [2022-04-28 12:39:04,793 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:39:04,794 INFO L495 AbstractCegarLoop]: Abstraction has 151 states and 193 transitions. [2022-04-28 12:39:04,794 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 4.666666666666667) internal successors, (42), 8 states have internal predecessors, (42), 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:39:04,794 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 151 states and 193 transitions. [2022-04-28 12:39:14,456 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 193 edges. 191 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-28 12:39:14,456 INFO L276 IsEmpty]: Start isEmpty. Operand 151 states and 193 transitions. [2022-04-28 12:39:14,456 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 66 [2022-04-28 12:39:14,456 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:39:14,457 INFO L195 NwaCegarLoop]: trace histogram [6, 5, 5, 4, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:39:14,472 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:39:14,657 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:39:14,657 INFO L420 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:39:14,657 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:39:14,657 INFO L85 PathProgramCache]: Analyzing trace with hash -1823928061, now seen corresponding path program 5 times [2022-04-28 12:39:14,658 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:39:14,658 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [947767] [2022-04-28 12:39:14,658 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:39:14,658 INFO L85 PathProgramCache]: Analyzing trace with hash -1823928061, now seen corresponding path program 6 times [2022-04-28 12:39:14,658 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:39:14,658 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [972141998] [2022-04-28 12:39:14,658 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:39:14,658 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:39:14,669 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:39:14,669 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1630987138] [2022-04-28 12:39:14,669 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 12:39:14,669 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:39:14,669 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:39:14,670 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:39:14,670 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:39:14,726 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 6 check-sat command(s) [2022-04-28 12:39:14,726 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:39:14,727 INFO L263 TraceCheckSpWp]: Trace formula consists of 185 conjuncts, 15 conjunts are in the unsatisfiable core [2022-04-28 12:39:14,738 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:39:14,739 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:39:15,012 INFO L272 TraceCheckUtils]: 0: Hoare triple {11592#true} call ULTIMATE.init(); {11592#true} is VALID [2022-04-28 12:39:15,013 INFO L290 TraceCheckUtils]: 1: Hoare triple {11592#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; {11600#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:15,013 INFO L290 TraceCheckUtils]: 2: Hoare triple {11600#(<= ~counter~0 0)} assume true; {11600#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:15,014 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11600#(<= ~counter~0 0)} {11592#true} #102#return; {11600#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:15,014 INFO L272 TraceCheckUtils]: 4: Hoare triple {11600#(<= ~counter~0 0)} call #t~ret9 := main(); {11600#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:15,014 INFO L290 TraceCheckUtils]: 5: Hoare triple {11600#(<= ~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; {11600#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:15,015 INFO L272 TraceCheckUtils]: 6: Hoare triple {11600#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {11600#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:15,015 INFO L290 TraceCheckUtils]: 7: Hoare triple {11600#(<= ~counter~0 0)} ~cond := #in~cond; {11600#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:15,015 INFO L290 TraceCheckUtils]: 8: Hoare triple {11600#(<= ~counter~0 0)} assume !(0 == ~cond); {11600#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:15,015 INFO L290 TraceCheckUtils]: 9: Hoare triple {11600#(<= ~counter~0 0)} assume true; {11600#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:15,016 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11600#(<= ~counter~0 0)} {11600#(<= ~counter~0 0)} #90#return; {11600#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:15,016 INFO L272 TraceCheckUtils]: 11: Hoare triple {11600#(<= ~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)); {11600#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:15,017 INFO L290 TraceCheckUtils]: 12: Hoare triple {11600#(<= ~counter~0 0)} ~cond := #in~cond; {11600#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:15,017 INFO L290 TraceCheckUtils]: 13: Hoare triple {11600#(<= ~counter~0 0)} assume !(0 == ~cond); {11600#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:15,017 INFO L290 TraceCheckUtils]: 14: Hoare triple {11600#(<= ~counter~0 0)} assume true; {11600#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:15,018 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {11600#(<= ~counter~0 0)} {11600#(<= ~counter~0 0)} #92#return; {11600#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:15,018 INFO L290 TraceCheckUtils]: 16: Hoare triple {11600#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {11600#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:15,018 INFO L290 TraceCheckUtils]: 17: Hoare triple {11600#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11649#(<= ~counter~0 1)} is VALID [2022-04-28 12:39:15,019 INFO L290 TraceCheckUtils]: 18: Hoare triple {11649#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {11649#(<= ~counter~0 1)} is VALID [2022-04-28 12:39:15,019 INFO L272 TraceCheckUtils]: 19: Hoare triple {11649#(<= ~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)); {11649#(<= ~counter~0 1)} is VALID [2022-04-28 12:39:15,020 INFO L290 TraceCheckUtils]: 20: Hoare triple {11649#(<= ~counter~0 1)} ~cond := #in~cond; {11649#(<= ~counter~0 1)} is VALID [2022-04-28 12:39:15,020 INFO L290 TraceCheckUtils]: 21: Hoare triple {11649#(<= ~counter~0 1)} assume !(0 == ~cond); {11649#(<= ~counter~0 1)} is VALID [2022-04-28 12:39:15,020 INFO L290 TraceCheckUtils]: 22: Hoare triple {11649#(<= ~counter~0 1)} assume true; {11649#(<= ~counter~0 1)} is VALID [2022-04-28 12:39:15,021 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {11649#(<= ~counter~0 1)} {11649#(<= ~counter~0 1)} #94#return; {11649#(<= ~counter~0 1)} is VALID [2022-04-28 12:39:15,021 INFO L290 TraceCheckUtils]: 24: Hoare triple {11649#(<= ~counter~0 1)} assume !!(0 != ~r~0); {11649#(<= ~counter~0 1)} is VALID [2022-04-28 12:39:15,021 INFO L290 TraceCheckUtils]: 25: Hoare triple {11649#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {11674#(<= ~counter~0 2)} is VALID [2022-04-28 12:39:15,022 INFO L290 TraceCheckUtils]: 26: Hoare triple {11674#(<= ~counter~0 2)} assume !!(#t~post7 < 20);havoc #t~post7; {11674#(<= ~counter~0 2)} is VALID [2022-04-28 12:39:15,022 INFO L272 TraceCheckUtils]: 27: Hoare triple {11674#(<= ~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)); {11674#(<= ~counter~0 2)} is VALID [2022-04-28 12:39:15,022 INFO L290 TraceCheckUtils]: 28: Hoare triple {11674#(<= ~counter~0 2)} ~cond := #in~cond; {11674#(<= ~counter~0 2)} is VALID [2022-04-28 12:39:15,023 INFO L290 TraceCheckUtils]: 29: Hoare triple {11674#(<= ~counter~0 2)} assume !(0 == ~cond); {11674#(<= ~counter~0 2)} is VALID [2022-04-28 12:39:15,023 INFO L290 TraceCheckUtils]: 30: Hoare triple {11674#(<= ~counter~0 2)} assume true; {11674#(<= ~counter~0 2)} is VALID [2022-04-28 12:39:15,023 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {11674#(<= ~counter~0 2)} {11674#(<= ~counter~0 2)} #96#return; {11674#(<= ~counter~0 2)} is VALID [2022-04-28 12:39:15,024 INFO L290 TraceCheckUtils]: 32: Hoare triple {11674#(<= ~counter~0 2)} assume !(~r~0 > 0); {11674#(<= ~counter~0 2)} is VALID [2022-04-28 12:39:15,024 INFO L290 TraceCheckUtils]: 33: Hoare triple {11674#(<= ~counter~0 2)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {11699#(<= ~counter~0 3)} is VALID [2022-04-28 12:39:15,024 INFO L290 TraceCheckUtils]: 34: Hoare triple {11699#(<= ~counter~0 3)} assume !!(#t~post8 < 20);havoc #t~post8; {11699#(<= ~counter~0 3)} is VALID [2022-04-28 12:39:15,025 INFO L272 TraceCheckUtils]: 35: Hoare triple {11699#(<= ~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)); {11699#(<= ~counter~0 3)} is VALID [2022-04-28 12:39:15,025 INFO L290 TraceCheckUtils]: 36: Hoare triple {11699#(<= ~counter~0 3)} ~cond := #in~cond; {11699#(<= ~counter~0 3)} is VALID [2022-04-28 12:39:15,025 INFO L290 TraceCheckUtils]: 37: Hoare triple {11699#(<= ~counter~0 3)} assume !(0 == ~cond); {11699#(<= ~counter~0 3)} is VALID [2022-04-28 12:39:15,026 INFO L290 TraceCheckUtils]: 38: Hoare triple {11699#(<= ~counter~0 3)} assume true; {11699#(<= ~counter~0 3)} is VALID [2022-04-28 12:39:15,026 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {11699#(<= ~counter~0 3)} {11699#(<= ~counter~0 3)} #98#return; {11699#(<= ~counter~0 3)} is VALID [2022-04-28 12:39:15,026 INFO L290 TraceCheckUtils]: 40: Hoare triple {11699#(<= ~counter~0 3)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {11699#(<= ~counter~0 3)} is VALID [2022-04-28 12:39:15,027 INFO L290 TraceCheckUtils]: 41: Hoare triple {11699#(<= ~counter~0 3)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {11724#(<= ~counter~0 4)} is VALID [2022-04-28 12:39:15,027 INFO L290 TraceCheckUtils]: 42: Hoare triple {11724#(<= ~counter~0 4)} assume !!(#t~post8 < 20);havoc #t~post8; {11724#(<= ~counter~0 4)} is VALID [2022-04-28 12:39:15,031 INFO L272 TraceCheckUtils]: 43: Hoare triple {11724#(<= ~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)); {11724#(<= ~counter~0 4)} is VALID [2022-04-28 12:39:15,032 INFO L290 TraceCheckUtils]: 44: Hoare triple {11724#(<= ~counter~0 4)} ~cond := #in~cond; {11724#(<= ~counter~0 4)} is VALID [2022-04-28 12:39:15,032 INFO L290 TraceCheckUtils]: 45: Hoare triple {11724#(<= ~counter~0 4)} assume !(0 == ~cond); {11724#(<= ~counter~0 4)} is VALID [2022-04-28 12:39:15,032 INFO L290 TraceCheckUtils]: 46: Hoare triple {11724#(<= ~counter~0 4)} assume true; {11724#(<= ~counter~0 4)} is VALID [2022-04-28 12:39:15,033 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {11724#(<= ~counter~0 4)} {11724#(<= ~counter~0 4)} #98#return; {11724#(<= ~counter~0 4)} is VALID [2022-04-28 12:39:15,033 INFO L290 TraceCheckUtils]: 48: Hoare triple {11724#(<= ~counter~0 4)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {11724#(<= ~counter~0 4)} is VALID [2022-04-28 12:39:15,033 INFO L290 TraceCheckUtils]: 49: Hoare triple {11724#(<= ~counter~0 4)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {11749#(<= ~counter~0 5)} is VALID [2022-04-28 12:39:15,034 INFO L290 TraceCheckUtils]: 50: Hoare triple {11749#(<= ~counter~0 5)} assume !!(#t~post8 < 20);havoc #t~post8; {11749#(<= ~counter~0 5)} is VALID [2022-04-28 12:39:15,034 INFO L272 TraceCheckUtils]: 51: Hoare triple {11749#(<= ~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)); {11749#(<= ~counter~0 5)} is VALID [2022-04-28 12:39:15,035 INFO L290 TraceCheckUtils]: 52: Hoare triple {11749#(<= ~counter~0 5)} ~cond := #in~cond; {11749#(<= ~counter~0 5)} is VALID [2022-04-28 12:39:15,035 INFO L290 TraceCheckUtils]: 53: Hoare triple {11749#(<= ~counter~0 5)} assume !(0 == ~cond); {11749#(<= ~counter~0 5)} is VALID [2022-04-28 12:39:15,035 INFO L290 TraceCheckUtils]: 54: Hoare triple {11749#(<= ~counter~0 5)} assume true; {11749#(<= ~counter~0 5)} is VALID [2022-04-28 12:39:15,036 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {11749#(<= ~counter~0 5)} {11749#(<= ~counter~0 5)} #98#return; {11749#(<= ~counter~0 5)} is VALID [2022-04-28 12:39:15,036 INFO L290 TraceCheckUtils]: 56: Hoare triple {11749#(<= ~counter~0 5)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {11749#(<= ~counter~0 5)} is VALID [2022-04-28 12:39:15,036 INFO L290 TraceCheckUtils]: 57: Hoare triple {11749#(<= ~counter~0 5)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {11774#(<= |main_#t~post8| 5)} is VALID [2022-04-28 12:39:15,037 INFO L290 TraceCheckUtils]: 58: Hoare triple {11774#(<= |main_#t~post8| 5)} assume !(#t~post8 < 20);havoc #t~post8; {11593#false} is VALID [2022-04-28 12:39:15,037 INFO L290 TraceCheckUtils]: 59: Hoare triple {11593#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11593#false} is VALID [2022-04-28 12:39:15,037 INFO L290 TraceCheckUtils]: 60: Hoare triple {11593#false} assume !(#t~post6 < 20);havoc #t~post6; {11593#false} is VALID [2022-04-28 12:39:15,037 INFO L272 TraceCheckUtils]: 61: Hoare triple {11593#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)); {11593#false} is VALID [2022-04-28 12:39:15,037 INFO L290 TraceCheckUtils]: 62: Hoare triple {11593#false} ~cond := #in~cond; {11593#false} is VALID [2022-04-28 12:39:15,037 INFO L290 TraceCheckUtils]: 63: Hoare triple {11593#false} assume 0 == ~cond; {11593#false} is VALID [2022-04-28 12:39:15,037 INFO L290 TraceCheckUtils]: 64: Hoare triple {11593#false} assume !false; {11593#false} is VALID [2022-04-28 12:39:15,037 INFO L134 CoverageAnalysis]: Checked inductivity of 74 backedges. 12 proven. 58 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:39:15,037 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:39:15,357 INFO L290 TraceCheckUtils]: 64: Hoare triple {11593#false} assume !false; {11593#false} is VALID [2022-04-28 12:39:15,357 INFO L290 TraceCheckUtils]: 63: Hoare triple {11593#false} assume 0 == ~cond; {11593#false} is VALID [2022-04-28 12:39:15,357 INFO L290 TraceCheckUtils]: 62: Hoare triple {11593#false} ~cond := #in~cond; {11593#false} is VALID [2022-04-28 12:39:15,358 INFO L272 TraceCheckUtils]: 61: Hoare triple {11593#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)); {11593#false} is VALID [2022-04-28 12:39:15,358 INFO L290 TraceCheckUtils]: 60: Hoare triple {11593#false} assume !(#t~post6 < 20);havoc #t~post6; {11593#false} is VALID [2022-04-28 12:39:15,358 INFO L290 TraceCheckUtils]: 59: Hoare triple {11593#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11593#false} is VALID [2022-04-28 12:39:15,358 INFO L290 TraceCheckUtils]: 58: Hoare triple {11814#(< |main_#t~post8| 20)} assume !(#t~post8 < 20);havoc #t~post8; {11593#false} is VALID [2022-04-28 12:39:15,358 INFO L290 TraceCheckUtils]: 57: Hoare triple {11818#(< ~counter~0 20)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {11814#(< |main_#t~post8| 20)} is VALID [2022-04-28 12:39:15,359 INFO L290 TraceCheckUtils]: 56: Hoare triple {11818#(< ~counter~0 20)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {11818#(< ~counter~0 20)} is VALID [2022-04-28 12:39:15,359 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {11592#true} {11818#(< ~counter~0 20)} #98#return; {11818#(< ~counter~0 20)} is VALID [2022-04-28 12:39:15,359 INFO L290 TraceCheckUtils]: 54: Hoare triple {11592#true} assume true; {11592#true} is VALID [2022-04-28 12:39:15,359 INFO L290 TraceCheckUtils]: 53: Hoare triple {11592#true} assume !(0 == ~cond); {11592#true} is VALID [2022-04-28 12:39:15,359 INFO L290 TraceCheckUtils]: 52: Hoare triple {11592#true} ~cond := #in~cond; {11592#true} is VALID [2022-04-28 12:39:15,359 INFO L272 TraceCheckUtils]: 51: Hoare triple {11818#(< ~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)); {11592#true} is VALID [2022-04-28 12:39:15,360 INFO L290 TraceCheckUtils]: 50: Hoare triple {11818#(< ~counter~0 20)} assume !!(#t~post8 < 20);havoc #t~post8; {11818#(< ~counter~0 20)} is VALID [2022-04-28 12:39:15,360 INFO L290 TraceCheckUtils]: 49: Hoare triple {11843#(< ~counter~0 19)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {11818#(< ~counter~0 20)} is VALID [2022-04-28 12:39:15,360 INFO L290 TraceCheckUtils]: 48: Hoare triple {11843#(< ~counter~0 19)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {11843#(< ~counter~0 19)} is VALID [2022-04-28 12:39:15,361 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {11592#true} {11843#(< ~counter~0 19)} #98#return; {11843#(< ~counter~0 19)} is VALID [2022-04-28 12:39:15,361 INFO L290 TraceCheckUtils]: 46: Hoare triple {11592#true} assume true; {11592#true} is VALID [2022-04-28 12:39:15,361 INFO L290 TraceCheckUtils]: 45: Hoare triple {11592#true} assume !(0 == ~cond); {11592#true} is VALID [2022-04-28 12:39:15,361 INFO L290 TraceCheckUtils]: 44: Hoare triple {11592#true} ~cond := #in~cond; {11592#true} is VALID [2022-04-28 12:39:15,361 INFO L272 TraceCheckUtils]: 43: Hoare triple {11843#(< ~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)); {11592#true} is VALID [2022-04-28 12:39:15,361 INFO L290 TraceCheckUtils]: 42: Hoare triple {11843#(< ~counter~0 19)} assume !!(#t~post8 < 20);havoc #t~post8; {11843#(< ~counter~0 19)} is VALID [2022-04-28 12:39:15,362 INFO L290 TraceCheckUtils]: 41: Hoare triple {11868#(< ~counter~0 18)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {11843#(< ~counter~0 19)} is VALID [2022-04-28 12:39:15,362 INFO L290 TraceCheckUtils]: 40: Hoare triple {11868#(< ~counter~0 18)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {11868#(< ~counter~0 18)} is VALID [2022-04-28 12:39:15,363 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {11592#true} {11868#(< ~counter~0 18)} #98#return; {11868#(< ~counter~0 18)} is VALID [2022-04-28 12:39:15,363 INFO L290 TraceCheckUtils]: 38: Hoare triple {11592#true} assume true; {11592#true} is VALID [2022-04-28 12:39:15,363 INFO L290 TraceCheckUtils]: 37: Hoare triple {11592#true} assume !(0 == ~cond); {11592#true} is VALID [2022-04-28 12:39:15,363 INFO L290 TraceCheckUtils]: 36: Hoare triple {11592#true} ~cond := #in~cond; {11592#true} is VALID [2022-04-28 12:39:15,363 INFO L272 TraceCheckUtils]: 35: Hoare triple {11868#(< ~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)); {11592#true} is VALID [2022-04-28 12:39:15,363 INFO L290 TraceCheckUtils]: 34: Hoare triple {11868#(< ~counter~0 18)} assume !!(#t~post8 < 20);havoc #t~post8; {11868#(< ~counter~0 18)} is VALID [2022-04-28 12:39:15,364 INFO L290 TraceCheckUtils]: 33: Hoare triple {11893#(< ~counter~0 17)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {11868#(< ~counter~0 18)} is VALID [2022-04-28 12:39:15,364 INFO L290 TraceCheckUtils]: 32: Hoare triple {11893#(< ~counter~0 17)} assume !(~r~0 > 0); {11893#(< ~counter~0 17)} is VALID [2022-04-28 12:39:15,364 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {11592#true} {11893#(< ~counter~0 17)} #96#return; {11893#(< ~counter~0 17)} is VALID [2022-04-28 12:39:15,365 INFO L290 TraceCheckUtils]: 30: Hoare triple {11592#true} assume true; {11592#true} is VALID [2022-04-28 12:39:15,365 INFO L290 TraceCheckUtils]: 29: Hoare triple {11592#true} assume !(0 == ~cond); {11592#true} is VALID [2022-04-28 12:39:15,365 INFO L290 TraceCheckUtils]: 28: Hoare triple {11592#true} ~cond := #in~cond; {11592#true} is VALID [2022-04-28 12:39:15,365 INFO L272 TraceCheckUtils]: 27: Hoare triple {11893#(< ~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)); {11592#true} is VALID [2022-04-28 12:39:15,365 INFO L290 TraceCheckUtils]: 26: Hoare triple {11893#(< ~counter~0 17)} assume !!(#t~post7 < 20);havoc #t~post7; {11893#(< ~counter~0 17)} is VALID [2022-04-28 12:39:15,365 INFO L290 TraceCheckUtils]: 25: Hoare triple {11918#(< ~counter~0 16)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {11893#(< ~counter~0 17)} is VALID [2022-04-28 12:39:15,366 INFO L290 TraceCheckUtils]: 24: Hoare triple {11918#(< ~counter~0 16)} assume !!(0 != ~r~0); {11918#(< ~counter~0 16)} is VALID [2022-04-28 12:39:15,366 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {11592#true} {11918#(< ~counter~0 16)} #94#return; {11918#(< ~counter~0 16)} is VALID [2022-04-28 12:39:15,366 INFO L290 TraceCheckUtils]: 22: Hoare triple {11592#true} assume true; {11592#true} is VALID [2022-04-28 12:39:15,366 INFO L290 TraceCheckUtils]: 21: Hoare triple {11592#true} assume !(0 == ~cond); {11592#true} is VALID [2022-04-28 12:39:15,366 INFO L290 TraceCheckUtils]: 20: Hoare triple {11592#true} ~cond := #in~cond; {11592#true} is VALID [2022-04-28 12:39:15,366 INFO L272 TraceCheckUtils]: 19: Hoare triple {11918#(< ~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)); {11592#true} is VALID [2022-04-28 12:39:15,367 INFO L290 TraceCheckUtils]: 18: Hoare triple {11918#(< ~counter~0 16)} assume !!(#t~post6 < 20);havoc #t~post6; {11918#(< ~counter~0 16)} is VALID [2022-04-28 12:39:15,367 INFO L290 TraceCheckUtils]: 17: Hoare triple {11943#(< ~counter~0 15)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11918#(< ~counter~0 16)} is VALID [2022-04-28 12:39:15,367 INFO L290 TraceCheckUtils]: 16: Hoare triple {11943#(< ~counter~0 15)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {11943#(< ~counter~0 15)} is VALID [2022-04-28 12:39:15,368 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {11592#true} {11943#(< ~counter~0 15)} #92#return; {11943#(< ~counter~0 15)} is VALID [2022-04-28 12:39:15,368 INFO L290 TraceCheckUtils]: 14: Hoare triple {11592#true} assume true; {11592#true} is VALID [2022-04-28 12:39:15,368 INFO L290 TraceCheckUtils]: 13: Hoare triple {11592#true} assume !(0 == ~cond); {11592#true} is VALID [2022-04-28 12:39:15,368 INFO L290 TraceCheckUtils]: 12: Hoare triple {11592#true} ~cond := #in~cond; {11592#true} is VALID [2022-04-28 12:39:15,368 INFO L272 TraceCheckUtils]: 11: Hoare triple {11943#(< ~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)); {11592#true} is VALID [2022-04-28 12:39:15,369 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11592#true} {11943#(< ~counter~0 15)} #90#return; {11943#(< ~counter~0 15)} is VALID [2022-04-28 12:39:15,369 INFO L290 TraceCheckUtils]: 9: Hoare triple {11592#true} assume true; {11592#true} is VALID [2022-04-28 12:39:15,369 INFO L290 TraceCheckUtils]: 8: Hoare triple {11592#true} assume !(0 == ~cond); {11592#true} is VALID [2022-04-28 12:39:15,369 INFO L290 TraceCheckUtils]: 7: Hoare triple {11592#true} ~cond := #in~cond; {11592#true} is VALID [2022-04-28 12:39:15,369 INFO L272 TraceCheckUtils]: 6: Hoare triple {11943#(< ~counter~0 15)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {11592#true} is VALID [2022-04-28 12:39:15,369 INFO L290 TraceCheckUtils]: 5: Hoare triple {11943#(< ~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; {11943#(< ~counter~0 15)} is VALID [2022-04-28 12:39:15,370 INFO L272 TraceCheckUtils]: 4: Hoare triple {11943#(< ~counter~0 15)} call #t~ret9 := main(); {11943#(< ~counter~0 15)} is VALID [2022-04-28 12:39:15,370 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11943#(< ~counter~0 15)} {11592#true} #102#return; {11943#(< ~counter~0 15)} is VALID [2022-04-28 12:39:15,370 INFO L290 TraceCheckUtils]: 2: Hoare triple {11943#(< ~counter~0 15)} assume true; {11943#(< ~counter~0 15)} is VALID [2022-04-28 12:39:15,371 INFO L290 TraceCheckUtils]: 1: Hoare triple {11592#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; {11943#(< ~counter~0 15)} is VALID [2022-04-28 12:39:15,371 INFO L272 TraceCheckUtils]: 0: Hoare triple {11592#true} call ULTIMATE.init(); {11592#true} is VALID [2022-04-28 12:39:15,371 INFO L134 CoverageAnalysis]: Checked inductivity of 74 backedges. 12 proven. 18 refuted. 0 times theorem prover too weak. 44 trivial. 0 not checked. [2022-04-28 12:39:15,371 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:39:15,371 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [972141998] [2022-04-28 12:39:15,371 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:39:15,371 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1630987138] [2022-04-28 12:39:15,372 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1630987138] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:39:15,372 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:39:15,372 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 16 [2022-04-28 12:39:15,372 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:39:15,372 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [947767] [2022-04-28 12:39:15,372 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [947767] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:39:15,372 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:39:15,372 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 12:39:15,372 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [645611023] [2022-04-28 12:39:15,372 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:39:15,373 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 4.888888888888889) internal successors, (44), 8 states have internal predecessors, (44), 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 65 [2022-04-28 12:39:15,373 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:39:15,373 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 4.888888888888889) internal successors, (44), 8 states have internal predecessors, (44), 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:39:15,418 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:39:15,418 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 12:39:15,418 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:39:15,419 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 12:39:15,419 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=96, Invalid=144, Unknown=0, NotChecked=0, Total=240 [2022-04-28 12:39:15,419 INFO L87 Difference]: Start difference. First operand 151 states and 193 transitions. Second operand has 9 states, 9 states have (on average 4.888888888888889) internal successors, (44), 8 states have internal predecessors, (44), 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:39:15,817 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:39:15,817 INFO L93 Difference]: Finished difference Result 226 states and 299 transitions. [2022-04-28 12:39:15,817 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 12:39:15,818 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 4.888888888888889) internal successors, (44), 8 states have internal predecessors, (44), 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 65 [2022-04-28 12:39:15,818 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:39:15,818 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 4.888888888888889) internal successors, (44), 8 states have internal predecessors, (44), 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:39:15,820 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 137 transitions. [2022-04-28 12:39:15,820 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 4.888888888888889) internal successors, (44), 8 states have internal predecessors, (44), 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:39:15,821 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 137 transitions. [2022-04-28 12:39:15,821 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 137 transitions. [2022-04-28 12:39:15,917 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:39:15,919 INFO L225 Difference]: With dead ends: 226 [2022-04-28 12:39:15,919 INFO L226 Difference]: Without dead ends: 161 [2022-04-28 12:39:15,920 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 132 GetRequests, 115 SyntacticMatches, 0 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 19 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=135, Invalid=207, Unknown=0, NotChecked=0, Total=342 [2022-04-28 12:39:15,920 INFO L413 NwaCegarLoop]: 45 mSDtfsCounter, 41 mSDsluCounter, 126 mSDsCounter, 0 mSdLazyCounter, 53 mSolverCounterSat, 27 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 41 SdHoareTripleChecker+Valid, 171 SdHoareTripleChecker+Invalid, 80 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 27 IncrementalHoareTripleChecker+Valid, 53 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:39:15,920 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [41 Valid, 171 Invalid, 80 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [27 Valid, 53 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:39:15,920 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 161 states. [2022-04-28 12:39:16,041 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 161 to 156. [2022-04-28 12:39:16,041 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:39:16,042 INFO L82 GeneralOperation]: Start isEquivalent. First operand 161 states. Second operand has 156 states, 115 states have (on average 1.2260869565217392) internal successors, (141), 117 states have internal predecessors, (141), 30 states have call successors, (30), 12 states have call predecessors, (30), 10 states have return successors, (28), 26 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-28 12:39:16,042 INFO L74 IsIncluded]: Start isIncluded. First operand 161 states. Second operand has 156 states, 115 states have (on average 1.2260869565217392) internal successors, (141), 117 states have internal predecessors, (141), 30 states have call successors, (30), 12 states have call predecessors, (30), 10 states have return successors, (28), 26 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-28 12:39:16,042 INFO L87 Difference]: Start difference. First operand 161 states. Second operand has 156 states, 115 states have (on average 1.2260869565217392) internal successors, (141), 117 states have internal predecessors, (141), 30 states have call successors, (30), 12 states have call predecessors, (30), 10 states have return successors, (28), 26 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-28 12:39:16,045 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:39:16,045 INFO L93 Difference]: Finished difference Result 161 states and 204 transitions. [2022-04-28 12:39:16,045 INFO L276 IsEmpty]: Start isEmpty. Operand 161 states and 204 transitions. [2022-04-28 12:39:16,045 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:39:16,045 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:39:16,045 INFO L74 IsIncluded]: Start isIncluded. First operand has 156 states, 115 states have (on average 1.2260869565217392) internal successors, (141), 117 states have internal predecessors, (141), 30 states have call successors, (30), 12 states have call predecessors, (30), 10 states have return successors, (28), 26 states have call predecessors, (28), 28 states have call successors, (28) Second operand 161 states. [2022-04-28 12:39:16,046 INFO L87 Difference]: Start difference. First operand has 156 states, 115 states have (on average 1.2260869565217392) internal successors, (141), 117 states have internal predecessors, (141), 30 states have call successors, (30), 12 states have call predecessors, (30), 10 states have return successors, (28), 26 states have call predecessors, (28), 28 states have call successors, (28) Second operand 161 states. [2022-04-28 12:39:16,049 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:39:16,049 INFO L93 Difference]: Finished difference Result 161 states and 204 transitions. [2022-04-28 12:39:16,049 INFO L276 IsEmpty]: Start isEmpty. Operand 161 states and 204 transitions. [2022-04-28 12:39:16,049 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:39:16,049 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:39:16,049 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:39:16,049 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:39:16,049 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 156 states, 115 states have (on average 1.2260869565217392) internal successors, (141), 117 states have internal predecessors, (141), 30 states have call successors, (30), 12 states have call predecessors, (30), 10 states have return successors, (28), 26 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-28 12:39:16,052 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 156 states to 156 states and 199 transitions. [2022-04-28 12:39:16,052 INFO L78 Accepts]: Start accepts. Automaton has 156 states and 199 transitions. Word has length 65 [2022-04-28 12:39:16,052 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:39:16,052 INFO L495 AbstractCegarLoop]: Abstraction has 156 states and 199 transitions. [2022-04-28 12:39:16,053 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 4.888888888888889) internal successors, (44), 8 states have internal predecessors, (44), 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:39:16,053 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 156 states and 199 transitions. [2022-04-28 12:39:21,981 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 199 edges. 198 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 12:39:21,981 INFO L276 IsEmpty]: Start isEmpty. Operand 156 states and 199 transitions. [2022-04-28 12:39:21,982 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 68 [2022-04-28 12:39:21,982 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:39:21,982 INFO L195 NwaCegarLoop]: trace histogram [6, 5, 5, 3, 3, 2, 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, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:39:21,998 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:39:22,182 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:39:22,183 INFO L420 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:39:22,183 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:39:22,183 INFO L85 PathProgramCache]: Analyzing trace with hash -1211810838, now seen corresponding path program 1 times [2022-04-28 12:39:22,183 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:39:22,183 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [456701238] [2022-04-28 12:39:22,184 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:39:22,184 INFO L85 PathProgramCache]: Analyzing trace with hash -1211810838, now seen corresponding path program 2 times [2022-04-28 12:39:22,184 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:39:22,184 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [440470524] [2022-04-28 12:39:22,184 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:39:22,184 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:39:22,193 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:39:22,193 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [249918633] [2022-04-28 12:39:22,193 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:39:22,193 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:39:22,193 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:39:22,194 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:39:22,197 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:39:22,234 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:39:22,234 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:39:22,235 INFO L263 TraceCheckSpWp]: Trace formula consists of 182 conjuncts, 15 conjunts are in the unsatisfiable core [2022-04-28 12:39:22,246 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:39:22,246 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:39:22,512 INFO L272 TraceCheckUtils]: 0: Hoare triple {13089#true} call ULTIMATE.init(); {13089#true} is VALID [2022-04-28 12:39:22,513 INFO L290 TraceCheckUtils]: 1: Hoare triple {13089#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; {13097#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:22,513 INFO L290 TraceCheckUtils]: 2: Hoare triple {13097#(<= ~counter~0 0)} assume true; {13097#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:22,513 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13097#(<= ~counter~0 0)} {13089#true} #102#return; {13097#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:22,514 INFO L272 TraceCheckUtils]: 4: Hoare triple {13097#(<= ~counter~0 0)} call #t~ret9 := main(); {13097#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:22,514 INFO L290 TraceCheckUtils]: 5: Hoare triple {13097#(<= ~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; {13097#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:22,514 INFO L272 TraceCheckUtils]: 6: Hoare triple {13097#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {13097#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:22,514 INFO L290 TraceCheckUtils]: 7: Hoare triple {13097#(<= ~counter~0 0)} ~cond := #in~cond; {13097#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:22,515 INFO L290 TraceCheckUtils]: 8: Hoare triple {13097#(<= ~counter~0 0)} assume !(0 == ~cond); {13097#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:22,515 INFO L290 TraceCheckUtils]: 9: Hoare triple {13097#(<= ~counter~0 0)} assume true; {13097#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:22,515 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13097#(<= ~counter~0 0)} {13097#(<= ~counter~0 0)} #90#return; {13097#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:22,516 INFO L272 TraceCheckUtils]: 11: Hoare triple {13097#(<= ~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)); {13097#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:22,516 INFO L290 TraceCheckUtils]: 12: Hoare triple {13097#(<= ~counter~0 0)} ~cond := #in~cond; {13097#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:22,516 INFO L290 TraceCheckUtils]: 13: Hoare triple {13097#(<= ~counter~0 0)} assume !(0 == ~cond); {13097#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:22,517 INFO L290 TraceCheckUtils]: 14: Hoare triple {13097#(<= ~counter~0 0)} assume true; {13097#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:22,517 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {13097#(<= ~counter~0 0)} {13097#(<= ~counter~0 0)} #92#return; {13097#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:22,517 INFO L290 TraceCheckUtils]: 16: Hoare triple {13097#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {13097#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:22,518 INFO L290 TraceCheckUtils]: 17: Hoare triple {13097#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13146#(<= ~counter~0 1)} is VALID [2022-04-28 12:39:22,518 INFO L290 TraceCheckUtils]: 18: Hoare triple {13146#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {13146#(<= ~counter~0 1)} is VALID [2022-04-28 12:39:22,519 INFO L272 TraceCheckUtils]: 19: Hoare triple {13146#(<= ~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)); {13146#(<= ~counter~0 1)} is VALID [2022-04-28 12:39:22,519 INFO L290 TraceCheckUtils]: 20: Hoare triple {13146#(<= ~counter~0 1)} ~cond := #in~cond; {13146#(<= ~counter~0 1)} is VALID [2022-04-28 12:39:22,519 INFO L290 TraceCheckUtils]: 21: Hoare triple {13146#(<= ~counter~0 1)} assume !(0 == ~cond); {13146#(<= ~counter~0 1)} is VALID [2022-04-28 12:39:22,519 INFO L290 TraceCheckUtils]: 22: Hoare triple {13146#(<= ~counter~0 1)} assume true; {13146#(<= ~counter~0 1)} is VALID [2022-04-28 12:39:22,520 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {13146#(<= ~counter~0 1)} {13146#(<= ~counter~0 1)} #94#return; {13146#(<= ~counter~0 1)} is VALID [2022-04-28 12:39:22,520 INFO L290 TraceCheckUtils]: 24: Hoare triple {13146#(<= ~counter~0 1)} assume !!(0 != ~r~0); {13146#(<= ~counter~0 1)} is VALID [2022-04-28 12:39:22,520 INFO L290 TraceCheckUtils]: 25: Hoare triple {13146#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {13171#(<= ~counter~0 2)} is VALID [2022-04-28 12:39:22,521 INFO L290 TraceCheckUtils]: 26: Hoare triple {13171#(<= ~counter~0 2)} assume !!(#t~post7 < 20);havoc #t~post7; {13171#(<= ~counter~0 2)} is VALID [2022-04-28 12:39:22,521 INFO L272 TraceCheckUtils]: 27: Hoare triple {13171#(<= ~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)); {13171#(<= ~counter~0 2)} is VALID [2022-04-28 12:39:22,521 INFO L290 TraceCheckUtils]: 28: Hoare triple {13171#(<= ~counter~0 2)} ~cond := #in~cond; {13171#(<= ~counter~0 2)} is VALID [2022-04-28 12:39:22,522 INFO L290 TraceCheckUtils]: 29: Hoare triple {13171#(<= ~counter~0 2)} assume !(0 == ~cond); {13171#(<= ~counter~0 2)} is VALID [2022-04-28 12:39:22,522 INFO L290 TraceCheckUtils]: 30: Hoare triple {13171#(<= ~counter~0 2)} assume true; {13171#(<= ~counter~0 2)} is VALID [2022-04-28 12:39:22,522 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {13171#(<= ~counter~0 2)} {13171#(<= ~counter~0 2)} #96#return; {13171#(<= ~counter~0 2)} is VALID [2022-04-28 12:39:22,523 INFO L290 TraceCheckUtils]: 32: Hoare triple {13171#(<= ~counter~0 2)} assume !(~r~0 > 0); {13171#(<= ~counter~0 2)} is VALID [2022-04-28 12:39:22,523 INFO L290 TraceCheckUtils]: 33: Hoare triple {13171#(<= ~counter~0 2)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {13196#(<= ~counter~0 3)} is VALID [2022-04-28 12:39:22,523 INFO L290 TraceCheckUtils]: 34: Hoare triple {13196#(<= ~counter~0 3)} assume !!(#t~post8 < 20);havoc #t~post8; {13196#(<= ~counter~0 3)} is VALID [2022-04-28 12:39:22,524 INFO L272 TraceCheckUtils]: 35: Hoare triple {13196#(<= ~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)); {13196#(<= ~counter~0 3)} is VALID [2022-04-28 12:39:22,524 INFO L290 TraceCheckUtils]: 36: Hoare triple {13196#(<= ~counter~0 3)} ~cond := #in~cond; {13196#(<= ~counter~0 3)} is VALID [2022-04-28 12:39:22,524 INFO L290 TraceCheckUtils]: 37: Hoare triple {13196#(<= ~counter~0 3)} assume !(0 == ~cond); {13196#(<= ~counter~0 3)} is VALID [2022-04-28 12:39:22,525 INFO L290 TraceCheckUtils]: 38: Hoare triple {13196#(<= ~counter~0 3)} assume true; {13196#(<= ~counter~0 3)} is VALID [2022-04-28 12:39:22,525 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {13196#(<= ~counter~0 3)} {13196#(<= ~counter~0 3)} #98#return; {13196#(<= ~counter~0 3)} is VALID [2022-04-28 12:39:22,525 INFO L290 TraceCheckUtils]: 40: Hoare triple {13196#(<= ~counter~0 3)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {13196#(<= ~counter~0 3)} is VALID [2022-04-28 12:39:22,526 INFO L290 TraceCheckUtils]: 41: Hoare triple {13196#(<= ~counter~0 3)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {13221#(<= ~counter~0 4)} is VALID [2022-04-28 12:39:22,526 INFO L290 TraceCheckUtils]: 42: Hoare triple {13221#(<= ~counter~0 4)} assume !!(#t~post8 < 20);havoc #t~post8; {13221#(<= ~counter~0 4)} is VALID [2022-04-28 12:39:22,527 INFO L272 TraceCheckUtils]: 43: Hoare triple {13221#(<= ~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)); {13221#(<= ~counter~0 4)} is VALID [2022-04-28 12:39:22,527 INFO L290 TraceCheckUtils]: 44: Hoare triple {13221#(<= ~counter~0 4)} ~cond := #in~cond; {13221#(<= ~counter~0 4)} is VALID [2022-04-28 12:39:22,527 INFO L290 TraceCheckUtils]: 45: Hoare triple {13221#(<= ~counter~0 4)} assume !(0 == ~cond); {13221#(<= ~counter~0 4)} is VALID [2022-04-28 12:39:22,527 INFO L290 TraceCheckUtils]: 46: Hoare triple {13221#(<= ~counter~0 4)} assume true; {13221#(<= ~counter~0 4)} is VALID [2022-04-28 12:39:22,528 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {13221#(<= ~counter~0 4)} {13221#(<= ~counter~0 4)} #98#return; {13221#(<= ~counter~0 4)} is VALID [2022-04-28 12:39:22,528 INFO L290 TraceCheckUtils]: 48: Hoare triple {13221#(<= ~counter~0 4)} assume !(~r~0 < 0); {13221#(<= ~counter~0 4)} is VALID [2022-04-28 12:39:22,529 INFO L290 TraceCheckUtils]: 49: Hoare triple {13221#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13246#(<= ~counter~0 5)} is VALID [2022-04-28 12:39:22,529 INFO L290 TraceCheckUtils]: 50: Hoare triple {13246#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {13246#(<= ~counter~0 5)} is VALID [2022-04-28 12:39:22,529 INFO L272 TraceCheckUtils]: 51: Hoare triple {13246#(<= ~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)); {13246#(<= ~counter~0 5)} is VALID [2022-04-28 12:39:22,530 INFO L290 TraceCheckUtils]: 52: Hoare triple {13246#(<= ~counter~0 5)} ~cond := #in~cond; {13246#(<= ~counter~0 5)} is VALID [2022-04-28 12:39:22,530 INFO L290 TraceCheckUtils]: 53: Hoare triple {13246#(<= ~counter~0 5)} assume !(0 == ~cond); {13246#(<= ~counter~0 5)} is VALID [2022-04-28 12:39:22,530 INFO L290 TraceCheckUtils]: 54: Hoare triple {13246#(<= ~counter~0 5)} assume true; {13246#(<= ~counter~0 5)} is VALID [2022-04-28 12:39:22,530 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {13246#(<= ~counter~0 5)} {13246#(<= ~counter~0 5)} #94#return; {13246#(<= ~counter~0 5)} is VALID [2022-04-28 12:39:22,531 INFO L290 TraceCheckUtils]: 56: Hoare triple {13246#(<= ~counter~0 5)} assume !!(0 != ~r~0); {13246#(<= ~counter~0 5)} is VALID [2022-04-28 12:39:22,531 INFO L290 TraceCheckUtils]: 57: Hoare triple {13246#(<= ~counter~0 5)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {13271#(<= |main_#t~post7| 5)} is VALID [2022-04-28 12:39:22,531 INFO L290 TraceCheckUtils]: 58: Hoare triple {13271#(<= |main_#t~post7| 5)} assume !(#t~post7 < 20);havoc #t~post7; {13090#false} is VALID [2022-04-28 12:39:22,532 INFO L290 TraceCheckUtils]: 59: Hoare triple {13090#false} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {13090#false} is VALID [2022-04-28 12:39:22,532 INFO L290 TraceCheckUtils]: 60: Hoare triple {13090#false} assume !(#t~post8 < 20);havoc #t~post8; {13090#false} is VALID [2022-04-28 12:39:22,532 INFO L290 TraceCheckUtils]: 61: Hoare triple {13090#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13090#false} is VALID [2022-04-28 12:39:22,532 INFO L290 TraceCheckUtils]: 62: Hoare triple {13090#false} assume !(#t~post6 < 20);havoc #t~post6; {13090#false} is VALID [2022-04-28 12:39:22,532 INFO L272 TraceCheckUtils]: 63: Hoare triple {13090#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)); {13090#false} is VALID [2022-04-28 12:39:22,532 INFO L290 TraceCheckUtils]: 64: Hoare triple {13090#false} ~cond := #in~cond; {13090#false} is VALID [2022-04-28 12:39:22,532 INFO L290 TraceCheckUtils]: 65: Hoare triple {13090#false} assume 0 == ~cond; {13090#false} is VALID [2022-04-28 12:39:22,532 INFO L290 TraceCheckUtils]: 66: Hoare triple {13090#false} assume !false; {13090#false} is VALID [2022-04-28 12:39:22,532 INFO L134 CoverageAnalysis]: Checked inductivity of 72 backedges. 18 proven. 50 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:39:22,532 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:39:22,835 INFO L290 TraceCheckUtils]: 66: Hoare triple {13090#false} assume !false; {13090#false} is VALID [2022-04-28 12:39:22,835 INFO L290 TraceCheckUtils]: 65: Hoare triple {13090#false} assume 0 == ~cond; {13090#false} is VALID [2022-04-28 12:39:22,835 INFO L290 TraceCheckUtils]: 64: Hoare triple {13090#false} ~cond := #in~cond; {13090#false} is VALID [2022-04-28 12:39:22,835 INFO L272 TraceCheckUtils]: 63: Hoare triple {13090#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)); {13090#false} is VALID [2022-04-28 12:39:22,835 INFO L290 TraceCheckUtils]: 62: Hoare triple {13090#false} assume !(#t~post6 < 20);havoc #t~post6; {13090#false} is VALID [2022-04-28 12:39:22,835 INFO L290 TraceCheckUtils]: 61: Hoare triple {13090#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13090#false} is VALID [2022-04-28 12:39:22,835 INFO L290 TraceCheckUtils]: 60: Hoare triple {13090#false} assume !(#t~post8 < 20);havoc #t~post8; {13090#false} is VALID [2022-04-28 12:39:22,835 INFO L290 TraceCheckUtils]: 59: Hoare triple {13090#false} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {13090#false} is VALID [2022-04-28 12:39:22,836 INFO L290 TraceCheckUtils]: 58: Hoare triple {13323#(< |main_#t~post7| 20)} assume !(#t~post7 < 20);havoc #t~post7; {13090#false} is VALID [2022-04-28 12:39:22,836 INFO L290 TraceCheckUtils]: 57: Hoare triple {13327#(< ~counter~0 20)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {13323#(< |main_#t~post7| 20)} is VALID [2022-04-28 12:39:22,836 INFO L290 TraceCheckUtils]: 56: Hoare triple {13327#(< ~counter~0 20)} assume !!(0 != ~r~0); {13327#(< ~counter~0 20)} is VALID [2022-04-28 12:39:22,837 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {13089#true} {13327#(< ~counter~0 20)} #94#return; {13327#(< ~counter~0 20)} is VALID [2022-04-28 12:39:22,837 INFO L290 TraceCheckUtils]: 54: Hoare triple {13089#true} assume true; {13089#true} is VALID [2022-04-28 12:39:22,837 INFO L290 TraceCheckUtils]: 53: Hoare triple {13089#true} assume !(0 == ~cond); {13089#true} is VALID [2022-04-28 12:39:22,837 INFO L290 TraceCheckUtils]: 52: Hoare triple {13089#true} ~cond := #in~cond; {13089#true} is VALID [2022-04-28 12:39:22,837 INFO L272 TraceCheckUtils]: 51: Hoare triple {13327#(< ~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)); {13089#true} is VALID [2022-04-28 12:39:22,837 INFO L290 TraceCheckUtils]: 50: Hoare triple {13327#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6; {13327#(< ~counter~0 20)} is VALID [2022-04-28 12:39:22,838 INFO L290 TraceCheckUtils]: 49: Hoare triple {13352#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13327#(< ~counter~0 20)} is VALID [2022-04-28 12:39:22,838 INFO L290 TraceCheckUtils]: 48: Hoare triple {13352#(< ~counter~0 19)} assume !(~r~0 < 0); {13352#(< ~counter~0 19)} is VALID [2022-04-28 12:39:22,839 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {13089#true} {13352#(< ~counter~0 19)} #98#return; {13352#(< ~counter~0 19)} is VALID [2022-04-28 12:39:22,839 INFO L290 TraceCheckUtils]: 46: Hoare triple {13089#true} assume true; {13089#true} is VALID [2022-04-28 12:39:22,839 INFO L290 TraceCheckUtils]: 45: Hoare triple {13089#true} assume !(0 == ~cond); {13089#true} is VALID [2022-04-28 12:39:22,839 INFO L290 TraceCheckUtils]: 44: Hoare triple {13089#true} ~cond := #in~cond; {13089#true} is VALID [2022-04-28 12:39:22,839 INFO L272 TraceCheckUtils]: 43: Hoare triple {13352#(< ~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)); {13089#true} is VALID [2022-04-28 12:39:22,839 INFO L290 TraceCheckUtils]: 42: Hoare triple {13352#(< ~counter~0 19)} assume !!(#t~post8 < 20);havoc #t~post8; {13352#(< ~counter~0 19)} is VALID [2022-04-28 12:39:22,840 INFO L290 TraceCheckUtils]: 41: Hoare triple {13377#(< ~counter~0 18)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {13352#(< ~counter~0 19)} is VALID [2022-04-28 12:39:22,840 INFO L290 TraceCheckUtils]: 40: Hoare triple {13377#(< ~counter~0 18)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {13377#(< ~counter~0 18)} is VALID [2022-04-28 12:39:22,840 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {13089#true} {13377#(< ~counter~0 18)} #98#return; {13377#(< ~counter~0 18)} is VALID [2022-04-28 12:39:22,840 INFO L290 TraceCheckUtils]: 38: Hoare triple {13089#true} assume true; {13089#true} is VALID [2022-04-28 12:39:22,841 INFO L290 TraceCheckUtils]: 37: Hoare triple {13089#true} assume !(0 == ~cond); {13089#true} is VALID [2022-04-28 12:39:22,841 INFO L290 TraceCheckUtils]: 36: Hoare triple {13089#true} ~cond := #in~cond; {13089#true} is VALID [2022-04-28 12:39:22,841 INFO L272 TraceCheckUtils]: 35: Hoare triple {13377#(< ~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)); {13089#true} is VALID [2022-04-28 12:39:22,841 INFO L290 TraceCheckUtils]: 34: Hoare triple {13377#(< ~counter~0 18)} assume !!(#t~post8 < 20);havoc #t~post8; {13377#(< ~counter~0 18)} is VALID [2022-04-28 12:39:22,841 INFO L290 TraceCheckUtils]: 33: Hoare triple {13402#(< ~counter~0 17)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {13377#(< ~counter~0 18)} is VALID [2022-04-28 12:39:22,842 INFO L290 TraceCheckUtils]: 32: Hoare triple {13402#(< ~counter~0 17)} assume !(~r~0 > 0); {13402#(< ~counter~0 17)} is VALID [2022-04-28 12:39:22,842 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {13089#true} {13402#(< ~counter~0 17)} #96#return; {13402#(< ~counter~0 17)} is VALID [2022-04-28 12:39:22,842 INFO L290 TraceCheckUtils]: 30: Hoare triple {13089#true} assume true; {13089#true} is VALID [2022-04-28 12:39:22,842 INFO L290 TraceCheckUtils]: 29: Hoare triple {13089#true} assume !(0 == ~cond); {13089#true} is VALID [2022-04-28 12:39:22,842 INFO L290 TraceCheckUtils]: 28: Hoare triple {13089#true} ~cond := #in~cond; {13089#true} is VALID [2022-04-28 12:39:22,842 INFO L272 TraceCheckUtils]: 27: Hoare triple {13402#(< ~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)); {13089#true} is VALID [2022-04-28 12:39:22,843 INFO L290 TraceCheckUtils]: 26: Hoare triple {13402#(< ~counter~0 17)} assume !!(#t~post7 < 20);havoc #t~post7; {13402#(< ~counter~0 17)} is VALID [2022-04-28 12:39:22,843 INFO L290 TraceCheckUtils]: 25: Hoare triple {13427#(< ~counter~0 16)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {13402#(< ~counter~0 17)} is VALID [2022-04-28 12:39:22,843 INFO L290 TraceCheckUtils]: 24: Hoare triple {13427#(< ~counter~0 16)} assume !!(0 != ~r~0); {13427#(< ~counter~0 16)} is VALID [2022-04-28 12:39:22,844 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {13089#true} {13427#(< ~counter~0 16)} #94#return; {13427#(< ~counter~0 16)} is VALID [2022-04-28 12:39:22,844 INFO L290 TraceCheckUtils]: 22: Hoare triple {13089#true} assume true; {13089#true} is VALID [2022-04-28 12:39:22,844 INFO L290 TraceCheckUtils]: 21: Hoare triple {13089#true} assume !(0 == ~cond); {13089#true} is VALID [2022-04-28 12:39:22,844 INFO L290 TraceCheckUtils]: 20: Hoare triple {13089#true} ~cond := #in~cond; {13089#true} is VALID [2022-04-28 12:39:22,844 INFO L272 TraceCheckUtils]: 19: Hoare triple {13427#(< ~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)); {13089#true} is VALID [2022-04-28 12:39:22,844 INFO L290 TraceCheckUtils]: 18: Hoare triple {13427#(< ~counter~0 16)} assume !!(#t~post6 < 20);havoc #t~post6; {13427#(< ~counter~0 16)} is VALID [2022-04-28 12:39:22,845 INFO L290 TraceCheckUtils]: 17: Hoare triple {13452#(< ~counter~0 15)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13427#(< ~counter~0 16)} is VALID [2022-04-28 12:39:22,845 INFO L290 TraceCheckUtils]: 16: Hoare triple {13452#(< ~counter~0 15)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {13452#(< ~counter~0 15)} is VALID [2022-04-28 12:39:22,846 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {13089#true} {13452#(< ~counter~0 15)} #92#return; {13452#(< ~counter~0 15)} is VALID [2022-04-28 12:39:22,846 INFO L290 TraceCheckUtils]: 14: Hoare triple {13089#true} assume true; {13089#true} is VALID [2022-04-28 12:39:22,846 INFO L290 TraceCheckUtils]: 13: Hoare triple {13089#true} assume !(0 == ~cond); {13089#true} is VALID [2022-04-28 12:39:22,846 INFO L290 TraceCheckUtils]: 12: Hoare triple {13089#true} ~cond := #in~cond; {13089#true} is VALID [2022-04-28 12:39:22,846 INFO L272 TraceCheckUtils]: 11: Hoare triple {13452#(< ~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)); {13089#true} is VALID [2022-04-28 12:39:22,846 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13089#true} {13452#(< ~counter~0 15)} #90#return; {13452#(< ~counter~0 15)} is VALID [2022-04-28 12:39:22,846 INFO L290 TraceCheckUtils]: 9: Hoare triple {13089#true} assume true; {13089#true} is VALID [2022-04-28 12:39:22,846 INFO L290 TraceCheckUtils]: 8: Hoare triple {13089#true} assume !(0 == ~cond); {13089#true} is VALID [2022-04-28 12:39:22,847 INFO L290 TraceCheckUtils]: 7: Hoare triple {13089#true} ~cond := #in~cond; {13089#true} is VALID [2022-04-28 12:39:22,847 INFO L272 TraceCheckUtils]: 6: Hoare triple {13452#(< ~counter~0 15)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {13089#true} is VALID [2022-04-28 12:39:22,847 INFO L290 TraceCheckUtils]: 5: Hoare triple {13452#(< ~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; {13452#(< ~counter~0 15)} is VALID [2022-04-28 12:39:22,847 INFO L272 TraceCheckUtils]: 4: Hoare triple {13452#(< ~counter~0 15)} call #t~ret9 := main(); {13452#(< ~counter~0 15)} is VALID [2022-04-28 12:39:22,847 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13452#(< ~counter~0 15)} {13089#true} #102#return; {13452#(< ~counter~0 15)} is VALID [2022-04-28 12:39:22,848 INFO L290 TraceCheckUtils]: 2: Hoare triple {13452#(< ~counter~0 15)} assume true; {13452#(< ~counter~0 15)} is VALID [2022-04-28 12:39:22,848 INFO L290 TraceCheckUtils]: 1: Hoare triple {13089#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; {13452#(< ~counter~0 15)} is VALID [2022-04-28 12:39:22,848 INFO L272 TraceCheckUtils]: 0: Hoare triple {13089#true} call ULTIMATE.init(); {13089#true} is VALID [2022-04-28 12:39:22,848 INFO L134 CoverageAnalysis]: Checked inductivity of 72 backedges. 18 proven. 10 refuted. 0 times theorem prover too weak. 44 trivial. 0 not checked. [2022-04-28 12:39:22,849 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:39:22,849 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [440470524] [2022-04-28 12:39:22,849 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:39:22,849 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [249918633] [2022-04-28 12:39:22,849 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [249918633] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:39:22,849 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:39:22,849 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 16 [2022-04-28 12:39:22,849 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:39:22,849 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [456701238] [2022-04-28 12:39:22,849 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [456701238] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:39:22,849 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:39:22,849 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 12:39:22,849 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [824757585] [2022-04-28 12:39:22,850 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:39:22,850 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 5.111111111111111) internal successors, (46), 8 states have internal predecessors, (46), 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 67 [2022-04-28 12:39:22,850 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:39:22,850 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 5.111111111111111) internal successors, (46), 8 states have internal predecessors, (46), 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:39:22,892 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:39:22,892 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 12:39:22,892 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:39:22,892 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 12:39:22,892 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=96, Invalid=144, Unknown=0, NotChecked=0, Total=240 [2022-04-28 12:39:22,893 INFO L87 Difference]: Start difference. First operand 156 states and 199 transitions. Second operand has 9 states, 9 states have (on average 5.111111111111111) internal successors, (46), 8 states have internal predecessors, (46), 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:39:23,282 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:39:23,282 INFO L93 Difference]: Finished difference Result 229 states and 303 transitions. [2022-04-28 12:39:23,282 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 12:39:23,283 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 5.111111111111111) internal successors, (46), 8 states have internal predecessors, (46), 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 67 [2022-04-28 12:39:23,283 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:39:23,283 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 5.111111111111111) internal successors, (46), 8 states have internal predecessors, (46), 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:39:23,292 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 137 transitions. [2022-04-28 12:39:23,292 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 5.111111111111111) internal successors, (46), 8 states have internal predecessors, (46), 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:39:23,294 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 137 transitions. [2022-04-28 12:39:23,294 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 137 transitions. [2022-04-28 12:39:23,385 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:39:23,387 INFO L225 Difference]: With dead ends: 229 [2022-04-28 12:39:23,387 INFO L226 Difference]: Without dead ends: 164 [2022-04-28 12:39:23,387 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 137 GetRequests, 119 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 22 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=152, Invalid=228, Unknown=0, NotChecked=0, Total=380 [2022-04-28 12:39:23,388 INFO L413 NwaCegarLoop]: 45 mSDtfsCounter, 42 mSDsluCounter, 129 mSDsCounter, 0 mSdLazyCounter, 60 mSolverCounterSat, 38 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 42 SdHoareTripleChecker+Valid, 174 SdHoareTripleChecker+Invalid, 98 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 38 IncrementalHoareTripleChecker+Valid, 60 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:39:23,388 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [42 Valid, 174 Invalid, 98 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [38 Valid, 60 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:39:23,388 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 164 states. [2022-04-28 12:39:23,528 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 164 to 164. [2022-04-28 12:39:23,528 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:39:23,528 INFO L82 GeneralOperation]: Start isEquivalent. First operand 164 states. Second operand has 164 states, 123 states have (on average 1.2113821138211383) internal successors, (149), 123 states have internal predecessors, (149), 30 states have call successors, (30), 12 states have call predecessors, (30), 10 states have return successors, (28), 28 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-28 12:39:23,529 INFO L74 IsIncluded]: Start isIncluded. First operand 164 states. Second operand has 164 states, 123 states have (on average 1.2113821138211383) internal successors, (149), 123 states have internal predecessors, (149), 30 states have call successors, (30), 12 states have call predecessors, (30), 10 states have return successors, (28), 28 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-28 12:39:23,529 INFO L87 Difference]: Start difference. First operand 164 states. Second operand has 164 states, 123 states have (on average 1.2113821138211383) internal successors, (149), 123 states have internal predecessors, (149), 30 states have call successors, (30), 12 states have call predecessors, (30), 10 states have return successors, (28), 28 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-28 12:39:23,531 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:39:23,532 INFO L93 Difference]: Finished difference Result 164 states and 207 transitions. [2022-04-28 12:39:23,532 INFO L276 IsEmpty]: Start isEmpty. Operand 164 states and 207 transitions. [2022-04-28 12:39:23,532 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:39:23,532 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:39:23,532 INFO L74 IsIncluded]: Start isIncluded. First operand has 164 states, 123 states have (on average 1.2113821138211383) internal successors, (149), 123 states have internal predecessors, (149), 30 states have call successors, (30), 12 states have call predecessors, (30), 10 states have return successors, (28), 28 states have call predecessors, (28), 28 states have call successors, (28) Second operand 164 states. [2022-04-28 12:39:23,532 INFO L87 Difference]: Start difference. First operand has 164 states, 123 states have (on average 1.2113821138211383) internal successors, (149), 123 states have internal predecessors, (149), 30 states have call successors, (30), 12 states have call predecessors, (30), 10 states have return successors, (28), 28 states have call predecessors, (28), 28 states have call successors, (28) Second operand 164 states. [2022-04-28 12:39:23,535 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:39:23,535 INFO L93 Difference]: Finished difference Result 164 states and 207 transitions. [2022-04-28 12:39:23,535 INFO L276 IsEmpty]: Start isEmpty. Operand 164 states and 207 transitions. [2022-04-28 12:39:23,535 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:39:23,535 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:39:23,535 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:39:23,535 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:39:23,536 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 164 states, 123 states have (on average 1.2113821138211383) internal successors, (149), 123 states have internal predecessors, (149), 30 states have call successors, (30), 12 states have call predecessors, (30), 10 states have return successors, (28), 28 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-28 12:39:23,538 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 164 states to 164 states and 207 transitions. [2022-04-28 12:39:23,539 INFO L78 Accepts]: Start accepts. Automaton has 164 states and 207 transitions. Word has length 67 [2022-04-28 12:39:23,539 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:39:23,539 INFO L495 AbstractCegarLoop]: Abstraction has 164 states and 207 transitions. [2022-04-28 12:39:23,539 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 5.111111111111111) internal successors, (46), 8 states have internal predecessors, (46), 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:39:23,539 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 164 states and 207 transitions. [2022-04-28 12:39:31,421 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 207 edges. 205 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-28 12:39:31,422 INFO L276 IsEmpty]: Start isEmpty. Operand 164 states and 207 transitions. [2022-04-28 12:39:31,422 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 72 [2022-04-28 12:39:31,422 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:39:31,422 INFO L195 NwaCegarLoop]: trace histogram [7, 6, 6, 4, 4, 4, 4, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:39:31,446 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Ended with exit code 0 [2022-04-28 12:39:31,623 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:39:31,623 INFO L420 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:39:31,623 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:39:31,623 INFO L85 PathProgramCache]: Analyzing trace with hash 1645787183, now seen corresponding path program 5 times [2022-04-28 12:39:31,623 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:39:31,623 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1384333412] [2022-04-28 12:39:31,624 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:39:31,624 INFO L85 PathProgramCache]: Analyzing trace with hash 1645787183, now seen corresponding path program 6 times [2022-04-28 12:39:31,624 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:39:31,624 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [569528382] [2022-04-28 12:39:31,624 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:39:31,624 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:39:31,636 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:39:31,636 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [76136240] [2022-04-28 12:39:31,636 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 12:39:31,636 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:39:31,636 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:39:31,637 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:39:31,638 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:39:31,702 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2022-04-28 12:39:31,702 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:39:31,703 INFO L263 TraceCheckSpWp]: Trace formula consists of 195 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-28 12:39:31,717 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:39:31,718 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:39:32,069 INFO L272 TraceCheckUtils]: 0: Hoare triple {14628#true} call ULTIMATE.init(); {14628#true} is VALID [2022-04-28 12:39:32,070 INFO L290 TraceCheckUtils]: 1: Hoare triple {14628#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; {14636#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:32,070 INFO L290 TraceCheckUtils]: 2: Hoare triple {14636#(<= ~counter~0 0)} assume true; {14636#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:32,070 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14636#(<= ~counter~0 0)} {14628#true} #102#return; {14636#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:32,071 INFO L272 TraceCheckUtils]: 4: Hoare triple {14636#(<= ~counter~0 0)} call #t~ret9 := main(); {14636#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:32,071 INFO L290 TraceCheckUtils]: 5: Hoare triple {14636#(<= ~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; {14636#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:32,071 INFO L272 TraceCheckUtils]: 6: Hoare triple {14636#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {14636#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:32,072 INFO L290 TraceCheckUtils]: 7: Hoare triple {14636#(<= ~counter~0 0)} ~cond := #in~cond; {14636#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:32,072 INFO L290 TraceCheckUtils]: 8: Hoare triple {14636#(<= ~counter~0 0)} assume !(0 == ~cond); {14636#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:32,072 INFO L290 TraceCheckUtils]: 9: Hoare triple {14636#(<= ~counter~0 0)} assume true; {14636#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:32,073 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14636#(<= ~counter~0 0)} {14636#(<= ~counter~0 0)} #90#return; {14636#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:32,073 INFO L272 TraceCheckUtils]: 11: Hoare triple {14636#(<= ~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)); {14636#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:32,073 INFO L290 TraceCheckUtils]: 12: Hoare triple {14636#(<= ~counter~0 0)} ~cond := #in~cond; {14636#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:32,074 INFO L290 TraceCheckUtils]: 13: Hoare triple {14636#(<= ~counter~0 0)} assume !(0 == ~cond); {14636#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:32,074 INFO L290 TraceCheckUtils]: 14: Hoare triple {14636#(<= ~counter~0 0)} assume true; {14636#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:32,074 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {14636#(<= ~counter~0 0)} {14636#(<= ~counter~0 0)} #92#return; {14636#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:32,075 INFO L290 TraceCheckUtils]: 16: Hoare triple {14636#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {14636#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:32,075 INFO L290 TraceCheckUtils]: 17: Hoare triple {14636#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14685#(<= ~counter~0 1)} is VALID [2022-04-28 12:39:32,075 INFO L290 TraceCheckUtils]: 18: Hoare triple {14685#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {14685#(<= ~counter~0 1)} is VALID [2022-04-28 12:39:32,076 INFO L272 TraceCheckUtils]: 19: Hoare triple {14685#(<= ~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)); {14685#(<= ~counter~0 1)} is VALID [2022-04-28 12:39:32,076 INFO L290 TraceCheckUtils]: 20: Hoare triple {14685#(<= ~counter~0 1)} ~cond := #in~cond; {14685#(<= ~counter~0 1)} is VALID [2022-04-28 12:39:32,077 INFO L290 TraceCheckUtils]: 21: Hoare triple {14685#(<= ~counter~0 1)} assume !(0 == ~cond); {14685#(<= ~counter~0 1)} is VALID [2022-04-28 12:39:32,077 INFO L290 TraceCheckUtils]: 22: Hoare triple {14685#(<= ~counter~0 1)} assume true; {14685#(<= ~counter~0 1)} is VALID [2022-04-28 12:39:32,077 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {14685#(<= ~counter~0 1)} {14685#(<= ~counter~0 1)} #94#return; {14685#(<= ~counter~0 1)} is VALID [2022-04-28 12:39:32,078 INFO L290 TraceCheckUtils]: 24: Hoare triple {14685#(<= ~counter~0 1)} assume !!(0 != ~r~0); {14685#(<= ~counter~0 1)} is VALID [2022-04-28 12:39:32,078 INFO L290 TraceCheckUtils]: 25: Hoare triple {14685#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {14710#(<= ~counter~0 2)} is VALID [2022-04-28 12:39:32,078 INFO L290 TraceCheckUtils]: 26: Hoare triple {14710#(<= ~counter~0 2)} assume !!(#t~post7 < 20);havoc #t~post7; {14710#(<= ~counter~0 2)} is VALID [2022-04-28 12:39:32,079 INFO L272 TraceCheckUtils]: 27: Hoare triple {14710#(<= ~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)); {14710#(<= ~counter~0 2)} is VALID [2022-04-28 12:39:32,089 INFO L290 TraceCheckUtils]: 28: Hoare triple {14710#(<= ~counter~0 2)} ~cond := #in~cond; {14710#(<= ~counter~0 2)} is VALID [2022-04-28 12:39:32,089 INFO L290 TraceCheckUtils]: 29: Hoare triple {14710#(<= ~counter~0 2)} assume !(0 == ~cond); {14710#(<= ~counter~0 2)} is VALID [2022-04-28 12:39:32,090 INFO L290 TraceCheckUtils]: 30: Hoare triple {14710#(<= ~counter~0 2)} assume true; {14710#(<= ~counter~0 2)} is VALID [2022-04-28 12:39:32,090 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {14710#(<= ~counter~0 2)} {14710#(<= ~counter~0 2)} #96#return; {14710#(<= ~counter~0 2)} is VALID [2022-04-28 12:39:32,091 INFO L290 TraceCheckUtils]: 32: Hoare triple {14710#(<= ~counter~0 2)} assume !(~r~0 > 0); {14710#(<= ~counter~0 2)} is VALID [2022-04-28 12:39:32,091 INFO L290 TraceCheckUtils]: 33: Hoare triple {14710#(<= ~counter~0 2)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {14735#(<= ~counter~0 3)} is VALID [2022-04-28 12:39:32,092 INFO L290 TraceCheckUtils]: 34: Hoare triple {14735#(<= ~counter~0 3)} assume !!(#t~post8 < 20);havoc #t~post8; {14735#(<= ~counter~0 3)} is VALID [2022-04-28 12:39:32,093 INFO L272 TraceCheckUtils]: 35: Hoare triple {14735#(<= ~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)); {14735#(<= ~counter~0 3)} is VALID [2022-04-28 12:39:32,093 INFO L290 TraceCheckUtils]: 36: Hoare triple {14735#(<= ~counter~0 3)} ~cond := #in~cond; {14735#(<= ~counter~0 3)} is VALID [2022-04-28 12:39:32,093 INFO L290 TraceCheckUtils]: 37: Hoare triple {14735#(<= ~counter~0 3)} assume !(0 == ~cond); {14735#(<= ~counter~0 3)} is VALID [2022-04-28 12:39:32,094 INFO L290 TraceCheckUtils]: 38: Hoare triple {14735#(<= ~counter~0 3)} assume true; {14735#(<= ~counter~0 3)} is VALID [2022-04-28 12:39:32,094 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {14735#(<= ~counter~0 3)} {14735#(<= ~counter~0 3)} #98#return; {14735#(<= ~counter~0 3)} is VALID [2022-04-28 12:39:32,094 INFO L290 TraceCheckUtils]: 40: Hoare triple {14735#(<= ~counter~0 3)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {14735#(<= ~counter~0 3)} is VALID [2022-04-28 12:39:32,095 INFO L290 TraceCheckUtils]: 41: Hoare triple {14735#(<= ~counter~0 3)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {14760#(<= ~counter~0 4)} is VALID [2022-04-28 12:39:32,096 INFO L290 TraceCheckUtils]: 42: Hoare triple {14760#(<= ~counter~0 4)} assume !!(#t~post8 < 20);havoc #t~post8; {14760#(<= ~counter~0 4)} is VALID [2022-04-28 12:39:32,096 INFO L272 TraceCheckUtils]: 43: Hoare triple {14760#(<= ~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)); {14760#(<= ~counter~0 4)} is VALID [2022-04-28 12:39:32,096 INFO L290 TraceCheckUtils]: 44: Hoare triple {14760#(<= ~counter~0 4)} ~cond := #in~cond; {14760#(<= ~counter~0 4)} is VALID [2022-04-28 12:39:32,097 INFO L290 TraceCheckUtils]: 45: Hoare triple {14760#(<= ~counter~0 4)} assume !(0 == ~cond); {14760#(<= ~counter~0 4)} is VALID [2022-04-28 12:39:32,097 INFO L290 TraceCheckUtils]: 46: Hoare triple {14760#(<= ~counter~0 4)} assume true; {14760#(<= ~counter~0 4)} is VALID [2022-04-28 12:39:32,097 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {14760#(<= ~counter~0 4)} {14760#(<= ~counter~0 4)} #98#return; {14760#(<= ~counter~0 4)} is VALID [2022-04-28 12:39:32,098 INFO L290 TraceCheckUtils]: 48: Hoare triple {14760#(<= ~counter~0 4)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {14760#(<= ~counter~0 4)} is VALID [2022-04-28 12:39:32,098 INFO L290 TraceCheckUtils]: 49: Hoare triple {14760#(<= ~counter~0 4)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {14785#(<= ~counter~0 5)} is VALID [2022-04-28 12:39:32,099 INFO L290 TraceCheckUtils]: 50: Hoare triple {14785#(<= ~counter~0 5)} assume !!(#t~post8 < 20);havoc #t~post8; {14785#(<= ~counter~0 5)} is VALID [2022-04-28 12:39:32,099 INFO L272 TraceCheckUtils]: 51: Hoare triple {14785#(<= ~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)); {14785#(<= ~counter~0 5)} is VALID [2022-04-28 12:39:32,099 INFO L290 TraceCheckUtils]: 52: Hoare triple {14785#(<= ~counter~0 5)} ~cond := #in~cond; {14785#(<= ~counter~0 5)} is VALID [2022-04-28 12:39:32,100 INFO L290 TraceCheckUtils]: 53: Hoare triple {14785#(<= ~counter~0 5)} assume !(0 == ~cond); {14785#(<= ~counter~0 5)} is VALID [2022-04-28 12:39:32,100 INFO L290 TraceCheckUtils]: 54: Hoare triple {14785#(<= ~counter~0 5)} assume true; {14785#(<= ~counter~0 5)} is VALID [2022-04-28 12:39:32,101 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {14785#(<= ~counter~0 5)} {14785#(<= ~counter~0 5)} #98#return; {14785#(<= ~counter~0 5)} is VALID [2022-04-28 12:39:32,101 INFO L290 TraceCheckUtils]: 56: Hoare triple {14785#(<= ~counter~0 5)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {14785#(<= ~counter~0 5)} is VALID [2022-04-28 12:39:32,101 INFO L290 TraceCheckUtils]: 57: Hoare triple {14785#(<= ~counter~0 5)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {14810#(<= ~counter~0 6)} is VALID [2022-04-28 12:39:32,102 INFO L290 TraceCheckUtils]: 58: Hoare triple {14810#(<= ~counter~0 6)} assume !!(#t~post8 < 20);havoc #t~post8; {14810#(<= ~counter~0 6)} is VALID [2022-04-28 12:39:32,102 INFO L272 TraceCheckUtils]: 59: Hoare triple {14810#(<= ~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)); {14810#(<= ~counter~0 6)} is VALID [2022-04-28 12:39:32,102 INFO L290 TraceCheckUtils]: 60: Hoare triple {14810#(<= ~counter~0 6)} ~cond := #in~cond; {14810#(<= ~counter~0 6)} is VALID [2022-04-28 12:39:32,103 INFO L290 TraceCheckUtils]: 61: Hoare triple {14810#(<= ~counter~0 6)} assume !(0 == ~cond); {14810#(<= ~counter~0 6)} is VALID [2022-04-28 12:39:32,103 INFO L290 TraceCheckUtils]: 62: Hoare triple {14810#(<= ~counter~0 6)} assume true; {14810#(<= ~counter~0 6)} is VALID [2022-04-28 12:39:32,103 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {14810#(<= ~counter~0 6)} {14810#(<= ~counter~0 6)} #98#return; {14810#(<= ~counter~0 6)} is VALID [2022-04-28 12:39:32,104 INFO L290 TraceCheckUtils]: 64: Hoare triple {14810#(<= ~counter~0 6)} assume !(~r~0 < 0); {14810#(<= ~counter~0 6)} is VALID [2022-04-28 12:39:32,104 INFO L290 TraceCheckUtils]: 65: Hoare triple {14810#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14835#(<= |main_#t~post6| 6)} is VALID [2022-04-28 12:39:32,104 INFO L290 TraceCheckUtils]: 66: Hoare triple {14835#(<= |main_#t~post6| 6)} assume !(#t~post6 < 20);havoc #t~post6; {14629#false} is VALID [2022-04-28 12:39:32,105 INFO L272 TraceCheckUtils]: 67: Hoare triple {14629#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)); {14629#false} is VALID [2022-04-28 12:39:32,105 INFO L290 TraceCheckUtils]: 68: Hoare triple {14629#false} ~cond := #in~cond; {14629#false} is VALID [2022-04-28 12:39:32,105 INFO L290 TraceCheckUtils]: 69: Hoare triple {14629#false} assume 0 == ~cond; {14629#false} is VALID [2022-04-28 12:39:32,105 INFO L290 TraceCheckUtils]: 70: Hoare triple {14629#false} assume !false; {14629#false} is VALID [2022-04-28 12:39:32,105 INFO L134 CoverageAnalysis]: Checked inductivity of 102 backedges. 12 proven. 86 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:39:32,105 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:39:32,472 INFO L290 TraceCheckUtils]: 70: Hoare triple {14629#false} assume !false; {14629#false} is VALID [2022-04-28 12:39:32,473 INFO L290 TraceCheckUtils]: 69: Hoare triple {14629#false} assume 0 == ~cond; {14629#false} is VALID [2022-04-28 12:39:32,473 INFO L290 TraceCheckUtils]: 68: Hoare triple {14629#false} ~cond := #in~cond; {14629#false} is VALID [2022-04-28 12:39:32,473 INFO L272 TraceCheckUtils]: 67: Hoare triple {14629#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)); {14629#false} is VALID [2022-04-28 12:39:32,475 INFO L290 TraceCheckUtils]: 66: Hoare triple {14863#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {14629#false} is VALID [2022-04-28 12:39:32,475 INFO L290 TraceCheckUtils]: 65: Hoare triple {14867#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14863#(< |main_#t~post6| 20)} is VALID [2022-04-28 12:39:32,475 INFO L290 TraceCheckUtils]: 64: Hoare triple {14867#(< ~counter~0 20)} assume !(~r~0 < 0); {14867#(< ~counter~0 20)} is VALID [2022-04-28 12:39:32,476 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {14628#true} {14867#(< ~counter~0 20)} #98#return; {14867#(< ~counter~0 20)} is VALID [2022-04-28 12:39:32,476 INFO L290 TraceCheckUtils]: 62: Hoare triple {14628#true} assume true; {14628#true} is VALID [2022-04-28 12:39:32,476 INFO L290 TraceCheckUtils]: 61: Hoare triple {14628#true} assume !(0 == ~cond); {14628#true} is VALID [2022-04-28 12:39:32,476 INFO L290 TraceCheckUtils]: 60: Hoare triple {14628#true} ~cond := #in~cond; {14628#true} is VALID [2022-04-28 12:39:32,476 INFO L272 TraceCheckUtils]: 59: Hoare triple {14867#(< ~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)); {14628#true} is VALID [2022-04-28 12:39:32,477 INFO L290 TraceCheckUtils]: 58: Hoare triple {14867#(< ~counter~0 20)} assume !!(#t~post8 < 20);havoc #t~post8; {14867#(< ~counter~0 20)} is VALID [2022-04-28 12:39:32,477 INFO L290 TraceCheckUtils]: 57: Hoare triple {14892#(< ~counter~0 19)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {14867#(< ~counter~0 20)} is VALID [2022-04-28 12:39:32,477 INFO L290 TraceCheckUtils]: 56: Hoare triple {14892#(< ~counter~0 19)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {14892#(< ~counter~0 19)} is VALID [2022-04-28 12:39:32,478 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {14628#true} {14892#(< ~counter~0 19)} #98#return; {14892#(< ~counter~0 19)} is VALID [2022-04-28 12:39:32,478 INFO L290 TraceCheckUtils]: 54: Hoare triple {14628#true} assume true; {14628#true} is VALID [2022-04-28 12:39:32,478 INFO L290 TraceCheckUtils]: 53: Hoare triple {14628#true} assume !(0 == ~cond); {14628#true} is VALID [2022-04-28 12:39:32,478 INFO L290 TraceCheckUtils]: 52: Hoare triple {14628#true} ~cond := #in~cond; {14628#true} is VALID [2022-04-28 12:39:32,478 INFO L272 TraceCheckUtils]: 51: Hoare triple {14892#(< ~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)); {14628#true} is VALID [2022-04-28 12:39:32,478 INFO L290 TraceCheckUtils]: 50: Hoare triple {14892#(< ~counter~0 19)} assume !!(#t~post8 < 20);havoc #t~post8; {14892#(< ~counter~0 19)} is VALID [2022-04-28 12:39:32,479 INFO L290 TraceCheckUtils]: 49: Hoare triple {14917#(< ~counter~0 18)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {14892#(< ~counter~0 19)} is VALID [2022-04-28 12:39:32,479 INFO L290 TraceCheckUtils]: 48: Hoare triple {14917#(< ~counter~0 18)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {14917#(< ~counter~0 18)} is VALID [2022-04-28 12:39:32,480 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {14628#true} {14917#(< ~counter~0 18)} #98#return; {14917#(< ~counter~0 18)} is VALID [2022-04-28 12:39:32,480 INFO L290 TraceCheckUtils]: 46: Hoare triple {14628#true} assume true; {14628#true} is VALID [2022-04-28 12:39:32,480 INFO L290 TraceCheckUtils]: 45: Hoare triple {14628#true} assume !(0 == ~cond); {14628#true} is VALID [2022-04-28 12:39:32,480 INFO L290 TraceCheckUtils]: 44: Hoare triple {14628#true} ~cond := #in~cond; {14628#true} is VALID [2022-04-28 12:39:32,480 INFO L272 TraceCheckUtils]: 43: Hoare triple {14917#(< ~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)); {14628#true} is VALID [2022-04-28 12:39:32,480 INFO L290 TraceCheckUtils]: 42: Hoare triple {14917#(< ~counter~0 18)} assume !!(#t~post8 < 20);havoc #t~post8; {14917#(< ~counter~0 18)} is VALID [2022-04-28 12:39:32,481 INFO L290 TraceCheckUtils]: 41: Hoare triple {14942#(< ~counter~0 17)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {14917#(< ~counter~0 18)} is VALID [2022-04-28 12:39:32,481 INFO L290 TraceCheckUtils]: 40: Hoare triple {14942#(< ~counter~0 17)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {14942#(< ~counter~0 17)} is VALID [2022-04-28 12:39:32,481 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {14628#true} {14942#(< ~counter~0 17)} #98#return; {14942#(< ~counter~0 17)} is VALID [2022-04-28 12:39:32,482 INFO L290 TraceCheckUtils]: 38: Hoare triple {14628#true} assume true; {14628#true} is VALID [2022-04-28 12:39:32,482 INFO L290 TraceCheckUtils]: 37: Hoare triple {14628#true} assume !(0 == ~cond); {14628#true} is VALID [2022-04-28 12:39:32,482 INFO L290 TraceCheckUtils]: 36: Hoare triple {14628#true} ~cond := #in~cond; {14628#true} is VALID [2022-04-28 12:39:32,482 INFO L272 TraceCheckUtils]: 35: Hoare triple {14942#(< ~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)); {14628#true} is VALID [2022-04-28 12:39:32,482 INFO L290 TraceCheckUtils]: 34: Hoare triple {14942#(< ~counter~0 17)} assume !!(#t~post8 < 20);havoc #t~post8; {14942#(< ~counter~0 17)} is VALID [2022-04-28 12:39:32,482 INFO L290 TraceCheckUtils]: 33: Hoare triple {14967#(< ~counter~0 16)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {14942#(< ~counter~0 17)} is VALID [2022-04-28 12:39:32,483 INFO L290 TraceCheckUtils]: 32: Hoare triple {14967#(< ~counter~0 16)} assume !(~r~0 > 0); {14967#(< ~counter~0 16)} is VALID [2022-04-28 12:39:32,483 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {14628#true} {14967#(< ~counter~0 16)} #96#return; {14967#(< ~counter~0 16)} is VALID [2022-04-28 12:39:32,483 INFO L290 TraceCheckUtils]: 30: Hoare triple {14628#true} assume true; {14628#true} is VALID [2022-04-28 12:39:32,483 INFO L290 TraceCheckUtils]: 29: Hoare triple {14628#true} assume !(0 == ~cond); {14628#true} is VALID [2022-04-28 12:39:32,483 INFO L290 TraceCheckUtils]: 28: Hoare triple {14628#true} ~cond := #in~cond; {14628#true} is VALID [2022-04-28 12:39:32,484 INFO L272 TraceCheckUtils]: 27: Hoare triple {14967#(< ~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)); {14628#true} is VALID [2022-04-28 12:39:32,484 INFO L290 TraceCheckUtils]: 26: Hoare triple {14967#(< ~counter~0 16)} assume !!(#t~post7 < 20);havoc #t~post7; {14967#(< ~counter~0 16)} is VALID [2022-04-28 12:39:32,484 INFO L290 TraceCheckUtils]: 25: Hoare triple {14992#(< ~counter~0 15)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {14967#(< ~counter~0 16)} is VALID [2022-04-28 12:39:32,484 INFO L290 TraceCheckUtils]: 24: Hoare triple {14992#(< ~counter~0 15)} assume !!(0 != ~r~0); {14992#(< ~counter~0 15)} is VALID [2022-04-28 12:39:32,485 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {14628#true} {14992#(< ~counter~0 15)} #94#return; {14992#(< ~counter~0 15)} is VALID [2022-04-28 12:39:32,485 INFO L290 TraceCheckUtils]: 22: Hoare triple {14628#true} assume true; {14628#true} is VALID [2022-04-28 12:39:32,485 INFO L290 TraceCheckUtils]: 21: Hoare triple {14628#true} assume !(0 == ~cond); {14628#true} is VALID [2022-04-28 12:39:32,485 INFO L290 TraceCheckUtils]: 20: Hoare triple {14628#true} ~cond := #in~cond; {14628#true} is VALID [2022-04-28 12:39:32,485 INFO L272 TraceCheckUtils]: 19: Hoare triple {14992#(< ~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)); {14628#true} is VALID [2022-04-28 12:39:32,486 INFO L290 TraceCheckUtils]: 18: Hoare triple {14992#(< ~counter~0 15)} assume !!(#t~post6 < 20);havoc #t~post6; {14992#(< ~counter~0 15)} is VALID [2022-04-28 12:39:32,486 INFO L290 TraceCheckUtils]: 17: Hoare triple {15017#(< ~counter~0 14)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14992#(< ~counter~0 15)} is VALID [2022-04-28 12:39:32,486 INFO L290 TraceCheckUtils]: 16: Hoare triple {15017#(< ~counter~0 14)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {15017#(< ~counter~0 14)} is VALID [2022-04-28 12:39:32,487 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {14628#true} {15017#(< ~counter~0 14)} #92#return; {15017#(< ~counter~0 14)} is VALID [2022-04-28 12:39:32,487 INFO L290 TraceCheckUtils]: 14: Hoare triple {14628#true} assume true; {14628#true} is VALID [2022-04-28 12:39:32,487 INFO L290 TraceCheckUtils]: 13: Hoare triple {14628#true} assume !(0 == ~cond); {14628#true} is VALID [2022-04-28 12:39:32,487 INFO L290 TraceCheckUtils]: 12: Hoare triple {14628#true} ~cond := #in~cond; {14628#true} is VALID [2022-04-28 12:39:32,487 INFO L272 TraceCheckUtils]: 11: Hoare triple {15017#(< ~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)); {14628#true} is VALID [2022-04-28 12:39:32,487 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14628#true} {15017#(< ~counter~0 14)} #90#return; {15017#(< ~counter~0 14)} is VALID [2022-04-28 12:39:32,487 INFO L290 TraceCheckUtils]: 9: Hoare triple {14628#true} assume true; {14628#true} is VALID [2022-04-28 12:39:32,488 INFO L290 TraceCheckUtils]: 8: Hoare triple {14628#true} assume !(0 == ~cond); {14628#true} is VALID [2022-04-28 12:39:32,488 INFO L290 TraceCheckUtils]: 7: Hoare triple {14628#true} ~cond := #in~cond; {14628#true} is VALID [2022-04-28 12:39:32,488 INFO L272 TraceCheckUtils]: 6: Hoare triple {15017#(< ~counter~0 14)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {14628#true} is VALID [2022-04-28 12:39:32,488 INFO L290 TraceCheckUtils]: 5: Hoare triple {15017#(< ~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; {15017#(< ~counter~0 14)} is VALID [2022-04-28 12:39:32,488 INFO L272 TraceCheckUtils]: 4: Hoare triple {15017#(< ~counter~0 14)} call #t~ret9 := main(); {15017#(< ~counter~0 14)} is VALID [2022-04-28 12:39:32,489 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15017#(< ~counter~0 14)} {14628#true} #102#return; {15017#(< ~counter~0 14)} is VALID [2022-04-28 12:39:32,489 INFO L290 TraceCheckUtils]: 2: Hoare triple {15017#(< ~counter~0 14)} assume true; {15017#(< ~counter~0 14)} is VALID [2022-04-28 12:39:32,489 INFO L290 TraceCheckUtils]: 1: Hoare triple {14628#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; {15017#(< ~counter~0 14)} is VALID [2022-04-28 12:39:32,489 INFO L272 TraceCheckUtils]: 0: Hoare triple {14628#true} call ULTIMATE.init(); {14628#true} is VALID [2022-04-28 12:39:32,490 INFO L134 CoverageAnalysis]: Checked inductivity of 102 backedges. 12 proven. 26 refuted. 0 times theorem prover too weak. 64 trivial. 0 not checked. [2022-04-28 12:39:32,490 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:39:32,490 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [569528382] [2022-04-28 12:39:32,490 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:39:32,490 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [76136240] [2022-04-28 12:39:32,490 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [76136240] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:39:32,490 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:39:32,490 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 18 [2022-04-28 12:39:32,490 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:39:32,490 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1384333412] [2022-04-28 12:39:32,490 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1384333412] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:39:32,490 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:39:32,491 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 12:39:32,491 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [951229199] [2022-04-28 12:39:32,491 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:39:32,491 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 4.8) internal successors, (48), 9 states have internal predecessors, (48), 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 71 [2022-04-28 12:39:32,491 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:39:32,491 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 4.8) internal successors, (48), 9 states have internal predecessors, (48), 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:39:32,534 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:39:32,535 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 12:39:32,535 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:39:32,535 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 12:39:32,535 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=125, Invalid=181, Unknown=0, NotChecked=0, Total=306 [2022-04-28 12:39:32,535 INFO L87 Difference]: Start difference. First operand 164 states and 207 transitions. Second operand has 10 states, 10 states have (on average 4.8) internal successors, (48), 9 states have internal predecessors, (48), 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:39:33,010 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:39:33,010 INFO L93 Difference]: Finished difference Result 202 states and 256 transitions. [2022-04-28 12:39:33,010 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 12:39:33,010 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 4.8) internal successors, (48), 9 states have internal predecessors, (48), 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 71 [2022-04-28 12:39:33,010 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:39:33,010 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 4.8) internal successors, (48), 9 states have internal predecessors, (48), 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:39:33,011 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 135 transitions. [2022-04-28 12:39:33,012 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 4.8) internal successors, (48), 9 states have internal predecessors, (48), 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:39:33,013 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 135 transitions. [2022-04-28 12:39:33,013 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 135 transitions. [2022-04-28 12:39:33,116 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:39:33,119 INFO L225 Difference]: With dead ends: 202 [2022-04-28 12:39:33,119 INFO L226 Difference]: Without dead ends: 197 [2022-04-28 12:39:33,119 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 144 GetRequests, 125 SyntacticMatches, 0 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 22 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=170, Invalid=250, Unknown=0, NotChecked=0, Total=420 [2022-04-28 12:39:33,119 INFO L413 NwaCegarLoop]: 48 mSDtfsCounter, 73 mSDsluCounter, 133 mSDsCounter, 0 mSdLazyCounter, 65 mSolverCounterSat, 60 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 73 SdHoareTripleChecker+Valid, 181 SdHoareTripleChecker+Invalid, 125 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 60 IncrementalHoareTripleChecker+Valid, 65 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:39:33,120 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [73 Valid, 181 Invalid, 125 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [60 Valid, 65 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:39:33,120 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 197 states. [2022-04-28 12:39:33,248 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 197 to 185. [2022-04-28 12:39:33,249 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:39:33,249 INFO L82 GeneralOperation]: Start isEquivalent. First operand 197 states. Second operand has 185 states, 135 states have (on average 1.2074074074074075) internal successors, (163), 140 states have internal predecessors, (163), 37 states have call successors, (37), 14 states have call predecessors, (37), 12 states have return successors, (35), 30 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-28 12:39:33,249 INFO L74 IsIncluded]: Start isIncluded. First operand 197 states. Second operand has 185 states, 135 states have (on average 1.2074074074074075) internal successors, (163), 140 states have internal predecessors, (163), 37 states have call successors, (37), 14 states have call predecessors, (37), 12 states have return successors, (35), 30 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-28 12:39:33,249 INFO L87 Difference]: Start difference. First operand 197 states. Second operand has 185 states, 135 states have (on average 1.2074074074074075) internal successors, (163), 140 states have internal predecessors, (163), 37 states have call successors, (37), 14 states have call predecessors, (37), 12 states have return successors, (35), 30 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-28 12:39:33,252 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:39:33,252 INFO L93 Difference]: Finished difference Result 197 states and 250 transitions. [2022-04-28 12:39:33,253 INFO L276 IsEmpty]: Start isEmpty. Operand 197 states and 250 transitions. [2022-04-28 12:39:33,253 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:39:33,253 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:39:33,253 INFO L74 IsIncluded]: Start isIncluded. First operand has 185 states, 135 states have (on average 1.2074074074074075) internal successors, (163), 140 states have internal predecessors, (163), 37 states have call successors, (37), 14 states have call predecessors, (37), 12 states have return successors, (35), 30 states have call predecessors, (35), 35 states have call successors, (35) Second operand 197 states. [2022-04-28 12:39:33,254 INFO L87 Difference]: Start difference. First operand has 185 states, 135 states have (on average 1.2074074074074075) internal successors, (163), 140 states have internal predecessors, (163), 37 states have call successors, (37), 14 states have call predecessors, (37), 12 states have return successors, (35), 30 states have call predecessors, (35), 35 states have call successors, (35) Second operand 197 states. [2022-04-28 12:39:33,259 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:39:33,259 INFO L93 Difference]: Finished difference Result 197 states and 250 transitions. [2022-04-28 12:39:33,259 INFO L276 IsEmpty]: Start isEmpty. Operand 197 states and 250 transitions. [2022-04-28 12:39:33,259 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:39:33,260 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:39:33,260 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:39:33,260 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:39:33,260 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 185 states, 135 states have (on average 1.2074074074074075) internal successors, (163), 140 states have internal predecessors, (163), 37 states have call successors, (37), 14 states have call predecessors, (37), 12 states have return successors, (35), 30 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-28 12:39:33,263 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 185 states to 185 states and 235 transitions. [2022-04-28 12:39:33,263 INFO L78 Accepts]: Start accepts. Automaton has 185 states and 235 transitions. Word has length 71 [2022-04-28 12:39:33,264 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:39:33,265 INFO L495 AbstractCegarLoop]: Abstraction has 185 states and 235 transitions. [2022-04-28 12:39:33,265 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 4.8) internal successors, (48), 9 states have internal predecessors, (48), 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:39:33,265 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 185 states and 235 transitions. [2022-04-28 12:39:40,964 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 235 edges. 233 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-28 12:39:40,964 INFO L276 IsEmpty]: Start isEmpty. Operand 185 states and 235 transitions. [2022-04-28 12:39:40,965 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 74 [2022-04-28 12:39:40,965 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:39:40,965 INFO L195 NwaCegarLoop]: trace histogram [7, 6, 6, 3, 3, 2, 2, 2, 2, 2, 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, 1, 1, 1] [2022-04-28 12:39:40,981 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Forceful destruction successful, exit code 0 [2022-04-28 12:39:41,176 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:39:41,177 INFO L420 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:39:41,177 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:39:41,177 INFO L85 PathProgramCache]: Analyzing trace with hash -15963768, now seen corresponding path program 1 times [2022-04-28 12:39:41,177 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:39:41,177 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2080649322] [2022-04-28 12:39:41,177 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:39:41,177 INFO L85 PathProgramCache]: Analyzing trace with hash -15963768, now seen corresponding path program 2 times [2022-04-28 12:39:41,177 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:39:41,177 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [263595254] [2022-04-28 12:39:41,178 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:39:41,178 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:39:41,188 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:39:41,188 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [985521523] [2022-04-28 12:39:41,188 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:39:41,188 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:39:41,188 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:39:41,192 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:39:41,193 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:39:41,239 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:39:41,239 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:39:41,240 INFO L263 TraceCheckSpWp]: Trace formula consists of 192 conjuncts, 3 conjunts are in the unsatisfiable core [2022-04-28 12:39:41,249 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:39:41,250 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:39:41,432 INFO L272 TraceCheckUtils]: 0: Hoare triple {16245#true} call ULTIMATE.init(); {16245#true} is VALID [2022-04-28 12:39:41,432 INFO L290 TraceCheckUtils]: 1: Hoare triple {16245#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; {16245#true} is VALID [2022-04-28 12:39:41,432 INFO L290 TraceCheckUtils]: 2: Hoare triple {16245#true} assume true; {16245#true} is VALID [2022-04-28 12:39:41,433 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16245#true} {16245#true} #102#return; {16245#true} is VALID [2022-04-28 12:39:41,433 INFO L272 TraceCheckUtils]: 4: Hoare triple {16245#true} call #t~ret9 := main(); {16245#true} is VALID [2022-04-28 12:39:41,433 INFO L290 TraceCheckUtils]: 5: Hoare triple {16245#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; {16245#true} is VALID [2022-04-28 12:39:41,433 INFO L272 TraceCheckUtils]: 6: Hoare triple {16245#true} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {16245#true} is VALID [2022-04-28 12:39:41,433 INFO L290 TraceCheckUtils]: 7: Hoare triple {16245#true} ~cond := #in~cond; {16245#true} is VALID [2022-04-28 12:39:41,433 INFO L290 TraceCheckUtils]: 8: Hoare triple {16245#true} assume !(0 == ~cond); {16245#true} is VALID [2022-04-28 12:39:41,433 INFO L290 TraceCheckUtils]: 9: Hoare triple {16245#true} assume true; {16245#true} is VALID [2022-04-28 12:39:41,433 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16245#true} {16245#true} #90#return; {16245#true} is VALID [2022-04-28 12:39:41,433 INFO L272 TraceCheckUtils]: 11: Hoare triple {16245#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)); {16245#true} is VALID [2022-04-28 12:39:41,433 INFO L290 TraceCheckUtils]: 12: Hoare triple {16245#true} ~cond := #in~cond; {16245#true} is VALID [2022-04-28 12:39:41,433 INFO L290 TraceCheckUtils]: 13: Hoare triple {16245#true} assume !(0 == ~cond); {16245#true} is VALID [2022-04-28 12:39:41,433 INFO L290 TraceCheckUtils]: 14: Hoare triple {16245#true} assume true; {16245#true} is VALID [2022-04-28 12:39:41,433 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {16245#true} {16245#true} #92#return; {16245#true} is VALID [2022-04-28 12:39:41,433 INFO L290 TraceCheckUtils]: 16: Hoare triple {16245#true} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {16245#true} is VALID [2022-04-28 12:39:41,434 INFO L290 TraceCheckUtils]: 17: Hoare triple {16245#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16245#true} is VALID [2022-04-28 12:39:41,434 INFO L290 TraceCheckUtils]: 18: Hoare triple {16245#true} assume !!(#t~post6 < 20);havoc #t~post6; {16245#true} is VALID [2022-04-28 12:39:41,434 INFO L272 TraceCheckUtils]: 19: Hoare triple {16245#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)); {16245#true} is VALID [2022-04-28 12:39:41,434 INFO L290 TraceCheckUtils]: 20: Hoare triple {16245#true} ~cond := #in~cond; {16245#true} is VALID [2022-04-28 12:39:41,434 INFO L290 TraceCheckUtils]: 21: Hoare triple {16245#true} assume !(0 == ~cond); {16245#true} is VALID [2022-04-28 12:39:41,434 INFO L290 TraceCheckUtils]: 22: Hoare triple {16245#true} assume true; {16245#true} is VALID [2022-04-28 12:39:41,434 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {16245#true} {16245#true} #94#return; {16245#true} is VALID [2022-04-28 12:39:41,434 INFO L290 TraceCheckUtils]: 24: Hoare triple {16245#true} assume !!(0 != ~r~0); {16245#true} is VALID [2022-04-28 12:39:41,434 INFO L290 TraceCheckUtils]: 25: Hoare triple {16245#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {16245#true} is VALID [2022-04-28 12:39:41,434 INFO L290 TraceCheckUtils]: 26: Hoare triple {16245#true} assume !!(#t~post7 < 20);havoc #t~post7; {16245#true} is VALID [2022-04-28 12:39:41,434 INFO L272 TraceCheckUtils]: 27: Hoare triple {16245#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)); {16245#true} is VALID [2022-04-28 12:39:41,434 INFO L290 TraceCheckUtils]: 28: Hoare triple {16245#true} ~cond := #in~cond; {16245#true} is VALID [2022-04-28 12:39:41,434 INFO L290 TraceCheckUtils]: 29: Hoare triple {16245#true} assume !(0 == ~cond); {16245#true} is VALID [2022-04-28 12:39:41,434 INFO L290 TraceCheckUtils]: 30: Hoare triple {16245#true} assume true; {16245#true} is VALID [2022-04-28 12:39:41,435 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {16245#true} {16245#true} #96#return; {16245#true} is VALID [2022-04-28 12:39:41,435 INFO L290 TraceCheckUtils]: 32: Hoare triple {16245#true} assume !(~r~0 > 0); {16245#true} is VALID [2022-04-28 12:39:41,435 INFO L290 TraceCheckUtils]: 33: Hoare triple {16245#true} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {16245#true} is VALID [2022-04-28 12:39:41,435 INFO L290 TraceCheckUtils]: 34: Hoare triple {16245#true} assume !!(#t~post8 < 20);havoc #t~post8; {16245#true} is VALID [2022-04-28 12:39:41,435 INFO L272 TraceCheckUtils]: 35: Hoare triple {16245#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)); {16245#true} is VALID [2022-04-28 12:39:41,435 INFO L290 TraceCheckUtils]: 36: Hoare triple {16245#true} ~cond := #in~cond; {16245#true} is VALID [2022-04-28 12:39:41,435 INFO L290 TraceCheckUtils]: 37: Hoare triple {16245#true} assume !(0 == ~cond); {16245#true} is VALID [2022-04-28 12:39:41,435 INFO L290 TraceCheckUtils]: 38: Hoare triple {16245#true} assume true; {16245#true} is VALID [2022-04-28 12:39:41,435 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {16245#true} {16245#true} #98#return; {16245#true} is VALID [2022-04-28 12:39:41,435 INFO L290 TraceCheckUtils]: 40: Hoare triple {16245#true} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {16245#true} is VALID [2022-04-28 12:39:41,435 INFO L290 TraceCheckUtils]: 41: Hoare triple {16245#true} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {16245#true} is VALID [2022-04-28 12:39:41,435 INFO L290 TraceCheckUtils]: 42: Hoare triple {16245#true} assume !!(#t~post8 < 20);havoc #t~post8; {16245#true} is VALID [2022-04-28 12:39:41,435 INFO L272 TraceCheckUtils]: 43: Hoare triple {16245#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)); {16245#true} is VALID [2022-04-28 12:39:41,436 INFO L290 TraceCheckUtils]: 44: Hoare triple {16245#true} ~cond := #in~cond; {16245#true} is VALID [2022-04-28 12:39:41,436 INFO L290 TraceCheckUtils]: 45: Hoare triple {16245#true} assume !(0 == ~cond); {16245#true} is VALID [2022-04-28 12:39:41,436 INFO L290 TraceCheckUtils]: 46: Hoare triple {16245#true} assume true; {16245#true} is VALID [2022-04-28 12:39:41,436 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {16245#true} {16245#true} #98#return; {16245#true} is VALID [2022-04-28 12:39:41,436 INFO L290 TraceCheckUtils]: 48: Hoare triple {16245#true} assume !(~r~0 < 0); {16394#(not (< main_~r~0 0))} is VALID [2022-04-28 12:39:41,436 INFO L290 TraceCheckUtils]: 49: Hoare triple {16394#(not (< main_~r~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16394#(not (< main_~r~0 0))} is VALID [2022-04-28 12:39:41,437 INFO L290 TraceCheckUtils]: 50: Hoare triple {16394#(not (< main_~r~0 0))} assume !!(#t~post6 < 20);havoc #t~post6; {16394#(not (< main_~r~0 0))} is VALID [2022-04-28 12:39:41,437 INFO L272 TraceCheckUtils]: 51: Hoare triple {16394#(not (< main_~r~0 0))} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {16245#true} is VALID [2022-04-28 12:39:41,437 INFO L290 TraceCheckUtils]: 52: Hoare triple {16245#true} ~cond := #in~cond; {16245#true} is VALID [2022-04-28 12:39:41,437 INFO L290 TraceCheckUtils]: 53: Hoare triple {16245#true} assume !(0 == ~cond); {16245#true} is VALID [2022-04-28 12:39:41,437 INFO L290 TraceCheckUtils]: 54: Hoare triple {16245#true} assume true; {16245#true} is VALID [2022-04-28 12:39:41,437 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {16245#true} {16394#(not (< main_~r~0 0))} #94#return; {16394#(not (< main_~r~0 0))} is VALID [2022-04-28 12:39:41,438 INFO L290 TraceCheckUtils]: 56: Hoare triple {16394#(not (< main_~r~0 0))} assume !!(0 != ~r~0); {16419#(and (not (= main_~r~0 0)) (not (< main_~r~0 0)))} is VALID [2022-04-28 12:39:41,438 INFO L290 TraceCheckUtils]: 57: Hoare triple {16419#(and (not (= main_~r~0 0)) (not (< main_~r~0 0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {16419#(and (not (= main_~r~0 0)) (not (< main_~r~0 0)))} is VALID [2022-04-28 12:39:41,438 INFO L290 TraceCheckUtils]: 58: Hoare triple {16419#(and (not (= main_~r~0 0)) (not (< main_~r~0 0)))} assume !!(#t~post7 < 20);havoc #t~post7; {16419#(and (not (= main_~r~0 0)) (not (< main_~r~0 0)))} is VALID [2022-04-28 12:39:41,439 INFO L272 TraceCheckUtils]: 59: Hoare triple {16419#(and (not (= main_~r~0 0)) (not (< main_~r~0 0)))} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {16245#true} is VALID [2022-04-28 12:39:41,439 INFO L290 TraceCheckUtils]: 60: Hoare triple {16245#true} ~cond := #in~cond; {16245#true} is VALID [2022-04-28 12:39:41,439 INFO L290 TraceCheckUtils]: 61: Hoare triple {16245#true} assume !(0 == ~cond); {16245#true} is VALID [2022-04-28 12:39:41,439 INFO L290 TraceCheckUtils]: 62: Hoare triple {16245#true} assume true; {16245#true} is VALID [2022-04-28 12:39:41,439 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {16245#true} {16419#(and (not (= main_~r~0 0)) (not (< main_~r~0 0)))} #96#return; {16419#(and (not (= main_~r~0 0)) (not (< main_~r~0 0)))} is VALID [2022-04-28 12:39:41,440 INFO L290 TraceCheckUtils]: 64: Hoare triple {16419#(and (not (= main_~r~0 0)) (not (< main_~r~0 0)))} assume !(~r~0 > 0); {16246#false} is VALID [2022-04-28 12:39:41,440 INFO L290 TraceCheckUtils]: 65: Hoare triple {16246#false} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {16246#false} is VALID [2022-04-28 12:39:41,440 INFO L290 TraceCheckUtils]: 66: Hoare triple {16246#false} assume !(#t~post8 < 20);havoc #t~post8; {16246#false} is VALID [2022-04-28 12:39:41,440 INFO L290 TraceCheckUtils]: 67: Hoare triple {16246#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16246#false} is VALID [2022-04-28 12:39:41,440 INFO L290 TraceCheckUtils]: 68: Hoare triple {16246#false} assume !(#t~post6 < 20);havoc #t~post6; {16246#false} is VALID [2022-04-28 12:39:41,440 INFO L272 TraceCheckUtils]: 69: Hoare triple {16246#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)); {16246#false} is VALID [2022-04-28 12:39:41,440 INFO L290 TraceCheckUtils]: 70: Hoare triple {16246#false} ~cond := #in~cond; {16246#false} is VALID [2022-04-28 12:39:41,440 INFO L290 TraceCheckUtils]: 71: Hoare triple {16246#false} assume 0 == ~cond; {16246#false} is VALID [2022-04-28 12:39:41,440 INFO L290 TraceCheckUtils]: 72: Hoare triple {16246#false} assume !false; {16246#false} is VALID [2022-04-28 12:39:41,440 INFO L134 CoverageAnalysis]: Checked inductivity of 96 backedges. 28 proven. 0 refuted. 0 times theorem prover too weak. 68 trivial. 0 not checked. [2022-04-28 12:39:41,440 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:39:41,441 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:39:41,441 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [263595254] [2022-04-28 12:39:41,441 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:39:41,441 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [985521523] [2022-04-28 12:39:41,441 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [985521523] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:39:41,441 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:39:41,441 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-28 12:39:41,441 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:39:41,441 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2080649322] [2022-04-28 12:39:41,441 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2080649322] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:39:41,441 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:39:41,442 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-28 12:39:41,442 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2059200870] [2022-04-28 12:39:41,442 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:39:41,442 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 8.25) internal successors, (33), 4 states have internal predecessors, (33), 4 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) Word has length 73 [2022-04-28 12:39:41,442 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:39:41,442 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 8.25) internal successors, (33), 4 states have internal predecessors, (33), 4 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-28 12:39:41,473 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:39:41,474 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-28 12:39:41,474 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:39:41,474 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-28 12:39:41,474 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2022-04-28 12:39:41,474 INFO L87 Difference]: Start difference. First operand 185 states and 235 transitions. Second operand has 4 states, 4 states have (on average 8.25) internal successors, (33), 4 states have internal predecessors, (33), 4 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-28 12:39:41,730 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:39:41,730 INFO L93 Difference]: Finished difference Result 284 states and 382 transitions. [2022-04-28 12:39:41,730 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-28 12:39:41,730 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 8.25) internal successors, (33), 4 states have internal predecessors, (33), 4 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) Word has length 73 [2022-04-28 12:39:41,730 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:39:41,730 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 8.25) internal successors, (33), 4 states have internal predecessors, (33), 4 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-28 12:39:41,731 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 94 transitions. [2022-04-28 12:39:41,731 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 8.25) internal successors, (33), 4 states have internal predecessors, (33), 4 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-28 12:39:41,732 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 94 transitions. [2022-04-28 12:39:41,732 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 94 transitions. [2022-04-28 12:39:41,798 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 94 edges. 94 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:39:41,802 INFO L225 Difference]: With dead ends: 284 [2022-04-28 12:39:41,802 INFO L226 Difference]: Without dead ends: 219 [2022-04-28 12:39:41,802 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 72 GetRequests, 70 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2022-04-28 12:39:41,803 INFO L413 NwaCegarLoop]: 60 mSDtfsCounter, 17 mSDsluCounter, 34 mSDsCounter, 0 mSdLazyCounter, 20 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 94 SdHoareTripleChecker+Invalid, 23 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 20 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:39:41,803 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [19 Valid, 94 Invalid, 23 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 20 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:39:41,804 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 219 states. [2022-04-28 12:39:42,005 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 219 to 208. [2022-04-28 12:39:42,005 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:39:42,006 INFO L82 GeneralOperation]: Start isEquivalent. First operand 219 states. Second operand has 208 states, 152 states have (on average 1.2236842105263157) internal successors, (186), 158 states have internal predecessors, (186), 43 states have call successors, (43), 14 states have call predecessors, (43), 12 states have return successors, (41), 35 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-28 12:39:42,006 INFO L74 IsIncluded]: Start isIncluded. First operand 219 states. Second operand has 208 states, 152 states have (on average 1.2236842105263157) internal successors, (186), 158 states have internal predecessors, (186), 43 states have call successors, (43), 14 states have call predecessors, (43), 12 states have return successors, (41), 35 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-28 12:39:42,006 INFO L87 Difference]: Start difference. First operand 219 states. Second operand has 208 states, 152 states have (on average 1.2236842105263157) internal successors, (186), 158 states have internal predecessors, (186), 43 states have call successors, (43), 14 states have call predecessors, (43), 12 states have return successors, (41), 35 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-28 12:39:42,009 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:39:42,010 INFO L93 Difference]: Finished difference Result 219 states and 285 transitions. [2022-04-28 12:39:42,010 INFO L276 IsEmpty]: Start isEmpty. Operand 219 states and 285 transitions. [2022-04-28 12:39:42,010 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:39:42,010 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:39:42,010 INFO L74 IsIncluded]: Start isIncluded. First operand has 208 states, 152 states have (on average 1.2236842105263157) internal successors, (186), 158 states have internal predecessors, (186), 43 states have call successors, (43), 14 states have call predecessors, (43), 12 states have return successors, (41), 35 states have call predecessors, (41), 41 states have call successors, (41) Second operand 219 states. [2022-04-28 12:39:42,011 INFO L87 Difference]: Start difference. First operand has 208 states, 152 states have (on average 1.2236842105263157) internal successors, (186), 158 states have internal predecessors, (186), 43 states have call successors, (43), 14 states have call predecessors, (43), 12 states have return successors, (41), 35 states have call predecessors, (41), 41 states have call successors, (41) Second operand 219 states. [2022-04-28 12:39:42,014 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:39:42,015 INFO L93 Difference]: Finished difference Result 219 states and 285 transitions. [2022-04-28 12:39:42,015 INFO L276 IsEmpty]: Start isEmpty. Operand 219 states and 285 transitions. [2022-04-28 12:39:42,015 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:39:42,015 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:39:42,015 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:39:42,015 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:39:42,016 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 208 states, 152 states have (on average 1.2236842105263157) internal successors, (186), 158 states have internal predecessors, (186), 43 states have call successors, (43), 14 states have call predecessors, (43), 12 states have return successors, (41), 35 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-28 12:39:42,019 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 208 states to 208 states and 270 transitions. [2022-04-28 12:39:42,019 INFO L78 Accepts]: Start accepts. Automaton has 208 states and 270 transitions. Word has length 73 [2022-04-28 12:39:42,019 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:39:42,019 INFO L495 AbstractCegarLoop]: Abstraction has 208 states and 270 transitions. [2022-04-28 12:39:42,020 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 8.25) internal successors, (33), 4 states have internal predecessors, (33), 4 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-28 12:39:42,020 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 208 states and 270 transitions. [2022-04-28 12:39:49,813 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 270 edges. 269 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 12:39:49,813 INFO L276 IsEmpty]: Start isEmpty. Operand 208 states and 270 transitions. [2022-04-28 12:39:49,814 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 74 [2022-04-28 12:39:49,814 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:39:49,814 INFO L195 NwaCegarLoop]: trace histogram [7, 6, 6, 5, 4, 4, 4, 4, 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, 1, 1, 1] [2022-04-28 12:39:49,831 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Ended with exit code 0 [2022-04-28 12:39:50,030 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:39:50,030 INFO L420 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:39:50,030 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:39:50,030 INFO L85 PathProgramCache]: Analyzing trace with hash -1401128268, now seen corresponding path program 7 times [2022-04-28 12:39:50,030 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:39:50,031 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [46123528] [2022-04-28 12:39:50,031 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:39:50,031 INFO L85 PathProgramCache]: Analyzing trace with hash -1401128268, now seen corresponding path program 8 times [2022-04-28 12:39:50,031 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:39:50,031 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [34944431] [2022-04-28 12:39:50,031 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:39:50,031 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:39:50,041 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:39:50,042 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [744551017] [2022-04-28 12:39:50,042 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:39:50,042 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:39:50,042 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:39:50,052 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:39:50,053 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:39:50,101 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:39:50,101 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:39:50,102 INFO L263 TraceCheckSpWp]: Trace formula consists of 204 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-28 12:39:50,116 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:39:50,117 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:39:50,418 INFO L272 TraceCheckUtils]: 0: Hoare triple {17889#true} call ULTIMATE.init(); {17889#true} is VALID [2022-04-28 12:39:50,419 INFO L290 TraceCheckUtils]: 1: Hoare triple {17889#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; {17897#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:50,419 INFO L290 TraceCheckUtils]: 2: Hoare triple {17897#(<= ~counter~0 0)} assume true; {17897#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:50,420 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17897#(<= ~counter~0 0)} {17889#true} #102#return; {17897#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:50,420 INFO L272 TraceCheckUtils]: 4: Hoare triple {17897#(<= ~counter~0 0)} call #t~ret9 := main(); {17897#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:50,420 INFO L290 TraceCheckUtils]: 5: Hoare triple {17897#(<= ~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; {17897#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:50,421 INFO L272 TraceCheckUtils]: 6: Hoare triple {17897#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {17897#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:50,421 INFO L290 TraceCheckUtils]: 7: Hoare triple {17897#(<= ~counter~0 0)} ~cond := #in~cond; {17897#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:50,421 INFO L290 TraceCheckUtils]: 8: Hoare triple {17897#(<= ~counter~0 0)} assume !(0 == ~cond); {17897#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:50,421 INFO L290 TraceCheckUtils]: 9: Hoare triple {17897#(<= ~counter~0 0)} assume true; {17897#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:50,422 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {17897#(<= ~counter~0 0)} {17897#(<= ~counter~0 0)} #90#return; {17897#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:50,422 INFO L272 TraceCheckUtils]: 11: Hoare triple {17897#(<= ~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)); {17897#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:50,422 INFO L290 TraceCheckUtils]: 12: Hoare triple {17897#(<= ~counter~0 0)} ~cond := #in~cond; {17897#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:50,423 INFO L290 TraceCheckUtils]: 13: Hoare triple {17897#(<= ~counter~0 0)} assume !(0 == ~cond); {17897#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:50,423 INFO L290 TraceCheckUtils]: 14: Hoare triple {17897#(<= ~counter~0 0)} assume true; {17897#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:50,423 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {17897#(<= ~counter~0 0)} {17897#(<= ~counter~0 0)} #92#return; {17897#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:50,424 INFO L290 TraceCheckUtils]: 16: Hoare triple {17897#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {17897#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:50,424 INFO L290 TraceCheckUtils]: 17: Hoare triple {17897#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17946#(<= ~counter~0 1)} is VALID [2022-04-28 12:39:50,425 INFO L290 TraceCheckUtils]: 18: Hoare triple {17946#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {17946#(<= ~counter~0 1)} is VALID [2022-04-28 12:39:50,425 INFO L272 TraceCheckUtils]: 19: Hoare triple {17946#(<= ~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)); {17946#(<= ~counter~0 1)} is VALID [2022-04-28 12:39:50,426 INFO L290 TraceCheckUtils]: 20: Hoare triple {17946#(<= ~counter~0 1)} ~cond := #in~cond; {17946#(<= ~counter~0 1)} is VALID [2022-04-28 12:39:50,426 INFO L290 TraceCheckUtils]: 21: Hoare triple {17946#(<= ~counter~0 1)} assume !(0 == ~cond); {17946#(<= ~counter~0 1)} is VALID [2022-04-28 12:39:50,426 INFO L290 TraceCheckUtils]: 22: Hoare triple {17946#(<= ~counter~0 1)} assume true; {17946#(<= ~counter~0 1)} is VALID [2022-04-28 12:39:50,427 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {17946#(<= ~counter~0 1)} {17946#(<= ~counter~0 1)} #94#return; {17946#(<= ~counter~0 1)} is VALID [2022-04-28 12:39:50,427 INFO L290 TraceCheckUtils]: 24: Hoare triple {17946#(<= ~counter~0 1)} assume !!(0 != ~r~0); {17946#(<= ~counter~0 1)} is VALID [2022-04-28 12:39:50,428 INFO L290 TraceCheckUtils]: 25: Hoare triple {17946#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {17971#(<= ~counter~0 2)} is VALID [2022-04-28 12:39:50,428 INFO L290 TraceCheckUtils]: 26: Hoare triple {17971#(<= ~counter~0 2)} assume !!(#t~post7 < 20);havoc #t~post7; {17971#(<= ~counter~0 2)} is VALID [2022-04-28 12:39:50,429 INFO L272 TraceCheckUtils]: 27: Hoare triple {17971#(<= ~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)); {17971#(<= ~counter~0 2)} is VALID [2022-04-28 12:39:50,429 INFO L290 TraceCheckUtils]: 28: Hoare triple {17971#(<= ~counter~0 2)} ~cond := #in~cond; {17971#(<= ~counter~0 2)} is VALID [2022-04-28 12:39:50,429 INFO L290 TraceCheckUtils]: 29: Hoare triple {17971#(<= ~counter~0 2)} assume !(0 == ~cond); {17971#(<= ~counter~0 2)} is VALID [2022-04-28 12:39:50,429 INFO L290 TraceCheckUtils]: 30: Hoare triple {17971#(<= ~counter~0 2)} assume true; {17971#(<= ~counter~0 2)} is VALID [2022-04-28 12:39:50,430 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {17971#(<= ~counter~0 2)} {17971#(<= ~counter~0 2)} #96#return; {17971#(<= ~counter~0 2)} is VALID [2022-04-28 12:39:50,430 INFO L290 TraceCheckUtils]: 32: Hoare triple {17971#(<= ~counter~0 2)} assume !(~r~0 > 0); {17971#(<= ~counter~0 2)} is VALID [2022-04-28 12:39:50,431 INFO L290 TraceCheckUtils]: 33: Hoare triple {17971#(<= ~counter~0 2)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {17996#(<= ~counter~0 3)} is VALID [2022-04-28 12:39:50,431 INFO L290 TraceCheckUtils]: 34: Hoare triple {17996#(<= ~counter~0 3)} assume !!(#t~post8 < 20);havoc #t~post8; {17996#(<= ~counter~0 3)} is VALID [2022-04-28 12:39:50,432 INFO L272 TraceCheckUtils]: 35: Hoare triple {17996#(<= ~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)); {17996#(<= ~counter~0 3)} is VALID [2022-04-28 12:39:50,432 INFO L290 TraceCheckUtils]: 36: Hoare triple {17996#(<= ~counter~0 3)} ~cond := #in~cond; {17996#(<= ~counter~0 3)} is VALID [2022-04-28 12:39:50,432 INFO L290 TraceCheckUtils]: 37: Hoare triple {17996#(<= ~counter~0 3)} assume !(0 == ~cond); {17996#(<= ~counter~0 3)} is VALID [2022-04-28 12:39:50,433 INFO L290 TraceCheckUtils]: 38: Hoare triple {17996#(<= ~counter~0 3)} assume true; {17996#(<= ~counter~0 3)} is VALID [2022-04-28 12:39:50,433 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {17996#(<= ~counter~0 3)} {17996#(<= ~counter~0 3)} #98#return; {17996#(<= ~counter~0 3)} is VALID [2022-04-28 12:39:50,433 INFO L290 TraceCheckUtils]: 40: Hoare triple {17996#(<= ~counter~0 3)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {17996#(<= ~counter~0 3)} is VALID [2022-04-28 12:39:50,434 INFO L290 TraceCheckUtils]: 41: Hoare triple {17996#(<= ~counter~0 3)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {18021#(<= ~counter~0 4)} is VALID [2022-04-28 12:39:50,434 INFO L290 TraceCheckUtils]: 42: Hoare triple {18021#(<= ~counter~0 4)} assume !!(#t~post8 < 20);havoc #t~post8; {18021#(<= ~counter~0 4)} is VALID [2022-04-28 12:39:50,435 INFO L272 TraceCheckUtils]: 43: Hoare triple {18021#(<= ~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)); {18021#(<= ~counter~0 4)} is VALID [2022-04-28 12:39:50,435 INFO L290 TraceCheckUtils]: 44: Hoare triple {18021#(<= ~counter~0 4)} ~cond := #in~cond; {18021#(<= ~counter~0 4)} is VALID [2022-04-28 12:39:50,435 INFO L290 TraceCheckUtils]: 45: Hoare triple {18021#(<= ~counter~0 4)} assume !(0 == ~cond); {18021#(<= ~counter~0 4)} is VALID [2022-04-28 12:39:50,436 INFO L290 TraceCheckUtils]: 46: Hoare triple {18021#(<= ~counter~0 4)} assume true; {18021#(<= ~counter~0 4)} is VALID [2022-04-28 12:39:50,436 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {18021#(<= ~counter~0 4)} {18021#(<= ~counter~0 4)} #98#return; {18021#(<= ~counter~0 4)} is VALID [2022-04-28 12:39:50,437 INFO L290 TraceCheckUtils]: 48: Hoare triple {18021#(<= ~counter~0 4)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {18021#(<= ~counter~0 4)} is VALID [2022-04-28 12:39:50,437 INFO L290 TraceCheckUtils]: 49: Hoare triple {18021#(<= ~counter~0 4)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {18046#(<= ~counter~0 5)} is VALID [2022-04-28 12:39:50,437 INFO L290 TraceCheckUtils]: 50: Hoare triple {18046#(<= ~counter~0 5)} assume !!(#t~post8 < 20);havoc #t~post8; {18046#(<= ~counter~0 5)} is VALID [2022-04-28 12:39:50,438 INFO L272 TraceCheckUtils]: 51: Hoare triple {18046#(<= ~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)); {18046#(<= ~counter~0 5)} is VALID [2022-04-28 12:39:50,438 INFO L290 TraceCheckUtils]: 52: Hoare triple {18046#(<= ~counter~0 5)} ~cond := #in~cond; {18046#(<= ~counter~0 5)} is VALID [2022-04-28 12:39:50,439 INFO L290 TraceCheckUtils]: 53: Hoare triple {18046#(<= ~counter~0 5)} assume !(0 == ~cond); {18046#(<= ~counter~0 5)} is VALID [2022-04-28 12:39:50,439 INFO L290 TraceCheckUtils]: 54: Hoare triple {18046#(<= ~counter~0 5)} assume true; {18046#(<= ~counter~0 5)} is VALID [2022-04-28 12:39:50,439 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {18046#(<= ~counter~0 5)} {18046#(<= ~counter~0 5)} #98#return; {18046#(<= ~counter~0 5)} is VALID [2022-04-28 12:39:50,440 INFO L290 TraceCheckUtils]: 56: Hoare triple {18046#(<= ~counter~0 5)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {18046#(<= ~counter~0 5)} is VALID [2022-04-28 12:39:50,440 INFO L290 TraceCheckUtils]: 57: Hoare triple {18046#(<= ~counter~0 5)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {18071#(<= ~counter~0 6)} is VALID [2022-04-28 12:39:50,441 INFO L290 TraceCheckUtils]: 58: Hoare triple {18071#(<= ~counter~0 6)} assume !!(#t~post8 < 20);havoc #t~post8; {18071#(<= ~counter~0 6)} is VALID [2022-04-28 12:39:50,441 INFO L272 TraceCheckUtils]: 59: Hoare triple {18071#(<= ~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)); {18071#(<= ~counter~0 6)} is VALID [2022-04-28 12:39:50,442 INFO L290 TraceCheckUtils]: 60: Hoare triple {18071#(<= ~counter~0 6)} ~cond := #in~cond; {18071#(<= ~counter~0 6)} is VALID [2022-04-28 12:39:50,442 INFO L290 TraceCheckUtils]: 61: Hoare triple {18071#(<= ~counter~0 6)} assume !(0 == ~cond); {18071#(<= ~counter~0 6)} is VALID [2022-04-28 12:39:50,442 INFO L290 TraceCheckUtils]: 62: Hoare triple {18071#(<= ~counter~0 6)} assume true; {18071#(<= ~counter~0 6)} is VALID [2022-04-28 12:39:50,443 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {18071#(<= ~counter~0 6)} {18071#(<= ~counter~0 6)} #98#return; {18071#(<= ~counter~0 6)} is VALID [2022-04-28 12:39:50,443 INFO L290 TraceCheckUtils]: 64: Hoare triple {18071#(<= ~counter~0 6)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {18071#(<= ~counter~0 6)} is VALID [2022-04-28 12:39:50,443 INFO L290 TraceCheckUtils]: 65: Hoare triple {18071#(<= ~counter~0 6)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {18096#(<= |main_#t~post8| 6)} is VALID [2022-04-28 12:39:50,444 INFO L290 TraceCheckUtils]: 66: Hoare triple {18096#(<= |main_#t~post8| 6)} assume !(#t~post8 < 20);havoc #t~post8; {17890#false} is VALID [2022-04-28 12:39:50,444 INFO L290 TraceCheckUtils]: 67: Hoare triple {17890#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17890#false} is VALID [2022-04-28 12:39:50,444 INFO L290 TraceCheckUtils]: 68: Hoare triple {17890#false} assume !(#t~post6 < 20);havoc #t~post6; {17890#false} is VALID [2022-04-28 12:39:50,444 INFO L272 TraceCheckUtils]: 69: Hoare triple {17890#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)); {17890#false} is VALID [2022-04-28 12:39:50,444 INFO L290 TraceCheckUtils]: 70: Hoare triple {17890#false} ~cond := #in~cond; {17890#false} is VALID [2022-04-28 12:39:50,444 INFO L290 TraceCheckUtils]: 71: Hoare triple {17890#false} assume 0 == ~cond; {17890#false} is VALID [2022-04-28 12:39:50,444 INFO L290 TraceCheckUtils]: 72: Hoare triple {17890#false} assume !false; {17890#false} is VALID [2022-04-28 12:39:50,444 INFO L134 CoverageAnalysis]: Checked inductivity of 110 backedges. 14 proven. 92 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:39:50,445 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:39:50,800 INFO L290 TraceCheckUtils]: 72: Hoare triple {17890#false} assume !false; {17890#false} is VALID [2022-04-28 12:39:50,800 INFO L290 TraceCheckUtils]: 71: Hoare triple {17890#false} assume 0 == ~cond; {17890#false} is VALID [2022-04-28 12:39:50,800 INFO L290 TraceCheckUtils]: 70: Hoare triple {17890#false} ~cond := #in~cond; {17890#false} is VALID [2022-04-28 12:39:50,800 INFO L272 TraceCheckUtils]: 69: Hoare triple {17890#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)); {17890#false} is VALID [2022-04-28 12:39:50,800 INFO L290 TraceCheckUtils]: 68: Hoare triple {17890#false} assume !(#t~post6 < 20);havoc #t~post6; {17890#false} is VALID [2022-04-28 12:39:50,801 INFO L290 TraceCheckUtils]: 67: Hoare triple {17890#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17890#false} is VALID [2022-04-28 12:39:50,801 INFO L290 TraceCheckUtils]: 66: Hoare triple {18136#(< |main_#t~post8| 20)} assume !(#t~post8 < 20);havoc #t~post8; {17890#false} is VALID [2022-04-28 12:39:50,801 INFO L290 TraceCheckUtils]: 65: Hoare triple {18140#(< ~counter~0 20)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {18136#(< |main_#t~post8| 20)} is VALID [2022-04-28 12:39:50,801 INFO L290 TraceCheckUtils]: 64: Hoare triple {18140#(< ~counter~0 20)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {18140#(< ~counter~0 20)} is VALID [2022-04-28 12:39:50,802 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {17889#true} {18140#(< ~counter~0 20)} #98#return; {18140#(< ~counter~0 20)} is VALID [2022-04-28 12:39:50,802 INFO L290 TraceCheckUtils]: 62: Hoare triple {17889#true} assume true; {17889#true} is VALID [2022-04-28 12:39:50,802 INFO L290 TraceCheckUtils]: 61: Hoare triple {17889#true} assume !(0 == ~cond); {17889#true} is VALID [2022-04-28 12:39:50,802 INFO L290 TraceCheckUtils]: 60: Hoare triple {17889#true} ~cond := #in~cond; {17889#true} is VALID [2022-04-28 12:39:50,802 INFO L272 TraceCheckUtils]: 59: Hoare triple {18140#(< ~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)); {17889#true} is VALID [2022-04-28 12:39:50,802 INFO L290 TraceCheckUtils]: 58: Hoare triple {18140#(< ~counter~0 20)} assume !!(#t~post8 < 20);havoc #t~post8; {18140#(< ~counter~0 20)} is VALID [2022-04-28 12:39:50,803 INFO L290 TraceCheckUtils]: 57: Hoare triple {18165#(< ~counter~0 19)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {18140#(< ~counter~0 20)} is VALID [2022-04-28 12:39:50,803 INFO L290 TraceCheckUtils]: 56: Hoare triple {18165#(< ~counter~0 19)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {18165#(< ~counter~0 19)} is VALID [2022-04-28 12:39:50,804 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {17889#true} {18165#(< ~counter~0 19)} #98#return; {18165#(< ~counter~0 19)} is VALID [2022-04-28 12:39:50,804 INFO L290 TraceCheckUtils]: 54: Hoare triple {17889#true} assume true; {17889#true} is VALID [2022-04-28 12:39:50,804 INFO L290 TraceCheckUtils]: 53: Hoare triple {17889#true} assume !(0 == ~cond); {17889#true} is VALID [2022-04-28 12:39:50,804 INFO L290 TraceCheckUtils]: 52: Hoare triple {17889#true} ~cond := #in~cond; {17889#true} is VALID [2022-04-28 12:39:50,804 INFO L272 TraceCheckUtils]: 51: Hoare triple {18165#(< ~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)); {17889#true} is VALID [2022-04-28 12:39:50,806 INFO L290 TraceCheckUtils]: 50: Hoare triple {18165#(< ~counter~0 19)} assume !!(#t~post8 < 20);havoc #t~post8; {18165#(< ~counter~0 19)} is VALID [2022-04-28 12:39:50,807 INFO L290 TraceCheckUtils]: 49: Hoare triple {18190#(< ~counter~0 18)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {18165#(< ~counter~0 19)} is VALID [2022-04-28 12:39:50,807 INFO L290 TraceCheckUtils]: 48: Hoare triple {18190#(< ~counter~0 18)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {18190#(< ~counter~0 18)} is VALID [2022-04-28 12:39:50,807 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {17889#true} {18190#(< ~counter~0 18)} #98#return; {18190#(< ~counter~0 18)} is VALID [2022-04-28 12:39:50,808 INFO L290 TraceCheckUtils]: 46: Hoare triple {17889#true} assume true; {17889#true} is VALID [2022-04-28 12:39:50,808 INFO L290 TraceCheckUtils]: 45: Hoare triple {17889#true} assume !(0 == ~cond); {17889#true} is VALID [2022-04-28 12:39:50,808 INFO L290 TraceCheckUtils]: 44: Hoare triple {17889#true} ~cond := #in~cond; {17889#true} is VALID [2022-04-28 12:39:50,808 INFO L272 TraceCheckUtils]: 43: Hoare triple {18190#(< ~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)); {17889#true} is VALID [2022-04-28 12:39:50,808 INFO L290 TraceCheckUtils]: 42: Hoare triple {18190#(< ~counter~0 18)} assume !!(#t~post8 < 20);havoc #t~post8; {18190#(< ~counter~0 18)} is VALID [2022-04-28 12:39:50,809 INFO L290 TraceCheckUtils]: 41: Hoare triple {18215#(< ~counter~0 17)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {18190#(< ~counter~0 18)} is VALID [2022-04-28 12:39:50,809 INFO L290 TraceCheckUtils]: 40: Hoare triple {18215#(< ~counter~0 17)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {18215#(< ~counter~0 17)} is VALID [2022-04-28 12:39:50,809 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {17889#true} {18215#(< ~counter~0 17)} #98#return; {18215#(< ~counter~0 17)} is VALID [2022-04-28 12:39:50,809 INFO L290 TraceCheckUtils]: 38: Hoare triple {17889#true} assume true; {17889#true} is VALID [2022-04-28 12:39:50,809 INFO L290 TraceCheckUtils]: 37: Hoare triple {17889#true} assume !(0 == ~cond); {17889#true} is VALID [2022-04-28 12:39:50,810 INFO L290 TraceCheckUtils]: 36: Hoare triple {17889#true} ~cond := #in~cond; {17889#true} is VALID [2022-04-28 12:39:50,810 INFO L272 TraceCheckUtils]: 35: Hoare triple {18215#(< ~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)); {17889#true} is VALID [2022-04-28 12:39:50,810 INFO L290 TraceCheckUtils]: 34: Hoare triple {18215#(< ~counter~0 17)} assume !!(#t~post8 < 20);havoc #t~post8; {18215#(< ~counter~0 17)} is VALID [2022-04-28 12:39:50,810 INFO L290 TraceCheckUtils]: 33: Hoare triple {18240#(< ~counter~0 16)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {18215#(< ~counter~0 17)} is VALID [2022-04-28 12:39:50,811 INFO L290 TraceCheckUtils]: 32: Hoare triple {18240#(< ~counter~0 16)} assume !(~r~0 > 0); {18240#(< ~counter~0 16)} is VALID [2022-04-28 12:39:50,811 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {17889#true} {18240#(< ~counter~0 16)} #96#return; {18240#(< ~counter~0 16)} is VALID [2022-04-28 12:39:50,811 INFO L290 TraceCheckUtils]: 30: Hoare triple {17889#true} assume true; {17889#true} is VALID [2022-04-28 12:39:50,811 INFO L290 TraceCheckUtils]: 29: Hoare triple {17889#true} assume !(0 == ~cond); {17889#true} is VALID [2022-04-28 12:39:50,811 INFO L290 TraceCheckUtils]: 28: Hoare triple {17889#true} ~cond := #in~cond; {17889#true} is VALID [2022-04-28 12:39:50,811 INFO L272 TraceCheckUtils]: 27: Hoare triple {18240#(< ~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)); {17889#true} is VALID [2022-04-28 12:39:50,812 INFO L290 TraceCheckUtils]: 26: Hoare triple {18240#(< ~counter~0 16)} assume !!(#t~post7 < 20);havoc #t~post7; {18240#(< ~counter~0 16)} is VALID [2022-04-28 12:39:50,812 INFO L290 TraceCheckUtils]: 25: Hoare triple {18265#(< ~counter~0 15)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {18240#(< ~counter~0 16)} is VALID [2022-04-28 12:39:50,812 INFO L290 TraceCheckUtils]: 24: Hoare triple {18265#(< ~counter~0 15)} assume !!(0 != ~r~0); {18265#(< ~counter~0 15)} is VALID [2022-04-28 12:39:50,813 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {17889#true} {18265#(< ~counter~0 15)} #94#return; {18265#(< ~counter~0 15)} is VALID [2022-04-28 12:39:50,813 INFO L290 TraceCheckUtils]: 22: Hoare triple {17889#true} assume true; {17889#true} is VALID [2022-04-28 12:39:50,813 INFO L290 TraceCheckUtils]: 21: Hoare triple {17889#true} assume !(0 == ~cond); {17889#true} is VALID [2022-04-28 12:39:50,813 INFO L290 TraceCheckUtils]: 20: Hoare triple {17889#true} ~cond := #in~cond; {17889#true} is VALID [2022-04-28 12:39:50,813 INFO L272 TraceCheckUtils]: 19: Hoare triple {18265#(< ~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)); {17889#true} is VALID [2022-04-28 12:39:50,813 INFO L290 TraceCheckUtils]: 18: Hoare triple {18265#(< ~counter~0 15)} assume !!(#t~post6 < 20);havoc #t~post6; {18265#(< ~counter~0 15)} is VALID [2022-04-28 12:39:50,814 INFO L290 TraceCheckUtils]: 17: Hoare triple {18290#(< ~counter~0 14)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18265#(< ~counter~0 15)} is VALID [2022-04-28 12:39:50,814 INFO L290 TraceCheckUtils]: 16: Hoare triple {18290#(< ~counter~0 14)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {18290#(< ~counter~0 14)} is VALID [2022-04-28 12:39:50,814 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {17889#true} {18290#(< ~counter~0 14)} #92#return; {18290#(< ~counter~0 14)} is VALID [2022-04-28 12:39:50,815 INFO L290 TraceCheckUtils]: 14: Hoare triple {17889#true} assume true; {17889#true} is VALID [2022-04-28 12:39:50,815 INFO L290 TraceCheckUtils]: 13: Hoare triple {17889#true} assume !(0 == ~cond); {17889#true} is VALID [2022-04-28 12:39:50,815 INFO L290 TraceCheckUtils]: 12: Hoare triple {17889#true} ~cond := #in~cond; {17889#true} is VALID [2022-04-28 12:39:50,815 INFO L272 TraceCheckUtils]: 11: Hoare triple {18290#(< ~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)); {17889#true} is VALID [2022-04-28 12:39:50,815 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {17889#true} {18290#(< ~counter~0 14)} #90#return; {18290#(< ~counter~0 14)} is VALID [2022-04-28 12:39:50,815 INFO L290 TraceCheckUtils]: 9: Hoare triple {17889#true} assume true; {17889#true} is VALID [2022-04-28 12:39:50,815 INFO L290 TraceCheckUtils]: 8: Hoare triple {17889#true} assume !(0 == ~cond); {17889#true} is VALID [2022-04-28 12:39:50,815 INFO L290 TraceCheckUtils]: 7: Hoare triple {17889#true} ~cond := #in~cond; {17889#true} is VALID [2022-04-28 12:39:50,815 INFO L272 TraceCheckUtils]: 6: Hoare triple {18290#(< ~counter~0 14)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {17889#true} is VALID [2022-04-28 12:39:50,816 INFO L290 TraceCheckUtils]: 5: Hoare triple {18290#(< ~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; {18290#(< ~counter~0 14)} is VALID [2022-04-28 12:39:50,816 INFO L272 TraceCheckUtils]: 4: Hoare triple {18290#(< ~counter~0 14)} call #t~ret9 := main(); {18290#(< ~counter~0 14)} is VALID [2022-04-28 12:39:50,816 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18290#(< ~counter~0 14)} {17889#true} #102#return; {18290#(< ~counter~0 14)} is VALID [2022-04-28 12:39:50,817 INFO L290 TraceCheckUtils]: 2: Hoare triple {18290#(< ~counter~0 14)} assume true; {18290#(< ~counter~0 14)} is VALID [2022-04-28 12:39:50,817 INFO L290 TraceCheckUtils]: 1: Hoare triple {17889#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; {18290#(< ~counter~0 14)} is VALID [2022-04-28 12:39:50,817 INFO L272 TraceCheckUtils]: 0: Hoare triple {17889#true} call ULTIMATE.init(); {17889#true} is VALID [2022-04-28 12:39:50,817 INFO L134 CoverageAnalysis]: Checked inductivity of 110 backedges. 14 proven. 32 refuted. 0 times theorem prover too weak. 64 trivial. 0 not checked. [2022-04-28 12:39:50,817 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:39:50,818 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [34944431] [2022-04-28 12:39:50,818 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:39:50,818 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [744551017] [2022-04-28 12:39:50,818 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [744551017] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:39:50,818 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:39:50,818 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 18 [2022-04-28 12:39:50,818 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:39:50,818 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [46123528] [2022-04-28 12:39:50,818 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [46123528] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:39:50,818 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:39:50,818 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 12:39:50,818 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1978288574] [2022-04-28 12:39:50,818 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:39:50,819 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 5.0) internal successors, (50), 9 states have internal predecessors, (50), 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 73 [2022-04-28 12:39:50,819 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:39:50,819 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 5.0) internal successors, (50), 9 states have internal predecessors, (50), 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:39:50,864 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:39:50,864 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 12:39:50,865 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:39:50,865 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 12:39:50,865 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=125, Invalid=181, Unknown=0, NotChecked=0, Total=306 [2022-04-28 12:39:50,865 INFO L87 Difference]: Start difference. First operand 208 states and 270 transitions. Second operand has 10 states, 10 states have (on average 5.0) internal successors, (50), 9 states have internal predecessors, (50), 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:39:51,438 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:39:51,438 INFO L93 Difference]: Finished difference Result 307 states and 412 transitions. [2022-04-28 12:39:51,438 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 12:39:51,438 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 5.0) internal successors, (50), 9 states have internal predecessors, (50), 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 73 [2022-04-28 12:39:51,439 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:39:51,439 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 5.0) internal successors, (50), 9 states have internal predecessors, (50), 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:39:51,440 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 157 transitions. [2022-04-28 12:39:51,440 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 5.0) internal successors, (50), 9 states have internal predecessors, (50), 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:39:51,441 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 157 transitions. [2022-04-28 12:39:51,441 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 157 transitions. [2022-04-28 12:39:51,549 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 157 edges. 157 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:39:51,552 INFO L225 Difference]: With dead ends: 307 [2022-04-28 12:39:51,553 INFO L226 Difference]: Without dead ends: 219 [2022-04-28 12:39:51,553 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 149 GetRequests, 129 SyntacticMatches, 0 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 25 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=185, Invalid=277, Unknown=0, NotChecked=0, Total=462 [2022-04-28 12:39:51,553 INFO L413 NwaCegarLoop]: 48 mSDtfsCounter, 66 mSDsluCounter, 145 mSDsCounter, 0 mSdLazyCounter, 83 mSolverCounterSat, 43 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 66 SdHoareTripleChecker+Valid, 193 SdHoareTripleChecker+Invalid, 126 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 43 IncrementalHoareTripleChecker+Valid, 83 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:39:51,554 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [66 Valid, 193 Invalid, 126 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [43 Valid, 83 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:39:51,554 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 219 states. [2022-04-28 12:39:51,736 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 219 to 213. [2022-04-28 12:39:51,736 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:39:51,737 INFO L82 GeneralOperation]: Start isEquivalent. First operand 219 states. Second operand has 213 states, 157 states have (on average 1.2229299363057324) internal successors, (192), 162 states have internal predecessors, (192), 43 states have call successors, (43), 14 states have call predecessors, (43), 12 states have return successors, (41), 36 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-28 12:39:51,737 INFO L74 IsIncluded]: Start isIncluded. First operand 219 states. Second operand has 213 states, 157 states have (on average 1.2229299363057324) internal successors, (192), 162 states have internal predecessors, (192), 43 states have call successors, (43), 14 states have call predecessors, (43), 12 states have return successors, (41), 36 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-28 12:39:51,737 INFO L87 Difference]: Start difference. First operand 219 states. Second operand has 213 states, 157 states have (on average 1.2229299363057324) internal successors, (192), 162 states have internal predecessors, (192), 43 states have call successors, (43), 14 states have call predecessors, (43), 12 states have return successors, (41), 36 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-28 12:39:51,740 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:39:51,740 INFO L93 Difference]: Finished difference Result 219 states and 282 transitions. [2022-04-28 12:39:51,741 INFO L276 IsEmpty]: Start isEmpty. Operand 219 states and 282 transitions. [2022-04-28 12:39:51,741 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:39:51,741 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:39:51,741 INFO L74 IsIncluded]: Start isIncluded. First operand has 213 states, 157 states have (on average 1.2229299363057324) internal successors, (192), 162 states have internal predecessors, (192), 43 states have call successors, (43), 14 states have call predecessors, (43), 12 states have return successors, (41), 36 states have call predecessors, (41), 41 states have call successors, (41) Second operand 219 states. [2022-04-28 12:39:51,742 INFO L87 Difference]: Start difference. First operand has 213 states, 157 states have (on average 1.2229299363057324) internal successors, (192), 162 states have internal predecessors, (192), 43 states have call successors, (43), 14 states have call predecessors, (43), 12 states have return successors, (41), 36 states have call predecessors, (41), 41 states have call successors, (41) Second operand 219 states. [2022-04-28 12:39:51,745 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:39:51,745 INFO L93 Difference]: Finished difference Result 219 states and 282 transitions. [2022-04-28 12:39:51,745 INFO L276 IsEmpty]: Start isEmpty. Operand 219 states and 282 transitions. [2022-04-28 12:39:51,745 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:39:51,745 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:39:51,746 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:39:51,746 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:39:51,747 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 213 states, 157 states have (on average 1.2229299363057324) internal successors, (192), 162 states have internal predecessors, (192), 43 states have call successors, (43), 14 states have call predecessors, (43), 12 states have return successors, (41), 36 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-28 12:39:51,750 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 213 states to 213 states and 276 transitions. [2022-04-28 12:39:51,750 INFO L78 Accepts]: Start accepts. Automaton has 213 states and 276 transitions. Word has length 73 [2022-04-28 12:39:51,750 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:39:51,750 INFO L495 AbstractCegarLoop]: Abstraction has 213 states and 276 transitions. [2022-04-28 12:39:51,751 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 5.0) internal successors, (50), 9 states have internal predecessors, (50), 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:39:51,751 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 213 states and 276 transitions. [2022-04-28 12:39:58,357 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 276 edges. 275 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 12:39:58,357 INFO L276 IsEmpty]: Start isEmpty. Operand 213 states and 276 transitions. [2022-04-28 12:39:58,358 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 76 [2022-04-28 12:39:58,358 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:39:58,358 INFO L195 NwaCegarLoop]: trace histogram [7, 6, 6, 3, 3, 3, 2, 2, 2, 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, 1, 1, 1, 1, 1, 1] [2022-04-28 12:39:58,375 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:39:58,558 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:39:58,558 INFO L420 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:39:58,559 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:39:58,559 INFO L85 PathProgramCache]: Analyzing trace with hash 1116733197, now seen corresponding path program 1 times [2022-04-28 12:39:58,559 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:39:58,559 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1045339802] [2022-04-28 12:39:58,559 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:39:58,559 INFO L85 PathProgramCache]: Analyzing trace with hash 1116733197, now seen corresponding path program 2 times [2022-04-28 12:39:58,559 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:39:58,559 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1131745925] [2022-04-28 12:39:58,559 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:39:58,560 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:39:58,569 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:39:58,569 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1069730778] [2022-04-28 12:39:58,569 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:39:58,570 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:39:58,570 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:39:58,577 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:39:58,578 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:39:58,622 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:39:58,622 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:39:58,623 INFO L263 TraceCheckSpWp]: Trace formula consists of 201 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-28 12:39:58,636 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:39:58,637 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:39:58,957 INFO L272 TraceCheckUtils]: 0: Hoare triple {19830#true} call ULTIMATE.init(); {19830#true} is VALID [2022-04-28 12:39:58,957 INFO L290 TraceCheckUtils]: 1: Hoare triple {19830#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; {19838#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:58,958 INFO L290 TraceCheckUtils]: 2: Hoare triple {19838#(<= ~counter~0 0)} assume true; {19838#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:58,958 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {19838#(<= ~counter~0 0)} {19830#true} #102#return; {19838#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:58,958 INFO L272 TraceCheckUtils]: 4: Hoare triple {19838#(<= ~counter~0 0)} call #t~ret9 := main(); {19838#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:58,959 INFO L290 TraceCheckUtils]: 5: Hoare triple {19838#(<= ~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; {19838#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:58,959 INFO L272 TraceCheckUtils]: 6: Hoare triple {19838#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {19838#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:58,959 INFO L290 TraceCheckUtils]: 7: Hoare triple {19838#(<= ~counter~0 0)} ~cond := #in~cond; {19838#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:58,960 INFO L290 TraceCheckUtils]: 8: Hoare triple {19838#(<= ~counter~0 0)} assume !(0 == ~cond); {19838#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:58,960 INFO L290 TraceCheckUtils]: 9: Hoare triple {19838#(<= ~counter~0 0)} assume true; {19838#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:58,961 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {19838#(<= ~counter~0 0)} {19838#(<= ~counter~0 0)} #90#return; {19838#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:58,961 INFO L272 TraceCheckUtils]: 11: Hoare triple {19838#(<= ~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)); {19838#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:58,961 INFO L290 TraceCheckUtils]: 12: Hoare triple {19838#(<= ~counter~0 0)} ~cond := #in~cond; {19838#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:58,962 INFO L290 TraceCheckUtils]: 13: Hoare triple {19838#(<= ~counter~0 0)} assume !(0 == ~cond); {19838#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:58,962 INFO L290 TraceCheckUtils]: 14: Hoare triple {19838#(<= ~counter~0 0)} assume true; {19838#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:58,962 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {19838#(<= ~counter~0 0)} {19838#(<= ~counter~0 0)} #92#return; {19838#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:58,963 INFO L290 TraceCheckUtils]: 16: Hoare triple {19838#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {19838#(<= ~counter~0 0)} is VALID [2022-04-28 12:39:58,963 INFO L290 TraceCheckUtils]: 17: Hoare triple {19838#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19887#(<= ~counter~0 1)} is VALID [2022-04-28 12:39:58,964 INFO L290 TraceCheckUtils]: 18: Hoare triple {19887#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {19887#(<= ~counter~0 1)} is VALID [2022-04-28 12:39:58,964 INFO L272 TraceCheckUtils]: 19: Hoare triple {19887#(<= ~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)); {19887#(<= ~counter~0 1)} is VALID [2022-04-28 12:39:58,964 INFO L290 TraceCheckUtils]: 20: Hoare triple {19887#(<= ~counter~0 1)} ~cond := #in~cond; {19887#(<= ~counter~0 1)} is VALID [2022-04-28 12:39:58,965 INFO L290 TraceCheckUtils]: 21: Hoare triple {19887#(<= ~counter~0 1)} assume !(0 == ~cond); {19887#(<= ~counter~0 1)} is VALID [2022-04-28 12:39:58,965 INFO L290 TraceCheckUtils]: 22: Hoare triple {19887#(<= ~counter~0 1)} assume true; {19887#(<= ~counter~0 1)} is VALID [2022-04-28 12:39:58,966 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {19887#(<= ~counter~0 1)} {19887#(<= ~counter~0 1)} #94#return; {19887#(<= ~counter~0 1)} is VALID [2022-04-28 12:39:58,966 INFO L290 TraceCheckUtils]: 24: Hoare triple {19887#(<= ~counter~0 1)} assume !!(0 != ~r~0); {19887#(<= ~counter~0 1)} is VALID [2022-04-28 12:39:58,966 INFO L290 TraceCheckUtils]: 25: Hoare triple {19887#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {19912#(<= ~counter~0 2)} is VALID [2022-04-28 12:39:58,967 INFO L290 TraceCheckUtils]: 26: Hoare triple {19912#(<= ~counter~0 2)} assume !!(#t~post7 < 20);havoc #t~post7; {19912#(<= ~counter~0 2)} is VALID [2022-04-28 12:39:58,967 INFO L272 TraceCheckUtils]: 27: Hoare triple {19912#(<= ~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)); {19912#(<= ~counter~0 2)} is VALID [2022-04-28 12:39:58,968 INFO L290 TraceCheckUtils]: 28: Hoare triple {19912#(<= ~counter~0 2)} ~cond := #in~cond; {19912#(<= ~counter~0 2)} is VALID [2022-04-28 12:39:58,968 INFO L290 TraceCheckUtils]: 29: Hoare triple {19912#(<= ~counter~0 2)} assume !(0 == ~cond); {19912#(<= ~counter~0 2)} is VALID [2022-04-28 12:39:58,968 INFO L290 TraceCheckUtils]: 30: Hoare triple {19912#(<= ~counter~0 2)} assume true; {19912#(<= ~counter~0 2)} is VALID [2022-04-28 12:39:58,969 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {19912#(<= ~counter~0 2)} {19912#(<= ~counter~0 2)} #96#return; {19912#(<= ~counter~0 2)} is VALID [2022-04-28 12:39:58,969 INFO L290 TraceCheckUtils]: 32: Hoare triple {19912#(<= ~counter~0 2)} assume !(~r~0 > 0); {19912#(<= ~counter~0 2)} is VALID [2022-04-28 12:39:58,969 INFO L290 TraceCheckUtils]: 33: Hoare triple {19912#(<= ~counter~0 2)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {19937#(<= ~counter~0 3)} is VALID [2022-04-28 12:39:58,970 INFO L290 TraceCheckUtils]: 34: Hoare triple {19937#(<= ~counter~0 3)} assume !!(#t~post8 < 20);havoc #t~post8; {19937#(<= ~counter~0 3)} is VALID [2022-04-28 12:39:58,970 INFO L272 TraceCheckUtils]: 35: Hoare triple {19937#(<= ~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)); {19937#(<= ~counter~0 3)} is VALID [2022-04-28 12:39:58,971 INFO L290 TraceCheckUtils]: 36: Hoare triple {19937#(<= ~counter~0 3)} ~cond := #in~cond; {19937#(<= ~counter~0 3)} is VALID [2022-04-28 12:39:58,971 INFO L290 TraceCheckUtils]: 37: Hoare triple {19937#(<= ~counter~0 3)} assume !(0 == ~cond); {19937#(<= ~counter~0 3)} is VALID [2022-04-28 12:39:58,971 INFO L290 TraceCheckUtils]: 38: Hoare triple {19937#(<= ~counter~0 3)} assume true; {19937#(<= ~counter~0 3)} is VALID [2022-04-28 12:39:58,972 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {19937#(<= ~counter~0 3)} {19937#(<= ~counter~0 3)} #98#return; {19937#(<= ~counter~0 3)} is VALID [2022-04-28 12:39:58,972 INFO L290 TraceCheckUtils]: 40: Hoare triple {19937#(<= ~counter~0 3)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {19937#(<= ~counter~0 3)} is VALID [2022-04-28 12:39:58,973 INFO L290 TraceCheckUtils]: 41: Hoare triple {19937#(<= ~counter~0 3)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {19962#(<= ~counter~0 4)} is VALID [2022-04-28 12:39:58,973 INFO L290 TraceCheckUtils]: 42: Hoare triple {19962#(<= ~counter~0 4)} assume !!(#t~post8 < 20);havoc #t~post8; {19962#(<= ~counter~0 4)} is VALID [2022-04-28 12:39:58,974 INFO L272 TraceCheckUtils]: 43: Hoare triple {19962#(<= ~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)); {19962#(<= ~counter~0 4)} is VALID [2022-04-28 12:39:58,974 INFO L290 TraceCheckUtils]: 44: Hoare triple {19962#(<= ~counter~0 4)} ~cond := #in~cond; {19962#(<= ~counter~0 4)} is VALID [2022-04-28 12:39:58,975 INFO L290 TraceCheckUtils]: 45: Hoare triple {19962#(<= ~counter~0 4)} assume !(0 == ~cond); {19962#(<= ~counter~0 4)} is VALID [2022-04-28 12:39:58,975 INFO L290 TraceCheckUtils]: 46: Hoare triple {19962#(<= ~counter~0 4)} assume true; {19962#(<= ~counter~0 4)} is VALID [2022-04-28 12:39:58,975 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {19962#(<= ~counter~0 4)} {19962#(<= ~counter~0 4)} #98#return; {19962#(<= ~counter~0 4)} is VALID [2022-04-28 12:39:58,976 INFO L290 TraceCheckUtils]: 48: Hoare triple {19962#(<= ~counter~0 4)} assume !(~r~0 < 0); {19962#(<= ~counter~0 4)} is VALID [2022-04-28 12:39:58,976 INFO L290 TraceCheckUtils]: 49: Hoare triple {19962#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19987#(<= ~counter~0 5)} is VALID [2022-04-28 12:39:58,977 INFO L290 TraceCheckUtils]: 50: Hoare triple {19987#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {19987#(<= ~counter~0 5)} is VALID [2022-04-28 12:39:58,977 INFO L272 TraceCheckUtils]: 51: Hoare triple {19987#(<= ~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)); {19987#(<= ~counter~0 5)} is VALID [2022-04-28 12:39:58,978 INFO L290 TraceCheckUtils]: 52: Hoare triple {19987#(<= ~counter~0 5)} ~cond := #in~cond; {19987#(<= ~counter~0 5)} is VALID [2022-04-28 12:39:58,978 INFO L290 TraceCheckUtils]: 53: Hoare triple {19987#(<= ~counter~0 5)} assume !(0 == ~cond); {19987#(<= ~counter~0 5)} is VALID [2022-04-28 12:39:58,978 INFO L290 TraceCheckUtils]: 54: Hoare triple {19987#(<= ~counter~0 5)} assume true; {19987#(<= ~counter~0 5)} is VALID [2022-04-28 12:39:58,979 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {19987#(<= ~counter~0 5)} {19987#(<= ~counter~0 5)} #94#return; {19987#(<= ~counter~0 5)} is VALID [2022-04-28 12:39:58,979 INFO L290 TraceCheckUtils]: 56: Hoare triple {19987#(<= ~counter~0 5)} assume !!(0 != ~r~0); {19987#(<= ~counter~0 5)} is VALID [2022-04-28 12:39:58,980 INFO L290 TraceCheckUtils]: 57: Hoare triple {19987#(<= ~counter~0 5)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {20012#(<= ~counter~0 6)} is VALID [2022-04-28 12:39:58,980 INFO L290 TraceCheckUtils]: 58: Hoare triple {20012#(<= ~counter~0 6)} assume !!(#t~post7 < 20);havoc #t~post7; {20012#(<= ~counter~0 6)} is VALID [2022-04-28 12:39:58,981 INFO L272 TraceCheckUtils]: 59: Hoare triple {20012#(<= ~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)); {20012#(<= ~counter~0 6)} is VALID [2022-04-28 12:39:58,981 INFO L290 TraceCheckUtils]: 60: Hoare triple {20012#(<= ~counter~0 6)} ~cond := #in~cond; {20012#(<= ~counter~0 6)} is VALID [2022-04-28 12:39:58,981 INFO L290 TraceCheckUtils]: 61: Hoare triple {20012#(<= ~counter~0 6)} assume !(0 == ~cond); {20012#(<= ~counter~0 6)} is VALID [2022-04-28 12:39:58,982 INFO L290 TraceCheckUtils]: 62: Hoare triple {20012#(<= ~counter~0 6)} assume true; {20012#(<= ~counter~0 6)} is VALID [2022-04-28 12:39:58,982 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {20012#(<= ~counter~0 6)} {20012#(<= ~counter~0 6)} #96#return; {20012#(<= ~counter~0 6)} is VALID [2022-04-28 12:39:58,983 INFO L290 TraceCheckUtils]: 64: Hoare triple {20012#(<= ~counter~0 6)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {20012#(<= ~counter~0 6)} is VALID [2022-04-28 12:39:58,983 INFO L290 TraceCheckUtils]: 65: Hoare triple {20012#(<= ~counter~0 6)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {20037#(<= |main_#t~post7| 6)} is VALID [2022-04-28 12:39:58,983 INFO L290 TraceCheckUtils]: 66: Hoare triple {20037#(<= |main_#t~post7| 6)} assume !(#t~post7 < 20);havoc #t~post7; {19831#false} is VALID [2022-04-28 12:39:58,984 INFO L290 TraceCheckUtils]: 67: Hoare triple {19831#false} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {19831#false} is VALID [2022-04-28 12:39:58,984 INFO L290 TraceCheckUtils]: 68: Hoare triple {19831#false} assume !(#t~post8 < 20);havoc #t~post8; {19831#false} is VALID [2022-04-28 12:39:58,984 INFO L290 TraceCheckUtils]: 69: Hoare triple {19831#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19831#false} is VALID [2022-04-28 12:39:58,984 INFO L290 TraceCheckUtils]: 70: Hoare triple {19831#false} assume !(#t~post6 < 20);havoc #t~post6; {19831#false} is VALID [2022-04-28 12:39:58,984 INFO L272 TraceCheckUtils]: 71: Hoare triple {19831#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)); {19831#false} is VALID [2022-04-28 12:39:58,984 INFO L290 TraceCheckUtils]: 72: Hoare triple {19831#false} ~cond := #in~cond; {19831#false} is VALID [2022-04-28 12:39:58,984 INFO L290 TraceCheckUtils]: 73: Hoare triple {19831#false} assume 0 == ~cond; {19831#false} is VALID [2022-04-28 12:39:58,984 INFO L290 TraceCheckUtils]: 74: Hoare triple {19831#false} assume !false; {19831#false} is VALID [2022-04-28 12:39:58,984 INFO L134 CoverageAnalysis]: Checked inductivity of 100 backedges. 20 proven. 76 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:39:58,984 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:39:59,369 INFO L290 TraceCheckUtils]: 74: Hoare triple {19831#false} assume !false; {19831#false} is VALID [2022-04-28 12:39:59,369 INFO L290 TraceCheckUtils]: 73: Hoare triple {19831#false} assume 0 == ~cond; {19831#false} is VALID [2022-04-28 12:39:59,369 INFO L290 TraceCheckUtils]: 72: Hoare triple {19831#false} ~cond := #in~cond; {19831#false} is VALID [2022-04-28 12:39:59,370 INFO L272 TraceCheckUtils]: 71: Hoare triple {19831#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)); {19831#false} is VALID [2022-04-28 12:39:59,371 INFO L290 TraceCheckUtils]: 70: Hoare triple {19831#false} assume !(#t~post6 < 20);havoc #t~post6; {19831#false} is VALID [2022-04-28 12:39:59,371 INFO L290 TraceCheckUtils]: 69: Hoare triple {19831#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19831#false} is VALID [2022-04-28 12:39:59,371 INFO L290 TraceCheckUtils]: 68: Hoare triple {19831#false} assume !(#t~post8 < 20);havoc #t~post8; {19831#false} is VALID [2022-04-28 12:39:59,371 INFO L290 TraceCheckUtils]: 67: Hoare triple {19831#false} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {19831#false} is VALID [2022-04-28 12:39:59,378 INFO L290 TraceCheckUtils]: 66: Hoare triple {20089#(< |main_#t~post7| 20)} assume !(#t~post7 < 20);havoc #t~post7; {19831#false} is VALID [2022-04-28 12:39:59,378 INFO L290 TraceCheckUtils]: 65: Hoare triple {20093#(< ~counter~0 20)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {20089#(< |main_#t~post7| 20)} is VALID [2022-04-28 12:39:59,379 INFO L290 TraceCheckUtils]: 64: Hoare triple {20093#(< ~counter~0 20)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {20093#(< ~counter~0 20)} is VALID [2022-04-28 12:39:59,379 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {19830#true} {20093#(< ~counter~0 20)} #96#return; {20093#(< ~counter~0 20)} is VALID [2022-04-28 12:39:59,379 INFO L290 TraceCheckUtils]: 62: Hoare triple {19830#true} assume true; {19830#true} is VALID [2022-04-28 12:39:59,379 INFO L290 TraceCheckUtils]: 61: Hoare triple {19830#true} assume !(0 == ~cond); {19830#true} is VALID [2022-04-28 12:39:59,379 INFO L290 TraceCheckUtils]: 60: Hoare triple {19830#true} ~cond := #in~cond; {19830#true} is VALID [2022-04-28 12:39:59,380 INFO L272 TraceCheckUtils]: 59: Hoare triple {20093#(< ~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)); {19830#true} is VALID [2022-04-28 12:39:59,380 INFO L290 TraceCheckUtils]: 58: Hoare triple {20093#(< ~counter~0 20)} assume !!(#t~post7 < 20);havoc #t~post7; {20093#(< ~counter~0 20)} is VALID [2022-04-28 12:39:59,381 INFO L290 TraceCheckUtils]: 57: Hoare triple {20118#(< ~counter~0 19)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {20093#(< ~counter~0 20)} is VALID [2022-04-28 12:39:59,381 INFO L290 TraceCheckUtils]: 56: Hoare triple {20118#(< ~counter~0 19)} assume !!(0 != ~r~0); {20118#(< ~counter~0 19)} is VALID [2022-04-28 12:39:59,381 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {19830#true} {20118#(< ~counter~0 19)} #94#return; {20118#(< ~counter~0 19)} is VALID [2022-04-28 12:39:59,381 INFO L290 TraceCheckUtils]: 54: Hoare triple {19830#true} assume true; {19830#true} is VALID [2022-04-28 12:39:59,382 INFO L290 TraceCheckUtils]: 53: Hoare triple {19830#true} assume !(0 == ~cond); {19830#true} is VALID [2022-04-28 12:39:59,382 INFO L290 TraceCheckUtils]: 52: Hoare triple {19830#true} ~cond := #in~cond; {19830#true} is VALID [2022-04-28 12:39:59,382 INFO L272 TraceCheckUtils]: 51: Hoare triple {20118#(< ~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)); {19830#true} is VALID [2022-04-28 12:39:59,382 INFO L290 TraceCheckUtils]: 50: Hoare triple {20118#(< ~counter~0 19)} assume !!(#t~post6 < 20);havoc #t~post6; {20118#(< ~counter~0 19)} is VALID [2022-04-28 12:39:59,382 INFO L290 TraceCheckUtils]: 49: Hoare triple {20143#(< ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20118#(< ~counter~0 19)} is VALID [2022-04-28 12:39:59,383 INFO L290 TraceCheckUtils]: 48: Hoare triple {20143#(< ~counter~0 18)} assume !(~r~0 < 0); {20143#(< ~counter~0 18)} is VALID [2022-04-28 12:39:59,383 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {19830#true} {20143#(< ~counter~0 18)} #98#return; {20143#(< ~counter~0 18)} is VALID [2022-04-28 12:39:59,383 INFO L290 TraceCheckUtils]: 46: Hoare triple {19830#true} assume true; {19830#true} is VALID [2022-04-28 12:39:59,383 INFO L290 TraceCheckUtils]: 45: Hoare triple {19830#true} assume !(0 == ~cond); {19830#true} is VALID [2022-04-28 12:39:59,383 INFO L290 TraceCheckUtils]: 44: Hoare triple {19830#true} ~cond := #in~cond; {19830#true} is VALID [2022-04-28 12:39:59,383 INFO L272 TraceCheckUtils]: 43: Hoare triple {20143#(< ~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)); {19830#true} is VALID [2022-04-28 12:39:59,384 INFO L290 TraceCheckUtils]: 42: Hoare triple {20143#(< ~counter~0 18)} assume !!(#t~post8 < 20);havoc #t~post8; {20143#(< ~counter~0 18)} is VALID [2022-04-28 12:39:59,384 INFO L290 TraceCheckUtils]: 41: Hoare triple {20168#(< ~counter~0 17)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {20143#(< ~counter~0 18)} is VALID [2022-04-28 12:39:59,384 INFO L290 TraceCheckUtils]: 40: Hoare triple {20168#(< ~counter~0 17)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {20168#(< ~counter~0 17)} is VALID [2022-04-28 12:39:59,385 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {19830#true} {20168#(< ~counter~0 17)} #98#return; {20168#(< ~counter~0 17)} is VALID [2022-04-28 12:39:59,385 INFO L290 TraceCheckUtils]: 38: Hoare triple {19830#true} assume true; {19830#true} is VALID [2022-04-28 12:39:59,385 INFO L290 TraceCheckUtils]: 37: Hoare triple {19830#true} assume !(0 == ~cond); {19830#true} is VALID [2022-04-28 12:39:59,385 INFO L290 TraceCheckUtils]: 36: Hoare triple {19830#true} ~cond := #in~cond; {19830#true} is VALID [2022-04-28 12:39:59,385 INFO L272 TraceCheckUtils]: 35: Hoare triple {20168#(< ~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)); {19830#true} is VALID [2022-04-28 12:39:59,385 INFO L290 TraceCheckUtils]: 34: Hoare triple {20168#(< ~counter~0 17)} assume !!(#t~post8 < 20);havoc #t~post8; {20168#(< ~counter~0 17)} is VALID [2022-04-28 12:39:59,386 INFO L290 TraceCheckUtils]: 33: Hoare triple {20193#(< ~counter~0 16)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {20168#(< ~counter~0 17)} is VALID [2022-04-28 12:39:59,386 INFO L290 TraceCheckUtils]: 32: Hoare triple {20193#(< ~counter~0 16)} assume !(~r~0 > 0); {20193#(< ~counter~0 16)} is VALID [2022-04-28 12:39:59,387 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {19830#true} {20193#(< ~counter~0 16)} #96#return; {20193#(< ~counter~0 16)} is VALID [2022-04-28 12:39:59,387 INFO L290 TraceCheckUtils]: 30: Hoare triple {19830#true} assume true; {19830#true} is VALID [2022-04-28 12:39:59,387 INFO L290 TraceCheckUtils]: 29: Hoare triple {19830#true} assume !(0 == ~cond); {19830#true} is VALID [2022-04-28 12:39:59,387 INFO L290 TraceCheckUtils]: 28: Hoare triple {19830#true} ~cond := #in~cond; {19830#true} is VALID [2022-04-28 12:39:59,387 INFO L272 TraceCheckUtils]: 27: Hoare triple {20193#(< ~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)); {19830#true} is VALID [2022-04-28 12:39:59,387 INFO L290 TraceCheckUtils]: 26: Hoare triple {20193#(< ~counter~0 16)} assume !!(#t~post7 < 20);havoc #t~post7; {20193#(< ~counter~0 16)} is VALID [2022-04-28 12:39:59,388 INFO L290 TraceCheckUtils]: 25: Hoare triple {20218#(< ~counter~0 15)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {20193#(< ~counter~0 16)} is VALID [2022-04-28 12:39:59,388 INFO L290 TraceCheckUtils]: 24: Hoare triple {20218#(< ~counter~0 15)} assume !!(0 != ~r~0); {20218#(< ~counter~0 15)} is VALID [2022-04-28 12:39:59,388 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {19830#true} {20218#(< ~counter~0 15)} #94#return; {20218#(< ~counter~0 15)} is VALID [2022-04-28 12:39:59,389 INFO L290 TraceCheckUtils]: 22: Hoare triple {19830#true} assume true; {19830#true} is VALID [2022-04-28 12:39:59,389 INFO L290 TraceCheckUtils]: 21: Hoare triple {19830#true} assume !(0 == ~cond); {19830#true} is VALID [2022-04-28 12:39:59,389 INFO L290 TraceCheckUtils]: 20: Hoare triple {19830#true} ~cond := #in~cond; {19830#true} is VALID [2022-04-28 12:39:59,389 INFO L272 TraceCheckUtils]: 19: Hoare triple {20218#(< ~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)); {19830#true} is VALID [2022-04-28 12:39:59,389 INFO L290 TraceCheckUtils]: 18: Hoare triple {20218#(< ~counter~0 15)} assume !!(#t~post6 < 20);havoc #t~post6; {20218#(< ~counter~0 15)} is VALID [2022-04-28 12:39:59,389 INFO L290 TraceCheckUtils]: 17: Hoare triple {20243#(< ~counter~0 14)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20218#(< ~counter~0 15)} is VALID [2022-04-28 12:39:59,390 INFO L290 TraceCheckUtils]: 16: Hoare triple {20243#(< ~counter~0 14)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {20243#(< ~counter~0 14)} is VALID [2022-04-28 12:39:59,390 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {19830#true} {20243#(< ~counter~0 14)} #92#return; {20243#(< ~counter~0 14)} is VALID [2022-04-28 12:39:59,390 INFO L290 TraceCheckUtils]: 14: Hoare triple {19830#true} assume true; {19830#true} is VALID [2022-04-28 12:39:59,390 INFO L290 TraceCheckUtils]: 13: Hoare triple {19830#true} assume !(0 == ~cond); {19830#true} is VALID [2022-04-28 12:39:59,390 INFO L290 TraceCheckUtils]: 12: Hoare triple {19830#true} ~cond := #in~cond; {19830#true} is VALID [2022-04-28 12:39:59,390 INFO L272 TraceCheckUtils]: 11: Hoare triple {20243#(< ~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)); {19830#true} is VALID [2022-04-28 12:39:59,391 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {19830#true} {20243#(< ~counter~0 14)} #90#return; {20243#(< ~counter~0 14)} is VALID [2022-04-28 12:39:59,391 INFO L290 TraceCheckUtils]: 9: Hoare triple {19830#true} assume true; {19830#true} is VALID [2022-04-28 12:39:59,391 INFO L290 TraceCheckUtils]: 8: Hoare triple {19830#true} assume !(0 == ~cond); {19830#true} is VALID [2022-04-28 12:39:59,391 INFO L290 TraceCheckUtils]: 7: Hoare triple {19830#true} ~cond := #in~cond; {19830#true} is VALID [2022-04-28 12:39:59,391 INFO L272 TraceCheckUtils]: 6: Hoare triple {20243#(< ~counter~0 14)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {19830#true} is VALID [2022-04-28 12:39:59,391 INFO L290 TraceCheckUtils]: 5: Hoare triple {20243#(< ~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; {20243#(< ~counter~0 14)} is VALID [2022-04-28 12:39:59,392 INFO L272 TraceCheckUtils]: 4: Hoare triple {20243#(< ~counter~0 14)} call #t~ret9 := main(); {20243#(< ~counter~0 14)} is VALID [2022-04-28 12:39:59,392 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20243#(< ~counter~0 14)} {19830#true} #102#return; {20243#(< ~counter~0 14)} is VALID [2022-04-28 12:39:59,392 INFO L290 TraceCheckUtils]: 2: Hoare triple {20243#(< ~counter~0 14)} assume true; {20243#(< ~counter~0 14)} is VALID [2022-04-28 12:39:59,393 INFO L290 TraceCheckUtils]: 1: Hoare triple {19830#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; {20243#(< ~counter~0 14)} is VALID [2022-04-28 12:39:59,393 INFO L272 TraceCheckUtils]: 0: Hoare triple {19830#true} call ULTIMATE.init(); {19830#true} is VALID [2022-04-28 12:39:59,393 INFO L134 CoverageAnalysis]: Checked inductivity of 100 backedges. 20 proven. 16 refuted. 0 times theorem prover too weak. 64 trivial. 0 not checked. [2022-04-28 12:39:59,393 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:39:59,393 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1131745925] [2022-04-28 12:39:59,393 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:39:59,394 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1069730778] [2022-04-28 12:39:59,394 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1069730778] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:39:59,394 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:39:59,394 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 18 [2022-04-28 12:39:59,394 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:39:59,394 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1045339802] [2022-04-28 12:39:59,394 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1045339802] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:39:59,394 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:39:59,394 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 12:39:59,394 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [795598504] [2022-04-28 12:39:59,394 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:39:59,395 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 5.2) internal successors, (52), 9 states have internal predecessors, (52), 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 75 [2022-04-28 12:39:59,395 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:39:59,395 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 5.2) internal successors, (52), 9 states have internal predecessors, (52), 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:39:59,447 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:39:59,448 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 12:39:59,448 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:39:59,448 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 12:39:59,448 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=125, Invalid=181, Unknown=0, NotChecked=0, Total=306 [2022-04-28 12:39:59,448 INFO L87 Difference]: Start difference. First operand 213 states and 276 transitions. Second operand has 10 states, 10 states have (on average 5.2) internal successors, (52), 9 states have internal predecessors, (52), 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:39:59,984 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:39:59,984 INFO L93 Difference]: Finished difference Result 286 states and 378 transitions. [2022-04-28 12:39:59,984 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-28 12:39:59,985 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 5.2) internal successors, (52), 9 states have internal predecessors, (52), 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 75 [2022-04-28 12:39:59,985 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:39:59,985 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 5.2) internal successors, (52), 9 states have internal predecessors, (52), 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:39:59,986 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 157 transitions. [2022-04-28 12:39:59,986 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 5.2) internal successors, (52), 9 states have internal predecessors, (52), 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:39:59,987 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 157 transitions. [2022-04-28 12:39:59,987 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 157 transitions. [2022-04-28 12:40:00,090 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 157 edges. 157 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:40:00,094 INFO L225 Difference]: With dead ends: 286 [2022-04-28 12:40:00,094 INFO L226 Difference]: Without dead ends: 222 [2022-04-28 12:40:00,094 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 154 GetRequests, 133 SyntacticMatches, 0 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 29 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=205, Invalid=301, Unknown=0, NotChecked=0, Total=506 [2022-04-28 12:40:00,094 INFO L413 NwaCegarLoop]: 48 mSDtfsCounter, 54 mSDsluCounter, 153 mSDsCounter, 0 mSdLazyCounter, 81 mSolverCounterSat, 49 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 54 SdHoareTripleChecker+Valid, 201 SdHoareTripleChecker+Invalid, 130 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 49 IncrementalHoareTripleChecker+Valid, 81 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:40:00,095 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [54 Valid, 201 Invalid, 130 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [49 Valid, 81 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:40:00,095 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 222 states. [2022-04-28 12:40:00,278 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 222 to 222. [2022-04-28 12:40:00,278 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:40:00,279 INFO L82 GeneralOperation]: Start isEquivalent. First operand 222 states. Second operand has 222 states, 166 states have (on average 1.2108433734939759) internal successors, (201), 168 states have internal predecessors, (201), 43 states have call successors, (43), 14 states have call predecessors, (43), 12 states have return successors, (41), 39 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-28 12:40:00,279 INFO L74 IsIncluded]: Start isIncluded. First operand 222 states. Second operand has 222 states, 166 states have (on average 1.2108433734939759) internal successors, (201), 168 states have internal predecessors, (201), 43 states have call successors, (43), 14 states have call predecessors, (43), 12 states have return successors, (41), 39 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-28 12:40:00,279 INFO L87 Difference]: Start difference. First operand 222 states. Second operand has 222 states, 166 states have (on average 1.2108433734939759) internal successors, (201), 168 states have internal predecessors, (201), 43 states have call successors, (43), 14 states have call predecessors, (43), 12 states have return successors, (41), 39 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-28 12:40:00,282 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:40:00,282 INFO L93 Difference]: Finished difference Result 222 states and 285 transitions. [2022-04-28 12:40:00,283 INFO L276 IsEmpty]: Start isEmpty. Operand 222 states and 285 transitions. [2022-04-28 12:40:00,283 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:40:00,283 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:40:00,283 INFO L74 IsIncluded]: Start isIncluded. First operand has 222 states, 166 states have (on average 1.2108433734939759) internal successors, (201), 168 states have internal predecessors, (201), 43 states have call successors, (43), 14 states have call predecessors, (43), 12 states have return successors, (41), 39 states have call predecessors, (41), 41 states have call successors, (41) Second operand 222 states. [2022-04-28 12:40:00,284 INFO L87 Difference]: Start difference. First operand has 222 states, 166 states have (on average 1.2108433734939759) internal successors, (201), 168 states have internal predecessors, (201), 43 states have call successors, (43), 14 states have call predecessors, (43), 12 states have return successors, (41), 39 states have call predecessors, (41), 41 states have call successors, (41) Second operand 222 states. [2022-04-28 12:40:00,287 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:40:00,287 INFO L93 Difference]: Finished difference Result 222 states and 285 transitions. [2022-04-28 12:40:00,287 INFO L276 IsEmpty]: Start isEmpty. Operand 222 states and 285 transitions. [2022-04-28 12:40:00,287 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:40:00,287 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:40:00,288 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:40:00,288 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:40:00,288 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 222 states, 166 states have (on average 1.2108433734939759) internal successors, (201), 168 states have internal predecessors, (201), 43 states have call successors, (43), 14 states have call predecessors, (43), 12 states have return successors, (41), 39 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-28 12:40:00,293 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 222 states to 222 states and 285 transitions. [2022-04-28 12:40:00,293 INFO L78 Accepts]: Start accepts. Automaton has 222 states and 285 transitions. Word has length 75 [2022-04-28 12:40:00,293 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:40:00,293 INFO L495 AbstractCegarLoop]: Abstraction has 222 states and 285 transitions. [2022-04-28 12:40:00,293 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 5.2) internal successors, (52), 9 states have internal predecessors, (52), 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:40:00,293 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 222 states and 285 transitions. [2022-04-28 12:40:09,092 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 285 edges. 283 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-28 12:40:09,093 INFO L276 IsEmpty]: Start isEmpty. Operand 222 states and 285 transitions. [2022-04-28 12:40:09,093 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 80 [2022-04-28 12:40:09,093 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:40:09,093 INFO L195 NwaCegarLoop]: trace histogram [8, 7, 7, 5, 5, 5, 5, 4, 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, 1, 1, 1] [2022-04-28 12:40:09,117 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:40:09,298 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:40:09,298 INFO L420 AbstractCegarLoop]: === Iteration 21 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:40:09,298 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:40:09,298 INFO L85 PathProgramCache]: Analyzing trace with hash -1970775776, now seen corresponding path program 7 times [2022-04-28 12:40:09,299 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:40:09,299 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [835104647] [2022-04-28 12:40:09,299 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:40:09,299 INFO L85 PathProgramCache]: Analyzing trace with hash -1970775776, now seen corresponding path program 8 times [2022-04-28 12:40:09,299 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:40:09,299 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [512000363] [2022-04-28 12:40:09,299 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:40:09,299 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:40:09,318 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:40:09,318 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [451551496] [2022-04-28 12:40:09,318 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:40:09,318 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:40:09,318 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:40:09,319 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:40:09,350 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:40:09,385 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:40:09,385 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:40:09,386 INFO L263 TraceCheckSpWp]: Trace formula consists of 214 conjuncts, 19 conjunts are in the unsatisfiable core [2022-04-28 12:40:09,402 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:40:09,403 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:40:09,776 INFO L272 TraceCheckUtils]: 0: Hoare triple {21767#true} call ULTIMATE.init(); {21767#true} is VALID [2022-04-28 12:40:09,776 INFO L290 TraceCheckUtils]: 1: Hoare triple {21767#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; {21775#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:09,777 INFO L290 TraceCheckUtils]: 2: Hoare triple {21775#(<= ~counter~0 0)} assume true; {21775#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:09,777 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21775#(<= ~counter~0 0)} {21767#true} #102#return; {21775#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:09,777 INFO L272 TraceCheckUtils]: 4: Hoare triple {21775#(<= ~counter~0 0)} call #t~ret9 := main(); {21775#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:09,778 INFO L290 TraceCheckUtils]: 5: Hoare triple {21775#(<= ~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; {21775#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:09,778 INFO L272 TraceCheckUtils]: 6: Hoare triple {21775#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {21775#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:09,778 INFO L290 TraceCheckUtils]: 7: Hoare triple {21775#(<= ~counter~0 0)} ~cond := #in~cond; {21775#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:09,779 INFO L290 TraceCheckUtils]: 8: Hoare triple {21775#(<= ~counter~0 0)} assume !(0 == ~cond); {21775#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:09,779 INFO L290 TraceCheckUtils]: 9: Hoare triple {21775#(<= ~counter~0 0)} assume true; {21775#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:09,779 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {21775#(<= ~counter~0 0)} {21775#(<= ~counter~0 0)} #90#return; {21775#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:09,780 INFO L272 TraceCheckUtils]: 11: Hoare triple {21775#(<= ~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)); {21775#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:09,780 INFO L290 TraceCheckUtils]: 12: Hoare triple {21775#(<= ~counter~0 0)} ~cond := #in~cond; {21775#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:09,780 INFO L290 TraceCheckUtils]: 13: Hoare triple {21775#(<= ~counter~0 0)} assume !(0 == ~cond); {21775#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:09,781 INFO L290 TraceCheckUtils]: 14: Hoare triple {21775#(<= ~counter~0 0)} assume true; {21775#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:09,781 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {21775#(<= ~counter~0 0)} {21775#(<= ~counter~0 0)} #92#return; {21775#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:09,781 INFO L290 TraceCheckUtils]: 16: Hoare triple {21775#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {21775#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:09,782 INFO L290 TraceCheckUtils]: 17: Hoare triple {21775#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21824#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:09,783 INFO L290 TraceCheckUtils]: 18: Hoare triple {21824#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {21824#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:09,783 INFO L272 TraceCheckUtils]: 19: Hoare triple {21824#(<= ~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)); {21824#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:09,783 INFO L290 TraceCheckUtils]: 20: Hoare triple {21824#(<= ~counter~0 1)} ~cond := #in~cond; {21824#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:09,784 INFO L290 TraceCheckUtils]: 21: Hoare triple {21824#(<= ~counter~0 1)} assume !(0 == ~cond); {21824#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:09,784 INFO L290 TraceCheckUtils]: 22: Hoare triple {21824#(<= ~counter~0 1)} assume true; {21824#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:09,784 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {21824#(<= ~counter~0 1)} {21824#(<= ~counter~0 1)} #94#return; {21824#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:09,785 INFO L290 TraceCheckUtils]: 24: Hoare triple {21824#(<= ~counter~0 1)} assume !!(0 != ~r~0); {21824#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:09,785 INFO L290 TraceCheckUtils]: 25: Hoare triple {21824#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {21849#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:09,786 INFO L290 TraceCheckUtils]: 26: Hoare triple {21849#(<= ~counter~0 2)} assume !!(#t~post7 < 20);havoc #t~post7; {21849#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:09,786 INFO L272 TraceCheckUtils]: 27: Hoare triple {21849#(<= ~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)); {21849#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:09,786 INFO L290 TraceCheckUtils]: 28: Hoare triple {21849#(<= ~counter~0 2)} ~cond := #in~cond; {21849#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:09,787 INFO L290 TraceCheckUtils]: 29: Hoare triple {21849#(<= ~counter~0 2)} assume !(0 == ~cond); {21849#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:09,787 INFO L290 TraceCheckUtils]: 30: Hoare triple {21849#(<= ~counter~0 2)} assume true; {21849#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:09,788 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {21849#(<= ~counter~0 2)} {21849#(<= ~counter~0 2)} #96#return; {21849#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:09,788 INFO L290 TraceCheckUtils]: 32: Hoare triple {21849#(<= ~counter~0 2)} assume !(~r~0 > 0); {21849#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:09,788 INFO L290 TraceCheckUtils]: 33: Hoare triple {21849#(<= ~counter~0 2)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {21874#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:09,789 INFO L290 TraceCheckUtils]: 34: Hoare triple {21874#(<= ~counter~0 3)} assume !!(#t~post8 < 20);havoc #t~post8; {21874#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:09,789 INFO L272 TraceCheckUtils]: 35: Hoare triple {21874#(<= ~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)); {21874#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:09,789 INFO L290 TraceCheckUtils]: 36: Hoare triple {21874#(<= ~counter~0 3)} ~cond := #in~cond; {21874#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:09,790 INFO L290 TraceCheckUtils]: 37: Hoare triple {21874#(<= ~counter~0 3)} assume !(0 == ~cond); {21874#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:09,790 INFO L290 TraceCheckUtils]: 38: Hoare triple {21874#(<= ~counter~0 3)} assume true; {21874#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:09,791 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {21874#(<= ~counter~0 3)} {21874#(<= ~counter~0 3)} #98#return; {21874#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:09,791 INFO L290 TraceCheckUtils]: 40: Hoare triple {21874#(<= ~counter~0 3)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {21874#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:09,791 INFO L290 TraceCheckUtils]: 41: Hoare triple {21874#(<= ~counter~0 3)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {21899#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:09,792 INFO L290 TraceCheckUtils]: 42: Hoare triple {21899#(<= ~counter~0 4)} assume !!(#t~post8 < 20);havoc #t~post8; {21899#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:09,792 INFO L272 TraceCheckUtils]: 43: Hoare triple {21899#(<= ~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)); {21899#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:09,792 INFO L290 TraceCheckUtils]: 44: Hoare triple {21899#(<= ~counter~0 4)} ~cond := #in~cond; {21899#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:09,793 INFO L290 TraceCheckUtils]: 45: Hoare triple {21899#(<= ~counter~0 4)} assume !(0 == ~cond); {21899#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:09,793 INFO L290 TraceCheckUtils]: 46: Hoare triple {21899#(<= ~counter~0 4)} assume true; {21899#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:09,794 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {21899#(<= ~counter~0 4)} {21899#(<= ~counter~0 4)} #98#return; {21899#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:09,794 INFO L290 TraceCheckUtils]: 48: Hoare triple {21899#(<= ~counter~0 4)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {21899#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:09,794 INFO L290 TraceCheckUtils]: 49: Hoare triple {21899#(<= ~counter~0 4)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {21924#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:09,795 INFO L290 TraceCheckUtils]: 50: Hoare triple {21924#(<= ~counter~0 5)} assume !!(#t~post8 < 20);havoc #t~post8; {21924#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:09,795 INFO L272 TraceCheckUtils]: 51: Hoare triple {21924#(<= ~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)); {21924#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:09,795 INFO L290 TraceCheckUtils]: 52: Hoare triple {21924#(<= ~counter~0 5)} ~cond := #in~cond; {21924#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:09,796 INFO L290 TraceCheckUtils]: 53: Hoare triple {21924#(<= ~counter~0 5)} assume !(0 == ~cond); {21924#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:09,796 INFO L290 TraceCheckUtils]: 54: Hoare triple {21924#(<= ~counter~0 5)} assume true; {21924#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:09,797 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {21924#(<= ~counter~0 5)} {21924#(<= ~counter~0 5)} #98#return; {21924#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:09,797 INFO L290 TraceCheckUtils]: 56: Hoare triple {21924#(<= ~counter~0 5)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {21924#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:09,797 INFO L290 TraceCheckUtils]: 57: Hoare triple {21924#(<= ~counter~0 5)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {21949#(<= ~counter~0 6)} is VALID [2022-04-28 12:40:09,798 INFO L290 TraceCheckUtils]: 58: Hoare triple {21949#(<= ~counter~0 6)} assume !!(#t~post8 < 20);havoc #t~post8; {21949#(<= ~counter~0 6)} is VALID [2022-04-28 12:40:09,798 INFO L272 TraceCheckUtils]: 59: Hoare triple {21949#(<= ~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)); {21949#(<= ~counter~0 6)} is VALID [2022-04-28 12:40:09,798 INFO L290 TraceCheckUtils]: 60: Hoare triple {21949#(<= ~counter~0 6)} ~cond := #in~cond; {21949#(<= ~counter~0 6)} is VALID [2022-04-28 12:40:09,799 INFO L290 TraceCheckUtils]: 61: Hoare triple {21949#(<= ~counter~0 6)} assume !(0 == ~cond); {21949#(<= ~counter~0 6)} is VALID [2022-04-28 12:40:09,799 INFO L290 TraceCheckUtils]: 62: Hoare triple {21949#(<= ~counter~0 6)} assume true; {21949#(<= ~counter~0 6)} is VALID [2022-04-28 12:40:09,800 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {21949#(<= ~counter~0 6)} {21949#(<= ~counter~0 6)} #98#return; {21949#(<= ~counter~0 6)} is VALID [2022-04-28 12:40:09,800 INFO L290 TraceCheckUtils]: 64: Hoare triple {21949#(<= ~counter~0 6)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {21949#(<= ~counter~0 6)} is VALID [2022-04-28 12:40:09,800 INFO L290 TraceCheckUtils]: 65: Hoare triple {21949#(<= ~counter~0 6)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {21974#(<= ~counter~0 7)} is VALID [2022-04-28 12:40:09,801 INFO L290 TraceCheckUtils]: 66: Hoare triple {21974#(<= ~counter~0 7)} assume !!(#t~post8 < 20);havoc #t~post8; {21974#(<= ~counter~0 7)} is VALID [2022-04-28 12:40:09,801 INFO L272 TraceCheckUtils]: 67: Hoare triple {21974#(<= ~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)); {21974#(<= ~counter~0 7)} is VALID [2022-04-28 12:40:09,801 INFO L290 TraceCheckUtils]: 68: Hoare triple {21974#(<= ~counter~0 7)} ~cond := #in~cond; {21974#(<= ~counter~0 7)} is VALID [2022-04-28 12:40:09,802 INFO L290 TraceCheckUtils]: 69: Hoare triple {21974#(<= ~counter~0 7)} assume !(0 == ~cond); {21974#(<= ~counter~0 7)} is VALID [2022-04-28 12:40:09,802 INFO L290 TraceCheckUtils]: 70: Hoare triple {21974#(<= ~counter~0 7)} assume true; {21974#(<= ~counter~0 7)} is VALID [2022-04-28 12:40:09,803 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {21974#(<= ~counter~0 7)} {21974#(<= ~counter~0 7)} #98#return; {21974#(<= ~counter~0 7)} is VALID [2022-04-28 12:40:09,803 INFO L290 TraceCheckUtils]: 72: Hoare triple {21974#(<= ~counter~0 7)} assume !(~r~0 < 0); {21974#(<= ~counter~0 7)} is VALID [2022-04-28 12:40:09,803 INFO L290 TraceCheckUtils]: 73: Hoare triple {21974#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21999#(<= |main_#t~post6| 7)} is VALID [2022-04-28 12:40:09,804 INFO L290 TraceCheckUtils]: 74: Hoare triple {21999#(<= |main_#t~post6| 7)} assume !(#t~post6 < 20);havoc #t~post6; {21768#false} is VALID [2022-04-28 12:40:09,804 INFO L272 TraceCheckUtils]: 75: Hoare triple {21768#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)); {21768#false} is VALID [2022-04-28 12:40:09,804 INFO L290 TraceCheckUtils]: 76: Hoare triple {21768#false} ~cond := #in~cond; {21768#false} is VALID [2022-04-28 12:40:09,804 INFO L290 TraceCheckUtils]: 77: Hoare triple {21768#false} assume 0 == ~cond; {21768#false} is VALID [2022-04-28 12:40:09,804 INFO L290 TraceCheckUtils]: 78: Hoare triple {21768#false} assume !false; {21768#false} is VALID [2022-04-28 12:40:09,804 INFO L134 CoverageAnalysis]: Checked inductivity of 144 backedges. 14 proven. 126 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:40:09,804 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:40:10,209 INFO L290 TraceCheckUtils]: 78: Hoare triple {21768#false} assume !false; {21768#false} is VALID [2022-04-28 12:40:10,209 INFO L290 TraceCheckUtils]: 77: Hoare triple {21768#false} assume 0 == ~cond; {21768#false} is VALID [2022-04-28 12:40:10,209 INFO L290 TraceCheckUtils]: 76: Hoare triple {21768#false} ~cond := #in~cond; {21768#false} is VALID [2022-04-28 12:40:10,209 INFO L272 TraceCheckUtils]: 75: Hoare triple {21768#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)); {21768#false} is VALID [2022-04-28 12:40:10,209 INFO L290 TraceCheckUtils]: 74: Hoare triple {22027#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {21768#false} is VALID [2022-04-28 12:40:10,210 INFO L290 TraceCheckUtils]: 73: Hoare triple {22031#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22027#(< |main_#t~post6| 20)} is VALID [2022-04-28 12:40:10,210 INFO L290 TraceCheckUtils]: 72: Hoare triple {22031#(< ~counter~0 20)} assume !(~r~0 < 0); {22031#(< ~counter~0 20)} is VALID [2022-04-28 12:40:10,220 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {21767#true} {22031#(< ~counter~0 20)} #98#return; {22031#(< ~counter~0 20)} is VALID [2022-04-28 12:40:10,220 INFO L290 TraceCheckUtils]: 70: Hoare triple {21767#true} assume true; {21767#true} is VALID [2022-04-28 12:40:10,220 INFO L290 TraceCheckUtils]: 69: Hoare triple {21767#true} assume !(0 == ~cond); {21767#true} is VALID [2022-04-28 12:40:10,220 INFO L290 TraceCheckUtils]: 68: Hoare triple {21767#true} ~cond := #in~cond; {21767#true} is VALID [2022-04-28 12:40:10,220 INFO L272 TraceCheckUtils]: 67: Hoare triple {22031#(< ~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)); {21767#true} is VALID [2022-04-28 12:40:10,220 INFO L290 TraceCheckUtils]: 66: Hoare triple {22031#(< ~counter~0 20)} assume !!(#t~post8 < 20);havoc #t~post8; {22031#(< ~counter~0 20)} is VALID [2022-04-28 12:40:10,221 INFO L290 TraceCheckUtils]: 65: Hoare triple {22056#(< ~counter~0 19)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {22031#(< ~counter~0 20)} is VALID [2022-04-28 12:40:10,221 INFO L290 TraceCheckUtils]: 64: Hoare triple {22056#(< ~counter~0 19)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {22056#(< ~counter~0 19)} is VALID [2022-04-28 12:40:10,222 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {21767#true} {22056#(< ~counter~0 19)} #98#return; {22056#(< ~counter~0 19)} is VALID [2022-04-28 12:40:10,222 INFO L290 TraceCheckUtils]: 62: Hoare triple {21767#true} assume true; {21767#true} is VALID [2022-04-28 12:40:10,222 INFO L290 TraceCheckUtils]: 61: Hoare triple {21767#true} assume !(0 == ~cond); {21767#true} is VALID [2022-04-28 12:40:10,222 INFO L290 TraceCheckUtils]: 60: Hoare triple {21767#true} ~cond := #in~cond; {21767#true} is VALID [2022-04-28 12:40:10,222 INFO L272 TraceCheckUtils]: 59: Hoare triple {22056#(< ~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)); {21767#true} is VALID [2022-04-28 12:40:10,223 INFO L290 TraceCheckUtils]: 58: Hoare triple {22056#(< ~counter~0 19)} assume !!(#t~post8 < 20);havoc #t~post8; {22056#(< ~counter~0 19)} is VALID [2022-04-28 12:40:10,223 INFO L290 TraceCheckUtils]: 57: Hoare triple {22081#(< ~counter~0 18)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {22056#(< ~counter~0 19)} is VALID [2022-04-28 12:40:10,224 INFO L290 TraceCheckUtils]: 56: Hoare triple {22081#(< ~counter~0 18)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {22081#(< ~counter~0 18)} is VALID [2022-04-28 12:40:10,224 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {21767#true} {22081#(< ~counter~0 18)} #98#return; {22081#(< ~counter~0 18)} is VALID [2022-04-28 12:40:10,224 INFO L290 TraceCheckUtils]: 54: Hoare triple {21767#true} assume true; {21767#true} is VALID [2022-04-28 12:40:10,224 INFO L290 TraceCheckUtils]: 53: Hoare triple {21767#true} assume !(0 == ~cond); {21767#true} is VALID [2022-04-28 12:40:10,224 INFO L290 TraceCheckUtils]: 52: Hoare triple {21767#true} ~cond := #in~cond; {21767#true} is VALID [2022-04-28 12:40:10,225 INFO L272 TraceCheckUtils]: 51: Hoare triple {22081#(< ~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)); {21767#true} is VALID [2022-04-28 12:40:10,225 INFO L290 TraceCheckUtils]: 50: Hoare triple {22081#(< ~counter~0 18)} assume !!(#t~post8 < 20);havoc #t~post8; {22081#(< ~counter~0 18)} is VALID [2022-04-28 12:40:10,225 INFO L290 TraceCheckUtils]: 49: Hoare triple {22106#(< ~counter~0 17)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {22081#(< ~counter~0 18)} is VALID [2022-04-28 12:40:10,226 INFO L290 TraceCheckUtils]: 48: Hoare triple {22106#(< ~counter~0 17)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {22106#(< ~counter~0 17)} is VALID [2022-04-28 12:40:10,226 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {21767#true} {22106#(< ~counter~0 17)} #98#return; {22106#(< ~counter~0 17)} is VALID [2022-04-28 12:40:10,226 INFO L290 TraceCheckUtils]: 46: Hoare triple {21767#true} assume true; {21767#true} is VALID [2022-04-28 12:40:10,226 INFO L290 TraceCheckUtils]: 45: Hoare triple {21767#true} assume !(0 == ~cond); {21767#true} is VALID [2022-04-28 12:40:10,227 INFO L290 TraceCheckUtils]: 44: Hoare triple {21767#true} ~cond := #in~cond; {21767#true} is VALID [2022-04-28 12:40:10,227 INFO L272 TraceCheckUtils]: 43: Hoare triple {22106#(< ~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)); {21767#true} is VALID [2022-04-28 12:40:10,227 INFO L290 TraceCheckUtils]: 42: Hoare triple {22106#(< ~counter~0 17)} assume !!(#t~post8 < 20);havoc #t~post8; {22106#(< ~counter~0 17)} is VALID [2022-04-28 12:40:10,227 INFO L290 TraceCheckUtils]: 41: Hoare triple {22131#(< ~counter~0 16)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {22106#(< ~counter~0 17)} is VALID [2022-04-28 12:40:10,228 INFO L290 TraceCheckUtils]: 40: Hoare triple {22131#(< ~counter~0 16)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {22131#(< ~counter~0 16)} is VALID [2022-04-28 12:40:10,228 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {21767#true} {22131#(< ~counter~0 16)} #98#return; {22131#(< ~counter~0 16)} is VALID [2022-04-28 12:40:10,228 INFO L290 TraceCheckUtils]: 38: Hoare triple {21767#true} assume true; {21767#true} is VALID [2022-04-28 12:40:10,229 INFO L290 TraceCheckUtils]: 37: Hoare triple {21767#true} assume !(0 == ~cond); {21767#true} is VALID [2022-04-28 12:40:10,229 INFO L290 TraceCheckUtils]: 36: Hoare triple {21767#true} ~cond := #in~cond; {21767#true} is VALID [2022-04-28 12:40:10,229 INFO L272 TraceCheckUtils]: 35: Hoare triple {22131#(< ~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)); {21767#true} is VALID [2022-04-28 12:40:10,229 INFO L290 TraceCheckUtils]: 34: Hoare triple {22131#(< ~counter~0 16)} assume !!(#t~post8 < 20);havoc #t~post8; {22131#(< ~counter~0 16)} is VALID [2022-04-28 12:40:10,230 INFO L290 TraceCheckUtils]: 33: Hoare triple {22156#(< ~counter~0 15)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {22131#(< ~counter~0 16)} is VALID [2022-04-28 12:40:10,230 INFO L290 TraceCheckUtils]: 32: Hoare triple {22156#(< ~counter~0 15)} assume !(~r~0 > 0); {22156#(< ~counter~0 15)} is VALID [2022-04-28 12:40:10,230 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {21767#true} {22156#(< ~counter~0 15)} #96#return; {22156#(< ~counter~0 15)} is VALID [2022-04-28 12:40:10,231 INFO L290 TraceCheckUtils]: 30: Hoare triple {21767#true} assume true; {21767#true} is VALID [2022-04-28 12:40:10,231 INFO L290 TraceCheckUtils]: 29: Hoare triple {21767#true} assume !(0 == ~cond); {21767#true} is VALID [2022-04-28 12:40:10,231 INFO L290 TraceCheckUtils]: 28: Hoare triple {21767#true} ~cond := #in~cond; {21767#true} is VALID [2022-04-28 12:40:10,231 INFO L272 TraceCheckUtils]: 27: Hoare triple {22156#(< ~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)); {21767#true} is VALID [2022-04-28 12:40:10,231 INFO L290 TraceCheckUtils]: 26: Hoare triple {22156#(< ~counter~0 15)} assume !!(#t~post7 < 20);havoc #t~post7; {22156#(< ~counter~0 15)} is VALID [2022-04-28 12:40:10,232 INFO L290 TraceCheckUtils]: 25: Hoare triple {22181#(< ~counter~0 14)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {22156#(< ~counter~0 15)} is VALID [2022-04-28 12:40:10,232 INFO L290 TraceCheckUtils]: 24: Hoare triple {22181#(< ~counter~0 14)} assume !!(0 != ~r~0); {22181#(< ~counter~0 14)} is VALID [2022-04-28 12:40:10,233 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {21767#true} {22181#(< ~counter~0 14)} #94#return; {22181#(< ~counter~0 14)} is VALID [2022-04-28 12:40:10,233 INFO L290 TraceCheckUtils]: 22: Hoare triple {21767#true} assume true; {21767#true} is VALID [2022-04-28 12:40:10,233 INFO L290 TraceCheckUtils]: 21: Hoare triple {21767#true} assume !(0 == ~cond); {21767#true} is VALID [2022-04-28 12:40:10,233 INFO L290 TraceCheckUtils]: 20: Hoare triple {21767#true} ~cond := #in~cond; {21767#true} is VALID [2022-04-28 12:40:10,233 INFO L272 TraceCheckUtils]: 19: Hoare triple {22181#(< ~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)); {21767#true} is VALID [2022-04-28 12:40:10,233 INFO L290 TraceCheckUtils]: 18: Hoare triple {22181#(< ~counter~0 14)} assume !!(#t~post6 < 20);havoc #t~post6; {22181#(< ~counter~0 14)} is VALID [2022-04-28 12:40:10,234 INFO L290 TraceCheckUtils]: 17: Hoare triple {22206#(< ~counter~0 13)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22181#(< ~counter~0 14)} is VALID [2022-04-28 12:40:10,234 INFO L290 TraceCheckUtils]: 16: Hoare triple {22206#(< ~counter~0 13)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {22206#(< ~counter~0 13)} is VALID [2022-04-28 12:40:10,235 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {21767#true} {22206#(< ~counter~0 13)} #92#return; {22206#(< ~counter~0 13)} is VALID [2022-04-28 12:40:10,235 INFO L290 TraceCheckUtils]: 14: Hoare triple {21767#true} assume true; {21767#true} is VALID [2022-04-28 12:40:10,235 INFO L290 TraceCheckUtils]: 13: Hoare triple {21767#true} assume !(0 == ~cond); {21767#true} is VALID [2022-04-28 12:40:10,235 INFO L290 TraceCheckUtils]: 12: Hoare triple {21767#true} ~cond := #in~cond; {21767#true} is VALID [2022-04-28 12:40:10,235 INFO L272 TraceCheckUtils]: 11: Hoare triple {22206#(< ~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)); {21767#true} is VALID [2022-04-28 12:40:10,236 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {21767#true} {22206#(< ~counter~0 13)} #90#return; {22206#(< ~counter~0 13)} is VALID [2022-04-28 12:40:10,236 INFO L290 TraceCheckUtils]: 9: Hoare triple {21767#true} assume true; {21767#true} is VALID [2022-04-28 12:40:10,236 INFO L290 TraceCheckUtils]: 8: Hoare triple {21767#true} assume !(0 == ~cond); {21767#true} is VALID [2022-04-28 12:40:10,236 INFO L290 TraceCheckUtils]: 7: Hoare triple {21767#true} ~cond := #in~cond; {21767#true} is VALID [2022-04-28 12:40:10,236 INFO L272 TraceCheckUtils]: 6: Hoare triple {22206#(< ~counter~0 13)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {21767#true} is VALID [2022-04-28 12:40:10,236 INFO L290 TraceCheckUtils]: 5: Hoare triple {22206#(< ~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; {22206#(< ~counter~0 13)} is VALID [2022-04-28 12:40:10,236 INFO L272 TraceCheckUtils]: 4: Hoare triple {22206#(< ~counter~0 13)} call #t~ret9 := main(); {22206#(< ~counter~0 13)} is VALID [2022-04-28 12:40:10,237 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {22206#(< ~counter~0 13)} {21767#true} #102#return; {22206#(< ~counter~0 13)} is VALID [2022-04-28 12:40:10,237 INFO L290 TraceCheckUtils]: 2: Hoare triple {22206#(< ~counter~0 13)} assume true; {22206#(< ~counter~0 13)} is VALID [2022-04-28 12:40:10,238 INFO L290 TraceCheckUtils]: 1: Hoare triple {21767#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; {22206#(< ~counter~0 13)} is VALID [2022-04-28 12:40:10,238 INFO L272 TraceCheckUtils]: 0: Hoare triple {21767#true} call ULTIMATE.init(); {21767#true} is VALID [2022-04-28 12:40:10,238 INFO L134 CoverageAnalysis]: Checked inductivity of 144 backedges. 14 proven. 42 refuted. 0 times theorem prover too weak. 88 trivial. 0 not checked. [2022-04-28 12:40:10,238 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:40:10,238 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [512000363] [2022-04-28 12:40:10,238 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:40:10,238 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [451551496] [2022-04-28 12:40:10,238 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [451551496] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:40:10,238 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:40:10,238 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 20 [2022-04-28 12:40:10,240 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:40:10,240 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [835104647] [2022-04-28 12:40:10,240 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [835104647] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:40:10,240 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:40:10,240 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 12:40:10,240 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1882560909] [2022-04-28 12:40:10,241 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:40:10,241 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 4.909090909090909) internal successors, (54), 10 states have internal predecessors, (54), 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 79 [2022-04-28 12:40:10,241 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:40:10,241 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 4.909090909090909) internal successors, (54), 10 states have internal predecessors, (54), 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:40:10,304 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 76 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:40:10,304 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 12:40:10,304 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:40:10,304 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 12:40:10,304 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=158, Invalid=222, Unknown=0, NotChecked=0, Total=380 [2022-04-28 12:40:10,304 INFO L87 Difference]: Start difference. First operand 222 states and 285 transitions. Second operand has 11 states, 11 states have (on average 4.909090909090909) internal successors, (54), 10 states have internal predecessors, (54), 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:40:10,906 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:40:10,906 INFO L93 Difference]: Finished difference Result 257 states and 329 transitions. [2022-04-28 12:40:10,907 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-28 12:40:10,907 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 4.909090909090909) internal successors, (54), 10 states have internal predecessors, (54), 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 79 [2022-04-28 12:40:10,907 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:40:10,907 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 4.909090909090909) internal successors, (54), 10 states have internal predecessors, (54), 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:40:10,908 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 155 transitions. [2022-04-28 12:40:10,908 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 4.909090909090909) internal successors, (54), 10 states have internal predecessors, (54), 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:40:10,909 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 155 transitions. [2022-04-28 12:40:10,909 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 155 transitions. [2022-04-28 12:40:11,025 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:40:11,029 INFO L225 Difference]: With dead ends: 257 [2022-04-28 12:40:11,029 INFO L226 Difference]: Without dead ends: 252 [2022-04-28 12:40:11,030 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 161 GetRequests, 139 SyntacticMatches, 0 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 28 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=225, Invalid=327, Unknown=0, NotChecked=0, Total=552 [2022-04-28 12:40:11,030 INFO L413 NwaCegarLoop]: 51 mSDtfsCounter, 88 mSDsluCounter, 142 mSDsCounter, 0 mSdLazyCounter, 79 mSolverCounterSat, 70 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 88 SdHoareTripleChecker+Valid, 193 SdHoareTripleChecker+Invalid, 149 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 70 IncrementalHoareTripleChecker+Valid, 79 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:40:11,030 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [88 Valid, 193 Invalid, 149 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [70 Valid, 79 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:40:11,031 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 252 states. [2022-04-28 12:40:11,264 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 252 to 243. [2022-04-28 12:40:11,264 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:40:11,264 INFO L82 GeneralOperation]: Start isEquivalent. First operand 252 states. Second operand has 243 states, 178 states have (on average 1.2078651685393258) internal successors, (215), 185 states have internal predecessors, (215), 50 states have call successors, (50), 16 states have call predecessors, (50), 14 states have return successors, (48), 41 states have call predecessors, (48), 48 states have call successors, (48) [2022-04-28 12:40:11,265 INFO L74 IsIncluded]: Start isIncluded. First operand 252 states. Second operand has 243 states, 178 states have (on average 1.2078651685393258) internal successors, (215), 185 states have internal predecessors, (215), 50 states have call successors, (50), 16 states have call predecessors, (50), 14 states have return successors, (48), 41 states have call predecessors, (48), 48 states have call successors, (48) [2022-04-28 12:40:11,265 INFO L87 Difference]: Start difference. First operand 252 states. Second operand has 243 states, 178 states have (on average 1.2078651685393258) internal successors, (215), 185 states have internal predecessors, (215), 50 states have call successors, (50), 16 states have call predecessors, (50), 14 states have return successors, (48), 41 states have call predecessors, (48), 48 states have call successors, (48) [2022-04-28 12:40:11,269 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:40:11,269 INFO L93 Difference]: Finished difference Result 252 states and 323 transitions. [2022-04-28 12:40:11,269 INFO L276 IsEmpty]: Start isEmpty. Operand 252 states and 323 transitions. [2022-04-28 12:40:11,269 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:40:11,269 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:40:11,269 INFO L74 IsIncluded]: Start isIncluded. First operand has 243 states, 178 states have (on average 1.2078651685393258) internal successors, (215), 185 states have internal predecessors, (215), 50 states have call successors, (50), 16 states have call predecessors, (50), 14 states have return successors, (48), 41 states have call predecessors, (48), 48 states have call successors, (48) Second operand 252 states. [2022-04-28 12:40:11,270 INFO L87 Difference]: Start difference. First operand has 243 states, 178 states have (on average 1.2078651685393258) internal successors, (215), 185 states have internal predecessors, (215), 50 states have call successors, (50), 16 states have call predecessors, (50), 14 states have return successors, (48), 41 states have call predecessors, (48), 48 states have call successors, (48) Second operand 252 states. [2022-04-28 12:40:11,273 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:40:11,273 INFO L93 Difference]: Finished difference Result 252 states and 323 transitions. [2022-04-28 12:40:11,273 INFO L276 IsEmpty]: Start isEmpty. Operand 252 states and 323 transitions. [2022-04-28 12:40:11,274 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:40:11,274 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:40:11,274 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:40:11,274 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:40:11,274 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 243 states, 178 states have (on average 1.2078651685393258) internal successors, (215), 185 states have internal predecessors, (215), 50 states have call successors, (50), 16 states have call predecessors, (50), 14 states have return successors, (48), 41 states have call predecessors, (48), 48 states have call successors, (48) [2022-04-28 12:40:11,278 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 243 states to 243 states and 313 transitions. [2022-04-28 12:40:11,278 INFO L78 Accepts]: Start accepts. Automaton has 243 states and 313 transitions. Word has length 79 [2022-04-28 12:40:11,279 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:40:11,279 INFO L495 AbstractCegarLoop]: Abstraction has 243 states and 313 transitions. [2022-04-28 12:40:11,279 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 4.909090909090909) internal successors, (54), 10 states have internal predecessors, (54), 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:40:11,279 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 243 states and 313 transitions. [2022-04-28 12:40:20,787 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 313 edges. 309 inductive. 0 not inductive. 4 times theorem prover too weak to decide inductivity. [2022-04-28 12:40:20,787 INFO L276 IsEmpty]: Start isEmpty. Operand 243 states and 313 transitions. [2022-04-28 12:40:20,788 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 82 [2022-04-28 12:40:20,788 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:40:20,788 INFO L195 NwaCegarLoop]: trace histogram [8, 7, 7, 3, 3, 3, 3, 3, 3, 2, 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, 1, 1, 1, 1] [2022-04-28 12:40:20,804 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:40:21,004 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:40:21,004 INFO L420 AbstractCegarLoop]: === Iteration 22 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:40:21,004 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:40:21,004 INFO L85 PathProgramCache]: Analyzing trace with hash 1693648491, now seen corresponding path program 1 times [2022-04-28 12:40:21,004 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:40:21,004 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1219651077] [2022-04-28 12:40:21,005 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:40:21,005 INFO L85 PathProgramCache]: Analyzing trace with hash 1693648491, now seen corresponding path program 2 times [2022-04-28 12:40:21,005 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:40:21,005 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1237608962] [2022-04-28 12:40:21,005 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:40:21,005 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:40:21,017 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:40:21,017 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2099360050] [2022-04-28 12:40:21,017 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:40:21,017 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:40:21,017 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:40:21,018 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:40:21,019 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:40:21,061 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:40:21,062 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:40:21,062 INFO L263 TraceCheckSpWp]: Trace formula consists of 211 conjuncts, 19 conjunts are in the unsatisfiable core [2022-04-28 12:40:21,077 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:40:21,078 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:40:21,425 INFO L272 TraceCheckUtils]: 0: Hoare triple {23772#true} call ULTIMATE.init(); {23772#true} is VALID [2022-04-28 12:40:21,426 INFO L290 TraceCheckUtils]: 1: Hoare triple {23772#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; {23780#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:21,426 INFO L290 TraceCheckUtils]: 2: Hoare triple {23780#(<= ~counter~0 0)} assume true; {23780#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:21,426 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23780#(<= ~counter~0 0)} {23772#true} #102#return; {23780#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:21,427 INFO L272 TraceCheckUtils]: 4: Hoare triple {23780#(<= ~counter~0 0)} call #t~ret9 := main(); {23780#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:21,427 INFO L290 TraceCheckUtils]: 5: Hoare triple {23780#(<= ~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; {23780#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:21,427 INFO L272 TraceCheckUtils]: 6: Hoare triple {23780#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {23780#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:21,428 INFO L290 TraceCheckUtils]: 7: Hoare triple {23780#(<= ~counter~0 0)} ~cond := #in~cond; {23780#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:21,428 INFO L290 TraceCheckUtils]: 8: Hoare triple {23780#(<= ~counter~0 0)} assume !(0 == ~cond); {23780#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:21,428 INFO L290 TraceCheckUtils]: 9: Hoare triple {23780#(<= ~counter~0 0)} assume true; {23780#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:21,429 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {23780#(<= ~counter~0 0)} {23780#(<= ~counter~0 0)} #90#return; {23780#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:21,429 INFO L272 TraceCheckUtils]: 11: Hoare triple {23780#(<= ~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)); {23780#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:21,429 INFO L290 TraceCheckUtils]: 12: Hoare triple {23780#(<= ~counter~0 0)} ~cond := #in~cond; {23780#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:21,430 INFO L290 TraceCheckUtils]: 13: Hoare triple {23780#(<= ~counter~0 0)} assume !(0 == ~cond); {23780#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:21,430 INFO L290 TraceCheckUtils]: 14: Hoare triple {23780#(<= ~counter~0 0)} assume true; {23780#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:21,430 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {23780#(<= ~counter~0 0)} {23780#(<= ~counter~0 0)} #92#return; {23780#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:21,431 INFO L290 TraceCheckUtils]: 16: Hoare triple {23780#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {23780#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:21,431 INFO L290 TraceCheckUtils]: 17: Hoare triple {23780#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23829#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:21,432 INFO L290 TraceCheckUtils]: 18: Hoare triple {23829#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {23829#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:21,432 INFO L272 TraceCheckUtils]: 19: Hoare triple {23829#(<= ~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)); {23829#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:21,432 INFO L290 TraceCheckUtils]: 20: Hoare triple {23829#(<= ~counter~0 1)} ~cond := #in~cond; {23829#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:21,433 INFO L290 TraceCheckUtils]: 21: Hoare triple {23829#(<= ~counter~0 1)} assume !(0 == ~cond); {23829#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:21,433 INFO L290 TraceCheckUtils]: 22: Hoare triple {23829#(<= ~counter~0 1)} assume true; {23829#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:21,433 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {23829#(<= ~counter~0 1)} {23829#(<= ~counter~0 1)} #94#return; {23829#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:21,434 INFO L290 TraceCheckUtils]: 24: Hoare triple {23829#(<= ~counter~0 1)} assume !!(0 != ~r~0); {23829#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:21,434 INFO L290 TraceCheckUtils]: 25: Hoare triple {23829#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {23854#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:21,434 INFO L290 TraceCheckUtils]: 26: Hoare triple {23854#(<= ~counter~0 2)} assume !!(#t~post7 < 20);havoc #t~post7; {23854#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:21,435 INFO L272 TraceCheckUtils]: 27: Hoare triple {23854#(<= ~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)); {23854#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:21,435 INFO L290 TraceCheckUtils]: 28: Hoare triple {23854#(<= ~counter~0 2)} ~cond := #in~cond; {23854#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:21,435 INFO L290 TraceCheckUtils]: 29: Hoare triple {23854#(<= ~counter~0 2)} assume !(0 == ~cond); {23854#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:21,436 INFO L290 TraceCheckUtils]: 30: Hoare triple {23854#(<= ~counter~0 2)} assume true; {23854#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:21,436 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {23854#(<= ~counter~0 2)} {23854#(<= ~counter~0 2)} #96#return; {23854#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:21,436 INFO L290 TraceCheckUtils]: 32: Hoare triple {23854#(<= ~counter~0 2)} assume !(~r~0 > 0); {23854#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:21,437 INFO L290 TraceCheckUtils]: 33: Hoare triple {23854#(<= ~counter~0 2)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {23879#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:21,437 INFO L290 TraceCheckUtils]: 34: Hoare triple {23879#(<= ~counter~0 3)} assume !!(#t~post8 < 20);havoc #t~post8; {23879#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:21,438 INFO L272 TraceCheckUtils]: 35: Hoare triple {23879#(<= ~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)); {23879#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:21,438 INFO L290 TraceCheckUtils]: 36: Hoare triple {23879#(<= ~counter~0 3)} ~cond := #in~cond; {23879#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:21,438 INFO L290 TraceCheckUtils]: 37: Hoare triple {23879#(<= ~counter~0 3)} assume !(0 == ~cond); {23879#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:21,438 INFO L290 TraceCheckUtils]: 38: Hoare triple {23879#(<= ~counter~0 3)} assume true; {23879#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:21,439 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {23879#(<= ~counter~0 3)} {23879#(<= ~counter~0 3)} #98#return; {23879#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:21,439 INFO L290 TraceCheckUtils]: 40: Hoare triple {23879#(<= ~counter~0 3)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {23879#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:21,440 INFO L290 TraceCheckUtils]: 41: Hoare triple {23879#(<= ~counter~0 3)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {23904#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:21,440 INFO L290 TraceCheckUtils]: 42: Hoare triple {23904#(<= ~counter~0 4)} assume !!(#t~post8 < 20);havoc #t~post8; {23904#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:21,440 INFO L272 TraceCheckUtils]: 43: Hoare triple {23904#(<= ~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)); {23904#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:21,441 INFO L290 TraceCheckUtils]: 44: Hoare triple {23904#(<= ~counter~0 4)} ~cond := #in~cond; {23904#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:21,441 INFO L290 TraceCheckUtils]: 45: Hoare triple {23904#(<= ~counter~0 4)} assume !(0 == ~cond); {23904#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:21,441 INFO L290 TraceCheckUtils]: 46: Hoare triple {23904#(<= ~counter~0 4)} assume true; {23904#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:21,442 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {23904#(<= ~counter~0 4)} {23904#(<= ~counter~0 4)} #98#return; {23904#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:21,442 INFO L290 TraceCheckUtils]: 48: Hoare triple {23904#(<= ~counter~0 4)} assume !(~r~0 < 0); {23904#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:21,442 INFO L290 TraceCheckUtils]: 49: Hoare triple {23904#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23929#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:21,443 INFO L290 TraceCheckUtils]: 50: Hoare triple {23929#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {23929#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:21,443 INFO L272 TraceCheckUtils]: 51: Hoare triple {23929#(<= ~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)); {23929#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:21,443 INFO L290 TraceCheckUtils]: 52: Hoare triple {23929#(<= ~counter~0 5)} ~cond := #in~cond; {23929#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:21,444 INFO L290 TraceCheckUtils]: 53: Hoare triple {23929#(<= ~counter~0 5)} assume !(0 == ~cond); {23929#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:21,444 INFO L290 TraceCheckUtils]: 54: Hoare triple {23929#(<= ~counter~0 5)} assume true; {23929#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:21,444 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {23929#(<= ~counter~0 5)} {23929#(<= ~counter~0 5)} #94#return; {23929#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:21,445 INFO L290 TraceCheckUtils]: 56: Hoare triple {23929#(<= ~counter~0 5)} assume !!(0 != ~r~0); {23929#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:21,445 INFO L290 TraceCheckUtils]: 57: Hoare triple {23929#(<= ~counter~0 5)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {23954#(<= ~counter~0 6)} is VALID [2022-04-28 12:40:21,445 INFO L290 TraceCheckUtils]: 58: Hoare triple {23954#(<= ~counter~0 6)} assume !!(#t~post7 < 20);havoc #t~post7; {23954#(<= ~counter~0 6)} is VALID [2022-04-28 12:40:21,446 INFO L272 TraceCheckUtils]: 59: Hoare triple {23954#(<= ~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)); {23954#(<= ~counter~0 6)} is VALID [2022-04-28 12:40:21,446 INFO L290 TraceCheckUtils]: 60: Hoare triple {23954#(<= ~counter~0 6)} ~cond := #in~cond; {23954#(<= ~counter~0 6)} is VALID [2022-04-28 12:40:21,446 INFO L290 TraceCheckUtils]: 61: Hoare triple {23954#(<= ~counter~0 6)} assume !(0 == ~cond); {23954#(<= ~counter~0 6)} is VALID [2022-04-28 12:40:21,447 INFO L290 TraceCheckUtils]: 62: Hoare triple {23954#(<= ~counter~0 6)} assume true; {23954#(<= ~counter~0 6)} is VALID [2022-04-28 12:40:21,447 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {23954#(<= ~counter~0 6)} {23954#(<= ~counter~0 6)} #96#return; {23954#(<= ~counter~0 6)} is VALID [2022-04-28 12:40:21,448 INFO L290 TraceCheckUtils]: 64: Hoare triple {23954#(<= ~counter~0 6)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {23954#(<= ~counter~0 6)} is VALID [2022-04-28 12:40:21,448 INFO L290 TraceCheckUtils]: 65: Hoare triple {23954#(<= ~counter~0 6)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {23979#(<= ~counter~0 7)} is VALID [2022-04-28 12:40:21,448 INFO L290 TraceCheckUtils]: 66: Hoare triple {23979#(<= ~counter~0 7)} assume !!(#t~post7 < 20);havoc #t~post7; {23979#(<= ~counter~0 7)} is VALID [2022-04-28 12:40:21,449 INFO L272 TraceCheckUtils]: 67: Hoare triple {23979#(<= ~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)); {23979#(<= ~counter~0 7)} is VALID [2022-04-28 12:40:21,449 INFO L290 TraceCheckUtils]: 68: Hoare triple {23979#(<= ~counter~0 7)} ~cond := #in~cond; {23979#(<= ~counter~0 7)} is VALID [2022-04-28 12:40:21,449 INFO L290 TraceCheckUtils]: 69: Hoare triple {23979#(<= ~counter~0 7)} assume !(0 == ~cond); {23979#(<= ~counter~0 7)} is VALID [2022-04-28 12:40:21,450 INFO L290 TraceCheckUtils]: 70: Hoare triple {23979#(<= ~counter~0 7)} assume true; {23979#(<= ~counter~0 7)} is VALID [2022-04-28 12:40:21,450 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {23979#(<= ~counter~0 7)} {23979#(<= ~counter~0 7)} #96#return; {23979#(<= ~counter~0 7)} is VALID [2022-04-28 12:40:21,450 INFO L290 TraceCheckUtils]: 72: Hoare triple {23979#(<= ~counter~0 7)} assume !(~r~0 > 0); {23979#(<= ~counter~0 7)} is VALID [2022-04-28 12:40:21,451 INFO L290 TraceCheckUtils]: 73: Hoare triple {23979#(<= ~counter~0 7)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {24004#(<= |main_#t~post8| 7)} is VALID [2022-04-28 12:40:21,451 INFO L290 TraceCheckUtils]: 74: Hoare triple {24004#(<= |main_#t~post8| 7)} assume !(#t~post8 < 20);havoc #t~post8; {23773#false} is VALID [2022-04-28 12:40:21,451 INFO L290 TraceCheckUtils]: 75: Hoare triple {23773#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23773#false} is VALID [2022-04-28 12:40:21,451 INFO L290 TraceCheckUtils]: 76: Hoare triple {23773#false} assume !(#t~post6 < 20);havoc #t~post6; {23773#false} is VALID [2022-04-28 12:40:21,451 INFO L272 TraceCheckUtils]: 77: Hoare triple {23773#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)); {23773#false} is VALID [2022-04-28 12:40:21,451 INFO L290 TraceCheckUtils]: 78: Hoare triple {23773#false} ~cond := #in~cond; {23773#false} is VALID [2022-04-28 12:40:21,451 INFO L290 TraceCheckUtils]: 79: Hoare triple {23773#false} assume 0 == ~cond; {23773#false} is VALID [2022-04-28 12:40:21,451 INFO L290 TraceCheckUtils]: 80: Hoare triple {23773#false} assume !false; {23773#false} is VALID [2022-04-28 12:40:21,452 INFO L134 CoverageAnalysis]: Checked inductivity of 130 backedges. 18 proven. 108 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:40:21,452 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:40:21,873 INFO L290 TraceCheckUtils]: 80: Hoare triple {23773#false} assume !false; {23773#false} is VALID [2022-04-28 12:40:21,873 INFO L290 TraceCheckUtils]: 79: Hoare triple {23773#false} assume 0 == ~cond; {23773#false} is VALID [2022-04-28 12:40:21,873 INFO L290 TraceCheckUtils]: 78: Hoare triple {23773#false} ~cond := #in~cond; {23773#false} is VALID [2022-04-28 12:40:21,874 INFO L272 TraceCheckUtils]: 77: Hoare triple {23773#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)); {23773#false} is VALID [2022-04-28 12:40:21,874 INFO L290 TraceCheckUtils]: 76: Hoare triple {23773#false} assume !(#t~post6 < 20);havoc #t~post6; {23773#false} is VALID [2022-04-28 12:40:21,874 INFO L290 TraceCheckUtils]: 75: Hoare triple {23773#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23773#false} is VALID [2022-04-28 12:40:21,874 INFO L290 TraceCheckUtils]: 74: Hoare triple {24044#(< |main_#t~post8| 20)} assume !(#t~post8 < 20);havoc #t~post8; {23773#false} is VALID [2022-04-28 12:40:21,874 INFO L290 TraceCheckUtils]: 73: Hoare triple {24048#(< ~counter~0 20)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {24044#(< |main_#t~post8| 20)} is VALID [2022-04-28 12:40:21,875 INFO L290 TraceCheckUtils]: 72: Hoare triple {24048#(< ~counter~0 20)} assume !(~r~0 > 0); {24048#(< ~counter~0 20)} is VALID [2022-04-28 12:40:21,875 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {23772#true} {24048#(< ~counter~0 20)} #96#return; {24048#(< ~counter~0 20)} is VALID [2022-04-28 12:40:21,875 INFO L290 TraceCheckUtils]: 70: Hoare triple {23772#true} assume true; {23772#true} is VALID [2022-04-28 12:40:21,875 INFO L290 TraceCheckUtils]: 69: Hoare triple {23772#true} assume !(0 == ~cond); {23772#true} is VALID [2022-04-28 12:40:21,875 INFO L290 TraceCheckUtils]: 68: Hoare triple {23772#true} ~cond := #in~cond; {23772#true} is VALID [2022-04-28 12:40:21,875 INFO L272 TraceCheckUtils]: 67: Hoare triple {24048#(< ~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)); {23772#true} is VALID [2022-04-28 12:40:21,876 INFO L290 TraceCheckUtils]: 66: Hoare triple {24048#(< ~counter~0 20)} assume !!(#t~post7 < 20);havoc #t~post7; {24048#(< ~counter~0 20)} is VALID [2022-04-28 12:40:21,876 INFO L290 TraceCheckUtils]: 65: Hoare triple {24073#(< ~counter~0 19)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {24048#(< ~counter~0 20)} is VALID [2022-04-28 12:40:21,877 INFO L290 TraceCheckUtils]: 64: Hoare triple {24073#(< ~counter~0 19)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {24073#(< ~counter~0 19)} is VALID [2022-04-28 12:40:21,877 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {23772#true} {24073#(< ~counter~0 19)} #96#return; {24073#(< ~counter~0 19)} is VALID [2022-04-28 12:40:21,877 INFO L290 TraceCheckUtils]: 62: Hoare triple {23772#true} assume true; {23772#true} is VALID [2022-04-28 12:40:21,877 INFO L290 TraceCheckUtils]: 61: Hoare triple {23772#true} assume !(0 == ~cond); {23772#true} is VALID [2022-04-28 12:40:21,877 INFO L290 TraceCheckUtils]: 60: Hoare triple {23772#true} ~cond := #in~cond; {23772#true} is VALID [2022-04-28 12:40:21,877 INFO L272 TraceCheckUtils]: 59: Hoare triple {24073#(< ~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)); {23772#true} is VALID [2022-04-28 12:40:21,878 INFO L290 TraceCheckUtils]: 58: Hoare triple {24073#(< ~counter~0 19)} assume !!(#t~post7 < 20);havoc #t~post7; {24073#(< ~counter~0 19)} is VALID [2022-04-28 12:40:21,878 INFO L290 TraceCheckUtils]: 57: Hoare triple {24098#(< ~counter~0 18)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {24073#(< ~counter~0 19)} is VALID [2022-04-28 12:40:21,879 INFO L290 TraceCheckUtils]: 56: Hoare triple {24098#(< ~counter~0 18)} assume !!(0 != ~r~0); {24098#(< ~counter~0 18)} is VALID [2022-04-28 12:40:21,879 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {23772#true} {24098#(< ~counter~0 18)} #94#return; {24098#(< ~counter~0 18)} is VALID [2022-04-28 12:40:21,879 INFO L290 TraceCheckUtils]: 54: Hoare triple {23772#true} assume true; {23772#true} is VALID [2022-04-28 12:40:21,879 INFO L290 TraceCheckUtils]: 53: Hoare triple {23772#true} assume !(0 == ~cond); {23772#true} is VALID [2022-04-28 12:40:21,880 INFO L290 TraceCheckUtils]: 52: Hoare triple {23772#true} ~cond := #in~cond; {23772#true} is VALID [2022-04-28 12:40:21,880 INFO L272 TraceCheckUtils]: 51: Hoare triple {24098#(< ~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)); {23772#true} is VALID [2022-04-28 12:40:21,880 INFO L290 TraceCheckUtils]: 50: Hoare triple {24098#(< ~counter~0 18)} assume !!(#t~post6 < 20);havoc #t~post6; {24098#(< ~counter~0 18)} is VALID [2022-04-28 12:40:21,880 INFO L290 TraceCheckUtils]: 49: Hoare triple {24123#(< ~counter~0 17)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24098#(< ~counter~0 18)} is VALID [2022-04-28 12:40:21,881 INFO L290 TraceCheckUtils]: 48: Hoare triple {24123#(< ~counter~0 17)} assume !(~r~0 < 0); {24123#(< ~counter~0 17)} is VALID [2022-04-28 12:40:21,881 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {23772#true} {24123#(< ~counter~0 17)} #98#return; {24123#(< ~counter~0 17)} is VALID [2022-04-28 12:40:21,881 INFO L290 TraceCheckUtils]: 46: Hoare triple {23772#true} assume true; {23772#true} is VALID [2022-04-28 12:40:21,881 INFO L290 TraceCheckUtils]: 45: Hoare triple {23772#true} assume !(0 == ~cond); {23772#true} is VALID [2022-04-28 12:40:21,881 INFO L290 TraceCheckUtils]: 44: Hoare triple {23772#true} ~cond := #in~cond; {23772#true} is VALID [2022-04-28 12:40:21,881 INFO L272 TraceCheckUtils]: 43: Hoare triple {24123#(< ~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)); {23772#true} is VALID [2022-04-28 12:40:21,882 INFO L290 TraceCheckUtils]: 42: Hoare triple {24123#(< ~counter~0 17)} assume !!(#t~post8 < 20);havoc #t~post8; {24123#(< ~counter~0 17)} is VALID [2022-04-28 12:40:21,882 INFO L290 TraceCheckUtils]: 41: Hoare triple {24148#(< ~counter~0 16)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {24123#(< ~counter~0 17)} is VALID [2022-04-28 12:40:21,882 INFO L290 TraceCheckUtils]: 40: Hoare triple {24148#(< ~counter~0 16)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {24148#(< ~counter~0 16)} is VALID [2022-04-28 12:40:21,883 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {23772#true} {24148#(< ~counter~0 16)} #98#return; {24148#(< ~counter~0 16)} is VALID [2022-04-28 12:40:21,883 INFO L290 TraceCheckUtils]: 38: Hoare triple {23772#true} assume true; {23772#true} is VALID [2022-04-28 12:40:21,883 INFO L290 TraceCheckUtils]: 37: Hoare triple {23772#true} assume !(0 == ~cond); {23772#true} is VALID [2022-04-28 12:40:21,883 INFO L290 TraceCheckUtils]: 36: Hoare triple {23772#true} ~cond := #in~cond; {23772#true} is VALID [2022-04-28 12:40:21,883 INFO L272 TraceCheckUtils]: 35: Hoare triple {24148#(< ~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)); {23772#true} is VALID [2022-04-28 12:40:21,883 INFO L290 TraceCheckUtils]: 34: Hoare triple {24148#(< ~counter~0 16)} assume !!(#t~post8 < 20);havoc #t~post8; {24148#(< ~counter~0 16)} is VALID [2022-04-28 12:40:21,884 INFO L290 TraceCheckUtils]: 33: Hoare triple {24173#(< ~counter~0 15)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {24148#(< ~counter~0 16)} is VALID [2022-04-28 12:40:21,884 INFO L290 TraceCheckUtils]: 32: Hoare triple {24173#(< ~counter~0 15)} assume !(~r~0 > 0); {24173#(< ~counter~0 15)} is VALID [2022-04-28 12:40:21,885 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {23772#true} {24173#(< ~counter~0 15)} #96#return; {24173#(< ~counter~0 15)} is VALID [2022-04-28 12:40:21,885 INFO L290 TraceCheckUtils]: 30: Hoare triple {23772#true} assume true; {23772#true} is VALID [2022-04-28 12:40:21,885 INFO L290 TraceCheckUtils]: 29: Hoare triple {23772#true} assume !(0 == ~cond); {23772#true} is VALID [2022-04-28 12:40:21,885 INFO L290 TraceCheckUtils]: 28: Hoare triple {23772#true} ~cond := #in~cond; {23772#true} is VALID [2022-04-28 12:40:21,885 INFO L272 TraceCheckUtils]: 27: Hoare triple {24173#(< ~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)); {23772#true} is VALID [2022-04-28 12:40:21,885 INFO L290 TraceCheckUtils]: 26: Hoare triple {24173#(< ~counter~0 15)} assume !!(#t~post7 < 20);havoc #t~post7; {24173#(< ~counter~0 15)} is VALID [2022-04-28 12:40:21,886 INFO L290 TraceCheckUtils]: 25: Hoare triple {24198#(< ~counter~0 14)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {24173#(< ~counter~0 15)} is VALID [2022-04-28 12:40:21,886 INFO L290 TraceCheckUtils]: 24: Hoare triple {24198#(< ~counter~0 14)} assume !!(0 != ~r~0); {24198#(< ~counter~0 14)} is VALID [2022-04-28 12:40:21,886 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {23772#true} {24198#(< ~counter~0 14)} #94#return; {24198#(< ~counter~0 14)} is VALID [2022-04-28 12:40:21,887 INFO L290 TraceCheckUtils]: 22: Hoare triple {23772#true} assume true; {23772#true} is VALID [2022-04-28 12:40:21,887 INFO L290 TraceCheckUtils]: 21: Hoare triple {23772#true} assume !(0 == ~cond); {23772#true} is VALID [2022-04-28 12:40:21,887 INFO L290 TraceCheckUtils]: 20: Hoare triple {23772#true} ~cond := #in~cond; {23772#true} is VALID [2022-04-28 12:40:21,887 INFO L272 TraceCheckUtils]: 19: Hoare triple {24198#(< ~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)); {23772#true} is VALID [2022-04-28 12:40:21,887 INFO L290 TraceCheckUtils]: 18: Hoare triple {24198#(< ~counter~0 14)} assume !!(#t~post6 < 20);havoc #t~post6; {24198#(< ~counter~0 14)} is VALID [2022-04-28 12:40:21,888 INFO L290 TraceCheckUtils]: 17: Hoare triple {24223#(< ~counter~0 13)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24198#(< ~counter~0 14)} is VALID [2022-04-28 12:40:21,888 INFO L290 TraceCheckUtils]: 16: Hoare triple {24223#(< ~counter~0 13)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {24223#(< ~counter~0 13)} is VALID [2022-04-28 12:40:21,888 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {23772#true} {24223#(< ~counter~0 13)} #92#return; {24223#(< ~counter~0 13)} is VALID [2022-04-28 12:40:21,888 INFO L290 TraceCheckUtils]: 14: Hoare triple {23772#true} assume true; {23772#true} is VALID [2022-04-28 12:40:21,888 INFO L290 TraceCheckUtils]: 13: Hoare triple {23772#true} assume !(0 == ~cond); {23772#true} is VALID [2022-04-28 12:40:21,888 INFO L290 TraceCheckUtils]: 12: Hoare triple {23772#true} ~cond := #in~cond; {23772#true} is VALID [2022-04-28 12:40:21,888 INFO L272 TraceCheckUtils]: 11: Hoare triple {24223#(< ~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)); {23772#true} is VALID [2022-04-28 12:40:21,889 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {23772#true} {24223#(< ~counter~0 13)} #90#return; {24223#(< ~counter~0 13)} is VALID [2022-04-28 12:40:21,889 INFO L290 TraceCheckUtils]: 9: Hoare triple {23772#true} assume true; {23772#true} is VALID [2022-04-28 12:40:21,889 INFO L290 TraceCheckUtils]: 8: Hoare triple {23772#true} assume !(0 == ~cond); {23772#true} is VALID [2022-04-28 12:40:21,889 INFO L290 TraceCheckUtils]: 7: Hoare triple {23772#true} ~cond := #in~cond; {23772#true} is VALID [2022-04-28 12:40:21,889 INFO L272 TraceCheckUtils]: 6: Hoare triple {24223#(< ~counter~0 13)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {23772#true} is VALID [2022-04-28 12:40:21,889 INFO L290 TraceCheckUtils]: 5: Hoare triple {24223#(< ~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; {24223#(< ~counter~0 13)} is VALID [2022-04-28 12:40:21,890 INFO L272 TraceCheckUtils]: 4: Hoare triple {24223#(< ~counter~0 13)} call #t~ret9 := main(); {24223#(< ~counter~0 13)} is VALID [2022-04-28 12:40:21,890 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {24223#(< ~counter~0 13)} {23772#true} #102#return; {24223#(< ~counter~0 13)} is VALID [2022-04-28 12:40:21,890 INFO L290 TraceCheckUtils]: 2: Hoare triple {24223#(< ~counter~0 13)} assume true; {24223#(< ~counter~0 13)} is VALID [2022-04-28 12:40:21,891 INFO L290 TraceCheckUtils]: 1: Hoare triple {23772#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; {24223#(< ~counter~0 13)} is VALID [2022-04-28 12:40:21,891 INFO L272 TraceCheckUtils]: 0: Hoare triple {23772#true} call ULTIMATE.init(); {23772#true} is VALID [2022-04-28 12:40:21,891 INFO L134 CoverageAnalysis]: Checked inductivity of 130 backedges. 18 proven. 24 refuted. 0 times theorem prover too weak. 88 trivial. 0 not checked. [2022-04-28 12:40:21,891 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:40:21,891 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1237608962] [2022-04-28 12:40:21,891 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:40:21,891 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2099360050] [2022-04-28 12:40:21,891 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2099360050] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:40:21,891 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:40:21,892 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 20 [2022-04-28 12:40:21,892 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:40:21,892 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1219651077] [2022-04-28 12:40:21,892 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1219651077] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:40:21,892 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:40:21,892 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 12:40:21,892 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1875146933] [2022-04-28 12:40:21,892 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:40:21,892 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 5.090909090909091) internal successors, (56), 10 states have internal predecessors, (56), 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 81 [2022-04-28 12:40:21,893 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:40:21,893 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 5.090909090909091) internal successors, (56), 10 states have internal predecessors, (56), 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:40:21,945 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:40:21,945 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 12:40:21,946 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:40:21,946 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 12:40:21,946 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=158, Invalid=222, Unknown=0, NotChecked=0, Total=380 [2022-04-28 12:40:21,946 INFO L87 Difference]: Start difference. First operand 243 states and 313 transitions. Second operand has 11 states, 11 states have (on average 5.090909090909091) internal successors, (56), 10 states have internal predecessors, (56), 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:40:22,578 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:40:22,578 INFO L93 Difference]: Finished difference Result 342 states and 455 transitions. [2022-04-28 12:40:22,578 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-28 12:40:22,578 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 5.090909090909091) internal successors, (56), 10 states have internal predecessors, (56), 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 81 [2022-04-28 12:40:22,578 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:40:22,579 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 5.090909090909091) internal successors, (56), 10 states have internal predecessors, (56), 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:40:22,580 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 177 transitions. [2022-04-28 12:40:22,580 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 5.090909090909091) internal successors, (56), 10 states have internal predecessors, (56), 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:40:22,582 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 177 transitions. [2022-04-28 12:40:22,582 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 177 transitions. [2022-04-28 12:40:22,703 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 177 edges. 177 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:40:22,706 INFO L225 Difference]: With dead ends: 342 [2022-04-28 12:40:22,707 INFO L226 Difference]: Without dead ends: 254 [2022-04-28 12:40:22,707 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 166 GetRequests, 143 SyntacticMatches, 0 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=243, Invalid=357, Unknown=0, NotChecked=0, Total=600 [2022-04-28 12:40:22,707 INFO L413 NwaCegarLoop]: 51 mSDtfsCounter, 91 mSDsluCounter, 140 mSDsCounter, 0 mSdLazyCounter, 68 mSolverCounterSat, 80 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 91 SdHoareTripleChecker+Valid, 191 SdHoareTripleChecker+Invalid, 148 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 80 IncrementalHoareTripleChecker+Valid, 68 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:40:22,708 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [91 Valid, 191 Invalid, 148 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [80 Valid, 68 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:40:22,708 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 254 states. [2022-04-28 12:40:22,932 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 254 to 248. [2022-04-28 12:40:22,932 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:40:22,932 INFO L82 GeneralOperation]: Start isEquivalent. First operand 254 states. Second operand has 248 states, 183 states have (on average 1.2076502732240437) internal successors, (221), 189 states have internal predecessors, (221), 50 states have call successors, (50), 16 states have call predecessors, (50), 14 states have return successors, (48), 42 states have call predecessors, (48), 48 states have call successors, (48) [2022-04-28 12:40:22,933 INFO L74 IsIncluded]: Start isIncluded. First operand 254 states. Second operand has 248 states, 183 states have (on average 1.2076502732240437) internal successors, (221), 189 states have internal predecessors, (221), 50 states have call successors, (50), 16 states have call predecessors, (50), 14 states have return successors, (48), 42 states have call predecessors, (48), 48 states have call successors, (48) [2022-04-28 12:40:22,933 INFO L87 Difference]: Start difference. First operand 254 states. Second operand has 248 states, 183 states have (on average 1.2076502732240437) internal successors, (221), 189 states have internal predecessors, (221), 50 states have call successors, (50), 16 states have call predecessors, (50), 14 states have return successors, (48), 42 states have call predecessors, (48), 48 states have call successors, (48) [2022-04-28 12:40:22,936 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:40:22,936 INFO L93 Difference]: Finished difference Result 254 states and 325 transitions. [2022-04-28 12:40:22,937 INFO L276 IsEmpty]: Start isEmpty. Operand 254 states and 325 transitions. [2022-04-28 12:40:22,937 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:40:22,937 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:40:22,938 INFO L74 IsIncluded]: Start isIncluded. First operand has 248 states, 183 states have (on average 1.2076502732240437) internal successors, (221), 189 states have internal predecessors, (221), 50 states have call successors, (50), 16 states have call predecessors, (50), 14 states have return successors, (48), 42 states have call predecessors, (48), 48 states have call successors, (48) Second operand 254 states. [2022-04-28 12:40:22,938 INFO L87 Difference]: Start difference. First operand has 248 states, 183 states have (on average 1.2076502732240437) internal successors, (221), 189 states have internal predecessors, (221), 50 states have call successors, (50), 16 states have call predecessors, (50), 14 states have return successors, (48), 42 states have call predecessors, (48), 48 states have call successors, (48) Second operand 254 states. [2022-04-28 12:40:22,941 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:40:22,941 INFO L93 Difference]: Finished difference Result 254 states and 325 transitions. [2022-04-28 12:40:22,941 INFO L276 IsEmpty]: Start isEmpty. Operand 254 states and 325 transitions. [2022-04-28 12:40:22,942 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:40:22,942 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:40:22,942 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:40:22,942 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:40:22,942 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 248 states, 183 states have (on average 1.2076502732240437) internal successors, (221), 189 states have internal predecessors, (221), 50 states have call successors, (50), 16 states have call predecessors, (50), 14 states have return successors, (48), 42 states have call predecessors, (48), 48 states have call successors, (48) [2022-04-28 12:40:22,946 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 248 states to 248 states and 319 transitions. [2022-04-28 12:40:22,946 INFO L78 Accepts]: Start accepts. Automaton has 248 states and 319 transitions. Word has length 81 [2022-04-28 12:40:22,946 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:40:22,946 INFO L495 AbstractCegarLoop]: Abstraction has 248 states and 319 transitions. [2022-04-28 12:40:22,946 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 5.090909090909091) internal successors, (56), 10 states have internal predecessors, (56), 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:40:22,946 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 248 states and 319 transitions. [2022-04-28 12:40:30,881 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 319 edges. 318 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 12:40:30,881 INFO L276 IsEmpty]: Start isEmpty. Operand 248 states and 319 transitions. [2022-04-28 12:40:30,882 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 84 [2022-04-28 12:40:30,882 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:40:30,882 INFO L195 NwaCegarLoop]: trace histogram [8, 7, 7, 4, 3, 3, 3, 3, 3, 2, 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, 1, 1, 1, 1, 1] [2022-04-28 12:40:30,898 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:40:31,082 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:40:31,083 INFO L420 AbstractCegarLoop]: === Iteration 23 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:40:31,083 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:40:31,083 INFO L85 PathProgramCache]: Analyzing trace with hash -918360272, now seen corresponding path program 3 times [2022-04-28 12:40:31,083 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:40:31,083 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [426636055] [2022-04-28 12:40:31,084 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:40:31,084 INFO L85 PathProgramCache]: Analyzing trace with hash -918360272, now seen corresponding path program 4 times [2022-04-28 12:40:31,084 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:40:31,084 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [624134892] [2022-04-28 12:40:31,084 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:40:31,084 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:40:31,094 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:40:31,094 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2054682641] [2022-04-28 12:40:31,094 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:40:31,094 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:40:31,094 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:40:31,095 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:40:31,106 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:40:31,206 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:40:31,207 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:40:31,208 INFO L263 TraceCheckSpWp]: Trace formula consists of 220 conjuncts, 19 conjunts are in the unsatisfiable core [2022-04-28 12:40:31,222 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:40:31,223 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:40:31,555 INFO L272 TraceCheckUtils]: 0: Hoare triple {25975#true} call ULTIMATE.init(); {25975#true} is VALID [2022-04-28 12:40:31,556 INFO L290 TraceCheckUtils]: 1: Hoare triple {25975#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; {25983#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:31,556 INFO L290 TraceCheckUtils]: 2: Hoare triple {25983#(<= ~counter~0 0)} assume true; {25983#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:31,556 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25983#(<= ~counter~0 0)} {25975#true} #102#return; {25983#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:31,557 INFO L272 TraceCheckUtils]: 4: Hoare triple {25983#(<= ~counter~0 0)} call #t~ret9 := main(); {25983#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:31,557 INFO L290 TraceCheckUtils]: 5: Hoare triple {25983#(<= ~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; {25983#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:31,557 INFO L272 TraceCheckUtils]: 6: Hoare triple {25983#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {25983#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:31,557 INFO L290 TraceCheckUtils]: 7: Hoare triple {25983#(<= ~counter~0 0)} ~cond := #in~cond; {25983#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:31,558 INFO L290 TraceCheckUtils]: 8: Hoare triple {25983#(<= ~counter~0 0)} assume !(0 == ~cond); {25983#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:31,558 INFO L290 TraceCheckUtils]: 9: Hoare triple {25983#(<= ~counter~0 0)} assume true; {25983#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:31,558 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {25983#(<= ~counter~0 0)} {25983#(<= ~counter~0 0)} #90#return; {25983#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:31,559 INFO L272 TraceCheckUtils]: 11: Hoare triple {25983#(<= ~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)); {25983#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:31,559 INFO L290 TraceCheckUtils]: 12: Hoare triple {25983#(<= ~counter~0 0)} ~cond := #in~cond; {25983#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:31,559 INFO L290 TraceCheckUtils]: 13: Hoare triple {25983#(<= ~counter~0 0)} assume !(0 == ~cond); {25983#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:31,560 INFO L290 TraceCheckUtils]: 14: Hoare triple {25983#(<= ~counter~0 0)} assume true; {25983#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:31,560 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {25983#(<= ~counter~0 0)} {25983#(<= ~counter~0 0)} #92#return; {25983#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:31,560 INFO L290 TraceCheckUtils]: 16: Hoare triple {25983#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {25983#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:31,561 INFO L290 TraceCheckUtils]: 17: Hoare triple {25983#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26032#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:31,561 INFO L290 TraceCheckUtils]: 18: Hoare triple {26032#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {26032#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:31,562 INFO L272 TraceCheckUtils]: 19: Hoare triple {26032#(<= ~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)); {26032#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:31,562 INFO L290 TraceCheckUtils]: 20: Hoare triple {26032#(<= ~counter~0 1)} ~cond := #in~cond; {26032#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:31,562 INFO L290 TraceCheckUtils]: 21: Hoare triple {26032#(<= ~counter~0 1)} assume !(0 == ~cond); {26032#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:31,562 INFO L290 TraceCheckUtils]: 22: Hoare triple {26032#(<= ~counter~0 1)} assume true; {26032#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:31,563 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {26032#(<= ~counter~0 1)} {26032#(<= ~counter~0 1)} #94#return; {26032#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:31,563 INFO L290 TraceCheckUtils]: 24: Hoare triple {26032#(<= ~counter~0 1)} assume !!(0 != ~r~0); {26032#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:31,564 INFO L290 TraceCheckUtils]: 25: Hoare triple {26032#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {26057#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:31,564 INFO L290 TraceCheckUtils]: 26: Hoare triple {26057#(<= ~counter~0 2)} assume !!(#t~post7 < 20);havoc #t~post7; {26057#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:31,564 INFO L272 TraceCheckUtils]: 27: Hoare triple {26057#(<= ~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)); {26057#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:31,565 INFO L290 TraceCheckUtils]: 28: Hoare triple {26057#(<= ~counter~0 2)} ~cond := #in~cond; {26057#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:31,565 INFO L290 TraceCheckUtils]: 29: Hoare triple {26057#(<= ~counter~0 2)} assume !(0 == ~cond); {26057#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:31,565 INFO L290 TraceCheckUtils]: 30: Hoare triple {26057#(<= ~counter~0 2)} assume true; {26057#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:31,566 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {26057#(<= ~counter~0 2)} {26057#(<= ~counter~0 2)} #96#return; {26057#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:31,566 INFO L290 TraceCheckUtils]: 32: Hoare triple {26057#(<= ~counter~0 2)} assume !(~r~0 > 0); {26057#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:31,566 INFO L290 TraceCheckUtils]: 33: Hoare triple {26057#(<= ~counter~0 2)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {26082#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:31,567 INFO L290 TraceCheckUtils]: 34: Hoare triple {26082#(<= ~counter~0 3)} assume !!(#t~post8 < 20);havoc #t~post8; {26082#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:31,567 INFO L272 TraceCheckUtils]: 35: Hoare triple {26082#(<= ~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)); {26082#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:31,567 INFO L290 TraceCheckUtils]: 36: Hoare triple {26082#(<= ~counter~0 3)} ~cond := #in~cond; {26082#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:31,568 INFO L290 TraceCheckUtils]: 37: Hoare triple {26082#(<= ~counter~0 3)} assume !(0 == ~cond); {26082#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:31,568 INFO L290 TraceCheckUtils]: 38: Hoare triple {26082#(<= ~counter~0 3)} assume true; {26082#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:31,568 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {26082#(<= ~counter~0 3)} {26082#(<= ~counter~0 3)} #98#return; {26082#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:31,569 INFO L290 TraceCheckUtils]: 40: Hoare triple {26082#(<= ~counter~0 3)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {26082#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:31,569 INFO L290 TraceCheckUtils]: 41: Hoare triple {26082#(<= ~counter~0 3)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {26107#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:31,569 INFO L290 TraceCheckUtils]: 42: Hoare triple {26107#(<= ~counter~0 4)} assume !!(#t~post8 < 20);havoc #t~post8; {26107#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:31,570 INFO L272 TraceCheckUtils]: 43: Hoare triple {26107#(<= ~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)); {26107#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:31,572 INFO L290 TraceCheckUtils]: 44: Hoare triple {26107#(<= ~counter~0 4)} ~cond := #in~cond; {26107#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:31,572 INFO L290 TraceCheckUtils]: 45: Hoare triple {26107#(<= ~counter~0 4)} assume !(0 == ~cond); {26107#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:31,572 INFO L290 TraceCheckUtils]: 46: Hoare triple {26107#(<= ~counter~0 4)} assume true; {26107#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:31,573 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {26107#(<= ~counter~0 4)} {26107#(<= ~counter~0 4)} #98#return; {26107#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:31,573 INFO L290 TraceCheckUtils]: 48: Hoare triple {26107#(<= ~counter~0 4)} assume !(~r~0 < 0); {26107#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:31,574 INFO L290 TraceCheckUtils]: 49: Hoare triple {26107#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26132#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:31,574 INFO L290 TraceCheckUtils]: 50: Hoare triple {26132#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {26132#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:31,574 INFO L272 TraceCheckUtils]: 51: Hoare triple {26132#(<= ~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)); {26132#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:31,575 INFO L290 TraceCheckUtils]: 52: Hoare triple {26132#(<= ~counter~0 5)} ~cond := #in~cond; {26132#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:31,575 INFO L290 TraceCheckUtils]: 53: Hoare triple {26132#(<= ~counter~0 5)} assume !(0 == ~cond); {26132#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:31,575 INFO L290 TraceCheckUtils]: 54: Hoare triple {26132#(<= ~counter~0 5)} assume true; {26132#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:31,576 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {26132#(<= ~counter~0 5)} {26132#(<= ~counter~0 5)} #94#return; {26132#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:31,576 INFO L290 TraceCheckUtils]: 56: Hoare triple {26132#(<= ~counter~0 5)} assume !!(0 != ~r~0); {26132#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:31,576 INFO L290 TraceCheckUtils]: 57: Hoare triple {26132#(<= ~counter~0 5)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {26157#(<= ~counter~0 6)} is VALID [2022-04-28 12:40:31,577 INFO L290 TraceCheckUtils]: 58: Hoare triple {26157#(<= ~counter~0 6)} assume !!(#t~post7 < 20);havoc #t~post7; {26157#(<= ~counter~0 6)} is VALID [2022-04-28 12:40:31,577 INFO L272 TraceCheckUtils]: 59: Hoare triple {26157#(<= ~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)); {26157#(<= ~counter~0 6)} is VALID [2022-04-28 12:40:31,577 INFO L290 TraceCheckUtils]: 60: Hoare triple {26157#(<= ~counter~0 6)} ~cond := #in~cond; {26157#(<= ~counter~0 6)} is VALID [2022-04-28 12:40:31,578 INFO L290 TraceCheckUtils]: 61: Hoare triple {26157#(<= ~counter~0 6)} assume !(0 == ~cond); {26157#(<= ~counter~0 6)} is VALID [2022-04-28 12:40:31,578 INFO L290 TraceCheckUtils]: 62: Hoare triple {26157#(<= ~counter~0 6)} assume true; {26157#(<= ~counter~0 6)} is VALID [2022-04-28 12:40:31,578 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {26157#(<= ~counter~0 6)} {26157#(<= ~counter~0 6)} #96#return; {26157#(<= ~counter~0 6)} is VALID [2022-04-28 12:40:31,579 INFO L290 TraceCheckUtils]: 64: Hoare triple {26157#(<= ~counter~0 6)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {26157#(<= ~counter~0 6)} is VALID [2022-04-28 12:40:31,579 INFO L290 TraceCheckUtils]: 65: Hoare triple {26157#(<= ~counter~0 6)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {26182#(<= ~counter~0 7)} is VALID [2022-04-28 12:40:31,579 INFO L290 TraceCheckUtils]: 66: Hoare triple {26182#(<= ~counter~0 7)} assume !!(#t~post7 < 20);havoc #t~post7; {26182#(<= ~counter~0 7)} is VALID [2022-04-28 12:40:31,580 INFO L272 TraceCheckUtils]: 67: Hoare triple {26182#(<= ~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)); {26182#(<= ~counter~0 7)} is VALID [2022-04-28 12:40:31,580 INFO L290 TraceCheckUtils]: 68: Hoare triple {26182#(<= ~counter~0 7)} ~cond := #in~cond; {26182#(<= ~counter~0 7)} is VALID [2022-04-28 12:40:31,580 INFO L290 TraceCheckUtils]: 69: Hoare triple {26182#(<= ~counter~0 7)} assume !(0 == ~cond); {26182#(<= ~counter~0 7)} is VALID [2022-04-28 12:40:31,581 INFO L290 TraceCheckUtils]: 70: Hoare triple {26182#(<= ~counter~0 7)} assume true; {26182#(<= ~counter~0 7)} is VALID [2022-04-28 12:40:31,581 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {26182#(<= ~counter~0 7)} {26182#(<= ~counter~0 7)} #96#return; {26182#(<= ~counter~0 7)} is VALID [2022-04-28 12:40:31,581 INFO L290 TraceCheckUtils]: 72: Hoare triple {26182#(<= ~counter~0 7)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {26182#(<= ~counter~0 7)} is VALID [2022-04-28 12:40:31,582 INFO L290 TraceCheckUtils]: 73: Hoare triple {26182#(<= ~counter~0 7)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {26207#(<= |main_#t~post7| 7)} is VALID [2022-04-28 12:40:31,582 INFO L290 TraceCheckUtils]: 74: Hoare triple {26207#(<= |main_#t~post7| 7)} assume !(#t~post7 < 20);havoc #t~post7; {25976#false} is VALID [2022-04-28 12:40:31,582 INFO L290 TraceCheckUtils]: 75: Hoare triple {25976#false} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {25976#false} is VALID [2022-04-28 12:40:31,582 INFO L290 TraceCheckUtils]: 76: Hoare triple {25976#false} assume !(#t~post8 < 20);havoc #t~post8; {25976#false} is VALID [2022-04-28 12:40:31,582 INFO L290 TraceCheckUtils]: 77: Hoare triple {25976#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25976#false} is VALID [2022-04-28 12:40:31,582 INFO L290 TraceCheckUtils]: 78: Hoare triple {25976#false} assume !(#t~post6 < 20);havoc #t~post6; {25976#false} is VALID [2022-04-28 12:40:31,582 INFO L272 TraceCheckUtils]: 79: Hoare triple {25976#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)); {25976#false} is VALID [2022-04-28 12:40:31,582 INFO L290 TraceCheckUtils]: 80: Hoare triple {25976#false} ~cond := #in~cond; {25976#false} is VALID [2022-04-28 12:40:31,582 INFO L290 TraceCheckUtils]: 81: Hoare triple {25976#false} assume 0 == ~cond; {25976#false} is VALID [2022-04-28 12:40:31,582 INFO L290 TraceCheckUtils]: 82: Hoare triple {25976#false} assume !false; {25976#false} is VALID [2022-04-28 12:40:31,583 INFO L134 CoverageAnalysis]: Checked inductivity of 136 backedges. 22 proven. 110 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:40:31,583 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:40:31,975 INFO L290 TraceCheckUtils]: 82: Hoare triple {25976#false} assume !false; {25976#false} is VALID [2022-04-28 12:40:31,975 INFO L290 TraceCheckUtils]: 81: Hoare triple {25976#false} assume 0 == ~cond; {25976#false} is VALID [2022-04-28 12:40:31,975 INFO L290 TraceCheckUtils]: 80: Hoare triple {25976#false} ~cond := #in~cond; {25976#false} is VALID [2022-04-28 12:40:31,975 INFO L272 TraceCheckUtils]: 79: Hoare triple {25976#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)); {25976#false} is VALID [2022-04-28 12:40:31,975 INFO L290 TraceCheckUtils]: 78: Hoare triple {25976#false} assume !(#t~post6 < 20);havoc #t~post6; {25976#false} is VALID [2022-04-28 12:40:31,975 INFO L290 TraceCheckUtils]: 77: Hoare triple {25976#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25976#false} is VALID [2022-04-28 12:40:31,975 INFO L290 TraceCheckUtils]: 76: Hoare triple {25976#false} assume !(#t~post8 < 20);havoc #t~post8; {25976#false} is VALID [2022-04-28 12:40:31,975 INFO L290 TraceCheckUtils]: 75: Hoare triple {25976#false} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {25976#false} is VALID [2022-04-28 12:40:31,975 INFO L290 TraceCheckUtils]: 74: Hoare triple {26259#(< |main_#t~post7| 20)} assume !(#t~post7 < 20);havoc #t~post7; {25976#false} is VALID [2022-04-28 12:40:31,976 INFO L290 TraceCheckUtils]: 73: Hoare triple {26263#(< ~counter~0 20)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {26259#(< |main_#t~post7| 20)} is VALID [2022-04-28 12:40:31,976 INFO L290 TraceCheckUtils]: 72: Hoare triple {26263#(< ~counter~0 20)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {26263#(< ~counter~0 20)} is VALID [2022-04-28 12:40:31,976 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {25975#true} {26263#(< ~counter~0 20)} #96#return; {26263#(< ~counter~0 20)} is VALID [2022-04-28 12:40:31,977 INFO L290 TraceCheckUtils]: 70: Hoare triple {25975#true} assume true; {25975#true} is VALID [2022-04-28 12:40:31,977 INFO L290 TraceCheckUtils]: 69: Hoare triple {25975#true} assume !(0 == ~cond); {25975#true} is VALID [2022-04-28 12:40:31,977 INFO L290 TraceCheckUtils]: 68: Hoare triple {25975#true} ~cond := #in~cond; {25975#true} is VALID [2022-04-28 12:40:31,977 INFO L272 TraceCheckUtils]: 67: Hoare triple {26263#(< ~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)); {25975#true} is VALID [2022-04-28 12:40:31,977 INFO L290 TraceCheckUtils]: 66: Hoare triple {26263#(< ~counter~0 20)} assume !!(#t~post7 < 20);havoc #t~post7; {26263#(< ~counter~0 20)} is VALID [2022-04-28 12:40:31,978 INFO L290 TraceCheckUtils]: 65: Hoare triple {26288#(< ~counter~0 19)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {26263#(< ~counter~0 20)} is VALID [2022-04-28 12:40:31,978 INFO L290 TraceCheckUtils]: 64: Hoare triple {26288#(< ~counter~0 19)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {26288#(< ~counter~0 19)} is VALID [2022-04-28 12:40:31,979 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {25975#true} {26288#(< ~counter~0 19)} #96#return; {26288#(< ~counter~0 19)} is VALID [2022-04-28 12:40:31,979 INFO L290 TraceCheckUtils]: 62: Hoare triple {25975#true} assume true; {25975#true} is VALID [2022-04-28 12:40:31,979 INFO L290 TraceCheckUtils]: 61: Hoare triple {25975#true} assume !(0 == ~cond); {25975#true} is VALID [2022-04-28 12:40:31,979 INFO L290 TraceCheckUtils]: 60: Hoare triple {25975#true} ~cond := #in~cond; {25975#true} is VALID [2022-04-28 12:40:31,979 INFO L272 TraceCheckUtils]: 59: Hoare triple {26288#(< ~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)); {25975#true} is VALID [2022-04-28 12:40:31,979 INFO L290 TraceCheckUtils]: 58: Hoare triple {26288#(< ~counter~0 19)} assume !!(#t~post7 < 20);havoc #t~post7; {26288#(< ~counter~0 19)} is VALID [2022-04-28 12:40:31,980 INFO L290 TraceCheckUtils]: 57: Hoare triple {26313#(< ~counter~0 18)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {26288#(< ~counter~0 19)} is VALID [2022-04-28 12:40:31,980 INFO L290 TraceCheckUtils]: 56: Hoare triple {26313#(< ~counter~0 18)} assume !!(0 != ~r~0); {26313#(< ~counter~0 18)} is VALID [2022-04-28 12:40:31,980 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {25975#true} {26313#(< ~counter~0 18)} #94#return; {26313#(< ~counter~0 18)} is VALID [2022-04-28 12:40:31,980 INFO L290 TraceCheckUtils]: 54: Hoare triple {25975#true} assume true; {25975#true} is VALID [2022-04-28 12:40:31,980 INFO L290 TraceCheckUtils]: 53: Hoare triple {25975#true} assume !(0 == ~cond); {25975#true} is VALID [2022-04-28 12:40:31,981 INFO L290 TraceCheckUtils]: 52: Hoare triple {25975#true} ~cond := #in~cond; {25975#true} is VALID [2022-04-28 12:40:31,981 INFO L272 TraceCheckUtils]: 51: Hoare triple {26313#(< ~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)); {25975#true} is VALID [2022-04-28 12:40:31,981 INFO L290 TraceCheckUtils]: 50: Hoare triple {26313#(< ~counter~0 18)} assume !!(#t~post6 < 20);havoc #t~post6; {26313#(< ~counter~0 18)} is VALID [2022-04-28 12:40:31,981 INFO L290 TraceCheckUtils]: 49: Hoare triple {26338#(< ~counter~0 17)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26313#(< ~counter~0 18)} is VALID [2022-04-28 12:40:31,982 INFO L290 TraceCheckUtils]: 48: Hoare triple {26338#(< ~counter~0 17)} assume !(~r~0 < 0); {26338#(< ~counter~0 17)} is VALID [2022-04-28 12:40:31,982 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {25975#true} {26338#(< ~counter~0 17)} #98#return; {26338#(< ~counter~0 17)} is VALID [2022-04-28 12:40:31,982 INFO L290 TraceCheckUtils]: 46: Hoare triple {25975#true} assume true; {25975#true} is VALID [2022-04-28 12:40:31,982 INFO L290 TraceCheckUtils]: 45: Hoare triple {25975#true} assume !(0 == ~cond); {25975#true} is VALID [2022-04-28 12:40:31,982 INFO L290 TraceCheckUtils]: 44: Hoare triple {25975#true} ~cond := #in~cond; {25975#true} is VALID [2022-04-28 12:40:31,982 INFO L272 TraceCheckUtils]: 43: Hoare triple {26338#(< ~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)); {25975#true} is VALID [2022-04-28 12:40:31,983 INFO L290 TraceCheckUtils]: 42: Hoare triple {26338#(< ~counter~0 17)} assume !!(#t~post8 < 20);havoc #t~post8; {26338#(< ~counter~0 17)} is VALID [2022-04-28 12:40:31,983 INFO L290 TraceCheckUtils]: 41: Hoare triple {26363#(< ~counter~0 16)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {26338#(< ~counter~0 17)} is VALID [2022-04-28 12:40:31,983 INFO L290 TraceCheckUtils]: 40: Hoare triple {26363#(< ~counter~0 16)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {26363#(< ~counter~0 16)} is VALID [2022-04-28 12:40:31,984 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {25975#true} {26363#(< ~counter~0 16)} #98#return; {26363#(< ~counter~0 16)} is VALID [2022-04-28 12:40:31,984 INFO L290 TraceCheckUtils]: 38: Hoare triple {25975#true} assume true; {25975#true} is VALID [2022-04-28 12:40:31,984 INFO L290 TraceCheckUtils]: 37: Hoare triple {25975#true} assume !(0 == ~cond); {25975#true} is VALID [2022-04-28 12:40:31,984 INFO L290 TraceCheckUtils]: 36: Hoare triple {25975#true} ~cond := #in~cond; {25975#true} is VALID [2022-04-28 12:40:31,984 INFO L272 TraceCheckUtils]: 35: Hoare triple {26363#(< ~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)); {25975#true} is VALID [2022-04-28 12:40:31,984 INFO L290 TraceCheckUtils]: 34: Hoare triple {26363#(< ~counter~0 16)} assume !!(#t~post8 < 20);havoc #t~post8; {26363#(< ~counter~0 16)} is VALID [2022-04-28 12:40:31,985 INFO L290 TraceCheckUtils]: 33: Hoare triple {26388#(< ~counter~0 15)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {26363#(< ~counter~0 16)} is VALID [2022-04-28 12:40:31,985 INFO L290 TraceCheckUtils]: 32: Hoare triple {26388#(< ~counter~0 15)} assume !(~r~0 > 0); {26388#(< ~counter~0 15)} is VALID [2022-04-28 12:40:31,986 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {25975#true} {26388#(< ~counter~0 15)} #96#return; {26388#(< ~counter~0 15)} is VALID [2022-04-28 12:40:31,986 INFO L290 TraceCheckUtils]: 30: Hoare triple {25975#true} assume true; {25975#true} is VALID [2022-04-28 12:40:31,986 INFO L290 TraceCheckUtils]: 29: Hoare triple {25975#true} assume !(0 == ~cond); {25975#true} is VALID [2022-04-28 12:40:31,986 INFO L290 TraceCheckUtils]: 28: Hoare triple {25975#true} ~cond := #in~cond; {25975#true} is VALID [2022-04-28 12:40:31,986 INFO L272 TraceCheckUtils]: 27: Hoare triple {26388#(< ~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)); {25975#true} is VALID [2022-04-28 12:40:31,986 INFO L290 TraceCheckUtils]: 26: Hoare triple {26388#(< ~counter~0 15)} assume !!(#t~post7 < 20);havoc #t~post7; {26388#(< ~counter~0 15)} is VALID [2022-04-28 12:40:31,987 INFO L290 TraceCheckUtils]: 25: Hoare triple {26413#(< ~counter~0 14)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {26388#(< ~counter~0 15)} is VALID [2022-04-28 12:40:31,987 INFO L290 TraceCheckUtils]: 24: Hoare triple {26413#(< ~counter~0 14)} assume !!(0 != ~r~0); {26413#(< ~counter~0 14)} is VALID [2022-04-28 12:40:31,987 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {25975#true} {26413#(< ~counter~0 14)} #94#return; {26413#(< ~counter~0 14)} is VALID [2022-04-28 12:40:31,987 INFO L290 TraceCheckUtils]: 22: Hoare triple {25975#true} assume true; {25975#true} is VALID [2022-04-28 12:40:31,987 INFO L290 TraceCheckUtils]: 21: Hoare triple {25975#true} assume !(0 == ~cond); {25975#true} is VALID [2022-04-28 12:40:31,987 INFO L290 TraceCheckUtils]: 20: Hoare triple {25975#true} ~cond := #in~cond; {25975#true} is VALID [2022-04-28 12:40:31,988 INFO L272 TraceCheckUtils]: 19: Hoare triple {26413#(< ~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)); {25975#true} is VALID [2022-04-28 12:40:31,988 INFO L290 TraceCheckUtils]: 18: Hoare triple {26413#(< ~counter~0 14)} assume !!(#t~post6 < 20);havoc #t~post6; {26413#(< ~counter~0 14)} is VALID [2022-04-28 12:40:31,988 INFO L290 TraceCheckUtils]: 17: Hoare triple {26438#(< ~counter~0 13)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26413#(< ~counter~0 14)} is VALID [2022-04-28 12:40:31,989 INFO L290 TraceCheckUtils]: 16: Hoare triple {26438#(< ~counter~0 13)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {26438#(< ~counter~0 13)} is VALID [2022-04-28 12:40:31,989 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {25975#true} {26438#(< ~counter~0 13)} #92#return; {26438#(< ~counter~0 13)} is VALID [2022-04-28 12:40:31,989 INFO L290 TraceCheckUtils]: 14: Hoare triple {25975#true} assume true; {25975#true} is VALID [2022-04-28 12:40:31,989 INFO L290 TraceCheckUtils]: 13: Hoare triple {25975#true} assume !(0 == ~cond); {25975#true} is VALID [2022-04-28 12:40:31,989 INFO L290 TraceCheckUtils]: 12: Hoare triple {25975#true} ~cond := #in~cond; {25975#true} is VALID [2022-04-28 12:40:31,989 INFO L272 TraceCheckUtils]: 11: Hoare triple {26438#(< ~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)); {25975#true} is VALID [2022-04-28 12:40:31,990 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {25975#true} {26438#(< ~counter~0 13)} #90#return; {26438#(< ~counter~0 13)} is VALID [2022-04-28 12:40:31,990 INFO L290 TraceCheckUtils]: 9: Hoare triple {25975#true} assume true; {25975#true} is VALID [2022-04-28 12:40:31,990 INFO L290 TraceCheckUtils]: 8: Hoare triple {25975#true} assume !(0 == ~cond); {25975#true} is VALID [2022-04-28 12:40:31,990 INFO L290 TraceCheckUtils]: 7: Hoare triple {25975#true} ~cond := #in~cond; {25975#true} is VALID [2022-04-28 12:40:31,990 INFO L272 TraceCheckUtils]: 6: Hoare triple {26438#(< ~counter~0 13)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {25975#true} is VALID [2022-04-28 12:40:31,990 INFO L290 TraceCheckUtils]: 5: Hoare triple {26438#(< ~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; {26438#(< ~counter~0 13)} is VALID [2022-04-28 12:40:31,990 INFO L272 TraceCheckUtils]: 4: Hoare triple {26438#(< ~counter~0 13)} call #t~ret9 := main(); {26438#(< ~counter~0 13)} is VALID [2022-04-28 12:40:31,991 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {26438#(< ~counter~0 13)} {25975#true} #102#return; {26438#(< ~counter~0 13)} is VALID [2022-04-28 12:40:31,991 INFO L290 TraceCheckUtils]: 2: Hoare triple {26438#(< ~counter~0 13)} assume true; {26438#(< ~counter~0 13)} is VALID [2022-04-28 12:40:31,991 INFO L290 TraceCheckUtils]: 1: Hoare triple {25975#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; {26438#(< ~counter~0 13)} is VALID [2022-04-28 12:40:31,991 INFO L272 TraceCheckUtils]: 0: Hoare triple {25975#true} call ULTIMATE.init(); {25975#true} is VALID [2022-04-28 12:40:31,992 INFO L134 CoverageAnalysis]: Checked inductivity of 136 backedges. 22 proven. 26 refuted. 0 times theorem prover too weak. 88 trivial. 0 not checked. [2022-04-28 12:40:31,992 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:40:31,992 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [624134892] [2022-04-28 12:40:31,992 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:40:31,992 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2054682641] [2022-04-28 12:40:31,992 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2054682641] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:40:31,992 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:40:31,992 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 20 [2022-04-28 12:40:31,992 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:40:31,992 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [426636055] [2022-04-28 12:40:31,992 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [426636055] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:40:31,993 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:40:31,993 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 12:40:31,993 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2026105642] [2022-04-28 12:40:31,993 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:40:31,993 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 5.2727272727272725) internal successors, (58), 10 states have internal predecessors, (58), 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 83 [2022-04-28 12:40:31,993 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:40:31,994 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 5.2727272727272725) internal successors, (58), 10 states have internal predecessors, (58), 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:40:32,044 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:40:32,044 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 12:40:32,044 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:40:32,044 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 12:40:32,045 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=158, Invalid=222, Unknown=0, NotChecked=0, Total=380 [2022-04-28 12:40:32,045 INFO L87 Difference]: Start difference. First operand 248 states and 319 transitions. Second operand has 11 states, 11 states have (on average 5.2727272727272725) internal successors, (58), 10 states have internal predecessors, (58), 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:40:32,692 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:40:32,692 INFO L93 Difference]: Finished difference Result 321 states and 421 transitions. [2022-04-28 12:40:32,692 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-28 12:40:32,692 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 5.2727272727272725) internal successors, (58), 10 states have internal predecessors, (58), 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 83 [2022-04-28 12:40:32,692 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:40:32,692 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 5.2727272727272725) internal successors, (58), 10 states have internal predecessors, (58), 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:40:32,693 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 177 transitions. [2022-04-28 12:40:32,694 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 5.2727272727272725) internal successors, (58), 10 states have internal predecessors, (58), 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:40:32,695 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 177 transitions. [2022-04-28 12:40:32,695 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 177 transitions. [2022-04-28 12:40:32,806 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 177 edges. 177 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:40:32,810 INFO L225 Difference]: With dead ends: 321 [2022-04-28 12:40:32,810 INFO L226 Difference]: Without dead ends: 257 [2022-04-28 12:40:32,811 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 171 GetRequests, 147 SyntacticMatches, 0 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 37 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=266, Invalid=384, Unknown=0, NotChecked=0, Total=650 [2022-04-28 12:40:32,811 INFO L413 NwaCegarLoop]: 51 mSDtfsCounter, 89 mSDsluCounter, 152 mSDsCounter, 0 mSdLazyCounter, 81 mSolverCounterSat, 78 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 89 SdHoareTripleChecker+Valid, 203 SdHoareTripleChecker+Invalid, 159 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 78 IncrementalHoareTripleChecker+Valid, 81 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:40:32,811 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [89 Valid, 203 Invalid, 159 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [78 Valid, 81 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:40:32,812 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 257 states. [2022-04-28 12:40:33,052 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 257 to 257. [2022-04-28 12:40:33,052 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:40:33,052 INFO L82 GeneralOperation]: Start isEquivalent. First operand 257 states. Second operand has 257 states, 192 states have (on average 1.1979166666666667) internal successors, (230), 195 states have internal predecessors, (230), 50 states have call successors, (50), 16 states have call predecessors, (50), 14 states have return successors, (48), 45 states have call predecessors, (48), 48 states have call successors, (48) [2022-04-28 12:40:33,052 INFO L74 IsIncluded]: Start isIncluded. First operand 257 states. Second operand has 257 states, 192 states have (on average 1.1979166666666667) internal successors, (230), 195 states have internal predecessors, (230), 50 states have call successors, (50), 16 states have call predecessors, (50), 14 states have return successors, (48), 45 states have call predecessors, (48), 48 states have call successors, (48) [2022-04-28 12:40:33,053 INFO L87 Difference]: Start difference. First operand 257 states. Second operand has 257 states, 192 states have (on average 1.1979166666666667) internal successors, (230), 195 states have internal predecessors, (230), 50 states have call successors, (50), 16 states have call predecessors, (50), 14 states have return successors, (48), 45 states have call predecessors, (48), 48 states have call successors, (48) [2022-04-28 12:40:33,056 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:40:33,056 INFO L93 Difference]: Finished difference Result 257 states and 328 transitions. [2022-04-28 12:40:33,056 INFO L276 IsEmpty]: Start isEmpty. Operand 257 states and 328 transitions. [2022-04-28 12:40:33,057 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:40:33,057 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:40:33,057 INFO L74 IsIncluded]: Start isIncluded. First operand has 257 states, 192 states have (on average 1.1979166666666667) internal successors, (230), 195 states have internal predecessors, (230), 50 states have call successors, (50), 16 states have call predecessors, (50), 14 states have return successors, (48), 45 states have call predecessors, (48), 48 states have call successors, (48) Second operand 257 states. [2022-04-28 12:40:33,057 INFO L87 Difference]: Start difference. First operand has 257 states, 192 states have (on average 1.1979166666666667) internal successors, (230), 195 states have internal predecessors, (230), 50 states have call successors, (50), 16 states have call predecessors, (50), 14 states have return successors, (48), 45 states have call predecessors, (48), 48 states have call successors, (48) Second operand 257 states. [2022-04-28 12:40:33,062 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:40:33,062 INFO L93 Difference]: Finished difference Result 257 states and 328 transitions. [2022-04-28 12:40:33,062 INFO L276 IsEmpty]: Start isEmpty. Operand 257 states and 328 transitions. [2022-04-28 12:40:33,063 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:40:33,063 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:40:33,063 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:40:33,063 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:40:33,063 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 257 states, 192 states have (on average 1.1979166666666667) internal successors, (230), 195 states have internal predecessors, (230), 50 states have call successors, (50), 16 states have call predecessors, (50), 14 states have return successors, (48), 45 states have call predecessors, (48), 48 states have call successors, (48) [2022-04-28 12:40:33,067 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 257 states to 257 states and 328 transitions. [2022-04-28 12:40:33,067 INFO L78 Accepts]: Start accepts. Automaton has 257 states and 328 transitions. Word has length 83 [2022-04-28 12:40:33,067 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:40:33,067 INFO L495 AbstractCegarLoop]: Abstraction has 257 states and 328 transitions. [2022-04-28 12:40:33,067 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 5.2727272727272725) internal successors, (58), 10 states have internal predecessors, (58), 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:40:33,067 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 257 states and 328 transitions. [2022-04-28 12:40:41,504 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 328 edges. 327 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 12:40:41,504 INFO L276 IsEmpty]: Start isEmpty. Operand 257 states and 328 transitions. [2022-04-28 12:40:41,504 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 88 [2022-04-28 12:40:41,505 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:40:41,505 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:40:41,520 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:40:41,705 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:40:41,705 INFO L420 AbstractCegarLoop]: === Iteration 24 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:40:41,705 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:40:41,706 INFO L85 PathProgramCache]: Analyzing trace with hash 1698627479, now seen corresponding path program 1 times [2022-04-28 12:40:41,706 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:40:41,706 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [103674847] [2022-04-28 12:40:41,706 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:40:41,706 INFO L85 PathProgramCache]: Analyzing trace with hash 1698627479, now seen corresponding path program 2 times [2022-04-28 12:40:41,706 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:40:41,706 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1336460560] [2022-04-28 12:40:41,706 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:40:41,706 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:40:41,716 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:40:41,716 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1328952356] [2022-04-28 12:40:41,716 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:40:41,716 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:40:41,716 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:40:41,717 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:40:41,718 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:40:41,801 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:40:41,801 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:40:41,802 INFO L263 TraceCheckSpWp]: Trace formula consists of 221 conjuncts, 21 conjunts are in the unsatisfiable core [2022-04-28 12:40:41,822 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:40:41,823 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:40:42,190 INFO L272 TraceCheckUtils]: 0: Hoare triple {28174#true} call ULTIMATE.init(); {28174#true} is VALID [2022-04-28 12:40:42,191 INFO L290 TraceCheckUtils]: 1: Hoare triple {28174#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; {28182#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:42,191 INFO L290 TraceCheckUtils]: 2: Hoare triple {28182#(<= ~counter~0 0)} assume true; {28182#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:42,192 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {28182#(<= ~counter~0 0)} {28174#true} #102#return; {28182#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:42,192 INFO L272 TraceCheckUtils]: 4: Hoare triple {28182#(<= ~counter~0 0)} call #t~ret9 := main(); {28182#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:42,192 INFO L290 TraceCheckUtils]: 5: Hoare triple {28182#(<= ~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; {28182#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:42,192 INFO L272 TraceCheckUtils]: 6: Hoare triple {28182#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {28182#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:42,193 INFO L290 TraceCheckUtils]: 7: Hoare triple {28182#(<= ~counter~0 0)} ~cond := #in~cond; {28182#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:42,193 INFO L290 TraceCheckUtils]: 8: Hoare triple {28182#(<= ~counter~0 0)} assume !(0 == ~cond); {28182#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:42,193 INFO L290 TraceCheckUtils]: 9: Hoare triple {28182#(<= ~counter~0 0)} assume true; {28182#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:42,194 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {28182#(<= ~counter~0 0)} {28182#(<= ~counter~0 0)} #90#return; {28182#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:42,194 INFO L272 TraceCheckUtils]: 11: Hoare triple {28182#(<= ~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)); {28182#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:42,194 INFO L290 TraceCheckUtils]: 12: Hoare triple {28182#(<= ~counter~0 0)} ~cond := #in~cond; {28182#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:42,195 INFO L290 TraceCheckUtils]: 13: Hoare triple {28182#(<= ~counter~0 0)} assume !(0 == ~cond); {28182#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:42,195 INFO L290 TraceCheckUtils]: 14: Hoare triple {28182#(<= ~counter~0 0)} assume true; {28182#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:42,195 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {28182#(<= ~counter~0 0)} {28182#(<= ~counter~0 0)} #92#return; {28182#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:42,196 INFO L290 TraceCheckUtils]: 16: Hoare triple {28182#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {28182#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:42,196 INFO L290 TraceCheckUtils]: 17: Hoare triple {28182#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {28231#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:42,197 INFO L290 TraceCheckUtils]: 18: Hoare triple {28231#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {28231#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:42,197 INFO L272 TraceCheckUtils]: 19: Hoare triple {28231#(<= ~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)); {28231#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:42,197 INFO L290 TraceCheckUtils]: 20: Hoare triple {28231#(<= ~counter~0 1)} ~cond := #in~cond; {28231#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:42,198 INFO L290 TraceCheckUtils]: 21: Hoare triple {28231#(<= ~counter~0 1)} assume !(0 == ~cond); {28231#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:42,198 INFO L290 TraceCheckUtils]: 22: Hoare triple {28231#(<= ~counter~0 1)} assume true; {28231#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:42,199 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {28231#(<= ~counter~0 1)} {28231#(<= ~counter~0 1)} #94#return; {28231#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:42,199 INFO L290 TraceCheckUtils]: 24: Hoare triple {28231#(<= ~counter~0 1)} assume !!(0 != ~r~0); {28231#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:42,199 INFO L290 TraceCheckUtils]: 25: Hoare triple {28231#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {28256#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:42,200 INFO L290 TraceCheckUtils]: 26: Hoare triple {28256#(<= ~counter~0 2)} assume !!(#t~post7 < 20);havoc #t~post7; {28256#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:42,200 INFO L272 TraceCheckUtils]: 27: Hoare triple {28256#(<= ~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)); {28256#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:42,200 INFO L290 TraceCheckUtils]: 28: Hoare triple {28256#(<= ~counter~0 2)} ~cond := #in~cond; {28256#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:42,201 INFO L290 TraceCheckUtils]: 29: Hoare triple {28256#(<= ~counter~0 2)} assume !(0 == ~cond); {28256#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:42,201 INFO L290 TraceCheckUtils]: 30: Hoare triple {28256#(<= ~counter~0 2)} assume true; {28256#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:42,201 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {28256#(<= ~counter~0 2)} {28256#(<= ~counter~0 2)} #96#return; {28256#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:42,202 INFO L290 TraceCheckUtils]: 32: Hoare triple {28256#(<= ~counter~0 2)} assume !(~r~0 > 0); {28256#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:42,202 INFO L290 TraceCheckUtils]: 33: Hoare triple {28256#(<= ~counter~0 2)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {28281#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:42,202 INFO L290 TraceCheckUtils]: 34: Hoare triple {28281#(<= ~counter~0 3)} assume !!(#t~post8 < 20);havoc #t~post8; {28281#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:42,203 INFO L272 TraceCheckUtils]: 35: Hoare triple {28281#(<= ~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)); {28281#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:42,203 INFO L290 TraceCheckUtils]: 36: Hoare triple {28281#(<= ~counter~0 3)} ~cond := #in~cond; {28281#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:42,203 INFO L290 TraceCheckUtils]: 37: Hoare triple {28281#(<= ~counter~0 3)} assume !(0 == ~cond); {28281#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:42,204 INFO L290 TraceCheckUtils]: 38: Hoare triple {28281#(<= ~counter~0 3)} assume true; {28281#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:42,204 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {28281#(<= ~counter~0 3)} {28281#(<= ~counter~0 3)} #98#return; {28281#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:42,204 INFO L290 TraceCheckUtils]: 40: Hoare triple {28281#(<= ~counter~0 3)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {28281#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:42,205 INFO L290 TraceCheckUtils]: 41: Hoare triple {28281#(<= ~counter~0 3)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {28306#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:42,205 INFO L290 TraceCheckUtils]: 42: Hoare triple {28306#(<= ~counter~0 4)} assume !!(#t~post8 < 20);havoc #t~post8; {28306#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:42,206 INFO L272 TraceCheckUtils]: 43: Hoare triple {28306#(<= ~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)); {28306#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:42,206 INFO L290 TraceCheckUtils]: 44: Hoare triple {28306#(<= ~counter~0 4)} ~cond := #in~cond; {28306#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:42,206 INFO L290 TraceCheckUtils]: 45: Hoare triple {28306#(<= ~counter~0 4)} assume !(0 == ~cond); {28306#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:42,206 INFO L290 TraceCheckUtils]: 46: Hoare triple {28306#(<= ~counter~0 4)} assume true; {28306#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:42,207 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {28306#(<= ~counter~0 4)} {28306#(<= ~counter~0 4)} #98#return; {28306#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:42,207 INFO L290 TraceCheckUtils]: 48: Hoare triple {28306#(<= ~counter~0 4)} assume !(~r~0 < 0); {28306#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:42,208 INFO L290 TraceCheckUtils]: 49: Hoare triple {28306#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {28331#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:42,208 INFO L290 TraceCheckUtils]: 50: Hoare triple {28331#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {28331#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:42,208 INFO L272 TraceCheckUtils]: 51: Hoare triple {28331#(<= ~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)); {28331#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:42,209 INFO L290 TraceCheckUtils]: 52: Hoare triple {28331#(<= ~counter~0 5)} ~cond := #in~cond; {28331#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:42,209 INFO L290 TraceCheckUtils]: 53: Hoare triple {28331#(<= ~counter~0 5)} assume !(0 == ~cond); {28331#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:42,209 INFO L290 TraceCheckUtils]: 54: Hoare triple {28331#(<= ~counter~0 5)} assume true; {28331#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:42,210 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {28331#(<= ~counter~0 5)} {28331#(<= ~counter~0 5)} #94#return; {28331#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:42,210 INFO L290 TraceCheckUtils]: 56: Hoare triple {28331#(<= ~counter~0 5)} assume !!(0 != ~r~0); {28331#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:42,211 INFO L290 TraceCheckUtils]: 57: Hoare triple {28331#(<= ~counter~0 5)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {28356#(<= ~counter~0 6)} is VALID [2022-04-28 12:40:42,211 INFO L290 TraceCheckUtils]: 58: Hoare triple {28356#(<= ~counter~0 6)} assume !!(#t~post7 < 20);havoc #t~post7; {28356#(<= ~counter~0 6)} is VALID [2022-04-28 12:40:42,211 INFO L272 TraceCheckUtils]: 59: Hoare triple {28356#(<= ~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)); {28356#(<= ~counter~0 6)} is VALID [2022-04-28 12:40:42,212 INFO L290 TraceCheckUtils]: 60: Hoare triple {28356#(<= ~counter~0 6)} ~cond := #in~cond; {28356#(<= ~counter~0 6)} is VALID [2022-04-28 12:40:42,212 INFO L290 TraceCheckUtils]: 61: Hoare triple {28356#(<= ~counter~0 6)} assume !(0 == ~cond); {28356#(<= ~counter~0 6)} is VALID [2022-04-28 12:40:42,212 INFO L290 TraceCheckUtils]: 62: Hoare triple {28356#(<= ~counter~0 6)} assume true; {28356#(<= ~counter~0 6)} is VALID [2022-04-28 12:40:42,213 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {28356#(<= ~counter~0 6)} {28356#(<= ~counter~0 6)} #96#return; {28356#(<= ~counter~0 6)} is VALID [2022-04-28 12:40:42,213 INFO L290 TraceCheckUtils]: 64: Hoare triple {28356#(<= ~counter~0 6)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {28356#(<= ~counter~0 6)} is VALID [2022-04-28 12:40:42,213 INFO L290 TraceCheckUtils]: 65: Hoare triple {28356#(<= ~counter~0 6)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {28381#(<= ~counter~0 7)} is VALID [2022-04-28 12:40:42,214 INFO L290 TraceCheckUtils]: 66: Hoare triple {28381#(<= ~counter~0 7)} assume !!(#t~post7 < 20);havoc #t~post7; {28381#(<= ~counter~0 7)} is VALID [2022-04-28 12:40:42,214 INFO L272 TraceCheckUtils]: 67: Hoare triple {28381#(<= ~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)); {28381#(<= ~counter~0 7)} is VALID [2022-04-28 12:40:42,214 INFO L290 TraceCheckUtils]: 68: Hoare triple {28381#(<= ~counter~0 7)} ~cond := #in~cond; {28381#(<= ~counter~0 7)} is VALID [2022-04-28 12:40:42,215 INFO L290 TraceCheckUtils]: 69: Hoare triple {28381#(<= ~counter~0 7)} assume !(0 == ~cond); {28381#(<= ~counter~0 7)} is VALID [2022-04-28 12:40:42,215 INFO L290 TraceCheckUtils]: 70: Hoare triple {28381#(<= ~counter~0 7)} assume true; {28381#(<= ~counter~0 7)} is VALID [2022-04-28 12:40:42,216 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {28381#(<= ~counter~0 7)} {28381#(<= ~counter~0 7)} #96#return; {28381#(<= ~counter~0 7)} is VALID [2022-04-28 12:40:42,216 INFO L290 TraceCheckUtils]: 72: Hoare triple {28381#(<= ~counter~0 7)} assume !(~r~0 > 0); {28381#(<= ~counter~0 7)} is VALID [2022-04-28 12:40:42,216 INFO L290 TraceCheckUtils]: 73: Hoare triple {28381#(<= ~counter~0 7)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {28406#(<= ~counter~0 8)} is VALID [2022-04-28 12:40:42,217 INFO L290 TraceCheckUtils]: 74: Hoare triple {28406#(<= ~counter~0 8)} assume !!(#t~post8 < 20);havoc #t~post8; {28406#(<= ~counter~0 8)} is VALID [2022-04-28 12:40:42,217 INFO L272 TraceCheckUtils]: 75: Hoare triple {28406#(<= ~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)); {28406#(<= ~counter~0 8)} is VALID [2022-04-28 12:40:42,217 INFO L290 TraceCheckUtils]: 76: Hoare triple {28406#(<= ~counter~0 8)} ~cond := #in~cond; {28406#(<= ~counter~0 8)} is VALID [2022-04-28 12:40:42,218 INFO L290 TraceCheckUtils]: 77: Hoare triple {28406#(<= ~counter~0 8)} assume !(0 == ~cond); {28406#(<= ~counter~0 8)} is VALID [2022-04-28 12:40:42,218 INFO L290 TraceCheckUtils]: 78: Hoare triple {28406#(<= ~counter~0 8)} assume true; {28406#(<= ~counter~0 8)} is VALID [2022-04-28 12:40:42,219 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {28406#(<= ~counter~0 8)} {28406#(<= ~counter~0 8)} #98#return; {28406#(<= ~counter~0 8)} is VALID [2022-04-28 12:40:42,219 INFO L290 TraceCheckUtils]: 80: Hoare triple {28406#(<= ~counter~0 8)} assume !(~r~0 < 0); {28406#(<= ~counter~0 8)} is VALID [2022-04-28 12:40:42,219 INFO L290 TraceCheckUtils]: 81: Hoare triple {28406#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {28431#(<= |main_#t~post6| 8)} is VALID [2022-04-28 12:40:42,220 INFO L290 TraceCheckUtils]: 82: Hoare triple {28431#(<= |main_#t~post6| 8)} assume !(#t~post6 < 20);havoc #t~post6; {28175#false} is VALID [2022-04-28 12:40:42,220 INFO L272 TraceCheckUtils]: 83: Hoare triple {28175#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)); {28175#false} is VALID [2022-04-28 12:40:42,220 INFO L290 TraceCheckUtils]: 84: Hoare triple {28175#false} ~cond := #in~cond; {28175#false} is VALID [2022-04-28 12:40:42,220 INFO L290 TraceCheckUtils]: 85: Hoare triple {28175#false} assume 0 == ~cond; {28175#false} is VALID [2022-04-28 12:40:42,220 INFO L290 TraceCheckUtils]: 86: Hoare triple {28175#false} assume !false; {28175#false} is VALID [2022-04-28 12:40:42,220 INFO L134 CoverageAnalysis]: Checked inductivity of 164 backedges. 16 proven. 144 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:40:42,220 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:40:42,641 INFO L290 TraceCheckUtils]: 86: Hoare triple {28175#false} assume !false; {28175#false} is VALID [2022-04-28 12:40:42,641 INFO L290 TraceCheckUtils]: 85: Hoare triple {28175#false} assume 0 == ~cond; {28175#false} is VALID [2022-04-28 12:40:42,641 INFO L290 TraceCheckUtils]: 84: Hoare triple {28175#false} ~cond := #in~cond; {28175#false} is VALID [2022-04-28 12:40:42,641 INFO L272 TraceCheckUtils]: 83: Hoare triple {28175#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)); {28175#false} is VALID [2022-04-28 12:40:42,641 INFO L290 TraceCheckUtils]: 82: Hoare triple {28459#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {28175#false} is VALID [2022-04-28 12:40:42,642 INFO L290 TraceCheckUtils]: 81: Hoare triple {28463#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {28459#(< |main_#t~post6| 20)} is VALID [2022-04-28 12:40:42,642 INFO L290 TraceCheckUtils]: 80: Hoare triple {28463#(< ~counter~0 20)} assume !(~r~0 < 0); {28463#(< ~counter~0 20)} is VALID [2022-04-28 12:40:42,643 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {28174#true} {28463#(< ~counter~0 20)} #98#return; {28463#(< ~counter~0 20)} is VALID [2022-04-28 12:40:42,643 INFO L290 TraceCheckUtils]: 78: Hoare triple {28174#true} assume true; {28174#true} is VALID [2022-04-28 12:40:42,643 INFO L290 TraceCheckUtils]: 77: Hoare triple {28174#true} assume !(0 == ~cond); {28174#true} is VALID [2022-04-28 12:40:42,643 INFO L290 TraceCheckUtils]: 76: Hoare triple {28174#true} ~cond := #in~cond; {28174#true} is VALID [2022-04-28 12:40:42,643 INFO L272 TraceCheckUtils]: 75: Hoare triple {28463#(< ~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)); {28174#true} is VALID [2022-04-28 12:40:42,643 INFO L290 TraceCheckUtils]: 74: Hoare triple {28463#(< ~counter~0 20)} assume !!(#t~post8 < 20);havoc #t~post8; {28463#(< ~counter~0 20)} is VALID [2022-04-28 12:40:42,644 INFO L290 TraceCheckUtils]: 73: Hoare triple {28488#(< ~counter~0 19)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {28463#(< ~counter~0 20)} is VALID [2022-04-28 12:40:42,644 INFO L290 TraceCheckUtils]: 72: Hoare triple {28488#(< ~counter~0 19)} assume !(~r~0 > 0); {28488#(< ~counter~0 19)} is VALID [2022-04-28 12:40:42,645 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {28174#true} {28488#(< ~counter~0 19)} #96#return; {28488#(< ~counter~0 19)} is VALID [2022-04-28 12:40:42,645 INFO L290 TraceCheckUtils]: 70: Hoare triple {28174#true} assume true; {28174#true} is VALID [2022-04-28 12:40:42,645 INFO L290 TraceCheckUtils]: 69: Hoare triple {28174#true} assume !(0 == ~cond); {28174#true} is VALID [2022-04-28 12:40:42,645 INFO L290 TraceCheckUtils]: 68: Hoare triple {28174#true} ~cond := #in~cond; {28174#true} is VALID [2022-04-28 12:40:42,645 INFO L272 TraceCheckUtils]: 67: Hoare triple {28488#(< ~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)); {28174#true} is VALID [2022-04-28 12:40:42,645 INFO L290 TraceCheckUtils]: 66: Hoare triple {28488#(< ~counter~0 19)} assume !!(#t~post7 < 20);havoc #t~post7; {28488#(< ~counter~0 19)} is VALID [2022-04-28 12:40:42,646 INFO L290 TraceCheckUtils]: 65: Hoare triple {28513#(< ~counter~0 18)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {28488#(< ~counter~0 19)} is VALID [2022-04-28 12:40:42,646 INFO L290 TraceCheckUtils]: 64: Hoare triple {28513#(< ~counter~0 18)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {28513#(< ~counter~0 18)} is VALID [2022-04-28 12:40:42,646 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {28174#true} {28513#(< ~counter~0 18)} #96#return; {28513#(< ~counter~0 18)} is VALID [2022-04-28 12:40:42,647 INFO L290 TraceCheckUtils]: 62: Hoare triple {28174#true} assume true; {28174#true} is VALID [2022-04-28 12:40:42,647 INFO L290 TraceCheckUtils]: 61: Hoare triple {28174#true} assume !(0 == ~cond); {28174#true} is VALID [2022-04-28 12:40:42,647 INFO L290 TraceCheckUtils]: 60: Hoare triple {28174#true} ~cond := #in~cond; {28174#true} is VALID [2022-04-28 12:40:42,647 INFO L272 TraceCheckUtils]: 59: Hoare triple {28513#(< ~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)); {28174#true} is VALID [2022-04-28 12:40:42,647 INFO L290 TraceCheckUtils]: 58: Hoare triple {28513#(< ~counter~0 18)} assume !!(#t~post7 < 20);havoc #t~post7; {28513#(< ~counter~0 18)} is VALID [2022-04-28 12:40:42,648 INFO L290 TraceCheckUtils]: 57: Hoare triple {28538#(< ~counter~0 17)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {28513#(< ~counter~0 18)} is VALID [2022-04-28 12:40:42,648 INFO L290 TraceCheckUtils]: 56: Hoare triple {28538#(< ~counter~0 17)} assume !!(0 != ~r~0); {28538#(< ~counter~0 17)} is VALID [2022-04-28 12:40:42,648 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {28174#true} {28538#(< ~counter~0 17)} #94#return; {28538#(< ~counter~0 17)} is VALID [2022-04-28 12:40:42,648 INFO L290 TraceCheckUtils]: 54: Hoare triple {28174#true} assume true; {28174#true} is VALID [2022-04-28 12:40:42,648 INFO L290 TraceCheckUtils]: 53: Hoare triple {28174#true} assume !(0 == ~cond); {28174#true} is VALID [2022-04-28 12:40:42,649 INFO L290 TraceCheckUtils]: 52: Hoare triple {28174#true} ~cond := #in~cond; {28174#true} is VALID [2022-04-28 12:40:42,649 INFO L272 TraceCheckUtils]: 51: Hoare triple {28538#(< ~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)); {28174#true} is VALID [2022-04-28 12:40:42,649 INFO L290 TraceCheckUtils]: 50: Hoare triple {28538#(< ~counter~0 17)} assume !!(#t~post6 < 20);havoc #t~post6; {28538#(< ~counter~0 17)} is VALID [2022-04-28 12:40:42,649 INFO L290 TraceCheckUtils]: 49: Hoare triple {28563#(< ~counter~0 16)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {28538#(< ~counter~0 17)} is VALID [2022-04-28 12:40:42,650 INFO L290 TraceCheckUtils]: 48: Hoare triple {28563#(< ~counter~0 16)} assume !(~r~0 < 0); {28563#(< ~counter~0 16)} is VALID [2022-04-28 12:40:42,650 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {28174#true} {28563#(< ~counter~0 16)} #98#return; {28563#(< ~counter~0 16)} is VALID [2022-04-28 12:40:42,650 INFO L290 TraceCheckUtils]: 46: Hoare triple {28174#true} assume true; {28174#true} is VALID [2022-04-28 12:40:42,650 INFO L290 TraceCheckUtils]: 45: Hoare triple {28174#true} assume !(0 == ~cond); {28174#true} is VALID [2022-04-28 12:40:42,650 INFO L290 TraceCheckUtils]: 44: Hoare triple {28174#true} ~cond := #in~cond; {28174#true} is VALID [2022-04-28 12:40:42,650 INFO L272 TraceCheckUtils]: 43: Hoare triple {28563#(< ~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)); {28174#true} is VALID [2022-04-28 12:40:42,651 INFO L290 TraceCheckUtils]: 42: Hoare triple {28563#(< ~counter~0 16)} assume !!(#t~post8 < 20);havoc #t~post8; {28563#(< ~counter~0 16)} is VALID [2022-04-28 12:40:42,651 INFO L290 TraceCheckUtils]: 41: Hoare triple {28588#(< ~counter~0 15)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {28563#(< ~counter~0 16)} is VALID [2022-04-28 12:40:42,651 INFO L290 TraceCheckUtils]: 40: Hoare triple {28588#(< ~counter~0 15)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {28588#(< ~counter~0 15)} is VALID [2022-04-28 12:40:42,652 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {28174#true} {28588#(< ~counter~0 15)} #98#return; {28588#(< ~counter~0 15)} is VALID [2022-04-28 12:40:42,652 INFO L290 TraceCheckUtils]: 38: Hoare triple {28174#true} assume true; {28174#true} is VALID [2022-04-28 12:40:42,652 INFO L290 TraceCheckUtils]: 37: Hoare triple {28174#true} assume !(0 == ~cond); {28174#true} is VALID [2022-04-28 12:40:42,652 INFO L290 TraceCheckUtils]: 36: Hoare triple {28174#true} ~cond := #in~cond; {28174#true} is VALID [2022-04-28 12:40:42,652 INFO L272 TraceCheckUtils]: 35: Hoare triple {28588#(< ~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)); {28174#true} is VALID [2022-04-28 12:40:42,652 INFO L290 TraceCheckUtils]: 34: Hoare triple {28588#(< ~counter~0 15)} assume !!(#t~post8 < 20);havoc #t~post8; {28588#(< ~counter~0 15)} is VALID [2022-04-28 12:40:42,653 INFO L290 TraceCheckUtils]: 33: Hoare triple {28613#(< ~counter~0 14)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {28588#(< ~counter~0 15)} is VALID [2022-04-28 12:40:42,653 INFO L290 TraceCheckUtils]: 32: Hoare triple {28613#(< ~counter~0 14)} assume !(~r~0 > 0); {28613#(< ~counter~0 14)} is VALID [2022-04-28 12:40:42,654 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {28174#true} {28613#(< ~counter~0 14)} #96#return; {28613#(< ~counter~0 14)} is VALID [2022-04-28 12:40:42,654 INFO L290 TraceCheckUtils]: 30: Hoare triple {28174#true} assume true; {28174#true} is VALID [2022-04-28 12:40:42,654 INFO L290 TraceCheckUtils]: 29: Hoare triple {28174#true} assume !(0 == ~cond); {28174#true} is VALID [2022-04-28 12:40:42,654 INFO L290 TraceCheckUtils]: 28: Hoare triple {28174#true} ~cond := #in~cond; {28174#true} is VALID [2022-04-28 12:40:42,654 INFO L272 TraceCheckUtils]: 27: Hoare triple {28613#(< ~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)); {28174#true} is VALID [2022-04-28 12:40:42,654 INFO L290 TraceCheckUtils]: 26: Hoare triple {28613#(< ~counter~0 14)} assume !!(#t~post7 < 20);havoc #t~post7; {28613#(< ~counter~0 14)} is VALID [2022-04-28 12:40:42,655 INFO L290 TraceCheckUtils]: 25: Hoare triple {28638#(< ~counter~0 13)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {28613#(< ~counter~0 14)} is VALID [2022-04-28 12:40:42,655 INFO L290 TraceCheckUtils]: 24: Hoare triple {28638#(< ~counter~0 13)} assume !!(0 != ~r~0); {28638#(< ~counter~0 13)} is VALID [2022-04-28 12:40:42,655 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {28174#true} {28638#(< ~counter~0 13)} #94#return; {28638#(< ~counter~0 13)} is VALID [2022-04-28 12:40:42,656 INFO L290 TraceCheckUtils]: 22: Hoare triple {28174#true} assume true; {28174#true} is VALID [2022-04-28 12:40:42,656 INFO L290 TraceCheckUtils]: 21: Hoare triple {28174#true} assume !(0 == ~cond); {28174#true} is VALID [2022-04-28 12:40:42,656 INFO L290 TraceCheckUtils]: 20: Hoare triple {28174#true} ~cond := #in~cond; {28174#true} is VALID [2022-04-28 12:40:42,656 INFO L272 TraceCheckUtils]: 19: Hoare triple {28638#(< ~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)); {28174#true} is VALID [2022-04-28 12:40:42,656 INFO L290 TraceCheckUtils]: 18: Hoare triple {28638#(< ~counter~0 13)} assume !!(#t~post6 < 20);havoc #t~post6; {28638#(< ~counter~0 13)} is VALID [2022-04-28 12:40:42,656 INFO L290 TraceCheckUtils]: 17: Hoare triple {28663#(< ~counter~0 12)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {28638#(< ~counter~0 13)} is VALID [2022-04-28 12:40:42,657 INFO L290 TraceCheckUtils]: 16: Hoare triple {28663#(< ~counter~0 12)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {28663#(< ~counter~0 12)} is VALID [2022-04-28 12:40:42,657 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {28174#true} {28663#(< ~counter~0 12)} #92#return; {28663#(< ~counter~0 12)} is VALID [2022-04-28 12:40:42,657 INFO L290 TraceCheckUtils]: 14: Hoare triple {28174#true} assume true; {28174#true} is VALID [2022-04-28 12:40:42,657 INFO L290 TraceCheckUtils]: 13: Hoare triple {28174#true} assume !(0 == ~cond); {28174#true} is VALID [2022-04-28 12:40:42,657 INFO L290 TraceCheckUtils]: 12: Hoare triple {28174#true} ~cond := #in~cond; {28174#true} is VALID [2022-04-28 12:40:42,657 INFO L272 TraceCheckUtils]: 11: Hoare triple {28663#(< ~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)); {28174#true} is VALID [2022-04-28 12:40:42,658 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {28174#true} {28663#(< ~counter~0 12)} #90#return; {28663#(< ~counter~0 12)} is VALID [2022-04-28 12:40:42,658 INFO L290 TraceCheckUtils]: 9: Hoare triple {28174#true} assume true; {28174#true} is VALID [2022-04-28 12:40:42,658 INFO L290 TraceCheckUtils]: 8: Hoare triple {28174#true} assume !(0 == ~cond); {28174#true} is VALID [2022-04-28 12:40:42,658 INFO L290 TraceCheckUtils]: 7: Hoare triple {28174#true} ~cond := #in~cond; {28174#true} is VALID [2022-04-28 12:40:42,658 INFO L272 TraceCheckUtils]: 6: Hoare triple {28663#(< ~counter~0 12)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {28174#true} is VALID [2022-04-28 12:40:42,658 INFO L290 TraceCheckUtils]: 5: Hoare triple {28663#(< ~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; {28663#(< ~counter~0 12)} is VALID [2022-04-28 12:40:42,659 INFO L272 TraceCheckUtils]: 4: Hoare triple {28663#(< ~counter~0 12)} call #t~ret9 := main(); {28663#(< ~counter~0 12)} is VALID [2022-04-28 12:40:42,659 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {28663#(< ~counter~0 12)} {28174#true} #102#return; {28663#(< ~counter~0 12)} is VALID [2022-04-28 12:40:42,659 INFO L290 TraceCheckUtils]: 2: Hoare triple {28663#(< ~counter~0 12)} assume true; {28663#(< ~counter~0 12)} is VALID [2022-04-28 12:40:42,660 INFO L290 TraceCheckUtils]: 1: Hoare triple {28174#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; {28663#(< ~counter~0 12)} is VALID [2022-04-28 12:40:42,660 INFO L272 TraceCheckUtils]: 0: Hoare triple {28174#true} call ULTIMATE.init(); {28174#true} is VALID [2022-04-28 12:40:42,660 INFO L134 CoverageAnalysis]: Checked inductivity of 164 backedges. 16 proven. 32 refuted. 0 times theorem prover too weak. 116 trivial. 0 not checked. [2022-04-28 12:40:42,660 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:40:42,660 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1336460560] [2022-04-28 12:40:42,660 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:40:42,660 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1328952356] [2022-04-28 12:40:42,660 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1328952356] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:40:42,660 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:40:42,660 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 12] total 22 [2022-04-28 12:40:42,661 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:40:42,661 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [103674847] [2022-04-28 12:40:42,661 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [103674847] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:40:42,661 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:40:42,661 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 12:40:42,661 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1257681881] [2022-04-28 12:40:42,661 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:40:42,661 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 5.0) internal successors, (60), 11 states have internal predecessors, (60), 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 87 [2022-04-28 12:40:42,661 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:40:42,665 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 5.0) internal successors, (60), 11 states have internal predecessors, (60), 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:40:42,722 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:40:42,722 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 12:40:42,722 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:40:42,722 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 12:40:42,723 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=195, Invalid=267, Unknown=0, NotChecked=0, Total=462 [2022-04-28 12:40:42,723 INFO L87 Difference]: Start difference. First operand 257 states and 328 transitions. Second operand has 12 states, 12 states have (on average 5.0) internal successors, (60), 11 states have internal predecessors, (60), 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:40:43,460 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:40:43,460 INFO L93 Difference]: Finished difference Result 292 states and 372 transitions. [2022-04-28 12:40:43,460 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-28 12:40:43,460 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 5.0) internal successors, (60), 11 states have internal predecessors, (60), 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 87 [2022-04-28 12:40:43,460 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:40:43,461 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 5.0) internal successors, (60), 11 states have internal predecessors, (60), 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:40:43,462 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 175 transitions. [2022-04-28 12:40:43,462 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 5.0) internal successors, (60), 11 states have internal predecessors, (60), 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:40:43,464 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 175 transitions. [2022-04-28 12:40:43,464 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 175 transitions. [2022-04-28 12:40:43,591 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:40:43,598 INFO L225 Difference]: With dead ends: 292 [2022-04-28 12:40:43,598 INFO L226 Difference]: Without dead ends: 287 [2022-04-28 12:40:43,598 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 178 GetRequests, 153 SyntacticMatches, 0 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 35 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=288, Invalid=414, Unknown=0, NotChecked=0, Total=702 [2022-04-28 12:40:43,599 INFO L413 NwaCegarLoop]: 54 mSDtfsCounter, 106 mSDsluCounter, 157 mSDsCounter, 0 mSdLazyCounter, 96 mSolverCounterSat, 92 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 106 SdHoareTripleChecker+Valid, 211 SdHoareTripleChecker+Invalid, 188 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 92 IncrementalHoareTripleChecker+Valid, 96 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:40:43,599 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [106 Valid, 211 Invalid, 188 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [92 Valid, 96 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:40:43,600 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 287 states. [2022-04-28 12:40:43,878 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 287 to 278. [2022-04-28 12:40:43,878 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:40:43,879 INFO L82 GeneralOperation]: Start isEquivalent. First operand 287 states. Second operand has 278 states, 204 states have (on average 1.196078431372549) internal successors, (244), 212 states have internal predecessors, (244), 57 states have call successors, (57), 18 states have call predecessors, (57), 16 states have return successors, (55), 47 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-28 12:40:43,879 INFO L74 IsIncluded]: Start isIncluded. First operand 287 states. Second operand has 278 states, 204 states have (on average 1.196078431372549) internal successors, (244), 212 states have internal predecessors, (244), 57 states have call successors, (57), 18 states have call predecessors, (57), 16 states have return successors, (55), 47 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-28 12:40:43,879 INFO L87 Difference]: Start difference. First operand 287 states. Second operand has 278 states, 204 states have (on average 1.196078431372549) internal successors, (244), 212 states have internal predecessors, (244), 57 states have call successors, (57), 18 states have call predecessors, (57), 16 states have return successors, (55), 47 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-28 12:40:43,883 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:40:43,883 INFO L93 Difference]: Finished difference Result 287 states and 366 transitions. [2022-04-28 12:40:43,883 INFO L276 IsEmpty]: Start isEmpty. Operand 287 states and 366 transitions. [2022-04-28 12:40:43,883 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:40:43,883 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:40:43,884 INFO L74 IsIncluded]: Start isIncluded. First operand has 278 states, 204 states have (on average 1.196078431372549) internal successors, (244), 212 states have internal predecessors, (244), 57 states have call successors, (57), 18 states have call predecessors, (57), 16 states have return successors, (55), 47 states have call predecessors, (55), 55 states have call successors, (55) Second operand 287 states. [2022-04-28 12:40:43,884 INFO L87 Difference]: Start difference. First operand has 278 states, 204 states have (on average 1.196078431372549) internal successors, (244), 212 states have internal predecessors, (244), 57 states have call successors, (57), 18 states have call predecessors, (57), 16 states have return successors, (55), 47 states have call predecessors, (55), 55 states have call successors, (55) Second operand 287 states. [2022-04-28 12:40:43,888 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:40:43,888 INFO L93 Difference]: Finished difference Result 287 states and 366 transitions. [2022-04-28 12:40:43,888 INFO L276 IsEmpty]: Start isEmpty. Operand 287 states and 366 transitions. [2022-04-28 12:40:43,888 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:40:43,888 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:40:43,888 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:40:43,888 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:40:43,889 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 278 states, 204 states have (on average 1.196078431372549) internal successors, (244), 212 states have internal predecessors, (244), 57 states have call successors, (57), 18 states have call predecessors, (57), 16 states have return successors, (55), 47 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-28 12:40:43,893 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 278 states to 278 states and 356 transitions. [2022-04-28 12:40:43,893 INFO L78 Accepts]: Start accepts. Automaton has 278 states and 356 transitions. Word has length 87 [2022-04-28 12:40:43,893 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:40:43,893 INFO L495 AbstractCegarLoop]: Abstraction has 278 states and 356 transitions. [2022-04-28 12:40:43,893 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 5.0) internal successors, (60), 11 states have internal predecessors, (60), 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:40:43,894 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 278 states and 356 transitions. [2022-04-28 12:40:55,794 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 356 edges. 353 inductive. 0 not inductive. 3 times theorem prover too weak to decide inductivity. [2022-04-28 12:40:55,794 INFO L276 IsEmpty]: Start isEmpty. Operand 278 states and 356 transitions. [2022-04-28 12:40:55,795 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 90 [2022-04-28 12:40:55,795 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:40:55,795 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 4, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:40:55,811 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:40:55,995 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:40:55,995 INFO L420 AbstractCegarLoop]: === Iteration 25 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:40:55,996 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:40:55,996 INFO L85 PathProgramCache]: Analyzing trace with hash 2133755932, now seen corresponding path program 3 times [2022-04-28 12:40:55,996 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:40:55,996 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1063186170] [2022-04-28 12:40:55,996 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:40:55,996 INFO L85 PathProgramCache]: Analyzing trace with hash 2133755932, now seen corresponding path program 4 times [2022-04-28 12:40:55,996 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:40:55,996 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [827186360] [2022-04-28 12:40:55,996 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:40:55,996 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:40:56,013 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:40:56,014 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [657953280] [2022-04-28 12:40:56,014 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:40:56,014 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:40:56,014 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:40:56,015 INFO L229 MonitoredProcess]: Starting monitored process 26 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:40:56,015 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (26)] Waiting until timeout for monitored process [2022-04-28 12:40:56,062 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:40:56,062 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:40:56,063 INFO L263 TraceCheckSpWp]: Trace formula consists of 187 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-28 12:40:56,087 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:40:56,088 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:40:56,307 INFO L272 TraceCheckUtils]: 0: Hoare triple {30441#true} call ULTIMATE.init(); {30441#true} is VALID [2022-04-28 12:40:56,307 INFO L290 TraceCheckUtils]: 1: Hoare triple {30441#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; {30441#true} is VALID [2022-04-28 12:40:56,307 INFO L290 TraceCheckUtils]: 2: Hoare triple {30441#true} assume true; {30441#true} is VALID [2022-04-28 12:40:56,307 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {30441#true} {30441#true} #102#return; {30441#true} is VALID [2022-04-28 12:40:56,307 INFO L272 TraceCheckUtils]: 4: Hoare triple {30441#true} call #t~ret9 := main(); {30441#true} is VALID [2022-04-28 12:40:56,307 INFO L290 TraceCheckUtils]: 5: Hoare triple {30441#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; {30441#true} is VALID [2022-04-28 12:40:56,307 INFO L272 TraceCheckUtils]: 6: Hoare triple {30441#true} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {30441#true} is VALID [2022-04-28 12:40:56,308 INFO L290 TraceCheckUtils]: 7: Hoare triple {30441#true} ~cond := #in~cond; {30441#true} is VALID [2022-04-28 12:40:56,308 INFO L290 TraceCheckUtils]: 8: Hoare triple {30441#true} assume !(0 == ~cond); {30441#true} is VALID [2022-04-28 12:40:56,308 INFO L290 TraceCheckUtils]: 9: Hoare triple {30441#true} assume true; {30441#true} is VALID [2022-04-28 12:40:56,308 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {30441#true} {30441#true} #90#return; {30441#true} is VALID [2022-04-28 12:40:56,308 INFO L272 TraceCheckUtils]: 11: Hoare triple {30441#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)); {30441#true} is VALID [2022-04-28 12:40:56,308 INFO L290 TraceCheckUtils]: 12: Hoare triple {30441#true} ~cond := #in~cond; {30441#true} is VALID [2022-04-28 12:40:56,308 INFO L290 TraceCheckUtils]: 13: Hoare triple {30441#true} assume !(0 == ~cond); {30441#true} is VALID [2022-04-28 12:40:56,308 INFO L290 TraceCheckUtils]: 14: Hoare triple {30441#true} assume true; {30441#true} is VALID [2022-04-28 12:40:56,308 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {30441#true} {30441#true} #92#return; {30441#true} is VALID [2022-04-28 12:40:56,308 INFO L290 TraceCheckUtils]: 16: Hoare triple {30441#true} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {30494#(<= main_~v~0 1)} is VALID [2022-04-28 12:40:56,309 INFO L290 TraceCheckUtils]: 17: Hoare triple {30494#(<= main_~v~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {30494#(<= main_~v~0 1)} is VALID [2022-04-28 12:40:56,309 INFO L290 TraceCheckUtils]: 18: Hoare triple {30494#(<= main_~v~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {30494#(<= main_~v~0 1)} is VALID [2022-04-28 12:40:56,309 INFO L272 TraceCheckUtils]: 19: Hoare triple {30494#(<= 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)); {30441#true} is VALID [2022-04-28 12:40:56,309 INFO L290 TraceCheckUtils]: 20: Hoare triple {30441#true} ~cond := #in~cond; {30441#true} is VALID [2022-04-28 12:40:56,309 INFO L290 TraceCheckUtils]: 21: Hoare triple {30441#true} assume !(0 == ~cond); {30441#true} is VALID [2022-04-28 12:40:56,309 INFO L290 TraceCheckUtils]: 22: Hoare triple {30441#true} assume true; {30441#true} is VALID [2022-04-28 12:40:56,310 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {30441#true} {30494#(<= main_~v~0 1)} #94#return; {30494#(<= main_~v~0 1)} is VALID [2022-04-28 12:40:56,310 INFO L290 TraceCheckUtils]: 24: Hoare triple {30494#(<= main_~v~0 1)} assume !!(0 != ~r~0); {30494#(<= main_~v~0 1)} is VALID [2022-04-28 12:40:56,310 INFO L290 TraceCheckUtils]: 25: Hoare triple {30494#(<= main_~v~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {30494#(<= main_~v~0 1)} is VALID [2022-04-28 12:40:56,310 INFO L290 TraceCheckUtils]: 26: Hoare triple {30494#(<= main_~v~0 1)} assume !!(#t~post7 < 20);havoc #t~post7; {30494#(<= main_~v~0 1)} is VALID [2022-04-28 12:40:56,311 INFO L272 TraceCheckUtils]: 27: Hoare triple {30494#(<= 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)); {30441#true} is VALID [2022-04-28 12:40:56,311 INFO L290 TraceCheckUtils]: 28: Hoare triple {30441#true} ~cond := #in~cond; {30441#true} is VALID [2022-04-28 12:40:56,311 INFO L290 TraceCheckUtils]: 29: Hoare triple {30441#true} assume !(0 == ~cond); {30441#true} is VALID [2022-04-28 12:40:56,311 INFO L290 TraceCheckUtils]: 30: Hoare triple {30441#true} assume true; {30441#true} is VALID [2022-04-28 12:40:56,311 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {30441#true} {30494#(<= main_~v~0 1)} #96#return; {30494#(<= main_~v~0 1)} is VALID [2022-04-28 12:40:56,311 INFO L290 TraceCheckUtils]: 32: Hoare triple {30494#(<= main_~v~0 1)} assume !(~r~0 > 0); {30494#(<= main_~v~0 1)} is VALID [2022-04-28 12:40:56,312 INFO L290 TraceCheckUtils]: 33: Hoare triple {30494#(<= main_~v~0 1)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {30494#(<= main_~v~0 1)} is VALID [2022-04-28 12:40:56,312 INFO L290 TraceCheckUtils]: 34: Hoare triple {30494#(<= main_~v~0 1)} assume !!(#t~post8 < 20);havoc #t~post8; {30494#(<= main_~v~0 1)} is VALID [2022-04-28 12:40:56,312 INFO L272 TraceCheckUtils]: 35: Hoare triple {30494#(<= 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)); {30441#true} is VALID [2022-04-28 12:40:56,312 INFO L290 TraceCheckUtils]: 36: Hoare triple {30441#true} ~cond := #in~cond; {30441#true} is VALID [2022-04-28 12:40:56,312 INFO L290 TraceCheckUtils]: 37: Hoare triple {30441#true} assume !(0 == ~cond); {30441#true} is VALID [2022-04-28 12:40:56,312 INFO L290 TraceCheckUtils]: 38: Hoare triple {30441#true} assume true; {30441#true} is VALID [2022-04-28 12:40:56,313 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {30441#true} {30494#(<= main_~v~0 1)} #98#return; {30494#(<= main_~v~0 1)} is VALID [2022-04-28 12:40:56,313 INFO L290 TraceCheckUtils]: 40: Hoare triple {30494#(<= main_~v~0 1)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {30494#(<= main_~v~0 1)} is VALID [2022-04-28 12:40:56,313 INFO L290 TraceCheckUtils]: 41: Hoare triple {30494#(<= main_~v~0 1)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {30494#(<= main_~v~0 1)} is VALID [2022-04-28 12:40:56,313 INFO L290 TraceCheckUtils]: 42: Hoare triple {30494#(<= main_~v~0 1)} assume !!(#t~post8 < 20);havoc #t~post8; {30494#(<= main_~v~0 1)} is VALID [2022-04-28 12:40:56,314 INFO L272 TraceCheckUtils]: 43: Hoare triple {30494#(<= 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)); {30441#true} is VALID [2022-04-28 12:40:56,314 INFO L290 TraceCheckUtils]: 44: Hoare triple {30441#true} ~cond := #in~cond; {30441#true} is VALID [2022-04-28 12:40:56,314 INFO L290 TraceCheckUtils]: 45: Hoare triple {30441#true} assume !(0 == ~cond); {30441#true} is VALID [2022-04-28 12:40:56,314 INFO L290 TraceCheckUtils]: 46: Hoare triple {30441#true} assume true; {30441#true} is VALID [2022-04-28 12:40:56,314 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {30441#true} {30494#(<= main_~v~0 1)} #98#return; {30494#(<= main_~v~0 1)} is VALID [2022-04-28 12:40:56,314 INFO L290 TraceCheckUtils]: 48: Hoare triple {30494#(<= main_~v~0 1)} assume !(~r~0 < 0); {30494#(<= main_~v~0 1)} is VALID [2022-04-28 12:40:56,315 INFO L290 TraceCheckUtils]: 49: Hoare triple {30494#(<= main_~v~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {30494#(<= main_~v~0 1)} is VALID [2022-04-28 12:40:56,315 INFO L290 TraceCheckUtils]: 50: Hoare triple {30494#(<= main_~v~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {30494#(<= main_~v~0 1)} is VALID [2022-04-28 12:40:56,315 INFO L272 TraceCheckUtils]: 51: Hoare triple {30494#(<= 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)); {30441#true} is VALID [2022-04-28 12:40:56,315 INFO L290 TraceCheckUtils]: 52: Hoare triple {30441#true} ~cond := #in~cond; {30441#true} is VALID [2022-04-28 12:40:56,315 INFO L290 TraceCheckUtils]: 53: Hoare triple {30441#true} assume !(0 == ~cond); {30441#true} is VALID [2022-04-28 12:40:56,315 INFO L290 TraceCheckUtils]: 54: Hoare triple {30441#true} assume true; {30441#true} is VALID [2022-04-28 12:40:56,316 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {30441#true} {30494#(<= main_~v~0 1)} #94#return; {30494#(<= main_~v~0 1)} is VALID [2022-04-28 12:40:56,316 INFO L290 TraceCheckUtils]: 56: Hoare triple {30494#(<= main_~v~0 1)} assume !!(0 != ~r~0); {30494#(<= main_~v~0 1)} is VALID [2022-04-28 12:40:56,316 INFO L290 TraceCheckUtils]: 57: Hoare triple {30494#(<= main_~v~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {30494#(<= main_~v~0 1)} is VALID [2022-04-28 12:40:56,316 INFO L290 TraceCheckUtils]: 58: Hoare triple {30494#(<= main_~v~0 1)} assume !!(#t~post7 < 20);havoc #t~post7; {30494#(<= main_~v~0 1)} is VALID [2022-04-28 12:40:56,317 INFO L272 TraceCheckUtils]: 59: Hoare triple {30494#(<= 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)); {30441#true} is VALID [2022-04-28 12:40:56,317 INFO L290 TraceCheckUtils]: 60: Hoare triple {30441#true} ~cond := #in~cond; {30441#true} is VALID [2022-04-28 12:40:56,317 INFO L290 TraceCheckUtils]: 61: Hoare triple {30441#true} assume !(0 == ~cond); {30441#true} is VALID [2022-04-28 12:40:56,317 INFO L290 TraceCheckUtils]: 62: Hoare triple {30441#true} assume true; {30441#true} is VALID [2022-04-28 12:40:56,335 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {30441#true} {30494#(<= main_~v~0 1)} #96#return; {30494#(<= main_~v~0 1)} is VALID [2022-04-28 12:40:56,336 INFO L290 TraceCheckUtils]: 64: Hoare triple {30494#(<= main_~v~0 1)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {30639#(< 0 (+ main_~r~0 1))} is VALID [2022-04-28 12:40:56,336 INFO L290 TraceCheckUtils]: 65: Hoare triple {30639#(< 0 (+ main_~r~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {30639#(< 0 (+ main_~r~0 1))} is VALID [2022-04-28 12:40:56,337 INFO L290 TraceCheckUtils]: 66: Hoare triple {30639#(< 0 (+ main_~r~0 1))} assume !!(#t~post7 < 20);havoc #t~post7; {30639#(< 0 (+ main_~r~0 1))} is VALID [2022-04-28 12:40:56,337 INFO L272 TraceCheckUtils]: 67: Hoare triple {30639#(< 0 (+ main_~r~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)); {30441#true} is VALID [2022-04-28 12:40:56,337 INFO L290 TraceCheckUtils]: 68: Hoare triple {30441#true} ~cond := #in~cond; {30441#true} is VALID [2022-04-28 12:40:56,337 INFO L290 TraceCheckUtils]: 69: Hoare triple {30441#true} assume !(0 == ~cond); {30441#true} is VALID [2022-04-28 12:40:56,337 INFO L290 TraceCheckUtils]: 70: Hoare triple {30441#true} assume true; {30441#true} is VALID [2022-04-28 12:40:56,337 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {30441#true} {30639#(< 0 (+ main_~r~0 1))} #96#return; {30639#(< 0 (+ main_~r~0 1))} is VALID [2022-04-28 12:40:56,338 INFO L290 TraceCheckUtils]: 72: Hoare triple {30639#(< 0 (+ main_~r~0 1))} assume !(~r~0 > 0); {30639#(< 0 (+ main_~r~0 1))} is VALID [2022-04-28 12:40:56,338 INFO L290 TraceCheckUtils]: 73: Hoare triple {30639#(< 0 (+ main_~r~0 1))} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {30639#(< 0 (+ main_~r~0 1))} is VALID [2022-04-28 12:40:56,338 INFO L290 TraceCheckUtils]: 74: Hoare triple {30639#(< 0 (+ main_~r~0 1))} assume !!(#t~post8 < 20);havoc #t~post8; {30639#(< 0 (+ main_~r~0 1))} is VALID [2022-04-28 12:40:56,338 INFO L272 TraceCheckUtils]: 75: Hoare triple {30639#(< 0 (+ main_~r~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)); {30441#true} is VALID [2022-04-28 12:40:56,338 INFO L290 TraceCheckUtils]: 76: Hoare triple {30441#true} ~cond := #in~cond; {30441#true} is VALID [2022-04-28 12:40:56,339 INFO L290 TraceCheckUtils]: 77: Hoare triple {30441#true} assume !(0 == ~cond); {30441#true} is VALID [2022-04-28 12:40:56,339 INFO L290 TraceCheckUtils]: 78: Hoare triple {30441#true} assume true; {30441#true} is VALID [2022-04-28 12:40:56,339 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {30441#true} {30639#(< 0 (+ main_~r~0 1))} #98#return; {30639#(< 0 (+ main_~r~0 1))} is VALID [2022-04-28 12:40:56,340 INFO L290 TraceCheckUtils]: 80: Hoare triple {30639#(< 0 (+ main_~r~0 1))} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {30442#false} is VALID [2022-04-28 12:40:56,340 INFO L290 TraceCheckUtils]: 81: Hoare triple {30442#false} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {30442#false} is VALID [2022-04-28 12:40:56,340 INFO L290 TraceCheckUtils]: 82: Hoare triple {30442#false} assume !(#t~post8 < 20);havoc #t~post8; {30442#false} is VALID [2022-04-28 12:40:56,340 INFO L290 TraceCheckUtils]: 83: Hoare triple {30442#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {30442#false} is VALID [2022-04-28 12:40:56,340 INFO L290 TraceCheckUtils]: 84: Hoare triple {30442#false} assume !(#t~post6 < 20);havoc #t~post6; {30442#false} is VALID [2022-04-28 12:40:56,340 INFO L272 TraceCheckUtils]: 85: Hoare triple {30442#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)); {30442#false} is VALID [2022-04-28 12:40:56,340 INFO L290 TraceCheckUtils]: 86: Hoare triple {30442#false} ~cond := #in~cond; {30442#false} is VALID [2022-04-28 12:40:56,341 INFO L290 TraceCheckUtils]: 87: Hoare triple {30442#false} assume 0 == ~cond; {30442#false} is VALID [2022-04-28 12:40:56,341 INFO L290 TraceCheckUtils]: 88: Hoare triple {30442#false} assume !false; {30442#false} is VALID [2022-04-28 12:40:56,341 INFO L134 CoverageAnalysis]: Checked inductivity of 170 backedges. 26 proven. 16 refuted. 0 times theorem prover too weak. 128 trivial. 0 not checked. [2022-04-28 12:40:56,341 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:40:56,556 INFO L290 TraceCheckUtils]: 88: Hoare triple {30442#false} assume !false; {30442#false} is VALID [2022-04-28 12:40:56,556 INFO L290 TraceCheckUtils]: 87: Hoare triple {30442#false} assume 0 == ~cond; {30442#false} is VALID [2022-04-28 12:40:56,556 INFO L290 TraceCheckUtils]: 86: Hoare triple {30442#false} ~cond := #in~cond; {30442#false} is VALID [2022-04-28 12:40:56,556 INFO L272 TraceCheckUtils]: 85: Hoare triple {30442#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)); {30442#false} is VALID [2022-04-28 12:40:56,556 INFO L290 TraceCheckUtils]: 84: Hoare triple {30442#false} assume !(#t~post6 < 20);havoc #t~post6; {30442#false} is VALID [2022-04-28 12:40:56,556 INFO L290 TraceCheckUtils]: 83: Hoare triple {30442#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {30442#false} is VALID [2022-04-28 12:40:56,556 INFO L290 TraceCheckUtils]: 82: Hoare triple {30442#false} assume !(#t~post8 < 20);havoc #t~post8; {30442#false} is VALID [2022-04-28 12:40:56,556 INFO L290 TraceCheckUtils]: 81: Hoare triple {30442#false} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {30442#false} is VALID [2022-04-28 12:40:56,557 INFO L290 TraceCheckUtils]: 80: Hoare triple {30639#(< 0 (+ main_~r~0 1))} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {30442#false} is VALID [2022-04-28 12:40:56,558 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {30441#true} {30639#(< 0 (+ main_~r~0 1))} #98#return; {30639#(< 0 (+ main_~r~0 1))} is VALID [2022-04-28 12:40:56,558 INFO L290 TraceCheckUtils]: 78: Hoare triple {30441#true} assume true; {30441#true} is VALID [2022-04-28 12:40:56,558 INFO L290 TraceCheckUtils]: 77: Hoare triple {30441#true} assume !(0 == ~cond); {30441#true} is VALID [2022-04-28 12:40:56,558 INFO L290 TraceCheckUtils]: 76: Hoare triple {30441#true} ~cond := #in~cond; {30441#true} is VALID [2022-04-28 12:40:56,558 INFO L272 TraceCheckUtils]: 75: Hoare triple {30639#(< 0 (+ main_~r~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)); {30441#true} is VALID [2022-04-28 12:40:56,558 INFO L290 TraceCheckUtils]: 74: Hoare triple {30639#(< 0 (+ main_~r~0 1))} assume !!(#t~post8 < 20);havoc #t~post8; {30639#(< 0 (+ main_~r~0 1))} is VALID [2022-04-28 12:40:56,559 INFO L290 TraceCheckUtils]: 73: Hoare triple {30639#(< 0 (+ main_~r~0 1))} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {30639#(< 0 (+ main_~r~0 1))} is VALID [2022-04-28 12:40:56,559 INFO L290 TraceCheckUtils]: 72: Hoare triple {30639#(< 0 (+ main_~r~0 1))} assume !(~r~0 > 0); {30639#(< 0 (+ main_~r~0 1))} is VALID [2022-04-28 12:40:56,559 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {30441#true} {30639#(< 0 (+ main_~r~0 1))} #96#return; {30639#(< 0 (+ main_~r~0 1))} is VALID [2022-04-28 12:40:56,559 INFO L290 TraceCheckUtils]: 70: Hoare triple {30441#true} assume true; {30441#true} is VALID [2022-04-28 12:40:56,559 INFO L290 TraceCheckUtils]: 69: Hoare triple {30441#true} assume !(0 == ~cond); {30441#true} is VALID [2022-04-28 12:40:56,560 INFO L290 TraceCheckUtils]: 68: Hoare triple {30441#true} ~cond := #in~cond; {30441#true} is VALID [2022-04-28 12:40:56,560 INFO L272 TraceCheckUtils]: 67: Hoare triple {30639#(< 0 (+ main_~r~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)); {30441#true} is VALID [2022-04-28 12:40:56,560 INFO L290 TraceCheckUtils]: 66: Hoare triple {30639#(< 0 (+ main_~r~0 1))} assume !!(#t~post7 < 20);havoc #t~post7; {30639#(< 0 (+ main_~r~0 1))} is VALID [2022-04-28 12:40:56,560 INFO L290 TraceCheckUtils]: 65: Hoare triple {30639#(< 0 (+ main_~r~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {30639#(< 0 (+ main_~r~0 1))} is VALID [2022-04-28 12:40:56,561 INFO L290 TraceCheckUtils]: 64: Hoare triple {30494#(<= main_~v~0 1)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {30639#(< 0 (+ main_~r~0 1))} is VALID [2022-04-28 12:40:56,561 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {30441#true} {30494#(<= main_~v~0 1)} #96#return; {30494#(<= main_~v~0 1)} is VALID [2022-04-28 12:40:56,561 INFO L290 TraceCheckUtils]: 62: Hoare triple {30441#true} assume true; {30441#true} is VALID [2022-04-28 12:40:56,561 INFO L290 TraceCheckUtils]: 61: Hoare triple {30441#true} assume !(0 == ~cond); {30441#true} is VALID [2022-04-28 12:40:56,561 INFO L290 TraceCheckUtils]: 60: Hoare triple {30441#true} ~cond := #in~cond; {30441#true} is VALID [2022-04-28 12:40:56,561 INFO L272 TraceCheckUtils]: 59: Hoare triple {30494#(<= 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)); {30441#true} is VALID [2022-04-28 12:40:56,562 INFO L290 TraceCheckUtils]: 58: Hoare triple {30494#(<= main_~v~0 1)} assume !!(#t~post7 < 20);havoc #t~post7; {30494#(<= main_~v~0 1)} is VALID [2022-04-28 12:40:56,562 INFO L290 TraceCheckUtils]: 57: Hoare triple {30494#(<= main_~v~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {30494#(<= main_~v~0 1)} is VALID [2022-04-28 12:40:56,562 INFO L290 TraceCheckUtils]: 56: Hoare triple {30494#(<= main_~v~0 1)} assume !!(0 != ~r~0); {30494#(<= main_~v~0 1)} is VALID [2022-04-28 12:40:56,563 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {30441#true} {30494#(<= main_~v~0 1)} #94#return; {30494#(<= main_~v~0 1)} is VALID [2022-04-28 12:40:56,563 INFO L290 TraceCheckUtils]: 54: Hoare triple {30441#true} assume true; {30441#true} is VALID [2022-04-28 12:40:56,563 INFO L290 TraceCheckUtils]: 53: Hoare triple {30441#true} assume !(0 == ~cond); {30441#true} is VALID [2022-04-28 12:40:56,563 INFO L290 TraceCheckUtils]: 52: Hoare triple {30441#true} ~cond := #in~cond; {30441#true} is VALID [2022-04-28 12:40:56,563 INFO L272 TraceCheckUtils]: 51: Hoare triple {30494#(<= 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)); {30441#true} is VALID [2022-04-28 12:40:56,563 INFO L290 TraceCheckUtils]: 50: Hoare triple {30494#(<= main_~v~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {30494#(<= main_~v~0 1)} is VALID [2022-04-28 12:40:56,563 INFO L290 TraceCheckUtils]: 49: Hoare triple {30494#(<= main_~v~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {30494#(<= main_~v~0 1)} is VALID [2022-04-28 12:40:56,564 INFO L290 TraceCheckUtils]: 48: Hoare triple {30494#(<= main_~v~0 1)} assume !(~r~0 < 0); {30494#(<= main_~v~0 1)} is VALID [2022-04-28 12:40:56,564 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {30441#true} {30494#(<= main_~v~0 1)} #98#return; {30494#(<= main_~v~0 1)} is VALID [2022-04-28 12:40:56,564 INFO L290 TraceCheckUtils]: 46: Hoare triple {30441#true} assume true; {30441#true} is VALID [2022-04-28 12:40:56,564 INFO L290 TraceCheckUtils]: 45: Hoare triple {30441#true} assume !(0 == ~cond); {30441#true} is VALID [2022-04-28 12:40:56,564 INFO L290 TraceCheckUtils]: 44: Hoare triple {30441#true} ~cond := #in~cond; {30441#true} is VALID [2022-04-28 12:40:56,564 INFO L272 TraceCheckUtils]: 43: Hoare triple {30494#(<= 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)); {30441#true} is VALID [2022-04-28 12:40:56,565 INFO L290 TraceCheckUtils]: 42: Hoare triple {30494#(<= main_~v~0 1)} assume !!(#t~post8 < 20);havoc #t~post8; {30494#(<= main_~v~0 1)} is VALID [2022-04-28 12:40:56,565 INFO L290 TraceCheckUtils]: 41: Hoare triple {30494#(<= main_~v~0 1)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {30494#(<= main_~v~0 1)} is VALID [2022-04-28 12:40:56,565 INFO L290 TraceCheckUtils]: 40: Hoare triple {30494#(<= main_~v~0 1)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {30494#(<= main_~v~0 1)} is VALID [2022-04-28 12:40:56,565 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {30441#true} {30494#(<= main_~v~0 1)} #98#return; {30494#(<= main_~v~0 1)} is VALID [2022-04-28 12:40:56,566 INFO L290 TraceCheckUtils]: 38: Hoare triple {30441#true} assume true; {30441#true} is VALID [2022-04-28 12:40:56,566 INFO L290 TraceCheckUtils]: 37: Hoare triple {30441#true} assume !(0 == ~cond); {30441#true} is VALID [2022-04-28 12:40:56,566 INFO L290 TraceCheckUtils]: 36: Hoare triple {30441#true} ~cond := #in~cond; {30441#true} is VALID [2022-04-28 12:40:56,566 INFO L272 TraceCheckUtils]: 35: Hoare triple {30494#(<= 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)); {30441#true} is VALID [2022-04-28 12:40:56,566 INFO L290 TraceCheckUtils]: 34: Hoare triple {30494#(<= main_~v~0 1)} assume !!(#t~post8 < 20);havoc #t~post8; {30494#(<= main_~v~0 1)} is VALID [2022-04-28 12:40:56,566 INFO L290 TraceCheckUtils]: 33: Hoare triple {30494#(<= main_~v~0 1)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {30494#(<= main_~v~0 1)} is VALID [2022-04-28 12:40:56,567 INFO L290 TraceCheckUtils]: 32: Hoare triple {30494#(<= main_~v~0 1)} assume !(~r~0 > 0); {30494#(<= main_~v~0 1)} is VALID [2022-04-28 12:40:56,567 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {30441#true} {30494#(<= main_~v~0 1)} #96#return; {30494#(<= main_~v~0 1)} is VALID [2022-04-28 12:40:56,567 INFO L290 TraceCheckUtils]: 30: Hoare triple {30441#true} assume true; {30441#true} is VALID [2022-04-28 12:40:56,567 INFO L290 TraceCheckUtils]: 29: Hoare triple {30441#true} assume !(0 == ~cond); {30441#true} is VALID [2022-04-28 12:40:56,567 INFO L290 TraceCheckUtils]: 28: Hoare triple {30441#true} ~cond := #in~cond; {30441#true} is VALID [2022-04-28 12:40:56,567 INFO L272 TraceCheckUtils]: 27: Hoare triple {30494#(<= 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)); {30441#true} is VALID [2022-04-28 12:40:56,568 INFO L290 TraceCheckUtils]: 26: Hoare triple {30494#(<= main_~v~0 1)} assume !!(#t~post7 < 20);havoc #t~post7; {30494#(<= main_~v~0 1)} is VALID [2022-04-28 12:40:56,568 INFO L290 TraceCheckUtils]: 25: Hoare triple {30494#(<= main_~v~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {30494#(<= main_~v~0 1)} is VALID [2022-04-28 12:40:56,568 INFO L290 TraceCheckUtils]: 24: Hoare triple {30494#(<= main_~v~0 1)} assume !!(0 != ~r~0); {30494#(<= main_~v~0 1)} is VALID [2022-04-28 12:40:56,569 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {30441#true} {30494#(<= main_~v~0 1)} #94#return; {30494#(<= main_~v~0 1)} is VALID [2022-04-28 12:40:56,569 INFO L290 TraceCheckUtils]: 22: Hoare triple {30441#true} assume true; {30441#true} is VALID [2022-04-28 12:40:56,569 INFO L290 TraceCheckUtils]: 21: Hoare triple {30441#true} assume !(0 == ~cond); {30441#true} is VALID [2022-04-28 12:40:56,569 INFO L290 TraceCheckUtils]: 20: Hoare triple {30441#true} ~cond := #in~cond; {30441#true} is VALID [2022-04-28 12:40:56,569 INFO L272 TraceCheckUtils]: 19: Hoare triple {30494#(<= 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)); {30441#true} is VALID [2022-04-28 12:40:56,569 INFO L290 TraceCheckUtils]: 18: Hoare triple {30494#(<= main_~v~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {30494#(<= main_~v~0 1)} is VALID [2022-04-28 12:40:56,569 INFO L290 TraceCheckUtils]: 17: Hoare triple {30494#(<= main_~v~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {30494#(<= main_~v~0 1)} is VALID [2022-04-28 12:40:56,570 INFO L290 TraceCheckUtils]: 16: Hoare triple {30441#true} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {30494#(<= main_~v~0 1)} is VALID [2022-04-28 12:40:56,570 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {30441#true} {30441#true} #92#return; {30441#true} is VALID [2022-04-28 12:40:56,570 INFO L290 TraceCheckUtils]: 14: Hoare triple {30441#true} assume true; {30441#true} is VALID [2022-04-28 12:40:56,570 INFO L290 TraceCheckUtils]: 13: Hoare triple {30441#true} assume !(0 == ~cond); {30441#true} is VALID [2022-04-28 12:40:56,570 INFO L290 TraceCheckUtils]: 12: Hoare triple {30441#true} ~cond := #in~cond; {30441#true} is VALID [2022-04-28 12:40:56,570 INFO L272 TraceCheckUtils]: 11: Hoare triple {30441#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)); {30441#true} is VALID [2022-04-28 12:40:56,570 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {30441#true} {30441#true} #90#return; {30441#true} is VALID [2022-04-28 12:40:56,570 INFO L290 TraceCheckUtils]: 9: Hoare triple {30441#true} assume true; {30441#true} is VALID [2022-04-28 12:40:56,570 INFO L290 TraceCheckUtils]: 8: Hoare triple {30441#true} assume !(0 == ~cond); {30441#true} is VALID [2022-04-28 12:40:56,570 INFO L290 TraceCheckUtils]: 7: Hoare triple {30441#true} ~cond := #in~cond; {30441#true} is VALID [2022-04-28 12:40:56,570 INFO L272 TraceCheckUtils]: 6: Hoare triple {30441#true} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {30441#true} is VALID [2022-04-28 12:40:56,570 INFO L290 TraceCheckUtils]: 5: Hoare triple {30441#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; {30441#true} is VALID [2022-04-28 12:40:56,571 INFO L272 TraceCheckUtils]: 4: Hoare triple {30441#true} call #t~ret9 := main(); {30441#true} is VALID [2022-04-28 12:40:56,571 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {30441#true} {30441#true} #102#return; {30441#true} is VALID [2022-04-28 12:40:56,571 INFO L290 TraceCheckUtils]: 2: Hoare triple {30441#true} assume true; {30441#true} is VALID [2022-04-28 12:40:56,571 INFO L290 TraceCheckUtils]: 1: Hoare triple {30441#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; {30441#true} is VALID [2022-04-28 12:40:56,571 INFO L272 TraceCheckUtils]: 0: Hoare triple {30441#true} call ULTIMATE.init(); {30441#true} is VALID [2022-04-28 12:40:56,571 INFO L134 CoverageAnalysis]: Checked inductivity of 170 backedges. 26 proven. 16 refuted. 0 times theorem prover too weak. 128 trivial. 0 not checked. [2022-04-28 12:40:56,571 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:40:56,571 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [827186360] [2022-04-28 12:40:56,571 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:40:56,571 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [657953280] [2022-04-28 12:40:56,571 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [657953280] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:40:56,571 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:40:56,572 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4] total 4 [2022-04-28 12:40:56,572 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:40:56,572 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1063186170] [2022-04-28 12:40:56,572 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1063186170] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:40:56,572 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:40:56,572 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-28 12:40:56,572 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1249193002] [2022-04-28 12:40:56,572 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:40:56,572 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 8.5) internal successors, (34), 4 states have internal predecessors, (34), 4 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) Word has length 89 [2022-04-28 12:40:56,572 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:40:56,573 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 8.5) internal successors, (34), 4 states have internal predecessors, (34), 4 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-28 12:40:56,612 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:40:56,613 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-28 12:40:56,613 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:40:56,613 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-28 12:40:56,613 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-28 12:40:56,613 INFO L87 Difference]: Start difference. First operand 278 states and 356 transitions. Second operand has 4 states, 4 states have (on average 8.5) internal successors, (34), 4 states have internal predecessors, (34), 4 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-28 12:40:57,202 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:40:57,202 INFO L93 Difference]: Finished difference Result 427 states and 558 transitions. [2022-04-28 12:40:57,202 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:40:57,202 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 8.5) internal successors, (34), 4 states have internal predecessors, (34), 4 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) Word has length 89 [2022-04-28 12:40:57,202 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:40:57,203 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 8.5) internal successors, (34), 4 states have internal predecessors, (34), 4 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-28 12:40:57,203 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 127 transitions. [2022-04-28 12:40:57,204 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 8.5) internal successors, (34), 4 states have internal predecessors, (34), 4 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-28 12:40:57,204 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 127 transitions. [2022-04-28 12:40:57,204 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 127 transitions. [2022-04-28 12:40:57,304 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 127 edges. 127 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:40:57,310 INFO L225 Difference]: With dead ends: 427 [2022-04-28 12:40:57,310 INFO L226 Difference]: Without dead ends: 321 [2022-04-28 12:40:57,310 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 178 GetRequests, 174 SyntacticMatches, 1 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2022-04-28 12:40:57,311 INFO L413 NwaCegarLoop]: 74 mSDtfsCounter, 11 mSDsluCounter, 68 mSDsCounter, 0 mSdLazyCounter, 44 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 142 SdHoareTripleChecker+Invalid, 47 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 44 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:40:57,311 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [12 Valid, 142 Invalid, 47 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 44 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:40:57,311 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 321 states. [2022-04-28 12:40:57,798 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 321 to 316. [2022-04-28 12:40:57,799 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:40:57,799 INFO L82 GeneralOperation]: Start isEquivalent. First operand 321 states. Second operand has 316 states, 234 states have (on average 1.205128205128205) internal successors, (282), 240 states have internal predecessors, (282), 65 states have call successors, (65), 18 states have call predecessors, (65), 16 states have return successors, (63), 57 states have call predecessors, (63), 63 states have call successors, (63) [2022-04-28 12:40:57,800 INFO L74 IsIncluded]: Start isIncluded. First operand 321 states. Second operand has 316 states, 234 states have (on average 1.205128205128205) internal successors, (282), 240 states have internal predecessors, (282), 65 states have call successors, (65), 18 states have call predecessors, (65), 16 states have return successors, (63), 57 states have call predecessors, (63), 63 states have call successors, (63) [2022-04-28 12:40:57,800 INFO L87 Difference]: Start difference. First operand 321 states. Second operand has 316 states, 234 states have (on average 1.205128205128205) internal successors, (282), 240 states have internal predecessors, (282), 65 states have call successors, (65), 18 states have call predecessors, (65), 16 states have return successors, (63), 57 states have call predecessors, (63), 63 states have call successors, (63) [2022-04-28 12:40:57,806 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:40:57,806 INFO L93 Difference]: Finished difference Result 321 states and 416 transitions. [2022-04-28 12:40:57,806 INFO L276 IsEmpty]: Start isEmpty. Operand 321 states and 416 transitions. [2022-04-28 12:40:57,807 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:40:57,807 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:40:57,808 INFO L74 IsIncluded]: Start isIncluded. First operand has 316 states, 234 states have (on average 1.205128205128205) internal successors, (282), 240 states have internal predecessors, (282), 65 states have call successors, (65), 18 states have call predecessors, (65), 16 states have return successors, (63), 57 states have call predecessors, (63), 63 states have call successors, (63) Second operand 321 states. [2022-04-28 12:40:57,808 INFO L87 Difference]: Start difference. First operand has 316 states, 234 states have (on average 1.205128205128205) internal successors, (282), 240 states have internal predecessors, (282), 65 states have call successors, (65), 18 states have call predecessors, (65), 16 states have return successors, (63), 57 states have call predecessors, (63), 63 states have call successors, (63) Second operand 321 states. [2022-04-28 12:40:57,815 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:40:57,815 INFO L93 Difference]: Finished difference Result 321 states and 416 transitions. [2022-04-28 12:40:57,815 INFO L276 IsEmpty]: Start isEmpty. Operand 321 states and 416 transitions. [2022-04-28 12:40:57,816 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:40:57,816 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:40:57,816 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:40:57,816 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:40:57,816 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 316 states, 234 states have (on average 1.205128205128205) internal successors, (282), 240 states have internal predecessors, (282), 65 states have call successors, (65), 18 states have call predecessors, (65), 16 states have return successors, (63), 57 states have call predecessors, (63), 63 states have call successors, (63) [2022-04-28 12:40:57,824 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 316 states to 316 states and 410 transitions. [2022-04-28 12:40:57,825 INFO L78 Accepts]: Start accepts. Automaton has 316 states and 410 transitions. Word has length 89 [2022-04-28 12:40:57,825 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:40:57,826 INFO L495 AbstractCegarLoop]: Abstraction has 316 states and 410 transitions. [2022-04-28 12:40:57,826 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 8.5) internal successors, (34), 4 states have internal predecessors, (34), 4 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-28 12:40:57,826 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 316 states and 410 transitions. [2022-04-28 12:41:12,299 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 410 edges. 406 inductive. 0 not inductive. 4 times theorem prover too weak to decide inductivity. [2022-04-28 12:41:12,299 INFO L276 IsEmpty]: Start isEmpty. Operand 316 states and 410 transitions. [2022-04-28 12:41:12,300 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 90 [2022-04-28 12:41:12,300 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:41:12,300 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 4, 4, 4, 4, 3, 3, 2, 2, 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, 1, 1, 1] [2022-04-28 12:41:12,318 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (26)] Forceful destruction successful, exit code 0 [2022-04-28 12:41:12,500 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 26 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable24 [2022-04-28 12:41:12,501 INFO L420 AbstractCegarLoop]: === Iteration 26 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:41:12,501 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:41:12,501 INFO L85 PathProgramCache]: Analyzing trace with hash -1322512306, now seen corresponding path program 5 times [2022-04-28 12:41:12,501 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:41:12,501 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1860224199] [2022-04-28 12:41:12,501 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:41:12,501 INFO L85 PathProgramCache]: Analyzing trace with hash -1322512306, now seen corresponding path program 6 times [2022-04-28 12:41:12,501 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:41:12,502 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1112537150] [2022-04-28 12:41:12,502 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:41:12,502 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:41:12,512 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:41:12,512 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1413689305] [2022-04-28 12:41:12,512 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 12:41:12,512 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:41:12,512 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:41:12,513 INFO L229 MonitoredProcess]: Starting monitored process 27 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:41:12,514 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (27)] Waiting until timeout for monitored process [2022-04-28 12:41:12,640 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 6 check-sat command(s) [2022-04-28 12:41:12,641 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:41:12,642 INFO L263 TraceCheckSpWp]: Trace formula consists of 230 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-28 12:41:12,657 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:41:12,658 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:41:13,048 INFO L272 TraceCheckUtils]: 0: Hoare triple {33108#true} call ULTIMATE.init(); {33108#true} is VALID [2022-04-28 12:41:13,048 INFO L290 TraceCheckUtils]: 1: Hoare triple {33108#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; {33116#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:13,055 INFO L290 TraceCheckUtils]: 2: Hoare triple {33116#(<= ~counter~0 0)} assume true; {33116#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:13,056 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {33116#(<= ~counter~0 0)} {33108#true} #102#return; {33116#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:13,056 INFO L272 TraceCheckUtils]: 4: Hoare triple {33116#(<= ~counter~0 0)} call #t~ret9 := main(); {33116#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:13,056 INFO L290 TraceCheckUtils]: 5: Hoare triple {33116#(<= ~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; {33116#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:13,057 INFO L272 TraceCheckUtils]: 6: Hoare triple {33116#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {33116#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:13,057 INFO L290 TraceCheckUtils]: 7: Hoare triple {33116#(<= ~counter~0 0)} ~cond := #in~cond; {33116#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:13,057 INFO L290 TraceCheckUtils]: 8: Hoare triple {33116#(<= ~counter~0 0)} assume !(0 == ~cond); {33116#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:13,058 INFO L290 TraceCheckUtils]: 9: Hoare triple {33116#(<= ~counter~0 0)} assume true; {33116#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:13,058 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {33116#(<= ~counter~0 0)} {33116#(<= ~counter~0 0)} #90#return; {33116#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:13,058 INFO L272 TraceCheckUtils]: 11: Hoare triple {33116#(<= ~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)); {33116#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:13,059 INFO L290 TraceCheckUtils]: 12: Hoare triple {33116#(<= ~counter~0 0)} ~cond := #in~cond; {33116#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:13,059 INFO L290 TraceCheckUtils]: 13: Hoare triple {33116#(<= ~counter~0 0)} assume !(0 == ~cond); {33116#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:13,059 INFO L290 TraceCheckUtils]: 14: Hoare triple {33116#(<= ~counter~0 0)} assume true; {33116#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:13,060 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {33116#(<= ~counter~0 0)} {33116#(<= ~counter~0 0)} #92#return; {33116#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:13,060 INFO L290 TraceCheckUtils]: 16: Hoare triple {33116#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {33116#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:13,067 INFO L290 TraceCheckUtils]: 17: Hoare triple {33116#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {33165#(<= ~counter~0 1)} is VALID [2022-04-28 12:41:13,067 INFO L290 TraceCheckUtils]: 18: Hoare triple {33165#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {33165#(<= ~counter~0 1)} is VALID [2022-04-28 12:41:13,068 INFO L272 TraceCheckUtils]: 19: Hoare triple {33165#(<= ~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)); {33165#(<= ~counter~0 1)} is VALID [2022-04-28 12:41:13,069 INFO L290 TraceCheckUtils]: 20: Hoare triple {33165#(<= ~counter~0 1)} ~cond := #in~cond; {33165#(<= ~counter~0 1)} is VALID [2022-04-28 12:41:13,069 INFO L290 TraceCheckUtils]: 21: Hoare triple {33165#(<= ~counter~0 1)} assume !(0 == ~cond); {33165#(<= ~counter~0 1)} is VALID [2022-04-28 12:41:13,070 INFO L290 TraceCheckUtils]: 22: Hoare triple {33165#(<= ~counter~0 1)} assume true; {33165#(<= ~counter~0 1)} is VALID [2022-04-28 12:41:13,070 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {33165#(<= ~counter~0 1)} {33165#(<= ~counter~0 1)} #94#return; {33165#(<= ~counter~0 1)} is VALID [2022-04-28 12:41:13,070 INFO L290 TraceCheckUtils]: 24: Hoare triple {33165#(<= ~counter~0 1)} assume !!(0 != ~r~0); {33165#(<= ~counter~0 1)} is VALID [2022-04-28 12:41:13,071 INFO L290 TraceCheckUtils]: 25: Hoare triple {33165#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {33190#(<= ~counter~0 2)} is VALID [2022-04-28 12:41:13,071 INFO L290 TraceCheckUtils]: 26: Hoare triple {33190#(<= ~counter~0 2)} assume !!(#t~post7 < 20);havoc #t~post7; {33190#(<= ~counter~0 2)} is VALID [2022-04-28 12:41:13,072 INFO L272 TraceCheckUtils]: 27: Hoare triple {33190#(<= ~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)); {33190#(<= ~counter~0 2)} is VALID [2022-04-28 12:41:13,072 INFO L290 TraceCheckUtils]: 28: Hoare triple {33190#(<= ~counter~0 2)} ~cond := #in~cond; {33190#(<= ~counter~0 2)} is VALID [2022-04-28 12:41:13,073 INFO L290 TraceCheckUtils]: 29: Hoare triple {33190#(<= ~counter~0 2)} assume !(0 == ~cond); {33190#(<= ~counter~0 2)} is VALID [2022-04-28 12:41:13,073 INFO L290 TraceCheckUtils]: 30: Hoare triple {33190#(<= ~counter~0 2)} assume true; {33190#(<= ~counter~0 2)} is VALID [2022-04-28 12:41:13,074 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {33190#(<= ~counter~0 2)} {33190#(<= ~counter~0 2)} #96#return; {33190#(<= ~counter~0 2)} is VALID [2022-04-28 12:41:13,074 INFO L290 TraceCheckUtils]: 32: Hoare triple {33190#(<= ~counter~0 2)} assume !(~r~0 > 0); {33190#(<= ~counter~0 2)} is VALID [2022-04-28 12:41:13,075 INFO L290 TraceCheckUtils]: 33: Hoare triple {33190#(<= ~counter~0 2)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {33215#(<= ~counter~0 3)} is VALID [2022-04-28 12:41:13,075 INFO L290 TraceCheckUtils]: 34: Hoare triple {33215#(<= ~counter~0 3)} assume !!(#t~post8 < 20);havoc #t~post8; {33215#(<= ~counter~0 3)} is VALID [2022-04-28 12:41:13,075 INFO L272 TraceCheckUtils]: 35: Hoare triple {33215#(<= ~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)); {33215#(<= ~counter~0 3)} is VALID [2022-04-28 12:41:13,076 INFO L290 TraceCheckUtils]: 36: Hoare triple {33215#(<= ~counter~0 3)} ~cond := #in~cond; {33215#(<= ~counter~0 3)} is VALID [2022-04-28 12:41:13,076 INFO L290 TraceCheckUtils]: 37: Hoare triple {33215#(<= ~counter~0 3)} assume !(0 == ~cond); {33215#(<= ~counter~0 3)} is VALID [2022-04-28 12:41:13,076 INFO L290 TraceCheckUtils]: 38: Hoare triple {33215#(<= ~counter~0 3)} assume true; {33215#(<= ~counter~0 3)} is VALID [2022-04-28 12:41:13,077 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {33215#(<= ~counter~0 3)} {33215#(<= ~counter~0 3)} #98#return; {33215#(<= ~counter~0 3)} is VALID [2022-04-28 12:41:13,077 INFO L290 TraceCheckUtils]: 40: Hoare triple {33215#(<= ~counter~0 3)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {33215#(<= ~counter~0 3)} is VALID [2022-04-28 12:41:13,077 INFO L290 TraceCheckUtils]: 41: Hoare triple {33215#(<= ~counter~0 3)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {33240#(<= ~counter~0 4)} is VALID [2022-04-28 12:41:13,078 INFO L290 TraceCheckUtils]: 42: Hoare triple {33240#(<= ~counter~0 4)} assume !!(#t~post8 < 20);havoc #t~post8; {33240#(<= ~counter~0 4)} is VALID [2022-04-28 12:41:13,078 INFO L272 TraceCheckUtils]: 43: Hoare triple {33240#(<= ~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)); {33240#(<= ~counter~0 4)} is VALID [2022-04-28 12:41:13,078 INFO L290 TraceCheckUtils]: 44: Hoare triple {33240#(<= ~counter~0 4)} ~cond := #in~cond; {33240#(<= ~counter~0 4)} is VALID [2022-04-28 12:41:13,079 INFO L290 TraceCheckUtils]: 45: Hoare triple {33240#(<= ~counter~0 4)} assume !(0 == ~cond); {33240#(<= ~counter~0 4)} is VALID [2022-04-28 12:41:13,079 INFO L290 TraceCheckUtils]: 46: Hoare triple {33240#(<= ~counter~0 4)} assume true; {33240#(<= ~counter~0 4)} is VALID [2022-04-28 12:41:13,079 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {33240#(<= ~counter~0 4)} {33240#(<= ~counter~0 4)} #98#return; {33240#(<= ~counter~0 4)} is VALID [2022-04-28 12:41:13,080 INFO L290 TraceCheckUtils]: 48: Hoare triple {33240#(<= ~counter~0 4)} assume !(~r~0 < 0); {33240#(<= ~counter~0 4)} is VALID [2022-04-28 12:41:13,080 INFO L290 TraceCheckUtils]: 49: Hoare triple {33240#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {33265#(<= ~counter~0 5)} is VALID [2022-04-28 12:41:13,080 INFO L290 TraceCheckUtils]: 50: Hoare triple {33265#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {33265#(<= ~counter~0 5)} is VALID [2022-04-28 12:41:13,081 INFO L272 TraceCheckUtils]: 51: Hoare triple {33265#(<= ~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)); {33265#(<= ~counter~0 5)} is VALID [2022-04-28 12:41:13,081 INFO L290 TraceCheckUtils]: 52: Hoare triple {33265#(<= ~counter~0 5)} ~cond := #in~cond; {33265#(<= ~counter~0 5)} is VALID [2022-04-28 12:41:13,081 INFO L290 TraceCheckUtils]: 53: Hoare triple {33265#(<= ~counter~0 5)} assume !(0 == ~cond); {33265#(<= ~counter~0 5)} is VALID [2022-04-28 12:41:13,082 INFO L290 TraceCheckUtils]: 54: Hoare triple {33265#(<= ~counter~0 5)} assume true; {33265#(<= ~counter~0 5)} is VALID [2022-04-28 12:41:13,082 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {33265#(<= ~counter~0 5)} {33265#(<= ~counter~0 5)} #94#return; {33265#(<= ~counter~0 5)} is VALID [2022-04-28 12:41:13,082 INFO L290 TraceCheckUtils]: 56: Hoare triple {33265#(<= ~counter~0 5)} assume !!(0 != ~r~0); {33265#(<= ~counter~0 5)} is VALID [2022-04-28 12:41:13,083 INFO L290 TraceCheckUtils]: 57: Hoare triple {33265#(<= ~counter~0 5)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {33290#(<= ~counter~0 6)} is VALID [2022-04-28 12:41:13,083 INFO L290 TraceCheckUtils]: 58: Hoare triple {33290#(<= ~counter~0 6)} assume !!(#t~post7 < 20);havoc #t~post7; {33290#(<= ~counter~0 6)} is VALID [2022-04-28 12:41:13,084 INFO L272 TraceCheckUtils]: 59: Hoare triple {33290#(<= ~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)); {33290#(<= ~counter~0 6)} is VALID [2022-04-28 12:41:13,084 INFO L290 TraceCheckUtils]: 60: Hoare triple {33290#(<= ~counter~0 6)} ~cond := #in~cond; {33290#(<= ~counter~0 6)} is VALID [2022-04-28 12:41:13,084 INFO L290 TraceCheckUtils]: 61: Hoare triple {33290#(<= ~counter~0 6)} assume !(0 == ~cond); {33290#(<= ~counter~0 6)} is VALID [2022-04-28 12:41:13,084 INFO L290 TraceCheckUtils]: 62: Hoare triple {33290#(<= ~counter~0 6)} assume true; {33290#(<= ~counter~0 6)} is VALID [2022-04-28 12:41:13,085 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {33290#(<= ~counter~0 6)} {33290#(<= ~counter~0 6)} #96#return; {33290#(<= ~counter~0 6)} is VALID [2022-04-28 12:41:13,085 INFO L290 TraceCheckUtils]: 64: Hoare triple {33290#(<= ~counter~0 6)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {33290#(<= ~counter~0 6)} is VALID [2022-04-28 12:41:13,086 INFO L290 TraceCheckUtils]: 65: Hoare triple {33290#(<= ~counter~0 6)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {33315#(<= ~counter~0 7)} is VALID [2022-04-28 12:41:13,086 INFO L290 TraceCheckUtils]: 66: Hoare triple {33315#(<= ~counter~0 7)} assume !!(#t~post7 < 20);havoc #t~post7; {33315#(<= ~counter~0 7)} is VALID [2022-04-28 12:41:13,086 INFO L272 TraceCheckUtils]: 67: Hoare triple {33315#(<= ~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)); {33315#(<= ~counter~0 7)} is VALID [2022-04-28 12:41:13,087 INFO L290 TraceCheckUtils]: 68: Hoare triple {33315#(<= ~counter~0 7)} ~cond := #in~cond; {33315#(<= ~counter~0 7)} is VALID [2022-04-28 12:41:13,087 INFO L290 TraceCheckUtils]: 69: Hoare triple {33315#(<= ~counter~0 7)} assume !(0 == ~cond); {33315#(<= ~counter~0 7)} is VALID [2022-04-28 12:41:13,087 INFO L290 TraceCheckUtils]: 70: Hoare triple {33315#(<= ~counter~0 7)} assume true; {33315#(<= ~counter~0 7)} is VALID [2022-04-28 12:41:13,088 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {33315#(<= ~counter~0 7)} {33315#(<= ~counter~0 7)} #96#return; {33315#(<= ~counter~0 7)} is VALID [2022-04-28 12:41:13,088 INFO L290 TraceCheckUtils]: 72: Hoare triple {33315#(<= ~counter~0 7)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {33315#(<= ~counter~0 7)} is VALID [2022-04-28 12:41:13,088 INFO L290 TraceCheckUtils]: 73: Hoare triple {33315#(<= ~counter~0 7)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {33340#(<= ~counter~0 8)} is VALID [2022-04-28 12:41:13,089 INFO L290 TraceCheckUtils]: 74: Hoare triple {33340#(<= ~counter~0 8)} assume !!(#t~post7 < 20);havoc #t~post7; {33340#(<= ~counter~0 8)} is VALID [2022-04-28 12:41:13,089 INFO L272 TraceCheckUtils]: 75: Hoare triple {33340#(<= ~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)); {33340#(<= ~counter~0 8)} is VALID [2022-04-28 12:41:13,089 INFO L290 TraceCheckUtils]: 76: Hoare triple {33340#(<= ~counter~0 8)} ~cond := #in~cond; {33340#(<= ~counter~0 8)} is VALID [2022-04-28 12:41:13,090 INFO L290 TraceCheckUtils]: 77: Hoare triple {33340#(<= ~counter~0 8)} assume !(0 == ~cond); {33340#(<= ~counter~0 8)} is VALID [2022-04-28 12:41:13,090 INFO L290 TraceCheckUtils]: 78: Hoare triple {33340#(<= ~counter~0 8)} assume true; {33340#(<= ~counter~0 8)} is VALID [2022-04-28 12:41:13,090 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {33340#(<= ~counter~0 8)} {33340#(<= ~counter~0 8)} #96#return; {33340#(<= ~counter~0 8)} is VALID [2022-04-28 12:41:13,091 INFO L290 TraceCheckUtils]: 80: Hoare triple {33340#(<= ~counter~0 8)} assume !(~r~0 > 0); {33340#(<= ~counter~0 8)} is VALID [2022-04-28 12:41:13,091 INFO L290 TraceCheckUtils]: 81: Hoare triple {33340#(<= ~counter~0 8)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {33365#(<= ~counter~0 9)} is VALID [2022-04-28 12:41:13,091 INFO L290 TraceCheckUtils]: 82: Hoare triple {33365#(<= ~counter~0 9)} assume !(#t~post8 < 20);havoc #t~post8; {33365#(<= ~counter~0 9)} is VALID [2022-04-28 12:41:13,092 INFO L290 TraceCheckUtils]: 83: Hoare triple {33365#(<= ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {33372#(<= |main_#t~post6| 9)} is VALID [2022-04-28 12:41:13,092 INFO L290 TraceCheckUtils]: 84: Hoare triple {33372#(<= |main_#t~post6| 9)} assume !(#t~post6 < 20);havoc #t~post6; {33109#false} is VALID [2022-04-28 12:41:13,092 INFO L272 TraceCheckUtils]: 85: Hoare triple {33109#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)); {33109#false} is VALID [2022-04-28 12:41:13,092 INFO L290 TraceCheckUtils]: 86: Hoare triple {33109#false} ~cond := #in~cond; {33109#false} is VALID [2022-04-28 12:41:13,092 INFO L290 TraceCheckUtils]: 87: Hoare triple {33109#false} assume 0 == ~cond; {33109#false} is VALID [2022-04-28 12:41:13,092 INFO L290 TraceCheckUtils]: 88: Hoare triple {33109#false} assume !false; {33109#false} is VALID [2022-04-28 12:41:13,093 INFO L134 CoverageAnalysis]: Checked inductivity of 172 backedges. 16 proven. 152 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:41:13,093 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:41:13,549 INFO L290 TraceCheckUtils]: 88: Hoare triple {33109#false} assume !false; {33109#false} is VALID [2022-04-28 12:41:13,549 INFO L290 TraceCheckUtils]: 87: Hoare triple {33109#false} assume 0 == ~cond; {33109#false} is VALID [2022-04-28 12:41:13,549 INFO L290 TraceCheckUtils]: 86: Hoare triple {33109#false} ~cond := #in~cond; {33109#false} is VALID [2022-04-28 12:41:13,549 INFO L272 TraceCheckUtils]: 85: Hoare triple {33109#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)); {33109#false} is VALID [2022-04-28 12:41:13,550 INFO L290 TraceCheckUtils]: 84: Hoare triple {33400#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {33109#false} is VALID [2022-04-28 12:41:13,551 INFO L290 TraceCheckUtils]: 83: Hoare triple {33404#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {33400#(< |main_#t~post6| 20)} is VALID [2022-04-28 12:41:13,551 INFO L290 TraceCheckUtils]: 82: Hoare triple {33404#(< ~counter~0 20)} assume !(#t~post8 < 20);havoc #t~post8; {33404#(< ~counter~0 20)} is VALID [2022-04-28 12:41:13,552 INFO L290 TraceCheckUtils]: 81: Hoare triple {33411#(< ~counter~0 19)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {33404#(< ~counter~0 20)} is VALID [2022-04-28 12:41:13,553 INFO L290 TraceCheckUtils]: 80: Hoare triple {33411#(< ~counter~0 19)} assume !(~r~0 > 0); {33411#(< ~counter~0 19)} is VALID [2022-04-28 12:41:13,554 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {33108#true} {33411#(< ~counter~0 19)} #96#return; {33411#(< ~counter~0 19)} is VALID [2022-04-28 12:41:13,554 INFO L290 TraceCheckUtils]: 78: Hoare triple {33108#true} assume true; {33108#true} is VALID [2022-04-28 12:41:13,554 INFO L290 TraceCheckUtils]: 77: Hoare triple {33108#true} assume !(0 == ~cond); {33108#true} is VALID [2022-04-28 12:41:13,554 INFO L290 TraceCheckUtils]: 76: Hoare triple {33108#true} ~cond := #in~cond; {33108#true} is VALID [2022-04-28 12:41:13,554 INFO L272 TraceCheckUtils]: 75: Hoare triple {33411#(< ~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)); {33108#true} is VALID [2022-04-28 12:41:13,554 INFO L290 TraceCheckUtils]: 74: Hoare triple {33411#(< ~counter~0 19)} assume !!(#t~post7 < 20);havoc #t~post7; {33411#(< ~counter~0 19)} is VALID [2022-04-28 12:41:13,555 INFO L290 TraceCheckUtils]: 73: Hoare triple {33436#(< ~counter~0 18)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {33411#(< ~counter~0 19)} is VALID [2022-04-28 12:41:13,556 INFO L290 TraceCheckUtils]: 72: Hoare triple {33436#(< ~counter~0 18)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {33436#(< ~counter~0 18)} is VALID [2022-04-28 12:41:13,562 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {33108#true} {33436#(< ~counter~0 18)} #96#return; {33436#(< ~counter~0 18)} is VALID [2022-04-28 12:41:13,563 INFO L290 TraceCheckUtils]: 70: Hoare triple {33108#true} assume true; {33108#true} is VALID [2022-04-28 12:41:13,563 INFO L290 TraceCheckUtils]: 69: Hoare triple {33108#true} assume !(0 == ~cond); {33108#true} is VALID [2022-04-28 12:41:13,563 INFO L290 TraceCheckUtils]: 68: Hoare triple {33108#true} ~cond := #in~cond; {33108#true} is VALID [2022-04-28 12:41:13,563 INFO L272 TraceCheckUtils]: 67: Hoare triple {33436#(< ~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)); {33108#true} is VALID [2022-04-28 12:41:13,563 INFO L290 TraceCheckUtils]: 66: Hoare triple {33436#(< ~counter~0 18)} assume !!(#t~post7 < 20);havoc #t~post7; {33436#(< ~counter~0 18)} is VALID [2022-04-28 12:41:13,564 INFO L290 TraceCheckUtils]: 65: Hoare triple {33461#(< ~counter~0 17)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {33436#(< ~counter~0 18)} is VALID [2022-04-28 12:41:13,564 INFO L290 TraceCheckUtils]: 64: Hoare triple {33461#(< ~counter~0 17)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {33461#(< ~counter~0 17)} is VALID [2022-04-28 12:41:13,565 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {33108#true} {33461#(< ~counter~0 17)} #96#return; {33461#(< ~counter~0 17)} is VALID [2022-04-28 12:41:13,565 INFO L290 TraceCheckUtils]: 62: Hoare triple {33108#true} assume true; {33108#true} is VALID [2022-04-28 12:41:13,565 INFO L290 TraceCheckUtils]: 61: Hoare triple {33108#true} assume !(0 == ~cond); {33108#true} is VALID [2022-04-28 12:41:13,565 INFO L290 TraceCheckUtils]: 60: Hoare triple {33108#true} ~cond := #in~cond; {33108#true} is VALID [2022-04-28 12:41:13,565 INFO L272 TraceCheckUtils]: 59: Hoare triple {33461#(< ~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)); {33108#true} is VALID [2022-04-28 12:41:13,566 INFO L290 TraceCheckUtils]: 58: Hoare triple {33461#(< ~counter~0 17)} assume !!(#t~post7 < 20);havoc #t~post7; {33461#(< ~counter~0 17)} is VALID [2022-04-28 12:41:13,566 INFO L290 TraceCheckUtils]: 57: Hoare triple {33486#(< ~counter~0 16)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {33461#(< ~counter~0 17)} is VALID [2022-04-28 12:41:13,567 INFO L290 TraceCheckUtils]: 56: Hoare triple {33486#(< ~counter~0 16)} assume !!(0 != ~r~0); {33486#(< ~counter~0 16)} is VALID [2022-04-28 12:41:13,567 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {33108#true} {33486#(< ~counter~0 16)} #94#return; {33486#(< ~counter~0 16)} is VALID [2022-04-28 12:41:13,567 INFO L290 TraceCheckUtils]: 54: Hoare triple {33108#true} assume true; {33108#true} is VALID [2022-04-28 12:41:13,567 INFO L290 TraceCheckUtils]: 53: Hoare triple {33108#true} assume !(0 == ~cond); {33108#true} is VALID [2022-04-28 12:41:13,567 INFO L290 TraceCheckUtils]: 52: Hoare triple {33108#true} ~cond := #in~cond; {33108#true} is VALID [2022-04-28 12:41:13,567 INFO L272 TraceCheckUtils]: 51: Hoare triple {33486#(< ~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)); {33108#true} is VALID [2022-04-28 12:41:13,568 INFO L290 TraceCheckUtils]: 50: Hoare triple {33486#(< ~counter~0 16)} assume !!(#t~post6 < 20);havoc #t~post6; {33486#(< ~counter~0 16)} is VALID [2022-04-28 12:41:13,568 INFO L290 TraceCheckUtils]: 49: Hoare triple {33511#(< ~counter~0 15)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {33486#(< ~counter~0 16)} is VALID [2022-04-28 12:41:13,569 INFO L290 TraceCheckUtils]: 48: Hoare triple {33511#(< ~counter~0 15)} assume !(~r~0 < 0); {33511#(< ~counter~0 15)} is VALID [2022-04-28 12:41:13,569 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {33108#true} {33511#(< ~counter~0 15)} #98#return; {33511#(< ~counter~0 15)} is VALID [2022-04-28 12:41:13,569 INFO L290 TraceCheckUtils]: 46: Hoare triple {33108#true} assume true; {33108#true} is VALID [2022-04-28 12:41:13,569 INFO L290 TraceCheckUtils]: 45: Hoare triple {33108#true} assume !(0 == ~cond); {33108#true} is VALID [2022-04-28 12:41:13,569 INFO L290 TraceCheckUtils]: 44: Hoare triple {33108#true} ~cond := #in~cond; {33108#true} is VALID [2022-04-28 12:41:13,570 INFO L272 TraceCheckUtils]: 43: Hoare triple {33511#(< ~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)); {33108#true} is VALID [2022-04-28 12:41:13,570 INFO L290 TraceCheckUtils]: 42: Hoare triple {33511#(< ~counter~0 15)} assume !!(#t~post8 < 20);havoc #t~post8; {33511#(< ~counter~0 15)} is VALID [2022-04-28 12:41:13,571 INFO L290 TraceCheckUtils]: 41: Hoare triple {33536#(< ~counter~0 14)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {33511#(< ~counter~0 15)} is VALID [2022-04-28 12:41:13,571 INFO L290 TraceCheckUtils]: 40: Hoare triple {33536#(< ~counter~0 14)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {33536#(< ~counter~0 14)} is VALID [2022-04-28 12:41:13,571 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {33108#true} {33536#(< ~counter~0 14)} #98#return; {33536#(< ~counter~0 14)} is VALID [2022-04-28 12:41:13,572 INFO L290 TraceCheckUtils]: 38: Hoare triple {33108#true} assume true; {33108#true} is VALID [2022-04-28 12:41:13,572 INFO L290 TraceCheckUtils]: 37: Hoare triple {33108#true} assume !(0 == ~cond); {33108#true} is VALID [2022-04-28 12:41:13,572 INFO L290 TraceCheckUtils]: 36: Hoare triple {33108#true} ~cond := #in~cond; {33108#true} is VALID [2022-04-28 12:41:13,572 INFO L272 TraceCheckUtils]: 35: Hoare triple {33536#(< ~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)); {33108#true} is VALID [2022-04-28 12:41:13,572 INFO L290 TraceCheckUtils]: 34: Hoare triple {33536#(< ~counter~0 14)} assume !!(#t~post8 < 20);havoc #t~post8; {33536#(< ~counter~0 14)} is VALID [2022-04-28 12:41:13,573 INFO L290 TraceCheckUtils]: 33: Hoare triple {33561#(< ~counter~0 13)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {33536#(< ~counter~0 14)} is VALID [2022-04-28 12:41:13,573 INFO L290 TraceCheckUtils]: 32: Hoare triple {33561#(< ~counter~0 13)} assume !(~r~0 > 0); {33561#(< ~counter~0 13)} is VALID [2022-04-28 12:41:13,574 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {33108#true} {33561#(< ~counter~0 13)} #96#return; {33561#(< ~counter~0 13)} is VALID [2022-04-28 12:41:13,574 INFO L290 TraceCheckUtils]: 30: Hoare triple {33108#true} assume true; {33108#true} is VALID [2022-04-28 12:41:13,574 INFO L290 TraceCheckUtils]: 29: Hoare triple {33108#true} assume !(0 == ~cond); {33108#true} is VALID [2022-04-28 12:41:13,574 INFO L290 TraceCheckUtils]: 28: Hoare triple {33108#true} ~cond := #in~cond; {33108#true} is VALID [2022-04-28 12:41:13,574 INFO L272 TraceCheckUtils]: 27: Hoare triple {33561#(< ~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)); {33108#true} is VALID [2022-04-28 12:41:13,574 INFO L290 TraceCheckUtils]: 26: Hoare triple {33561#(< ~counter~0 13)} assume !!(#t~post7 < 20);havoc #t~post7; {33561#(< ~counter~0 13)} is VALID [2022-04-28 12:41:13,575 INFO L290 TraceCheckUtils]: 25: Hoare triple {33586#(< ~counter~0 12)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {33561#(< ~counter~0 13)} is VALID [2022-04-28 12:41:13,575 INFO L290 TraceCheckUtils]: 24: Hoare triple {33586#(< ~counter~0 12)} assume !!(0 != ~r~0); {33586#(< ~counter~0 12)} is VALID [2022-04-28 12:41:13,576 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {33108#true} {33586#(< ~counter~0 12)} #94#return; {33586#(< ~counter~0 12)} is VALID [2022-04-28 12:41:13,576 INFO L290 TraceCheckUtils]: 22: Hoare triple {33108#true} assume true; {33108#true} is VALID [2022-04-28 12:41:13,576 INFO L290 TraceCheckUtils]: 21: Hoare triple {33108#true} assume !(0 == ~cond); {33108#true} is VALID [2022-04-28 12:41:13,576 INFO L290 TraceCheckUtils]: 20: Hoare triple {33108#true} ~cond := #in~cond; {33108#true} is VALID [2022-04-28 12:41:13,576 INFO L272 TraceCheckUtils]: 19: Hoare triple {33586#(< ~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)); {33108#true} is VALID [2022-04-28 12:41:13,576 INFO L290 TraceCheckUtils]: 18: Hoare triple {33586#(< ~counter~0 12)} assume !!(#t~post6 < 20);havoc #t~post6; {33586#(< ~counter~0 12)} is VALID [2022-04-28 12:41:13,577 INFO L290 TraceCheckUtils]: 17: Hoare triple {33611#(< ~counter~0 11)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {33586#(< ~counter~0 12)} is VALID [2022-04-28 12:41:13,578 INFO L290 TraceCheckUtils]: 16: Hoare triple {33611#(< ~counter~0 11)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {33611#(< ~counter~0 11)} is VALID [2022-04-28 12:41:13,578 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {33108#true} {33611#(< ~counter~0 11)} #92#return; {33611#(< ~counter~0 11)} is VALID [2022-04-28 12:41:13,578 INFO L290 TraceCheckUtils]: 14: Hoare triple {33108#true} assume true; {33108#true} is VALID [2022-04-28 12:41:13,578 INFO L290 TraceCheckUtils]: 13: Hoare triple {33108#true} assume !(0 == ~cond); {33108#true} is VALID [2022-04-28 12:41:13,578 INFO L290 TraceCheckUtils]: 12: Hoare triple {33108#true} ~cond := #in~cond; {33108#true} is VALID [2022-04-28 12:41:13,578 INFO L272 TraceCheckUtils]: 11: Hoare triple {33611#(< ~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)); {33108#true} is VALID [2022-04-28 12:41:13,579 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {33108#true} {33611#(< ~counter~0 11)} #90#return; {33611#(< ~counter~0 11)} is VALID [2022-04-28 12:41:13,579 INFO L290 TraceCheckUtils]: 9: Hoare triple {33108#true} assume true; {33108#true} is VALID [2022-04-28 12:41:13,579 INFO L290 TraceCheckUtils]: 8: Hoare triple {33108#true} assume !(0 == ~cond); {33108#true} is VALID [2022-04-28 12:41:13,579 INFO L290 TraceCheckUtils]: 7: Hoare triple {33108#true} ~cond := #in~cond; {33108#true} is VALID [2022-04-28 12:41:13,579 INFO L272 TraceCheckUtils]: 6: Hoare triple {33611#(< ~counter~0 11)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {33108#true} is VALID [2022-04-28 12:41:13,580 INFO L290 TraceCheckUtils]: 5: Hoare triple {33611#(< ~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; {33611#(< ~counter~0 11)} is VALID [2022-04-28 12:41:13,580 INFO L272 TraceCheckUtils]: 4: Hoare triple {33611#(< ~counter~0 11)} call #t~ret9 := main(); {33611#(< ~counter~0 11)} is VALID [2022-04-28 12:41:13,580 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {33611#(< ~counter~0 11)} {33108#true} #102#return; {33611#(< ~counter~0 11)} is VALID [2022-04-28 12:41:13,580 INFO L290 TraceCheckUtils]: 2: Hoare triple {33611#(< ~counter~0 11)} assume true; {33611#(< ~counter~0 11)} is VALID [2022-04-28 12:41:13,581 INFO L290 TraceCheckUtils]: 1: Hoare triple {33108#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; {33611#(< ~counter~0 11)} is VALID [2022-04-28 12:41:13,581 INFO L272 TraceCheckUtils]: 0: Hoare triple {33108#true} call ULTIMATE.init(); {33108#true} is VALID [2022-04-28 12:41:13,581 INFO L134 CoverageAnalysis]: Checked inductivity of 172 backedges. 16 proven. 40 refuted. 0 times theorem prover too weak. 116 trivial. 0 not checked. [2022-04-28 12:41:13,581 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:41:13,582 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1112537150] [2022-04-28 12:41:13,582 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:41:13,582 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1413689305] [2022-04-28 12:41:13,582 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1413689305] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:41:13,582 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:41:13,582 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13] total 24 [2022-04-28 12:41:13,582 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:41:13,583 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1860224199] [2022-04-28 12:41:13,585 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1860224199] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:41:13,585 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:41:13,585 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 12:41:13,585 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1707519411] [2022-04-28 12:41:13,585 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:41:13,586 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 4.769230769230769) internal successors, (62), 12 states have internal predecessors, (62), 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 89 [2022-04-28 12:41:13,586 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:41:13,586 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 4.769230769230769) internal successors, (62), 12 states have internal predecessors, (62), 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:41:13,655 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 86 edges. 86 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:41:13,655 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 12:41:13,655 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:41:13,655 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 12:41:13,656 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=236, Invalid=316, Unknown=0, NotChecked=0, Total=552 [2022-04-28 12:41:13,656 INFO L87 Difference]: Start difference. First operand 316 states and 410 transitions. Second operand has 13 states, 13 states have (on average 4.769230769230769) internal successors, (62), 12 states have internal predecessors, (62), 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:41:14,804 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:41:14,804 INFO L93 Difference]: Finished difference Result 386 states and 504 transitions. [2022-04-28 12:41:14,804 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2022-04-28 12:41:14,805 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 4.769230769230769) internal successors, (62), 12 states have internal predecessors, (62), 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 89 [2022-04-28 12:41:14,805 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:41:14,805 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 4.769230769230769) internal successors, (62), 12 states have internal predecessors, (62), 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:41:14,806 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 197 transitions. [2022-04-28 12:41:14,806 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 4.769230769230769) internal successors, (62), 12 states have internal predecessors, (62), 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:41:14,807 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 197 transitions. [2022-04-28 12:41:14,808 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 19 states and 197 transitions. [2022-04-28 12:41:14,961 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 197 edges. 197 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:41:14,968 INFO L225 Difference]: With dead ends: 386 [2022-04-28 12:41:14,968 INFO L226 Difference]: Without dead ends: 381 [2022-04-28 12:41:14,969 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 183 GetRequests, 155 SyntacticMatches, 0 SemanticMatches, 28 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 43 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=359, Invalid=511, Unknown=0, NotChecked=0, Total=870 [2022-04-28 12:41:14,969 INFO L413 NwaCegarLoop]: 57 mSDtfsCounter, 186 mSDsluCounter, 172 mSDsCounter, 0 mSdLazyCounter, 126 mSolverCounterSat, 140 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 186 SdHoareTripleChecker+Valid, 229 SdHoareTripleChecker+Invalid, 266 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 140 IncrementalHoareTripleChecker+Valid, 126 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 12:41:14,969 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [186 Valid, 229 Invalid, 266 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [140 Valid, 126 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 12:41:14,970 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 381 states. [2022-04-28 12:41:15,406 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 381 to 366. [2022-04-28 12:41:15,406 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:41:15,406 INFO L82 GeneralOperation]: Start isEquivalent. First operand 381 states. Second operand has 366 states, 273 states have (on average 1.216117216117216) internal successors, (332), 279 states have internal predecessors, (332), 74 states have call successors, (74), 20 states have call predecessors, (74), 18 states have return successors, (72), 66 states have call predecessors, (72), 72 states have call successors, (72) [2022-04-28 12:41:15,407 INFO L74 IsIncluded]: Start isIncluded. First operand 381 states. Second operand has 366 states, 273 states have (on average 1.216117216117216) internal successors, (332), 279 states have internal predecessors, (332), 74 states have call successors, (74), 20 states have call predecessors, (74), 18 states have return successors, (72), 66 states have call predecessors, (72), 72 states have call successors, (72) [2022-04-28 12:41:15,407 INFO L87 Difference]: Start difference. First operand 381 states. Second operand has 366 states, 273 states have (on average 1.216117216117216) internal successors, (332), 279 states have internal predecessors, (332), 74 states have call successors, (74), 20 states have call predecessors, (74), 18 states have return successors, (72), 66 states have call predecessors, (72), 72 states have call successors, (72) [2022-04-28 12:41:15,412 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:41:15,412 INFO L93 Difference]: Finished difference Result 381 states and 495 transitions. [2022-04-28 12:41:15,412 INFO L276 IsEmpty]: Start isEmpty. Operand 381 states and 495 transitions. [2022-04-28 12:41:15,413 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:41:15,413 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:41:15,413 INFO L74 IsIncluded]: Start isIncluded. First operand has 366 states, 273 states have (on average 1.216117216117216) internal successors, (332), 279 states have internal predecessors, (332), 74 states have call successors, (74), 20 states have call predecessors, (74), 18 states have return successors, (72), 66 states have call predecessors, (72), 72 states have call successors, (72) Second operand 381 states. [2022-04-28 12:41:15,414 INFO L87 Difference]: Start difference. First operand has 366 states, 273 states have (on average 1.216117216117216) internal successors, (332), 279 states have internal predecessors, (332), 74 states have call successors, (74), 20 states have call predecessors, (74), 18 states have return successors, (72), 66 states have call predecessors, (72), 72 states have call successors, (72) Second operand 381 states. [2022-04-28 12:41:15,419 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:41:15,419 INFO L93 Difference]: Finished difference Result 381 states and 495 transitions. [2022-04-28 12:41:15,419 INFO L276 IsEmpty]: Start isEmpty. Operand 381 states and 495 transitions. [2022-04-28 12:41:15,420 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:41:15,420 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:41:15,420 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:41:15,420 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:41:15,420 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 366 states, 273 states have (on average 1.216117216117216) internal successors, (332), 279 states have internal predecessors, (332), 74 states have call successors, (74), 20 states have call predecessors, (74), 18 states have return successors, (72), 66 states have call predecessors, (72), 72 states have call successors, (72) [2022-04-28 12:41:15,427 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 366 states to 366 states and 478 transitions. [2022-04-28 12:41:15,427 INFO L78 Accepts]: Start accepts. Automaton has 366 states and 478 transitions. Word has length 89 [2022-04-28 12:41:15,427 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:41:15,427 INFO L495 AbstractCegarLoop]: Abstraction has 366 states and 478 transitions. [2022-04-28 12:41:15,427 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 4.769230769230769) internal successors, (62), 12 states have internal predecessors, (62), 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:41:15,427 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 366 states and 478 transitions. [2022-04-28 12:41:30,696 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 478 edges. 473 inductive. 0 not inductive. 5 times theorem prover too weak to decide inductivity. [2022-04-28 12:41:30,696 INFO L276 IsEmpty]: Start isEmpty. Operand 366 states and 478 transitions. [2022-04-28 12:41:30,697 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 92 [2022-04-28 12:41:30,697 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:41:30,697 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 5, 4, 4, 4, 3, 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, 1, 1, 1, 1, 1] [2022-04-28 12:41:30,703 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (27)] Forceful destruction successful, exit code 0 [2022-04-28 12:41:30,898 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 27 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable25 [2022-04-28 12:41:30,898 INFO L420 AbstractCegarLoop]: === Iteration 27 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:41:30,898 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:41:30,898 INFO L85 PathProgramCache]: Analyzing trace with hash -345961389, now seen corresponding path program 5 times [2022-04-28 12:41:30,898 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:41:30,898 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1569516468] [2022-04-28 12:41:30,899 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:41:30,899 INFO L85 PathProgramCache]: Analyzing trace with hash -345961389, now seen corresponding path program 6 times [2022-04-28 12:41:30,899 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:41:30,899 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1246696268] [2022-04-28 12:41:30,899 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:41:30,899 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:41:30,909 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:41:30,909 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1048154029] [2022-04-28 12:41:30,909 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 12:41:30,909 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:41:30,909 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:41:30,910 INFO L229 MonitoredProcess]: Starting monitored process 28 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:41:30,911 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (28)] Waiting until timeout for monitored process [2022-04-28 12:41:31,057 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 6 check-sat command(s) [2022-04-28 12:41:31,057 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:41:31,058 INFO L263 TraceCheckSpWp]: Trace formula consists of 239 conjuncts, 21 conjunts are in the unsatisfiable core [2022-04-28 12:41:31,075 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:41:31,076 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:41:31,459 INFO L272 TraceCheckUtils]: 0: Hoare triple {35943#true} call ULTIMATE.init(); {35943#true} is VALID [2022-04-28 12:41:31,460 INFO L290 TraceCheckUtils]: 1: Hoare triple {35943#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; {35951#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:31,460 INFO L290 TraceCheckUtils]: 2: Hoare triple {35951#(<= ~counter~0 0)} assume true; {35951#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:31,460 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35951#(<= ~counter~0 0)} {35943#true} #102#return; {35951#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:31,461 INFO L272 TraceCheckUtils]: 4: Hoare triple {35951#(<= ~counter~0 0)} call #t~ret9 := main(); {35951#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:31,461 INFO L290 TraceCheckUtils]: 5: Hoare triple {35951#(<= ~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; {35951#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:31,461 INFO L272 TraceCheckUtils]: 6: Hoare triple {35951#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {35951#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:31,462 INFO L290 TraceCheckUtils]: 7: Hoare triple {35951#(<= ~counter~0 0)} ~cond := #in~cond; {35951#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:31,462 INFO L290 TraceCheckUtils]: 8: Hoare triple {35951#(<= ~counter~0 0)} assume !(0 == ~cond); {35951#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:31,462 INFO L290 TraceCheckUtils]: 9: Hoare triple {35951#(<= ~counter~0 0)} assume true; {35951#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:31,463 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {35951#(<= ~counter~0 0)} {35951#(<= ~counter~0 0)} #90#return; {35951#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:31,463 INFO L272 TraceCheckUtils]: 11: Hoare triple {35951#(<= ~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)); {35951#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:31,463 INFO L290 TraceCheckUtils]: 12: Hoare triple {35951#(<= ~counter~0 0)} ~cond := #in~cond; {35951#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:31,464 INFO L290 TraceCheckUtils]: 13: Hoare triple {35951#(<= ~counter~0 0)} assume !(0 == ~cond); {35951#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:31,464 INFO L290 TraceCheckUtils]: 14: Hoare triple {35951#(<= ~counter~0 0)} assume true; {35951#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:31,464 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {35951#(<= ~counter~0 0)} {35951#(<= ~counter~0 0)} #92#return; {35951#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:31,465 INFO L290 TraceCheckUtils]: 16: Hoare triple {35951#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {35951#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:31,466 INFO L290 TraceCheckUtils]: 17: Hoare triple {35951#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {36000#(<= ~counter~0 1)} is VALID [2022-04-28 12:41:31,466 INFO L290 TraceCheckUtils]: 18: Hoare triple {36000#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {36000#(<= ~counter~0 1)} is VALID [2022-04-28 12:41:31,466 INFO L272 TraceCheckUtils]: 19: Hoare triple {36000#(<= ~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)); {36000#(<= ~counter~0 1)} is VALID [2022-04-28 12:41:31,467 INFO L290 TraceCheckUtils]: 20: Hoare triple {36000#(<= ~counter~0 1)} ~cond := #in~cond; {36000#(<= ~counter~0 1)} is VALID [2022-04-28 12:41:31,467 INFO L290 TraceCheckUtils]: 21: Hoare triple {36000#(<= ~counter~0 1)} assume !(0 == ~cond); {36000#(<= ~counter~0 1)} is VALID [2022-04-28 12:41:31,467 INFO L290 TraceCheckUtils]: 22: Hoare triple {36000#(<= ~counter~0 1)} assume true; {36000#(<= ~counter~0 1)} is VALID [2022-04-28 12:41:31,468 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {36000#(<= ~counter~0 1)} {36000#(<= ~counter~0 1)} #94#return; {36000#(<= ~counter~0 1)} is VALID [2022-04-28 12:41:31,468 INFO L290 TraceCheckUtils]: 24: Hoare triple {36000#(<= ~counter~0 1)} assume !!(0 != ~r~0); {36000#(<= ~counter~0 1)} is VALID [2022-04-28 12:41:31,469 INFO L290 TraceCheckUtils]: 25: Hoare triple {36000#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {36025#(<= ~counter~0 2)} is VALID [2022-04-28 12:41:31,469 INFO L290 TraceCheckUtils]: 26: Hoare triple {36025#(<= ~counter~0 2)} assume !!(#t~post7 < 20);havoc #t~post7; {36025#(<= ~counter~0 2)} is VALID [2022-04-28 12:41:31,469 INFO L272 TraceCheckUtils]: 27: Hoare triple {36025#(<= ~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)); {36025#(<= ~counter~0 2)} is VALID [2022-04-28 12:41:31,470 INFO L290 TraceCheckUtils]: 28: Hoare triple {36025#(<= ~counter~0 2)} ~cond := #in~cond; {36025#(<= ~counter~0 2)} is VALID [2022-04-28 12:41:31,470 INFO L290 TraceCheckUtils]: 29: Hoare triple {36025#(<= ~counter~0 2)} assume !(0 == ~cond); {36025#(<= ~counter~0 2)} is VALID [2022-04-28 12:41:31,470 INFO L290 TraceCheckUtils]: 30: Hoare triple {36025#(<= ~counter~0 2)} assume true; {36025#(<= ~counter~0 2)} is VALID [2022-04-28 12:41:31,471 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {36025#(<= ~counter~0 2)} {36025#(<= ~counter~0 2)} #96#return; {36025#(<= ~counter~0 2)} is VALID [2022-04-28 12:41:31,471 INFO L290 TraceCheckUtils]: 32: Hoare triple {36025#(<= ~counter~0 2)} assume !(~r~0 > 0); {36025#(<= ~counter~0 2)} is VALID [2022-04-28 12:41:31,472 INFO L290 TraceCheckUtils]: 33: Hoare triple {36025#(<= ~counter~0 2)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {36050#(<= ~counter~0 3)} is VALID [2022-04-28 12:41:31,473 INFO L290 TraceCheckUtils]: 34: Hoare triple {36050#(<= ~counter~0 3)} assume !!(#t~post8 < 20);havoc #t~post8; {36050#(<= ~counter~0 3)} is VALID [2022-04-28 12:41:31,473 INFO L272 TraceCheckUtils]: 35: Hoare triple {36050#(<= ~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)); {36050#(<= ~counter~0 3)} is VALID [2022-04-28 12:41:31,473 INFO L290 TraceCheckUtils]: 36: Hoare triple {36050#(<= ~counter~0 3)} ~cond := #in~cond; {36050#(<= ~counter~0 3)} is VALID [2022-04-28 12:41:31,474 INFO L290 TraceCheckUtils]: 37: Hoare triple {36050#(<= ~counter~0 3)} assume !(0 == ~cond); {36050#(<= ~counter~0 3)} is VALID [2022-04-28 12:41:31,480 INFO L290 TraceCheckUtils]: 38: Hoare triple {36050#(<= ~counter~0 3)} assume true; {36050#(<= ~counter~0 3)} is VALID [2022-04-28 12:41:31,480 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {36050#(<= ~counter~0 3)} {36050#(<= ~counter~0 3)} #98#return; {36050#(<= ~counter~0 3)} is VALID [2022-04-28 12:41:31,480 INFO L290 TraceCheckUtils]: 40: Hoare triple {36050#(<= ~counter~0 3)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {36050#(<= ~counter~0 3)} is VALID [2022-04-28 12:41:31,481 INFO L290 TraceCheckUtils]: 41: Hoare triple {36050#(<= ~counter~0 3)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {36075#(<= ~counter~0 4)} is VALID [2022-04-28 12:41:31,481 INFO L290 TraceCheckUtils]: 42: Hoare triple {36075#(<= ~counter~0 4)} assume !!(#t~post8 < 20);havoc #t~post8; {36075#(<= ~counter~0 4)} is VALID [2022-04-28 12:41:31,482 INFO L272 TraceCheckUtils]: 43: Hoare triple {36075#(<= ~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)); {36075#(<= ~counter~0 4)} is VALID [2022-04-28 12:41:31,482 INFO L290 TraceCheckUtils]: 44: Hoare triple {36075#(<= ~counter~0 4)} ~cond := #in~cond; {36075#(<= ~counter~0 4)} is VALID [2022-04-28 12:41:31,483 INFO L290 TraceCheckUtils]: 45: Hoare triple {36075#(<= ~counter~0 4)} assume !(0 == ~cond); {36075#(<= ~counter~0 4)} is VALID [2022-04-28 12:41:31,483 INFO L290 TraceCheckUtils]: 46: Hoare triple {36075#(<= ~counter~0 4)} assume true; {36075#(<= ~counter~0 4)} is VALID [2022-04-28 12:41:31,483 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {36075#(<= ~counter~0 4)} {36075#(<= ~counter~0 4)} #98#return; {36075#(<= ~counter~0 4)} is VALID [2022-04-28 12:41:31,484 INFO L290 TraceCheckUtils]: 48: Hoare triple {36075#(<= ~counter~0 4)} assume !(~r~0 < 0); {36075#(<= ~counter~0 4)} is VALID [2022-04-28 12:41:31,484 INFO L290 TraceCheckUtils]: 49: Hoare triple {36075#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {36100#(<= ~counter~0 5)} is VALID [2022-04-28 12:41:31,485 INFO L290 TraceCheckUtils]: 50: Hoare triple {36100#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {36100#(<= ~counter~0 5)} is VALID [2022-04-28 12:41:31,485 INFO L272 TraceCheckUtils]: 51: Hoare triple {36100#(<= ~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)); {36100#(<= ~counter~0 5)} is VALID [2022-04-28 12:41:31,485 INFO L290 TraceCheckUtils]: 52: Hoare triple {36100#(<= ~counter~0 5)} ~cond := #in~cond; {36100#(<= ~counter~0 5)} is VALID [2022-04-28 12:41:31,486 INFO L290 TraceCheckUtils]: 53: Hoare triple {36100#(<= ~counter~0 5)} assume !(0 == ~cond); {36100#(<= ~counter~0 5)} is VALID [2022-04-28 12:41:31,486 INFO L290 TraceCheckUtils]: 54: Hoare triple {36100#(<= ~counter~0 5)} assume true; {36100#(<= ~counter~0 5)} is VALID [2022-04-28 12:41:31,486 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {36100#(<= ~counter~0 5)} {36100#(<= ~counter~0 5)} #94#return; {36100#(<= ~counter~0 5)} is VALID [2022-04-28 12:41:31,487 INFO L290 TraceCheckUtils]: 56: Hoare triple {36100#(<= ~counter~0 5)} assume !!(0 != ~r~0); {36100#(<= ~counter~0 5)} is VALID [2022-04-28 12:41:31,487 INFO L290 TraceCheckUtils]: 57: Hoare triple {36100#(<= ~counter~0 5)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {36125#(<= ~counter~0 6)} is VALID [2022-04-28 12:41:31,488 INFO L290 TraceCheckUtils]: 58: Hoare triple {36125#(<= ~counter~0 6)} assume !!(#t~post7 < 20);havoc #t~post7; {36125#(<= ~counter~0 6)} is VALID [2022-04-28 12:41:31,488 INFO L272 TraceCheckUtils]: 59: Hoare triple {36125#(<= ~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)); {36125#(<= ~counter~0 6)} is VALID [2022-04-28 12:41:31,488 INFO L290 TraceCheckUtils]: 60: Hoare triple {36125#(<= ~counter~0 6)} ~cond := #in~cond; {36125#(<= ~counter~0 6)} is VALID [2022-04-28 12:41:31,489 INFO L290 TraceCheckUtils]: 61: Hoare triple {36125#(<= ~counter~0 6)} assume !(0 == ~cond); {36125#(<= ~counter~0 6)} is VALID [2022-04-28 12:41:31,489 INFO L290 TraceCheckUtils]: 62: Hoare triple {36125#(<= ~counter~0 6)} assume true; {36125#(<= ~counter~0 6)} is VALID [2022-04-28 12:41:31,489 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {36125#(<= ~counter~0 6)} {36125#(<= ~counter~0 6)} #96#return; {36125#(<= ~counter~0 6)} is VALID [2022-04-28 12:41:31,490 INFO L290 TraceCheckUtils]: 64: Hoare triple {36125#(<= ~counter~0 6)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {36125#(<= ~counter~0 6)} is VALID [2022-04-28 12:41:31,490 INFO L290 TraceCheckUtils]: 65: Hoare triple {36125#(<= ~counter~0 6)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {36150#(<= ~counter~0 7)} is VALID [2022-04-28 12:41:31,491 INFO L290 TraceCheckUtils]: 66: Hoare triple {36150#(<= ~counter~0 7)} assume !!(#t~post7 < 20);havoc #t~post7; {36150#(<= ~counter~0 7)} is VALID [2022-04-28 12:41:31,491 INFO L272 TraceCheckUtils]: 67: Hoare triple {36150#(<= ~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)); {36150#(<= ~counter~0 7)} is VALID [2022-04-28 12:41:31,491 INFO L290 TraceCheckUtils]: 68: Hoare triple {36150#(<= ~counter~0 7)} ~cond := #in~cond; {36150#(<= ~counter~0 7)} is VALID [2022-04-28 12:41:31,492 INFO L290 TraceCheckUtils]: 69: Hoare triple {36150#(<= ~counter~0 7)} assume !(0 == ~cond); {36150#(<= ~counter~0 7)} is VALID [2022-04-28 12:41:31,492 INFO L290 TraceCheckUtils]: 70: Hoare triple {36150#(<= ~counter~0 7)} assume true; {36150#(<= ~counter~0 7)} is VALID [2022-04-28 12:41:31,492 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {36150#(<= ~counter~0 7)} {36150#(<= ~counter~0 7)} #96#return; {36150#(<= ~counter~0 7)} is VALID [2022-04-28 12:41:31,493 INFO L290 TraceCheckUtils]: 72: Hoare triple {36150#(<= ~counter~0 7)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {36150#(<= ~counter~0 7)} is VALID [2022-04-28 12:41:31,493 INFO L290 TraceCheckUtils]: 73: Hoare triple {36150#(<= ~counter~0 7)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {36175#(<= ~counter~0 8)} is VALID [2022-04-28 12:41:31,494 INFO L290 TraceCheckUtils]: 74: Hoare triple {36175#(<= ~counter~0 8)} assume !!(#t~post7 < 20);havoc #t~post7; {36175#(<= ~counter~0 8)} is VALID [2022-04-28 12:41:31,494 INFO L272 TraceCheckUtils]: 75: Hoare triple {36175#(<= ~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)); {36175#(<= ~counter~0 8)} is VALID [2022-04-28 12:41:31,494 INFO L290 TraceCheckUtils]: 76: Hoare triple {36175#(<= ~counter~0 8)} ~cond := #in~cond; {36175#(<= ~counter~0 8)} is VALID [2022-04-28 12:41:31,495 INFO L290 TraceCheckUtils]: 77: Hoare triple {36175#(<= ~counter~0 8)} assume !(0 == ~cond); {36175#(<= ~counter~0 8)} is VALID [2022-04-28 12:41:31,495 INFO L290 TraceCheckUtils]: 78: Hoare triple {36175#(<= ~counter~0 8)} assume true; {36175#(<= ~counter~0 8)} is VALID [2022-04-28 12:41:31,495 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {36175#(<= ~counter~0 8)} {36175#(<= ~counter~0 8)} #96#return; {36175#(<= ~counter~0 8)} is VALID [2022-04-28 12:41:31,496 INFO L290 TraceCheckUtils]: 80: Hoare triple {36175#(<= ~counter~0 8)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {36175#(<= ~counter~0 8)} is VALID [2022-04-28 12:41:31,496 INFO L290 TraceCheckUtils]: 81: Hoare triple {36175#(<= ~counter~0 8)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {36200#(<= |main_#t~post7| 8)} is VALID [2022-04-28 12:41:31,496 INFO L290 TraceCheckUtils]: 82: Hoare triple {36200#(<= |main_#t~post7| 8)} assume !(#t~post7 < 20);havoc #t~post7; {35944#false} is VALID [2022-04-28 12:41:31,497 INFO L290 TraceCheckUtils]: 83: Hoare triple {35944#false} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {35944#false} is VALID [2022-04-28 12:41:31,497 INFO L290 TraceCheckUtils]: 84: Hoare triple {35944#false} assume !(#t~post8 < 20);havoc #t~post8; {35944#false} is VALID [2022-04-28 12:41:31,497 INFO L290 TraceCheckUtils]: 85: Hoare triple {35944#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {35944#false} is VALID [2022-04-28 12:41:31,497 INFO L290 TraceCheckUtils]: 86: Hoare triple {35944#false} assume !(#t~post6 < 20);havoc #t~post6; {35944#false} is VALID [2022-04-28 12:41:31,497 INFO L272 TraceCheckUtils]: 87: Hoare triple {35944#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)); {35944#false} is VALID [2022-04-28 12:41:31,497 INFO L290 TraceCheckUtils]: 88: Hoare triple {35944#false} ~cond := #in~cond; {35944#false} is VALID [2022-04-28 12:41:31,497 INFO L290 TraceCheckUtils]: 89: Hoare triple {35944#false} assume 0 == ~cond; {35944#false} is VALID [2022-04-28 12:41:31,497 INFO L290 TraceCheckUtils]: 90: Hoare triple {35944#false} assume !false; {35944#false} is VALID [2022-04-28 12:41:31,497 INFO L134 CoverageAnalysis]: Checked inductivity of 180 backedges. 24 proven. 152 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:41:31,498 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:41:31,952 INFO L290 TraceCheckUtils]: 90: Hoare triple {35944#false} assume !false; {35944#false} is VALID [2022-04-28 12:41:31,953 INFO L290 TraceCheckUtils]: 89: Hoare triple {35944#false} assume 0 == ~cond; {35944#false} is VALID [2022-04-28 12:41:31,953 INFO L290 TraceCheckUtils]: 88: Hoare triple {35944#false} ~cond := #in~cond; {35944#false} is VALID [2022-04-28 12:41:31,953 INFO L272 TraceCheckUtils]: 87: Hoare triple {35944#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)); {35944#false} is VALID [2022-04-28 12:41:31,953 INFO L290 TraceCheckUtils]: 86: Hoare triple {35944#false} assume !(#t~post6 < 20);havoc #t~post6; {35944#false} is VALID [2022-04-28 12:41:31,953 INFO L290 TraceCheckUtils]: 85: Hoare triple {35944#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {35944#false} is VALID [2022-04-28 12:41:31,953 INFO L290 TraceCheckUtils]: 84: Hoare triple {35944#false} assume !(#t~post8 < 20);havoc #t~post8; {35944#false} is VALID [2022-04-28 12:41:31,953 INFO L290 TraceCheckUtils]: 83: Hoare triple {35944#false} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {35944#false} is VALID [2022-04-28 12:41:31,953 INFO L290 TraceCheckUtils]: 82: Hoare triple {36252#(< |main_#t~post7| 20)} assume !(#t~post7 < 20);havoc #t~post7; {35944#false} is VALID [2022-04-28 12:41:31,954 INFO L290 TraceCheckUtils]: 81: Hoare triple {36256#(< ~counter~0 20)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {36252#(< |main_#t~post7| 20)} is VALID [2022-04-28 12:41:31,954 INFO L290 TraceCheckUtils]: 80: Hoare triple {36256#(< ~counter~0 20)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {36256#(< ~counter~0 20)} is VALID [2022-04-28 12:41:31,955 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {35943#true} {36256#(< ~counter~0 20)} #96#return; {36256#(< ~counter~0 20)} is VALID [2022-04-28 12:41:31,955 INFO L290 TraceCheckUtils]: 78: Hoare triple {35943#true} assume true; {35943#true} is VALID [2022-04-28 12:41:31,955 INFO L290 TraceCheckUtils]: 77: Hoare triple {35943#true} assume !(0 == ~cond); {35943#true} is VALID [2022-04-28 12:41:31,955 INFO L290 TraceCheckUtils]: 76: Hoare triple {35943#true} ~cond := #in~cond; {35943#true} is VALID [2022-04-28 12:41:31,955 INFO L272 TraceCheckUtils]: 75: Hoare triple {36256#(< ~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)); {35943#true} is VALID [2022-04-28 12:41:31,955 INFO L290 TraceCheckUtils]: 74: Hoare triple {36256#(< ~counter~0 20)} assume !!(#t~post7 < 20);havoc #t~post7; {36256#(< ~counter~0 20)} is VALID [2022-04-28 12:41:31,956 INFO L290 TraceCheckUtils]: 73: Hoare triple {36281#(< ~counter~0 19)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {36256#(< ~counter~0 20)} is VALID [2022-04-28 12:41:31,956 INFO L290 TraceCheckUtils]: 72: Hoare triple {36281#(< ~counter~0 19)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {36281#(< ~counter~0 19)} is VALID [2022-04-28 12:41:31,957 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {35943#true} {36281#(< ~counter~0 19)} #96#return; {36281#(< ~counter~0 19)} is VALID [2022-04-28 12:41:31,957 INFO L290 TraceCheckUtils]: 70: Hoare triple {35943#true} assume true; {35943#true} is VALID [2022-04-28 12:41:31,957 INFO L290 TraceCheckUtils]: 69: Hoare triple {35943#true} assume !(0 == ~cond); {35943#true} is VALID [2022-04-28 12:41:31,957 INFO L290 TraceCheckUtils]: 68: Hoare triple {35943#true} ~cond := #in~cond; {35943#true} is VALID [2022-04-28 12:41:31,957 INFO L272 TraceCheckUtils]: 67: Hoare triple {36281#(< ~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)); {35943#true} is VALID [2022-04-28 12:41:31,957 INFO L290 TraceCheckUtils]: 66: Hoare triple {36281#(< ~counter~0 19)} assume !!(#t~post7 < 20);havoc #t~post7; {36281#(< ~counter~0 19)} is VALID [2022-04-28 12:41:31,958 INFO L290 TraceCheckUtils]: 65: Hoare triple {36306#(< ~counter~0 18)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {36281#(< ~counter~0 19)} is VALID [2022-04-28 12:41:31,958 INFO L290 TraceCheckUtils]: 64: Hoare triple {36306#(< ~counter~0 18)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {36306#(< ~counter~0 18)} is VALID [2022-04-28 12:41:31,959 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {35943#true} {36306#(< ~counter~0 18)} #96#return; {36306#(< ~counter~0 18)} is VALID [2022-04-28 12:41:31,959 INFO L290 TraceCheckUtils]: 62: Hoare triple {35943#true} assume true; {35943#true} is VALID [2022-04-28 12:41:31,959 INFO L290 TraceCheckUtils]: 61: Hoare triple {35943#true} assume !(0 == ~cond); {35943#true} is VALID [2022-04-28 12:41:31,959 INFO L290 TraceCheckUtils]: 60: Hoare triple {35943#true} ~cond := #in~cond; {35943#true} is VALID [2022-04-28 12:41:31,959 INFO L272 TraceCheckUtils]: 59: Hoare triple {36306#(< ~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)); {35943#true} is VALID [2022-04-28 12:41:31,959 INFO L290 TraceCheckUtils]: 58: Hoare triple {36306#(< ~counter~0 18)} assume !!(#t~post7 < 20);havoc #t~post7; {36306#(< ~counter~0 18)} is VALID [2022-04-28 12:41:31,960 INFO L290 TraceCheckUtils]: 57: Hoare triple {36331#(< ~counter~0 17)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {36306#(< ~counter~0 18)} is VALID [2022-04-28 12:41:31,960 INFO L290 TraceCheckUtils]: 56: Hoare triple {36331#(< ~counter~0 17)} assume !!(0 != ~r~0); {36331#(< ~counter~0 17)} is VALID [2022-04-28 12:41:31,961 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {35943#true} {36331#(< ~counter~0 17)} #94#return; {36331#(< ~counter~0 17)} is VALID [2022-04-28 12:41:31,961 INFO L290 TraceCheckUtils]: 54: Hoare triple {35943#true} assume true; {35943#true} is VALID [2022-04-28 12:41:31,961 INFO L290 TraceCheckUtils]: 53: Hoare triple {35943#true} assume !(0 == ~cond); {35943#true} is VALID [2022-04-28 12:41:31,961 INFO L290 TraceCheckUtils]: 52: Hoare triple {35943#true} ~cond := #in~cond; {35943#true} is VALID [2022-04-28 12:41:31,961 INFO L272 TraceCheckUtils]: 51: Hoare triple {36331#(< ~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)); {35943#true} is VALID [2022-04-28 12:41:31,961 INFO L290 TraceCheckUtils]: 50: Hoare triple {36331#(< ~counter~0 17)} assume !!(#t~post6 < 20);havoc #t~post6; {36331#(< ~counter~0 17)} is VALID [2022-04-28 12:41:31,962 INFO L290 TraceCheckUtils]: 49: Hoare triple {36356#(< ~counter~0 16)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {36331#(< ~counter~0 17)} is VALID [2022-04-28 12:41:31,962 INFO L290 TraceCheckUtils]: 48: Hoare triple {36356#(< ~counter~0 16)} assume !(~r~0 < 0); {36356#(< ~counter~0 16)} is VALID [2022-04-28 12:41:31,963 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {35943#true} {36356#(< ~counter~0 16)} #98#return; {36356#(< ~counter~0 16)} is VALID [2022-04-28 12:41:31,963 INFO L290 TraceCheckUtils]: 46: Hoare triple {35943#true} assume true; {35943#true} is VALID [2022-04-28 12:41:31,963 INFO L290 TraceCheckUtils]: 45: Hoare triple {35943#true} assume !(0 == ~cond); {35943#true} is VALID [2022-04-28 12:41:31,963 INFO L290 TraceCheckUtils]: 44: Hoare triple {35943#true} ~cond := #in~cond; {35943#true} is VALID [2022-04-28 12:41:31,963 INFO L272 TraceCheckUtils]: 43: Hoare triple {36356#(< ~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)); {35943#true} is VALID [2022-04-28 12:41:31,963 INFO L290 TraceCheckUtils]: 42: Hoare triple {36356#(< ~counter~0 16)} assume !!(#t~post8 < 20);havoc #t~post8; {36356#(< ~counter~0 16)} is VALID [2022-04-28 12:41:31,964 INFO L290 TraceCheckUtils]: 41: Hoare triple {36381#(< ~counter~0 15)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {36356#(< ~counter~0 16)} is VALID [2022-04-28 12:41:31,964 INFO L290 TraceCheckUtils]: 40: Hoare triple {36381#(< ~counter~0 15)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {36381#(< ~counter~0 15)} is VALID [2022-04-28 12:41:31,965 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {35943#true} {36381#(< ~counter~0 15)} #98#return; {36381#(< ~counter~0 15)} is VALID [2022-04-28 12:41:31,965 INFO L290 TraceCheckUtils]: 38: Hoare triple {35943#true} assume true; {35943#true} is VALID [2022-04-28 12:41:31,965 INFO L290 TraceCheckUtils]: 37: Hoare triple {35943#true} assume !(0 == ~cond); {35943#true} is VALID [2022-04-28 12:41:31,965 INFO L290 TraceCheckUtils]: 36: Hoare triple {35943#true} ~cond := #in~cond; {35943#true} is VALID [2022-04-28 12:41:31,965 INFO L272 TraceCheckUtils]: 35: Hoare triple {36381#(< ~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)); {35943#true} is VALID [2022-04-28 12:41:31,965 INFO L290 TraceCheckUtils]: 34: Hoare triple {36381#(< ~counter~0 15)} assume !!(#t~post8 < 20);havoc #t~post8; {36381#(< ~counter~0 15)} is VALID [2022-04-28 12:41:31,966 INFO L290 TraceCheckUtils]: 33: Hoare triple {36406#(< ~counter~0 14)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {36381#(< ~counter~0 15)} is VALID [2022-04-28 12:41:31,966 INFO L290 TraceCheckUtils]: 32: Hoare triple {36406#(< ~counter~0 14)} assume !(~r~0 > 0); {36406#(< ~counter~0 14)} is VALID [2022-04-28 12:41:31,967 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {35943#true} {36406#(< ~counter~0 14)} #96#return; {36406#(< ~counter~0 14)} is VALID [2022-04-28 12:41:31,967 INFO L290 TraceCheckUtils]: 30: Hoare triple {35943#true} assume true; {35943#true} is VALID [2022-04-28 12:41:31,967 INFO L290 TraceCheckUtils]: 29: Hoare triple {35943#true} assume !(0 == ~cond); {35943#true} is VALID [2022-04-28 12:41:31,967 INFO L290 TraceCheckUtils]: 28: Hoare triple {35943#true} ~cond := #in~cond; {35943#true} is VALID [2022-04-28 12:41:31,967 INFO L272 TraceCheckUtils]: 27: Hoare triple {36406#(< ~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)); {35943#true} is VALID [2022-04-28 12:41:31,968 INFO L290 TraceCheckUtils]: 26: Hoare triple {36406#(< ~counter~0 14)} assume !!(#t~post7 < 20);havoc #t~post7; {36406#(< ~counter~0 14)} is VALID [2022-04-28 12:41:31,968 INFO L290 TraceCheckUtils]: 25: Hoare triple {36431#(< ~counter~0 13)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {36406#(< ~counter~0 14)} is VALID [2022-04-28 12:41:31,968 INFO L290 TraceCheckUtils]: 24: Hoare triple {36431#(< ~counter~0 13)} assume !!(0 != ~r~0); {36431#(< ~counter~0 13)} is VALID [2022-04-28 12:41:31,969 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {35943#true} {36431#(< ~counter~0 13)} #94#return; {36431#(< ~counter~0 13)} is VALID [2022-04-28 12:41:31,969 INFO L290 TraceCheckUtils]: 22: Hoare triple {35943#true} assume true; {35943#true} is VALID [2022-04-28 12:41:31,969 INFO L290 TraceCheckUtils]: 21: Hoare triple {35943#true} assume !(0 == ~cond); {35943#true} is VALID [2022-04-28 12:41:31,969 INFO L290 TraceCheckUtils]: 20: Hoare triple {35943#true} ~cond := #in~cond; {35943#true} is VALID [2022-04-28 12:41:31,969 INFO L272 TraceCheckUtils]: 19: Hoare triple {36431#(< ~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)); {35943#true} is VALID [2022-04-28 12:41:31,969 INFO L290 TraceCheckUtils]: 18: Hoare triple {36431#(< ~counter~0 13)} assume !!(#t~post6 < 20);havoc #t~post6; {36431#(< ~counter~0 13)} is VALID [2022-04-28 12:41:31,970 INFO L290 TraceCheckUtils]: 17: Hoare triple {36456#(< ~counter~0 12)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {36431#(< ~counter~0 13)} is VALID [2022-04-28 12:41:31,970 INFO L290 TraceCheckUtils]: 16: Hoare triple {36456#(< ~counter~0 12)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {36456#(< ~counter~0 12)} is VALID [2022-04-28 12:41:31,971 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {35943#true} {36456#(< ~counter~0 12)} #92#return; {36456#(< ~counter~0 12)} is VALID [2022-04-28 12:41:31,971 INFO L290 TraceCheckUtils]: 14: Hoare triple {35943#true} assume true; {35943#true} is VALID [2022-04-28 12:41:31,971 INFO L290 TraceCheckUtils]: 13: Hoare triple {35943#true} assume !(0 == ~cond); {35943#true} is VALID [2022-04-28 12:41:31,971 INFO L290 TraceCheckUtils]: 12: Hoare triple {35943#true} ~cond := #in~cond; {35943#true} is VALID [2022-04-28 12:41:31,971 INFO L272 TraceCheckUtils]: 11: Hoare triple {36456#(< ~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)); {35943#true} is VALID [2022-04-28 12:41:31,971 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {35943#true} {36456#(< ~counter~0 12)} #90#return; {36456#(< ~counter~0 12)} is VALID [2022-04-28 12:41:31,972 INFO L290 TraceCheckUtils]: 9: Hoare triple {35943#true} assume true; {35943#true} is VALID [2022-04-28 12:41:31,972 INFO L290 TraceCheckUtils]: 8: Hoare triple {35943#true} assume !(0 == ~cond); {35943#true} is VALID [2022-04-28 12:41:31,972 INFO L290 TraceCheckUtils]: 7: Hoare triple {35943#true} ~cond := #in~cond; {35943#true} is VALID [2022-04-28 12:41:31,972 INFO L272 TraceCheckUtils]: 6: Hoare triple {36456#(< ~counter~0 12)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {35943#true} is VALID [2022-04-28 12:41:31,972 INFO L290 TraceCheckUtils]: 5: Hoare triple {36456#(< ~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; {36456#(< ~counter~0 12)} is VALID [2022-04-28 12:41:31,972 INFO L272 TraceCheckUtils]: 4: Hoare triple {36456#(< ~counter~0 12)} call #t~ret9 := main(); {36456#(< ~counter~0 12)} is VALID [2022-04-28 12:41:31,973 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36456#(< ~counter~0 12)} {35943#true} #102#return; {36456#(< ~counter~0 12)} is VALID [2022-04-28 12:41:31,973 INFO L290 TraceCheckUtils]: 2: Hoare triple {36456#(< ~counter~0 12)} assume true; {36456#(< ~counter~0 12)} is VALID [2022-04-28 12:41:31,973 INFO L290 TraceCheckUtils]: 1: Hoare triple {35943#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; {36456#(< ~counter~0 12)} is VALID [2022-04-28 12:41:31,973 INFO L272 TraceCheckUtils]: 0: Hoare triple {35943#true} call ULTIMATE.init(); {35943#true} is VALID [2022-04-28 12:41:31,974 INFO L134 CoverageAnalysis]: Checked inductivity of 180 backedges. 24 proven. 40 refuted. 0 times theorem prover too weak. 116 trivial. 0 not checked. [2022-04-28 12:41:31,974 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:41:31,974 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1246696268] [2022-04-28 12:41:31,974 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:41:31,974 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1048154029] [2022-04-28 12:41:31,974 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1048154029] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:41:31,974 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:41:31,974 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 12] total 22 [2022-04-28 12:41:31,974 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:41:31,975 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1569516468] [2022-04-28 12:41:31,975 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1569516468] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:41:31,975 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:41:31,975 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 12:41:31,975 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [405483377] [2022-04-28 12:41:31,975 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:41:31,975 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 5.333333333333333) internal successors, (64), 11 states have internal predecessors, (64), 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 91 [2022-04-28 12:41:31,975 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:41:31,975 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 5.333333333333333) internal successors, (64), 11 states have internal predecessors, (64), 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:41:32,040 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:41:32,040 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 12:41:32,041 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:41:32,041 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 12:41:32,041 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=195, Invalid=267, Unknown=0, NotChecked=0, Total=462 [2022-04-28 12:41:32,041 INFO L87 Difference]: Start difference. First operand 366 states and 478 transitions. Second operand has 12 states, 12 states have (on average 5.333333333333333) internal successors, (64), 11 states have internal predecessors, (64), 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:41:33,117 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:41:33,117 INFO L93 Difference]: Finished difference Result 455 states and 606 transitions. [2022-04-28 12:41:33,117 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2022-04-28 12:41:33,117 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 5.333333333333333) internal successors, (64), 11 states have internal predecessors, (64), 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 91 [2022-04-28 12:41:33,117 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:41:33,118 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 5.333333333333333) internal successors, (64), 11 states have internal predecessors, (64), 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:41:33,119 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 197 transitions. [2022-04-28 12:41:33,119 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 5.333333333333333) internal successors, (64), 11 states have internal predecessors, (64), 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:41:33,120 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 197 transitions. [2022-04-28 12:41:33,120 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 19 states and 197 transitions. [2022-04-28 12:41:33,255 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 197 edges. 197 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:41:33,262 INFO L225 Difference]: With dead ends: 455 [2022-04-28 12:41:33,262 INFO L226 Difference]: Without dead ends: 366 [2022-04-28 12:41:33,262 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 188 GetRequests, 161 SyntacticMatches, 0 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 46 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=335, Invalid=477, Unknown=0, NotChecked=0, Total=812 [2022-04-28 12:41:33,263 INFO L413 NwaCegarLoop]: 54 mSDtfsCounter, 117 mSDsluCounter, 151 mSDsCounter, 0 mSdLazyCounter, 125 mSolverCounterSat, 99 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 117 SdHoareTripleChecker+Valid, 205 SdHoareTripleChecker+Invalid, 224 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 99 IncrementalHoareTripleChecker+Valid, 125 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 12:41:33,263 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [117 Valid, 205 Invalid, 224 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [99 Valid, 125 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 12:41:33,263 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 366 states. [2022-04-28 12:41:33,740 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 366 to 366. [2022-04-28 12:41:33,740 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:41:33,741 INFO L82 GeneralOperation]: Start isEquivalent. First operand 366 states. Second operand has 366 states, 273 states have (on average 1.2014652014652014) internal successors, (328), 279 states have internal predecessors, (328), 74 states have call successors, (74), 20 states have call predecessors, (74), 18 states have return successors, (72), 66 states have call predecessors, (72), 72 states have call successors, (72) [2022-04-28 12:41:33,741 INFO L74 IsIncluded]: Start isIncluded. First operand 366 states. Second operand has 366 states, 273 states have (on average 1.2014652014652014) internal successors, (328), 279 states have internal predecessors, (328), 74 states have call successors, (74), 20 states have call predecessors, (74), 18 states have return successors, (72), 66 states have call predecessors, (72), 72 states have call successors, (72) [2022-04-28 12:41:33,741 INFO L87 Difference]: Start difference. First operand 366 states. Second operand has 366 states, 273 states have (on average 1.2014652014652014) internal successors, (328), 279 states have internal predecessors, (328), 74 states have call successors, (74), 20 states have call predecessors, (74), 18 states have return successors, (72), 66 states have call predecessors, (72), 72 states have call successors, (72) [2022-04-28 12:41:33,747 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:41:33,747 INFO L93 Difference]: Finished difference Result 366 states and 474 transitions. [2022-04-28 12:41:33,747 INFO L276 IsEmpty]: Start isEmpty. Operand 366 states and 474 transitions. [2022-04-28 12:41:33,748 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:41:33,748 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:41:33,748 INFO L74 IsIncluded]: Start isIncluded. First operand has 366 states, 273 states have (on average 1.2014652014652014) internal successors, (328), 279 states have internal predecessors, (328), 74 states have call successors, (74), 20 states have call predecessors, (74), 18 states have return successors, (72), 66 states have call predecessors, (72), 72 states have call successors, (72) Second operand 366 states. [2022-04-28 12:41:33,749 INFO L87 Difference]: Start difference. First operand has 366 states, 273 states have (on average 1.2014652014652014) internal successors, (328), 279 states have internal predecessors, (328), 74 states have call successors, (74), 20 states have call predecessors, (74), 18 states have return successors, (72), 66 states have call predecessors, (72), 72 states have call successors, (72) Second operand 366 states. [2022-04-28 12:41:33,755 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:41:33,755 INFO L93 Difference]: Finished difference Result 366 states and 474 transitions. [2022-04-28 12:41:33,755 INFO L276 IsEmpty]: Start isEmpty. Operand 366 states and 474 transitions. [2022-04-28 12:41:33,755 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:41:33,755 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:41:33,755 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:41:33,755 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:41:33,756 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 366 states, 273 states have (on average 1.2014652014652014) internal successors, (328), 279 states have internal predecessors, (328), 74 states have call successors, (74), 20 states have call predecessors, (74), 18 states have return successors, (72), 66 states have call predecessors, (72), 72 states have call successors, (72) [2022-04-28 12:41:33,762 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 366 states to 366 states and 474 transitions. [2022-04-28 12:41:33,763 INFO L78 Accepts]: Start accepts. Automaton has 366 states and 474 transitions. Word has length 91 [2022-04-28 12:41:33,763 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:41:33,763 INFO L495 AbstractCegarLoop]: Abstraction has 366 states and 474 transitions. [2022-04-28 12:41:33,763 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 5.333333333333333) internal successors, (64), 11 states have internal predecessors, (64), 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:41:33,763 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 366 states and 474 transitions. [2022-04-28 12:41:48,479 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 474 edges. 469 inductive. 0 not inductive. 5 times theorem prover too weak to decide inductivity. [2022-04-28 12:41:48,479 INFO L276 IsEmpty]: Start isEmpty. Operand 366 states and 474 transitions. [2022-04-28 12:41:48,480 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 98 [2022-04-28 12:41:48,480 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:41:48,480 INFO L195 NwaCegarLoop]: trace histogram [10, 9, 9, 4, 4, 4, 4, 4, 3, 3, 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, 1, 1] [2022-04-28 12:41:48,486 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (28)] Ended with exit code 0 [2022-04-28 12:41:48,683 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 28 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable26 [2022-04-28 12:41:48,683 INFO L420 AbstractCegarLoop]: === Iteration 28 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:41:48,684 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:41:48,684 INFO L85 PathProgramCache]: Analyzing trace with hash 1660747519, now seen corresponding path program 7 times [2022-04-28 12:41:48,684 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:41:48,684 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1327463938] [2022-04-28 12:41:48,685 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:41:48,685 INFO L85 PathProgramCache]: Analyzing trace with hash 1660747519, now seen corresponding path program 8 times [2022-04-28 12:41:48,685 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:41:48,685 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [49172149] [2022-04-28 12:41:48,685 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:41:48,685 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:41:48,703 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:41:48,703 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1470411208] [2022-04-28 12:41:48,703 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:41:48,703 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:41:48,703 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:41:48,704 INFO L229 MonitoredProcess]: Starting monitored process 29 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:41:48,705 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (29)] Waiting until timeout for monitored process [2022-04-28 12:41:48,763 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:41:48,763 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:41:48,764 INFO L263 TraceCheckSpWp]: Trace formula consists of 249 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-28 12:41:48,781 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:41:48,782 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:41:49,209 INFO L272 TraceCheckUtils]: 0: Hoare triple {38898#true} call ULTIMATE.init(); {38898#true} is VALID [2022-04-28 12:41:49,210 INFO L290 TraceCheckUtils]: 1: Hoare triple {38898#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; {38906#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:49,210 INFO L290 TraceCheckUtils]: 2: Hoare triple {38906#(<= ~counter~0 0)} assume true; {38906#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:49,210 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38906#(<= ~counter~0 0)} {38898#true} #102#return; {38906#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:49,211 INFO L272 TraceCheckUtils]: 4: Hoare triple {38906#(<= ~counter~0 0)} call #t~ret9 := main(); {38906#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:49,211 INFO L290 TraceCheckUtils]: 5: Hoare triple {38906#(<= ~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; {38906#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:49,211 INFO L272 TraceCheckUtils]: 6: Hoare triple {38906#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {38906#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:49,212 INFO L290 TraceCheckUtils]: 7: Hoare triple {38906#(<= ~counter~0 0)} ~cond := #in~cond; {38906#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:49,212 INFO L290 TraceCheckUtils]: 8: Hoare triple {38906#(<= ~counter~0 0)} assume !(0 == ~cond); {38906#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:49,212 INFO L290 TraceCheckUtils]: 9: Hoare triple {38906#(<= ~counter~0 0)} assume true; {38906#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:49,213 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {38906#(<= ~counter~0 0)} {38906#(<= ~counter~0 0)} #90#return; {38906#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:49,213 INFO L272 TraceCheckUtils]: 11: Hoare triple {38906#(<= ~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)); {38906#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:49,213 INFO L290 TraceCheckUtils]: 12: Hoare triple {38906#(<= ~counter~0 0)} ~cond := #in~cond; {38906#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:49,214 INFO L290 TraceCheckUtils]: 13: Hoare triple {38906#(<= ~counter~0 0)} assume !(0 == ~cond); {38906#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:49,214 INFO L290 TraceCheckUtils]: 14: Hoare triple {38906#(<= ~counter~0 0)} assume true; {38906#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:49,214 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {38906#(<= ~counter~0 0)} {38906#(<= ~counter~0 0)} #92#return; {38906#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:49,214 INFO L290 TraceCheckUtils]: 16: Hoare triple {38906#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {38906#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:49,215 INFO L290 TraceCheckUtils]: 17: Hoare triple {38906#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {38955#(<= ~counter~0 1)} is VALID [2022-04-28 12:41:49,216 INFO L290 TraceCheckUtils]: 18: Hoare triple {38955#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {38955#(<= ~counter~0 1)} is VALID [2022-04-28 12:41:49,216 INFO L272 TraceCheckUtils]: 19: Hoare triple {38955#(<= ~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)); {38955#(<= ~counter~0 1)} is VALID [2022-04-28 12:41:49,216 INFO L290 TraceCheckUtils]: 20: Hoare triple {38955#(<= ~counter~0 1)} ~cond := #in~cond; {38955#(<= ~counter~0 1)} is VALID [2022-04-28 12:41:49,217 INFO L290 TraceCheckUtils]: 21: Hoare triple {38955#(<= ~counter~0 1)} assume !(0 == ~cond); {38955#(<= ~counter~0 1)} is VALID [2022-04-28 12:41:49,217 INFO L290 TraceCheckUtils]: 22: Hoare triple {38955#(<= ~counter~0 1)} assume true; {38955#(<= ~counter~0 1)} is VALID [2022-04-28 12:41:49,217 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {38955#(<= ~counter~0 1)} {38955#(<= ~counter~0 1)} #94#return; {38955#(<= ~counter~0 1)} is VALID [2022-04-28 12:41:49,218 INFO L290 TraceCheckUtils]: 24: Hoare triple {38955#(<= ~counter~0 1)} assume !!(0 != ~r~0); {38955#(<= ~counter~0 1)} is VALID [2022-04-28 12:41:49,218 INFO L290 TraceCheckUtils]: 25: Hoare triple {38955#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {38980#(<= ~counter~0 2)} is VALID [2022-04-28 12:41:49,218 INFO L290 TraceCheckUtils]: 26: Hoare triple {38980#(<= ~counter~0 2)} assume !!(#t~post7 < 20);havoc #t~post7; {38980#(<= ~counter~0 2)} is VALID [2022-04-28 12:41:49,219 INFO L272 TraceCheckUtils]: 27: Hoare triple {38980#(<= ~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)); {38980#(<= ~counter~0 2)} is VALID [2022-04-28 12:41:49,219 INFO L290 TraceCheckUtils]: 28: Hoare triple {38980#(<= ~counter~0 2)} ~cond := #in~cond; {38980#(<= ~counter~0 2)} is VALID [2022-04-28 12:41:49,219 INFO L290 TraceCheckUtils]: 29: Hoare triple {38980#(<= ~counter~0 2)} assume !(0 == ~cond); {38980#(<= ~counter~0 2)} is VALID [2022-04-28 12:41:49,220 INFO L290 TraceCheckUtils]: 30: Hoare triple {38980#(<= ~counter~0 2)} assume true; {38980#(<= ~counter~0 2)} is VALID [2022-04-28 12:41:49,220 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {38980#(<= ~counter~0 2)} {38980#(<= ~counter~0 2)} #96#return; {38980#(<= ~counter~0 2)} is VALID [2022-04-28 12:41:49,220 INFO L290 TraceCheckUtils]: 32: Hoare triple {38980#(<= ~counter~0 2)} assume !(~r~0 > 0); {38980#(<= ~counter~0 2)} is VALID [2022-04-28 12:41:49,221 INFO L290 TraceCheckUtils]: 33: Hoare triple {38980#(<= ~counter~0 2)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {39005#(<= ~counter~0 3)} is VALID [2022-04-28 12:41:49,221 INFO L290 TraceCheckUtils]: 34: Hoare triple {39005#(<= ~counter~0 3)} assume !!(#t~post8 < 20);havoc #t~post8; {39005#(<= ~counter~0 3)} is VALID [2022-04-28 12:41:49,222 INFO L272 TraceCheckUtils]: 35: Hoare triple {39005#(<= ~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)); {39005#(<= ~counter~0 3)} is VALID [2022-04-28 12:41:49,222 INFO L290 TraceCheckUtils]: 36: Hoare triple {39005#(<= ~counter~0 3)} ~cond := #in~cond; {39005#(<= ~counter~0 3)} is VALID [2022-04-28 12:41:49,222 INFO L290 TraceCheckUtils]: 37: Hoare triple {39005#(<= ~counter~0 3)} assume !(0 == ~cond); {39005#(<= ~counter~0 3)} is VALID [2022-04-28 12:41:49,223 INFO L290 TraceCheckUtils]: 38: Hoare triple {39005#(<= ~counter~0 3)} assume true; {39005#(<= ~counter~0 3)} is VALID [2022-04-28 12:41:49,223 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {39005#(<= ~counter~0 3)} {39005#(<= ~counter~0 3)} #98#return; {39005#(<= ~counter~0 3)} is VALID [2022-04-28 12:41:49,223 INFO L290 TraceCheckUtils]: 40: Hoare triple {39005#(<= ~counter~0 3)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {39005#(<= ~counter~0 3)} is VALID [2022-04-28 12:41:49,224 INFO L290 TraceCheckUtils]: 41: Hoare triple {39005#(<= ~counter~0 3)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {39030#(<= ~counter~0 4)} is VALID [2022-04-28 12:41:49,224 INFO L290 TraceCheckUtils]: 42: Hoare triple {39030#(<= ~counter~0 4)} assume !!(#t~post8 < 20);havoc #t~post8; {39030#(<= ~counter~0 4)} is VALID [2022-04-28 12:41:49,225 INFO L272 TraceCheckUtils]: 43: Hoare triple {39030#(<= ~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)); {39030#(<= ~counter~0 4)} is VALID [2022-04-28 12:41:49,225 INFO L290 TraceCheckUtils]: 44: Hoare triple {39030#(<= ~counter~0 4)} ~cond := #in~cond; {39030#(<= ~counter~0 4)} is VALID [2022-04-28 12:41:49,225 INFO L290 TraceCheckUtils]: 45: Hoare triple {39030#(<= ~counter~0 4)} assume !(0 == ~cond); {39030#(<= ~counter~0 4)} is VALID [2022-04-28 12:41:49,225 INFO L290 TraceCheckUtils]: 46: Hoare triple {39030#(<= ~counter~0 4)} assume true; {39030#(<= ~counter~0 4)} is VALID [2022-04-28 12:41:49,226 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {39030#(<= ~counter~0 4)} {39030#(<= ~counter~0 4)} #98#return; {39030#(<= ~counter~0 4)} is VALID [2022-04-28 12:41:49,226 INFO L290 TraceCheckUtils]: 48: Hoare triple {39030#(<= ~counter~0 4)} assume !(~r~0 < 0); {39030#(<= ~counter~0 4)} is VALID [2022-04-28 12:41:49,227 INFO L290 TraceCheckUtils]: 49: Hoare triple {39030#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {39055#(<= ~counter~0 5)} is VALID [2022-04-28 12:41:49,227 INFO L290 TraceCheckUtils]: 50: Hoare triple {39055#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {39055#(<= ~counter~0 5)} is VALID [2022-04-28 12:41:49,227 INFO L272 TraceCheckUtils]: 51: Hoare triple {39055#(<= ~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)); {39055#(<= ~counter~0 5)} is VALID [2022-04-28 12:41:49,228 INFO L290 TraceCheckUtils]: 52: Hoare triple {39055#(<= ~counter~0 5)} ~cond := #in~cond; {39055#(<= ~counter~0 5)} is VALID [2022-04-28 12:41:49,228 INFO L290 TraceCheckUtils]: 53: Hoare triple {39055#(<= ~counter~0 5)} assume !(0 == ~cond); {39055#(<= ~counter~0 5)} is VALID [2022-04-28 12:41:49,228 INFO L290 TraceCheckUtils]: 54: Hoare triple {39055#(<= ~counter~0 5)} assume true; {39055#(<= ~counter~0 5)} is VALID [2022-04-28 12:41:49,229 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {39055#(<= ~counter~0 5)} {39055#(<= ~counter~0 5)} #94#return; {39055#(<= ~counter~0 5)} is VALID [2022-04-28 12:41:49,229 INFO L290 TraceCheckUtils]: 56: Hoare triple {39055#(<= ~counter~0 5)} assume !!(0 != ~r~0); {39055#(<= ~counter~0 5)} is VALID [2022-04-28 12:41:49,229 INFO L290 TraceCheckUtils]: 57: Hoare triple {39055#(<= ~counter~0 5)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {39080#(<= ~counter~0 6)} is VALID [2022-04-28 12:41:49,230 INFO L290 TraceCheckUtils]: 58: Hoare triple {39080#(<= ~counter~0 6)} assume !!(#t~post7 < 20);havoc #t~post7; {39080#(<= ~counter~0 6)} is VALID [2022-04-28 12:41:49,230 INFO L272 TraceCheckUtils]: 59: Hoare triple {39080#(<= ~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)); {39080#(<= ~counter~0 6)} is VALID [2022-04-28 12:41:49,230 INFO L290 TraceCheckUtils]: 60: Hoare triple {39080#(<= ~counter~0 6)} ~cond := #in~cond; {39080#(<= ~counter~0 6)} is VALID [2022-04-28 12:41:49,231 INFO L290 TraceCheckUtils]: 61: Hoare triple {39080#(<= ~counter~0 6)} assume !(0 == ~cond); {39080#(<= ~counter~0 6)} is VALID [2022-04-28 12:41:49,231 INFO L290 TraceCheckUtils]: 62: Hoare triple {39080#(<= ~counter~0 6)} assume true; {39080#(<= ~counter~0 6)} is VALID [2022-04-28 12:41:49,231 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {39080#(<= ~counter~0 6)} {39080#(<= ~counter~0 6)} #96#return; {39080#(<= ~counter~0 6)} is VALID [2022-04-28 12:41:49,232 INFO L290 TraceCheckUtils]: 64: Hoare triple {39080#(<= ~counter~0 6)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {39080#(<= ~counter~0 6)} is VALID [2022-04-28 12:41:49,232 INFO L290 TraceCheckUtils]: 65: Hoare triple {39080#(<= ~counter~0 6)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {39105#(<= ~counter~0 7)} is VALID [2022-04-28 12:41:49,232 INFO L290 TraceCheckUtils]: 66: Hoare triple {39105#(<= ~counter~0 7)} assume !!(#t~post7 < 20);havoc #t~post7; {39105#(<= ~counter~0 7)} is VALID [2022-04-28 12:41:49,233 INFO L272 TraceCheckUtils]: 67: Hoare triple {39105#(<= ~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)); {39105#(<= ~counter~0 7)} is VALID [2022-04-28 12:41:49,233 INFO L290 TraceCheckUtils]: 68: Hoare triple {39105#(<= ~counter~0 7)} ~cond := #in~cond; {39105#(<= ~counter~0 7)} is VALID [2022-04-28 12:41:49,233 INFO L290 TraceCheckUtils]: 69: Hoare triple {39105#(<= ~counter~0 7)} assume !(0 == ~cond); {39105#(<= ~counter~0 7)} is VALID [2022-04-28 12:41:49,234 INFO L290 TraceCheckUtils]: 70: Hoare triple {39105#(<= ~counter~0 7)} assume true; {39105#(<= ~counter~0 7)} is VALID [2022-04-28 12:41:49,234 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {39105#(<= ~counter~0 7)} {39105#(<= ~counter~0 7)} #96#return; {39105#(<= ~counter~0 7)} is VALID [2022-04-28 12:41:49,234 INFO L290 TraceCheckUtils]: 72: Hoare triple {39105#(<= ~counter~0 7)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {39105#(<= ~counter~0 7)} is VALID [2022-04-28 12:41:49,235 INFO L290 TraceCheckUtils]: 73: Hoare triple {39105#(<= ~counter~0 7)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {39130#(<= ~counter~0 8)} is VALID [2022-04-28 12:41:49,235 INFO L290 TraceCheckUtils]: 74: Hoare triple {39130#(<= ~counter~0 8)} assume !!(#t~post7 < 20);havoc #t~post7; {39130#(<= ~counter~0 8)} is VALID [2022-04-28 12:41:49,236 INFO L272 TraceCheckUtils]: 75: Hoare triple {39130#(<= ~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)); {39130#(<= ~counter~0 8)} is VALID [2022-04-28 12:41:49,236 INFO L290 TraceCheckUtils]: 76: Hoare triple {39130#(<= ~counter~0 8)} ~cond := #in~cond; {39130#(<= ~counter~0 8)} is VALID [2022-04-28 12:41:49,236 INFO L290 TraceCheckUtils]: 77: Hoare triple {39130#(<= ~counter~0 8)} assume !(0 == ~cond); {39130#(<= ~counter~0 8)} is VALID [2022-04-28 12:41:49,237 INFO L290 TraceCheckUtils]: 78: Hoare triple {39130#(<= ~counter~0 8)} assume true; {39130#(<= ~counter~0 8)} is VALID [2022-04-28 12:41:49,237 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {39130#(<= ~counter~0 8)} {39130#(<= ~counter~0 8)} #96#return; {39130#(<= ~counter~0 8)} is VALID [2022-04-28 12:41:49,237 INFO L290 TraceCheckUtils]: 80: Hoare triple {39130#(<= ~counter~0 8)} assume !(~r~0 > 0); {39130#(<= ~counter~0 8)} is VALID [2022-04-28 12:41:49,238 INFO L290 TraceCheckUtils]: 81: Hoare triple {39130#(<= ~counter~0 8)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {39155#(<= ~counter~0 9)} is VALID [2022-04-28 12:41:49,238 INFO L290 TraceCheckUtils]: 82: Hoare triple {39155#(<= ~counter~0 9)} assume !!(#t~post8 < 20);havoc #t~post8; {39155#(<= ~counter~0 9)} is VALID [2022-04-28 12:41:49,239 INFO L272 TraceCheckUtils]: 83: Hoare triple {39155#(<= ~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)); {39155#(<= ~counter~0 9)} is VALID [2022-04-28 12:41:49,239 INFO L290 TraceCheckUtils]: 84: Hoare triple {39155#(<= ~counter~0 9)} ~cond := #in~cond; {39155#(<= ~counter~0 9)} is VALID [2022-04-28 12:41:49,239 INFO L290 TraceCheckUtils]: 85: Hoare triple {39155#(<= ~counter~0 9)} assume !(0 == ~cond); {39155#(<= ~counter~0 9)} is VALID [2022-04-28 12:41:49,239 INFO L290 TraceCheckUtils]: 86: Hoare triple {39155#(<= ~counter~0 9)} assume true; {39155#(<= ~counter~0 9)} is VALID [2022-04-28 12:41:49,240 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {39155#(<= ~counter~0 9)} {39155#(<= ~counter~0 9)} #98#return; {39155#(<= ~counter~0 9)} is VALID [2022-04-28 12:41:49,240 INFO L290 TraceCheckUtils]: 88: Hoare triple {39155#(<= ~counter~0 9)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {39155#(<= ~counter~0 9)} is VALID [2022-04-28 12:41:49,240 INFO L290 TraceCheckUtils]: 89: Hoare triple {39155#(<= ~counter~0 9)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {39180#(<= |main_#t~post8| 9)} is VALID [2022-04-28 12:41:49,241 INFO L290 TraceCheckUtils]: 90: Hoare triple {39180#(<= |main_#t~post8| 9)} assume !(#t~post8 < 20);havoc #t~post8; {38899#false} is VALID [2022-04-28 12:41:49,241 INFO L290 TraceCheckUtils]: 91: Hoare triple {38899#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {38899#false} is VALID [2022-04-28 12:41:49,241 INFO L290 TraceCheckUtils]: 92: Hoare triple {38899#false} assume !(#t~post6 < 20);havoc #t~post6; {38899#false} is VALID [2022-04-28 12:41:49,241 INFO L272 TraceCheckUtils]: 93: Hoare triple {38899#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)); {38899#false} is VALID [2022-04-28 12:41:49,241 INFO L290 TraceCheckUtils]: 94: Hoare triple {38899#false} ~cond := #in~cond; {38899#false} is VALID [2022-04-28 12:41:49,241 INFO L290 TraceCheckUtils]: 95: Hoare triple {38899#false} assume 0 == ~cond; {38899#false} is VALID [2022-04-28 12:41:49,241 INFO L290 TraceCheckUtils]: 96: Hoare triple {38899#false} assume !false; {38899#false} is VALID [2022-04-28 12:41:49,242 INFO L134 CoverageAnalysis]: Checked inductivity of 216 backedges. 22 proven. 190 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:41:49,242 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:41:49,719 INFO L290 TraceCheckUtils]: 96: Hoare triple {38899#false} assume !false; {38899#false} is VALID [2022-04-28 12:41:49,719 INFO L290 TraceCheckUtils]: 95: Hoare triple {38899#false} assume 0 == ~cond; {38899#false} is VALID [2022-04-28 12:41:49,719 INFO L290 TraceCheckUtils]: 94: Hoare triple {38899#false} ~cond := #in~cond; {38899#false} is VALID [2022-04-28 12:41:49,719 INFO L272 TraceCheckUtils]: 93: Hoare triple {38899#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)); {38899#false} is VALID [2022-04-28 12:41:49,719 INFO L290 TraceCheckUtils]: 92: Hoare triple {38899#false} assume !(#t~post6 < 20);havoc #t~post6; {38899#false} is VALID [2022-04-28 12:41:49,719 INFO L290 TraceCheckUtils]: 91: Hoare triple {38899#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {38899#false} is VALID [2022-04-28 12:41:49,719 INFO L290 TraceCheckUtils]: 90: Hoare triple {39220#(< |main_#t~post8| 20)} assume !(#t~post8 < 20);havoc #t~post8; {38899#false} is VALID [2022-04-28 12:41:49,720 INFO L290 TraceCheckUtils]: 89: Hoare triple {39224#(< ~counter~0 20)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {39220#(< |main_#t~post8| 20)} is VALID [2022-04-28 12:41:49,720 INFO L290 TraceCheckUtils]: 88: Hoare triple {39224#(< ~counter~0 20)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {39224#(< ~counter~0 20)} is VALID [2022-04-28 12:41:49,720 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {38898#true} {39224#(< ~counter~0 20)} #98#return; {39224#(< ~counter~0 20)} is VALID [2022-04-28 12:41:49,721 INFO L290 TraceCheckUtils]: 86: Hoare triple {38898#true} assume true; {38898#true} is VALID [2022-04-28 12:41:49,721 INFO L290 TraceCheckUtils]: 85: Hoare triple {38898#true} assume !(0 == ~cond); {38898#true} is VALID [2022-04-28 12:41:49,721 INFO L290 TraceCheckUtils]: 84: Hoare triple {38898#true} ~cond := #in~cond; {38898#true} is VALID [2022-04-28 12:41:49,721 INFO L272 TraceCheckUtils]: 83: Hoare triple {39224#(< ~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)); {38898#true} is VALID [2022-04-28 12:41:49,721 INFO L290 TraceCheckUtils]: 82: Hoare triple {39224#(< ~counter~0 20)} assume !!(#t~post8 < 20);havoc #t~post8; {39224#(< ~counter~0 20)} is VALID [2022-04-28 12:41:49,722 INFO L290 TraceCheckUtils]: 81: Hoare triple {39249#(< ~counter~0 19)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {39224#(< ~counter~0 20)} is VALID [2022-04-28 12:41:49,722 INFO L290 TraceCheckUtils]: 80: Hoare triple {39249#(< ~counter~0 19)} assume !(~r~0 > 0); {39249#(< ~counter~0 19)} is VALID [2022-04-28 12:41:49,723 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {38898#true} {39249#(< ~counter~0 19)} #96#return; {39249#(< ~counter~0 19)} is VALID [2022-04-28 12:41:49,723 INFO L290 TraceCheckUtils]: 78: Hoare triple {38898#true} assume true; {38898#true} is VALID [2022-04-28 12:41:49,723 INFO L290 TraceCheckUtils]: 77: Hoare triple {38898#true} assume !(0 == ~cond); {38898#true} is VALID [2022-04-28 12:41:49,723 INFO L290 TraceCheckUtils]: 76: Hoare triple {38898#true} ~cond := #in~cond; {38898#true} is VALID [2022-04-28 12:41:49,723 INFO L272 TraceCheckUtils]: 75: Hoare triple {39249#(< ~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)); {38898#true} is VALID [2022-04-28 12:41:49,723 INFO L290 TraceCheckUtils]: 74: Hoare triple {39249#(< ~counter~0 19)} assume !!(#t~post7 < 20);havoc #t~post7; {39249#(< ~counter~0 19)} is VALID [2022-04-28 12:41:49,724 INFO L290 TraceCheckUtils]: 73: Hoare triple {39274#(< ~counter~0 18)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {39249#(< ~counter~0 19)} is VALID [2022-04-28 12:41:49,724 INFO L290 TraceCheckUtils]: 72: Hoare triple {39274#(< ~counter~0 18)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {39274#(< ~counter~0 18)} is VALID [2022-04-28 12:41:49,724 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {38898#true} {39274#(< ~counter~0 18)} #96#return; {39274#(< ~counter~0 18)} is VALID [2022-04-28 12:41:49,725 INFO L290 TraceCheckUtils]: 70: Hoare triple {38898#true} assume true; {38898#true} is VALID [2022-04-28 12:41:49,725 INFO L290 TraceCheckUtils]: 69: Hoare triple {38898#true} assume !(0 == ~cond); {38898#true} is VALID [2022-04-28 12:41:49,725 INFO L290 TraceCheckUtils]: 68: Hoare triple {38898#true} ~cond := #in~cond; {38898#true} is VALID [2022-04-28 12:41:49,725 INFO L272 TraceCheckUtils]: 67: Hoare triple {39274#(< ~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)); {38898#true} is VALID [2022-04-28 12:41:49,725 INFO L290 TraceCheckUtils]: 66: Hoare triple {39274#(< ~counter~0 18)} assume !!(#t~post7 < 20);havoc #t~post7; {39274#(< ~counter~0 18)} is VALID [2022-04-28 12:41:49,726 INFO L290 TraceCheckUtils]: 65: Hoare triple {39299#(< ~counter~0 17)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {39274#(< ~counter~0 18)} is VALID [2022-04-28 12:41:49,726 INFO L290 TraceCheckUtils]: 64: Hoare triple {39299#(< ~counter~0 17)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {39299#(< ~counter~0 17)} is VALID [2022-04-28 12:41:49,726 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {38898#true} {39299#(< ~counter~0 17)} #96#return; {39299#(< ~counter~0 17)} is VALID [2022-04-28 12:41:49,726 INFO L290 TraceCheckUtils]: 62: Hoare triple {38898#true} assume true; {38898#true} is VALID [2022-04-28 12:41:49,726 INFO L290 TraceCheckUtils]: 61: Hoare triple {38898#true} assume !(0 == ~cond); {38898#true} is VALID [2022-04-28 12:41:49,726 INFO L290 TraceCheckUtils]: 60: Hoare triple {38898#true} ~cond := #in~cond; {38898#true} is VALID [2022-04-28 12:41:49,727 INFO L272 TraceCheckUtils]: 59: Hoare triple {39299#(< ~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)); {38898#true} is VALID [2022-04-28 12:41:49,727 INFO L290 TraceCheckUtils]: 58: Hoare triple {39299#(< ~counter~0 17)} assume !!(#t~post7 < 20);havoc #t~post7; {39299#(< ~counter~0 17)} is VALID [2022-04-28 12:41:49,727 INFO L290 TraceCheckUtils]: 57: Hoare triple {39324#(< ~counter~0 16)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {39299#(< ~counter~0 17)} is VALID [2022-04-28 12:41:49,728 INFO L290 TraceCheckUtils]: 56: Hoare triple {39324#(< ~counter~0 16)} assume !!(0 != ~r~0); {39324#(< ~counter~0 16)} is VALID [2022-04-28 12:41:49,728 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {38898#true} {39324#(< ~counter~0 16)} #94#return; {39324#(< ~counter~0 16)} is VALID [2022-04-28 12:41:49,728 INFO L290 TraceCheckUtils]: 54: Hoare triple {38898#true} assume true; {38898#true} is VALID [2022-04-28 12:41:49,728 INFO L290 TraceCheckUtils]: 53: Hoare triple {38898#true} assume !(0 == ~cond); {38898#true} is VALID [2022-04-28 12:41:49,728 INFO L290 TraceCheckUtils]: 52: Hoare triple {38898#true} ~cond := #in~cond; {38898#true} is VALID [2022-04-28 12:41:49,728 INFO L272 TraceCheckUtils]: 51: Hoare triple {39324#(< ~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)); {38898#true} is VALID [2022-04-28 12:41:49,729 INFO L290 TraceCheckUtils]: 50: Hoare triple {39324#(< ~counter~0 16)} assume !!(#t~post6 < 20);havoc #t~post6; {39324#(< ~counter~0 16)} is VALID [2022-04-28 12:41:49,729 INFO L290 TraceCheckUtils]: 49: Hoare triple {39349#(< ~counter~0 15)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {39324#(< ~counter~0 16)} is VALID [2022-04-28 12:41:49,729 INFO L290 TraceCheckUtils]: 48: Hoare triple {39349#(< ~counter~0 15)} assume !(~r~0 < 0); {39349#(< ~counter~0 15)} is VALID [2022-04-28 12:41:49,730 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {38898#true} {39349#(< ~counter~0 15)} #98#return; {39349#(< ~counter~0 15)} is VALID [2022-04-28 12:41:49,730 INFO L290 TraceCheckUtils]: 46: Hoare triple {38898#true} assume true; {38898#true} is VALID [2022-04-28 12:41:49,730 INFO L290 TraceCheckUtils]: 45: Hoare triple {38898#true} assume !(0 == ~cond); {38898#true} is VALID [2022-04-28 12:41:49,730 INFO L290 TraceCheckUtils]: 44: Hoare triple {38898#true} ~cond := #in~cond; {38898#true} is VALID [2022-04-28 12:41:49,730 INFO L272 TraceCheckUtils]: 43: Hoare triple {39349#(< ~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)); {38898#true} is VALID [2022-04-28 12:41:49,730 INFO L290 TraceCheckUtils]: 42: Hoare triple {39349#(< ~counter~0 15)} assume !!(#t~post8 < 20);havoc #t~post8; {39349#(< ~counter~0 15)} is VALID [2022-04-28 12:41:49,731 INFO L290 TraceCheckUtils]: 41: Hoare triple {39374#(< ~counter~0 14)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {39349#(< ~counter~0 15)} is VALID [2022-04-28 12:41:49,731 INFO L290 TraceCheckUtils]: 40: Hoare triple {39374#(< ~counter~0 14)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {39374#(< ~counter~0 14)} is VALID [2022-04-28 12:41:49,732 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {38898#true} {39374#(< ~counter~0 14)} #98#return; {39374#(< ~counter~0 14)} is VALID [2022-04-28 12:41:49,732 INFO L290 TraceCheckUtils]: 38: Hoare triple {38898#true} assume true; {38898#true} is VALID [2022-04-28 12:41:49,732 INFO L290 TraceCheckUtils]: 37: Hoare triple {38898#true} assume !(0 == ~cond); {38898#true} is VALID [2022-04-28 12:41:49,732 INFO L290 TraceCheckUtils]: 36: Hoare triple {38898#true} ~cond := #in~cond; {38898#true} is VALID [2022-04-28 12:41:49,732 INFO L272 TraceCheckUtils]: 35: Hoare triple {39374#(< ~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)); {38898#true} is VALID [2022-04-28 12:41:49,732 INFO L290 TraceCheckUtils]: 34: Hoare triple {39374#(< ~counter~0 14)} assume !!(#t~post8 < 20);havoc #t~post8; {39374#(< ~counter~0 14)} is VALID [2022-04-28 12:41:49,733 INFO L290 TraceCheckUtils]: 33: Hoare triple {39399#(< ~counter~0 13)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {39374#(< ~counter~0 14)} is VALID [2022-04-28 12:41:49,733 INFO L290 TraceCheckUtils]: 32: Hoare triple {39399#(< ~counter~0 13)} assume !(~r~0 > 0); {39399#(< ~counter~0 13)} is VALID [2022-04-28 12:41:49,734 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {38898#true} {39399#(< ~counter~0 13)} #96#return; {39399#(< ~counter~0 13)} is VALID [2022-04-28 12:41:49,734 INFO L290 TraceCheckUtils]: 30: Hoare triple {38898#true} assume true; {38898#true} is VALID [2022-04-28 12:41:49,734 INFO L290 TraceCheckUtils]: 29: Hoare triple {38898#true} assume !(0 == ~cond); {38898#true} is VALID [2022-04-28 12:41:49,734 INFO L290 TraceCheckUtils]: 28: Hoare triple {38898#true} ~cond := #in~cond; {38898#true} is VALID [2022-04-28 12:41:49,734 INFO L272 TraceCheckUtils]: 27: Hoare triple {39399#(< ~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)); {38898#true} is VALID [2022-04-28 12:41:49,734 INFO L290 TraceCheckUtils]: 26: Hoare triple {39399#(< ~counter~0 13)} assume !!(#t~post7 < 20);havoc #t~post7; {39399#(< ~counter~0 13)} is VALID [2022-04-28 12:41:49,735 INFO L290 TraceCheckUtils]: 25: Hoare triple {39424#(< ~counter~0 12)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {39399#(< ~counter~0 13)} is VALID [2022-04-28 12:41:49,735 INFO L290 TraceCheckUtils]: 24: Hoare triple {39424#(< ~counter~0 12)} assume !!(0 != ~r~0); {39424#(< ~counter~0 12)} is VALID [2022-04-28 12:41:49,735 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {38898#true} {39424#(< ~counter~0 12)} #94#return; {39424#(< ~counter~0 12)} is VALID [2022-04-28 12:41:49,735 INFO L290 TraceCheckUtils]: 22: Hoare triple {38898#true} assume true; {38898#true} is VALID [2022-04-28 12:41:49,736 INFO L290 TraceCheckUtils]: 21: Hoare triple {38898#true} assume !(0 == ~cond); {38898#true} is VALID [2022-04-28 12:41:49,736 INFO L290 TraceCheckUtils]: 20: Hoare triple {38898#true} ~cond := #in~cond; {38898#true} is VALID [2022-04-28 12:41:49,736 INFO L272 TraceCheckUtils]: 19: Hoare triple {39424#(< ~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)); {38898#true} is VALID [2022-04-28 12:41:49,736 INFO L290 TraceCheckUtils]: 18: Hoare triple {39424#(< ~counter~0 12)} assume !!(#t~post6 < 20);havoc #t~post6; {39424#(< ~counter~0 12)} is VALID [2022-04-28 12:41:49,736 INFO L290 TraceCheckUtils]: 17: Hoare triple {39449#(< ~counter~0 11)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {39424#(< ~counter~0 12)} is VALID [2022-04-28 12:41:49,737 INFO L290 TraceCheckUtils]: 16: Hoare triple {39449#(< ~counter~0 11)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {39449#(< ~counter~0 11)} is VALID [2022-04-28 12:41:49,737 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {38898#true} {39449#(< ~counter~0 11)} #92#return; {39449#(< ~counter~0 11)} is VALID [2022-04-28 12:41:49,737 INFO L290 TraceCheckUtils]: 14: Hoare triple {38898#true} assume true; {38898#true} is VALID [2022-04-28 12:41:49,737 INFO L290 TraceCheckUtils]: 13: Hoare triple {38898#true} assume !(0 == ~cond); {38898#true} is VALID [2022-04-28 12:41:49,737 INFO L290 TraceCheckUtils]: 12: Hoare triple {38898#true} ~cond := #in~cond; {38898#true} is VALID [2022-04-28 12:41:49,737 INFO L272 TraceCheckUtils]: 11: Hoare triple {39449#(< ~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)); {38898#true} is VALID [2022-04-28 12:41:49,738 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {38898#true} {39449#(< ~counter~0 11)} #90#return; {39449#(< ~counter~0 11)} is VALID [2022-04-28 12:41:49,738 INFO L290 TraceCheckUtils]: 9: Hoare triple {38898#true} assume true; {38898#true} is VALID [2022-04-28 12:41:49,738 INFO L290 TraceCheckUtils]: 8: Hoare triple {38898#true} assume !(0 == ~cond); {38898#true} is VALID [2022-04-28 12:41:49,738 INFO L290 TraceCheckUtils]: 7: Hoare triple {38898#true} ~cond := #in~cond; {38898#true} is VALID [2022-04-28 12:41:49,738 INFO L272 TraceCheckUtils]: 6: Hoare triple {39449#(< ~counter~0 11)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {38898#true} is VALID [2022-04-28 12:41:49,738 INFO L290 TraceCheckUtils]: 5: Hoare triple {39449#(< ~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; {39449#(< ~counter~0 11)} is VALID [2022-04-28 12:41:49,739 INFO L272 TraceCheckUtils]: 4: Hoare triple {39449#(< ~counter~0 11)} call #t~ret9 := main(); {39449#(< ~counter~0 11)} is VALID [2022-04-28 12:41:49,739 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {39449#(< ~counter~0 11)} {38898#true} #102#return; {39449#(< ~counter~0 11)} is VALID [2022-04-28 12:41:49,739 INFO L290 TraceCheckUtils]: 2: Hoare triple {39449#(< ~counter~0 11)} assume true; {39449#(< ~counter~0 11)} is VALID [2022-04-28 12:41:49,740 INFO L290 TraceCheckUtils]: 1: Hoare triple {38898#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; {39449#(< ~counter~0 11)} is VALID [2022-04-28 12:41:49,740 INFO L272 TraceCheckUtils]: 0: Hoare triple {38898#true} call ULTIMATE.init(); {38898#true} is VALID [2022-04-28 12:41:49,740 INFO L134 CoverageAnalysis]: Checked inductivity of 216 backedges. 22 proven. 46 refuted. 0 times theorem prover too weak. 148 trivial. 0 not checked. [2022-04-28 12:41:49,740 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:41:49,740 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [49172149] [2022-04-28 12:41:49,740 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:41:49,740 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1470411208] [2022-04-28 12:41:49,740 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1470411208] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:41:49,740 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:41:49,740 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13] total 24 [2022-04-28 12:41:49,741 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:41:49,741 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1327463938] [2022-04-28 12:41:49,741 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1327463938] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:41:49,741 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:41:49,741 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 12:41:49,741 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [415455122] [2022-04-28 12:41:49,741 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:41:49,741 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 5.230769230769231) internal successors, (68), 12 states have internal predecessors, (68), 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 97 [2022-04-28 12:41:49,741 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:41:49,742 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 5.230769230769231) internal successors, (68), 12 states have internal predecessors, (68), 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:41:49,805 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 94 edges. 94 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:41:49,806 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 12:41:49,806 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:41:49,806 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 12:41:49,806 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=236, Invalid=316, Unknown=0, NotChecked=0, Total=552 [2022-04-28 12:41:49,806 INFO L87 Difference]: Start difference. First operand 366 states and 474 transitions. Second operand has 13 states, 13 states have (on average 5.230769230769231) internal successors, (68), 12 states have internal predecessors, (68), 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:41:50,971 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:41:50,971 INFO L93 Difference]: Finished difference Result 495 states and 661 transitions. [2022-04-28 12:41:50,971 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2022-04-28 12:41:50,971 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 5.230769230769231) internal successors, (68), 12 states have internal predecessors, (68), 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 97 [2022-04-28 12:41:50,972 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:41:50,972 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 5.230769230769231) internal successors, (68), 12 states have internal predecessors, (68), 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:41:50,973 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 218 transitions. [2022-04-28 12:41:50,973 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 5.230769230769231) internal successors, (68), 12 states have internal predecessors, (68), 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:41:50,975 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 218 transitions. [2022-04-28 12:41:50,975 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 20 states and 218 transitions. [2022-04-28 12:41:51,127 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 218 edges. 218 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:41:51,136 INFO L225 Difference]: With dead ends: 495 [2022-04-28 12:41:51,136 INFO L226 Difference]: Without dead ends: 376 [2022-04-28 12:41:51,137 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 200 GetRequests, 171 SyntacticMatches, 0 SemanticMatches, 29 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 49 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=383, Invalid=547, Unknown=0, NotChecked=0, Total=930 [2022-04-28 12:41:51,137 INFO L413 NwaCegarLoop]: 57 mSDtfsCounter, 133 mSDsluCounter, 173 mSDsCounter, 0 mSdLazyCounter, 127 mSolverCounterSat, 120 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 133 SdHoareTripleChecker+Valid, 230 SdHoareTripleChecker+Invalid, 247 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 120 IncrementalHoareTripleChecker+Valid, 127 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 12:41:51,137 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [133 Valid, 230 Invalid, 247 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [120 Valid, 127 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 12:41:51,138 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 376 states. [2022-04-28 12:41:51,666 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 376 to 368. [2022-04-28 12:41:51,666 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:41:51,666 INFO L82 GeneralOperation]: Start isEquivalent. First operand 376 states. Second operand has 368 states, 275 states have (on average 1.1963636363636363) internal successors, (329), 279 states have internal predecessors, (329), 74 states have call successors, (74), 20 states have call predecessors, (74), 18 states have return successors, (72), 68 states have call predecessors, (72), 72 states have call successors, (72) [2022-04-28 12:41:51,667 INFO L74 IsIncluded]: Start isIncluded. First operand 376 states. Second operand has 368 states, 275 states have (on average 1.1963636363636363) internal successors, (329), 279 states have internal predecessors, (329), 74 states have call successors, (74), 20 states have call predecessors, (74), 18 states have return successors, (72), 68 states have call predecessors, (72), 72 states have call successors, (72) [2022-04-28 12:41:51,667 INFO L87 Difference]: Start difference. First operand 376 states. Second operand has 368 states, 275 states have (on average 1.1963636363636363) internal successors, (329), 279 states have internal predecessors, (329), 74 states have call successors, (74), 20 states have call predecessors, (74), 18 states have return successors, (72), 68 states have call predecessors, (72), 72 states have call successors, (72) [2022-04-28 12:41:51,673 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:41:51,673 INFO L93 Difference]: Finished difference Result 376 states and 483 transitions. [2022-04-28 12:41:51,673 INFO L276 IsEmpty]: Start isEmpty. Operand 376 states and 483 transitions. [2022-04-28 12:41:51,674 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:41:51,674 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:41:51,674 INFO L74 IsIncluded]: Start isIncluded. First operand has 368 states, 275 states have (on average 1.1963636363636363) internal successors, (329), 279 states have internal predecessors, (329), 74 states have call successors, (74), 20 states have call predecessors, (74), 18 states have return successors, (72), 68 states have call predecessors, (72), 72 states have call successors, (72) Second operand 376 states. [2022-04-28 12:41:51,674 INFO L87 Difference]: Start difference. First operand has 368 states, 275 states have (on average 1.1963636363636363) internal successors, (329), 279 states have internal predecessors, (329), 74 states have call successors, (74), 20 states have call predecessors, (74), 18 states have return successors, (72), 68 states have call predecessors, (72), 72 states have call successors, (72) Second operand 376 states. [2022-04-28 12:41:51,680 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:41:51,681 INFO L93 Difference]: Finished difference Result 376 states and 483 transitions. [2022-04-28 12:41:51,681 INFO L276 IsEmpty]: Start isEmpty. Operand 376 states and 483 transitions. [2022-04-28 12:41:51,681 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:41:51,681 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:41:51,681 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:41:51,681 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:41:51,682 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 368 states, 275 states have (on average 1.1963636363636363) internal successors, (329), 279 states have internal predecessors, (329), 74 states have call successors, (74), 20 states have call predecessors, (74), 18 states have return successors, (72), 68 states have call predecessors, (72), 72 states have call successors, (72) [2022-04-28 12:41:51,689 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 368 states to 368 states and 475 transitions. [2022-04-28 12:41:51,689 INFO L78 Accepts]: Start accepts. Automaton has 368 states and 475 transitions. Word has length 97 [2022-04-28 12:41:51,689 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:41:51,689 INFO L495 AbstractCegarLoop]: Abstraction has 368 states and 475 transitions. [2022-04-28 12:41:51,689 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 5.230769230769231) internal successors, (68), 12 states have internal predecessors, (68), 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:41:51,689 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 368 states and 475 transitions. [2022-04-28 12:42:09,023 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 475 edges. 468 inductive. 0 not inductive. 7 times theorem prover too weak to decide inductivity. [2022-04-28 12:42:09,023 INFO L276 IsEmpty]: Start isEmpty. Operand 368 states and 475 transitions. [2022-04-28 12:42:09,024 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 100 [2022-04-28 12:42:09,024 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:42:09,024 INFO L195 NwaCegarLoop]: trace histogram [10, 9, 9, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:42:09,043 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (29)] Forceful destruction successful, exit code 0 [2022-04-28 12:42:09,225 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 29 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable27 [2022-04-28 12:42:09,225 INFO L420 AbstractCegarLoop]: === Iteration 29 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:42:09,225 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:42:09,225 INFO L85 PathProgramCache]: Analyzing trace with hash 1020733748, now seen corresponding path program 7 times [2022-04-28 12:42:09,225 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:42:09,225 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1688837112] [2022-04-28 12:42:09,226 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:42:09,226 INFO L85 PathProgramCache]: Analyzing trace with hash 1020733748, now seen corresponding path program 8 times [2022-04-28 12:42:09,226 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:42:09,226 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [65287288] [2022-04-28 12:42:09,226 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:42:09,226 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:42:09,236 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:42:09,236 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [861261624] [2022-04-28 12:42:09,237 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:42:09,237 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:42:09,237 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:42:09,238 INFO L229 MonitoredProcess]: Starting monitored process 30 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:42:09,241 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (30)] Waiting until timeout for monitored process [2022-04-28 12:42:09,291 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:42:09,292 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:42:09,293 INFO L263 TraceCheckSpWp]: Trace formula consists of 246 conjuncts, 3 conjunts are in the unsatisfiable core [2022-04-28 12:42:09,305 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:42:09,306 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:42:09,514 INFO L272 TraceCheckUtils]: 0: Hoare triple {41995#true} call ULTIMATE.init(); {41995#true} is VALID [2022-04-28 12:42:09,514 INFO L290 TraceCheckUtils]: 1: Hoare triple {41995#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; {41995#true} is VALID [2022-04-28 12:42:09,514 INFO L290 TraceCheckUtils]: 2: Hoare triple {41995#true} assume true; {41995#true} is VALID [2022-04-28 12:42:09,515 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41995#true} {41995#true} #102#return; {41995#true} is VALID [2022-04-28 12:42:09,515 INFO L272 TraceCheckUtils]: 4: Hoare triple {41995#true} call #t~ret9 := main(); {41995#true} is VALID [2022-04-28 12:42:09,515 INFO L290 TraceCheckUtils]: 5: Hoare triple {41995#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; {41995#true} is VALID [2022-04-28 12:42:09,515 INFO L272 TraceCheckUtils]: 6: Hoare triple {41995#true} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {41995#true} is VALID [2022-04-28 12:42:09,515 INFO L290 TraceCheckUtils]: 7: Hoare triple {41995#true} ~cond := #in~cond; {41995#true} is VALID [2022-04-28 12:42:09,515 INFO L290 TraceCheckUtils]: 8: Hoare triple {41995#true} assume !(0 == ~cond); {41995#true} is VALID [2022-04-28 12:42:09,515 INFO L290 TraceCheckUtils]: 9: Hoare triple {41995#true} assume true; {41995#true} is VALID [2022-04-28 12:42:09,515 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {41995#true} {41995#true} #90#return; {41995#true} is VALID [2022-04-28 12:42:09,515 INFO L272 TraceCheckUtils]: 11: Hoare triple {41995#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)); {41995#true} is VALID [2022-04-28 12:42:09,515 INFO L290 TraceCheckUtils]: 12: Hoare triple {41995#true} ~cond := #in~cond; {41995#true} is VALID [2022-04-28 12:42:09,515 INFO L290 TraceCheckUtils]: 13: Hoare triple {41995#true} assume !(0 == ~cond); {41995#true} is VALID [2022-04-28 12:42:09,515 INFO L290 TraceCheckUtils]: 14: Hoare triple {41995#true} assume true; {41995#true} is VALID [2022-04-28 12:42:09,515 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {41995#true} {41995#true} #92#return; {41995#true} is VALID [2022-04-28 12:42:09,515 INFO L290 TraceCheckUtils]: 16: Hoare triple {41995#true} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {41995#true} is VALID [2022-04-28 12:42:09,516 INFO L290 TraceCheckUtils]: 17: Hoare triple {41995#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {41995#true} is VALID [2022-04-28 12:42:09,516 INFO L290 TraceCheckUtils]: 18: Hoare triple {41995#true} assume !!(#t~post6 < 20);havoc #t~post6; {41995#true} is VALID [2022-04-28 12:42:09,516 INFO L272 TraceCheckUtils]: 19: Hoare triple {41995#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)); {41995#true} is VALID [2022-04-28 12:42:09,516 INFO L290 TraceCheckUtils]: 20: Hoare triple {41995#true} ~cond := #in~cond; {41995#true} is VALID [2022-04-28 12:42:09,516 INFO L290 TraceCheckUtils]: 21: Hoare triple {41995#true} assume !(0 == ~cond); {41995#true} is VALID [2022-04-28 12:42:09,516 INFO L290 TraceCheckUtils]: 22: Hoare triple {41995#true} assume true; {41995#true} is VALID [2022-04-28 12:42:09,516 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {41995#true} {41995#true} #94#return; {41995#true} is VALID [2022-04-28 12:42:09,516 INFO L290 TraceCheckUtils]: 24: Hoare triple {41995#true} assume !!(0 != ~r~0); {41995#true} is VALID [2022-04-28 12:42:09,516 INFO L290 TraceCheckUtils]: 25: Hoare triple {41995#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {41995#true} is VALID [2022-04-28 12:42:09,516 INFO L290 TraceCheckUtils]: 26: Hoare triple {41995#true} assume !!(#t~post7 < 20);havoc #t~post7; {41995#true} is VALID [2022-04-28 12:42:09,516 INFO L272 TraceCheckUtils]: 27: Hoare triple {41995#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)); {41995#true} is VALID [2022-04-28 12:42:09,516 INFO L290 TraceCheckUtils]: 28: Hoare triple {41995#true} ~cond := #in~cond; {41995#true} is VALID [2022-04-28 12:42:09,516 INFO L290 TraceCheckUtils]: 29: Hoare triple {41995#true} assume !(0 == ~cond); {41995#true} is VALID [2022-04-28 12:42:09,516 INFO L290 TraceCheckUtils]: 30: Hoare triple {41995#true} assume true; {41995#true} is VALID [2022-04-28 12:42:09,516 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {41995#true} {41995#true} #96#return; {41995#true} is VALID [2022-04-28 12:42:09,517 INFO L290 TraceCheckUtils]: 32: Hoare triple {41995#true} assume !(~r~0 > 0); {41995#true} is VALID [2022-04-28 12:42:09,517 INFO L290 TraceCheckUtils]: 33: Hoare triple {41995#true} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {41995#true} is VALID [2022-04-28 12:42:09,517 INFO L290 TraceCheckUtils]: 34: Hoare triple {41995#true} assume !!(#t~post8 < 20);havoc #t~post8; {41995#true} is VALID [2022-04-28 12:42:09,517 INFO L272 TraceCheckUtils]: 35: Hoare triple {41995#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)); {41995#true} is VALID [2022-04-28 12:42:09,517 INFO L290 TraceCheckUtils]: 36: Hoare triple {41995#true} ~cond := #in~cond; {41995#true} is VALID [2022-04-28 12:42:09,517 INFO L290 TraceCheckUtils]: 37: Hoare triple {41995#true} assume !(0 == ~cond); {41995#true} is VALID [2022-04-28 12:42:09,517 INFO L290 TraceCheckUtils]: 38: Hoare triple {41995#true} assume true; {41995#true} is VALID [2022-04-28 12:42:09,517 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {41995#true} {41995#true} #98#return; {41995#true} is VALID [2022-04-28 12:42:09,517 INFO L290 TraceCheckUtils]: 40: Hoare triple {41995#true} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {41995#true} is VALID [2022-04-28 12:42:09,517 INFO L290 TraceCheckUtils]: 41: Hoare triple {41995#true} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {41995#true} is VALID [2022-04-28 12:42:09,517 INFO L290 TraceCheckUtils]: 42: Hoare triple {41995#true} assume !!(#t~post8 < 20);havoc #t~post8; {41995#true} is VALID [2022-04-28 12:42:09,517 INFO L272 TraceCheckUtils]: 43: Hoare triple {41995#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)); {41995#true} is VALID [2022-04-28 12:42:09,517 INFO L290 TraceCheckUtils]: 44: Hoare triple {41995#true} ~cond := #in~cond; {41995#true} is VALID [2022-04-28 12:42:09,517 INFO L290 TraceCheckUtils]: 45: Hoare triple {41995#true} assume !(0 == ~cond); {41995#true} is VALID [2022-04-28 12:42:09,518 INFO L290 TraceCheckUtils]: 46: Hoare triple {41995#true} assume true; {41995#true} is VALID [2022-04-28 12:42:09,518 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {41995#true} {41995#true} #98#return; {41995#true} is VALID [2022-04-28 12:42:09,518 INFO L290 TraceCheckUtils]: 48: Hoare triple {41995#true} assume !(~r~0 < 0); {41995#true} is VALID [2022-04-28 12:42:09,518 INFO L290 TraceCheckUtils]: 49: Hoare triple {41995#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {41995#true} is VALID [2022-04-28 12:42:09,518 INFO L290 TraceCheckUtils]: 50: Hoare triple {41995#true} assume !!(#t~post6 < 20);havoc #t~post6; {41995#true} is VALID [2022-04-28 12:42:09,518 INFO L272 TraceCheckUtils]: 51: Hoare triple {41995#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)); {41995#true} is VALID [2022-04-28 12:42:09,518 INFO L290 TraceCheckUtils]: 52: Hoare triple {41995#true} ~cond := #in~cond; {41995#true} is VALID [2022-04-28 12:42:09,518 INFO L290 TraceCheckUtils]: 53: Hoare triple {41995#true} assume !(0 == ~cond); {41995#true} is VALID [2022-04-28 12:42:09,518 INFO L290 TraceCheckUtils]: 54: Hoare triple {41995#true} assume true; {41995#true} is VALID [2022-04-28 12:42:09,518 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {41995#true} {41995#true} #94#return; {41995#true} is VALID [2022-04-28 12:42:09,518 INFO L290 TraceCheckUtils]: 56: Hoare triple {41995#true} assume !!(0 != ~r~0); {41995#true} is VALID [2022-04-28 12:42:09,518 INFO L290 TraceCheckUtils]: 57: Hoare triple {41995#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {41995#true} is VALID [2022-04-28 12:42:09,518 INFO L290 TraceCheckUtils]: 58: Hoare triple {41995#true} assume !!(#t~post7 < 20);havoc #t~post7; {41995#true} is VALID [2022-04-28 12:42:09,518 INFO L272 TraceCheckUtils]: 59: Hoare triple {41995#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)); {41995#true} is VALID [2022-04-28 12:42:09,519 INFO L290 TraceCheckUtils]: 60: Hoare triple {41995#true} ~cond := #in~cond; {41995#true} is VALID [2022-04-28 12:42:09,519 INFO L290 TraceCheckUtils]: 61: Hoare triple {41995#true} assume !(0 == ~cond); {41995#true} is VALID [2022-04-28 12:42:09,519 INFO L290 TraceCheckUtils]: 62: Hoare triple {41995#true} assume true; {41995#true} is VALID [2022-04-28 12:42:09,519 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {41995#true} {41995#true} #96#return; {41995#true} is VALID [2022-04-28 12:42:09,519 INFO L290 TraceCheckUtils]: 64: Hoare triple {41995#true} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {41995#true} is VALID [2022-04-28 12:42:09,519 INFO L290 TraceCheckUtils]: 65: Hoare triple {41995#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {41995#true} is VALID [2022-04-28 12:42:09,519 INFO L290 TraceCheckUtils]: 66: Hoare triple {41995#true} assume !!(#t~post7 < 20);havoc #t~post7; {41995#true} is VALID [2022-04-28 12:42:09,519 INFO L272 TraceCheckUtils]: 67: Hoare triple {41995#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)); {41995#true} is VALID [2022-04-28 12:42:09,519 INFO L290 TraceCheckUtils]: 68: Hoare triple {41995#true} ~cond := #in~cond; {41995#true} is VALID [2022-04-28 12:42:09,519 INFO L290 TraceCheckUtils]: 69: Hoare triple {41995#true} assume !(0 == ~cond); {41995#true} is VALID [2022-04-28 12:42:09,519 INFO L290 TraceCheckUtils]: 70: Hoare triple {41995#true} assume true; {41995#true} is VALID [2022-04-28 12:42:09,519 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {41995#true} {41995#true} #96#return; {41995#true} is VALID [2022-04-28 12:42:09,527 INFO L290 TraceCheckUtils]: 72: Hoare triple {41995#true} assume !(~r~0 > 0); {42216#(not (< 0 main_~r~0))} is VALID [2022-04-28 12:42:09,527 INFO L290 TraceCheckUtils]: 73: Hoare triple {42216#(not (< 0 main_~r~0))} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {42216#(not (< 0 main_~r~0))} is VALID [2022-04-28 12:42:09,528 INFO L290 TraceCheckUtils]: 74: Hoare triple {42216#(not (< 0 main_~r~0))} assume !!(#t~post8 < 20);havoc #t~post8; {42216#(not (< 0 main_~r~0))} is VALID [2022-04-28 12:42:09,528 INFO L272 TraceCheckUtils]: 75: Hoare triple {42216#(not (< 0 main_~r~0))} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {41995#true} is VALID [2022-04-28 12:42:09,528 INFO L290 TraceCheckUtils]: 76: Hoare triple {41995#true} ~cond := #in~cond; {41995#true} is VALID [2022-04-28 12:42:09,528 INFO L290 TraceCheckUtils]: 77: Hoare triple {41995#true} assume !(0 == ~cond); {41995#true} is VALID [2022-04-28 12:42:09,528 INFO L290 TraceCheckUtils]: 78: Hoare triple {41995#true} assume true; {41995#true} is VALID [2022-04-28 12:42:09,528 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {41995#true} {42216#(not (< 0 main_~r~0))} #98#return; {42216#(not (< 0 main_~r~0))} is VALID [2022-04-28 12:42:09,529 INFO L290 TraceCheckUtils]: 80: Hoare triple {42216#(not (< 0 main_~r~0))} assume !(~r~0 < 0); {42241#(and (not (< 0 main_~r~0)) (not (< main_~r~0 0)))} is VALID [2022-04-28 12:42:09,529 INFO L290 TraceCheckUtils]: 81: Hoare triple {42241#(and (not (< 0 main_~r~0)) (not (< main_~r~0 0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {42241#(and (not (< 0 main_~r~0)) (not (< main_~r~0 0)))} is VALID [2022-04-28 12:42:09,529 INFO L290 TraceCheckUtils]: 82: Hoare triple {42241#(and (not (< 0 main_~r~0)) (not (< main_~r~0 0)))} assume !!(#t~post6 < 20);havoc #t~post6; {42241#(and (not (< 0 main_~r~0)) (not (< main_~r~0 0)))} is VALID [2022-04-28 12:42:09,529 INFO L272 TraceCheckUtils]: 83: Hoare triple {42241#(and (not (< 0 main_~r~0)) (not (< main_~r~0 0)))} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {41995#true} is VALID [2022-04-28 12:42:09,530 INFO L290 TraceCheckUtils]: 84: Hoare triple {41995#true} ~cond := #in~cond; {41995#true} is VALID [2022-04-28 12:42:09,530 INFO L290 TraceCheckUtils]: 85: Hoare triple {41995#true} assume !(0 == ~cond); {41995#true} is VALID [2022-04-28 12:42:09,530 INFO L290 TraceCheckUtils]: 86: Hoare triple {41995#true} assume true; {41995#true} is VALID [2022-04-28 12:42:09,530 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {41995#true} {42241#(and (not (< 0 main_~r~0)) (not (< main_~r~0 0)))} #94#return; {42241#(and (not (< 0 main_~r~0)) (not (< main_~r~0 0)))} is VALID [2022-04-28 12:42:09,531 INFO L290 TraceCheckUtils]: 88: Hoare triple {42241#(and (not (< 0 main_~r~0)) (not (< main_~r~0 0)))} assume !!(0 != ~r~0); {41996#false} is VALID [2022-04-28 12:42:09,531 INFO L290 TraceCheckUtils]: 89: Hoare triple {41996#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {41996#false} is VALID [2022-04-28 12:42:09,531 INFO L290 TraceCheckUtils]: 90: Hoare triple {41996#false} assume !(#t~post7 < 20);havoc #t~post7; {41996#false} is VALID [2022-04-28 12:42:09,531 INFO L290 TraceCheckUtils]: 91: Hoare triple {41996#false} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {41996#false} is VALID [2022-04-28 12:42:09,531 INFO L290 TraceCheckUtils]: 92: Hoare triple {41996#false} assume !(#t~post8 < 20);havoc #t~post8; {41996#false} is VALID [2022-04-28 12:42:09,531 INFO L290 TraceCheckUtils]: 93: Hoare triple {41996#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {41996#false} is VALID [2022-04-28 12:42:09,531 INFO L290 TraceCheckUtils]: 94: Hoare triple {41996#false} assume !(#t~post6 < 20);havoc #t~post6; {41996#false} is VALID [2022-04-28 12:42:09,531 INFO L272 TraceCheckUtils]: 95: Hoare triple {41996#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)); {41996#false} is VALID [2022-04-28 12:42:09,531 INFO L290 TraceCheckUtils]: 96: Hoare triple {41996#false} ~cond := #in~cond; {41996#false} is VALID [2022-04-28 12:42:09,531 INFO L290 TraceCheckUtils]: 97: Hoare triple {41996#false} assume 0 == ~cond; {41996#false} is VALID [2022-04-28 12:42:09,531 INFO L290 TraceCheckUtils]: 98: Hoare triple {41996#false} assume !false; {41996#false} is VALID [2022-04-28 12:42:09,531 INFO L134 CoverageAnalysis]: Checked inductivity of 220 backedges. 52 proven. 0 refuted. 0 times theorem prover too weak. 168 trivial. 0 not checked. [2022-04-28 12:42:09,532 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:42:09,532 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:42:09,532 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [65287288] [2022-04-28 12:42:09,532 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:42:09,532 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [861261624] [2022-04-28 12:42:09,532 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [861261624] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:42:09,532 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:42:09,532 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-28 12:42:09,532 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:42:09,532 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1688837112] [2022-04-28 12:42:09,532 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1688837112] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:42:09,532 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:42:09,532 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-28 12:42:09,533 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [853570248] [2022-04-28 12:42:09,533 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:42:09,533 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 9.25) internal successors, (37), 4 states have internal predecessors, (37), 4 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) Word has length 99 [2022-04-28 12:42:09,533 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:42:09,533 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 9.25) internal successors, (37), 4 states have internal predecessors, (37), 4 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-28 12:42:09,575 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:09,575 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-28 12:42:09,575 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:42:09,575 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-28 12:42:09,575 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2022-04-28 12:42:09,575 INFO L87 Difference]: Start difference. First operand 368 states and 475 transitions. Second operand has 4 states, 4 states have (on average 9.25) internal successors, (37), 4 states have internal predecessors, (37), 4 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-28 12:42:10,252 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:42:10,253 INFO L93 Difference]: Finished difference Result 528 states and 693 transitions. [2022-04-28 12:42:10,253 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-28 12:42:10,253 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 9.25) internal successors, (37), 4 states have internal predecessors, (37), 4 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) Word has length 99 [2022-04-28 12:42:10,253 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:42:10,253 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 9.25) internal successors, (37), 4 states have internal predecessors, (37), 4 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-28 12:42:10,254 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 94 transitions. [2022-04-28 12:42:10,254 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 9.25) internal successors, (37), 4 states have internal predecessors, (37), 4 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-28 12:42:10,254 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 94 transitions. [2022-04-28 12:42:10,254 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 94 transitions. [2022-04-28 12:42:10,321 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 94 edges. 94 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:42:10,330 INFO L225 Difference]: With dead ends: 528 [2022-04-28 12:42:10,330 INFO L226 Difference]: Without dead ends: 386 [2022-04-28 12:42:10,330 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 98 GetRequests, 96 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2022-04-28 12:42:10,334 INFO L413 NwaCegarLoop]: 53 mSDtfsCounter, 13 mSDsluCounter, 40 mSDsCounter, 0 mSdLazyCounter, 21 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 93 SdHoareTripleChecker+Invalid, 23 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 21 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:42:10,335 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [15 Valid, 93 Invalid, 23 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 21 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:42:10,336 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 386 states. [2022-04-28 12:42:10,812 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 386 to 376. [2022-04-28 12:42:10,812 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:42:10,813 INFO L82 GeneralOperation]: Start isEquivalent. First operand 386 states. Second operand has 376 states, 283 states have (on average 1.2014134275618376) internal successors, (340), 287 states have internal predecessors, (340), 74 states have call successors, (74), 20 states have call predecessors, (74), 18 states have return successors, (72), 68 states have call predecessors, (72), 72 states have call successors, (72) [2022-04-28 12:42:10,813 INFO L74 IsIncluded]: Start isIncluded. First operand 386 states. Second operand has 376 states, 283 states have (on average 1.2014134275618376) internal successors, (340), 287 states have internal predecessors, (340), 74 states have call successors, (74), 20 states have call predecessors, (74), 18 states have return successors, (72), 68 states have call predecessors, (72), 72 states have call successors, (72) [2022-04-28 12:42:10,814 INFO L87 Difference]: Start difference. First operand 386 states. Second operand has 376 states, 283 states have (on average 1.2014134275618376) internal successors, (340), 287 states have internal predecessors, (340), 74 states have call successors, (74), 20 states have call predecessors, (74), 18 states have return successors, (72), 68 states have call predecessors, (72), 72 states have call successors, (72) [2022-04-28 12:42:10,820 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:42:10,820 INFO L93 Difference]: Finished difference Result 386 states and 499 transitions. [2022-04-28 12:42:10,820 INFO L276 IsEmpty]: Start isEmpty. Operand 386 states and 499 transitions. [2022-04-28 12:42:10,820 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:42:10,821 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:42:10,821 INFO L74 IsIncluded]: Start isIncluded. First operand has 376 states, 283 states have (on average 1.2014134275618376) internal successors, (340), 287 states have internal predecessors, (340), 74 states have call successors, (74), 20 states have call predecessors, (74), 18 states have return successors, (72), 68 states have call predecessors, (72), 72 states have call successors, (72) Second operand 386 states. [2022-04-28 12:42:10,821 INFO L87 Difference]: Start difference. First operand has 376 states, 283 states have (on average 1.2014134275618376) internal successors, (340), 287 states have internal predecessors, (340), 74 states have call successors, (74), 20 states have call predecessors, (74), 18 states have return successors, (72), 68 states have call predecessors, (72), 72 states have call successors, (72) Second operand 386 states. [2022-04-28 12:42:10,827 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:42:10,827 INFO L93 Difference]: Finished difference Result 386 states and 499 transitions. [2022-04-28 12:42:10,828 INFO L276 IsEmpty]: Start isEmpty. Operand 386 states and 499 transitions. [2022-04-28 12:42:10,828 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:42:10,828 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:42:10,828 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:42:10,828 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:42:10,829 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 376 states, 283 states have (on average 1.2014134275618376) internal successors, (340), 287 states have internal predecessors, (340), 74 states have call successors, (74), 20 states have call predecessors, (74), 18 states have return successors, (72), 68 states have call predecessors, (72), 72 states have call successors, (72) [2022-04-28 12:42:10,836 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 376 states to 376 states and 486 transitions. [2022-04-28 12:42:10,836 INFO L78 Accepts]: Start accepts. Automaton has 376 states and 486 transitions. Word has length 99 [2022-04-28 12:42:10,836 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:42:10,836 INFO L495 AbstractCegarLoop]: Abstraction has 376 states and 486 transitions. [2022-04-28 12:42:10,836 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 9.25) internal successors, (37), 4 states have internal predecessors, (37), 4 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-28 12:42:10,836 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 376 states and 486 transitions. [2022-04-28 12:42:24,383 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 486 edges. 485 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 12:42:24,383 INFO L276 IsEmpty]: Start isEmpty. Operand 376 states and 486 transitions. [2022-04-28 12:42:24,384 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 100 [2022-04-28 12:42:24,384 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:42:24,384 INFO L195 NwaCegarLoop]: trace histogram [10, 9, 9, 6, 5, 5, 5, 4, 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, 1, 1, 1, 1, 1] [2022-04-28 12:42:24,402 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (30)] Forceful destruction successful, exit code 0 [2022-04-28 12:42:24,591 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 30 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable28 [2022-04-28 12:42:24,591 INFO L420 AbstractCegarLoop]: === Iteration 30 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:42:24,592 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:42:24,592 INFO L85 PathProgramCache]: Analyzing trace with hash 359487094, now seen corresponding path program 9 times [2022-04-28 12:42:24,592 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:42:24,592 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [181496663] [2022-04-28 12:42:24,592 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:42:24,592 INFO L85 PathProgramCache]: Analyzing trace with hash 359487094, now seen corresponding path program 10 times [2022-04-28 12:42:24,592 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:42:24,592 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [679205695] [2022-04-28 12:42:24,599 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:42:24,599 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:42:24,609 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:42:24,609 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [805976256] [2022-04-28 12:42:24,609 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:42:24,609 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:42:24,609 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:42:24,610 INFO L229 MonitoredProcess]: Starting monitored process 31 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:42:24,611 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (31)] Waiting until timeout for monitored process [2022-04-28 12:42:24,779 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:42:24,779 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:42:24,780 INFO L263 TraceCheckSpWp]: Trace formula consists of 258 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-28 12:42:24,809 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:42:24,810 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:42:25,251 INFO L272 TraceCheckUtils]: 0: Hoare triple {44875#true} call ULTIMATE.init(); {44875#true} is VALID [2022-04-28 12:42:25,251 INFO L290 TraceCheckUtils]: 1: Hoare triple {44875#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; {44883#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:25,251 INFO L290 TraceCheckUtils]: 2: Hoare triple {44883#(<= ~counter~0 0)} assume true; {44883#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:25,252 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44883#(<= ~counter~0 0)} {44875#true} #102#return; {44883#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:25,252 INFO L272 TraceCheckUtils]: 4: Hoare triple {44883#(<= ~counter~0 0)} call #t~ret9 := main(); {44883#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:25,252 INFO L290 TraceCheckUtils]: 5: Hoare triple {44883#(<= ~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; {44883#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:25,253 INFO L272 TraceCheckUtils]: 6: Hoare triple {44883#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {44883#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:25,253 INFO L290 TraceCheckUtils]: 7: Hoare triple {44883#(<= ~counter~0 0)} ~cond := #in~cond; {44883#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:25,253 INFO L290 TraceCheckUtils]: 8: Hoare triple {44883#(<= ~counter~0 0)} assume !(0 == ~cond); {44883#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:25,254 INFO L290 TraceCheckUtils]: 9: Hoare triple {44883#(<= ~counter~0 0)} assume true; {44883#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:25,254 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {44883#(<= ~counter~0 0)} {44883#(<= ~counter~0 0)} #90#return; {44883#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:25,254 INFO L272 TraceCheckUtils]: 11: Hoare triple {44883#(<= ~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)); {44883#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:25,255 INFO L290 TraceCheckUtils]: 12: Hoare triple {44883#(<= ~counter~0 0)} ~cond := #in~cond; {44883#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:25,255 INFO L290 TraceCheckUtils]: 13: Hoare triple {44883#(<= ~counter~0 0)} assume !(0 == ~cond); {44883#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:25,255 INFO L290 TraceCheckUtils]: 14: Hoare triple {44883#(<= ~counter~0 0)} assume true; {44883#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:25,255 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {44883#(<= ~counter~0 0)} {44883#(<= ~counter~0 0)} #92#return; {44883#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:25,256 INFO L290 TraceCheckUtils]: 16: Hoare triple {44883#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {44883#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:25,257 INFO L290 TraceCheckUtils]: 17: Hoare triple {44883#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {44932#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:25,257 INFO L290 TraceCheckUtils]: 18: Hoare triple {44932#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {44932#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:25,257 INFO L272 TraceCheckUtils]: 19: Hoare triple {44932#(<= ~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)); {44932#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:25,258 INFO L290 TraceCheckUtils]: 20: Hoare triple {44932#(<= ~counter~0 1)} ~cond := #in~cond; {44932#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:25,258 INFO L290 TraceCheckUtils]: 21: Hoare triple {44932#(<= ~counter~0 1)} assume !(0 == ~cond); {44932#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:25,258 INFO L290 TraceCheckUtils]: 22: Hoare triple {44932#(<= ~counter~0 1)} assume true; {44932#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:25,259 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {44932#(<= ~counter~0 1)} {44932#(<= ~counter~0 1)} #94#return; {44932#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:25,259 INFO L290 TraceCheckUtils]: 24: Hoare triple {44932#(<= ~counter~0 1)} assume !!(0 != ~r~0); {44932#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:25,259 INFO L290 TraceCheckUtils]: 25: Hoare triple {44932#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {44957#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:25,260 INFO L290 TraceCheckUtils]: 26: Hoare triple {44957#(<= ~counter~0 2)} assume !!(#t~post7 < 20);havoc #t~post7; {44957#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:25,260 INFO L272 TraceCheckUtils]: 27: Hoare triple {44957#(<= ~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)); {44957#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:25,260 INFO L290 TraceCheckUtils]: 28: Hoare triple {44957#(<= ~counter~0 2)} ~cond := #in~cond; {44957#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:25,261 INFO L290 TraceCheckUtils]: 29: Hoare triple {44957#(<= ~counter~0 2)} assume !(0 == ~cond); {44957#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:25,261 INFO L290 TraceCheckUtils]: 30: Hoare triple {44957#(<= ~counter~0 2)} assume true; {44957#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:25,261 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {44957#(<= ~counter~0 2)} {44957#(<= ~counter~0 2)} #96#return; {44957#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:25,262 INFO L290 TraceCheckUtils]: 32: Hoare triple {44957#(<= ~counter~0 2)} assume !(~r~0 > 0); {44957#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:25,262 INFO L290 TraceCheckUtils]: 33: Hoare triple {44957#(<= ~counter~0 2)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {44982#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:25,262 INFO L290 TraceCheckUtils]: 34: Hoare triple {44982#(<= ~counter~0 3)} assume !!(#t~post8 < 20);havoc #t~post8; {44982#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:25,263 INFO L272 TraceCheckUtils]: 35: Hoare triple {44982#(<= ~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)); {44982#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:25,263 INFO L290 TraceCheckUtils]: 36: Hoare triple {44982#(<= ~counter~0 3)} ~cond := #in~cond; {44982#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:25,263 INFO L290 TraceCheckUtils]: 37: Hoare triple {44982#(<= ~counter~0 3)} assume !(0 == ~cond); {44982#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:25,264 INFO L290 TraceCheckUtils]: 38: Hoare triple {44982#(<= ~counter~0 3)} assume true; {44982#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:25,264 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {44982#(<= ~counter~0 3)} {44982#(<= ~counter~0 3)} #98#return; {44982#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:25,264 INFO L290 TraceCheckUtils]: 40: Hoare triple {44982#(<= ~counter~0 3)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {44982#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:25,265 INFO L290 TraceCheckUtils]: 41: Hoare triple {44982#(<= ~counter~0 3)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {45007#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:25,265 INFO L290 TraceCheckUtils]: 42: Hoare triple {45007#(<= ~counter~0 4)} assume !!(#t~post8 < 20);havoc #t~post8; {45007#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:25,266 INFO L272 TraceCheckUtils]: 43: Hoare triple {45007#(<= ~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)); {45007#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:25,266 INFO L290 TraceCheckUtils]: 44: Hoare triple {45007#(<= ~counter~0 4)} ~cond := #in~cond; {45007#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:25,266 INFO L290 TraceCheckUtils]: 45: Hoare triple {45007#(<= ~counter~0 4)} assume !(0 == ~cond); {45007#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:25,266 INFO L290 TraceCheckUtils]: 46: Hoare triple {45007#(<= ~counter~0 4)} assume true; {45007#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:25,267 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {45007#(<= ~counter~0 4)} {45007#(<= ~counter~0 4)} #98#return; {45007#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:25,267 INFO L290 TraceCheckUtils]: 48: Hoare triple {45007#(<= ~counter~0 4)} assume !(~r~0 < 0); {45007#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:25,268 INFO L290 TraceCheckUtils]: 49: Hoare triple {45007#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {45032#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:25,268 INFO L290 TraceCheckUtils]: 50: Hoare triple {45032#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {45032#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:25,268 INFO L272 TraceCheckUtils]: 51: Hoare triple {45032#(<= ~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)); {45032#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:25,269 INFO L290 TraceCheckUtils]: 52: Hoare triple {45032#(<= ~counter~0 5)} ~cond := #in~cond; {45032#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:25,269 INFO L290 TraceCheckUtils]: 53: Hoare triple {45032#(<= ~counter~0 5)} assume !(0 == ~cond); {45032#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:25,269 INFO L290 TraceCheckUtils]: 54: Hoare triple {45032#(<= ~counter~0 5)} assume true; {45032#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:25,270 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {45032#(<= ~counter~0 5)} {45032#(<= ~counter~0 5)} #94#return; {45032#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:25,270 INFO L290 TraceCheckUtils]: 56: Hoare triple {45032#(<= ~counter~0 5)} assume !!(0 != ~r~0); {45032#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:25,270 INFO L290 TraceCheckUtils]: 57: Hoare triple {45032#(<= ~counter~0 5)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {45057#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:25,271 INFO L290 TraceCheckUtils]: 58: Hoare triple {45057#(<= ~counter~0 6)} assume !!(#t~post7 < 20);havoc #t~post7; {45057#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:25,271 INFO L272 TraceCheckUtils]: 59: Hoare triple {45057#(<= ~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)); {45057#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:25,271 INFO L290 TraceCheckUtils]: 60: Hoare triple {45057#(<= ~counter~0 6)} ~cond := #in~cond; {45057#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:25,272 INFO L290 TraceCheckUtils]: 61: Hoare triple {45057#(<= ~counter~0 6)} assume !(0 == ~cond); {45057#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:25,272 INFO L290 TraceCheckUtils]: 62: Hoare triple {45057#(<= ~counter~0 6)} assume true; {45057#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:25,272 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {45057#(<= ~counter~0 6)} {45057#(<= ~counter~0 6)} #96#return; {45057#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:25,273 INFO L290 TraceCheckUtils]: 64: Hoare triple {45057#(<= ~counter~0 6)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {45057#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:25,273 INFO L290 TraceCheckUtils]: 65: Hoare triple {45057#(<= ~counter~0 6)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {45082#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:25,274 INFO L290 TraceCheckUtils]: 66: Hoare triple {45082#(<= ~counter~0 7)} assume !!(#t~post7 < 20);havoc #t~post7; {45082#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:25,274 INFO L272 TraceCheckUtils]: 67: Hoare triple {45082#(<= ~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)); {45082#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:25,274 INFO L290 TraceCheckUtils]: 68: Hoare triple {45082#(<= ~counter~0 7)} ~cond := #in~cond; {45082#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:25,275 INFO L290 TraceCheckUtils]: 69: Hoare triple {45082#(<= ~counter~0 7)} assume !(0 == ~cond); {45082#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:25,275 INFO L290 TraceCheckUtils]: 70: Hoare triple {45082#(<= ~counter~0 7)} assume true; {45082#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:25,275 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {45082#(<= ~counter~0 7)} {45082#(<= ~counter~0 7)} #96#return; {45082#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:25,276 INFO L290 TraceCheckUtils]: 72: Hoare triple {45082#(<= ~counter~0 7)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {45082#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:25,276 INFO L290 TraceCheckUtils]: 73: Hoare triple {45082#(<= ~counter~0 7)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {45107#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:25,276 INFO L290 TraceCheckUtils]: 74: Hoare triple {45107#(<= ~counter~0 8)} assume !!(#t~post7 < 20);havoc #t~post7; {45107#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:25,277 INFO L272 TraceCheckUtils]: 75: Hoare triple {45107#(<= ~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)); {45107#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:25,277 INFO L290 TraceCheckUtils]: 76: Hoare triple {45107#(<= ~counter~0 8)} ~cond := #in~cond; {45107#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:25,277 INFO L290 TraceCheckUtils]: 77: Hoare triple {45107#(<= ~counter~0 8)} assume !(0 == ~cond); {45107#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:25,278 INFO L290 TraceCheckUtils]: 78: Hoare triple {45107#(<= ~counter~0 8)} assume true; {45107#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:25,278 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {45107#(<= ~counter~0 8)} {45107#(<= ~counter~0 8)} #96#return; {45107#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:25,278 INFO L290 TraceCheckUtils]: 80: Hoare triple {45107#(<= ~counter~0 8)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {45107#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:25,279 INFO L290 TraceCheckUtils]: 81: Hoare triple {45107#(<= ~counter~0 8)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {45132#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:25,279 INFO L290 TraceCheckUtils]: 82: Hoare triple {45132#(<= ~counter~0 9)} assume !!(#t~post7 < 20);havoc #t~post7; {45132#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:25,280 INFO L272 TraceCheckUtils]: 83: Hoare triple {45132#(<= ~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)); {45132#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:25,280 INFO L290 TraceCheckUtils]: 84: Hoare triple {45132#(<= ~counter~0 9)} ~cond := #in~cond; {45132#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:25,280 INFO L290 TraceCheckUtils]: 85: Hoare triple {45132#(<= ~counter~0 9)} assume !(0 == ~cond); {45132#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:25,280 INFO L290 TraceCheckUtils]: 86: Hoare triple {45132#(<= ~counter~0 9)} assume true; {45132#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:25,281 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {45132#(<= ~counter~0 9)} {45132#(<= ~counter~0 9)} #96#return; {45132#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:25,281 INFO L290 TraceCheckUtils]: 88: Hoare triple {45132#(<= ~counter~0 9)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {45132#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:25,281 INFO L290 TraceCheckUtils]: 89: Hoare triple {45132#(<= ~counter~0 9)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {45157#(<= |main_#t~post7| 9)} is VALID [2022-04-28 12:42:25,282 INFO L290 TraceCheckUtils]: 90: Hoare triple {45157#(<= |main_#t~post7| 9)} assume !(#t~post7 < 20);havoc #t~post7; {44876#false} is VALID [2022-04-28 12:42:25,282 INFO L290 TraceCheckUtils]: 91: Hoare triple {44876#false} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {44876#false} is VALID [2022-04-28 12:42:25,282 INFO L290 TraceCheckUtils]: 92: Hoare triple {44876#false} assume !(#t~post8 < 20);havoc #t~post8; {44876#false} is VALID [2022-04-28 12:42:25,282 INFO L290 TraceCheckUtils]: 93: Hoare triple {44876#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {44876#false} is VALID [2022-04-28 12:42:25,282 INFO L290 TraceCheckUtils]: 94: Hoare triple {44876#false} assume !(#t~post6 < 20);havoc #t~post6; {44876#false} is VALID [2022-04-28 12:42:25,282 INFO L272 TraceCheckUtils]: 95: Hoare triple {44876#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)); {44876#false} is VALID [2022-04-28 12:42:25,282 INFO L290 TraceCheckUtils]: 96: Hoare triple {44876#false} ~cond := #in~cond; {44876#false} is VALID [2022-04-28 12:42:25,282 INFO L290 TraceCheckUtils]: 97: Hoare triple {44876#false} assume 0 == ~cond; {44876#false} is VALID [2022-04-28 12:42:25,282 INFO L290 TraceCheckUtils]: 98: Hoare triple {44876#false} assume !false; {44876#false} is VALID [2022-04-28 12:42:25,283 INFO L134 CoverageAnalysis]: Checked inductivity of 232 backedges. 26 proven. 202 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:42:25,283 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:42:25,768 INFO L290 TraceCheckUtils]: 98: Hoare triple {44876#false} assume !false; {44876#false} is VALID [2022-04-28 12:42:25,768 INFO L290 TraceCheckUtils]: 97: Hoare triple {44876#false} assume 0 == ~cond; {44876#false} is VALID [2022-04-28 12:42:25,768 INFO L290 TraceCheckUtils]: 96: Hoare triple {44876#false} ~cond := #in~cond; {44876#false} is VALID [2022-04-28 12:42:25,768 INFO L272 TraceCheckUtils]: 95: Hoare triple {44876#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)); {44876#false} is VALID [2022-04-28 12:42:25,768 INFO L290 TraceCheckUtils]: 94: Hoare triple {44876#false} assume !(#t~post6 < 20);havoc #t~post6; {44876#false} is VALID [2022-04-28 12:42:25,768 INFO L290 TraceCheckUtils]: 93: Hoare triple {44876#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {44876#false} is VALID [2022-04-28 12:42:25,768 INFO L290 TraceCheckUtils]: 92: Hoare triple {44876#false} assume !(#t~post8 < 20);havoc #t~post8; {44876#false} is VALID [2022-04-28 12:42:25,769 INFO L290 TraceCheckUtils]: 91: Hoare triple {44876#false} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {44876#false} is VALID [2022-04-28 12:42:25,770 INFO L290 TraceCheckUtils]: 90: Hoare triple {45209#(< |main_#t~post7| 20)} assume !(#t~post7 < 20);havoc #t~post7; {44876#false} is VALID [2022-04-28 12:42:25,771 INFO L290 TraceCheckUtils]: 89: Hoare triple {45213#(< ~counter~0 20)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {45209#(< |main_#t~post7| 20)} is VALID [2022-04-28 12:42:25,771 INFO L290 TraceCheckUtils]: 88: Hoare triple {45213#(< ~counter~0 20)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {45213#(< ~counter~0 20)} is VALID [2022-04-28 12:42:25,771 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {44875#true} {45213#(< ~counter~0 20)} #96#return; {45213#(< ~counter~0 20)} is VALID [2022-04-28 12:42:25,772 INFO L290 TraceCheckUtils]: 86: Hoare triple {44875#true} assume true; {44875#true} is VALID [2022-04-28 12:42:25,772 INFO L290 TraceCheckUtils]: 85: Hoare triple {44875#true} assume !(0 == ~cond); {44875#true} is VALID [2022-04-28 12:42:25,772 INFO L290 TraceCheckUtils]: 84: Hoare triple {44875#true} ~cond := #in~cond; {44875#true} is VALID [2022-04-28 12:42:25,772 INFO L272 TraceCheckUtils]: 83: Hoare triple {45213#(< ~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)); {44875#true} is VALID [2022-04-28 12:42:25,772 INFO L290 TraceCheckUtils]: 82: Hoare triple {45213#(< ~counter~0 20)} assume !!(#t~post7 < 20);havoc #t~post7; {45213#(< ~counter~0 20)} is VALID [2022-04-28 12:42:25,773 INFO L290 TraceCheckUtils]: 81: Hoare triple {45238#(< ~counter~0 19)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {45213#(< ~counter~0 20)} is VALID [2022-04-28 12:42:25,773 INFO L290 TraceCheckUtils]: 80: Hoare triple {45238#(< ~counter~0 19)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {45238#(< ~counter~0 19)} is VALID [2022-04-28 12:42:25,774 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {44875#true} {45238#(< ~counter~0 19)} #96#return; {45238#(< ~counter~0 19)} is VALID [2022-04-28 12:42:25,774 INFO L290 TraceCheckUtils]: 78: Hoare triple {44875#true} assume true; {44875#true} is VALID [2022-04-28 12:42:25,774 INFO L290 TraceCheckUtils]: 77: Hoare triple {44875#true} assume !(0 == ~cond); {44875#true} is VALID [2022-04-28 12:42:25,774 INFO L290 TraceCheckUtils]: 76: Hoare triple {44875#true} ~cond := #in~cond; {44875#true} is VALID [2022-04-28 12:42:25,774 INFO L272 TraceCheckUtils]: 75: Hoare triple {45238#(< ~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)); {44875#true} is VALID [2022-04-28 12:42:25,774 INFO L290 TraceCheckUtils]: 74: Hoare triple {45238#(< ~counter~0 19)} assume !!(#t~post7 < 20);havoc #t~post7; {45238#(< ~counter~0 19)} is VALID [2022-04-28 12:42:25,775 INFO L290 TraceCheckUtils]: 73: Hoare triple {45263#(< ~counter~0 18)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {45238#(< ~counter~0 19)} is VALID [2022-04-28 12:42:25,775 INFO L290 TraceCheckUtils]: 72: Hoare triple {45263#(< ~counter~0 18)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {45263#(< ~counter~0 18)} is VALID [2022-04-28 12:42:25,776 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {44875#true} {45263#(< ~counter~0 18)} #96#return; {45263#(< ~counter~0 18)} is VALID [2022-04-28 12:42:25,776 INFO L290 TraceCheckUtils]: 70: Hoare triple {44875#true} assume true; {44875#true} is VALID [2022-04-28 12:42:25,776 INFO L290 TraceCheckUtils]: 69: Hoare triple {44875#true} assume !(0 == ~cond); {44875#true} is VALID [2022-04-28 12:42:25,776 INFO L290 TraceCheckUtils]: 68: Hoare triple {44875#true} ~cond := #in~cond; {44875#true} is VALID [2022-04-28 12:42:25,776 INFO L272 TraceCheckUtils]: 67: Hoare triple {45263#(< ~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)); {44875#true} is VALID [2022-04-28 12:42:25,776 INFO L290 TraceCheckUtils]: 66: Hoare triple {45263#(< ~counter~0 18)} assume !!(#t~post7 < 20);havoc #t~post7; {45263#(< ~counter~0 18)} is VALID [2022-04-28 12:42:25,777 INFO L290 TraceCheckUtils]: 65: Hoare triple {45288#(< ~counter~0 17)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {45263#(< ~counter~0 18)} is VALID [2022-04-28 12:42:25,777 INFO L290 TraceCheckUtils]: 64: Hoare triple {45288#(< ~counter~0 17)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {45288#(< ~counter~0 17)} is VALID [2022-04-28 12:42:25,777 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {44875#true} {45288#(< ~counter~0 17)} #96#return; {45288#(< ~counter~0 17)} is VALID [2022-04-28 12:42:25,777 INFO L290 TraceCheckUtils]: 62: Hoare triple {44875#true} assume true; {44875#true} is VALID [2022-04-28 12:42:25,778 INFO L290 TraceCheckUtils]: 61: Hoare triple {44875#true} assume !(0 == ~cond); {44875#true} is VALID [2022-04-28 12:42:25,778 INFO L290 TraceCheckUtils]: 60: Hoare triple {44875#true} ~cond := #in~cond; {44875#true} is VALID [2022-04-28 12:42:25,778 INFO L272 TraceCheckUtils]: 59: Hoare triple {45288#(< ~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)); {44875#true} is VALID [2022-04-28 12:42:25,778 INFO L290 TraceCheckUtils]: 58: Hoare triple {45288#(< ~counter~0 17)} assume !!(#t~post7 < 20);havoc #t~post7; {45288#(< ~counter~0 17)} is VALID [2022-04-28 12:42:25,778 INFO L290 TraceCheckUtils]: 57: Hoare triple {45313#(< ~counter~0 16)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {45288#(< ~counter~0 17)} is VALID [2022-04-28 12:42:25,779 INFO L290 TraceCheckUtils]: 56: Hoare triple {45313#(< ~counter~0 16)} assume !!(0 != ~r~0); {45313#(< ~counter~0 16)} is VALID [2022-04-28 12:42:25,779 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {44875#true} {45313#(< ~counter~0 16)} #94#return; {45313#(< ~counter~0 16)} is VALID [2022-04-28 12:42:25,779 INFO L290 TraceCheckUtils]: 54: Hoare triple {44875#true} assume true; {44875#true} is VALID [2022-04-28 12:42:25,779 INFO L290 TraceCheckUtils]: 53: Hoare triple {44875#true} assume !(0 == ~cond); {44875#true} is VALID [2022-04-28 12:42:25,779 INFO L290 TraceCheckUtils]: 52: Hoare triple {44875#true} ~cond := #in~cond; {44875#true} is VALID [2022-04-28 12:42:25,779 INFO L272 TraceCheckUtils]: 51: Hoare triple {45313#(< ~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)); {44875#true} is VALID [2022-04-28 12:42:25,780 INFO L290 TraceCheckUtils]: 50: Hoare triple {45313#(< ~counter~0 16)} assume !!(#t~post6 < 20);havoc #t~post6; {45313#(< ~counter~0 16)} is VALID [2022-04-28 12:42:25,780 INFO L290 TraceCheckUtils]: 49: Hoare triple {45338#(< ~counter~0 15)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {45313#(< ~counter~0 16)} is VALID [2022-04-28 12:42:25,781 INFO L290 TraceCheckUtils]: 48: Hoare triple {45338#(< ~counter~0 15)} assume !(~r~0 < 0); {45338#(< ~counter~0 15)} is VALID [2022-04-28 12:42:25,781 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {44875#true} {45338#(< ~counter~0 15)} #98#return; {45338#(< ~counter~0 15)} is VALID [2022-04-28 12:42:25,781 INFO L290 TraceCheckUtils]: 46: Hoare triple {44875#true} assume true; {44875#true} is VALID [2022-04-28 12:42:25,781 INFO L290 TraceCheckUtils]: 45: Hoare triple {44875#true} assume !(0 == ~cond); {44875#true} is VALID [2022-04-28 12:42:25,781 INFO L290 TraceCheckUtils]: 44: Hoare triple {44875#true} ~cond := #in~cond; {44875#true} is VALID [2022-04-28 12:42:25,781 INFO L272 TraceCheckUtils]: 43: Hoare triple {45338#(< ~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)); {44875#true} is VALID [2022-04-28 12:42:25,782 INFO L290 TraceCheckUtils]: 42: Hoare triple {45338#(< ~counter~0 15)} assume !!(#t~post8 < 20);havoc #t~post8; {45338#(< ~counter~0 15)} is VALID [2022-04-28 12:42:25,782 INFO L290 TraceCheckUtils]: 41: Hoare triple {45363#(< ~counter~0 14)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {45338#(< ~counter~0 15)} is VALID [2022-04-28 12:42:25,782 INFO L290 TraceCheckUtils]: 40: Hoare triple {45363#(< ~counter~0 14)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {45363#(< ~counter~0 14)} is VALID [2022-04-28 12:42:25,783 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {44875#true} {45363#(< ~counter~0 14)} #98#return; {45363#(< ~counter~0 14)} is VALID [2022-04-28 12:42:25,783 INFO L290 TraceCheckUtils]: 38: Hoare triple {44875#true} assume true; {44875#true} is VALID [2022-04-28 12:42:25,783 INFO L290 TraceCheckUtils]: 37: Hoare triple {44875#true} assume !(0 == ~cond); {44875#true} is VALID [2022-04-28 12:42:25,783 INFO L290 TraceCheckUtils]: 36: Hoare triple {44875#true} ~cond := #in~cond; {44875#true} is VALID [2022-04-28 12:42:25,783 INFO L272 TraceCheckUtils]: 35: Hoare triple {45363#(< ~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)); {44875#true} is VALID [2022-04-28 12:42:25,783 INFO L290 TraceCheckUtils]: 34: Hoare triple {45363#(< ~counter~0 14)} assume !!(#t~post8 < 20);havoc #t~post8; {45363#(< ~counter~0 14)} is VALID [2022-04-28 12:42:25,784 INFO L290 TraceCheckUtils]: 33: Hoare triple {45388#(< ~counter~0 13)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {45363#(< ~counter~0 14)} is VALID [2022-04-28 12:42:25,784 INFO L290 TraceCheckUtils]: 32: Hoare triple {45388#(< ~counter~0 13)} assume !(~r~0 > 0); {45388#(< ~counter~0 13)} is VALID [2022-04-28 12:42:25,785 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {44875#true} {45388#(< ~counter~0 13)} #96#return; {45388#(< ~counter~0 13)} is VALID [2022-04-28 12:42:25,785 INFO L290 TraceCheckUtils]: 30: Hoare triple {44875#true} assume true; {44875#true} is VALID [2022-04-28 12:42:25,785 INFO L290 TraceCheckUtils]: 29: Hoare triple {44875#true} assume !(0 == ~cond); {44875#true} is VALID [2022-04-28 12:42:25,785 INFO L290 TraceCheckUtils]: 28: Hoare triple {44875#true} ~cond := #in~cond; {44875#true} is VALID [2022-04-28 12:42:25,785 INFO L272 TraceCheckUtils]: 27: Hoare triple {45388#(< ~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)); {44875#true} is VALID [2022-04-28 12:42:25,785 INFO L290 TraceCheckUtils]: 26: Hoare triple {45388#(< ~counter~0 13)} assume !!(#t~post7 < 20);havoc #t~post7; {45388#(< ~counter~0 13)} is VALID [2022-04-28 12:42:25,786 INFO L290 TraceCheckUtils]: 25: Hoare triple {45413#(< ~counter~0 12)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {45388#(< ~counter~0 13)} is VALID [2022-04-28 12:42:25,786 INFO L290 TraceCheckUtils]: 24: Hoare triple {45413#(< ~counter~0 12)} assume !!(0 != ~r~0); {45413#(< ~counter~0 12)} is VALID [2022-04-28 12:42:25,786 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {44875#true} {45413#(< ~counter~0 12)} #94#return; {45413#(< ~counter~0 12)} is VALID [2022-04-28 12:42:25,787 INFO L290 TraceCheckUtils]: 22: Hoare triple {44875#true} assume true; {44875#true} is VALID [2022-04-28 12:42:25,787 INFO L290 TraceCheckUtils]: 21: Hoare triple {44875#true} assume !(0 == ~cond); {44875#true} is VALID [2022-04-28 12:42:25,787 INFO L290 TraceCheckUtils]: 20: Hoare triple {44875#true} ~cond := #in~cond; {44875#true} is VALID [2022-04-28 12:42:25,787 INFO L272 TraceCheckUtils]: 19: Hoare triple {45413#(< ~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)); {44875#true} is VALID [2022-04-28 12:42:25,787 INFO L290 TraceCheckUtils]: 18: Hoare triple {45413#(< ~counter~0 12)} assume !!(#t~post6 < 20);havoc #t~post6; {45413#(< ~counter~0 12)} is VALID [2022-04-28 12:42:25,788 INFO L290 TraceCheckUtils]: 17: Hoare triple {45438#(< ~counter~0 11)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {45413#(< ~counter~0 12)} is VALID [2022-04-28 12:42:25,788 INFO L290 TraceCheckUtils]: 16: Hoare triple {45438#(< ~counter~0 11)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {45438#(< ~counter~0 11)} is VALID [2022-04-28 12:42:25,788 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {44875#true} {45438#(< ~counter~0 11)} #92#return; {45438#(< ~counter~0 11)} is VALID [2022-04-28 12:42:25,788 INFO L290 TraceCheckUtils]: 14: Hoare triple {44875#true} assume true; {44875#true} is VALID [2022-04-28 12:42:25,788 INFO L290 TraceCheckUtils]: 13: Hoare triple {44875#true} assume !(0 == ~cond); {44875#true} is VALID [2022-04-28 12:42:25,788 INFO L290 TraceCheckUtils]: 12: Hoare triple {44875#true} ~cond := #in~cond; {44875#true} is VALID [2022-04-28 12:42:25,789 INFO L272 TraceCheckUtils]: 11: Hoare triple {45438#(< ~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)); {44875#true} is VALID [2022-04-28 12:42:25,789 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {44875#true} {45438#(< ~counter~0 11)} #90#return; {45438#(< ~counter~0 11)} is VALID [2022-04-28 12:42:25,789 INFO L290 TraceCheckUtils]: 9: Hoare triple {44875#true} assume true; {44875#true} is VALID [2022-04-28 12:42:25,789 INFO L290 TraceCheckUtils]: 8: Hoare triple {44875#true} assume !(0 == ~cond); {44875#true} is VALID [2022-04-28 12:42:25,789 INFO L290 TraceCheckUtils]: 7: Hoare triple {44875#true} ~cond := #in~cond; {44875#true} is VALID [2022-04-28 12:42:25,789 INFO L272 TraceCheckUtils]: 6: Hoare triple {45438#(< ~counter~0 11)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {44875#true} is VALID [2022-04-28 12:42:25,789 INFO L290 TraceCheckUtils]: 5: Hoare triple {45438#(< ~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; {45438#(< ~counter~0 11)} is VALID [2022-04-28 12:42:25,790 INFO L272 TraceCheckUtils]: 4: Hoare triple {45438#(< ~counter~0 11)} call #t~ret9 := main(); {45438#(< ~counter~0 11)} is VALID [2022-04-28 12:42:25,790 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {45438#(< ~counter~0 11)} {44875#true} #102#return; {45438#(< ~counter~0 11)} is VALID [2022-04-28 12:42:25,790 INFO L290 TraceCheckUtils]: 2: Hoare triple {45438#(< ~counter~0 11)} assume true; {45438#(< ~counter~0 11)} is VALID [2022-04-28 12:42:25,791 INFO L290 TraceCheckUtils]: 1: Hoare triple {44875#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; {45438#(< ~counter~0 11)} is VALID [2022-04-28 12:42:25,791 INFO L272 TraceCheckUtils]: 0: Hoare triple {44875#true} call ULTIMATE.init(); {44875#true} is VALID [2022-04-28 12:42:25,791 INFO L134 CoverageAnalysis]: Checked inductivity of 232 backedges. 26 proven. 58 refuted. 0 times theorem prover too weak. 148 trivial. 0 not checked. [2022-04-28 12:42:25,791 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:42:25,791 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [679205695] [2022-04-28 12:42:25,791 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:42:25,791 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [805976256] [2022-04-28 12:42:25,791 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [805976256] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:42:25,791 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:42:25,792 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13] total 24 [2022-04-28 12:42:25,792 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:42:25,792 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [181496663] [2022-04-28 12:42:25,792 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [181496663] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:42:25,792 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:42:25,792 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 12:42:25,792 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1329298517] [2022-04-28 12:42:25,792 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:42:25,792 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 5.384615384615385) internal successors, (70), 12 states have internal predecessors, (70), 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 99 [2022-04-28 12:42:25,793 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:42:25,793 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 5.384615384615385) internal successors, (70), 12 states have internal predecessors, (70), 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:25,867 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 96 edges. 96 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:42:25,868 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 12:42:25,868 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:42:25,868 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 12:42:25,868 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=236, Invalid=316, Unknown=0, NotChecked=0, Total=552 [2022-04-28 12:42:25,868 INFO L87 Difference]: Start difference. First operand 376 states and 486 transitions. Second operand has 13 states, 13 states have (on average 5.384615384615385) internal successors, (70), 12 states have internal predecessors, (70), 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:26,948 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:42:26,949 INFO L93 Difference]: Finished difference Result 499 states and 663 transitions. [2022-04-28 12:42:26,949 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2022-04-28 12:42:26,949 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 5.384615384615385) internal successors, (70), 12 states have internal predecessors, (70), 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 99 [2022-04-28 12:42:26,949 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:42:26,949 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 5.384615384615385) internal successors, (70), 12 states have internal predecessors, (70), 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:26,951 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 216 transitions. [2022-04-28 12:42:26,951 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 5.384615384615385) internal successors, (70), 12 states have internal predecessors, (70), 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:26,952 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 216 transitions. [2022-04-28 12:42:26,952 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 21 states and 216 transitions. [2022-04-28 12:42:27,131 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 216 edges. 216 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:42:27,142 INFO L225 Difference]: With dead ends: 499 [2022-04-28 12:42:27,142 INFO L226 Difference]: Without dead ends: 388 [2022-04-28 12:42:27,143 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 205 GetRequests, 175 SyntacticMatches, 0 SemanticMatches, 30 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 56 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=412, Invalid=580, Unknown=0, NotChecked=0, Total=992 [2022-04-28 12:42:27,143 INFO L413 NwaCegarLoop]: 57 mSDtfsCounter, 87 mSDsluCounter, 209 mSDsCounter, 0 mSdLazyCounter, 125 mSolverCounterSat, 65 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 87 SdHoareTripleChecker+Valid, 266 SdHoareTripleChecker+Invalid, 190 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 65 IncrementalHoareTripleChecker+Valid, 125 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 12:42:27,143 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [87 Valid, 266 Invalid, 190 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [65 Valid, 125 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 12:42:27,144 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 388 states. [2022-04-28 12:42:27,708 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 388 to 388. [2022-04-28 12:42:27,708 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:42:27,709 INFO L82 GeneralOperation]: Start isEquivalent. First operand 388 states. Second operand has 388 states, 295 states have (on average 1.193220338983051) internal successors, (352), 295 states have internal predecessors, (352), 74 states have call successors, (74), 20 states have call predecessors, (74), 18 states have return successors, (72), 72 states have call predecessors, (72), 72 states have call successors, (72) [2022-04-28 12:42:27,709 INFO L74 IsIncluded]: Start isIncluded. First operand 388 states. Second operand has 388 states, 295 states have (on average 1.193220338983051) internal successors, (352), 295 states have internal predecessors, (352), 74 states have call successors, (74), 20 states have call predecessors, (74), 18 states have return successors, (72), 72 states have call predecessors, (72), 72 states have call successors, (72) [2022-04-28 12:42:27,710 INFO L87 Difference]: Start difference. First operand 388 states. Second operand has 388 states, 295 states have (on average 1.193220338983051) internal successors, (352), 295 states have internal predecessors, (352), 74 states have call successors, (74), 20 states have call predecessors, (74), 18 states have return successors, (72), 72 states have call predecessors, (72), 72 states have call successors, (72) [2022-04-28 12:42:27,716 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:42:27,716 INFO L93 Difference]: Finished difference Result 388 states and 498 transitions. [2022-04-28 12:42:27,716 INFO L276 IsEmpty]: Start isEmpty. Operand 388 states and 498 transitions. [2022-04-28 12:42:27,717 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:42:27,717 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:42:27,717 INFO L74 IsIncluded]: Start isIncluded. First operand has 388 states, 295 states have (on average 1.193220338983051) internal successors, (352), 295 states have internal predecessors, (352), 74 states have call successors, (74), 20 states have call predecessors, (74), 18 states have return successors, (72), 72 states have call predecessors, (72), 72 states have call successors, (72) Second operand 388 states. [2022-04-28 12:42:27,717 INFO L87 Difference]: Start difference. First operand has 388 states, 295 states have (on average 1.193220338983051) internal successors, (352), 295 states have internal predecessors, (352), 74 states have call successors, (74), 20 states have call predecessors, (74), 18 states have return successors, (72), 72 states have call predecessors, (72), 72 states have call successors, (72) Second operand 388 states. [2022-04-28 12:42:27,725 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:42:27,725 INFO L93 Difference]: Finished difference Result 388 states and 498 transitions. [2022-04-28 12:42:27,725 INFO L276 IsEmpty]: Start isEmpty. Operand 388 states and 498 transitions. [2022-04-28 12:42:27,726 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:42:27,726 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:42:27,726 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:42:27,726 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:42:27,727 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 388 states, 295 states have (on average 1.193220338983051) internal successors, (352), 295 states have internal predecessors, (352), 74 states have call successors, (74), 20 states have call predecessors, (74), 18 states have return successors, (72), 72 states have call predecessors, (72), 72 states have call successors, (72) [2022-04-28 12:42:27,738 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 388 states to 388 states and 498 transitions. [2022-04-28 12:42:27,738 INFO L78 Accepts]: Start accepts. Automaton has 388 states and 498 transitions. Word has length 99 [2022-04-28 12:42:27,738 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:42:27,738 INFO L495 AbstractCegarLoop]: Abstraction has 388 states and 498 transitions. [2022-04-28 12:42:27,739 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 5.384615384615385) internal successors, (70), 12 states have internal predecessors, (70), 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:27,739 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 388 states and 498 transitions. [2022-04-28 12:42:38,972 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 498 edges. 497 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 12:42:38,972 INFO L276 IsEmpty]: Start isEmpty. Operand 388 states and 498 transitions. [2022-04-28 12:42:38,973 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 104 [2022-04-28 12:42:38,973 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:42:38,973 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 4, 4, 4, 4, 4, 4, 4, 4, 3, 2, 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:38,996 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (31)] Forceful destruction successful, exit code 0 [2022-04-28 12:42:39,174 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable29,31 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:42:39,174 INFO L420 AbstractCegarLoop]: === Iteration 31 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:42:39,174 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:42:39,174 INFO L85 PathProgramCache]: Analyzing trace with hash -1761003221, now seen corresponding path program 3 times [2022-04-28 12:42:39,174 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:42:39,174 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1515377889] [2022-04-28 12:42:39,175 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:42:39,175 INFO L85 PathProgramCache]: Analyzing trace with hash -1761003221, now seen corresponding path program 4 times [2022-04-28 12:42:39,175 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:42:39,175 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [179782399] [2022-04-28 12:42:39,175 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:42:39,175 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:42:39,186 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:42:39,186 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1121747642] [2022-04-28 12:42:39,186 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:42:39,186 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:42:39,186 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:42:39,187 INFO L229 MonitoredProcess]: Starting monitored process 32 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:42:39,189 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (32)] Waiting until timeout for monitored process [2022-04-28 12:42:39,301 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:42:39,302 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:42:39,303 INFO L263 TraceCheckSpWp]: Trace formula consists of 259 conjuncts, 25 conjunts are in the unsatisfiable core [2022-04-28 12:42:39,318 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:42:39,320 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:42:39,806 INFO L272 TraceCheckUtils]: 0: Hoare triple {48058#true} call ULTIMATE.init(); {48058#true} is VALID [2022-04-28 12:42:39,807 INFO L290 TraceCheckUtils]: 1: Hoare triple {48058#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; {48066#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:39,807 INFO L290 TraceCheckUtils]: 2: Hoare triple {48066#(<= ~counter~0 0)} assume true; {48066#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:39,808 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {48066#(<= ~counter~0 0)} {48058#true} #102#return; {48066#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:39,808 INFO L272 TraceCheckUtils]: 4: Hoare triple {48066#(<= ~counter~0 0)} call #t~ret9 := main(); {48066#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:39,808 INFO L290 TraceCheckUtils]: 5: Hoare triple {48066#(<= ~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; {48066#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:39,809 INFO L272 TraceCheckUtils]: 6: Hoare triple {48066#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {48066#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:39,809 INFO L290 TraceCheckUtils]: 7: Hoare triple {48066#(<= ~counter~0 0)} ~cond := #in~cond; {48066#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:39,809 INFO L290 TraceCheckUtils]: 8: Hoare triple {48066#(<= ~counter~0 0)} assume !(0 == ~cond); {48066#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:39,810 INFO L290 TraceCheckUtils]: 9: Hoare triple {48066#(<= ~counter~0 0)} assume true; {48066#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:39,810 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {48066#(<= ~counter~0 0)} {48066#(<= ~counter~0 0)} #90#return; {48066#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:39,810 INFO L272 TraceCheckUtils]: 11: Hoare triple {48066#(<= ~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)); {48066#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:39,811 INFO L290 TraceCheckUtils]: 12: Hoare triple {48066#(<= ~counter~0 0)} ~cond := #in~cond; {48066#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:39,811 INFO L290 TraceCheckUtils]: 13: Hoare triple {48066#(<= ~counter~0 0)} assume !(0 == ~cond); {48066#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:39,811 INFO L290 TraceCheckUtils]: 14: Hoare triple {48066#(<= ~counter~0 0)} assume true; {48066#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:39,811 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {48066#(<= ~counter~0 0)} {48066#(<= ~counter~0 0)} #92#return; {48066#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:39,812 INFO L290 TraceCheckUtils]: 16: Hoare triple {48066#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {48066#(<= ~counter~0 0)} is VALID [2022-04-28 12:42:39,813 INFO L290 TraceCheckUtils]: 17: Hoare triple {48066#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {48115#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:39,813 INFO L290 TraceCheckUtils]: 18: Hoare triple {48115#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {48115#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:39,814 INFO L272 TraceCheckUtils]: 19: Hoare triple {48115#(<= ~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)); {48115#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:39,814 INFO L290 TraceCheckUtils]: 20: Hoare triple {48115#(<= ~counter~0 1)} ~cond := #in~cond; {48115#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:39,814 INFO L290 TraceCheckUtils]: 21: Hoare triple {48115#(<= ~counter~0 1)} assume !(0 == ~cond); {48115#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:39,814 INFO L290 TraceCheckUtils]: 22: Hoare triple {48115#(<= ~counter~0 1)} assume true; {48115#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:39,815 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {48115#(<= ~counter~0 1)} {48115#(<= ~counter~0 1)} #94#return; {48115#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:39,815 INFO L290 TraceCheckUtils]: 24: Hoare triple {48115#(<= ~counter~0 1)} assume !!(0 != ~r~0); {48115#(<= ~counter~0 1)} is VALID [2022-04-28 12:42:39,816 INFO L290 TraceCheckUtils]: 25: Hoare triple {48115#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {48140#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:39,816 INFO L290 TraceCheckUtils]: 26: Hoare triple {48140#(<= ~counter~0 2)} assume !!(#t~post7 < 20);havoc #t~post7; {48140#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:39,816 INFO L272 TraceCheckUtils]: 27: Hoare triple {48140#(<= ~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)); {48140#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:39,817 INFO L290 TraceCheckUtils]: 28: Hoare triple {48140#(<= ~counter~0 2)} ~cond := #in~cond; {48140#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:39,817 INFO L290 TraceCheckUtils]: 29: Hoare triple {48140#(<= ~counter~0 2)} assume !(0 == ~cond); {48140#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:39,817 INFO L290 TraceCheckUtils]: 30: Hoare triple {48140#(<= ~counter~0 2)} assume true; {48140#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:39,818 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {48140#(<= ~counter~0 2)} {48140#(<= ~counter~0 2)} #96#return; {48140#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:39,818 INFO L290 TraceCheckUtils]: 32: Hoare triple {48140#(<= ~counter~0 2)} assume !(~r~0 > 0); {48140#(<= ~counter~0 2)} is VALID [2022-04-28 12:42:39,818 INFO L290 TraceCheckUtils]: 33: Hoare triple {48140#(<= ~counter~0 2)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {48165#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:39,819 INFO L290 TraceCheckUtils]: 34: Hoare triple {48165#(<= ~counter~0 3)} assume !!(#t~post8 < 20);havoc #t~post8; {48165#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:39,819 INFO L272 TraceCheckUtils]: 35: Hoare triple {48165#(<= ~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)); {48165#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:39,819 INFO L290 TraceCheckUtils]: 36: Hoare triple {48165#(<= ~counter~0 3)} ~cond := #in~cond; {48165#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:39,820 INFO L290 TraceCheckUtils]: 37: Hoare triple {48165#(<= ~counter~0 3)} assume !(0 == ~cond); {48165#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:39,820 INFO L290 TraceCheckUtils]: 38: Hoare triple {48165#(<= ~counter~0 3)} assume true; {48165#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:39,820 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {48165#(<= ~counter~0 3)} {48165#(<= ~counter~0 3)} #98#return; {48165#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:39,821 INFO L290 TraceCheckUtils]: 40: Hoare triple {48165#(<= ~counter~0 3)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {48165#(<= ~counter~0 3)} is VALID [2022-04-28 12:42:39,821 INFO L290 TraceCheckUtils]: 41: Hoare triple {48165#(<= ~counter~0 3)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {48190#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:39,822 INFO L290 TraceCheckUtils]: 42: Hoare triple {48190#(<= ~counter~0 4)} assume !!(#t~post8 < 20);havoc #t~post8; {48190#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:39,822 INFO L272 TraceCheckUtils]: 43: Hoare triple {48190#(<= ~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)); {48190#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:39,822 INFO L290 TraceCheckUtils]: 44: Hoare triple {48190#(<= ~counter~0 4)} ~cond := #in~cond; {48190#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:39,823 INFO L290 TraceCheckUtils]: 45: Hoare triple {48190#(<= ~counter~0 4)} assume !(0 == ~cond); {48190#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:39,823 INFO L290 TraceCheckUtils]: 46: Hoare triple {48190#(<= ~counter~0 4)} assume true; {48190#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:39,823 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {48190#(<= ~counter~0 4)} {48190#(<= ~counter~0 4)} #98#return; {48190#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:39,824 INFO L290 TraceCheckUtils]: 48: Hoare triple {48190#(<= ~counter~0 4)} assume !(~r~0 < 0); {48190#(<= ~counter~0 4)} is VALID [2022-04-28 12:42:39,824 INFO L290 TraceCheckUtils]: 49: Hoare triple {48190#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {48215#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:39,824 INFO L290 TraceCheckUtils]: 50: Hoare triple {48215#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {48215#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:39,825 INFO L272 TraceCheckUtils]: 51: Hoare triple {48215#(<= ~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)); {48215#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:39,825 INFO L290 TraceCheckUtils]: 52: Hoare triple {48215#(<= ~counter~0 5)} ~cond := #in~cond; {48215#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:39,825 INFO L290 TraceCheckUtils]: 53: Hoare triple {48215#(<= ~counter~0 5)} assume !(0 == ~cond); {48215#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:39,826 INFO L290 TraceCheckUtils]: 54: Hoare triple {48215#(<= ~counter~0 5)} assume true; {48215#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:39,826 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {48215#(<= ~counter~0 5)} {48215#(<= ~counter~0 5)} #94#return; {48215#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:39,826 INFO L290 TraceCheckUtils]: 56: Hoare triple {48215#(<= ~counter~0 5)} assume !!(0 != ~r~0); {48215#(<= ~counter~0 5)} is VALID [2022-04-28 12:42:39,827 INFO L290 TraceCheckUtils]: 57: Hoare triple {48215#(<= ~counter~0 5)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {48240#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:39,828 INFO L290 TraceCheckUtils]: 58: Hoare triple {48240#(<= ~counter~0 6)} assume !!(#t~post7 < 20);havoc #t~post7; {48240#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:39,828 INFO L272 TraceCheckUtils]: 59: Hoare triple {48240#(<= ~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)); {48240#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:39,828 INFO L290 TraceCheckUtils]: 60: Hoare triple {48240#(<= ~counter~0 6)} ~cond := #in~cond; {48240#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:39,829 INFO L290 TraceCheckUtils]: 61: Hoare triple {48240#(<= ~counter~0 6)} assume !(0 == ~cond); {48240#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:39,829 INFO L290 TraceCheckUtils]: 62: Hoare triple {48240#(<= ~counter~0 6)} assume true; {48240#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:39,830 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {48240#(<= ~counter~0 6)} {48240#(<= ~counter~0 6)} #96#return; {48240#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:39,830 INFO L290 TraceCheckUtils]: 64: Hoare triple {48240#(<= ~counter~0 6)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {48240#(<= ~counter~0 6)} is VALID [2022-04-28 12:42:39,831 INFO L290 TraceCheckUtils]: 65: Hoare triple {48240#(<= ~counter~0 6)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {48265#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:39,831 INFO L290 TraceCheckUtils]: 66: Hoare triple {48265#(<= ~counter~0 7)} assume !!(#t~post7 < 20);havoc #t~post7; {48265#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:39,832 INFO L272 TraceCheckUtils]: 67: Hoare triple {48265#(<= ~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)); {48265#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:39,832 INFO L290 TraceCheckUtils]: 68: Hoare triple {48265#(<= ~counter~0 7)} ~cond := #in~cond; {48265#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:39,832 INFO L290 TraceCheckUtils]: 69: Hoare triple {48265#(<= ~counter~0 7)} assume !(0 == ~cond); {48265#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:39,832 INFO L290 TraceCheckUtils]: 70: Hoare triple {48265#(<= ~counter~0 7)} assume true; {48265#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:39,833 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {48265#(<= ~counter~0 7)} {48265#(<= ~counter~0 7)} #96#return; {48265#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:39,833 INFO L290 TraceCheckUtils]: 72: Hoare triple {48265#(<= ~counter~0 7)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {48265#(<= ~counter~0 7)} is VALID [2022-04-28 12:42:39,834 INFO L290 TraceCheckUtils]: 73: Hoare triple {48265#(<= ~counter~0 7)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {48290#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:39,834 INFO L290 TraceCheckUtils]: 74: Hoare triple {48290#(<= ~counter~0 8)} assume !!(#t~post7 < 20);havoc #t~post7; {48290#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:39,835 INFO L272 TraceCheckUtils]: 75: Hoare triple {48290#(<= ~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)); {48290#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:39,835 INFO L290 TraceCheckUtils]: 76: Hoare triple {48290#(<= ~counter~0 8)} ~cond := #in~cond; {48290#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:39,835 INFO L290 TraceCheckUtils]: 77: Hoare triple {48290#(<= ~counter~0 8)} assume !(0 == ~cond); {48290#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:39,835 INFO L290 TraceCheckUtils]: 78: Hoare triple {48290#(<= ~counter~0 8)} assume true; {48290#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:39,836 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {48290#(<= ~counter~0 8)} {48290#(<= ~counter~0 8)} #96#return; {48290#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:39,836 INFO L290 TraceCheckUtils]: 80: Hoare triple {48290#(<= ~counter~0 8)} assume !(~r~0 > 0); {48290#(<= ~counter~0 8)} is VALID [2022-04-28 12:42:39,837 INFO L290 TraceCheckUtils]: 81: Hoare triple {48290#(<= ~counter~0 8)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {48315#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:39,837 INFO L290 TraceCheckUtils]: 82: Hoare triple {48315#(<= ~counter~0 9)} assume !!(#t~post8 < 20);havoc #t~post8; {48315#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:39,837 INFO L272 TraceCheckUtils]: 83: Hoare triple {48315#(<= ~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)); {48315#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:39,838 INFO L290 TraceCheckUtils]: 84: Hoare triple {48315#(<= ~counter~0 9)} ~cond := #in~cond; {48315#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:39,838 INFO L290 TraceCheckUtils]: 85: Hoare triple {48315#(<= ~counter~0 9)} assume !(0 == ~cond); {48315#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:39,838 INFO L290 TraceCheckUtils]: 86: Hoare triple {48315#(<= ~counter~0 9)} assume true; {48315#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:39,839 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {48315#(<= ~counter~0 9)} {48315#(<= ~counter~0 9)} #98#return; {48315#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:39,839 INFO L290 TraceCheckUtils]: 88: Hoare triple {48315#(<= ~counter~0 9)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {48315#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:39,840 INFO L290 TraceCheckUtils]: 89: Hoare triple {48315#(<= ~counter~0 9)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {48340#(<= ~counter~0 10)} is VALID [2022-04-28 12:42:39,840 INFO L290 TraceCheckUtils]: 90: Hoare triple {48340#(<= ~counter~0 10)} assume !!(#t~post8 < 20);havoc #t~post8; {48340#(<= ~counter~0 10)} is VALID [2022-04-28 12:42:39,840 INFO L272 TraceCheckUtils]: 91: Hoare triple {48340#(<= ~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)); {48340#(<= ~counter~0 10)} is VALID [2022-04-28 12:42:39,841 INFO L290 TraceCheckUtils]: 92: Hoare triple {48340#(<= ~counter~0 10)} ~cond := #in~cond; {48340#(<= ~counter~0 10)} is VALID [2022-04-28 12:42:39,841 INFO L290 TraceCheckUtils]: 93: Hoare triple {48340#(<= ~counter~0 10)} assume !(0 == ~cond); {48340#(<= ~counter~0 10)} is VALID [2022-04-28 12:42:39,841 INFO L290 TraceCheckUtils]: 94: Hoare triple {48340#(<= ~counter~0 10)} assume true; {48340#(<= ~counter~0 10)} is VALID [2022-04-28 12:42:39,842 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {48340#(<= ~counter~0 10)} {48340#(<= ~counter~0 10)} #98#return; {48340#(<= ~counter~0 10)} is VALID [2022-04-28 12:42:39,842 INFO L290 TraceCheckUtils]: 96: Hoare triple {48340#(<= ~counter~0 10)} assume !(~r~0 < 0); {48340#(<= ~counter~0 10)} is VALID [2022-04-28 12:42:39,842 INFO L290 TraceCheckUtils]: 97: Hoare triple {48340#(<= ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {48365#(<= |main_#t~post6| 10)} is VALID [2022-04-28 12:42:39,842 INFO L290 TraceCheckUtils]: 98: Hoare triple {48365#(<= |main_#t~post6| 10)} assume !(#t~post6 < 20);havoc #t~post6; {48059#false} is VALID [2022-04-28 12:42:39,843 INFO L272 TraceCheckUtils]: 99: Hoare triple {48059#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)); {48059#false} is VALID [2022-04-28 12:42:39,843 INFO L290 TraceCheckUtils]: 100: Hoare triple {48059#false} ~cond := #in~cond; {48059#false} is VALID [2022-04-28 12:42:39,843 INFO L290 TraceCheckUtils]: 101: Hoare triple {48059#false} assume 0 == ~cond; {48059#false} is VALID [2022-04-28 12:42:39,843 INFO L290 TraceCheckUtils]: 102: Hoare triple {48059#false} assume !false; {48059#false} is VALID [2022-04-28 12:42:39,843 INFO L134 CoverageAnalysis]: Checked inductivity of 260 backedges. 20 proven. 236 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:42:39,843 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:42:40,398 INFO L290 TraceCheckUtils]: 102: Hoare triple {48059#false} assume !false; {48059#false} is VALID [2022-04-28 12:42:40,398 INFO L290 TraceCheckUtils]: 101: Hoare triple {48059#false} assume 0 == ~cond; {48059#false} is VALID [2022-04-28 12:42:40,398 INFO L290 TraceCheckUtils]: 100: Hoare triple {48059#false} ~cond := #in~cond; {48059#false} is VALID [2022-04-28 12:42:40,398 INFO L272 TraceCheckUtils]: 99: Hoare triple {48059#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)); {48059#false} is VALID [2022-04-28 12:42:40,398 INFO L290 TraceCheckUtils]: 98: Hoare triple {48393#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {48059#false} is VALID [2022-04-28 12:42:40,399 INFO L290 TraceCheckUtils]: 97: Hoare triple {48397#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {48393#(< |main_#t~post6| 20)} is VALID [2022-04-28 12:42:40,399 INFO L290 TraceCheckUtils]: 96: Hoare triple {48397#(< ~counter~0 20)} assume !(~r~0 < 0); {48397#(< ~counter~0 20)} is VALID [2022-04-28 12:42:40,399 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {48058#true} {48397#(< ~counter~0 20)} #98#return; {48397#(< ~counter~0 20)} is VALID [2022-04-28 12:42:40,399 INFO L290 TraceCheckUtils]: 94: Hoare triple {48058#true} assume true; {48058#true} is VALID [2022-04-28 12:42:40,399 INFO L290 TraceCheckUtils]: 93: Hoare triple {48058#true} assume !(0 == ~cond); {48058#true} is VALID [2022-04-28 12:42:40,400 INFO L290 TraceCheckUtils]: 92: Hoare triple {48058#true} ~cond := #in~cond; {48058#true} is VALID [2022-04-28 12:42:40,400 INFO L272 TraceCheckUtils]: 91: Hoare triple {48397#(< ~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)); {48058#true} is VALID [2022-04-28 12:42:40,400 INFO L290 TraceCheckUtils]: 90: Hoare triple {48397#(< ~counter~0 20)} assume !!(#t~post8 < 20);havoc #t~post8; {48397#(< ~counter~0 20)} is VALID [2022-04-28 12:42:40,401 INFO L290 TraceCheckUtils]: 89: Hoare triple {48422#(< ~counter~0 19)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {48397#(< ~counter~0 20)} is VALID [2022-04-28 12:42:40,401 INFO L290 TraceCheckUtils]: 88: Hoare triple {48422#(< ~counter~0 19)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {48422#(< ~counter~0 19)} is VALID [2022-04-28 12:42:40,402 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {48058#true} {48422#(< ~counter~0 19)} #98#return; {48422#(< ~counter~0 19)} is VALID [2022-04-28 12:42:40,402 INFO L290 TraceCheckUtils]: 86: Hoare triple {48058#true} assume true; {48058#true} is VALID [2022-04-28 12:42:40,402 INFO L290 TraceCheckUtils]: 85: Hoare triple {48058#true} assume !(0 == ~cond); {48058#true} is VALID [2022-04-28 12:42:40,402 INFO L290 TraceCheckUtils]: 84: Hoare triple {48058#true} ~cond := #in~cond; {48058#true} is VALID [2022-04-28 12:42:40,402 INFO L272 TraceCheckUtils]: 83: Hoare triple {48422#(< ~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)); {48058#true} is VALID [2022-04-28 12:42:40,402 INFO L290 TraceCheckUtils]: 82: Hoare triple {48422#(< ~counter~0 19)} assume !!(#t~post8 < 20);havoc #t~post8; {48422#(< ~counter~0 19)} is VALID [2022-04-28 12:42:40,403 INFO L290 TraceCheckUtils]: 81: Hoare triple {48447#(< ~counter~0 18)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {48422#(< ~counter~0 19)} is VALID [2022-04-28 12:42:40,403 INFO L290 TraceCheckUtils]: 80: Hoare triple {48447#(< ~counter~0 18)} assume !(~r~0 > 0); {48447#(< ~counter~0 18)} is VALID [2022-04-28 12:42:40,404 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {48058#true} {48447#(< ~counter~0 18)} #96#return; {48447#(< ~counter~0 18)} is VALID [2022-04-28 12:42:40,404 INFO L290 TraceCheckUtils]: 78: Hoare triple {48058#true} assume true; {48058#true} is VALID [2022-04-28 12:42:40,404 INFO L290 TraceCheckUtils]: 77: Hoare triple {48058#true} assume !(0 == ~cond); {48058#true} is VALID [2022-04-28 12:42:40,404 INFO L290 TraceCheckUtils]: 76: Hoare triple {48058#true} ~cond := #in~cond; {48058#true} is VALID [2022-04-28 12:42:40,404 INFO L272 TraceCheckUtils]: 75: Hoare triple {48447#(< ~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)); {48058#true} is VALID [2022-04-28 12:42:40,404 INFO L290 TraceCheckUtils]: 74: Hoare triple {48447#(< ~counter~0 18)} assume !!(#t~post7 < 20);havoc #t~post7; {48447#(< ~counter~0 18)} is VALID [2022-04-28 12:42:40,405 INFO L290 TraceCheckUtils]: 73: Hoare triple {48472#(< ~counter~0 17)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {48447#(< ~counter~0 18)} is VALID [2022-04-28 12:42:40,405 INFO L290 TraceCheckUtils]: 72: Hoare triple {48472#(< ~counter~0 17)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {48472#(< ~counter~0 17)} is VALID [2022-04-28 12:42:40,405 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {48058#true} {48472#(< ~counter~0 17)} #96#return; {48472#(< ~counter~0 17)} is VALID [2022-04-28 12:42:40,406 INFO L290 TraceCheckUtils]: 70: Hoare triple {48058#true} assume true; {48058#true} is VALID [2022-04-28 12:42:40,406 INFO L290 TraceCheckUtils]: 69: Hoare triple {48058#true} assume !(0 == ~cond); {48058#true} is VALID [2022-04-28 12:42:40,406 INFO L290 TraceCheckUtils]: 68: Hoare triple {48058#true} ~cond := #in~cond; {48058#true} is VALID [2022-04-28 12:42:40,406 INFO L272 TraceCheckUtils]: 67: Hoare triple {48472#(< ~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)); {48058#true} is VALID [2022-04-28 12:42:40,406 INFO L290 TraceCheckUtils]: 66: Hoare triple {48472#(< ~counter~0 17)} assume !!(#t~post7 < 20);havoc #t~post7; {48472#(< ~counter~0 17)} is VALID [2022-04-28 12:42:40,407 INFO L290 TraceCheckUtils]: 65: Hoare triple {48497#(< ~counter~0 16)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {48472#(< ~counter~0 17)} is VALID [2022-04-28 12:42:40,407 INFO L290 TraceCheckUtils]: 64: Hoare triple {48497#(< ~counter~0 16)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {48497#(< ~counter~0 16)} is VALID [2022-04-28 12:42:40,407 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {48058#true} {48497#(< ~counter~0 16)} #96#return; {48497#(< ~counter~0 16)} is VALID [2022-04-28 12:42:40,407 INFO L290 TraceCheckUtils]: 62: Hoare triple {48058#true} assume true; {48058#true} is VALID [2022-04-28 12:42:40,408 INFO L290 TraceCheckUtils]: 61: Hoare triple {48058#true} assume !(0 == ~cond); {48058#true} is VALID [2022-04-28 12:42:40,408 INFO L290 TraceCheckUtils]: 60: Hoare triple {48058#true} ~cond := #in~cond; {48058#true} is VALID [2022-04-28 12:42:40,408 INFO L272 TraceCheckUtils]: 59: Hoare triple {48497#(< ~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)); {48058#true} is VALID [2022-04-28 12:42:40,408 INFO L290 TraceCheckUtils]: 58: Hoare triple {48497#(< ~counter~0 16)} assume !!(#t~post7 < 20);havoc #t~post7; {48497#(< ~counter~0 16)} is VALID [2022-04-28 12:42:40,408 INFO L290 TraceCheckUtils]: 57: Hoare triple {48522#(< ~counter~0 15)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {48497#(< ~counter~0 16)} is VALID [2022-04-28 12:42:40,409 INFO L290 TraceCheckUtils]: 56: Hoare triple {48522#(< ~counter~0 15)} assume !!(0 != ~r~0); {48522#(< ~counter~0 15)} is VALID [2022-04-28 12:42:40,409 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {48058#true} {48522#(< ~counter~0 15)} #94#return; {48522#(< ~counter~0 15)} is VALID [2022-04-28 12:42:40,409 INFO L290 TraceCheckUtils]: 54: Hoare triple {48058#true} assume true; {48058#true} is VALID [2022-04-28 12:42:40,409 INFO L290 TraceCheckUtils]: 53: Hoare triple {48058#true} assume !(0 == ~cond); {48058#true} is VALID [2022-04-28 12:42:40,409 INFO L290 TraceCheckUtils]: 52: Hoare triple {48058#true} ~cond := #in~cond; {48058#true} is VALID [2022-04-28 12:42:40,410 INFO L272 TraceCheckUtils]: 51: Hoare triple {48522#(< ~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)); {48058#true} is VALID [2022-04-28 12:42:40,410 INFO L290 TraceCheckUtils]: 50: Hoare triple {48522#(< ~counter~0 15)} assume !!(#t~post6 < 20);havoc #t~post6; {48522#(< ~counter~0 15)} is VALID [2022-04-28 12:42:40,410 INFO L290 TraceCheckUtils]: 49: Hoare triple {48547#(< ~counter~0 14)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {48522#(< ~counter~0 15)} is VALID [2022-04-28 12:42:40,411 INFO L290 TraceCheckUtils]: 48: Hoare triple {48547#(< ~counter~0 14)} assume !(~r~0 < 0); {48547#(< ~counter~0 14)} is VALID [2022-04-28 12:42:40,411 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {48058#true} {48547#(< ~counter~0 14)} #98#return; {48547#(< ~counter~0 14)} is VALID [2022-04-28 12:42:40,411 INFO L290 TraceCheckUtils]: 46: Hoare triple {48058#true} assume true; {48058#true} is VALID [2022-04-28 12:42:40,411 INFO L290 TraceCheckUtils]: 45: Hoare triple {48058#true} assume !(0 == ~cond); {48058#true} is VALID [2022-04-28 12:42:40,411 INFO L290 TraceCheckUtils]: 44: Hoare triple {48058#true} ~cond := #in~cond; {48058#true} is VALID [2022-04-28 12:42:40,411 INFO L272 TraceCheckUtils]: 43: Hoare triple {48547#(< ~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)); {48058#true} is VALID [2022-04-28 12:42:40,412 INFO L290 TraceCheckUtils]: 42: Hoare triple {48547#(< ~counter~0 14)} assume !!(#t~post8 < 20);havoc #t~post8; {48547#(< ~counter~0 14)} is VALID [2022-04-28 12:42:40,412 INFO L290 TraceCheckUtils]: 41: Hoare triple {48572#(< ~counter~0 13)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {48547#(< ~counter~0 14)} is VALID [2022-04-28 12:42:40,412 INFO L290 TraceCheckUtils]: 40: Hoare triple {48572#(< ~counter~0 13)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {48572#(< ~counter~0 13)} is VALID [2022-04-28 12:42:40,413 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {48058#true} {48572#(< ~counter~0 13)} #98#return; {48572#(< ~counter~0 13)} is VALID [2022-04-28 12:42:40,413 INFO L290 TraceCheckUtils]: 38: Hoare triple {48058#true} assume true; {48058#true} is VALID [2022-04-28 12:42:40,413 INFO L290 TraceCheckUtils]: 37: Hoare triple {48058#true} assume !(0 == ~cond); {48058#true} is VALID [2022-04-28 12:42:40,413 INFO L290 TraceCheckUtils]: 36: Hoare triple {48058#true} ~cond := #in~cond; {48058#true} is VALID [2022-04-28 12:42:40,413 INFO L272 TraceCheckUtils]: 35: Hoare triple {48572#(< ~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)); {48058#true} is VALID [2022-04-28 12:42:40,413 INFO L290 TraceCheckUtils]: 34: Hoare triple {48572#(< ~counter~0 13)} assume !!(#t~post8 < 20);havoc #t~post8; {48572#(< ~counter~0 13)} is VALID [2022-04-28 12:42:40,414 INFO L290 TraceCheckUtils]: 33: Hoare triple {48597#(< ~counter~0 12)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {48572#(< ~counter~0 13)} is VALID [2022-04-28 12:42:40,414 INFO L290 TraceCheckUtils]: 32: Hoare triple {48597#(< ~counter~0 12)} assume !(~r~0 > 0); {48597#(< ~counter~0 12)} is VALID [2022-04-28 12:42:40,415 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {48058#true} {48597#(< ~counter~0 12)} #96#return; {48597#(< ~counter~0 12)} is VALID [2022-04-28 12:42:40,415 INFO L290 TraceCheckUtils]: 30: Hoare triple {48058#true} assume true; {48058#true} is VALID [2022-04-28 12:42:40,415 INFO L290 TraceCheckUtils]: 29: Hoare triple {48058#true} assume !(0 == ~cond); {48058#true} is VALID [2022-04-28 12:42:40,415 INFO L290 TraceCheckUtils]: 28: Hoare triple {48058#true} ~cond := #in~cond; {48058#true} is VALID [2022-04-28 12:42:40,415 INFO L272 TraceCheckUtils]: 27: Hoare triple {48597#(< ~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)); {48058#true} is VALID [2022-04-28 12:42:40,415 INFO L290 TraceCheckUtils]: 26: Hoare triple {48597#(< ~counter~0 12)} assume !!(#t~post7 < 20);havoc #t~post7; {48597#(< ~counter~0 12)} is VALID [2022-04-28 12:42:40,416 INFO L290 TraceCheckUtils]: 25: Hoare triple {48340#(<= ~counter~0 10)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {48597#(< ~counter~0 12)} is VALID [2022-04-28 12:42:40,416 INFO L290 TraceCheckUtils]: 24: Hoare triple {48340#(<= ~counter~0 10)} assume !!(0 != ~r~0); {48340#(<= ~counter~0 10)} is VALID [2022-04-28 12:42:40,417 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {48058#true} {48340#(<= ~counter~0 10)} #94#return; {48340#(<= ~counter~0 10)} is VALID [2022-04-28 12:42:40,417 INFO L290 TraceCheckUtils]: 22: Hoare triple {48058#true} assume true; {48058#true} is VALID [2022-04-28 12:42:40,417 INFO L290 TraceCheckUtils]: 21: Hoare triple {48058#true} assume !(0 == ~cond); {48058#true} is VALID [2022-04-28 12:42:40,417 INFO L290 TraceCheckUtils]: 20: Hoare triple {48058#true} ~cond := #in~cond; {48058#true} is VALID [2022-04-28 12:42:40,417 INFO L272 TraceCheckUtils]: 19: Hoare triple {48340#(<= ~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)); {48058#true} is VALID [2022-04-28 12:42:40,417 INFO L290 TraceCheckUtils]: 18: Hoare triple {48340#(<= ~counter~0 10)} assume !!(#t~post6 < 20);havoc #t~post6; {48340#(<= ~counter~0 10)} is VALID [2022-04-28 12:42:40,418 INFO L290 TraceCheckUtils]: 17: Hoare triple {48315#(<= ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {48340#(<= ~counter~0 10)} is VALID [2022-04-28 12:42:40,418 INFO L290 TraceCheckUtils]: 16: Hoare triple {48315#(<= ~counter~0 9)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {48315#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:40,418 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {48058#true} {48315#(<= ~counter~0 9)} #92#return; {48315#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:40,419 INFO L290 TraceCheckUtils]: 14: Hoare triple {48058#true} assume true; {48058#true} is VALID [2022-04-28 12:42:40,419 INFO L290 TraceCheckUtils]: 13: Hoare triple {48058#true} assume !(0 == ~cond); {48058#true} is VALID [2022-04-28 12:42:40,419 INFO L290 TraceCheckUtils]: 12: Hoare triple {48058#true} ~cond := #in~cond; {48058#true} is VALID [2022-04-28 12:42:40,419 INFO L272 TraceCheckUtils]: 11: Hoare triple {48315#(<= ~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)); {48058#true} is VALID [2022-04-28 12:42:40,419 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {48058#true} {48315#(<= ~counter~0 9)} #90#return; {48315#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:40,419 INFO L290 TraceCheckUtils]: 9: Hoare triple {48058#true} assume true; {48058#true} is VALID [2022-04-28 12:42:40,419 INFO L290 TraceCheckUtils]: 8: Hoare triple {48058#true} assume !(0 == ~cond); {48058#true} is VALID [2022-04-28 12:42:40,419 INFO L290 TraceCheckUtils]: 7: Hoare triple {48058#true} ~cond := #in~cond; {48058#true} is VALID [2022-04-28 12:42:40,419 INFO L272 TraceCheckUtils]: 6: Hoare triple {48315#(<= ~counter~0 9)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {48058#true} is VALID [2022-04-28 12:42:40,420 INFO L290 TraceCheckUtils]: 5: Hoare triple {48315#(<= ~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; {48315#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:40,420 INFO L272 TraceCheckUtils]: 4: Hoare triple {48315#(<= ~counter~0 9)} call #t~ret9 := main(); {48315#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:40,420 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {48315#(<= ~counter~0 9)} {48058#true} #102#return; {48315#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:40,421 INFO L290 TraceCheckUtils]: 2: Hoare triple {48315#(<= ~counter~0 9)} assume true; {48315#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:40,421 INFO L290 TraceCheckUtils]: 1: Hoare triple {48058#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; {48315#(<= ~counter~0 9)} is VALID [2022-04-28 12:42:40,421 INFO L272 TraceCheckUtils]: 0: Hoare triple {48058#true} call ULTIMATE.init(); {48058#true} is VALID [2022-04-28 12:42:40,421 INFO L134 CoverageAnalysis]: Checked inductivity of 260 backedges. 20 proven. 56 refuted. 0 times theorem prover too weak. 184 trivial. 0 not checked. [2022-04-28 12:42:40,421 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:42:40,421 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [179782399] [2022-04-28 12:42:40,422 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:42:40,422 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1121747642] [2022-04-28 12:42:40,422 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1121747642] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:42:40,422 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:42:40,422 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 14] total 24 [2022-04-28 12:42:40,422 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:42:40,422 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1515377889] [2022-04-28 12:42:40,422 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1515377889] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:42:40,422 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:42:40,422 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 12:42:40,422 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [53742079] [2022-04-28 12:42:40,422 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:42:40,423 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 5.142857142857143) internal successors, (72), 13 states have internal predecessors, (72), 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 103 [2022-04-28 12:42:40,423 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:42:40,423 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 5.142857142857143) internal successors, (72), 13 states have internal predecessors, (72), 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:40,492 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 100 edges. 100 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:42:40,492 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 12:42:40,492 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:42:40,493 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 12:42:40,493 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=236, Invalid=316, Unknown=0, NotChecked=0, Total=552 [2022-04-28 12:42:40,493 INFO L87 Difference]: Start difference. First operand 388 states and 498 transitions. Second operand has 14 states, 14 states have (on average 5.142857142857143) internal successors, (72), 13 states have internal predecessors, (72), 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:41,729 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:42:41,729 INFO L93 Difference]: Finished difference Result 435 states and 559 transitions. [2022-04-28 12:42:41,729 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2022-04-28 12:42:41,729 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 5.142857142857143) internal successors, (72), 13 states have internal predecessors, (72), 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 103 [2022-04-28 12:42:41,730 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:42:41,730 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 5.142857142857143) internal successors, (72), 13 states have internal predecessors, (72), 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:41,731 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 214 transitions. [2022-04-28 12:42:41,731 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 5.142857142857143) internal successors, (72), 13 states have internal predecessors, (72), 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:41,732 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 214 transitions. [2022-04-28 12:42:41,733 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 21 states and 214 transitions. [2022-04-28 12:42:41,889 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 214 edges. 214 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:42:41,897 INFO L225 Difference]: With dead ends: 435 [2022-04-28 12:42:41,897 INFO L226 Difference]: Without dead ends: 424 [2022-04-28 12:42:41,897 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 212 GetRequests, 182 SyntacticMatches, 1 SemanticMatches, 29 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 59 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=379, Invalid=551, Unknown=0, NotChecked=0, Total=930 [2022-04-28 12:42:41,898 INFO L413 NwaCegarLoop]: 60 mSDtfsCounter, 124 mSDsluCounter, 206 mSDsCounter, 0 mSdLazyCounter, 136 mSolverCounterSat, 93 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 124 SdHoareTripleChecker+Valid, 266 SdHoareTripleChecker+Invalid, 229 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 93 IncrementalHoareTripleChecker+Valid, 136 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 12:42:41,898 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [124 Valid, 266 Invalid, 229 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [93 Valid, 136 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 12:42:41,898 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 424 states. [2022-04-28 12:42:42,470 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 424 to 405. [2022-04-28 12:42:42,470 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:42:42,471 INFO L82 GeneralOperation]: Start isEquivalent. First operand 424 states. Second operand has 405 states, 302 states have (on average 1.1920529801324504) internal successors, (360), 309 states have internal predecessors, (360), 82 states have call successors, (82), 22 states have call predecessors, (82), 20 states have return successors, (80), 73 states have call predecessors, (80), 80 states have call successors, (80) [2022-04-28 12:42:42,471 INFO L74 IsIncluded]: Start isIncluded. First operand 424 states. Second operand has 405 states, 302 states have (on average 1.1920529801324504) internal successors, (360), 309 states have internal predecessors, (360), 82 states have call successors, (82), 22 states have call predecessors, (82), 20 states have return successors, (80), 73 states have call predecessors, (80), 80 states have call successors, (80) [2022-04-28 12:42:42,471 INFO L87 Difference]: Start difference. First operand 424 states. Second operand has 405 states, 302 states have (on average 1.1920529801324504) internal successors, (360), 309 states have internal predecessors, (360), 82 states have call successors, (82), 22 states have call predecessors, (82), 20 states have return successors, (80), 73 states have call predecessors, (80), 80 states have call successors, (80) [2022-04-28 12:42:42,479 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:42:42,479 INFO L93 Difference]: Finished difference Result 424 states and 544 transitions. [2022-04-28 12:42:42,479 INFO L276 IsEmpty]: Start isEmpty. Operand 424 states and 544 transitions. [2022-04-28 12:42:42,480 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:42:42,480 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:42:42,480 INFO L74 IsIncluded]: Start isIncluded. First operand has 405 states, 302 states have (on average 1.1920529801324504) internal successors, (360), 309 states have internal predecessors, (360), 82 states have call successors, (82), 22 states have call predecessors, (82), 20 states have return successors, (80), 73 states have call predecessors, (80), 80 states have call successors, (80) Second operand 424 states. [2022-04-28 12:42:42,480 INFO L87 Difference]: Start difference. First operand has 405 states, 302 states have (on average 1.1920529801324504) internal successors, (360), 309 states have internal predecessors, (360), 82 states have call successors, (82), 22 states have call predecessors, (82), 20 states have return successors, (80), 73 states have call predecessors, (80), 80 states have call successors, (80) Second operand 424 states. [2022-04-28 12:42:42,502 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:42:42,502 INFO L93 Difference]: Finished difference Result 424 states and 544 transitions. [2022-04-28 12:42:42,502 INFO L276 IsEmpty]: Start isEmpty. Operand 424 states and 544 transitions. [2022-04-28 12:42:42,503 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:42:42,503 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:42:42,503 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:42:42,503 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:42:42,503 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 405 states, 302 states have (on average 1.1920529801324504) internal successors, (360), 309 states have internal predecessors, (360), 82 states have call successors, (82), 22 states have call predecessors, (82), 20 states have return successors, (80), 73 states have call predecessors, (80), 80 states have call successors, (80) [2022-04-28 12:42:42,512 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 405 states to 405 states and 522 transitions. [2022-04-28 12:42:42,512 INFO L78 Accepts]: Start accepts. Automaton has 405 states and 522 transitions. Word has length 103 [2022-04-28 12:42:42,512 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:42:42,512 INFO L495 AbstractCegarLoop]: Abstraction has 405 states and 522 transitions. [2022-04-28 12:42:42,513 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 5.142857142857143) internal successors, (72), 13 states have internal predecessors, (72), 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:42,513 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 405 states and 522 transitions. [2022-04-28 12:42:58,668 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 522 edges. 520 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-28 12:42:58,668 INFO L276 IsEmpty]: Start isEmpty. Operand 405 states and 522 transitions. [2022-04-28 12:42:58,669 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 106 [2022-04-28 12:42:58,669 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:42:58,669 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 5, 4, 4, 4, 4, 4, 4, 4, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:42:58,689 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (32)] Ended with exit code 0 [2022-04-28 12:42:58,879 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable30,32 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:42:58,879 INFO L420 AbstractCegarLoop]: === Iteration 32 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:42:58,880 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:42:58,880 INFO L85 PathProgramCache]: Analyzing trace with hash 1733340336, now seen corresponding path program 9 times [2022-04-28 12:42:58,880 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:42:58,880 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [968884787] [2022-04-28 12:42:58,880 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:42:58,880 INFO L85 PathProgramCache]: Analyzing trace with hash 1733340336, now seen corresponding path program 10 times [2022-04-28 12:42:58,880 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:42:58,880 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2129388464] [2022-04-28 12:42:58,881 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:42:58,881 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:42:58,895 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:42:58,895 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1347073283] [2022-04-28 12:42:58,895 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:42:58,895 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:42:58,895 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:42:58,896 INFO L229 MonitoredProcess]: Starting monitored process 33 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:42:58,897 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (33)] Waiting until timeout for monitored process [2022-04-28 12:42:58,959 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:42:58,959 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:42:58,960 INFO L263 TraceCheckSpWp]: Trace formula consists of 223 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 12:42:58,974 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:42:58,975 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:42:59,750 INFO L272 TraceCheckUtils]: 0: Hoare triple {51241#true} call ULTIMATE.init(); {51241#true} is VALID [2022-04-28 12:42:59,750 INFO L290 TraceCheckUtils]: 1: Hoare triple {51241#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; {51241#true} is VALID [2022-04-28 12:42:59,750 INFO L290 TraceCheckUtils]: 2: Hoare triple {51241#true} assume true; {51241#true} is VALID [2022-04-28 12:42:59,750 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {51241#true} {51241#true} #102#return; {51241#true} is VALID [2022-04-28 12:42:59,750 INFO L272 TraceCheckUtils]: 4: Hoare triple {51241#true} call #t~ret9 := main(); {51241#true} is VALID [2022-04-28 12:42:59,750 INFO L290 TraceCheckUtils]: 5: Hoare triple {51241#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; {51241#true} is VALID [2022-04-28 12:42:59,750 INFO L272 TraceCheckUtils]: 6: Hoare triple {51241#true} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {51241#true} is VALID [2022-04-28 12:42:59,750 INFO L290 TraceCheckUtils]: 7: Hoare triple {51241#true} ~cond := #in~cond; {51241#true} is VALID [2022-04-28 12:42:59,750 INFO L290 TraceCheckUtils]: 8: Hoare triple {51241#true} assume !(0 == ~cond); {51241#true} is VALID [2022-04-28 12:42:59,750 INFO L290 TraceCheckUtils]: 9: Hoare triple {51241#true} assume true; {51241#true} is VALID [2022-04-28 12:42:59,750 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {51241#true} {51241#true} #90#return; {51241#true} is VALID [2022-04-28 12:42:59,750 INFO L272 TraceCheckUtils]: 11: Hoare triple {51241#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)); {51241#true} is VALID [2022-04-28 12:42:59,751 INFO L290 TraceCheckUtils]: 12: Hoare triple {51241#true} ~cond := #in~cond; {51241#true} is VALID [2022-04-28 12:42:59,751 INFO L290 TraceCheckUtils]: 13: Hoare triple {51241#true} assume !(0 == ~cond); {51241#true} is VALID [2022-04-28 12:42:59,751 INFO L290 TraceCheckUtils]: 14: Hoare triple {51241#true} assume true; {51241#true} is VALID [2022-04-28 12:42:59,751 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {51241#true} {51241#true} #92#return; {51241#true} is VALID [2022-04-28 12:42:59,751 INFO L290 TraceCheckUtils]: 16: Hoare triple {51241#true} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {51241#true} is VALID [2022-04-28 12:42:59,751 INFO L290 TraceCheckUtils]: 17: Hoare triple {51241#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {51241#true} is VALID [2022-04-28 12:42:59,751 INFO L290 TraceCheckUtils]: 18: Hoare triple {51241#true} assume !!(#t~post6 < 20);havoc #t~post6; {51241#true} is VALID [2022-04-28 12:42:59,751 INFO L272 TraceCheckUtils]: 19: Hoare triple {51241#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)); {51241#true} is VALID [2022-04-28 12:42:59,751 INFO L290 TraceCheckUtils]: 20: Hoare triple {51241#true} ~cond := #in~cond; {51241#true} is VALID [2022-04-28 12:42:59,751 INFO L290 TraceCheckUtils]: 21: Hoare triple {51241#true} assume !(0 == ~cond); {51241#true} is VALID [2022-04-28 12:42:59,751 INFO L290 TraceCheckUtils]: 22: Hoare triple {51241#true} assume true; {51241#true} is VALID [2022-04-28 12:42:59,751 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {51241#true} {51241#true} #94#return; {51241#true} is VALID [2022-04-28 12:42:59,752 INFO L290 TraceCheckUtils]: 24: Hoare triple {51241#true} assume !!(0 != ~r~0); {51241#true} is VALID [2022-04-28 12:42:59,752 INFO L290 TraceCheckUtils]: 25: Hoare triple {51241#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {51241#true} is VALID [2022-04-28 12:42:59,752 INFO L290 TraceCheckUtils]: 26: Hoare triple {51241#true} assume !!(#t~post7 < 20);havoc #t~post7; {51241#true} is VALID [2022-04-28 12:42:59,752 INFO L272 TraceCheckUtils]: 27: Hoare triple {51241#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)); {51241#true} is VALID [2022-04-28 12:42:59,752 INFO L290 TraceCheckUtils]: 28: Hoare triple {51241#true} ~cond := #in~cond; {51241#true} is VALID [2022-04-28 12:42:59,752 INFO L290 TraceCheckUtils]: 29: Hoare triple {51241#true} assume !(0 == ~cond); {51241#true} is VALID [2022-04-28 12:42:59,752 INFO L290 TraceCheckUtils]: 30: Hoare triple {51241#true} assume true; {51241#true} is VALID [2022-04-28 12:42:59,752 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {51241#true} {51241#true} #96#return; {51241#true} is VALID [2022-04-28 12:42:59,752 INFO L290 TraceCheckUtils]: 32: Hoare triple {51241#true} assume !(~r~0 > 0); {51241#true} is VALID [2022-04-28 12:42:59,752 INFO L290 TraceCheckUtils]: 33: Hoare triple {51241#true} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {51241#true} is VALID [2022-04-28 12:42:59,753 INFO L290 TraceCheckUtils]: 34: Hoare triple {51241#true} assume !!(#t~post8 < 20);havoc #t~post8; {51241#true} is VALID [2022-04-28 12:42:59,753 INFO L272 TraceCheckUtils]: 35: Hoare triple {51241#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)); {51241#true} is VALID [2022-04-28 12:42:59,753 INFO L290 TraceCheckUtils]: 36: Hoare triple {51241#true} ~cond := #in~cond; {51241#true} is VALID [2022-04-28 12:42:59,753 INFO L290 TraceCheckUtils]: 37: Hoare triple {51241#true} assume !(0 == ~cond); {51241#true} is VALID [2022-04-28 12:42:59,753 INFO L290 TraceCheckUtils]: 38: Hoare triple {51241#true} assume true; {51241#true} is VALID [2022-04-28 12:42:59,753 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {51241#true} {51241#true} #98#return; {51241#true} is VALID [2022-04-28 12:42:59,754 INFO L290 TraceCheckUtils]: 40: Hoare triple {51241#true} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {51366#(< (+ main_~r~0 2) main_~u~0)} is VALID [2022-04-28 12:42:59,755 INFO L290 TraceCheckUtils]: 41: Hoare triple {51366#(< (+ main_~r~0 2) main_~u~0)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {51366#(< (+ main_~r~0 2) main_~u~0)} is VALID [2022-04-28 12:42:59,755 INFO L290 TraceCheckUtils]: 42: Hoare triple {51366#(< (+ main_~r~0 2) main_~u~0)} assume !!(#t~post8 < 20);havoc #t~post8; {51366#(< (+ main_~r~0 2) main_~u~0)} is VALID [2022-04-28 12:42:59,755 INFO L272 TraceCheckUtils]: 43: Hoare triple {51366#(< (+ main_~r~0 2) main_~u~0)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {51241#true} is VALID [2022-04-28 12:42:59,755 INFO L290 TraceCheckUtils]: 44: Hoare triple {51241#true} ~cond := #in~cond; {51241#true} is VALID [2022-04-28 12:42:59,755 INFO L290 TraceCheckUtils]: 45: Hoare triple {51241#true} assume !(0 == ~cond); {51241#true} is VALID [2022-04-28 12:42:59,755 INFO L290 TraceCheckUtils]: 46: Hoare triple {51241#true} assume true; {51241#true} is VALID [2022-04-28 12:42:59,756 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {51241#true} {51366#(< (+ main_~r~0 2) main_~u~0)} #98#return; {51366#(< (+ main_~r~0 2) main_~u~0)} is VALID [2022-04-28 12:42:59,756 INFO L290 TraceCheckUtils]: 48: Hoare triple {51366#(< (+ main_~r~0 2) main_~u~0)} assume !(~r~0 < 0); {51366#(< (+ main_~r~0 2) main_~u~0)} is VALID [2022-04-28 12:42:59,756 INFO L290 TraceCheckUtils]: 49: Hoare triple {51366#(< (+ main_~r~0 2) main_~u~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {51366#(< (+ main_~r~0 2) main_~u~0)} is VALID [2022-04-28 12:42:59,757 INFO L290 TraceCheckUtils]: 50: Hoare triple {51366#(< (+ main_~r~0 2) main_~u~0)} assume !!(#t~post6 < 20);havoc #t~post6; {51366#(< (+ main_~r~0 2) main_~u~0)} is VALID [2022-04-28 12:42:59,757 INFO L272 TraceCheckUtils]: 51: Hoare triple {51366#(< (+ main_~r~0 2) main_~u~0)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {51241#true} is VALID [2022-04-28 12:42:59,757 INFO L290 TraceCheckUtils]: 52: Hoare triple {51241#true} ~cond := #in~cond; {51241#true} is VALID [2022-04-28 12:42:59,757 INFO L290 TraceCheckUtils]: 53: Hoare triple {51241#true} assume !(0 == ~cond); {51241#true} is VALID [2022-04-28 12:42:59,757 INFO L290 TraceCheckUtils]: 54: Hoare triple {51241#true} assume true; {51241#true} is VALID [2022-04-28 12:42:59,757 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {51241#true} {51366#(< (+ main_~r~0 2) main_~u~0)} #94#return; {51366#(< (+ main_~r~0 2) main_~u~0)} is VALID [2022-04-28 12:42:59,758 INFO L290 TraceCheckUtils]: 56: Hoare triple {51366#(< (+ main_~r~0 2) main_~u~0)} assume !!(0 != ~r~0); {51366#(< (+ main_~r~0 2) main_~u~0)} is VALID [2022-04-28 12:42:59,758 INFO L290 TraceCheckUtils]: 57: Hoare triple {51366#(< (+ main_~r~0 2) main_~u~0)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {51366#(< (+ main_~r~0 2) main_~u~0)} is VALID [2022-04-28 12:42:59,758 INFO L290 TraceCheckUtils]: 58: Hoare triple {51366#(< (+ main_~r~0 2) main_~u~0)} assume !!(#t~post7 < 20);havoc #t~post7; {51366#(< (+ main_~r~0 2) main_~u~0)} is VALID [2022-04-28 12:42:59,758 INFO L272 TraceCheckUtils]: 59: Hoare triple {51366#(< (+ main_~r~0 2) main_~u~0)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {51241#true} is VALID [2022-04-28 12:42:59,758 INFO L290 TraceCheckUtils]: 60: Hoare triple {51241#true} ~cond := #in~cond; {51241#true} is VALID [2022-04-28 12:42:59,758 INFO L290 TraceCheckUtils]: 61: Hoare triple {51241#true} assume !(0 == ~cond); {51241#true} is VALID [2022-04-28 12:42:59,758 INFO L290 TraceCheckUtils]: 62: Hoare triple {51241#true} assume true; {51241#true} is VALID [2022-04-28 12:42:59,759 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {51241#true} {51366#(< (+ main_~r~0 2) main_~u~0)} #96#return; {51366#(< (+ main_~r~0 2) main_~u~0)} is VALID [2022-04-28 12:42:59,760 INFO L290 TraceCheckUtils]: 64: Hoare triple {51366#(< (+ main_~r~0 2) main_~u~0)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {51439#(< (+ main_~v~0 main_~r~0) main_~u~0)} is VALID [2022-04-28 12:42:59,760 INFO L290 TraceCheckUtils]: 65: Hoare triple {51439#(< (+ main_~v~0 main_~r~0) main_~u~0)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {51439#(< (+ main_~v~0 main_~r~0) main_~u~0)} is VALID [2022-04-28 12:42:59,760 INFO L290 TraceCheckUtils]: 66: Hoare triple {51439#(< (+ main_~v~0 main_~r~0) main_~u~0)} assume !!(#t~post7 < 20);havoc #t~post7; {51439#(< (+ main_~v~0 main_~r~0) main_~u~0)} is VALID [2022-04-28 12:42:59,760 INFO L272 TraceCheckUtils]: 67: Hoare triple {51439#(< (+ main_~v~0 main_~r~0) main_~u~0)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {51241#true} is VALID [2022-04-28 12:42:59,760 INFO L290 TraceCheckUtils]: 68: Hoare triple {51241#true} ~cond := #in~cond; {51241#true} is VALID [2022-04-28 12:42:59,760 INFO L290 TraceCheckUtils]: 69: Hoare triple {51241#true} assume !(0 == ~cond); {51241#true} is VALID [2022-04-28 12:42:59,760 INFO L290 TraceCheckUtils]: 70: Hoare triple {51241#true} assume true; {51241#true} is VALID [2022-04-28 12:42:59,761 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {51241#true} {51439#(< (+ main_~v~0 main_~r~0) main_~u~0)} #96#return; {51439#(< (+ main_~v~0 main_~r~0) main_~u~0)} is VALID [2022-04-28 12:42:59,761 INFO L290 TraceCheckUtils]: 72: Hoare triple {51439#(< (+ main_~v~0 main_~r~0) main_~u~0)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {51464#(< 0 (div (+ (- 1) main_~u~0 main_~r~0) 2))} is VALID [2022-04-28 12:42:59,762 INFO L290 TraceCheckUtils]: 73: Hoare triple {51464#(< 0 (div (+ (- 1) main_~u~0 main_~r~0) 2))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {51464#(< 0 (div (+ (- 1) main_~u~0 main_~r~0) 2))} is VALID [2022-04-28 12:42:59,762 INFO L290 TraceCheckUtils]: 74: Hoare triple {51464#(< 0 (div (+ (- 1) main_~u~0 main_~r~0) 2))} assume !!(#t~post7 < 20);havoc #t~post7; {51464#(< 0 (div (+ (- 1) main_~u~0 main_~r~0) 2))} is VALID [2022-04-28 12:42:59,762 INFO L272 TraceCheckUtils]: 75: Hoare triple {51464#(< 0 (div (+ (- 1) main_~u~0 main_~r~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)); {51241#true} is VALID [2022-04-28 12:42:59,762 INFO L290 TraceCheckUtils]: 76: Hoare triple {51241#true} ~cond := #in~cond; {51241#true} is VALID [2022-04-28 12:42:59,762 INFO L290 TraceCheckUtils]: 77: Hoare triple {51241#true} assume !(0 == ~cond); {51241#true} is VALID [2022-04-28 12:42:59,762 INFO L290 TraceCheckUtils]: 78: Hoare triple {51241#true} assume true; {51241#true} is VALID [2022-04-28 12:42:59,763 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {51241#true} {51464#(< 0 (div (+ (- 1) main_~u~0 main_~r~0) 2))} #96#return; {51464#(< 0 (div (+ (- 1) main_~u~0 main_~r~0) 2))} is VALID [2022-04-28 12:42:59,763 INFO L290 TraceCheckUtils]: 80: Hoare triple {51464#(< 0 (div (+ (- 1) main_~u~0 main_~r~0) 2))} assume !(~r~0 > 0); {51464#(< 0 (div (+ (- 1) main_~u~0 main_~r~0) 2))} is VALID [2022-04-28 12:42:59,763 INFO L290 TraceCheckUtils]: 81: Hoare triple {51464#(< 0 (div (+ (- 1) main_~u~0 main_~r~0) 2))} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {51464#(< 0 (div (+ (- 1) main_~u~0 main_~r~0) 2))} is VALID [2022-04-28 12:42:59,763 INFO L290 TraceCheckUtils]: 82: Hoare triple {51464#(< 0 (div (+ (- 1) main_~u~0 main_~r~0) 2))} assume !!(#t~post8 < 20);havoc #t~post8; {51464#(< 0 (div (+ (- 1) main_~u~0 main_~r~0) 2))} is VALID [2022-04-28 12:42:59,764 INFO L272 TraceCheckUtils]: 83: Hoare triple {51464#(< 0 (div (+ (- 1) main_~u~0 main_~r~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)); {51241#true} is VALID [2022-04-28 12:42:59,764 INFO L290 TraceCheckUtils]: 84: Hoare triple {51241#true} ~cond := #in~cond; {51241#true} is VALID [2022-04-28 12:42:59,764 INFO L290 TraceCheckUtils]: 85: Hoare triple {51241#true} assume !(0 == ~cond); {51241#true} is VALID [2022-04-28 12:42:59,764 INFO L290 TraceCheckUtils]: 86: Hoare triple {51241#true} assume true; {51241#true} is VALID [2022-04-28 12:42:59,764 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {51241#true} {51464#(< 0 (div (+ (- 1) main_~u~0 main_~r~0) 2))} #98#return; {51464#(< 0 (div (+ (- 1) main_~u~0 main_~r~0) 2))} is VALID [2022-04-28 12:42:59,765 INFO L290 TraceCheckUtils]: 88: Hoare triple {51464#(< 0 (div (+ (- 1) main_~u~0 main_~r~0) 2))} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {51513#(< 0 (div (+ (- 1) main_~r~0) 2))} is VALID [2022-04-28 12:42:59,765 INFO L290 TraceCheckUtils]: 89: Hoare triple {51513#(< 0 (div (+ (- 1) main_~r~0) 2))} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {51513#(< 0 (div (+ (- 1) main_~r~0) 2))} is VALID [2022-04-28 12:42:59,765 INFO L290 TraceCheckUtils]: 90: Hoare triple {51513#(< 0 (div (+ (- 1) main_~r~0) 2))} assume !!(#t~post8 < 20);havoc #t~post8; {51513#(< 0 (div (+ (- 1) main_~r~0) 2))} is VALID [2022-04-28 12:42:59,766 INFO L272 TraceCheckUtils]: 91: Hoare triple {51513#(< 0 (div (+ (- 1) main_~r~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)); {51241#true} is VALID [2022-04-28 12:42:59,766 INFO L290 TraceCheckUtils]: 92: Hoare triple {51241#true} ~cond := #in~cond; {51241#true} is VALID [2022-04-28 12:42:59,766 INFO L290 TraceCheckUtils]: 93: Hoare triple {51241#true} assume !(0 == ~cond); {51241#true} is VALID [2022-04-28 12:42:59,766 INFO L290 TraceCheckUtils]: 94: Hoare triple {51241#true} assume true; {51241#true} is VALID [2022-04-28 12:42:59,766 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {51241#true} {51513#(< 0 (div (+ (- 1) main_~r~0) 2))} #98#return; {51513#(< 0 (div (+ (- 1) main_~r~0) 2))} is VALID [2022-04-28 12:42:59,767 INFO L290 TraceCheckUtils]: 96: Hoare triple {51513#(< 0 (div (+ (- 1) main_~r~0) 2))} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {51242#false} is VALID [2022-04-28 12:42:59,767 INFO L290 TraceCheckUtils]: 97: Hoare triple {51242#false} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {51242#false} is VALID [2022-04-28 12:42:59,767 INFO L290 TraceCheckUtils]: 98: Hoare triple {51242#false} assume !(#t~post8 < 20);havoc #t~post8; {51242#false} is VALID [2022-04-28 12:42:59,767 INFO L290 TraceCheckUtils]: 99: Hoare triple {51242#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {51242#false} is VALID [2022-04-28 12:42:59,767 INFO L290 TraceCheckUtils]: 100: Hoare triple {51242#false} assume !(#t~post6 < 20);havoc #t~post6; {51242#false} is VALID [2022-04-28 12:42:59,767 INFO L272 TraceCheckUtils]: 101: Hoare triple {51242#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)); {51242#false} is VALID [2022-04-28 12:42:59,767 INFO L290 TraceCheckUtils]: 102: Hoare triple {51242#false} ~cond := #in~cond; {51242#false} is VALID [2022-04-28 12:42:59,767 INFO L290 TraceCheckUtils]: 103: Hoare triple {51242#false} assume 0 == ~cond; {51242#false} is VALID [2022-04-28 12:42:59,768 INFO L290 TraceCheckUtils]: 104: Hoare triple {51242#false} assume !false; {51242#false} is VALID [2022-04-28 12:42:59,768 INFO L134 CoverageAnalysis]: Checked inductivity of 268 backedges. 60 proven. 24 refuted. 0 times theorem prover too weak. 184 trivial. 0 not checked. [2022-04-28 12:42:59,768 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:43:00,150 INFO L290 TraceCheckUtils]: 104: Hoare triple {51242#false} assume !false; {51242#false} is VALID [2022-04-28 12:43:00,150 INFO L290 TraceCheckUtils]: 103: Hoare triple {51242#false} assume 0 == ~cond; {51242#false} is VALID [2022-04-28 12:43:00,150 INFO L290 TraceCheckUtils]: 102: Hoare triple {51242#false} ~cond := #in~cond; {51242#false} is VALID [2022-04-28 12:43:00,150 INFO L272 TraceCheckUtils]: 101: Hoare triple {51242#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)); {51242#false} is VALID [2022-04-28 12:43:00,150 INFO L290 TraceCheckUtils]: 100: Hoare triple {51242#false} assume !(#t~post6 < 20);havoc #t~post6; {51242#false} is VALID [2022-04-28 12:43:00,150 INFO L290 TraceCheckUtils]: 99: Hoare triple {51242#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {51242#false} is VALID [2022-04-28 12:43:00,150 INFO L290 TraceCheckUtils]: 98: Hoare triple {51242#false} assume !(#t~post8 < 20);havoc #t~post8; {51242#false} is VALID [2022-04-28 12:43:00,150 INFO L290 TraceCheckUtils]: 97: Hoare triple {51242#false} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {51242#false} is VALID [2022-04-28 12:43:00,151 INFO L290 TraceCheckUtils]: 96: Hoare triple {51586#(not (< main_~r~0 0))} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {51242#false} is VALID [2022-04-28 12:43:00,152 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {51241#true} {51586#(not (< main_~r~0 0))} #98#return; {51586#(not (< main_~r~0 0))} is VALID [2022-04-28 12:43:00,152 INFO L290 TraceCheckUtils]: 94: Hoare triple {51241#true} assume true; {51241#true} is VALID [2022-04-28 12:43:00,152 INFO L290 TraceCheckUtils]: 93: Hoare triple {51241#true} assume !(0 == ~cond); {51241#true} is VALID [2022-04-28 12:43:00,152 INFO L290 TraceCheckUtils]: 92: Hoare triple {51241#true} ~cond := #in~cond; {51241#true} is VALID [2022-04-28 12:43:00,152 INFO L272 TraceCheckUtils]: 91: Hoare triple {51586#(not (< main_~r~0 0))} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {51241#true} is VALID [2022-04-28 12:43:00,152 INFO L290 TraceCheckUtils]: 90: Hoare triple {51586#(not (< main_~r~0 0))} assume !!(#t~post8 < 20);havoc #t~post8; {51586#(not (< main_~r~0 0))} is VALID [2022-04-28 12:43:00,152 INFO L290 TraceCheckUtils]: 89: Hoare triple {51586#(not (< main_~r~0 0))} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {51586#(not (< main_~r~0 0))} is VALID [2022-04-28 12:43:00,153 INFO L290 TraceCheckUtils]: 88: Hoare triple {51611#(<= 0 (+ main_~u~0 main_~r~0))} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {51586#(not (< main_~r~0 0))} is VALID [2022-04-28 12:43:00,153 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {51241#true} {51611#(<= 0 (+ main_~u~0 main_~r~0))} #98#return; {51611#(<= 0 (+ main_~u~0 main_~r~0))} is VALID [2022-04-28 12:43:00,154 INFO L290 TraceCheckUtils]: 86: Hoare triple {51241#true} assume true; {51241#true} is VALID [2022-04-28 12:43:00,154 INFO L290 TraceCheckUtils]: 85: Hoare triple {51241#true} assume !(0 == ~cond); {51241#true} is VALID [2022-04-28 12:43:00,154 INFO L290 TraceCheckUtils]: 84: Hoare triple {51241#true} ~cond := #in~cond; {51241#true} is VALID [2022-04-28 12:43:00,154 INFO L272 TraceCheckUtils]: 83: Hoare triple {51611#(<= 0 (+ main_~u~0 main_~r~0))} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {51241#true} is VALID [2022-04-28 12:43:00,154 INFO L290 TraceCheckUtils]: 82: Hoare triple {51611#(<= 0 (+ main_~u~0 main_~r~0))} assume !!(#t~post8 < 20);havoc #t~post8; {51611#(<= 0 (+ main_~u~0 main_~r~0))} is VALID [2022-04-28 12:43:00,154 INFO L290 TraceCheckUtils]: 81: Hoare triple {51611#(<= 0 (+ main_~u~0 main_~r~0))} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {51611#(<= 0 (+ main_~u~0 main_~r~0))} is VALID [2022-04-28 12:43:00,155 INFO L290 TraceCheckUtils]: 80: Hoare triple {51611#(<= 0 (+ main_~u~0 main_~r~0))} assume !(~r~0 > 0); {51611#(<= 0 (+ main_~u~0 main_~r~0))} is VALID [2022-04-28 12:43:00,155 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {51241#true} {51611#(<= 0 (+ main_~u~0 main_~r~0))} #96#return; {51611#(<= 0 (+ main_~u~0 main_~r~0))} is VALID [2022-04-28 12:43:00,155 INFO L290 TraceCheckUtils]: 78: Hoare triple {51241#true} assume true; {51241#true} is VALID [2022-04-28 12:43:00,155 INFO L290 TraceCheckUtils]: 77: Hoare triple {51241#true} assume !(0 == ~cond); {51241#true} is VALID [2022-04-28 12:43:00,155 INFO L290 TraceCheckUtils]: 76: Hoare triple {51241#true} ~cond := #in~cond; {51241#true} is VALID [2022-04-28 12:43:00,155 INFO L272 TraceCheckUtils]: 75: Hoare triple {51611#(<= 0 (+ main_~u~0 main_~r~0))} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {51241#true} is VALID [2022-04-28 12:43:00,156 INFO L290 TraceCheckUtils]: 74: Hoare triple {51611#(<= 0 (+ main_~u~0 main_~r~0))} assume !!(#t~post7 < 20);havoc #t~post7; {51611#(<= 0 (+ main_~u~0 main_~r~0))} is VALID [2022-04-28 12:43:00,156 INFO L290 TraceCheckUtils]: 73: Hoare triple {51611#(<= 0 (+ main_~u~0 main_~r~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {51611#(<= 0 (+ main_~u~0 main_~r~0))} is VALID [2022-04-28 12:43:00,157 INFO L290 TraceCheckUtils]: 72: Hoare triple {51660#(or (<= main_~v~0 (+ main_~u~0 main_~r~0)) (not (< 0 main_~r~0)))} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {51611#(<= 0 (+ main_~u~0 main_~r~0))} is VALID [2022-04-28 12:43:00,157 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {51241#true} {51660#(or (<= main_~v~0 (+ main_~u~0 main_~r~0)) (not (< 0 main_~r~0)))} #96#return; {51660#(or (<= main_~v~0 (+ main_~u~0 main_~r~0)) (not (< 0 main_~r~0)))} is VALID [2022-04-28 12:43:00,157 INFO L290 TraceCheckUtils]: 70: Hoare triple {51241#true} assume true; {51241#true} is VALID [2022-04-28 12:43:00,157 INFO L290 TraceCheckUtils]: 69: Hoare triple {51241#true} assume !(0 == ~cond); {51241#true} is VALID [2022-04-28 12:43:00,157 INFO L290 TraceCheckUtils]: 68: Hoare triple {51241#true} ~cond := #in~cond; {51241#true} is VALID [2022-04-28 12:43:00,157 INFO L272 TraceCheckUtils]: 67: Hoare triple {51660#(or (<= main_~v~0 (+ main_~u~0 main_~r~0)) (not (< 0 main_~r~0)))} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {51241#true} is VALID [2022-04-28 12:43:00,158 INFO L290 TraceCheckUtils]: 66: Hoare triple {51660#(or (<= main_~v~0 (+ main_~u~0 main_~r~0)) (not (< 0 main_~r~0)))} assume !!(#t~post7 < 20);havoc #t~post7; {51660#(or (<= main_~v~0 (+ main_~u~0 main_~r~0)) (not (< 0 main_~r~0)))} is VALID [2022-04-28 12:43:00,158 INFO L290 TraceCheckUtils]: 65: Hoare triple {51660#(or (<= main_~v~0 (+ main_~u~0 main_~r~0)) (not (< 0 main_~r~0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {51660#(or (<= main_~v~0 (+ main_~u~0 main_~r~0)) (not (< 0 main_~r~0)))} is VALID [2022-04-28 12:43:00,159 INFO L290 TraceCheckUtils]: 64: Hoare triple {51685#(<= main_~r~0 main_~u~0)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {51660#(or (<= main_~v~0 (+ main_~u~0 main_~r~0)) (not (< 0 main_~r~0)))} is VALID [2022-04-28 12:43:00,160 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {51241#true} {51685#(<= main_~r~0 main_~u~0)} #96#return; {51685#(<= main_~r~0 main_~u~0)} is VALID [2022-04-28 12:43:00,160 INFO L290 TraceCheckUtils]: 62: Hoare triple {51241#true} assume true; {51241#true} is VALID [2022-04-28 12:43:00,160 INFO L290 TraceCheckUtils]: 61: Hoare triple {51241#true} assume !(0 == ~cond); {51241#true} is VALID [2022-04-28 12:43:00,160 INFO L290 TraceCheckUtils]: 60: Hoare triple {51241#true} ~cond := #in~cond; {51241#true} is VALID [2022-04-28 12:43:00,160 INFO L272 TraceCheckUtils]: 59: Hoare triple {51685#(<= main_~r~0 main_~u~0)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {51241#true} is VALID [2022-04-28 12:43:00,160 INFO L290 TraceCheckUtils]: 58: Hoare triple {51685#(<= main_~r~0 main_~u~0)} assume !!(#t~post7 < 20);havoc #t~post7; {51685#(<= main_~r~0 main_~u~0)} is VALID [2022-04-28 12:43:00,160 INFO L290 TraceCheckUtils]: 57: Hoare triple {51685#(<= main_~r~0 main_~u~0)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {51685#(<= main_~r~0 main_~u~0)} is VALID [2022-04-28 12:43:00,161 INFO L290 TraceCheckUtils]: 56: Hoare triple {51685#(<= main_~r~0 main_~u~0)} assume !!(0 != ~r~0); {51685#(<= main_~r~0 main_~u~0)} is VALID [2022-04-28 12:43:00,161 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {51241#true} {51685#(<= main_~r~0 main_~u~0)} #94#return; {51685#(<= main_~r~0 main_~u~0)} is VALID [2022-04-28 12:43:00,161 INFO L290 TraceCheckUtils]: 54: Hoare triple {51241#true} assume true; {51241#true} is VALID [2022-04-28 12:43:00,161 INFO L290 TraceCheckUtils]: 53: Hoare triple {51241#true} assume !(0 == ~cond); {51241#true} is VALID [2022-04-28 12:43:00,161 INFO L290 TraceCheckUtils]: 52: Hoare triple {51241#true} ~cond := #in~cond; {51241#true} is VALID [2022-04-28 12:43:00,162 INFO L272 TraceCheckUtils]: 51: Hoare triple {51685#(<= main_~r~0 main_~u~0)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {51241#true} is VALID [2022-04-28 12:43:00,162 INFO L290 TraceCheckUtils]: 50: Hoare triple {51685#(<= main_~r~0 main_~u~0)} assume !!(#t~post6 < 20);havoc #t~post6; {51685#(<= main_~r~0 main_~u~0)} is VALID [2022-04-28 12:43:00,162 INFO L290 TraceCheckUtils]: 49: Hoare triple {51685#(<= main_~r~0 main_~u~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {51685#(<= main_~r~0 main_~u~0)} is VALID [2022-04-28 12:43:00,162 INFO L290 TraceCheckUtils]: 48: Hoare triple {51685#(<= main_~r~0 main_~u~0)} assume !(~r~0 < 0); {51685#(<= main_~r~0 main_~u~0)} is VALID [2022-04-28 12:43:00,163 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {51241#true} {51685#(<= main_~r~0 main_~u~0)} #98#return; {51685#(<= main_~r~0 main_~u~0)} is VALID [2022-04-28 12:43:00,163 INFO L290 TraceCheckUtils]: 46: Hoare triple {51241#true} assume true; {51241#true} is VALID [2022-04-28 12:43:00,163 INFO L290 TraceCheckUtils]: 45: Hoare triple {51241#true} assume !(0 == ~cond); {51241#true} is VALID [2022-04-28 12:43:00,163 INFO L290 TraceCheckUtils]: 44: Hoare triple {51241#true} ~cond := #in~cond; {51241#true} is VALID [2022-04-28 12:43:00,163 INFO L272 TraceCheckUtils]: 43: Hoare triple {51685#(<= main_~r~0 main_~u~0)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {51241#true} is VALID [2022-04-28 12:43:00,163 INFO L290 TraceCheckUtils]: 42: Hoare triple {51685#(<= main_~r~0 main_~u~0)} assume !!(#t~post8 < 20);havoc #t~post8; {51685#(<= main_~r~0 main_~u~0)} is VALID [2022-04-28 12:43:00,164 INFO L290 TraceCheckUtils]: 41: Hoare triple {51685#(<= main_~r~0 main_~u~0)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {51685#(<= main_~r~0 main_~u~0)} is VALID [2022-04-28 12:43:00,165 INFO L290 TraceCheckUtils]: 40: Hoare triple {51241#true} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {51685#(<= main_~r~0 main_~u~0)} is VALID [2022-04-28 12:43:00,165 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {51241#true} {51241#true} #98#return; {51241#true} is VALID [2022-04-28 12:43:00,165 INFO L290 TraceCheckUtils]: 38: Hoare triple {51241#true} assume true; {51241#true} is VALID [2022-04-28 12:43:00,165 INFO L290 TraceCheckUtils]: 37: Hoare triple {51241#true} assume !(0 == ~cond); {51241#true} is VALID [2022-04-28 12:43:00,165 INFO L290 TraceCheckUtils]: 36: Hoare triple {51241#true} ~cond := #in~cond; {51241#true} is VALID [2022-04-28 12:43:00,165 INFO L272 TraceCheckUtils]: 35: Hoare triple {51241#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)); {51241#true} is VALID [2022-04-28 12:43:00,165 INFO L290 TraceCheckUtils]: 34: Hoare triple {51241#true} assume !!(#t~post8 < 20);havoc #t~post8; {51241#true} is VALID [2022-04-28 12:43:00,165 INFO L290 TraceCheckUtils]: 33: Hoare triple {51241#true} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {51241#true} is VALID [2022-04-28 12:43:00,165 INFO L290 TraceCheckUtils]: 32: Hoare triple {51241#true} assume !(~r~0 > 0); {51241#true} is VALID [2022-04-28 12:43:00,165 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {51241#true} {51241#true} #96#return; {51241#true} is VALID [2022-04-28 12:43:00,165 INFO L290 TraceCheckUtils]: 30: Hoare triple {51241#true} assume true; {51241#true} is VALID [2022-04-28 12:43:00,165 INFO L290 TraceCheckUtils]: 29: Hoare triple {51241#true} assume !(0 == ~cond); {51241#true} is VALID [2022-04-28 12:43:00,166 INFO L290 TraceCheckUtils]: 28: Hoare triple {51241#true} ~cond := #in~cond; {51241#true} is VALID [2022-04-28 12:43:00,166 INFO L272 TraceCheckUtils]: 27: Hoare triple {51241#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)); {51241#true} is VALID [2022-04-28 12:43:00,166 INFO L290 TraceCheckUtils]: 26: Hoare triple {51241#true} assume !!(#t~post7 < 20);havoc #t~post7; {51241#true} is VALID [2022-04-28 12:43:00,166 INFO L290 TraceCheckUtils]: 25: Hoare triple {51241#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {51241#true} is VALID [2022-04-28 12:43:00,166 INFO L290 TraceCheckUtils]: 24: Hoare triple {51241#true} assume !!(0 != ~r~0); {51241#true} is VALID [2022-04-28 12:43:00,166 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {51241#true} {51241#true} #94#return; {51241#true} is VALID [2022-04-28 12:43:00,166 INFO L290 TraceCheckUtils]: 22: Hoare triple {51241#true} assume true; {51241#true} is VALID [2022-04-28 12:43:00,166 INFO L290 TraceCheckUtils]: 21: Hoare triple {51241#true} assume !(0 == ~cond); {51241#true} is VALID [2022-04-28 12:43:00,166 INFO L290 TraceCheckUtils]: 20: Hoare triple {51241#true} ~cond := #in~cond; {51241#true} is VALID [2022-04-28 12:43:00,166 INFO L272 TraceCheckUtils]: 19: Hoare triple {51241#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)); {51241#true} is VALID [2022-04-28 12:43:00,166 INFO L290 TraceCheckUtils]: 18: Hoare triple {51241#true} assume !!(#t~post6 < 20);havoc #t~post6; {51241#true} is VALID [2022-04-28 12:43:00,166 INFO L290 TraceCheckUtils]: 17: Hoare triple {51241#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {51241#true} is VALID [2022-04-28 12:43:00,166 INFO L290 TraceCheckUtils]: 16: Hoare triple {51241#true} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {51241#true} is VALID [2022-04-28 12:43:00,166 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {51241#true} {51241#true} #92#return; {51241#true} is VALID [2022-04-28 12:43:00,166 INFO L290 TraceCheckUtils]: 14: Hoare triple {51241#true} assume true; {51241#true} is VALID [2022-04-28 12:43:00,166 INFO L290 TraceCheckUtils]: 13: Hoare triple {51241#true} assume !(0 == ~cond); {51241#true} is VALID [2022-04-28 12:43:00,167 INFO L290 TraceCheckUtils]: 12: Hoare triple {51241#true} ~cond := #in~cond; {51241#true} is VALID [2022-04-28 12:43:00,167 INFO L272 TraceCheckUtils]: 11: Hoare triple {51241#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)); {51241#true} is VALID [2022-04-28 12:43:00,167 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {51241#true} {51241#true} #90#return; {51241#true} is VALID [2022-04-28 12:43:00,167 INFO L290 TraceCheckUtils]: 9: Hoare triple {51241#true} assume true; {51241#true} is VALID [2022-04-28 12:43:00,167 INFO L290 TraceCheckUtils]: 8: Hoare triple {51241#true} assume !(0 == ~cond); {51241#true} is VALID [2022-04-28 12:43:00,167 INFO L290 TraceCheckUtils]: 7: Hoare triple {51241#true} ~cond := #in~cond; {51241#true} is VALID [2022-04-28 12:43:00,167 INFO L272 TraceCheckUtils]: 6: Hoare triple {51241#true} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {51241#true} is VALID [2022-04-28 12:43:00,167 INFO L290 TraceCheckUtils]: 5: Hoare triple {51241#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; {51241#true} is VALID [2022-04-28 12:43:00,167 INFO L272 TraceCheckUtils]: 4: Hoare triple {51241#true} call #t~ret9 := main(); {51241#true} is VALID [2022-04-28 12:43:00,167 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {51241#true} {51241#true} #102#return; {51241#true} is VALID [2022-04-28 12:43:00,167 INFO L290 TraceCheckUtils]: 2: Hoare triple {51241#true} assume true; {51241#true} is VALID [2022-04-28 12:43:00,167 INFO L290 TraceCheckUtils]: 1: Hoare triple {51241#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; {51241#true} is VALID [2022-04-28 12:43:00,167 INFO L272 TraceCheckUtils]: 0: Hoare triple {51241#true} call ULTIMATE.init(); {51241#true} is VALID [2022-04-28 12:43:00,168 INFO L134 CoverageAnalysis]: Checked inductivity of 268 backedges. 60 proven. 24 refuted. 0 times theorem prover too weak. 184 trivial. 0 not checked. [2022-04-28 12:43:00,168 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:43:00,168 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2129388464] [2022-04-28 12:43:00,168 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:43:00,168 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1347073283] [2022-04-28 12:43:00,168 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1347073283] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:43:00,168 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:43:00,168 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 10 [2022-04-28 12:43:00,168 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:43:00,168 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [968884787] [2022-04-28 12:43:00,169 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [968884787] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:43:00,169 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:43:00,169 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 12:43:00,169 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1975384028] [2022-04-28 12:43:00,169 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:43:00,170 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 7.833333333333333) internal successors, (47), 6 states have internal predecessors, (47), 6 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) Word has length 105 [2022-04-28 12:43:00,171 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:43:00,171 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 7.833333333333333) internal successors, (47), 6 states have internal predecessors, (47), 6 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 12:43:00,231 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:43:00,231 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 12:43:00,231 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:43:00,231 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 12:43:00,231 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2022-04-28 12:43:00,231 INFO L87 Difference]: Start difference. First operand 405 states and 522 transitions. Second operand has 6 states, 6 states have (on average 7.833333333333333) internal successors, (47), 6 states have internal predecessors, (47), 6 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 12:43:01,950 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:43:01,950 INFO L93 Difference]: Finished difference Result 677 states and 928 transitions. [2022-04-28 12:43:01,951 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-28 12:43:01,951 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 7.833333333333333) internal successors, (47), 6 states have internal predecessors, (47), 6 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) Word has length 105 [2022-04-28 12:43:01,951 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:43:01,951 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 7.833333333333333) internal successors, (47), 6 states have internal predecessors, (47), 6 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 12:43:01,952 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 171 transitions. [2022-04-28 12:43:01,952 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 7.833333333333333) internal successors, (47), 6 states have internal predecessors, (47), 6 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 12:43:01,953 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 171 transitions. [2022-04-28 12:43:01,953 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 171 transitions. [2022-04-28 12:43:02,093 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 171 edges. 171 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:43:02,109 INFO L225 Difference]: With dead ends: 677 [2022-04-28 12:43:02,109 INFO L226 Difference]: Without dead ends: 616 [2022-04-28 12:43:02,110 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 213 GetRequests, 203 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=36, Invalid=96, Unknown=0, NotChecked=0, Total=132 [2022-04-28 12:43:02,110 INFO L413 NwaCegarLoop]: 95 mSDtfsCounter, 37 mSDsluCounter, 184 mSDsCounter, 0 mSdLazyCounter, 183 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 40 SdHoareTripleChecker+Valid, 279 SdHoareTripleChecker+Invalid, 192 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 183 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 12:43:02,110 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [40 Valid, 279 Invalid, 192 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 183 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 12:43:02,111 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 616 states. [2022-04-28 12:43:03,109 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 616 to 532. [2022-04-28 12:43:03,109 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:43:03,110 INFO L82 GeneralOperation]: Start isEquivalent. First operand 616 states. Second operand has 532 states, 397 states have (on average 1.234256926952141) internal successors, (490), 407 states have internal predecessors, (490), 114 states have call successors, (114), 22 states have call predecessors, (114), 20 states have return successors, (112), 102 states have call predecessors, (112), 112 states have call successors, (112) [2022-04-28 12:43:03,110 INFO L74 IsIncluded]: Start isIncluded. First operand 616 states. Second operand has 532 states, 397 states have (on average 1.234256926952141) internal successors, (490), 407 states have internal predecessors, (490), 114 states have call successors, (114), 22 states have call predecessors, (114), 20 states have return successors, (112), 102 states have call predecessors, (112), 112 states have call successors, (112) [2022-04-28 12:43:03,111 INFO L87 Difference]: Start difference. First operand 616 states. Second operand has 532 states, 397 states have (on average 1.234256926952141) internal successors, (490), 407 states have internal predecessors, (490), 114 states have call successors, (114), 22 states have call predecessors, (114), 20 states have return successors, (112), 102 states have call predecessors, (112), 112 states have call successors, (112) [2022-04-28 12:43:03,130 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:43:03,130 INFO L93 Difference]: Finished difference Result 616 states and 837 transitions. [2022-04-28 12:43:03,130 INFO L276 IsEmpty]: Start isEmpty. Operand 616 states and 837 transitions. [2022-04-28 12:43:03,132 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:43:03,132 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:43:03,132 INFO L74 IsIncluded]: Start isIncluded. First operand has 532 states, 397 states have (on average 1.234256926952141) internal successors, (490), 407 states have internal predecessors, (490), 114 states have call successors, (114), 22 states have call predecessors, (114), 20 states have return successors, (112), 102 states have call predecessors, (112), 112 states have call successors, (112) Second operand 616 states. [2022-04-28 12:43:03,133 INFO L87 Difference]: Start difference. First operand has 532 states, 397 states have (on average 1.234256926952141) internal successors, (490), 407 states have internal predecessors, (490), 114 states have call successors, (114), 22 states have call predecessors, (114), 20 states have return successors, (112), 102 states have call predecessors, (112), 112 states have call successors, (112) Second operand 616 states. [2022-04-28 12:43:03,152 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:43:03,153 INFO L93 Difference]: Finished difference Result 616 states and 837 transitions. [2022-04-28 12:43:03,153 INFO L276 IsEmpty]: Start isEmpty. Operand 616 states and 837 transitions. [2022-04-28 12:43:03,154 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:43:03,154 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:43:03,154 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:43:03,154 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:43:03,155 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 532 states, 397 states have (on average 1.234256926952141) internal successors, (490), 407 states have internal predecessors, (490), 114 states have call successors, (114), 22 states have call predecessors, (114), 20 states have return successors, (112), 102 states have call predecessors, (112), 112 states have call successors, (112) [2022-04-28 12:43:03,173 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 532 states to 532 states and 716 transitions. [2022-04-28 12:43:03,174 INFO L78 Accepts]: Start accepts. Automaton has 532 states and 716 transitions. Word has length 105 [2022-04-28 12:43:03,174 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:43:03,174 INFO L495 AbstractCegarLoop]: Abstraction has 532 states and 716 transitions. [2022-04-28 12:43:03,174 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 7.833333333333333) internal successors, (47), 6 states have internal predecessors, (47), 6 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 12:43:03,174 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 532 states and 716 transitions. [2022-04-28 12:43:19,139 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 716 edges. 712 inductive. 0 not inductive. 4 times theorem prover too weak to decide inductivity. [2022-04-28 12:43:19,140 INFO L276 IsEmpty]: Start isEmpty. Operand 532 states and 716 transitions. [2022-04-28 12:43:19,141 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 106 [2022-04-28 12:43:19,141 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:43:19,141 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 5, 5, 5, 5, 4, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:43:19,157 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (33)] Forceful destruction successful, exit code 0 [2022-04-28 12:43:19,341 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable31,33 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:43:19,341 INFO L420 AbstractCegarLoop]: === Iteration 33 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:43:19,342 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:43:19,342 INFO L85 PathProgramCache]: Analyzing trace with hash -1666981150, now seen corresponding path program 11 times [2022-04-28 12:43:19,342 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:43:19,342 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [498746094] [2022-04-28 12:43:19,342 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:43:19,342 INFO L85 PathProgramCache]: Analyzing trace with hash -1666981150, now seen corresponding path program 12 times [2022-04-28 12:43:19,342 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:43:19,342 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1144989827] [2022-04-28 12:43:19,343 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:43:19,343 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:43:19,354 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:43:19,354 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [846144060] [2022-04-28 12:43:19,354 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 12:43:19,354 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:43:19,354 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:43:19,355 INFO L229 MonitoredProcess]: Starting monitored process 34 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:43:19,356 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (34)] Waiting until timeout for monitored process [2022-04-28 12:43:19,469 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2022-04-28 12:43:19,469 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:43:19,470 INFO L263 TraceCheckSpWp]: Trace formula consists of 268 conjuncts, 25 conjunts are in the unsatisfiable core [2022-04-28 12:43:19,495 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:43:19,499 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:43:19,962 INFO L272 TraceCheckUtils]: 0: Hoare triple {55536#true} call ULTIMATE.init(); {55536#true} is VALID [2022-04-28 12:43:19,963 INFO L290 TraceCheckUtils]: 1: Hoare triple {55536#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; {55544#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:19,963 INFO L290 TraceCheckUtils]: 2: Hoare triple {55544#(<= ~counter~0 0)} assume true; {55544#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:19,964 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {55544#(<= ~counter~0 0)} {55536#true} #102#return; {55544#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:19,964 INFO L272 TraceCheckUtils]: 4: Hoare triple {55544#(<= ~counter~0 0)} call #t~ret9 := main(); {55544#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:19,964 INFO L290 TraceCheckUtils]: 5: Hoare triple {55544#(<= ~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; {55544#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:19,964 INFO L272 TraceCheckUtils]: 6: Hoare triple {55544#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {55544#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:19,965 INFO L290 TraceCheckUtils]: 7: Hoare triple {55544#(<= ~counter~0 0)} ~cond := #in~cond; {55544#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:19,965 INFO L290 TraceCheckUtils]: 8: Hoare triple {55544#(<= ~counter~0 0)} assume !(0 == ~cond); {55544#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:19,965 INFO L290 TraceCheckUtils]: 9: Hoare triple {55544#(<= ~counter~0 0)} assume true; {55544#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:19,966 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {55544#(<= ~counter~0 0)} {55544#(<= ~counter~0 0)} #90#return; {55544#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:19,966 INFO L272 TraceCheckUtils]: 11: Hoare triple {55544#(<= ~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)); {55544#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:19,966 INFO L290 TraceCheckUtils]: 12: Hoare triple {55544#(<= ~counter~0 0)} ~cond := #in~cond; {55544#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:19,967 INFO L290 TraceCheckUtils]: 13: Hoare triple {55544#(<= ~counter~0 0)} assume !(0 == ~cond); {55544#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:19,967 INFO L290 TraceCheckUtils]: 14: Hoare triple {55544#(<= ~counter~0 0)} assume true; {55544#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:19,967 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {55544#(<= ~counter~0 0)} {55544#(<= ~counter~0 0)} #92#return; {55544#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:19,967 INFO L290 TraceCheckUtils]: 16: Hoare triple {55544#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {55544#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:19,969 INFO L290 TraceCheckUtils]: 17: Hoare triple {55544#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {55593#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:19,969 INFO L290 TraceCheckUtils]: 18: Hoare triple {55593#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {55593#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:19,969 INFO L272 TraceCheckUtils]: 19: Hoare triple {55593#(<= ~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)); {55593#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:19,970 INFO L290 TraceCheckUtils]: 20: Hoare triple {55593#(<= ~counter~0 1)} ~cond := #in~cond; {55593#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:19,970 INFO L290 TraceCheckUtils]: 21: Hoare triple {55593#(<= ~counter~0 1)} assume !(0 == ~cond); {55593#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:19,970 INFO L290 TraceCheckUtils]: 22: Hoare triple {55593#(<= ~counter~0 1)} assume true; {55593#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:19,971 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {55593#(<= ~counter~0 1)} {55593#(<= ~counter~0 1)} #94#return; {55593#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:19,988 INFO L290 TraceCheckUtils]: 24: Hoare triple {55593#(<= ~counter~0 1)} assume !!(0 != ~r~0); {55593#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:19,989 INFO L290 TraceCheckUtils]: 25: Hoare triple {55593#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {55618#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:19,989 INFO L290 TraceCheckUtils]: 26: Hoare triple {55618#(<= ~counter~0 2)} assume !!(#t~post7 < 20);havoc #t~post7; {55618#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:19,990 INFO L272 TraceCheckUtils]: 27: Hoare triple {55618#(<= ~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)); {55618#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:19,991 INFO L290 TraceCheckUtils]: 28: Hoare triple {55618#(<= ~counter~0 2)} ~cond := #in~cond; {55618#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:19,991 INFO L290 TraceCheckUtils]: 29: Hoare triple {55618#(<= ~counter~0 2)} assume !(0 == ~cond); {55618#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:19,991 INFO L290 TraceCheckUtils]: 30: Hoare triple {55618#(<= ~counter~0 2)} assume true; {55618#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:19,992 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {55618#(<= ~counter~0 2)} {55618#(<= ~counter~0 2)} #96#return; {55618#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:19,993 INFO L290 TraceCheckUtils]: 32: Hoare triple {55618#(<= ~counter~0 2)} assume !(~r~0 > 0); {55618#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:19,993 INFO L290 TraceCheckUtils]: 33: Hoare triple {55618#(<= ~counter~0 2)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {55643#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:19,994 INFO L290 TraceCheckUtils]: 34: Hoare triple {55643#(<= ~counter~0 3)} assume !!(#t~post8 < 20);havoc #t~post8; {55643#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:19,995 INFO L272 TraceCheckUtils]: 35: Hoare triple {55643#(<= ~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)); {55643#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:19,995 INFO L290 TraceCheckUtils]: 36: Hoare triple {55643#(<= ~counter~0 3)} ~cond := #in~cond; {55643#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:19,995 INFO L290 TraceCheckUtils]: 37: Hoare triple {55643#(<= ~counter~0 3)} assume !(0 == ~cond); {55643#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:19,996 INFO L290 TraceCheckUtils]: 38: Hoare triple {55643#(<= ~counter~0 3)} assume true; {55643#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:19,997 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {55643#(<= ~counter~0 3)} {55643#(<= ~counter~0 3)} #98#return; {55643#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:19,997 INFO L290 TraceCheckUtils]: 40: Hoare triple {55643#(<= ~counter~0 3)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {55643#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:19,998 INFO L290 TraceCheckUtils]: 41: Hoare triple {55643#(<= ~counter~0 3)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {55668#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:19,998 INFO L290 TraceCheckUtils]: 42: Hoare triple {55668#(<= ~counter~0 4)} assume !!(#t~post8 < 20);havoc #t~post8; {55668#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:19,999 INFO L272 TraceCheckUtils]: 43: Hoare triple {55668#(<= ~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)); {55668#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:19,999 INFO L290 TraceCheckUtils]: 44: Hoare triple {55668#(<= ~counter~0 4)} ~cond := #in~cond; {55668#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:19,999 INFO L290 TraceCheckUtils]: 45: Hoare triple {55668#(<= ~counter~0 4)} assume !(0 == ~cond); {55668#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:20,000 INFO L290 TraceCheckUtils]: 46: Hoare triple {55668#(<= ~counter~0 4)} assume true; {55668#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:20,000 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {55668#(<= ~counter~0 4)} {55668#(<= ~counter~0 4)} #98#return; {55668#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:20,000 INFO L290 TraceCheckUtils]: 48: Hoare triple {55668#(<= ~counter~0 4)} assume !(~r~0 < 0); {55668#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:20,001 INFO L290 TraceCheckUtils]: 49: Hoare triple {55668#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {55693#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:20,001 INFO L290 TraceCheckUtils]: 50: Hoare triple {55693#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {55693#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:20,002 INFO L272 TraceCheckUtils]: 51: Hoare triple {55693#(<= ~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)); {55693#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:20,002 INFO L290 TraceCheckUtils]: 52: Hoare triple {55693#(<= ~counter~0 5)} ~cond := #in~cond; {55693#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:20,002 INFO L290 TraceCheckUtils]: 53: Hoare triple {55693#(<= ~counter~0 5)} assume !(0 == ~cond); {55693#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:20,003 INFO L290 TraceCheckUtils]: 54: Hoare triple {55693#(<= ~counter~0 5)} assume true; {55693#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:20,003 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {55693#(<= ~counter~0 5)} {55693#(<= ~counter~0 5)} #94#return; {55693#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:20,003 INFO L290 TraceCheckUtils]: 56: Hoare triple {55693#(<= ~counter~0 5)} assume !!(0 != ~r~0); {55693#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:20,004 INFO L290 TraceCheckUtils]: 57: Hoare triple {55693#(<= ~counter~0 5)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {55718#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:20,004 INFO L290 TraceCheckUtils]: 58: Hoare triple {55718#(<= ~counter~0 6)} assume !!(#t~post7 < 20);havoc #t~post7; {55718#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:20,005 INFO L272 TraceCheckUtils]: 59: Hoare triple {55718#(<= ~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)); {55718#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:20,005 INFO L290 TraceCheckUtils]: 60: Hoare triple {55718#(<= ~counter~0 6)} ~cond := #in~cond; {55718#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:20,005 INFO L290 TraceCheckUtils]: 61: Hoare triple {55718#(<= ~counter~0 6)} assume !(0 == ~cond); {55718#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:20,006 INFO L290 TraceCheckUtils]: 62: Hoare triple {55718#(<= ~counter~0 6)} assume true; {55718#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:20,006 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {55718#(<= ~counter~0 6)} {55718#(<= ~counter~0 6)} #96#return; {55718#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:20,011 INFO L290 TraceCheckUtils]: 64: Hoare triple {55718#(<= ~counter~0 6)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {55718#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:20,012 INFO L290 TraceCheckUtils]: 65: Hoare triple {55718#(<= ~counter~0 6)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {55743#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:20,013 INFO L290 TraceCheckUtils]: 66: Hoare triple {55743#(<= ~counter~0 7)} assume !!(#t~post7 < 20);havoc #t~post7; {55743#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:20,013 INFO L272 TraceCheckUtils]: 67: Hoare triple {55743#(<= ~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)); {55743#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:20,014 INFO L290 TraceCheckUtils]: 68: Hoare triple {55743#(<= ~counter~0 7)} ~cond := #in~cond; {55743#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:20,014 INFO L290 TraceCheckUtils]: 69: Hoare triple {55743#(<= ~counter~0 7)} assume !(0 == ~cond); {55743#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:20,014 INFO L290 TraceCheckUtils]: 70: Hoare triple {55743#(<= ~counter~0 7)} assume true; {55743#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:20,015 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {55743#(<= ~counter~0 7)} {55743#(<= ~counter~0 7)} #96#return; {55743#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:20,015 INFO L290 TraceCheckUtils]: 72: Hoare triple {55743#(<= ~counter~0 7)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {55743#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:20,016 INFO L290 TraceCheckUtils]: 73: Hoare triple {55743#(<= ~counter~0 7)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {55768#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:20,016 INFO L290 TraceCheckUtils]: 74: Hoare triple {55768#(<= ~counter~0 8)} assume !!(#t~post7 < 20);havoc #t~post7; {55768#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:20,017 INFO L272 TraceCheckUtils]: 75: Hoare triple {55768#(<= ~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)); {55768#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:20,017 INFO L290 TraceCheckUtils]: 76: Hoare triple {55768#(<= ~counter~0 8)} ~cond := #in~cond; {55768#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:20,017 INFO L290 TraceCheckUtils]: 77: Hoare triple {55768#(<= ~counter~0 8)} assume !(0 == ~cond); {55768#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:20,018 INFO L290 TraceCheckUtils]: 78: Hoare triple {55768#(<= ~counter~0 8)} assume true; {55768#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:20,018 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {55768#(<= ~counter~0 8)} {55768#(<= ~counter~0 8)} #96#return; {55768#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:20,018 INFO L290 TraceCheckUtils]: 80: Hoare triple {55768#(<= ~counter~0 8)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {55768#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:20,019 INFO L290 TraceCheckUtils]: 81: Hoare triple {55768#(<= ~counter~0 8)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {55793#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:20,019 INFO L290 TraceCheckUtils]: 82: Hoare triple {55793#(<= ~counter~0 9)} assume !!(#t~post7 < 20);havoc #t~post7; {55793#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:20,020 INFO L272 TraceCheckUtils]: 83: Hoare triple {55793#(<= ~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)); {55793#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:20,020 INFO L290 TraceCheckUtils]: 84: Hoare triple {55793#(<= ~counter~0 9)} ~cond := #in~cond; {55793#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:20,021 INFO L290 TraceCheckUtils]: 85: Hoare triple {55793#(<= ~counter~0 9)} assume !(0 == ~cond); {55793#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:20,021 INFO L290 TraceCheckUtils]: 86: Hoare triple {55793#(<= ~counter~0 9)} assume true; {55793#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:20,021 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {55793#(<= ~counter~0 9)} {55793#(<= ~counter~0 9)} #96#return; {55793#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:20,022 INFO L290 TraceCheckUtils]: 88: Hoare triple {55793#(<= ~counter~0 9)} assume !(~r~0 > 0); {55793#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:20,022 INFO L290 TraceCheckUtils]: 89: Hoare triple {55793#(<= ~counter~0 9)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {55818#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:20,023 INFO L290 TraceCheckUtils]: 90: Hoare triple {55818#(<= ~counter~0 10)} assume !!(#t~post8 < 20);havoc #t~post8; {55818#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:20,023 INFO L272 TraceCheckUtils]: 91: Hoare triple {55818#(<= ~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)); {55818#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:20,023 INFO L290 TraceCheckUtils]: 92: Hoare triple {55818#(<= ~counter~0 10)} ~cond := #in~cond; {55818#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:20,024 INFO L290 TraceCheckUtils]: 93: Hoare triple {55818#(<= ~counter~0 10)} assume !(0 == ~cond); {55818#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:20,024 INFO L290 TraceCheckUtils]: 94: Hoare triple {55818#(<= ~counter~0 10)} assume true; {55818#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:20,024 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {55818#(<= ~counter~0 10)} {55818#(<= ~counter~0 10)} #98#return; {55818#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:20,025 INFO L290 TraceCheckUtils]: 96: Hoare triple {55818#(<= ~counter~0 10)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {55818#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:20,025 INFO L290 TraceCheckUtils]: 97: Hoare triple {55818#(<= ~counter~0 10)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {55843#(<= |main_#t~post8| 10)} is VALID [2022-04-28 12:43:20,025 INFO L290 TraceCheckUtils]: 98: Hoare triple {55843#(<= |main_#t~post8| 10)} assume !(#t~post8 < 20);havoc #t~post8; {55537#false} is VALID [2022-04-28 12:43:20,025 INFO L290 TraceCheckUtils]: 99: Hoare triple {55537#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {55537#false} is VALID [2022-04-28 12:43:20,026 INFO L290 TraceCheckUtils]: 100: Hoare triple {55537#false} assume !(#t~post6 < 20);havoc #t~post6; {55537#false} is VALID [2022-04-28 12:43:20,026 INFO L272 TraceCheckUtils]: 101: Hoare triple {55537#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)); {55537#false} is VALID [2022-04-28 12:43:20,026 INFO L290 TraceCheckUtils]: 102: Hoare triple {55537#false} ~cond := #in~cond; {55537#false} is VALID [2022-04-28 12:43:20,026 INFO L290 TraceCheckUtils]: 103: Hoare triple {55537#false} assume 0 == ~cond; {55537#false} is VALID [2022-04-28 12:43:20,026 INFO L290 TraceCheckUtils]: 104: Hoare triple {55537#false} assume !false; {55537#false} is VALID [2022-04-28 12:43:20,026 INFO L134 CoverageAnalysis]: Checked inductivity of 270 backedges. 24 proven. 242 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:43:20,026 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:43:20,566 INFO L290 TraceCheckUtils]: 104: Hoare triple {55537#false} assume !false; {55537#false} is VALID [2022-04-28 12:43:20,566 INFO L290 TraceCheckUtils]: 103: Hoare triple {55537#false} assume 0 == ~cond; {55537#false} is VALID [2022-04-28 12:43:20,566 INFO L290 TraceCheckUtils]: 102: Hoare triple {55537#false} ~cond := #in~cond; {55537#false} is VALID [2022-04-28 12:43:20,566 INFO L272 TraceCheckUtils]: 101: Hoare triple {55537#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)); {55537#false} is VALID [2022-04-28 12:43:20,566 INFO L290 TraceCheckUtils]: 100: Hoare triple {55537#false} assume !(#t~post6 < 20);havoc #t~post6; {55537#false} is VALID [2022-04-28 12:43:20,567 INFO L290 TraceCheckUtils]: 99: Hoare triple {55537#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {55537#false} is VALID [2022-04-28 12:43:20,567 INFO L290 TraceCheckUtils]: 98: Hoare triple {55883#(< |main_#t~post8| 20)} assume !(#t~post8 < 20);havoc #t~post8; {55537#false} is VALID [2022-04-28 12:43:20,567 INFO L290 TraceCheckUtils]: 97: Hoare triple {55887#(< ~counter~0 20)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {55883#(< |main_#t~post8| 20)} is VALID [2022-04-28 12:43:20,567 INFO L290 TraceCheckUtils]: 96: Hoare triple {55887#(< ~counter~0 20)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {55887#(< ~counter~0 20)} is VALID [2022-04-28 12:43:20,568 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {55536#true} {55887#(< ~counter~0 20)} #98#return; {55887#(< ~counter~0 20)} is VALID [2022-04-28 12:43:20,568 INFO L290 TraceCheckUtils]: 94: Hoare triple {55536#true} assume true; {55536#true} is VALID [2022-04-28 12:43:20,568 INFO L290 TraceCheckUtils]: 93: Hoare triple {55536#true} assume !(0 == ~cond); {55536#true} is VALID [2022-04-28 12:43:20,568 INFO L290 TraceCheckUtils]: 92: Hoare triple {55536#true} ~cond := #in~cond; {55536#true} is VALID [2022-04-28 12:43:20,568 INFO L272 TraceCheckUtils]: 91: Hoare triple {55887#(< ~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)); {55536#true} is VALID [2022-04-28 12:43:20,568 INFO L290 TraceCheckUtils]: 90: Hoare triple {55887#(< ~counter~0 20)} assume !!(#t~post8 < 20);havoc #t~post8; {55887#(< ~counter~0 20)} is VALID [2022-04-28 12:43:20,570 INFO L290 TraceCheckUtils]: 89: Hoare triple {55912#(< ~counter~0 19)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {55887#(< ~counter~0 20)} is VALID [2022-04-28 12:43:20,570 INFO L290 TraceCheckUtils]: 88: Hoare triple {55912#(< ~counter~0 19)} assume !(~r~0 > 0); {55912#(< ~counter~0 19)} is VALID [2022-04-28 12:43:20,570 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {55536#true} {55912#(< ~counter~0 19)} #96#return; {55912#(< ~counter~0 19)} is VALID [2022-04-28 12:43:20,571 INFO L290 TraceCheckUtils]: 86: Hoare triple {55536#true} assume true; {55536#true} is VALID [2022-04-28 12:43:20,571 INFO L290 TraceCheckUtils]: 85: Hoare triple {55536#true} assume !(0 == ~cond); {55536#true} is VALID [2022-04-28 12:43:20,571 INFO L290 TraceCheckUtils]: 84: Hoare triple {55536#true} ~cond := #in~cond; {55536#true} is VALID [2022-04-28 12:43:20,571 INFO L272 TraceCheckUtils]: 83: Hoare triple {55912#(< ~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)); {55536#true} is VALID [2022-04-28 12:43:20,571 INFO L290 TraceCheckUtils]: 82: Hoare triple {55912#(< ~counter~0 19)} assume !!(#t~post7 < 20);havoc #t~post7; {55912#(< ~counter~0 19)} is VALID [2022-04-28 12:43:20,572 INFO L290 TraceCheckUtils]: 81: Hoare triple {55937#(< ~counter~0 18)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {55912#(< ~counter~0 19)} is VALID [2022-04-28 12:43:20,572 INFO L290 TraceCheckUtils]: 80: Hoare triple {55937#(< ~counter~0 18)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {55937#(< ~counter~0 18)} is VALID [2022-04-28 12:43:20,572 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {55536#true} {55937#(< ~counter~0 18)} #96#return; {55937#(< ~counter~0 18)} is VALID [2022-04-28 12:43:20,573 INFO L290 TraceCheckUtils]: 78: Hoare triple {55536#true} assume true; {55536#true} is VALID [2022-04-28 12:43:20,573 INFO L290 TraceCheckUtils]: 77: Hoare triple {55536#true} assume !(0 == ~cond); {55536#true} is VALID [2022-04-28 12:43:20,573 INFO L290 TraceCheckUtils]: 76: Hoare triple {55536#true} ~cond := #in~cond; {55536#true} is VALID [2022-04-28 12:43:20,573 INFO L272 TraceCheckUtils]: 75: Hoare triple {55937#(< ~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)); {55536#true} is VALID [2022-04-28 12:43:20,573 INFO L290 TraceCheckUtils]: 74: Hoare triple {55937#(< ~counter~0 18)} assume !!(#t~post7 < 20);havoc #t~post7; {55937#(< ~counter~0 18)} is VALID [2022-04-28 12:43:20,574 INFO L290 TraceCheckUtils]: 73: Hoare triple {55962#(< ~counter~0 17)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {55937#(< ~counter~0 18)} is VALID [2022-04-28 12:43:20,574 INFO L290 TraceCheckUtils]: 72: Hoare triple {55962#(< ~counter~0 17)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {55962#(< ~counter~0 17)} is VALID [2022-04-28 12:43:20,574 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {55536#true} {55962#(< ~counter~0 17)} #96#return; {55962#(< ~counter~0 17)} is VALID [2022-04-28 12:43:20,574 INFO L290 TraceCheckUtils]: 70: Hoare triple {55536#true} assume true; {55536#true} is VALID [2022-04-28 12:43:20,575 INFO L290 TraceCheckUtils]: 69: Hoare triple {55536#true} assume !(0 == ~cond); {55536#true} is VALID [2022-04-28 12:43:20,575 INFO L290 TraceCheckUtils]: 68: Hoare triple {55536#true} ~cond := #in~cond; {55536#true} is VALID [2022-04-28 12:43:20,575 INFO L272 TraceCheckUtils]: 67: Hoare triple {55962#(< ~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)); {55536#true} is VALID [2022-04-28 12:43:20,575 INFO L290 TraceCheckUtils]: 66: Hoare triple {55962#(< ~counter~0 17)} assume !!(#t~post7 < 20);havoc #t~post7; {55962#(< ~counter~0 17)} is VALID [2022-04-28 12:43:20,576 INFO L290 TraceCheckUtils]: 65: Hoare triple {55987#(< ~counter~0 16)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {55962#(< ~counter~0 17)} is VALID [2022-04-28 12:43:20,576 INFO L290 TraceCheckUtils]: 64: Hoare triple {55987#(< ~counter~0 16)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {55987#(< ~counter~0 16)} is VALID [2022-04-28 12:43:20,576 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {55536#true} {55987#(< ~counter~0 16)} #96#return; {55987#(< ~counter~0 16)} is VALID [2022-04-28 12:43:20,576 INFO L290 TraceCheckUtils]: 62: Hoare triple {55536#true} assume true; {55536#true} is VALID [2022-04-28 12:43:20,576 INFO L290 TraceCheckUtils]: 61: Hoare triple {55536#true} assume !(0 == ~cond); {55536#true} is VALID [2022-04-28 12:43:20,577 INFO L290 TraceCheckUtils]: 60: Hoare triple {55536#true} ~cond := #in~cond; {55536#true} is VALID [2022-04-28 12:43:20,577 INFO L272 TraceCheckUtils]: 59: Hoare triple {55987#(< ~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)); {55536#true} is VALID [2022-04-28 12:43:20,577 INFO L290 TraceCheckUtils]: 58: Hoare triple {55987#(< ~counter~0 16)} assume !!(#t~post7 < 20);havoc #t~post7; {55987#(< ~counter~0 16)} is VALID [2022-04-28 12:43:20,577 INFO L290 TraceCheckUtils]: 57: Hoare triple {56012#(< ~counter~0 15)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {55987#(< ~counter~0 16)} is VALID [2022-04-28 12:43:20,578 INFO L290 TraceCheckUtils]: 56: Hoare triple {56012#(< ~counter~0 15)} assume !!(0 != ~r~0); {56012#(< ~counter~0 15)} is VALID [2022-04-28 12:43:20,578 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {55536#true} {56012#(< ~counter~0 15)} #94#return; {56012#(< ~counter~0 15)} is VALID [2022-04-28 12:43:20,578 INFO L290 TraceCheckUtils]: 54: Hoare triple {55536#true} assume true; {55536#true} is VALID [2022-04-28 12:43:20,578 INFO L290 TraceCheckUtils]: 53: Hoare triple {55536#true} assume !(0 == ~cond); {55536#true} is VALID [2022-04-28 12:43:20,578 INFO L290 TraceCheckUtils]: 52: Hoare triple {55536#true} ~cond := #in~cond; {55536#true} is VALID [2022-04-28 12:43:20,579 INFO L272 TraceCheckUtils]: 51: Hoare triple {56012#(< ~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)); {55536#true} is VALID [2022-04-28 12:43:20,579 INFO L290 TraceCheckUtils]: 50: Hoare triple {56012#(< ~counter~0 15)} assume !!(#t~post6 < 20);havoc #t~post6; {56012#(< ~counter~0 15)} is VALID [2022-04-28 12:43:20,579 INFO L290 TraceCheckUtils]: 49: Hoare triple {56037#(< ~counter~0 14)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {56012#(< ~counter~0 15)} is VALID [2022-04-28 12:43:20,580 INFO L290 TraceCheckUtils]: 48: Hoare triple {56037#(< ~counter~0 14)} assume !(~r~0 < 0); {56037#(< ~counter~0 14)} is VALID [2022-04-28 12:43:20,580 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {55536#true} {56037#(< ~counter~0 14)} #98#return; {56037#(< ~counter~0 14)} is VALID [2022-04-28 12:43:20,580 INFO L290 TraceCheckUtils]: 46: Hoare triple {55536#true} assume true; {55536#true} is VALID [2022-04-28 12:43:20,580 INFO L290 TraceCheckUtils]: 45: Hoare triple {55536#true} assume !(0 == ~cond); {55536#true} is VALID [2022-04-28 12:43:20,580 INFO L290 TraceCheckUtils]: 44: Hoare triple {55536#true} ~cond := #in~cond; {55536#true} is VALID [2022-04-28 12:43:20,580 INFO L272 TraceCheckUtils]: 43: Hoare triple {56037#(< ~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)); {55536#true} is VALID [2022-04-28 12:43:20,581 INFO L290 TraceCheckUtils]: 42: Hoare triple {56037#(< ~counter~0 14)} assume !!(#t~post8 < 20);havoc #t~post8; {56037#(< ~counter~0 14)} is VALID [2022-04-28 12:43:20,581 INFO L290 TraceCheckUtils]: 41: Hoare triple {56062#(< ~counter~0 13)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {56037#(< ~counter~0 14)} is VALID [2022-04-28 12:43:20,582 INFO L290 TraceCheckUtils]: 40: Hoare triple {56062#(< ~counter~0 13)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {56062#(< ~counter~0 13)} is VALID [2022-04-28 12:43:20,582 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {55536#true} {56062#(< ~counter~0 13)} #98#return; {56062#(< ~counter~0 13)} is VALID [2022-04-28 12:43:20,582 INFO L290 TraceCheckUtils]: 38: Hoare triple {55536#true} assume true; {55536#true} is VALID [2022-04-28 12:43:20,582 INFO L290 TraceCheckUtils]: 37: Hoare triple {55536#true} assume !(0 == ~cond); {55536#true} is VALID [2022-04-28 12:43:20,582 INFO L290 TraceCheckUtils]: 36: Hoare triple {55536#true} ~cond := #in~cond; {55536#true} is VALID [2022-04-28 12:43:20,582 INFO L272 TraceCheckUtils]: 35: Hoare triple {56062#(< ~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)); {55536#true} is VALID [2022-04-28 12:43:20,583 INFO L290 TraceCheckUtils]: 34: Hoare triple {56062#(< ~counter~0 13)} assume !!(#t~post8 < 20);havoc #t~post8; {56062#(< ~counter~0 13)} is VALID [2022-04-28 12:43:20,583 INFO L290 TraceCheckUtils]: 33: Hoare triple {56087#(< ~counter~0 12)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {56062#(< ~counter~0 13)} is VALID [2022-04-28 12:43:20,584 INFO L290 TraceCheckUtils]: 32: Hoare triple {56087#(< ~counter~0 12)} assume !(~r~0 > 0); {56087#(< ~counter~0 12)} is VALID [2022-04-28 12:43:20,584 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {55536#true} {56087#(< ~counter~0 12)} #96#return; {56087#(< ~counter~0 12)} is VALID [2022-04-28 12:43:20,584 INFO L290 TraceCheckUtils]: 30: Hoare triple {55536#true} assume true; {55536#true} is VALID [2022-04-28 12:43:20,584 INFO L290 TraceCheckUtils]: 29: Hoare triple {55536#true} assume !(0 == ~cond); {55536#true} is VALID [2022-04-28 12:43:20,584 INFO L290 TraceCheckUtils]: 28: Hoare triple {55536#true} ~cond := #in~cond; {55536#true} is VALID [2022-04-28 12:43:20,584 INFO L272 TraceCheckUtils]: 27: Hoare triple {56087#(< ~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)); {55536#true} is VALID [2022-04-28 12:43:20,585 INFO L290 TraceCheckUtils]: 26: Hoare triple {56087#(< ~counter~0 12)} assume !!(#t~post7 < 20);havoc #t~post7; {56087#(< ~counter~0 12)} is VALID [2022-04-28 12:43:20,585 INFO L290 TraceCheckUtils]: 25: Hoare triple {55818#(<= ~counter~0 10)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {56087#(< ~counter~0 12)} is VALID [2022-04-28 12:43:20,585 INFO L290 TraceCheckUtils]: 24: Hoare triple {55818#(<= ~counter~0 10)} assume !!(0 != ~r~0); {55818#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:20,586 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {55536#true} {55818#(<= ~counter~0 10)} #94#return; {55818#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:20,586 INFO L290 TraceCheckUtils]: 22: Hoare triple {55536#true} assume true; {55536#true} is VALID [2022-04-28 12:43:20,586 INFO L290 TraceCheckUtils]: 21: Hoare triple {55536#true} assume !(0 == ~cond); {55536#true} is VALID [2022-04-28 12:43:20,586 INFO L290 TraceCheckUtils]: 20: Hoare triple {55536#true} ~cond := #in~cond; {55536#true} is VALID [2022-04-28 12:43:20,586 INFO L272 TraceCheckUtils]: 19: Hoare triple {55818#(<= ~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)); {55536#true} is VALID [2022-04-28 12:43:20,586 INFO L290 TraceCheckUtils]: 18: Hoare triple {55818#(<= ~counter~0 10)} assume !!(#t~post6 < 20);havoc #t~post6; {55818#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:20,587 INFO L290 TraceCheckUtils]: 17: Hoare triple {55793#(<= ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {55818#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:20,587 INFO L290 TraceCheckUtils]: 16: Hoare triple {55793#(<= ~counter~0 9)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {55793#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:20,588 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {55536#true} {55793#(<= ~counter~0 9)} #92#return; {55793#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:20,588 INFO L290 TraceCheckUtils]: 14: Hoare triple {55536#true} assume true; {55536#true} is VALID [2022-04-28 12:43:20,588 INFO L290 TraceCheckUtils]: 13: Hoare triple {55536#true} assume !(0 == ~cond); {55536#true} is VALID [2022-04-28 12:43:20,588 INFO L290 TraceCheckUtils]: 12: Hoare triple {55536#true} ~cond := #in~cond; {55536#true} is VALID [2022-04-28 12:43:20,588 INFO L272 TraceCheckUtils]: 11: Hoare triple {55793#(<= ~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)); {55536#true} is VALID [2022-04-28 12:43:20,588 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {55536#true} {55793#(<= ~counter~0 9)} #90#return; {55793#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:20,589 INFO L290 TraceCheckUtils]: 9: Hoare triple {55536#true} assume true; {55536#true} is VALID [2022-04-28 12:43:20,589 INFO L290 TraceCheckUtils]: 8: Hoare triple {55536#true} assume !(0 == ~cond); {55536#true} is VALID [2022-04-28 12:43:20,589 INFO L290 TraceCheckUtils]: 7: Hoare triple {55536#true} ~cond := #in~cond; {55536#true} is VALID [2022-04-28 12:43:20,589 INFO L272 TraceCheckUtils]: 6: Hoare triple {55793#(<= ~counter~0 9)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {55536#true} is VALID [2022-04-28 12:43:20,589 INFO L290 TraceCheckUtils]: 5: Hoare triple {55793#(<= ~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; {55793#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:20,589 INFO L272 TraceCheckUtils]: 4: Hoare triple {55793#(<= ~counter~0 9)} call #t~ret9 := main(); {55793#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:20,590 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {55793#(<= ~counter~0 9)} {55536#true} #102#return; {55793#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:20,590 INFO L290 TraceCheckUtils]: 2: Hoare triple {55793#(<= ~counter~0 9)} assume true; {55793#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:20,590 INFO L290 TraceCheckUtils]: 1: Hoare triple {55536#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; {55793#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:20,590 INFO L272 TraceCheckUtils]: 0: Hoare triple {55536#true} call ULTIMATE.init(); {55536#true} is VALID [2022-04-28 12:43:20,591 INFO L134 CoverageAnalysis]: Checked inductivity of 270 backedges. 24 proven. 62 refuted. 0 times theorem prover too weak. 184 trivial. 0 not checked. [2022-04-28 12:43:20,591 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:43:20,591 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1144989827] [2022-04-28 12:43:20,591 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:43:20,591 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [846144060] [2022-04-28 12:43:20,591 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [846144060] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:43:20,591 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:43:20,591 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 14] total 24 [2022-04-28 12:43:20,591 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:43:20,591 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [498746094] [2022-04-28 12:43:20,592 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [498746094] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:43:20,592 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:43:20,592 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 12:43:20,592 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1556662598] [2022-04-28 12:43:20,592 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:43:20,592 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 5.285714285714286) internal successors, (74), 13 states have internal predecessors, (74), 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 105 [2022-04-28 12:43:20,592 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:43:20,592 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 5.285714285714286) internal successors, (74), 13 states have internal predecessors, (74), 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:43:20,676 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 102 edges. 102 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:43:20,676 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 12:43:20,676 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:43:20,676 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 12:43:20,677 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=236, Invalid=316, Unknown=0, NotChecked=0, Total=552 [2022-04-28 12:43:20,677 INFO L87 Difference]: Start difference. First operand 532 states and 716 transitions. Second operand has 14 states, 14 states have (on average 5.285714285714286) internal successors, (74), 13 states have internal predecessors, (74), 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:43:22,359 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:43:22,359 INFO L93 Difference]: Finished difference Result 785 states and 1097 transitions. [2022-04-28 12:43:22,359 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-04-28 12:43:22,360 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 5.285714285714286) internal successors, (74), 13 states have internal predecessors, (74), 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 105 [2022-04-28 12:43:22,360 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:43:22,360 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 5.285714285714286) internal successors, (74), 13 states have internal predecessors, (74), 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:43:22,361 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 236 transitions. [2022-04-28 12:43:22,361 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 5.285714285714286) internal successors, (74), 13 states have internal predecessors, (74), 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:43:22,363 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 236 transitions. [2022-04-28 12:43:22,363 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 22 states and 236 transitions. [2022-04-28 12:43:22,543 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 236 edges. 236 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:43:22,556 INFO L225 Difference]: With dead ends: 785 [2022-04-28 12:43:22,556 INFO L226 Difference]: Without dead ends: 560 [2022-04-28 12:43:22,557 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 217 GetRequests, 186 SyntacticMatches, 1 SemanticMatches, 30 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 66 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=404, Invalid=588, Unknown=0, NotChecked=0, Total=992 [2022-04-28 12:43:22,557 INFO L413 NwaCegarLoop]: 60 mSDtfsCounter, 123 mSDsluCounter, 200 mSDsCounter, 0 mSdLazyCounter, 130 mSolverCounterSat, 100 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 123 SdHoareTripleChecker+Valid, 260 SdHoareTripleChecker+Invalid, 230 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 100 IncrementalHoareTripleChecker+Valid, 130 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 12:43:22,557 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [123 Valid, 260 Invalid, 230 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [100 Valid, 130 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 12:43:22,558 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 560 states. [2022-04-28 12:43:23,556 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 560 to 550. [2022-04-28 12:43:23,556 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:43:23,557 INFO L82 GeneralOperation]: Start isEquivalent. First operand 560 states. Second operand has 550 states, 415 states have (on average 1.2337349397590363) internal successors, (512), 419 states have internal predecessors, (512), 114 states have call successors, (114), 22 states have call predecessors, (114), 20 states have return successors, (112), 108 states have call predecessors, (112), 112 states have call successors, (112) [2022-04-28 12:43:23,557 INFO L74 IsIncluded]: Start isIncluded. First operand 560 states. Second operand has 550 states, 415 states have (on average 1.2337349397590363) internal successors, (512), 419 states have internal predecessors, (512), 114 states have call successors, (114), 22 states have call predecessors, (114), 20 states have return successors, (112), 108 states have call predecessors, (112), 112 states have call successors, (112) [2022-04-28 12:43:23,558 INFO L87 Difference]: Start difference. First operand 560 states. Second operand has 550 states, 415 states have (on average 1.2337349397590363) internal successors, (512), 419 states have internal predecessors, (512), 114 states have call successors, (114), 22 states have call predecessors, (114), 20 states have return successors, (112), 108 states have call predecessors, (112), 112 states have call successors, (112) [2022-04-28 12:43:23,569 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:43:23,569 INFO L93 Difference]: Finished difference Result 560 states and 748 transitions. [2022-04-28 12:43:23,569 INFO L276 IsEmpty]: Start isEmpty. Operand 560 states and 748 transitions. [2022-04-28 12:43:23,570 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:43:23,570 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:43:23,571 INFO L74 IsIncluded]: Start isIncluded. First operand has 550 states, 415 states have (on average 1.2337349397590363) internal successors, (512), 419 states have internal predecessors, (512), 114 states have call successors, (114), 22 states have call predecessors, (114), 20 states have return successors, (112), 108 states have call predecessors, (112), 112 states have call successors, (112) Second operand 560 states. [2022-04-28 12:43:23,571 INFO L87 Difference]: Start difference. First operand has 550 states, 415 states have (on average 1.2337349397590363) internal successors, (512), 419 states have internal predecessors, (512), 114 states have call successors, (114), 22 states have call predecessors, (114), 20 states have return successors, (112), 108 states have call predecessors, (112), 112 states have call successors, (112) Second operand 560 states. [2022-04-28 12:43:23,584 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:43:23,584 INFO L93 Difference]: Finished difference Result 560 states and 748 transitions. [2022-04-28 12:43:23,584 INFO L276 IsEmpty]: Start isEmpty. Operand 560 states and 748 transitions. [2022-04-28 12:43:23,585 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:43:23,585 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:43:23,585 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:43:23,585 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:43:23,585 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 550 states, 415 states have (on average 1.2337349397590363) internal successors, (512), 419 states have internal predecessors, (512), 114 states have call successors, (114), 22 states have call predecessors, (114), 20 states have return successors, (112), 108 states have call predecessors, (112), 112 states have call successors, (112) [2022-04-28 12:43:23,600 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 550 states to 550 states and 738 transitions. [2022-04-28 12:43:23,600 INFO L78 Accepts]: Start accepts. Automaton has 550 states and 738 transitions. Word has length 105 [2022-04-28 12:43:23,600 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:43:23,600 INFO L495 AbstractCegarLoop]: Abstraction has 550 states and 738 transitions. [2022-04-28 12:43:23,600 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 5.285714285714286) internal successors, (74), 13 states have internal predecessors, (74), 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:43:23,600 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 550 states and 738 transitions. [2022-04-28 12:43:38,473 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 738 edges. 735 inductive. 0 not inductive. 3 times theorem prover too weak to decide inductivity. [2022-04-28 12:43:38,473 INFO L276 IsEmpty]: Start isEmpty. Operand 550 states and 738 transitions. [2022-04-28 12:43:38,474 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 108 [2022-04-28 12:43:38,474 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:43:38,474 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 7, 6, 6, 6, 5, 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, 1, 1, 1, 1, 1] [2022-04-28 12:43:38,494 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (34)] Ended with exit code 0 [2022-04-28 12:43:38,674 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 34 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable32 [2022-04-28 12:43:38,675 INFO L420 AbstractCegarLoop]: === Iteration 34 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:43:38,675 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:43:38,675 INFO L85 PathProgramCache]: Analyzing trace with hash -2132095591, now seen corresponding path program 11 times [2022-04-28 12:43:38,675 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:43:38,675 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [300435830] [2022-04-28 12:43:38,675 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:43:38,675 INFO L85 PathProgramCache]: Analyzing trace with hash -2132095591, now seen corresponding path program 12 times [2022-04-28 12:43:38,676 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:43:38,676 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [3382698] [2022-04-28 12:43:38,676 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:43:38,676 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:43:38,687 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:43:38,687 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1110560892] [2022-04-28 12:43:38,687 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 12:43:38,687 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:43:38,687 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:43:38,689 INFO L229 MonitoredProcess]: Starting monitored process 35 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:38,690 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (35)] Waiting until timeout for monitored process [2022-04-28 12:43:38,850 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2022-04-28 12:43:38,850 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:43:38,851 INFO L263 TraceCheckSpWp]: Trace formula consists of 277 conjuncts, 25 conjunts are in the unsatisfiable core [2022-04-28 12:43:38,872 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:43:38,874 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:43:39,363 INFO L272 TraceCheckUtils]: 0: Hoare triple {59995#true} call ULTIMATE.init(); {59995#true} is VALID [2022-04-28 12:43:39,363 INFO L290 TraceCheckUtils]: 1: Hoare triple {59995#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; {60003#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:39,364 INFO L290 TraceCheckUtils]: 2: Hoare triple {60003#(<= ~counter~0 0)} assume true; {60003#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:39,364 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {60003#(<= ~counter~0 0)} {59995#true} #102#return; {60003#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:39,364 INFO L272 TraceCheckUtils]: 4: Hoare triple {60003#(<= ~counter~0 0)} call #t~ret9 := main(); {60003#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:39,365 INFO L290 TraceCheckUtils]: 5: Hoare triple {60003#(<= ~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; {60003#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:39,365 INFO L272 TraceCheckUtils]: 6: Hoare triple {60003#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {60003#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:39,365 INFO L290 TraceCheckUtils]: 7: Hoare triple {60003#(<= ~counter~0 0)} ~cond := #in~cond; {60003#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:39,366 INFO L290 TraceCheckUtils]: 8: Hoare triple {60003#(<= ~counter~0 0)} assume !(0 == ~cond); {60003#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:39,366 INFO L290 TraceCheckUtils]: 9: Hoare triple {60003#(<= ~counter~0 0)} assume true; {60003#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:39,366 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {60003#(<= ~counter~0 0)} {60003#(<= ~counter~0 0)} #90#return; {60003#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:39,367 INFO L272 TraceCheckUtils]: 11: Hoare triple {60003#(<= ~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)); {60003#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:39,367 INFO L290 TraceCheckUtils]: 12: Hoare triple {60003#(<= ~counter~0 0)} ~cond := #in~cond; {60003#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:39,367 INFO L290 TraceCheckUtils]: 13: Hoare triple {60003#(<= ~counter~0 0)} assume !(0 == ~cond); {60003#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:39,367 INFO L290 TraceCheckUtils]: 14: Hoare triple {60003#(<= ~counter~0 0)} assume true; {60003#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:39,368 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {60003#(<= ~counter~0 0)} {60003#(<= ~counter~0 0)} #92#return; {60003#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:39,368 INFO L290 TraceCheckUtils]: 16: Hoare triple {60003#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {60003#(<= ~counter~0 0)} is VALID [2022-04-28 12:43:39,369 INFO L290 TraceCheckUtils]: 17: Hoare triple {60003#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {60052#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:39,370 INFO L290 TraceCheckUtils]: 18: Hoare triple {60052#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {60052#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:39,370 INFO L272 TraceCheckUtils]: 19: Hoare triple {60052#(<= ~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)); {60052#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:39,370 INFO L290 TraceCheckUtils]: 20: Hoare triple {60052#(<= ~counter~0 1)} ~cond := #in~cond; {60052#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:39,371 INFO L290 TraceCheckUtils]: 21: Hoare triple {60052#(<= ~counter~0 1)} assume !(0 == ~cond); {60052#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:39,371 INFO L290 TraceCheckUtils]: 22: Hoare triple {60052#(<= ~counter~0 1)} assume true; {60052#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:39,371 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {60052#(<= ~counter~0 1)} {60052#(<= ~counter~0 1)} #94#return; {60052#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:39,372 INFO L290 TraceCheckUtils]: 24: Hoare triple {60052#(<= ~counter~0 1)} assume !!(0 != ~r~0); {60052#(<= ~counter~0 1)} is VALID [2022-04-28 12:43:39,372 INFO L290 TraceCheckUtils]: 25: Hoare triple {60052#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {60077#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:39,373 INFO L290 TraceCheckUtils]: 26: Hoare triple {60077#(<= ~counter~0 2)} assume !!(#t~post7 < 20);havoc #t~post7; {60077#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:39,373 INFO L272 TraceCheckUtils]: 27: Hoare triple {60077#(<= ~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)); {60077#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:39,373 INFO L290 TraceCheckUtils]: 28: Hoare triple {60077#(<= ~counter~0 2)} ~cond := #in~cond; {60077#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:39,374 INFO L290 TraceCheckUtils]: 29: Hoare triple {60077#(<= ~counter~0 2)} assume !(0 == ~cond); {60077#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:39,374 INFO L290 TraceCheckUtils]: 30: Hoare triple {60077#(<= ~counter~0 2)} assume true; {60077#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:39,374 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {60077#(<= ~counter~0 2)} {60077#(<= ~counter~0 2)} #96#return; {60077#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:39,375 INFO L290 TraceCheckUtils]: 32: Hoare triple {60077#(<= ~counter~0 2)} assume !(~r~0 > 0); {60077#(<= ~counter~0 2)} is VALID [2022-04-28 12:43:39,375 INFO L290 TraceCheckUtils]: 33: Hoare triple {60077#(<= ~counter~0 2)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {60102#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:39,375 INFO L290 TraceCheckUtils]: 34: Hoare triple {60102#(<= ~counter~0 3)} assume !!(#t~post8 < 20);havoc #t~post8; {60102#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:39,376 INFO L272 TraceCheckUtils]: 35: Hoare triple {60102#(<= ~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)); {60102#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:39,376 INFO L290 TraceCheckUtils]: 36: Hoare triple {60102#(<= ~counter~0 3)} ~cond := #in~cond; {60102#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:39,376 INFO L290 TraceCheckUtils]: 37: Hoare triple {60102#(<= ~counter~0 3)} assume !(0 == ~cond); {60102#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:39,377 INFO L290 TraceCheckUtils]: 38: Hoare triple {60102#(<= ~counter~0 3)} assume true; {60102#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:39,377 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {60102#(<= ~counter~0 3)} {60102#(<= ~counter~0 3)} #98#return; {60102#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:39,377 INFO L290 TraceCheckUtils]: 40: Hoare triple {60102#(<= ~counter~0 3)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {60102#(<= ~counter~0 3)} is VALID [2022-04-28 12:43:39,378 INFO L290 TraceCheckUtils]: 41: Hoare triple {60102#(<= ~counter~0 3)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {60127#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:39,378 INFO L290 TraceCheckUtils]: 42: Hoare triple {60127#(<= ~counter~0 4)} assume !!(#t~post8 < 20);havoc #t~post8; {60127#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:39,379 INFO L272 TraceCheckUtils]: 43: Hoare triple {60127#(<= ~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)); {60127#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:39,379 INFO L290 TraceCheckUtils]: 44: Hoare triple {60127#(<= ~counter~0 4)} ~cond := #in~cond; {60127#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:39,379 INFO L290 TraceCheckUtils]: 45: Hoare triple {60127#(<= ~counter~0 4)} assume !(0 == ~cond); {60127#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:39,380 INFO L290 TraceCheckUtils]: 46: Hoare triple {60127#(<= ~counter~0 4)} assume true; {60127#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:39,380 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {60127#(<= ~counter~0 4)} {60127#(<= ~counter~0 4)} #98#return; {60127#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:39,380 INFO L290 TraceCheckUtils]: 48: Hoare triple {60127#(<= ~counter~0 4)} assume !(~r~0 < 0); {60127#(<= ~counter~0 4)} is VALID [2022-04-28 12:43:39,381 INFO L290 TraceCheckUtils]: 49: Hoare triple {60127#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {60152#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:39,381 INFO L290 TraceCheckUtils]: 50: Hoare triple {60152#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {60152#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:39,382 INFO L272 TraceCheckUtils]: 51: Hoare triple {60152#(<= ~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)); {60152#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:39,382 INFO L290 TraceCheckUtils]: 52: Hoare triple {60152#(<= ~counter~0 5)} ~cond := #in~cond; {60152#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:39,382 INFO L290 TraceCheckUtils]: 53: Hoare triple {60152#(<= ~counter~0 5)} assume !(0 == ~cond); {60152#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:39,383 INFO L290 TraceCheckUtils]: 54: Hoare triple {60152#(<= ~counter~0 5)} assume true; {60152#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:39,383 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {60152#(<= ~counter~0 5)} {60152#(<= ~counter~0 5)} #94#return; {60152#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:39,383 INFO L290 TraceCheckUtils]: 56: Hoare triple {60152#(<= ~counter~0 5)} assume !!(0 != ~r~0); {60152#(<= ~counter~0 5)} is VALID [2022-04-28 12:43:39,384 INFO L290 TraceCheckUtils]: 57: Hoare triple {60152#(<= ~counter~0 5)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {60177#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:39,384 INFO L290 TraceCheckUtils]: 58: Hoare triple {60177#(<= ~counter~0 6)} assume !!(#t~post7 < 20);havoc #t~post7; {60177#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:39,385 INFO L272 TraceCheckUtils]: 59: Hoare triple {60177#(<= ~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)); {60177#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:39,385 INFO L290 TraceCheckUtils]: 60: Hoare triple {60177#(<= ~counter~0 6)} ~cond := #in~cond; {60177#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:39,385 INFO L290 TraceCheckUtils]: 61: Hoare triple {60177#(<= ~counter~0 6)} assume !(0 == ~cond); {60177#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:39,385 INFO L290 TraceCheckUtils]: 62: Hoare triple {60177#(<= ~counter~0 6)} assume true; {60177#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:39,386 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {60177#(<= ~counter~0 6)} {60177#(<= ~counter~0 6)} #96#return; {60177#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:39,386 INFO L290 TraceCheckUtils]: 64: Hoare triple {60177#(<= ~counter~0 6)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {60177#(<= ~counter~0 6)} is VALID [2022-04-28 12:43:39,387 INFO L290 TraceCheckUtils]: 65: Hoare triple {60177#(<= ~counter~0 6)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {60202#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:39,387 INFO L290 TraceCheckUtils]: 66: Hoare triple {60202#(<= ~counter~0 7)} assume !!(#t~post7 < 20);havoc #t~post7; {60202#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:39,388 INFO L272 TraceCheckUtils]: 67: Hoare triple {60202#(<= ~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)); {60202#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:39,388 INFO L290 TraceCheckUtils]: 68: Hoare triple {60202#(<= ~counter~0 7)} ~cond := #in~cond; {60202#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:39,388 INFO L290 TraceCheckUtils]: 69: Hoare triple {60202#(<= ~counter~0 7)} assume !(0 == ~cond); {60202#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:39,389 INFO L290 TraceCheckUtils]: 70: Hoare triple {60202#(<= ~counter~0 7)} assume true; {60202#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:39,395 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {60202#(<= ~counter~0 7)} {60202#(<= ~counter~0 7)} #96#return; {60202#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:39,395 INFO L290 TraceCheckUtils]: 72: Hoare triple {60202#(<= ~counter~0 7)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {60202#(<= ~counter~0 7)} is VALID [2022-04-28 12:43:39,397 INFO L290 TraceCheckUtils]: 73: Hoare triple {60202#(<= ~counter~0 7)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {60227#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:39,397 INFO L290 TraceCheckUtils]: 74: Hoare triple {60227#(<= ~counter~0 8)} assume !!(#t~post7 < 20);havoc #t~post7; {60227#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:39,397 INFO L272 TraceCheckUtils]: 75: Hoare triple {60227#(<= ~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)); {60227#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:39,398 INFO L290 TraceCheckUtils]: 76: Hoare triple {60227#(<= ~counter~0 8)} ~cond := #in~cond; {60227#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:39,398 INFO L290 TraceCheckUtils]: 77: Hoare triple {60227#(<= ~counter~0 8)} assume !(0 == ~cond); {60227#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:39,398 INFO L290 TraceCheckUtils]: 78: Hoare triple {60227#(<= ~counter~0 8)} assume true; {60227#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:39,399 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {60227#(<= ~counter~0 8)} {60227#(<= ~counter~0 8)} #96#return; {60227#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:39,399 INFO L290 TraceCheckUtils]: 80: Hoare triple {60227#(<= ~counter~0 8)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {60227#(<= ~counter~0 8)} is VALID [2022-04-28 12:43:39,400 INFO L290 TraceCheckUtils]: 81: Hoare triple {60227#(<= ~counter~0 8)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {60252#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:39,400 INFO L290 TraceCheckUtils]: 82: Hoare triple {60252#(<= ~counter~0 9)} assume !!(#t~post7 < 20);havoc #t~post7; {60252#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:39,400 INFO L272 TraceCheckUtils]: 83: Hoare triple {60252#(<= ~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)); {60252#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:39,401 INFO L290 TraceCheckUtils]: 84: Hoare triple {60252#(<= ~counter~0 9)} ~cond := #in~cond; {60252#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:39,401 INFO L290 TraceCheckUtils]: 85: Hoare triple {60252#(<= ~counter~0 9)} assume !(0 == ~cond); {60252#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:39,401 INFO L290 TraceCheckUtils]: 86: Hoare triple {60252#(<= ~counter~0 9)} assume true; {60252#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:39,402 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {60252#(<= ~counter~0 9)} {60252#(<= ~counter~0 9)} #96#return; {60252#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:39,402 INFO L290 TraceCheckUtils]: 88: Hoare triple {60252#(<= ~counter~0 9)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {60252#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:39,402 INFO L290 TraceCheckUtils]: 89: Hoare triple {60252#(<= ~counter~0 9)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {60277#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:39,403 INFO L290 TraceCheckUtils]: 90: Hoare triple {60277#(<= ~counter~0 10)} assume !!(#t~post7 < 20);havoc #t~post7; {60277#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:39,403 INFO L272 TraceCheckUtils]: 91: Hoare triple {60277#(<= ~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)); {60277#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:39,403 INFO L290 TraceCheckUtils]: 92: Hoare triple {60277#(<= ~counter~0 10)} ~cond := #in~cond; {60277#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:39,404 INFO L290 TraceCheckUtils]: 93: Hoare triple {60277#(<= ~counter~0 10)} assume !(0 == ~cond); {60277#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:39,404 INFO L290 TraceCheckUtils]: 94: Hoare triple {60277#(<= ~counter~0 10)} assume true; {60277#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:39,404 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {60277#(<= ~counter~0 10)} {60277#(<= ~counter~0 10)} #96#return; {60277#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:39,405 INFO L290 TraceCheckUtils]: 96: Hoare triple {60277#(<= ~counter~0 10)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {60277#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:39,405 INFO L290 TraceCheckUtils]: 97: Hoare triple {60277#(<= ~counter~0 10)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {60302#(<= |main_#t~post7| 10)} is VALID [2022-04-28 12:43:39,405 INFO L290 TraceCheckUtils]: 98: Hoare triple {60302#(<= |main_#t~post7| 10)} assume !(#t~post7 < 20);havoc #t~post7; {59996#false} is VALID [2022-04-28 12:43:39,405 INFO L290 TraceCheckUtils]: 99: Hoare triple {59996#false} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {59996#false} is VALID [2022-04-28 12:43:39,406 INFO L290 TraceCheckUtils]: 100: Hoare triple {59996#false} assume !(#t~post8 < 20);havoc #t~post8; {59996#false} is VALID [2022-04-28 12:43:39,406 INFO L290 TraceCheckUtils]: 101: Hoare triple {59996#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {59996#false} is VALID [2022-04-28 12:43:39,406 INFO L290 TraceCheckUtils]: 102: Hoare triple {59996#false} assume !(#t~post6 < 20);havoc #t~post6; {59996#false} is VALID [2022-04-28 12:43:39,406 INFO L272 TraceCheckUtils]: 103: Hoare triple {59996#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)); {59996#false} is VALID [2022-04-28 12:43:39,406 INFO L290 TraceCheckUtils]: 104: Hoare triple {59996#false} ~cond := #in~cond; {59996#false} is VALID [2022-04-28 12:43:39,406 INFO L290 TraceCheckUtils]: 105: Hoare triple {59996#false} assume 0 == ~cond; {59996#false} is VALID [2022-04-28 12:43:39,406 INFO L290 TraceCheckUtils]: 106: Hoare triple {59996#false} assume !false; {59996#false} is VALID [2022-04-28 12:43:39,406 INFO L134 CoverageAnalysis]: Checked inductivity of 292 backedges. 28 proven. 260 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:43:39,406 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:43:40,004 INFO L290 TraceCheckUtils]: 106: Hoare triple {59996#false} assume !false; {59996#false} is VALID [2022-04-28 12:43:40,004 INFO L290 TraceCheckUtils]: 105: Hoare triple {59996#false} assume 0 == ~cond; {59996#false} is VALID [2022-04-28 12:43:40,004 INFO L290 TraceCheckUtils]: 104: Hoare triple {59996#false} ~cond := #in~cond; {59996#false} is VALID [2022-04-28 12:43:40,004 INFO L272 TraceCheckUtils]: 103: Hoare triple {59996#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)); {59996#false} is VALID [2022-04-28 12:43:40,004 INFO L290 TraceCheckUtils]: 102: Hoare triple {59996#false} assume !(#t~post6 < 20);havoc #t~post6; {59996#false} is VALID [2022-04-28 12:43:40,004 INFO L290 TraceCheckUtils]: 101: Hoare triple {59996#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {59996#false} is VALID [2022-04-28 12:43:40,004 INFO L290 TraceCheckUtils]: 100: Hoare triple {59996#false} assume !(#t~post8 < 20);havoc #t~post8; {59996#false} is VALID [2022-04-28 12:43:40,004 INFO L290 TraceCheckUtils]: 99: Hoare triple {59996#false} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {59996#false} is VALID [2022-04-28 12:43:40,005 INFO L290 TraceCheckUtils]: 98: Hoare triple {60354#(< |main_#t~post7| 20)} assume !(#t~post7 < 20);havoc #t~post7; {59996#false} is VALID [2022-04-28 12:43:40,005 INFO L290 TraceCheckUtils]: 97: Hoare triple {60358#(< ~counter~0 20)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {60354#(< |main_#t~post7| 20)} is VALID [2022-04-28 12:43:40,005 INFO L290 TraceCheckUtils]: 96: Hoare triple {60358#(< ~counter~0 20)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {60358#(< ~counter~0 20)} is VALID [2022-04-28 12:43:40,006 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {59995#true} {60358#(< ~counter~0 20)} #96#return; {60358#(< ~counter~0 20)} is VALID [2022-04-28 12:43:40,006 INFO L290 TraceCheckUtils]: 94: Hoare triple {59995#true} assume true; {59995#true} is VALID [2022-04-28 12:43:40,006 INFO L290 TraceCheckUtils]: 93: Hoare triple {59995#true} assume !(0 == ~cond); {59995#true} is VALID [2022-04-28 12:43:40,006 INFO L290 TraceCheckUtils]: 92: Hoare triple {59995#true} ~cond := #in~cond; {59995#true} is VALID [2022-04-28 12:43:40,006 INFO L272 TraceCheckUtils]: 91: Hoare triple {60358#(< ~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)); {59995#true} is VALID [2022-04-28 12:43:40,006 INFO L290 TraceCheckUtils]: 90: Hoare triple {60358#(< ~counter~0 20)} assume !!(#t~post7 < 20);havoc #t~post7; {60358#(< ~counter~0 20)} is VALID [2022-04-28 12:43:40,008 INFO L290 TraceCheckUtils]: 89: Hoare triple {60383#(< ~counter~0 19)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {60358#(< ~counter~0 20)} is VALID [2022-04-28 12:43:40,008 INFO L290 TraceCheckUtils]: 88: Hoare triple {60383#(< ~counter~0 19)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {60383#(< ~counter~0 19)} is VALID [2022-04-28 12:43:40,009 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {59995#true} {60383#(< ~counter~0 19)} #96#return; {60383#(< ~counter~0 19)} is VALID [2022-04-28 12:43:40,009 INFO L290 TraceCheckUtils]: 86: Hoare triple {59995#true} assume true; {59995#true} is VALID [2022-04-28 12:43:40,009 INFO L290 TraceCheckUtils]: 85: Hoare triple {59995#true} assume !(0 == ~cond); {59995#true} is VALID [2022-04-28 12:43:40,009 INFO L290 TraceCheckUtils]: 84: Hoare triple {59995#true} ~cond := #in~cond; {59995#true} is VALID [2022-04-28 12:43:40,009 INFO L272 TraceCheckUtils]: 83: Hoare triple {60383#(< ~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)); {59995#true} is VALID [2022-04-28 12:43:40,009 INFO L290 TraceCheckUtils]: 82: Hoare triple {60383#(< ~counter~0 19)} assume !!(#t~post7 < 20);havoc #t~post7; {60383#(< ~counter~0 19)} is VALID [2022-04-28 12:43:40,010 INFO L290 TraceCheckUtils]: 81: Hoare triple {60408#(< ~counter~0 18)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {60383#(< ~counter~0 19)} is VALID [2022-04-28 12:43:40,010 INFO L290 TraceCheckUtils]: 80: Hoare triple {60408#(< ~counter~0 18)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {60408#(< ~counter~0 18)} is VALID [2022-04-28 12:43:40,011 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {59995#true} {60408#(< ~counter~0 18)} #96#return; {60408#(< ~counter~0 18)} is VALID [2022-04-28 12:43:40,011 INFO L290 TraceCheckUtils]: 78: Hoare triple {59995#true} assume true; {59995#true} is VALID [2022-04-28 12:43:40,011 INFO L290 TraceCheckUtils]: 77: Hoare triple {59995#true} assume !(0 == ~cond); {59995#true} is VALID [2022-04-28 12:43:40,011 INFO L290 TraceCheckUtils]: 76: Hoare triple {59995#true} ~cond := #in~cond; {59995#true} is VALID [2022-04-28 12:43:40,011 INFO L272 TraceCheckUtils]: 75: Hoare triple {60408#(< ~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)); {59995#true} is VALID [2022-04-28 12:43:40,011 INFO L290 TraceCheckUtils]: 74: Hoare triple {60408#(< ~counter~0 18)} assume !!(#t~post7 < 20);havoc #t~post7; {60408#(< ~counter~0 18)} is VALID [2022-04-28 12:43:40,012 INFO L290 TraceCheckUtils]: 73: Hoare triple {60433#(< ~counter~0 17)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {60408#(< ~counter~0 18)} is VALID [2022-04-28 12:43:40,012 INFO L290 TraceCheckUtils]: 72: Hoare triple {60433#(< ~counter~0 17)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {60433#(< ~counter~0 17)} is VALID [2022-04-28 12:43:40,013 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {59995#true} {60433#(< ~counter~0 17)} #96#return; {60433#(< ~counter~0 17)} is VALID [2022-04-28 12:43:40,013 INFO L290 TraceCheckUtils]: 70: Hoare triple {59995#true} assume true; {59995#true} is VALID [2022-04-28 12:43:40,013 INFO L290 TraceCheckUtils]: 69: Hoare triple {59995#true} assume !(0 == ~cond); {59995#true} is VALID [2022-04-28 12:43:40,013 INFO L290 TraceCheckUtils]: 68: Hoare triple {59995#true} ~cond := #in~cond; {59995#true} is VALID [2022-04-28 12:43:40,013 INFO L272 TraceCheckUtils]: 67: Hoare triple {60433#(< ~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)); {59995#true} is VALID [2022-04-28 12:43:40,014 INFO L290 TraceCheckUtils]: 66: Hoare triple {60433#(< ~counter~0 17)} assume !!(#t~post7 < 20);havoc #t~post7; {60433#(< ~counter~0 17)} is VALID [2022-04-28 12:43:40,014 INFO L290 TraceCheckUtils]: 65: Hoare triple {60458#(< ~counter~0 16)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {60433#(< ~counter~0 17)} is VALID [2022-04-28 12:43:40,015 INFO L290 TraceCheckUtils]: 64: Hoare triple {60458#(< ~counter~0 16)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {60458#(< ~counter~0 16)} is VALID [2022-04-28 12:43:40,015 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {59995#true} {60458#(< ~counter~0 16)} #96#return; {60458#(< ~counter~0 16)} is VALID [2022-04-28 12:43:40,015 INFO L290 TraceCheckUtils]: 62: Hoare triple {59995#true} assume true; {59995#true} is VALID [2022-04-28 12:43:40,015 INFO L290 TraceCheckUtils]: 61: Hoare triple {59995#true} assume !(0 == ~cond); {59995#true} is VALID [2022-04-28 12:43:40,015 INFO L290 TraceCheckUtils]: 60: Hoare triple {59995#true} ~cond := #in~cond; {59995#true} is VALID [2022-04-28 12:43:40,015 INFO L272 TraceCheckUtils]: 59: Hoare triple {60458#(< ~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)); {59995#true} is VALID [2022-04-28 12:43:40,016 INFO L290 TraceCheckUtils]: 58: Hoare triple {60458#(< ~counter~0 16)} assume !!(#t~post7 < 20);havoc #t~post7; {60458#(< ~counter~0 16)} is VALID [2022-04-28 12:43:40,017 INFO L290 TraceCheckUtils]: 57: Hoare triple {60483#(< ~counter~0 15)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {60458#(< ~counter~0 16)} is VALID [2022-04-28 12:43:40,017 INFO L290 TraceCheckUtils]: 56: Hoare triple {60483#(< ~counter~0 15)} assume !!(0 != ~r~0); {60483#(< ~counter~0 15)} is VALID [2022-04-28 12:43:40,017 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {59995#true} {60483#(< ~counter~0 15)} #94#return; {60483#(< ~counter~0 15)} is VALID [2022-04-28 12:43:40,018 INFO L290 TraceCheckUtils]: 54: Hoare triple {59995#true} assume true; {59995#true} is VALID [2022-04-28 12:43:40,018 INFO L290 TraceCheckUtils]: 53: Hoare triple {59995#true} assume !(0 == ~cond); {59995#true} is VALID [2022-04-28 12:43:40,018 INFO L290 TraceCheckUtils]: 52: Hoare triple {59995#true} ~cond := #in~cond; {59995#true} is VALID [2022-04-28 12:43:40,018 INFO L272 TraceCheckUtils]: 51: Hoare triple {60483#(< ~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)); {59995#true} is VALID [2022-04-28 12:43:40,018 INFO L290 TraceCheckUtils]: 50: Hoare triple {60483#(< ~counter~0 15)} assume !!(#t~post6 < 20);havoc #t~post6; {60483#(< ~counter~0 15)} is VALID [2022-04-28 12:43:40,019 INFO L290 TraceCheckUtils]: 49: Hoare triple {60508#(< ~counter~0 14)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {60483#(< ~counter~0 15)} is VALID [2022-04-28 12:43:40,019 INFO L290 TraceCheckUtils]: 48: Hoare triple {60508#(< ~counter~0 14)} assume !(~r~0 < 0); {60508#(< ~counter~0 14)} is VALID [2022-04-28 12:43:40,020 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {59995#true} {60508#(< ~counter~0 14)} #98#return; {60508#(< ~counter~0 14)} is VALID [2022-04-28 12:43:40,020 INFO L290 TraceCheckUtils]: 46: Hoare triple {59995#true} assume true; {59995#true} is VALID [2022-04-28 12:43:40,020 INFO L290 TraceCheckUtils]: 45: Hoare triple {59995#true} assume !(0 == ~cond); {59995#true} is VALID [2022-04-28 12:43:40,020 INFO L290 TraceCheckUtils]: 44: Hoare triple {59995#true} ~cond := #in~cond; {59995#true} is VALID [2022-04-28 12:43:40,020 INFO L272 TraceCheckUtils]: 43: Hoare triple {60508#(< ~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)); {59995#true} is VALID [2022-04-28 12:43:40,020 INFO L290 TraceCheckUtils]: 42: Hoare triple {60508#(< ~counter~0 14)} assume !!(#t~post8 < 20);havoc #t~post8; {60508#(< ~counter~0 14)} is VALID [2022-04-28 12:43:40,021 INFO L290 TraceCheckUtils]: 41: Hoare triple {60533#(< ~counter~0 13)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {60508#(< ~counter~0 14)} is VALID [2022-04-28 12:43:40,021 INFO L290 TraceCheckUtils]: 40: Hoare triple {60533#(< ~counter~0 13)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {60533#(< ~counter~0 13)} is VALID [2022-04-28 12:43:40,022 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {59995#true} {60533#(< ~counter~0 13)} #98#return; {60533#(< ~counter~0 13)} is VALID [2022-04-28 12:43:40,022 INFO L290 TraceCheckUtils]: 38: Hoare triple {59995#true} assume true; {59995#true} is VALID [2022-04-28 12:43:40,022 INFO L290 TraceCheckUtils]: 37: Hoare triple {59995#true} assume !(0 == ~cond); {59995#true} is VALID [2022-04-28 12:43:40,022 INFO L290 TraceCheckUtils]: 36: Hoare triple {59995#true} ~cond := #in~cond; {59995#true} is VALID [2022-04-28 12:43:40,022 INFO L272 TraceCheckUtils]: 35: Hoare triple {60533#(< ~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)); {59995#true} is VALID [2022-04-28 12:43:40,022 INFO L290 TraceCheckUtils]: 34: Hoare triple {60533#(< ~counter~0 13)} assume !!(#t~post8 < 20);havoc #t~post8; {60533#(< ~counter~0 13)} is VALID [2022-04-28 12:43:40,023 INFO L290 TraceCheckUtils]: 33: Hoare triple {60558#(< ~counter~0 12)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {60533#(< ~counter~0 13)} is VALID [2022-04-28 12:43:40,023 INFO L290 TraceCheckUtils]: 32: Hoare triple {60558#(< ~counter~0 12)} assume !(~r~0 > 0); {60558#(< ~counter~0 12)} is VALID [2022-04-28 12:43:40,024 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {59995#true} {60558#(< ~counter~0 12)} #96#return; {60558#(< ~counter~0 12)} is VALID [2022-04-28 12:43:40,024 INFO L290 TraceCheckUtils]: 30: Hoare triple {59995#true} assume true; {59995#true} is VALID [2022-04-28 12:43:40,024 INFO L290 TraceCheckUtils]: 29: Hoare triple {59995#true} assume !(0 == ~cond); {59995#true} is VALID [2022-04-28 12:43:40,024 INFO L290 TraceCheckUtils]: 28: Hoare triple {59995#true} ~cond := #in~cond; {59995#true} is VALID [2022-04-28 12:43:40,024 INFO L272 TraceCheckUtils]: 27: Hoare triple {60558#(< ~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)); {59995#true} is VALID [2022-04-28 12:43:40,024 INFO L290 TraceCheckUtils]: 26: Hoare triple {60558#(< ~counter~0 12)} assume !!(#t~post7 < 20);havoc #t~post7; {60558#(< ~counter~0 12)} is VALID [2022-04-28 12:43:40,025 INFO L290 TraceCheckUtils]: 25: Hoare triple {60277#(<= ~counter~0 10)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {60558#(< ~counter~0 12)} is VALID [2022-04-28 12:43:40,025 INFO L290 TraceCheckUtils]: 24: Hoare triple {60277#(<= ~counter~0 10)} assume !!(0 != ~r~0); {60277#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:40,026 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {59995#true} {60277#(<= ~counter~0 10)} #94#return; {60277#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:40,026 INFO L290 TraceCheckUtils]: 22: Hoare triple {59995#true} assume true; {59995#true} is VALID [2022-04-28 12:43:40,026 INFO L290 TraceCheckUtils]: 21: Hoare triple {59995#true} assume !(0 == ~cond); {59995#true} is VALID [2022-04-28 12:43:40,026 INFO L290 TraceCheckUtils]: 20: Hoare triple {59995#true} ~cond := #in~cond; {59995#true} is VALID [2022-04-28 12:43:40,026 INFO L272 TraceCheckUtils]: 19: Hoare triple {60277#(<= ~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)); {59995#true} is VALID [2022-04-28 12:43:40,026 INFO L290 TraceCheckUtils]: 18: Hoare triple {60277#(<= ~counter~0 10)} assume !!(#t~post6 < 20);havoc #t~post6; {60277#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:40,027 INFO L290 TraceCheckUtils]: 17: Hoare triple {60252#(<= ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {60277#(<= ~counter~0 10)} is VALID [2022-04-28 12:43:40,027 INFO L290 TraceCheckUtils]: 16: Hoare triple {60252#(<= ~counter~0 9)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {60252#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:40,027 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {59995#true} {60252#(<= ~counter~0 9)} #92#return; {60252#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:40,027 INFO L290 TraceCheckUtils]: 14: Hoare triple {59995#true} assume true; {59995#true} is VALID [2022-04-28 12:43:40,028 INFO L290 TraceCheckUtils]: 13: Hoare triple {59995#true} assume !(0 == ~cond); {59995#true} is VALID [2022-04-28 12:43:40,028 INFO L290 TraceCheckUtils]: 12: Hoare triple {59995#true} ~cond := #in~cond; {59995#true} is VALID [2022-04-28 12:43:40,028 INFO L272 TraceCheckUtils]: 11: Hoare triple {60252#(<= ~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)); {59995#true} is VALID [2022-04-28 12:43:40,028 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {59995#true} {60252#(<= ~counter~0 9)} #90#return; {60252#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:40,028 INFO L290 TraceCheckUtils]: 9: Hoare triple {59995#true} assume true; {59995#true} is VALID [2022-04-28 12:43:40,028 INFO L290 TraceCheckUtils]: 8: Hoare triple {59995#true} assume !(0 == ~cond); {59995#true} is VALID [2022-04-28 12:43:40,028 INFO L290 TraceCheckUtils]: 7: Hoare triple {59995#true} ~cond := #in~cond; {59995#true} is VALID [2022-04-28 12:43:40,028 INFO L272 TraceCheckUtils]: 6: Hoare triple {60252#(<= ~counter~0 9)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {59995#true} is VALID [2022-04-28 12:43:40,029 INFO L290 TraceCheckUtils]: 5: Hoare triple {60252#(<= ~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; {60252#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:40,029 INFO L272 TraceCheckUtils]: 4: Hoare triple {60252#(<= ~counter~0 9)} call #t~ret9 := main(); {60252#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:40,029 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {60252#(<= ~counter~0 9)} {59995#true} #102#return; {60252#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:40,029 INFO L290 TraceCheckUtils]: 2: Hoare triple {60252#(<= ~counter~0 9)} assume true; {60252#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:40,030 INFO L290 TraceCheckUtils]: 1: Hoare triple {59995#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; {60252#(<= ~counter~0 9)} is VALID [2022-04-28 12:43:40,030 INFO L272 TraceCheckUtils]: 0: Hoare triple {59995#true} call ULTIMATE.init(); {59995#true} is VALID [2022-04-28 12:43:40,035 INFO L134 CoverageAnalysis]: Checked inductivity of 292 backedges. 28 proven. 80 refuted. 0 times theorem prover too weak. 184 trivial. 0 not checked. [2022-04-28 12:43:40,035 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:43:40,035 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [3382698] [2022-04-28 12:43:40,036 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:43:40,036 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1110560892] [2022-04-28 12:43:40,036 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1110560892] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:43:40,036 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:43:40,036 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 14] total 24 [2022-04-28 12:43:40,036 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:43:40,036 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [300435830] [2022-04-28 12:43:40,036 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [300435830] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:43:40,036 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:43:40,036 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 12:43:40,036 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1123917855] [2022-04-28 12:43:40,036 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:43:40,037 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 5.428571428571429) internal successors, (76), 13 states have internal predecessors, (76), 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 107 [2022-04-28 12:43:40,037 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:43:40,037 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 5.428571428571429) internal successors, (76), 13 states have internal predecessors, (76), 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:43:40,110 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 104 edges. 104 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:43:40,110 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 12:43:40,110 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:43:40,111 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 12:43:40,111 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=236, Invalid=316, Unknown=0, NotChecked=0, Total=552 [2022-04-28 12:43:40,111 INFO L87 Difference]: Start difference. First operand 550 states and 738 transitions. Second operand has 14 states, 14 states have (on average 5.428571428571429) internal successors, (76), 13 states have internal predecessors, (76), 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:43:41,942 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:43:41,942 INFO L93 Difference]: Finished difference Result 767 states and 1065 transitions. [2022-04-28 12:43:41,942 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2022-04-28 12:43:41,942 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 5.428571428571429) internal successors, (76), 13 states have internal predecessors, (76), 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 107 [2022-04-28 12:43:41,942 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:43:41,942 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 5.428571428571429) internal successors, (76), 13 states have internal predecessors, (76), 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:43:41,944 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 236 transitions. [2022-04-28 12:43:41,944 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 5.428571428571429) internal successors, (76), 13 states have internal predecessors, (76), 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:43:41,945 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 236 transitions. [2022-04-28 12:43:41,946 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 23 states and 236 transitions. [2022-04-28 12:43:42,132 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 236 edges. 236 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:43:42,146 INFO L225 Difference]: With dead ends: 767 [2022-04-28 12:43:42,146 INFO L226 Difference]: Without dead ends: 566 [2022-04-28 12:43:42,147 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 222 GetRequests, 190 SyntacticMatches, 1 SemanticMatches, 31 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 74 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=434, Invalid=622, Unknown=0, NotChecked=0, Total=1056 [2022-04-28 12:43:42,147 INFO L413 NwaCegarLoop]: 60 mSDtfsCounter, 153 mSDsluCounter, 194 mSDsCounter, 0 mSdLazyCounter, 138 mSolverCounterSat, 113 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 153 SdHoareTripleChecker+Valid, 254 SdHoareTripleChecker+Invalid, 251 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 113 IncrementalHoareTripleChecker+Valid, 138 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 12:43:42,147 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [153 Valid, 254 Invalid, 251 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [113 Valid, 138 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 12:43:42,148 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 566 states. [2022-04-28 12:43:43,197 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 566 to 566. [2022-04-28 12:43:43,197 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:43:43,198 INFO L82 GeneralOperation]: Start isEquivalent. First operand 566 states. Second operand has 566 states, 431 states have (on average 1.2250580046403712) internal successors, (528), 431 states have internal predecessors, (528), 114 states have call successors, (114), 22 states have call predecessors, (114), 20 states have return successors, (112), 112 states have call predecessors, (112), 112 states have call successors, (112) [2022-04-28 12:43:43,198 INFO L74 IsIncluded]: Start isIncluded. First operand 566 states. Second operand has 566 states, 431 states have (on average 1.2250580046403712) internal successors, (528), 431 states have internal predecessors, (528), 114 states have call successors, (114), 22 states have call predecessors, (114), 20 states have return successors, (112), 112 states have call predecessors, (112), 112 states have call successors, (112) [2022-04-28 12:43:43,199 INFO L87 Difference]: Start difference. First operand 566 states. Second operand has 566 states, 431 states have (on average 1.2250580046403712) internal successors, (528), 431 states have internal predecessors, (528), 114 states have call successors, (114), 22 states have call predecessors, (114), 20 states have return successors, (112), 112 states have call predecessors, (112), 112 states have call successors, (112) [2022-04-28 12:43:43,210 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:43:43,210 INFO L93 Difference]: Finished difference Result 566 states and 754 transitions. [2022-04-28 12:43:43,210 INFO L276 IsEmpty]: Start isEmpty. Operand 566 states and 754 transitions. [2022-04-28 12:43:43,211 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:43:43,211 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:43:43,212 INFO L74 IsIncluded]: Start isIncluded. First operand has 566 states, 431 states have (on average 1.2250580046403712) internal successors, (528), 431 states have internal predecessors, (528), 114 states have call successors, (114), 22 states have call predecessors, (114), 20 states have return successors, (112), 112 states have call predecessors, (112), 112 states have call successors, (112) Second operand 566 states. [2022-04-28 12:43:43,212 INFO L87 Difference]: Start difference. First operand has 566 states, 431 states have (on average 1.2250580046403712) internal successors, (528), 431 states have internal predecessors, (528), 114 states have call successors, (114), 22 states have call predecessors, (114), 20 states have return successors, (112), 112 states have call predecessors, (112), 112 states have call successors, (112) Second operand 566 states. [2022-04-28 12:43:43,225 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:43:43,225 INFO L93 Difference]: Finished difference Result 566 states and 754 transitions. [2022-04-28 12:43:43,225 INFO L276 IsEmpty]: Start isEmpty. Operand 566 states and 754 transitions. [2022-04-28 12:43:43,226 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:43:43,226 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:43:43,226 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:43:43,226 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:43:43,227 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 566 states, 431 states have (on average 1.2250580046403712) internal successors, (528), 431 states have internal predecessors, (528), 114 states have call successors, (114), 22 states have call predecessors, (114), 20 states have return successors, (112), 112 states have call predecessors, (112), 112 states have call successors, (112) [2022-04-28 12:43:43,243 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 566 states to 566 states and 754 transitions. [2022-04-28 12:43:43,243 INFO L78 Accepts]: Start accepts. Automaton has 566 states and 754 transitions. Word has length 107 [2022-04-28 12:43:43,243 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:43:43,244 INFO L495 AbstractCegarLoop]: Abstraction has 566 states and 754 transitions. [2022-04-28 12:43:43,244 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 5.428571428571429) internal successors, (76), 13 states have internal predecessors, (76), 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:43:43,244 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 566 states and 754 transitions. [2022-04-28 12:44:00,121 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 754 edges. 751 inductive. 0 not inductive. 3 times theorem prover too weak to decide inductivity. [2022-04-28 12:44:00,121 INFO L276 IsEmpty]: Start isEmpty. Operand 566 states and 754 transitions. [2022-04-28 12:44:00,122 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 112 [2022-04-28 12:44:00,122 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:44:00,122 INFO L195 NwaCegarLoop]: trace histogram [12, 11, 11, 5, 5, 5, 5, 4, 4, 4, 4, 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:44:00,127 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (35)] Forceful destruction successful, exit code 0 [2022-04-28 12:44:00,323 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable33,35 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:44:00,323 INFO L420 AbstractCegarLoop]: === Iteration 35 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:44:00,323 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:44:00,323 INFO L85 PathProgramCache]: Analyzing trace with hash -1965005106, now seen corresponding path program 5 times [2022-04-28 12:44:00,323 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:44:00,323 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [301755363] [2022-04-28 12:44:00,324 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:44:00,324 INFO L85 PathProgramCache]: Analyzing trace with hash -1965005106, now seen corresponding path program 6 times [2022-04-28 12:44:00,324 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:44:00,324 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1906422048] [2022-04-28 12:44:00,324 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:44:00,324 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:44:00,334 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:44:00,334 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1290709443] [2022-04-28 12:44:00,334 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 12:44:00,335 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:44:00,335 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:44:00,336 INFO L229 MonitoredProcess]: Starting monitored process 36 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:44:00,337 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (36)] Waiting until timeout for monitored process [2022-04-28 12:44:00,476 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 8 check-sat command(s) [2022-04-28 12:44:00,476 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:44:00,477 INFO L263 TraceCheckSpWp]: Trace formula consists of 278 conjuncts, 27 conjunts are in the unsatisfiable core [2022-04-28 12:44:00,497 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:44:00,499 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:44:01,019 INFO L272 TraceCheckUtils]: 0: Hoare triple {64476#true} call ULTIMATE.init(); {64476#true} is VALID [2022-04-28 12:44:01,020 INFO L290 TraceCheckUtils]: 1: Hoare triple {64476#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; {64484#(<= ~counter~0 0)} is VALID [2022-04-28 12:44:01,020 INFO L290 TraceCheckUtils]: 2: Hoare triple {64484#(<= ~counter~0 0)} assume true; {64484#(<= ~counter~0 0)} is VALID [2022-04-28 12:44:01,020 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {64484#(<= ~counter~0 0)} {64476#true} #102#return; {64484#(<= ~counter~0 0)} is VALID [2022-04-28 12:44:01,021 INFO L272 TraceCheckUtils]: 4: Hoare triple {64484#(<= ~counter~0 0)} call #t~ret9 := main(); {64484#(<= ~counter~0 0)} is VALID [2022-04-28 12:44:01,021 INFO L290 TraceCheckUtils]: 5: Hoare triple {64484#(<= ~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; {64484#(<= ~counter~0 0)} is VALID [2022-04-28 12:44:01,021 INFO L272 TraceCheckUtils]: 6: Hoare triple {64484#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {64484#(<= ~counter~0 0)} is VALID [2022-04-28 12:44:01,022 INFO L290 TraceCheckUtils]: 7: Hoare triple {64484#(<= ~counter~0 0)} ~cond := #in~cond; {64484#(<= ~counter~0 0)} is VALID [2022-04-28 12:44:01,022 INFO L290 TraceCheckUtils]: 8: Hoare triple {64484#(<= ~counter~0 0)} assume !(0 == ~cond); {64484#(<= ~counter~0 0)} is VALID [2022-04-28 12:44:01,022 INFO L290 TraceCheckUtils]: 9: Hoare triple {64484#(<= ~counter~0 0)} assume true; {64484#(<= ~counter~0 0)} is VALID [2022-04-28 12:44:01,023 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {64484#(<= ~counter~0 0)} {64484#(<= ~counter~0 0)} #90#return; {64484#(<= ~counter~0 0)} is VALID [2022-04-28 12:44:01,023 INFO L272 TraceCheckUtils]: 11: Hoare triple {64484#(<= ~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)); {64484#(<= ~counter~0 0)} is VALID [2022-04-28 12:44:01,023 INFO L290 TraceCheckUtils]: 12: Hoare triple {64484#(<= ~counter~0 0)} ~cond := #in~cond; {64484#(<= ~counter~0 0)} is VALID [2022-04-28 12:44:01,024 INFO L290 TraceCheckUtils]: 13: Hoare triple {64484#(<= ~counter~0 0)} assume !(0 == ~cond); {64484#(<= ~counter~0 0)} is VALID [2022-04-28 12:44:01,024 INFO L290 TraceCheckUtils]: 14: Hoare triple {64484#(<= ~counter~0 0)} assume true; {64484#(<= ~counter~0 0)} is VALID [2022-04-28 12:44:01,024 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {64484#(<= ~counter~0 0)} {64484#(<= ~counter~0 0)} #92#return; {64484#(<= ~counter~0 0)} is VALID [2022-04-28 12:44:01,025 INFO L290 TraceCheckUtils]: 16: Hoare triple {64484#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {64484#(<= ~counter~0 0)} is VALID [2022-04-28 12:44:01,026 INFO L290 TraceCheckUtils]: 17: Hoare triple {64484#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {64533#(<= ~counter~0 1)} is VALID [2022-04-28 12:44:01,026 INFO L290 TraceCheckUtils]: 18: Hoare triple {64533#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {64533#(<= ~counter~0 1)} is VALID [2022-04-28 12:44:01,027 INFO L272 TraceCheckUtils]: 19: Hoare triple {64533#(<= ~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)); {64533#(<= ~counter~0 1)} is VALID [2022-04-28 12:44:01,027 INFO L290 TraceCheckUtils]: 20: Hoare triple {64533#(<= ~counter~0 1)} ~cond := #in~cond; {64533#(<= ~counter~0 1)} is VALID [2022-04-28 12:44:01,027 INFO L290 TraceCheckUtils]: 21: Hoare triple {64533#(<= ~counter~0 1)} assume !(0 == ~cond); {64533#(<= ~counter~0 1)} is VALID [2022-04-28 12:44:01,028 INFO L290 TraceCheckUtils]: 22: Hoare triple {64533#(<= ~counter~0 1)} assume true; {64533#(<= ~counter~0 1)} is VALID [2022-04-28 12:44:01,028 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {64533#(<= ~counter~0 1)} {64533#(<= ~counter~0 1)} #94#return; {64533#(<= ~counter~0 1)} is VALID [2022-04-28 12:44:01,029 INFO L290 TraceCheckUtils]: 24: Hoare triple {64533#(<= ~counter~0 1)} assume !!(0 != ~r~0); {64533#(<= ~counter~0 1)} is VALID [2022-04-28 12:44:01,029 INFO L290 TraceCheckUtils]: 25: Hoare triple {64533#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {64558#(<= ~counter~0 2)} is VALID [2022-04-28 12:44:01,030 INFO L290 TraceCheckUtils]: 26: Hoare triple {64558#(<= ~counter~0 2)} assume !!(#t~post7 < 20);havoc #t~post7; {64558#(<= ~counter~0 2)} is VALID [2022-04-28 12:44:01,030 INFO L272 TraceCheckUtils]: 27: Hoare triple {64558#(<= ~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)); {64558#(<= ~counter~0 2)} is VALID [2022-04-28 12:44:01,030 INFO L290 TraceCheckUtils]: 28: Hoare triple {64558#(<= ~counter~0 2)} ~cond := #in~cond; {64558#(<= ~counter~0 2)} is VALID [2022-04-28 12:44:01,031 INFO L290 TraceCheckUtils]: 29: Hoare triple {64558#(<= ~counter~0 2)} assume !(0 == ~cond); {64558#(<= ~counter~0 2)} is VALID [2022-04-28 12:44:01,031 INFO L290 TraceCheckUtils]: 30: Hoare triple {64558#(<= ~counter~0 2)} assume true; {64558#(<= ~counter~0 2)} is VALID [2022-04-28 12:44:01,031 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {64558#(<= ~counter~0 2)} {64558#(<= ~counter~0 2)} #96#return; {64558#(<= ~counter~0 2)} is VALID [2022-04-28 12:44:01,032 INFO L290 TraceCheckUtils]: 32: Hoare triple {64558#(<= ~counter~0 2)} assume !(~r~0 > 0); {64558#(<= ~counter~0 2)} is VALID [2022-04-28 12:44:01,032 INFO L290 TraceCheckUtils]: 33: Hoare triple {64558#(<= ~counter~0 2)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {64583#(<= ~counter~0 3)} is VALID [2022-04-28 12:44:01,033 INFO L290 TraceCheckUtils]: 34: Hoare triple {64583#(<= ~counter~0 3)} assume !!(#t~post8 < 20);havoc #t~post8; {64583#(<= ~counter~0 3)} is VALID [2022-04-28 12:44:01,033 INFO L272 TraceCheckUtils]: 35: Hoare triple {64583#(<= ~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)); {64583#(<= ~counter~0 3)} is VALID [2022-04-28 12:44:01,034 INFO L290 TraceCheckUtils]: 36: Hoare triple {64583#(<= ~counter~0 3)} ~cond := #in~cond; {64583#(<= ~counter~0 3)} is VALID [2022-04-28 12:44:01,034 INFO L290 TraceCheckUtils]: 37: Hoare triple {64583#(<= ~counter~0 3)} assume !(0 == ~cond); {64583#(<= ~counter~0 3)} is VALID [2022-04-28 12:44:01,034 INFO L290 TraceCheckUtils]: 38: Hoare triple {64583#(<= ~counter~0 3)} assume true; {64583#(<= ~counter~0 3)} is VALID [2022-04-28 12:44:01,035 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {64583#(<= ~counter~0 3)} {64583#(<= ~counter~0 3)} #98#return; {64583#(<= ~counter~0 3)} is VALID [2022-04-28 12:44:01,035 INFO L290 TraceCheckUtils]: 40: Hoare triple {64583#(<= ~counter~0 3)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {64583#(<= ~counter~0 3)} is VALID [2022-04-28 12:44:01,036 INFO L290 TraceCheckUtils]: 41: Hoare triple {64583#(<= ~counter~0 3)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {64608#(<= ~counter~0 4)} is VALID [2022-04-28 12:44:01,036 INFO L290 TraceCheckUtils]: 42: Hoare triple {64608#(<= ~counter~0 4)} assume !!(#t~post8 < 20);havoc #t~post8; {64608#(<= ~counter~0 4)} is VALID [2022-04-28 12:44:01,037 INFO L272 TraceCheckUtils]: 43: Hoare triple {64608#(<= ~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)); {64608#(<= ~counter~0 4)} is VALID [2022-04-28 12:44:01,037 INFO L290 TraceCheckUtils]: 44: Hoare triple {64608#(<= ~counter~0 4)} ~cond := #in~cond; {64608#(<= ~counter~0 4)} is VALID [2022-04-28 12:44:01,037 INFO L290 TraceCheckUtils]: 45: Hoare triple {64608#(<= ~counter~0 4)} assume !(0 == ~cond); {64608#(<= ~counter~0 4)} is VALID [2022-04-28 12:44:01,037 INFO L290 TraceCheckUtils]: 46: Hoare triple {64608#(<= ~counter~0 4)} assume true; {64608#(<= ~counter~0 4)} is VALID [2022-04-28 12:44:01,038 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {64608#(<= ~counter~0 4)} {64608#(<= ~counter~0 4)} #98#return; {64608#(<= ~counter~0 4)} is VALID [2022-04-28 12:44:01,038 INFO L290 TraceCheckUtils]: 48: Hoare triple {64608#(<= ~counter~0 4)} assume !(~r~0 < 0); {64608#(<= ~counter~0 4)} is VALID [2022-04-28 12:44:01,039 INFO L290 TraceCheckUtils]: 49: Hoare triple {64608#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {64633#(<= ~counter~0 5)} is VALID [2022-04-28 12:44:01,039 INFO L290 TraceCheckUtils]: 50: Hoare triple {64633#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {64633#(<= ~counter~0 5)} is VALID [2022-04-28 12:44:01,040 INFO L272 TraceCheckUtils]: 51: Hoare triple {64633#(<= ~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)); {64633#(<= ~counter~0 5)} is VALID [2022-04-28 12:44:01,040 INFO L290 TraceCheckUtils]: 52: Hoare triple {64633#(<= ~counter~0 5)} ~cond := #in~cond; {64633#(<= ~counter~0 5)} is VALID [2022-04-28 12:44:01,040 INFO L290 TraceCheckUtils]: 53: Hoare triple {64633#(<= ~counter~0 5)} assume !(0 == ~cond); {64633#(<= ~counter~0 5)} is VALID [2022-04-28 12:44:01,041 INFO L290 TraceCheckUtils]: 54: Hoare triple {64633#(<= ~counter~0 5)} assume true; {64633#(<= ~counter~0 5)} is VALID [2022-04-28 12:44:01,041 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {64633#(<= ~counter~0 5)} {64633#(<= ~counter~0 5)} #94#return; {64633#(<= ~counter~0 5)} is VALID [2022-04-28 12:44:01,041 INFO L290 TraceCheckUtils]: 56: Hoare triple {64633#(<= ~counter~0 5)} assume !!(0 != ~r~0); {64633#(<= ~counter~0 5)} is VALID [2022-04-28 12:44:01,042 INFO L290 TraceCheckUtils]: 57: Hoare triple {64633#(<= ~counter~0 5)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {64658#(<= ~counter~0 6)} is VALID [2022-04-28 12:44:01,042 INFO L290 TraceCheckUtils]: 58: Hoare triple {64658#(<= ~counter~0 6)} assume !!(#t~post7 < 20);havoc #t~post7; {64658#(<= ~counter~0 6)} is VALID [2022-04-28 12:44:01,043 INFO L272 TraceCheckUtils]: 59: Hoare triple {64658#(<= ~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)); {64658#(<= ~counter~0 6)} is VALID [2022-04-28 12:44:01,043 INFO L290 TraceCheckUtils]: 60: Hoare triple {64658#(<= ~counter~0 6)} ~cond := #in~cond; {64658#(<= ~counter~0 6)} is VALID [2022-04-28 12:44:01,043 INFO L290 TraceCheckUtils]: 61: Hoare triple {64658#(<= ~counter~0 6)} assume !(0 == ~cond); {64658#(<= ~counter~0 6)} is VALID [2022-04-28 12:44:01,044 INFO L290 TraceCheckUtils]: 62: Hoare triple {64658#(<= ~counter~0 6)} assume true; {64658#(<= ~counter~0 6)} is VALID [2022-04-28 12:44:01,044 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {64658#(<= ~counter~0 6)} {64658#(<= ~counter~0 6)} #96#return; {64658#(<= ~counter~0 6)} is VALID [2022-04-28 12:44:01,045 INFO L290 TraceCheckUtils]: 64: Hoare triple {64658#(<= ~counter~0 6)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {64658#(<= ~counter~0 6)} is VALID [2022-04-28 12:44:01,045 INFO L290 TraceCheckUtils]: 65: Hoare triple {64658#(<= ~counter~0 6)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {64683#(<= ~counter~0 7)} is VALID [2022-04-28 12:44:01,046 INFO L290 TraceCheckUtils]: 66: Hoare triple {64683#(<= ~counter~0 7)} assume !!(#t~post7 < 20);havoc #t~post7; {64683#(<= ~counter~0 7)} is VALID [2022-04-28 12:44:01,046 INFO L272 TraceCheckUtils]: 67: Hoare triple {64683#(<= ~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)); {64683#(<= ~counter~0 7)} is VALID [2022-04-28 12:44:01,046 INFO L290 TraceCheckUtils]: 68: Hoare triple {64683#(<= ~counter~0 7)} ~cond := #in~cond; {64683#(<= ~counter~0 7)} is VALID [2022-04-28 12:44:01,047 INFO L290 TraceCheckUtils]: 69: Hoare triple {64683#(<= ~counter~0 7)} assume !(0 == ~cond); {64683#(<= ~counter~0 7)} is VALID [2022-04-28 12:44:01,047 INFO L290 TraceCheckUtils]: 70: Hoare triple {64683#(<= ~counter~0 7)} assume true; {64683#(<= ~counter~0 7)} is VALID [2022-04-28 12:44:01,047 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {64683#(<= ~counter~0 7)} {64683#(<= ~counter~0 7)} #96#return; {64683#(<= ~counter~0 7)} is VALID [2022-04-28 12:44:01,048 INFO L290 TraceCheckUtils]: 72: Hoare triple {64683#(<= ~counter~0 7)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {64683#(<= ~counter~0 7)} is VALID [2022-04-28 12:44:01,048 INFO L290 TraceCheckUtils]: 73: Hoare triple {64683#(<= ~counter~0 7)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {64708#(<= ~counter~0 8)} is VALID [2022-04-28 12:44:01,049 INFO L290 TraceCheckUtils]: 74: Hoare triple {64708#(<= ~counter~0 8)} assume !!(#t~post7 < 20);havoc #t~post7; {64708#(<= ~counter~0 8)} is VALID [2022-04-28 12:44:01,049 INFO L272 TraceCheckUtils]: 75: Hoare triple {64708#(<= ~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)); {64708#(<= ~counter~0 8)} is VALID [2022-04-28 12:44:01,049 INFO L290 TraceCheckUtils]: 76: Hoare triple {64708#(<= ~counter~0 8)} ~cond := #in~cond; {64708#(<= ~counter~0 8)} is VALID [2022-04-28 12:44:01,050 INFO L290 TraceCheckUtils]: 77: Hoare triple {64708#(<= ~counter~0 8)} assume !(0 == ~cond); {64708#(<= ~counter~0 8)} is VALID [2022-04-28 12:44:01,050 INFO L290 TraceCheckUtils]: 78: Hoare triple {64708#(<= ~counter~0 8)} assume true; {64708#(<= ~counter~0 8)} is VALID [2022-04-28 12:44:01,050 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {64708#(<= ~counter~0 8)} {64708#(<= ~counter~0 8)} #96#return; {64708#(<= ~counter~0 8)} is VALID [2022-04-28 12:44:01,051 INFO L290 TraceCheckUtils]: 80: Hoare triple {64708#(<= ~counter~0 8)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {64708#(<= ~counter~0 8)} is VALID [2022-04-28 12:44:01,051 INFO L290 TraceCheckUtils]: 81: Hoare triple {64708#(<= ~counter~0 8)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {64733#(<= ~counter~0 9)} is VALID [2022-04-28 12:44:01,052 INFO L290 TraceCheckUtils]: 82: Hoare triple {64733#(<= ~counter~0 9)} assume !!(#t~post7 < 20);havoc #t~post7; {64733#(<= ~counter~0 9)} is VALID [2022-04-28 12:44:01,052 INFO L272 TraceCheckUtils]: 83: Hoare triple {64733#(<= ~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)); {64733#(<= ~counter~0 9)} is VALID [2022-04-28 12:44:01,052 INFO L290 TraceCheckUtils]: 84: Hoare triple {64733#(<= ~counter~0 9)} ~cond := #in~cond; {64733#(<= ~counter~0 9)} is VALID [2022-04-28 12:44:01,053 INFO L290 TraceCheckUtils]: 85: Hoare triple {64733#(<= ~counter~0 9)} assume !(0 == ~cond); {64733#(<= ~counter~0 9)} is VALID [2022-04-28 12:44:01,053 INFO L290 TraceCheckUtils]: 86: Hoare triple {64733#(<= ~counter~0 9)} assume true; {64733#(<= ~counter~0 9)} is VALID [2022-04-28 12:44:01,053 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {64733#(<= ~counter~0 9)} {64733#(<= ~counter~0 9)} #96#return; {64733#(<= ~counter~0 9)} is VALID [2022-04-28 12:44:01,054 INFO L290 TraceCheckUtils]: 88: Hoare triple {64733#(<= ~counter~0 9)} assume !(~r~0 > 0); {64733#(<= ~counter~0 9)} is VALID [2022-04-28 12:44:01,054 INFO L290 TraceCheckUtils]: 89: Hoare triple {64733#(<= ~counter~0 9)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {64758#(<= ~counter~0 10)} is VALID [2022-04-28 12:44:01,054 INFO L290 TraceCheckUtils]: 90: Hoare triple {64758#(<= ~counter~0 10)} assume !!(#t~post8 < 20);havoc #t~post8; {64758#(<= ~counter~0 10)} is VALID [2022-04-28 12:44:01,055 INFO L272 TraceCheckUtils]: 91: Hoare triple {64758#(<= ~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)); {64758#(<= ~counter~0 10)} is VALID [2022-04-28 12:44:01,055 INFO L290 TraceCheckUtils]: 92: Hoare triple {64758#(<= ~counter~0 10)} ~cond := #in~cond; {64758#(<= ~counter~0 10)} is VALID [2022-04-28 12:44:01,056 INFO L290 TraceCheckUtils]: 93: Hoare triple {64758#(<= ~counter~0 10)} assume !(0 == ~cond); {64758#(<= ~counter~0 10)} is VALID [2022-04-28 12:44:01,056 INFO L290 TraceCheckUtils]: 94: Hoare triple {64758#(<= ~counter~0 10)} assume true; {64758#(<= ~counter~0 10)} is VALID [2022-04-28 12:44:01,056 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {64758#(<= ~counter~0 10)} {64758#(<= ~counter~0 10)} #98#return; {64758#(<= ~counter~0 10)} is VALID [2022-04-28 12:44:01,057 INFO L290 TraceCheckUtils]: 96: Hoare triple {64758#(<= ~counter~0 10)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {64758#(<= ~counter~0 10)} is VALID [2022-04-28 12:44:01,057 INFO L290 TraceCheckUtils]: 97: Hoare triple {64758#(<= ~counter~0 10)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {64783#(<= ~counter~0 11)} is VALID [2022-04-28 12:44:01,058 INFO L290 TraceCheckUtils]: 98: Hoare triple {64783#(<= ~counter~0 11)} assume !!(#t~post8 < 20);havoc #t~post8; {64783#(<= ~counter~0 11)} is VALID [2022-04-28 12:44:01,058 INFO L272 TraceCheckUtils]: 99: Hoare triple {64783#(<= ~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)); {64783#(<= ~counter~0 11)} is VALID [2022-04-28 12:44:01,058 INFO L290 TraceCheckUtils]: 100: Hoare triple {64783#(<= ~counter~0 11)} ~cond := #in~cond; {64783#(<= ~counter~0 11)} is VALID [2022-04-28 12:44:01,058 INFO L290 TraceCheckUtils]: 101: Hoare triple {64783#(<= ~counter~0 11)} assume !(0 == ~cond); {64783#(<= ~counter~0 11)} is VALID [2022-04-28 12:44:01,059 INFO L290 TraceCheckUtils]: 102: Hoare triple {64783#(<= ~counter~0 11)} assume true; {64783#(<= ~counter~0 11)} is VALID [2022-04-28 12:44:01,060 INFO L284 TraceCheckUtils]: 103: Hoare quadruple {64783#(<= ~counter~0 11)} {64783#(<= ~counter~0 11)} #98#return; {64783#(<= ~counter~0 11)} is VALID [2022-04-28 12:44:01,061 INFO L290 TraceCheckUtils]: 104: Hoare triple {64783#(<= ~counter~0 11)} assume !(~r~0 < 0); {64783#(<= ~counter~0 11)} is VALID [2022-04-28 12:44:01,061 INFO L290 TraceCheckUtils]: 105: Hoare triple {64783#(<= ~counter~0 11)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {64808#(<= |main_#t~post6| 11)} is VALID [2022-04-28 12:44:01,061 INFO L290 TraceCheckUtils]: 106: Hoare triple {64808#(<= |main_#t~post6| 11)} assume !(#t~post6 < 20);havoc #t~post6; {64477#false} is VALID [2022-04-28 12:44:01,061 INFO L272 TraceCheckUtils]: 107: Hoare triple {64477#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)); {64477#false} is VALID [2022-04-28 12:44:01,061 INFO L290 TraceCheckUtils]: 108: Hoare triple {64477#false} ~cond := #in~cond; {64477#false} is VALID [2022-04-28 12:44:01,061 INFO L290 TraceCheckUtils]: 109: Hoare triple {64477#false} assume 0 == ~cond; {64477#false} is VALID [2022-04-28 12:44:01,062 INFO L290 TraceCheckUtils]: 110: Hoare triple {64477#false} assume !false; {64477#false} is VALID [2022-04-28 12:44:01,062 INFO L134 CoverageAnalysis]: Checked inductivity of 318 backedges. 22 proven. 292 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:44:01,062 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:44:01,617 INFO L290 TraceCheckUtils]: 110: Hoare triple {64477#false} assume !false; {64477#false} is VALID [2022-04-28 12:44:01,618 INFO L290 TraceCheckUtils]: 109: Hoare triple {64477#false} assume 0 == ~cond; {64477#false} is VALID [2022-04-28 12:44:01,618 INFO L290 TraceCheckUtils]: 108: Hoare triple {64477#false} ~cond := #in~cond; {64477#false} is VALID [2022-04-28 12:44:01,618 INFO L272 TraceCheckUtils]: 107: Hoare triple {64477#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)); {64477#false} is VALID [2022-04-28 12:44:01,618 INFO L290 TraceCheckUtils]: 106: Hoare triple {64836#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {64477#false} is VALID [2022-04-28 12:44:01,618 INFO L290 TraceCheckUtils]: 105: Hoare triple {64840#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {64836#(< |main_#t~post6| 20)} is VALID [2022-04-28 12:44:01,619 INFO L290 TraceCheckUtils]: 104: Hoare triple {64840#(< ~counter~0 20)} assume !(~r~0 < 0); {64840#(< ~counter~0 20)} is VALID [2022-04-28 12:44:01,621 INFO L284 TraceCheckUtils]: 103: Hoare quadruple {64476#true} {64840#(< ~counter~0 20)} #98#return; {64840#(< ~counter~0 20)} is VALID [2022-04-28 12:44:01,621 INFO L290 TraceCheckUtils]: 102: Hoare triple {64476#true} assume true; {64476#true} is VALID [2022-04-28 12:44:01,621 INFO L290 TraceCheckUtils]: 101: Hoare triple {64476#true} assume !(0 == ~cond); {64476#true} is VALID [2022-04-28 12:44:01,621 INFO L290 TraceCheckUtils]: 100: Hoare triple {64476#true} ~cond := #in~cond; {64476#true} is VALID [2022-04-28 12:44:01,621 INFO L272 TraceCheckUtils]: 99: Hoare triple {64840#(< ~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)); {64476#true} is VALID [2022-04-28 12:44:01,622 INFO L290 TraceCheckUtils]: 98: Hoare triple {64840#(< ~counter~0 20)} assume !!(#t~post8 < 20);havoc #t~post8; {64840#(< ~counter~0 20)} is VALID [2022-04-28 12:44:01,623 INFO L290 TraceCheckUtils]: 97: Hoare triple {64865#(< ~counter~0 19)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {64840#(< ~counter~0 20)} is VALID [2022-04-28 12:44:01,623 INFO L290 TraceCheckUtils]: 96: Hoare triple {64865#(< ~counter~0 19)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {64865#(< ~counter~0 19)} is VALID [2022-04-28 12:44:01,624 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {64476#true} {64865#(< ~counter~0 19)} #98#return; {64865#(< ~counter~0 19)} is VALID [2022-04-28 12:44:01,624 INFO L290 TraceCheckUtils]: 94: Hoare triple {64476#true} assume true; {64476#true} is VALID [2022-04-28 12:44:01,624 INFO L290 TraceCheckUtils]: 93: Hoare triple {64476#true} assume !(0 == ~cond); {64476#true} is VALID [2022-04-28 12:44:01,624 INFO L290 TraceCheckUtils]: 92: Hoare triple {64476#true} ~cond := #in~cond; {64476#true} is VALID [2022-04-28 12:44:01,624 INFO L272 TraceCheckUtils]: 91: Hoare triple {64865#(< ~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)); {64476#true} is VALID [2022-04-28 12:44:01,624 INFO L290 TraceCheckUtils]: 90: Hoare triple {64865#(< ~counter~0 19)} assume !!(#t~post8 < 20);havoc #t~post8; {64865#(< ~counter~0 19)} is VALID [2022-04-28 12:44:01,625 INFO L290 TraceCheckUtils]: 89: Hoare triple {64890#(< ~counter~0 18)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {64865#(< ~counter~0 19)} is VALID [2022-04-28 12:44:01,625 INFO L290 TraceCheckUtils]: 88: Hoare triple {64890#(< ~counter~0 18)} assume !(~r~0 > 0); {64890#(< ~counter~0 18)} is VALID [2022-04-28 12:44:01,626 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {64476#true} {64890#(< ~counter~0 18)} #96#return; {64890#(< ~counter~0 18)} is VALID [2022-04-28 12:44:01,626 INFO L290 TraceCheckUtils]: 86: Hoare triple {64476#true} assume true; {64476#true} is VALID [2022-04-28 12:44:01,626 INFO L290 TraceCheckUtils]: 85: Hoare triple {64476#true} assume !(0 == ~cond); {64476#true} is VALID [2022-04-28 12:44:01,626 INFO L290 TraceCheckUtils]: 84: Hoare triple {64476#true} ~cond := #in~cond; {64476#true} is VALID [2022-04-28 12:44:01,626 INFO L272 TraceCheckUtils]: 83: Hoare triple {64890#(< ~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)); {64476#true} is VALID [2022-04-28 12:44:01,626 INFO L290 TraceCheckUtils]: 82: Hoare triple {64890#(< ~counter~0 18)} assume !!(#t~post7 < 20);havoc #t~post7; {64890#(< ~counter~0 18)} is VALID [2022-04-28 12:44:01,627 INFO L290 TraceCheckUtils]: 81: Hoare triple {64915#(< ~counter~0 17)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {64890#(< ~counter~0 18)} is VALID [2022-04-28 12:44:01,627 INFO L290 TraceCheckUtils]: 80: Hoare triple {64915#(< ~counter~0 17)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {64915#(< ~counter~0 17)} is VALID [2022-04-28 12:44:01,628 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {64476#true} {64915#(< ~counter~0 17)} #96#return; {64915#(< ~counter~0 17)} is VALID [2022-04-28 12:44:01,628 INFO L290 TraceCheckUtils]: 78: Hoare triple {64476#true} assume true; {64476#true} is VALID [2022-04-28 12:44:01,628 INFO L290 TraceCheckUtils]: 77: Hoare triple {64476#true} assume !(0 == ~cond); {64476#true} is VALID [2022-04-28 12:44:01,628 INFO L290 TraceCheckUtils]: 76: Hoare triple {64476#true} ~cond := #in~cond; {64476#true} is VALID [2022-04-28 12:44:01,628 INFO L272 TraceCheckUtils]: 75: Hoare triple {64915#(< ~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)); {64476#true} is VALID [2022-04-28 12:44:01,628 INFO L290 TraceCheckUtils]: 74: Hoare triple {64915#(< ~counter~0 17)} assume !!(#t~post7 < 20);havoc #t~post7; {64915#(< ~counter~0 17)} is VALID [2022-04-28 12:44:01,629 INFO L290 TraceCheckUtils]: 73: Hoare triple {64940#(< ~counter~0 16)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {64915#(< ~counter~0 17)} is VALID [2022-04-28 12:44:01,629 INFO L290 TraceCheckUtils]: 72: Hoare triple {64940#(< ~counter~0 16)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {64940#(< ~counter~0 16)} is VALID [2022-04-28 12:44:01,630 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {64476#true} {64940#(< ~counter~0 16)} #96#return; {64940#(< ~counter~0 16)} is VALID [2022-04-28 12:44:01,630 INFO L290 TraceCheckUtils]: 70: Hoare triple {64476#true} assume true; {64476#true} is VALID [2022-04-28 12:44:01,630 INFO L290 TraceCheckUtils]: 69: Hoare triple {64476#true} assume !(0 == ~cond); {64476#true} is VALID [2022-04-28 12:44:01,630 INFO L290 TraceCheckUtils]: 68: Hoare triple {64476#true} ~cond := #in~cond; {64476#true} is VALID [2022-04-28 12:44:01,630 INFO L272 TraceCheckUtils]: 67: Hoare triple {64940#(< ~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)); {64476#true} is VALID [2022-04-28 12:44:01,630 INFO L290 TraceCheckUtils]: 66: Hoare triple {64940#(< ~counter~0 16)} assume !!(#t~post7 < 20);havoc #t~post7; {64940#(< ~counter~0 16)} is VALID [2022-04-28 12:44:01,631 INFO L290 TraceCheckUtils]: 65: Hoare triple {64965#(< ~counter~0 15)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {64940#(< ~counter~0 16)} is VALID [2022-04-28 12:44:01,631 INFO L290 TraceCheckUtils]: 64: Hoare triple {64965#(< ~counter~0 15)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {64965#(< ~counter~0 15)} is VALID [2022-04-28 12:44:01,632 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {64476#true} {64965#(< ~counter~0 15)} #96#return; {64965#(< ~counter~0 15)} is VALID [2022-04-28 12:44:01,632 INFO L290 TraceCheckUtils]: 62: Hoare triple {64476#true} assume true; {64476#true} is VALID [2022-04-28 12:44:01,632 INFO L290 TraceCheckUtils]: 61: Hoare triple {64476#true} assume !(0 == ~cond); {64476#true} is VALID [2022-04-28 12:44:01,632 INFO L290 TraceCheckUtils]: 60: Hoare triple {64476#true} ~cond := #in~cond; {64476#true} is VALID [2022-04-28 12:44:01,632 INFO L272 TraceCheckUtils]: 59: Hoare triple {64965#(< ~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)); {64476#true} is VALID [2022-04-28 12:44:01,632 INFO L290 TraceCheckUtils]: 58: Hoare triple {64965#(< ~counter~0 15)} assume !!(#t~post7 < 20);havoc #t~post7; {64965#(< ~counter~0 15)} is VALID [2022-04-28 12:44:01,633 INFO L290 TraceCheckUtils]: 57: Hoare triple {64990#(< ~counter~0 14)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {64965#(< ~counter~0 15)} is VALID [2022-04-28 12:44:01,633 INFO L290 TraceCheckUtils]: 56: Hoare triple {64990#(< ~counter~0 14)} assume !!(0 != ~r~0); {64990#(< ~counter~0 14)} is VALID [2022-04-28 12:44:01,634 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {64476#true} {64990#(< ~counter~0 14)} #94#return; {64990#(< ~counter~0 14)} is VALID [2022-04-28 12:44:01,634 INFO L290 TraceCheckUtils]: 54: Hoare triple {64476#true} assume true; {64476#true} is VALID [2022-04-28 12:44:01,634 INFO L290 TraceCheckUtils]: 53: Hoare triple {64476#true} assume !(0 == ~cond); {64476#true} is VALID [2022-04-28 12:44:01,634 INFO L290 TraceCheckUtils]: 52: Hoare triple {64476#true} ~cond := #in~cond; {64476#true} is VALID [2022-04-28 12:44:01,634 INFO L272 TraceCheckUtils]: 51: Hoare triple {64990#(< ~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)); {64476#true} is VALID [2022-04-28 12:44:01,634 INFO L290 TraceCheckUtils]: 50: Hoare triple {64990#(< ~counter~0 14)} assume !!(#t~post6 < 20);havoc #t~post6; {64990#(< ~counter~0 14)} is VALID [2022-04-28 12:44:01,635 INFO L290 TraceCheckUtils]: 49: Hoare triple {65015#(< ~counter~0 13)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {64990#(< ~counter~0 14)} is VALID [2022-04-28 12:44:01,635 INFO L290 TraceCheckUtils]: 48: Hoare triple {65015#(< ~counter~0 13)} assume !(~r~0 < 0); {65015#(< ~counter~0 13)} is VALID [2022-04-28 12:44:01,636 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {64476#true} {65015#(< ~counter~0 13)} #98#return; {65015#(< ~counter~0 13)} is VALID [2022-04-28 12:44:01,636 INFO L290 TraceCheckUtils]: 46: Hoare triple {64476#true} assume true; {64476#true} is VALID [2022-04-28 12:44:01,636 INFO L290 TraceCheckUtils]: 45: Hoare triple {64476#true} assume !(0 == ~cond); {64476#true} is VALID [2022-04-28 12:44:01,636 INFO L290 TraceCheckUtils]: 44: Hoare triple {64476#true} ~cond := #in~cond; {64476#true} is VALID [2022-04-28 12:44:01,636 INFO L272 TraceCheckUtils]: 43: Hoare triple {65015#(< ~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)); {64476#true} is VALID [2022-04-28 12:44:01,636 INFO L290 TraceCheckUtils]: 42: Hoare triple {65015#(< ~counter~0 13)} assume !!(#t~post8 < 20);havoc #t~post8; {65015#(< ~counter~0 13)} is VALID [2022-04-28 12:44:01,637 INFO L290 TraceCheckUtils]: 41: Hoare triple {64783#(<= ~counter~0 11)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {65015#(< ~counter~0 13)} is VALID [2022-04-28 12:44:01,637 INFO L290 TraceCheckUtils]: 40: Hoare triple {64783#(<= ~counter~0 11)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {64783#(<= ~counter~0 11)} is VALID [2022-04-28 12:44:01,638 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {64476#true} {64783#(<= ~counter~0 11)} #98#return; {64783#(<= ~counter~0 11)} is VALID [2022-04-28 12:44:01,638 INFO L290 TraceCheckUtils]: 38: Hoare triple {64476#true} assume true; {64476#true} is VALID [2022-04-28 12:44:01,638 INFO L290 TraceCheckUtils]: 37: Hoare triple {64476#true} assume !(0 == ~cond); {64476#true} is VALID [2022-04-28 12:44:01,638 INFO L290 TraceCheckUtils]: 36: Hoare triple {64476#true} ~cond := #in~cond; {64476#true} is VALID [2022-04-28 12:44:01,638 INFO L272 TraceCheckUtils]: 35: Hoare triple {64783#(<= ~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)); {64476#true} is VALID [2022-04-28 12:44:01,638 INFO L290 TraceCheckUtils]: 34: Hoare triple {64783#(<= ~counter~0 11)} assume !!(#t~post8 < 20);havoc #t~post8; {64783#(<= ~counter~0 11)} is VALID [2022-04-28 12:44:01,639 INFO L290 TraceCheckUtils]: 33: Hoare triple {64758#(<= ~counter~0 10)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {64783#(<= ~counter~0 11)} is VALID [2022-04-28 12:44:01,639 INFO L290 TraceCheckUtils]: 32: Hoare triple {64758#(<= ~counter~0 10)} assume !(~r~0 > 0); {64758#(<= ~counter~0 10)} is VALID [2022-04-28 12:44:01,640 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {64476#true} {64758#(<= ~counter~0 10)} #96#return; {64758#(<= ~counter~0 10)} is VALID [2022-04-28 12:44:01,640 INFO L290 TraceCheckUtils]: 30: Hoare triple {64476#true} assume true; {64476#true} is VALID [2022-04-28 12:44:01,640 INFO L290 TraceCheckUtils]: 29: Hoare triple {64476#true} assume !(0 == ~cond); {64476#true} is VALID [2022-04-28 12:44:01,640 INFO L290 TraceCheckUtils]: 28: Hoare triple {64476#true} ~cond := #in~cond; {64476#true} is VALID [2022-04-28 12:44:01,640 INFO L272 TraceCheckUtils]: 27: Hoare triple {64758#(<= ~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)); {64476#true} is VALID [2022-04-28 12:44:01,640 INFO L290 TraceCheckUtils]: 26: Hoare triple {64758#(<= ~counter~0 10)} assume !!(#t~post7 < 20);havoc #t~post7; {64758#(<= ~counter~0 10)} is VALID [2022-04-28 12:44:01,641 INFO L290 TraceCheckUtils]: 25: Hoare triple {64733#(<= ~counter~0 9)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {64758#(<= ~counter~0 10)} is VALID [2022-04-28 12:44:01,641 INFO L290 TraceCheckUtils]: 24: Hoare triple {64733#(<= ~counter~0 9)} assume !!(0 != ~r~0); {64733#(<= ~counter~0 9)} is VALID [2022-04-28 12:44:01,642 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {64476#true} {64733#(<= ~counter~0 9)} #94#return; {64733#(<= ~counter~0 9)} is VALID [2022-04-28 12:44:01,642 INFO L290 TraceCheckUtils]: 22: Hoare triple {64476#true} assume true; {64476#true} is VALID [2022-04-28 12:44:01,642 INFO L290 TraceCheckUtils]: 21: Hoare triple {64476#true} assume !(0 == ~cond); {64476#true} is VALID [2022-04-28 12:44:01,642 INFO L290 TraceCheckUtils]: 20: Hoare triple {64476#true} ~cond := #in~cond; {64476#true} is VALID [2022-04-28 12:44:01,642 INFO L272 TraceCheckUtils]: 19: Hoare triple {64733#(<= ~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)); {64476#true} is VALID [2022-04-28 12:44:01,642 INFO L290 TraceCheckUtils]: 18: Hoare triple {64733#(<= ~counter~0 9)} assume !!(#t~post6 < 20);havoc #t~post6; {64733#(<= ~counter~0 9)} is VALID [2022-04-28 12:44:01,643 INFO L290 TraceCheckUtils]: 17: Hoare triple {64708#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {64733#(<= ~counter~0 9)} is VALID [2022-04-28 12:44:01,643 INFO L290 TraceCheckUtils]: 16: Hoare triple {64708#(<= ~counter~0 8)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {64708#(<= ~counter~0 8)} is VALID [2022-04-28 12:44:01,644 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {64476#true} {64708#(<= ~counter~0 8)} #92#return; {64708#(<= ~counter~0 8)} is VALID [2022-04-28 12:44:01,644 INFO L290 TraceCheckUtils]: 14: Hoare triple {64476#true} assume true; {64476#true} is VALID [2022-04-28 12:44:01,644 INFO L290 TraceCheckUtils]: 13: Hoare triple {64476#true} assume !(0 == ~cond); {64476#true} is VALID [2022-04-28 12:44:01,644 INFO L290 TraceCheckUtils]: 12: Hoare triple {64476#true} ~cond := #in~cond; {64476#true} is VALID [2022-04-28 12:44:01,644 INFO L272 TraceCheckUtils]: 11: Hoare triple {64708#(<= ~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)); {64476#true} is VALID [2022-04-28 12:44:01,644 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {64476#true} {64708#(<= ~counter~0 8)} #90#return; {64708#(<= ~counter~0 8)} is VALID [2022-04-28 12:44:01,644 INFO L290 TraceCheckUtils]: 9: Hoare triple {64476#true} assume true; {64476#true} is VALID [2022-04-28 12:44:01,645 INFO L290 TraceCheckUtils]: 8: Hoare triple {64476#true} assume !(0 == ~cond); {64476#true} is VALID [2022-04-28 12:44:01,645 INFO L290 TraceCheckUtils]: 7: Hoare triple {64476#true} ~cond := #in~cond; {64476#true} is VALID [2022-04-28 12:44:01,645 INFO L272 TraceCheckUtils]: 6: Hoare triple {64708#(<= ~counter~0 8)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {64476#true} is VALID [2022-04-28 12:44:01,645 INFO L290 TraceCheckUtils]: 5: Hoare triple {64708#(<= ~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; {64708#(<= ~counter~0 8)} is VALID [2022-04-28 12:44:01,645 INFO L272 TraceCheckUtils]: 4: Hoare triple {64708#(<= ~counter~0 8)} call #t~ret9 := main(); {64708#(<= ~counter~0 8)} is VALID [2022-04-28 12:44:01,645 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {64708#(<= ~counter~0 8)} {64476#true} #102#return; {64708#(<= ~counter~0 8)} is VALID [2022-04-28 12:44:01,646 INFO L290 TraceCheckUtils]: 2: Hoare triple {64708#(<= ~counter~0 8)} assume true; {64708#(<= ~counter~0 8)} is VALID [2022-04-28 12:44:01,646 INFO L290 TraceCheckUtils]: 1: Hoare triple {64476#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; {64708#(<= ~counter~0 8)} is VALID [2022-04-28 12:44:01,646 INFO L272 TraceCheckUtils]: 0: Hoare triple {64476#true} call ULTIMATE.init(); {64476#true} is VALID [2022-04-28 12:44:01,647 INFO L134 CoverageAnalysis]: Checked inductivity of 318 backedges. 22 proven. 72 refuted. 0 times theorem prover too weak. 224 trivial. 0 not checked. [2022-04-28 12:44:01,647 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:44:01,647 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1906422048] [2022-04-28 12:44:01,647 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:44:01,647 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1290709443] [2022-04-28 12:44:01,647 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1290709443] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:44:01,647 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:44:01,647 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 15] total 24 [2022-04-28 12:44:01,647 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:44:01,647 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [301755363] [2022-04-28 12:44:01,647 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [301755363] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:44:01,647 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:44:01,648 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-28 12:44:01,648 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [302889616] [2022-04-28 12:44:01,648 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:44:01,648 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 5.2) internal successors, (78), 14 states have internal predecessors, (78), 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 111 [2022-04-28 12:44:01,648 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:44:01,648 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 15 states have (on average 5.2) internal successors, (78), 14 states have internal predecessors, (78), 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:44:01,728 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 108 edges. 108 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:44:01,728 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-28 12:44:01,728 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:44:01,729 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-28 12:44:01,729 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=236, Invalid=316, Unknown=0, NotChecked=0, Total=552 [2022-04-28 12:44:01,729 INFO L87 Difference]: Start difference. First operand 566 states and 754 transitions. Second operand has 15 states, 15 states have (on average 5.2) internal successors, (78), 14 states have internal predecessors, (78), 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:44:03,727 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:44:03,727 INFO L93 Difference]: Finished difference Result 625 states and 834 transitions. [2022-04-28 12:44:03,727 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2022-04-28 12:44:03,728 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 5.2) internal successors, (78), 14 states have internal predecessors, (78), 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 111 [2022-04-28 12:44:03,728 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:44:03,728 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 5.2) internal successors, (78), 14 states have internal predecessors, (78), 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:44:03,729 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 234 transitions. [2022-04-28 12:44:03,729 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 5.2) internal successors, (78), 14 states have internal predecessors, (78), 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:44:03,731 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 234 transitions. [2022-04-28 12:44:03,731 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 23 states and 234 transitions. [2022-04-28 12:44:03,911 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 234 edges. 234 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:44:03,927 INFO L225 Difference]: With dead ends: 625 [2022-04-28 12:44:03,927 INFO L226 Difference]: Without dead ends: 614 [2022-04-28 12:44:03,928 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 229 GetRequests, 198 SyntacticMatches, 1 SemanticMatches, 30 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 66 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=399, Invalid=593, Unknown=0, NotChecked=0, Total=992 [2022-04-28 12:44:03,928 INFO L413 NwaCegarLoop]: 63 mSDtfsCounter, 142 mSDsluCounter, 209 mSDsCounter, 0 mSdLazyCounter, 155 mSolverCounterSat, 112 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 142 SdHoareTripleChecker+Valid, 272 SdHoareTripleChecker+Invalid, 267 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 112 IncrementalHoareTripleChecker+Valid, 155 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 12:44:03,928 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [142 Valid, 272 Invalid, 267 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [112 Valid, 155 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 12:44:03,929 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 614 states. [2022-04-28 12:44:05,033 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 614 to 592. [2022-04-28 12:44:05,033 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:44:05,034 INFO L82 GeneralOperation]: Start isEquivalent. First operand 614 states. Second operand has 592 states, 442 states have (on average 1.2217194570135748) internal successors, (540), 452 states have internal predecessors, (540), 127 states have call successors, (127), 24 states have call predecessors, (127), 22 states have return successors, (125), 115 states have call predecessors, (125), 125 states have call successors, (125) [2022-04-28 12:44:05,035 INFO L74 IsIncluded]: Start isIncluded. First operand 614 states. Second operand has 592 states, 442 states have (on average 1.2217194570135748) internal successors, (540), 452 states have internal predecessors, (540), 127 states have call successors, (127), 24 states have call predecessors, (127), 22 states have return successors, (125), 115 states have call predecessors, (125), 125 states have call successors, (125) [2022-04-28 12:44:05,035 INFO L87 Difference]: Start difference. First operand 614 states. Second operand has 592 states, 442 states have (on average 1.2217194570135748) internal successors, (540), 452 states have internal predecessors, (540), 127 states have call successors, (127), 24 states have call predecessors, (127), 22 states have return successors, (125), 115 states have call predecessors, (125), 125 states have call successors, (125) [2022-04-28 12:44:05,051 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:44:05,051 INFO L93 Difference]: Finished difference Result 614 states and 818 transitions. [2022-04-28 12:44:05,051 INFO L276 IsEmpty]: Start isEmpty. Operand 614 states and 818 transitions. [2022-04-28 12:44:05,052 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:44:05,052 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:44:05,053 INFO L74 IsIncluded]: Start isIncluded. First operand has 592 states, 442 states have (on average 1.2217194570135748) internal successors, (540), 452 states have internal predecessors, (540), 127 states have call successors, (127), 24 states have call predecessors, (127), 22 states have return successors, (125), 115 states have call predecessors, (125), 125 states have call successors, (125) Second operand 614 states. [2022-04-28 12:44:05,054 INFO L87 Difference]: Start difference. First operand has 592 states, 442 states have (on average 1.2217194570135748) internal successors, (540), 452 states have internal predecessors, (540), 127 states have call successors, (127), 24 states have call predecessors, (127), 22 states have return successors, (125), 115 states have call predecessors, (125), 125 states have call successors, (125) Second operand 614 states. [2022-04-28 12:44:05,071 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:44:05,071 INFO L93 Difference]: Finished difference Result 614 states and 818 transitions. [2022-04-28 12:44:05,071 INFO L276 IsEmpty]: Start isEmpty. Operand 614 states and 818 transitions. [2022-04-28 12:44:05,072 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:44:05,072 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:44:05,072 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:44:05,072 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:44:05,073 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 592 states, 442 states have (on average 1.2217194570135748) internal successors, (540), 452 states have internal predecessors, (540), 127 states have call successors, (127), 24 states have call predecessors, (127), 22 states have return successors, (125), 115 states have call predecessors, (125), 125 states have call successors, (125) [2022-04-28 12:44:05,099 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 592 states to 592 states and 792 transitions. [2022-04-28 12:44:05,100 INFO L78 Accepts]: Start accepts. Automaton has 592 states and 792 transitions. Word has length 111 [2022-04-28 12:44:05,100 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:44:05,100 INFO L495 AbstractCegarLoop]: Abstraction has 592 states and 792 transitions. [2022-04-28 12:44:05,100 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 15 states have (on average 5.2) internal successors, (78), 14 states have internal predecessors, (78), 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:44:05,100 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 592 states and 792 transitions. [2022-04-28 12:44:24,536 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 792 edges. 788 inductive. 0 not inductive. 4 times theorem prover too weak to decide inductivity. [2022-04-28 12:44:24,536 INFO L276 IsEmpty]: Start isEmpty. Operand 592 states and 792 transitions. [2022-04-28 12:44:24,537 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 114 [2022-04-28 12:44:24,537 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:44:24,537 INFO L195 NwaCegarLoop]: trace histogram [12, 11, 11, 5, 5, 5, 5, 5, 4, 4, 4, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:44:24,543 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (36)] Forceful destruction successful, exit code 0 [2022-04-28 12:44:24,737 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 36 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable34 [2022-04-28 12:44:24,738 INFO L420 AbstractCegarLoop]: === Iteration 36 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:44:24,738 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:44:24,738 INFO L85 PathProgramCache]: Analyzing trace with hash -1038942829, now seen corresponding path program 13 times [2022-04-28 12:44:24,738 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:44:24,738 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [332542974] [2022-04-28 12:44:24,738 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:44:24,739 INFO L85 PathProgramCache]: Analyzing trace with hash -1038942829, now seen corresponding path program 14 times [2022-04-28 12:44:24,739 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:44:24,739 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1410950660] [2022-04-28 12:44:24,739 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:44:24,739 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:44:24,760 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:44:24,761 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [195306355] [2022-04-28 12:44:24,761 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:44:24,761 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:44:24,761 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:44:24,768 INFO L229 MonitoredProcess]: Starting monitored process 37 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:44:24,768 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (37)] Waiting until timeout for monitored process [2022-04-28 12:44:24,828 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:44:24,829 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:44:24,830 INFO L263 TraceCheckSpWp]: Trace formula consists of 287 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-28 12:44:24,846 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:44:24,847 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:44:25,685 INFO L272 TraceCheckUtils]: 0: Hoare triple {68843#true} call ULTIMATE.init(); {68843#true} is VALID [2022-04-28 12:44:25,685 INFO L290 TraceCheckUtils]: 1: Hoare triple {68843#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; {68843#true} is VALID [2022-04-28 12:44:25,685 INFO L290 TraceCheckUtils]: 2: Hoare triple {68843#true} assume true; {68843#true} is VALID [2022-04-28 12:44:25,685 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {68843#true} {68843#true} #102#return; {68843#true} is VALID [2022-04-28 12:44:25,685 INFO L272 TraceCheckUtils]: 4: Hoare triple {68843#true} call #t~ret9 := main(); {68843#true} is VALID [2022-04-28 12:44:25,685 INFO L290 TraceCheckUtils]: 5: Hoare triple {68843#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; {68843#true} is VALID [2022-04-28 12:44:25,686 INFO L272 TraceCheckUtils]: 6: Hoare triple {68843#true} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {68843#true} is VALID [2022-04-28 12:44:25,686 INFO L290 TraceCheckUtils]: 7: Hoare triple {68843#true} ~cond := #in~cond; {68843#true} is VALID [2022-04-28 12:44:25,686 INFO L290 TraceCheckUtils]: 8: Hoare triple {68843#true} assume !(0 == ~cond); {68843#true} is VALID [2022-04-28 12:44:25,686 INFO L290 TraceCheckUtils]: 9: Hoare triple {68843#true} assume true; {68843#true} is VALID [2022-04-28 12:44:25,686 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {68843#true} {68843#true} #90#return; {68843#true} is VALID [2022-04-28 12:44:25,686 INFO L272 TraceCheckUtils]: 11: Hoare triple {68843#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)); {68843#true} is VALID [2022-04-28 12:44:25,686 INFO L290 TraceCheckUtils]: 12: Hoare triple {68843#true} ~cond := #in~cond; {68843#true} is VALID [2022-04-28 12:44:25,686 INFO L290 TraceCheckUtils]: 13: Hoare triple {68843#true} assume !(0 == ~cond); {68843#true} is VALID [2022-04-28 12:44:25,686 INFO L290 TraceCheckUtils]: 14: Hoare triple {68843#true} assume true; {68843#true} is VALID [2022-04-28 12:44:25,686 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {68843#true} {68843#true} #92#return; {68843#true} is VALID [2022-04-28 12:44:25,687 INFO L290 TraceCheckUtils]: 16: Hoare triple {68843#true} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {68896#(<= 1 main_~v~0)} is VALID [2022-04-28 12:44:25,687 INFO L290 TraceCheckUtils]: 17: Hoare triple {68896#(<= 1 main_~v~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {68896#(<= 1 main_~v~0)} is VALID [2022-04-28 12:44:25,687 INFO L290 TraceCheckUtils]: 18: Hoare triple {68896#(<= 1 main_~v~0)} assume !!(#t~post6 < 20);havoc #t~post6; {68896#(<= 1 main_~v~0)} is VALID [2022-04-28 12:44:25,687 INFO L272 TraceCheckUtils]: 19: Hoare triple {68896#(<= 1 main_~v~0)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {68843#true} is VALID [2022-04-28 12:44:25,687 INFO L290 TraceCheckUtils]: 20: Hoare triple {68843#true} ~cond := #in~cond; {68843#true} is VALID [2022-04-28 12:44:25,687 INFO L290 TraceCheckUtils]: 21: Hoare triple {68843#true} assume !(0 == ~cond); {68843#true} is VALID [2022-04-28 12:44:25,687 INFO L290 TraceCheckUtils]: 22: Hoare triple {68843#true} assume true; {68843#true} is VALID [2022-04-28 12:44:25,688 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {68843#true} {68896#(<= 1 main_~v~0)} #94#return; {68896#(<= 1 main_~v~0)} is VALID [2022-04-28 12:44:25,688 INFO L290 TraceCheckUtils]: 24: Hoare triple {68896#(<= 1 main_~v~0)} assume !!(0 != ~r~0); {68896#(<= 1 main_~v~0)} is VALID [2022-04-28 12:44:25,688 INFO L290 TraceCheckUtils]: 25: Hoare triple {68896#(<= 1 main_~v~0)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {68896#(<= 1 main_~v~0)} is VALID [2022-04-28 12:44:25,689 INFO L290 TraceCheckUtils]: 26: Hoare triple {68896#(<= 1 main_~v~0)} assume !!(#t~post7 < 20);havoc #t~post7; {68896#(<= 1 main_~v~0)} is VALID [2022-04-28 12:44:25,689 INFO L272 TraceCheckUtils]: 27: Hoare triple {68896#(<= 1 main_~v~0)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {68843#true} is VALID [2022-04-28 12:44:25,689 INFO L290 TraceCheckUtils]: 28: Hoare triple {68843#true} ~cond := #in~cond; {68843#true} is VALID [2022-04-28 12:44:25,689 INFO L290 TraceCheckUtils]: 29: Hoare triple {68843#true} assume !(0 == ~cond); {68843#true} is VALID [2022-04-28 12:44:25,689 INFO L290 TraceCheckUtils]: 30: Hoare triple {68843#true} assume true; {68843#true} is VALID [2022-04-28 12:44:25,689 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {68843#true} {68896#(<= 1 main_~v~0)} #96#return; {68896#(<= 1 main_~v~0)} is VALID [2022-04-28 12:44:25,690 INFO L290 TraceCheckUtils]: 32: Hoare triple {68896#(<= 1 main_~v~0)} assume !(~r~0 > 0); {68896#(<= 1 main_~v~0)} is VALID [2022-04-28 12:44:25,690 INFO L290 TraceCheckUtils]: 33: Hoare triple {68896#(<= 1 main_~v~0)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {68896#(<= 1 main_~v~0)} is VALID [2022-04-28 12:44:25,690 INFO L290 TraceCheckUtils]: 34: Hoare triple {68896#(<= 1 main_~v~0)} assume !!(#t~post8 < 20);havoc #t~post8; {68896#(<= 1 main_~v~0)} is VALID [2022-04-28 12:44:25,690 INFO L272 TraceCheckUtils]: 35: Hoare triple {68896#(<= 1 main_~v~0)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {68843#true} is VALID [2022-04-28 12:44:25,690 INFO L290 TraceCheckUtils]: 36: Hoare triple {68843#true} ~cond := #in~cond; {68843#true} is VALID [2022-04-28 12:44:25,690 INFO L290 TraceCheckUtils]: 37: Hoare triple {68843#true} assume !(0 == ~cond); {68843#true} is VALID [2022-04-28 12:44:25,690 INFO L290 TraceCheckUtils]: 38: Hoare triple {68843#true} assume true; {68843#true} is VALID [2022-04-28 12:44:25,691 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {68843#true} {68896#(<= 1 main_~v~0)} #98#return; {68896#(<= 1 main_~v~0)} is VALID [2022-04-28 12:44:25,693 INFO L290 TraceCheckUtils]: 40: Hoare triple {68896#(<= 1 main_~v~0)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {68969#(and (< (+ main_~r~0 2) main_~u~0) (<= 1 main_~v~0))} is VALID [2022-04-28 12:44:25,693 INFO L290 TraceCheckUtils]: 41: Hoare triple {68969#(and (< (+ main_~r~0 2) main_~u~0) (<= 1 main_~v~0))} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {68969#(and (< (+ main_~r~0 2) main_~u~0) (<= 1 main_~v~0))} is VALID [2022-04-28 12:44:25,693 INFO L290 TraceCheckUtils]: 42: Hoare triple {68969#(and (< (+ main_~r~0 2) main_~u~0) (<= 1 main_~v~0))} assume !!(#t~post8 < 20);havoc #t~post8; {68969#(and (< (+ main_~r~0 2) main_~u~0) (<= 1 main_~v~0))} is VALID [2022-04-28 12:44:25,693 INFO L272 TraceCheckUtils]: 43: Hoare triple {68969#(and (< (+ main_~r~0 2) main_~u~0) (<= 1 main_~v~0))} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {68843#true} is VALID [2022-04-28 12:44:25,693 INFO L290 TraceCheckUtils]: 44: Hoare triple {68843#true} ~cond := #in~cond; {68843#true} is VALID [2022-04-28 12:44:25,694 INFO L290 TraceCheckUtils]: 45: Hoare triple {68843#true} assume !(0 == ~cond); {68843#true} is VALID [2022-04-28 12:44:25,694 INFO L290 TraceCheckUtils]: 46: Hoare triple {68843#true} assume true; {68843#true} is VALID [2022-04-28 12:44:25,694 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {68843#true} {68969#(and (< (+ main_~r~0 2) main_~u~0) (<= 1 main_~v~0))} #98#return; {68969#(and (< (+ main_~r~0 2) main_~u~0) (<= 1 main_~v~0))} is VALID [2022-04-28 12:44:25,694 INFO L290 TraceCheckUtils]: 48: Hoare triple {68969#(and (< (+ main_~r~0 2) main_~u~0) (<= 1 main_~v~0))} assume !(~r~0 < 0); {68969#(and (< (+ main_~r~0 2) main_~u~0) (<= 1 main_~v~0))} is VALID [2022-04-28 12:44:25,695 INFO L290 TraceCheckUtils]: 49: Hoare triple {68969#(and (< (+ main_~r~0 2) main_~u~0) (<= 1 main_~v~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {68969#(and (< (+ main_~r~0 2) main_~u~0) (<= 1 main_~v~0))} is VALID [2022-04-28 12:44:25,695 INFO L290 TraceCheckUtils]: 50: Hoare triple {68969#(and (< (+ main_~r~0 2) main_~u~0) (<= 1 main_~v~0))} assume !!(#t~post6 < 20);havoc #t~post6; {68969#(and (< (+ main_~r~0 2) main_~u~0) (<= 1 main_~v~0))} is VALID [2022-04-28 12:44:25,695 INFO L272 TraceCheckUtils]: 51: Hoare triple {68969#(and (< (+ main_~r~0 2) main_~u~0) (<= 1 main_~v~0))} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {68843#true} is VALID [2022-04-28 12:44:25,695 INFO L290 TraceCheckUtils]: 52: Hoare triple {68843#true} ~cond := #in~cond; {68843#true} is VALID [2022-04-28 12:44:25,695 INFO L290 TraceCheckUtils]: 53: Hoare triple {68843#true} assume !(0 == ~cond); {68843#true} is VALID [2022-04-28 12:44:25,695 INFO L290 TraceCheckUtils]: 54: Hoare triple {68843#true} assume true; {68843#true} is VALID [2022-04-28 12:44:25,696 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {68843#true} {68969#(and (< (+ main_~r~0 2) main_~u~0) (<= 1 main_~v~0))} #94#return; {68969#(and (< (+ main_~r~0 2) main_~u~0) (<= 1 main_~v~0))} is VALID [2022-04-28 12:44:25,696 INFO L290 TraceCheckUtils]: 56: Hoare triple {68969#(and (< (+ main_~r~0 2) main_~u~0) (<= 1 main_~v~0))} assume !!(0 != ~r~0); {68969#(and (< (+ main_~r~0 2) main_~u~0) (<= 1 main_~v~0))} is VALID [2022-04-28 12:44:25,696 INFO L290 TraceCheckUtils]: 57: Hoare triple {68969#(and (< (+ main_~r~0 2) main_~u~0) (<= 1 main_~v~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {68969#(and (< (+ main_~r~0 2) main_~u~0) (<= 1 main_~v~0))} is VALID [2022-04-28 12:44:25,697 INFO L290 TraceCheckUtils]: 58: Hoare triple {68969#(and (< (+ main_~r~0 2) main_~u~0) (<= 1 main_~v~0))} assume !!(#t~post7 < 20);havoc #t~post7; {68969#(and (< (+ main_~r~0 2) main_~u~0) (<= 1 main_~v~0))} is VALID [2022-04-28 12:44:25,697 INFO L272 TraceCheckUtils]: 59: Hoare triple {68969#(and (< (+ main_~r~0 2) main_~u~0) (<= 1 main_~v~0))} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {68843#true} is VALID [2022-04-28 12:44:25,697 INFO L290 TraceCheckUtils]: 60: Hoare triple {68843#true} ~cond := #in~cond; {68843#true} is VALID [2022-04-28 12:44:25,697 INFO L290 TraceCheckUtils]: 61: Hoare triple {68843#true} assume !(0 == ~cond); {68843#true} is VALID [2022-04-28 12:44:25,697 INFO L290 TraceCheckUtils]: 62: Hoare triple {68843#true} assume true; {68843#true} is VALID [2022-04-28 12:44:25,698 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {68843#true} {68969#(and (< (+ main_~r~0 2) main_~u~0) (<= 1 main_~v~0))} #96#return; {68969#(and (< (+ main_~r~0 2) main_~u~0) (<= 1 main_~v~0))} is VALID [2022-04-28 12:44:25,698 INFO L290 TraceCheckUtils]: 64: Hoare triple {68969#(and (< (+ main_~r~0 2) main_~u~0) (<= 1 main_~v~0))} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {69042#(< (+ main_~r~0 3) main_~u~0)} is VALID [2022-04-28 12:44:25,699 INFO L290 TraceCheckUtils]: 65: Hoare triple {69042#(< (+ main_~r~0 3) main_~u~0)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {69042#(< (+ main_~r~0 3) main_~u~0)} is VALID [2022-04-28 12:44:25,699 INFO L290 TraceCheckUtils]: 66: Hoare triple {69042#(< (+ main_~r~0 3) main_~u~0)} assume !!(#t~post7 < 20);havoc #t~post7; {69042#(< (+ main_~r~0 3) main_~u~0)} is VALID [2022-04-28 12:44:25,699 INFO L272 TraceCheckUtils]: 67: Hoare triple {69042#(< (+ main_~r~0 3) main_~u~0)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {68843#true} is VALID [2022-04-28 12:44:25,699 INFO L290 TraceCheckUtils]: 68: Hoare triple {68843#true} ~cond := #in~cond; {68843#true} is VALID [2022-04-28 12:44:25,699 INFO L290 TraceCheckUtils]: 69: Hoare triple {68843#true} assume !(0 == ~cond); {68843#true} is VALID [2022-04-28 12:44:25,699 INFO L290 TraceCheckUtils]: 70: Hoare triple {68843#true} assume true; {68843#true} is VALID [2022-04-28 12:44:25,700 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {68843#true} {69042#(< (+ main_~r~0 3) main_~u~0)} #96#return; {69042#(< (+ main_~r~0 3) main_~u~0)} is VALID [2022-04-28 12:44:25,700 INFO L290 TraceCheckUtils]: 72: Hoare triple {69042#(< (+ main_~r~0 3) main_~u~0)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {69067#(< (+ main_~v~0 main_~r~0 1) main_~u~0)} is VALID [2022-04-28 12:44:25,700 INFO L290 TraceCheckUtils]: 73: Hoare triple {69067#(< (+ main_~v~0 main_~r~0 1) main_~u~0)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {69067#(< (+ main_~v~0 main_~r~0 1) main_~u~0)} is VALID [2022-04-28 12:44:25,701 INFO L290 TraceCheckUtils]: 74: Hoare triple {69067#(< (+ main_~v~0 main_~r~0 1) main_~u~0)} assume !!(#t~post7 < 20);havoc #t~post7; {69067#(< (+ main_~v~0 main_~r~0 1) main_~u~0)} is VALID [2022-04-28 12:44:25,701 INFO L272 TraceCheckUtils]: 75: Hoare triple {69067#(< (+ main_~v~0 main_~r~0 1) main_~u~0)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {68843#true} is VALID [2022-04-28 12:44:25,701 INFO L290 TraceCheckUtils]: 76: Hoare triple {68843#true} ~cond := #in~cond; {68843#true} is VALID [2022-04-28 12:44:25,701 INFO L290 TraceCheckUtils]: 77: Hoare triple {68843#true} assume !(0 == ~cond); {68843#true} is VALID [2022-04-28 12:44:25,701 INFO L290 TraceCheckUtils]: 78: Hoare triple {68843#true} assume true; {68843#true} is VALID [2022-04-28 12:44:25,701 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {68843#true} {69067#(< (+ main_~v~0 main_~r~0 1) main_~u~0)} #96#return; {69067#(< (+ main_~v~0 main_~r~0 1) main_~u~0)} is VALID [2022-04-28 12:44:25,702 INFO L290 TraceCheckUtils]: 80: Hoare triple {69067#(< (+ main_~v~0 main_~r~0 1) main_~u~0)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {69092#(< 0 (div (+ (- 2) main_~u~0 main_~r~0) 2))} is VALID [2022-04-28 12:44:25,702 INFO L290 TraceCheckUtils]: 81: Hoare triple {69092#(< 0 (div (+ (- 2) main_~u~0 main_~r~0) 2))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {69092#(< 0 (div (+ (- 2) main_~u~0 main_~r~0) 2))} is VALID [2022-04-28 12:44:25,702 INFO L290 TraceCheckUtils]: 82: Hoare triple {69092#(< 0 (div (+ (- 2) main_~u~0 main_~r~0) 2))} assume !!(#t~post7 < 20);havoc #t~post7; {69092#(< 0 (div (+ (- 2) main_~u~0 main_~r~0) 2))} is VALID [2022-04-28 12:44:25,703 INFO L272 TraceCheckUtils]: 83: Hoare triple {69092#(< 0 (div (+ (- 2) main_~u~0 main_~r~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)); {68843#true} is VALID [2022-04-28 12:44:25,703 INFO L290 TraceCheckUtils]: 84: Hoare triple {68843#true} ~cond := #in~cond; {68843#true} is VALID [2022-04-28 12:44:25,703 INFO L290 TraceCheckUtils]: 85: Hoare triple {68843#true} assume !(0 == ~cond); {68843#true} is VALID [2022-04-28 12:44:25,703 INFO L290 TraceCheckUtils]: 86: Hoare triple {68843#true} assume true; {68843#true} is VALID [2022-04-28 12:44:25,703 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {68843#true} {69092#(< 0 (div (+ (- 2) main_~u~0 main_~r~0) 2))} #96#return; {69092#(< 0 (div (+ (- 2) main_~u~0 main_~r~0) 2))} is VALID [2022-04-28 12:44:25,703 INFO L290 TraceCheckUtils]: 88: Hoare triple {69092#(< 0 (div (+ (- 2) main_~u~0 main_~r~0) 2))} assume !(~r~0 > 0); {69092#(< 0 (div (+ (- 2) main_~u~0 main_~r~0) 2))} is VALID [2022-04-28 12:44:25,704 INFO L290 TraceCheckUtils]: 89: Hoare triple {69092#(< 0 (div (+ (- 2) main_~u~0 main_~r~0) 2))} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {69092#(< 0 (div (+ (- 2) main_~u~0 main_~r~0) 2))} is VALID [2022-04-28 12:44:25,704 INFO L290 TraceCheckUtils]: 90: Hoare triple {69092#(< 0 (div (+ (- 2) main_~u~0 main_~r~0) 2))} assume !!(#t~post8 < 20);havoc #t~post8; {69092#(< 0 (div (+ (- 2) main_~u~0 main_~r~0) 2))} is VALID [2022-04-28 12:44:25,704 INFO L272 TraceCheckUtils]: 91: Hoare triple {69092#(< 0 (div (+ (- 2) main_~u~0 main_~r~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)); {68843#true} is VALID [2022-04-28 12:44:25,704 INFO L290 TraceCheckUtils]: 92: Hoare triple {68843#true} ~cond := #in~cond; {68843#true} is VALID [2022-04-28 12:44:25,704 INFO L290 TraceCheckUtils]: 93: Hoare triple {68843#true} assume !(0 == ~cond); {68843#true} is VALID [2022-04-28 12:44:25,704 INFO L290 TraceCheckUtils]: 94: Hoare triple {68843#true} assume true; {68843#true} is VALID [2022-04-28 12:44:25,705 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {68843#true} {69092#(< 0 (div (+ (- 2) main_~u~0 main_~r~0) 2))} #98#return; {69092#(< 0 (div (+ (- 2) main_~u~0 main_~r~0) 2))} is VALID [2022-04-28 12:44:25,706 INFO L290 TraceCheckUtils]: 96: Hoare triple {69092#(< 0 (div (+ (- 2) main_~u~0 main_~r~0) 2))} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {69141#(< 0 (div (+ (- 2) main_~r~0) 2))} is VALID [2022-04-28 12:44:25,706 INFO L290 TraceCheckUtils]: 97: Hoare triple {69141#(< 0 (div (+ (- 2) main_~r~0) 2))} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {69141#(< 0 (div (+ (- 2) main_~r~0) 2))} is VALID [2022-04-28 12:44:25,706 INFO L290 TraceCheckUtils]: 98: Hoare triple {69141#(< 0 (div (+ (- 2) main_~r~0) 2))} assume !!(#t~post8 < 20);havoc #t~post8; {69141#(< 0 (div (+ (- 2) main_~r~0) 2))} is VALID [2022-04-28 12:44:25,706 INFO L272 TraceCheckUtils]: 99: Hoare triple {69141#(< 0 (div (+ (- 2) main_~r~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)); {68843#true} is VALID [2022-04-28 12:44:25,706 INFO L290 TraceCheckUtils]: 100: Hoare triple {68843#true} ~cond := #in~cond; {68843#true} is VALID [2022-04-28 12:44:25,706 INFO L290 TraceCheckUtils]: 101: Hoare triple {68843#true} assume !(0 == ~cond); {68843#true} is VALID [2022-04-28 12:44:25,707 INFO L290 TraceCheckUtils]: 102: Hoare triple {68843#true} assume true; {68843#true} is VALID [2022-04-28 12:44:25,707 INFO L284 TraceCheckUtils]: 103: Hoare quadruple {68843#true} {69141#(< 0 (div (+ (- 2) main_~r~0) 2))} #98#return; {69141#(< 0 (div (+ (- 2) main_~r~0) 2))} is VALID [2022-04-28 12:44:25,708 INFO L290 TraceCheckUtils]: 104: Hoare triple {69141#(< 0 (div (+ (- 2) main_~r~0) 2))} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {68844#false} is VALID [2022-04-28 12:44:25,708 INFO L290 TraceCheckUtils]: 105: Hoare triple {68844#false} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {68844#false} is VALID [2022-04-28 12:44:25,708 INFO L290 TraceCheckUtils]: 106: Hoare triple {68844#false} assume !(#t~post8 < 20);havoc #t~post8; {68844#false} is VALID [2022-04-28 12:44:25,708 INFO L290 TraceCheckUtils]: 107: Hoare triple {68844#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {68844#false} is VALID [2022-04-28 12:44:25,708 INFO L290 TraceCheckUtils]: 108: Hoare triple {68844#false} assume !(#t~post6 < 20);havoc #t~post6; {68844#false} is VALID [2022-04-28 12:44:25,708 INFO L272 TraceCheckUtils]: 109: Hoare triple {68844#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)); {68844#false} is VALID [2022-04-28 12:44:25,708 INFO L290 TraceCheckUtils]: 110: Hoare triple {68844#false} ~cond := #in~cond; {68844#false} is VALID [2022-04-28 12:44:25,708 INFO L290 TraceCheckUtils]: 111: Hoare triple {68844#false} assume 0 == ~cond; {68844#false} is VALID [2022-04-28 12:44:25,708 INFO L290 TraceCheckUtils]: 112: Hoare triple {68844#false} assume !false; {68844#false} is VALID [2022-04-28 12:44:25,709 INFO L134 CoverageAnalysis]: Checked inductivity of 326 backedges. 46 proven. 56 refuted. 0 times theorem prover too weak. 224 trivial. 0 not checked. [2022-04-28 12:44:25,709 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:44:26,147 INFO L290 TraceCheckUtils]: 112: Hoare triple {68844#false} assume !false; {68844#false} is VALID [2022-04-28 12:44:26,147 INFO L290 TraceCheckUtils]: 111: Hoare triple {68844#false} assume 0 == ~cond; {68844#false} is VALID [2022-04-28 12:44:26,147 INFO L290 TraceCheckUtils]: 110: Hoare triple {68844#false} ~cond := #in~cond; {68844#false} is VALID [2022-04-28 12:44:26,147 INFO L272 TraceCheckUtils]: 109: Hoare triple {68844#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)); {68844#false} is VALID [2022-04-28 12:44:26,147 INFO L290 TraceCheckUtils]: 108: Hoare triple {68844#false} assume !(#t~post6 < 20);havoc #t~post6; {68844#false} is VALID [2022-04-28 12:44:26,147 INFO L290 TraceCheckUtils]: 107: Hoare triple {68844#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {68844#false} is VALID [2022-04-28 12:44:26,147 INFO L290 TraceCheckUtils]: 106: Hoare triple {68844#false} assume !(#t~post8 < 20);havoc #t~post8; {68844#false} is VALID [2022-04-28 12:44:26,148 INFO L290 TraceCheckUtils]: 105: Hoare triple {68844#false} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {68844#false} is VALID [2022-04-28 12:44:26,148 INFO L290 TraceCheckUtils]: 104: Hoare triple {69214#(not (< main_~r~0 0))} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {68844#false} is VALID [2022-04-28 12:44:26,148 INFO L284 TraceCheckUtils]: 103: Hoare quadruple {68843#true} {69214#(not (< main_~r~0 0))} #98#return; {69214#(not (< main_~r~0 0))} is VALID [2022-04-28 12:44:26,148 INFO L290 TraceCheckUtils]: 102: Hoare triple {68843#true} assume true; {68843#true} is VALID [2022-04-28 12:44:26,148 INFO L290 TraceCheckUtils]: 101: Hoare triple {68843#true} assume !(0 == ~cond); {68843#true} is VALID [2022-04-28 12:44:26,148 INFO L290 TraceCheckUtils]: 100: Hoare triple {68843#true} ~cond := #in~cond; {68843#true} is VALID [2022-04-28 12:44:26,149 INFO L272 TraceCheckUtils]: 99: Hoare triple {69214#(not (< main_~r~0 0))} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {68843#true} is VALID [2022-04-28 12:44:26,149 INFO L290 TraceCheckUtils]: 98: Hoare triple {69214#(not (< main_~r~0 0))} assume !!(#t~post8 < 20);havoc #t~post8; {69214#(not (< main_~r~0 0))} is VALID [2022-04-28 12:44:26,149 INFO L290 TraceCheckUtils]: 97: Hoare triple {69214#(not (< main_~r~0 0))} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {69214#(not (< main_~r~0 0))} is VALID [2022-04-28 12:44:26,150 INFO L290 TraceCheckUtils]: 96: Hoare triple {69239#(<= 0 (+ main_~u~0 main_~r~0))} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {69214#(not (< main_~r~0 0))} is VALID [2022-04-28 12:44:26,150 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {68843#true} {69239#(<= 0 (+ main_~u~0 main_~r~0))} #98#return; {69239#(<= 0 (+ main_~u~0 main_~r~0))} is VALID [2022-04-28 12:44:26,150 INFO L290 TraceCheckUtils]: 94: Hoare triple {68843#true} assume true; {68843#true} is VALID [2022-04-28 12:44:26,150 INFO L290 TraceCheckUtils]: 93: Hoare triple {68843#true} assume !(0 == ~cond); {68843#true} is VALID [2022-04-28 12:44:26,150 INFO L290 TraceCheckUtils]: 92: Hoare triple {68843#true} ~cond := #in~cond; {68843#true} is VALID [2022-04-28 12:44:26,151 INFO L272 TraceCheckUtils]: 91: Hoare triple {69239#(<= 0 (+ main_~u~0 main_~r~0))} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {68843#true} is VALID [2022-04-28 12:44:26,151 INFO L290 TraceCheckUtils]: 90: Hoare triple {69239#(<= 0 (+ main_~u~0 main_~r~0))} assume !!(#t~post8 < 20);havoc #t~post8; {69239#(<= 0 (+ main_~u~0 main_~r~0))} is VALID [2022-04-28 12:44:26,151 INFO L290 TraceCheckUtils]: 89: Hoare triple {69239#(<= 0 (+ main_~u~0 main_~r~0))} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {69239#(<= 0 (+ main_~u~0 main_~r~0))} is VALID [2022-04-28 12:44:26,151 INFO L290 TraceCheckUtils]: 88: Hoare triple {69239#(<= 0 (+ main_~u~0 main_~r~0))} assume !(~r~0 > 0); {69239#(<= 0 (+ main_~u~0 main_~r~0))} is VALID [2022-04-28 12:44:26,152 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {68843#true} {69239#(<= 0 (+ main_~u~0 main_~r~0))} #96#return; {69239#(<= 0 (+ main_~u~0 main_~r~0))} is VALID [2022-04-28 12:44:26,152 INFO L290 TraceCheckUtils]: 86: Hoare triple {68843#true} assume true; {68843#true} is VALID [2022-04-28 12:44:26,152 INFO L290 TraceCheckUtils]: 85: Hoare triple {68843#true} assume !(0 == ~cond); {68843#true} is VALID [2022-04-28 12:44:26,152 INFO L290 TraceCheckUtils]: 84: Hoare triple {68843#true} ~cond := #in~cond; {68843#true} is VALID [2022-04-28 12:44:26,152 INFO L272 TraceCheckUtils]: 83: Hoare triple {69239#(<= 0 (+ main_~u~0 main_~r~0))} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {68843#true} is VALID [2022-04-28 12:44:26,152 INFO L290 TraceCheckUtils]: 82: Hoare triple {69239#(<= 0 (+ main_~u~0 main_~r~0))} assume !!(#t~post7 < 20);havoc #t~post7; {69239#(<= 0 (+ main_~u~0 main_~r~0))} is VALID [2022-04-28 12:44:26,152 INFO L290 TraceCheckUtils]: 81: Hoare triple {69239#(<= 0 (+ main_~u~0 main_~r~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {69239#(<= 0 (+ main_~u~0 main_~r~0))} is VALID [2022-04-28 12:44:26,153 INFO L290 TraceCheckUtils]: 80: Hoare triple {69288#(or (<= main_~v~0 (+ main_~u~0 main_~r~0)) (not (< 0 main_~r~0)))} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {69239#(<= 0 (+ main_~u~0 main_~r~0))} is VALID [2022-04-28 12:44:26,154 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {68843#true} {69288#(or (<= main_~v~0 (+ main_~u~0 main_~r~0)) (not (< 0 main_~r~0)))} #96#return; {69288#(or (<= main_~v~0 (+ main_~u~0 main_~r~0)) (not (< 0 main_~r~0)))} is VALID [2022-04-28 12:44:26,154 INFO L290 TraceCheckUtils]: 78: Hoare triple {68843#true} assume true; {68843#true} is VALID [2022-04-28 12:44:26,154 INFO L290 TraceCheckUtils]: 77: Hoare triple {68843#true} assume !(0 == ~cond); {68843#true} is VALID [2022-04-28 12:44:26,154 INFO L290 TraceCheckUtils]: 76: Hoare triple {68843#true} ~cond := #in~cond; {68843#true} is VALID [2022-04-28 12:44:26,154 INFO L272 TraceCheckUtils]: 75: Hoare triple {69288#(or (<= main_~v~0 (+ main_~u~0 main_~r~0)) (not (< 0 main_~r~0)))} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {68843#true} is VALID [2022-04-28 12:44:26,154 INFO L290 TraceCheckUtils]: 74: Hoare triple {69288#(or (<= main_~v~0 (+ main_~u~0 main_~r~0)) (not (< 0 main_~r~0)))} assume !!(#t~post7 < 20);havoc #t~post7; {69288#(or (<= main_~v~0 (+ main_~u~0 main_~r~0)) (not (< 0 main_~r~0)))} is VALID [2022-04-28 12:44:26,154 INFO L290 TraceCheckUtils]: 73: Hoare triple {69288#(or (<= main_~v~0 (+ main_~u~0 main_~r~0)) (not (< 0 main_~r~0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {69288#(or (<= main_~v~0 (+ main_~u~0 main_~r~0)) (not (< 0 main_~r~0)))} is VALID [2022-04-28 12:44:26,156 INFO L290 TraceCheckUtils]: 72: Hoare triple {69313#(<= main_~r~0 main_~u~0)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {69288#(or (<= main_~v~0 (+ main_~u~0 main_~r~0)) (not (< 0 main_~r~0)))} is VALID [2022-04-28 12:44:26,156 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {68843#true} {69313#(<= main_~r~0 main_~u~0)} #96#return; {69313#(<= main_~r~0 main_~u~0)} is VALID [2022-04-28 12:44:26,156 INFO L290 TraceCheckUtils]: 70: Hoare triple {68843#true} assume true; {68843#true} is VALID [2022-04-28 12:44:26,157 INFO L290 TraceCheckUtils]: 69: Hoare triple {68843#true} assume !(0 == ~cond); {68843#true} is VALID [2022-04-28 12:44:26,157 INFO L290 TraceCheckUtils]: 68: Hoare triple {68843#true} ~cond := #in~cond; {68843#true} is VALID [2022-04-28 12:44:26,157 INFO L272 TraceCheckUtils]: 67: Hoare triple {69313#(<= main_~r~0 main_~u~0)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {68843#true} is VALID [2022-04-28 12:44:26,157 INFO L290 TraceCheckUtils]: 66: Hoare triple {69313#(<= main_~r~0 main_~u~0)} assume !!(#t~post7 < 20);havoc #t~post7; {69313#(<= main_~r~0 main_~u~0)} is VALID [2022-04-28 12:44:26,157 INFO L290 TraceCheckUtils]: 65: Hoare triple {69313#(<= main_~r~0 main_~u~0)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {69313#(<= main_~r~0 main_~u~0)} is VALID [2022-04-28 12:44:26,158 INFO L290 TraceCheckUtils]: 64: Hoare triple {69338#(<= main_~r~0 (+ main_~v~0 main_~u~0))} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {69313#(<= main_~r~0 main_~u~0)} is VALID [2022-04-28 12:44:26,158 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {68843#true} {69338#(<= main_~r~0 (+ main_~v~0 main_~u~0))} #96#return; {69338#(<= main_~r~0 (+ main_~v~0 main_~u~0))} is VALID [2022-04-28 12:44:26,158 INFO L290 TraceCheckUtils]: 62: Hoare triple {68843#true} assume true; {68843#true} is VALID [2022-04-28 12:44:26,158 INFO L290 TraceCheckUtils]: 61: Hoare triple {68843#true} assume !(0 == ~cond); {68843#true} is VALID [2022-04-28 12:44:26,158 INFO L290 TraceCheckUtils]: 60: Hoare triple {68843#true} ~cond := #in~cond; {68843#true} is VALID [2022-04-28 12:44:26,158 INFO L272 TraceCheckUtils]: 59: Hoare triple {69338#(<= main_~r~0 (+ main_~v~0 main_~u~0))} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {68843#true} is VALID [2022-04-28 12:44:26,159 INFO L290 TraceCheckUtils]: 58: Hoare triple {69338#(<= main_~r~0 (+ main_~v~0 main_~u~0))} assume !!(#t~post7 < 20);havoc #t~post7; {69338#(<= main_~r~0 (+ main_~v~0 main_~u~0))} is VALID [2022-04-28 12:44:26,159 INFO L290 TraceCheckUtils]: 57: Hoare triple {69338#(<= main_~r~0 (+ main_~v~0 main_~u~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {69338#(<= main_~r~0 (+ main_~v~0 main_~u~0))} is VALID [2022-04-28 12:44:26,159 INFO L290 TraceCheckUtils]: 56: Hoare triple {69338#(<= main_~r~0 (+ main_~v~0 main_~u~0))} assume !!(0 != ~r~0); {69338#(<= main_~r~0 (+ main_~v~0 main_~u~0))} is VALID [2022-04-28 12:44:26,160 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {68843#true} {69338#(<= main_~r~0 (+ main_~v~0 main_~u~0))} #94#return; {69338#(<= main_~r~0 (+ main_~v~0 main_~u~0))} is VALID [2022-04-28 12:44:26,160 INFO L290 TraceCheckUtils]: 54: Hoare triple {68843#true} assume true; {68843#true} is VALID [2022-04-28 12:44:26,160 INFO L290 TraceCheckUtils]: 53: Hoare triple {68843#true} assume !(0 == ~cond); {68843#true} is VALID [2022-04-28 12:44:26,160 INFO L290 TraceCheckUtils]: 52: Hoare triple {68843#true} ~cond := #in~cond; {68843#true} is VALID [2022-04-28 12:44:26,160 INFO L272 TraceCheckUtils]: 51: Hoare triple {69338#(<= main_~r~0 (+ main_~v~0 main_~u~0))} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {68843#true} is VALID [2022-04-28 12:44:26,160 INFO L290 TraceCheckUtils]: 50: Hoare triple {69338#(<= main_~r~0 (+ main_~v~0 main_~u~0))} assume !!(#t~post6 < 20);havoc #t~post6; {69338#(<= main_~r~0 (+ main_~v~0 main_~u~0))} is VALID [2022-04-28 12:44:26,161 INFO L290 TraceCheckUtils]: 49: Hoare triple {69338#(<= main_~r~0 (+ main_~v~0 main_~u~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {69338#(<= main_~r~0 (+ main_~v~0 main_~u~0))} is VALID [2022-04-28 12:44:26,161 INFO L290 TraceCheckUtils]: 48: Hoare triple {69338#(<= main_~r~0 (+ main_~v~0 main_~u~0))} assume !(~r~0 < 0); {69338#(<= main_~r~0 (+ main_~v~0 main_~u~0))} is VALID [2022-04-28 12:44:26,161 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {68843#true} {69338#(<= main_~r~0 (+ main_~v~0 main_~u~0))} #98#return; {69338#(<= main_~r~0 (+ main_~v~0 main_~u~0))} is VALID [2022-04-28 12:44:26,161 INFO L290 TraceCheckUtils]: 46: Hoare triple {68843#true} assume true; {68843#true} is VALID [2022-04-28 12:44:26,161 INFO L290 TraceCheckUtils]: 45: Hoare triple {68843#true} assume !(0 == ~cond); {68843#true} is VALID [2022-04-28 12:44:26,162 INFO L290 TraceCheckUtils]: 44: Hoare triple {68843#true} ~cond := #in~cond; {68843#true} is VALID [2022-04-28 12:44:26,162 INFO L272 TraceCheckUtils]: 43: Hoare triple {69338#(<= main_~r~0 (+ main_~v~0 main_~u~0))} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {68843#true} is VALID [2022-04-28 12:44:26,162 INFO L290 TraceCheckUtils]: 42: Hoare triple {69338#(<= main_~r~0 (+ main_~v~0 main_~u~0))} assume !!(#t~post8 < 20);havoc #t~post8; {69338#(<= main_~r~0 (+ main_~v~0 main_~u~0))} is VALID [2022-04-28 12:44:26,162 INFO L290 TraceCheckUtils]: 41: Hoare triple {69338#(<= main_~r~0 (+ main_~v~0 main_~u~0))} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {69338#(<= main_~r~0 (+ main_~v~0 main_~u~0))} is VALID [2022-04-28 12:44:26,163 INFO L290 TraceCheckUtils]: 40: Hoare triple {69411#(<= 0 (+ main_~v~0 3))} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {69338#(<= main_~r~0 (+ main_~v~0 main_~u~0))} is VALID [2022-04-28 12:44:26,163 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {68843#true} {69411#(<= 0 (+ main_~v~0 3))} #98#return; {69411#(<= 0 (+ main_~v~0 3))} is VALID [2022-04-28 12:44:26,163 INFO L290 TraceCheckUtils]: 38: Hoare triple {68843#true} assume true; {68843#true} is VALID [2022-04-28 12:44:26,163 INFO L290 TraceCheckUtils]: 37: Hoare triple {68843#true} assume !(0 == ~cond); {68843#true} is VALID [2022-04-28 12:44:26,163 INFO L290 TraceCheckUtils]: 36: Hoare triple {68843#true} ~cond := #in~cond; {68843#true} is VALID [2022-04-28 12:44:26,163 INFO L272 TraceCheckUtils]: 35: Hoare triple {69411#(<= 0 (+ main_~v~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)); {68843#true} is VALID [2022-04-28 12:44:26,164 INFO L290 TraceCheckUtils]: 34: Hoare triple {69411#(<= 0 (+ main_~v~0 3))} assume !!(#t~post8 < 20);havoc #t~post8; {69411#(<= 0 (+ main_~v~0 3))} is VALID [2022-04-28 12:44:26,164 INFO L290 TraceCheckUtils]: 33: Hoare triple {69411#(<= 0 (+ main_~v~0 3))} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {69411#(<= 0 (+ main_~v~0 3))} is VALID [2022-04-28 12:44:26,164 INFO L290 TraceCheckUtils]: 32: Hoare triple {69411#(<= 0 (+ main_~v~0 3))} assume !(~r~0 > 0); {69411#(<= 0 (+ main_~v~0 3))} is VALID [2022-04-28 12:44:26,165 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {68843#true} {69411#(<= 0 (+ main_~v~0 3))} #96#return; {69411#(<= 0 (+ main_~v~0 3))} is VALID [2022-04-28 12:44:26,165 INFO L290 TraceCheckUtils]: 30: Hoare triple {68843#true} assume true; {68843#true} is VALID [2022-04-28 12:44:26,165 INFO L290 TraceCheckUtils]: 29: Hoare triple {68843#true} assume !(0 == ~cond); {68843#true} is VALID [2022-04-28 12:44:26,165 INFO L290 TraceCheckUtils]: 28: Hoare triple {68843#true} ~cond := #in~cond; {68843#true} is VALID [2022-04-28 12:44:26,165 INFO L272 TraceCheckUtils]: 27: Hoare triple {69411#(<= 0 (+ main_~v~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)); {68843#true} is VALID [2022-04-28 12:44:26,165 INFO L290 TraceCheckUtils]: 26: Hoare triple {69411#(<= 0 (+ main_~v~0 3))} assume !!(#t~post7 < 20);havoc #t~post7; {69411#(<= 0 (+ main_~v~0 3))} is VALID [2022-04-28 12:44:26,166 INFO L290 TraceCheckUtils]: 25: Hoare triple {69411#(<= 0 (+ main_~v~0 3))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {69411#(<= 0 (+ main_~v~0 3))} is VALID [2022-04-28 12:44:26,166 INFO L290 TraceCheckUtils]: 24: Hoare triple {69411#(<= 0 (+ main_~v~0 3))} assume !!(0 != ~r~0); {69411#(<= 0 (+ main_~v~0 3))} is VALID [2022-04-28 12:44:26,166 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {68843#true} {69411#(<= 0 (+ main_~v~0 3))} #94#return; {69411#(<= 0 (+ main_~v~0 3))} is VALID [2022-04-28 12:44:26,166 INFO L290 TraceCheckUtils]: 22: Hoare triple {68843#true} assume true; {68843#true} is VALID [2022-04-28 12:44:26,166 INFO L290 TraceCheckUtils]: 21: Hoare triple {68843#true} assume !(0 == ~cond); {68843#true} is VALID [2022-04-28 12:44:26,167 INFO L290 TraceCheckUtils]: 20: Hoare triple {68843#true} ~cond := #in~cond; {68843#true} is VALID [2022-04-28 12:44:26,167 INFO L272 TraceCheckUtils]: 19: Hoare triple {69411#(<= 0 (+ main_~v~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)); {68843#true} is VALID [2022-04-28 12:44:26,167 INFO L290 TraceCheckUtils]: 18: Hoare triple {69411#(<= 0 (+ main_~v~0 3))} assume !!(#t~post6 < 20);havoc #t~post6; {69411#(<= 0 (+ main_~v~0 3))} is VALID [2022-04-28 12:44:26,167 INFO L290 TraceCheckUtils]: 17: Hoare triple {69411#(<= 0 (+ main_~v~0 3))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {69411#(<= 0 (+ main_~v~0 3))} is VALID [2022-04-28 12:44:26,168 INFO L290 TraceCheckUtils]: 16: Hoare triple {68843#true} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {69411#(<= 0 (+ main_~v~0 3))} is VALID [2022-04-28 12:44:26,168 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {68843#true} {68843#true} #92#return; {68843#true} is VALID [2022-04-28 12:44:26,168 INFO L290 TraceCheckUtils]: 14: Hoare triple {68843#true} assume true; {68843#true} is VALID [2022-04-28 12:44:26,168 INFO L290 TraceCheckUtils]: 13: Hoare triple {68843#true} assume !(0 == ~cond); {68843#true} is VALID [2022-04-28 12:44:26,168 INFO L290 TraceCheckUtils]: 12: Hoare triple {68843#true} ~cond := #in~cond; {68843#true} is VALID [2022-04-28 12:44:26,168 INFO L272 TraceCheckUtils]: 11: Hoare triple {68843#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)); {68843#true} is VALID [2022-04-28 12:44:26,168 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {68843#true} {68843#true} #90#return; {68843#true} is VALID [2022-04-28 12:44:26,168 INFO L290 TraceCheckUtils]: 9: Hoare triple {68843#true} assume true; {68843#true} is VALID [2022-04-28 12:44:26,168 INFO L290 TraceCheckUtils]: 8: Hoare triple {68843#true} assume !(0 == ~cond); {68843#true} is VALID [2022-04-28 12:44:26,168 INFO L290 TraceCheckUtils]: 7: Hoare triple {68843#true} ~cond := #in~cond; {68843#true} is VALID [2022-04-28 12:44:26,168 INFO L272 TraceCheckUtils]: 6: Hoare triple {68843#true} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {68843#true} is VALID [2022-04-28 12:44:26,168 INFO L290 TraceCheckUtils]: 5: Hoare triple {68843#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; {68843#true} is VALID [2022-04-28 12:44:26,168 INFO L272 TraceCheckUtils]: 4: Hoare triple {68843#true} call #t~ret9 := main(); {68843#true} is VALID [2022-04-28 12:44:26,168 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {68843#true} {68843#true} #102#return; {68843#true} is VALID [2022-04-28 12:44:26,168 INFO L290 TraceCheckUtils]: 2: Hoare triple {68843#true} assume true; {68843#true} is VALID [2022-04-28 12:44:26,169 INFO L290 TraceCheckUtils]: 1: Hoare triple {68843#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; {68843#true} is VALID [2022-04-28 12:44:26,169 INFO L272 TraceCheckUtils]: 0: Hoare triple {68843#true} call ULTIMATE.init(); {68843#true} is VALID [2022-04-28 12:44:26,169 INFO L134 CoverageAnalysis]: Checked inductivity of 326 backedges. 34 proven. 68 refuted. 0 times theorem prover too weak. 224 trivial. 0 not checked. [2022-04-28 12:44:26,169 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:44:26,169 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1410950660] [2022-04-28 12:44:26,169 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:44:26,169 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [195306355] [2022-04-28 12:44:26,169 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [195306355] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:44:26,169 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:44:26,169 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 14 [2022-04-28 12:44:26,170 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:44:26,170 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [332542974] [2022-04-28 12:44:26,170 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [332542974] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:44:26,170 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:44:26,170 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 12:44:26,170 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [546181898] [2022-04-28 12:44:26,170 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:44:26,170 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 6.25) internal successors, (50), 8 states have internal predecessors, (50), 8 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 7 states have call predecessors, (14), 7 states have call successors, (14) Word has length 113 [2022-04-28 12:44:26,170 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:44:26,170 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 6.25) internal successors, (50), 8 states have internal predecessors, (50), 8 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 7 states have call predecessors, (14), 7 states have call successors, (14) [2022-04-28 12:44:26,250 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:44:26,250 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 12:44:26,250 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:44:26,250 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 12:44:26,250 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=148, Unknown=0, NotChecked=0, Total=182 [2022-04-28 12:44:26,250 INFO L87 Difference]: Start difference. First operand 592 states and 792 transitions. Second operand has 8 states, 8 states have (on average 6.25) internal successors, (50), 8 states have internal predecessors, (50), 8 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 7 states have call predecessors, (14), 7 states have call successors, (14) [2022-04-28 12:44:29,480 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:44:29,481 INFO L93 Difference]: Finished difference Result 894 states and 1248 transitions. [2022-04-28 12:44:29,481 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 12:44:29,481 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 6.25) internal successors, (50), 8 states have internal predecessors, (50), 8 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 7 states have call predecessors, (14), 7 states have call successors, (14) Word has length 113 [2022-04-28 12:44:29,481 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:44:29,481 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 6.25) internal successors, (50), 8 states have internal predecessors, (50), 8 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 7 states have call predecessors, (14), 7 states have call successors, (14) [2022-04-28 12:44:29,482 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 190 transitions. [2022-04-28 12:44:29,482 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 6.25) internal successors, (50), 8 states have internal predecessors, (50), 8 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 7 states have call predecessors, (14), 7 states have call successors, (14) [2022-04-28 12:44:29,483 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 190 transitions. [2022-04-28 12:44:29,483 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 190 transitions. [2022-04-28 12:44:29,655 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 190 edges. 190 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:44:29,676 INFO L225 Difference]: With dead ends: 894 [2022-04-28 12:44:29,677 INFO L226 Difference]: Without dead ends: 743 [2022-04-28 12:44:29,677 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 230 GetRequests, 213 SyntacticMatches, 0 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 31 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=90, Invalid=252, Unknown=0, NotChecked=0, Total=342 [2022-04-28 12:44:29,677 INFO L413 NwaCegarLoop]: 113 mSDtfsCounter, 68 mSDsluCounter, 237 mSDsCounter, 0 mSdLazyCounter, 259 mSolverCounterSat, 22 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 68 SdHoareTripleChecker+Valid, 350 SdHoareTripleChecker+Invalid, 281 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 22 IncrementalHoareTripleChecker+Valid, 259 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 12:44:29,678 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [68 Valid, 350 Invalid, 281 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [22 Valid, 259 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 12:44:29,678 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 743 states. [2022-04-28 12:44:31,116 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 743 to 592. [2022-04-28 12:44:31,116 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:44:31,117 INFO L82 GeneralOperation]: Start isEquivalent. First operand 743 states. Second operand has 592 states, 442 states have (on average 1.2217194570135748) internal successors, (540), 452 states have internal predecessors, (540), 127 states have call successors, (127), 24 states have call predecessors, (127), 22 states have return successors, (125), 115 states have call predecessors, (125), 125 states have call successors, (125) [2022-04-28 12:44:31,117 INFO L74 IsIncluded]: Start isIncluded. First operand 743 states. Second operand has 592 states, 442 states have (on average 1.2217194570135748) internal successors, (540), 452 states have internal predecessors, (540), 127 states have call successors, (127), 24 states have call predecessors, (127), 22 states have return successors, (125), 115 states have call predecessors, (125), 125 states have call successors, (125) [2022-04-28 12:44:31,117 INFO L87 Difference]: Start difference. First operand 743 states. Second operand has 592 states, 442 states have (on average 1.2217194570135748) internal successors, (540), 452 states have internal predecessors, (540), 127 states have call successors, (127), 24 states have call predecessors, (127), 22 states have return successors, (125), 115 states have call predecessors, (125), 125 states have call successors, (125) [2022-04-28 12:44:31,137 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:44:31,137 INFO L93 Difference]: Finished difference Result 743 states and 1013 transitions. [2022-04-28 12:44:31,137 INFO L276 IsEmpty]: Start isEmpty. Operand 743 states and 1013 transitions. [2022-04-28 12:44:31,138 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:44:31,138 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:44:31,138 INFO L74 IsIncluded]: Start isIncluded. First operand has 592 states, 442 states have (on average 1.2217194570135748) internal successors, (540), 452 states have internal predecessors, (540), 127 states have call successors, (127), 24 states have call predecessors, (127), 22 states have return successors, (125), 115 states have call predecessors, (125), 125 states have call successors, (125) Second operand 743 states. [2022-04-28 12:44:31,139 INFO L87 Difference]: Start difference. First operand has 592 states, 442 states have (on average 1.2217194570135748) internal successors, (540), 452 states have internal predecessors, (540), 127 states have call successors, (127), 24 states have call predecessors, (127), 22 states have return successors, (125), 115 states have call predecessors, (125), 125 states have call successors, (125) Second operand 743 states. [2022-04-28 12:44:31,158 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:44:31,158 INFO L93 Difference]: Finished difference Result 743 states and 1013 transitions. [2022-04-28 12:44:31,158 INFO L276 IsEmpty]: Start isEmpty. Operand 743 states and 1013 transitions. [2022-04-28 12:44:31,159 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:44:31,159 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:44:31,159 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:44:31,159 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:44:31,160 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 592 states, 442 states have (on average 1.2217194570135748) internal successors, (540), 452 states have internal predecessors, (540), 127 states have call successors, (127), 24 states have call predecessors, (127), 22 states have return successors, (125), 115 states have call predecessors, (125), 125 states have call successors, (125) [2022-04-28 12:44:31,177 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 592 states to 592 states and 792 transitions. [2022-04-28 12:44:31,177 INFO L78 Accepts]: Start accepts. Automaton has 592 states and 792 transitions. Word has length 113 [2022-04-28 12:44:31,177 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:44:31,177 INFO L495 AbstractCegarLoop]: Abstraction has 592 states and 792 transitions. [2022-04-28 12:44:31,177 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 6.25) internal successors, (50), 8 states have internal predecessors, (50), 8 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 7 states have call predecessors, (14), 7 states have call successors, (14) [2022-04-28 12:44:31,177 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 592 states and 792 transitions. [2022-04-28 12:44:47,829 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 792 edges. 788 inductive. 0 not inductive. 4 times theorem prover too weak to decide inductivity. [2022-04-28 12:44:47,829 INFO L276 IsEmpty]: Start isEmpty. Operand 592 states and 792 transitions. [2022-04-28 12:44:47,830 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 114 [2022-04-28 12:44:47,830 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:44:47,830 INFO L195 NwaCegarLoop]: trace histogram [12, 11, 11, 6, 6, 6, 6, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:44:47,847 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (37)] Forceful destruction successful, exit code 0 [2022-04-28 12:44:48,030 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable35,37 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:44:48,031 INFO L420 AbstractCegarLoop]: === Iteration 37 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:44:48,031 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:44:48,031 INFO L85 PathProgramCache]: Analyzing trace with hash -144297019, now seen corresponding path program 15 times [2022-04-28 12:44:48,031 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:44:48,031 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1891729] [2022-04-28 12:44:48,031 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:44:48,032 INFO L85 PathProgramCache]: Analyzing trace with hash -144297019, now seen corresponding path program 16 times [2022-04-28 12:44:48,032 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:44:48,032 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [392852163] [2022-04-28 12:44:48,032 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:44:48,032 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:44:48,043 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:44:48,043 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1655173628] [2022-04-28 12:44:48,043 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:44:48,043 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:44:48,043 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:44:48,044 INFO L229 MonitoredProcess]: Starting monitored process 38 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:44:48,045 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (38)] Waiting until timeout for monitored process [2022-04-28 12:44:48,444 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:44:48,445 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:44:48,446 INFO L263 TraceCheckSpWp]: Trace formula consists of 287 conjuncts, 27 conjunts are in the unsatisfiable core [2022-04-28 12:44:48,467 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:44:48,469 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:44:49,024 INFO L272 TraceCheckUtils]: 0: Hoare triple {74002#true} call ULTIMATE.init(); {74002#true} is VALID [2022-04-28 12:44:49,025 INFO L290 TraceCheckUtils]: 1: Hoare triple {74002#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; {74010#(<= ~counter~0 0)} is VALID [2022-04-28 12:44:49,025 INFO L290 TraceCheckUtils]: 2: Hoare triple {74010#(<= ~counter~0 0)} assume true; {74010#(<= ~counter~0 0)} is VALID [2022-04-28 12:44:49,025 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {74010#(<= ~counter~0 0)} {74002#true} #102#return; {74010#(<= ~counter~0 0)} is VALID [2022-04-28 12:44:49,025 INFO L272 TraceCheckUtils]: 4: Hoare triple {74010#(<= ~counter~0 0)} call #t~ret9 := main(); {74010#(<= ~counter~0 0)} is VALID [2022-04-28 12:44:49,026 INFO L290 TraceCheckUtils]: 5: Hoare triple {74010#(<= ~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; {74010#(<= ~counter~0 0)} is VALID [2022-04-28 12:44:49,026 INFO L272 TraceCheckUtils]: 6: Hoare triple {74010#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {74010#(<= ~counter~0 0)} is VALID [2022-04-28 12:44:49,026 INFO L290 TraceCheckUtils]: 7: Hoare triple {74010#(<= ~counter~0 0)} ~cond := #in~cond; {74010#(<= ~counter~0 0)} is VALID [2022-04-28 12:44:49,027 INFO L290 TraceCheckUtils]: 8: Hoare triple {74010#(<= ~counter~0 0)} assume !(0 == ~cond); {74010#(<= ~counter~0 0)} is VALID [2022-04-28 12:44:49,027 INFO L290 TraceCheckUtils]: 9: Hoare triple {74010#(<= ~counter~0 0)} assume true; {74010#(<= ~counter~0 0)} is VALID [2022-04-28 12:44:49,027 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {74010#(<= ~counter~0 0)} {74010#(<= ~counter~0 0)} #90#return; {74010#(<= ~counter~0 0)} is VALID [2022-04-28 12:44:49,028 INFO L272 TraceCheckUtils]: 11: Hoare triple {74010#(<= ~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)); {74010#(<= ~counter~0 0)} is VALID [2022-04-28 12:44:49,028 INFO L290 TraceCheckUtils]: 12: Hoare triple {74010#(<= ~counter~0 0)} ~cond := #in~cond; {74010#(<= ~counter~0 0)} is VALID [2022-04-28 12:44:49,028 INFO L290 TraceCheckUtils]: 13: Hoare triple {74010#(<= ~counter~0 0)} assume !(0 == ~cond); {74010#(<= ~counter~0 0)} is VALID [2022-04-28 12:44:49,028 INFO L290 TraceCheckUtils]: 14: Hoare triple {74010#(<= ~counter~0 0)} assume true; {74010#(<= ~counter~0 0)} is VALID [2022-04-28 12:44:49,029 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {74010#(<= ~counter~0 0)} {74010#(<= ~counter~0 0)} #92#return; {74010#(<= ~counter~0 0)} is VALID [2022-04-28 12:44:49,029 INFO L290 TraceCheckUtils]: 16: Hoare triple {74010#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {74010#(<= ~counter~0 0)} is VALID [2022-04-28 12:44:49,031 INFO L290 TraceCheckUtils]: 17: Hoare triple {74010#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {74059#(<= ~counter~0 1)} is VALID [2022-04-28 12:44:49,031 INFO L290 TraceCheckUtils]: 18: Hoare triple {74059#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {74059#(<= ~counter~0 1)} is VALID [2022-04-28 12:44:49,031 INFO L272 TraceCheckUtils]: 19: Hoare triple {74059#(<= ~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)); {74059#(<= ~counter~0 1)} is VALID [2022-04-28 12:44:49,032 INFO L290 TraceCheckUtils]: 20: Hoare triple {74059#(<= ~counter~0 1)} ~cond := #in~cond; {74059#(<= ~counter~0 1)} is VALID [2022-04-28 12:44:49,032 INFO L290 TraceCheckUtils]: 21: Hoare triple {74059#(<= ~counter~0 1)} assume !(0 == ~cond); {74059#(<= ~counter~0 1)} is VALID [2022-04-28 12:44:49,032 INFO L290 TraceCheckUtils]: 22: Hoare triple {74059#(<= ~counter~0 1)} assume true; {74059#(<= ~counter~0 1)} is VALID [2022-04-28 12:44:49,033 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {74059#(<= ~counter~0 1)} {74059#(<= ~counter~0 1)} #94#return; {74059#(<= ~counter~0 1)} is VALID [2022-04-28 12:44:49,033 INFO L290 TraceCheckUtils]: 24: Hoare triple {74059#(<= ~counter~0 1)} assume !!(0 != ~r~0); {74059#(<= ~counter~0 1)} is VALID [2022-04-28 12:44:49,034 INFO L290 TraceCheckUtils]: 25: Hoare triple {74059#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {74084#(<= ~counter~0 2)} is VALID [2022-04-28 12:44:49,034 INFO L290 TraceCheckUtils]: 26: Hoare triple {74084#(<= ~counter~0 2)} assume !!(#t~post7 < 20);havoc #t~post7; {74084#(<= ~counter~0 2)} is VALID [2022-04-28 12:44:49,034 INFO L272 TraceCheckUtils]: 27: Hoare triple {74084#(<= ~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)); {74084#(<= ~counter~0 2)} is VALID [2022-04-28 12:44:49,035 INFO L290 TraceCheckUtils]: 28: Hoare triple {74084#(<= ~counter~0 2)} ~cond := #in~cond; {74084#(<= ~counter~0 2)} is VALID [2022-04-28 12:44:49,035 INFO L290 TraceCheckUtils]: 29: Hoare triple {74084#(<= ~counter~0 2)} assume !(0 == ~cond); {74084#(<= ~counter~0 2)} is VALID [2022-04-28 12:44:49,035 INFO L290 TraceCheckUtils]: 30: Hoare triple {74084#(<= ~counter~0 2)} assume true; {74084#(<= ~counter~0 2)} is VALID [2022-04-28 12:44:49,036 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {74084#(<= ~counter~0 2)} {74084#(<= ~counter~0 2)} #96#return; {74084#(<= ~counter~0 2)} is VALID [2022-04-28 12:44:49,036 INFO L290 TraceCheckUtils]: 32: Hoare triple {74084#(<= ~counter~0 2)} assume !(~r~0 > 0); {74084#(<= ~counter~0 2)} is VALID [2022-04-28 12:44:49,037 INFO L290 TraceCheckUtils]: 33: Hoare triple {74084#(<= ~counter~0 2)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {74109#(<= ~counter~0 3)} is VALID [2022-04-28 12:44:49,037 INFO L290 TraceCheckUtils]: 34: Hoare triple {74109#(<= ~counter~0 3)} assume !!(#t~post8 < 20);havoc #t~post8; {74109#(<= ~counter~0 3)} is VALID [2022-04-28 12:44:49,037 INFO L272 TraceCheckUtils]: 35: Hoare triple {74109#(<= ~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)); {74109#(<= ~counter~0 3)} is VALID [2022-04-28 12:44:49,038 INFO L290 TraceCheckUtils]: 36: Hoare triple {74109#(<= ~counter~0 3)} ~cond := #in~cond; {74109#(<= ~counter~0 3)} is VALID [2022-04-28 12:44:49,038 INFO L290 TraceCheckUtils]: 37: Hoare triple {74109#(<= ~counter~0 3)} assume !(0 == ~cond); {74109#(<= ~counter~0 3)} is VALID [2022-04-28 12:44:49,038 INFO L290 TraceCheckUtils]: 38: Hoare triple {74109#(<= ~counter~0 3)} assume true; {74109#(<= ~counter~0 3)} is VALID [2022-04-28 12:44:49,039 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {74109#(<= ~counter~0 3)} {74109#(<= ~counter~0 3)} #98#return; {74109#(<= ~counter~0 3)} is VALID [2022-04-28 12:44:49,039 INFO L290 TraceCheckUtils]: 40: Hoare triple {74109#(<= ~counter~0 3)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {74109#(<= ~counter~0 3)} is VALID [2022-04-28 12:44:49,040 INFO L290 TraceCheckUtils]: 41: Hoare triple {74109#(<= ~counter~0 3)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {74134#(<= ~counter~0 4)} is VALID [2022-04-28 12:44:49,040 INFO L290 TraceCheckUtils]: 42: Hoare triple {74134#(<= ~counter~0 4)} assume !!(#t~post8 < 20);havoc #t~post8; {74134#(<= ~counter~0 4)} is VALID [2022-04-28 12:44:49,040 INFO L272 TraceCheckUtils]: 43: Hoare triple {74134#(<= ~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)); {74134#(<= ~counter~0 4)} is VALID [2022-04-28 12:44:49,041 INFO L290 TraceCheckUtils]: 44: Hoare triple {74134#(<= ~counter~0 4)} ~cond := #in~cond; {74134#(<= ~counter~0 4)} is VALID [2022-04-28 12:44:49,041 INFO L290 TraceCheckUtils]: 45: Hoare triple {74134#(<= ~counter~0 4)} assume !(0 == ~cond); {74134#(<= ~counter~0 4)} is VALID [2022-04-28 12:44:49,041 INFO L290 TraceCheckUtils]: 46: Hoare triple {74134#(<= ~counter~0 4)} assume true; {74134#(<= ~counter~0 4)} is VALID [2022-04-28 12:44:49,042 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {74134#(<= ~counter~0 4)} {74134#(<= ~counter~0 4)} #98#return; {74134#(<= ~counter~0 4)} is VALID [2022-04-28 12:44:49,042 INFO L290 TraceCheckUtils]: 48: Hoare triple {74134#(<= ~counter~0 4)} assume !(~r~0 < 0); {74134#(<= ~counter~0 4)} is VALID [2022-04-28 12:44:49,043 INFO L290 TraceCheckUtils]: 49: Hoare triple {74134#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {74159#(<= ~counter~0 5)} is VALID [2022-04-28 12:44:49,043 INFO L290 TraceCheckUtils]: 50: Hoare triple {74159#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {74159#(<= ~counter~0 5)} is VALID [2022-04-28 12:44:49,043 INFO L272 TraceCheckUtils]: 51: Hoare triple {74159#(<= ~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)); {74159#(<= ~counter~0 5)} is VALID [2022-04-28 12:44:49,044 INFO L290 TraceCheckUtils]: 52: Hoare triple {74159#(<= ~counter~0 5)} ~cond := #in~cond; {74159#(<= ~counter~0 5)} is VALID [2022-04-28 12:44:49,044 INFO L290 TraceCheckUtils]: 53: Hoare triple {74159#(<= ~counter~0 5)} assume !(0 == ~cond); {74159#(<= ~counter~0 5)} is VALID [2022-04-28 12:44:49,044 INFO L290 TraceCheckUtils]: 54: Hoare triple {74159#(<= ~counter~0 5)} assume true; {74159#(<= ~counter~0 5)} is VALID [2022-04-28 12:44:49,045 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {74159#(<= ~counter~0 5)} {74159#(<= ~counter~0 5)} #94#return; {74159#(<= ~counter~0 5)} is VALID [2022-04-28 12:44:49,045 INFO L290 TraceCheckUtils]: 56: Hoare triple {74159#(<= ~counter~0 5)} assume !!(0 != ~r~0); {74159#(<= ~counter~0 5)} is VALID [2022-04-28 12:44:49,046 INFO L290 TraceCheckUtils]: 57: Hoare triple {74159#(<= ~counter~0 5)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {74184#(<= ~counter~0 6)} is VALID [2022-04-28 12:44:49,046 INFO L290 TraceCheckUtils]: 58: Hoare triple {74184#(<= ~counter~0 6)} assume !!(#t~post7 < 20);havoc #t~post7; {74184#(<= ~counter~0 6)} is VALID [2022-04-28 12:44:49,046 INFO L272 TraceCheckUtils]: 59: Hoare triple {74184#(<= ~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)); {74184#(<= ~counter~0 6)} is VALID [2022-04-28 12:44:49,047 INFO L290 TraceCheckUtils]: 60: Hoare triple {74184#(<= ~counter~0 6)} ~cond := #in~cond; {74184#(<= ~counter~0 6)} is VALID [2022-04-28 12:44:49,047 INFO L290 TraceCheckUtils]: 61: Hoare triple {74184#(<= ~counter~0 6)} assume !(0 == ~cond); {74184#(<= ~counter~0 6)} is VALID [2022-04-28 12:44:49,047 INFO L290 TraceCheckUtils]: 62: Hoare triple {74184#(<= ~counter~0 6)} assume true; {74184#(<= ~counter~0 6)} is VALID [2022-04-28 12:44:49,048 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {74184#(<= ~counter~0 6)} {74184#(<= ~counter~0 6)} #96#return; {74184#(<= ~counter~0 6)} is VALID [2022-04-28 12:44:49,048 INFO L290 TraceCheckUtils]: 64: Hoare triple {74184#(<= ~counter~0 6)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {74184#(<= ~counter~0 6)} is VALID [2022-04-28 12:44:49,049 INFO L290 TraceCheckUtils]: 65: Hoare triple {74184#(<= ~counter~0 6)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {74209#(<= ~counter~0 7)} is VALID [2022-04-28 12:44:49,049 INFO L290 TraceCheckUtils]: 66: Hoare triple {74209#(<= ~counter~0 7)} assume !!(#t~post7 < 20);havoc #t~post7; {74209#(<= ~counter~0 7)} is VALID [2022-04-28 12:44:49,049 INFO L272 TraceCheckUtils]: 67: Hoare triple {74209#(<= ~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)); {74209#(<= ~counter~0 7)} is VALID [2022-04-28 12:44:49,050 INFO L290 TraceCheckUtils]: 68: Hoare triple {74209#(<= ~counter~0 7)} ~cond := #in~cond; {74209#(<= ~counter~0 7)} is VALID [2022-04-28 12:44:49,050 INFO L290 TraceCheckUtils]: 69: Hoare triple {74209#(<= ~counter~0 7)} assume !(0 == ~cond); {74209#(<= ~counter~0 7)} is VALID [2022-04-28 12:44:49,050 INFO L290 TraceCheckUtils]: 70: Hoare triple {74209#(<= ~counter~0 7)} assume true; {74209#(<= ~counter~0 7)} is VALID [2022-04-28 12:44:49,051 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {74209#(<= ~counter~0 7)} {74209#(<= ~counter~0 7)} #96#return; {74209#(<= ~counter~0 7)} is VALID [2022-04-28 12:44:49,051 INFO L290 TraceCheckUtils]: 72: Hoare triple {74209#(<= ~counter~0 7)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {74209#(<= ~counter~0 7)} is VALID [2022-04-28 12:44:49,052 INFO L290 TraceCheckUtils]: 73: Hoare triple {74209#(<= ~counter~0 7)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {74234#(<= ~counter~0 8)} is VALID [2022-04-28 12:44:49,052 INFO L290 TraceCheckUtils]: 74: Hoare triple {74234#(<= ~counter~0 8)} assume !!(#t~post7 < 20);havoc #t~post7; {74234#(<= ~counter~0 8)} is VALID [2022-04-28 12:44:49,052 INFO L272 TraceCheckUtils]: 75: Hoare triple {74234#(<= ~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)); {74234#(<= ~counter~0 8)} is VALID [2022-04-28 12:44:49,053 INFO L290 TraceCheckUtils]: 76: Hoare triple {74234#(<= ~counter~0 8)} ~cond := #in~cond; {74234#(<= ~counter~0 8)} is VALID [2022-04-28 12:44:49,053 INFO L290 TraceCheckUtils]: 77: Hoare triple {74234#(<= ~counter~0 8)} assume !(0 == ~cond); {74234#(<= ~counter~0 8)} is VALID [2022-04-28 12:44:49,053 INFO L290 TraceCheckUtils]: 78: Hoare triple {74234#(<= ~counter~0 8)} assume true; {74234#(<= ~counter~0 8)} is VALID [2022-04-28 12:44:49,054 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {74234#(<= ~counter~0 8)} {74234#(<= ~counter~0 8)} #96#return; {74234#(<= ~counter~0 8)} is VALID [2022-04-28 12:44:49,054 INFO L290 TraceCheckUtils]: 80: Hoare triple {74234#(<= ~counter~0 8)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {74234#(<= ~counter~0 8)} is VALID [2022-04-28 12:44:49,055 INFO L290 TraceCheckUtils]: 81: Hoare triple {74234#(<= ~counter~0 8)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {74259#(<= ~counter~0 9)} is VALID [2022-04-28 12:44:49,055 INFO L290 TraceCheckUtils]: 82: Hoare triple {74259#(<= ~counter~0 9)} assume !!(#t~post7 < 20);havoc #t~post7; {74259#(<= ~counter~0 9)} is VALID [2022-04-28 12:44:49,055 INFO L272 TraceCheckUtils]: 83: Hoare triple {74259#(<= ~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)); {74259#(<= ~counter~0 9)} is VALID [2022-04-28 12:44:49,056 INFO L290 TraceCheckUtils]: 84: Hoare triple {74259#(<= ~counter~0 9)} ~cond := #in~cond; {74259#(<= ~counter~0 9)} is VALID [2022-04-28 12:44:49,056 INFO L290 TraceCheckUtils]: 85: Hoare triple {74259#(<= ~counter~0 9)} assume !(0 == ~cond); {74259#(<= ~counter~0 9)} is VALID [2022-04-28 12:44:49,056 INFO L290 TraceCheckUtils]: 86: Hoare triple {74259#(<= ~counter~0 9)} assume true; {74259#(<= ~counter~0 9)} is VALID [2022-04-28 12:44:49,057 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {74259#(<= ~counter~0 9)} {74259#(<= ~counter~0 9)} #96#return; {74259#(<= ~counter~0 9)} is VALID [2022-04-28 12:44:49,057 INFO L290 TraceCheckUtils]: 88: Hoare triple {74259#(<= ~counter~0 9)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {74259#(<= ~counter~0 9)} is VALID [2022-04-28 12:44:49,058 INFO L290 TraceCheckUtils]: 89: Hoare triple {74259#(<= ~counter~0 9)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {74284#(<= ~counter~0 10)} is VALID [2022-04-28 12:44:49,058 INFO L290 TraceCheckUtils]: 90: Hoare triple {74284#(<= ~counter~0 10)} assume !!(#t~post7 < 20);havoc #t~post7; {74284#(<= ~counter~0 10)} is VALID [2022-04-28 12:44:49,058 INFO L272 TraceCheckUtils]: 91: Hoare triple {74284#(<= ~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)); {74284#(<= ~counter~0 10)} is VALID [2022-04-28 12:44:49,059 INFO L290 TraceCheckUtils]: 92: Hoare triple {74284#(<= ~counter~0 10)} ~cond := #in~cond; {74284#(<= ~counter~0 10)} is VALID [2022-04-28 12:44:49,059 INFO L290 TraceCheckUtils]: 93: Hoare triple {74284#(<= ~counter~0 10)} assume !(0 == ~cond); {74284#(<= ~counter~0 10)} is VALID [2022-04-28 12:44:49,059 INFO L290 TraceCheckUtils]: 94: Hoare triple {74284#(<= ~counter~0 10)} assume true; {74284#(<= ~counter~0 10)} is VALID [2022-04-28 12:44:49,060 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {74284#(<= ~counter~0 10)} {74284#(<= ~counter~0 10)} #96#return; {74284#(<= ~counter~0 10)} is VALID [2022-04-28 12:44:49,060 INFO L290 TraceCheckUtils]: 96: Hoare triple {74284#(<= ~counter~0 10)} assume !(~r~0 > 0); {74284#(<= ~counter~0 10)} is VALID [2022-04-28 12:44:49,061 INFO L290 TraceCheckUtils]: 97: Hoare triple {74284#(<= ~counter~0 10)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {74309#(<= ~counter~0 11)} is VALID [2022-04-28 12:44:49,061 INFO L290 TraceCheckUtils]: 98: Hoare triple {74309#(<= ~counter~0 11)} assume !!(#t~post8 < 20);havoc #t~post8; {74309#(<= ~counter~0 11)} is VALID [2022-04-28 12:44:49,061 INFO L272 TraceCheckUtils]: 99: Hoare triple {74309#(<= ~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)); {74309#(<= ~counter~0 11)} is VALID [2022-04-28 12:44:49,062 INFO L290 TraceCheckUtils]: 100: Hoare triple {74309#(<= ~counter~0 11)} ~cond := #in~cond; {74309#(<= ~counter~0 11)} is VALID [2022-04-28 12:44:49,062 INFO L290 TraceCheckUtils]: 101: Hoare triple {74309#(<= ~counter~0 11)} assume !(0 == ~cond); {74309#(<= ~counter~0 11)} is VALID [2022-04-28 12:44:49,062 INFO L290 TraceCheckUtils]: 102: Hoare triple {74309#(<= ~counter~0 11)} assume true; {74309#(<= ~counter~0 11)} is VALID [2022-04-28 12:44:49,063 INFO L284 TraceCheckUtils]: 103: Hoare quadruple {74309#(<= ~counter~0 11)} {74309#(<= ~counter~0 11)} #98#return; {74309#(<= ~counter~0 11)} is VALID [2022-04-28 12:44:49,063 INFO L290 TraceCheckUtils]: 104: Hoare triple {74309#(<= ~counter~0 11)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {74309#(<= ~counter~0 11)} is VALID [2022-04-28 12:44:49,063 INFO L290 TraceCheckUtils]: 105: Hoare triple {74309#(<= ~counter~0 11)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {74334#(<= |main_#t~post8| 11)} is VALID [2022-04-28 12:44:49,063 INFO L290 TraceCheckUtils]: 106: Hoare triple {74334#(<= |main_#t~post8| 11)} assume !(#t~post8 < 20);havoc #t~post8; {74003#false} is VALID [2022-04-28 12:44:49,064 INFO L290 TraceCheckUtils]: 107: Hoare triple {74003#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {74003#false} is VALID [2022-04-28 12:44:49,064 INFO L290 TraceCheckUtils]: 108: Hoare triple {74003#false} assume !(#t~post6 < 20);havoc #t~post6; {74003#false} is VALID [2022-04-28 12:44:49,064 INFO L272 TraceCheckUtils]: 109: Hoare triple {74003#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)); {74003#false} is VALID [2022-04-28 12:44:49,064 INFO L290 TraceCheckUtils]: 110: Hoare triple {74003#false} ~cond := #in~cond; {74003#false} is VALID [2022-04-28 12:44:49,064 INFO L290 TraceCheckUtils]: 111: Hoare triple {74003#false} assume 0 == ~cond; {74003#false} is VALID [2022-04-28 12:44:49,064 INFO L290 TraceCheckUtils]: 112: Hoare triple {74003#false} assume !false; {74003#false} is VALID [2022-04-28 12:44:49,066 INFO L134 CoverageAnalysis]: Checked inductivity of 332 backedges. 26 proven. 302 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:44:49,066 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:44:49,602 INFO L290 TraceCheckUtils]: 112: Hoare triple {74003#false} assume !false; {74003#false} is VALID [2022-04-28 12:44:49,603 INFO L290 TraceCheckUtils]: 111: Hoare triple {74003#false} assume 0 == ~cond; {74003#false} is VALID [2022-04-28 12:44:49,603 INFO L290 TraceCheckUtils]: 110: Hoare triple {74003#false} ~cond := #in~cond; {74003#false} is VALID [2022-04-28 12:44:49,603 INFO L272 TraceCheckUtils]: 109: Hoare triple {74003#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)); {74003#false} is VALID [2022-04-28 12:44:49,603 INFO L290 TraceCheckUtils]: 108: Hoare triple {74003#false} assume !(#t~post6 < 20);havoc #t~post6; {74003#false} is VALID [2022-04-28 12:44:49,603 INFO L290 TraceCheckUtils]: 107: Hoare triple {74003#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {74003#false} is VALID [2022-04-28 12:44:49,603 INFO L290 TraceCheckUtils]: 106: Hoare triple {74374#(< |main_#t~post8| 20)} assume !(#t~post8 < 20);havoc #t~post8; {74003#false} is VALID [2022-04-28 12:44:49,603 INFO L290 TraceCheckUtils]: 105: Hoare triple {74378#(< ~counter~0 20)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {74374#(< |main_#t~post8| 20)} is VALID [2022-04-28 12:44:49,604 INFO L290 TraceCheckUtils]: 104: Hoare triple {74378#(< ~counter~0 20)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {74378#(< ~counter~0 20)} is VALID [2022-04-28 12:44:49,604 INFO L284 TraceCheckUtils]: 103: Hoare quadruple {74002#true} {74378#(< ~counter~0 20)} #98#return; {74378#(< ~counter~0 20)} is VALID [2022-04-28 12:44:49,604 INFO L290 TraceCheckUtils]: 102: Hoare triple {74002#true} assume true; {74002#true} is VALID [2022-04-28 12:44:49,604 INFO L290 TraceCheckUtils]: 101: Hoare triple {74002#true} assume !(0 == ~cond); {74002#true} is VALID [2022-04-28 12:44:49,604 INFO L290 TraceCheckUtils]: 100: Hoare triple {74002#true} ~cond := #in~cond; {74002#true} is VALID [2022-04-28 12:44:49,604 INFO L272 TraceCheckUtils]: 99: Hoare triple {74378#(< ~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)); {74002#true} is VALID [2022-04-28 12:44:49,605 INFO L290 TraceCheckUtils]: 98: Hoare triple {74378#(< ~counter~0 20)} assume !!(#t~post8 < 20);havoc #t~post8; {74378#(< ~counter~0 20)} is VALID [2022-04-28 12:44:49,606 INFO L290 TraceCheckUtils]: 97: Hoare triple {74403#(< ~counter~0 19)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {74378#(< ~counter~0 20)} is VALID [2022-04-28 12:44:49,607 INFO L290 TraceCheckUtils]: 96: Hoare triple {74403#(< ~counter~0 19)} assume !(~r~0 > 0); {74403#(< ~counter~0 19)} is VALID [2022-04-28 12:44:49,607 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {74002#true} {74403#(< ~counter~0 19)} #96#return; {74403#(< ~counter~0 19)} is VALID [2022-04-28 12:44:49,607 INFO L290 TraceCheckUtils]: 94: Hoare triple {74002#true} assume true; {74002#true} is VALID [2022-04-28 12:44:49,607 INFO L290 TraceCheckUtils]: 93: Hoare triple {74002#true} assume !(0 == ~cond); {74002#true} is VALID [2022-04-28 12:44:49,607 INFO L290 TraceCheckUtils]: 92: Hoare triple {74002#true} ~cond := #in~cond; {74002#true} is VALID [2022-04-28 12:44:49,607 INFO L272 TraceCheckUtils]: 91: Hoare triple {74403#(< ~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)); {74002#true} is VALID [2022-04-28 12:44:49,608 INFO L290 TraceCheckUtils]: 90: Hoare triple {74403#(< ~counter~0 19)} assume !!(#t~post7 < 20);havoc #t~post7; {74403#(< ~counter~0 19)} is VALID [2022-04-28 12:44:49,608 INFO L290 TraceCheckUtils]: 89: Hoare triple {74428#(< ~counter~0 18)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {74403#(< ~counter~0 19)} is VALID [2022-04-28 12:44:49,609 INFO L290 TraceCheckUtils]: 88: Hoare triple {74428#(< ~counter~0 18)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {74428#(< ~counter~0 18)} is VALID [2022-04-28 12:44:49,609 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {74002#true} {74428#(< ~counter~0 18)} #96#return; {74428#(< ~counter~0 18)} is VALID [2022-04-28 12:44:49,609 INFO L290 TraceCheckUtils]: 86: Hoare triple {74002#true} assume true; {74002#true} is VALID [2022-04-28 12:44:49,609 INFO L290 TraceCheckUtils]: 85: Hoare triple {74002#true} assume !(0 == ~cond); {74002#true} is VALID [2022-04-28 12:44:49,609 INFO L290 TraceCheckUtils]: 84: Hoare triple {74002#true} ~cond := #in~cond; {74002#true} is VALID [2022-04-28 12:44:49,609 INFO L272 TraceCheckUtils]: 83: Hoare triple {74428#(< ~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)); {74002#true} is VALID [2022-04-28 12:44:49,610 INFO L290 TraceCheckUtils]: 82: Hoare triple {74428#(< ~counter~0 18)} assume !!(#t~post7 < 20);havoc #t~post7; {74428#(< ~counter~0 18)} is VALID [2022-04-28 12:44:49,610 INFO L290 TraceCheckUtils]: 81: Hoare triple {74453#(< ~counter~0 17)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {74428#(< ~counter~0 18)} is VALID [2022-04-28 12:44:49,611 INFO L290 TraceCheckUtils]: 80: Hoare triple {74453#(< ~counter~0 17)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {74453#(< ~counter~0 17)} is VALID [2022-04-28 12:44:49,611 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {74002#true} {74453#(< ~counter~0 17)} #96#return; {74453#(< ~counter~0 17)} is VALID [2022-04-28 12:44:49,611 INFO L290 TraceCheckUtils]: 78: Hoare triple {74002#true} assume true; {74002#true} is VALID [2022-04-28 12:44:49,611 INFO L290 TraceCheckUtils]: 77: Hoare triple {74002#true} assume !(0 == ~cond); {74002#true} is VALID [2022-04-28 12:44:49,611 INFO L290 TraceCheckUtils]: 76: Hoare triple {74002#true} ~cond := #in~cond; {74002#true} is VALID [2022-04-28 12:44:49,611 INFO L272 TraceCheckUtils]: 75: Hoare triple {74453#(< ~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)); {74002#true} is VALID [2022-04-28 12:44:49,612 INFO L290 TraceCheckUtils]: 74: Hoare triple {74453#(< ~counter~0 17)} assume !!(#t~post7 < 20);havoc #t~post7; {74453#(< ~counter~0 17)} is VALID [2022-04-28 12:44:49,612 INFO L290 TraceCheckUtils]: 73: Hoare triple {74478#(< ~counter~0 16)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {74453#(< ~counter~0 17)} is VALID [2022-04-28 12:44:49,613 INFO L290 TraceCheckUtils]: 72: Hoare triple {74478#(< ~counter~0 16)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {74478#(< ~counter~0 16)} is VALID [2022-04-28 12:44:49,613 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {74002#true} {74478#(< ~counter~0 16)} #96#return; {74478#(< ~counter~0 16)} is VALID [2022-04-28 12:44:49,613 INFO L290 TraceCheckUtils]: 70: Hoare triple {74002#true} assume true; {74002#true} is VALID [2022-04-28 12:44:49,613 INFO L290 TraceCheckUtils]: 69: Hoare triple {74002#true} assume !(0 == ~cond); {74002#true} is VALID [2022-04-28 12:44:49,613 INFO L290 TraceCheckUtils]: 68: Hoare triple {74002#true} ~cond := #in~cond; {74002#true} is VALID [2022-04-28 12:44:49,613 INFO L272 TraceCheckUtils]: 67: Hoare triple {74478#(< ~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)); {74002#true} is VALID [2022-04-28 12:44:49,614 INFO L290 TraceCheckUtils]: 66: Hoare triple {74478#(< ~counter~0 16)} assume !!(#t~post7 < 20);havoc #t~post7; {74478#(< ~counter~0 16)} is VALID [2022-04-28 12:44:49,614 INFO L290 TraceCheckUtils]: 65: Hoare triple {74503#(< ~counter~0 15)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {74478#(< ~counter~0 16)} is VALID [2022-04-28 12:44:49,615 INFO L290 TraceCheckUtils]: 64: Hoare triple {74503#(< ~counter~0 15)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {74503#(< ~counter~0 15)} is VALID [2022-04-28 12:44:49,615 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {74002#true} {74503#(< ~counter~0 15)} #96#return; {74503#(< ~counter~0 15)} is VALID [2022-04-28 12:44:49,615 INFO L290 TraceCheckUtils]: 62: Hoare triple {74002#true} assume true; {74002#true} is VALID [2022-04-28 12:44:49,615 INFO L290 TraceCheckUtils]: 61: Hoare triple {74002#true} assume !(0 == ~cond); {74002#true} is VALID [2022-04-28 12:44:49,615 INFO L290 TraceCheckUtils]: 60: Hoare triple {74002#true} ~cond := #in~cond; {74002#true} is VALID [2022-04-28 12:44:49,615 INFO L272 TraceCheckUtils]: 59: Hoare triple {74503#(< ~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)); {74002#true} is VALID [2022-04-28 12:44:49,616 INFO L290 TraceCheckUtils]: 58: Hoare triple {74503#(< ~counter~0 15)} assume !!(#t~post7 < 20);havoc #t~post7; {74503#(< ~counter~0 15)} is VALID [2022-04-28 12:44:49,616 INFO L290 TraceCheckUtils]: 57: Hoare triple {74528#(< ~counter~0 14)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {74503#(< ~counter~0 15)} is VALID [2022-04-28 12:44:49,617 INFO L290 TraceCheckUtils]: 56: Hoare triple {74528#(< ~counter~0 14)} assume !!(0 != ~r~0); {74528#(< ~counter~0 14)} is VALID [2022-04-28 12:44:49,617 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {74002#true} {74528#(< ~counter~0 14)} #94#return; {74528#(< ~counter~0 14)} is VALID [2022-04-28 12:44:49,617 INFO L290 TraceCheckUtils]: 54: Hoare triple {74002#true} assume true; {74002#true} is VALID [2022-04-28 12:44:49,617 INFO L290 TraceCheckUtils]: 53: Hoare triple {74002#true} assume !(0 == ~cond); {74002#true} is VALID [2022-04-28 12:44:49,617 INFO L290 TraceCheckUtils]: 52: Hoare triple {74002#true} ~cond := #in~cond; {74002#true} is VALID [2022-04-28 12:44:49,617 INFO L272 TraceCheckUtils]: 51: Hoare triple {74528#(< ~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)); {74002#true} is VALID [2022-04-28 12:44:49,618 INFO L290 TraceCheckUtils]: 50: Hoare triple {74528#(< ~counter~0 14)} assume !!(#t~post6 < 20);havoc #t~post6; {74528#(< ~counter~0 14)} is VALID [2022-04-28 12:44:49,618 INFO L290 TraceCheckUtils]: 49: Hoare triple {74553#(< ~counter~0 13)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {74528#(< ~counter~0 14)} is VALID [2022-04-28 12:44:49,619 INFO L290 TraceCheckUtils]: 48: Hoare triple {74553#(< ~counter~0 13)} assume !(~r~0 < 0); {74553#(< ~counter~0 13)} is VALID [2022-04-28 12:44:49,619 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {74002#true} {74553#(< ~counter~0 13)} #98#return; {74553#(< ~counter~0 13)} is VALID [2022-04-28 12:44:49,619 INFO L290 TraceCheckUtils]: 46: Hoare triple {74002#true} assume true; {74002#true} is VALID [2022-04-28 12:44:49,619 INFO L290 TraceCheckUtils]: 45: Hoare triple {74002#true} assume !(0 == ~cond); {74002#true} is VALID [2022-04-28 12:44:49,619 INFO L290 TraceCheckUtils]: 44: Hoare triple {74002#true} ~cond := #in~cond; {74002#true} is VALID [2022-04-28 12:44:49,619 INFO L272 TraceCheckUtils]: 43: Hoare triple {74553#(< ~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)); {74002#true} is VALID [2022-04-28 12:44:49,620 INFO L290 TraceCheckUtils]: 42: Hoare triple {74553#(< ~counter~0 13)} assume !!(#t~post8 < 20);havoc #t~post8; {74553#(< ~counter~0 13)} is VALID [2022-04-28 12:44:49,620 INFO L290 TraceCheckUtils]: 41: Hoare triple {74309#(<= ~counter~0 11)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {74553#(< ~counter~0 13)} is VALID [2022-04-28 12:44:49,621 INFO L290 TraceCheckUtils]: 40: Hoare triple {74309#(<= ~counter~0 11)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {74309#(<= ~counter~0 11)} is VALID [2022-04-28 12:44:49,621 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {74002#true} {74309#(<= ~counter~0 11)} #98#return; {74309#(<= ~counter~0 11)} is VALID [2022-04-28 12:44:49,621 INFO L290 TraceCheckUtils]: 38: Hoare triple {74002#true} assume true; {74002#true} is VALID [2022-04-28 12:44:49,621 INFO L290 TraceCheckUtils]: 37: Hoare triple {74002#true} assume !(0 == ~cond); {74002#true} is VALID [2022-04-28 12:44:49,621 INFO L290 TraceCheckUtils]: 36: Hoare triple {74002#true} ~cond := #in~cond; {74002#true} is VALID [2022-04-28 12:44:49,622 INFO L272 TraceCheckUtils]: 35: Hoare triple {74309#(<= ~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)); {74002#true} is VALID [2022-04-28 12:44:49,622 INFO L290 TraceCheckUtils]: 34: Hoare triple {74309#(<= ~counter~0 11)} assume !!(#t~post8 < 20);havoc #t~post8; {74309#(<= ~counter~0 11)} is VALID [2022-04-28 12:44:49,623 INFO L290 TraceCheckUtils]: 33: Hoare triple {74284#(<= ~counter~0 10)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {74309#(<= ~counter~0 11)} is VALID [2022-04-28 12:44:49,623 INFO L290 TraceCheckUtils]: 32: Hoare triple {74284#(<= ~counter~0 10)} assume !(~r~0 > 0); {74284#(<= ~counter~0 10)} is VALID [2022-04-28 12:44:49,623 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {74002#true} {74284#(<= ~counter~0 10)} #96#return; {74284#(<= ~counter~0 10)} is VALID [2022-04-28 12:44:49,623 INFO L290 TraceCheckUtils]: 30: Hoare triple {74002#true} assume true; {74002#true} is VALID [2022-04-28 12:44:49,623 INFO L290 TraceCheckUtils]: 29: Hoare triple {74002#true} assume !(0 == ~cond); {74002#true} is VALID [2022-04-28 12:44:49,624 INFO L290 TraceCheckUtils]: 28: Hoare triple {74002#true} ~cond := #in~cond; {74002#true} is VALID [2022-04-28 12:44:49,624 INFO L272 TraceCheckUtils]: 27: Hoare triple {74284#(<= ~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)); {74002#true} is VALID [2022-04-28 12:44:49,624 INFO L290 TraceCheckUtils]: 26: Hoare triple {74284#(<= ~counter~0 10)} assume !!(#t~post7 < 20);havoc #t~post7; {74284#(<= ~counter~0 10)} is VALID [2022-04-28 12:44:49,625 INFO L290 TraceCheckUtils]: 25: Hoare triple {74259#(<= ~counter~0 9)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {74284#(<= ~counter~0 10)} is VALID [2022-04-28 12:44:49,625 INFO L290 TraceCheckUtils]: 24: Hoare triple {74259#(<= ~counter~0 9)} assume !!(0 != ~r~0); {74259#(<= ~counter~0 9)} is VALID [2022-04-28 12:44:49,625 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {74002#true} {74259#(<= ~counter~0 9)} #94#return; {74259#(<= ~counter~0 9)} is VALID [2022-04-28 12:44:49,625 INFO L290 TraceCheckUtils]: 22: Hoare triple {74002#true} assume true; {74002#true} is VALID [2022-04-28 12:44:49,626 INFO L290 TraceCheckUtils]: 21: Hoare triple {74002#true} assume !(0 == ~cond); {74002#true} is VALID [2022-04-28 12:44:49,626 INFO L290 TraceCheckUtils]: 20: Hoare triple {74002#true} ~cond := #in~cond; {74002#true} is VALID [2022-04-28 12:44:49,626 INFO L272 TraceCheckUtils]: 19: Hoare triple {74259#(<= ~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)); {74002#true} is VALID [2022-04-28 12:44:49,626 INFO L290 TraceCheckUtils]: 18: Hoare triple {74259#(<= ~counter~0 9)} assume !!(#t~post6 < 20);havoc #t~post6; {74259#(<= ~counter~0 9)} is VALID [2022-04-28 12:44:49,627 INFO L290 TraceCheckUtils]: 17: Hoare triple {74234#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {74259#(<= ~counter~0 9)} is VALID [2022-04-28 12:44:49,627 INFO L290 TraceCheckUtils]: 16: Hoare triple {74234#(<= ~counter~0 8)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {74234#(<= ~counter~0 8)} is VALID [2022-04-28 12:44:49,627 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {74002#true} {74234#(<= ~counter~0 8)} #92#return; {74234#(<= ~counter~0 8)} is VALID [2022-04-28 12:44:49,627 INFO L290 TraceCheckUtils]: 14: Hoare triple {74002#true} assume true; {74002#true} is VALID [2022-04-28 12:44:49,628 INFO L290 TraceCheckUtils]: 13: Hoare triple {74002#true} assume !(0 == ~cond); {74002#true} is VALID [2022-04-28 12:44:49,628 INFO L290 TraceCheckUtils]: 12: Hoare triple {74002#true} ~cond := #in~cond; {74002#true} is VALID [2022-04-28 12:44:49,628 INFO L272 TraceCheckUtils]: 11: Hoare triple {74234#(<= ~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)); {74002#true} is VALID [2022-04-28 12:44:49,628 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {74002#true} {74234#(<= ~counter~0 8)} #90#return; {74234#(<= ~counter~0 8)} is VALID [2022-04-28 12:44:49,628 INFO L290 TraceCheckUtils]: 9: Hoare triple {74002#true} assume true; {74002#true} is VALID [2022-04-28 12:44:49,628 INFO L290 TraceCheckUtils]: 8: Hoare triple {74002#true} assume !(0 == ~cond); {74002#true} is VALID [2022-04-28 12:44:49,628 INFO L290 TraceCheckUtils]: 7: Hoare triple {74002#true} ~cond := #in~cond; {74002#true} is VALID [2022-04-28 12:44:49,628 INFO L272 TraceCheckUtils]: 6: Hoare triple {74234#(<= ~counter~0 8)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {74002#true} is VALID [2022-04-28 12:44:49,629 INFO L290 TraceCheckUtils]: 5: Hoare triple {74234#(<= ~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; {74234#(<= ~counter~0 8)} is VALID [2022-04-28 12:44:49,629 INFO L272 TraceCheckUtils]: 4: Hoare triple {74234#(<= ~counter~0 8)} call #t~ret9 := main(); {74234#(<= ~counter~0 8)} is VALID [2022-04-28 12:44:49,629 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {74234#(<= ~counter~0 8)} {74002#true} #102#return; {74234#(<= ~counter~0 8)} is VALID [2022-04-28 12:44:49,629 INFO L290 TraceCheckUtils]: 2: Hoare triple {74234#(<= ~counter~0 8)} assume true; {74234#(<= ~counter~0 8)} is VALID [2022-04-28 12:44:49,630 INFO L290 TraceCheckUtils]: 1: Hoare triple {74002#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; {74234#(<= ~counter~0 8)} is VALID [2022-04-28 12:44:49,630 INFO L272 TraceCheckUtils]: 0: Hoare triple {74002#true} call ULTIMATE.init(); {74002#true} is VALID [2022-04-28 12:44:49,630 INFO L134 CoverageAnalysis]: Checked inductivity of 332 backedges. 26 proven. 82 refuted. 0 times theorem prover too weak. 224 trivial. 0 not checked. [2022-04-28 12:44:49,630 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:44:49,630 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [392852163] [2022-04-28 12:44:49,631 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:44:49,631 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1655173628] [2022-04-28 12:44:49,631 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1655173628] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:44:49,631 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:44:49,631 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 15] total 24 [2022-04-28 12:44:49,631 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:44:49,631 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1891729] [2022-04-28 12:44:49,631 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1891729] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:44:49,631 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:44:49,631 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-28 12:44:49,631 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1549352819] [2022-04-28 12:44:49,631 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:44:49,632 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 5.333333333333333) internal successors, (80), 14 states have internal predecessors, (80), 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 113 [2022-04-28 12:44:49,632 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:44:49,632 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 15 states have (on average 5.333333333333333) internal successors, (80), 14 states have internal predecessors, (80), 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:44:49,722 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:44:49,722 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-28 12:44:49,722 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:44:49,723 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-28 12:44:49,723 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=236, Invalid=316, Unknown=0, NotChecked=0, Total=552 [2022-04-28 12:44:49,723 INFO L87 Difference]: Start difference. First operand 592 states and 792 transitions. Second operand has 15 states, 15 states have (on average 5.333333333333333) internal successors, (80), 14 states have internal predecessors, (80), 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:44:52,229 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:44:52,229 INFO L93 Difference]: Finished difference Result 817 states and 1128 transitions. [2022-04-28 12:44:52,229 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2022-04-28 12:44:52,229 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 5.333333333333333) internal successors, (80), 14 states have internal predecessors, (80), 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 113 [2022-04-28 12:44:52,230 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:44:52,230 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 5.333333333333333) internal successors, (80), 14 states have internal predecessors, (80), 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:44:52,231 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 256 transitions. [2022-04-28 12:44:52,231 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 5.333333333333333) internal successors, (80), 14 states have internal predecessors, (80), 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:44:52,233 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 256 transitions. [2022-04-28 12:44:52,233 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 24 states and 256 transitions. [2022-04-28 12:44:52,444 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 256 edges. 256 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:44:52,466 INFO L225 Difference]: With dead ends: 817 [2022-04-28 12:44:52,466 INFO L226 Difference]: Without dead ends: 620 [2022-04-28 12:44:52,467 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 234 GetRequests, 202 SyntacticMatches, 1 SemanticMatches, 31 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 74 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=425, Invalid=631, Unknown=0, NotChecked=0, Total=1056 [2022-04-28 12:44:52,467 INFO L413 NwaCegarLoop]: 63 mSDtfsCounter, 170 mSDsluCounter, 203 mSDsCounter, 0 mSdLazyCounter, 143 mSolverCounterSat, 171 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 170 SdHoareTripleChecker+Valid, 266 SdHoareTripleChecker+Invalid, 314 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 171 IncrementalHoareTripleChecker+Valid, 143 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 12:44:52,467 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [170 Valid, 266 Invalid, 314 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [171 Valid, 143 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 12:44:52,468 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 620 states. [2022-04-28 12:44:54,031 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 620 to 610. [2022-04-28 12:44:54,031 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:44:54,032 INFO L82 GeneralOperation]: Start isEquivalent. First operand 620 states. Second operand has 610 states, 460 states have (on average 1.2217391304347827) internal successors, (562), 464 states have internal predecessors, (562), 127 states have call successors, (127), 24 states have call predecessors, (127), 22 states have return successors, (125), 121 states have call predecessors, (125), 125 states have call successors, (125) [2022-04-28 12:44:54,033 INFO L74 IsIncluded]: Start isIncluded. First operand 620 states. Second operand has 610 states, 460 states have (on average 1.2217391304347827) internal successors, (562), 464 states have internal predecessors, (562), 127 states have call successors, (127), 24 states have call predecessors, (127), 22 states have return successors, (125), 121 states have call predecessors, (125), 125 states have call successors, (125) [2022-04-28 12:44:54,033 INFO L87 Difference]: Start difference. First operand 620 states. Second operand has 610 states, 460 states have (on average 1.2217391304347827) internal successors, (562), 464 states have internal predecessors, (562), 127 states have call successors, (127), 24 states have call predecessors, (127), 22 states have return successors, (125), 121 states have call predecessors, (125), 125 states have call successors, (125) [2022-04-28 12:44:54,053 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:44:54,053 INFO L93 Difference]: Finished difference Result 620 states and 824 transitions. [2022-04-28 12:44:54,053 INFO L276 IsEmpty]: Start isEmpty. Operand 620 states and 824 transitions. [2022-04-28 12:44:54,054 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:44:54,054 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:44:54,055 INFO L74 IsIncluded]: Start isIncluded. First operand has 610 states, 460 states have (on average 1.2217391304347827) internal successors, (562), 464 states have internal predecessors, (562), 127 states have call successors, (127), 24 states have call predecessors, (127), 22 states have return successors, (125), 121 states have call predecessors, (125), 125 states have call successors, (125) Second operand 620 states. [2022-04-28 12:44:54,055 INFO L87 Difference]: Start difference. First operand has 610 states, 460 states have (on average 1.2217391304347827) internal successors, (562), 464 states have internal predecessors, (562), 127 states have call successors, (127), 24 states have call predecessors, (127), 22 states have return successors, (125), 121 states have call predecessors, (125), 125 states have call successors, (125) Second operand 620 states. [2022-04-28 12:44:54,070 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:44:54,070 INFO L93 Difference]: Finished difference Result 620 states and 824 transitions. [2022-04-28 12:44:54,070 INFO L276 IsEmpty]: Start isEmpty. Operand 620 states and 824 transitions. [2022-04-28 12:44:54,071 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:44:54,071 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:44:54,071 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:44:54,071 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:44:54,072 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 610 states, 460 states have (on average 1.2217391304347827) internal successors, (562), 464 states have internal predecessors, (562), 127 states have call successors, (127), 24 states have call predecessors, (127), 22 states have return successors, (125), 121 states have call predecessors, (125), 125 states have call successors, (125) [2022-04-28 12:44:54,098 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 610 states to 610 states and 814 transitions. [2022-04-28 12:44:54,098 INFO L78 Accepts]: Start accepts. Automaton has 610 states and 814 transitions. Word has length 113 [2022-04-28 12:44:54,098 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:44:54,098 INFO L495 AbstractCegarLoop]: Abstraction has 610 states and 814 transitions. [2022-04-28 12:44:54,098 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 15 states have (on average 5.333333333333333) internal successors, (80), 14 states have internal predecessors, (80), 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:44:54,099 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 610 states and 814 transitions. [2022-04-28 12:45:13,417 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 814 edges. 809 inductive. 0 not inductive. 5 times theorem prover too weak to decide inductivity. [2022-04-28 12:45:13,417 INFO L276 IsEmpty]: Start isEmpty. Operand 610 states and 814 transitions. [2022-04-28 12:45:13,418 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 116 [2022-04-28 12:45:13,418 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:45:13,419 INFO L195 NwaCegarLoop]: trace histogram [12, 11, 11, 5, 5, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:45:13,426 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (38)] Forceful destruction successful, exit code 0 [2022-04-28 12:45:13,619 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 38 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable36 [2022-04-28 12:45:13,620 INFO L420 AbstractCegarLoop]: === Iteration 38 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:45:13,620 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:45:13,620 INFO L85 PathProgramCache]: Analyzing trace with hash 533963976, now seen corresponding path program 13 times [2022-04-28 12:45:13,620 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:45:13,620 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [205925316] [2022-04-28 12:45:13,621 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:45:13,621 INFO L85 PathProgramCache]: Analyzing trace with hash 533963976, now seen corresponding path program 14 times [2022-04-28 12:45:13,621 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:45:13,621 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [330033246] [2022-04-28 12:45:13,621 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:45:13,621 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:45:13,645 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:45:13,645 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1183400058] [2022-04-28 12:45:13,645 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:45:13,645 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:45:13,645 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:45:13,646 INFO L229 MonitoredProcess]: Starting monitored process 39 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:45:13,663 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (39)] Waiting until timeout for monitored process [2022-04-28 12:45:13,744 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:45:13,744 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:45:13,746 INFO L263 TraceCheckSpWp]: Trace formula consists of 284 conjuncts, 27 conjunts are in the unsatisfiable core [2022-04-28 12:45:13,769 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:45:13,771 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:45:14,298 INFO L272 TraceCheckUtils]: 0: Hoare triple {78815#true} call ULTIMATE.init(); {78815#true} is VALID [2022-04-28 12:45:14,298 INFO L290 TraceCheckUtils]: 1: Hoare triple {78815#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; {78823#(<= ~counter~0 0)} is VALID [2022-04-28 12:45:14,299 INFO L290 TraceCheckUtils]: 2: Hoare triple {78823#(<= ~counter~0 0)} assume true; {78823#(<= ~counter~0 0)} is VALID [2022-04-28 12:45:14,299 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {78823#(<= ~counter~0 0)} {78815#true} #102#return; {78823#(<= ~counter~0 0)} is VALID [2022-04-28 12:45:14,299 INFO L272 TraceCheckUtils]: 4: Hoare triple {78823#(<= ~counter~0 0)} call #t~ret9 := main(); {78823#(<= ~counter~0 0)} is VALID [2022-04-28 12:45:14,299 INFO L290 TraceCheckUtils]: 5: Hoare triple {78823#(<= ~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; {78823#(<= ~counter~0 0)} is VALID [2022-04-28 12:45:14,300 INFO L272 TraceCheckUtils]: 6: Hoare triple {78823#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {78823#(<= ~counter~0 0)} is VALID [2022-04-28 12:45:14,300 INFO L290 TraceCheckUtils]: 7: Hoare triple {78823#(<= ~counter~0 0)} ~cond := #in~cond; {78823#(<= ~counter~0 0)} is VALID [2022-04-28 12:45:14,300 INFO L290 TraceCheckUtils]: 8: Hoare triple {78823#(<= ~counter~0 0)} assume !(0 == ~cond); {78823#(<= ~counter~0 0)} is VALID [2022-04-28 12:45:14,301 INFO L290 TraceCheckUtils]: 9: Hoare triple {78823#(<= ~counter~0 0)} assume true; {78823#(<= ~counter~0 0)} is VALID [2022-04-28 12:45:14,301 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {78823#(<= ~counter~0 0)} {78823#(<= ~counter~0 0)} #90#return; {78823#(<= ~counter~0 0)} is VALID [2022-04-28 12:45:14,301 INFO L272 TraceCheckUtils]: 11: Hoare triple {78823#(<= ~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)); {78823#(<= ~counter~0 0)} is VALID [2022-04-28 12:45:14,302 INFO L290 TraceCheckUtils]: 12: Hoare triple {78823#(<= ~counter~0 0)} ~cond := #in~cond; {78823#(<= ~counter~0 0)} is VALID [2022-04-28 12:45:14,302 INFO L290 TraceCheckUtils]: 13: Hoare triple {78823#(<= ~counter~0 0)} assume !(0 == ~cond); {78823#(<= ~counter~0 0)} is VALID [2022-04-28 12:45:14,302 INFO L290 TraceCheckUtils]: 14: Hoare triple {78823#(<= ~counter~0 0)} assume true; {78823#(<= ~counter~0 0)} is VALID [2022-04-28 12:45:14,303 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {78823#(<= ~counter~0 0)} {78823#(<= ~counter~0 0)} #92#return; {78823#(<= ~counter~0 0)} is VALID [2022-04-28 12:45:14,303 INFO L290 TraceCheckUtils]: 16: Hoare triple {78823#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {78823#(<= ~counter~0 0)} is VALID [2022-04-28 12:45:14,304 INFO L290 TraceCheckUtils]: 17: Hoare triple {78823#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {78872#(<= ~counter~0 1)} is VALID [2022-04-28 12:45:14,305 INFO L290 TraceCheckUtils]: 18: Hoare triple {78872#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {78872#(<= ~counter~0 1)} is VALID [2022-04-28 12:45:14,305 INFO L272 TraceCheckUtils]: 19: Hoare triple {78872#(<= ~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)); {78872#(<= ~counter~0 1)} is VALID [2022-04-28 12:45:14,305 INFO L290 TraceCheckUtils]: 20: Hoare triple {78872#(<= ~counter~0 1)} ~cond := #in~cond; {78872#(<= ~counter~0 1)} is VALID [2022-04-28 12:45:14,306 INFO L290 TraceCheckUtils]: 21: Hoare triple {78872#(<= ~counter~0 1)} assume !(0 == ~cond); {78872#(<= ~counter~0 1)} is VALID [2022-04-28 12:45:14,306 INFO L290 TraceCheckUtils]: 22: Hoare triple {78872#(<= ~counter~0 1)} assume true; {78872#(<= ~counter~0 1)} is VALID [2022-04-28 12:45:14,306 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {78872#(<= ~counter~0 1)} {78872#(<= ~counter~0 1)} #94#return; {78872#(<= ~counter~0 1)} is VALID [2022-04-28 12:45:14,307 INFO L290 TraceCheckUtils]: 24: Hoare triple {78872#(<= ~counter~0 1)} assume !!(0 != ~r~0); {78872#(<= ~counter~0 1)} is VALID [2022-04-28 12:45:14,307 INFO L290 TraceCheckUtils]: 25: Hoare triple {78872#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {78897#(<= ~counter~0 2)} is VALID [2022-04-28 12:45:14,308 INFO L290 TraceCheckUtils]: 26: Hoare triple {78897#(<= ~counter~0 2)} assume !!(#t~post7 < 20);havoc #t~post7; {78897#(<= ~counter~0 2)} is VALID [2022-04-28 12:45:14,308 INFO L272 TraceCheckUtils]: 27: Hoare triple {78897#(<= ~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)); {78897#(<= ~counter~0 2)} is VALID [2022-04-28 12:45:14,308 INFO L290 TraceCheckUtils]: 28: Hoare triple {78897#(<= ~counter~0 2)} ~cond := #in~cond; {78897#(<= ~counter~0 2)} is VALID [2022-04-28 12:45:14,309 INFO L290 TraceCheckUtils]: 29: Hoare triple {78897#(<= ~counter~0 2)} assume !(0 == ~cond); {78897#(<= ~counter~0 2)} is VALID [2022-04-28 12:45:14,309 INFO L290 TraceCheckUtils]: 30: Hoare triple {78897#(<= ~counter~0 2)} assume true; {78897#(<= ~counter~0 2)} is VALID [2022-04-28 12:45:14,309 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {78897#(<= ~counter~0 2)} {78897#(<= ~counter~0 2)} #96#return; {78897#(<= ~counter~0 2)} is VALID [2022-04-28 12:45:14,310 INFO L290 TraceCheckUtils]: 32: Hoare triple {78897#(<= ~counter~0 2)} assume !(~r~0 > 0); {78897#(<= ~counter~0 2)} is VALID [2022-04-28 12:45:14,310 INFO L290 TraceCheckUtils]: 33: Hoare triple {78897#(<= ~counter~0 2)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {78922#(<= ~counter~0 3)} is VALID [2022-04-28 12:45:14,311 INFO L290 TraceCheckUtils]: 34: Hoare triple {78922#(<= ~counter~0 3)} assume !!(#t~post8 < 20);havoc #t~post8; {78922#(<= ~counter~0 3)} is VALID [2022-04-28 12:45:14,311 INFO L272 TraceCheckUtils]: 35: Hoare triple {78922#(<= ~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)); {78922#(<= ~counter~0 3)} is VALID [2022-04-28 12:45:14,311 INFO L290 TraceCheckUtils]: 36: Hoare triple {78922#(<= ~counter~0 3)} ~cond := #in~cond; {78922#(<= ~counter~0 3)} is VALID [2022-04-28 12:45:14,312 INFO L290 TraceCheckUtils]: 37: Hoare triple {78922#(<= ~counter~0 3)} assume !(0 == ~cond); {78922#(<= ~counter~0 3)} is VALID [2022-04-28 12:45:14,312 INFO L290 TraceCheckUtils]: 38: Hoare triple {78922#(<= ~counter~0 3)} assume true; {78922#(<= ~counter~0 3)} is VALID [2022-04-28 12:45:14,312 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {78922#(<= ~counter~0 3)} {78922#(<= ~counter~0 3)} #98#return; {78922#(<= ~counter~0 3)} is VALID [2022-04-28 12:45:14,313 INFO L290 TraceCheckUtils]: 40: Hoare triple {78922#(<= ~counter~0 3)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {78922#(<= ~counter~0 3)} is VALID [2022-04-28 12:45:14,313 INFO L290 TraceCheckUtils]: 41: Hoare triple {78922#(<= ~counter~0 3)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {78947#(<= ~counter~0 4)} is VALID [2022-04-28 12:45:14,314 INFO L290 TraceCheckUtils]: 42: Hoare triple {78947#(<= ~counter~0 4)} assume !!(#t~post8 < 20);havoc #t~post8; {78947#(<= ~counter~0 4)} is VALID [2022-04-28 12:45:14,314 INFO L272 TraceCheckUtils]: 43: Hoare triple {78947#(<= ~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)); {78947#(<= ~counter~0 4)} is VALID [2022-04-28 12:45:14,314 INFO L290 TraceCheckUtils]: 44: Hoare triple {78947#(<= ~counter~0 4)} ~cond := #in~cond; {78947#(<= ~counter~0 4)} is VALID [2022-04-28 12:45:14,315 INFO L290 TraceCheckUtils]: 45: Hoare triple {78947#(<= ~counter~0 4)} assume !(0 == ~cond); {78947#(<= ~counter~0 4)} is VALID [2022-04-28 12:45:14,315 INFO L290 TraceCheckUtils]: 46: Hoare triple {78947#(<= ~counter~0 4)} assume true; {78947#(<= ~counter~0 4)} is VALID [2022-04-28 12:45:14,315 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {78947#(<= ~counter~0 4)} {78947#(<= ~counter~0 4)} #98#return; {78947#(<= ~counter~0 4)} is VALID [2022-04-28 12:45:14,316 INFO L290 TraceCheckUtils]: 48: Hoare triple {78947#(<= ~counter~0 4)} assume !(~r~0 < 0); {78947#(<= ~counter~0 4)} is VALID [2022-04-28 12:45:14,316 INFO L290 TraceCheckUtils]: 49: Hoare triple {78947#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {78972#(<= ~counter~0 5)} is VALID [2022-04-28 12:45:14,317 INFO L290 TraceCheckUtils]: 50: Hoare triple {78972#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {78972#(<= ~counter~0 5)} is VALID [2022-04-28 12:45:14,317 INFO L272 TraceCheckUtils]: 51: Hoare triple {78972#(<= ~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)); {78972#(<= ~counter~0 5)} is VALID [2022-04-28 12:45:14,317 INFO L290 TraceCheckUtils]: 52: Hoare triple {78972#(<= ~counter~0 5)} ~cond := #in~cond; {78972#(<= ~counter~0 5)} is VALID [2022-04-28 12:45:14,318 INFO L290 TraceCheckUtils]: 53: Hoare triple {78972#(<= ~counter~0 5)} assume !(0 == ~cond); {78972#(<= ~counter~0 5)} is VALID [2022-04-28 12:45:14,318 INFO L290 TraceCheckUtils]: 54: Hoare triple {78972#(<= ~counter~0 5)} assume true; {78972#(<= ~counter~0 5)} is VALID [2022-04-28 12:45:14,318 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {78972#(<= ~counter~0 5)} {78972#(<= ~counter~0 5)} #94#return; {78972#(<= ~counter~0 5)} is VALID [2022-04-28 12:45:14,319 INFO L290 TraceCheckUtils]: 56: Hoare triple {78972#(<= ~counter~0 5)} assume !!(0 != ~r~0); {78972#(<= ~counter~0 5)} is VALID [2022-04-28 12:45:14,319 INFO L290 TraceCheckUtils]: 57: Hoare triple {78972#(<= ~counter~0 5)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {78997#(<= ~counter~0 6)} is VALID [2022-04-28 12:45:14,320 INFO L290 TraceCheckUtils]: 58: Hoare triple {78997#(<= ~counter~0 6)} assume !!(#t~post7 < 20);havoc #t~post7; {78997#(<= ~counter~0 6)} is VALID [2022-04-28 12:45:14,320 INFO L272 TraceCheckUtils]: 59: Hoare triple {78997#(<= ~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)); {78997#(<= ~counter~0 6)} is VALID [2022-04-28 12:45:14,320 INFO L290 TraceCheckUtils]: 60: Hoare triple {78997#(<= ~counter~0 6)} ~cond := #in~cond; {78997#(<= ~counter~0 6)} is VALID [2022-04-28 12:45:14,321 INFO L290 TraceCheckUtils]: 61: Hoare triple {78997#(<= ~counter~0 6)} assume !(0 == ~cond); {78997#(<= ~counter~0 6)} is VALID [2022-04-28 12:45:14,321 INFO L290 TraceCheckUtils]: 62: Hoare triple {78997#(<= ~counter~0 6)} assume true; {78997#(<= ~counter~0 6)} is VALID [2022-04-28 12:45:14,321 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {78997#(<= ~counter~0 6)} {78997#(<= ~counter~0 6)} #96#return; {78997#(<= ~counter~0 6)} is VALID [2022-04-28 12:45:14,322 INFO L290 TraceCheckUtils]: 64: Hoare triple {78997#(<= ~counter~0 6)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {78997#(<= ~counter~0 6)} is VALID [2022-04-28 12:45:14,322 INFO L290 TraceCheckUtils]: 65: Hoare triple {78997#(<= ~counter~0 6)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {79022#(<= ~counter~0 7)} is VALID [2022-04-28 12:45:14,323 INFO L290 TraceCheckUtils]: 66: Hoare triple {79022#(<= ~counter~0 7)} assume !!(#t~post7 < 20);havoc #t~post7; {79022#(<= ~counter~0 7)} is VALID [2022-04-28 12:45:14,323 INFO L272 TraceCheckUtils]: 67: Hoare triple {79022#(<= ~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)); {79022#(<= ~counter~0 7)} is VALID [2022-04-28 12:45:14,323 INFO L290 TraceCheckUtils]: 68: Hoare triple {79022#(<= ~counter~0 7)} ~cond := #in~cond; {79022#(<= ~counter~0 7)} is VALID [2022-04-28 12:45:14,324 INFO L290 TraceCheckUtils]: 69: Hoare triple {79022#(<= ~counter~0 7)} assume !(0 == ~cond); {79022#(<= ~counter~0 7)} is VALID [2022-04-28 12:45:14,324 INFO L290 TraceCheckUtils]: 70: Hoare triple {79022#(<= ~counter~0 7)} assume true; {79022#(<= ~counter~0 7)} is VALID [2022-04-28 12:45:14,324 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {79022#(<= ~counter~0 7)} {79022#(<= ~counter~0 7)} #96#return; {79022#(<= ~counter~0 7)} is VALID [2022-04-28 12:45:14,325 INFO L290 TraceCheckUtils]: 72: Hoare triple {79022#(<= ~counter~0 7)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {79022#(<= ~counter~0 7)} is VALID [2022-04-28 12:45:14,326 INFO L290 TraceCheckUtils]: 73: Hoare triple {79022#(<= ~counter~0 7)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {79047#(<= ~counter~0 8)} is VALID [2022-04-28 12:45:14,326 INFO L290 TraceCheckUtils]: 74: Hoare triple {79047#(<= ~counter~0 8)} assume !!(#t~post7 < 20);havoc #t~post7; {79047#(<= ~counter~0 8)} is VALID [2022-04-28 12:45:14,326 INFO L272 TraceCheckUtils]: 75: Hoare triple {79047#(<= ~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)); {79047#(<= ~counter~0 8)} is VALID [2022-04-28 12:45:14,327 INFO L290 TraceCheckUtils]: 76: Hoare triple {79047#(<= ~counter~0 8)} ~cond := #in~cond; {79047#(<= ~counter~0 8)} is VALID [2022-04-28 12:45:14,327 INFO L290 TraceCheckUtils]: 77: Hoare triple {79047#(<= ~counter~0 8)} assume !(0 == ~cond); {79047#(<= ~counter~0 8)} is VALID [2022-04-28 12:45:14,327 INFO L290 TraceCheckUtils]: 78: Hoare triple {79047#(<= ~counter~0 8)} assume true; {79047#(<= ~counter~0 8)} is VALID [2022-04-28 12:45:14,328 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {79047#(<= ~counter~0 8)} {79047#(<= ~counter~0 8)} #96#return; {79047#(<= ~counter~0 8)} is VALID [2022-04-28 12:45:14,328 INFO L290 TraceCheckUtils]: 80: Hoare triple {79047#(<= ~counter~0 8)} assume !(~r~0 > 0); {79047#(<= ~counter~0 8)} is VALID [2022-04-28 12:45:14,329 INFO L290 TraceCheckUtils]: 81: Hoare triple {79047#(<= ~counter~0 8)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {79072#(<= ~counter~0 9)} is VALID [2022-04-28 12:45:14,329 INFO L290 TraceCheckUtils]: 82: Hoare triple {79072#(<= ~counter~0 9)} assume !!(#t~post8 < 20);havoc #t~post8; {79072#(<= ~counter~0 9)} is VALID [2022-04-28 12:45:14,329 INFO L272 TraceCheckUtils]: 83: Hoare triple {79072#(<= ~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)); {79072#(<= ~counter~0 9)} is VALID [2022-04-28 12:45:14,330 INFO L290 TraceCheckUtils]: 84: Hoare triple {79072#(<= ~counter~0 9)} ~cond := #in~cond; {79072#(<= ~counter~0 9)} is VALID [2022-04-28 12:45:14,330 INFO L290 TraceCheckUtils]: 85: Hoare triple {79072#(<= ~counter~0 9)} assume !(0 == ~cond); {79072#(<= ~counter~0 9)} is VALID [2022-04-28 12:45:14,330 INFO L290 TraceCheckUtils]: 86: Hoare triple {79072#(<= ~counter~0 9)} assume true; {79072#(<= ~counter~0 9)} is VALID [2022-04-28 12:45:14,331 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {79072#(<= ~counter~0 9)} {79072#(<= ~counter~0 9)} #98#return; {79072#(<= ~counter~0 9)} is VALID [2022-04-28 12:45:14,331 INFO L290 TraceCheckUtils]: 88: Hoare triple {79072#(<= ~counter~0 9)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {79072#(<= ~counter~0 9)} is VALID [2022-04-28 12:45:14,332 INFO L290 TraceCheckUtils]: 89: Hoare triple {79072#(<= ~counter~0 9)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {79097#(<= ~counter~0 10)} is VALID [2022-04-28 12:45:14,332 INFO L290 TraceCheckUtils]: 90: Hoare triple {79097#(<= ~counter~0 10)} assume !!(#t~post8 < 20);havoc #t~post8; {79097#(<= ~counter~0 10)} is VALID [2022-04-28 12:45:14,333 INFO L272 TraceCheckUtils]: 91: Hoare triple {79097#(<= ~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)); {79097#(<= ~counter~0 10)} is VALID [2022-04-28 12:45:14,333 INFO L290 TraceCheckUtils]: 92: Hoare triple {79097#(<= ~counter~0 10)} ~cond := #in~cond; {79097#(<= ~counter~0 10)} is VALID [2022-04-28 12:45:14,333 INFO L290 TraceCheckUtils]: 93: Hoare triple {79097#(<= ~counter~0 10)} assume !(0 == ~cond); {79097#(<= ~counter~0 10)} is VALID [2022-04-28 12:45:14,333 INFO L290 TraceCheckUtils]: 94: Hoare triple {79097#(<= ~counter~0 10)} assume true; {79097#(<= ~counter~0 10)} is VALID [2022-04-28 12:45:14,334 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {79097#(<= ~counter~0 10)} {79097#(<= ~counter~0 10)} #98#return; {79097#(<= ~counter~0 10)} is VALID [2022-04-28 12:45:14,334 INFO L290 TraceCheckUtils]: 96: Hoare triple {79097#(<= ~counter~0 10)} assume !(~r~0 < 0); {79097#(<= ~counter~0 10)} is VALID [2022-04-28 12:45:14,335 INFO L290 TraceCheckUtils]: 97: Hoare triple {79097#(<= ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {79122#(<= ~counter~0 11)} is VALID [2022-04-28 12:45:14,335 INFO L290 TraceCheckUtils]: 98: Hoare triple {79122#(<= ~counter~0 11)} assume !!(#t~post6 < 20);havoc #t~post6; {79122#(<= ~counter~0 11)} is VALID [2022-04-28 12:45:14,336 INFO L272 TraceCheckUtils]: 99: Hoare triple {79122#(<= ~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)); {79122#(<= ~counter~0 11)} is VALID [2022-04-28 12:45:14,336 INFO L290 TraceCheckUtils]: 100: Hoare triple {79122#(<= ~counter~0 11)} ~cond := #in~cond; {79122#(<= ~counter~0 11)} is VALID [2022-04-28 12:45:14,336 INFO L290 TraceCheckUtils]: 101: Hoare triple {79122#(<= ~counter~0 11)} assume !(0 == ~cond); {79122#(<= ~counter~0 11)} is VALID [2022-04-28 12:45:14,337 INFO L290 TraceCheckUtils]: 102: Hoare triple {79122#(<= ~counter~0 11)} assume true; {79122#(<= ~counter~0 11)} is VALID [2022-04-28 12:45:14,337 INFO L284 TraceCheckUtils]: 103: Hoare quadruple {79122#(<= ~counter~0 11)} {79122#(<= ~counter~0 11)} #94#return; {79122#(<= ~counter~0 11)} is VALID [2022-04-28 12:45:14,337 INFO L290 TraceCheckUtils]: 104: Hoare triple {79122#(<= ~counter~0 11)} assume !!(0 != ~r~0); {79122#(<= ~counter~0 11)} is VALID [2022-04-28 12:45:14,338 INFO L290 TraceCheckUtils]: 105: Hoare triple {79122#(<= ~counter~0 11)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {79147#(<= |main_#t~post7| 11)} is VALID [2022-04-28 12:45:14,338 INFO L290 TraceCheckUtils]: 106: Hoare triple {79147#(<= |main_#t~post7| 11)} assume !(#t~post7 < 20);havoc #t~post7; {78816#false} is VALID [2022-04-28 12:45:14,338 INFO L290 TraceCheckUtils]: 107: Hoare triple {78816#false} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {78816#false} is VALID [2022-04-28 12:45:14,338 INFO L290 TraceCheckUtils]: 108: Hoare triple {78816#false} assume !(#t~post8 < 20);havoc #t~post8; {78816#false} is VALID [2022-04-28 12:45:14,338 INFO L290 TraceCheckUtils]: 109: Hoare triple {78816#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {78816#false} is VALID [2022-04-28 12:45:14,338 INFO L290 TraceCheckUtils]: 110: Hoare triple {78816#false} assume !(#t~post6 < 20);havoc #t~post6; {78816#false} is VALID [2022-04-28 12:45:14,338 INFO L272 TraceCheckUtils]: 111: Hoare triple {78816#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)); {78816#false} is VALID [2022-04-28 12:45:14,338 INFO L290 TraceCheckUtils]: 112: Hoare triple {78816#false} ~cond := #in~cond; {78816#false} is VALID [2022-04-28 12:45:14,338 INFO L290 TraceCheckUtils]: 113: Hoare triple {78816#false} assume 0 == ~cond; {78816#false} is VALID [2022-04-28 12:45:14,338 INFO L290 TraceCheckUtils]: 114: Hoare triple {78816#false} assume !false; {78816#false} is VALID [2022-04-28 12:45:14,339 INFO L134 CoverageAnalysis]: Checked inductivity of 328 backedges. 36 proven. 288 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:45:14,339 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:45:14,894 INFO L290 TraceCheckUtils]: 114: Hoare triple {78816#false} assume !false; {78816#false} is VALID [2022-04-28 12:45:14,894 INFO L290 TraceCheckUtils]: 113: Hoare triple {78816#false} assume 0 == ~cond; {78816#false} is VALID [2022-04-28 12:45:14,894 INFO L290 TraceCheckUtils]: 112: Hoare triple {78816#false} ~cond := #in~cond; {78816#false} is VALID [2022-04-28 12:45:14,894 INFO L272 TraceCheckUtils]: 111: Hoare triple {78816#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)); {78816#false} is VALID [2022-04-28 12:45:14,894 INFO L290 TraceCheckUtils]: 110: Hoare triple {78816#false} assume !(#t~post6 < 20);havoc #t~post6; {78816#false} is VALID [2022-04-28 12:45:14,894 INFO L290 TraceCheckUtils]: 109: Hoare triple {78816#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {78816#false} is VALID [2022-04-28 12:45:14,895 INFO L290 TraceCheckUtils]: 108: Hoare triple {78816#false} assume !(#t~post8 < 20);havoc #t~post8; {78816#false} is VALID [2022-04-28 12:45:14,895 INFO L290 TraceCheckUtils]: 107: Hoare triple {78816#false} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {78816#false} is VALID [2022-04-28 12:45:14,901 INFO L290 TraceCheckUtils]: 106: Hoare triple {79199#(< |main_#t~post7| 20)} assume !(#t~post7 < 20);havoc #t~post7; {78816#false} is VALID [2022-04-28 12:45:14,902 INFO L290 TraceCheckUtils]: 105: Hoare triple {79203#(< ~counter~0 20)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {79199#(< |main_#t~post7| 20)} is VALID [2022-04-28 12:45:14,902 INFO L290 TraceCheckUtils]: 104: Hoare triple {79203#(< ~counter~0 20)} assume !!(0 != ~r~0); {79203#(< ~counter~0 20)} is VALID [2022-04-28 12:45:14,902 INFO L284 TraceCheckUtils]: 103: Hoare quadruple {78815#true} {79203#(< ~counter~0 20)} #94#return; {79203#(< ~counter~0 20)} is VALID [2022-04-28 12:45:14,902 INFO L290 TraceCheckUtils]: 102: Hoare triple {78815#true} assume true; {78815#true} is VALID [2022-04-28 12:45:14,902 INFO L290 TraceCheckUtils]: 101: Hoare triple {78815#true} assume !(0 == ~cond); {78815#true} is VALID [2022-04-28 12:45:14,903 INFO L290 TraceCheckUtils]: 100: Hoare triple {78815#true} ~cond := #in~cond; {78815#true} is VALID [2022-04-28 12:45:14,903 INFO L272 TraceCheckUtils]: 99: Hoare triple {79203#(< ~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)); {78815#true} is VALID [2022-04-28 12:45:14,903 INFO L290 TraceCheckUtils]: 98: Hoare triple {79203#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6; {79203#(< ~counter~0 20)} is VALID [2022-04-28 12:45:14,905 INFO L290 TraceCheckUtils]: 97: Hoare triple {79228#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {79203#(< ~counter~0 20)} is VALID [2022-04-28 12:45:14,905 INFO L290 TraceCheckUtils]: 96: Hoare triple {79228#(< ~counter~0 19)} assume !(~r~0 < 0); {79228#(< ~counter~0 19)} is VALID [2022-04-28 12:45:14,905 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {78815#true} {79228#(< ~counter~0 19)} #98#return; {79228#(< ~counter~0 19)} is VALID [2022-04-28 12:45:14,905 INFO L290 TraceCheckUtils]: 94: Hoare triple {78815#true} assume true; {78815#true} is VALID [2022-04-28 12:45:14,905 INFO L290 TraceCheckUtils]: 93: Hoare triple {78815#true} assume !(0 == ~cond); {78815#true} is VALID [2022-04-28 12:45:14,905 INFO L290 TraceCheckUtils]: 92: Hoare triple {78815#true} ~cond := #in~cond; {78815#true} is VALID [2022-04-28 12:45:14,906 INFO L272 TraceCheckUtils]: 91: Hoare triple {79228#(< ~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)); {78815#true} is VALID [2022-04-28 12:45:14,906 INFO L290 TraceCheckUtils]: 90: Hoare triple {79228#(< ~counter~0 19)} assume !!(#t~post8 < 20);havoc #t~post8; {79228#(< ~counter~0 19)} is VALID [2022-04-28 12:45:14,907 INFO L290 TraceCheckUtils]: 89: Hoare triple {79253#(< ~counter~0 18)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {79228#(< ~counter~0 19)} is VALID [2022-04-28 12:45:14,907 INFO L290 TraceCheckUtils]: 88: Hoare triple {79253#(< ~counter~0 18)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {79253#(< ~counter~0 18)} is VALID [2022-04-28 12:45:14,907 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {78815#true} {79253#(< ~counter~0 18)} #98#return; {79253#(< ~counter~0 18)} is VALID [2022-04-28 12:45:14,907 INFO L290 TraceCheckUtils]: 86: Hoare triple {78815#true} assume true; {78815#true} is VALID [2022-04-28 12:45:14,907 INFO L290 TraceCheckUtils]: 85: Hoare triple {78815#true} assume !(0 == ~cond); {78815#true} is VALID [2022-04-28 12:45:14,908 INFO L290 TraceCheckUtils]: 84: Hoare triple {78815#true} ~cond := #in~cond; {78815#true} is VALID [2022-04-28 12:45:14,908 INFO L272 TraceCheckUtils]: 83: Hoare triple {79253#(< ~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)); {78815#true} is VALID [2022-04-28 12:45:14,908 INFO L290 TraceCheckUtils]: 82: Hoare triple {79253#(< ~counter~0 18)} assume !!(#t~post8 < 20);havoc #t~post8; {79253#(< ~counter~0 18)} is VALID [2022-04-28 12:45:14,909 INFO L290 TraceCheckUtils]: 81: Hoare triple {79278#(< ~counter~0 17)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {79253#(< ~counter~0 18)} is VALID [2022-04-28 12:45:14,909 INFO L290 TraceCheckUtils]: 80: Hoare triple {79278#(< ~counter~0 17)} assume !(~r~0 > 0); {79278#(< ~counter~0 17)} is VALID [2022-04-28 12:45:14,909 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {78815#true} {79278#(< ~counter~0 17)} #96#return; {79278#(< ~counter~0 17)} is VALID [2022-04-28 12:45:14,910 INFO L290 TraceCheckUtils]: 78: Hoare triple {78815#true} assume true; {78815#true} is VALID [2022-04-28 12:45:14,910 INFO L290 TraceCheckUtils]: 77: Hoare triple {78815#true} assume !(0 == ~cond); {78815#true} is VALID [2022-04-28 12:45:14,910 INFO L290 TraceCheckUtils]: 76: Hoare triple {78815#true} ~cond := #in~cond; {78815#true} is VALID [2022-04-28 12:45:14,910 INFO L272 TraceCheckUtils]: 75: Hoare triple {79278#(< ~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)); {78815#true} is VALID [2022-04-28 12:45:14,910 INFO L290 TraceCheckUtils]: 74: Hoare triple {79278#(< ~counter~0 17)} assume !!(#t~post7 < 20);havoc #t~post7; {79278#(< ~counter~0 17)} is VALID [2022-04-28 12:45:14,911 INFO L290 TraceCheckUtils]: 73: Hoare triple {79303#(< ~counter~0 16)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {79278#(< ~counter~0 17)} is VALID [2022-04-28 12:45:14,911 INFO L290 TraceCheckUtils]: 72: Hoare triple {79303#(< ~counter~0 16)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {79303#(< ~counter~0 16)} is VALID [2022-04-28 12:45:14,911 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {78815#true} {79303#(< ~counter~0 16)} #96#return; {79303#(< ~counter~0 16)} is VALID [2022-04-28 12:45:14,912 INFO L290 TraceCheckUtils]: 70: Hoare triple {78815#true} assume true; {78815#true} is VALID [2022-04-28 12:45:14,912 INFO L290 TraceCheckUtils]: 69: Hoare triple {78815#true} assume !(0 == ~cond); {78815#true} is VALID [2022-04-28 12:45:14,912 INFO L290 TraceCheckUtils]: 68: Hoare triple {78815#true} ~cond := #in~cond; {78815#true} is VALID [2022-04-28 12:45:14,912 INFO L272 TraceCheckUtils]: 67: Hoare triple {79303#(< ~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)); {78815#true} is VALID [2022-04-28 12:45:14,912 INFO L290 TraceCheckUtils]: 66: Hoare triple {79303#(< ~counter~0 16)} assume !!(#t~post7 < 20);havoc #t~post7; {79303#(< ~counter~0 16)} is VALID [2022-04-28 12:45:14,913 INFO L290 TraceCheckUtils]: 65: Hoare triple {79328#(< ~counter~0 15)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {79303#(< ~counter~0 16)} is VALID [2022-04-28 12:45:14,913 INFO L290 TraceCheckUtils]: 64: Hoare triple {79328#(< ~counter~0 15)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {79328#(< ~counter~0 15)} is VALID [2022-04-28 12:45:14,914 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {78815#true} {79328#(< ~counter~0 15)} #96#return; {79328#(< ~counter~0 15)} is VALID [2022-04-28 12:45:14,914 INFO L290 TraceCheckUtils]: 62: Hoare triple {78815#true} assume true; {78815#true} is VALID [2022-04-28 12:45:14,914 INFO L290 TraceCheckUtils]: 61: Hoare triple {78815#true} assume !(0 == ~cond); {78815#true} is VALID [2022-04-28 12:45:14,914 INFO L290 TraceCheckUtils]: 60: Hoare triple {78815#true} ~cond := #in~cond; {78815#true} is VALID [2022-04-28 12:45:14,914 INFO L272 TraceCheckUtils]: 59: Hoare triple {79328#(< ~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)); {78815#true} is VALID [2022-04-28 12:45:14,914 INFO L290 TraceCheckUtils]: 58: Hoare triple {79328#(< ~counter~0 15)} assume !!(#t~post7 < 20);havoc #t~post7; {79328#(< ~counter~0 15)} is VALID [2022-04-28 12:45:14,915 INFO L290 TraceCheckUtils]: 57: Hoare triple {79353#(< ~counter~0 14)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {79328#(< ~counter~0 15)} is VALID [2022-04-28 12:45:14,915 INFO L290 TraceCheckUtils]: 56: Hoare triple {79353#(< ~counter~0 14)} assume !!(0 != ~r~0); {79353#(< ~counter~0 14)} is VALID [2022-04-28 12:45:14,916 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {78815#true} {79353#(< ~counter~0 14)} #94#return; {79353#(< ~counter~0 14)} is VALID [2022-04-28 12:45:14,916 INFO L290 TraceCheckUtils]: 54: Hoare triple {78815#true} assume true; {78815#true} is VALID [2022-04-28 12:45:14,916 INFO L290 TraceCheckUtils]: 53: Hoare triple {78815#true} assume !(0 == ~cond); {78815#true} is VALID [2022-04-28 12:45:14,916 INFO L290 TraceCheckUtils]: 52: Hoare triple {78815#true} ~cond := #in~cond; {78815#true} is VALID [2022-04-28 12:45:14,916 INFO L272 TraceCheckUtils]: 51: Hoare triple {79353#(< ~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)); {78815#true} is VALID [2022-04-28 12:45:14,916 INFO L290 TraceCheckUtils]: 50: Hoare triple {79353#(< ~counter~0 14)} assume !!(#t~post6 < 20);havoc #t~post6; {79353#(< ~counter~0 14)} is VALID [2022-04-28 12:45:14,917 INFO L290 TraceCheckUtils]: 49: Hoare triple {79378#(< ~counter~0 13)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {79353#(< ~counter~0 14)} is VALID [2022-04-28 12:45:14,917 INFO L290 TraceCheckUtils]: 48: Hoare triple {79378#(< ~counter~0 13)} assume !(~r~0 < 0); {79378#(< ~counter~0 13)} is VALID [2022-04-28 12:45:14,919 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {78815#true} {79378#(< ~counter~0 13)} #98#return; {79378#(< ~counter~0 13)} is VALID [2022-04-28 12:45:14,919 INFO L290 TraceCheckUtils]: 46: Hoare triple {78815#true} assume true; {78815#true} is VALID [2022-04-28 12:45:14,919 INFO L290 TraceCheckUtils]: 45: Hoare triple {78815#true} assume !(0 == ~cond); {78815#true} is VALID [2022-04-28 12:45:14,919 INFO L290 TraceCheckUtils]: 44: Hoare triple {78815#true} ~cond := #in~cond; {78815#true} is VALID [2022-04-28 12:45:14,919 INFO L272 TraceCheckUtils]: 43: Hoare triple {79378#(< ~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)); {78815#true} is VALID [2022-04-28 12:45:14,920 INFO L290 TraceCheckUtils]: 42: Hoare triple {79378#(< ~counter~0 13)} assume !!(#t~post8 < 20);havoc #t~post8; {79378#(< ~counter~0 13)} is VALID [2022-04-28 12:45:14,920 INFO L290 TraceCheckUtils]: 41: Hoare triple {79122#(<= ~counter~0 11)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {79378#(< ~counter~0 13)} is VALID [2022-04-28 12:45:14,921 INFO L290 TraceCheckUtils]: 40: Hoare triple {79122#(<= ~counter~0 11)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {79122#(<= ~counter~0 11)} is VALID [2022-04-28 12:45:14,922 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {78815#true} {79122#(<= ~counter~0 11)} #98#return; {79122#(<= ~counter~0 11)} is VALID [2022-04-28 12:45:14,922 INFO L290 TraceCheckUtils]: 38: Hoare triple {78815#true} assume true; {78815#true} is VALID [2022-04-28 12:45:14,922 INFO L290 TraceCheckUtils]: 37: Hoare triple {78815#true} assume !(0 == ~cond); {78815#true} is VALID [2022-04-28 12:45:14,922 INFO L290 TraceCheckUtils]: 36: Hoare triple {78815#true} ~cond := #in~cond; {78815#true} is VALID [2022-04-28 12:45:14,922 INFO L272 TraceCheckUtils]: 35: Hoare triple {79122#(<= ~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)); {78815#true} is VALID [2022-04-28 12:45:14,922 INFO L290 TraceCheckUtils]: 34: Hoare triple {79122#(<= ~counter~0 11)} assume !!(#t~post8 < 20);havoc #t~post8; {79122#(<= ~counter~0 11)} is VALID [2022-04-28 12:45:14,923 INFO L290 TraceCheckUtils]: 33: Hoare triple {79097#(<= ~counter~0 10)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {79122#(<= ~counter~0 11)} is VALID [2022-04-28 12:45:14,923 INFO L290 TraceCheckUtils]: 32: Hoare triple {79097#(<= ~counter~0 10)} assume !(~r~0 > 0); {79097#(<= ~counter~0 10)} is VALID [2022-04-28 12:45:14,924 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {78815#true} {79097#(<= ~counter~0 10)} #96#return; {79097#(<= ~counter~0 10)} is VALID [2022-04-28 12:45:14,924 INFO L290 TraceCheckUtils]: 30: Hoare triple {78815#true} assume true; {78815#true} is VALID [2022-04-28 12:45:14,924 INFO L290 TraceCheckUtils]: 29: Hoare triple {78815#true} assume !(0 == ~cond); {78815#true} is VALID [2022-04-28 12:45:14,924 INFO L290 TraceCheckUtils]: 28: Hoare triple {78815#true} ~cond := #in~cond; {78815#true} is VALID [2022-04-28 12:45:14,924 INFO L272 TraceCheckUtils]: 27: Hoare triple {79097#(<= ~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)); {78815#true} is VALID [2022-04-28 12:45:14,924 INFO L290 TraceCheckUtils]: 26: Hoare triple {79097#(<= ~counter~0 10)} assume !!(#t~post7 < 20);havoc #t~post7; {79097#(<= ~counter~0 10)} is VALID [2022-04-28 12:45:14,925 INFO L290 TraceCheckUtils]: 25: Hoare triple {79072#(<= ~counter~0 9)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {79097#(<= ~counter~0 10)} is VALID [2022-04-28 12:45:14,925 INFO L290 TraceCheckUtils]: 24: Hoare triple {79072#(<= ~counter~0 9)} assume !!(0 != ~r~0); {79072#(<= ~counter~0 9)} is VALID [2022-04-28 12:45:14,926 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {78815#true} {79072#(<= ~counter~0 9)} #94#return; {79072#(<= ~counter~0 9)} is VALID [2022-04-28 12:45:14,926 INFO L290 TraceCheckUtils]: 22: Hoare triple {78815#true} assume true; {78815#true} is VALID [2022-04-28 12:45:14,926 INFO L290 TraceCheckUtils]: 21: Hoare triple {78815#true} assume !(0 == ~cond); {78815#true} is VALID [2022-04-28 12:45:14,926 INFO L290 TraceCheckUtils]: 20: Hoare triple {78815#true} ~cond := #in~cond; {78815#true} is VALID [2022-04-28 12:45:14,926 INFO L272 TraceCheckUtils]: 19: Hoare triple {79072#(<= ~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)); {78815#true} is VALID [2022-04-28 12:45:14,926 INFO L290 TraceCheckUtils]: 18: Hoare triple {79072#(<= ~counter~0 9)} assume !!(#t~post6 < 20);havoc #t~post6; {79072#(<= ~counter~0 9)} is VALID [2022-04-28 12:45:14,927 INFO L290 TraceCheckUtils]: 17: Hoare triple {79047#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {79072#(<= ~counter~0 9)} is VALID [2022-04-28 12:45:14,928 INFO L290 TraceCheckUtils]: 16: Hoare triple {79047#(<= ~counter~0 8)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {79047#(<= ~counter~0 8)} is VALID [2022-04-28 12:45:14,928 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {78815#true} {79047#(<= ~counter~0 8)} #92#return; {79047#(<= ~counter~0 8)} is VALID [2022-04-28 12:45:14,928 INFO L290 TraceCheckUtils]: 14: Hoare triple {78815#true} assume true; {78815#true} is VALID [2022-04-28 12:45:14,928 INFO L290 TraceCheckUtils]: 13: Hoare triple {78815#true} assume !(0 == ~cond); {78815#true} is VALID [2022-04-28 12:45:14,928 INFO L290 TraceCheckUtils]: 12: Hoare triple {78815#true} ~cond := #in~cond; {78815#true} is VALID [2022-04-28 12:45:14,928 INFO L272 TraceCheckUtils]: 11: Hoare triple {79047#(<= ~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)); {78815#true} is VALID [2022-04-28 12:45:14,929 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {78815#true} {79047#(<= ~counter~0 8)} #90#return; {79047#(<= ~counter~0 8)} is VALID [2022-04-28 12:45:14,929 INFO L290 TraceCheckUtils]: 9: Hoare triple {78815#true} assume true; {78815#true} is VALID [2022-04-28 12:45:14,929 INFO L290 TraceCheckUtils]: 8: Hoare triple {78815#true} assume !(0 == ~cond); {78815#true} is VALID [2022-04-28 12:45:14,929 INFO L290 TraceCheckUtils]: 7: Hoare triple {78815#true} ~cond := #in~cond; {78815#true} is VALID [2022-04-28 12:45:14,929 INFO L272 TraceCheckUtils]: 6: Hoare triple {79047#(<= ~counter~0 8)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {78815#true} is VALID [2022-04-28 12:45:14,929 INFO L290 TraceCheckUtils]: 5: Hoare triple {79047#(<= ~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; {79047#(<= ~counter~0 8)} is VALID [2022-04-28 12:45:14,929 INFO L272 TraceCheckUtils]: 4: Hoare triple {79047#(<= ~counter~0 8)} call #t~ret9 := main(); {79047#(<= ~counter~0 8)} is VALID [2022-04-28 12:45:14,930 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {79047#(<= ~counter~0 8)} {78815#true} #102#return; {79047#(<= ~counter~0 8)} is VALID [2022-04-28 12:45:14,930 INFO L290 TraceCheckUtils]: 2: Hoare triple {79047#(<= ~counter~0 8)} assume true; {79047#(<= ~counter~0 8)} is VALID [2022-04-28 12:45:14,930 INFO L290 TraceCheckUtils]: 1: Hoare triple {78815#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; {79047#(<= ~counter~0 8)} is VALID [2022-04-28 12:45:14,931 INFO L272 TraceCheckUtils]: 0: Hoare triple {78815#true} call ULTIMATE.init(); {78815#true} is VALID [2022-04-28 12:45:14,931 INFO L134 CoverageAnalysis]: Checked inductivity of 328 backedges. 36 proven. 68 refuted. 0 times theorem prover too weak. 224 trivial. 0 not checked. [2022-04-28 12:45:14,931 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:45:14,931 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [330033246] [2022-04-28 12:45:14,931 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:45:14,931 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1183400058] [2022-04-28 12:45:14,931 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1183400058] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:45:14,931 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:45:14,931 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 15] total 24 [2022-04-28 12:45:14,932 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:45:14,932 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [205925316] [2022-04-28 12:45:14,932 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [205925316] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:45:14,932 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:45:14,932 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-28 12:45:14,932 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1589777600] [2022-04-28 12:45:14,932 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:45:14,932 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 5.466666666666667) internal successors, (82), 14 states have internal predecessors, (82), 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 115 [2022-04-28 12:45:14,932 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:45:14,932 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 15 states have (on average 5.466666666666667) internal successors, (82), 14 states have internal predecessors, (82), 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:45:15,019 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 112 edges. 112 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:45:15,019 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-28 12:45:15,020 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:45:15,020 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-28 12:45:15,020 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=236, Invalid=316, Unknown=0, NotChecked=0, Total=552 [2022-04-28 12:45:15,020 INFO L87 Difference]: Start difference. First operand 610 states and 814 transitions. Second operand has 15 states, 15 states have (on average 5.466666666666667) internal successors, (82), 14 states have internal predecessors, (82), 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:45:17,568 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:45:17,568 INFO L93 Difference]: Finished difference Result 827 states and 1141 transitions. [2022-04-28 12:45:17,568 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 25 states. [2022-04-28 12:45:17,568 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 5.466666666666667) internal successors, (82), 14 states have internal predecessors, (82), 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 115 [2022-04-28 12:45:17,569 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:45:17,569 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 5.466666666666667) internal successors, (82), 14 states have internal predecessors, (82), 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:45:17,570 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 256 transitions. [2022-04-28 12:45:17,570 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 5.466666666666667) internal successors, (82), 14 states have internal predecessors, (82), 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:45:17,572 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 256 transitions. [2022-04-28 12:45:17,572 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 25 states and 256 transitions. [2022-04-28 12:45:17,781 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 256 edges. 256 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:45:17,797 INFO L225 Difference]: With dead ends: 827 [2022-04-28 12:45:17,797 INFO L226 Difference]: Without dead ends: 626 [2022-04-28 12:45:17,798 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 239 GetRequests, 206 SyntacticMatches, 1 SemanticMatches, 32 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 83 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=456, Invalid=666, Unknown=0, NotChecked=0, Total=1122 [2022-04-28 12:45:17,798 INFO L413 NwaCegarLoop]: 63 mSDtfsCounter, 149 mSDsluCounter, 207 mSDsCounter, 0 mSdLazyCounter, 153 mSolverCounterSat, 155 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 149 SdHoareTripleChecker+Valid, 270 SdHoareTripleChecker+Invalid, 308 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 155 IncrementalHoareTripleChecker+Valid, 153 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 12:45:17,799 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [149 Valid, 270 Invalid, 308 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [155 Valid, 153 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 12:45:17,804 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 626 states. [2022-04-28 12:45:19,440 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 626 to 626. [2022-04-28 12:45:19,440 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:45:19,440 INFO L82 GeneralOperation]: Start isEquivalent. First operand 626 states. Second operand has 626 states, 476 states have (on average 1.2142857142857142) internal successors, (578), 476 states have internal predecessors, (578), 127 states have call successors, (127), 24 states have call predecessors, (127), 22 states have return successors, (125), 125 states have call predecessors, (125), 125 states have call successors, (125) [2022-04-28 12:45:19,441 INFO L74 IsIncluded]: Start isIncluded. First operand 626 states. Second operand has 626 states, 476 states have (on average 1.2142857142857142) internal successors, (578), 476 states have internal predecessors, (578), 127 states have call successors, (127), 24 states have call predecessors, (127), 22 states have return successors, (125), 125 states have call predecessors, (125), 125 states have call successors, (125) [2022-04-28 12:45:19,441 INFO L87 Difference]: Start difference. First operand 626 states. Second operand has 626 states, 476 states have (on average 1.2142857142857142) internal successors, (578), 476 states have internal predecessors, (578), 127 states have call successors, (127), 24 states have call predecessors, (127), 22 states have return successors, (125), 125 states have call predecessors, (125), 125 states have call successors, (125) [2022-04-28 12:45:19,458 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:45:19,458 INFO L93 Difference]: Finished difference Result 626 states and 830 transitions. [2022-04-28 12:45:19,458 INFO L276 IsEmpty]: Start isEmpty. Operand 626 states and 830 transitions. [2022-04-28 12:45:19,459 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:45:19,459 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:45:19,459 INFO L74 IsIncluded]: Start isIncluded. First operand has 626 states, 476 states have (on average 1.2142857142857142) internal successors, (578), 476 states have internal predecessors, (578), 127 states have call successors, (127), 24 states have call predecessors, (127), 22 states have return successors, (125), 125 states have call predecessors, (125), 125 states have call successors, (125) Second operand 626 states. [2022-04-28 12:45:19,460 INFO L87 Difference]: Start difference. First operand has 626 states, 476 states have (on average 1.2142857142857142) internal successors, (578), 476 states have internal predecessors, (578), 127 states have call successors, (127), 24 states have call predecessors, (127), 22 states have return successors, (125), 125 states have call predecessors, (125), 125 states have call successors, (125) Second operand 626 states. [2022-04-28 12:45:19,474 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:45:19,474 INFO L93 Difference]: Finished difference Result 626 states and 830 transitions. [2022-04-28 12:45:19,474 INFO L276 IsEmpty]: Start isEmpty. Operand 626 states and 830 transitions. [2022-04-28 12:45:19,474 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:45:19,474 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:45:19,474 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:45:19,475 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:45:19,475 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 626 states, 476 states have (on average 1.2142857142857142) internal successors, (578), 476 states have internal predecessors, (578), 127 states have call successors, (127), 24 states have call predecessors, (127), 22 states have return successors, (125), 125 states have call predecessors, (125), 125 states have call successors, (125) [2022-04-28 12:45:19,492 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 626 states to 626 states and 830 transitions. [2022-04-28 12:45:19,492 INFO L78 Accepts]: Start accepts. Automaton has 626 states and 830 transitions. Word has length 115 [2022-04-28 12:45:19,492 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:45:19,492 INFO L495 AbstractCegarLoop]: Abstraction has 626 states and 830 transitions. [2022-04-28 12:45:19,492 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 15 states have (on average 5.466666666666667) internal successors, (82), 14 states have internal predecessors, (82), 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:45:19,492 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 626 states and 830 transitions. [2022-04-28 12:45:37,210 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 830 edges. 826 inductive. 0 not inductive. 4 times theorem prover too weak to decide inductivity. [2022-04-28 12:45:37,211 INFO L276 IsEmpty]: Start isEmpty. Operand 626 states and 830 transitions. [2022-04-28 12:45:37,212 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 120 [2022-04-28 12:45:37,212 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:45:37,212 INFO L195 NwaCegarLoop]: trace histogram [13, 12, 12, 6, 6, 6, 6, 4, 4, 4, 4, 4, 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:45:37,216 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (39)] Ended with exit code 0 [2022-04-28 12:45:37,412 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 39 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable37 [2022-04-28 12:45:37,412 INFO L420 AbstractCegarLoop]: === Iteration 39 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:45:37,413 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:45:37,413 INFO L85 PathProgramCache]: Analyzing trace with hash 650985841, now seen corresponding path program 7 times [2022-04-28 12:45:37,413 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:45:37,413 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1885233278] [2022-04-28 12:45:37,413 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:45:37,413 INFO L85 PathProgramCache]: Analyzing trace with hash 650985841, now seen corresponding path program 8 times [2022-04-28 12:45:37,413 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:45:37,413 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [136144699] [2022-04-28 12:45:37,413 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:45:37,413 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:45:37,424 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:45:37,424 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1952913178] [2022-04-28 12:45:37,424 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:45:37,424 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:45:37,424 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:45:37,425 INFO L229 MonitoredProcess]: Starting monitored process 40 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:45:37,426 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (40)] Waiting until timeout for monitored process [2022-04-28 12:45:37,484 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:45:37,484 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:45:37,485 INFO L263 TraceCheckSpWp]: Trace formula consists of 297 conjuncts, 29 conjunts are in the unsatisfiable core [2022-04-28 12:45:37,505 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:45:37,507 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:45:38,076 INFO L272 TraceCheckUtils]: 0: Hoare triple {83706#true} call ULTIMATE.init(); {83706#true} is VALID [2022-04-28 12:45:38,077 INFO L290 TraceCheckUtils]: 1: Hoare triple {83706#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; {83714#(<= ~counter~0 0)} is VALID [2022-04-28 12:45:38,077 INFO L290 TraceCheckUtils]: 2: Hoare triple {83714#(<= ~counter~0 0)} assume true; {83714#(<= ~counter~0 0)} is VALID [2022-04-28 12:45:38,077 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {83714#(<= ~counter~0 0)} {83706#true} #102#return; {83714#(<= ~counter~0 0)} is VALID [2022-04-28 12:45:38,077 INFO L272 TraceCheckUtils]: 4: Hoare triple {83714#(<= ~counter~0 0)} call #t~ret9 := main(); {83714#(<= ~counter~0 0)} is VALID [2022-04-28 12:45:38,078 INFO L290 TraceCheckUtils]: 5: Hoare triple {83714#(<= ~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; {83714#(<= ~counter~0 0)} is VALID [2022-04-28 12:45:38,078 INFO L272 TraceCheckUtils]: 6: Hoare triple {83714#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {83714#(<= ~counter~0 0)} is VALID [2022-04-28 12:45:38,078 INFO L290 TraceCheckUtils]: 7: Hoare triple {83714#(<= ~counter~0 0)} ~cond := #in~cond; {83714#(<= ~counter~0 0)} is VALID [2022-04-28 12:45:38,079 INFO L290 TraceCheckUtils]: 8: Hoare triple {83714#(<= ~counter~0 0)} assume !(0 == ~cond); {83714#(<= ~counter~0 0)} is VALID [2022-04-28 12:45:38,079 INFO L290 TraceCheckUtils]: 9: Hoare triple {83714#(<= ~counter~0 0)} assume true; {83714#(<= ~counter~0 0)} is VALID [2022-04-28 12:45:38,079 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {83714#(<= ~counter~0 0)} {83714#(<= ~counter~0 0)} #90#return; {83714#(<= ~counter~0 0)} is VALID [2022-04-28 12:45:38,080 INFO L272 TraceCheckUtils]: 11: Hoare triple {83714#(<= ~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)); {83714#(<= ~counter~0 0)} is VALID [2022-04-28 12:45:38,080 INFO L290 TraceCheckUtils]: 12: Hoare triple {83714#(<= ~counter~0 0)} ~cond := #in~cond; {83714#(<= ~counter~0 0)} is VALID [2022-04-28 12:45:38,080 INFO L290 TraceCheckUtils]: 13: Hoare triple {83714#(<= ~counter~0 0)} assume !(0 == ~cond); {83714#(<= ~counter~0 0)} is VALID [2022-04-28 12:45:38,080 INFO L290 TraceCheckUtils]: 14: Hoare triple {83714#(<= ~counter~0 0)} assume true; {83714#(<= ~counter~0 0)} is VALID [2022-04-28 12:45:38,081 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {83714#(<= ~counter~0 0)} {83714#(<= ~counter~0 0)} #92#return; {83714#(<= ~counter~0 0)} is VALID [2022-04-28 12:45:38,081 INFO L290 TraceCheckUtils]: 16: Hoare triple {83714#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {83714#(<= ~counter~0 0)} is VALID [2022-04-28 12:45:38,083 INFO L290 TraceCheckUtils]: 17: Hoare triple {83714#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {83763#(<= ~counter~0 1)} is VALID [2022-04-28 12:45:38,083 INFO L290 TraceCheckUtils]: 18: Hoare triple {83763#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {83763#(<= ~counter~0 1)} is VALID [2022-04-28 12:45:38,084 INFO L272 TraceCheckUtils]: 19: Hoare triple {83763#(<= ~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)); {83763#(<= ~counter~0 1)} is VALID [2022-04-28 12:45:38,084 INFO L290 TraceCheckUtils]: 20: Hoare triple {83763#(<= ~counter~0 1)} ~cond := #in~cond; {83763#(<= ~counter~0 1)} is VALID [2022-04-28 12:45:38,084 INFO L290 TraceCheckUtils]: 21: Hoare triple {83763#(<= ~counter~0 1)} assume !(0 == ~cond); {83763#(<= ~counter~0 1)} is VALID [2022-04-28 12:45:38,084 INFO L290 TraceCheckUtils]: 22: Hoare triple {83763#(<= ~counter~0 1)} assume true; {83763#(<= ~counter~0 1)} is VALID [2022-04-28 12:45:38,085 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {83763#(<= ~counter~0 1)} {83763#(<= ~counter~0 1)} #94#return; {83763#(<= ~counter~0 1)} is VALID [2022-04-28 12:45:38,085 INFO L290 TraceCheckUtils]: 24: Hoare triple {83763#(<= ~counter~0 1)} assume !!(0 != ~r~0); {83763#(<= ~counter~0 1)} is VALID [2022-04-28 12:45:38,086 INFO L290 TraceCheckUtils]: 25: Hoare triple {83763#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {83788#(<= ~counter~0 2)} is VALID [2022-04-28 12:45:38,086 INFO L290 TraceCheckUtils]: 26: Hoare triple {83788#(<= ~counter~0 2)} assume !!(#t~post7 < 20);havoc #t~post7; {83788#(<= ~counter~0 2)} is VALID [2022-04-28 12:45:38,087 INFO L272 TraceCheckUtils]: 27: Hoare triple {83788#(<= ~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)); {83788#(<= ~counter~0 2)} is VALID [2022-04-28 12:45:38,087 INFO L290 TraceCheckUtils]: 28: Hoare triple {83788#(<= ~counter~0 2)} ~cond := #in~cond; {83788#(<= ~counter~0 2)} is VALID [2022-04-28 12:45:38,087 INFO L290 TraceCheckUtils]: 29: Hoare triple {83788#(<= ~counter~0 2)} assume !(0 == ~cond); {83788#(<= ~counter~0 2)} is VALID [2022-04-28 12:45:38,088 INFO L290 TraceCheckUtils]: 30: Hoare triple {83788#(<= ~counter~0 2)} assume true; {83788#(<= ~counter~0 2)} is VALID [2022-04-28 12:45:38,088 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {83788#(<= ~counter~0 2)} {83788#(<= ~counter~0 2)} #96#return; {83788#(<= ~counter~0 2)} is VALID [2022-04-28 12:45:38,088 INFO L290 TraceCheckUtils]: 32: Hoare triple {83788#(<= ~counter~0 2)} assume !(~r~0 > 0); {83788#(<= ~counter~0 2)} is VALID [2022-04-28 12:45:38,089 INFO L290 TraceCheckUtils]: 33: Hoare triple {83788#(<= ~counter~0 2)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {83813#(<= ~counter~0 3)} is VALID [2022-04-28 12:45:38,089 INFO L290 TraceCheckUtils]: 34: Hoare triple {83813#(<= ~counter~0 3)} assume !!(#t~post8 < 20);havoc #t~post8; {83813#(<= ~counter~0 3)} is VALID [2022-04-28 12:45:38,090 INFO L272 TraceCheckUtils]: 35: Hoare triple {83813#(<= ~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)); {83813#(<= ~counter~0 3)} is VALID [2022-04-28 12:45:38,090 INFO L290 TraceCheckUtils]: 36: Hoare triple {83813#(<= ~counter~0 3)} ~cond := #in~cond; {83813#(<= ~counter~0 3)} is VALID [2022-04-28 12:45:38,090 INFO L290 TraceCheckUtils]: 37: Hoare triple {83813#(<= ~counter~0 3)} assume !(0 == ~cond); {83813#(<= ~counter~0 3)} is VALID [2022-04-28 12:45:38,091 INFO L290 TraceCheckUtils]: 38: Hoare triple {83813#(<= ~counter~0 3)} assume true; {83813#(<= ~counter~0 3)} is VALID [2022-04-28 12:45:38,091 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {83813#(<= ~counter~0 3)} {83813#(<= ~counter~0 3)} #98#return; {83813#(<= ~counter~0 3)} is VALID [2022-04-28 12:45:38,092 INFO L290 TraceCheckUtils]: 40: Hoare triple {83813#(<= ~counter~0 3)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {83813#(<= ~counter~0 3)} is VALID [2022-04-28 12:45:38,092 INFO L290 TraceCheckUtils]: 41: Hoare triple {83813#(<= ~counter~0 3)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {83838#(<= ~counter~0 4)} is VALID [2022-04-28 12:45:38,093 INFO L290 TraceCheckUtils]: 42: Hoare triple {83838#(<= ~counter~0 4)} assume !!(#t~post8 < 20);havoc #t~post8; {83838#(<= ~counter~0 4)} is VALID [2022-04-28 12:45:38,093 INFO L272 TraceCheckUtils]: 43: Hoare triple {83838#(<= ~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)); {83838#(<= ~counter~0 4)} is VALID [2022-04-28 12:45:38,093 INFO L290 TraceCheckUtils]: 44: Hoare triple {83838#(<= ~counter~0 4)} ~cond := #in~cond; {83838#(<= ~counter~0 4)} is VALID [2022-04-28 12:45:38,094 INFO L290 TraceCheckUtils]: 45: Hoare triple {83838#(<= ~counter~0 4)} assume !(0 == ~cond); {83838#(<= ~counter~0 4)} is VALID [2022-04-28 12:45:38,094 INFO L290 TraceCheckUtils]: 46: Hoare triple {83838#(<= ~counter~0 4)} assume true; {83838#(<= ~counter~0 4)} is VALID [2022-04-28 12:45:38,094 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {83838#(<= ~counter~0 4)} {83838#(<= ~counter~0 4)} #98#return; {83838#(<= ~counter~0 4)} is VALID [2022-04-28 12:45:38,095 INFO L290 TraceCheckUtils]: 48: Hoare triple {83838#(<= ~counter~0 4)} assume !(~r~0 < 0); {83838#(<= ~counter~0 4)} is VALID [2022-04-28 12:45:38,096 INFO L290 TraceCheckUtils]: 49: Hoare triple {83838#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {83863#(<= ~counter~0 5)} is VALID [2022-04-28 12:45:38,096 INFO L290 TraceCheckUtils]: 50: Hoare triple {83863#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {83863#(<= ~counter~0 5)} is VALID [2022-04-28 12:45:38,096 INFO L272 TraceCheckUtils]: 51: Hoare triple {83863#(<= ~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)); {83863#(<= ~counter~0 5)} is VALID [2022-04-28 12:45:38,097 INFO L290 TraceCheckUtils]: 52: Hoare triple {83863#(<= ~counter~0 5)} ~cond := #in~cond; {83863#(<= ~counter~0 5)} is VALID [2022-04-28 12:45:38,097 INFO L290 TraceCheckUtils]: 53: Hoare triple {83863#(<= ~counter~0 5)} assume !(0 == ~cond); {83863#(<= ~counter~0 5)} is VALID [2022-04-28 12:45:38,097 INFO L290 TraceCheckUtils]: 54: Hoare triple {83863#(<= ~counter~0 5)} assume true; {83863#(<= ~counter~0 5)} is VALID [2022-04-28 12:45:38,098 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {83863#(<= ~counter~0 5)} {83863#(<= ~counter~0 5)} #94#return; {83863#(<= ~counter~0 5)} is VALID [2022-04-28 12:45:38,098 INFO L290 TraceCheckUtils]: 56: Hoare triple {83863#(<= ~counter~0 5)} assume !!(0 != ~r~0); {83863#(<= ~counter~0 5)} is VALID [2022-04-28 12:45:38,099 INFO L290 TraceCheckUtils]: 57: Hoare triple {83863#(<= ~counter~0 5)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {83888#(<= ~counter~0 6)} is VALID [2022-04-28 12:45:38,099 INFO L290 TraceCheckUtils]: 58: Hoare triple {83888#(<= ~counter~0 6)} assume !!(#t~post7 < 20);havoc #t~post7; {83888#(<= ~counter~0 6)} is VALID [2022-04-28 12:45:38,100 INFO L272 TraceCheckUtils]: 59: Hoare triple {83888#(<= ~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)); {83888#(<= ~counter~0 6)} is VALID [2022-04-28 12:45:38,100 INFO L290 TraceCheckUtils]: 60: Hoare triple {83888#(<= ~counter~0 6)} ~cond := #in~cond; {83888#(<= ~counter~0 6)} is VALID [2022-04-28 12:45:38,100 INFO L290 TraceCheckUtils]: 61: Hoare triple {83888#(<= ~counter~0 6)} assume !(0 == ~cond); {83888#(<= ~counter~0 6)} is VALID [2022-04-28 12:45:38,100 INFO L290 TraceCheckUtils]: 62: Hoare triple {83888#(<= ~counter~0 6)} assume true; {83888#(<= ~counter~0 6)} is VALID [2022-04-28 12:45:38,101 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {83888#(<= ~counter~0 6)} {83888#(<= ~counter~0 6)} #96#return; {83888#(<= ~counter~0 6)} is VALID [2022-04-28 12:45:38,101 INFO L290 TraceCheckUtils]: 64: Hoare triple {83888#(<= ~counter~0 6)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {83888#(<= ~counter~0 6)} is VALID [2022-04-28 12:45:38,102 INFO L290 TraceCheckUtils]: 65: Hoare triple {83888#(<= ~counter~0 6)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {83913#(<= ~counter~0 7)} is VALID [2022-04-28 12:45:38,102 INFO L290 TraceCheckUtils]: 66: Hoare triple {83913#(<= ~counter~0 7)} assume !!(#t~post7 < 20);havoc #t~post7; {83913#(<= ~counter~0 7)} is VALID [2022-04-28 12:45:38,103 INFO L272 TraceCheckUtils]: 67: Hoare triple {83913#(<= ~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)); {83913#(<= ~counter~0 7)} is VALID [2022-04-28 12:45:38,115 INFO L290 TraceCheckUtils]: 68: Hoare triple {83913#(<= ~counter~0 7)} ~cond := #in~cond; {83913#(<= ~counter~0 7)} is VALID [2022-04-28 12:45:38,115 INFO L290 TraceCheckUtils]: 69: Hoare triple {83913#(<= ~counter~0 7)} assume !(0 == ~cond); {83913#(<= ~counter~0 7)} is VALID [2022-04-28 12:45:38,116 INFO L290 TraceCheckUtils]: 70: Hoare triple {83913#(<= ~counter~0 7)} assume true; {83913#(<= ~counter~0 7)} is VALID [2022-04-28 12:45:38,116 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {83913#(<= ~counter~0 7)} {83913#(<= ~counter~0 7)} #96#return; {83913#(<= ~counter~0 7)} is VALID [2022-04-28 12:45:38,117 INFO L290 TraceCheckUtils]: 72: Hoare triple {83913#(<= ~counter~0 7)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {83913#(<= ~counter~0 7)} is VALID [2022-04-28 12:45:38,118 INFO L290 TraceCheckUtils]: 73: Hoare triple {83913#(<= ~counter~0 7)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {83938#(<= ~counter~0 8)} is VALID [2022-04-28 12:45:38,118 INFO L290 TraceCheckUtils]: 74: Hoare triple {83938#(<= ~counter~0 8)} assume !!(#t~post7 < 20);havoc #t~post7; {83938#(<= ~counter~0 8)} is VALID [2022-04-28 12:45:38,119 INFO L272 TraceCheckUtils]: 75: Hoare triple {83938#(<= ~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)); {83938#(<= ~counter~0 8)} is VALID [2022-04-28 12:45:38,119 INFO L290 TraceCheckUtils]: 76: Hoare triple {83938#(<= ~counter~0 8)} ~cond := #in~cond; {83938#(<= ~counter~0 8)} is VALID [2022-04-28 12:45:38,120 INFO L290 TraceCheckUtils]: 77: Hoare triple {83938#(<= ~counter~0 8)} assume !(0 == ~cond); {83938#(<= ~counter~0 8)} is VALID [2022-04-28 12:45:38,120 INFO L290 TraceCheckUtils]: 78: Hoare triple {83938#(<= ~counter~0 8)} assume true; {83938#(<= ~counter~0 8)} is VALID [2022-04-28 12:45:38,120 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {83938#(<= ~counter~0 8)} {83938#(<= ~counter~0 8)} #96#return; {83938#(<= ~counter~0 8)} is VALID [2022-04-28 12:45:38,121 INFO L290 TraceCheckUtils]: 80: Hoare triple {83938#(<= ~counter~0 8)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {83938#(<= ~counter~0 8)} is VALID [2022-04-28 12:45:38,121 INFO L290 TraceCheckUtils]: 81: Hoare triple {83938#(<= ~counter~0 8)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {83963#(<= ~counter~0 9)} is VALID [2022-04-28 12:45:38,122 INFO L290 TraceCheckUtils]: 82: Hoare triple {83963#(<= ~counter~0 9)} assume !!(#t~post7 < 20);havoc #t~post7; {83963#(<= ~counter~0 9)} is VALID [2022-04-28 12:45:38,122 INFO L272 TraceCheckUtils]: 83: Hoare triple {83963#(<= ~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)); {83963#(<= ~counter~0 9)} is VALID [2022-04-28 12:45:38,123 INFO L290 TraceCheckUtils]: 84: Hoare triple {83963#(<= ~counter~0 9)} ~cond := #in~cond; {83963#(<= ~counter~0 9)} is VALID [2022-04-28 12:45:38,123 INFO L290 TraceCheckUtils]: 85: Hoare triple {83963#(<= ~counter~0 9)} assume !(0 == ~cond); {83963#(<= ~counter~0 9)} is VALID [2022-04-28 12:45:38,123 INFO L290 TraceCheckUtils]: 86: Hoare triple {83963#(<= ~counter~0 9)} assume true; {83963#(<= ~counter~0 9)} is VALID [2022-04-28 12:45:38,124 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {83963#(<= ~counter~0 9)} {83963#(<= ~counter~0 9)} #96#return; {83963#(<= ~counter~0 9)} is VALID [2022-04-28 12:45:38,124 INFO L290 TraceCheckUtils]: 88: Hoare triple {83963#(<= ~counter~0 9)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {83963#(<= ~counter~0 9)} is VALID [2022-04-28 12:45:38,125 INFO L290 TraceCheckUtils]: 89: Hoare triple {83963#(<= ~counter~0 9)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {83988#(<= ~counter~0 10)} is VALID [2022-04-28 12:45:38,125 INFO L290 TraceCheckUtils]: 90: Hoare triple {83988#(<= ~counter~0 10)} assume !!(#t~post7 < 20);havoc #t~post7; {83988#(<= ~counter~0 10)} is VALID [2022-04-28 12:45:38,126 INFO L272 TraceCheckUtils]: 91: Hoare triple {83988#(<= ~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)); {83988#(<= ~counter~0 10)} is VALID [2022-04-28 12:45:38,126 INFO L290 TraceCheckUtils]: 92: Hoare triple {83988#(<= ~counter~0 10)} ~cond := #in~cond; {83988#(<= ~counter~0 10)} is VALID [2022-04-28 12:45:38,126 INFO L290 TraceCheckUtils]: 93: Hoare triple {83988#(<= ~counter~0 10)} assume !(0 == ~cond); {83988#(<= ~counter~0 10)} is VALID [2022-04-28 12:45:38,127 INFO L290 TraceCheckUtils]: 94: Hoare triple {83988#(<= ~counter~0 10)} assume true; {83988#(<= ~counter~0 10)} is VALID [2022-04-28 12:45:38,127 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {83988#(<= ~counter~0 10)} {83988#(<= ~counter~0 10)} #96#return; {83988#(<= ~counter~0 10)} is VALID [2022-04-28 12:45:38,127 INFO L290 TraceCheckUtils]: 96: Hoare triple {83988#(<= ~counter~0 10)} assume !(~r~0 > 0); {83988#(<= ~counter~0 10)} is VALID [2022-04-28 12:45:38,128 INFO L290 TraceCheckUtils]: 97: Hoare triple {83988#(<= ~counter~0 10)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {84013#(<= ~counter~0 11)} is VALID [2022-04-28 12:45:38,129 INFO L290 TraceCheckUtils]: 98: Hoare triple {84013#(<= ~counter~0 11)} assume !!(#t~post8 < 20);havoc #t~post8; {84013#(<= ~counter~0 11)} is VALID [2022-04-28 12:45:38,129 INFO L272 TraceCheckUtils]: 99: Hoare triple {84013#(<= ~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)); {84013#(<= ~counter~0 11)} is VALID [2022-04-28 12:45:38,129 INFO L290 TraceCheckUtils]: 100: Hoare triple {84013#(<= ~counter~0 11)} ~cond := #in~cond; {84013#(<= ~counter~0 11)} is VALID [2022-04-28 12:45:38,130 INFO L290 TraceCheckUtils]: 101: Hoare triple {84013#(<= ~counter~0 11)} assume !(0 == ~cond); {84013#(<= ~counter~0 11)} is VALID [2022-04-28 12:45:38,130 INFO L290 TraceCheckUtils]: 102: Hoare triple {84013#(<= ~counter~0 11)} assume true; {84013#(<= ~counter~0 11)} is VALID [2022-04-28 12:45:38,131 INFO L284 TraceCheckUtils]: 103: Hoare quadruple {84013#(<= ~counter~0 11)} {84013#(<= ~counter~0 11)} #98#return; {84013#(<= ~counter~0 11)} is VALID [2022-04-28 12:45:38,131 INFO L290 TraceCheckUtils]: 104: Hoare triple {84013#(<= ~counter~0 11)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {84013#(<= ~counter~0 11)} is VALID [2022-04-28 12:45:38,132 INFO L290 TraceCheckUtils]: 105: Hoare triple {84013#(<= ~counter~0 11)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {84038#(<= ~counter~0 12)} is VALID [2022-04-28 12:45:38,132 INFO L290 TraceCheckUtils]: 106: Hoare triple {84038#(<= ~counter~0 12)} assume !!(#t~post8 < 20);havoc #t~post8; {84038#(<= ~counter~0 12)} is VALID [2022-04-28 12:45:38,133 INFO L272 TraceCheckUtils]: 107: Hoare triple {84038#(<= ~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)); {84038#(<= ~counter~0 12)} is VALID [2022-04-28 12:45:38,133 INFO L290 TraceCheckUtils]: 108: Hoare triple {84038#(<= ~counter~0 12)} ~cond := #in~cond; {84038#(<= ~counter~0 12)} is VALID [2022-04-28 12:45:38,133 INFO L290 TraceCheckUtils]: 109: Hoare triple {84038#(<= ~counter~0 12)} assume !(0 == ~cond); {84038#(<= ~counter~0 12)} is VALID [2022-04-28 12:45:38,133 INFO L290 TraceCheckUtils]: 110: Hoare triple {84038#(<= ~counter~0 12)} assume true; {84038#(<= ~counter~0 12)} is VALID [2022-04-28 12:45:38,134 INFO L284 TraceCheckUtils]: 111: Hoare quadruple {84038#(<= ~counter~0 12)} {84038#(<= ~counter~0 12)} #98#return; {84038#(<= ~counter~0 12)} is VALID [2022-04-28 12:45:38,134 INFO L290 TraceCheckUtils]: 112: Hoare triple {84038#(<= ~counter~0 12)} assume !(~r~0 < 0); {84038#(<= ~counter~0 12)} is VALID [2022-04-28 12:45:38,135 INFO L290 TraceCheckUtils]: 113: Hoare triple {84038#(<= ~counter~0 12)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {84063#(<= |main_#t~post6| 12)} is VALID [2022-04-28 12:45:38,135 INFO L290 TraceCheckUtils]: 114: Hoare triple {84063#(<= |main_#t~post6| 12)} assume !(#t~post6 < 20);havoc #t~post6; {83707#false} is VALID [2022-04-28 12:45:38,135 INFO L272 TraceCheckUtils]: 115: Hoare triple {83707#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)); {83707#false} is VALID [2022-04-28 12:45:38,135 INFO L290 TraceCheckUtils]: 116: Hoare triple {83707#false} ~cond := #in~cond; {83707#false} is VALID [2022-04-28 12:45:38,135 INFO L290 TraceCheckUtils]: 117: Hoare triple {83707#false} assume 0 == ~cond; {83707#false} is VALID [2022-04-28 12:45:38,135 INFO L290 TraceCheckUtils]: 118: Hoare triple {83707#false} assume !false; {83707#false} is VALID [2022-04-28 12:45:38,136 INFO L134 CoverageAnalysis]: Checked inductivity of 384 backedges. 24 proven. 356 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:45:38,136 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:45:38,710 INFO L290 TraceCheckUtils]: 118: Hoare triple {83707#false} assume !false; {83707#false} is VALID [2022-04-28 12:45:38,710 INFO L290 TraceCheckUtils]: 117: Hoare triple {83707#false} assume 0 == ~cond; {83707#false} is VALID [2022-04-28 12:45:38,710 INFO L290 TraceCheckUtils]: 116: Hoare triple {83707#false} ~cond := #in~cond; {83707#false} is VALID [2022-04-28 12:45:38,710 INFO L272 TraceCheckUtils]: 115: Hoare triple {83707#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)); {83707#false} is VALID [2022-04-28 12:45:38,731 INFO L290 TraceCheckUtils]: 114: Hoare triple {84091#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {83707#false} is VALID [2022-04-28 12:45:38,732 INFO L290 TraceCheckUtils]: 113: Hoare triple {84095#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {84091#(< |main_#t~post6| 20)} is VALID [2022-04-28 12:45:38,732 INFO L290 TraceCheckUtils]: 112: Hoare triple {84095#(< ~counter~0 20)} assume !(~r~0 < 0); {84095#(< ~counter~0 20)} is VALID [2022-04-28 12:45:38,733 INFO L284 TraceCheckUtils]: 111: Hoare quadruple {83706#true} {84095#(< ~counter~0 20)} #98#return; {84095#(< ~counter~0 20)} is VALID [2022-04-28 12:45:38,733 INFO L290 TraceCheckUtils]: 110: Hoare triple {83706#true} assume true; {83706#true} is VALID [2022-04-28 12:45:38,733 INFO L290 TraceCheckUtils]: 109: Hoare triple {83706#true} assume !(0 == ~cond); {83706#true} is VALID [2022-04-28 12:45:38,733 INFO L290 TraceCheckUtils]: 108: Hoare triple {83706#true} ~cond := #in~cond; {83706#true} is VALID [2022-04-28 12:45:38,733 INFO L272 TraceCheckUtils]: 107: Hoare triple {84095#(< ~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)); {83706#true} is VALID [2022-04-28 12:45:38,733 INFO L290 TraceCheckUtils]: 106: Hoare triple {84095#(< ~counter~0 20)} assume !!(#t~post8 < 20);havoc #t~post8; {84095#(< ~counter~0 20)} is VALID [2022-04-28 12:45:38,735 INFO L290 TraceCheckUtils]: 105: Hoare triple {84120#(< ~counter~0 19)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {84095#(< ~counter~0 20)} is VALID [2022-04-28 12:45:38,736 INFO L290 TraceCheckUtils]: 104: Hoare triple {84120#(< ~counter~0 19)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {84120#(< ~counter~0 19)} is VALID [2022-04-28 12:45:38,736 INFO L284 TraceCheckUtils]: 103: Hoare quadruple {83706#true} {84120#(< ~counter~0 19)} #98#return; {84120#(< ~counter~0 19)} is VALID [2022-04-28 12:45:38,736 INFO L290 TraceCheckUtils]: 102: Hoare triple {83706#true} assume true; {83706#true} is VALID [2022-04-28 12:45:38,736 INFO L290 TraceCheckUtils]: 101: Hoare triple {83706#true} assume !(0 == ~cond); {83706#true} is VALID [2022-04-28 12:45:38,737 INFO L290 TraceCheckUtils]: 100: Hoare triple {83706#true} ~cond := #in~cond; {83706#true} is VALID [2022-04-28 12:45:38,737 INFO L272 TraceCheckUtils]: 99: Hoare triple {84120#(< ~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)); {83706#true} is VALID [2022-04-28 12:45:38,737 INFO L290 TraceCheckUtils]: 98: Hoare triple {84120#(< ~counter~0 19)} assume !!(#t~post8 < 20);havoc #t~post8; {84120#(< ~counter~0 19)} is VALID [2022-04-28 12:45:38,738 INFO L290 TraceCheckUtils]: 97: Hoare triple {84145#(< ~counter~0 18)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {84120#(< ~counter~0 19)} is VALID [2022-04-28 12:45:38,738 INFO L290 TraceCheckUtils]: 96: Hoare triple {84145#(< ~counter~0 18)} assume !(~r~0 > 0); {84145#(< ~counter~0 18)} is VALID [2022-04-28 12:45:38,739 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {83706#true} {84145#(< ~counter~0 18)} #96#return; {84145#(< ~counter~0 18)} is VALID [2022-04-28 12:45:38,739 INFO L290 TraceCheckUtils]: 94: Hoare triple {83706#true} assume true; {83706#true} is VALID [2022-04-28 12:45:38,739 INFO L290 TraceCheckUtils]: 93: Hoare triple {83706#true} assume !(0 == ~cond); {83706#true} is VALID [2022-04-28 12:45:38,739 INFO L290 TraceCheckUtils]: 92: Hoare triple {83706#true} ~cond := #in~cond; {83706#true} is VALID [2022-04-28 12:45:38,739 INFO L272 TraceCheckUtils]: 91: Hoare triple {84145#(< ~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)); {83706#true} is VALID [2022-04-28 12:45:38,740 INFO L290 TraceCheckUtils]: 90: Hoare triple {84145#(< ~counter~0 18)} assume !!(#t~post7 < 20);havoc #t~post7; {84145#(< ~counter~0 18)} is VALID [2022-04-28 12:45:38,741 INFO L290 TraceCheckUtils]: 89: Hoare triple {84170#(< ~counter~0 17)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {84145#(< ~counter~0 18)} is VALID [2022-04-28 12:45:38,741 INFO L290 TraceCheckUtils]: 88: Hoare triple {84170#(< ~counter~0 17)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {84170#(< ~counter~0 17)} is VALID [2022-04-28 12:45:38,742 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {83706#true} {84170#(< ~counter~0 17)} #96#return; {84170#(< ~counter~0 17)} is VALID [2022-04-28 12:45:38,742 INFO L290 TraceCheckUtils]: 86: Hoare triple {83706#true} assume true; {83706#true} is VALID [2022-04-28 12:45:38,742 INFO L290 TraceCheckUtils]: 85: Hoare triple {83706#true} assume !(0 == ~cond); {83706#true} is VALID [2022-04-28 12:45:38,742 INFO L290 TraceCheckUtils]: 84: Hoare triple {83706#true} ~cond := #in~cond; {83706#true} is VALID [2022-04-28 12:45:38,742 INFO L272 TraceCheckUtils]: 83: Hoare triple {84170#(< ~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)); {83706#true} is VALID [2022-04-28 12:45:38,742 INFO L290 TraceCheckUtils]: 82: Hoare triple {84170#(< ~counter~0 17)} assume !!(#t~post7 < 20);havoc #t~post7; {84170#(< ~counter~0 17)} is VALID [2022-04-28 12:45:38,744 INFO L290 TraceCheckUtils]: 81: Hoare triple {84195#(< ~counter~0 16)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {84170#(< ~counter~0 17)} is VALID [2022-04-28 12:45:38,744 INFO L290 TraceCheckUtils]: 80: Hoare triple {84195#(< ~counter~0 16)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {84195#(< ~counter~0 16)} is VALID [2022-04-28 12:45:38,744 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {83706#true} {84195#(< ~counter~0 16)} #96#return; {84195#(< ~counter~0 16)} is VALID [2022-04-28 12:45:38,744 INFO L290 TraceCheckUtils]: 78: Hoare triple {83706#true} assume true; {83706#true} is VALID [2022-04-28 12:45:38,745 INFO L290 TraceCheckUtils]: 77: Hoare triple {83706#true} assume !(0 == ~cond); {83706#true} is VALID [2022-04-28 12:45:38,745 INFO L290 TraceCheckUtils]: 76: Hoare triple {83706#true} ~cond := #in~cond; {83706#true} is VALID [2022-04-28 12:45:38,745 INFO L272 TraceCheckUtils]: 75: Hoare triple {84195#(< ~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)); {83706#true} is VALID [2022-04-28 12:45:38,745 INFO L290 TraceCheckUtils]: 74: Hoare triple {84195#(< ~counter~0 16)} assume !!(#t~post7 < 20);havoc #t~post7; {84195#(< ~counter~0 16)} is VALID [2022-04-28 12:45:38,746 INFO L290 TraceCheckUtils]: 73: Hoare triple {84220#(< ~counter~0 15)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {84195#(< ~counter~0 16)} is VALID [2022-04-28 12:45:38,746 INFO L290 TraceCheckUtils]: 72: Hoare triple {84220#(< ~counter~0 15)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {84220#(< ~counter~0 15)} is VALID [2022-04-28 12:45:38,747 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {83706#true} {84220#(< ~counter~0 15)} #96#return; {84220#(< ~counter~0 15)} is VALID [2022-04-28 12:45:38,747 INFO L290 TraceCheckUtils]: 70: Hoare triple {83706#true} assume true; {83706#true} is VALID [2022-04-28 12:45:38,747 INFO L290 TraceCheckUtils]: 69: Hoare triple {83706#true} assume !(0 == ~cond); {83706#true} is VALID [2022-04-28 12:45:38,747 INFO L290 TraceCheckUtils]: 68: Hoare triple {83706#true} ~cond := #in~cond; {83706#true} is VALID [2022-04-28 12:45:38,747 INFO L272 TraceCheckUtils]: 67: Hoare triple {84220#(< ~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)); {83706#true} is VALID [2022-04-28 12:45:38,748 INFO L290 TraceCheckUtils]: 66: Hoare triple {84220#(< ~counter~0 15)} assume !!(#t~post7 < 20);havoc #t~post7; {84220#(< ~counter~0 15)} is VALID [2022-04-28 12:45:38,749 INFO L290 TraceCheckUtils]: 65: Hoare triple {84245#(< ~counter~0 14)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {84220#(< ~counter~0 15)} is VALID [2022-04-28 12:45:38,749 INFO L290 TraceCheckUtils]: 64: Hoare triple {84245#(< ~counter~0 14)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {84245#(< ~counter~0 14)} is VALID [2022-04-28 12:45:38,749 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {83706#true} {84245#(< ~counter~0 14)} #96#return; {84245#(< ~counter~0 14)} is VALID [2022-04-28 12:45:38,750 INFO L290 TraceCheckUtils]: 62: Hoare triple {83706#true} assume true; {83706#true} is VALID [2022-04-28 12:45:38,750 INFO L290 TraceCheckUtils]: 61: Hoare triple {83706#true} assume !(0 == ~cond); {83706#true} is VALID [2022-04-28 12:45:38,750 INFO L290 TraceCheckUtils]: 60: Hoare triple {83706#true} ~cond := #in~cond; {83706#true} is VALID [2022-04-28 12:45:38,750 INFO L272 TraceCheckUtils]: 59: Hoare triple {84245#(< ~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)); {83706#true} is VALID [2022-04-28 12:45:38,750 INFO L290 TraceCheckUtils]: 58: Hoare triple {84245#(< ~counter~0 14)} assume !!(#t~post7 < 20);havoc #t~post7; {84245#(< ~counter~0 14)} is VALID [2022-04-28 12:45:38,751 INFO L290 TraceCheckUtils]: 57: Hoare triple {84038#(<= ~counter~0 12)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {84245#(< ~counter~0 14)} is VALID [2022-04-28 12:45:38,751 INFO L290 TraceCheckUtils]: 56: Hoare triple {84038#(<= ~counter~0 12)} assume !!(0 != ~r~0); {84038#(<= ~counter~0 12)} is VALID [2022-04-28 12:45:38,752 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {83706#true} {84038#(<= ~counter~0 12)} #94#return; {84038#(<= ~counter~0 12)} is VALID [2022-04-28 12:45:38,752 INFO L290 TraceCheckUtils]: 54: Hoare triple {83706#true} assume true; {83706#true} is VALID [2022-04-28 12:45:38,752 INFO L290 TraceCheckUtils]: 53: Hoare triple {83706#true} assume !(0 == ~cond); {83706#true} is VALID [2022-04-28 12:45:38,752 INFO L290 TraceCheckUtils]: 52: Hoare triple {83706#true} ~cond := #in~cond; {83706#true} is VALID [2022-04-28 12:45:38,752 INFO L272 TraceCheckUtils]: 51: Hoare triple {84038#(<= ~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)); {83706#true} is VALID [2022-04-28 12:45:38,752 INFO L290 TraceCheckUtils]: 50: Hoare triple {84038#(<= ~counter~0 12)} assume !!(#t~post6 < 20);havoc #t~post6; {84038#(<= ~counter~0 12)} is VALID [2022-04-28 12:45:38,753 INFO L290 TraceCheckUtils]: 49: Hoare triple {84013#(<= ~counter~0 11)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {84038#(<= ~counter~0 12)} is VALID [2022-04-28 12:45:38,753 INFO L290 TraceCheckUtils]: 48: Hoare triple {84013#(<= ~counter~0 11)} assume !(~r~0 < 0); {84013#(<= ~counter~0 11)} is VALID [2022-04-28 12:45:38,754 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {83706#true} {84013#(<= ~counter~0 11)} #98#return; {84013#(<= ~counter~0 11)} is VALID [2022-04-28 12:45:38,754 INFO L290 TraceCheckUtils]: 46: Hoare triple {83706#true} assume true; {83706#true} is VALID [2022-04-28 12:45:38,754 INFO L290 TraceCheckUtils]: 45: Hoare triple {83706#true} assume !(0 == ~cond); {83706#true} is VALID [2022-04-28 12:45:38,754 INFO L290 TraceCheckUtils]: 44: Hoare triple {83706#true} ~cond := #in~cond; {83706#true} is VALID [2022-04-28 12:45:38,754 INFO L272 TraceCheckUtils]: 43: Hoare triple {84013#(<= ~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)); {83706#true} is VALID [2022-04-28 12:45:38,755 INFO L290 TraceCheckUtils]: 42: Hoare triple {84013#(<= ~counter~0 11)} assume !!(#t~post8 < 20);havoc #t~post8; {84013#(<= ~counter~0 11)} is VALID [2022-04-28 12:45:38,755 INFO L290 TraceCheckUtils]: 41: Hoare triple {83988#(<= ~counter~0 10)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {84013#(<= ~counter~0 11)} is VALID [2022-04-28 12:45:38,756 INFO L290 TraceCheckUtils]: 40: Hoare triple {83988#(<= ~counter~0 10)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {83988#(<= ~counter~0 10)} is VALID [2022-04-28 12:45:38,756 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {83706#true} {83988#(<= ~counter~0 10)} #98#return; {83988#(<= ~counter~0 10)} is VALID [2022-04-28 12:45:38,756 INFO L290 TraceCheckUtils]: 38: Hoare triple {83706#true} assume true; {83706#true} is VALID [2022-04-28 12:45:38,756 INFO L290 TraceCheckUtils]: 37: Hoare triple {83706#true} assume !(0 == ~cond); {83706#true} is VALID [2022-04-28 12:45:38,757 INFO L290 TraceCheckUtils]: 36: Hoare triple {83706#true} ~cond := #in~cond; {83706#true} is VALID [2022-04-28 12:45:38,757 INFO L272 TraceCheckUtils]: 35: Hoare triple {83988#(<= ~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)); {83706#true} is VALID [2022-04-28 12:45:38,757 INFO L290 TraceCheckUtils]: 34: Hoare triple {83988#(<= ~counter~0 10)} assume !!(#t~post8 < 20);havoc #t~post8; {83988#(<= ~counter~0 10)} is VALID [2022-04-28 12:45:38,758 INFO L290 TraceCheckUtils]: 33: Hoare triple {83963#(<= ~counter~0 9)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {83988#(<= ~counter~0 10)} is VALID [2022-04-28 12:45:38,758 INFO L290 TraceCheckUtils]: 32: Hoare triple {83963#(<= ~counter~0 9)} assume !(~r~0 > 0); {83963#(<= ~counter~0 9)} is VALID [2022-04-28 12:45:38,759 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {83706#true} {83963#(<= ~counter~0 9)} #96#return; {83963#(<= ~counter~0 9)} is VALID [2022-04-28 12:45:38,759 INFO L290 TraceCheckUtils]: 30: Hoare triple {83706#true} assume true; {83706#true} is VALID [2022-04-28 12:45:38,759 INFO L290 TraceCheckUtils]: 29: Hoare triple {83706#true} assume !(0 == ~cond); {83706#true} is VALID [2022-04-28 12:45:38,759 INFO L290 TraceCheckUtils]: 28: Hoare triple {83706#true} ~cond := #in~cond; {83706#true} is VALID [2022-04-28 12:45:38,759 INFO L272 TraceCheckUtils]: 27: Hoare triple {83963#(<= ~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)); {83706#true} is VALID [2022-04-28 12:45:38,759 INFO L290 TraceCheckUtils]: 26: Hoare triple {83963#(<= ~counter~0 9)} assume !!(#t~post7 < 20);havoc #t~post7; {83963#(<= ~counter~0 9)} is VALID [2022-04-28 12:45:38,760 INFO L290 TraceCheckUtils]: 25: Hoare triple {83938#(<= ~counter~0 8)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {83963#(<= ~counter~0 9)} is VALID [2022-04-28 12:45:38,760 INFO L290 TraceCheckUtils]: 24: Hoare triple {83938#(<= ~counter~0 8)} assume !!(0 != ~r~0); {83938#(<= ~counter~0 8)} is VALID [2022-04-28 12:45:38,761 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {83706#true} {83938#(<= ~counter~0 8)} #94#return; {83938#(<= ~counter~0 8)} is VALID [2022-04-28 12:45:38,761 INFO L290 TraceCheckUtils]: 22: Hoare triple {83706#true} assume true; {83706#true} is VALID [2022-04-28 12:45:38,761 INFO L290 TraceCheckUtils]: 21: Hoare triple {83706#true} assume !(0 == ~cond); {83706#true} is VALID [2022-04-28 12:45:38,761 INFO L290 TraceCheckUtils]: 20: Hoare triple {83706#true} ~cond := #in~cond; {83706#true} is VALID [2022-04-28 12:45:38,761 INFO L272 TraceCheckUtils]: 19: Hoare triple {83938#(<= ~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)); {83706#true} is VALID [2022-04-28 12:45:38,761 INFO L290 TraceCheckUtils]: 18: Hoare triple {83938#(<= ~counter~0 8)} assume !!(#t~post6 < 20);havoc #t~post6; {83938#(<= ~counter~0 8)} is VALID [2022-04-28 12:45:38,762 INFO L290 TraceCheckUtils]: 17: Hoare triple {83913#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {83938#(<= ~counter~0 8)} is VALID [2022-04-28 12:45:38,763 INFO L290 TraceCheckUtils]: 16: Hoare triple {83913#(<= ~counter~0 7)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {83913#(<= ~counter~0 7)} is VALID [2022-04-28 12:45:38,763 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {83706#true} {83913#(<= ~counter~0 7)} #92#return; {83913#(<= ~counter~0 7)} is VALID [2022-04-28 12:45:38,763 INFO L290 TraceCheckUtils]: 14: Hoare triple {83706#true} assume true; {83706#true} is VALID [2022-04-28 12:45:38,763 INFO L290 TraceCheckUtils]: 13: Hoare triple {83706#true} assume !(0 == ~cond); {83706#true} is VALID [2022-04-28 12:45:38,763 INFO L290 TraceCheckUtils]: 12: Hoare triple {83706#true} ~cond := #in~cond; {83706#true} is VALID [2022-04-28 12:45:38,763 INFO L272 TraceCheckUtils]: 11: Hoare triple {83913#(<= ~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)); {83706#true} is VALID [2022-04-28 12:45:38,764 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {83706#true} {83913#(<= ~counter~0 7)} #90#return; {83913#(<= ~counter~0 7)} is VALID [2022-04-28 12:45:38,764 INFO L290 TraceCheckUtils]: 9: Hoare triple {83706#true} assume true; {83706#true} is VALID [2022-04-28 12:45:38,764 INFO L290 TraceCheckUtils]: 8: Hoare triple {83706#true} assume !(0 == ~cond); {83706#true} is VALID [2022-04-28 12:45:38,764 INFO L290 TraceCheckUtils]: 7: Hoare triple {83706#true} ~cond := #in~cond; {83706#true} is VALID [2022-04-28 12:45:38,764 INFO L272 TraceCheckUtils]: 6: Hoare triple {83913#(<= ~counter~0 7)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {83706#true} is VALID [2022-04-28 12:45:38,764 INFO L290 TraceCheckUtils]: 5: Hoare triple {83913#(<= ~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; {83913#(<= ~counter~0 7)} is VALID [2022-04-28 12:45:38,765 INFO L272 TraceCheckUtils]: 4: Hoare triple {83913#(<= ~counter~0 7)} call #t~ret9 := main(); {83913#(<= ~counter~0 7)} is VALID [2022-04-28 12:45:38,765 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {83913#(<= ~counter~0 7)} {83706#true} #102#return; {83913#(<= ~counter~0 7)} is VALID [2022-04-28 12:45:38,765 INFO L290 TraceCheckUtils]: 2: Hoare triple {83913#(<= ~counter~0 7)} assume true; {83913#(<= ~counter~0 7)} is VALID [2022-04-28 12:45:38,766 INFO L290 TraceCheckUtils]: 1: Hoare triple {83706#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; {83913#(<= ~counter~0 7)} is VALID [2022-04-28 12:45:38,766 INFO L272 TraceCheckUtils]: 0: Hoare triple {83706#true} call ULTIMATE.init(); {83706#true} is VALID [2022-04-28 12:45:38,766 INFO L134 CoverageAnalysis]: Checked inductivity of 384 backedges. 24 proven. 92 refuted. 0 times theorem prover too weak. 268 trivial. 0 not checked. [2022-04-28 12:45:38,766 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:45:38,767 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [136144699] [2022-04-28 12:45:38,767 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:45:38,767 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1952913178] [2022-04-28 12:45:38,767 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1952913178] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:45:38,767 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:45:38,767 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 16] total 24 [2022-04-28 12:45:38,767 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:45:38,767 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1885233278] [2022-04-28 12:45:38,767 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1885233278] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:45:38,767 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:45:38,767 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-28 12:45:38,767 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1973971295] [2022-04-28 12:45:38,767 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:45:38,768 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 5.25) internal successors, (84), 15 states have internal predecessors, (84), 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 119 [2022-04-28 12:45:38,768 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:45:38,768 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 16 states have (on average 5.25) internal successors, (84), 15 states have internal predecessors, (84), 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:45:38,877 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 116 edges. 116 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:45:38,878 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-28 12:45:38,878 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:45:38,878 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-28 12:45:38,878 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=236, Invalid=316, Unknown=0, NotChecked=0, Total=552 [2022-04-28 12:45:38,879 INFO L87 Difference]: Start difference. First operand 626 states and 830 transitions. Second operand has 16 states, 16 states have (on average 5.25) internal successors, (84), 15 states have internal predecessors, (84), 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:45:41,780 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:45:41,780 INFO L93 Difference]: Finished difference Result 685 states and 910 transitions. [2022-04-28 12:45:41,780 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 25 states. [2022-04-28 12:45:41,780 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 5.25) internal successors, (84), 15 states have internal predecessors, (84), 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 119 [2022-04-28 12:45:41,780 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:45:41,781 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 5.25) internal successors, (84), 15 states have internal predecessors, (84), 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:45:41,782 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 254 transitions. [2022-04-28 12:45:41,782 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 5.25) internal successors, (84), 15 states have internal predecessors, (84), 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:45:41,784 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 254 transitions. [2022-04-28 12:45:41,784 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 25 states and 254 transitions. [2022-04-28 12:45:42,006 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 254 edges. 254 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:45:42,030 INFO L225 Difference]: With dead ends: 685 [2022-04-28 12:45:42,030 INFO L226 Difference]: Without dead ends: 674 [2022-04-28 12:45:42,030 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 246 GetRequests, 214 SyntacticMatches, 1 SemanticMatches, 31 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 74 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=419, Invalid=637, Unknown=0, NotChecked=0, Total=1056 [2022-04-28 12:45:42,030 INFO L413 NwaCegarLoop]: 66 mSDtfsCounter, 157 mSDsluCounter, 241 mSDsCounter, 0 mSdLazyCounter, 180 mSolverCounterSat, 117 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 157 SdHoareTripleChecker+Valid, 307 SdHoareTripleChecker+Invalid, 297 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 117 IncrementalHoareTripleChecker+Valid, 180 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 12:45:42,031 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [157 Valid, 307 Invalid, 297 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [117 Valid, 180 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 12:45:42,031 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 674 states. [2022-04-28 12:45:43,754 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 674 to 652. [2022-04-28 12:45:43,754 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:45:43,754 INFO L82 GeneralOperation]: Start isEquivalent. First operand 674 states. Second operand has 652 states, 487 states have (on average 1.211498973305955) internal successors, (590), 497 states have internal predecessors, (590), 140 states have call successors, (140), 26 states have call predecessors, (140), 24 states have return successors, (138), 128 states have call predecessors, (138), 138 states have call successors, (138) [2022-04-28 12:45:43,755 INFO L74 IsIncluded]: Start isIncluded. First operand 674 states. Second operand has 652 states, 487 states have (on average 1.211498973305955) internal successors, (590), 497 states have internal predecessors, (590), 140 states have call successors, (140), 26 states have call predecessors, (140), 24 states have return successors, (138), 128 states have call predecessors, (138), 138 states have call successors, (138) [2022-04-28 12:45:43,755 INFO L87 Difference]: Start difference. First operand 674 states. Second operand has 652 states, 487 states have (on average 1.211498973305955) internal successors, (590), 497 states have internal predecessors, (590), 140 states have call successors, (140), 26 states have call predecessors, (140), 24 states have return successors, (138), 128 states have call predecessors, (138), 138 states have call successors, (138) [2022-04-28 12:45:43,771 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:45:43,771 INFO L93 Difference]: Finished difference Result 674 states and 894 transitions. [2022-04-28 12:45:43,771 INFO L276 IsEmpty]: Start isEmpty. Operand 674 states and 894 transitions. [2022-04-28 12:45:43,772 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:45:43,772 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:45:43,772 INFO L74 IsIncluded]: Start isIncluded. First operand has 652 states, 487 states have (on average 1.211498973305955) internal successors, (590), 497 states have internal predecessors, (590), 140 states have call successors, (140), 26 states have call predecessors, (140), 24 states have return successors, (138), 128 states have call predecessors, (138), 138 states have call successors, (138) Second operand 674 states. [2022-04-28 12:45:43,773 INFO L87 Difference]: Start difference. First operand has 652 states, 487 states have (on average 1.211498973305955) internal successors, (590), 497 states have internal predecessors, (590), 140 states have call successors, (140), 26 states have call predecessors, (140), 24 states have return successors, (138), 128 states have call predecessors, (138), 138 states have call successors, (138) Second operand 674 states. [2022-04-28 12:45:43,788 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:45:43,788 INFO L93 Difference]: Finished difference Result 674 states and 894 transitions. [2022-04-28 12:45:43,788 INFO L276 IsEmpty]: Start isEmpty. Operand 674 states and 894 transitions. [2022-04-28 12:45:43,789 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:45:43,789 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:45:43,789 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:45:43,789 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:45:43,789 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 652 states, 487 states have (on average 1.211498973305955) internal successors, (590), 497 states have internal predecessors, (590), 140 states have call successors, (140), 26 states have call predecessors, (140), 24 states have return successors, (138), 128 states have call predecessors, (138), 138 states have call successors, (138) [2022-04-28 12:45:43,808 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 652 states to 652 states and 868 transitions. [2022-04-28 12:45:43,809 INFO L78 Accepts]: Start accepts. Automaton has 652 states and 868 transitions. Word has length 119 [2022-04-28 12:45:43,809 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:45:43,809 INFO L495 AbstractCegarLoop]: Abstraction has 652 states and 868 transitions. [2022-04-28 12:45:43,809 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 16 states have (on average 5.25) internal successors, (84), 15 states have internal predecessors, (84), 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:45:43,809 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 652 states and 868 transitions. [2022-04-28 12:46:00,796 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 868 edges. 864 inductive. 0 not inductive. 4 times theorem prover too weak to decide inductivity. [2022-04-28 12:46:00,796 INFO L276 IsEmpty]: Start isEmpty. Operand 652 states and 868 transitions. [2022-04-28 12:46:00,797 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 122 [2022-04-28 12:46:00,797 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:46:00,797 INFO L195 NwaCegarLoop]: trace histogram [13, 12, 12, 7, 7, 7, 7, 5, 4, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:46:00,813 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (40)] Forceful destruction successful, exit code 0 [2022-04-28 12:46:01,007 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 40 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable38 [2022-04-28 12:46:01,008 INFO L420 AbstractCegarLoop]: === Iteration 40 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:46:01,008 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:46:01,008 INFO L85 PathProgramCache]: Analyzing trace with hash 1267134888, now seen corresponding path program 17 times [2022-04-28 12:46:01,008 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:46:01,008 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [298295653] [2022-04-28 12:46:01,008 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:46:01,008 INFO L85 PathProgramCache]: Analyzing trace with hash 1267134888, now seen corresponding path program 18 times [2022-04-28 12:46:01,008 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:46:01,008 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1013692403] [2022-04-28 12:46:01,009 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:46:01,009 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:46:01,020 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:46:01,020 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1836971080] [2022-04-28 12:46:01,020 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 12:46:01,020 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:46:01,020 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:46:01,021 INFO L229 MonitoredProcess]: Starting monitored process 41 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:46:01,021 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (41)] Waiting until timeout for monitored process [2022-04-28 12:46:01,583 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 9 check-sat command(s) [2022-04-28 12:46:01,583 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:46:01,585 INFO L263 TraceCheckSpWp]: Trace formula consists of 306 conjuncts, 29 conjunts are in the unsatisfiable core [2022-04-28 12:46:01,607 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:46:01,608 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:46:02,180 INFO L272 TraceCheckUtils]: 0: Hoare triple {88483#true} call ULTIMATE.init(); {88483#true} is VALID [2022-04-28 12:46:02,181 INFO L290 TraceCheckUtils]: 1: Hoare triple {88483#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; {88491#(<= ~counter~0 0)} is VALID [2022-04-28 12:46:02,181 INFO L290 TraceCheckUtils]: 2: Hoare triple {88491#(<= ~counter~0 0)} assume true; {88491#(<= ~counter~0 0)} is VALID [2022-04-28 12:46:02,182 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {88491#(<= ~counter~0 0)} {88483#true} #102#return; {88491#(<= ~counter~0 0)} is VALID [2022-04-28 12:46:02,182 INFO L272 TraceCheckUtils]: 4: Hoare triple {88491#(<= ~counter~0 0)} call #t~ret9 := main(); {88491#(<= ~counter~0 0)} is VALID [2022-04-28 12:46:02,182 INFO L290 TraceCheckUtils]: 5: Hoare triple {88491#(<= ~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; {88491#(<= ~counter~0 0)} is VALID [2022-04-28 12:46:02,183 INFO L272 TraceCheckUtils]: 6: Hoare triple {88491#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {88491#(<= ~counter~0 0)} is VALID [2022-04-28 12:46:02,183 INFO L290 TraceCheckUtils]: 7: Hoare triple {88491#(<= ~counter~0 0)} ~cond := #in~cond; {88491#(<= ~counter~0 0)} is VALID [2022-04-28 12:46:02,183 INFO L290 TraceCheckUtils]: 8: Hoare triple {88491#(<= ~counter~0 0)} assume !(0 == ~cond); {88491#(<= ~counter~0 0)} is VALID [2022-04-28 12:46:02,183 INFO L290 TraceCheckUtils]: 9: Hoare triple {88491#(<= ~counter~0 0)} assume true; {88491#(<= ~counter~0 0)} is VALID [2022-04-28 12:46:02,184 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {88491#(<= ~counter~0 0)} {88491#(<= ~counter~0 0)} #90#return; {88491#(<= ~counter~0 0)} is VALID [2022-04-28 12:46:02,184 INFO L272 TraceCheckUtils]: 11: Hoare triple {88491#(<= ~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)); {88491#(<= ~counter~0 0)} is VALID [2022-04-28 12:46:02,184 INFO L290 TraceCheckUtils]: 12: Hoare triple {88491#(<= ~counter~0 0)} ~cond := #in~cond; {88491#(<= ~counter~0 0)} is VALID [2022-04-28 12:46:02,185 INFO L290 TraceCheckUtils]: 13: Hoare triple {88491#(<= ~counter~0 0)} assume !(0 == ~cond); {88491#(<= ~counter~0 0)} is VALID [2022-04-28 12:46:02,185 INFO L290 TraceCheckUtils]: 14: Hoare triple {88491#(<= ~counter~0 0)} assume true; {88491#(<= ~counter~0 0)} is VALID [2022-04-28 12:46:02,185 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {88491#(<= ~counter~0 0)} {88491#(<= ~counter~0 0)} #92#return; {88491#(<= ~counter~0 0)} is VALID [2022-04-28 12:46:02,185 INFO L290 TraceCheckUtils]: 16: Hoare triple {88491#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {88491#(<= ~counter~0 0)} is VALID [2022-04-28 12:46:02,187 INFO L290 TraceCheckUtils]: 17: Hoare triple {88491#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {88540#(<= ~counter~0 1)} is VALID [2022-04-28 12:46:02,188 INFO L290 TraceCheckUtils]: 18: Hoare triple {88540#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {88540#(<= ~counter~0 1)} is VALID [2022-04-28 12:46:02,188 INFO L272 TraceCheckUtils]: 19: Hoare triple {88540#(<= ~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)); {88540#(<= ~counter~0 1)} is VALID [2022-04-28 12:46:02,188 INFO L290 TraceCheckUtils]: 20: Hoare triple {88540#(<= ~counter~0 1)} ~cond := #in~cond; {88540#(<= ~counter~0 1)} is VALID [2022-04-28 12:46:02,189 INFO L290 TraceCheckUtils]: 21: Hoare triple {88540#(<= ~counter~0 1)} assume !(0 == ~cond); {88540#(<= ~counter~0 1)} is VALID [2022-04-28 12:46:02,189 INFO L290 TraceCheckUtils]: 22: Hoare triple {88540#(<= ~counter~0 1)} assume true; {88540#(<= ~counter~0 1)} is VALID [2022-04-28 12:46:02,189 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {88540#(<= ~counter~0 1)} {88540#(<= ~counter~0 1)} #94#return; {88540#(<= ~counter~0 1)} is VALID [2022-04-28 12:46:02,190 INFO L290 TraceCheckUtils]: 24: Hoare triple {88540#(<= ~counter~0 1)} assume !!(0 != ~r~0); {88540#(<= ~counter~0 1)} is VALID [2022-04-28 12:46:02,190 INFO L290 TraceCheckUtils]: 25: Hoare triple {88540#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {88565#(<= ~counter~0 2)} is VALID [2022-04-28 12:46:02,191 INFO L290 TraceCheckUtils]: 26: Hoare triple {88565#(<= ~counter~0 2)} assume !!(#t~post7 < 20);havoc #t~post7; {88565#(<= ~counter~0 2)} is VALID [2022-04-28 12:46:02,191 INFO L272 TraceCheckUtils]: 27: Hoare triple {88565#(<= ~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)); {88565#(<= ~counter~0 2)} is VALID [2022-04-28 12:46:02,191 INFO L290 TraceCheckUtils]: 28: Hoare triple {88565#(<= ~counter~0 2)} ~cond := #in~cond; {88565#(<= ~counter~0 2)} is VALID [2022-04-28 12:46:02,192 INFO L290 TraceCheckUtils]: 29: Hoare triple {88565#(<= ~counter~0 2)} assume !(0 == ~cond); {88565#(<= ~counter~0 2)} is VALID [2022-04-28 12:46:02,192 INFO L290 TraceCheckUtils]: 30: Hoare triple {88565#(<= ~counter~0 2)} assume true; {88565#(<= ~counter~0 2)} is VALID [2022-04-28 12:46:02,192 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {88565#(<= ~counter~0 2)} {88565#(<= ~counter~0 2)} #96#return; {88565#(<= ~counter~0 2)} is VALID [2022-04-28 12:46:02,193 INFO L290 TraceCheckUtils]: 32: Hoare triple {88565#(<= ~counter~0 2)} assume !(~r~0 > 0); {88565#(<= ~counter~0 2)} is VALID [2022-04-28 12:46:02,194 INFO L290 TraceCheckUtils]: 33: Hoare triple {88565#(<= ~counter~0 2)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {88590#(<= ~counter~0 3)} is VALID [2022-04-28 12:46:02,194 INFO L290 TraceCheckUtils]: 34: Hoare triple {88590#(<= ~counter~0 3)} assume !!(#t~post8 < 20);havoc #t~post8; {88590#(<= ~counter~0 3)} is VALID [2022-04-28 12:46:02,194 INFO L272 TraceCheckUtils]: 35: Hoare triple {88590#(<= ~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)); {88590#(<= ~counter~0 3)} is VALID [2022-04-28 12:46:02,195 INFO L290 TraceCheckUtils]: 36: Hoare triple {88590#(<= ~counter~0 3)} ~cond := #in~cond; {88590#(<= ~counter~0 3)} is VALID [2022-04-28 12:46:02,195 INFO L290 TraceCheckUtils]: 37: Hoare triple {88590#(<= ~counter~0 3)} assume !(0 == ~cond); {88590#(<= ~counter~0 3)} is VALID [2022-04-28 12:46:02,195 INFO L290 TraceCheckUtils]: 38: Hoare triple {88590#(<= ~counter~0 3)} assume true; {88590#(<= ~counter~0 3)} is VALID [2022-04-28 12:46:02,196 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {88590#(<= ~counter~0 3)} {88590#(<= ~counter~0 3)} #98#return; {88590#(<= ~counter~0 3)} is VALID [2022-04-28 12:46:02,196 INFO L290 TraceCheckUtils]: 40: Hoare triple {88590#(<= ~counter~0 3)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {88590#(<= ~counter~0 3)} is VALID [2022-04-28 12:46:02,197 INFO L290 TraceCheckUtils]: 41: Hoare triple {88590#(<= ~counter~0 3)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {88615#(<= ~counter~0 4)} is VALID [2022-04-28 12:46:02,197 INFO L290 TraceCheckUtils]: 42: Hoare triple {88615#(<= ~counter~0 4)} assume !!(#t~post8 < 20);havoc #t~post8; {88615#(<= ~counter~0 4)} is VALID [2022-04-28 12:46:02,197 INFO L272 TraceCheckUtils]: 43: Hoare triple {88615#(<= ~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)); {88615#(<= ~counter~0 4)} is VALID [2022-04-28 12:46:02,198 INFO L290 TraceCheckUtils]: 44: Hoare triple {88615#(<= ~counter~0 4)} ~cond := #in~cond; {88615#(<= ~counter~0 4)} is VALID [2022-04-28 12:46:02,198 INFO L290 TraceCheckUtils]: 45: Hoare triple {88615#(<= ~counter~0 4)} assume !(0 == ~cond); {88615#(<= ~counter~0 4)} is VALID [2022-04-28 12:46:02,198 INFO L290 TraceCheckUtils]: 46: Hoare triple {88615#(<= ~counter~0 4)} assume true; {88615#(<= ~counter~0 4)} is VALID [2022-04-28 12:46:02,199 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {88615#(<= ~counter~0 4)} {88615#(<= ~counter~0 4)} #98#return; {88615#(<= ~counter~0 4)} is VALID [2022-04-28 12:46:02,199 INFO L290 TraceCheckUtils]: 48: Hoare triple {88615#(<= ~counter~0 4)} assume !(~r~0 < 0); {88615#(<= ~counter~0 4)} is VALID [2022-04-28 12:46:02,200 INFO L290 TraceCheckUtils]: 49: Hoare triple {88615#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {88640#(<= ~counter~0 5)} is VALID [2022-04-28 12:46:02,200 INFO L290 TraceCheckUtils]: 50: Hoare triple {88640#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {88640#(<= ~counter~0 5)} is VALID [2022-04-28 12:46:02,201 INFO L272 TraceCheckUtils]: 51: Hoare triple {88640#(<= ~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)); {88640#(<= ~counter~0 5)} is VALID [2022-04-28 12:46:02,201 INFO L290 TraceCheckUtils]: 52: Hoare triple {88640#(<= ~counter~0 5)} ~cond := #in~cond; {88640#(<= ~counter~0 5)} is VALID [2022-04-28 12:46:02,201 INFO L290 TraceCheckUtils]: 53: Hoare triple {88640#(<= ~counter~0 5)} assume !(0 == ~cond); {88640#(<= ~counter~0 5)} is VALID [2022-04-28 12:46:02,202 INFO L290 TraceCheckUtils]: 54: Hoare triple {88640#(<= ~counter~0 5)} assume true; {88640#(<= ~counter~0 5)} is VALID [2022-04-28 12:46:02,202 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {88640#(<= ~counter~0 5)} {88640#(<= ~counter~0 5)} #94#return; {88640#(<= ~counter~0 5)} is VALID [2022-04-28 12:46:02,203 INFO L290 TraceCheckUtils]: 56: Hoare triple {88640#(<= ~counter~0 5)} assume !!(0 != ~r~0); {88640#(<= ~counter~0 5)} is VALID [2022-04-28 12:46:02,204 INFO L290 TraceCheckUtils]: 57: Hoare triple {88640#(<= ~counter~0 5)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {88665#(<= ~counter~0 6)} is VALID [2022-04-28 12:46:02,204 INFO L290 TraceCheckUtils]: 58: Hoare triple {88665#(<= ~counter~0 6)} assume !!(#t~post7 < 20);havoc #t~post7; {88665#(<= ~counter~0 6)} is VALID [2022-04-28 12:46:02,205 INFO L272 TraceCheckUtils]: 59: Hoare triple {88665#(<= ~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)); {88665#(<= ~counter~0 6)} is VALID [2022-04-28 12:46:02,205 INFO L290 TraceCheckUtils]: 60: Hoare triple {88665#(<= ~counter~0 6)} ~cond := #in~cond; {88665#(<= ~counter~0 6)} is VALID [2022-04-28 12:46:02,205 INFO L290 TraceCheckUtils]: 61: Hoare triple {88665#(<= ~counter~0 6)} assume !(0 == ~cond); {88665#(<= ~counter~0 6)} is VALID [2022-04-28 12:46:02,206 INFO L290 TraceCheckUtils]: 62: Hoare triple {88665#(<= ~counter~0 6)} assume true; {88665#(<= ~counter~0 6)} is VALID [2022-04-28 12:46:02,206 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {88665#(<= ~counter~0 6)} {88665#(<= ~counter~0 6)} #96#return; {88665#(<= ~counter~0 6)} is VALID [2022-04-28 12:46:02,206 INFO L290 TraceCheckUtils]: 64: Hoare triple {88665#(<= ~counter~0 6)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {88665#(<= ~counter~0 6)} is VALID [2022-04-28 12:46:02,208 INFO L290 TraceCheckUtils]: 65: Hoare triple {88665#(<= ~counter~0 6)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {88690#(<= ~counter~0 7)} is VALID [2022-04-28 12:46:02,208 INFO L290 TraceCheckUtils]: 66: Hoare triple {88690#(<= ~counter~0 7)} assume !!(#t~post7 < 20);havoc #t~post7; {88690#(<= ~counter~0 7)} is VALID [2022-04-28 12:46:02,208 INFO L272 TraceCheckUtils]: 67: Hoare triple {88690#(<= ~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)); {88690#(<= ~counter~0 7)} is VALID [2022-04-28 12:46:02,209 INFO L290 TraceCheckUtils]: 68: Hoare triple {88690#(<= ~counter~0 7)} ~cond := #in~cond; {88690#(<= ~counter~0 7)} is VALID [2022-04-28 12:46:02,209 INFO L290 TraceCheckUtils]: 69: Hoare triple {88690#(<= ~counter~0 7)} assume !(0 == ~cond); {88690#(<= ~counter~0 7)} is VALID [2022-04-28 12:46:02,209 INFO L290 TraceCheckUtils]: 70: Hoare triple {88690#(<= ~counter~0 7)} assume true; {88690#(<= ~counter~0 7)} is VALID [2022-04-28 12:46:02,210 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {88690#(<= ~counter~0 7)} {88690#(<= ~counter~0 7)} #96#return; {88690#(<= ~counter~0 7)} is VALID [2022-04-28 12:46:02,210 INFO L290 TraceCheckUtils]: 72: Hoare triple {88690#(<= ~counter~0 7)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {88690#(<= ~counter~0 7)} is VALID [2022-04-28 12:46:02,211 INFO L290 TraceCheckUtils]: 73: Hoare triple {88690#(<= ~counter~0 7)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {88715#(<= ~counter~0 8)} is VALID [2022-04-28 12:46:02,212 INFO L290 TraceCheckUtils]: 74: Hoare triple {88715#(<= ~counter~0 8)} assume !!(#t~post7 < 20);havoc #t~post7; {88715#(<= ~counter~0 8)} is VALID [2022-04-28 12:46:02,212 INFO L272 TraceCheckUtils]: 75: Hoare triple {88715#(<= ~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)); {88715#(<= ~counter~0 8)} is VALID [2022-04-28 12:46:02,212 INFO L290 TraceCheckUtils]: 76: Hoare triple {88715#(<= ~counter~0 8)} ~cond := #in~cond; {88715#(<= ~counter~0 8)} is VALID [2022-04-28 12:46:02,213 INFO L290 TraceCheckUtils]: 77: Hoare triple {88715#(<= ~counter~0 8)} assume !(0 == ~cond); {88715#(<= ~counter~0 8)} is VALID [2022-04-28 12:46:02,213 INFO L290 TraceCheckUtils]: 78: Hoare triple {88715#(<= ~counter~0 8)} assume true; {88715#(<= ~counter~0 8)} is VALID [2022-04-28 12:46:02,214 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {88715#(<= ~counter~0 8)} {88715#(<= ~counter~0 8)} #96#return; {88715#(<= ~counter~0 8)} is VALID [2022-04-28 12:46:02,214 INFO L290 TraceCheckUtils]: 80: Hoare triple {88715#(<= ~counter~0 8)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {88715#(<= ~counter~0 8)} is VALID [2022-04-28 12:46:02,215 INFO L290 TraceCheckUtils]: 81: Hoare triple {88715#(<= ~counter~0 8)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {88740#(<= ~counter~0 9)} is VALID [2022-04-28 12:46:02,215 INFO L290 TraceCheckUtils]: 82: Hoare triple {88740#(<= ~counter~0 9)} assume !!(#t~post7 < 20);havoc #t~post7; {88740#(<= ~counter~0 9)} is VALID [2022-04-28 12:46:02,216 INFO L272 TraceCheckUtils]: 83: Hoare triple {88740#(<= ~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)); {88740#(<= ~counter~0 9)} is VALID [2022-04-28 12:46:02,216 INFO L290 TraceCheckUtils]: 84: Hoare triple {88740#(<= ~counter~0 9)} ~cond := #in~cond; {88740#(<= ~counter~0 9)} is VALID [2022-04-28 12:46:02,216 INFO L290 TraceCheckUtils]: 85: Hoare triple {88740#(<= ~counter~0 9)} assume !(0 == ~cond); {88740#(<= ~counter~0 9)} is VALID [2022-04-28 12:46:02,216 INFO L290 TraceCheckUtils]: 86: Hoare triple {88740#(<= ~counter~0 9)} assume true; {88740#(<= ~counter~0 9)} is VALID [2022-04-28 12:46:02,217 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {88740#(<= ~counter~0 9)} {88740#(<= ~counter~0 9)} #96#return; {88740#(<= ~counter~0 9)} is VALID [2022-04-28 12:46:02,217 INFO L290 TraceCheckUtils]: 88: Hoare triple {88740#(<= ~counter~0 9)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {88740#(<= ~counter~0 9)} is VALID [2022-04-28 12:46:02,218 INFO L290 TraceCheckUtils]: 89: Hoare triple {88740#(<= ~counter~0 9)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {88765#(<= ~counter~0 10)} is VALID [2022-04-28 12:46:02,218 INFO L290 TraceCheckUtils]: 90: Hoare triple {88765#(<= ~counter~0 10)} assume !!(#t~post7 < 20);havoc #t~post7; {88765#(<= ~counter~0 10)} is VALID [2022-04-28 12:46:02,219 INFO L272 TraceCheckUtils]: 91: Hoare triple {88765#(<= ~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)); {88765#(<= ~counter~0 10)} is VALID [2022-04-28 12:46:02,219 INFO L290 TraceCheckUtils]: 92: Hoare triple {88765#(<= ~counter~0 10)} ~cond := #in~cond; {88765#(<= ~counter~0 10)} is VALID [2022-04-28 12:46:02,219 INFO L290 TraceCheckUtils]: 93: Hoare triple {88765#(<= ~counter~0 10)} assume !(0 == ~cond); {88765#(<= ~counter~0 10)} is VALID [2022-04-28 12:46:02,220 INFO L290 TraceCheckUtils]: 94: Hoare triple {88765#(<= ~counter~0 10)} assume true; {88765#(<= ~counter~0 10)} is VALID [2022-04-28 12:46:02,220 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {88765#(<= ~counter~0 10)} {88765#(<= ~counter~0 10)} #96#return; {88765#(<= ~counter~0 10)} is VALID [2022-04-28 12:46:02,221 INFO L290 TraceCheckUtils]: 96: Hoare triple {88765#(<= ~counter~0 10)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {88765#(<= ~counter~0 10)} is VALID [2022-04-28 12:46:02,222 INFO L290 TraceCheckUtils]: 97: Hoare triple {88765#(<= ~counter~0 10)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {88790#(<= ~counter~0 11)} is VALID [2022-04-28 12:46:02,222 INFO L290 TraceCheckUtils]: 98: Hoare triple {88790#(<= ~counter~0 11)} assume !!(#t~post7 < 20);havoc #t~post7; {88790#(<= ~counter~0 11)} is VALID [2022-04-28 12:46:02,222 INFO L272 TraceCheckUtils]: 99: Hoare triple {88790#(<= ~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)); {88790#(<= ~counter~0 11)} is VALID [2022-04-28 12:46:02,223 INFO L290 TraceCheckUtils]: 100: Hoare triple {88790#(<= ~counter~0 11)} ~cond := #in~cond; {88790#(<= ~counter~0 11)} is VALID [2022-04-28 12:46:02,223 INFO L290 TraceCheckUtils]: 101: Hoare triple {88790#(<= ~counter~0 11)} assume !(0 == ~cond); {88790#(<= ~counter~0 11)} is VALID [2022-04-28 12:46:02,223 INFO L290 TraceCheckUtils]: 102: Hoare triple {88790#(<= ~counter~0 11)} assume true; {88790#(<= ~counter~0 11)} is VALID [2022-04-28 12:46:02,224 INFO L284 TraceCheckUtils]: 103: Hoare quadruple {88790#(<= ~counter~0 11)} {88790#(<= ~counter~0 11)} #96#return; {88790#(<= ~counter~0 11)} is VALID [2022-04-28 12:46:02,224 INFO L290 TraceCheckUtils]: 104: Hoare triple {88790#(<= ~counter~0 11)} assume !(~r~0 > 0); {88790#(<= ~counter~0 11)} is VALID [2022-04-28 12:46:02,225 INFO L290 TraceCheckUtils]: 105: Hoare triple {88790#(<= ~counter~0 11)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {88815#(<= ~counter~0 12)} is VALID [2022-04-28 12:46:02,225 INFO L290 TraceCheckUtils]: 106: Hoare triple {88815#(<= ~counter~0 12)} assume !!(#t~post8 < 20);havoc #t~post8; {88815#(<= ~counter~0 12)} is VALID [2022-04-28 12:46:02,226 INFO L272 TraceCheckUtils]: 107: Hoare triple {88815#(<= ~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)); {88815#(<= ~counter~0 12)} is VALID [2022-04-28 12:46:02,226 INFO L290 TraceCheckUtils]: 108: Hoare triple {88815#(<= ~counter~0 12)} ~cond := #in~cond; {88815#(<= ~counter~0 12)} is VALID [2022-04-28 12:46:02,226 INFO L290 TraceCheckUtils]: 109: Hoare triple {88815#(<= ~counter~0 12)} assume !(0 == ~cond); {88815#(<= ~counter~0 12)} is VALID [2022-04-28 12:46:02,227 INFO L290 TraceCheckUtils]: 110: Hoare triple {88815#(<= ~counter~0 12)} assume true; {88815#(<= ~counter~0 12)} is VALID [2022-04-28 12:46:02,227 INFO L284 TraceCheckUtils]: 111: Hoare quadruple {88815#(<= ~counter~0 12)} {88815#(<= ~counter~0 12)} #98#return; {88815#(<= ~counter~0 12)} is VALID [2022-04-28 12:46:02,227 INFO L290 TraceCheckUtils]: 112: Hoare triple {88815#(<= ~counter~0 12)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {88815#(<= ~counter~0 12)} is VALID [2022-04-28 12:46:02,228 INFO L290 TraceCheckUtils]: 113: Hoare triple {88815#(<= ~counter~0 12)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {88840#(<= |main_#t~post8| 12)} is VALID [2022-04-28 12:46:02,228 INFO L290 TraceCheckUtils]: 114: Hoare triple {88840#(<= |main_#t~post8| 12)} assume !(#t~post8 < 20);havoc #t~post8; {88484#false} is VALID [2022-04-28 12:46:02,228 INFO L290 TraceCheckUtils]: 115: Hoare triple {88484#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {88484#false} is VALID [2022-04-28 12:46:02,228 INFO L290 TraceCheckUtils]: 116: Hoare triple {88484#false} assume !(#t~post6 < 20);havoc #t~post6; {88484#false} is VALID [2022-04-28 12:46:02,228 INFO L272 TraceCheckUtils]: 117: Hoare triple {88484#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)); {88484#false} is VALID [2022-04-28 12:46:02,229 INFO L290 TraceCheckUtils]: 118: Hoare triple {88484#false} ~cond := #in~cond; {88484#false} is VALID [2022-04-28 12:46:02,229 INFO L290 TraceCheckUtils]: 119: Hoare triple {88484#false} assume 0 == ~cond; {88484#false} is VALID [2022-04-28 12:46:02,229 INFO L290 TraceCheckUtils]: 120: Hoare triple {88484#false} assume !false; {88484#false} is VALID [2022-04-28 12:46:02,229 INFO L134 CoverageAnalysis]: Checked inductivity of 402 backedges. 28 proven. 370 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:46:02,229 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:46:02,781 INFO L290 TraceCheckUtils]: 120: Hoare triple {88484#false} assume !false; {88484#false} is VALID [2022-04-28 12:46:02,781 INFO L290 TraceCheckUtils]: 119: Hoare triple {88484#false} assume 0 == ~cond; {88484#false} is VALID [2022-04-28 12:46:02,781 INFO L290 TraceCheckUtils]: 118: Hoare triple {88484#false} ~cond := #in~cond; {88484#false} is VALID [2022-04-28 12:46:02,781 INFO L272 TraceCheckUtils]: 117: Hoare triple {88484#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)); {88484#false} is VALID [2022-04-28 12:46:02,781 INFO L290 TraceCheckUtils]: 116: Hoare triple {88484#false} assume !(#t~post6 < 20);havoc #t~post6; {88484#false} is VALID [2022-04-28 12:46:02,781 INFO L290 TraceCheckUtils]: 115: Hoare triple {88484#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {88484#false} is VALID [2022-04-28 12:46:02,782 INFO L290 TraceCheckUtils]: 114: Hoare triple {88880#(< |main_#t~post8| 20)} assume !(#t~post8 < 20);havoc #t~post8; {88484#false} is VALID [2022-04-28 12:46:02,782 INFO L290 TraceCheckUtils]: 113: Hoare triple {88884#(< ~counter~0 20)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {88880#(< |main_#t~post8| 20)} is VALID [2022-04-28 12:46:02,782 INFO L290 TraceCheckUtils]: 112: Hoare triple {88884#(< ~counter~0 20)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {88884#(< ~counter~0 20)} is VALID [2022-04-28 12:46:02,783 INFO L284 TraceCheckUtils]: 111: Hoare quadruple {88483#true} {88884#(< ~counter~0 20)} #98#return; {88884#(< ~counter~0 20)} is VALID [2022-04-28 12:46:02,783 INFO L290 TraceCheckUtils]: 110: Hoare triple {88483#true} assume true; {88483#true} is VALID [2022-04-28 12:46:02,783 INFO L290 TraceCheckUtils]: 109: Hoare triple {88483#true} assume !(0 == ~cond); {88483#true} is VALID [2022-04-28 12:46:02,783 INFO L290 TraceCheckUtils]: 108: Hoare triple {88483#true} ~cond := #in~cond; {88483#true} is VALID [2022-04-28 12:46:02,783 INFO L272 TraceCheckUtils]: 107: Hoare triple {88884#(< ~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)); {88483#true} is VALID [2022-04-28 12:46:02,783 INFO L290 TraceCheckUtils]: 106: Hoare triple {88884#(< ~counter~0 20)} assume !!(#t~post8 < 20);havoc #t~post8; {88884#(< ~counter~0 20)} is VALID [2022-04-28 12:46:02,785 INFO L290 TraceCheckUtils]: 105: Hoare triple {88909#(< ~counter~0 19)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {88884#(< ~counter~0 20)} is VALID [2022-04-28 12:46:02,785 INFO L290 TraceCheckUtils]: 104: Hoare triple {88909#(< ~counter~0 19)} assume !(~r~0 > 0); {88909#(< ~counter~0 19)} is VALID [2022-04-28 12:46:02,786 INFO L284 TraceCheckUtils]: 103: Hoare quadruple {88483#true} {88909#(< ~counter~0 19)} #96#return; {88909#(< ~counter~0 19)} is VALID [2022-04-28 12:46:02,786 INFO L290 TraceCheckUtils]: 102: Hoare triple {88483#true} assume true; {88483#true} is VALID [2022-04-28 12:46:02,786 INFO L290 TraceCheckUtils]: 101: Hoare triple {88483#true} assume !(0 == ~cond); {88483#true} is VALID [2022-04-28 12:46:02,786 INFO L290 TraceCheckUtils]: 100: Hoare triple {88483#true} ~cond := #in~cond; {88483#true} is VALID [2022-04-28 12:46:02,786 INFO L272 TraceCheckUtils]: 99: Hoare triple {88909#(< ~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)); {88483#true} is VALID [2022-04-28 12:46:02,786 INFO L290 TraceCheckUtils]: 98: Hoare triple {88909#(< ~counter~0 19)} assume !!(#t~post7 < 20);havoc #t~post7; {88909#(< ~counter~0 19)} is VALID [2022-04-28 12:46:02,787 INFO L290 TraceCheckUtils]: 97: Hoare triple {88934#(< ~counter~0 18)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {88909#(< ~counter~0 19)} is VALID [2022-04-28 12:46:02,787 INFO L290 TraceCheckUtils]: 96: Hoare triple {88934#(< ~counter~0 18)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {88934#(< ~counter~0 18)} is VALID [2022-04-28 12:46:02,788 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {88483#true} {88934#(< ~counter~0 18)} #96#return; {88934#(< ~counter~0 18)} is VALID [2022-04-28 12:46:02,788 INFO L290 TraceCheckUtils]: 94: Hoare triple {88483#true} assume true; {88483#true} is VALID [2022-04-28 12:46:02,788 INFO L290 TraceCheckUtils]: 93: Hoare triple {88483#true} assume !(0 == ~cond); {88483#true} is VALID [2022-04-28 12:46:02,788 INFO L290 TraceCheckUtils]: 92: Hoare triple {88483#true} ~cond := #in~cond; {88483#true} is VALID [2022-04-28 12:46:02,788 INFO L272 TraceCheckUtils]: 91: Hoare triple {88934#(< ~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)); {88483#true} is VALID [2022-04-28 12:46:02,788 INFO L290 TraceCheckUtils]: 90: Hoare triple {88934#(< ~counter~0 18)} assume !!(#t~post7 < 20);havoc #t~post7; {88934#(< ~counter~0 18)} is VALID [2022-04-28 12:46:02,789 INFO L290 TraceCheckUtils]: 89: Hoare triple {88959#(< ~counter~0 17)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {88934#(< ~counter~0 18)} is VALID [2022-04-28 12:46:02,790 INFO L290 TraceCheckUtils]: 88: Hoare triple {88959#(< ~counter~0 17)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {88959#(< ~counter~0 17)} is VALID [2022-04-28 12:46:02,790 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {88483#true} {88959#(< ~counter~0 17)} #96#return; {88959#(< ~counter~0 17)} is VALID [2022-04-28 12:46:02,790 INFO L290 TraceCheckUtils]: 86: Hoare triple {88483#true} assume true; {88483#true} is VALID [2022-04-28 12:46:02,790 INFO L290 TraceCheckUtils]: 85: Hoare triple {88483#true} assume !(0 == ~cond); {88483#true} is VALID [2022-04-28 12:46:02,790 INFO L290 TraceCheckUtils]: 84: Hoare triple {88483#true} ~cond := #in~cond; {88483#true} is VALID [2022-04-28 12:46:02,790 INFO L272 TraceCheckUtils]: 83: Hoare triple {88959#(< ~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)); {88483#true} is VALID [2022-04-28 12:46:02,791 INFO L290 TraceCheckUtils]: 82: Hoare triple {88959#(< ~counter~0 17)} assume !!(#t~post7 < 20);havoc #t~post7; {88959#(< ~counter~0 17)} is VALID [2022-04-28 12:46:02,791 INFO L290 TraceCheckUtils]: 81: Hoare triple {88984#(< ~counter~0 16)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {88959#(< ~counter~0 17)} is VALID [2022-04-28 12:46:02,792 INFO L290 TraceCheckUtils]: 80: Hoare triple {88984#(< ~counter~0 16)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {88984#(< ~counter~0 16)} is VALID [2022-04-28 12:46:02,792 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {88483#true} {88984#(< ~counter~0 16)} #96#return; {88984#(< ~counter~0 16)} is VALID [2022-04-28 12:46:02,792 INFO L290 TraceCheckUtils]: 78: Hoare triple {88483#true} assume true; {88483#true} is VALID [2022-04-28 12:46:02,792 INFO L290 TraceCheckUtils]: 77: Hoare triple {88483#true} assume !(0 == ~cond); {88483#true} is VALID [2022-04-28 12:46:02,792 INFO L290 TraceCheckUtils]: 76: Hoare triple {88483#true} ~cond := #in~cond; {88483#true} is VALID [2022-04-28 12:46:02,792 INFO L272 TraceCheckUtils]: 75: Hoare triple {88984#(< ~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)); {88483#true} is VALID [2022-04-28 12:46:02,793 INFO L290 TraceCheckUtils]: 74: Hoare triple {88984#(< ~counter~0 16)} assume !!(#t~post7 < 20);havoc #t~post7; {88984#(< ~counter~0 16)} is VALID [2022-04-28 12:46:02,793 INFO L290 TraceCheckUtils]: 73: Hoare triple {89009#(< ~counter~0 15)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {88984#(< ~counter~0 16)} is VALID [2022-04-28 12:46:02,794 INFO L290 TraceCheckUtils]: 72: Hoare triple {89009#(< ~counter~0 15)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {89009#(< ~counter~0 15)} is VALID [2022-04-28 12:46:02,794 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {88483#true} {89009#(< ~counter~0 15)} #96#return; {89009#(< ~counter~0 15)} is VALID [2022-04-28 12:46:02,794 INFO L290 TraceCheckUtils]: 70: Hoare triple {88483#true} assume true; {88483#true} is VALID [2022-04-28 12:46:02,794 INFO L290 TraceCheckUtils]: 69: Hoare triple {88483#true} assume !(0 == ~cond); {88483#true} is VALID [2022-04-28 12:46:02,794 INFO L290 TraceCheckUtils]: 68: Hoare triple {88483#true} ~cond := #in~cond; {88483#true} is VALID [2022-04-28 12:46:02,794 INFO L272 TraceCheckUtils]: 67: Hoare triple {89009#(< ~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)); {88483#true} is VALID [2022-04-28 12:46:02,795 INFO L290 TraceCheckUtils]: 66: Hoare triple {89009#(< ~counter~0 15)} assume !!(#t~post7 < 20);havoc #t~post7; {89009#(< ~counter~0 15)} is VALID [2022-04-28 12:46:02,796 INFO L290 TraceCheckUtils]: 65: Hoare triple {89034#(< ~counter~0 14)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {89009#(< ~counter~0 15)} is VALID [2022-04-28 12:46:02,796 INFO L290 TraceCheckUtils]: 64: Hoare triple {89034#(< ~counter~0 14)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {89034#(< ~counter~0 14)} is VALID [2022-04-28 12:46:02,796 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {88483#true} {89034#(< ~counter~0 14)} #96#return; {89034#(< ~counter~0 14)} is VALID [2022-04-28 12:46:02,796 INFO L290 TraceCheckUtils]: 62: Hoare triple {88483#true} assume true; {88483#true} is VALID [2022-04-28 12:46:02,796 INFO L290 TraceCheckUtils]: 61: Hoare triple {88483#true} assume !(0 == ~cond); {88483#true} is VALID [2022-04-28 12:46:02,797 INFO L290 TraceCheckUtils]: 60: Hoare triple {88483#true} ~cond := #in~cond; {88483#true} is VALID [2022-04-28 12:46:02,797 INFO L272 TraceCheckUtils]: 59: Hoare triple {89034#(< ~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)); {88483#true} is VALID [2022-04-28 12:46:02,797 INFO L290 TraceCheckUtils]: 58: Hoare triple {89034#(< ~counter~0 14)} assume !!(#t~post7 < 20);havoc #t~post7; {89034#(< ~counter~0 14)} is VALID [2022-04-28 12:46:02,798 INFO L290 TraceCheckUtils]: 57: Hoare triple {88815#(<= ~counter~0 12)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {89034#(< ~counter~0 14)} is VALID [2022-04-28 12:46:02,798 INFO L290 TraceCheckUtils]: 56: Hoare triple {88815#(<= ~counter~0 12)} assume !!(0 != ~r~0); {88815#(<= ~counter~0 12)} is VALID [2022-04-28 12:46:02,798 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {88483#true} {88815#(<= ~counter~0 12)} #94#return; {88815#(<= ~counter~0 12)} is VALID [2022-04-28 12:46:02,798 INFO L290 TraceCheckUtils]: 54: Hoare triple {88483#true} assume true; {88483#true} is VALID [2022-04-28 12:46:02,799 INFO L290 TraceCheckUtils]: 53: Hoare triple {88483#true} assume !(0 == ~cond); {88483#true} is VALID [2022-04-28 12:46:02,799 INFO L290 TraceCheckUtils]: 52: Hoare triple {88483#true} ~cond := #in~cond; {88483#true} is VALID [2022-04-28 12:46:02,799 INFO L272 TraceCheckUtils]: 51: Hoare triple {88815#(<= ~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)); {88483#true} is VALID [2022-04-28 12:46:02,799 INFO L290 TraceCheckUtils]: 50: Hoare triple {88815#(<= ~counter~0 12)} assume !!(#t~post6 < 20);havoc #t~post6; {88815#(<= ~counter~0 12)} is VALID [2022-04-28 12:46:02,800 INFO L290 TraceCheckUtils]: 49: Hoare triple {88790#(<= ~counter~0 11)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {88815#(<= ~counter~0 12)} is VALID [2022-04-28 12:46:02,800 INFO L290 TraceCheckUtils]: 48: Hoare triple {88790#(<= ~counter~0 11)} assume !(~r~0 < 0); {88790#(<= ~counter~0 11)} is VALID [2022-04-28 12:46:02,800 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {88483#true} {88790#(<= ~counter~0 11)} #98#return; {88790#(<= ~counter~0 11)} is VALID [2022-04-28 12:46:02,801 INFO L290 TraceCheckUtils]: 46: Hoare triple {88483#true} assume true; {88483#true} is VALID [2022-04-28 12:46:02,801 INFO L290 TraceCheckUtils]: 45: Hoare triple {88483#true} assume !(0 == ~cond); {88483#true} is VALID [2022-04-28 12:46:02,801 INFO L290 TraceCheckUtils]: 44: Hoare triple {88483#true} ~cond := #in~cond; {88483#true} is VALID [2022-04-28 12:46:02,801 INFO L272 TraceCheckUtils]: 43: Hoare triple {88790#(<= ~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)); {88483#true} is VALID [2022-04-28 12:46:02,801 INFO L290 TraceCheckUtils]: 42: Hoare triple {88790#(<= ~counter~0 11)} assume !!(#t~post8 < 20);havoc #t~post8; {88790#(<= ~counter~0 11)} is VALID [2022-04-28 12:46:02,802 INFO L290 TraceCheckUtils]: 41: Hoare triple {88765#(<= ~counter~0 10)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {88790#(<= ~counter~0 11)} is VALID [2022-04-28 12:46:02,802 INFO L290 TraceCheckUtils]: 40: Hoare triple {88765#(<= ~counter~0 10)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {88765#(<= ~counter~0 10)} is VALID [2022-04-28 12:46:02,802 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {88483#true} {88765#(<= ~counter~0 10)} #98#return; {88765#(<= ~counter~0 10)} is VALID [2022-04-28 12:46:02,803 INFO L290 TraceCheckUtils]: 38: Hoare triple {88483#true} assume true; {88483#true} is VALID [2022-04-28 12:46:02,803 INFO L290 TraceCheckUtils]: 37: Hoare triple {88483#true} assume !(0 == ~cond); {88483#true} is VALID [2022-04-28 12:46:02,803 INFO L290 TraceCheckUtils]: 36: Hoare triple {88483#true} ~cond := #in~cond; {88483#true} is VALID [2022-04-28 12:46:02,803 INFO L272 TraceCheckUtils]: 35: Hoare triple {88765#(<= ~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)); {88483#true} is VALID [2022-04-28 12:46:02,803 INFO L290 TraceCheckUtils]: 34: Hoare triple {88765#(<= ~counter~0 10)} assume !!(#t~post8 < 20);havoc #t~post8; {88765#(<= ~counter~0 10)} is VALID [2022-04-28 12:46:02,804 INFO L290 TraceCheckUtils]: 33: Hoare triple {88740#(<= ~counter~0 9)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {88765#(<= ~counter~0 10)} is VALID [2022-04-28 12:46:02,804 INFO L290 TraceCheckUtils]: 32: Hoare triple {88740#(<= ~counter~0 9)} assume !(~r~0 > 0); {88740#(<= ~counter~0 9)} is VALID [2022-04-28 12:46:02,805 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {88483#true} {88740#(<= ~counter~0 9)} #96#return; {88740#(<= ~counter~0 9)} is VALID [2022-04-28 12:46:02,805 INFO L290 TraceCheckUtils]: 30: Hoare triple {88483#true} assume true; {88483#true} is VALID [2022-04-28 12:46:02,805 INFO L290 TraceCheckUtils]: 29: Hoare triple {88483#true} assume !(0 == ~cond); {88483#true} is VALID [2022-04-28 12:46:02,805 INFO L290 TraceCheckUtils]: 28: Hoare triple {88483#true} ~cond := #in~cond; {88483#true} is VALID [2022-04-28 12:46:02,805 INFO L272 TraceCheckUtils]: 27: Hoare triple {88740#(<= ~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)); {88483#true} is VALID [2022-04-28 12:46:02,805 INFO L290 TraceCheckUtils]: 26: Hoare triple {88740#(<= ~counter~0 9)} assume !!(#t~post7 < 20);havoc #t~post7; {88740#(<= ~counter~0 9)} is VALID [2022-04-28 12:46:02,806 INFO L290 TraceCheckUtils]: 25: Hoare triple {88715#(<= ~counter~0 8)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {88740#(<= ~counter~0 9)} is VALID [2022-04-28 12:46:02,806 INFO L290 TraceCheckUtils]: 24: Hoare triple {88715#(<= ~counter~0 8)} assume !!(0 != ~r~0); {88715#(<= ~counter~0 8)} is VALID [2022-04-28 12:46:02,807 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {88483#true} {88715#(<= ~counter~0 8)} #94#return; {88715#(<= ~counter~0 8)} is VALID [2022-04-28 12:46:02,807 INFO L290 TraceCheckUtils]: 22: Hoare triple {88483#true} assume true; {88483#true} is VALID [2022-04-28 12:46:02,807 INFO L290 TraceCheckUtils]: 21: Hoare triple {88483#true} assume !(0 == ~cond); {88483#true} is VALID [2022-04-28 12:46:02,807 INFO L290 TraceCheckUtils]: 20: Hoare triple {88483#true} ~cond := #in~cond; {88483#true} is VALID [2022-04-28 12:46:02,807 INFO L272 TraceCheckUtils]: 19: Hoare triple {88715#(<= ~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)); {88483#true} is VALID [2022-04-28 12:46:02,807 INFO L290 TraceCheckUtils]: 18: Hoare triple {88715#(<= ~counter~0 8)} assume !!(#t~post6 < 20);havoc #t~post6; {88715#(<= ~counter~0 8)} is VALID [2022-04-28 12:46:02,809 INFO L290 TraceCheckUtils]: 17: Hoare triple {88690#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {88715#(<= ~counter~0 8)} is VALID [2022-04-28 12:46:02,809 INFO L290 TraceCheckUtils]: 16: Hoare triple {88690#(<= ~counter~0 7)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {88690#(<= ~counter~0 7)} is VALID [2022-04-28 12:46:02,810 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {88483#true} {88690#(<= ~counter~0 7)} #92#return; {88690#(<= ~counter~0 7)} is VALID [2022-04-28 12:46:02,810 INFO L290 TraceCheckUtils]: 14: Hoare triple {88483#true} assume true; {88483#true} is VALID [2022-04-28 12:46:02,810 INFO L290 TraceCheckUtils]: 13: Hoare triple {88483#true} assume !(0 == ~cond); {88483#true} is VALID [2022-04-28 12:46:02,810 INFO L290 TraceCheckUtils]: 12: Hoare triple {88483#true} ~cond := #in~cond; {88483#true} is VALID [2022-04-28 12:46:02,810 INFO L272 TraceCheckUtils]: 11: Hoare triple {88690#(<= ~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)); {88483#true} is VALID [2022-04-28 12:46:02,810 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {88483#true} {88690#(<= ~counter~0 7)} #90#return; {88690#(<= ~counter~0 7)} is VALID [2022-04-28 12:46:02,810 INFO L290 TraceCheckUtils]: 9: Hoare triple {88483#true} assume true; {88483#true} is VALID [2022-04-28 12:46:02,811 INFO L290 TraceCheckUtils]: 8: Hoare triple {88483#true} assume !(0 == ~cond); {88483#true} is VALID [2022-04-28 12:46:02,811 INFO L290 TraceCheckUtils]: 7: Hoare triple {88483#true} ~cond := #in~cond; {88483#true} is VALID [2022-04-28 12:46:02,811 INFO L272 TraceCheckUtils]: 6: Hoare triple {88690#(<= ~counter~0 7)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {88483#true} is VALID [2022-04-28 12:46:02,811 INFO L290 TraceCheckUtils]: 5: Hoare triple {88690#(<= ~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; {88690#(<= ~counter~0 7)} is VALID [2022-04-28 12:46:02,811 INFO L272 TraceCheckUtils]: 4: Hoare triple {88690#(<= ~counter~0 7)} call #t~ret9 := main(); {88690#(<= ~counter~0 7)} is VALID [2022-04-28 12:46:02,812 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {88690#(<= ~counter~0 7)} {88483#true} #102#return; {88690#(<= ~counter~0 7)} is VALID [2022-04-28 12:46:02,812 INFO L290 TraceCheckUtils]: 2: Hoare triple {88690#(<= ~counter~0 7)} assume true; {88690#(<= ~counter~0 7)} is VALID [2022-04-28 12:46:02,813 INFO L290 TraceCheckUtils]: 1: Hoare triple {88483#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; {88690#(<= ~counter~0 7)} is VALID [2022-04-28 12:46:02,813 INFO L272 TraceCheckUtils]: 0: Hoare triple {88483#true} call ULTIMATE.init(); {88483#true} is VALID [2022-04-28 12:46:02,813 INFO L134 CoverageAnalysis]: Checked inductivity of 402 backedges. 28 proven. 106 refuted. 0 times theorem prover too weak. 268 trivial. 0 not checked. [2022-04-28 12:46:02,813 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:46:02,813 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1013692403] [2022-04-28 12:46:02,813 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:46:02,813 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1836971080] [2022-04-28 12:46:02,813 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1836971080] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:46:02,814 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:46:02,814 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 16] total 24 [2022-04-28 12:46:02,814 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:46:02,814 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [298295653] [2022-04-28 12:46:02,814 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [298295653] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:46:02,814 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:46:02,814 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-28 12:46:02,814 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [985197981] [2022-04-28 12:46:02,814 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:46:02,814 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 5.375) internal successors, (86), 15 states have internal predecessors, (86), 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 121 [2022-04-28 12:46:02,815 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:46:02,815 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 16 states have (on average 5.375) internal successors, (86), 15 states have internal predecessors, (86), 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:46:02,908 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 118 edges. 118 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:46:02,908 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-28 12:46:02,908 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:46:02,908 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-28 12:46:02,909 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=236, Invalid=316, Unknown=0, NotChecked=0, Total=552 [2022-04-28 12:46:02,909 INFO L87 Difference]: Start difference. First operand 652 states and 868 transitions. Second operand has 16 states, 16 states have (on average 5.375) internal successors, (86), 15 states have internal predecessors, (86), 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:46:05,769 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:46:05,769 INFO L93 Difference]: Finished difference Result 877 states and 1204 transitions. [2022-04-28 12:46:05,769 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2022-04-28 12:46:05,769 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 5.375) internal successors, (86), 15 states have internal predecessors, (86), 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 121 [2022-04-28 12:46:05,769 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:46:05,769 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 5.375) internal successors, (86), 15 states have internal predecessors, (86), 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:46:05,771 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 276 transitions. [2022-04-28 12:46:05,771 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 5.375) internal successors, (86), 15 states have internal predecessors, (86), 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:46:05,773 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 276 transitions. [2022-04-28 12:46:05,773 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 26 states and 276 transitions. [2022-04-28 12:46:06,002 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 276 edges. 276 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:46:06,020 INFO L225 Difference]: With dead ends: 877 [2022-04-28 12:46:06,021 INFO L226 Difference]: Without dead ends: 680 [2022-04-28 12:46:06,021 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 251 GetRequests, 218 SyntacticMatches, 1 SemanticMatches, 32 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 83 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=446, Invalid=676, Unknown=0, NotChecked=0, Total=1122 [2022-04-28 12:46:06,022 INFO L413 NwaCegarLoop]: 66 mSDtfsCounter, 169 mSDsluCounter, 224 mSDsCounter, 0 mSdLazyCounter, 170 mSolverCounterSat, 152 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 169 SdHoareTripleChecker+Valid, 290 SdHoareTripleChecker+Invalid, 322 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 152 IncrementalHoareTripleChecker+Valid, 170 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 12:46:06,022 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [169 Valid, 290 Invalid, 322 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [152 Valid, 170 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 12:46:06,022 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 680 states. [2022-04-28 12:46:07,815 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 680 to 670. [2022-04-28 12:46:07,815 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:46:07,816 INFO L82 GeneralOperation]: Start isEquivalent. First operand 680 states. Second operand has 670 states, 505 states have (on average 1.2118811881188118) internal successors, (612), 509 states have internal predecessors, (612), 140 states have call successors, (140), 26 states have call predecessors, (140), 24 states have return successors, (138), 134 states have call predecessors, (138), 138 states have call successors, (138) [2022-04-28 12:46:07,816 INFO L74 IsIncluded]: Start isIncluded. First operand 680 states. Second operand has 670 states, 505 states have (on average 1.2118811881188118) internal successors, (612), 509 states have internal predecessors, (612), 140 states have call successors, (140), 26 states have call predecessors, (140), 24 states have return successors, (138), 134 states have call predecessors, (138), 138 states have call successors, (138) [2022-04-28 12:46:07,816 INFO L87 Difference]: Start difference. First operand 680 states. Second operand has 670 states, 505 states have (on average 1.2118811881188118) internal successors, (612), 509 states have internal predecessors, (612), 140 states have call successors, (140), 26 states have call predecessors, (140), 24 states have return successors, (138), 134 states have call predecessors, (138), 138 states have call successors, (138) [2022-04-28 12:46:07,831 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:46:07,831 INFO L93 Difference]: Finished difference Result 680 states and 900 transitions. [2022-04-28 12:46:07,831 INFO L276 IsEmpty]: Start isEmpty. Operand 680 states and 900 transitions. [2022-04-28 12:46:07,832 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:46:07,832 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:46:07,832 INFO L74 IsIncluded]: Start isIncluded. First operand has 670 states, 505 states have (on average 1.2118811881188118) internal successors, (612), 509 states have internal predecessors, (612), 140 states have call successors, (140), 26 states have call predecessors, (140), 24 states have return successors, (138), 134 states have call predecessors, (138), 138 states have call successors, (138) Second operand 680 states. [2022-04-28 12:46:07,833 INFO L87 Difference]: Start difference. First operand has 670 states, 505 states have (on average 1.2118811881188118) internal successors, (612), 509 states have internal predecessors, (612), 140 states have call successors, (140), 26 states have call predecessors, (140), 24 states have return successors, (138), 134 states have call predecessors, (138), 138 states have call successors, (138) Second operand 680 states. [2022-04-28 12:46:07,848 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:46:07,848 INFO L93 Difference]: Finished difference Result 680 states and 900 transitions. [2022-04-28 12:46:07,848 INFO L276 IsEmpty]: Start isEmpty. Operand 680 states and 900 transitions. [2022-04-28 12:46:07,848 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:46:07,848 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:46:07,848 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:46:07,849 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:46:07,849 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 670 states, 505 states have (on average 1.2118811881188118) internal successors, (612), 509 states have internal predecessors, (612), 140 states have call successors, (140), 26 states have call predecessors, (140), 24 states have return successors, (138), 134 states have call predecessors, (138), 138 states have call successors, (138) [2022-04-28 12:46:07,869 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 670 states to 670 states and 890 transitions. [2022-04-28 12:46:07,869 INFO L78 Accepts]: Start accepts. Automaton has 670 states and 890 transitions. Word has length 121 [2022-04-28 12:46:07,869 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:46:07,869 INFO L495 AbstractCegarLoop]: Abstraction has 670 states and 890 transitions. [2022-04-28 12:46:07,869 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 16 states have (on average 5.375) internal successors, (86), 15 states have internal predecessors, (86), 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:46:07,869 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 670 states and 890 transitions. [2022-04-28 12:46:27,321 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 890 edges. 885 inductive. 0 not inductive. 5 times theorem prover too weak to decide inductivity. [2022-04-28 12:46:27,322 INFO L276 IsEmpty]: Start isEmpty. Operand 670 states and 890 transitions. [2022-04-28 12:46:27,322 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 124 [2022-04-28 12:46:27,323 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:46:27,323 INFO L195 NwaCegarLoop]: trace histogram [13, 12, 12, 6, 5, 5, 5, 5, 4, 4, 4, 4, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:46:27,329 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (41)] Forceful destruction successful, exit code 0 [2022-04-28 12:46:27,523 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 41 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable39 [2022-04-28 12:46:27,523 INFO L420 AbstractCegarLoop]: === Iteration 41 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:46:27,523 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:46:27,524 INFO L85 PathProgramCache]: Analyzing trace with hash 487500267, now seen corresponding path program 15 times [2022-04-28 12:46:27,524 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:46:27,524 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [942955026] [2022-04-28 12:46:27,524 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:46:27,524 INFO L85 PathProgramCache]: Analyzing trace with hash 487500267, now seen corresponding path program 16 times [2022-04-28 12:46:27,524 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:46:27,524 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1935991407] [2022-04-28 12:46:27,524 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:46:27,524 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:46:27,535 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:46:27,535 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [779286254] [2022-04-28 12:46:27,535 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:46:27,535 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:46:27,535 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:46:27,536 INFO L229 MonitoredProcess]: Starting monitored process 42 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:46:27,537 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (42)] Waiting until timeout for monitored process [2022-04-28 12:46:27,647 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:46:27,648 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:46:27,649 INFO L263 TraceCheckSpWp]: Trace formula consists of 303 conjuncts, 29 conjunts are in the unsatisfiable core [2022-04-28 12:46:27,669 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:46:27,671 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:46:28,210 INFO L272 TraceCheckUtils]: 0: Hoare triple {93706#true} call ULTIMATE.init(); {93706#true} is VALID [2022-04-28 12:46:28,211 INFO L290 TraceCheckUtils]: 1: Hoare triple {93706#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; {93714#(<= ~counter~0 0)} is VALID [2022-04-28 12:46:28,211 INFO L290 TraceCheckUtils]: 2: Hoare triple {93714#(<= ~counter~0 0)} assume true; {93714#(<= ~counter~0 0)} is VALID [2022-04-28 12:46:28,212 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {93714#(<= ~counter~0 0)} {93706#true} #102#return; {93714#(<= ~counter~0 0)} is VALID [2022-04-28 12:46:28,212 INFO L272 TraceCheckUtils]: 4: Hoare triple {93714#(<= ~counter~0 0)} call #t~ret9 := main(); {93714#(<= ~counter~0 0)} is VALID [2022-04-28 12:46:28,212 INFO L290 TraceCheckUtils]: 5: Hoare triple {93714#(<= ~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; {93714#(<= ~counter~0 0)} is VALID [2022-04-28 12:46:28,213 INFO L272 TraceCheckUtils]: 6: Hoare triple {93714#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {93714#(<= ~counter~0 0)} is VALID [2022-04-28 12:46:28,213 INFO L290 TraceCheckUtils]: 7: Hoare triple {93714#(<= ~counter~0 0)} ~cond := #in~cond; {93714#(<= ~counter~0 0)} is VALID [2022-04-28 12:46:28,213 INFO L290 TraceCheckUtils]: 8: Hoare triple {93714#(<= ~counter~0 0)} assume !(0 == ~cond); {93714#(<= ~counter~0 0)} is VALID [2022-04-28 12:46:28,213 INFO L290 TraceCheckUtils]: 9: Hoare triple {93714#(<= ~counter~0 0)} assume true; {93714#(<= ~counter~0 0)} is VALID [2022-04-28 12:46:28,214 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {93714#(<= ~counter~0 0)} {93714#(<= ~counter~0 0)} #90#return; {93714#(<= ~counter~0 0)} is VALID [2022-04-28 12:46:28,214 INFO L272 TraceCheckUtils]: 11: Hoare triple {93714#(<= ~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)); {93714#(<= ~counter~0 0)} is VALID [2022-04-28 12:46:28,214 INFO L290 TraceCheckUtils]: 12: Hoare triple {93714#(<= ~counter~0 0)} ~cond := #in~cond; {93714#(<= ~counter~0 0)} is VALID [2022-04-28 12:46:28,215 INFO L290 TraceCheckUtils]: 13: Hoare triple {93714#(<= ~counter~0 0)} assume !(0 == ~cond); {93714#(<= ~counter~0 0)} is VALID [2022-04-28 12:46:28,215 INFO L290 TraceCheckUtils]: 14: Hoare triple {93714#(<= ~counter~0 0)} assume true; {93714#(<= ~counter~0 0)} is VALID [2022-04-28 12:46:28,215 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {93714#(<= ~counter~0 0)} {93714#(<= ~counter~0 0)} #92#return; {93714#(<= ~counter~0 0)} is VALID [2022-04-28 12:46:28,215 INFO L290 TraceCheckUtils]: 16: Hoare triple {93714#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {93714#(<= ~counter~0 0)} is VALID [2022-04-28 12:46:28,217 INFO L290 TraceCheckUtils]: 17: Hoare triple {93714#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {93763#(<= ~counter~0 1)} is VALID [2022-04-28 12:46:28,218 INFO L290 TraceCheckUtils]: 18: Hoare triple {93763#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {93763#(<= ~counter~0 1)} is VALID [2022-04-28 12:46:28,218 INFO L272 TraceCheckUtils]: 19: Hoare triple {93763#(<= ~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)); {93763#(<= ~counter~0 1)} is VALID [2022-04-28 12:46:28,218 INFO L290 TraceCheckUtils]: 20: Hoare triple {93763#(<= ~counter~0 1)} ~cond := #in~cond; {93763#(<= ~counter~0 1)} is VALID [2022-04-28 12:46:28,219 INFO L290 TraceCheckUtils]: 21: Hoare triple {93763#(<= ~counter~0 1)} assume !(0 == ~cond); {93763#(<= ~counter~0 1)} is VALID [2022-04-28 12:46:28,219 INFO L290 TraceCheckUtils]: 22: Hoare triple {93763#(<= ~counter~0 1)} assume true; {93763#(<= ~counter~0 1)} is VALID [2022-04-28 12:46:28,219 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {93763#(<= ~counter~0 1)} {93763#(<= ~counter~0 1)} #94#return; {93763#(<= ~counter~0 1)} is VALID [2022-04-28 12:46:28,220 INFO L290 TraceCheckUtils]: 24: Hoare triple {93763#(<= ~counter~0 1)} assume !!(0 != ~r~0); {93763#(<= ~counter~0 1)} is VALID [2022-04-28 12:46:28,220 INFO L290 TraceCheckUtils]: 25: Hoare triple {93763#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {93788#(<= ~counter~0 2)} is VALID [2022-04-28 12:46:28,221 INFO L290 TraceCheckUtils]: 26: Hoare triple {93788#(<= ~counter~0 2)} assume !!(#t~post7 < 20);havoc #t~post7; {93788#(<= ~counter~0 2)} is VALID [2022-04-28 12:46:28,221 INFO L272 TraceCheckUtils]: 27: Hoare triple {93788#(<= ~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)); {93788#(<= ~counter~0 2)} is VALID [2022-04-28 12:46:28,221 INFO L290 TraceCheckUtils]: 28: Hoare triple {93788#(<= ~counter~0 2)} ~cond := #in~cond; {93788#(<= ~counter~0 2)} is VALID [2022-04-28 12:46:28,222 INFO L290 TraceCheckUtils]: 29: Hoare triple {93788#(<= ~counter~0 2)} assume !(0 == ~cond); {93788#(<= ~counter~0 2)} is VALID [2022-04-28 12:46:28,222 INFO L290 TraceCheckUtils]: 30: Hoare triple {93788#(<= ~counter~0 2)} assume true; {93788#(<= ~counter~0 2)} is VALID [2022-04-28 12:46:28,222 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {93788#(<= ~counter~0 2)} {93788#(<= ~counter~0 2)} #96#return; {93788#(<= ~counter~0 2)} is VALID [2022-04-28 12:46:28,223 INFO L290 TraceCheckUtils]: 32: Hoare triple {93788#(<= ~counter~0 2)} assume !(~r~0 > 0); {93788#(<= ~counter~0 2)} is VALID [2022-04-28 12:46:28,224 INFO L290 TraceCheckUtils]: 33: Hoare triple {93788#(<= ~counter~0 2)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {93813#(<= ~counter~0 3)} is VALID [2022-04-28 12:46:28,224 INFO L290 TraceCheckUtils]: 34: Hoare triple {93813#(<= ~counter~0 3)} assume !!(#t~post8 < 20);havoc #t~post8; {93813#(<= ~counter~0 3)} is VALID [2022-04-28 12:46:28,224 INFO L272 TraceCheckUtils]: 35: Hoare triple {93813#(<= ~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)); {93813#(<= ~counter~0 3)} is VALID [2022-04-28 12:46:28,224 INFO L290 TraceCheckUtils]: 36: Hoare triple {93813#(<= ~counter~0 3)} ~cond := #in~cond; {93813#(<= ~counter~0 3)} is VALID [2022-04-28 12:46:28,225 INFO L290 TraceCheckUtils]: 37: Hoare triple {93813#(<= ~counter~0 3)} assume !(0 == ~cond); {93813#(<= ~counter~0 3)} is VALID [2022-04-28 12:46:28,225 INFO L290 TraceCheckUtils]: 38: Hoare triple {93813#(<= ~counter~0 3)} assume true; {93813#(<= ~counter~0 3)} is VALID [2022-04-28 12:46:28,225 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {93813#(<= ~counter~0 3)} {93813#(<= ~counter~0 3)} #98#return; {93813#(<= ~counter~0 3)} is VALID [2022-04-28 12:46:28,226 INFO L290 TraceCheckUtils]: 40: Hoare triple {93813#(<= ~counter~0 3)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {93813#(<= ~counter~0 3)} is VALID [2022-04-28 12:46:28,226 INFO L290 TraceCheckUtils]: 41: Hoare triple {93813#(<= ~counter~0 3)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {93838#(<= ~counter~0 4)} is VALID [2022-04-28 12:46:28,227 INFO L290 TraceCheckUtils]: 42: Hoare triple {93838#(<= ~counter~0 4)} assume !!(#t~post8 < 20);havoc #t~post8; {93838#(<= ~counter~0 4)} is VALID [2022-04-28 12:46:28,227 INFO L272 TraceCheckUtils]: 43: Hoare triple {93838#(<= ~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)); {93838#(<= ~counter~0 4)} is VALID [2022-04-28 12:46:28,227 INFO L290 TraceCheckUtils]: 44: Hoare triple {93838#(<= ~counter~0 4)} ~cond := #in~cond; {93838#(<= ~counter~0 4)} is VALID [2022-04-28 12:46:28,228 INFO L290 TraceCheckUtils]: 45: Hoare triple {93838#(<= ~counter~0 4)} assume !(0 == ~cond); {93838#(<= ~counter~0 4)} is VALID [2022-04-28 12:46:28,228 INFO L290 TraceCheckUtils]: 46: Hoare triple {93838#(<= ~counter~0 4)} assume true; {93838#(<= ~counter~0 4)} is VALID [2022-04-28 12:46:28,228 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {93838#(<= ~counter~0 4)} {93838#(<= ~counter~0 4)} #98#return; {93838#(<= ~counter~0 4)} is VALID [2022-04-28 12:46:28,229 INFO L290 TraceCheckUtils]: 48: Hoare triple {93838#(<= ~counter~0 4)} assume !(~r~0 < 0); {93838#(<= ~counter~0 4)} is VALID [2022-04-28 12:46:28,230 INFO L290 TraceCheckUtils]: 49: Hoare triple {93838#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {93863#(<= ~counter~0 5)} is VALID [2022-04-28 12:46:28,230 INFO L290 TraceCheckUtils]: 50: Hoare triple {93863#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {93863#(<= ~counter~0 5)} is VALID [2022-04-28 12:46:28,230 INFO L272 TraceCheckUtils]: 51: Hoare triple {93863#(<= ~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)); {93863#(<= ~counter~0 5)} is VALID [2022-04-28 12:46:28,231 INFO L290 TraceCheckUtils]: 52: Hoare triple {93863#(<= ~counter~0 5)} ~cond := #in~cond; {93863#(<= ~counter~0 5)} is VALID [2022-04-28 12:46:28,231 INFO L290 TraceCheckUtils]: 53: Hoare triple {93863#(<= ~counter~0 5)} assume !(0 == ~cond); {93863#(<= ~counter~0 5)} is VALID [2022-04-28 12:46:28,231 INFO L290 TraceCheckUtils]: 54: Hoare triple {93863#(<= ~counter~0 5)} assume true; {93863#(<= ~counter~0 5)} is VALID [2022-04-28 12:46:28,231 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {93863#(<= ~counter~0 5)} {93863#(<= ~counter~0 5)} #94#return; {93863#(<= ~counter~0 5)} is VALID [2022-04-28 12:46:28,232 INFO L290 TraceCheckUtils]: 56: Hoare triple {93863#(<= ~counter~0 5)} assume !!(0 != ~r~0); {93863#(<= ~counter~0 5)} is VALID [2022-04-28 12:46:28,233 INFO L290 TraceCheckUtils]: 57: Hoare triple {93863#(<= ~counter~0 5)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {93888#(<= ~counter~0 6)} is VALID [2022-04-28 12:46:28,233 INFO L290 TraceCheckUtils]: 58: Hoare triple {93888#(<= ~counter~0 6)} assume !!(#t~post7 < 20);havoc #t~post7; {93888#(<= ~counter~0 6)} is VALID [2022-04-28 12:46:28,233 INFO L272 TraceCheckUtils]: 59: Hoare triple {93888#(<= ~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)); {93888#(<= ~counter~0 6)} is VALID [2022-04-28 12:46:28,234 INFO L290 TraceCheckUtils]: 60: Hoare triple {93888#(<= ~counter~0 6)} ~cond := #in~cond; {93888#(<= ~counter~0 6)} is VALID [2022-04-28 12:46:28,234 INFO L290 TraceCheckUtils]: 61: Hoare triple {93888#(<= ~counter~0 6)} assume !(0 == ~cond); {93888#(<= ~counter~0 6)} is VALID [2022-04-28 12:46:28,234 INFO L290 TraceCheckUtils]: 62: Hoare triple {93888#(<= ~counter~0 6)} assume true; {93888#(<= ~counter~0 6)} is VALID [2022-04-28 12:46:28,235 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {93888#(<= ~counter~0 6)} {93888#(<= ~counter~0 6)} #96#return; {93888#(<= ~counter~0 6)} is VALID [2022-04-28 12:46:28,235 INFO L290 TraceCheckUtils]: 64: Hoare triple {93888#(<= ~counter~0 6)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {93888#(<= ~counter~0 6)} is VALID [2022-04-28 12:46:28,236 INFO L290 TraceCheckUtils]: 65: Hoare triple {93888#(<= ~counter~0 6)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {93913#(<= ~counter~0 7)} is VALID [2022-04-28 12:46:28,236 INFO L290 TraceCheckUtils]: 66: Hoare triple {93913#(<= ~counter~0 7)} assume !!(#t~post7 < 20);havoc #t~post7; {93913#(<= ~counter~0 7)} is VALID [2022-04-28 12:46:28,236 INFO L272 TraceCheckUtils]: 67: Hoare triple {93913#(<= ~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)); {93913#(<= ~counter~0 7)} is VALID [2022-04-28 12:46:28,237 INFO L290 TraceCheckUtils]: 68: Hoare triple {93913#(<= ~counter~0 7)} ~cond := #in~cond; {93913#(<= ~counter~0 7)} is VALID [2022-04-28 12:46:28,237 INFO L290 TraceCheckUtils]: 69: Hoare triple {93913#(<= ~counter~0 7)} assume !(0 == ~cond); {93913#(<= ~counter~0 7)} is VALID [2022-04-28 12:46:28,237 INFO L290 TraceCheckUtils]: 70: Hoare triple {93913#(<= ~counter~0 7)} assume true; {93913#(<= ~counter~0 7)} is VALID [2022-04-28 12:46:28,238 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {93913#(<= ~counter~0 7)} {93913#(<= ~counter~0 7)} #96#return; {93913#(<= ~counter~0 7)} is VALID [2022-04-28 12:46:28,238 INFO L290 TraceCheckUtils]: 72: Hoare triple {93913#(<= ~counter~0 7)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {93913#(<= ~counter~0 7)} is VALID [2022-04-28 12:46:28,239 INFO L290 TraceCheckUtils]: 73: Hoare triple {93913#(<= ~counter~0 7)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {93938#(<= ~counter~0 8)} is VALID [2022-04-28 12:46:28,239 INFO L290 TraceCheckUtils]: 74: Hoare triple {93938#(<= ~counter~0 8)} assume !!(#t~post7 < 20);havoc #t~post7; {93938#(<= ~counter~0 8)} is VALID [2022-04-28 12:46:28,240 INFO L272 TraceCheckUtils]: 75: Hoare triple {93938#(<= ~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)); {93938#(<= ~counter~0 8)} is VALID [2022-04-28 12:46:28,240 INFO L290 TraceCheckUtils]: 76: Hoare triple {93938#(<= ~counter~0 8)} ~cond := #in~cond; {93938#(<= ~counter~0 8)} is VALID [2022-04-28 12:46:28,241 INFO L290 TraceCheckUtils]: 77: Hoare triple {93938#(<= ~counter~0 8)} assume !(0 == ~cond); {93938#(<= ~counter~0 8)} is VALID [2022-04-28 12:46:28,241 INFO L290 TraceCheckUtils]: 78: Hoare triple {93938#(<= ~counter~0 8)} assume true; {93938#(<= ~counter~0 8)} is VALID [2022-04-28 12:46:28,241 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {93938#(<= ~counter~0 8)} {93938#(<= ~counter~0 8)} #96#return; {93938#(<= ~counter~0 8)} is VALID [2022-04-28 12:46:28,242 INFO L290 TraceCheckUtils]: 80: Hoare triple {93938#(<= ~counter~0 8)} assume !(~r~0 > 0); {93938#(<= ~counter~0 8)} is VALID [2022-04-28 12:46:28,243 INFO L290 TraceCheckUtils]: 81: Hoare triple {93938#(<= ~counter~0 8)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {93963#(<= ~counter~0 9)} is VALID [2022-04-28 12:46:28,243 INFO L290 TraceCheckUtils]: 82: Hoare triple {93963#(<= ~counter~0 9)} assume !!(#t~post8 < 20);havoc #t~post8; {93963#(<= ~counter~0 9)} is VALID [2022-04-28 12:46:28,244 INFO L272 TraceCheckUtils]: 83: Hoare triple {93963#(<= ~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)); {93963#(<= ~counter~0 9)} is VALID [2022-04-28 12:46:28,244 INFO L290 TraceCheckUtils]: 84: Hoare triple {93963#(<= ~counter~0 9)} ~cond := #in~cond; {93963#(<= ~counter~0 9)} is VALID [2022-04-28 12:46:28,245 INFO L290 TraceCheckUtils]: 85: Hoare triple {93963#(<= ~counter~0 9)} assume !(0 == ~cond); {93963#(<= ~counter~0 9)} is VALID [2022-04-28 12:46:28,245 INFO L290 TraceCheckUtils]: 86: Hoare triple {93963#(<= ~counter~0 9)} assume true; {93963#(<= ~counter~0 9)} is VALID [2022-04-28 12:46:28,245 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {93963#(<= ~counter~0 9)} {93963#(<= ~counter~0 9)} #98#return; {93963#(<= ~counter~0 9)} is VALID [2022-04-28 12:46:28,246 INFO L290 TraceCheckUtils]: 88: Hoare triple {93963#(<= ~counter~0 9)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {93963#(<= ~counter~0 9)} is VALID [2022-04-28 12:46:28,247 INFO L290 TraceCheckUtils]: 89: Hoare triple {93963#(<= ~counter~0 9)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {93988#(<= ~counter~0 10)} is VALID [2022-04-28 12:46:28,247 INFO L290 TraceCheckUtils]: 90: Hoare triple {93988#(<= ~counter~0 10)} assume !!(#t~post8 < 20);havoc #t~post8; {93988#(<= ~counter~0 10)} is VALID [2022-04-28 12:46:28,248 INFO L272 TraceCheckUtils]: 91: Hoare triple {93988#(<= ~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)); {93988#(<= ~counter~0 10)} is VALID [2022-04-28 12:46:28,248 INFO L290 TraceCheckUtils]: 92: Hoare triple {93988#(<= ~counter~0 10)} ~cond := #in~cond; {93988#(<= ~counter~0 10)} is VALID [2022-04-28 12:46:28,248 INFO L290 TraceCheckUtils]: 93: Hoare triple {93988#(<= ~counter~0 10)} assume !(0 == ~cond); {93988#(<= ~counter~0 10)} is VALID [2022-04-28 12:46:28,249 INFO L290 TraceCheckUtils]: 94: Hoare triple {93988#(<= ~counter~0 10)} assume true; {93988#(<= ~counter~0 10)} is VALID [2022-04-28 12:46:28,249 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {93988#(<= ~counter~0 10)} {93988#(<= ~counter~0 10)} #98#return; {93988#(<= ~counter~0 10)} is VALID [2022-04-28 12:46:28,250 INFO L290 TraceCheckUtils]: 96: Hoare triple {93988#(<= ~counter~0 10)} assume !(~r~0 < 0); {93988#(<= ~counter~0 10)} is VALID [2022-04-28 12:46:28,251 INFO L290 TraceCheckUtils]: 97: Hoare triple {93988#(<= ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {94013#(<= ~counter~0 11)} is VALID [2022-04-28 12:46:28,251 INFO L290 TraceCheckUtils]: 98: Hoare triple {94013#(<= ~counter~0 11)} assume !!(#t~post6 < 20);havoc #t~post6; {94013#(<= ~counter~0 11)} is VALID [2022-04-28 12:46:28,251 INFO L272 TraceCheckUtils]: 99: Hoare triple {94013#(<= ~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)); {94013#(<= ~counter~0 11)} is VALID [2022-04-28 12:46:28,252 INFO L290 TraceCheckUtils]: 100: Hoare triple {94013#(<= ~counter~0 11)} ~cond := #in~cond; {94013#(<= ~counter~0 11)} is VALID [2022-04-28 12:46:28,252 INFO L290 TraceCheckUtils]: 101: Hoare triple {94013#(<= ~counter~0 11)} assume !(0 == ~cond); {94013#(<= ~counter~0 11)} is VALID [2022-04-28 12:46:28,252 INFO L290 TraceCheckUtils]: 102: Hoare triple {94013#(<= ~counter~0 11)} assume true; {94013#(<= ~counter~0 11)} is VALID [2022-04-28 12:46:28,253 INFO L284 TraceCheckUtils]: 103: Hoare quadruple {94013#(<= ~counter~0 11)} {94013#(<= ~counter~0 11)} #94#return; {94013#(<= ~counter~0 11)} is VALID [2022-04-28 12:46:28,253 INFO L290 TraceCheckUtils]: 104: Hoare triple {94013#(<= ~counter~0 11)} assume !!(0 != ~r~0); {94013#(<= ~counter~0 11)} is VALID [2022-04-28 12:46:28,254 INFO L290 TraceCheckUtils]: 105: Hoare triple {94013#(<= ~counter~0 11)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {94038#(<= ~counter~0 12)} is VALID [2022-04-28 12:46:28,254 INFO L290 TraceCheckUtils]: 106: Hoare triple {94038#(<= ~counter~0 12)} assume !!(#t~post7 < 20);havoc #t~post7; {94038#(<= ~counter~0 12)} is VALID [2022-04-28 12:46:28,255 INFO L272 TraceCheckUtils]: 107: Hoare triple {94038#(<= ~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)); {94038#(<= ~counter~0 12)} is VALID [2022-04-28 12:46:28,255 INFO L290 TraceCheckUtils]: 108: Hoare triple {94038#(<= ~counter~0 12)} ~cond := #in~cond; {94038#(<= ~counter~0 12)} is VALID [2022-04-28 12:46:28,255 INFO L290 TraceCheckUtils]: 109: Hoare triple {94038#(<= ~counter~0 12)} assume !(0 == ~cond); {94038#(<= ~counter~0 12)} is VALID [2022-04-28 12:46:28,256 INFO L290 TraceCheckUtils]: 110: Hoare triple {94038#(<= ~counter~0 12)} assume true; {94038#(<= ~counter~0 12)} is VALID [2022-04-28 12:46:28,256 INFO L284 TraceCheckUtils]: 111: Hoare quadruple {94038#(<= ~counter~0 12)} {94038#(<= ~counter~0 12)} #96#return; {94038#(<= ~counter~0 12)} is VALID [2022-04-28 12:46:28,257 INFO L290 TraceCheckUtils]: 112: Hoare triple {94038#(<= ~counter~0 12)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {94038#(<= ~counter~0 12)} is VALID [2022-04-28 12:46:28,257 INFO L290 TraceCheckUtils]: 113: Hoare triple {94038#(<= ~counter~0 12)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {94063#(<= |main_#t~post7| 12)} is VALID [2022-04-28 12:46:28,257 INFO L290 TraceCheckUtils]: 114: Hoare triple {94063#(<= |main_#t~post7| 12)} assume !(#t~post7 < 20);havoc #t~post7; {93707#false} is VALID [2022-04-28 12:46:28,257 INFO L290 TraceCheckUtils]: 115: Hoare triple {93707#false} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {93707#false} is VALID [2022-04-28 12:46:28,258 INFO L290 TraceCheckUtils]: 116: Hoare triple {93707#false} assume !(#t~post8 < 20);havoc #t~post8; {93707#false} is VALID [2022-04-28 12:46:28,258 INFO L290 TraceCheckUtils]: 117: Hoare triple {93707#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {93707#false} is VALID [2022-04-28 12:46:28,258 INFO L290 TraceCheckUtils]: 118: Hoare triple {93707#false} assume !(#t~post6 < 20);havoc #t~post6; {93707#false} is VALID [2022-04-28 12:46:28,258 INFO L272 TraceCheckUtils]: 119: Hoare triple {93707#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)); {93707#false} is VALID [2022-04-28 12:46:28,258 INFO L290 TraceCheckUtils]: 120: Hoare triple {93707#false} ~cond := #in~cond; {93707#false} is VALID [2022-04-28 12:46:28,258 INFO L290 TraceCheckUtils]: 121: Hoare triple {93707#false} assume 0 == ~cond; {93707#false} is VALID [2022-04-28 12:46:28,258 INFO L290 TraceCheckUtils]: 122: Hoare triple {93707#false} assume !false; {93707#false} is VALID [2022-04-28 12:46:28,258 INFO L134 CoverageAnalysis]: Checked inductivity of 392 backedges. 38 proven. 350 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:46:28,259 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:46:28,823 INFO L290 TraceCheckUtils]: 122: Hoare triple {93707#false} assume !false; {93707#false} is VALID [2022-04-28 12:46:28,823 INFO L290 TraceCheckUtils]: 121: Hoare triple {93707#false} assume 0 == ~cond; {93707#false} is VALID [2022-04-28 12:46:28,823 INFO L290 TraceCheckUtils]: 120: Hoare triple {93707#false} ~cond := #in~cond; {93707#false} is VALID [2022-04-28 12:46:28,823 INFO L272 TraceCheckUtils]: 119: Hoare triple {93707#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)); {93707#false} is VALID [2022-04-28 12:46:28,823 INFO L290 TraceCheckUtils]: 118: Hoare triple {93707#false} assume !(#t~post6 < 20);havoc #t~post6; {93707#false} is VALID [2022-04-28 12:46:28,824 INFO L290 TraceCheckUtils]: 117: Hoare triple {93707#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {93707#false} is VALID [2022-04-28 12:46:28,824 INFO L290 TraceCheckUtils]: 116: Hoare triple {93707#false} assume !(#t~post8 < 20);havoc #t~post8; {93707#false} is VALID [2022-04-28 12:46:28,824 INFO L290 TraceCheckUtils]: 115: Hoare triple {93707#false} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {93707#false} is VALID [2022-04-28 12:46:28,824 INFO L290 TraceCheckUtils]: 114: Hoare triple {94115#(< |main_#t~post7| 20)} assume !(#t~post7 < 20);havoc #t~post7; {93707#false} is VALID [2022-04-28 12:46:28,824 INFO L290 TraceCheckUtils]: 113: Hoare triple {94119#(< ~counter~0 20)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {94115#(< |main_#t~post7| 20)} is VALID [2022-04-28 12:46:28,824 INFO L290 TraceCheckUtils]: 112: Hoare triple {94119#(< ~counter~0 20)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {94119#(< ~counter~0 20)} is VALID [2022-04-28 12:46:28,825 INFO L284 TraceCheckUtils]: 111: Hoare quadruple {93706#true} {94119#(< ~counter~0 20)} #96#return; {94119#(< ~counter~0 20)} is VALID [2022-04-28 12:46:28,825 INFO L290 TraceCheckUtils]: 110: Hoare triple {93706#true} assume true; {93706#true} is VALID [2022-04-28 12:46:28,825 INFO L290 TraceCheckUtils]: 109: Hoare triple {93706#true} assume !(0 == ~cond); {93706#true} is VALID [2022-04-28 12:46:28,825 INFO L290 TraceCheckUtils]: 108: Hoare triple {93706#true} ~cond := #in~cond; {93706#true} is VALID [2022-04-28 12:46:28,825 INFO L272 TraceCheckUtils]: 107: Hoare triple {94119#(< ~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)); {93706#true} is VALID [2022-04-28 12:46:28,826 INFO L290 TraceCheckUtils]: 106: Hoare triple {94119#(< ~counter~0 20)} assume !!(#t~post7 < 20);havoc #t~post7; {94119#(< ~counter~0 20)} is VALID [2022-04-28 12:46:28,827 INFO L290 TraceCheckUtils]: 105: Hoare triple {94144#(< ~counter~0 19)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {94119#(< ~counter~0 20)} is VALID [2022-04-28 12:46:28,828 INFO L290 TraceCheckUtils]: 104: Hoare triple {94144#(< ~counter~0 19)} assume !!(0 != ~r~0); {94144#(< ~counter~0 19)} is VALID [2022-04-28 12:46:28,828 INFO L284 TraceCheckUtils]: 103: Hoare quadruple {93706#true} {94144#(< ~counter~0 19)} #94#return; {94144#(< ~counter~0 19)} is VALID [2022-04-28 12:46:28,828 INFO L290 TraceCheckUtils]: 102: Hoare triple {93706#true} assume true; {93706#true} is VALID [2022-04-28 12:46:28,828 INFO L290 TraceCheckUtils]: 101: Hoare triple {93706#true} assume !(0 == ~cond); {93706#true} is VALID [2022-04-28 12:46:28,828 INFO L290 TraceCheckUtils]: 100: Hoare triple {93706#true} ~cond := #in~cond; {93706#true} is VALID [2022-04-28 12:46:28,828 INFO L272 TraceCheckUtils]: 99: Hoare triple {94144#(< ~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)); {93706#true} is VALID [2022-04-28 12:46:28,829 INFO L290 TraceCheckUtils]: 98: Hoare triple {94144#(< ~counter~0 19)} assume !!(#t~post6 < 20);havoc #t~post6; {94144#(< ~counter~0 19)} is VALID [2022-04-28 12:46:28,829 INFO L290 TraceCheckUtils]: 97: Hoare triple {94169#(< ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {94144#(< ~counter~0 19)} is VALID [2022-04-28 12:46:28,830 INFO L290 TraceCheckUtils]: 96: Hoare triple {94169#(< ~counter~0 18)} assume !(~r~0 < 0); {94169#(< ~counter~0 18)} is VALID [2022-04-28 12:46:28,830 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {93706#true} {94169#(< ~counter~0 18)} #98#return; {94169#(< ~counter~0 18)} is VALID [2022-04-28 12:46:28,830 INFO L290 TraceCheckUtils]: 94: Hoare triple {93706#true} assume true; {93706#true} is VALID [2022-04-28 12:46:28,830 INFO L290 TraceCheckUtils]: 93: Hoare triple {93706#true} assume !(0 == ~cond); {93706#true} is VALID [2022-04-28 12:46:28,830 INFO L290 TraceCheckUtils]: 92: Hoare triple {93706#true} ~cond := #in~cond; {93706#true} is VALID [2022-04-28 12:46:28,830 INFO L272 TraceCheckUtils]: 91: Hoare triple {94169#(< ~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)); {93706#true} is VALID [2022-04-28 12:46:28,831 INFO L290 TraceCheckUtils]: 90: Hoare triple {94169#(< ~counter~0 18)} assume !!(#t~post8 < 20);havoc #t~post8; {94169#(< ~counter~0 18)} is VALID [2022-04-28 12:46:28,832 INFO L290 TraceCheckUtils]: 89: Hoare triple {94194#(< ~counter~0 17)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {94169#(< ~counter~0 18)} is VALID [2022-04-28 12:46:28,832 INFO L290 TraceCheckUtils]: 88: Hoare triple {94194#(< ~counter~0 17)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {94194#(< ~counter~0 17)} is VALID [2022-04-28 12:46:28,832 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {93706#true} {94194#(< ~counter~0 17)} #98#return; {94194#(< ~counter~0 17)} is VALID [2022-04-28 12:46:28,832 INFO L290 TraceCheckUtils]: 86: Hoare triple {93706#true} assume true; {93706#true} is VALID [2022-04-28 12:46:28,832 INFO L290 TraceCheckUtils]: 85: Hoare triple {93706#true} assume !(0 == ~cond); {93706#true} is VALID [2022-04-28 12:46:28,832 INFO L290 TraceCheckUtils]: 84: Hoare triple {93706#true} ~cond := #in~cond; {93706#true} is VALID [2022-04-28 12:46:28,833 INFO L272 TraceCheckUtils]: 83: Hoare triple {94194#(< ~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)); {93706#true} is VALID [2022-04-28 12:46:28,833 INFO L290 TraceCheckUtils]: 82: Hoare triple {94194#(< ~counter~0 17)} assume !!(#t~post8 < 20);havoc #t~post8; {94194#(< ~counter~0 17)} is VALID [2022-04-28 12:46:28,834 INFO L290 TraceCheckUtils]: 81: Hoare triple {94219#(< ~counter~0 16)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {94194#(< ~counter~0 17)} is VALID [2022-04-28 12:46:28,834 INFO L290 TraceCheckUtils]: 80: Hoare triple {94219#(< ~counter~0 16)} assume !(~r~0 > 0); {94219#(< ~counter~0 16)} is VALID [2022-04-28 12:46:28,834 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {93706#true} {94219#(< ~counter~0 16)} #96#return; {94219#(< ~counter~0 16)} is VALID [2022-04-28 12:46:28,834 INFO L290 TraceCheckUtils]: 78: Hoare triple {93706#true} assume true; {93706#true} is VALID [2022-04-28 12:46:28,834 INFO L290 TraceCheckUtils]: 77: Hoare triple {93706#true} assume !(0 == ~cond); {93706#true} is VALID [2022-04-28 12:46:28,835 INFO L290 TraceCheckUtils]: 76: Hoare triple {93706#true} ~cond := #in~cond; {93706#true} is VALID [2022-04-28 12:46:28,835 INFO L272 TraceCheckUtils]: 75: Hoare triple {94219#(< ~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)); {93706#true} is VALID [2022-04-28 12:46:28,835 INFO L290 TraceCheckUtils]: 74: Hoare triple {94219#(< ~counter~0 16)} assume !!(#t~post7 < 20);havoc #t~post7; {94219#(< ~counter~0 16)} is VALID [2022-04-28 12:46:28,836 INFO L290 TraceCheckUtils]: 73: Hoare triple {94244#(< ~counter~0 15)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {94219#(< ~counter~0 16)} is VALID [2022-04-28 12:46:28,836 INFO L290 TraceCheckUtils]: 72: Hoare triple {94244#(< ~counter~0 15)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {94244#(< ~counter~0 15)} is VALID [2022-04-28 12:46:28,836 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {93706#true} {94244#(< ~counter~0 15)} #96#return; {94244#(< ~counter~0 15)} is VALID [2022-04-28 12:46:28,837 INFO L290 TraceCheckUtils]: 70: Hoare triple {93706#true} assume true; {93706#true} is VALID [2022-04-28 12:46:28,837 INFO L290 TraceCheckUtils]: 69: Hoare triple {93706#true} assume !(0 == ~cond); {93706#true} is VALID [2022-04-28 12:46:28,837 INFO L290 TraceCheckUtils]: 68: Hoare triple {93706#true} ~cond := #in~cond; {93706#true} is VALID [2022-04-28 12:46:28,837 INFO L272 TraceCheckUtils]: 67: Hoare triple {94244#(< ~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)); {93706#true} is VALID [2022-04-28 12:46:28,837 INFO L290 TraceCheckUtils]: 66: Hoare triple {94244#(< ~counter~0 15)} assume !!(#t~post7 < 20);havoc #t~post7; {94244#(< ~counter~0 15)} is VALID [2022-04-28 12:46:28,838 INFO L290 TraceCheckUtils]: 65: Hoare triple {94269#(< ~counter~0 14)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {94244#(< ~counter~0 15)} is VALID [2022-04-28 12:46:28,838 INFO L290 TraceCheckUtils]: 64: Hoare triple {94269#(< ~counter~0 14)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {94269#(< ~counter~0 14)} is VALID [2022-04-28 12:46:28,838 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {93706#true} {94269#(< ~counter~0 14)} #96#return; {94269#(< ~counter~0 14)} is VALID [2022-04-28 12:46:28,839 INFO L290 TraceCheckUtils]: 62: Hoare triple {93706#true} assume true; {93706#true} is VALID [2022-04-28 12:46:28,839 INFO L290 TraceCheckUtils]: 61: Hoare triple {93706#true} assume !(0 == ~cond); {93706#true} is VALID [2022-04-28 12:46:28,839 INFO L290 TraceCheckUtils]: 60: Hoare triple {93706#true} ~cond := #in~cond; {93706#true} is VALID [2022-04-28 12:46:28,839 INFO L272 TraceCheckUtils]: 59: Hoare triple {94269#(< ~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)); {93706#true} is VALID [2022-04-28 12:46:28,839 INFO L290 TraceCheckUtils]: 58: Hoare triple {94269#(< ~counter~0 14)} assume !!(#t~post7 < 20);havoc #t~post7; {94269#(< ~counter~0 14)} is VALID [2022-04-28 12:46:28,840 INFO L290 TraceCheckUtils]: 57: Hoare triple {94038#(<= ~counter~0 12)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {94269#(< ~counter~0 14)} is VALID [2022-04-28 12:46:28,840 INFO L290 TraceCheckUtils]: 56: Hoare triple {94038#(<= ~counter~0 12)} assume !!(0 != ~r~0); {94038#(<= ~counter~0 12)} is VALID [2022-04-28 12:46:28,841 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {93706#true} {94038#(<= ~counter~0 12)} #94#return; {94038#(<= ~counter~0 12)} is VALID [2022-04-28 12:46:28,841 INFO L290 TraceCheckUtils]: 54: Hoare triple {93706#true} assume true; {93706#true} is VALID [2022-04-28 12:46:28,841 INFO L290 TraceCheckUtils]: 53: Hoare triple {93706#true} assume !(0 == ~cond); {93706#true} is VALID [2022-04-28 12:46:28,841 INFO L290 TraceCheckUtils]: 52: Hoare triple {93706#true} ~cond := #in~cond; {93706#true} is VALID [2022-04-28 12:46:28,841 INFO L272 TraceCheckUtils]: 51: Hoare triple {94038#(<= ~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)); {93706#true} is VALID [2022-04-28 12:46:28,841 INFO L290 TraceCheckUtils]: 50: Hoare triple {94038#(<= ~counter~0 12)} assume !!(#t~post6 < 20);havoc #t~post6; {94038#(<= ~counter~0 12)} is VALID [2022-04-28 12:46:28,842 INFO L290 TraceCheckUtils]: 49: Hoare triple {94013#(<= ~counter~0 11)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {94038#(<= ~counter~0 12)} is VALID [2022-04-28 12:46:28,842 INFO L290 TraceCheckUtils]: 48: Hoare triple {94013#(<= ~counter~0 11)} assume !(~r~0 < 0); {94013#(<= ~counter~0 11)} is VALID [2022-04-28 12:46:28,843 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {93706#true} {94013#(<= ~counter~0 11)} #98#return; {94013#(<= ~counter~0 11)} is VALID [2022-04-28 12:46:28,843 INFO L290 TraceCheckUtils]: 46: Hoare triple {93706#true} assume true; {93706#true} is VALID [2022-04-28 12:46:28,843 INFO L290 TraceCheckUtils]: 45: Hoare triple {93706#true} assume !(0 == ~cond); {93706#true} is VALID [2022-04-28 12:46:28,843 INFO L290 TraceCheckUtils]: 44: Hoare triple {93706#true} ~cond := #in~cond; {93706#true} is VALID [2022-04-28 12:46:28,843 INFO L272 TraceCheckUtils]: 43: Hoare triple {94013#(<= ~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)); {93706#true} is VALID [2022-04-28 12:46:28,843 INFO L290 TraceCheckUtils]: 42: Hoare triple {94013#(<= ~counter~0 11)} assume !!(#t~post8 < 20);havoc #t~post8; {94013#(<= ~counter~0 11)} is VALID [2022-04-28 12:46:28,844 INFO L290 TraceCheckUtils]: 41: Hoare triple {93988#(<= ~counter~0 10)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {94013#(<= ~counter~0 11)} is VALID [2022-04-28 12:46:28,844 INFO L290 TraceCheckUtils]: 40: Hoare triple {93988#(<= ~counter~0 10)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {93988#(<= ~counter~0 10)} is VALID [2022-04-28 12:46:28,845 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {93706#true} {93988#(<= ~counter~0 10)} #98#return; {93988#(<= ~counter~0 10)} is VALID [2022-04-28 12:46:28,845 INFO L290 TraceCheckUtils]: 38: Hoare triple {93706#true} assume true; {93706#true} is VALID [2022-04-28 12:46:28,845 INFO L290 TraceCheckUtils]: 37: Hoare triple {93706#true} assume !(0 == ~cond); {93706#true} is VALID [2022-04-28 12:46:28,845 INFO L290 TraceCheckUtils]: 36: Hoare triple {93706#true} ~cond := #in~cond; {93706#true} is VALID [2022-04-28 12:46:28,845 INFO L272 TraceCheckUtils]: 35: Hoare triple {93988#(<= ~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)); {93706#true} is VALID [2022-04-28 12:46:28,845 INFO L290 TraceCheckUtils]: 34: Hoare triple {93988#(<= ~counter~0 10)} assume !!(#t~post8 < 20);havoc #t~post8; {93988#(<= ~counter~0 10)} is VALID [2022-04-28 12:46:28,846 INFO L290 TraceCheckUtils]: 33: Hoare triple {93963#(<= ~counter~0 9)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {93988#(<= ~counter~0 10)} is VALID [2022-04-28 12:46:28,846 INFO L290 TraceCheckUtils]: 32: Hoare triple {93963#(<= ~counter~0 9)} assume !(~r~0 > 0); {93963#(<= ~counter~0 9)} is VALID [2022-04-28 12:46:28,847 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {93706#true} {93963#(<= ~counter~0 9)} #96#return; {93963#(<= ~counter~0 9)} is VALID [2022-04-28 12:46:28,847 INFO L290 TraceCheckUtils]: 30: Hoare triple {93706#true} assume true; {93706#true} is VALID [2022-04-28 12:46:28,847 INFO L290 TraceCheckUtils]: 29: Hoare triple {93706#true} assume !(0 == ~cond); {93706#true} is VALID [2022-04-28 12:46:28,847 INFO L290 TraceCheckUtils]: 28: Hoare triple {93706#true} ~cond := #in~cond; {93706#true} is VALID [2022-04-28 12:46:28,847 INFO L272 TraceCheckUtils]: 27: Hoare triple {93963#(<= ~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)); {93706#true} is VALID [2022-04-28 12:46:28,847 INFO L290 TraceCheckUtils]: 26: Hoare triple {93963#(<= ~counter~0 9)} assume !!(#t~post7 < 20);havoc #t~post7; {93963#(<= ~counter~0 9)} is VALID [2022-04-28 12:46:28,848 INFO L290 TraceCheckUtils]: 25: Hoare triple {93938#(<= ~counter~0 8)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {93963#(<= ~counter~0 9)} is VALID [2022-04-28 12:46:28,848 INFO L290 TraceCheckUtils]: 24: Hoare triple {93938#(<= ~counter~0 8)} assume !!(0 != ~r~0); {93938#(<= ~counter~0 8)} is VALID [2022-04-28 12:46:28,849 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {93706#true} {93938#(<= ~counter~0 8)} #94#return; {93938#(<= ~counter~0 8)} is VALID [2022-04-28 12:46:28,849 INFO L290 TraceCheckUtils]: 22: Hoare triple {93706#true} assume true; {93706#true} is VALID [2022-04-28 12:46:28,849 INFO L290 TraceCheckUtils]: 21: Hoare triple {93706#true} assume !(0 == ~cond); {93706#true} is VALID [2022-04-28 12:46:28,849 INFO L290 TraceCheckUtils]: 20: Hoare triple {93706#true} ~cond := #in~cond; {93706#true} is VALID [2022-04-28 12:46:28,849 INFO L272 TraceCheckUtils]: 19: Hoare triple {93938#(<= ~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)); {93706#true} is VALID [2022-04-28 12:46:28,849 INFO L290 TraceCheckUtils]: 18: Hoare triple {93938#(<= ~counter~0 8)} assume !!(#t~post6 < 20);havoc #t~post6; {93938#(<= ~counter~0 8)} is VALID [2022-04-28 12:46:28,850 INFO L290 TraceCheckUtils]: 17: Hoare triple {93913#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {93938#(<= ~counter~0 8)} is VALID [2022-04-28 12:46:28,850 INFO L290 TraceCheckUtils]: 16: Hoare triple {93913#(<= ~counter~0 7)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {93913#(<= ~counter~0 7)} is VALID [2022-04-28 12:46:28,851 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {93706#true} {93913#(<= ~counter~0 7)} #92#return; {93913#(<= ~counter~0 7)} is VALID [2022-04-28 12:46:28,851 INFO L290 TraceCheckUtils]: 14: Hoare triple {93706#true} assume true; {93706#true} is VALID [2022-04-28 12:46:28,851 INFO L290 TraceCheckUtils]: 13: Hoare triple {93706#true} assume !(0 == ~cond); {93706#true} is VALID [2022-04-28 12:46:28,851 INFO L290 TraceCheckUtils]: 12: Hoare triple {93706#true} ~cond := #in~cond; {93706#true} is VALID [2022-04-28 12:46:28,851 INFO L272 TraceCheckUtils]: 11: Hoare triple {93913#(<= ~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)); {93706#true} is VALID [2022-04-28 12:46:28,851 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {93706#true} {93913#(<= ~counter~0 7)} #90#return; {93913#(<= ~counter~0 7)} is VALID [2022-04-28 12:46:28,851 INFO L290 TraceCheckUtils]: 9: Hoare triple {93706#true} assume true; {93706#true} is VALID [2022-04-28 12:46:28,852 INFO L290 TraceCheckUtils]: 8: Hoare triple {93706#true} assume !(0 == ~cond); {93706#true} is VALID [2022-04-28 12:46:28,852 INFO L290 TraceCheckUtils]: 7: Hoare triple {93706#true} ~cond := #in~cond; {93706#true} is VALID [2022-04-28 12:46:28,852 INFO L272 TraceCheckUtils]: 6: Hoare triple {93913#(<= ~counter~0 7)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {93706#true} is VALID [2022-04-28 12:46:28,852 INFO L290 TraceCheckUtils]: 5: Hoare triple {93913#(<= ~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; {93913#(<= ~counter~0 7)} is VALID [2022-04-28 12:46:28,852 INFO L272 TraceCheckUtils]: 4: Hoare triple {93913#(<= ~counter~0 7)} call #t~ret9 := main(); {93913#(<= ~counter~0 7)} is VALID [2022-04-28 12:46:28,852 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {93913#(<= ~counter~0 7)} {93706#true} #102#return; {93913#(<= ~counter~0 7)} is VALID [2022-04-28 12:46:28,853 INFO L290 TraceCheckUtils]: 2: Hoare triple {93913#(<= ~counter~0 7)} assume true; {93913#(<= ~counter~0 7)} is VALID [2022-04-28 12:46:28,853 INFO L290 TraceCheckUtils]: 1: Hoare triple {93706#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; {93913#(<= ~counter~0 7)} is VALID [2022-04-28 12:46:28,853 INFO L272 TraceCheckUtils]: 0: Hoare triple {93706#true} call ULTIMATE.init(); {93706#true} is VALID [2022-04-28 12:46:28,854 INFO L134 CoverageAnalysis]: Checked inductivity of 392 backedges. 38 proven. 86 refuted. 0 times theorem prover too weak. 268 trivial. 0 not checked. [2022-04-28 12:46:28,854 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:46:28,854 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1935991407] [2022-04-28 12:46:28,854 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:46:28,854 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [779286254] [2022-04-28 12:46:28,854 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [779286254] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:46:28,854 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:46:28,854 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 16] total 24 [2022-04-28 12:46:28,854 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:46:28,854 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [942955026] [2022-04-28 12:46:28,854 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [942955026] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:46:28,854 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:46:28,854 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-28 12:46:28,855 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [188692376] [2022-04-28 12:46:28,855 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:46:28,855 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 5.5) internal successors, (88), 15 states have internal predecessors, (88), 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 123 [2022-04-28 12:46:28,855 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:46:28,855 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 16 states have (on average 5.5) internal successors, (88), 15 states have internal predecessors, (88), 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:46:28,950 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 120 edges. 120 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:46:28,950 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-28 12:46:28,950 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:46:28,950 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-28 12:46:28,951 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=236, Invalid=316, Unknown=0, NotChecked=0, Total=552 [2022-04-28 12:46:28,951 INFO L87 Difference]: Start difference. First operand 670 states and 890 transitions. Second operand has 16 states, 16 states have (on average 5.5) internal successors, (88), 15 states have internal predecessors, (88), 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:46:31,786 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:46:31,786 INFO L93 Difference]: Finished difference Result 887 states and 1217 transitions. [2022-04-28 12:46:31,786 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 27 states. [2022-04-28 12:46:31,786 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 5.5) internal successors, (88), 15 states have internal predecessors, (88), 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 123 [2022-04-28 12:46:31,787 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:46:31,787 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 5.5) internal successors, (88), 15 states have internal predecessors, (88), 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:46:31,788 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 276 transitions. [2022-04-28 12:46:31,789 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 5.5) internal successors, (88), 15 states have internal predecessors, (88), 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:46:31,790 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 276 transitions. [2022-04-28 12:46:31,790 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 27 states and 276 transitions. [2022-04-28 12:46:32,022 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 276 edges. 276 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:46:32,041 INFO L225 Difference]: With dead ends: 887 [2022-04-28 12:46:32,041 INFO L226 Difference]: Without dead ends: 686 [2022-04-28 12:46:32,042 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 256 GetRequests, 222 SyntacticMatches, 1 SemanticMatches, 33 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 93 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=478, Invalid=712, Unknown=0, NotChecked=0, Total=1190 [2022-04-28 12:46:32,042 INFO L413 NwaCegarLoop]: 66 mSDtfsCounter, 180 mSDsluCounter, 209 mSDsCounter, 0 mSdLazyCounter, 157 mSolverCounterSat, 158 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 180 SdHoareTripleChecker+Valid, 275 SdHoareTripleChecker+Invalid, 315 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 158 IncrementalHoareTripleChecker+Valid, 157 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 12:46:32,043 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [180 Valid, 275 Invalid, 315 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [158 Valid, 157 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 12:46:32,043 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 686 states. [2022-04-28 12:46:33,874 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 686 to 686. [2022-04-28 12:46:33,874 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:46:33,875 INFO L82 GeneralOperation]: Start isEquivalent. First operand 686 states. Second operand has 686 states, 521 states have (on average 1.2053742802303262) internal successors, (628), 521 states have internal predecessors, (628), 140 states have call successors, (140), 26 states have call predecessors, (140), 24 states have return successors, (138), 138 states have call predecessors, (138), 138 states have call successors, (138) [2022-04-28 12:46:33,875 INFO L74 IsIncluded]: Start isIncluded. First operand 686 states. Second operand has 686 states, 521 states have (on average 1.2053742802303262) internal successors, (628), 521 states have internal predecessors, (628), 140 states have call successors, (140), 26 states have call predecessors, (140), 24 states have return successors, (138), 138 states have call predecessors, (138), 138 states have call successors, (138) [2022-04-28 12:46:33,876 INFO L87 Difference]: Start difference. First operand 686 states. Second operand has 686 states, 521 states have (on average 1.2053742802303262) internal successors, (628), 521 states have internal predecessors, (628), 140 states have call successors, (140), 26 states have call predecessors, (140), 24 states have return successors, (138), 138 states have call predecessors, (138), 138 states have call successors, (138) [2022-04-28 12:46:33,891 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:46:33,891 INFO L93 Difference]: Finished difference Result 686 states and 906 transitions. [2022-04-28 12:46:33,891 INFO L276 IsEmpty]: Start isEmpty. Operand 686 states and 906 transitions. [2022-04-28 12:46:33,891 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:46:33,892 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:46:33,892 INFO L74 IsIncluded]: Start isIncluded. First operand has 686 states, 521 states have (on average 1.2053742802303262) internal successors, (628), 521 states have internal predecessors, (628), 140 states have call successors, (140), 26 states have call predecessors, (140), 24 states have return successors, (138), 138 states have call predecessors, (138), 138 states have call successors, (138) Second operand 686 states. [2022-04-28 12:46:33,892 INFO L87 Difference]: Start difference. First operand has 686 states, 521 states have (on average 1.2053742802303262) internal successors, (628), 521 states have internal predecessors, (628), 140 states have call successors, (140), 26 states have call predecessors, (140), 24 states have return successors, (138), 138 states have call predecessors, (138), 138 states have call successors, (138) Second operand 686 states. [2022-04-28 12:46:33,908 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:46:33,908 INFO L93 Difference]: Finished difference Result 686 states and 906 transitions. [2022-04-28 12:46:33,908 INFO L276 IsEmpty]: Start isEmpty. Operand 686 states and 906 transitions. [2022-04-28 12:46:33,909 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:46:33,909 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:46:33,909 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:46:33,909 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:46:33,910 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 686 states, 521 states have (on average 1.2053742802303262) internal successors, (628), 521 states have internal predecessors, (628), 140 states have call successors, (140), 26 states have call predecessors, (140), 24 states have return successors, (138), 138 states have call predecessors, (138), 138 states have call successors, (138) [2022-04-28 12:46:33,931 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 686 states to 686 states and 906 transitions. [2022-04-28 12:46:33,931 INFO L78 Accepts]: Start accepts. Automaton has 686 states and 906 transitions. Word has length 123 [2022-04-28 12:46:33,931 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:46:33,931 INFO L495 AbstractCegarLoop]: Abstraction has 686 states and 906 transitions. [2022-04-28 12:46:33,931 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 16 states have (on average 5.5) internal successors, (88), 15 states have internal predecessors, (88), 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:46:33,931 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 686 states and 906 transitions. [2022-04-28 12:46:51,842 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 906 edges. 903 inductive. 0 not inductive. 3 times theorem prover too weak to decide inductivity. [2022-04-28 12:46:51,843 INFO L276 IsEmpty]: Start isEmpty. Operand 686 states and 906 transitions. [2022-04-28 12:46:51,844 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 128 [2022-04-28 12:46:51,844 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:46:51,844 INFO L195 NwaCegarLoop]: trace histogram [14, 13, 13, 7, 7, 7, 7, 5, 4, 4, 4, 4, 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:46:51,860 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (42)] Forceful destruction successful, exit code 0 [2022-04-28 12:46:52,047 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable40,42 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:46:52,047 INFO L420 AbstractCegarLoop]: === Iteration 42 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:46:52,047 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:46:52,048 INFO L85 PathProgramCache]: Analyzing trace with hash -992818924, now seen corresponding path program 9 times [2022-04-28 12:46:52,048 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:46:52,048 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [552574946] [2022-04-28 12:46:52,048 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:46:52,048 INFO L85 PathProgramCache]: Analyzing trace with hash -992818924, now seen corresponding path program 10 times [2022-04-28 12:46:52,048 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:46:52,048 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1814165813] [2022-04-28 12:46:52,048 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:46:52,048 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:46:52,071 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:46:52,071 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1378629479] [2022-04-28 12:46:52,071 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:46:52,071 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:46:52,071 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:46:52,072 INFO L229 MonitoredProcess]: Starting monitored process 43 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:46:52,073 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (43)] Waiting until timeout for monitored process [2022-04-28 12:46:52,131 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:46:52,131 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:46:52,133 INFO L263 TraceCheckSpWp]: Trace formula consists of 316 conjuncts, 31 conjunts are in the unsatisfiable core [2022-04-28 12:46:52,161 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:46:52,162 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:46:52,724 INFO L272 TraceCheckUtils]: 0: Hoare triple {99007#true} call ULTIMATE.init(); {99007#true} is VALID [2022-04-28 12:46:52,725 INFO L290 TraceCheckUtils]: 1: Hoare triple {99007#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; {99015#(<= ~counter~0 0)} is VALID [2022-04-28 12:46:52,725 INFO L290 TraceCheckUtils]: 2: Hoare triple {99015#(<= ~counter~0 0)} assume true; {99015#(<= ~counter~0 0)} is VALID [2022-04-28 12:46:52,725 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {99015#(<= ~counter~0 0)} {99007#true} #102#return; {99015#(<= ~counter~0 0)} is VALID [2022-04-28 12:46:52,726 INFO L272 TraceCheckUtils]: 4: Hoare triple {99015#(<= ~counter~0 0)} call #t~ret9 := main(); {99015#(<= ~counter~0 0)} is VALID [2022-04-28 12:46:52,726 INFO L290 TraceCheckUtils]: 5: Hoare triple {99015#(<= ~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; {99015#(<= ~counter~0 0)} is VALID [2022-04-28 12:46:52,726 INFO L272 TraceCheckUtils]: 6: Hoare triple {99015#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {99015#(<= ~counter~0 0)} is VALID [2022-04-28 12:46:52,726 INFO L290 TraceCheckUtils]: 7: Hoare triple {99015#(<= ~counter~0 0)} ~cond := #in~cond; {99015#(<= ~counter~0 0)} is VALID [2022-04-28 12:46:52,727 INFO L290 TraceCheckUtils]: 8: Hoare triple {99015#(<= ~counter~0 0)} assume !(0 == ~cond); {99015#(<= ~counter~0 0)} is VALID [2022-04-28 12:46:52,727 INFO L290 TraceCheckUtils]: 9: Hoare triple {99015#(<= ~counter~0 0)} assume true; {99015#(<= ~counter~0 0)} is VALID [2022-04-28 12:46:52,727 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {99015#(<= ~counter~0 0)} {99015#(<= ~counter~0 0)} #90#return; {99015#(<= ~counter~0 0)} is VALID [2022-04-28 12:46:52,728 INFO L272 TraceCheckUtils]: 11: Hoare triple {99015#(<= ~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)); {99015#(<= ~counter~0 0)} is VALID [2022-04-28 12:46:52,728 INFO L290 TraceCheckUtils]: 12: Hoare triple {99015#(<= ~counter~0 0)} ~cond := #in~cond; {99015#(<= ~counter~0 0)} is VALID [2022-04-28 12:46:52,728 INFO L290 TraceCheckUtils]: 13: Hoare triple {99015#(<= ~counter~0 0)} assume !(0 == ~cond); {99015#(<= ~counter~0 0)} is VALID [2022-04-28 12:46:52,728 INFO L290 TraceCheckUtils]: 14: Hoare triple {99015#(<= ~counter~0 0)} assume true; {99015#(<= ~counter~0 0)} is VALID [2022-04-28 12:46:52,729 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {99015#(<= ~counter~0 0)} {99015#(<= ~counter~0 0)} #92#return; {99015#(<= ~counter~0 0)} is VALID [2022-04-28 12:46:52,729 INFO L290 TraceCheckUtils]: 16: Hoare triple {99015#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {99015#(<= ~counter~0 0)} is VALID [2022-04-28 12:46:52,731 INFO L290 TraceCheckUtils]: 17: Hoare triple {99015#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {99064#(<= ~counter~0 1)} is VALID [2022-04-28 12:46:52,731 INFO L290 TraceCheckUtils]: 18: Hoare triple {99064#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {99064#(<= ~counter~0 1)} is VALID [2022-04-28 12:46:52,731 INFO L272 TraceCheckUtils]: 19: Hoare triple {99064#(<= ~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)); {99064#(<= ~counter~0 1)} is VALID [2022-04-28 12:46:52,732 INFO L290 TraceCheckUtils]: 20: Hoare triple {99064#(<= ~counter~0 1)} ~cond := #in~cond; {99064#(<= ~counter~0 1)} is VALID [2022-04-28 12:46:52,732 INFO L290 TraceCheckUtils]: 21: Hoare triple {99064#(<= ~counter~0 1)} assume !(0 == ~cond); {99064#(<= ~counter~0 1)} is VALID [2022-04-28 12:46:52,732 INFO L290 TraceCheckUtils]: 22: Hoare triple {99064#(<= ~counter~0 1)} assume true; {99064#(<= ~counter~0 1)} is VALID [2022-04-28 12:46:52,733 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {99064#(<= ~counter~0 1)} {99064#(<= ~counter~0 1)} #94#return; {99064#(<= ~counter~0 1)} is VALID [2022-04-28 12:46:52,733 INFO L290 TraceCheckUtils]: 24: Hoare triple {99064#(<= ~counter~0 1)} assume !!(0 != ~r~0); {99064#(<= ~counter~0 1)} is VALID [2022-04-28 12:46:52,734 INFO L290 TraceCheckUtils]: 25: Hoare triple {99064#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {99089#(<= ~counter~0 2)} is VALID [2022-04-28 12:46:52,734 INFO L290 TraceCheckUtils]: 26: Hoare triple {99089#(<= ~counter~0 2)} assume !!(#t~post7 < 20);havoc #t~post7; {99089#(<= ~counter~0 2)} is VALID [2022-04-28 12:46:52,734 INFO L272 TraceCheckUtils]: 27: Hoare triple {99089#(<= ~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)); {99089#(<= ~counter~0 2)} is VALID [2022-04-28 12:46:52,735 INFO L290 TraceCheckUtils]: 28: Hoare triple {99089#(<= ~counter~0 2)} ~cond := #in~cond; {99089#(<= ~counter~0 2)} is VALID [2022-04-28 12:46:52,735 INFO L290 TraceCheckUtils]: 29: Hoare triple {99089#(<= ~counter~0 2)} assume !(0 == ~cond); {99089#(<= ~counter~0 2)} is VALID [2022-04-28 12:46:52,735 INFO L290 TraceCheckUtils]: 30: Hoare triple {99089#(<= ~counter~0 2)} assume true; {99089#(<= ~counter~0 2)} is VALID [2022-04-28 12:46:52,736 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {99089#(<= ~counter~0 2)} {99089#(<= ~counter~0 2)} #96#return; {99089#(<= ~counter~0 2)} is VALID [2022-04-28 12:46:52,736 INFO L290 TraceCheckUtils]: 32: Hoare triple {99089#(<= ~counter~0 2)} assume !(~r~0 > 0); {99089#(<= ~counter~0 2)} is VALID [2022-04-28 12:46:52,737 INFO L290 TraceCheckUtils]: 33: Hoare triple {99089#(<= ~counter~0 2)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {99114#(<= ~counter~0 3)} is VALID [2022-04-28 12:46:52,737 INFO L290 TraceCheckUtils]: 34: Hoare triple {99114#(<= ~counter~0 3)} assume !!(#t~post8 < 20);havoc #t~post8; {99114#(<= ~counter~0 3)} is VALID [2022-04-28 12:46:52,737 INFO L272 TraceCheckUtils]: 35: Hoare triple {99114#(<= ~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)); {99114#(<= ~counter~0 3)} is VALID [2022-04-28 12:46:52,738 INFO L290 TraceCheckUtils]: 36: Hoare triple {99114#(<= ~counter~0 3)} ~cond := #in~cond; {99114#(<= ~counter~0 3)} is VALID [2022-04-28 12:46:52,738 INFO L290 TraceCheckUtils]: 37: Hoare triple {99114#(<= ~counter~0 3)} assume !(0 == ~cond); {99114#(<= ~counter~0 3)} is VALID [2022-04-28 12:46:52,738 INFO L290 TraceCheckUtils]: 38: Hoare triple {99114#(<= ~counter~0 3)} assume true; {99114#(<= ~counter~0 3)} is VALID [2022-04-28 12:46:52,739 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {99114#(<= ~counter~0 3)} {99114#(<= ~counter~0 3)} #98#return; {99114#(<= ~counter~0 3)} is VALID [2022-04-28 12:46:52,739 INFO L290 TraceCheckUtils]: 40: Hoare triple {99114#(<= ~counter~0 3)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {99114#(<= ~counter~0 3)} is VALID [2022-04-28 12:46:52,740 INFO L290 TraceCheckUtils]: 41: Hoare triple {99114#(<= ~counter~0 3)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {99139#(<= ~counter~0 4)} is VALID [2022-04-28 12:46:52,740 INFO L290 TraceCheckUtils]: 42: Hoare triple {99139#(<= ~counter~0 4)} assume !!(#t~post8 < 20);havoc #t~post8; {99139#(<= ~counter~0 4)} is VALID [2022-04-28 12:46:52,740 INFO L272 TraceCheckUtils]: 43: Hoare triple {99139#(<= ~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)); {99139#(<= ~counter~0 4)} is VALID [2022-04-28 12:46:52,741 INFO L290 TraceCheckUtils]: 44: Hoare triple {99139#(<= ~counter~0 4)} ~cond := #in~cond; {99139#(<= ~counter~0 4)} is VALID [2022-04-28 12:46:52,741 INFO L290 TraceCheckUtils]: 45: Hoare triple {99139#(<= ~counter~0 4)} assume !(0 == ~cond); {99139#(<= ~counter~0 4)} is VALID [2022-04-28 12:46:52,741 INFO L290 TraceCheckUtils]: 46: Hoare triple {99139#(<= ~counter~0 4)} assume true; {99139#(<= ~counter~0 4)} is VALID [2022-04-28 12:46:52,742 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {99139#(<= ~counter~0 4)} {99139#(<= ~counter~0 4)} #98#return; {99139#(<= ~counter~0 4)} is VALID [2022-04-28 12:46:52,742 INFO L290 TraceCheckUtils]: 48: Hoare triple {99139#(<= ~counter~0 4)} assume !(~r~0 < 0); {99139#(<= ~counter~0 4)} is VALID [2022-04-28 12:46:52,743 INFO L290 TraceCheckUtils]: 49: Hoare triple {99139#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {99164#(<= ~counter~0 5)} is VALID [2022-04-28 12:46:52,743 INFO L290 TraceCheckUtils]: 50: Hoare triple {99164#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {99164#(<= ~counter~0 5)} is VALID [2022-04-28 12:46:52,743 INFO L272 TraceCheckUtils]: 51: Hoare triple {99164#(<= ~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)); {99164#(<= ~counter~0 5)} is VALID [2022-04-28 12:46:52,744 INFO L290 TraceCheckUtils]: 52: Hoare triple {99164#(<= ~counter~0 5)} ~cond := #in~cond; {99164#(<= ~counter~0 5)} is VALID [2022-04-28 12:46:52,744 INFO L290 TraceCheckUtils]: 53: Hoare triple {99164#(<= ~counter~0 5)} assume !(0 == ~cond); {99164#(<= ~counter~0 5)} is VALID [2022-04-28 12:46:52,744 INFO L290 TraceCheckUtils]: 54: Hoare triple {99164#(<= ~counter~0 5)} assume true; {99164#(<= ~counter~0 5)} is VALID [2022-04-28 12:46:52,744 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {99164#(<= ~counter~0 5)} {99164#(<= ~counter~0 5)} #94#return; {99164#(<= ~counter~0 5)} is VALID [2022-04-28 12:46:52,745 INFO L290 TraceCheckUtils]: 56: Hoare triple {99164#(<= ~counter~0 5)} assume !!(0 != ~r~0); {99164#(<= ~counter~0 5)} is VALID [2022-04-28 12:46:52,746 INFO L290 TraceCheckUtils]: 57: Hoare triple {99164#(<= ~counter~0 5)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {99189#(<= ~counter~0 6)} is VALID [2022-04-28 12:46:52,746 INFO L290 TraceCheckUtils]: 58: Hoare triple {99189#(<= ~counter~0 6)} assume !!(#t~post7 < 20);havoc #t~post7; {99189#(<= ~counter~0 6)} is VALID [2022-04-28 12:46:52,746 INFO L272 TraceCheckUtils]: 59: Hoare triple {99189#(<= ~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)); {99189#(<= ~counter~0 6)} is VALID [2022-04-28 12:46:52,746 INFO L290 TraceCheckUtils]: 60: Hoare triple {99189#(<= ~counter~0 6)} ~cond := #in~cond; {99189#(<= ~counter~0 6)} is VALID [2022-04-28 12:46:52,747 INFO L290 TraceCheckUtils]: 61: Hoare triple {99189#(<= ~counter~0 6)} assume !(0 == ~cond); {99189#(<= ~counter~0 6)} is VALID [2022-04-28 12:46:52,747 INFO L290 TraceCheckUtils]: 62: Hoare triple {99189#(<= ~counter~0 6)} assume true; {99189#(<= ~counter~0 6)} is VALID [2022-04-28 12:46:52,747 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {99189#(<= ~counter~0 6)} {99189#(<= ~counter~0 6)} #96#return; {99189#(<= ~counter~0 6)} is VALID [2022-04-28 12:46:52,748 INFO L290 TraceCheckUtils]: 64: Hoare triple {99189#(<= ~counter~0 6)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {99189#(<= ~counter~0 6)} is VALID [2022-04-28 12:46:52,749 INFO L290 TraceCheckUtils]: 65: Hoare triple {99189#(<= ~counter~0 6)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {99214#(<= ~counter~0 7)} is VALID [2022-04-28 12:46:52,749 INFO L290 TraceCheckUtils]: 66: Hoare triple {99214#(<= ~counter~0 7)} assume !!(#t~post7 < 20);havoc #t~post7; {99214#(<= ~counter~0 7)} is VALID [2022-04-28 12:46:52,749 INFO L272 TraceCheckUtils]: 67: Hoare triple {99214#(<= ~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)); {99214#(<= ~counter~0 7)} is VALID [2022-04-28 12:46:52,749 INFO L290 TraceCheckUtils]: 68: Hoare triple {99214#(<= ~counter~0 7)} ~cond := #in~cond; {99214#(<= ~counter~0 7)} is VALID [2022-04-28 12:46:52,750 INFO L290 TraceCheckUtils]: 69: Hoare triple {99214#(<= ~counter~0 7)} assume !(0 == ~cond); {99214#(<= ~counter~0 7)} is VALID [2022-04-28 12:46:52,750 INFO L290 TraceCheckUtils]: 70: Hoare triple {99214#(<= ~counter~0 7)} assume true; {99214#(<= ~counter~0 7)} is VALID [2022-04-28 12:46:52,750 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {99214#(<= ~counter~0 7)} {99214#(<= ~counter~0 7)} #96#return; {99214#(<= ~counter~0 7)} is VALID [2022-04-28 12:46:52,751 INFO L290 TraceCheckUtils]: 72: Hoare triple {99214#(<= ~counter~0 7)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {99214#(<= ~counter~0 7)} is VALID [2022-04-28 12:46:52,751 INFO L290 TraceCheckUtils]: 73: Hoare triple {99214#(<= ~counter~0 7)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {99239#(<= ~counter~0 8)} is VALID [2022-04-28 12:46:52,752 INFO L290 TraceCheckUtils]: 74: Hoare triple {99239#(<= ~counter~0 8)} assume !!(#t~post7 < 20);havoc #t~post7; {99239#(<= ~counter~0 8)} is VALID [2022-04-28 12:46:52,752 INFO L272 TraceCheckUtils]: 75: Hoare triple {99239#(<= ~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)); {99239#(<= ~counter~0 8)} is VALID [2022-04-28 12:46:52,752 INFO L290 TraceCheckUtils]: 76: Hoare triple {99239#(<= ~counter~0 8)} ~cond := #in~cond; {99239#(<= ~counter~0 8)} is VALID [2022-04-28 12:46:52,753 INFO L290 TraceCheckUtils]: 77: Hoare triple {99239#(<= ~counter~0 8)} assume !(0 == ~cond); {99239#(<= ~counter~0 8)} is VALID [2022-04-28 12:46:52,753 INFO L290 TraceCheckUtils]: 78: Hoare triple {99239#(<= ~counter~0 8)} assume true; {99239#(<= ~counter~0 8)} is VALID [2022-04-28 12:46:52,753 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {99239#(<= ~counter~0 8)} {99239#(<= ~counter~0 8)} #96#return; {99239#(<= ~counter~0 8)} is VALID [2022-04-28 12:46:52,754 INFO L290 TraceCheckUtils]: 80: Hoare triple {99239#(<= ~counter~0 8)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {99239#(<= ~counter~0 8)} is VALID [2022-04-28 12:46:52,754 INFO L290 TraceCheckUtils]: 81: Hoare triple {99239#(<= ~counter~0 8)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {99264#(<= ~counter~0 9)} is VALID [2022-04-28 12:46:52,755 INFO L290 TraceCheckUtils]: 82: Hoare triple {99264#(<= ~counter~0 9)} assume !!(#t~post7 < 20);havoc #t~post7; {99264#(<= ~counter~0 9)} is VALID [2022-04-28 12:46:52,755 INFO L272 TraceCheckUtils]: 83: Hoare triple {99264#(<= ~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)); {99264#(<= ~counter~0 9)} is VALID [2022-04-28 12:46:52,755 INFO L290 TraceCheckUtils]: 84: Hoare triple {99264#(<= ~counter~0 9)} ~cond := #in~cond; {99264#(<= ~counter~0 9)} is VALID [2022-04-28 12:46:52,756 INFO L290 TraceCheckUtils]: 85: Hoare triple {99264#(<= ~counter~0 9)} assume !(0 == ~cond); {99264#(<= ~counter~0 9)} is VALID [2022-04-28 12:46:52,756 INFO L290 TraceCheckUtils]: 86: Hoare triple {99264#(<= ~counter~0 9)} assume true; {99264#(<= ~counter~0 9)} is VALID [2022-04-28 12:46:52,756 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {99264#(<= ~counter~0 9)} {99264#(<= ~counter~0 9)} #96#return; {99264#(<= ~counter~0 9)} is VALID [2022-04-28 12:46:52,757 INFO L290 TraceCheckUtils]: 88: Hoare triple {99264#(<= ~counter~0 9)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {99264#(<= ~counter~0 9)} is VALID [2022-04-28 12:46:52,757 INFO L290 TraceCheckUtils]: 89: Hoare triple {99264#(<= ~counter~0 9)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {99289#(<= ~counter~0 10)} is VALID [2022-04-28 12:46:52,758 INFO L290 TraceCheckUtils]: 90: Hoare triple {99289#(<= ~counter~0 10)} assume !!(#t~post7 < 20);havoc #t~post7; {99289#(<= ~counter~0 10)} is VALID [2022-04-28 12:46:52,758 INFO L272 TraceCheckUtils]: 91: Hoare triple {99289#(<= ~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)); {99289#(<= ~counter~0 10)} is VALID [2022-04-28 12:46:52,758 INFO L290 TraceCheckUtils]: 92: Hoare triple {99289#(<= ~counter~0 10)} ~cond := #in~cond; {99289#(<= ~counter~0 10)} is VALID [2022-04-28 12:46:52,759 INFO L290 TraceCheckUtils]: 93: Hoare triple {99289#(<= ~counter~0 10)} assume !(0 == ~cond); {99289#(<= ~counter~0 10)} is VALID [2022-04-28 12:46:52,759 INFO L290 TraceCheckUtils]: 94: Hoare triple {99289#(<= ~counter~0 10)} assume true; {99289#(<= ~counter~0 10)} is VALID [2022-04-28 12:46:52,759 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {99289#(<= ~counter~0 10)} {99289#(<= ~counter~0 10)} #96#return; {99289#(<= ~counter~0 10)} is VALID [2022-04-28 12:46:52,760 INFO L290 TraceCheckUtils]: 96: Hoare triple {99289#(<= ~counter~0 10)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {99289#(<= ~counter~0 10)} is VALID [2022-04-28 12:46:52,760 INFO L290 TraceCheckUtils]: 97: Hoare triple {99289#(<= ~counter~0 10)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {99314#(<= ~counter~0 11)} is VALID [2022-04-28 12:46:52,761 INFO L290 TraceCheckUtils]: 98: Hoare triple {99314#(<= ~counter~0 11)} assume !!(#t~post7 < 20);havoc #t~post7; {99314#(<= ~counter~0 11)} is VALID [2022-04-28 12:46:52,761 INFO L272 TraceCheckUtils]: 99: Hoare triple {99314#(<= ~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)); {99314#(<= ~counter~0 11)} is VALID [2022-04-28 12:46:52,761 INFO L290 TraceCheckUtils]: 100: Hoare triple {99314#(<= ~counter~0 11)} ~cond := #in~cond; {99314#(<= ~counter~0 11)} is VALID [2022-04-28 12:46:52,762 INFO L290 TraceCheckUtils]: 101: Hoare triple {99314#(<= ~counter~0 11)} assume !(0 == ~cond); {99314#(<= ~counter~0 11)} is VALID [2022-04-28 12:46:52,762 INFO L290 TraceCheckUtils]: 102: Hoare triple {99314#(<= ~counter~0 11)} assume true; {99314#(<= ~counter~0 11)} is VALID [2022-04-28 12:46:52,762 INFO L284 TraceCheckUtils]: 103: Hoare quadruple {99314#(<= ~counter~0 11)} {99314#(<= ~counter~0 11)} #96#return; {99314#(<= ~counter~0 11)} is VALID [2022-04-28 12:46:52,763 INFO L290 TraceCheckUtils]: 104: Hoare triple {99314#(<= ~counter~0 11)} assume !(~r~0 > 0); {99314#(<= ~counter~0 11)} is VALID [2022-04-28 12:46:52,763 INFO L290 TraceCheckUtils]: 105: Hoare triple {99314#(<= ~counter~0 11)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {99339#(<= ~counter~0 12)} is VALID [2022-04-28 12:46:52,764 INFO L290 TraceCheckUtils]: 106: Hoare triple {99339#(<= ~counter~0 12)} assume !!(#t~post8 < 20);havoc #t~post8; {99339#(<= ~counter~0 12)} is VALID [2022-04-28 12:46:52,764 INFO L272 TraceCheckUtils]: 107: Hoare triple {99339#(<= ~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)); {99339#(<= ~counter~0 12)} is VALID [2022-04-28 12:46:52,764 INFO L290 TraceCheckUtils]: 108: Hoare triple {99339#(<= ~counter~0 12)} ~cond := #in~cond; {99339#(<= ~counter~0 12)} is VALID [2022-04-28 12:46:52,765 INFO L290 TraceCheckUtils]: 109: Hoare triple {99339#(<= ~counter~0 12)} assume !(0 == ~cond); {99339#(<= ~counter~0 12)} is VALID [2022-04-28 12:46:52,765 INFO L290 TraceCheckUtils]: 110: Hoare triple {99339#(<= ~counter~0 12)} assume true; {99339#(<= ~counter~0 12)} is VALID [2022-04-28 12:46:52,765 INFO L284 TraceCheckUtils]: 111: Hoare quadruple {99339#(<= ~counter~0 12)} {99339#(<= ~counter~0 12)} #98#return; {99339#(<= ~counter~0 12)} is VALID [2022-04-28 12:46:52,765 INFO L290 TraceCheckUtils]: 112: Hoare triple {99339#(<= ~counter~0 12)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {99339#(<= ~counter~0 12)} is VALID [2022-04-28 12:46:52,766 INFO L290 TraceCheckUtils]: 113: Hoare triple {99339#(<= ~counter~0 12)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {99364#(<= ~counter~0 13)} is VALID [2022-04-28 12:46:52,767 INFO L290 TraceCheckUtils]: 114: Hoare triple {99364#(<= ~counter~0 13)} assume !!(#t~post8 < 20);havoc #t~post8; {99364#(<= ~counter~0 13)} is VALID [2022-04-28 12:46:52,767 INFO L272 TraceCheckUtils]: 115: Hoare triple {99364#(<= ~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)); {99364#(<= ~counter~0 13)} is VALID [2022-04-28 12:46:52,767 INFO L290 TraceCheckUtils]: 116: Hoare triple {99364#(<= ~counter~0 13)} ~cond := #in~cond; {99364#(<= ~counter~0 13)} is VALID [2022-04-28 12:46:52,768 INFO L290 TraceCheckUtils]: 117: Hoare triple {99364#(<= ~counter~0 13)} assume !(0 == ~cond); {99364#(<= ~counter~0 13)} is VALID [2022-04-28 12:46:52,768 INFO L290 TraceCheckUtils]: 118: Hoare triple {99364#(<= ~counter~0 13)} assume true; {99364#(<= ~counter~0 13)} is VALID [2022-04-28 12:46:52,768 INFO L284 TraceCheckUtils]: 119: Hoare quadruple {99364#(<= ~counter~0 13)} {99364#(<= ~counter~0 13)} #98#return; {99364#(<= ~counter~0 13)} is VALID [2022-04-28 12:46:52,768 INFO L290 TraceCheckUtils]: 120: Hoare triple {99364#(<= ~counter~0 13)} assume !(~r~0 < 0); {99364#(<= ~counter~0 13)} is VALID [2022-04-28 12:46:52,769 INFO L290 TraceCheckUtils]: 121: Hoare triple {99364#(<= ~counter~0 13)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {99389#(<= |main_#t~post6| 13)} is VALID [2022-04-28 12:46:52,769 INFO L290 TraceCheckUtils]: 122: Hoare triple {99389#(<= |main_#t~post6| 13)} assume !(#t~post6 < 20);havoc #t~post6; {99008#false} is VALID [2022-04-28 12:46:52,769 INFO L272 TraceCheckUtils]: 123: Hoare triple {99008#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)); {99008#false} is VALID [2022-04-28 12:46:52,769 INFO L290 TraceCheckUtils]: 124: Hoare triple {99008#false} ~cond := #in~cond; {99008#false} is VALID [2022-04-28 12:46:52,769 INFO L290 TraceCheckUtils]: 125: Hoare triple {99008#false} assume 0 == ~cond; {99008#false} is VALID [2022-04-28 12:46:52,769 INFO L290 TraceCheckUtils]: 126: Hoare triple {99008#false} assume !false; {99008#false} is VALID [2022-04-28 12:46:52,770 INFO L134 CoverageAnalysis]: Checked inductivity of 458 backedges. 26 proven. 428 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:46:52,770 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:46:53,339 INFO L290 TraceCheckUtils]: 126: Hoare triple {99008#false} assume !false; {99008#false} is VALID [2022-04-28 12:46:53,340 INFO L290 TraceCheckUtils]: 125: Hoare triple {99008#false} assume 0 == ~cond; {99008#false} is VALID [2022-04-28 12:46:53,340 INFO L290 TraceCheckUtils]: 124: Hoare triple {99008#false} ~cond := #in~cond; {99008#false} is VALID [2022-04-28 12:46:53,340 INFO L272 TraceCheckUtils]: 123: Hoare triple {99008#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)); {99008#false} is VALID [2022-04-28 12:46:53,340 INFO L290 TraceCheckUtils]: 122: Hoare triple {99417#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {99008#false} is VALID [2022-04-28 12:46:53,340 INFO L290 TraceCheckUtils]: 121: Hoare triple {99421#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {99417#(< |main_#t~post6| 20)} is VALID [2022-04-28 12:46:53,341 INFO L290 TraceCheckUtils]: 120: Hoare triple {99421#(< ~counter~0 20)} assume !(~r~0 < 0); {99421#(< ~counter~0 20)} is VALID [2022-04-28 12:46:53,341 INFO L284 TraceCheckUtils]: 119: Hoare quadruple {99007#true} {99421#(< ~counter~0 20)} #98#return; {99421#(< ~counter~0 20)} is VALID [2022-04-28 12:46:53,341 INFO L290 TraceCheckUtils]: 118: Hoare triple {99007#true} assume true; {99007#true} is VALID [2022-04-28 12:46:53,341 INFO L290 TraceCheckUtils]: 117: Hoare triple {99007#true} assume !(0 == ~cond); {99007#true} is VALID [2022-04-28 12:46:53,341 INFO L290 TraceCheckUtils]: 116: Hoare triple {99007#true} ~cond := #in~cond; {99007#true} is VALID [2022-04-28 12:46:53,341 INFO L272 TraceCheckUtils]: 115: Hoare triple {99421#(< ~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)); {99007#true} is VALID [2022-04-28 12:46:53,342 INFO L290 TraceCheckUtils]: 114: Hoare triple {99421#(< ~counter~0 20)} assume !!(#t~post8 < 20);havoc #t~post8; {99421#(< ~counter~0 20)} is VALID [2022-04-28 12:46:53,344 INFO L290 TraceCheckUtils]: 113: Hoare triple {99446#(< ~counter~0 19)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {99421#(< ~counter~0 20)} is VALID [2022-04-28 12:46:53,344 INFO L290 TraceCheckUtils]: 112: Hoare triple {99446#(< ~counter~0 19)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {99446#(< ~counter~0 19)} is VALID [2022-04-28 12:46:53,344 INFO L284 TraceCheckUtils]: 111: Hoare quadruple {99007#true} {99446#(< ~counter~0 19)} #98#return; {99446#(< ~counter~0 19)} is VALID [2022-04-28 12:46:53,344 INFO L290 TraceCheckUtils]: 110: Hoare triple {99007#true} assume true; {99007#true} is VALID [2022-04-28 12:46:53,344 INFO L290 TraceCheckUtils]: 109: Hoare triple {99007#true} assume !(0 == ~cond); {99007#true} is VALID [2022-04-28 12:46:53,344 INFO L290 TraceCheckUtils]: 108: Hoare triple {99007#true} ~cond := #in~cond; {99007#true} is VALID [2022-04-28 12:46:53,345 INFO L272 TraceCheckUtils]: 107: Hoare triple {99446#(< ~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)); {99007#true} is VALID [2022-04-28 12:46:53,345 INFO L290 TraceCheckUtils]: 106: Hoare triple {99446#(< ~counter~0 19)} assume !!(#t~post8 < 20);havoc #t~post8; {99446#(< ~counter~0 19)} is VALID [2022-04-28 12:46:53,346 INFO L290 TraceCheckUtils]: 105: Hoare triple {99471#(< ~counter~0 18)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {99446#(< ~counter~0 19)} is VALID [2022-04-28 12:46:53,346 INFO L290 TraceCheckUtils]: 104: Hoare triple {99471#(< ~counter~0 18)} assume !(~r~0 > 0); {99471#(< ~counter~0 18)} is VALID [2022-04-28 12:46:53,346 INFO L284 TraceCheckUtils]: 103: Hoare quadruple {99007#true} {99471#(< ~counter~0 18)} #96#return; {99471#(< ~counter~0 18)} is VALID [2022-04-28 12:46:53,346 INFO L290 TraceCheckUtils]: 102: Hoare triple {99007#true} assume true; {99007#true} is VALID [2022-04-28 12:46:53,347 INFO L290 TraceCheckUtils]: 101: Hoare triple {99007#true} assume !(0 == ~cond); {99007#true} is VALID [2022-04-28 12:46:53,347 INFO L290 TraceCheckUtils]: 100: Hoare triple {99007#true} ~cond := #in~cond; {99007#true} is VALID [2022-04-28 12:46:53,347 INFO L272 TraceCheckUtils]: 99: Hoare triple {99471#(< ~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)); {99007#true} is VALID [2022-04-28 12:46:53,347 INFO L290 TraceCheckUtils]: 98: Hoare triple {99471#(< ~counter~0 18)} assume !!(#t~post7 < 20);havoc #t~post7; {99471#(< ~counter~0 18)} is VALID [2022-04-28 12:46:53,348 INFO L290 TraceCheckUtils]: 97: Hoare triple {99496#(< ~counter~0 17)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {99471#(< ~counter~0 18)} is VALID [2022-04-28 12:46:53,348 INFO L290 TraceCheckUtils]: 96: Hoare triple {99496#(< ~counter~0 17)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {99496#(< ~counter~0 17)} is VALID [2022-04-28 12:46:53,348 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {99007#true} {99496#(< ~counter~0 17)} #96#return; {99496#(< ~counter~0 17)} is VALID [2022-04-28 12:46:53,349 INFO L290 TraceCheckUtils]: 94: Hoare triple {99007#true} assume true; {99007#true} is VALID [2022-04-28 12:46:53,349 INFO L290 TraceCheckUtils]: 93: Hoare triple {99007#true} assume !(0 == ~cond); {99007#true} is VALID [2022-04-28 12:46:53,349 INFO L290 TraceCheckUtils]: 92: Hoare triple {99007#true} ~cond := #in~cond; {99007#true} is VALID [2022-04-28 12:46:53,349 INFO L272 TraceCheckUtils]: 91: Hoare triple {99496#(< ~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)); {99007#true} is VALID [2022-04-28 12:46:53,349 INFO L290 TraceCheckUtils]: 90: Hoare triple {99496#(< ~counter~0 17)} assume !!(#t~post7 < 20);havoc #t~post7; {99496#(< ~counter~0 17)} is VALID [2022-04-28 12:46:53,350 INFO L290 TraceCheckUtils]: 89: Hoare triple {99521#(< ~counter~0 16)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {99496#(< ~counter~0 17)} is VALID [2022-04-28 12:46:53,350 INFO L290 TraceCheckUtils]: 88: Hoare triple {99521#(< ~counter~0 16)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {99521#(< ~counter~0 16)} is VALID [2022-04-28 12:46:53,351 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {99007#true} {99521#(< ~counter~0 16)} #96#return; {99521#(< ~counter~0 16)} is VALID [2022-04-28 12:46:53,351 INFO L290 TraceCheckUtils]: 86: Hoare triple {99007#true} assume true; {99007#true} is VALID [2022-04-28 12:46:53,351 INFO L290 TraceCheckUtils]: 85: Hoare triple {99007#true} assume !(0 == ~cond); {99007#true} is VALID [2022-04-28 12:46:53,351 INFO L290 TraceCheckUtils]: 84: Hoare triple {99007#true} ~cond := #in~cond; {99007#true} is VALID [2022-04-28 12:46:53,351 INFO L272 TraceCheckUtils]: 83: Hoare triple {99521#(< ~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)); {99007#true} is VALID [2022-04-28 12:46:53,351 INFO L290 TraceCheckUtils]: 82: Hoare triple {99521#(< ~counter~0 16)} assume !!(#t~post7 < 20);havoc #t~post7; {99521#(< ~counter~0 16)} is VALID [2022-04-28 12:46:53,352 INFO L290 TraceCheckUtils]: 81: Hoare triple {99546#(< ~counter~0 15)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {99521#(< ~counter~0 16)} is VALID [2022-04-28 12:46:53,352 INFO L290 TraceCheckUtils]: 80: Hoare triple {99546#(< ~counter~0 15)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {99546#(< ~counter~0 15)} is VALID [2022-04-28 12:46:53,353 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {99007#true} {99546#(< ~counter~0 15)} #96#return; {99546#(< ~counter~0 15)} is VALID [2022-04-28 12:46:53,353 INFO L290 TraceCheckUtils]: 78: Hoare triple {99007#true} assume true; {99007#true} is VALID [2022-04-28 12:46:53,353 INFO L290 TraceCheckUtils]: 77: Hoare triple {99007#true} assume !(0 == ~cond); {99007#true} is VALID [2022-04-28 12:46:53,353 INFO L290 TraceCheckUtils]: 76: Hoare triple {99007#true} ~cond := #in~cond; {99007#true} is VALID [2022-04-28 12:46:53,353 INFO L272 TraceCheckUtils]: 75: Hoare triple {99546#(< ~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)); {99007#true} is VALID [2022-04-28 12:46:53,353 INFO L290 TraceCheckUtils]: 74: Hoare triple {99546#(< ~counter~0 15)} assume !!(#t~post7 < 20);havoc #t~post7; {99546#(< ~counter~0 15)} is VALID [2022-04-28 12:46:53,354 INFO L290 TraceCheckUtils]: 73: Hoare triple {99364#(<= ~counter~0 13)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {99546#(< ~counter~0 15)} is VALID [2022-04-28 12:46:53,354 INFO L290 TraceCheckUtils]: 72: Hoare triple {99364#(<= ~counter~0 13)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {99364#(<= ~counter~0 13)} is VALID [2022-04-28 12:46:53,355 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {99007#true} {99364#(<= ~counter~0 13)} #96#return; {99364#(<= ~counter~0 13)} is VALID [2022-04-28 12:46:53,355 INFO L290 TraceCheckUtils]: 70: Hoare triple {99007#true} assume true; {99007#true} is VALID [2022-04-28 12:46:53,355 INFO L290 TraceCheckUtils]: 69: Hoare triple {99007#true} assume !(0 == ~cond); {99007#true} is VALID [2022-04-28 12:46:53,355 INFO L290 TraceCheckUtils]: 68: Hoare triple {99007#true} ~cond := #in~cond; {99007#true} is VALID [2022-04-28 12:46:53,355 INFO L272 TraceCheckUtils]: 67: Hoare triple {99364#(<= ~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)); {99007#true} is VALID [2022-04-28 12:46:53,355 INFO L290 TraceCheckUtils]: 66: Hoare triple {99364#(<= ~counter~0 13)} assume !!(#t~post7 < 20);havoc #t~post7; {99364#(<= ~counter~0 13)} is VALID [2022-04-28 12:46:53,356 INFO L290 TraceCheckUtils]: 65: Hoare triple {99339#(<= ~counter~0 12)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {99364#(<= ~counter~0 13)} is VALID [2022-04-28 12:46:53,356 INFO L290 TraceCheckUtils]: 64: Hoare triple {99339#(<= ~counter~0 12)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {99339#(<= ~counter~0 12)} is VALID [2022-04-28 12:46:53,357 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {99007#true} {99339#(<= ~counter~0 12)} #96#return; {99339#(<= ~counter~0 12)} is VALID [2022-04-28 12:46:53,357 INFO L290 TraceCheckUtils]: 62: Hoare triple {99007#true} assume true; {99007#true} is VALID [2022-04-28 12:46:53,357 INFO L290 TraceCheckUtils]: 61: Hoare triple {99007#true} assume !(0 == ~cond); {99007#true} is VALID [2022-04-28 12:46:53,357 INFO L290 TraceCheckUtils]: 60: Hoare triple {99007#true} ~cond := #in~cond; {99007#true} is VALID [2022-04-28 12:46:53,357 INFO L272 TraceCheckUtils]: 59: Hoare triple {99339#(<= ~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)); {99007#true} is VALID [2022-04-28 12:46:53,357 INFO L290 TraceCheckUtils]: 58: Hoare triple {99339#(<= ~counter~0 12)} assume !!(#t~post7 < 20);havoc #t~post7; {99339#(<= ~counter~0 12)} is VALID [2022-04-28 12:46:53,358 INFO L290 TraceCheckUtils]: 57: Hoare triple {99314#(<= ~counter~0 11)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {99339#(<= ~counter~0 12)} is VALID [2022-04-28 12:46:53,359 INFO L290 TraceCheckUtils]: 56: Hoare triple {99314#(<= ~counter~0 11)} assume !!(0 != ~r~0); {99314#(<= ~counter~0 11)} is VALID [2022-04-28 12:46:53,359 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {99007#true} {99314#(<= ~counter~0 11)} #94#return; {99314#(<= ~counter~0 11)} is VALID [2022-04-28 12:46:53,359 INFO L290 TraceCheckUtils]: 54: Hoare triple {99007#true} assume true; {99007#true} is VALID [2022-04-28 12:46:53,359 INFO L290 TraceCheckUtils]: 53: Hoare triple {99007#true} assume !(0 == ~cond); {99007#true} is VALID [2022-04-28 12:46:53,359 INFO L290 TraceCheckUtils]: 52: Hoare triple {99007#true} ~cond := #in~cond; {99007#true} is VALID [2022-04-28 12:46:53,360 INFO L272 TraceCheckUtils]: 51: Hoare triple {99314#(<= ~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)); {99007#true} is VALID [2022-04-28 12:46:53,360 INFO L290 TraceCheckUtils]: 50: Hoare triple {99314#(<= ~counter~0 11)} assume !!(#t~post6 < 20);havoc #t~post6; {99314#(<= ~counter~0 11)} is VALID [2022-04-28 12:46:53,361 INFO L290 TraceCheckUtils]: 49: Hoare triple {99289#(<= ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {99314#(<= ~counter~0 11)} is VALID [2022-04-28 12:46:53,361 INFO L290 TraceCheckUtils]: 48: Hoare triple {99289#(<= ~counter~0 10)} assume !(~r~0 < 0); {99289#(<= ~counter~0 10)} is VALID [2022-04-28 12:46:53,362 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {99007#true} {99289#(<= ~counter~0 10)} #98#return; {99289#(<= ~counter~0 10)} is VALID [2022-04-28 12:46:53,362 INFO L290 TraceCheckUtils]: 46: Hoare triple {99007#true} assume true; {99007#true} is VALID [2022-04-28 12:46:53,362 INFO L290 TraceCheckUtils]: 45: Hoare triple {99007#true} assume !(0 == ~cond); {99007#true} is VALID [2022-04-28 12:46:53,362 INFO L290 TraceCheckUtils]: 44: Hoare triple {99007#true} ~cond := #in~cond; {99007#true} is VALID [2022-04-28 12:46:53,362 INFO L272 TraceCheckUtils]: 43: Hoare triple {99289#(<= ~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)); {99007#true} is VALID [2022-04-28 12:46:53,362 INFO L290 TraceCheckUtils]: 42: Hoare triple {99289#(<= ~counter~0 10)} assume !!(#t~post8 < 20);havoc #t~post8; {99289#(<= ~counter~0 10)} is VALID [2022-04-28 12:46:53,363 INFO L290 TraceCheckUtils]: 41: Hoare triple {99264#(<= ~counter~0 9)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {99289#(<= ~counter~0 10)} is VALID [2022-04-28 12:46:53,363 INFO L290 TraceCheckUtils]: 40: Hoare triple {99264#(<= ~counter~0 9)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {99264#(<= ~counter~0 9)} is VALID [2022-04-28 12:46:53,364 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {99007#true} {99264#(<= ~counter~0 9)} #98#return; {99264#(<= ~counter~0 9)} is VALID [2022-04-28 12:46:53,364 INFO L290 TraceCheckUtils]: 38: Hoare triple {99007#true} assume true; {99007#true} is VALID [2022-04-28 12:46:53,364 INFO L290 TraceCheckUtils]: 37: Hoare triple {99007#true} assume !(0 == ~cond); {99007#true} is VALID [2022-04-28 12:46:53,364 INFO L290 TraceCheckUtils]: 36: Hoare triple {99007#true} ~cond := #in~cond; {99007#true} is VALID [2022-04-28 12:46:53,364 INFO L272 TraceCheckUtils]: 35: Hoare triple {99264#(<= ~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)); {99007#true} is VALID [2022-04-28 12:46:53,364 INFO L290 TraceCheckUtils]: 34: Hoare triple {99264#(<= ~counter~0 9)} assume !!(#t~post8 < 20);havoc #t~post8; {99264#(<= ~counter~0 9)} is VALID [2022-04-28 12:46:53,365 INFO L290 TraceCheckUtils]: 33: Hoare triple {99239#(<= ~counter~0 8)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {99264#(<= ~counter~0 9)} is VALID [2022-04-28 12:46:53,366 INFO L290 TraceCheckUtils]: 32: Hoare triple {99239#(<= ~counter~0 8)} assume !(~r~0 > 0); {99239#(<= ~counter~0 8)} is VALID [2022-04-28 12:46:53,366 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {99007#true} {99239#(<= ~counter~0 8)} #96#return; {99239#(<= ~counter~0 8)} is VALID [2022-04-28 12:46:53,366 INFO L290 TraceCheckUtils]: 30: Hoare triple {99007#true} assume true; {99007#true} is VALID [2022-04-28 12:46:53,366 INFO L290 TraceCheckUtils]: 29: Hoare triple {99007#true} assume !(0 == ~cond); {99007#true} is VALID [2022-04-28 12:46:53,366 INFO L290 TraceCheckUtils]: 28: Hoare triple {99007#true} ~cond := #in~cond; {99007#true} is VALID [2022-04-28 12:46:53,366 INFO L272 TraceCheckUtils]: 27: Hoare triple {99239#(<= ~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)); {99007#true} is VALID [2022-04-28 12:46:53,367 INFO L290 TraceCheckUtils]: 26: Hoare triple {99239#(<= ~counter~0 8)} assume !!(#t~post7 < 20);havoc #t~post7; {99239#(<= ~counter~0 8)} is VALID [2022-04-28 12:46:53,367 INFO L290 TraceCheckUtils]: 25: Hoare triple {99214#(<= ~counter~0 7)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {99239#(<= ~counter~0 8)} is VALID [2022-04-28 12:46:53,368 INFO L290 TraceCheckUtils]: 24: Hoare triple {99214#(<= ~counter~0 7)} assume !!(0 != ~r~0); {99214#(<= ~counter~0 7)} is VALID [2022-04-28 12:46:53,368 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {99007#true} {99214#(<= ~counter~0 7)} #94#return; {99214#(<= ~counter~0 7)} is VALID [2022-04-28 12:46:53,368 INFO L290 TraceCheckUtils]: 22: Hoare triple {99007#true} assume true; {99007#true} is VALID [2022-04-28 12:46:53,368 INFO L290 TraceCheckUtils]: 21: Hoare triple {99007#true} assume !(0 == ~cond); {99007#true} is VALID [2022-04-28 12:46:53,368 INFO L290 TraceCheckUtils]: 20: Hoare triple {99007#true} ~cond := #in~cond; {99007#true} is VALID [2022-04-28 12:46:53,368 INFO L272 TraceCheckUtils]: 19: Hoare triple {99214#(<= ~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)); {99007#true} is VALID [2022-04-28 12:46:53,369 INFO L290 TraceCheckUtils]: 18: Hoare triple {99214#(<= ~counter~0 7)} assume !!(#t~post6 < 20);havoc #t~post6; {99214#(<= ~counter~0 7)} is VALID [2022-04-28 12:46:53,369 INFO L290 TraceCheckUtils]: 17: Hoare triple {99189#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {99214#(<= ~counter~0 7)} is VALID [2022-04-28 12:46:53,370 INFO L290 TraceCheckUtils]: 16: Hoare triple {99189#(<= ~counter~0 6)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {99189#(<= ~counter~0 6)} is VALID [2022-04-28 12:46:53,370 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {99007#true} {99189#(<= ~counter~0 6)} #92#return; {99189#(<= ~counter~0 6)} is VALID [2022-04-28 12:46:53,370 INFO L290 TraceCheckUtils]: 14: Hoare triple {99007#true} assume true; {99007#true} is VALID [2022-04-28 12:46:53,370 INFO L290 TraceCheckUtils]: 13: Hoare triple {99007#true} assume !(0 == ~cond); {99007#true} is VALID [2022-04-28 12:46:53,370 INFO L290 TraceCheckUtils]: 12: Hoare triple {99007#true} ~cond := #in~cond; {99007#true} is VALID [2022-04-28 12:46:53,370 INFO L272 TraceCheckUtils]: 11: Hoare triple {99189#(<= ~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)); {99007#true} is VALID [2022-04-28 12:46:53,371 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {99007#true} {99189#(<= ~counter~0 6)} #90#return; {99189#(<= ~counter~0 6)} is VALID [2022-04-28 12:46:53,371 INFO L290 TraceCheckUtils]: 9: Hoare triple {99007#true} assume true; {99007#true} is VALID [2022-04-28 12:46:53,371 INFO L290 TraceCheckUtils]: 8: Hoare triple {99007#true} assume !(0 == ~cond); {99007#true} is VALID [2022-04-28 12:46:53,371 INFO L290 TraceCheckUtils]: 7: Hoare triple {99007#true} ~cond := #in~cond; {99007#true} is VALID [2022-04-28 12:46:53,371 INFO L272 TraceCheckUtils]: 6: Hoare triple {99189#(<= ~counter~0 6)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {99007#true} is VALID [2022-04-28 12:46:53,371 INFO L290 TraceCheckUtils]: 5: Hoare triple {99189#(<= ~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; {99189#(<= ~counter~0 6)} is VALID [2022-04-28 12:46:53,372 INFO L272 TraceCheckUtils]: 4: Hoare triple {99189#(<= ~counter~0 6)} call #t~ret9 := main(); {99189#(<= ~counter~0 6)} is VALID [2022-04-28 12:46:53,372 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {99189#(<= ~counter~0 6)} {99007#true} #102#return; {99189#(<= ~counter~0 6)} is VALID [2022-04-28 12:46:53,372 INFO L290 TraceCheckUtils]: 2: Hoare triple {99189#(<= ~counter~0 6)} assume true; {99189#(<= ~counter~0 6)} is VALID [2022-04-28 12:46:53,373 INFO L290 TraceCheckUtils]: 1: Hoare triple {99007#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; {99189#(<= ~counter~0 6)} is VALID [2022-04-28 12:46:53,373 INFO L272 TraceCheckUtils]: 0: Hoare triple {99007#true} call ULTIMATE.init(); {99007#true} is VALID [2022-04-28 12:46:53,373 INFO L134 CoverageAnalysis]: Checked inductivity of 458 backedges. 26 proven. 116 refuted. 0 times theorem prover too weak. 316 trivial. 0 not checked. [2022-04-28 12:46:53,373 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:46:53,373 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1814165813] [2022-04-28 12:46:53,373 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:46:53,374 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1378629479] [2022-04-28 12:46:53,374 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1378629479] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:46:53,374 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:46:53,374 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 17] total 24 [2022-04-28 12:46:53,374 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:46:53,374 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [552574946] [2022-04-28 12:46:53,374 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [552574946] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:46:53,374 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:46:53,374 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-28 12:46:53,374 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1028850733] [2022-04-28 12:46:53,374 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:46:53,375 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 17 states have (on average 5.294117647058823) internal successors, (90), 16 states have internal predecessors, (90), 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 127 [2022-04-28 12:46:53,375 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:46:53,375 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 17 states, 17 states have (on average 5.294117647058823) internal successors, (90), 16 states have internal predecessors, (90), 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:46:53,503 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 124 edges. 124 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:46:53,504 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-28 12:46:53,504 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:46:53,504 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-28 12:46:53,504 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=236, Invalid=316, Unknown=0, NotChecked=0, Total=552 [2022-04-28 12:46:53,504 INFO L87 Difference]: Start difference. First operand 686 states and 906 transitions. Second operand has 17 states, 17 states have (on average 5.294117647058823) internal successors, (90), 16 states have internal predecessors, (90), 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:46:56,635 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:46:56,635 INFO L93 Difference]: Finished difference Result 745 states and 986 transitions. [2022-04-28 12:46:56,635 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 27 states. [2022-04-28 12:46:56,635 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 17 states have (on average 5.294117647058823) internal successors, (90), 16 states have internal predecessors, (90), 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 127 [2022-04-28 12:46:56,636 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:46:56,636 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 17 states have (on average 5.294117647058823) internal successors, (90), 16 states have internal predecessors, (90), 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:46:56,637 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 274 transitions. [2022-04-28 12:46:56,638 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 17 states have (on average 5.294117647058823) internal successors, (90), 16 states have internal predecessors, (90), 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:46:56,639 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 274 transitions. [2022-04-28 12:46:56,639 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 27 states and 274 transitions. [2022-04-28 12:46:56,877 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 274 edges. 274 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:46:56,902 INFO L225 Difference]: With dead ends: 745 [2022-04-28 12:46:56,902 INFO L226 Difference]: Without dead ends: 734 [2022-04-28 12:46:56,903 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 263 GetRequests, 230 SyntacticMatches, 1 SemanticMatches, 32 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 83 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=439, Invalid=683, Unknown=0, NotChecked=0, Total=1122 [2022-04-28 12:46:56,903 INFO L413 NwaCegarLoop]: 69 mSDtfsCounter, 187 mSDsluCounter, 239 mSDsCounter, 0 mSdLazyCounter, 174 mSolverCounterSat, 158 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 187 SdHoareTripleChecker+Valid, 308 SdHoareTripleChecker+Invalid, 332 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 158 IncrementalHoareTripleChecker+Valid, 174 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 12:46:56,903 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [187 Valid, 308 Invalid, 332 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [158 Valid, 174 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 12:46:56,903 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 734 states. [2022-04-28 12:46:58,839 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 734 to 712. [2022-04-28 12:46:58,839 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:46:58,840 INFO L82 GeneralOperation]: Start isEquivalent. First operand 734 states. Second operand has 712 states, 532 states have (on average 1.2030075187969924) internal successors, (640), 542 states have internal predecessors, (640), 153 states have call successors, (153), 28 states have call predecessors, (153), 26 states have return successors, (151), 141 states have call predecessors, (151), 151 states have call successors, (151) [2022-04-28 12:46:58,840 INFO L74 IsIncluded]: Start isIncluded. First operand 734 states. Second operand has 712 states, 532 states have (on average 1.2030075187969924) internal successors, (640), 542 states have internal predecessors, (640), 153 states have call successors, (153), 28 states have call predecessors, (153), 26 states have return successors, (151), 141 states have call predecessors, (151), 151 states have call successors, (151) [2022-04-28 12:46:58,841 INFO L87 Difference]: Start difference. First operand 734 states. Second operand has 712 states, 532 states have (on average 1.2030075187969924) internal successors, (640), 542 states have internal predecessors, (640), 153 states have call successors, (153), 28 states have call predecessors, (153), 26 states have return successors, (151), 141 states have call predecessors, (151), 151 states have call successors, (151) [2022-04-28 12:46:58,858 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:46:58,858 INFO L93 Difference]: Finished difference Result 734 states and 970 transitions. [2022-04-28 12:46:58,858 INFO L276 IsEmpty]: Start isEmpty. Operand 734 states and 970 transitions. [2022-04-28 12:46:58,859 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:46:58,859 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:46:58,860 INFO L74 IsIncluded]: Start isIncluded. First operand has 712 states, 532 states have (on average 1.2030075187969924) internal successors, (640), 542 states have internal predecessors, (640), 153 states have call successors, (153), 28 states have call predecessors, (153), 26 states have return successors, (151), 141 states have call predecessors, (151), 151 states have call successors, (151) Second operand 734 states. [2022-04-28 12:46:58,860 INFO L87 Difference]: Start difference. First operand has 712 states, 532 states have (on average 1.2030075187969924) internal successors, (640), 542 states have internal predecessors, (640), 153 states have call successors, (153), 28 states have call predecessors, (153), 26 states have return successors, (151), 141 states have call predecessors, (151), 151 states have call successors, (151) Second operand 734 states. [2022-04-28 12:46:58,877 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:46:58,877 INFO L93 Difference]: Finished difference Result 734 states and 970 transitions. [2022-04-28 12:46:58,877 INFO L276 IsEmpty]: Start isEmpty. Operand 734 states and 970 transitions. [2022-04-28 12:46:58,877 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:46:58,877 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:46:58,878 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:46:58,878 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:46:58,878 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 712 states, 532 states have (on average 1.2030075187969924) internal successors, (640), 542 states have internal predecessors, (640), 153 states have call successors, (153), 28 states have call predecessors, (153), 26 states have return successors, (151), 141 states have call predecessors, (151), 151 states have call successors, (151) [2022-04-28 12:46:58,899 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 712 states to 712 states and 944 transitions. [2022-04-28 12:46:58,900 INFO L78 Accepts]: Start accepts. Automaton has 712 states and 944 transitions. Word has length 127 [2022-04-28 12:46:58,900 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:46:58,900 INFO L495 AbstractCegarLoop]: Abstraction has 712 states and 944 transitions. [2022-04-28 12:46:58,900 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 17 states have (on average 5.294117647058823) internal successors, (90), 16 states have internal predecessors, (90), 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:46:58,900 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 712 states and 944 transitions. [2022-04-28 12:47:20,618 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 944 edges. 939 inductive. 0 not inductive. 5 times theorem prover too weak to decide inductivity. [2022-04-28 12:47:20,618 INFO L276 IsEmpty]: Start isEmpty. Operand 712 states and 944 transitions. [2022-04-28 12:47:20,619 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 130 [2022-04-28 12:47:20,619 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:47:20,621 INFO L195 NwaCegarLoop]: trace histogram [14, 13, 13, 6, 6, 6, 6, 5, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:47:20,643 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (43)] Ended with exit code 0 [2022-04-28 12:47:20,821 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable41,43 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:47:20,821 INFO L420 AbstractCegarLoop]: === Iteration 43 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:47:20,822 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:47:20,822 INFO L85 PathProgramCache]: Analyzing trace with hash -1410231607, now seen corresponding path program 19 times [2022-04-28 12:47:20,822 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:47:20,822 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1856039974] [2022-04-28 12:47:20,823 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:47:20,823 INFO L85 PathProgramCache]: Analyzing trace with hash -1410231607, now seen corresponding path program 20 times [2022-04-28 12:47:20,823 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:47:20,823 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [758674709] [2022-04-28 12:47:20,823 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:47:20,823 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:47:20,834 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:47:20,834 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [346547635] [2022-04-28 12:47:20,835 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:47:20,835 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:47:20,835 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:47:20,836 INFO L229 MonitoredProcess]: Starting monitored process 44 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:47:20,844 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (44)] Waiting until timeout for monitored process [2022-04-28 12:47:20,896 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:47:20,897 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:47:20,898 INFO L263 TraceCheckSpWp]: Trace formula consists of 313 conjuncts, 31 conjunts are in the unsatisfiable core [2022-04-28 12:47:20,923 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:47:20,924 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:47:21,542 INFO L272 TraceCheckUtils]: 0: Hoare triple {104194#true} call ULTIMATE.init(); {104194#true} is VALID [2022-04-28 12:47:21,543 INFO L290 TraceCheckUtils]: 1: Hoare triple {104194#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; {104202#(<= ~counter~0 0)} is VALID [2022-04-28 12:47:21,543 INFO L290 TraceCheckUtils]: 2: Hoare triple {104202#(<= ~counter~0 0)} assume true; {104202#(<= ~counter~0 0)} is VALID [2022-04-28 12:47:21,544 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {104202#(<= ~counter~0 0)} {104194#true} #102#return; {104202#(<= ~counter~0 0)} is VALID [2022-04-28 12:47:21,544 INFO L272 TraceCheckUtils]: 4: Hoare triple {104202#(<= ~counter~0 0)} call #t~ret9 := main(); {104202#(<= ~counter~0 0)} is VALID [2022-04-28 12:47:21,544 INFO L290 TraceCheckUtils]: 5: Hoare triple {104202#(<= ~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; {104202#(<= ~counter~0 0)} is VALID [2022-04-28 12:47:21,544 INFO L272 TraceCheckUtils]: 6: Hoare triple {104202#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {104202#(<= ~counter~0 0)} is VALID [2022-04-28 12:47:21,545 INFO L290 TraceCheckUtils]: 7: Hoare triple {104202#(<= ~counter~0 0)} ~cond := #in~cond; {104202#(<= ~counter~0 0)} is VALID [2022-04-28 12:47:21,545 INFO L290 TraceCheckUtils]: 8: Hoare triple {104202#(<= ~counter~0 0)} assume !(0 == ~cond); {104202#(<= ~counter~0 0)} is VALID [2022-04-28 12:47:21,545 INFO L290 TraceCheckUtils]: 9: Hoare triple {104202#(<= ~counter~0 0)} assume true; {104202#(<= ~counter~0 0)} is VALID [2022-04-28 12:47:21,546 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {104202#(<= ~counter~0 0)} {104202#(<= ~counter~0 0)} #90#return; {104202#(<= ~counter~0 0)} is VALID [2022-04-28 12:47:21,546 INFO L272 TraceCheckUtils]: 11: Hoare triple {104202#(<= ~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)); {104202#(<= ~counter~0 0)} is VALID [2022-04-28 12:47:21,546 INFO L290 TraceCheckUtils]: 12: Hoare triple {104202#(<= ~counter~0 0)} ~cond := #in~cond; {104202#(<= ~counter~0 0)} is VALID [2022-04-28 12:47:21,546 INFO L290 TraceCheckUtils]: 13: Hoare triple {104202#(<= ~counter~0 0)} assume !(0 == ~cond); {104202#(<= ~counter~0 0)} is VALID [2022-04-28 12:47:21,547 INFO L290 TraceCheckUtils]: 14: Hoare triple {104202#(<= ~counter~0 0)} assume true; {104202#(<= ~counter~0 0)} is VALID [2022-04-28 12:47:21,547 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {104202#(<= ~counter~0 0)} {104202#(<= ~counter~0 0)} #92#return; {104202#(<= ~counter~0 0)} is VALID [2022-04-28 12:47:21,547 INFO L290 TraceCheckUtils]: 16: Hoare triple {104202#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {104202#(<= ~counter~0 0)} is VALID [2022-04-28 12:47:21,549 INFO L290 TraceCheckUtils]: 17: Hoare triple {104202#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {104251#(<= ~counter~0 1)} is VALID [2022-04-28 12:47:21,550 INFO L290 TraceCheckUtils]: 18: Hoare triple {104251#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {104251#(<= ~counter~0 1)} is VALID [2022-04-28 12:47:21,550 INFO L272 TraceCheckUtils]: 19: Hoare triple {104251#(<= ~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)); {104251#(<= ~counter~0 1)} is VALID [2022-04-28 12:47:21,550 INFO L290 TraceCheckUtils]: 20: Hoare triple {104251#(<= ~counter~0 1)} ~cond := #in~cond; {104251#(<= ~counter~0 1)} is VALID [2022-04-28 12:47:21,551 INFO L290 TraceCheckUtils]: 21: Hoare triple {104251#(<= ~counter~0 1)} assume !(0 == ~cond); {104251#(<= ~counter~0 1)} is VALID [2022-04-28 12:47:21,551 INFO L290 TraceCheckUtils]: 22: Hoare triple {104251#(<= ~counter~0 1)} assume true; {104251#(<= ~counter~0 1)} is VALID [2022-04-28 12:47:21,551 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {104251#(<= ~counter~0 1)} {104251#(<= ~counter~0 1)} #94#return; {104251#(<= ~counter~0 1)} is VALID [2022-04-28 12:47:21,551 INFO L290 TraceCheckUtils]: 24: Hoare triple {104251#(<= ~counter~0 1)} assume !!(0 != ~r~0); {104251#(<= ~counter~0 1)} is VALID [2022-04-28 12:47:21,553 INFO L290 TraceCheckUtils]: 25: Hoare triple {104251#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {104276#(<= ~counter~0 2)} is VALID [2022-04-28 12:47:21,553 INFO L290 TraceCheckUtils]: 26: Hoare triple {104276#(<= ~counter~0 2)} assume !!(#t~post7 < 20);havoc #t~post7; {104276#(<= ~counter~0 2)} is VALID [2022-04-28 12:47:21,553 INFO L272 TraceCheckUtils]: 27: Hoare triple {104276#(<= ~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)); {104276#(<= ~counter~0 2)} is VALID [2022-04-28 12:47:21,554 INFO L290 TraceCheckUtils]: 28: Hoare triple {104276#(<= ~counter~0 2)} ~cond := #in~cond; {104276#(<= ~counter~0 2)} is VALID [2022-04-28 12:47:21,554 INFO L290 TraceCheckUtils]: 29: Hoare triple {104276#(<= ~counter~0 2)} assume !(0 == ~cond); {104276#(<= ~counter~0 2)} is VALID [2022-04-28 12:47:21,554 INFO L290 TraceCheckUtils]: 30: Hoare triple {104276#(<= ~counter~0 2)} assume true; {104276#(<= ~counter~0 2)} is VALID [2022-04-28 12:47:21,554 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {104276#(<= ~counter~0 2)} {104276#(<= ~counter~0 2)} #96#return; {104276#(<= ~counter~0 2)} is VALID [2022-04-28 12:47:21,555 INFO L290 TraceCheckUtils]: 32: Hoare triple {104276#(<= ~counter~0 2)} assume !(~r~0 > 0); {104276#(<= ~counter~0 2)} is VALID [2022-04-28 12:47:21,556 INFO L290 TraceCheckUtils]: 33: Hoare triple {104276#(<= ~counter~0 2)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {104301#(<= ~counter~0 3)} is VALID [2022-04-28 12:47:21,556 INFO L290 TraceCheckUtils]: 34: Hoare triple {104301#(<= ~counter~0 3)} assume !!(#t~post8 < 20);havoc #t~post8; {104301#(<= ~counter~0 3)} is VALID [2022-04-28 12:47:21,557 INFO L272 TraceCheckUtils]: 35: Hoare triple {104301#(<= ~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)); {104301#(<= ~counter~0 3)} is VALID [2022-04-28 12:47:21,557 INFO L290 TraceCheckUtils]: 36: Hoare triple {104301#(<= ~counter~0 3)} ~cond := #in~cond; {104301#(<= ~counter~0 3)} is VALID [2022-04-28 12:47:21,557 INFO L290 TraceCheckUtils]: 37: Hoare triple {104301#(<= ~counter~0 3)} assume !(0 == ~cond); {104301#(<= ~counter~0 3)} is VALID [2022-04-28 12:47:21,557 INFO L290 TraceCheckUtils]: 38: Hoare triple {104301#(<= ~counter~0 3)} assume true; {104301#(<= ~counter~0 3)} is VALID [2022-04-28 12:47:21,558 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {104301#(<= ~counter~0 3)} {104301#(<= ~counter~0 3)} #98#return; {104301#(<= ~counter~0 3)} is VALID [2022-04-28 12:47:21,558 INFO L290 TraceCheckUtils]: 40: Hoare triple {104301#(<= ~counter~0 3)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {104301#(<= ~counter~0 3)} is VALID [2022-04-28 12:47:21,559 INFO L290 TraceCheckUtils]: 41: Hoare triple {104301#(<= ~counter~0 3)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {104326#(<= ~counter~0 4)} is VALID [2022-04-28 12:47:21,559 INFO L290 TraceCheckUtils]: 42: Hoare triple {104326#(<= ~counter~0 4)} assume !!(#t~post8 < 20);havoc #t~post8; {104326#(<= ~counter~0 4)} is VALID [2022-04-28 12:47:21,560 INFO L272 TraceCheckUtils]: 43: Hoare triple {104326#(<= ~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)); {104326#(<= ~counter~0 4)} is VALID [2022-04-28 12:47:21,560 INFO L290 TraceCheckUtils]: 44: Hoare triple {104326#(<= ~counter~0 4)} ~cond := #in~cond; {104326#(<= ~counter~0 4)} is VALID [2022-04-28 12:47:21,560 INFO L290 TraceCheckUtils]: 45: Hoare triple {104326#(<= ~counter~0 4)} assume !(0 == ~cond); {104326#(<= ~counter~0 4)} is VALID [2022-04-28 12:47:21,560 INFO L290 TraceCheckUtils]: 46: Hoare triple {104326#(<= ~counter~0 4)} assume true; {104326#(<= ~counter~0 4)} is VALID [2022-04-28 12:47:21,561 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {104326#(<= ~counter~0 4)} {104326#(<= ~counter~0 4)} #98#return; {104326#(<= ~counter~0 4)} is VALID [2022-04-28 12:47:21,561 INFO L290 TraceCheckUtils]: 48: Hoare triple {104326#(<= ~counter~0 4)} assume !(~r~0 < 0); {104326#(<= ~counter~0 4)} is VALID [2022-04-28 12:47:21,562 INFO L290 TraceCheckUtils]: 49: Hoare triple {104326#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {104351#(<= ~counter~0 5)} is VALID [2022-04-28 12:47:21,562 INFO L290 TraceCheckUtils]: 50: Hoare triple {104351#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {104351#(<= ~counter~0 5)} is VALID [2022-04-28 12:47:21,563 INFO L272 TraceCheckUtils]: 51: Hoare triple {104351#(<= ~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)); {104351#(<= ~counter~0 5)} is VALID [2022-04-28 12:47:21,563 INFO L290 TraceCheckUtils]: 52: Hoare triple {104351#(<= ~counter~0 5)} ~cond := #in~cond; {104351#(<= ~counter~0 5)} is VALID [2022-04-28 12:47:21,563 INFO L290 TraceCheckUtils]: 53: Hoare triple {104351#(<= ~counter~0 5)} assume !(0 == ~cond); {104351#(<= ~counter~0 5)} is VALID [2022-04-28 12:47:21,564 INFO L290 TraceCheckUtils]: 54: Hoare triple {104351#(<= ~counter~0 5)} assume true; {104351#(<= ~counter~0 5)} is VALID [2022-04-28 12:47:21,564 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {104351#(<= ~counter~0 5)} {104351#(<= ~counter~0 5)} #94#return; {104351#(<= ~counter~0 5)} is VALID [2022-04-28 12:47:21,564 INFO L290 TraceCheckUtils]: 56: Hoare triple {104351#(<= ~counter~0 5)} assume !!(0 != ~r~0); {104351#(<= ~counter~0 5)} is VALID [2022-04-28 12:47:21,566 INFO L290 TraceCheckUtils]: 57: Hoare triple {104351#(<= ~counter~0 5)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {104376#(<= ~counter~0 6)} is VALID [2022-04-28 12:47:21,566 INFO L290 TraceCheckUtils]: 58: Hoare triple {104376#(<= ~counter~0 6)} assume !!(#t~post7 < 20);havoc #t~post7; {104376#(<= ~counter~0 6)} is VALID [2022-04-28 12:47:21,566 INFO L272 TraceCheckUtils]: 59: Hoare triple {104376#(<= ~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)); {104376#(<= ~counter~0 6)} is VALID [2022-04-28 12:47:21,566 INFO L290 TraceCheckUtils]: 60: Hoare triple {104376#(<= ~counter~0 6)} ~cond := #in~cond; {104376#(<= ~counter~0 6)} is VALID [2022-04-28 12:47:21,567 INFO L290 TraceCheckUtils]: 61: Hoare triple {104376#(<= ~counter~0 6)} assume !(0 == ~cond); {104376#(<= ~counter~0 6)} is VALID [2022-04-28 12:47:21,567 INFO L290 TraceCheckUtils]: 62: Hoare triple {104376#(<= ~counter~0 6)} assume true; {104376#(<= ~counter~0 6)} is VALID [2022-04-28 12:47:21,567 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {104376#(<= ~counter~0 6)} {104376#(<= ~counter~0 6)} #96#return; {104376#(<= ~counter~0 6)} is VALID [2022-04-28 12:47:21,568 INFO L290 TraceCheckUtils]: 64: Hoare triple {104376#(<= ~counter~0 6)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {104376#(<= ~counter~0 6)} is VALID [2022-04-28 12:47:21,569 INFO L290 TraceCheckUtils]: 65: Hoare triple {104376#(<= ~counter~0 6)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {104401#(<= ~counter~0 7)} is VALID [2022-04-28 12:47:21,569 INFO L290 TraceCheckUtils]: 66: Hoare triple {104401#(<= ~counter~0 7)} assume !!(#t~post7 < 20);havoc #t~post7; {104401#(<= ~counter~0 7)} is VALID [2022-04-28 12:47:21,570 INFO L272 TraceCheckUtils]: 67: Hoare triple {104401#(<= ~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)); {104401#(<= ~counter~0 7)} is VALID [2022-04-28 12:47:21,570 INFO L290 TraceCheckUtils]: 68: Hoare triple {104401#(<= ~counter~0 7)} ~cond := #in~cond; {104401#(<= ~counter~0 7)} is VALID [2022-04-28 12:47:21,570 INFO L290 TraceCheckUtils]: 69: Hoare triple {104401#(<= ~counter~0 7)} assume !(0 == ~cond); {104401#(<= ~counter~0 7)} is VALID [2022-04-28 12:47:21,570 INFO L290 TraceCheckUtils]: 70: Hoare triple {104401#(<= ~counter~0 7)} assume true; {104401#(<= ~counter~0 7)} is VALID [2022-04-28 12:47:21,571 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {104401#(<= ~counter~0 7)} {104401#(<= ~counter~0 7)} #96#return; {104401#(<= ~counter~0 7)} is VALID [2022-04-28 12:47:21,571 INFO L290 TraceCheckUtils]: 72: Hoare triple {104401#(<= ~counter~0 7)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {104401#(<= ~counter~0 7)} is VALID [2022-04-28 12:47:21,572 INFO L290 TraceCheckUtils]: 73: Hoare triple {104401#(<= ~counter~0 7)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {104426#(<= ~counter~0 8)} is VALID [2022-04-28 12:47:21,572 INFO L290 TraceCheckUtils]: 74: Hoare triple {104426#(<= ~counter~0 8)} assume !!(#t~post7 < 20);havoc #t~post7; {104426#(<= ~counter~0 8)} is VALID [2022-04-28 12:47:21,573 INFO L272 TraceCheckUtils]: 75: Hoare triple {104426#(<= ~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)); {104426#(<= ~counter~0 8)} is VALID [2022-04-28 12:47:21,573 INFO L290 TraceCheckUtils]: 76: Hoare triple {104426#(<= ~counter~0 8)} ~cond := #in~cond; {104426#(<= ~counter~0 8)} is VALID [2022-04-28 12:47:21,573 INFO L290 TraceCheckUtils]: 77: Hoare triple {104426#(<= ~counter~0 8)} assume !(0 == ~cond); {104426#(<= ~counter~0 8)} is VALID [2022-04-28 12:47:21,573 INFO L290 TraceCheckUtils]: 78: Hoare triple {104426#(<= ~counter~0 8)} assume true; {104426#(<= ~counter~0 8)} is VALID [2022-04-28 12:47:21,574 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {104426#(<= ~counter~0 8)} {104426#(<= ~counter~0 8)} #96#return; {104426#(<= ~counter~0 8)} is VALID [2022-04-28 12:47:21,574 INFO L290 TraceCheckUtils]: 80: Hoare triple {104426#(<= ~counter~0 8)} assume !(~r~0 > 0); {104426#(<= ~counter~0 8)} is VALID [2022-04-28 12:47:21,576 INFO L290 TraceCheckUtils]: 81: Hoare triple {104426#(<= ~counter~0 8)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {104451#(<= ~counter~0 9)} is VALID [2022-04-28 12:47:21,576 INFO L290 TraceCheckUtils]: 82: Hoare triple {104451#(<= ~counter~0 9)} assume !!(#t~post8 < 20);havoc #t~post8; {104451#(<= ~counter~0 9)} is VALID [2022-04-28 12:47:21,576 INFO L272 TraceCheckUtils]: 83: Hoare triple {104451#(<= ~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)); {104451#(<= ~counter~0 9)} is VALID [2022-04-28 12:47:21,577 INFO L290 TraceCheckUtils]: 84: Hoare triple {104451#(<= ~counter~0 9)} ~cond := #in~cond; {104451#(<= ~counter~0 9)} is VALID [2022-04-28 12:47:21,577 INFO L290 TraceCheckUtils]: 85: Hoare triple {104451#(<= ~counter~0 9)} assume !(0 == ~cond); {104451#(<= ~counter~0 9)} is VALID [2022-04-28 12:47:21,577 INFO L290 TraceCheckUtils]: 86: Hoare triple {104451#(<= ~counter~0 9)} assume true; {104451#(<= ~counter~0 9)} is VALID [2022-04-28 12:47:21,578 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {104451#(<= ~counter~0 9)} {104451#(<= ~counter~0 9)} #98#return; {104451#(<= ~counter~0 9)} is VALID [2022-04-28 12:47:21,578 INFO L290 TraceCheckUtils]: 88: Hoare triple {104451#(<= ~counter~0 9)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {104451#(<= ~counter~0 9)} is VALID [2022-04-28 12:47:21,580 INFO L290 TraceCheckUtils]: 89: Hoare triple {104451#(<= ~counter~0 9)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {104476#(<= ~counter~0 10)} is VALID [2022-04-28 12:47:21,580 INFO L290 TraceCheckUtils]: 90: Hoare triple {104476#(<= ~counter~0 10)} assume !!(#t~post8 < 20);havoc #t~post8; {104476#(<= ~counter~0 10)} is VALID [2022-04-28 12:47:21,580 INFO L272 TraceCheckUtils]: 91: Hoare triple {104476#(<= ~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)); {104476#(<= ~counter~0 10)} is VALID [2022-04-28 12:47:21,581 INFO L290 TraceCheckUtils]: 92: Hoare triple {104476#(<= ~counter~0 10)} ~cond := #in~cond; {104476#(<= ~counter~0 10)} is VALID [2022-04-28 12:47:21,581 INFO L290 TraceCheckUtils]: 93: Hoare triple {104476#(<= ~counter~0 10)} assume !(0 == ~cond); {104476#(<= ~counter~0 10)} is VALID [2022-04-28 12:47:21,581 INFO L290 TraceCheckUtils]: 94: Hoare triple {104476#(<= ~counter~0 10)} assume true; {104476#(<= ~counter~0 10)} is VALID [2022-04-28 12:47:21,582 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {104476#(<= ~counter~0 10)} {104476#(<= ~counter~0 10)} #98#return; {104476#(<= ~counter~0 10)} is VALID [2022-04-28 12:47:21,582 INFO L290 TraceCheckUtils]: 96: Hoare triple {104476#(<= ~counter~0 10)} assume !(~r~0 < 0); {104476#(<= ~counter~0 10)} is VALID [2022-04-28 12:47:21,583 INFO L290 TraceCheckUtils]: 97: Hoare triple {104476#(<= ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {104501#(<= ~counter~0 11)} is VALID [2022-04-28 12:47:21,583 INFO L290 TraceCheckUtils]: 98: Hoare triple {104501#(<= ~counter~0 11)} assume !!(#t~post6 < 20);havoc #t~post6; {104501#(<= ~counter~0 11)} is VALID [2022-04-28 12:47:21,584 INFO L272 TraceCheckUtils]: 99: Hoare triple {104501#(<= ~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)); {104501#(<= ~counter~0 11)} is VALID [2022-04-28 12:47:21,584 INFO L290 TraceCheckUtils]: 100: Hoare triple {104501#(<= ~counter~0 11)} ~cond := #in~cond; {104501#(<= ~counter~0 11)} is VALID [2022-04-28 12:47:21,584 INFO L290 TraceCheckUtils]: 101: Hoare triple {104501#(<= ~counter~0 11)} assume !(0 == ~cond); {104501#(<= ~counter~0 11)} is VALID [2022-04-28 12:47:21,584 INFO L290 TraceCheckUtils]: 102: Hoare triple {104501#(<= ~counter~0 11)} assume true; {104501#(<= ~counter~0 11)} is VALID [2022-04-28 12:47:21,585 INFO L284 TraceCheckUtils]: 103: Hoare quadruple {104501#(<= ~counter~0 11)} {104501#(<= ~counter~0 11)} #94#return; {104501#(<= ~counter~0 11)} is VALID [2022-04-28 12:47:21,585 INFO L290 TraceCheckUtils]: 104: Hoare triple {104501#(<= ~counter~0 11)} assume !!(0 != ~r~0); {104501#(<= ~counter~0 11)} is VALID [2022-04-28 12:47:21,586 INFO L290 TraceCheckUtils]: 105: Hoare triple {104501#(<= ~counter~0 11)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {104526#(<= ~counter~0 12)} is VALID [2022-04-28 12:47:21,587 INFO L290 TraceCheckUtils]: 106: Hoare triple {104526#(<= ~counter~0 12)} assume !!(#t~post7 < 20);havoc #t~post7; {104526#(<= ~counter~0 12)} is VALID [2022-04-28 12:47:21,587 INFO L272 TraceCheckUtils]: 107: Hoare triple {104526#(<= ~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)); {104526#(<= ~counter~0 12)} is VALID [2022-04-28 12:47:21,587 INFO L290 TraceCheckUtils]: 108: Hoare triple {104526#(<= ~counter~0 12)} ~cond := #in~cond; {104526#(<= ~counter~0 12)} is VALID [2022-04-28 12:47:21,588 INFO L290 TraceCheckUtils]: 109: Hoare triple {104526#(<= ~counter~0 12)} assume !(0 == ~cond); {104526#(<= ~counter~0 12)} is VALID [2022-04-28 12:47:21,588 INFO L290 TraceCheckUtils]: 110: Hoare triple {104526#(<= ~counter~0 12)} assume true; {104526#(<= ~counter~0 12)} is VALID [2022-04-28 12:47:21,588 INFO L284 TraceCheckUtils]: 111: Hoare quadruple {104526#(<= ~counter~0 12)} {104526#(<= ~counter~0 12)} #96#return; {104526#(<= ~counter~0 12)} is VALID [2022-04-28 12:47:21,589 INFO L290 TraceCheckUtils]: 112: Hoare triple {104526#(<= ~counter~0 12)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {104526#(<= ~counter~0 12)} is VALID [2022-04-28 12:47:21,590 INFO L290 TraceCheckUtils]: 113: Hoare triple {104526#(<= ~counter~0 12)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {104551#(<= ~counter~0 13)} is VALID [2022-04-28 12:47:21,590 INFO L290 TraceCheckUtils]: 114: Hoare triple {104551#(<= ~counter~0 13)} assume !!(#t~post7 < 20);havoc #t~post7; {104551#(<= ~counter~0 13)} is VALID [2022-04-28 12:47:21,590 INFO L272 TraceCheckUtils]: 115: Hoare triple {104551#(<= ~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)); {104551#(<= ~counter~0 13)} is VALID [2022-04-28 12:47:21,591 INFO L290 TraceCheckUtils]: 116: Hoare triple {104551#(<= ~counter~0 13)} ~cond := #in~cond; {104551#(<= ~counter~0 13)} is VALID [2022-04-28 12:47:21,591 INFO L290 TraceCheckUtils]: 117: Hoare triple {104551#(<= ~counter~0 13)} assume !(0 == ~cond); {104551#(<= ~counter~0 13)} is VALID [2022-04-28 12:47:21,591 INFO L290 TraceCheckUtils]: 118: Hoare triple {104551#(<= ~counter~0 13)} assume true; {104551#(<= ~counter~0 13)} is VALID [2022-04-28 12:47:21,592 INFO L284 TraceCheckUtils]: 119: Hoare quadruple {104551#(<= ~counter~0 13)} {104551#(<= ~counter~0 13)} #96#return; {104551#(<= ~counter~0 13)} is VALID [2022-04-28 12:47:21,592 INFO L290 TraceCheckUtils]: 120: Hoare triple {104551#(<= ~counter~0 13)} assume !(~r~0 > 0); {104551#(<= ~counter~0 13)} is VALID [2022-04-28 12:47:21,592 INFO L290 TraceCheckUtils]: 121: Hoare triple {104551#(<= ~counter~0 13)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {104576#(<= |main_#t~post8| 13)} is VALID [2022-04-28 12:47:21,593 INFO L290 TraceCheckUtils]: 122: Hoare triple {104576#(<= |main_#t~post8| 13)} assume !(#t~post8 < 20);havoc #t~post8; {104195#false} is VALID [2022-04-28 12:47:21,593 INFO L290 TraceCheckUtils]: 123: Hoare triple {104195#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {104195#false} is VALID [2022-04-28 12:47:21,593 INFO L290 TraceCheckUtils]: 124: Hoare triple {104195#false} assume !(#t~post6 < 20);havoc #t~post6; {104195#false} is VALID [2022-04-28 12:47:21,593 INFO L272 TraceCheckUtils]: 125: Hoare triple {104195#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)); {104195#false} is VALID [2022-04-28 12:47:21,593 INFO L290 TraceCheckUtils]: 126: Hoare triple {104195#false} ~cond := #in~cond; {104195#false} is VALID [2022-04-28 12:47:21,593 INFO L290 TraceCheckUtils]: 127: Hoare triple {104195#false} assume 0 == ~cond; {104195#false} is VALID [2022-04-28 12:47:21,593 INFO L290 TraceCheckUtils]: 128: Hoare triple {104195#false} assume !false; {104195#false} is VALID [2022-04-28 12:47:21,593 INFO L134 CoverageAnalysis]: Checked inductivity of 452 backedges. 32 proven. 416 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:47:21,594 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:47:22,178 INFO L290 TraceCheckUtils]: 128: Hoare triple {104195#false} assume !false; {104195#false} is VALID [2022-04-28 12:47:22,178 INFO L290 TraceCheckUtils]: 127: Hoare triple {104195#false} assume 0 == ~cond; {104195#false} is VALID [2022-04-28 12:47:22,178 INFO L290 TraceCheckUtils]: 126: Hoare triple {104195#false} ~cond := #in~cond; {104195#false} is VALID [2022-04-28 12:47:22,178 INFO L272 TraceCheckUtils]: 125: Hoare triple {104195#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)); {104195#false} is VALID [2022-04-28 12:47:22,178 INFO L290 TraceCheckUtils]: 124: Hoare triple {104195#false} assume !(#t~post6 < 20);havoc #t~post6; {104195#false} is VALID [2022-04-28 12:47:22,178 INFO L290 TraceCheckUtils]: 123: Hoare triple {104195#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {104195#false} is VALID [2022-04-28 12:47:22,179 INFO L290 TraceCheckUtils]: 122: Hoare triple {104616#(< |main_#t~post8| 20)} assume !(#t~post8 < 20);havoc #t~post8; {104195#false} is VALID [2022-04-28 12:47:22,179 INFO L290 TraceCheckUtils]: 121: Hoare triple {104620#(< ~counter~0 20)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {104616#(< |main_#t~post8| 20)} is VALID [2022-04-28 12:47:22,179 INFO L290 TraceCheckUtils]: 120: Hoare triple {104620#(< ~counter~0 20)} assume !(~r~0 > 0); {104620#(< ~counter~0 20)} is VALID [2022-04-28 12:47:22,180 INFO L284 TraceCheckUtils]: 119: Hoare quadruple {104194#true} {104620#(< ~counter~0 20)} #96#return; {104620#(< ~counter~0 20)} is VALID [2022-04-28 12:47:22,180 INFO L290 TraceCheckUtils]: 118: Hoare triple {104194#true} assume true; {104194#true} is VALID [2022-04-28 12:47:22,180 INFO L290 TraceCheckUtils]: 117: Hoare triple {104194#true} assume !(0 == ~cond); {104194#true} is VALID [2022-04-28 12:47:22,180 INFO L290 TraceCheckUtils]: 116: Hoare triple {104194#true} ~cond := #in~cond; {104194#true} is VALID [2022-04-28 12:47:22,180 INFO L272 TraceCheckUtils]: 115: Hoare triple {104620#(< ~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)); {104194#true} is VALID [2022-04-28 12:47:22,180 INFO L290 TraceCheckUtils]: 114: Hoare triple {104620#(< ~counter~0 20)} assume !!(#t~post7 < 20);havoc #t~post7; {104620#(< ~counter~0 20)} is VALID [2022-04-28 12:47:22,182 INFO L290 TraceCheckUtils]: 113: Hoare triple {104645#(< ~counter~0 19)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {104620#(< ~counter~0 20)} is VALID [2022-04-28 12:47:22,183 INFO L290 TraceCheckUtils]: 112: Hoare triple {104645#(< ~counter~0 19)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {104645#(< ~counter~0 19)} is VALID [2022-04-28 12:47:22,183 INFO L284 TraceCheckUtils]: 111: Hoare quadruple {104194#true} {104645#(< ~counter~0 19)} #96#return; {104645#(< ~counter~0 19)} is VALID [2022-04-28 12:47:22,183 INFO L290 TraceCheckUtils]: 110: Hoare triple {104194#true} assume true; {104194#true} is VALID [2022-04-28 12:47:22,183 INFO L290 TraceCheckUtils]: 109: Hoare triple {104194#true} assume !(0 == ~cond); {104194#true} is VALID [2022-04-28 12:47:22,183 INFO L290 TraceCheckUtils]: 108: Hoare triple {104194#true} ~cond := #in~cond; {104194#true} is VALID [2022-04-28 12:47:22,183 INFO L272 TraceCheckUtils]: 107: Hoare triple {104645#(< ~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)); {104194#true} is VALID [2022-04-28 12:47:22,184 INFO L290 TraceCheckUtils]: 106: Hoare triple {104645#(< ~counter~0 19)} assume !!(#t~post7 < 20);havoc #t~post7; {104645#(< ~counter~0 19)} is VALID [2022-04-28 12:47:22,184 INFO L290 TraceCheckUtils]: 105: Hoare triple {104670#(< ~counter~0 18)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {104645#(< ~counter~0 19)} is VALID [2022-04-28 12:47:22,185 INFO L290 TraceCheckUtils]: 104: Hoare triple {104670#(< ~counter~0 18)} assume !!(0 != ~r~0); {104670#(< ~counter~0 18)} is VALID [2022-04-28 12:47:22,185 INFO L284 TraceCheckUtils]: 103: Hoare quadruple {104194#true} {104670#(< ~counter~0 18)} #94#return; {104670#(< ~counter~0 18)} is VALID [2022-04-28 12:47:22,185 INFO L290 TraceCheckUtils]: 102: Hoare triple {104194#true} assume true; {104194#true} is VALID [2022-04-28 12:47:22,185 INFO L290 TraceCheckUtils]: 101: Hoare triple {104194#true} assume !(0 == ~cond); {104194#true} is VALID [2022-04-28 12:47:22,185 INFO L290 TraceCheckUtils]: 100: Hoare triple {104194#true} ~cond := #in~cond; {104194#true} is VALID [2022-04-28 12:47:22,185 INFO L272 TraceCheckUtils]: 99: Hoare triple {104670#(< ~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)); {104194#true} is VALID [2022-04-28 12:47:22,186 INFO L290 TraceCheckUtils]: 98: Hoare triple {104670#(< ~counter~0 18)} assume !!(#t~post6 < 20);havoc #t~post6; {104670#(< ~counter~0 18)} is VALID [2022-04-28 12:47:22,187 INFO L290 TraceCheckUtils]: 97: Hoare triple {104695#(< ~counter~0 17)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {104670#(< ~counter~0 18)} is VALID [2022-04-28 12:47:22,187 INFO L290 TraceCheckUtils]: 96: Hoare triple {104695#(< ~counter~0 17)} assume !(~r~0 < 0); {104695#(< ~counter~0 17)} is VALID [2022-04-28 12:47:22,187 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {104194#true} {104695#(< ~counter~0 17)} #98#return; {104695#(< ~counter~0 17)} is VALID [2022-04-28 12:47:22,187 INFO L290 TraceCheckUtils]: 94: Hoare triple {104194#true} assume true; {104194#true} is VALID [2022-04-28 12:47:22,187 INFO L290 TraceCheckUtils]: 93: Hoare triple {104194#true} assume !(0 == ~cond); {104194#true} is VALID [2022-04-28 12:47:22,188 INFO L290 TraceCheckUtils]: 92: Hoare triple {104194#true} ~cond := #in~cond; {104194#true} is VALID [2022-04-28 12:47:22,188 INFO L272 TraceCheckUtils]: 91: Hoare triple {104695#(< ~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)); {104194#true} is VALID [2022-04-28 12:47:22,188 INFO L290 TraceCheckUtils]: 90: Hoare triple {104695#(< ~counter~0 17)} assume !!(#t~post8 < 20);havoc #t~post8; {104695#(< ~counter~0 17)} is VALID [2022-04-28 12:47:22,189 INFO L290 TraceCheckUtils]: 89: Hoare triple {104720#(< ~counter~0 16)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {104695#(< ~counter~0 17)} is VALID [2022-04-28 12:47:22,189 INFO L290 TraceCheckUtils]: 88: Hoare triple {104720#(< ~counter~0 16)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {104720#(< ~counter~0 16)} is VALID [2022-04-28 12:47:22,189 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {104194#true} {104720#(< ~counter~0 16)} #98#return; {104720#(< ~counter~0 16)} is VALID [2022-04-28 12:47:22,190 INFO L290 TraceCheckUtils]: 86: Hoare triple {104194#true} assume true; {104194#true} is VALID [2022-04-28 12:47:22,190 INFO L290 TraceCheckUtils]: 85: Hoare triple {104194#true} assume !(0 == ~cond); {104194#true} is VALID [2022-04-28 12:47:22,190 INFO L290 TraceCheckUtils]: 84: Hoare triple {104194#true} ~cond := #in~cond; {104194#true} is VALID [2022-04-28 12:47:22,190 INFO L272 TraceCheckUtils]: 83: Hoare triple {104720#(< ~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)); {104194#true} is VALID [2022-04-28 12:47:22,190 INFO L290 TraceCheckUtils]: 82: Hoare triple {104720#(< ~counter~0 16)} assume !!(#t~post8 < 20);havoc #t~post8; {104720#(< ~counter~0 16)} is VALID [2022-04-28 12:47:22,191 INFO L290 TraceCheckUtils]: 81: Hoare triple {104745#(< ~counter~0 15)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {104720#(< ~counter~0 16)} is VALID [2022-04-28 12:47:22,191 INFO L290 TraceCheckUtils]: 80: Hoare triple {104745#(< ~counter~0 15)} assume !(~r~0 > 0); {104745#(< ~counter~0 15)} is VALID [2022-04-28 12:47:22,192 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {104194#true} {104745#(< ~counter~0 15)} #96#return; {104745#(< ~counter~0 15)} is VALID [2022-04-28 12:47:22,192 INFO L290 TraceCheckUtils]: 78: Hoare triple {104194#true} assume true; {104194#true} is VALID [2022-04-28 12:47:22,192 INFO L290 TraceCheckUtils]: 77: Hoare triple {104194#true} assume !(0 == ~cond); {104194#true} is VALID [2022-04-28 12:47:22,192 INFO L290 TraceCheckUtils]: 76: Hoare triple {104194#true} ~cond := #in~cond; {104194#true} is VALID [2022-04-28 12:47:22,192 INFO L272 TraceCheckUtils]: 75: Hoare triple {104745#(< ~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)); {104194#true} is VALID [2022-04-28 12:47:22,192 INFO L290 TraceCheckUtils]: 74: Hoare triple {104745#(< ~counter~0 15)} assume !!(#t~post7 < 20);havoc #t~post7; {104745#(< ~counter~0 15)} is VALID [2022-04-28 12:47:22,193 INFO L290 TraceCheckUtils]: 73: Hoare triple {104551#(<= ~counter~0 13)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {104745#(< ~counter~0 15)} is VALID [2022-04-28 12:47:22,193 INFO L290 TraceCheckUtils]: 72: Hoare triple {104551#(<= ~counter~0 13)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {104551#(<= ~counter~0 13)} is VALID [2022-04-28 12:47:22,194 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {104194#true} {104551#(<= ~counter~0 13)} #96#return; {104551#(<= ~counter~0 13)} is VALID [2022-04-28 12:47:22,194 INFO L290 TraceCheckUtils]: 70: Hoare triple {104194#true} assume true; {104194#true} is VALID [2022-04-28 12:47:22,194 INFO L290 TraceCheckUtils]: 69: Hoare triple {104194#true} assume !(0 == ~cond); {104194#true} is VALID [2022-04-28 12:47:22,194 INFO L290 TraceCheckUtils]: 68: Hoare triple {104194#true} ~cond := #in~cond; {104194#true} is VALID [2022-04-28 12:47:22,194 INFO L272 TraceCheckUtils]: 67: Hoare triple {104551#(<= ~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)); {104194#true} is VALID [2022-04-28 12:47:22,194 INFO L290 TraceCheckUtils]: 66: Hoare triple {104551#(<= ~counter~0 13)} assume !!(#t~post7 < 20);havoc #t~post7; {104551#(<= ~counter~0 13)} is VALID [2022-04-28 12:47:22,195 INFO L290 TraceCheckUtils]: 65: Hoare triple {104526#(<= ~counter~0 12)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {104551#(<= ~counter~0 13)} is VALID [2022-04-28 12:47:22,195 INFO L290 TraceCheckUtils]: 64: Hoare triple {104526#(<= ~counter~0 12)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {104526#(<= ~counter~0 12)} is VALID [2022-04-28 12:47:22,196 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {104194#true} {104526#(<= ~counter~0 12)} #96#return; {104526#(<= ~counter~0 12)} is VALID [2022-04-28 12:47:22,196 INFO L290 TraceCheckUtils]: 62: Hoare triple {104194#true} assume true; {104194#true} is VALID [2022-04-28 12:47:22,196 INFO L290 TraceCheckUtils]: 61: Hoare triple {104194#true} assume !(0 == ~cond); {104194#true} is VALID [2022-04-28 12:47:22,196 INFO L290 TraceCheckUtils]: 60: Hoare triple {104194#true} ~cond := #in~cond; {104194#true} is VALID [2022-04-28 12:47:22,196 INFO L272 TraceCheckUtils]: 59: Hoare triple {104526#(<= ~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)); {104194#true} is VALID [2022-04-28 12:47:22,196 INFO L290 TraceCheckUtils]: 58: Hoare triple {104526#(<= ~counter~0 12)} assume !!(#t~post7 < 20);havoc #t~post7; {104526#(<= ~counter~0 12)} is VALID [2022-04-28 12:47:22,197 INFO L290 TraceCheckUtils]: 57: Hoare triple {104501#(<= ~counter~0 11)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {104526#(<= ~counter~0 12)} is VALID [2022-04-28 12:47:22,197 INFO L290 TraceCheckUtils]: 56: Hoare triple {104501#(<= ~counter~0 11)} assume !!(0 != ~r~0); {104501#(<= ~counter~0 11)} is VALID [2022-04-28 12:47:22,198 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {104194#true} {104501#(<= ~counter~0 11)} #94#return; {104501#(<= ~counter~0 11)} is VALID [2022-04-28 12:47:22,198 INFO L290 TraceCheckUtils]: 54: Hoare triple {104194#true} assume true; {104194#true} is VALID [2022-04-28 12:47:22,198 INFO L290 TraceCheckUtils]: 53: Hoare triple {104194#true} assume !(0 == ~cond); {104194#true} is VALID [2022-04-28 12:47:22,198 INFO L290 TraceCheckUtils]: 52: Hoare triple {104194#true} ~cond := #in~cond; {104194#true} is VALID [2022-04-28 12:47:22,198 INFO L272 TraceCheckUtils]: 51: Hoare triple {104501#(<= ~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)); {104194#true} is VALID [2022-04-28 12:47:22,198 INFO L290 TraceCheckUtils]: 50: Hoare triple {104501#(<= ~counter~0 11)} assume !!(#t~post6 < 20);havoc #t~post6; {104501#(<= ~counter~0 11)} is VALID [2022-04-28 12:47:22,199 INFO L290 TraceCheckUtils]: 49: Hoare triple {104476#(<= ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {104501#(<= ~counter~0 11)} is VALID [2022-04-28 12:47:22,200 INFO L290 TraceCheckUtils]: 48: Hoare triple {104476#(<= ~counter~0 10)} assume !(~r~0 < 0); {104476#(<= ~counter~0 10)} is VALID [2022-04-28 12:47:22,200 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {104194#true} {104476#(<= ~counter~0 10)} #98#return; {104476#(<= ~counter~0 10)} is VALID [2022-04-28 12:47:22,200 INFO L290 TraceCheckUtils]: 46: Hoare triple {104194#true} assume true; {104194#true} is VALID [2022-04-28 12:47:22,200 INFO L290 TraceCheckUtils]: 45: Hoare triple {104194#true} assume !(0 == ~cond); {104194#true} is VALID [2022-04-28 12:47:22,200 INFO L290 TraceCheckUtils]: 44: Hoare triple {104194#true} ~cond := #in~cond; {104194#true} is VALID [2022-04-28 12:47:22,200 INFO L272 TraceCheckUtils]: 43: Hoare triple {104476#(<= ~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)); {104194#true} is VALID [2022-04-28 12:47:22,200 INFO L290 TraceCheckUtils]: 42: Hoare triple {104476#(<= ~counter~0 10)} assume !!(#t~post8 < 20);havoc #t~post8; {104476#(<= ~counter~0 10)} is VALID [2022-04-28 12:47:22,201 INFO L290 TraceCheckUtils]: 41: Hoare triple {104451#(<= ~counter~0 9)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {104476#(<= ~counter~0 10)} is VALID [2022-04-28 12:47:22,202 INFO L290 TraceCheckUtils]: 40: Hoare triple {104451#(<= ~counter~0 9)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {104451#(<= ~counter~0 9)} is VALID [2022-04-28 12:47:22,202 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {104194#true} {104451#(<= ~counter~0 9)} #98#return; {104451#(<= ~counter~0 9)} is VALID [2022-04-28 12:47:22,202 INFO L290 TraceCheckUtils]: 38: Hoare triple {104194#true} assume true; {104194#true} is VALID [2022-04-28 12:47:22,202 INFO L290 TraceCheckUtils]: 37: Hoare triple {104194#true} assume !(0 == ~cond); {104194#true} is VALID [2022-04-28 12:47:22,202 INFO L290 TraceCheckUtils]: 36: Hoare triple {104194#true} ~cond := #in~cond; {104194#true} is VALID [2022-04-28 12:47:22,202 INFO L272 TraceCheckUtils]: 35: Hoare triple {104451#(<= ~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)); {104194#true} is VALID [2022-04-28 12:47:22,203 INFO L290 TraceCheckUtils]: 34: Hoare triple {104451#(<= ~counter~0 9)} assume !!(#t~post8 < 20);havoc #t~post8; {104451#(<= ~counter~0 9)} is VALID [2022-04-28 12:47:22,204 INFO L290 TraceCheckUtils]: 33: Hoare triple {104426#(<= ~counter~0 8)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {104451#(<= ~counter~0 9)} is VALID [2022-04-28 12:47:22,204 INFO L290 TraceCheckUtils]: 32: Hoare triple {104426#(<= ~counter~0 8)} assume !(~r~0 > 0); {104426#(<= ~counter~0 8)} is VALID [2022-04-28 12:47:22,204 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {104194#true} {104426#(<= ~counter~0 8)} #96#return; {104426#(<= ~counter~0 8)} is VALID [2022-04-28 12:47:22,204 INFO L290 TraceCheckUtils]: 30: Hoare triple {104194#true} assume true; {104194#true} is VALID [2022-04-28 12:47:22,204 INFO L290 TraceCheckUtils]: 29: Hoare triple {104194#true} assume !(0 == ~cond); {104194#true} is VALID [2022-04-28 12:47:22,204 INFO L290 TraceCheckUtils]: 28: Hoare triple {104194#true} ~cond := #in~cond; {104194#true} is VALID [2022-04-28 12:47:22,205 INFO L272 TraceCheckUtils]: 27: Hoare triple {104426#(<= ~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)); {104194#true} is VALID [2022-04-28 12:47:22,205 INFO L290 TraceCheckUtils]: 26: Hoare triple {104426#(<= ~counter~0 8)} assume !!(#t~post7 < 20);havoc #t~post7; {104426#(<= ~counter~0 8)} is VALID [2022-04-28 12:47:22,206 INFO L290 TraceCheckUtils]: 25: Hoare triple {104401#(<= ~counter~0 7)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {104426#(<= ~counter~0 8)} is VALID [2022-04-28 12:47:22,206 INFO L290 TraceCheckUtils]: 24: Hoare triple {104401#(<= ~counter~0 7)} assume !!(0 != ~r~0); {104401#(<= ~counter~0 7)} is VALID [2022-04-28 12:47:22,206 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {104194#true} {104401#(<= ~counter~0 7)} #94#return; {104401#(<= ~counter~0 7)} is VALID [2022-04-28 12:47:22,206 INFO L290 TraceCheckUtils]: 22: Hoare triple {104194#true} assume true; {104194#true} is VALID [2022-04-28 12:47:22,206 INFO L290 TraceCheckUtils]: 21: Hoare triple {104194#true} assume !(0 == ~cond); {104194#true} is VALID [2022-04-28 12:47:22,207 INFO L290 TraceCheckUtils]: 20: Hoare triple {104194#true} ~cond := #in~cond; {104194#true} is VALID [2022-04-28 12:47:22,207 INFO L272 TraceCheckUtils]: 19: Hoare triple {104401#(<= ~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)); {104194#true} is VALID [2022-04-28 12:47:22,207 INFO L290 TraceCheckUtils]: 18: Hoare triple {104401#(<= ~counter~0 7)} assume !!(#t~post6 < 20);havoc #t~post6; {104401#(<= ~counter~0 7)} is VALID [2022-04-28 12:47:22,208 INFO L290 TraceCheckUtils]: 17: Hoare triple {104376#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {104401#(<= ~counter~0 7)} is VALID [2022-04-28 12:47:22,208 INFO L290 TraceCheckUtils]: 16: Hoare triple {104376#(<= ~counter~0 6)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {104376#(<= ~counter~0 6)} is VALID [2022-04-28 12:47:22,208 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {104194#true} {104376#(<= ~counter~0 6)} #92#return; {104376#(<= ~counter~0 6)} is VALID [2022-04-28 12:47:22,208 INFO L290 TraceCheckUtils]: 14: Hoare triple {104194#true} assume true; {104194#true} is VALID [2022-04-28 12:47:22,208 INFO L290 TraceCheckUtils]: 13: Hoare triple {104194#true} assume !(0 == ~cond); {104194#true} is VALID [2022-04-28 12:47:22,209 INFO L290 TraceCheckUtils]: 12: Hoare triple {104194#true} ~cond := #in~cond; {104194#true} is VALID [2022-04-28 12:47:22,209 INFO L272 TraceCheckUtils]: 11: Hoare triple {104376#(<= ~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)); {104194#true} is VALID [2022-04-28 12:47:22,209 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {104194#true} {104376#(<= ~counter~0 6)} #90#return; {104376#(<= ~counter~0 6)} is VALID [2022-04-28 12:47:22,209 INFO L290 TraceCheckUtils]: 9: Hoare triple {104194#true} assume true; {104194#true} is VALID [2022-04-28 12:47:22,209 INFO L290 TraceCheckUtils]: 8: Hoare triple {104194#true} assume !(0 == ~cond); {104194#true} is VALID [2022-04-28 12:47:22,209 INFO L290 TraceCheckUtils]: 7: Hoare triple {104194#true} ~cond := #in~cond; {104194#true} is VALID [2022-04-28 12:47:22,209 INFO L272 TraceCheckUtils]: 6: Hoare triple {104376#(<= ~counter~0 6)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {104194#true} is VALID [2022-04-28 12:47:22,209 INFO L290 TraceCheckUtils]: 5: Hoare triple {104376#(<= ~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; {104376#(<= ~counter~0 6)} is VALID [2022-04-28 12:47:22,210 INFO L272 TraceCheckUtils]: 4: Hoare triple {104376#(<= ~counter~0 6)} call #t~ret9 := main(); {104376#(<= ~counter~0 6)} is VALID [2022-04-28 12:47:22,210 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {104376#(<= ~counter~0 6)} {104194#true} #102#return; {104376#(<= ~counter~0 6)} is VALID [2022-04-28 12:47:22,210 INFO L290 TraceCheckUtils]: 2: Hoare triple {104376#(<= ~counter~0 6)} assume true; {104376#(<= ~counter~0 6)} is VALID [2022-04-28 12:47:22,211 INFO L290 TraceCheckUtils]: 1: Hoare triple {104194#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; {104376#(<= ~counter~0 6)} is VALID [2022-04-28 12:47:22,211 INFO L272 TraceCheckUtils]: 0: Hoare triple {104194#true} call ULTIMATE.init(); {104194#true} is VALID [2022-04-28 12:47:22,211 INFO L134 CoverageAnalysis]: Checked inductivity of 452 backedges. 32 proven. 104 refuted. 0 times theorem prover too weak. 316 trivial. 0 not checked. [2022-04-28 12:47:22,211 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:47:22,211 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [758674709] [2022-04-28 12:47:22,211 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:47:22,211 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [346547635] [2022-04-28 12:47:22,212 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [346547635] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:47:22,212 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:47:22,212 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 17] total 24 [2022-04-28 12:47:22,212 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:47:22,212 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1856039974] [2022-04-28 12:47:22,212 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1856039974] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:47:22,212 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:47:22,212 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-28 12:47:22,212 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [333616169] [2022-04-28 12:47:22,212 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:47:22,212 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 17 states have (on average 5.411764705882353) internal successors, (92), 16 states have internal predecessors, (92), 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 129 [2022-04-28 12:47:22,213 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:47:22,213 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 17 states, 17 states have (on average 5.411764705882353) internal successors, (92), 16 states have internal predecessors, (92), 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:47:22,319 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 126 edges. 126 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:47:22,319 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-28 12:47:22,319 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:47:22,320 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-28 12:47:22,320 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=236, Invalid=316, Unknown=0, NotChecked=0, Total=552 [2022-04-28 12:47:22,320 INFO L87 Difference]: Start difference. First operand 712 states and 944 transitions. Second operand has 17 states, 17 states have (on average 5.411764705882353) internal successors, (92), 16 states have internal predecessors, (92), 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:47:25,538 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:47:25,538 INFO L93 Difference]: Finished difference Result 937 states and 1280 transitions. [2022-04-28 12:47:25,538 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 28 states. [2022-04-28 12:47:25,538 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 17 states have (on average 5.411764705882353) internal successors, (92), 16 states have internal predecessors, (92), 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 129 [2022-04-28 12:47:25,538 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:47:25,538 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 17 states have (on average 5.411764705882353) internal successors, (92), 16 states have internal predecessors, (92), 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:47:25,540 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 296 transitions. [2022-04-28 12:47:25,540 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 17 states have (on average 5.411764705882353) internal successors, (92), 16 states have internal predecessors, (92), 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:47:25,542 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 296 transitions. [2022-04-28 12:47:25,542 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 28 states and 296 transitions. [2022-04-28 12:47:25,802 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 296 edges. 296 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:47:25,823 INFO L225 Difference]: With dead ends: 937 [2022-04-28 12:47:25,824 INFO L226 Difference]: Without dead ends: 740 [2022-04-28 12:47:25,824 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 268 GetRequests, 234 SyntacticMatches, 1 SemanticMatches, 33 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 93 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=467, Invalid=723, Unknown=0, NotChecked=0, Total=1190 [2022-04-28 12:47:25,825 INFO L413 NwaCegarLoop]: 69 mSDtfsCounter, 210 mSDsluCounter, 231 mSDsCounter, 0 mSdLazyCounter, 167 mSolverCounterSat, 173 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 210 SdHoareTripleChecker+Valid, 300 SdHoareTripleChecker+Invalid, 340 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 173 IncrementalHoareTripleChecker+Valid, 167 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 12:47:25,825 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [210 Valid, 300 Invalid, 340 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [173 Valid, 167 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 12:47:25,825 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 740 states. [2022-04-28 12:47:27,813 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 740 to 730. [2022-04-28 12:47:27,813 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:47:27,814 INFO L82 GeneralOperation]: Start isEquivalent. First operand 740 states. Second operand has 730 states, 550 states have (on average 1.2036363636363636) internal successors, (662), 554 states have internal predecessors, (662), 153 states have call successors, (153), 28 states have call predecessors, (153), 26 states have return successors, (151), 147 states have call predecessors, (151), 151 states have call successors, (151) [2022-04-28 12:47:27,814 INFO L74 IsIncluded]: Start isIncluded. First operand 740 states. Second operand has 730 states, 550 states have (on average 1.2036363636363636) internal successors, (662), 554 states have internal predecessors, (662), 153 states have call successors, (153), 28 states have call predecessors, (153), 26 states have return successors, (151), 147 states have call predecessors, (151), 151 states have call successors, (151) [2022-04-28 12:47:27,816 INFO L87 Difference]: Start difference. First operand 740 states. Second operand has 730 states, 550 states have (on average 1.2036363636363636) internal successors, (662), 554 states have internal predecessors, (662), 153 states have call successors, (153), 28 states have call predecessors, (153), 26 states have return successors, (151), 147 states have call predecessors, (151), 151 states have call successors, (151) [2022-04-28 12:47:27,837 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:47:27,838 INFO L93 Difference]: Finished difference Result 740 states and 976 transitions. [2022-04-28 12:47:27,838 INFO L276 IsEmpty]: Start isEmpty. Operand 740 states and 976 transitions. [2022-04-28 12:47:27,838 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:47:27,838 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:47:27,839 INFO L74 IsIncluded]: Start isIncluded. First operand has 730 states, 550 states have (on average 1.2036363636363636) internal successors, (662), 554 states have internal predecessors, (662), 153 states have call successors, (153), 28 states have call predecessors, (153), 26 states have return successors, (151), 147 states have call predecessors, (151), 151 states have call successors, (151) Second operand 740 states. [2022-04-28 12:47:27,839 INFO L87 Difference]: Start difference. First operand has 730 states, 550 states have (on average 1.2036363636363636) internal successors, (662), 554 states have internal predecessors, (662), 153 states have call successors, (153), 28 states have call predecessors, (153), 26 states have return successors, (151), 147 states have call predecessors, (151), 151 states have call successors, (151) Second operand 740 states. [2022-04-28 12:47:27,857 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:47:27,857 INFO L93 Difference]: Finished difference Result 740 states and 976 transitions. [2022-04-28 12:47:27,857 INFO L276 IsEmpty]: Start isEmpty. Operand 740 states and 976 transitions. [2022-04-28 12:47:27,857 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:47:27,857 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:47:27,858 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:47:27,858 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:47:27,858 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 730 states, 550 states have (on average 1.2036363636363636) internal successors, (662), 554 states have internal predecessors, (662), 153 states have call successors, (153), 28 states have call predecessors, (153), 26 states have return successors, (151), 147 states have call predecessors, (151), 151 states have call successors, (151) [2022-04-28 12:47:27,881 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 730 states to 730 states and 966 transitions. [2022-04-28 12:47:27,881 INFO L78 Accepts]: Start accepts. Automaton has 730 states and 966 transitions. Word has length 129 [2022-04-28 12:47:27,881 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:47:27,881 INFO L495 AbstractCegarLoop]: Abstraction has 730 states and 966 transitions. [2022-04-28 12:47:27,882 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 17 states have (on average 5.411764705882353) internal successors, (92), 16 states have internal predecessors, (92), 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:47:27,882 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 730 states and 966 transitions. [2022-04-28 12:47:44,507 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 966 edges. 965 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 12:47:44,508 INFO L276 IsEmpty]: Start isEmpty. Operand 730 states and 966 transitions. [2022-04-28 12:47:44,509 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 132 [2022-04-28 12:47:44,509 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:47:44,509 INFO L195 NwaCegarLoop]: trace histogram [14, 13, 13, 7, 6, 6, 6, 5, 4, 4, 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:47:44,525 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (44)] Forceful destruction successful, exit code 0 [2022-04-28 12:47:44,709 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 44 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable42 [2022-04-28 12:47:44,709 INFO L420 AbstractCegarLoop]: === Iteration 44 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:47:44,710 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:47:44,710 INFO L85 PathProgramCache]: Analyzing trace with hash 1255136270, now seen corresponding path program 17 times [2022-04-28 12:47:44,710 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:47:44,710 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1989202106] [2022-04-28 12:47:44,710 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:47:44,710 INFO L85 PathProgramCache]: Analyzing trace with hash 1255136270, now seen corresponding path program 18 times [2022-04-28 12:47:44,710 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:47:44,710 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [554377923] [2022-04-28 12:47:44,710 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:47:44,711 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:47:44,721 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:47:44,722 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [643815502] [2022-04-28 12:47:44,722 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 12:47:44,722 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:47:44,722 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:47:44,723 INFO L229 MonitoredProcess]: Starting monitored process 45 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:47:44,723 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (45)] Waiting until timeout for monitored process [2022-04-28 12:47:44,895 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 8 check-sat command(s) [2022-04-28 12:47:44,896 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:47:44,897 INFO L263 TraceCheckSpWp]: Trace formula consists of 322 conjuncts, 31 conjunts are in the unsatisfiable core [2022-04-28 12:47:44,919 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:47:44,921 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:47:45,497 INFO L272 TraceCheckUtils]: 0: Hoare triple {109827#true} call ULTIMATE.init(); {109827#true} is VALID [2022-04-28 12:47:45,498 INFO L290 TraceCheckUtils]: 1: Hoare triple {109827#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; {109835#(<= ~counter~0 0)} is VALID [2022-04-28 12:47:45,498 INFO L290 TraceCheckUtils]: 2: Hoare triple {109835#(<= ~counter~0 0)} assume true; {109835#(<= ~counter~0 0)} is VALID [2022-04-28 12:47:45,498 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {109835#(<= ~counter~0 0)} {109827#true} #102#return; {109835#(<= ~counter~0 0)} is VALID [2022-04-28 12:47:45,499 INFO L272 TraceCheckUtils]: 4: Hoare triple {109835#(<= ~counter~0 0)} call #t~ret9 := main(); {109835#(<= ~counter~0 0)} is VALID [2022-04-28 12:47:45,499 INFO L290 TraceCheckUtils]: 5: Hoare triple {109835#(<= ~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; {109835#(<= ~counter~0 0)} is VALID [2022-04-28 12:47:45,499 INFO L272 TraceCheckUtils]: 6: Hoare triple {109835#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {109835#(<= ~counter~0 0)} is VALID [2022-04-28 12:47:45,500 INFO L290 TraceCheckUtils]: 7: Hoare triple {109835#(<= ~counter~0 0)} ~cond := #in~cond; {109835#(<= ~counter~0 0)} is VALID [2022-04-28 12:47:45,500 INFO L290 TraceCheckUtils]: 8: Hoare triple {109835#(<= ~counter~0 0)} assume !(0 == ~cond); {109835#(<= ~counter~0 0)} is VALID [2022-04-28 12:47:45,500 INFO L290 TraceCheckUtils]: 9: Hoare triple {109835#(<= ~counter~0 0)} assume true; {109835#(<= ~counter~0 0)} is VALID [2022-04-28 12:47:45,501 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {109835#(<= ~counter~0 0)} {109835#(<= ~counter~0 0)} #90#return; {109835#(<= ~counter~0 0)} is VALID [2022-04-28 12:47:45,501 INFO L272 TraceCheckUtils]: 11: Hoare triple {109835#(<= ~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)); {109835#(<= ~counter~0 0)} is VALID [2022-04-28 12:47:45,501 INFO L290 TraceCheckUtils]: 12: Hoare triple {109835#(<= ~counter~0 0)} ~cond := #in~cond; {109835#(<= ~counter~0 0)} is VALID [2022-04-28 12:47:45,501 INFO L290 TraceCheckUtils]: 13: Hoare triple {109835#(<= ~counter~0 0)} assume !(0 == ~cond); {109835#(<= ~counter~0 0)} is VALID [2022-04-28 12:47:45,502 INFO L290 TraceCheckUtils]: 14: Hoare triple {109835#(<= ~counter~0 0)} assume true; {109835#(<= ~counter~0 0)} is VALID [2022-04-28 12:47:45,502 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {109835#(<= ~counter~0 0)} {109835#(<= ~counter~0 0)} #92#return; {109835#(<= ~counter~0 0)} is VALID [2022-04-28 12:47:45,502 INFO L290 TraceCheckUtils]: 16: Hoare triple {109835#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {109835#(<= ~counter~0 0)} is VALID [2022-04-28 12:47:45,505 INFO L290 TraceCheckUtils]: 17: Hoare triple {109835#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {109884#(<= ~counter~0 1)} is VALID [2022-04-28 12:47:45,505 INFO L290 TraceCheckUtils]: 18: Hoare triple {109884#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {109884#(<= ~counter~0 1)} is VALID [2022-04-28 12:47:45,505 INFO L272 TraceCheckUtils]: 19: Hoare triple {109884#(<= ~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)); {109884#(<= ~counter~0 1)} is VALID [2022-04-28 12:47:45,506 INFO L290 TraceCheckUtils]: 20: Hoare triple {109884#(<= ~counter~0 1)} ~cond := #in~cond; {109884#(<= ~counter~0 1)} is VALID [2022-04-28 12:47:45,506 INFO L290 TraceCheckUtils]: 21: Hoare triple {109884#(<= ~counter~0 1)} assume !(0 == ~cond); {109884#(<= ~counter~0 1)} is VALID [2022-04-28 12:47:45,506 INFO L290 TraceCheckUtils]: 22: Hoare triple {109884#(<= ~counter~0 1)} assume true; {109884#(<= ~counter~0 1)} is VALID [2022-04-28 12:47:45,507 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {109884#(<= ~counter~0 1)} {109884#(<= ~counter~0 1)} #94#return; {109884#(<= ~counter~0 1)} is VALID [2022-04-28 12:47:45,507 INFO L290 TraceCheckUtils]: 24: Hoare triple {109884#(<= ~counter~0 1)} assume !!(0 != ~r~0); {109884#(<= ~counter~0 1)} is VALID [2022-04-28 12:47:45,508 INFO L290 TraceCheckUtils]: 25: Hoare triple {109884#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {109909#(<= ~counter~0 2)} is VALID [2022-04-28 12:47:45,508 INFO L290 TraceCheckUtils]: 26: Hoare triple {109909#(<= ~counter~0 2)} assume !!(#t~post7 < 20);havoc #t~post7; {109909#(<= ~counter~0 2)} is VALID [2022-04-28 12:47:45,509 INFO L272 TraceCheckUtils]: 27: Hoare triple {109909#(<= ~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)); {109909#(<= ~counter~0 2)} is VALID [2022-04-28 12:47:45,509 INFO L290 TraceCheckUtils]: 28: Hoare triple {109909#(<= ~counter~0 2)} ~cond := #in~cond; {109909#(<= ~counter~0 2)} is VALID [2022-04-28 12:47:45,509 INFO L290 TraceCheckUtils]: 29: Hoare triple {109909#(<= ~counter~0 2)} assume !(0 == ~cond); {109909#(<= ~counter~0 2)} is VALID [2022-04-28 12:47:45,509 INFO L290 TraceCheckUtils]: 30: Hoare triple {109909#(<= ~counter~0 2)} assume true; {109909#(<= ~counter~0 2)} is VALID [2022-04-28 12:47:45,510 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {109909#(<= ~counter~0 2)} {109909#(<= ~counter~0 2)} #96#return; {109909#(<= ~counter~0 2)} is VALID [2022-04-28 12:47:45,510 INFO L290 TraceCheckUtils]: 32: Hoare triple {109909#(<= ~counter~0 2)} assume !(~r~0 > 0); {109909#(<= ~counter~0 2)} is VALID [2022-04-28 12:47:45,511 INFO L290 TraceCheckUtils]: 33: Hoare triple {109909#(<= ~counter~0 2)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {109934#(<= ~counter~0 3)} is VALID [2022-04-28 12:47:45,512 INFO L290 TraceCheckUtils]: 34: Hoare triple {109934#(<= ~counter~0 3)} assume !!(#t~post8 < 20);havoc #t~post8; {109934#(<= ~counter~0 3)} is VALID [2022-04-28 12:47:45,512 INFO L272 TraceCheckUtils]: 35: Hoare triple {109934#(<= ~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)); {109934#(<= ~counter~0 3)} is VALID [2022-04-28 12:47:45,512 INFO L290 TraceCheckUtils]: 36: Hoare triple {109934#(<= ~counter~0 3)} ~cond := #in~cond; {109934#(<= ~counter~0 3)} is VALID [2022-04-28 12:47:45,513 INFO L290 TraceCheckUtils]: 37: Hoare triple {109934#(<= ~counter~0 3)} assume !(0 == ~cond); {109934#(<= ~counter~0 3)} is VALID [2022-04-28 12:47:45,513 INFO L290 TraceCheckUtils]: 38: Hoare triple {109934#(<= ~counter~0 3)} assume true; {109934#(<= ~counter~0 3)} is VALID [2022-04-28 12:47:45,513 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {109934#(<= ~counter~0 3)} {109934#(<= ~counter~0 3)} #98#return; {109934#(<= ~counter~0 3)} is VALID [2022-04-28 12:47:45,514 INFO L290 TraceCheckUtils]: 40: Hoare triple {109934#(<= ~counter~0 3)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {109934#(<= ~counter~0 3)} is VALID [2022-04-28 12:47:45,515 INFO L290 TraceCheckUtils]: 41: Hoare triple {109934#(<= ~counter~0 3)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {109959#(<= ~counter~0 4)} is VALID [2022-04-28 12:47:45,515 INFO L290 TraceCheckUtils]: 42: Hoare triple {109959#(<= ~counter~0 4)} assume !!(#t~post8 < 20);havoc #t~post8; {109959#(<= ~counter~0 4)} is VALID [2022-04-28 12:47:45,516 INFO L272 TraceCheckUtils]: 43: Hoare triple {109959#(<= ~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)); {109959#(<= ~counter~0 4)} is VALID [2022-04-28 12:47:45,516 INFO L290 TraceCheckUtils]: 44: Hoare triple {109959#(<= ~counter~0 4)} ~cond := #in~cond; {109959#(<= ~counter~0 4)} is VALID [2022-04-28 12:47:45,516 INFO L290 TraceCheckUtils]: 45: Hoare triple {109959#(<= ~counter~0 4)} assume !(0 == ~cond); {109959#(<= ~counter~0 4)} is VALID [2022-04-28 12:47:45,516 INFO L290 TraceCheckUtils]: 46: Hoare triple {109959#(<= ~counter~0 4)} assume true; {109959#(<= ~counter~0 4)} is VALID [2022-04-28 12:47:45,517 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {109959#(<= ~counter~0 4)} {109959#(<= ~counter~0 4)} #98#return; {109959#(<= ~counter~0 4)} is VALID [2022-04-28 12:47:45,517 INFO L290 TraceCheckUtils]: 48: Hoare triple {109959#(<= ~counter~0 4)} assume !(~r~0 < 0); {109959#(<= ~counter~0 4)} is VALID [2022-04-28 12:47:45,518 INFO L290 TraceCheckUtils]: 49: Hoare triple {109959#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {109984#(<= ~counter~0 5)} is VALID [2022-04-28 12:47:45,518 INFO L290 TraceCheckUtils]: 50: Hoare triple {109984#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {109984#(<= ~counter~0 5)} is VALID [2022-04-28 12:47:45,519 INFO L272 TraceCheckUtils]: 51: Hoare triple {109984#(<= ~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)); {109984#(<= ~counter~0 5)} is VALID [2022-04-28 12:47:45,519 INFO L290 TraceCheckUtils]: 52: Hoare triple {109984#(<= ~counter~0 5)} ~cond := #in~cond; {109984#(<= ~counter~0 5)} is VALID [2022-04-28 12:47:45,520 INFO L290 TraceCheckUtils]: 53: Hoare triple {109984#(<= ~counter~0 5)} assume !(0 == ~cond); {109984#(<= ~counter~0 5)} is VALID [2022-04-28 12:47:45,520 INFO L290 TraceCheckUtils]: 54: Hoare triple {109984#(<= ~counter~0 5)} assume true; {109984#(<= ~counter~0 5)} is VALID [2022-04-28 12:47:45,520 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {109984#(<= ~counter~0 5)} {109984#(<= ~counter~0 5)} #94#return; {109984#(<= ~counter~0 5)} is VALID [2022-04-28 12:47:45,521 INFO L290 TraceCheckUtils]: 56: Hoare triple {109984#(<= ~counter~0 5)} assume !!(0 != ~r~0); {109984#(<= ~counter~0 5)} is VALID [2022-04-28 12:47:45,522 INFO L290 TraceCheckUtils]: 57: Hoare triple {109984#(<= ~counter~0 5)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {110009#(<= ~counter~0 6)} is VALID [2022-04-28 12:47:45,522 INFO L290 TraceCheckUtils]: 58: Hoare triple {110009#(<= ~counter~0 6)} assume !!(#t~post7 < 20);havoc #t~post7; {110009#(<= ~counter~0 6)} is VALID [2022-04-28 12:47:45,522 INFO L272 TraceCheckUtils]: 59: Hoare triple {110009#(<= ~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)); {110009#(<= ~counter~0 6)} is VALID [2022-04-28 12:47:45,523 INFO L290 TraceCheckUtils]: 60: Hoare triple {110009#(<= ~counter~0 6)} ~cond := #in~cond; {110009#(<= ~counter~0 6)} is VALID [2022-04-28 12:47:45,523 INFO L290 TraceCheckUtils]: 61: Hoare triple {110009#(<= ~counter~0 6)} assume !(0 == ~cond); {110009#(<= ~counter~0 6)} is VALID [2022-04-28 12:47:45,523 INFO L290 TraceCheckUtils]: 62: Hoare triple {110009#(<= ~counter~0 6)} assume true; {110009#(<= ~counter~0 6)} is VALID [2022-04-28 12:47:45,524 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {110009#(<= ~counter~0 6)} {110009#(<= ~counter~0 6)} #96#return; {110009#(<= ~counter~0 6)} is VALID [2022-04-28 12:47:45,524 INFO L290 TraceCheckUtils]: 64: Hoare triple {110009#(<= ~counter~0 6)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {110009#(<= ~counter~0 6)} is VALID [2022-04-28 12:47:45,525 INFO L290 TraceCheckUtils]: 65: Hoare triple {110009#(<= ~counter~0 6)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {110034#(<= ~counter~0 7)} is VALID [2022-04-28 12:47:45,525 INFO L290 TraceCheckUtils]: 66: Hoare triple {110034#(<= ~counter~0 7)} assume !!(#t~post7 < 20);havoc #t~post7; {110034#(<= ~counter~0 7)} is VALID [2022-04-28 12:47:45,526 INFO L272 TraceCheckUtils]: 67: Hoare triple {110034#(<= ~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)); {110034#(<= ~counter~0 7)} is VALID [2022-04-28 12:47:45,526 INFO L290 TraceCheckUtils]: 68: Hoare triple {110034#(<= ~counter~0 7)} ~cond := #in~cond; {110034#(<= ~counter~0 7)} is VALID [2022-04-28 12:47:45,526 INFO L290 TraceCheckUtils]: 69: Hoare triple {110034#(<= ~counter~0 7)} assume !(0 == ~cond); {110034#(<= ~counter~0 7)} is VALID [2022-04-28 12:47:45,526 INFO L290 TraceCheckUtils]: 70: Hoare triple {110034#(<= ~counter~0 7)} assume true; {110034#(<= ~counter~0 7)} is VALID [2022-04-28 12:47:45,527 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {110034#(<= ~counter~0 7)} {110034#(<= ~counter~0 7)} #96#return; {110034#(<= ~counter~0 7)} is VALID [2022-04-28 12:47:45,527 INFO L290 TraceCheckUtils]: 72: Hoare triple {110034#(<= ~counter~0 7)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {110034#(<= ~counter~0 7)} is VALID [2022-04-28 12:47:45,528 INFO L290 TraceCheckUtils]: 73: Hoare triple {110034#(<= ~counter~0 7)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {110059#(<= ~counter~0 8)} is VALID [2022-04-28 12:47:45,529 INFO L290 TraceCheckUtils]: 74: Hoare triple {110059#(<= ~counter~0 8)} assume !!(#t~post7 < 20);havoc #t~post7; {110059#(<= ~counter~0 8)} is VALID [2022-04-28 12:47:45,529 INFO L272 TraceCheckUtils]: 75: Hoare triple {110059#(<= ~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)); {110059#(<= ~counter~0 8)} is VALID [2022-04-28 12:47:45,529 INFO L290 TraceCheckUtils]: 76: Hoare triple {110059#(<= ~counter~0 8)} ~cond := #in~cond; {110059#(<= ~counter~0 8)} is VALID [2022-04-28 12:47:45,530 INFO L290 TraceCheckUtils]: 77: Hoare triple {110059#(<= ~counter~0 8)} assume !(0 == ~cond); {110059#(<= ~counter~0 8)} is VALID [2022-04-28 12:47:45,530 INFO L290 TraceCheckUtils]: 78: Hoare triple {110059#(<= ~counter~0 8)} assume true; {110059#(<= ~counter~0 8)} is VALID [2022-04-28 12:47:45,530 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {110059#(<= ~counter~0 8)} {110059#(<= ~counter~0 8)} #96#return; {110059#(<= ~counter~0 8)} is VALID [2022-04-28 12:47:45,531 INFO L290 TraceCheckUtils]: 80: Hoare triple {110059#(<= ~counter~0 8)} assume !(~r~0 > 0); {110059#(<= ~counter~0 8)} is VALID [2022-04-28 12:47:45,532 INFO L290 TraceCheckUtils]: 81: Hoare triple {110059#(<= ~counter~0 8)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {110084#(<= ~counter~0 9)} is VALID [2022-04-28 12:47:45,532 INFO L290 TraceCheckUtils]: 82: Hoare triple {110084#(<= ~counter~0 9)} assume !!(#t~post8 < 20);havoc #t~post8; {110084#(<= ~counter~0 9)} is VALID [2022-04-28 12:47:45,532 INFO L272 TraceCheckUtils]: 83: Hoare triple {110084#(<= ~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)); {110084#(<= ~counter~0 9)} is VALID [2022-04-28 12:47:45,533 INFO L290 TraceCheckUtils]: 84: Hoare triple {110084#(<= ~counter~0 9)} ~cond := #in~cond; {110084#(<= ~counter~0 9)} is VALID [2022-04-28 12:47:45,533 INFO L290 TraceCheckUtils]: 85: Hoare triple {110084#(<= ~counter~0 9)} assume !(0 == ~cond); {110084#(<= ~counter~0 9)} is VALID [2022-04-28 12:47:45,533 INFO L290 TraceCheckUtils]: 86: Hoare triple {110084#(<= ~counter~0 9)} assume true; {110084#(<= ~counter~0 9)} is VALID [2022-04-28 12:47:45,534 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {110084#(<= ~counter~0 9)} {110084#(<= ~counter~0 9)} #98#return; {110084#(<= ~counter~0 9)} is VALID [2022-04-28 12:47:45,534 INFO L290 TraceCheckUtils]: 88: Hoare triple {110084#(<= ~counter~0 9)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {110084#(<= ~counter~0 9)} is VALID [2022-04-28 12:47:45,535 INFO L290 TraceCheckUtils]: 89: Hoare triple {110084#(<= ~counter~0 9)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {110109#(<= ~counter~0 10)} is VALID [2022-04-28 12:47:45,535 INFO L290 TraceCheckUtils]: 90: Hoare triple {110109#(<= ~counter~0 10)} assume !!(#t~post8 < 20);havoc #t~post8; {110109#(<= ~counter~0 10)} is VALID [2022-04-28 12:47:45,536 INFO L272 TraceCheckUtils]: 91: Hoare triple {110109#(<= ~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)); {110109#(<= ~counter~0 10)} is VALID [2022-04-28 12:47:45,536 INFO L290 TraceCheckUtils]: 92: Hoare triple {110109#(<= ~counter~0 10)} ~cond := #in~cond; {110109#(<= ~counter~0 10)} is VALID [2022-04-28 12:47:45,536 INFO L290 TraceCheckUtils]: 93: Hoare triple {110109#(<= ~counter~0 10)} assume !(0 == ~cond); {110109#(<= ~counter~0 10)} is VALID [2022-04-28 12:47:45,537 INFO L290 TraceCheckUtils]: 94: Hoare triple {110109#(<= ~counter~0 10)} assume true; {110109#(<= ~counter~0 10)} is VALID [2022-04-28 12:47:45,537 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {110109#(<= ~counter~0 10)} {110109#(<= ~counter~0 10)} #98#return; {110109#(<= ~counter~0 10)} is VALID [2022-04-28 12:47:45,537 INFO L290 TraceCheckUtils]: 96: Hoare triple {110109#(<= ~counter~0 10)} assume !(~r~0 < 0); {110109#(<= ~counter~0 10)} is VALID [2022-04-28 12:47:45,538 INFO L290 TraceCheckUtils]: 97: Hoare triple {110109#(<= ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {110134#(<= ~counter~0 11)} is VALID [2022-04-28 12:47:45,539 INFO L290 TraceCheckUtils]: 98: Hoare triple {110134#(<= ~counter~0 11)} assume !!(#t~post6 < 20);havoc #t~post6; {110134#(<= ~counter~0 11)} is VALID [2022-04-28 12:47:45,539 INFO L272 TraceCheckUtils]: 99: Hoare triple {110134#(<= ~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)); {110134#(<= ~counter~0 11)} is VALID [2022-04-28 12:47:45,539 INFO L290 TraceCheckUtils]: 100: Hoare triple {110134#(<= ~counter~0 11)} ~cond := #in~cond; {110134#(<= ~counter~0 11)} is VALID [2022-04-28 12:47:45,540 INFO L290 TraceCheckUtils]: 101: Hoare triple {110134#(<= ~counter~0 11)} assume !(0 == ~cond); {110134#(<= ~counter~0 11)} is VALID [2022-04-28 12:47:45,540 INFO L290 TraceCheckUtils]: 102: Hoare triple {110134#(<= ~counter~0 11)} assume true; {110134#(<= ~counter~0 11)} is VALID [2022-04-28 12:47:45,540 INFO L284 TraceCheckUtils]: 103: Hoare quadruple {110134#(<= ~counter~0 11)} {110134#(<= ~counter~0 11)} #94#return; {110134#(<= ~counter~0 11)} is VALID [2022-04-28 12:47:45,541 INFO L290 TraceCheckUtils]: 104: Hoare triple {110134#(<= ~counter~0 11)} assume !!(0 != ~r~0); {110134#(<= ~counter~0 11)} is VALID [2022-04-28 12:47:45,542 INFO L290 TraceCheckUtils]: 105: Hoare triple {110134#(<= ~counter~0 11)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {110159#(<= ~counter~0 12)} is VALID [2022-04-28 12:47:45,542 INFO L290 TraceCheckUtils]: 106: Hoare triple {110159#(<= ~counter~0 12)} assume !!(#t~post7 < 20);havoc #t~post7; {110159#(<= ~counter~0 12)} is VALID [2022-04-28 12:47:45,543 INFO L272 TraceCheckUtils]: 107: Hoare triple {110159#(<= ~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)); {110159#(<= ~counter~0 12)} is VALID [2022-04-28 12:47:45,543 INFO L290 TraceCheckUtils]: 108: Hoare triple {110159#(<= ~counter~0 12)} ~cond := #in~cond; {110159#(<= ~counter~0 12)} is VALID [2022-04-28 12:47:45,543 INFO L290 TraceCheckUtils]: 109: Hoare triple {110159#(<= ~counter~0 12)} assume !(0 == ~cond); {110159#(<= ~counter~0 12)} is VALID [2022-04-28 12:47:45,543 INFO L290 TraceCheckUtils]: 110: Hoare triple {110159#(<= ~counter~0 12)} assume true; {110159#(<= ~counter~0 12)} is VALID [2022-04-28 12:47:45,544 INFO L284 TraceCheckUtils]: 111: Hoare quadruple {110159#(<= ~counter~0 12)} {110159#(<= ~counter~0 12)} #96#return; {110159#(<= ~counter~0 12)} is VALID [2022-04-28 12:47:45,544 INFO L290 TraceCheckUtils]: 112: Hoare triple {110159#(<= ~counter~0 12)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {110159#(<= ~counter~0 12)} is VALID [2022-04-28 12:47:45,545 INFO L290 TraceCheckUtils]: 113: Hoare triple {110159#(<= ~counter~0 12)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {110184#(<= ~counter~0 13)} is VALID [2022-04-28 12:47:45,546 INFO L290 TraceCheckUtils]: 114: Hoare triple {110184#(<= ~counter~0 13)} assume !!(#t~post7 < 20);havoc #t~post7; {110184#(<= ~counter~0 13)} is VALID [2022-04-28 12:47:45,546 INFO L272 TraceCheckUtils]: 115: Hoare triple {110184#(<= ~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)); {110184#(<= ~counter~0 13)} is VALID [2022-04-28 12:47:45,546 INFO L290 TraceCheckUtils]: 116: Hoare triple {110184#(<= ~counter~0 13)} ~cond := #in~cond; {110184#(<= ~counter~0 13)} is VALID [2022-04-28 12:47:45,546 INFO L290 TraceCheckUtils]: 117: Hoare triple {110184#(<= ~counter~0 13)} assume !(0 == ~cond); {110184#(<= ~counter~0 13)} is VALID [2022-04-28 12:47:45,547 INFO L290 TraceCheckUtils]: 118: Hoare triple {110184#(<= ~counter~0 13)} assume true; {110184#(<= ~counter~0 13)} is VALID [2022-04-28 12:47:45,547 INFO L284 TraceCheckUtils]: 119: Hoare quadruple {110184#(<= ~counter~0 13)} {110184#(<= ~counter~0 13)} #96#return; {110184#(<= ~counter~0 13)} is VALID [2022-04-28 12:47:45,547 INFO L290 TraceCheckUtils]: 120: Hoare triple {110184#(<= ~counter~0 13)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {110184#(<= ~counter~0 13)} is VALID [2022-04-28 12:47:45,548 INFO L290 TraceCheckUtils]: 121: Hoare triple {110184#(<= ~counter~0 13)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {110209#(<= |main_#t~post7| 13)} is VALID [2022-04-28 12:47:45,548 INFO L290 TraceCheckUtils]: 122: Hoare triple {110209#(<= |main_#t~post7| 13)} assume !(#t~post7 < 20);havoc #t~post7; {109828#false} is VALID [2022-04-28 12:47:45,548 INFO L290 TraceCheckUtils]: 123: Hoare triple {109828#false} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {109828#false} is VALID [2022-04-28 12:47:45,548 INFO L290 TraceCheckUtils]: 124: Hoare triple {109828#false} assume !(#t~post8 < 20);havoc #t~post8; {109828#false} is VALID [2022-04-28 12:47:45,548 INFO L290 TraceCheckUtils]: 125: Hoare triple {109828#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {109828#false} is VALID [2022-04-28 12:47:45,548 INFO L290 TraceCheckUtils]: 126: Hoare triple {109828#false} assume !(#t~post6 < 20);havoc #t~post6; {109828#false} is VALID [2022-04-28 12:47:45,548 INFO L272 TraceCheckUtils]: 127: Hoare triple {109828#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)); {109828#false} is VALID [2022-04-28 12:47:45,548 INFO L290 TraceCheckUtils]: 128: Hoare triple {109828#false} ~cond := #in~cond; {109828#false} is VALID [2022-04-28 12:47:45,549 INFO L290 TraceCheckUtils]: 129: Hoare triple {109828#false} assume 0 == ~cond; {109828#false} is VALID [2022-04-28 12:47:45,549 INFO L290 TraceCheckUtils]: 130: Hoare triple {109828#false} assume !false; {109828#false} is VALID [2022-04-28 12:47:45,549 INFO L134 CoverageAnalysis]: Checked inductivity of 464 backedges. 40 proven. 420 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:47:45,549 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:47:46,107 INFO L290 TraceCheckUtils]: 130: Hoare triple {109828#false} assume !false; {109828#false} is VALID [2022-04-28 12:47:46,107 INFO L290 TraceCheckUtils]: 129: Hoare triple {109828#false} assume 0 == ~cond; {109828#false} is VALID [2022-04-28 12:47:46,108 INFO L290 TraceCheckUtils]: 128: Hoare triple {109828#false} ~cond := #in~cond; {109828#false} is VALID [2022-04-28 12:47:46,108 INFO L272 TraceCheckUtils]: 127: Hoare triple {109828#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)); {109828#false} is VALID [2022-04-28 12:47:46,108 INFO L290 TraceCheckUtils]: 126: Hoare triple {109828#false} assume !(#t~post6 < 20);havoc #t~post6; {109828#false} is VALID [2022-04-28 12:47:46,108 INFO L290 TraceCheckUtils]: 125: Hoare triple {109828#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {109828#false} is VALID [2022-04-28 12:47:46,108 INFO L290 TraceCheckUtils]: 124: Hoare triple {109828#false} assume !(#t~post8 < 20);havoc #t~post8; {109828#false} is VALID [2022-04-28 12:47:46,108 INFO L290 TraceCheckUtils]: 123: Hoare triple {109828#false} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {109828#false} is VALID [2022-04-28 12:47:46,108 INFO L290 TraceCheckUtils]: 122: Hoare triple {110261#(< |main_#t~post7| 20)} assume !(#t~post7 < 20);havoc #t~post7; {109828#false} is VALID [2022-04-28 12:47:46,108 INFO L290 TraceCheckUtils]: 121: Hoare triple {110265#(< ~counter~0 20)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {110261#(< |main_#t~post7| 20)} is VALID [2022-04-28 12:47:46,109 INFO L290 TraceCheckUtils]: 120: Hoare triple {110265#(< ~counter~0 20)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {110265#(< ~counter~0 20)} is VALID [2022-04-28 12:47:46,109 INFO L284 TraceCheckUtils]: 119: Hoare quadruple {109827#true} {110265#(< ~counter~0 20)} #96#return; {110265#(< ~counter~0 20)} is VALID [2022-04-28 12:47:46,109 INFO L290 TraceCheckUtils]: 118: Hoare triple {109827#true} assume true; {109827#true} is VALID [2022-04-28 12:47:46,109 INFO L290 TraceCheckUtils]: 117: Hoare triple {109827#true} assume !(0 == ~cond); {109827#true} is VALID [2022-04-28 12:47:46,109 INFO L290 TraceCheckUtils]: 116: Hoare triple {109827#true} ~cond := #in~cond; {109827#true} is VALID [2022-04-28 12:47:46,110 INFO L272 TraceCheckUtils]: 115: Hoare triple {110265#(< ~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)); {109827#true} is VALID [2022-04-28 12:47:46,110 INFO L290 TraceCheckUtils]: 114: Hoare triple {110265#(< ~counter~0 20)} assume !!(#t~post7 < 20);havoc #t~post7; {110265#(< ~counter~0 20)} is VALID [2022-04-28 12:47:46,112 INFO L290 TraceCheckUtils]: 113: Hoare triple {110290#(< ~counter~0 19)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {110265#(< ~counter~0 20)} is VALID [2022-04-28 12:47:46,112 INFO L290 TraceCheckUtils]: 112: Hoare triple {110290#(< ~counter~0 19)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {110290#(< ~counter~0 19)} is VALID [2022-04-28 12:47:46,113 INFO L284 TraceCheckUtils]: 111: Hoare quadruple {109827#true} {110290#(< ~counter~0 19)} #96#return; {110290#(< ~counter~0 19)} is VALID [2022-04-28 12:47:46,113 INFO L290 TraceCheckUtils]: 110: Hoare triple {109827#true} assume true; {109827#true} is VALID [2022-04-28 12:47:46,113 INFO L290 TraceCheckUtils]: 109: Hoare triple {109827#true} assume !(0 == ~cond); {109827#true} is VALID [2022-04-28 12:47:46,113 INFO L290 TraceCheckUtils]: 108: Hoare triple {109827#true} ~cond := #in~cond; {109827#true} is VALID [2022-04-28 12:47:46,113 INFO L272 TraceCheckUtils]: 107: Hoare triple {110290#(< ~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)); {109827#true} is VALID [2022-04-28 12:47:46,113 INFO L290 TraceCheckUtils]: 106: Hoare triple {110290#(< ~counter~0 19)} assume !!(#t~post7 < 20);havoc #t~post7; {110290#(< ~counter~0 19)} is VALID [2022-04-28 12:47:46,114 INFO L290 TraceCheckUtils]: 105: Hoare triple {110315#(< ~counter~0 18)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {110290#(< ~counter~0 19)} is VALID [2022-04-28 12:47:46,114 INFO L290 TraceCheckUtils]: 104: Hoare triple {110315#(< ~counter~0 18)} assume !!(0 != ~r~0); {110315#(< ~counter~0 18)} is VALID [2022-04-28 12:47:46,115 INFO L284 TraceCheckUtils]: 103: Hoare quadruple {109827#true} {110315#(< ~counter~0 18)} #94#return; {110315#(< ~counter~0 18)} is VALID [2022-04-28 12:47:46,115 INFO L290 TraceCheckUtils]: 102: Hoare triple {109827#true} assume true; {109827#true} is VALID [2022-04-28 12:47:46,115 INFO L290 TraceCheckUtils]: 101: Hoare triple {109827#true} assume !(0 == ~cond); {109827#true} is VALID [2022-04-28 12:47:46,115 INFO L290 TraceCheckUtils]: 100: Hoare triple {109827#true} ~cond := #in~cond; {109827#true} is VALID [2022-04-28 12:47:46,115 INFO L272 TraceCheckUtils]: 99: Hoare triple {110315#(< ~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)); {109827#true} is VALID [2022-04-28 12:47:46,115 INFO L290 TraceCheckUtils]: 98: Hoare triple {110315#(< ~counter~0 18)} assume !!(#t~post6 < 20);havoc #t~post6; {110315#(< ~counter~0 18)} is VALID [2022-04-28 12:47:46,116 INFO L290 TraceCheckUtils]: 97: Hoare triple {110340#(< ~counter~0 17)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {110315#(< ~counter~0 18)} is VALID [2022-04-28 12:47:46,117 INFO L290 TraceCheckUtils]: 96: Hoare triple {110340#(< ~counter~0 17)} assume !(~r~0 < 0); {110340#(< ~counter~0 17)} is VALID [2022-04-28 12:47:46,117 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {109827#true} {110340#(< ~counter~0 17)} #98#return; {110340#(< ~counter~0 17)} is VALID [2022-04-28 12:47:46,117 INFO L290 TraceCheckUtils]: 94: Hoare triple {109827#true} assume true; {109827#true} is VALID [2022-04-28 12:47:46,117 INFO L290 TraceCheckUtils]: 93: Hoare triple {109827#true} assume !(0 == ~cond); {109827#true} is VALID [2022-04-28 12:47:46,117 INFO L290 TraceCheckUtils]: 92: Hoare triple {109827#true} ~cond := #in~cond; {109827#true} is VALID [2022-04-28 12:47:46,117 INFO L272 TraceCheckUtils]: 91: Hoare triple {110340#(< ~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)); {109827#true} is VALID [2022-04-28 12:47:46,118 INFO L290 TraceCheckUtils]: 90: Hoare triple {110340#(< ~counter~0 17)} assume !!(#t~post8 < 20);havoc #t~post8; {110340#(< ~counter~0 17)} is VALID [2022-04-28 12:47:46,118 INFO L290 TraceCheckUtils]: 89: Hoare triple {110365#(< ~counter~0 16)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {110340#(< ~counter~0 17)} is VALID [2022-04-28 12:47:46,119 INFO L290 TraceCheckUtils]: 88: Hoare triple {110365#(< ~counter~0 16)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {110365#(< ~counter~0 16)} is VALID [2022-04-28 12:47:46,119 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {109827#true} {110365#(< ~counter~0 16)} #98#return; {110365#(< ~counter~0 16)} is VALID [2022-04-28 12:47:46,119 INFO L290 TraceCheckUtils]: 86: Hoare triple {109827#true} assume true; {109827#true} is VALID [2022-04-28 12:47:46,119 INFO L290 TraceCheckUtils]: 85: Hoare triple {109827#true} assume !(0 == ~cond); {109827#true} is VALID [2022-04-28 12:47:46,119 INFO L290 TraceCheckUtils]: 84: Hoare triple {109827#true} ~cond := #in~cond; {109827#true} is VALID [2022-04-28 12:47:46,119 INFO L272 TraceCheckUtils]: 83: Hoare triple {110365#(< ~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)); {109827#true} is VALID [2022-04-28 12:47:46,120 INFO L290 TraceCheckUtils]: 82: Hoare triple {110365#(< ~counter~0 16)} assume !!(#t~post8 < 20);havoc #t~post8; {110365#(< ~counter~0 16)} is VALID [2022-04-28 12:47:46,121 INFO L290 TraceCheckUtils]: 81: Hoare triple {110390#(< ~counter~0 15)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {110365#(< ~counter~0 16)} is VALID [2022-04-28 12:47:46,121 INFO L290 TraceCheckUtils]: 80: Hoare triple {110390#(< ~counter~0 15)} assume !(~r~0 > 0); {110390#(< ~counter~0 15)} is VALID [2022-04-28 12:47:46,121 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {109827#true} {110390#(< ~counter~0 15)} #96#return; {110390#(< ~counter~0 15)} is VALID [2022-04-28 12:47:46,121 INFO L290 TraceCheckUtils]: 78: Hoare triple {109827#true} assume true; {109827#true} is VALID [2022-04-28 12:47:46,121 INFO L290 TraceCheckUtils]: 77: Hoare triple {109827#true} assume !(0 == ~cond); {109827#true} is VALID [2022-04-28 12:47:46,121 INFO L290 TraceCheckUtils]: 76: Hoare triple {109827#true} ~cond := #in~cond; {109827#true} is VALID [2022-04-28 12:47:46,122 INFO L272 TraceCheckUtils]: 75: Hoare triple {110390#(< ~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)); {109827#true} is VALID [2022-04-28 12:47:46,122 INFO L290 TraceCheckUtils]: 74: Hoare triple {110390#(< ~counter~0 15)} assume !!(#t~post7 < 20);havoc #t~post7; {110390#(< ~counter~0 15)} is VALID [2022-04-28 12:47:46,123 INFO L290 TraceCheckUtils]: 73: Hoare triple {110184#(<= ~counter~0 13)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {110390#(< ~counter~0 15)} is VALID [2022-04-28 12:47:46,123 INFO L290 TraceCheckUtils]: 72: Hoare triple {110184#(<= ~counter~0 13)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {110184#(<= ~counter~0 13)} is VALID [2022-04-28 12:47:46,123 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {109827#true} {110184#(<= ~counter~0 13)} #96#return; {110184#(<= ~counter~0 13)} is VALID [2022-04-28 12:47:46,123 INFO L290 TraceCheckUtils]: 70: Hoare triple {109827#true} assume true; {109827#true} is VALID [2022-04-28 12:47:46,124 INFO L290 TraceCheckUtils]: 69: Hoare triple {109827#true} assume !(0 == ~cond); {109827#true} is VALID [2022-04-28 12:47:46,124 INFO L290 TraceCheckUtils]: 68: Hoare triple {109827#true} ~cond := #in~cond; {109827#true} is VALID [2022-04-28 12:47:46,124 INFO L272 TraceCheckUtils]: 67: Hoare triple {110184#(<= ~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)); {109827#true} is VALID [2022-04-28 12:47:46,124 INFO L290 TraceCheckUtils]: 66: Hoare triple {110184#(<= ~counter~0 13)} assume !!(#t~post7 < 20);havoc #t~post7; {110184#(<= ~counter~0 13)} is VALID [2022-04-28 12:47:46,125 INFO L290 TraceCheckUtils]: 65: Hoare triple {110159#(<= ~counter~0 12)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {110184#(<= ~counter~0 13)} is VALID [2022-04-28 12:47:46,125 INFO L290 TraceCheckUtils]: 64: Hoare triple {110159#(<= ~counter~0 12)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {110159#(<= ~counter~0 12)} is VALID [2022-04-28 12:47:46,126 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {109827#true} {110159#(<= ~counter~0 12)} #96#return; {110159#(<= ~counter~0 12)} is VALID [2022-04-28 12:47:46,126 INFO L290 TraceCheckUtils]: 62: Hoare triple {109827#true} assume true; {109827#true} is VALID [2022-04-28 12:47:46,126 INFO L290 TraceCheckUtils]: 61: Hoare triple {109827#true} assume !(0 == ~cond); {109827#true} is VALID [2022-04-28 12:47:46,126 INFO L290 TraceCheckUtils]: 60: Hoare triple {109827#true} ~cond := #in~cond; {109827#true} is VALID [2022-04-28 12:47:46,126 INFO L272 TraceCheckUtils]: 59: Hoare triple {110159#(<= ~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)); {109827#true} is VALID [2022-04-28 12:47:46,126 INFO L290 TraceCheckUtils]: 58: Hoare triple {110159#(<= ~counter~0 12)} assume !!(#t~post7 < 20);havoc #t~post7; {110159#(<= ~counter~0 12)} is VALID [2022-04-28 12:47:46,127 INFO L290 TraceCheckUtils]: 57: Hoare triple {110134#(<= ~counter~0 11)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {110159#(<= ~counter~0 12)} is VALID [2022-04-28 12:47:46,127 INFO L290 TraceCheckUtils]: 56: Hoare triple {110134#(<= ~counter~0 11)} assume !!(0 != ~r~0); {110134#(<= ~counter~0 11)} is VALID [2022-04-28 12:47:46,128 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {109827#true} {110134#(<= ~counter~0 11)} #94#return; {110134#(<= ~counter~0 11)} is VALID [2022-04-28 12:47:46,128 INFO L290 TraceCheckUtils]: 54: Hoare triple {109827#true} assume true; {109827#true} is VALID [2022-04-28 12:47:46,128 INFO L290 TraceCheckUtils]: 53: Hoare triple {109827#true} assume !(0 == ~cond); {109827#true} is VALID [2022-04-28 12:47:46,128 INFO L290 TraceCheckUtils]: 52: Hoare triple {109827#true} ~cond := #in~cond; {109827#true} is VALID [2022-04-28 12:47:46,128 INFO L272 TraceCheckUtils]: 51: Hoare triple {110134#(<= ~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)); {109827#true} is VALID [2022-04-28 12:47:46,128 INFO L290 TraceCheckUtils]: 50: Hoare triple {110134#(<= ~counter~0 11)} assume !!(#t~post6 < 20);havoc #t~post6; {110134#(<= ~counter~0 11)} is VALID [2022-04-28 12:47:46,129 INFO L290 TraceCheckUtils]: 49: Hoare triple {110109#(<= ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {110134#(<= ~counter~0 11)} is VALID [2022-04-28 12:47:46,129 INFO L290 TraceCheckUtils]: 48: Hoare triple {110109#(<= ~counter~0 10)} assume !(~r~0 < 0); {110109#(<= ~counter~0 10)} is VALID [2022-04-28 12:47:46,130 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {109827#true} {110109#(<= ~counter~0 10)} #98#return; {110109#(<= ~counter~0 10)} is VALID [2022-04-28 12:47:46,130 INFO L290 TraceCheckUtils]: 46: Hoare triple {109827#true} assume true; {109827#true} is VALID [2022-04-28 12:47:46,130 INFO L290 TraceCheckUtils]: 45: Hoare triple {109827#true} assume !(0 == ~cond); {109827#true} is VALID [2022-04-28 12:47:46,130 INFO L290 TraceCheckUtils]: 44: Hoare triple {109827#true} ~cond := #in~cond; {109827#true} is VALID [2022-04-28 12:47:46,130 INFO L272 TraceCheckUtils]: 43: Hoare triple {110109#(<= ~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)); {109827#true} is VALID [2022-04-28 12:47:46,130 INFO L290 TraceCheckUtils]: 42: Hoare triple {110109#(<= ~counter~0 10)} assume !!(#t~post8 < 20);havoc #t~post8; {110109#(<= ~counter~0 10)} is VALID [2022-04-28 12:47:46,131 INFO L290 TraceCheckUtils]: 41: Hoare triple {110084#(<= ~counter~0 9)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {110109#(<= ~counter~0 10)} is VALID [2022-04-28 12:47:46,131 INFO L290 TraceCheckUtils]: 40: Hoare triple {110084#(<= ~counter~0 9)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {110084#(<= ~counter~0 9)} is VALID [2022-04-28 12:47:46,132 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {109827#true} {110084#(<= ~counter~0 9)} #98#return; {110084#(<= ~counter~0 9)} is VALID [2022-04-28 12:47:46,132 INFO L290 TraceCheckUtils]: 38: Hoare triple {109827#true} assume true; {109827#true} is VALID [2022-04-28 12:47:46,132 INFO L290 TraceCheckUtils]: 37: Hoare triple {109827#true} assume !(0 == ~cond); {109827#true} is VALID [2022-04-28 12:47:46,132 INFO L290 TraceCheckUtils]: 36: Hoare triple {109827#true} ~cond := #in~cond; {109827#true} is VALID [2022-04-28 12:47:46,132 INFO L272 TraceCheckUtils]: 35: Hoare triple {110084#(<= ~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)); {109827#true} is VALID [2022-04-28 12:47:46,132 INFO L290 TraceCheckUtils]: 34: Hoare triple {110084#(<= ~counter~0 9)} assume !!(#t~post8 < 20);havoc #t~post8; {110084#(<= ~counter~0 9)} is VALID [2022-04-28 12:47:46,133 INFO L290 TraceCheckUtils]: 33: Hoare triple {110059#(<= ~counter~0 8)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {110084#(<= ~counter~0 9)} is VALID [2022-04-28 12:47:46,134 INFO L290 TraceCheckUtils]: 32: Hoare triple {110059#(<= ~counter~0 8)} assume !(~r~0 > 0); {110059#(<= ~counter~0 8)} is VALID [2022-04-28 12:47:46,134 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {109827#true} {110059#(<= ~counter~0 8)} #96#return; {110059#(<= ~counter~0 8)} is VALID [2022-04-28 12:47:46,134 INFO L290 TraceCheckUtils]: 30: Hoare triple {109827#true} assume true; {109827#true} is VALID [2022-04-28 12:47:46,134 INFO L290 TraceCheckUtils]: 29: Hoare triple {109827#true} assume !(0 == ~cond); {109827#true} is VALID [2022-04-28 12:47:46,134 INFO L290 TraceCheckUtils]: 28: Hoare triple {109827#true} ~cond := #in~cond; {109827#true} is VALID [2022-04-28 12:47:46,134 INFO L272 TraceCheckUtils]: 27: Hoare triple {110059#(<= ~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)); {109827#true} is VALID [2022-04-28 12:47:46,135 INFO L290 TraceCheckUtils]: 26: Hoare triple {110059#(<= ~counter~0 8)} assume !!(#t~post7 < 20);havoc #t~post7; {110059#(<= ~counter~0 8)} is VALID [2022-04-28 12:47:46,136 INFO L290 TraceCheckUtils]: 25: Hoare triple {110034#(<= ~counter~0 7)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {110059#(<= ~counter~0 8)} is VALID [2022-04-28 12:47:46,136 INFO L290 TraceCheckUtils]: 24: Hoare triple {110034#(<= ~counter~0 7)} assume !!(0 != ~r~0); {110034#(<= ~counter~0 7)} is VALID [2022-04-28 12:47:46,136 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {109827#true} {110034#(<= ~counter~0 7)} #94#return; {110034#(<= ~counter~0 7)} is VALID [2022-04-28 12:47:46,136 INFO L290 TraceCheckUtils]: 22: Hoare triple {109827#true} assume true; {109827#true} is VALID [2022-04-28 12:47:46,136 INFO L290 TraceCheckUtils]: 21: Hoare triple {109827#true} assume !(0 == ~cond); {109827#true} is VALID [2022-04-28 12:47:46,136 INFO L290 TraceCheckUtils]: 20: Hoare triple {109827#true} ~cond := #in~cond; {109827#true} is VALID [2022-04-28 12:47:46,137 INFO L272 TraceCheckUtils]: 19: Hoare triple {110034#(<= ~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)); {109827#true} is VALID [2022-04-28 12:47:46,137 INFO L290 TraceCheckUtils]: 18: Hoare triple {110034#(<= ~counter~0 7)} assume !!(#t~post6 < 20);havoc #t~post6; {110034#(<= ~counter~0 7)} is VALID [2022-04-28 12:47:46,138 INFO L290 TraceCheckUtils]: 17: Hoare triple {110009#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {110034#(<= ~counter~0 7)} is VALID [2022-04-28 12:47:46,138 INFO L290 TraceCheckUtils]: 16: Hoare triple {110009#(<= ~counter~0 6)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {110009#(<= ~counter~0 6)} is VALID [2022-04-28 12:47:46,138 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {109827#true} {110009#(<= ~counter~0 6)} #92#return; {110009#(<= ~counter~0 6)} is VALID [2022-04-28 12:47:46,138 INFO L290 TraceCheckUtils]: 14: Hoare triple {109827#true} assume true; {109827#true} is VALID [2022-04-28 12:47:46,138 INFO L290 TraceCheckUtils]: 13: Hoare triple {109827#true} assume !(0 == ~cond); {109827#true} is VALID [2022-04-28 12:47:46,138 INFO L290 TraceCheckUtils]: 12: Hoare triple {109827#true} ~cond := #in~cond; {109827#true} is VALID [2022-04-28 12:47:46,139 INFO L272 TraceCheckUtils]: 11: Hoare triple {110009#(<= ~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)); {109827#true} is VALID [2022-04-28 12:47:46,139 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {109827#true} {110009#(<= ~counter~0 6)} #90#return; {110009#(<= ~counter~0 6)} is VALID [2022-04-28 12:47:46,139 INFO L290 TraceCheckUtils]: 9: Hoare triple {109827#true} assume true; {109827#true} is VALID [2022-04-28 12:47:46,139 INFO L290 TraceCheckUtils]: 8: Hoare triple {109827#true} assume !(0 == ~cond); {109827#true} is VALID [2022-04-28 12:47:46,139 INFO L290 TraceCheckUtils]: 7: Hoare triple {109827#true} ~cond := #in~cond; {109827#true} is VALID [2022-04-28 12:47:46,139 INFO L272 TraceCheckUtils]: 6: Hoare triple {110009#(<= ~counter~0 6)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {109827#true} is VALID [2022-04-28 12:47:46,139 INFO L290 TraceCheckUtils]: 5: Hoare triple {110009#(<= ~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; {110009#(<= ~counter~0 6)} is VALID [2022-04-28 12:47:46,140 INFO L272 TraceCheckUtils]: 4: Hoare triple {110009#(<= ~counter~0 6)} call #t~ret9 := main(); {110009#(<= ~counter~0 6)} is VALID [2022-04-28 12:47:46,140 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {110009#(<= ~counter~0 6)} {109827#true} #102#return; {110009#(<= ~counter~0 6)} is VALID [2022-04-28 12:47:46,140 INFO L290 TraceCheckUtils]: 2: Hoare triple {110009#(<= ~counter~0 6)} assume true; {110009#(<= ~counter~0 6)} is VALID [2022-04-28 12:47:46,141 INFO L290 TraceCheckUtils]: 1: Hoare triple {109827#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; {110009#(<= ~counter~0 6)} is VALID [2022-04-28 12:47:46,141 INFO L272 TraceCheckUtils]: 0: Hoare triple {109827#true} call ULTIMATE.init(); {109827#true} is VALID [2022-04-28 12:47:46,141 INFO L134 CoverageAnalysis]: Checked inductivity of 464 backedges. 40 proven. 108 refuted. 0 times theorem prover too weak. 316 trivial. 0 not checked. [2022-04-28 12:47:46,141 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:47:46,141 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [554377923] [2022-04-28 12:47:46,141 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:47:46,141 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [643815502] [2022-04-28 12:47:46,142 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [643815502] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:47:46,142 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:47:46,142 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 17] total 24 [2022-04-28 12:47:46,142 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:47:46,142 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1989202106] [2022-04-28 12:47:46,142 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1989202106] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:47:46,142 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:47:46,142 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-28 12:47:46,142 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [797484417] [2022-04-28 12:47:46,142 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:47:46,142 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 17 states have (on average 5.529411764705882) internal successors, (94), 16 states have internal predecessors, (94), 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 131 [2022-04-28 12:47:46,143 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:47:46,143 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 17 states, 17 states have (on average 5.529411764705882) internal successors, (94), 16 states have internal predecessors, (94), 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:47:46,256 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:47:46,256 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-28 12:47:46,256 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:47:46,256 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-28 12:47:46,257 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=236, Invalid=316, Unknown=0, NotChecked=0, Total=552 [2022-04-28 12:47:46,257 INFO L87 Difference]: Start difference. First operand 730 states and 966 transitions. Second operand has 17 states, 17 states have (on average 5.529411764705882) internal successors, (94), 16 states have internal predecessors, (94), 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:47:49,622 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:47:49,623 INFO L93 Difference]: Finished difference Result 947 states and 1293 transitions. [2022-04-28 12:47:49,623 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 29 states. [2022-04-28 12:47:49,623 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 17 states have (on average 5.529411764705882) internal successors, (94), 16 states have internal predecessors, (94), 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 131 [2022-04-28 12:47:49,623 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:47:49,623 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 17 states have (on average 5.529411764705882) internal successors, (94), 16 states have internal predecessors, (94), 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:47:49,625 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 296 transitions. [2022-04-28 12:47:49,625 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 17 states have (on average 5.529411764705882) internal successors, (94), 16 states have internal predecessors, (94), 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:47:49,627 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 296 transitions. [2022-04-28 12:47:49,627 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 29 states and 296 transitions. [2022-04-28 12:47:49,898 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 296 edges. 296 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:47:49,923 INFO L225 Difference]: With dead ends: 947 [2022-04-28 12:47:49,923 INFO L226 Difference]: Without dead ends: 746 [2022-04-28 12:47:49,924 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 273 GetRequests, 238 SyntacticMatches, 1 SemanticMatches, 34 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 104 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=500, Invalid=760, Unknown=0, NotChecked=0, Total=1260 [2022-04-28 12:47:49,924 INFO L413 NwaCegarLoop]: 69 mSDtfsCounter, 229 mSDsluCounter, 219 mSDsCounter, 0 mSdLazyCounter, 208 mSolverCounterSat, 190 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 229 SdHoareTripleChecker+Valid, 288 SdHoareTripleChecker+Invalid, 398 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 190 IncrementalHoareTripleChecker+Valid, 208 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 12:47:49,925 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [229 Valid, 288 Invalid, 398 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [190 Valid, 208 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 12:47:49,925 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 746 states. [2022-04-28 12:47:51,980 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 746 to 746. [2022-04-28 12:47:51,981 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:47:51,982 INFO L82 GeneralOperation]: Start isEquivalent. First operand 746 states. Second operand has 746 states, 566 states have (on average 1.197879858657244) internal successors, (678), 566 states have internal predecessors, (678), 153 states have call successors, (153), 28 states have call predecessors, (153), 26 states have return successors, (151), 151 states have call predecessors, (151), 151 states have call successors, (151) [2022-04-28 12:47:51,982 INFO L74 IsIncluded]: Start isIncluded. First operand 746 states. Second operand has 746 states, 566 states have (on average 1.197879858657244) internal successors, (678), 566 states have internal predecessors, (678), 153 states have call successors, (153), 28 states have call predecessors, (153), 26 states have return successors, (151), 151 states have call predecessors, (151), 151 states have call successors, (151) [2022-04-28 12:47:51,982 INFO L87 Difference]: Start difference. First operand 746 states. Second operand has 746 states, 566 states have (on average 1.197879858657244) internal successors, (678), 566 states have internal predecessors, (678), 153 states have call successors, (153), 28 states have call predecessors, (153), 26 states have return successors, (151), 151 states have call predecessors, (151), 151 states have call successors, (151) [2022-04-28 12:47:52,000 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:47:52,000 INFO L93 Difference]: Finished difference Result 746 states and 982 transitions. [2022-04-28 12:47:52,000 INFO L276 IsEmpty]: Start isEmpty. Operand 746 states and 982 transitions. [2022-04-28 12:47:52,001 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:47:52,001 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:47:52,002 INFO L74 IsIncluded]: Start isIncluded. First operand has 746 states, 566 states have (on average 1.197879858657244) internal successors, (678), 566 states have internal predecessors, (678), 153 states have call successors, (153), 28 states have call predecessors, (153), 26 states have return successors, (151), 151 states have call predecessors, (151), 151 states have call successors, (151) Second operand 746 states. [2022-04-28 12:47:52,002 INFO L87 Difference]: Start difference. First operand has 746 states, 566 states have (on average 1.197879858657244) internal successors, (678), 566 states have internal predecessors, (678), 153 states have call successors, (153), 28 states have call predecessors, (153), 26 states have return successors, (151), 151 states have call predecessors, (151), 151 states have call successors, (151) Second operand 746 states. [2022-04-28 12:47:52,020 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:47:52,020 INFO L93 Difference]: Finished difference Result 746 states and 982 transitions. [2022-04-28 12:47:52,020 INFO L276 IsEmpty]: Start isEmpty. Operand 746 states and 982 transitions. [2022-04-28 12:47:52,021 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:47:52,021 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:47:52,021 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:47:52,021 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:47:52,022 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 746 states, 566 states have (on average 1.197879858657244) internal successors, (678), 566 states have internal predecessors, (678), 153 states have call successors, (153), 28 states have call predecessors, (153), 26 states have return successors, (151), 151 states have call predecessors, (151), 151 states have call successors, (151) [2022-04-28 12:47:52,046 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 746 states to 746 states and 982 transitions. [2022-04-28 12:47:52,046 INFO L78 Accepts]: Start accepts. Automaton has 746 states and 982 transitions. Word has length 131 [2022-04-28 12:47:52,046 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:47:52,046 INFO L495 AbstractCegarLoop]: Abstraction has 746 states and 982 transitions. [2022-04-28 12:47:52,047 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 17 states have (on average 5.529411764705882) internal successors, (94), 16 states have internal predecessors, (94), 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:47:52,047 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 746 states and 982 transitions. [2022-04-28 12:48:11,846 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 982 edges. 981 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 12:48:11,846 INFO L276 IsEmpty]: Start isEmpty. Operand 746 states and 982 transitions. [2022-04-28 12:48:11,847 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 136 [2022-04-28 12:48:11,847 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:48:11,847 INFO L195 NwaCegarLoop]: trace histogram [15, 14, 14, 6, 6, 6, 6, 5, 5, 5, 5, 4, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:48:11,853 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (45)] Ended with exit code 0 [2022-04-28 12:48:12,047 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable43,45 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:48:12,048 INFO L420 AbstractCegarLoop]: === Iteration 45 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:48:12,048 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:48:12,048 INFO L85 PathProgramCache]: Analyzing trace with hash 1252937077, now seen corresponding path program 11 times [2022-04-28 12:48:12,048 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:48:12,048 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [372783805] [2022-04-28 12:48:12,048 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:48:12,049 INFO L85 PathProgramCache]: Analyzing trace with hash 1252937077, now seen corresponding path program 12 times [2022-04-28 12:48:12,049 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:48:12,049 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [621213523] [2022-04-28 12:48:12,049 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:48:12,049 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:48:12,060 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:48:12,060 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1602092800] [2022-04-28 12:48:12,060 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 12:48:12,060 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:48:12,060 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:48:12,061 INFO L229 MonitoredProcess]: Starting monitored process 46 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:48:12,062 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (46)] Waiting until timeout for monitored process [2022-04-28 12:48:12,151 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 12:48:12,151 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:48:12,152 INFO L263 TraceCheckSpWp]: Trace formula consists of 187 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-28 12:48:12,168 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:48:12,170 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:48:12,736 INFO L272 TraceCheckUtils]: 0: Hoare triple {115538#true} call ULTIMATE.init(); {115538#true} is VALID [2022-04-28 12:48:12,736 INFO L290 TraceCheckUtils]: 1: Hoare triple {115538#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; {115538#true} is VALID [2022-04-28 12:48:12,736 INFO L290 TraceCheckUtils]: 2: Hoare triple {115538#true} assume true; {115538#true} is VALID [2022-04-28 12:48:12,736 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {115538#true} {115538#true} #102#return; {115538#true} is VALID [2022-04-28 12:48:12,736 INFO L272 TraceCheckUtils]: 4: Hoare triple {115538#true} call #t~ret9 := main(); {115538#true} is VALID [2022-04-28 12:48:12,736 INFO L290 TraceCheckUtils]: 5: Hoare triple {115538#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; {115538#true} is VALID [2022-04-28 12:48:12,736 INFO L272 TraceCheckUtils]: 6: Hoare triple {115538#true} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {115538#true} is VALID [2022-04-28 12:48:12,736 INFO L290 TraceCheckUtils]: 7: Hoare triple {115538#true} ~cond := #in~cond; {115538#true} is VALID [2022-04-28 12:48:12,736 INFO L290 TraceCheckUtils]: 8: Hoare triple {115538#true} assume !(0 == ~cond); {115538#true} is VALID [2022-04-28 12:48:12,736 INFO L290 TraceCheckUtils]: 9: Hoare triple {115538#true} assume true; {115538#true} is VALID [2022-04-28 12:48:12,736 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {115538#true} {115538#true} #90#return; {115538#true} is VALID [2022-04-28 12:48:12,736 INFO L272 TraceCheckUtils]: 11: Hoare triple {115538#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)); {115538#true} is VALID [2022-04-28 12:48:12,737 INFO L290 TraceCheckUtils]: 12: Hoare triple {115538#true} ~cond := #in~cond; {115538#true} is VALID [2022-04-28 12:48:12,737 INFO L290 TraceCheckUtils]: 13: Hoare triple {115538#true} assume !(0 == ~cond); {115538#true} is VALID [2022-04-28 12:48:12,737 INFO L290 TraceCheckUtils]: 14: Hoare triple {115538#true} assume true; {115538#true} is VALID [2022-04-28 12:48:12,737 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {115538#true} {115538#true} #92#return; {115538#true} is VALID [2022-04-28 12:48:12,737 INFO L290 TraceCheckUtils]: 16: Hoare triple {115538#true} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {115538#true} is VALID [2022-04-28 12:48:12,737 INFO L290 TraceCheckUtils]: 17: Hoare triple {115538#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {115538#true} is VALID [2022-04-28 12:48:12,737 INFO L290 TraceCheckUtils]: 18: Hoare triple {115538#true} assume !!(#t~post6 < 20);havoc #t~post6; {115538#true} is VALID [2022-04-28 12:48:12,737 INFO L272 TraceCheckUtils]: 19: Hoare triple {115538#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)); {115538#true} is VALID [2022-04-28 12:48:12,737 INFO L290 TraceCheckUtils]: 20: Hoare triple {115538#true} ~cond := #in~cond; {115538#true} is VALID [2022-04-28 12:48:12,737 INFO L290 TraceCheckUtils]: 21: Hoare triple {115538#true} assume !(0 == ~cond); {115538#true} is VALID [2022-04-28 12:48:12,737 INFO L290 TraceCheckUtils]: 22: Hoare triple {115538#true} assume true; {115538#true} is VALID [2022-04-28 12:48:12,737 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {115538#true} {115538#true} #94#return; {115538#true} is VALID [2022-04-28 12:48:12,737 INFO L290 TraceCheckUtils]: 24: Hoare triple {115538#true} assume !!(0 != ~r~0); {115538#true} is VALID [2022-04-28 12:48:12,737 INFO L290 TraceCheckUtils]: 25: Hoare triple {115538#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {115538#true} is VALID [2022-04-28 12:48:12,737 INFO L290 TraceCheckUtils]: 26: Hoare triple {115538#true} assume !!(#t~post7 < 20);havoc #t~post7; {115538#true} is VALID [2022-04-28 12:48:12,738 INFO L272 TraceCheckUtils]: 27: Hoare triple {115538#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)); {115538#true} is VALID [2022-04-28 12:48:12,738 INFO L290 TraceCheckUtils]: 28: Hoare triple {115538#true} ~cond := #in~cond; {115538#true} is VALID [2022-04-28 12:48:12,738 INFO L290 TraceCheckUtils]: 29: Hoare triple {115538#true} assume !(0 == ~cond); {115538#true} is VALID [2022-04-28 12:48:12,738 INFO L290 TraceCheckUtils]: 30: Hoare triple {115538#true} assume true; {115538#true} is VALID [2022-04-28 12:48:12,738 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {115538#true} {115538#true} #96#return; {115538#true} is VALID [2022-04-28 12:48:12,738 INFO L290 TraceCheckUtils]: 32: Hoare triple {115538#true} assume !(~r~0 > 0); {115538#true} is VALID [2022-04-28 12:48:12,738 INFO L290 TraceCheckUtils]: 33: Hoare triple {115538#true} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {115538#true} is VALID [2022-04-28 12:48:12,738 INFO L290 TraceCheckUtils]: 34: Hoare triple {115538#true} assume !!(#t~post8 < 20);havoc #t~post8; {115538#true} is VALID [2022-04-28 12:48:12,738 INFO L272 TraceCheckUtils]: 35: Hoare triple {115538#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)); {115538#true} is VALID [2022-04-28 12:48:12,738 INFO L290 TraceCheckUtils]: 36: Hoare triple {115538#true} ~cond := #in~cond; {115538#true} is VALID [2022-04-28 12:48:12,738 INFO L290 TraceCheckUtils]: 37: Hoare triple {115538#true} assume !(0 == ~cond); {115538#true} is VALID [2022-04-28 12:48:12,738 INFO L290 TraceCheckUtils]: 38: Hoare triple {115538#true} assume true; {115538#true} is VALID [2022-04-28 12:48:12,738 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {115538#true} {115538#true} #98#return; {115538#true} is VALID [2022-04-28 12:48:12,738 INFO L290 TraceCheckUtils]: 40: Hoare triple {115538#true} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {115538#true} is VALID [2022-04-28 12:48:12,738 INFO L290 TraceCheckUtils]: 41: Hoare triple {115538#true} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {115538#true} is VALID [2022-04-28 12:48:12,739 INFO L290 TraceCheckUtils]: 42: Hoare triple {115538#true} assume !!(#t~post8 < 20);havoc #t~post8; {115538#true} is VALID [2022-04-28 12:48:12,739 INFO L272 TraceCheckUtils]: 43: Hoare triple {115538#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)); {115538#true} is VALID [2022-04-28 12:48:12,739 INFO L290 TraceCheckUtils]: 44: Hoare triple {115538#true} ~cond := #in~cond; {115538#true} is VALID [2022-04-28 12:48:12,739 INFO L290 TraceCheckUtils]: 45: Hoare triple {115538#true} assume !(0 == ~cond); {115538#true} is VALID [2022-04-28 12:48:12,739 INFO L290 TraceCheckUtils]: 46: Hoare triple {115538#true} assume true; {115538#true} is VALID [2022-04-28 12:48:12,739 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {115538#true} {115538#true} #98#return; {115538#true} is VALID [2022-04-28 12:48:12,739 INFO L290 TraceCheckUtils]: 48: Hoare triple {115538#true} assume !(~r~0 < 0); {115538#true} is VALID [2022-04-28 12:48:12,739 INFO L290 TraceCheckUtils]: 49: Hoare triple {115538#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {115538#true} is VALID [2022-04-28 12:48:12,739 INFO L290 TraceCheckUtils]: 50: Hoare triple {115538#true} assume !!(#t~post6 < 20);havoc #t~post6; {115538#true} is VALID [2022-04-28 12:48:12,739 INFO L272 TraceCheckUtils]: 51: Hoare triple {115538#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)); {115538#true} is VALID [2022-04-28 12:48:12,739 INFO L290 TraceCheckUtils]: 52: Hoare triple {115538#true} ~cond := #in~cond; {115538#true} is VALID [2022-04-28 12:48:12,739 INFO L290 TraceCheckUtils]: 53: Hoare triple {115538#true} assume !(0 == ~cond); {115538#true} is VALID [2022-04-28 12:48:12,739 INFO L290 TraceCheckUtils]: 54: Hoare triple {115538#true} assume true; {115538#true} is VALID [2022-04-28 12:48:12,739 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {115538#true} {115538#true} #94#return; {115538#true} is VALID [2022-04-28 12:48:12,739 INFO L290 TraceCheckUtils]: 56: Hoare triple {115538#true} assume !!(0 != ~r~0); {115538#true} is VALID [2022-04-28 12:48:12,740 INFO L290 TraceCheckUtils]: 57: Hoare triple {115538#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {115538#true} is VALID [2022-04-28 12:48:12,740 INFO L290 TraceCheckUtils]: 58: Hoare triple {115538#true} assume !!(#t~post7 < 20);havoc #t~post7; {115538#true} is VALID [2022-04-28 12:48:12,740 INFO L272 TraceCheckUtils]: 59: Hoare triple {115538#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)); {115538#true} is VALID [2022-04-28 12:48:12,740 INFO L290 TraceCheckUtils]: 60: Hoare triple {115538#true} ~cond := #in~cond; {115538#true} is VALID [2022-04-28 12:48:12,740 INFO L290 TraceCheckUtils]: 61: Hoare triple {115538#true} assume !(0 == ~cond); {115538#true} is VALID [2022-04-28 12:48:12,740 INFO L290 TraceCheckUtils]: 62: Hoare triple {115538#true} assume true; {115538#true} is VALID [2022-04-28 12:48:12,740 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {115538#true} {115538#true} #96#return; {115538#true} is VALID [2022-04-28 12:48:12,740 INFO L290 TraceCheckUtils]: 64: Hoare triple {115538#true} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {115538#true} is VALID [2022-04-28 12:48:12,740 INFO L290 TraceCheckUtils]: 65: Hoare triple {115538#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {115538#true} is VALID [2022-04-28 12:48:12,740 INFO L290 TraceCheckUtils]: 66: Hoare triple {115538#true} assume !!(#t~post7 < 20);havoc #t~post7; {115538#true} is VALID [2022-04-28 12:48:12,740 INFO L272 TraceCheckUtils]: 67: Hoare triple {115538#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)); {115538#true} is VALID [2022-04-28 12:48:12,740 INFO L290 TraceCheckUtils]: 68: Hoare triple {115538#true} ~cond := #in~cond; {115538#true} is VALID [2022-04-28 12:48:12,740 INFO L290 TraceCheckUtils]: 69: Hoare triple {115538#true} assume !(0 == ~cond); {115538#true} is VALID [2022-04-28 12:48:12,740 INFO L290 TraceCheckUtils]: 70: Hoare triple {115538#true} assume true; {115538#true} is VALID [2022-04-28 12:48:12,740 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {115538#true} {115538#true} #96#return; {115538#true} is VALID [2022-04-28 12:48:12,740 INFO L290 TraceCheckUtils]: 72: Hoare triple {115538#true} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {115538#true} is VALID [2022-04-28 12:48:12,741 INFO L290 TraceCheckUtils]: 73: Hoare triple {115538#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {115538#true} is VALID [2022-04-28 12:48:12,741 INFO L290 TraceCheckUtils]: 74: Hoare triple {115538#true} assume !!(#t~post7 < 20);havoc #t~post7; {115538#true} is VALID [2022-04-28 12:48:12,741 INFO L272 TraceCheckUtils]: 75: Hoare triple {115538#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)); {115538#true} is VALID [2022-04-28 12:48:12,741 INFO L290 TraceCheckUtils]: 76: Hoare triple {115538#true} ~cond := #in~cond; {115538#true} is VALID [2022-04-28 12:48:12,741 INFO L290 TraceCheckUtils]: 77: Hoare triple {115538#true} assume !(0 == ~cond); {115538#true} is VALID [2022-04-28 12:48:12,741 INFO L290 TraceCheckUtils]: 78: Hoare triple {115538#true} assume true; {115538#true} is VALID [2022-04-28 12:48:12,741 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {115538#true} {115538#true} #96#return; {115538#true} is VALID [2022-04-28 12:48:12,741 INFO L290 TraceCheckUtils]: 80: Hoare triple {115538#true} assume !(~r~0 > 0); {115538#true} is VALID [2022-04-28 12:48:12,741 INFO L290 TraceCheckUtils]: 81: Hoare triple {115538#true} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {115538#true} is VALID [2022-04-28 12:48:12,741 INFO L290 TraceCheckUtils]: 82: Hoare triple {115538#true} assume !!(#t~post8 < 20);havoc #t~post8; {115538#true} is VALID [2022-04-28 12:48:12,741 INFO L272 TraceCheckUtils]: 83: Hoare triple {115538#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)); {115538#true} is VALID [2022-04-28 12:48:12,741 INFO L290 TraceCheckUtils]: 84: Hoare triple {115538#true} ~cond := #in~cond; {115538#true} is VALID [2022-04-28 12:48:12,741 INFO L290 TraceCheckUtils]: 85: Hoare triple {115538#true} assume !(0 == ~cond); {115538#true} is VALID [2022-04-28 12:48:12,741 INFO L290 TraceCheckUtils]: 86: Hoare triple {115538#true} assume true; {115538#true} is VALID [2022-04-28 12:48:12,741 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {115538#true} {115538#true} #98#return; {115538#true} is VALID [2022-04-28 12:48:12,742 INFO L290 TraceCheckUtils]: 88: Hoare triple {115538#true} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {115538#true} is VALID [2022-04-28 12:48:12,742 INFO L290 TraceCheckUtils]: 89: Hoare triple {115538#true} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {115538#true} is VALID [2022-04-28 12:48:12,742 INFO L290 TraceCheckUtils]: 90: Hoare triple {115538#true} assume !!(#t~post8 < 20);havoc #t~post8; {115538#true} is VALID [2022-04-28 12:48:12,742 INFO L272 TraceCheckUtils]: 91: Hoare triple {115538#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)); {115538#true} is VALID [2022-04-28 12:48:12,742 INFO L290 TraceCheckUtils]: 92: Hoare triple {115538#true} ~cond := #in~cond; {115538#true} is VALID [2022-04-28 12:48:12,742 INFO L290 TraceCheckUtils]: 93: Hoare triple {115538#true} assume !(0 == ~cond); {115538#true} is VALID [2022-04-28 12:48:12,742 INFO L290 TraceCheckUtils]: 94: Hoare triple {115538#true} assume true; {115538#true} is VALID [2022-04-28 12:48:12,742 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {115538#true} {115538#true} #98#return; {115538#true} is VALID [2022-04-28 12:48:12,742 INFO L290 TraceCheckUtils]: 96: Hoare triple {115538#true} assume !(~r~0 < 0); {115538#true} is VALID [2022-04-28 12:48:12,742 INFO L290 TraceCheckUtils]: 97: Hoare triple {115538#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {115538#true} is VALID [2022-04-28 12:48:12,742 INFO L290 TraceCheckUtils]: 98: Hoare triple {115538#true} assume !!(#t~post6 < 20);havoc #t~post6; {115538#true} is VALID [2022-04-28 12:48:12,742 INFO L272 TraceCheckUtils]: 99: Hoare triple {115538#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)); {115538#true} is VALID [2022-04-28 12:48:12,742 INFO L290 TraceCheckUtils]: 100: Hoare triple {115538#true} ~cond := #in~cond; {115538#true} is VALID [2022-04-28 12:48:12,742 INFO L290 TraceCheckUtils]: 101: Hoare triple {115538#true} assume !(0 == ~cond); {115538#true} is VALID [2022-04-28 12:48:12,742 INFO L290 TraceCheckUtils]: 102: Hoare triple {115538#true} assume true; {115538#true} is VALID [2022-04-28 12:48:12,743 INFO L284 TraceCheckUtils]: 103: Hoare quadruple {115538#true} {115538#true} #94#return; {115538#true} is VALID [2022-04-28 12:48:12,743 INFO L290 TraceCheckUtils]: 104: Hoare triple {115538#true} assume !!(0 != ~r~0); {115538#true} is VALID [2022-04-28 12:48:12,743 INFO L290 TraceCheckUtils]: 105: Hoare triple {115538#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {115538#true} is VALID [2022-04-28 12:48:12,743 INFO L290 TraceCheckUtils]: 106: Hoare triple {115538#true} assume !!(#t~post7 < 20);havoc #t~post7; {115538#true} is VALID [2022-04-28 12:48:12,743 INFO L272 TraceCheckUtils]: 107: Hoare triple {115538#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)); {115538#true} is VALID [2022-04-28 12:48:12,743 INFO L290 TraceCheckUtils]: 108: Hoare triple {115538#true} ~cond := #in~cond; {115538#true} is VALID [2022-04-28 12:48:12,743 INFO L290 TraceCheckUtils]: 109: Hoare triple {115538#true} assume !(0 == ~cond); {115538#true} is VALID [2022-04-28 12:48:12,743 INFO L290 TraceCheckUtils]: 110: Hoare triple {115538#true} assume true; {115538#true} is VALID [2022-04-28 12:48:12,743 INFO L284 TraceCheckUtils]: 111: Hoare quadruple {115538#true} {115538#true} #96#return; {115538#true} is VALID [2022-04-28 12:48:12,743 INFO L290 TraceCheckUtils]: 112: Hoare triple {115538#true} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {115538#true} is VALID [2022-04-28 12:48:12,743 INFO L290 TraceCheckUtils]: 113: Hoare triple {115538#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {115538#true} is VALID [2022-04-28 12:48:12,743 INFO L290 TraceCheckUtils]: 114: Hoare triple {115538#true} assume !!(#t~post7 < 20);havoc #t~post7; {115538#true} is VALID [2022-04-28 12:48:12,743 INFO L272 TraceCheckUtils]: 115: Hoare triple {115538#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)); {115538#true} is VALID [2022-04-28 12:48:12,743 INFO L290 TraceCheckUtils]: 116: Hoare triple {115538#true} ~cond := #in~cond; {115538#true} is VALID [2022-04-28 12:48:12,743 INFO L290 TraceCheckUtils]: 117: Hoare triple {115538#true} assume !(0 == ~cond); {115538#true} is VALID [2022-04-28 12:48:12,744 INFO L290 TraceCheckUtils]: 118: Hoare triple {115538#true} assume true; {115538#true} is VALID [2022-04-28 12:48:12,744 INFO L284 TraceCheckUtils]: 119: Hoare quadruple {115538#true} {115538#true} #96#return; {115538#true} is VALID [2022-04-28 12:48:12,744 INFO L290 TraceCheckUtils]: 120: Hoare triple {115538#true} assume !(~r~0 > 0); {115903#(not (< 0 main_~r~0))} is VALID [2022-04-28 12:48:12,744 INFO L290 TraceCheckUtils]: 121: Hoare triple {115903#(not (< 0 main_~r~0))} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {115903#(not (< 0 main_~r~0))} is VALID [2022-04-28 12:48:12,744 INFO L290 TraceCheckUtils]: 122: Hoare triple {115903#(not (< 0 main_~r~0))} assume !!(#t~post8 < 20);havoc #t~post8; {115903#(not (< 0 main_~r~0))} is VALID [2022-04-28 12:48:12,744 INFO L272 TraceCheckUtils]: 123: Hoare triple {115903#(not (< 0 main_~r~0))} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {115538#true} is VALID [2022-04-28 12:48:12,745 INFO L290 TraceCheckUtils]: 124: Hoare triple {115538#true} ~cond := #in~cond; {115916#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:48:12,745 INFO L290 TraceCheckUtils]: 125: Hoare triple {115916#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {115920#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:48:12,745 INFO L290 TraceCheckUtils]: 126: Hoare triple {115920#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {115920#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:48:12,746 INFO L284 TraceCheckUtils]: 127: Hoare quadruple {115920#(not (= |__VERIFIER_assert_#in~cond| 0))} {115903#(not (< 0 main_~r~0))} #98#return; {115927#(and (= (+ (* 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))) (not (< 0 main_~r~0)))} is VALID [2022-04-28 12:48:12,748 INFO L290 TraceCheckUtils]: 128: Hoare triple {115927#(and (= (+ (* 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))) (not (< 0 main_~r~0)))} assume !(~r~0 < 0); {115931#(and (= (mod (+ (* main_~v~0 2) (* (- 1) main_~u~0 main_~u~0) (* main_~v~0 main_~v~0) (* main_~u~0 2)) 4) 0) (not (< (div (+ (* (- 1) main_~u~0 main_~u~0) (* main_~v~0 main_~v~0) (* (- 2) main_~v~0) (* main_~u~0 2)) (- 4)) main_~A~0)) (not (< main_~A~0 (div (+ (* (- 1) main_~u~0 main_~u~0) (* main_~v~0 main_~v~0) (* (- 2) main_~v~0) (* main_~u~0 2)) (- 4)))))} is VALID [2022-04-28 12:48:12,748 INFO L290 TraceCheckUtils]: 129: Hoare triple {115931#(and (= (mod (+ (* main_~v~0 2) (* (- 1) main_~u~0 main_~u~0) (* main_~v~0 main_~v~0) (* main_~u~0 2)) 4) 0) (not (< (div (+ (* (- 1) main_~u~0 main_~u~0) (* main_~v~0 main_~v~0) (* (- 2) main_~v~0) (* main_~u~0 2)) (- 4)) main_~A~0)) (not (< main_~A~0 (div (+ (* (- 1) main_~u~0 main_~u~0) (* main_~v~0 main_~v~0) (* (- 2) main_~v~0) (* main_~u~0 2)) (- 4)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {115931#(and (= (mod (+ (* main_~v~0 2) (* (- 1) main_~u~0 main_~u~0) (* main_~v~0 main_~v~0) (* main_~u~0 2)) 4) 0) (not (< (div (+ (* (- 1) main_~u~0 main_~u~0) (* main_~v~0 main_~v~0) (* (- 2) main_~v~0) (* main_~u~0 2)) (- 4)) main_~A~0)) (not (< main_~A~0 (div (+ (* (- 1) main_~u~0 main_~u~0) (* main_~v~0 main_~v~0) (* (- 2) main_~v~0) (* main_~u~0 2)) (- 4)))))} is VALID [2022-04-28 12:48:12,749 INFO L290 TraceCheckUtils]: 130: Hoare triple {115931#(and (= (mod (+ (* main_~v~0 2) (* (- 1) main_~u~0 main_~u~0) (* main_~v~0 main_~v~0) (* main_~u~0 2)) 4) 0) (not (< (div (+ (* (- 1) main_~u~0 main_~u~0) (* main_~v~0 main_~v~0) (* (- 2) main_~v~0) (* main_~u~0 2)) (- 4)) main_~A~0)) (not (< main_~A~0 (div (+ (* (- 1) main_~u~0 main_~u~0) (* main_~v~0 main_~v~0) (* (- 2) main_~v~0) (* main_~u~0 2)) (- 4)))))} assume !(#t~post6 < 20);havoc #t~post6; {115931#(and (= (mod (+ (* main_~v~0 2) (* (- 1) main_~u~0 main_~u~0) (* main_~v~0 main_~v~0) (* main_~u~0 2)) 4) 0) (not (< (div (+ (* (- 1) main_~u~0 main_~u~0) (* main_~v~0 main_~v~0) (* (- 2) main_~v~0) (* main_~u~0 2)) (- 4)) main_~A~0)) (not (< main_~A~0 (div (+ (* (- 1) main_~u~0 main_~u~0) (* main_~v~0 main_~v~0) (* (- 2) main_~v~0) (* main_~u~0 2)) (- 4)))))} is VALID [2022-04-28 12:48:12,750 INFO L272 TraceCheckUtils]: 131: Hoare triple {115931#(and (= (mod (+ (* main_~v~0 2) (* (- 1) main_~u~0 main_~u~0) (* main_~v~0 main_~v~0) (* main_~u~0 2)) 4) 0) (not (< (div (+ (* (- 1) main_~u~0 main_~u~0) (* main_~v~0 main_~v~0) (* (- 2) main_~v~0) (* main_~u~0 2)) (- 4)) main_~A~0)) (not (< main_~A~0 (div (+ (* (- 1) main_~u~0 main_~u~0) (* main_~v~0 main_~v~0) (* (- 2) main_~v~0) (* main_~u~0 2)) (- 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)); {115941#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:48:12,750 INFO L290 TraceCheckUtils]: 132: Hoare triple {115941#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {115945#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:48:12,750 INFO L290 TraceCheckUtils]: 133: Hoare triple {115945#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {115539#false} is VALID [2022-04-28 12:48:12,750 INFO L290 TraceCheckUtils]: 134: Hoare triple {115539#false} assume !false; {115539#false} is VALID [2022-04-28 12:48:12,751 INFO L134 CoverageAnalysis]: Checked inductivity of 514 backedges. 88 proven. 1 refuted. 0 times theorem prover too weak. 425 trivial. 0 not checked. [2022-04-28 12:48:12,751 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:48:15,242 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:48:15,242 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [621213523] [2022-04-28 12:48:15,242 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:48:15,242 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1602092800] [2022-04-28 12:48:15,242 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1602092800] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 12:48:15,242 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-28 12:48:15,242 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9] total 9 [2022-04-28 12:48:15,242 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:48:15,243 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [372783805] [2022-04-28 12:48:15,243 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [372783805] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:48:15,243 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:48:15,243 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 12:48:15,243 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [499315909] [2022-04-28 12:48:15,243 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:48:15,243 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.6666666666666665) internal successors, (33), 7 states have internal predecessors, (33), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 135 [2022-04-28 12:48:15,243 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:48:15,243 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 3.6666666666666665) internal successors, (33), 7 states have internal predecessors, (33), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 12:48:15,285 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:48:15,285 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 12:48:15,285 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:48:15,285 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 12:48:15,285 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=25, Invalid=84, Unknown=1, NotChecked=0, Total=110 [2022-04-28 12:48:15,285 INFO L87 Difference]: Start difference. First operand 746 states and 982 transitions. Second operand has 9 states, 9 states have (on average 3.6666666666666665) internal successors, (33), 7 states have internal predecessors, (33), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 12:48:19,647 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:48:19,647 INFO L93 Difference]: Finished difference Result 802 states and 1061 transitions. [2022-04-28 12:48:19,647 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 12:48:19,647 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.6666666666666665) internal successors, (33), 7 states have internal predecessors, (33), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 135 [2022-04-28 12:48:19,648 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:48:19,648 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.6666666666666665) internal successors, (33), 7 states have internal predecessors, (33), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 12:48:19,648 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 79 transitions. [2022-04-28 12:48:19,648 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.6666666666666665) internal successors, (33), 7 states have internal predecessors, (33), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 12:48:19,649 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 79 transitions. [2022-04-28 12:48:19,649 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 79 transitions. [2022-04-28 12:48:19,733 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:48:19,759 INFO L225 Difference]: With dead ends: 802 [2022-04-28 12:48:19,759 INFO L226 Difference]: Without dead ends: 790 [2022-04-28 12:48:19,759 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 146 GetRequests, 132 SyntacticMatches, 2 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 18 ImplicationChecksByTransitivity, 2.2s TimeCoverageRelationStatistics Valid=43, Invalid=138, Unknown=1, NotChecked=0, Total=182 [2022-04-28 12:48:19,760 INFO L413 NwaCegarLoop]: 51 mSDtfsCounter, 35 mSDsluCounter, 192 mSDsCounter, 0 mSdLazyCounter, 131 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 39 SdHoareTripleChecker+Valid, 243 SdHoareTripleChecker+Invalid, 142 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 131 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 12:48:19,760 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [39 Valid, 243 Invalid, 142 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 131 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 12:48:19,760 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 790 states. [2022-04-28 12:48:21,876 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 790 to 727. [2022-04-28 12:48:21,876 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:48:21,877 INFO L82 GeneralOperation]: Start isEquivalent. First operand 790 states. Second operand has 727 states, 548 states have (on average 1.1806569343065694) internal successors, (647), 555 states have internal predecessors, (647), 150 states have call successors, (150), 30 states have call predecessors, (150), 28 states have return successors, (148), 141 states have call predecessors, (148), 148 states have call successors, (148) [2022-04-28 12:48:21,877 INFO L74 IsIncluded]: Start isIncluded. First operand 790 states. Second operand has 727 states, 548 states have (on average 1.1806569343065694) internal successors, (647), 555 states have internal predecessors, (647), 150 states have call successors, (150), 30 states have call predecessors, (150), 28 states have return successors, (148), 141 states have call predecessors, (148), 148 states have call successors, (148) [2022-04-28 12:48:21,878 INFO L87 Difference]: Start difference. First operand 790 states. Second operand has 727 states, 548 states have (on average 1.1806569343065694) internal successors, (647), 555 states have internal predecessors, (647), 150 states have call successors, (150), 30 states have call predecessors, (150), 28 states have return successors, (148), 141 states have call predecessors, (148), 148 states have call successors, (148) [2022-04-28 12:48:21,902 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:48:21,902 INFO L93 Difference]: Finished difference Result 790 states and 1043 transitions. [2022-04-28 12:48:21,902 INFO L276 IsEmpty]: Start isEmpty. Operand 790 states and 1043 transitions. [2022-04-28 12:48:21,903 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:48:21,903 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:48:21,904 INFO L74 IsIncluded]: Start isIncluded. First operand has 727 states, 548 states have (on average 1.1806569343065694) internal successors, (647), 555 states have internal predecessors, (647), 150 states have call successors, (150), 30 states have call predecessors, (150), 28 states have return successors, (148), 141 states have call predecessors, (148), 148 states have call successors, (148) Second operand 790 states. [2022-04-28 12:48:21,904 INFO L87 Difference]: Start difference. First operand has 727 states, 548 states have (on average 1.1806569343065694) internal successors, (647), 555 states have internal predecessors, (647), 150 states have call successors, (150), 30 states have call predecessors, (150), 28 states have return successors, (148), 141 states have call predecessors, (148), 148 states have call successors, (148) Second operand 790 states. [2022-04-28 12:48:21,925 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:48:21,925 INFO L93 Difference]: Finished difference Result 790 states and 1043 transitions. [2022-04-28 12:48:21,925 INFO L276 IsEmpty]: Start isEmpty. Operand 790 states and 1043 transitions. [2022-04-28 12:48:21,926 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:48:21,926 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:48:21,926 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:48:21,926 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:48:21,927 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 727 states, 548 states have (on average 1.1806569343065694) internal successors, (647), 555 states have internal predecessors, (647), 150 states have call successors, (150), 30 states have call predecessors, (150), 28 states have return successors, (148), 141 states have call predecessors, (148), 148 states have call successors, (148) [2022-04-28 12:48:21,949 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 727 states to 727 states and 945 transitions. [2022-04-28 12:48:21,949 INFO L78 Accepts]: Start accepts. Automaton has 727 states and 945 transitions. Word has length 135 [2022-04-28 12:48:21,949 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:48:21,949 INFO L495 AbstractCegarLoop]: Abstraction has 727 states and 945 transitions. [2022-04-28 12:48:21,949 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 3.6666666666666665) internal successors, (33), 7 states have internal predecessors, (33), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 12:48:21,950 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 727 states and 945 transitions. [2022-04-28 12:48:42,788 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 945 edges. 940 inductive. 0 not inductive. 5 times theorem prover too weak to decide inductivity. [2022-04-28 12:48:42,788 INFO L276 IsEmpty]: Start isEmpty. Operand 727 states and 945 transitions. [2022-04-28 12:48:42,789 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 136 [2022-04-28 12:48:42,789 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:48:42,789 INFO L195 NwaCegarLoop]: trace histogram [15, 14, 14, 8, 8, 8, 8, 6, 4, 4, 4, 4, 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:48:42,795 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (46)] Forceful destruction successful, exit code 0 [2022-04-28 12:48:42,990 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 46 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable44 [2022-04-28 12:48:42,990 INFO L420 AbstractCegarLoop]: === Iteration 46 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:48:42,990 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:48:42,990 INFO L85 PathProgramCache]: Analyzing trace with hash 200539575, now seen corresponding path program 13 times [2022-04-28 12:48:42,990 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:48:42,990 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [919746116] [2022-04-28 12:48:42,991 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:48:42,991 INFO L85 PathProgramCache]: Analyzing trace with hash 200539575, now seen corresponding path program 14 times [2022-04-28 12:48:42,991 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:48:42,991 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1323462767] [2022-04-28 12:48:42,991 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:48:42,991 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:48:43,003 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:48:43,003 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [126975904] [2022-04-28 12:48:43,004 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:48:43,004 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:48:43,004 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:48:43,005 INFO L229 MonitoredProcess]: Starting monitored process 47 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:48:43,007 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (47)] Waiting until timeout for monitored process [2022-04-28 12:48:43,065 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:48:43,066 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:48:43,067 INFO L263 TraceCheckSpWp]: Trace formula consists of 335 conjuncts, 33 conjunts are in the unsatisfiable core [2022-04-28 12:48:43,100 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:48:43,102 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:48:43,781 INFO L272 TraceCheckUtils]: 0: Hoare triple {120622#true} call ULTIMATE.init(); {120622#true} is VALID [2022-04-28 12:48:43,781 INFO L290 TraceCheckUtils]: 1: Hoare triple {120622#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; {120630#(<= ~counter~0 0)} is VALID [2022-04-28 12:48:43,781 INFO L290 TraceCheckUtils]: 2: Hoare triple {120630#(<= ~counter~0 0)} assume true; {120630#(<= ~counter~0 0)} is VALID [2022-04-28 12:48:43,782 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {120630#(<= ~counter~0 0)} {120622#true} #102#return; {120630#(<= ~counter~0 0)} is VALID [2022-04-28 12:48:43,782 INFO L272 TraceCheckUtils]: 4: Hoare triple {120630#(<= ~counter~0 0)} call #t~ret9 := main(); {120630#(<= ~counter~0 0)} is VALID [2022-04-28 12:48:43,782 INFO L290 TraceCheckUtils]: 5: Hoare triple {120630#(<= ~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; {120630#(<= ~counter~0 0)} is VALID [2022-04-28 12:48:43,783 INFO L272 TraceCheckUtils]: 6: Hoare triple {120630#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {120630#(<= ~counter~0 0)} is VALID [2022-04-28 12:48:43,783 INFO L290 TraceCheckUtils]: 7: Hoare triple {120630#(<= ~counter~0 0)} ~cond := #in~cond; {120630#(<= ~counter~0 0)} is VALID [2022-04-28 12:48:43,783 INFO L290 TraceCheckUtils]: 8: Hoare triple {120630#(<= ~counter~0 0)} assume !(0 == ~cond); {120630#(<= ~counter~0 0)} is VALID [2022-04-28 12:48:43,783 INFO L290 TraceCheckUtils]: 9: Hoare triple {120630#(<= ~counter~0 0)} assume true; {120630#(<= ~counter~0 0)} is VALID [2022-04-28 12:48:43,784 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {120630#(<= ~counter~0 0)} {120630#(<= ~counter~0 0)} #90#return; {120630#(<= ~counter~0 0)} is VALID [2022-04-28 12:48:43,784 INFO L272 TraceCheckUtils]: 11: Hoare triple {120630#(<= ~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)); {120630#(<= ~counter~0 0)} is VALID [2022-04-28 12:48:43,784 INFO L290 TraceCheckUtils]: 12: Hoare triple {120630#(<= ~counter~0 0)} ~cond := #in~cond; {120630#(<= ~counter~0 0)} is VALID [2022-04-28 12:48:43,785 INFO L290 TraceCheckUtils]: 13: Hoare triple {120630#(<= ~counter~0 0)} assume !(0 == ~cond); {120630#(<= ~counter~0 0)} is VALID [2022-04-28 12:48:43,785 INFO L290 TraceCheckUtils]: 14: Hoare triple {120630#(<= ~counter~0 0)} assume true; {120630#(<= ~counter~0 0)} is VALID [2022-04-28 12:48:43,785 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {120630#(<= ~counter~0 0)} {120630#(<= ~counter~0 0)} #92#return; {120630#(<= ~counter~0 0)} is VALID [2022-04-28 12:48:43,786 INFO L290 TraceCheckUtils]: 16: Hoare triple {120630#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {120630#(<= ~counter~0 0)} is VALID [2022-04-28 12:48:43,788 INFO L290 TraceCheckUtils]: 17: Hoare triple {120630#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {120679#(<= ~counter~0 1)} is VALID [2022-04-28 12:48:43,788 INFO L290 TraceCheckUtils]: 18: Hoare triple {120679#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {120679#(<= ~counter~0 1)} is VALID [2022-04-28 12:48:43,789 INFO L272 TraceCheckUtils]: 19: Hoare triple {120679#(<= ~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)); {120679#(<= ~counter~0 1)} is VALID [2022-04-28 12:48:43,789 INFO L290 TraceCheckUtils]: 20: Hoare triple {120679#(<= ~counter~0 1)} ~cond := #in~cond; {120679#(<= ~counter~0 1)} is VALID [2022-04-28 12:48:43,789 INFO L290 TraceCheckUtils]: 21: Hoare triple {120679#(<= ~counter~0 1)} assume !(0 == ~cond); {120679#(<= ~counter~0 1)} is VALID [2022-04-28 12:48:43,789 INFO L290 TraceCheckUtils]: 22: Hoare triple {120679#(<= ~counter~0 1)} assume true; {120679#(<= ~counter~0 1)} is VALID [2022-04-28 12:48:43,790 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {120679#(<= ~counter~0 1)} {120679#(<= ~counter~0 1)} #94#return; {120679#(<= ~counter~0 1)} is VALID [2022-04-28 12:48:43,790 INFO L290 TraceCheckUtils]: 24: Hoare triple {120679#(<= ~counter~0 1)} assume !!(0 != ~r~0); {120679#(<= ~counter~0 1)} is VALID [2022-04-28 12:48:43,791 INFO L290 TraceCheckUtils]: 25: Hoare triple {120679#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {120704#(<= ~counter~0 2)} is VALID [2022-04-28 12:48:43,791 INFO L290 TraceCheckUtils]: 26: Hoare triple {120704#(<= ~counter~0 2)} assume !!(#t~post7 < 20);havoc #t~post7; {120704#(<= ~counter~0 2)} is VALID [2022-04-28 12:48:43,792 INFO L272 TraceCheckUtils]: 27: Hoare triple {120704#(<= ~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)); {120704#(<= ~counter~0 2)} is VALID [2022-04-28 12:48:43,792 INFO L290 TraceCheckUtils]: 28: Hoare triple {120704#(<= ~counter~0 2)} ~cond := #in~cond; {120704#(<= ~counter~0 2)} is VALID [2022-04-28 12:48:43,792 INFO L290 TraceCheckUtils]: 29: Hoare triple {120704#(<= ~counter~0 2)} assume !(0 == ~cond); {120704#(<= ~counter~0 2)} is VALID [2022-04-28 12:48:43,793 INFO L290 TraceCheckUtils]: 30: Hoare triple {120704#(<= ~counter~0 2)} assume true; {120704#(<= ~counter~0 2)} is VALID [2022-04-28 12:48:43,793 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {120704#(<= ~counter~0 2)} {120704#(<= ~counter~0 2)} #96#return; {120704#(<= ~counter~0 2)} is VALID [2022-04-28 12:48:43,793 INFO L290 TraceCheckUtils]: 32: Hoare triple {120704#(<= ~counter~0 2)} assume !(~r~0 > 0); {120704#(<= ~counter~0 2)} is VALID [2022-04-28 12:48:43,794 INFO L290 TraceCheckUtils]: 33: Hoare triple {120704#(<= ~counter~0 2)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {120729#(<= ~counter~0 3)} is VALID [2022-04-28 12:48:43,794 INFO L290 TraceCheckUtils]: 34: Hoare triple {120729#(<= ~counter~0 3)} assume !!(#t~post8 < 20);havoc #t~post8; {120729#(<= ~counter~0 3)} is VALID [2022-04-28 12:48:43,795 INFO L272 TraceCheckUtils]: 35: Hoare triple {120729#(<= ~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)); {120729#(<= ~counter~0 3)} is VALID [2022-04-28 12:48:43,795 INFO L290 TraceCheckUtils]: 36: Hoare triple {120729#(<= ~counter~0 3)} ~cond := #in~cond; {120729#(<= ~counter~0 3)} is VALID [2022-04-28 12:48:43,795 INFO L290 TraceCheckUtils]: 37: Hoare triple {120729#(<= ~counter~0 3)} assume !(0 == ~cond); {120729#(<= ~counter~0 3)} is VALID [2022-04-28 12:48:43,796 INFO L290 TraceCheckUtils]: 38: Hoare triple {120729#(<= ~counter~0 3)} assume true; {120729#(<= ~counter~0 3)} is VALID [2022-04-28 12:48:43,796 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {120729#(<= ~counter~0 3)} {120729#(<= ~counter~0 3)} #98#return; {120729#(<= ~counter~0 3)} is VALID [2022-04-28 12:48:43,796 INFO L290 TraceCheckUtils]: 40: Hoare triple {120729#(<= ~counter~0 3)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {120729#(<= ~counter~0 3)} is VALID [2022-04-28 12:48:43,797 INFO L290 TraceCheckUtils]: 41: Hoare triple {120729#(<= ~counter~0 3)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {120754#(<= ~counter~0 4)} is VALID [2022-04-28 12:48:43,798 INFO L290 TraceCheckUtils]: 42: Hoare triple {120754#(<= ~counter~0 4)} assume !!(#t~post8 < 20);havoc #t~post8; {120754#(<= ~counter~0 4)} is VALID [2022-04-28 12:48:43,798 INFO L272 TraceCheckUtils]: 43: Hoare triple {120754#(<= ~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)); {120754#(<= ~counter~0 4)} is VALID [2022-04-28 12:48:43,798 INFO L290 TraceCheckUtils]: 44: Hoare triple {120754#(<= ~counter~0 4)} ~cond := #in~cond; {120754#(<= ~counter~0 4)} is VALID [2022-04-28 12:48:43,799 INFO L290 TraceCheckUtils]: 45: Hoare triple {120754#(<= ~counter~0 4)} assume !(0 == ~cond); {120754#(<= ~counter~0 4)} is VALID [2022-04-28 12:48:43,799 INFO L290 TraceCheckUtils]: 46: Hoare triple {120754#(<= ~counter~0 4)} assume true; {120754#(<= ~counter~0 4)} is VALID [2022-04-28 12:48:43,799 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {120754#(<= ~counter~0 4)} {120754#(<= ~counter~0 4)} #98#return; {120754#(<= ~counter~0 4)} is VALID [2022-04-28 12:48:43,800 INFO L290 TraceCheckUtils]: 48: Hoare triple {120754#(<= ~counter~0 4)} assume !(~r~0 < 0); {120754#(<= ~counter~0 4)} is VALID [2022-04-28 12:48:43,801 INFO L290 TraceCheckUtils]: 49: Hoare triple {120754#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {120779#(<= ~counter~0 5)} is VALID [2022-04-28 12:48:43,801 INFO L290 TraceCheckUtils]: 50: Hoare triple {120779#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {120779#(<= ~counter~0 5)} is VALID [2022-04-28 12:48:43,801 INFO L272 TraceCheckUtils]: 51: Hoare triple {120779#(<= ~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)); {120779#(<= ~counter~0 5)} is VALID [2022-04-28 12:48:43,802 INFO L290 TraceCheckUtils]: 52: Hoare triple {120779#(<= ~counter~0 5)} ~cond := #in~cond; {120779#(<= ~counter~0 5)} is VALID [2022-04-28 12:48:43,802 INFO L290 TraceCheckUtils]: 53: Hoare triple {120779#(<= ~counter~0 5)} assume !(0 == ~cond); {120779#(<= ~counter~0 5)} is VALID [2022-04-28 12:48:43,802 INFO L290 TraceCheckUtils]: 54: Hoare triple {120779#(<= ~counter~0 5)} assume true; {120779#(<= ~counter~0 5)} is VALID [2022-04-28 12:48:43,803 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {120779#(<= ~counter~0 5)} {120779#(<= ~counter~0 5)} #94#return; {120779#(<= ~counter~0 5)} is VALID [2022-04-28 12:48:43,803 INFO L290 TraceCheckUtils]: 56: Hoare triple {120779#(<= ~counter~0 5)} assume !!(0 != ~r~0); {120779#(<= ~counter~0 5)} is VALID [2022-04-28 12:48:43,804 INFO L290 TraceCheckUtils]: 57: Hoare triple {120779#(<= ~counter~0 5)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {120804#(<= ~counter~0 6)} is VALID [2022-04-28 12:48:43,804 INFO L290 TraceCheckUtils]: 58: Hoare triple {120804#(<= ~counter~0 6)} assume !!(#t~post7 < 20);havoc #t~post7; {120804#(<= ~counter~0 6)} is VALID [2022-04-28 12:48:43,805 INFO L272 TraceCheckUtils]: 59: Hoare triple {120804#(<= ~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)); {120804#(<= ~counter~0 6)} is VALID [2022-04-28 12:48:43,805 INFO L290 TraceCheckUtils]: 60: Hoare triple {120804#(<= ~counter~0 6)} ~cond := #in~cond; {120804#(<= ~counter~0 6)} is VALID [2022-04-28 12:48:43,805 INFO L290 TraceCheckUtils]: 61: Hoare triple {120804#(<= ~counter~0 6)} assume !(0 == ~cond); {120804#(<= ~counter~0 6)} is VALID [2022-04-28 12:48:43,805 INFO L290 TraceCheckUtils]: 62: Hoare triple {120804#(<= ~counter~0 6)} assume true; {120804#(<= ~counter~0 6)} is VALID [2022-04-28 12:48:43,806 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {120804#(<= ~counter~0 6)} {120804#(<= ~counter~0 6)} #96#return; {120804#(<= ~counter~0 6)} is VALID [2022-04-28 12:48:43,806 INFO L290 TraceCheckUtils]: 64: Hoare triple {120804#(<= ~counter~0 6)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {120804#(<= ~counter~0 6)} is VALID [2022-04-28 12:48:43,807 INFO L290 TraceCheckUtils]: 65: Hoare triple {120804#(<= ~counter~0 6)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {120829#(<= ~counter~0 7)} is VALID [2022-04-28 12:48:43,807 INFO L290 TraceCheckUtils]: 66: Hoare triple {120829#(<= ~counter~0 7)} assume !!(#t~post7 < 20);havoc #t~post7; {120829#(<= ~counter~0 7)} is VALID [2022-04-28 12:48:43,808 INFO L272 TraceCheckUtils]: 67: Hoare triple {120829#(<= ~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)); {120829#(<= ~counter~0 7)} is VALID [2022-04-28 12:48:43,808 INFO L290 TraceCheckUtils]: 68: Hoare triple {120829#(<= ~counter~0 7)} ~cond := #in~cond; {120829#(<= ~counter~0 7)} is VALID [2022-04-28 12:48:43,808 INFO L290 TraceCheckUtils]: 69: Hoare triple {120829#(<= ~counter~0 7)} assume !(0 == ~cond); {120829#(<= ~counter~0 7)} is VALID [2022-04-28 12:48:43,809 INFO L290 TraceCheckUtils]: 70: Hoare triple {120829#(<= ~counter~0 7)} assume true; {120829#(<= ~counter~0 7)} is VALID [2022-04-28 12:48:43,809 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {120829#(<= ~counter~0 7)} {120829#(<= ~counter~0 7)} #96#return; {120829#(<= ~counter~0 7)} is VALID [2022-04-28 12:48:43,809 INFO L290 TraceCheckUtils]: 72: Hoare triple {120829#(<= ~counter~0 7)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {120829#(<= ~counter~0 7)} is VALID [2022-04-28 12:48:43,810 INFO L290 TraceCheckUtils]: 73: Hoare triple {120829#(<= ~counter~0 7)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {120854#(<= ~counter~0 8)} is VALID [2022-04-28 12:48:43,811 INFO L290 TraceCheckUtils]: 74: Hoare triple {120854#(<= ~counter~0 8)} assume !!(#t~post7 < 20);havoc #t~post7; {120854#(<= ~counter~0 8)} is VALID [2022-04-28 12:48:43,811 INFO L272 TraceCheckUtils]: 75: Hoare triple {120854#(<= ~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)); {120854#(<= ~counter~0 8)} is VALID [2022-04-28 12:48:43,811 INFO L290 TraceCheckUtils]: 76: Hoare triple {120854#(<= ~counter~0 8)} ~cond := #in~cond; {120854#(<= ~counter~0 8)} is VALID [2022-04-28 12:48:43,811 INFO L290 TraceCheckUtils]: 77: Hoare triple {120854#(<= ~counter~0 8)} assume !(0 == ~cond); {120854#(<= ~counter~0 8)} is VALID [2022-04-28 12:48:43,812 INFO L290 TraceCheckUtils]: 78: Hoare triple {120854#(<= ~counter~0 8)} assume true; {120854#(<= ~counter~0 8)} is VALID [2022-04-28 12:48:43,812 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {120854#(<= ~counter~0 8)} {120854#(<= ~counter~0 8)} #96#return; {120854#(<= ~counter~0 8)} is VALID [2022-04-28 12:48:43,812 INFO L290 TraceCheckUtils]: 80: Hoare triple {120854#(<= ~counter~0 8)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {120854#(<= ~counter~0 8)} is VALID [2022-04-28 12:48:43,813 INFO L290 TraceCheckUtils]: 81: Hoare triple {120854#(<= ~counter~0 8)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {120879#(<= ~counter~0 9)} is VALID [2022-04-28 12:48:43,814 INFO L290 TraceCheckUtils]: 82: Hoare triple {120879#(<= ~counter~0 9)} assume !!(#t~post7 < 20);havoc #t~post7; {120879#(<= ~counter~0 9)} is VALID [2022-04-28 12:48:43,814 INFO L272 TraceCheckUtils]: 83: Hoare triple {120879#(<= ~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)); {120879#(<= ~counter~0 9)} is VALID [2022-04-28 12:48:43,814 INFO L290 TraceCheckUtils]: 84: Hoare triple {120879#(<= ~counter~0 9)} ~cond := #in~cond; {120879#(<= ~counter~0 9)} is VALID [2022-04-28 12:48:43,815 INFO L290 TraceCheckUtils]: 85: Hoare triple {120879#(<= ~counter~0 9)} assume !(0 == ~cond); {120879#(<= ~counter~0 9)} is VALID [2022-04-28 12:48:43,815 INFO L290 TraceCheckUtils]: 86: Hoare triple {120879#(<= ~counter~0 9)} assume true; {120879#(<= ~counter~0 9)} is VALID [2022-04-28 12:48:43,815 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {120879#(<= ~counter~0 9)} {120879#(<= ~counter~0 9)} #96#return; {120879#(<= ~counter~0 9)} is VALID [2022-04-28 12:48:43,816 INFO L290 TraceCheckUtils]: 88: Hoare triple {120879#(<= ~counter~0 9)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {120879#(<= ~counter~0 9)} is VALID [2022-04-28 12:48:43,817 INFO L290 TraceCheckUtils]: 89: Hoare triple {120879#(<= ~counter~0 9)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {120904#(<= ~counter~0 10)} is VALID [2022-04-28 12:48:43,817 INFO L290 TraceCheckUtils]: 90: Hoare triple {120904#(<= ~counter~0 10)} assume !!(#t~post7 < 20);havoc #t~post7; {120904#(<= ~counter~0 10)} is VALID [2022-04-28 12:48:43,817 INFO L272 TraceCheckUtils]: 91: Hoare triple {120904#(<= ~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)); {120904#(<= ~counter~0 10)} is VALID [2022-04-28 12:48:43,818 INFO L290 TraceCheckUtils]: 92: Hoare triple {120904#(<= ~counter~0 10)} ~cond := #in~cond; {120904#(<= ~counter~0 10)} is VALID [2022-04-28 12:48:43,818 INFO L290 TraceCheckUtils]: 93: Hoare triple {120904#(<= ~counter~0 10)} assume !(0 == ~cond); {120904#(<= ~counter~0 10)} is VALID [2022-04-28 12:48:43,818 INFO L290 TraceCheckUtils]: 94: Hoare triple {120904#(<= ~counter~0 10)} assume true; {120904#(<= ~counter~0 10)} is VALID [2022-04-28 12:48:43,819 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {120904#(<= ~counter~0 10)} {120904#(<= ~counter~0 10)} #96#return; {120904#(<= ~counter~0 10)} is VALID [2022-04-28 12:48:43,819 INFO L290 TraceCheckUtils]: 96: Hoare triple {120904#(<= ~counter~0 10)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {120904#(<= ~counter~0 10)} is VALID [2022-04-28 12:48:43,820 INFO L290 TraceCheckUtils]: 97: Hoare triple {120904#(<= ~counter~0 10)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {120929#(<= ~counter~0 11)} is VALID [2022-04-28 12:48:43,820 INFO L290 TraceCheckUtils]: 98: Hoare triple {120929#(<= ~counter~0 11)} assume !!(#t~post7 < 20);havoc #t~post7; {120929#(<= ~counter~0 11)} is VALID [2022-04-28 12:48:43,821 INFO L272 TraceCheckUtils]: 99: Hoare triple {120929#(<= ~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)); {120929#(<= ~counter~0 11)} is VALID [2022-04-28 12:48:43,821 INFO L290 TraceCheckUtils]: 100: Hoare triple {120929#(<= ~counter~0 11)} ~cond := #in~cond; {120929#(<= ~counter~0 11)} is VALID [2022-04-28 12:48:43,821 INFO L290 TraceCheckUtils]: 101: Hoare triple {120929#(<= ~counter~0 11)} assume !(0 == ~cond); {120929#(<= ~counter~0 11)} is VALID [2022-04-28 12:48:43,821 INFO L290 TraceCheckUtils]: 102: Hoare triple {120929#(<= ~counter~0 11)} assume true; {120929#(<= ~counter~0 11)} is VALID [2022-04-28 12:48:43,822 INFO L284 TraceCheckUtils]: 103: Hoare quadruple {120929#(<= ~counter~0 11)} {120929#(<= ~counter~0 11)} #96#return; {120929#(<= ~counter~0 11)} is VALID [2022-04-28 12:48:43,822 INFO L290 TraceCheckUtils]: 104: Hoare triple {120929#(<= ~counter~0 11)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {120929#(<= ~counter~0 11)} is VALID [2022-04-28 12:48:43,823 INFO L290 TraceCheckUtils]: 105: Hoare triple {120929#(<= ~counter~0 11)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {120954#(<= ~counter~0 12)} is VALID [2022-04-28 12:48:43,823 INFO L290 TraceCheckUtils]: 106: Hoare triple {120954#(<= ~counter~0 12)} assume !!(#t~post7 < 20);havoc #t~post7; {120954#(<= ~counter~0 12)} is VALID [2022-04-28 12:48:43,824 INFO L272 TraceCheckUtils]: 107: Hoare triple {120954#(<= ~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)); {120954#(<= ~counter~0 12)} is VALID [2022-04-28 12:48:43,824 INFO L290 TraceCheckUtils]: 108: Hoare triple {120954#(<= ~counter~0 12)} ~cond := #in~cond; {120954#(<= ~counter~0 12)} is VALID [2022-04-28 12:48:43,824 INFO L290 TraceCheckUtils]: 109: Hoare triple {120954#(<= ~counter~0 12)} assume !(0 == ~cond); {120954#(<= ~counter~0 12)} is VALID [2022-04-28 12:48:43,824 INFO L290 TraceCheckUtils]: 110: Hoare triple {120954#(<= ~counter~0 12)} assume true; {120954#(<= ~counter~0 12)} is VALID [2022-04-28 12:48:43,825 INFO L284 TraceCheckUtils]: 111: Hoare quadruple {120954#(<= ~counter~0 12)} {120954#(<= ~counter~0 12)} #96#return; {120954#(<= ~counter~0 12)} is VALID [2022-04-28 12:48:43,825 INFO L290 TraceCheckUtils]: 112: Hoare triple {120954#(<= ~counter~0 12)} assume !(~r~0 > 0); {120954#(<= ~counter~0 12)} is VALID [2022-04-28 12:48:43,826 INFO L290 TraceCheckUtils]: 113: Hoare triple {120954#(<= ~counter~0 12)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {120979#(<= ~counter~0 13)} is VALID [2022-04-28 12:48:43,826 INFO L290 TraceCheckUtils]: 114: Hoare triple {120979#(<= ~counter~0 13)} assume !!(#t~post8 < 20);havoc #t~post8; {120979#(<= ~counter~0 13)} is VALID [2022-04-28 12:48:43,827 INFO L272 TraceCheckUtils]: 115: Hoare triple {120979#(<= ~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)); {120979#(<= ~counter~0 13)} is VALID [2022-04-28 12:48:43,827 INFO L290 TraceCheckUtils]: 116: Hoare triple {120979#(<= ~counter~0 13)} ~cond := #in~cond; {120979#(<= ~counter~0 13)} is VALID [2022-04-28 12:48:43,827 INFO L290 TraceCheckUtils]: 117: Hoare triple {120979#(<= ~counter~0 13)} assume !(0 == ~cond); {120979#(<= ~counter~0 13)} is VALID [2022-04-28 12:48:43,828 INFO L290 TraceCheckUtils]: 118: Hoare triple {120979#(<= ~counter~0 13)} assume true; {120979#(<= ~counter~0 13)} is VALID [2022-04-28 12:48:43,828 INFO L284 TraceCheckUtils]: 119: Hoare quadruple {120979#(<= ~counter~0 13)} {120979#(<= ~counter~0 13)} #98#return; {120979#(<= ~counter~0 13)} is VALID [2022-04-28 12:48:43,828 INFO L290 TraceCheckUtils]: 120: Hoare triple {120979#(<= ~counter~0 13)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {120979#(<= ~counter~0 13)} is VALID [2022-04-28 12:48:43,829 INFO L290 TraceCheckUtils]: 121: Hoare triple {120979#(<= ~counter~0 13)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {121004#(<= ~counter~0 14)} is VALID [2022-04-28 12:48:43,830 INFO L290 TraceCheckUtils]: 122: Hoare triple {121004#(<= ~counter~0 14)} assume !!(#t~post8 < 20);havoc #t~post8; {121004#(<= ~counter~0 14)} is VALID [2022-04-28 12:48:43,830 INFO L272 TraceCheckUtils]: 123: Hoare triple {121004#(<= ~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)); {121004#(<= ~counter~0 14)} is VALID [2022-04-28 12:48:43,830 INFO L290 TraceCheckUtils]: 124: Hoare triple {121004#(<= ~counter~0 14)} ~cond := #in~cond; {121004#(<= ~counter~0 14)} is VALID [2022-04-28 12:48:43,831 INFO L290 TraceCheckUtils]: 125: Hoare triple {121004#(<= ~counter~0 14)} assume !(0 == ~cond); {121004#(<= ~counter~0 14)} is VALID [2022-04-28 12:48:43,831 INFO L290 TraceCheckUtils]: 126: Hoare triple {121004#(<= ~counter~0 14)} assume true; {121004#(<= ~counter~0 14)} is VALID [2022-04-28 12:48:43,831 INFO L284 TraceCheckUtils]: 127: Hoare quadruple {121004#(<= ~counter~0 14)} {121004#(<= ~counter~0 14)} #98#return; {121004#(<= ~counter~0 14)} is VALID [2022-04-28 12:48:43,832 INFO L290 TraceCheckUtils]: 128: Hoare triple {121004#(<= ~counter~0 14)} assume !(~r~0 < 0); {121004#(<= ~counter~0 14)} is VALID [2022-04-28 12:48:43,832 INFO L290 TraceCheckUtils]: 129: Hoare triple {121004#(<= ~counter~0 14)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {121029#(<= |main_#t~post6| 14)} is VALID [2022-04-28 12:48:43,832 INFO L290 TraceCheckUtils]: 130: Hoare triple {121029#(<= |main_#t~post6| 14)} assume !(#t~post6 < 20);havoc #t~post6; {120623#false} is VALID [2022-04-28 12:48:43,832 INFO L272 TraceCheckUtils]: 131: Hoare triple {120623#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)); {120623#false} is VALID [2022-04-28 12:48:43,832 INFO L290 TraceCheckUtils]: 132: Hoare triple {120623#false} ~cond := #in~cond; {120623#false} is VALID [2022-04-28 12:48:43,832 INFO L290 TraceCheckUtils]: 133: Hoare triple {120623#false} assume 0 == ~cond; {120623#false} is VALID [2022-04-28 12:48:43,833 INFO L290 TraceCheckUtils]: 134: Hoare triple {120623#false} assume !false; {120623#false} is VALID [2022-04-28 12:48:43,833 INFO L134 CoverageAnalysis]: Checked inductivity of 540 backedges. 28 proven. 508 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:48:43,833 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:48:44,442 INFO L290 TraceCheckUtils]: 134: Hoare triple {120623#false} assume !false; {120623#false} is VALID [2022-04-28 12:48:44,442 INFO L290 TraceCheckUtils]: 133: Hoare triple {120623#false} assume 0 == ~cond; {120623#false} is VALID [2022-04-28 12:48:44,442 INFO L290 TraceCheckUtils]: 132: Hoare triple {120623#false} ~cond := #in~cond; {120623#false} is VALID [2022-04-28 12:48:44,442 INFO L272 TraceCheckUtils]: 131: Hoare triple {120623#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)); {120623#false} is VALID [2022-04-28 12:48:44,443 INFO L290 TraceCheckUtils]: 130: Hoare triple {121057#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {120623#false} is VALID [2022-04-28 12:48:44,443 INFO L290 TraceCheckUtils]: 129: Hoare triple {121061#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {121057#(< |main_#t~post6| 20)} is VALID [2022-04-28 12:48:44,443 INFO L290 TraceCheckUtils]: 128: Hoare triple {121061#(< ~counter~0 20)} assume !(~r~0 < 0); {121061#(< ~counter~0 20)} is VALID [2022-04-28 12:48:44,444 INFO L284 TraceCheckUtils]: 127: Hoare quadruple {120622#true} {121061#(< ~counter~0 20)} #98#return; {121061#(< ~counter~0 20)} is VALID [2022-04-28 12:48:44,444 INFO L290 TraceCheckUtils]: 126: Hoare triple {120622#true} assume true; {120622#true} is VALID [2022-04-28 12:48:44,444 INFO L290 TraceCheckUtils]: 125: Hoare triple {120622#true} assume !(0 == ~cond); {120622#true} is VALID [2022-04-28 12:48:44,444 INFO L290 TraceCheckUtils]: 124: Hoare triple {120622#true} ~cond := #in~cond; {120622#true} is VALID [2022-04-28 12:48:44,444 INFO L272 TraceCheckUtils]: 123: Hoare triple {121061#(< ~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)); {120622#true} is VALID [2022-04-28 12:48:44,444 INFO L290 TraceCheckUtils]: 122: Hoare triple {121061#(< ~counter~0 20)} assume !!(#t~post8 < 20);havoc #t~post8; {121061#(< ~counter~0 20)} is VALID [2022-04-28 12:48:44,447 INFO L290 TraceCheckUtils]: 121: Hoare triple {121086#(< ~counter~0 19)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {121061#(< ~counter~0 20)} is VALID [2022-04-28 12:48:44,447 INFO L290 TraceCheckUtils]: 120: Hoare triple {121086#(< ~counter~0 19)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {121086#(< ~counter~0 19)} is VALID [2022-04-28 12:48:44,447 INFO L284 TraceCheckUtils]: 119: Hoare quadruple {120622#true} {121086#(< ~counter~0 19)} #98#return; {121086#(< ~counter~0 19)} is VALID [2022-04-28 12:48:44,447 INFO L290 TraceCheckUtils]: 118: Hoare triple {120622#true} assume true; {120622#true} is VALID [2022-04-28 12:48:44,447 INFO L290 TraceCheckUtils]: 117: Hoare triple {120622#true} assume !(0 == ~cond); {120622#true} is VALID [2022-04-28 12:48:44,448 INFO L290 TraceCheckUtils]: 116: Hoare triple {120622#true} ~cond := #in~cond; {120622#true} is VALID [2022-04-28 12:48:44,448 INFO L272 TraceCheckUtils]: 115: Hoare triple {121086#(< ~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)); {120622#true} is VALID [2022-04-28 12:48:44,448 INFO L290 TraceCheckUtils]: 114: Hoare triple {121086#(< ~counter~0 19)} assume !!(#t~post8 < 20);havoc #t~post8; {121086#(< ~counter~0 19)} is VALID [2022-04-28 12:48:44,449 INFO L290 TraceCheckUtils]: 113: Hoare triple {121111#(< ~counter~0 18)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {121086#(< ~counter~0 19)} is VALID [2022-04-28 12:48:44,449 INFO L290 TraceCheckUtils]: 112: Hoare triple {121111#(< ~counter~0 18)} assume !(~r~0 > 0); {121111#(< ~counter~0 18)} is VALID [2022-04-28 12:48:44,450 INFO L284 TraceCheckUtils]: 111: Hoare quadruple {120622#true} {121111#(< ~counter~0 18)} #96#return; {121111#(< ~counter~0 18)} is VALID [2022-04-28 12:48:44,450 INFO L290 TraceCheckUtils]: 110: Hoare triple {120622#true} assume true; {120622#true} is VALID [2022-04-28 12:48:44,450 INFO L290 TraceCheckUtils]: 109: Hoare triple {120622#true} assume !(0 == ~cond); {120622#true} is VALID [2022-04-28 12:48:44,450 INFO L290 TraceCheckUtils]: 108: Hoare triple {120622#true} ~cond := #in~cond; {120622#true} is VALID [2022-04-28 12:48:44,450 INFO L272 TraceCheckUtils]: 107: Hoare triple {121111#(< ~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)); {120622#true} is VALID [2022-04-28 12:48:44,450 INFO L290 TraceCheckUtils]: 106: Hoare triple {121111#(< ~counter~0 18)} assume !!(#t~post7 < 20);havoc #t~post7; {121111#(< ~counter~0 18)} is VALID [2022-04-28 12:48:44,451 INFO L290 TraceCheckUtils]: 105: Hoare triple {121136#(< ~counter~0 17)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {121111#(< ~counter~0 18)} is VALID [2022-04-28 12:48:44,451 INFO L290 TraceCheckUtils]: 104: Hoare triple {121136#(< ~counter~0 17)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {121136#(< ~counter~0 17)} is VALID [2022-04-28 12:48:44,452 INFO L284 TraceCheckUtils]: 103: Hoare quadruple {120622#true} {121136#(< ~counter~0 17)} #96#return; {121136#(< ~counter~0 17)} is VALID [2022-04-28 12:48:44,452 INFO L290 TraceCheckUtils]: 102: Hoare triple {120622#true} assume true; {120622#true} is VALID [2022-04-28 12:48:44,452 INFO L290 TraceCheckUtils]: 101: Hoare triple {120622#true} assume !(0 == ~cond); {120622#true} is VALID [2022-04-28 12:48:44,452 INFO L290 TraceCheckUtils]: 100: Hoare triple {120622#true} ~cond := #in~cond; {120622#true} is VALID [2022-04-28 12:48:44,452 INFO L272 TraceCheckUtils]: 99: Hoare triple {121136#(< ~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)); {120622#true} is VALID [2022-04-28 12:48:44,452 INFO L290 TraceCheckUtils]: 98: Hoare triple {121136#(< ~counter~0 17)} assume !!(#t~post7 < 20);havoc #t~post7; {121136#(< ~counter~0 17)} is VALID [2022-04-28 12:48:44,453 INFO L290 TraceCheckUtils]: 97: Hoare triple {121161#(< ~counter~0 16)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {121136#(< ~counter~0 17)} is VALID [2022-04-28 12:48:44,454 INFO L290 TraceCheckUtils]: 96: Hoare triple {121161#(< ~counter~0 16)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {121161#(< ~counter~0 16)} is VALID [2022-04-28 12:48:44,454 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {120622#true} {121161#(< ~counter~0 16)} #96#return; {121161#(< ~counter~0 16)} is VALID [2022-04-28 12:48:44,454 INFO L290 TraceCheckUtils]: 94: Hoare triple {120622#true} assume true; {120622#true} is VALID [2022-04-28 12:48:44,454 INFO L290 TraceCheckUtils]: 93: Hoare triple {120622#true} assume !(0 == ~cond); {120622#true} is VALID [2022-04-28 12:48:44,454 INFO L290 TraceCheckUtils]: 92: Hoare triple {120622#true} ~cond := #in~cond; {120622#true} is VALID [2022-04-28 12:48:44,454 INFO L272 TraceCheckUtils]: 91: Hoare triple {121161#(< ~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)); {120622#true} is VALID [2022-04-28 12:48:44,455 INFO L290 TraceCheckUtils]: 90: Hoare triple {121161#(< ~counter~0 16)} assume !!(#t~post7 < 20);havoc #t~post7; {121161#(< ~counter~0 16)} is VALID [2022-04-28 12:48:44,456 INFO L290 TraceCheckUtils]: 89: Hoare triple {121004#(<= ~counter~0 14)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {121161#(< ~counter~0 16)} is VALID [2022-04-28 12:48:44,456 INFO L290 TraceCheckUtils]: 88: Hoare triple {121004#(<= ~counter~0 14)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {121004#(<= ~counter~0 14)} is VALID [2022-04-28 12:48:44,456 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {120622#true} {121004#(<= ~counter~0 14)} #96#return; {121004#(<= ~counter~0 14)} is VALID [2022-04-28 12:48:44,456 INFO L290 TraceCheckUtils]: 86: Hoare triple {120622#true} assume true; {120622#true} is VALID [2022-04-28 12:48:44,456 INFO L290 TraceCheckUtils]: 85: Hoare triple {120622#true} assume !(0 == ~cond); {120622#true} is VALID [2022-04-28 12:48:44,456 INFO L290 TraceCheckUtils]: 84: Hoare triple {120622#true} ~cond := #in~cond; {120622#true} is VALID [2022-04-28 12:48:44,457 INFO L272 TraceCheckUtils]: 83: Hoare triple {121004#(<= ~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)); {120622#true} is VALID [2022-04-28 12:48:44,457 INFO L290 TraceCheckUtils]: 82: Hoare triple {121004#(<= ~counter~0 14)} assume !!(#t~post7 < 20);havoc #t~post7; {121004#(<= ~counter~0 14)} is VALID [2022-04-28 12:48:44,458 INFO L290 TraceCheckUtils]: 81: Hoare triple {120979#(<= ~counter~0 13)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {121004#(<= ~counter~0 14)} is VALID [2022-04-28 12:48:44,458 INFO L290 TraceCheckUtils]: 80: Hoare triple {120979#(<= ~counter~0 13)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {120979#(<= ~counter~0 13)} is VALID [2022-04-28 12:48:44,458 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {120622#true} {120979#(<= ~counter~0 13)} #96#return; {120979#(<= ~counter~0 13)} is VALID [2022-04-28 12:48:44,459 INFO L290 TraceCheckUtils]: 78: Hoare triple {120622#true} assume true; {120622#true} is VALID [2022-04-28 12:48:44,459 INFO L290 TraceCheckUtils]: 77: Hoare triple {120622#true} assume !(0 == ~cond); {120622#true} is VALID [2022-04-28 12:48:44,459 INFO L290 TraceCheckUtils]: 76: Hoare triple {120622#true} ~cond := #in~cond; {120622#true} is VALID [2022-04-28 12:48:44,459 INFO L272 TraceCheckUtils]: 75: Hoare triple {120979#(<= ~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)); {120622#true} is VALID [2022-04-28 12:48:44,459 INFO L290 TraceCheckUtils]: 74: Hoare triple {120979#(<= ~counter~0 13)} assume !!(#t~post7 < 20);havoc #t~post7; {120979#(<= ~counter~0 13)} is VALID [2022-04-28 12:48:44,460 INFO L290 TraceCheckUtils]: 73: Hoare triple {120954#(<= ~counter~0 12)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {120979#(<= ~counter~0 13)} is VALID [2022-04-28 12:48:44,460 INFO L290 TraceCheckUtils]: 72: Hoare triple {120954#(<= ~counter~0 12)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {120954#(<= ~counter~0 12)} is VALID [2022-04-28 12:48:44,461 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {120622#true} {120954#(<= ~counter~0 12)} #96#return; {120954#(<= ~counter~0 12)} is VALID [2022-04-28 12:48:44,461 INFO L290 TraceCheckUtils]: 70: Hoare triple {120622#true} assume true; {120622#true} is VALID [2022-04-28 12:48:44,461 INFO L290 TraceCheckUtils]: 69: Hoare triple {120622#true} assume !(0 == ~cond); {120622#true} is VALID [2022-04-28 12:48:44,461 INFO L290 TraceCheckUtils]: 68: Hoare triple {120622#true} ~cond := #in~cond; {120622#true} is VALID [2022-04-28 12:48:44,461 INFO L272 TraceCheckUtils]: 67: Hoare triple {120954#(<= ~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)); {120622#true} is VALID [2022-04-28 12:48:44,461 INFO L290 TraceCheckUtils]: 66: Hoare triple {120954#(<= ~counter~0 12)} assume !!(#t~post7 < 20);havoc #t~post7; {120954#(<= ~counter~0 12)} is VALID [2022-04-28 12:48:44,462 INFO L290 TraceCheckUtils]: 65: Hoare triple {120929#(<= ~counter~0 11)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {120954#(<= ~counter~0 12)} is VALID [2022-04-28 12:48:44,463 INFO L290 TraceCheckUtils]: 64: Hoare triple {120929#(<= ~counter~0 11)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {120929#(<= ~counter~0 11)} is VALID [2022-04-28 12:48:44,463 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {120622#true} {120929#(<= ~counter~0 11)} #96#return; {120929#(<= ~counter~0 11)} is VALID [2022-04-28 12:48:44,463 INFO L290 TraceCheckUtils]: 62: Hoare triple {120622#true} assume true; {120622#true} is VALID [2022-04-28 12:48:44,463 INFO L290 TraceCheckUtils]: 61: Hoare triple {120622#true} assume !(0 == ~cond); {120622#true} is VALID [2022-04-28 12:48:44,463 INFO L290 TraceCheckUtils]: 60: Hoare triple {120622#true} ~cond := #in~cond; {120622#true} is VALID [2022-04-28 12:48:44,463 INFO L272 TraceCheckUtils]: 59: Hoare triple {120929#(<= ~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)); {120622#true} is VALID [2022-04-28 12:48:44,464 INFO L290 TraceCheckUtils]: 58: Hoare triple {120929#(<= ~counter~0 11)} assume !!(#t~post7 < 20);havoc #t~post7; {120929#(<= ~counter~0 11)} is VALID [2022-04-28 12:48:44,464 INFO L290 TraceCheckUtils]: 57: Hoare triple {120904#(<= ~counter~0 10)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {120929#(<= ~counter~0 11)} is VALID [2022-04-28 12:48:44,465 INFO L290 TraceCheckUtils]: 56: Hoare triple {120904#(<= ~counter~0 10)} assume !!(0 != ~r~0); {120904#(<= ~counter~0 10)} is VALID [2022-04-28 12:48:44,465 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {120622#true} {120904#(<= ~counter~0 10)} #94#return; {120904#(<= ~counter~0 10)} is VALID [2022-04-28 12:48:44,465 INFO L290 TraceCheckUtils]: 54: Hoare triple {120622#true} assume true; {120622#true} is VALID [2022-04-28 12:48:44,465 INFO L290 TraceCheckUtils]: 53: Hoare triple {120622#true} assume !(0 == ~cond); {120622#true} is VALID [2022-04-28 12:48:44,465 INFO L290 TraceCheckUtils]: 52: Hoare triple {120622#true} ~cond := #in~cond; {120622#true} is VALID [2022-04-28 12:48:44,466 INFO L272 TraceCheckUtils]: 51: Hoare triple {120904#(<= ~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)); {120622#true} is VALID [2022-04-28 12:48:44,466 INFO L290 TraceCheckUtils]: 50: Hoare triple {120904#(<= ~counter~0 10)} assume !!(#t~post6 < 20);havoc #t~post6; {120904#(<= ~counter~0 10)} is VALID [2022-04-28 12:48:44,467 INFO L290 TraceCheckUtils]: 49: Hoare triple {120879#(<= ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {120904#(<= ~counter~0 10)} is VALID [2022-04-28 12:48:44,467 INFO L290 TraceCheckUtils]: 48: Hoare triple {120879#(<= ~counter~0 9)} assume !(~r~0 < 0); {120879#(<= ~counter~0 9)} is VALID [2022-04-28 12:48:44,467 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {120622#true} {120879#(<= ~counter~0 9)} #98#return; {120879#(<= ~counter~0 9)} is VALID [2022-04-28 12:48:44,468 INFO L290 TraceCheckUtils]: 46: Hoare triple {120622#true} assume true; {120622#true} is VALID [2022-04-28 12:48:44,468 INFO L290 TraceCheckUtils]: 45: Hoare triple {120622#true} assume !(0 == ~cond); {120622#true} is VALID [2022-04-28 12:48:44,468 INFO L290 TraceCheckUtils]: 44: Hoare triple {120622#true} ~cond := #in~cond; {120622#true} is VALID [2022-04-28 12:48:44,468 INFO L272 TraceCheckUtils]: 43: Hoare triple {120879#(<= ~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)); {120622#true} is VALID [2022-04-28 12:48:44,468 INFO L290 TraceCheckUtils]: 42: Hoare triple {120879#(<= ~counter~0 9)} assume !!(#t~post8 < 20);havoc #t~post8; {120879#(<= ~counter~0 9)} is VALID [2022-04-28 12:48:44,469 INFO L290 TraceCheckUtils]: 41: Hoare triple {120854#(<= ~counter~0 8)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {120879#(<= ~counter~0 9)} is VALID [2022-04-28 12:48:44,469 INFO L290 TraceCheckUtils]: 40: Hoare triple {120854#(<= ~counter~0 8)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {120854#(<= ~counter~0 8)} is VALID [2022-04-28 12:48:44,470 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {120622#true} {120854#(<= ~counter~0 8)} #98#return; {120854#(<= ~counter~0 8)} is VALID [2022-04-28 12:48:44,470 INFO L290 TraceCheckUtils]: 38: Hoare triple {120622#true} assume true; {120622#true} is VALID [2022-04-28 12:48:44,470 INFO L290 TraceCheckUtils]: 37: Hoare triple {120622#true} assume !(0 == ~cond); {120622#true} is VALID [2022-04-28 12:48:44,470 INFO L290 TraceCheckUtils]: 36: Hoare triple {120622#true} ~cond := #in~cond; {120622#true} is VALID [2022-04-28 12:48:44,470 INFO L272 TraceCheckUtils]: 35: Hoare triple {120854#(<= ~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)); {120622#true} is VALID [2022-04-28 12:48:44,470 INFO L290 TraceCheckUtils]: 34: Hoare triple {120854#(<= ~counter~0 8)} assume !!(#t~post8 < 20);havoc #t~post8; {120854#(<= ~counter~0 8)} is VALID [2022-04-28 12:48:44,471 INFO L290 TraceCheckUtils]: 33: Hoare triple {120829#(<= ~counter~0 7)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {120854#(<= ~counter~0 8)} is VALID [2022-04-28 12:48:44,471 INFO L290 TraceCheckUtils]: 32: Hoare triple {120829#(<= ~counter~0 7)} assume !(~r~0 > 0); {120829#(<= ~counter~0 7)} is VALID [2022-04-28 12:48:44,472 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {120622#true} {120829#(<= ~counter~0 7)} #96#return; {120829#(<= ~counter~0 7)} is VALID [2022-04-28 12:48:44,472 INFO L290 TraceCheckUtils]: 30: Hoare triple {120622#true} assume true; {120622#true} is VALID [2022-04-28 12:48:44,472 INFO L290 TraceCheckUtils]: 29: Hoare triple {120622#true} assume !(0 == ~cond); {120622#true} is VALID [2022-04-28 12:48:44,472 INFO L290 TraceCheckUtils]: 28: Hoare triple {120622#true} ~cond := #in~cond; {120622#true} is VALID [2022-04-28 12:48:44,472 INFO L272 TraceCheckUtils]: 27: Hoare triple {120829#(<= ~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)); {120622#true} is VALID [2022-04-28 12:48:44,472 INFO L290 TraceCheckUtils]: 26: Hoare triple {120829#(<= ~counter~0 7)} assume !!(#t~post7 < 20);havoc #t~post7; {120829#(<= ~counter~0 7)} is VALID [2022-04-28 12:48:44,473 INFO L290 TraceCheckUtils]: 25: Hoare triple {120804#(<= ~counter~0 6)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {120829#(<= ~counter~0 7)} is VALID [2022-04-28 12:48:44,474 INFO L290 TraceCheckUtils]: 24: Hoare triple {120804#(<= ~counter~0 6)} assume !!(0 != ~r~0); {120804#(<= ~counter~0 6)} is VALID [2022-04-28 12:48:44,474 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {120622#true} {120804#(<= ~counter~0 6)} #94#return; {120804#(<= ~counter~0 6)} is VALID [2022-04-28 12:48:44,474 INFO L290 TraceCheckUtils]: 22: Hoare triple {120622#true} assume true; {120622#true} is VALID [2022-04-28 12:48:44,474 INFO L290 TraceCheckUtils]: 21: Hoare triple {120622#true} assume !(0 == ~cond); {120622#true} is VALID [2022-04-28 12:48:44,474 INFO L290 TraceCheckUtils]: 20: Hoare triple {120622#true} ~cond := #in~cond; {120622#true} is VALID [2022-04-28 12:48:44,474 INFO L272 TraceCheckUtils]: 19: Hoare triple {120804#(<= ~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)); {120622#true} is VALID [2022-04-28 12:48:44,475 INFO L290 TraceCheckUtils]: 18: Hoare triple {120804#(<= ~counter~0 6)} assume !!(#t~post6 < 20);havoc #t~post6; {120804#(<= ~counter~0 6)} is VALID [2022-04-28 12:48:44,476 INFO L290 TraceCheckUtils]: 17: Hoare triple {120779#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {120804#(<= ~counter~0 6)} is VALID [2022-04-28 12:48:44,476 INFO L290 TraceCheckUtils]: 16: Hoare triple {120779#(<= ~counter~0 5)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {120779#(<= ~counter~0 5)} is VALID [2022-04-28 12:48:44,476 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {120622#true} {120779#(<= ~counter~0 5)} #92#return; {120779#(<= ~counter~0 5)} is VALID [2022-04-28 12:48:44,476 INFO L290 TraceCheckUtils]: 14: Hoare triple {120622#true} assume true; {120622#true} is VALID [2022-04-28 12:48:44,476 INFO L290 TraceCheckUtils]: 13: Hoare triple {120622#true} assume !(0 == ~cond); {120622#true} is VALID [2022-04-28 12:48:44,476 INFO L290 TraceCheckUtils]: 12: Hoare triple {120622#true} ~cond := #in~cond; {120622#true} is VALID [2022-04-28 12:48:44,477 INFO L272 TraceCheckUtils]: 11: Hoare triple {120779#(<= ~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)); {120622#true} is VALID [2022-04-28 12:48:44,477 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {120622#true} {120779#(<= ~counter~0 5)} #90#return; {120779#(<= ~counter~0 5)} is VALID [2022-04-28 12:48:44,477 INFO L290 TraceCheckUtils]: 9: Hoare triple {120622#true} assume true; {120622#true} is VALID [2022-04-28 12:48:44,477 INFO L290 TraceCheckUtils]: 8: Hoare triple {120622#true} assume !(0 == ~cond); {120622#true} is VALID [2022-04-28 12:48:44,477 INFO L290 TraceCheckUtils]: 7: Hoare triple {120622#true} ~cond := #in~cond; {120622#true} is VALID [2022-04-28 12:48:44,477 INFO L272 TraceCheckUtils]: 6: Hoare triple {120779#(<= ~counter~0 5)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {120622#true} is VALID [2022-04-28 12:48:44,477 INFO L290 TraceCheckUtils]: 5: Hoare triple {120779#(<= ~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; {120779#(<= ~counter~0 5)} is VALID [2022-04-28 12:48:44,478 INFO L272 TraceCheckUtils]: 4: Hoare triple {120779#(<= ~counter~0 5)} call #t~ret9 := main(); {120779#(<= ~counter~0 5)} is VALID [2022-04-28 12:48:44,478 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {120779#(<= ~counter~0 5)} {120622#true} #102#return; {120779#(<= ~counter~0 5)} is VALID [2022-04-28 12:48:44,478 INFO L290 TraceCheckUtils]: 2: Hoare triple {120779#(<= ~counter~0 5)} assume true; {120779#(<= ~counter~0 5)} is VALID [2022-04-28 12:48:44,479 INFO L290 TraceCheckUtils]: 1: Hoare triple {120622#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; {120779#(<= ~counter~0 5)} is VALID [2022-04-28 12:48:44,479 INFO L272 TraceCheckUtils]: 0: Hoare triple {120622#true} call ULTIMATE.init(); {120622#true} is VALID [2022-04-28 12:48:44,479 INFO L134 CoverageAnalysis]: Checked inductivity of 540 backedges. 28 proven. 144 refuted. 0 times theorem prover too weak. 368 trivial. 0 not checked. [2022-04-28 12:48:44,479 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:48:44,479 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1323462767] [2022-04-28 12:48:44,479 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:48:44,480 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [126975904] [2022-04-28 12:48:44,480 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [126975904] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:48:44,480 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:48:44,480 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 18] total 24 [2022-04-28 12:48:44,480 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:48:44,480 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [919746116] [2022-04-28 12:48:44,480 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [919746116] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:48:44,480 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:48:44,480 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [18] imperfect sequences [] total 18 [2022-04-28 12:48:44,480 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [167410240] [2022-04-28 12:48:44,480 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:48:44,480 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 18 states have (on average 5.333333333333333) internal successors, (96), 17 states have internal predecessors, (96), 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 135 [2022-04-28 12:48:44,481 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:48:44,481 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 18 states, 18 states have (on average 5.333333333333333) internal successors, (96), 17 states have internal predecessors, (96), 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:48:44,604 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 132 edges. 132 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:48:44,604 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-28 12:48:44,604 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:48:44,604 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-28 12:48:44,605 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=236, Invalid=316, Unknown=0, NotChecked=0, Total=552 [2022-04-28 12:48:44,605 INFO L87 Difference]: Start difference. First operand 727 states and 945 transitions. Second operand has 18 states, 18 states have (on average 5.333333333333333) internal successors, (96), 17 states have internal predecessors, (96), 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:48:48,227 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:48:48,227 INFO L93 Difference]: Finished difference Result 782 states and 1018 transitions. [2022-04-28 12:48:48,227 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 29 states. [2022-04-28 12:48:48,228 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 18 states have (on average 5.333333333333333) internal successors, (96), 17 states have internal predecessors, (96), 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 135 [2022-04-28 12:48:48,228 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:48:48,228 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 18 states have (on average 5.333333333333333) internal successors, (96), 17 states have internal predecessors, (96), 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:48:48,230 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 294 transitions. [2022-04-28 12:48:48,230 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 18 states have (on average 5.333333333333333) internal successors, (96), 17 states have internal predecessors, (96), 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:48:48,232 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 294 transitions. [2022-04-28 12:48:48,232 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 29 states and 294 transitions. [2022-04-28 12:48:48,530 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 294 edges. 294 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:48:48,555 INFO L225 Difference]: With dead ends: 782 [2022-04-28 12:48:48,555 INFO L226 Difference]: Without dead ends: 777 [2022-04-28 12:48:48,556 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 280 GetRequests, 246 SyntacticMatches, 1 SemanticMatches, 33 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 93 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=459, Invalid=731, Unknown=0, NotChecked=0, Total=1190 [2022-04-28 12:48:48,556 INFO L413 NwaCegarLoop]: 72 mSDtfsCounter, 206 mSDsluCounter, 241 mSDsCounter, 0 mSdLazyCounter, 195 mSolverCounterSat, 175 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 206 SdHoareTripleChecker+Valid, 313 SdHoareTripleChecker+Invalid, 370 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 175 IncrementalHoareTripleChecker+Valid, 195 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 12:48:48,556 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [206 Valid, 313 Invalid, 370 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [175 Valid, 195 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 12:48:48,556 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 777 states. [2022-04-28 12:48:50,720 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 777 to 755. [2022-04-28 12:48:50,720 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:48:50,721 INFO L82 GeneralOperation]: Start isEquivalent. First operand 777 states. Second operand has 755 states, 561 states have (on average 1.1800356506238858) internal successors, (662), 578 states have internal predecessors, (662), 163 states have call successors, (163), 32 states have call predecessors, (163), 30 states have return successors, (161), 144 states have call predecessors, (161), 161 states have call successors, (161) [2022-04-28 12:48:50,721 INFO L74 IsIncluded]: Start isIncluded. First operand 777 states. Second operand has 755 states, 561 states have (on average 1.1800356506238858) internal successors, (662), 578 states have internal predecessors, (662), 163 states have call successors, (163), 32 states have call predecessors, (163), 30 states have return successors, (161), 144 states have call predecessors, (161), 161 states have call successors, (161) [2022-04-28 12:48:50,722 INFO L87 Difference]: Start difference. First operand 777 states. Second operand has 755 states, 561 states have (on average 1.1800356506238858) internal successors, (662), 578 states have internal predecessors, (662), 163 states have call successors, (163), 32 states have call predecessors, (163), 30 states have return successors, (161), 144 states have call predecessors, (161), 161 states have call successors, (161) [2022-04-28 12:48:50,742 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:48:50,742 INFO L93 Difference]: Finished difference Result 777 states and 1012 transitions. [2022-04-28 12:48:50,742 INFO L276 IsEmpty]: Start isEmpty. Operand 777 states and 1012 transitions. [2022-04-28 12:48:50,743 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:48:50,743 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:48:50,744 INFO L74 IsIncluded]: Start isIncluded. First operand has 755 states, 561 states have (on average 1.1800356506238858) internal successors, (662), 578 states have internal predecessors, (662), 163 states have call successors, (163), 32 states have call predecessors, (163), 30 states have return successors, (161), 144 states have call predecessors, (161), 161 states have call successors, (161) Second operand 777 states. [2022-04-28 12:48:50,744 INFO L87 Difference]: Start difference. First operand has 755 states, 561 states have (on average 1.1800356506238858) internal successors, (662), 578 states have internal predecessors, (662), 163 states have call successors, (163), 32 states have call predecessors, (163), 30 states have return successors, (161), 144 states have call predecessors, (161), 161 states have call successors, (161) Second operand 777 states. [2022-04-28 12:48:50,764 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:48:50,764 INFO L93 Difference]: Finished difference Result 777 states and 1012 transitions. [2022-04-28 12:48:50,764 INFO L276 IsEmpty]: Start isEmpty. Operand 777 states and 1012 transitions. [2022-04-28 12:48:50,765 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:48:50,765 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:48:50,765 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:48:50,765 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:48:50,766 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 755 states, 561 states have (on average 1.1800356506238858) internal successors, (662), 578 states have internal predecessors, (662), 163 states have call successors, (163), 32 states have call predecessors, (163), 30 states have return successors, (161), 144 states have call predecessors, (161), 161 states have call successors, (161) [2022-04-28 12:48:50,790 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 755 states to 755 states and 986 transitions. [2022-04-28 12:48:50,790 INFO L78 Accepts]: Start accepts. Automaton has 755 states and 986 transitions. Word has length 135 [2022-04-28 12:48:50,790 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:48:50,790 INFO L495 AbstractCegarLoop]: Abstraction has 755 states and 986 transitions. [2022-04-28 12:48:50,791 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 18 states, 18 states have (on average 5.333333333333333) internal successors, (96), 17 states have internal predecessors, (96), 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:48:50,791 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 755 states and 986 transitions. [2022-04-28 12:49:11,309 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 986 edges. 981 inductive. 0 not inductive. 5 times theorem prover too weak to decide inductivity. [2022-04-28 12:49:11,309 INFO L276 IsEmpty]: Start isEmpty. Operand 755 states and 986 transitions. [2022-04-28 12:49:11,310 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 138 [2022-04-28 12:49:11,310 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:49:11,310 INFO L195 NwaCegarLoop]: trace histogram [15, 14, 14, 6, 6, 6, 6, 6, 5, 5, 5, 4, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:49:11,326 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (47)] Ended with exit code 0 [2022-04-28 12:49:11,520 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable45,47 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:49:11,520 INFO L420 AbstractCegarLoop]: === Iteration 47 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:49:11,521 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:49:11,521 INFO L85 PathProgramCache]: Analyzing trace with hash -972958086, now seen corresponding path program 21 times [2022-04-28 12:49:11,521 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:49:11,521 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [535442209] [2022-04-28 12:49:11,521 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:49:11,521 INFO L85 PathProgramCache]: Analyzing trace with hash -972958086, now seen corresponding path program 22 times [2022-04-28 12:49:11,521 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:49:11,521 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [530353514] [2022-04-28 12:49:11,521 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:49:11,522 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:49:11,533 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:49:11,533 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1716878368] [2022-04-28 12:49:11,533 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:49:11,533 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:49:11,533 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:49:11,534 INFO L229 MonitoredProcess]: Starting monitored process 48 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:49:11,534 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (48)] Waiting until timeout for monitored process [2022-04-28 12:49:11,593 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:49:11,593 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:49:11,594 INFO L263 TraceCheckSpWp]: Trace formula consists of 283 conjuncts, 22 conjunts are in the unsatisfiable core [2022-04-28 12:49:11,612 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:49:11,614 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:51:20,092 INFO L272 TraceCheckUtils]: 0: Hoare triple {126105#true} call ULTIMATE.init(); {126105#true} is VALID [2022-04-28 12:51:20,093 INFO L290 TraceCheckUtils]: 1: Hoare triple {126105#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; {126105#true} is VALID [2022-04-28 12:51:20,093 INFO L290 TraceCheckUtils]: 2: Hoare triple {126105#true} assume true; {126105#true} is VALID [2022-04-28 12:51:20,093 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {126105#true} {126105#true} #102#return; {126105#true} is VALID [2022-04-28 12:51:20,093 INFO L272 TraceCheckUtils]: 4: Hoare triple {126105#true} call #t~ret9 := main(); {126105#true} is VALID [2022-04-28 12:51:20,093 INFO L290 TraceCheckUtils]: 5: Hoare triple {126105#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; {126105#true} is VALID [2022-04-28 12:51:20,093 INFO L272 TraceCheckUtils]: 6: Hoare triple {126105#true} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {126105#true} is VALID [2022-04-28 12:51:20,093 INFO L290 TraceCheckUtils]: 7: Hoare triple {126105#true} ~cond := #in~cond; {126105#true} is VALID [2022-04-28 12:51:20,093 INFO L290 TraceCheckUtils]: 8: Hoare triple {126105#true} assume !(0 == ~cond); {126105#true} is VALID [2022-04-28 12:51:20,093 INFO L290 TraceCheckUtils]: 9: Hoare triple {126105#true} assume true; {126105#true} is VALID [2022-04-28 12:51:20,093 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {126105#true} {126105#true} #90#return; {126105#true} is VALID [2022-04-28 12:51:20,093 INFO L272 TraceCheckUtils]: 11: Hoare triple {126105#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)); {126105#true} is VALID [2022-04-28 12:51:20,094 INFO L290 TraceCheckUtils]: 12: Hoare triple {126105#true} ~cond := #in~cond; {126146#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:51:20,094 INFO L290 TraceCheckUtils]: 13: Hoare triple {126146#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {126150#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:51:20,094 INFO L290 TraceCheckUtils]: 14: Hoare triple {126150#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {126150#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:51:20,095 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {126150#(not (= |assume_abort_if_not_#in~cond| 0))} {126105#true} #92#return; {126157#(and (<= 0 main_~A~0) (= (mod main_~A~0 2) 1))} is VALID