/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/egcd3-ll_valuebound1.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-e106359-m [2022-04-15 15:01:05,914 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-15 15:01:05,920 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-15 15:01:05,946 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-15 15:01:05,946 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-15 15:01:05,947 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-15 15:01:05,948 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-15 15:01:05,950 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-15 15:01:05,951 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-15 15:01:05,952 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-15 15:01:05,953 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-15 15:01:05,954 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-15 15:01:05,954 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-15 15:01:05,955 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-15 15:01:05,956 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-15 15:01:05,957 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-15 15:01:05,957 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-15 15:01:05,958 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-15 15:01:05,959 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-15 15:01:05,961 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-15 15:01:05,962 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-15 15:01:05,965 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-15 15:01:05,965 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-15 15:01:05,966 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-15 15:01:05,967 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-15 15:01:05,969 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-15 15:01:05,970 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-15 15:01:05,970 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-15 15:01:05,970 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-15 15:01:05,971 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-15 15:01:05,972 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-15 15:01:05,972 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-15 15:01:05,972 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-15 15:01:05,973 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-15 15:01:05,974 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-15 15:01:05,974 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-15 15:01:05,975 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-15 15:01:05,975 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-15 15:01:05,975 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-15 15:01:05,976 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-15 15:01:05,976 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-15 15:01:05,986 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-15 15:01:05,986 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-15 15:01:05,999 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-15 15:01:06,000 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-15 15:01:06,000 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-15 15:01:06,001 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-15 15:01:06,001 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-15 15:01:06,001 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-15 15:01:06,001 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-15 15:01:06,001 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-15 15:01:06,001 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-15 15:01:06,002 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-15 15:01:06,002 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-15 15:01:06,002 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-15 15:01:06,002 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-15 15:01:06,002 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-15 15:01:06,003 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-15 15:01:06,003 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 15:01:06,003 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-15 15:01:06,003 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-15 15:01:06,003 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-15 15:01:06,003 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-15 15:01:06,003 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-15 15:01:06,003 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-15 15:01:06,003 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-15 15:01:06,268 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-15 15:01:06,283 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-15 15:01:06,285 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-15 15:01:06,286 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-15 15:01:06,287 INFO L275 PluginConnector]: CDTParser initialized [2022-04-15 15:01:06,288 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/egcd3-ll_valuebound1.c [2022-04-15 15:01:06,352 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/b52f912b0/b85788e0c3194232b961edce5519dc36/FLAGa1ae0118c [2022-04-15 15:01:06,767 INFO L306 CDTParser]: Found 1 translation units. [2022-04-15 15:01:06,768 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd3-ll_valuebound1.c [2022-04-15 15:01:06,777 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/b52f912b0/b85788e0c3194232b961edce5519dc36/FLAGa1ae0118c [2022-04-15 15:01:06,798 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/b52f912b0/b85788e0c3194232b961edce5519dc36 [2022-04-15 15:01:06,801 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-15 15:01:06,802 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-15 15:01:06,804 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-15 15:01:06,805 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-15 15:01:06,808 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-15 15:01:06,809 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 03:01:06" (1/1) ... [2022-04-15 15:01:06,810 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@5abb27cf and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:01:06, skipping insertion in model container [2022-04-15 15:01:06,810 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 03:01:06" (1/1) ... [2022-04-15 15:01:06,817 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-15 15:01:06,832 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-15 15:01:07,026 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/egcd3-ll_valuebound1.c[490,503] [2022-04-15 15:01:07,063 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 15:01:07,069 INFO L203 MainTranslator]: Completed pre-run [2022-04-15 15:01:07,082 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/egcd3-ll_valuebound1.c[490,503] [2022-04-15 15:01:07,099 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 15:01:07,111 INFO L208 MainTranslator]: Completed translation [2022-04-15 15:01:07,111 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:01:07 WrapperNode [2022-04-15 15:01:07,111 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-15 15:01:07,112 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-15 15:01:07,112 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-15 15:01:07,113 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-15 15:01:07,122 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:01:07" (1/1) ... [2022-04-15 15:01:07,122 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:01:07" (1/1) ... [2022-04-15 15:01:07,129 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:01:07" (1/1) ... [2022-04-15 15:01:07,129 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:01:07" (1/1) ... [2022-04-15 15:01:07,145 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:01:07" (1/1) ... [2022-04-15 15:01:07,149 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:01:07" (1/1) ... [2022-04-15 15:01:07,150 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:01:07" (1/1) ... [2022-04-15 15:01:07,151 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-15 15:01:07,152 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-15 15:01:07,152 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-15 15:01:07,152 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-15 15:01:07,154 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:01:07" (1/1) ... [2022-04-15 15:01:07,160 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 15:01:07,168 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:01:07,184 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-15 15:01:07,204 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-15 15:01:07,219 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-15 15:01:07,219 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-15 15:01:07,219 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-15 15:01:07,219 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-15 15:01:07,220 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-15 15:01:07,220 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-15 15:01:07,221 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-15 15:01:07,221 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-15 15:01:07,221 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-15 15:01:07,221 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-15 15:01:07,221 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-15 15:01:07,221 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-15 15:01:07,221 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-15 15:01:07,222 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-15 15:01:07,222 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-15 15:01:07,224 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-15 15:01:07,224 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-15 15:01:07,224 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-15 15:01:07,224 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-15 15:01:07,224 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-15 15:01:07,288 INFO L234 CfgBuilder]: Building ICFG [2022-04-15 15:01:07,290 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-15 15:01:07,524 INFO L275 CfgBuilder]: Performing block encoding [2022-04-15 15:01:07,529 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-15 15:01:07,530 INFO L299 CfgBuilder]: Removed 3 assume(true) statements. [2022-04-15 15:01:07,531 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 03:01:07 BoogieIcfgContainer [2022-04-15 15:01:07,531 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-15 15:01:07,533 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-15 15:01:07,533 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-15 15:01:07,535 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-15 15:01:07,535 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 15.04 03:01:06" (1/3) ... [2022-04-15 15:01:07,536 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@438605a8 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 03:01:07, skipping insertion in model container [2022-04-15 15:01:07,536 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:01:07" (2/3) ... [2022-04-15 15:01:07,536 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@438605a8 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 03:01:07, skipping insertion in model container [2022-04-15 15:01:07,537 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 03:01:07" (3/3) ... [2022-04-15 15:01:07,537 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd3-ll_valuebound1.c [2022-04-15 15:01:07,541 INFO L202 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-15 15:01:07,541 INFO L161 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-15 15:01:07,574 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-15 15:01:07,579 INFO L340 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP [2022-04-15 15:01:07,579 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-15 15:01:07,592 INFO L276 IsEmpty]: Start isEmpty. Operand has 40 states, 23 states have (on average 1.5217391304347827) internal successors, (35), 24 states have internal predecessors, (35), 11 states have call successors, (11), 4 states have call predecessors, (11), 4 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-15 15:01:07,601 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-15 15:01:07,601 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:01:07,602 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 15:01:07,602 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:01:07,609 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:01:07,610 INFO L85 PathProgramCache]: Analyzing trace with hash 1237885594, now seen corresponding path program 1 times [2022-04-15 15:01:07,617 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:01:07,617 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [664520063] [2022-04-15 15:01:07,626 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:01:07,626 INFO L85 PathProgramCache]: Analyzing trace with hash 1237885594, now seen corresponding path program 2 times [2022-04-15 15:01:07,628 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:01:07,629 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [615127322] [2022-04-15 15:01:07,629 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:01:07,630 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:01:07,739 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:01:07,804 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 15:01:07,820 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:01:07,835 INFO L290 TraceCheckUtils]: 0: Hoare triple {64#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {43#true} is VALID [2022-04-15 15:01:07,835 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume true; {43#true} is VALID [2022-04-15 15:01:07,835 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {43#true} {43#true} #112#return; {43#true} is VALID [2022-04-15 15:01:07,836 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 15:01:07,843 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:01:07,862 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-15 15:01:07,863 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-15 15:01:07,864 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-15 15:01:07,864 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {43#true} #94#return; {44#false} is VALID [2022-04-15 15:01:07,864 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-15 15:01:07,866 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:01:07,873 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-15 15:01:07,873 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-15 15:01:07,873 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-15 15:01:07,874 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #96#return; {44#false} is VALID [2022-04-15 15:01:07,874 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-15 15:01:07,875 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:01:07,880 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-15 15:01:07,881 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-15 15:01:07,881 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-15 15:01:07,881 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #98#return; {44#false} is VALID [2022-04-15 15:01:07,882 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-15 15:01:07,883 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:01:07,888 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-15 15:01:07,888 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-15 15:01:07,888 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-15 15:01:07,889 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #100#return; {44#false} is VALID [2022-04-15 15:01:07,890 INFO L272 TraceCheckUtils]: 0: Hoare triple {43#true} call ULTIMATE.init(); {64#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-15 15:01:07,890 INFO L290 TraceCheckUtils]: 1: Hoare triple {64#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {43#true} is VALID [2022-04-15 15:01:07,890 INFO L290 TraceCheckUtils]: 2: Hoare triple {43#true} assume true; {43#true} is VALID [2022-04-15 15:01:07,890 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {43#true} {43#true} #112#return; {43#true} is VALID [2022-04-15 15:01:07,891 INFO L272 TraceCheckUtils]: 4: Hoare triple {43#true} call #t~ret6 := main(); {43#true} is VALID [2022-04-15 15:01:07,891 INFO L290 TraceCheckUtils]: 5: Hoare triple {43#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {43#true} is VALID [2022-04-15 15:01:07,891 INFO L272 TraceCheckUtils]: 6: Hoare triple {43#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {43#true} is VALID [2022-04-15 15:01:07,891 INFO L290 TraceCheckUtils]: 7: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-15 15:01:07,892 INFO L290 TraceCheckUtils]: 8: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-15 15:01:07,892 INFO L290 TraceCheckUtils]: 9: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-15 15:01:07,892 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {44#false} {43#true} #94#return; {44#false} is VALID [2022-04-15 15:01:07,893 INFO L290 TraceCheckUtils]: 11: Hoare triple {44#false} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {44#false} is VALID [2022-04-15 15:01:07,893 INFO L272 TraceCheckUtils]: 12: Hoare triple {44#false} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {43#true} is VALID [2022-04-15 15:01:07,893 INFO L290 TraceCheckUtils]: 13: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-15 15:01:07,894 INFO L290 TraceCheckUtils]: 14: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-15 15:01:07,894 INFO L290 TraceCheckUtils]: 15: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-15 15:01:07,894 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {44#false} {44#false} #96#return; {44#false} is VALID [2022-04-15 15:01:07,894 INFO L272 TraceCheckUtils]: 17: Hoare triple {44#false} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {43#true} is VALID [2022-04-15 15:01:07,894 INFO L290 TraceCheckUtils]: 18: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-15 15:01:07,896 INFO L290 TraceCheckUtils]: 19: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-15 15:01:07,896 INFO L290 TraceCheckUtils]: 20: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-15 15:01:07,896 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {44#false} {44#false} #98#return; {44#false} is VALID [2022-04-15 15:01:07,896 INFO L272 TraceCheckUtils]: 22: Hoare triple {44#false} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {43#true} is VALID [2022-04-15 15:01:07,897 INFO L290 TraceCheckUtils]: 23: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-15 15:01:07,898 INFO L290 TraceCheckUtils]: 24: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-15 15:01:07,898 INFO L290 TraceCheckUtils]: 25: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-15 15:01:07,898 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {44#false} {44#false} #100#return; {44#false} is VALID [2022-04-15 15:01:07,899 INFO L290 TraceCheckUtils]: 27: Hoare triple {44#false} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {44#false} is VALID [2022-04-15 15:01:07,899 INFO L290 TraceCheckUtils]: 28: Hoare triple {44#false} assume false; {44#false} is VALID [2022-04-15 15:01:07,899 INFO L272 TraceCheckUtils]: 29: Hoare triple {44#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {44#false} is VALID [2022-04-15 15:01:07,899 INFO L290 TraceCheckUtils]: 30: Hoare triple {44#false} ~cond := #in~cond; {44#false} is VALID [2022-04-15 15:01:07,899 INFO L290 TraceCheckUtils]: 31: Hoare triple {44#false} assume 0 == ~cond; {44#false} is VALID [2022-04-15 15:01:07,900 INFO L290 TraceCheckUtils]: 32: Hoare triple {44#false} assume !false; {44#false} is VALID [2022-04-15 15:01:07,900 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-15 15:01:07,901 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:01:07,901 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [615127322] [2022-04-15 15:01:07,902 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [615127322] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:01:07,902 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:01:07,902 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 15:01:07,904 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:01:07,904 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [664520063] [2022-04-15 15:01:07,905 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [664520063] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:01:07,905 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:01:07,905 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 15:01:07,905 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [745256219] [2022-04-15 15:01:07,906 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:01:07,910 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-15 15:01:07,919 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:01:07,922 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 15:01:07,964 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:01:07,964 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-15 15:01:07,965 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:01:07,987 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-15 15:01:07,988 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-15 15:01:07,991 INFO L87 Difference]: Start difference. First operand has 40 states, 23 states have (on average 1.5217391304347827) internal successors, (35), 24 states have internal predecessors, (35), 11 states have call successors, (11), 4 states have call predecessors, (11), 4 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 15:01:08,213 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:01:08,214 INFO L93 Difference]: Finished difference Result 73 states and 115 transitions. [2022-04-15 15:01:08,214 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-15 15:01:08,214 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-15 15:01:08,215 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:01:08,216 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 15:01:08,225 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 115 transitions. [2022-04-15 15:01:08,225 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 15:01:08,233 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 115 transitions. [2022-04-15 15:01:08,233 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 115 transitions. [2022-04-15 15:01:08,357 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-15 15:01:08,365 INFO L225 Difference]: With dead ends: 73 [2022-04-15 15:01:08,365 INFO L226 Difference]: Without dead ends: 35 [2022-04-15 15:01:08,368 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 15 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-15 15:01:08,371 INFO L913 BasicCegarLoop]: 40 mSDtfsCounter, 24 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 11 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 33 SdHoareTripleChecker+Valid, 43 SdHoareTripleChecker+Invalid, 21 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 11 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 15:01:08,371 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [33 Valid, 43 Invalid, 21 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 11 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 15:01:08,384 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-15 15:01:08,398 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 35. [2022-04-15 15:01:08,399 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:01:08,399 INFO L82 GeneralOperation]: Start isEquivalent. First operand 35 states. Second operand has 35 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 15:01:08,400 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand has 35 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 15:01:08,401 INFO L87 Difference]: Start difference. First operand 35 states. Second operand has 35 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 15:01:08,405 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:01:08,405 INFO L93 Difference]: Finished difference Result 35 states and 44 transitions. [2022-04-15 15:01:08,406 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 44 transitions. [2022-04-15 15:01:08,406 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:01:08,407 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:01:08,407 INFO L74 IsIncluded]: Start isIncluded. First operand has 35 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 35 states. [2022-04-15 15:01:08,408 INFO L87 Difference]: Start difference. First operand has 35 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 35 states. [2022-04-15 15:01:08,411 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:01:08,412 INFO L93 Difference]: Finished difference Result 35 states and 44 transitions. [2022-04-15 15:01:08,412 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 44 transitions. [2022-04-15 15:01:08,413 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:01:08,413 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:01:08,413 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:01:08,413 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:01:08,414 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 35 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 15:01:08,417 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 44 transitions. [2022-04-15 15:01:08,418 INFO L78 Accepts]: Start accepts. Automaton has 35 states and 44 transitions. Word has length 33 [2022-04-15 15:01:08,418 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:01:08,418 INFO L478 AbstractCegarLoop]: Abstraction has 35 states and 44 transitions. [2022-04-15 15:01:08,419 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 15:01:08,419 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 35 states and 44 transitions. [2022-04-15 15:01:08,468 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:01:08,468 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 44 transitions. [2022-04-15 15:01:08,469 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-15 15:01:08,469 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:01:08,469 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 15:01:08,470 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-15 15:01:08,470 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:01:08,471 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:01:08,471 INFO L85 PathProgramCache]: Analyzing trace with hash 1569470122, now seen corresponding path program 1 times [2022-04-15 15:01:08,471 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:01:08,471 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [31253767] [2022-04-15 15:01:08,472 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:01:08,472 INFO L85 PathProgramCache]: Analyzing trace with hash 1569470122, now seen corresponding path program 2 times [2022-04-15 15:01:08,472 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:01:08,472 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1502884139] [2022-04-15 15:01:08,473 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:01:08,473 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:01:08,501 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:01:08,501 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [516304122] [2022-04-15 15:01:08,502 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 15:01:08,502 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:01:08,502 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:01:08,507 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-15 15:01:08,514 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-15 15:01:08,563 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-15 15:01:08,563 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:01:08,565 INFO L263 TraceCheckSpWp]: Trace formula consists of 76 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-15 15:01:08,577 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:01:08,581 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:01:08,857 INFO L272 TraceCheckUtils]: 0: Hoare triple {353#true} call ULTIMATE.init(); {353#true} is VALID [2022-04-15 15:01:08,858 INFO L290 TraceCheckUtils]: 1: Hoare triple {353#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(11, 2);call #Ultimate.allocInit(12, 3); {353#true} is VALID [2022-04-15 15:01:08,858 INFO L290 TraceCheckUtils]: 2: Hoare triple {353#true} assume true; {353#true} is VALID [2022-04-15 15:01:08,858 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {353#true} {353#true} #112#return; {353#true} is VALID [2022-04-15 15:01:08,859 INFO L272 TraceCheckUtils]: 4: Hoare triple {353#true} call #t~ret6 := main(); {353#true} is VALID [2022-04-15 15:01:08,859 INFO L290 TraceCheckUtils]: 5: Hoare triple {353#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {353#true} is VALID [2022-04-15 15:01:08,859 INFO L272 TraceCheckUtils]: 6: Hoare triple {353#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {353#true} is VALID [2022-04-15 15:01:08,859 INFO L290 TraceCheckUtils]: 7: Hoare triple {353#true} ~cond := #in~cond; {353#true} is VALID [2022-04-15 15:01:08,859 INFO L290 TraceCheckUtils]: 8: Hoare triple {353#true} assume !(0 == ~cond); {353#true} is VALID [2022-04-15 15:01:08,860 INFO L290 TraceCheckUtils]: 9: Hoare triple {353#true} assume true; {353#true} is VALID [2022-04-15 15:01:08,860 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {353#true} {353#true} #94#return; {353#true} is VALID [2022-04-15 15:01:08,860 INFO L290 TraceCheckUtils]: 11: Hoare triple {353#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {353#true} is VALID [2022-04-15 15:01:08,860 INFO L272 TraceCheckUtils]: 12: Hoare triple {353#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {353#true} is VALID [2022-04-15 15:01:08,860 INFO L290 TraceCheckUtils]: 13: Hoare triple {353#true} ~cond := #in~cond; {353#true} is VALID [2022-04-15 15:01:08,860 INFO L290 TraceCheckUtils]: 14: Hoare triple {353#true} assume !(0 == ~cond); {353#true} is VALID [2022-04-15 15:01:08,861 INFO L290 TraceCheckUtils]: 15: Hoare triple {353#true} assume true; {353#true} is VALID [2022-04-15 15:01:08,861 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {353#true} {353#true} #96#return; {353#true} is VALID [2022-04-15 15:01:08,861 INFO L272 TraceCheckUtils]: 17: Hoare triple {353#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {353#true} is VALID [2022-04-15 15:01:08,861 INFO L290 TraceCheckUtils]: 18: Hoare triple {353#true} ~cond := #in~cond; {353#true} is VALID [2022-04-15 15:01:08,862 INFO L290 TraceCheckUtils]: 19: Hoare triple {353#true} assume !(0 == ~cond); {353#true} is VALID [2022-04-15 15:01:08,862 INFO L290 TraceCheckUtils]: 20: Hoare triple {353#true} assume true; {353#true} is VALID [2022-04-15 15:01:08,863 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {353#true} {353#true} #98#return; {353#true} is VALID [2022-04-15 15:01:08,863 INFO L272 TraceCheckUtils]: 22: Hoare triple {353#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {353#true} is VALID [2022-04-15 15:01:08,863 INFO L290 TraceCheckUtils]: 23: Hoare triple {353#true} ~cond := #in~cond; {353#true} is VALID [2022-04-15 15:01:08,864 INFO L290 TraceCheckUtils]: 24: Hoare triple {353#true} assume !(0 == ~cond); {353#true} is VALID [2022-04-15 15:01:08,864 INFO L290 TraceCheckUtils]: 25: Hoare triple {353#true} assume true; {353#true} is VALID [2022-04-15 15:01:08,865 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {353#true} {353#true} #100#return; {353#true} is VALID [2022-04-15 15:01:08,865 INFO L290 TraceCheckUtils]: 27: Hoare triple {353#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {439#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:01:08,866 INFO L290 TraceCheckUtils]: 28: Hoare triple {439#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {439#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:01:08,867 INFO L290 TraceCheckUtils]: 29: Hoare triple {439#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(0 != ~b~0); {446#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~y~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:01:08,869 INFO L272 TraceCheckUtils]: 30: Hoare triple {446#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~y~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {450#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:01:08,869 INFO L290 TraceCheckUtils]: 31: Hoare triple {450#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {454#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:01:08,870 INFO L290 TraceCheckUtils]: 32: Hoare triple {454#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {354#false} is VALID [2022-04-15 15:01:08,870 INFO L290 TraceCheckUtils]: 33: Hoare triple {354#false} assume !false; {354#false} is VALID [2022-04-15 15:01:08,871 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-15 15:01:08,871 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 15:01:08,871 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:01:08,872 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1502884139] [2022-04-15 15:01:08,872 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:01:08,872 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [516304122] [2022-04-15 15:01:08,873 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [516304122] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:01:08,873 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:01:08,873 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 15:01:08,874 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:01:08,874 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [31253767] [2022-04-15 15:01:08,874 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [31253767] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:01:08,874 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:01:08,874 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 15:01:08,875 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [96590101] [2022-04-15 15:01:08,875 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:01:08,876 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 2.6) internal successors, (13), 5 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) Word has length 34 [2022-04-15 15:01:08,876 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:01:08,876 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 5 states have (on average 2.6) internal successors, (13), 5 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-15 15:01:08,897 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 25 edges. 25 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:01:08,898 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-15 15:01:08,901 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:01:08,902 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-15 15:01:08,902 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-15 15:01:08,907 INFO L87 Difference]: Start difference. First operand 35 states and 44 transitions. Second operand has 6 states, 5 states have (on average 2.6) internal successors, (13), 5 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-15 15:01:09,270 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:01:09,271 INFO L93 Difference]: Finished difference Result 54 states and 69 transitions. [2022-04-15 15:01:09,271 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-15 15:01:09,271 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 2.6) internal successors, (13), 5 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) Word has length 34 [2022-04-15 15:01:09,272 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:01:09,272 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 2.6) internal successors, (13), 5 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-15 15:01:09,283 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 69 transitions. [2022-04-15 15:01:09,283 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 2.6) internal successors, (13), 5 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-15 15:01:09,289 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 69 transitions. [2022-04-15 15:01:09,290 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 69 transitions. [2022-04-15 15:01:09,353 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:01:09,357 INFO L225 Difference]: With dead ends: 54 [2022-04-15 15:01:09,357 INFO L226 Difference]: Without dead ends: 51 [2022-04-15 15:01:09,358 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 35 GetRequests, 29 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-15 15:01:09,360 INFO L913 BasicCegarLoop]: 39 mSDtfsCounter, 14 mSDsluCounter, 119 mSDsCounter, 0 mSdLazyCounter, 77 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 158 SdHoareTripleChecker+Invalid, 79 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 77 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-15 15:01:09,364 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [18 Valid, 158 Invalid, 79 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 77 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 15:01:09,366 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2022-04-15 15:01:09,383 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 50. [2022-04-15 15:01:09,384 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:01:09,385 INFO L82 GeneralOperation]: Start isEquivalent. First operand 51 states. Second operand has 50 states, 30 states have (on average 1.2) internal successors, (36), 31 states have internal predecessors, (36), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-15 15:01:09,385 INFO L74 IsIncluded]: Start isIncluded. First operand 51 states. Second operand has 50 states, 30 states have (on average 1.2) internal successors, (36), 31 states have internal predecessors, (36), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-15 15:01:09,385 INFO L87 Difference]: Start difference. First operand 51 states. Second operand has 50 states, 30 states have (on average 1.2) internal successors, (36), 31 states have internal predecessors, (36), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-15 15:01:09,400 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:01:09,401 INFO L93 Difference]: Finished difference Result 51 states and 65 transitions. [2022-04-15 15:01:09,401 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 65 transitions. [2022-04-15 15:01:09,402 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:01:09,402 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:01:09,402 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 30 states have (on average 1.2) internal successors, (36), 31 states have internal predecessors, (36), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 51 states. [2022-04-15 15:01:09,402 INFO L87 Difference]: Start difference. First operand has 50 states, 30 states have (on average 1.2) internal successors, (36), 31 states have internal predecessors, (36), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 51 states. [2022-04-15 15:01:09,410 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:01:09,410 INFO L93 Difference]: Finished difference Result 51 states and 65 transitions. [2022-04-15 15:01:09,410 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 65 transitions. [2022-04-15 15:01:09,411 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:01:09,411 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:01:09,411 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:01:09,411 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:01:09,411 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 30 states have (on average 1.2) internal successors, (36), 31 states have internal predecessors, (36), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-15 15:01:09,414 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 64 transitions. [2022-04-15 15:01:09,414 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 64 transitions. Word has length 34 [2022-04-15 15:01:09,414 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:01:09,414 INFO L478 AbstractCegarLoop]: Abstraction has 50 states and 64 transitions. [2022-04-15 15:01:09,414 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 5 states have (on average 2.6) internal successors, (13), 5 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-15 15:01:09,415 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 64 transitions. [2022-04-15 15:01:09,490 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-15 15:01:09,490 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 64 transitions. [2022-04-15 15:01:09,492 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-15 15:01:09,492 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:01:09,492 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 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-15 15:01:09,518 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-15 15:01:09,711 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:01:09,712 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:01:09,712 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:01:09,712 INFO L85 PathProgramCache]: Analyzing trace with hash 584996456, now seen corresponding path program 1 times [2022-04-15 15:01:09,712 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:01:09,712 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2075068846] [2022-04-15 15:01:09,713 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:01:09,713 INFO L85 PathProgramCache]: Analyzing trace with hash 584996456, now seen corresponding path program 2 times [2022-04-15 15:01:09,713 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:01:09,713 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [601638035] [2022-04-15 15:01:09,713 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:01:09,713 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:01:09,732 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:01:09,732 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2099070176] [2022-04-15 15:01:09,732 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 15:01:09,732 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:01:09,732 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:01:09,733 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-15 15:01:09,756 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-15 15:01:09,783 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 15:01:09,784 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:01:09,785 INFO L263 TraceCheckSpWp]: Trace formula consists of 129 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-15 15:01:09,796 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:01:09,797 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:01:10,005 INFO L272 TraceCheckUtils]: 0: Hoare triple {774#true} call ULTIMATE.init(); {774#true} is VALID [2022-04-15 15:01:10,005 INFO L290 TraceCheckUtils]: 1: Hoare triple {774#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(11, 2);call #Ultimate.allocInit(12, 3); {774#true} is VALID [2022-04-15 15:01:10,005 INFO L290 TraceCheckUtils]: 2: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-15 15:01:10,006 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {774#true} {774#true} #112#return; {774#true} is VALID [2022-04-15 15:01:10,006 INFO L272 TraceCheckUtils]: 4: Hoare triple {774#true} call #t~ret6 := main(); {774#true} is VALID [2022-04-15 15:01:10,006 INFO L290 TraceCheckUtils]: 5: Hoare triple {774#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {774#true} is VALID [2022-04-15 15:01:10,006 INFO L272 TraceCheckUtils]: 6: Hoare triple {774#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {774#true} is VALID [2022-04-15 15:01:10,006 INFO L290 TraceCheckUtils]: 7: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-15 15:01:10,007 INFO L290 TraceCheckUtils]: 8: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-15 15:01:10,007 INFO L290 TraceCheckUtils]: 9: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-15 15:01:10,007 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {774#true} {774#true} #94#return; {774#true} is VALID [2022-04-15 15:01:10,007 INFO L290 TraceCheckUtils]: 11: Hoare triple {774#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {774#true} is VALID [2022-04-15 15:01:10,007 INFO L272 TraceCheckUtils]: 12: Hoare triple {774#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {774#true} is VALID [2022-04-15 15:01:10,008 INFO L290 TraceCheckUtils]: 13: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-15 15:01:10,008 INFO L290 TraceCheckUtils]: 14: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-15 15:01:10,008 INFO L290 TraceCheckUtils]: 15: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-15 15:01:10,008 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {774#true} {774#true} #96#return; {774#true} is VALID [2022-04-15 15:01:10,008 INFO L272 TraceCheckUtils]: 17: Hoare triple {774#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {774#true} is VALID [2022-04-15 15:01:10,010 INFO L290 TraceCheckUtils]: 18: Hoare triple {774#true} ~cond := #in~cond; {833#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 15:01:10,011 INFO L290 TraceCheckUtils]: 19: Hoare triple {833#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {837#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:01:10,012 INFO L290 TraceCheckUtils]: 20: Hoare triple {837#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {837#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:01:10,016 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {837#(not (= |assume_abort_if_not_#in~cond| 0))} {774#true} #98#return; {844#(<= 1 main_~x~0)} is VALID [2022-04-15 15:01:10,017 INFO L272 TraceCheckUtils]: 22: Hoare triple {844#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {774#true} is VALID [2022-04-15 15:01:10,018 INFO L290 TraceCheckUtils]: 23: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-15 15:01:10,018 INFO L290 TraceCheckUtils]: 24: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-15 15:01:10,018 INFO L290 TraceCheckUtils]: 25: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-15 15:01:10,020 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {774#true} {844#(<= 1 main_~x~0)} #100#return; {844#(<= 1 main_~x~0)} is VALID [2022-04-15 15:01:10,021 INFO L290 TraceCheckUtils]: 27: Hoare triple {844#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {863#(<= 1 main_~a~0)} is VALID [2022-04-15 15:01:10,022 INFO L290 TraceCheckUtils]: 28: Hoare triple {863#(<= 1 main_~a~0)} assume !false; {863#(<= 1 main_~a~0)} is VALID [2022-04-15 15:01:10,023 INFO L290 TraceCheckUtils]: 29: Hoare triple {863#(<= 1 main_~a~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {870#(<= 1 main_~c~0)} is VALID [2022-04-15 15:01:10,023 INFO L290 TraceCheckUtils]: 30: Hoare triple {870#(<= 1 main_~c~0)} assume !false; {870#(<= 1 main_~c~0)} is VALID [2022-04-15 15:01:10,025 INFO L290 TraceCheckUtils]: 31: Hoare triple {870#(<= 1 main_~c~0)} assume !(~c~0 >= ~b~0); {870#(<= 1 main_~c~0)} is VALID [2022-04-15 15:01:10,025 INFO L290 TraceCheckUtils]: 32: Hoare triple {870#(<= 1 main_~c~0)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {880#(<= 1 main_~b~0)} is VALID [2022-04-15 15:01:10,026 INFO L290 TraceCheckUtils]: 33: Hoare triple {880#(<= 1 main_~b~0)} assume !false; {880#(<= 1 main_~b~0)} is VALID [2022-04-15 15:01:10,026 INFO L290 TraceCheckUtils]: 34: Hoare triple {880#(<= 1 main_~b~0)} assume !(0 != ~b~0); {775#false} is VALID [2022-04-15 15:01:10,026 INFO L272 TraceCheckUtils]: 35: Hoare triple {775#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {775#false} is VALID [2022-04-15 15:01:10,027 INFO L290 TraceCheckUtils]: 36: Hoare triple {775#false} ~cond := #in~cond; {775#false} is VALID [2022-04-15 15:01:10,027 INFO L290 TraceCheckUtils]: 37: Hoare triple {775#false} assume 0 == ~cond; {775#false} is VALID [2022-04-15 15:01:10,027 INFO L290 TraceCheckUtils]: 38: Hoare triple {775#false} assume !false; {775#false} is VALID [2022-04-15 15:01:10,027 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 6 proven. 5 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-15 15:01:10,027 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:01:10,286 INFO L290 TraceCheckUtils]: 38: Hoare triple {775#false} assume !false; {775#false} is VALID [2022-04-15 15:01:10,286 INFO L290 TraceCheckUtils]: 37: Hoare triple {775#false} assume 0 == ~cond; {775#false} is VALID [2022-04-15 15:01:10,286 INFO L290 TraceCheckUtils]: 36: Hoare triple {775#false} ~cond := #in~cond; {775#false} is VALID [2022-04-15 15:01:10,286 INFO L272 TraceCheckUtils]: 35: Hoare triple {775#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {775#false} is VALID [2022-04-15 15:01:10,287 INFO L290 TraceCheckUtils]: 34: Hoare triple {880#(<= 1 main_~b~0)} assume !(0 != ~b~0); {775#false} is VALID [2022-04-15 15:01:10,287 INFO L290 TraceCheckUtils]: 33: Hoare triple {880#(<= 1 main_~b~0)} assume !false; {880#(<= 1 main_~b~0)} is VALID [2022-04-15 15:01:10,288 INFO L290 TraceCheckUtils]: 32: Hoare triple {870#(<= 1 main_~c~0)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {880#(<= 1 main_~b~0)} is VALID [2022-04-15 15:01:10,288 INFO L290 TraceCheckUtils]: 31: Hoare triple {870#(<= 1 main_~c~0)} assume !(~c~0 >= ~b~0); {870#(<= 1 main_~c~0)} is VALID [2022-04-15 15:01:10,288 INFO L290 TraceCheckUtils]: 30: Hoare triple {870#(<= 1 main_~c~0)} assume !false; {870#(<= 1 main_~c~0)} is VALID [2022-04-15 15:01:10,290 INFO L290 TraceCheckUtils]: 29: Hoare triple {863#(<= 1 main_~a~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {870#(<= 1 main_~c~0)} is VALID [2022-04-15 15:01:10,290 INFO L290 TraceCheckUtils]: 28: Hoare triple {863#(<= 1 main_~a~0)} assume !false; {863#(<= 1 main_~a~0)} is VALID [2022-04-15 15:01:10,290 INFO L290 TraceCheckUtils]: 27: Hoare triple {844#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {863#(<= 1 main_~a~0)} is VALID [2022-04-15 15:01:10,292 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {774#true} {844#(<= 1 main_~x~0)} #100#return; {844#(<= 1 main_~x~0)} is VALID [2022-04-15 15:01:10,292 INFO L290 TraceCheckUtils]: 25: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-15 15:01:10,292 INFO L290 TraceCheckUtils]: 24: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-15 15:01:10,292 INFO L290 TraceCheckUtils]: 23: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-15 15:01:10,292 INFO L272 TraceCheckUtils]: 22: Hoare triple {844#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {774#true} is VALID [2022-04-15 15:01:10,293 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {837#(not (= |assume_abort_if_not_#in~cond| 0))} {774#true} #98#return; {844#(<= 1 main_~x~0)} is VALID [2022-04-15 15:01:10,293 INFO L290 TraceCheckUtils]: 20: Hoare triple {837#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {837#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:01:10,294 INFO L290 TraceCheckUtils]: 19: Hoare triple {959#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {837#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:01:10,294 INFO L290 TraceCheckUtils]: 18: Hoare triple {774#true} ~cond := #in~cond; {959#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-15 15:01:10,294 INFO L272 TraceCheckUtils]: 17: Hoare triple {774#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {774#true} is VALID [2022-04-15 15:01:10,295 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {774#true} {774#true} #96#return; {774#true} is VALID [2022-04-15 15:01:10,295 INFO L290 TraceCheckUtils]: 15: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-15 15:01:10,295 INFO L290 TraceCheckUtils]: 14: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-15 15:01:10,295 INFO L290 TraceCheckUtils]: 13: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-15 15:01:10,295 INFO L272 TraceCheckUtils]: 12: Hoare triple {774#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {774#true} is VALID [2022-04-15 15:01:10,295 INFO L290 TraceCheckUtils]: 11: Hoare triple {774#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {774#true} is VALID [2022-04-15 15:01:10,295 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {774#true} {774#true} #94#return; {774#true} is VALID [2022-04-15 15:01:10,295 INFO L290 TraceCheckUtils]: 9: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-15 15:01:10,296 INFO L290 TraceCheckUtils]: 8: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-15 15:01:10,296 INFO L290 TraceCheckUtils]: 7: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-15 15:01:10,296 INFO L272 TraceCheckUtils]: 6: Hoare triple {774#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {774#true} is VALID [2022-04-15 15:01:10,296 INFO L290 TraceCheckUtils]: 5: Hoare triple {774#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {774#true} is VALID [2022-04-15 15:01:10,296 INFO L272 TraceCheckUtils]: 4: Hoare triple {774#true} call #t~ret6 := main(); {774#true} is VALID [2022-04-15 15:01:10,296 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {774#true} {774#true} #112#return; {774#true} is VALID [2022-04-15 15:01:10,296 INFO L290 TraceCheckUtils]: 2: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-15 15:01:10,297 INFO L290 TraceCheckUtils]: 1: Hoare triple {774#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(11, 2);call #Ultimate.allocInit(12, 3); {774#true} is VALID [2022-04-15 15:01:10,297 INFO L272 TraceCheckUtils]: 0: Hoare triple {774#true} call ULTIMATE.init(); {774#true} is VALID [2022-04-15 15:01:10,297 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 6 proven. 5 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-15 15:01:10,297 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:01:10,297 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [601638035] [2022-04-15 15:01:10,297 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:01:10,297 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2099070176] [2022-04-15 15:01:10,298 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2099070176] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 15:01:10,298 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 15:01:10,298 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-15 15:01:10,298 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:01:10,298 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2075068846] [2022-04-15 15:01:10,298 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2075068846] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:01:10,298 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:01:10,298 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 15:01:10,299 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [222551827] [2022-04-15 15:01:10,299 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:01:10,299 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 39 [2022-04-15 15:01:10,299 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:01:10,300 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 15:01:10,322 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:01:10,322 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 15:01:10,322 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:01:10,322 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 15:01:10,322 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-15 15:01:10,323 INFO L87 Difference]: Start difference. First operand 50 states and 64 transitions. Second operand has 8 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 15:01:11,019 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:01:11,019 INFO L93 Difference]: Finished difference Result 103 states and 143 transitions. [2022-04-15 15:01:11,020 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-15 15:01:11,020 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 39 [2022-04-15 15:01:11,020 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:01:11,020 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 15:01:11,024 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 108 transitions. [2022-04-15 15:01:11,024 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 15:01:11,027 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 108 transitions. [2022-04-15 15:01:11,027 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 108 transitions. [2022-04-15 15:01:11,128 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-15 15:01:11,131 INFO L225 Difference]: With dead ends: 103 [2022-04-15 15:01:11,131 INFO L226 Difference]: Without dead ends: 96 [2022-04-15 15:01:11,132 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 82 GetRequests, 69 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=47, Invalid=135, Unknown=0, NotChecked=0, Total=182 [2022-04-15 15:01:11,133 INFO L913 BasicCegarLoop]: 50 mSDtfsCounter, 68 mSDsluCounter, 182 mSDsCounter, 0 mSdLazyCounter, 148 mSolverCounterSat, 49 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 72 SdHoareTripleChecker+Valid, 232 SdHoareTripleChecker+Invalid, 197 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 49 IncrementalHoareTripleChecker+Valid, 148 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-15 15:01:11,133 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [72 Valid, 232 Invalid, 197 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [49 Valid, 148 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 15:01:11,134 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 96 states. [2022-04-15 15:01:11,207 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 96 to 71. [2022-04-15 15:01:11,208 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:01:11,208 INFO L82 GeneralOperation]: Start isEquivalent. First operand 96 states. Second operand has 71 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 48 states have internal predecessors, (59), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-15 15:01:11,209 INFO L74 IsIncluded]: Start isIncluded. First operand 96 states. Second operand has 71 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 48 states have internal predecessors, (59), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-15 15:01:11,209 INFO L87 Difference]: Start difference. First operand 96 states. Second operand has 71 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 48 states have internal predecessors, (59), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-15 15:01:11,215 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:01:11,215 INFO L93 Difference]: Finished difference Result 96 states and 136 transitions. [2022-04-15 15:01:11,215 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 136 transitions. [2022-04-15 15:01:11,216 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:01:11,216 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:01:11,217 INFO L74 IsIncluded]: Start isIncluded. First operand has 71 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 48 states have internal predecessors, (59), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) Second operand 96 states. [2022-04-15 15:01:11,217 INFO L87 Difference]: Start difference. First operand has 71 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 48 states have internal predecessors, (59), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) Second operand 96 states. [2022-04-15 15:01:11,222 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:01:11,223 INFO L93 Difference]: Finished difference Result 96 states and 136 transitions. [2022-04-15 15:01:11,223 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 136 transitions. [2022-04-15 15:01:11,224 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:01:11,224 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:01:11,224 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:01:11,224 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:01:11,224 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 71 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 48 states have internal predecessors, (59), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-15 15:01:11,227 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 95 transitions. [2022-04-15 15:01:11,227 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 95 transitions. Word has length 39 [2022-04-15 15:01:11,228 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:01:11,228 INFO L478 AbstractCegarLoop]: Abstraction has 71 states and 95 transitions. [2022-04-15 15:01:11,228 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 15:01:11,228 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 71 states and 95 transitions. [2022-04-15 15:01:11,326 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-15 15:01:11,326 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 95 transitions. [2022-04-15 15:01:11,328 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-15 15:01:11,329 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:01:11,329 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 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] [2022-04-15 15:01:11,357 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-15 15:01:11,551 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-04-15 15:01:11,552 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:01:11,552 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:01:11,552 INFO L85 PathProgramCache]: Analyzing trace with hash -974923140, now seen corresponding path program 1 times [2022-04-15 15:01:11,552 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:01:11,552 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1902063896] [2022-04-15 15:01:11,552 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:01:11,552 INFO L85 PathProgramCache]: Analyzing trace with hash -974923140, now seen corresponding path program 2 times [2022-04-15 15:01:11,553 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:01:11,553 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [249077756] [2022-04-15 15:01:11,553 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:01:11,553 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:01:11,572 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:01:11,572 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [863840401] [2022-04-15 15:01:11,572 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 15:01:11,572 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:01:11,573 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:01:11,574 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-15 15:01:11,594 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-15 15:01:11,622 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 15:01:11,622 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:01:11,623 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-15 15:01:11,635 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:01:11,636 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:01:11,901 INFO L272 TraceCheckUtils]: 0: Hoare triple {1566#true} call ULTIMATE.init(); {1566#true} is VALID [2022-04-15 15:01:11,901 INFO L290 TraceCheckUtils]: 1: Hoare triple {1566#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(11, 2);call #Ultimate.allocInit(12, 3); {1566#true} is VALID [2022-04-15 15:01:11,901 INFO L290 TraceCheckUtils]: 2: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-15 15:01:11,901 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1566#true} {1566#true} #112#return; {1566#true} is VALID [2022-04-15 15:01:11,901 INFO L272 TraceCheckUtils]: 4: Hoare triple {1566#true} call #t~ret6 := main(); {1566#true} is VALID [2022-04-15 15:01:11,902 INFO L290 TraceCheckUtils]: 5: Hoare triple {1566#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1566#true} is VALID [2022-04-15 15:01:11,902 INFO L272 TraceCheckUtils]: 6: Hoare triple {1566#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {1566#true} is VALID [2022-04-15 15:01:11,902 INFO L290 TraceCheckUtils]: 7: Hoare triple {1566#true} ~cond := #in~cond; {1566#true} is VALID [2022-04-15 15:01:11,902 INFO L290 TraceCheckUtils]: 8: Hoare triple {1566#true} assume !(0 == ~cond); {1566#true} is VALID [2022-04-15 15:01:11,902 INFO L290 TraceCheckUtils]: 9: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-15 15:01:11,902 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1566#true} {1566#true} #94#return; {1566#true} is VALID [2022-04-15 15:01:11,902 INFO L290 TraceCheckUtils]: 11: Hoare triple {1566#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1566#true} is VALID [2022-04-15 15:01:11,903 INFO L272 TraceCheckUtils]: 12: Hoare triple {1566#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {1566#true} is VALID [2022-04-15 15:01:11,907 INFO L290 TraceCheckUtils]: 13: Hoare triple {1566#true} ~cond := #in~cond; {1610#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 15:01:11,908 INFO L290 TraceCheckUtils]: 14: Hoare triple {1610#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1614#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:01:11,909 INFO L290 TraceCheckUtils]: 15: Hoare triple {1614#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1614#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:01:11,909 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1614#(not (= |assume_abort_if_not_#in~cond| 0))} {1566#true} #96#return; {1621#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-15 15:01:11,910 INFO L272 TraceCheckUtils]: 17: Hoare triple {1621#(and (<= 0 main_~y~0) (<= main_~y~0 1))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1566#true} is VALID [2022-04-15 15:01:11,910 INFO L290 TraceCheckUtils]: 18: Hoare triple {1566#true} ~cond := #in~cond; {1610#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 15:01:11,910 INFO L290 TraceCheckUtils]: 19: Hoare triple {1610#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1614#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:01:11,911 INFO L290 TraceCheckUtils]: 20: Hoare triple {1614#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1614#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:01:11,912 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1614#(not (= |assume_abort_if_not_#in~cond| 0))} {1621#(and (<= 0 main_~y~0) (<= main_~y~0 1))} #98#return; {1637#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 1))} is VALID [2022-04-15 15:01:11,912 INFO L272 TraceCheckUtils]: 22: Hoare triple {1637#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 1))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1566#true} is VALID [2022-04-15 15:01:11,912 INFO L290 TraceCheckUtils]: 23: Hoare triple {1566#true} ~cond := #in~cond; {1566#true} is VALID [2022-04-15 15:01:11,912 INFO L290 TraceCheckUtils]: 24: Hoare triple {1566#true} assume !(0 == ~cond); {1566#true} is VALID [2022-04-15 15:01:11,912 INFO L290 TraceCheckUtils]: 25: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-15 15:01:11,913 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1566#true} {1637#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 1))} #100#return; {1637#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 1))} is VALID [2022-04-15 15:01:11,913 INFO L290 TraceCheckUtils]: 27: Hoare triple {1637#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 1))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1656#(and (<= main_~b~0 1) (<= 1 main_~a~0))} is VALID [2022-04-15 15:01:11,914 INFO L290 TraceCheckUtils]: 28: Hoare triple {1656#(and (<= main_~b~0 1) (<= 1 main_~a~0))} assume !false; {1656#(and (<= main_~b~0 1) (<= 1 main_~a~0))} is VALID [2022-04-15 15:01:11,914 INFO L290 TraceCheckUtils]: 29: Hoare triple {1656#(and (<= main_~b~0 1) (<= 1 main_~a~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {1663#(and (<= 1 main_~c~0) (<= main_~b~0 1))} is VALID [2022-04-15 15:01:11,915 INFO L290 TraceCheckUtils]: 30: Hoare triple {1663#(and (<= 1 main_~c~0) (<= main_~b~0 1))} assume !false; {1663#(and (<= 1 main_~c~0) (<= main_~b~0 1))} is VALID [2022-04-15 15:01:11,915 INFO L290 TraceCheckUtils]: 31: Hoare triple {1663#(and (<= 1 main_~c~0) (<= main_~b~0 1))} assume !(~c~0 >= ~b~0); {1567#false} is VALID [2022-04-15 15:01:11,915 INFO L290 TraceCheckUtils]: 32: Hoare triple {1567#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {1567#false} is VALID [2022-04-15 15:01:11,915 INFO L290 TraceCheckUtils]: 33: Hoare triple {1567#false} assume !false; {1567#false} is VALID [2022-04-15 15:01:11,915 INFO L290 TraceCheckUtils]: 34: Hoare triple {1567#false} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {1567#false} is VALID [2022-04-15 15:01:11,916 INFO L290 TraceCheckUtils]: 35: Hoare triple {1567#false} assume !false; {1567#false} is VALID [2022-04-15 15:01:11,916 INFO L290 TraceCheckUtils]: 36: Hoare triple {1567#false} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {1567#false} is VALID [2022-04-15 15:01:11,916 INFO L290 TraceCheckUtils]: 37: Hoare triple {1567#false} assume !false; {1567#false} is VALID [2022-04-15 15:01:11,916 INFO L272 TraceCheckUtils]: 38: Hoare triple {1567#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1567#false} is VALID [2022-04-15 15:01:11,916 INFO L290 TraceCheckUtils]: 39: Hoare triple {1567#false} ~cond := #in~cond; {1567#false} is VALID [2022-04-15 15:01:11,916 INFO L290 TraceCheckUtils]: 40: Hoare triple {1567#false} assume 0 == ~cond; {1567#false} is VALID [2022-04-15 15:01:11,917 INFO L290 TraceCheckUtils]: 41: Hoare triple {1567#false} assume !false; {1567#false} is VALID [2022-04-15 15:01:11,917 INFO L134 CoverageAnalysis]: Checked inductivity of 28 backedges. 10 proven. 6 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-15 15:01:11,917 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:01:12,295 INFO L290 TraceCheckUtils]: 41: Hoare triple {1567#false} assume !false; {1567#false} is VALID [2022-04-15 15:01:12,295 INFO L290 TraceCheckUtils]: 40: Hoare triple {1567#false} assume 0 == ~cond; {1567#false} is VALID [2022-04-15 15:01:12,295 INFO L290 TraceCheckUtils]: 39: Hoare triple {1567#false} ~cond := #in~cond; {1567#false} is VALID [2022-04-15 15:01:12,295 INFO L272 TraceCheckUtils]: 38: Hoare triple {1567#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1567#false} is VALID [2022-04-15 15:01:12,295 INFO L290 TraceCheckUtils]: 37: Hoare triple {1567#false} assume !false; {1567#false} is VALID [2022-04-15 15:01:12,296 INFO L290 TraceCheckUtils]: 36: Hoare triple {1567#false} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {1567#false} is VALID [2022-04-15 15:01:12,296 INFO L290 TraceCheckUtils]: 35: Hoare triple {1567#false} assume !false; {1567#false} is VALID [2022-04-15 15:01:12,296 INFO L290 TraceCheckUtils]: 34: Hoare triple {1567#false} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {1567#false} is VALID [2022-04-15 15:01:12,296 INFO L290 TraceCheckUtils]: 33: Hoare triple {1567#false} assume !false; {1567#false} is VALID [2022-04-15 15:01:12,296 INFO L290 TraceCheckUtils]: 32: Hoare triple {1567#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {1567#false} is VALID [2022-04-15 15:01:12,296 INFO L290 TraceCheckUtils]: 31: Hoare triple {1730#(<= main_~b~0 main_~c~0)} assume !(~c~0 >= ~b~0); {1567#false} is VALID [2022-04-15 15:01:12,297 INFO L290 TraceCheckUtils]: 30: Hoare triple {1730#(<= main_~b~0 main_~c~0)} assume !false; {1730#(<= main_~b~0 main_~c~0)} is VALID [2022-04-15 15:01:12,297 INFO L290 TraceCheckUtils]: 29: Hoare triple {1737#(<= main_~b~0 main_~a~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {1730#(<= main_~b~0 main_~c~0)} is VALID [2022-04-15 15:01:12,297 INFO L290 TraceCheckUtils]: 28: Hoare triple {1737#(<= main_~b~0 main_~a~0)} assume !false; {1737#(<= main_~b~0 main_~a~0)} is VALID [2022-04-15 15:01:12,298 INFO L290 TraceCheckUtils]: 27: Hoare triple {1744#(<= main_~y~0 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1737#(<= main_~b~0 main_~a~0)} is VALID [2022-04-15 15:01:12,298 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1566#true} {1744#(<= main_~y~0 main_~x~0)} #100#return; {1744#(<= main_~y~0 main_~x~0)} is VALID [2022-04-15 15:01:12,299 INFO L290 TraceCheckUtils]: 25: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-15 15:01:12,299 INFO L290 TraceCheckUtils]: 24: Hoare triple {1566#true} assume !(0 == ~cond); {1566#true} is VALID [2022-04-15 15:01:12,299 INFO L290 TraceCheckUtils]: 23: Hoare triple {1566#true} ~cond := #in~cond; {1566#true} is VALID [2022-04-15 15:01:12,299 INFO L272 TraceCheckUtils]: 22: Hoare triple {1744#(<= main_~y~0 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1566#true} is VALID [2022-04-15 15:01:12,300 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1614#(not (= |assume_abort_if_not_#in~cond| 0))} {1763#(<= main_~y~0 1)} #98#return; {1744#(<= main_~y~0 main_~x~0)} is VALID [2022-04-15 15:01:12,300 INFO L290 TraceCheckUtils]: 20: Hoare triple {1614#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1614#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:01:12,300 INFO L290 TraceCheckUtils]: 19: Hoare triple {1773#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {1614#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:01:12,301 INFO L290 TraceCheckUtils]: 18: Hoare triple {1566#true} ~cond := #in~cond; {1773#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-15 15:01:12,301 INFO L272 TraceCheckUtils]: 17: Hoare triple {1763#(<= main_~y~0 1)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1566#true} is VALID [2022-04-15 15:01:12,302 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1614#(not (= |assume_abort_if_not_#in~cond| 0))} {1566#true} #96#return; {1763#(<= main_~y~0 1)} is VALID [2022-04-15 15:01:12,302 INFO L290 TraceCheckUtils]: 15: Hoare triple {1614#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1614#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:01:12,302 INFO L290 TraceCheckUtils]: 14: Hoare triple {1773#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {1614#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:01:12,303 INFO L290 TraceCheckUtils]: 13: Hoare triple {1566#true} ~cond := #in~cond; {1773#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-15 15:01:12,303 INFO L272 TraceCheckUtils]: 12: Hoare triple {1566#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {1566#true} is VALID [2022-04-15 15:01:12,303 INFO L290 TraceCheckUtils]: 11: Hoare triple {1566#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1566#true} is VALID [2022-04-15 15:01:12,303 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1566#true} {1566#true} #94#return; {1566#true} is VALID [2022-04-15 15:01:12,303 INFO L290 TraceCheckUtils]: 9: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-15 15:01:12,303 INFO L290 TraceCheckUtils]: 8: Hoare triple {1566#true} assume !(0 == ~cond); {1566#true} is VALID [2022-04-15 15:01:12,303 INFO L290 TraceCheckUtils]: 7: Hoare triple {1566#true} ~cond := #in~cond; {1566#true} is VALID [2022-04-15 15:01:12,304 INFO L272 TraceCheckUtils]: 6: Hoare triple {1566#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {1566#true} is VALID [2022-04-15 15:01:12,304 INFO L290 TraceCheckUtils]: 5: Hoare triple {1566#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1566#true} is VALID [2022-04-15 15:01:12,304 INFO L272 TraceCheckUtils]: 4: Hoare triple {1566#true} call #t~ret6 := main(); {1566#true} is VALID [2022-04-15 15:01:12,304 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1566#true} {1566#true} #112#return; {1566#true} is VALID [2022-04-15 15:01:12,304 INFO L290 TraceCheckUtils]: 2: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-15 15:01:12,304 INFO L290 TraceCheckUtils]: 1: Hoare triple {1566#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(11, 2);call #Ultimate.allocInit(12, 3); {1566#true} is VALID [2022-04-15 15:01:12,304 INFO L272 TraceCheckUtils]: 0: Hoare triple {1566#true} call ULTIMATE.init(); {1566#true} is VALID [2022-04-15 15:01:12,305 INFO L134 CoverageAnalysis]: Checked inductivity of 28 backedges. 10 proven. 6 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-15 15:01:12,305 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:01:12,305 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [249077756] [2022-04-15 15:01:12,305 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:01:12,305 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [863840401] [2022-04-15 15:01:12,305 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [863840401] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 15:01:12,305 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 15:01:12,305 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 13 [2022-04-15 15:01:12,306 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:01:12,306 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1902063896] [2022-04-15 15:01:12,306 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1902063896] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:01:12,306 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:01:12,306 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 15:01:12,306 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [553656895] [2022-04-15 15:01:12,306 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:01:12,307 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 42 [2022-04-15 15:01:12,307 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:01:12,307 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 15:01:12,331 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:01:12,332 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 15:01:12,332 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:01:12,332 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 15:01:12,333 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=31, Invalid=125, Unknown=0, NotChecked=0, Total=156 [2022-04-15 15:01:12,333 INFO L87 Difference]: Start difference. First operand 71 states and 95 transitions. Second operand has 8 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 15:01:12,885 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:01:12,885 INFO L93 Difference]: Finished difference Result 98 states and 133 transitions. [2022-04-15 15:01:12,885 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-15 15:01:12,886 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 42 [2022-04-15 15:01:12,886 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:01:12,886 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 15:01:12,889 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 102 transitions. [2022-04-15 15:01:12,889 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 15:01:12,891 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 102 transitions. [2022-04-15 15:01:12,891 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 102 transitions. [2022-04-15 15:01:12,978 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-15 15:01:12,981 INFO L225 Difference]: With dead ends: 98 [2022-04-15 15:01:12,981 INFO L226 Difference]: Without dead ends: 60 [2022-04-15 15:01:12,981 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 86 GetRequests, 72 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 20 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=55, Invalid=185, Unknown=0, NotChecked=0, Total=240 [2022-04-15 15:01:12,983 INFO L913 BasicCegarLoop]: 39 mSDtfsCounter, 71 mSDsluCounter, 119 mSDsCounter, 0 mSdLazyCounter, 110 mSolverCounterSat, 38 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 76 SdHoareTripleChecker+Valid, 158 SdHoareTripleChecker+Invalid, 148 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 38 IncrementalHoareTripleChecker+Valid, 110 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-15 15:01:12,984 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [76 Valid, 158 Invalid, 148 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [38 Valid, 110 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 15:01:12,985 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 60 states. [2022-04-15 15:01:13,087 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 60 to 52. [2022-04-15 15:01:13,088 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:01:13,088 INFO L82 GeneralOperation]: Start isEquivalent. First operand 60 states. Second operand has 52 states, 32 states have (on average 1.1875) internal successors, (38), 33 states have internal predecessors, (38), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-15 15:01:13,088 INFO L74 IsIncluded]: Start isIncluded. First operand 60 states. Second operand has 52 states, 32 states have (on average 1.1875) internal successors, (38), 33 states have internal predecessors, (38), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-15 15:01:13,089 INFO L87 Difference]: Start difference. First operand 60 states. Second operand has 52 states, 32 states have (on average 1.1875) internal successors, (38), 33 states have internal predecessors, (38), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-15 15:01:13,092 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:01:13,092 INFO L93 Difference]: Finished difference Result 60 states and 79 transitions. [2022-04-15 15:01:13,092 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 79 transitions. [2022-04-15 15:01:13,092 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:01:13,092 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:01:13,093 INFO L74 IsIncluded]: Start isIncluded. First operand has 52 states, 32 states have (on average 1.1875) internal successors, (38), 33 states have internal predecessors, (38), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 60 states. [2022-04-15 15:01:13,093 INFO L87 Difference]: Start difference. First operand has 52 states, 32 states have (on average 1.1875) internal successors, (38), 33 states have internal predecessors, (38), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 60 states. [2022-04-15 15:01:13,096 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:01:13,096 INFO L93 Difference]: Finished difference Result 60 states and 79 transitions. [2022-04-15 15:01:13,096 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 79 transitions. [2022-04-15 15:01:13,096 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:01:13,096 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:01:13,096 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:01:13,096 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:01:13,097 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 52 states, 32 states have (on average 1.1875) internal successors, (38), 33 states have internal predecessors, (38), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-15 15:01:13,099 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 66 transitions. [2022-04-15 15:01:13,099 INFO L78 Accepts]: Start accepts. Automaton has 52 states and 66 transitions. Word has length 42 [2022-04-15 15:01:13,099 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:01:13,099 INFO L478 AbstractCegarLoop]: Abstraction has 52 states and 66 transitions. [2022-04-15 15:01:13,100 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 15:01:13,100 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 52 states and 66 transitions. [2022-04-15 15:01:13,174 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:01:13,175 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 66 transitions. [2022-04-15 15:01:13,175 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-04-15 15:01:13,175 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:01:13,175 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 15:01:13,195 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-15 15:01:13,379 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:01:13,379 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:01:13,380 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:01:13,380 INFO L85 PathProgramCache]: Analyzing trace with hash 81990170, now seen corresponding path program 1 times [2022-04-15 15:01:13,380 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:01:13,380 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [175595934] [2022-04-15 15:01:13,380 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:01:13,380 INFO L85 PathProgramCache]: Analyzing trace with hash 81990170, now seen corresponding path program 2 times [2022-04-15 15:01:13,381 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:01:13,381 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [91449123] [2022-04-15 15:01:13,381 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:01:13,381 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:01:13,395 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:01:13,396 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1578073703] [2022-04-15 15:01:13,396 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 15:01:13,396 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:01:13,396 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:01:13,397 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-15 15:01:13,406 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-15 15:01:13,445 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 15:01:13,445 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:01:13,446 INFO L263 TraceCheckSpWp]: Trace formula consists of 135 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-15 15:01:13,459 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:01:13,462 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:01:13,754 INFO L272 TraceCheckUtils]: 0: Hoare triple {2256#true} call ULTIMATE.init(); {2256#true} is VALID [2022-04-15 15:01:13,754 INFO L290 TraceCheckUtils]: 1: Hoare triple {2256#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(11, 2);call #Ultimate.allocInit(12, 3); {2256#true} is VALID [2022-04-15 15:01:13,754 INFO L290 TraceCheckUtils]: 2: Hoare triple {2256#true} assume true; {2256#true} is VALID [2022-04-15 15:01:13,755 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2256#true} {2256#true} #112#return; {2256#true} is VALID [2022-04-15 15:01:13,755 INFO L272 TraceCheckUtils]: 4: Hoare triple {2256#true} call #t~ret6 := main(); {2256#true} is VALID [2022-04-15 15:01:13,755 INFO L290 TraceCheckUtils]: 5: Hoare triple {2256#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2256#true} is VALID [2022-04-15 15:01:13,755 INFO L272 TraceCheckUtils]: 6: Hoare triple {2256#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {2256#true} is VALID [2022-04-15 15:01:13,755 INFO L290 TraceCheckUtils]: 7: Hoare triple {2256#true} ~cond := #in~cond; {2256#true} is VALID [2022-04-15 15:01:13,755 INFO L290 TraceCheckUtils]: 8: Hoare triple {2256#true} assume !(0 == ~cond); {2256#true} is VALID [2022-04-15 15:01:13,755 INFO L290 TraceCheckUtils]: 9: Hoare triple {2256#true} assume true; {2256#true} is VALID [2022-04-15 15:01:13,756 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2256#true} {2256#true} #94#return; {2256#true} is VALID [2022-04-15 15:01:13,756 INFO L290 TraceCheckUtils]: 11: Hoare triple {2256#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2256#true} is VALID [2022-04-15 15:01:13,756 INFO L272 TraceCheckUtils]: 12: Hoare triple {2256#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {2256#true} is VALID [2022-04-15 15:01:13,758 INFO L290 TraceCheckUtils]: 13: Hoare triple {2256#true} ~cond := #in~cond; {2300#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 15:01:13,759 INFO L290 TraceCheckUtils]: 14: Hoare triple {2300#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2304#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:01:13,759 INFO L290 TraceCheckUtils]: 15: Hoare triple {2304#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2304#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:01:13,764 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2304#(not (= |assume_abort_if_not_#in~cond| 0))} {2256#true} #96#return; {2311#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-15 15:01:13,764 INFO L272 TraceCheckUtils]: 17: Hoare triple {2311#(and (<= 0 main_~y~0) (<= main_~y~0 1))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2256#true} is VALID [2022-04-15 15:01:13,764 INFO L290 TraceCheckUtils]: 18: Hoare triple {2256#true} ~cond := #in~cond; {2256#true} is VALID [2022-04-15 15:01:13,764 INFO L290 TraceCheckUtils]: 19: Hoare triple {2256#true} assume !(0 == ~cond); {2256#true} is VALID [2022-04-15 15:01:13,764 INFO L290 TraceCheckUtils]: 20: Hoare triple {2256#true} assume true; {2256#true} is VALID [2022-04-15 15:01:13,765 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2256#true} {2311#(and (<= 0 main_~y~0) (<= main_~y~0 1))} #98#return; {2311#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-15 15:01:13,765 INFO L272 TraceCheckUtils]: 22: Hoare triple {2311#(and (<= 0 main_~y~0) (<= main_~y~0 1))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2256#true} is VALID [2022-04-15 15:01:13,765 INFO L290 TraceCheckUtils]: 23: Hoare triple {2256#true} ~cond := #in~cond; {2256#true} is VALID [2022-04-15 15:01:13,765 INFO L290 TraceCheckUtils]: 24: Hoare triple {2256#true} assume !(0 == ~cond); {2256#true} is VALID [2022-04-15 15:01:13,765 INFO L290 TraceCheckUtils]: 25: Hoare triple {2256#true} assume true; {2256#true} is VALID [2022-04-15 15:01:13,766 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2256#true} {2311#(and (<= 0 main_~y~0) (<= main_~y~0 1))} #100#return; {2311#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-15 15:01:13,766 INFO L290 TraceCheckUtils]: 27: Hoare triple {2311#(and (<= 0 main_~y~0) (<= main_~y~0 1))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2345#(<= 0 main_~b~0)} is VALID [2022-04-15 15:01:13,766 INFO L290 TraceCheckUtils]: 28: Hoare triple {2345#(<= 0 main_~b~0)} assume !false; {2345#(<= 0 main_~b~0)} is VALID [2022-04-15 15:01:13,767 INFO L290 TraceCheckUtils]: 29: Hoare triple {2345#(<= 0 main_~b~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {2352#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-15 15:01:13,767 INFO L290 TraceCheckUtils]: 30: Hoare triple {2352#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} assume !false; {2352#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-15 15:01:13,767 INFO L290 TraceCheckUtils]: 31: Hoare triple {2352#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {2352#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-15 15:01:13,768 INFO L290 TraceCheckUtils]: 32: Hoare triple {2352#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} assume !false; {2352#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-15 15:01:13,768 INFO L272 TraceCheckUtils]: 33: Hoare triple {2352#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2256#true} is VALID [2022-04-15 15:01:13,768 INFO L290 TraceCheckUtils]: 34: Hoare triple {2256#true} ~cond := #in~cond; {2256#true} is VALID [2022-04-15 15:01:13,768 INFO L290 TraceCheckUtils]: 35: Hoare triple {2256#true} assume !(0 == ~cond); {2256#true} is VALID [2022-04-15 15:01:13,768 INFO L290 TraceCheckUtils]: 36: Hoare triple {2256#true} assume true; {2256#true} is VALID [2022-04-15 15:01:13,769 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2256#true} {2352#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} #102#return; {2352#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-15 15:01:13,769 INFO L272 TraceCheckUtils]: 38: Hoare triple {2352#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2256#true} is VALID [2022-04-15 15:01:13,769 INFO L290 TraceCheckUtils]: 39: Hoare triple {2256#true} ~cond := #in~cond; {2256#true} is VALID [2022-04-15 15:01:13,769 INFO L290 TraceCheckUtils]: 40: Hoare triple {2256#true} assume !(0 == ~cond); {2256#true} is VALID [2022-04-15 15:01:13,769 INFO L290 TraceCheckUtils]: 41: Hoare triple {2256#true} assume true; {2256#true} is VALID [2022-04-15 15:01:13,771 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {2256#true} {2352#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} #104#return; {2352#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-15 15:01:13,772 INFO L272 TraceCheckUtils]: 43: Hoare triple {2352#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {2395#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:01:13,772 INFO L290 TraceCheckUtils]: 44: Hoare triple {2395#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2399#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:01:13,773 INFO L290 TraceCheckUtils]: 45: Hoare triple {2399#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2257#false} is VALID [2022-04-15 15:01:13,773 INFO L290 TraceCheckUtils]: 46: Hoare triple {2257#false} assume !false; {2257#false} is VALID [2022-04-15 15:01:13,773 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 7 proven. 6 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-04-15 15:01:13,773 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:01:14,023 INFO L290 TraceCheckUtils]: 46: Hoare triple {2257#false} assume !false; {2257#false} is VALID [2022-04-15 15:01:14,024 INFO L290 TraceCheckUtils]: 45: Hoare triple {2399#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2257#false} is VALID [2022-04-15 15:01:14,024 INFO L290 TraceCheckUtils]: 44: Hoare triple {2395#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2399#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:01:14,025 INFO L272 TraceCheckUtils]: 43: Hoare triple {2415#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {2395#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:01:14,025 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {2256#true} {2415#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #104#return; {2415#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-15 15:01:14,025 INFO L290 TraceCheckUtils]: 41: Hoare triple {2256#true} assume true; {2256#true} is VALID [2022-04-15 15:01:14,026 INFO L290 TraceCheckUtils]: 40: Hoare triple {2256#true} assume !(0 == ~cond); {2256#true} is VALID [2022-04-15 15:01:14,026 INFO L290 TraceCheckUtils]: 39: Hoare triple {2256#true} ~cond := #in~cond; {2256#true} is VALID [2022-04-15 15:01:14,026 INFO L272 TraceCheckUtils]: 38: Hoare triple {2415#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2256#true} is VALID [2022-04-15 15:01:14,026 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2256#true} {2415#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #102#return; {2415#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-15 15:01:14,026 INFO L290 TraceCheckUtils]: 36: Hoare triple {2256#true} assume true; {2256#true} is VALID [2022-04-15 15:01:14,027 INFO L290 TraceCheckUtils]: 35: Hoare triple {2256#true} assume !(0 == ~cond); {2256#true} is VALID [2022-04-15 15:01:14,027 INFO L290 TraceCheckUtils]: 34: Hoare triple {2256#true} ~cond := #in~cond; {2256#true} is VALID [2022-04-15 15:01:14,027 INFO L272 TraceCheckUtils]: 33: Hoare triple {2415#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2256#true} is VALID [2022-04-15 15:01:14,031 INFO L290 TraceCheckUtils]: 32: Hoare triple {2415#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !false; {2415#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-15 15:01:14,032 INFO L290 TraceCheckUtils]: 31: Hoare triple {2415#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {2415#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-15 15:01:14,032 INFO L290 TraceCheckUtils]: 30: Hoare triple {2415#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !false; {2415#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-15 15:01:14,033 INFO L290 TraceCheckUtils]: 29: Hoare triple {2256#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {2415#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-15 15:01:14,033 INFO L290 TraceCheckUtils]: 28: Hoare triple {2256#true} assume !false; {2256#true} is VALID [2022-04-15 15:01:14,033 INFO L290 TraceCheckUtils]: 27: Hoare triple {2256#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2256#true} is VALID [2022-04-15 15:01:14,033 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2256#true} {2256#true} #100#return; {2256#true} is VALID [2022-04-15 15:01:14,033 INFO L290 TraceCheckUtils]: 25: Hoare triple {2256#true} assume true; {2256#true} is VALID [2022-04-15 15:01:14,033 INFO L290 TraceCheckUtils]: 24: Hoare triple {2256#true} assume !(0 == ~cond); {2256#true} is VALID [2022-04-15 15:01:14,033 INFO L290 TraceCheckUtils]: 23: Hoare triple {2256#true} ~cond := #in~cond; {2256#true} is VALID [2022-04-15 15:01:14,034 INFO L272 TraceCheckUtils]: 22: Hoare triple {2256#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2256#true} is VALID [2022-04-15 15:01:14,034 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2256#true} {2256#true} #98#return; {2256#true} is VALID [2022-04-15 15:01:14,034 INFO L290 TraceCheckUtils]: 20: Hoare triple {2256#true} assume true; {2256#true} is VALID [2022-04-15 15:01:14,034 INFO L290 TraceCheckUtils]: 19: Hoare triple {2256#true} assume !(0 == ~cond); {2256#true} is VALID [2022-04-15 15:01:14,034 INFO L290 TraceCheckUtils]: 18: Hoare triple {2256#true} ~cond := #in~cond; {2256#true} is VALID [2022-04-15 15:01:14,034 INFO L272 TraceCheckUtils]: 17: Hoare triple {2256#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2256#true} is VALID [2022-04-15 15:01:14,034 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2256#true} {2256#true} #96#return; {2256#true} is VALID [2022-04-15 15:01:14,034 INFO L290 TraceCheckUtils]: 15: Hoare triple {2256#true} assume true; {2256#true} is VALID [2022-04-15 15:01:14,035 INFO L290 TraceCheckUtils]: 14: Hoare triple {2256#true} assume !(0 == ~cond); {2256#true} is VALID [2022-04-15 15:01:14,035 INFO L290 TraceCheckUtils]: 13: Hoare triple {2256#true} ~cond := #in~cond; {2256#true} is VALID [2022-04-15 15:01:14,035 INFO L272 TraceCheckUtils]: 12: Hoare triple {2256#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {2256#true} is VALID [2022-04-15 15:01:14,035 INFO L290 TraceCheckUtils]: 11: Hoare triple {2256#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2256#true} is VALID [2022-04-15 15:01:14,035 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2256#true} {2256#true} #94#return; {2256#true} is VALID [2022-04-15 15:01:14,035 INFO L290 TraceCheckUtils]: 9: Hoare triple {2256#true} assume true; {2256#true} is VALID [2022-04-15 15:01:14,035 INFO L290 TraceCheckUtils]: 8: Hoare triple {2256#true} assume !(0 == ~cond); {2256#true} is VALID [2022-04-15 15:01:14,035 INFO L290 TraceCheckUtils]: 7: Hoare triple {2256#true} ~cond := #in~cond; {2256#true} is VALID [2022-04-15 15:01:14,035 INFO L272 TraceCheckUtils]: 6: Hoare triple {2256#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {2256#true} is VALID [2022-04-15 15:01:14,036 INFO L290 TraceCheckUtils]: 5: Hoare triple {2256#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2256#true} is VALID [2022-04-15 15:01:14,036 INFO L272 TraceCheckUtils]: 4: Hoare triple {2256#true} call #t~ret6 := main(); {2256#true} is VALID [2022-04-15 15:01:14,036 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2256#true} {2256#true} #112#return; {2256#true} is VALID [2022-04-15 15:01:14,036 INFO L290 TraceCheckUtils]: 2: Hoare triple {2256#true} assume true; {2256#true} is VALID [2022-04-15 15:01:14,036 INFO L290 TraceCheckUtils]: 1: Hoare triple {2256#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(11, 2);call #Ultimate.allocInit(12, 3); {2256#true} is VALID [2022-04-15 15:01:14,036 INFO L272 TraceCheckUtils]: 0: Hoare triple {2256#true} call ULTIMATE.init(); {2256#true} is VALID [2022-04-15 15:01:14,036 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-15 15:01:14,037 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:01:14,037 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [91449123] [2022-04-15 15:01:14,037 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:01:14,037 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1578073703] [2022-04-15 15:01:14,037 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1578073703] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-15 15:01:14,037 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-15 15:01:14,037 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [9] total 10 [2022-04-15 15:01:14,037 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:01:14,038 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [175595934] [2022-04-15 15:01:14,038 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [175595934] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:01:14,038 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:01:14,038 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 15:01:14,038 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1216921893] [2022-04-15 15:01:14,038 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:01:14,038 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 47 [2022-04-15 15:01:14,039 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:01:14,039 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 15:01:14,064 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-15 15:01:14,065 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 15:01:14,065 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:01:14,065 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 15:01:14,065 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=71, Unknown=0, NotChecked=0, Total=90 [2022-04-15 15:01:14,065 INFO L87 Difference]: Start difference. First operand 52 states and 66 transitions. Second operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 15:01:14,387 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:01:14,387 INFO L93 Difference]: Finished difference Result 75 states and 99 transitions. [2022-04-15 15:01:14,387 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 15:01:14,387 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 47 [2022-04-15 15:01:14,387 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:01:14,388 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 15:01:14,389 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-15 15:01:14,389 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 15:01:14,391 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-15 15:01:14,391 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-15 15:01:14,445 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:01:14,447 INFO L225 Difference]: With dead ends: 75 [2022-04-15 15:01:14,447 INFO L226 Difference]: Without dead ends: 73 [2022-04-15 15:01:14,447 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 94 GetRequests, 84 SyntacticMatches, 1 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=23, Invalid=87, Unknown=0, NotChecked=0, Total=110 [2022-04-15 15:01:14,448 INFO L913 BasicCegarLoop]: 44 mSDtfsCounter, 8 mSDsluCounter, 103 mSDsCounter, 0 mSdLazyCounter, 53 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 147 SdHoareTripleChecker+Invalid, 53 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 53 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 15:01:14,448 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [10 Valid, 147 Invalid, 53 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 53 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 15:01:14,449 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 73 states. [2022-04-15 15:01:14,599 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 73 to 70. [2022-04-15 15:01:14,600 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:01:14,600 INFO L82 GeneralOperation]: Start isEquivalent. First operand 73 states. Second operand has 70 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 42 states have internal predecessors, (50), 23 states have call successors, (23), 6 states have call predecessors, (23), 5 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-15 15:01:14,600 INFO L74 IsIncluded]: Start isIncluded. First operand 73 states. Second operand has 70 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 42 states have internal predecessors, (50), 23 states have call successors, (23), 6 states have call predecessors, (23), 5 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-15 15:01:14,601 INFO L87 Difference]: Start difference. First operand 73 states. Second operand has 70 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 42 states have internal predecessors, (50), 23 states have call successors, (23), 6 states have call predecessors, (23), 5 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-15 15:01:14,604 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:01:14,604 INFO L93 Difference]: Finished difference Result 73 states and 97 transitions. [2022-04-15 15:01:14,604 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 97 transitions. [2022-04-15 15:01:14,605 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:01:14,605 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:01:14,605 INFO L74 IsIncluded]: Start isIncluded. First operand has 70 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 42 states have internal predecessors, (50), 23 states have call successors, (23), 6 states have call predecessors, (23), 5 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) Second operand 73 states. [2022-04-15 15:01:14,606 INFO L87 Difference]: Start difference. First operand has 70 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 42 states have internal predecessors, (50), 23 states have call successors, (23), 6 states have call predecessors, (23), 5 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) Second operand 73 states. [2022-04-15 15:01:14,609 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:01:14,609 INFO L93 Difference]: Finished difference Result 73 states and 97 transitions. [2022-04-15 15:01:14,609 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 97 transitions. [2022-04-15 15:01:14,610 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:01:14,610 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:01:14,610 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:01:14,610 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:01:14,610 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 70 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 42 states have internal predecessors, (50), 23 states have call successors, (23), 6 states have call predecessors, (23), 5 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-15 15:01:14,613 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 70 states to 70 states and 94 transitions. [2022-04-15 15:01:14,614 INFO L78 Accepts]: Start accepts. Automaton has 70 states and 94 transitions. Word has length 47 [2022-04-15 15:01:14,614 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:01:14,614 INFO L478 AbstractCegarLoop]: Abstraction has 70 states and 94 transitions. [2022-04-15 15:01:14,614 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 15:01:14,614 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 70 states and 94 transitions. [2022-04-15 15:01:14,743 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-15 15:01:14,743 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 94 transitions. [2022-04-15 15:01:14,744 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-04-15 15:01:14,744 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:01:14,744 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 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, 1] [2022-04-15 15:01:14,766 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-15 15:01:14,966 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:01:14,966 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:01:14,967 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:01:14,967 INFO L85 PathProgramCache]: Analyzing trace with hash -1952108775, now seen corresponding path program 1 times [2022-04-15 15:01:14,967 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:01:14,967 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1616334849] [2022-04-15 15:01:14,967 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:01:14,968 INFO L85 PathProgramCache]: Analyzing trace with hash -1952108775, now seen corresponding path program 2 times [2022-04-15 15:01:14,968 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:01:14,968 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [583287062] [2022-04-15 15:01:14,968 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:01:14,968 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:01:14,996 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:01:14,997 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1053055858] [2022-04-15 15:01:14,997 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 15:01:14,997 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:01:14,997 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:01:15,001 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-15 15:01:15,026 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-15 15:01:15,053 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 15:01:15,054 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:01:15,055 INFO L263 TraceCheckSpWp]: Trace formula consists of 144 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-15 15:01:15,074 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:01:15,075 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:01:15,816 INFO L272 TraceCheckUtils]: 0: Hoare triple {2985#true} call ULTIMATE.init(); {2985#true} is VALID [2022-04-15 15:01:15,816 INFO L290 TraceCheckUtils]: 1: Hoare triple {2985#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(11, 2);call #Ultimate.allocInit(12, 3); {2985#true} is VALID [2022-04-15 15:01:15,817 INFO L290 TraceCheckUtils]: 2: Hoare triple {2985#true} assume true; {2985#true} is VALID [2022-04-15 15:01:15,817 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2985#true} {2985#true} #112#return; {2985#true} is VALID [2022-04-15 15:01:15,817 INFO L272 TraceCheckUtils]: 4: Hoare triple {2985#true} call #t~ret6 := main(); {2985#true} is VALID [2022-04-15 15:01:15,817 INFO L290 TraceCheckUtils]: 5: Hoare triple {2985#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2985#true} is VALID [2022-04-15 15:01:15,817 INFO L272 TraceCheckUtils]: 6: Hoare triple {2985#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {2985#true} is VALID [2022-04-15 15:01:15,817 INFO L290 TraceCheckUtils]: 7: Hoare triple {2985#true} ~cond := #in~cond; {3011#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 15:01:15,818 INFO L290 TraceCheckUtils]: 8: Hoare triple {3011#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3015#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:01:15,818 INFO L290 TraceCheckUtils]: 9: Hoare triple {3015#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3015#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:01:15,819 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3015#(not (= |assume_abort_if_not_#in~cond| 0))} {2985#true} #94#return; {3022#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-15 15:01:15,819 INFO L290 TraceCheckUtils]: 11: Hoare triple {3022#(and (<= 0 main_~x~0) (<= main_~x~0 1))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3022#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-15 15:01:15,819 INFO L272 TraceCheckUtils]: 12: Hoare triple {3022#(and (<= 0 main_~x~0) (<= main_~x~0 1))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {2985#true} is VALID [2022-04-15 15:01:15,820 INFO L290 TraceCheckUtils]: 13: Hoare triple {2985#true} ~cond := #in~cond; {3011#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 15:01:15,821 INFO L290 TraceCheckUtils]: 14: Hoare triple {3011#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3015#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:01:15,821 INFO L290 TraceCheckUtils]: 15: Hoare triple {3015#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3015#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:01:15,822 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3015#(not (= |assume_abort_if_not_#in~cond| 0))} {3022#(and (<= 0 main_~x~0) (<= main_~x~0 1))} #96#return; {3041#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} is VALID [2022-04-15 15:01:15,822 INFO L272 TraceCheckUtils]: 17: Hoare triple {3041#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2985#true} is VALID [2022-04-15 15:01:15,822 INFO L290 TraceCheckUtils]: 18: Hoare triple {2985#true} ~cond := #in~cond; {2985#true} is VALID [2022-04-15 15:01:15,822 INFO L290 TraceCheckUtils]: 19: Hoare triple {2985#true} assume !(0 == ~cond); {2985#true} is VALID [2022-04-15 15:01:15,822 INFO L290 TraceCheckUtils]: 20: Hoare triple {2985#true} assume true; {2985#true} is VALID [2022-04-15 15:01:15,823 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2985#true} {3041#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} #98#return; {3041#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} is VALID [2022-04-15 15:01:15,823 INFO L272 TraceCheckUtils]: 22: Hoare triple {3041#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2985#true} is VALID [2022-04-15 15:01:15,823 INFO L290 TraceCheckUtils]: 23: Hoare triple {2985#true} ~cond := #in~cond; {2985#true} is VALID [2022-04-15 15:01:15,823 INFO L290 TraceCheckUtils]: 24: Hoare triple {2985#true} assume !(0 == ~cond); {2985#true} is VALID [2022-04-15 15:01:15,823 INFO L290 TraceCheckUtils]: 25: Hoare triple {2985#true} assume true; {2985#true} is VALID [2022-04-15 15:01:15,823 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2985#true} {3041#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} #100#return; {3041#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} is VALID [2022-04-15 15:01:15,824 INFO L290 TraceCheckUtils]: 27: Hoare triple {3041#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {3075#(and (<= main_~a~0 1) (<= main_~b~0 1) (<= 0 main_~b~0))} is VALID [2022-04-15 15:01:15,825 INFO L290 TraceCheckUtils]: 28: Hoare triple {3075#(and (<= main_~a~0 1) (<= main_~b~0 1) (<= 0 main_~b~0))} assume !false; {3075#(and (<= main_~a~0 1) (<= main_~b~0 1) (<= 0 main_~b~0))} is VALID [2022-04-15 15:01:15,826 INFO L290 TraceCheckUtils]: 29: Hoare triple {3075#(and (<= main_~a~0 1) (<= main_~b~0 1) (<= 0 main_~b~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {3082#(and (<= main_~b~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0) (<= main_~c~0 1))} is VALID [2022-04-15 15:01:15,831 INFO L290 TraceCheckUtils]: 30: Hoare triple {3082#(and (<= main_~b~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0) (<= main_~c~0 1))} assume !false; {3082#(and (<= main_~b~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0) (<= main_~c~0 1))} is VALID [2022-04-15 15:01:15,832 INFO L290 TraceCheckUtils]: 31: Hoare triple {3082#(and (<= main_~b~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0) (<= main_~c~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {3089#(and (= main_~b~0 main_~v~0) (<= main_~b~0 1) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-15 15:01:15,832 INFO L290 TraceCheckUtils]: 32: Hoare triple {3089#(and (= main_~b~0 main_~v~0) (<= main_~b~0 1) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} assume !false; {3089#(and (= main_~b~0 main_~v~0) (<= main_~b~0 1) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-15 15:01:15,832 INFO L272 TraceCheckUtils]: 33: Hoare triple {3089#(and (= main_~b~0 main_~v~0) (<= main_~b~0 1) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2985#true} is VALID [2022-04-15 15:01:15,832 INFO L290 TraceCheckUtils]: 34: Hoare triple {2985#true} ~cond := #in~cond; {2985#true} is VALID [2022-04-15 15:01:15,833 INFO L290 TraceCheckUtils]: 35: Hoare triple {2985#true} assume !(0 == ~cond); {2985#true} is VALID [2022-04-15 15:01:15,833 INFO L290 TraceCheckUtils]: 36: Hoare triple {2985#true} assume true; {2985#true} is VALID [2022-04-15 15:01:15,833 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2985#true} {3089#(and (= main_~b~0 main_~v~0) (<= main_~b~0 1) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} #102#return; {3089#(and (= main_~b~0 main_~v~0) (<= main_~b~0 1) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-15 15:01:15,834 INFO L272 TraceCheckUtils]: 38: Hoare triple {3089#(and (= main_~b~0 main_~v~0) (<= main_~b~0 1) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2985#true} is VALID [2022-04-15 15:01:15,834 INFO L290 TraceCheckUtils]: 39: Hoare triple {2985#true} ~cond := #in~cond; {2985#true} is VALID [2022-04-15 15:01:15,834 INFO L290 TraceCheckUtils]: 40: Hoare triple {2985#true} assume !(0 == ~cond); {2985#true} is VALID [2022-04-15 15:01:15,834 INFO L290 TraceCheckUtils]: 41: Hoare triple {2985#true} assume true; {2985#true} is VALID [2022-04-15 15:01:15,835 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {2985#true} {3089#(and (= main_~b~0 main_~v~0) (<= main_~b~0 1) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} #104#return; {3089#(and (= main_~b~0 main_~v~0) (<= main_~b~0 1) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-15 15:01:15,835 INFO L272 TraceCheckUtils]: 43: Hoare triple {3089#(and (= main_~b~0 main_~v~0) (<= main_~b~0 1) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {2985#true} is VALID [2022-04-15 15:01:15,835 INFO L290 TraceCheckUtils]: 44: Hoare triple {2985#true} ~cond := #in~cond; {2985#true} is VALID [2022-04-15 15:01:15,835 INFO L290 TraceCheckUtils]: 45: Hoare triple {2985#true} assume !(0 == ~cond); {2985#true} is VALID [2022-04-15 15:01:15,835 INFO L290 TraceCheckUtils]: 46: Hoare triple {2985#true} assume true; {2985#true} is VALID [2022-04-15 15:01:15,836 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {2985#true} {3089#(and (= main_~b~0 main_~v~0) (<= main_~b~0 1) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} #106#return; {3089#(and (= main_~b~0 main_~v~0) (<= main_~b~0 1) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-15 15:01:15,837 INFO L272 TraceCheckUtils]: 48: Hoare triple {3089#(and (= main_~b~0 main_~v~0) (<= main_~b~0 1) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {3141#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:01:15,837 INFO L290 TraceCheckUtils]: 49: Hoare triple {3141#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3145#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:01:15,837 INFO L290 TraceCheckUtils]: 50: Hoare triple {3145#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2986#false} is VALID [2022-04-15 15:01:15,837 INFO L290 TraceCheckUtils]: 51: Hoare triple {2986#false} assume !false; {2986#false} is VALID [2022-04-15 15:01:15,838 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 6 proven. 12 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-15 15:01:15,838 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:01:16,151 INFO L290 TraceCheckUtils]: 51: Hoare triple {2986#false} assume !false; {2986#false} is VALID [2022-04-15 15:01:16,154 INFO L290 TraceCheckUtils]: 50: Hoare triple {3145#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2986#false} is VALID [2022-04-15 15:01:16,154 INFO L290 TraceCheckUtils]: 49: Hoare triple {3141#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3145#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:01:16,155 INFO L272 TraceCheckUtils]: 48: Hoare triple {3161#(= main_~v~0 (* main_~d~0 main_~b~0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {3141#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:01:16,155 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {2985#true} {3161#(= main_~v~0 (* main_~d~0 main_~b~0))} #106#return; {3161#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-15 15:01:16,156 INFO L290 TraceCheckUtils]: 46: Hoare triple {2985#true} assume true; {2985#true} is VALID [2022-04-15 15:01:16,156 INFO L290 TraceCheckUtils]: 45: Hoare triple {2985#true} assume !(0 == ~cond); {2985#true} is VALID [2022-04-15 15:01:16,156 INFO L290 TraceCheckUtils]: 44: Hoare triple {2985#true} ~cond := #in~cond; {2985#true} is VALID [2022-04-15 15:01:16,156 INFO L272 TraceCheckUtils]: 43: Hoare triple {3161#(= main_~v~0 (* main_~d~0 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {2985#true} is VALID [2022-04-15 15:01:16,157 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {2985#true} {3161#(= main_~v~0 (* main_~d~0 main_~b~0))} #104#return; {3161#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-15 15:01:16,157 INFO L290 TraceCheckUtils]: 41: Hoare triple {2985#true} assume true; {2985#true} is VALID [2022-04-15 15:01:16,157 INFO L290 TraceCheckUtils]: 40: Hoare triple {2985#true} assume !(0 == ~cond); {2985#true} is VALID [2022-04-15 15:01:16,157 INFO L290 TraceCheckUtils]: 39: Hoare triple {2985#true} ~cond := #in~cond; {2985#true} is VALID [2022-04-15 15:01:16,157 INFO L272 TraceCheckUtils]: 38: Hoare triple {3161#(= main_~v~0 (* main_~d~0 main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2985#true} is VALID [2022-04-15 15:01:16,158 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2985#true} {3161#(= main_~v~0 (* main_~d~0 main_~b~0))} #102#return; {3161#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-15 15:01:16,158 INFO L290 TraceCheckUtils]: 36: Hoare triple {2985#true} assume true; {2985#true} is VALID [2022-04-15 15:01:16,158 INFO L290 TraceCheckUtils]: 35: Hoare triple {2985#true} assume !(0 == ~cond); {2985#true} is VALID [2022-04-15 15:01:16,158 INFO L290 TraceCheckUtils]: 34: Hoare triple {2985#true} ~cond := #in~cond; {2985#true} is VALID [2022-04-15 15:01:16,158 INFO L272 TraceCheckUtils]: 33: Hoare triple {3161#(= main_~v~0 (* main_~d~0 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2985#true} is VALID [2022-04-15 15:01:16,159 INFO L290 TraceCheckUtils]: 32: Hoare triple {3161#(= main_~v~0 (* main_~d~0 main_~b~0))} assume !false; {3161#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-15 15:01:16,159 INFO L290 TraceCheckUtils]: 31: Hoare triple {2985#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {3161#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-15 15:01:16,159 INFO L290 TraceCheckUtils]: 30: Hoare triple {2985#true} assume !false; {2985#true} is VALID [2022-04-15 15:01:16,160 INFO L290 TraceCheckUtils]: 29: Hoare triple {2985#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {2985#true} is VALID [2022-04-15 15:01:16,160 INFO L290 TraceCheckUtils]: 28: Hoare triple {2985#true} assume !false; {2985#true} is VALID [2022-04-15 15:01:16,160 INFO L290 TraceCheckUtils]: 27: Hoare triple {2985#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2985#true} is VALID [2022-04-15 15:01:16,160 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2985#true} {2985#true} #100#return; {2985#true} is VALID [2022-04-15 15:01:16,160 INFO L290 TraceCheckUtils]: 25: Hoare triple {2985#true} assume true; {2985#true} is VALID [2022-04-15 15:01:16,160 INFO L290 TraceCheckUtils]: 24: Hoare triple {2985#true} assume !(0 == ~cond); {2985#true} is VALID [2022-04-15 15:01:16,160 INFO L290 TraceCheckUtils]: 23: Hoare triple {2985#true} ~cond := #in~cond; {2985#true} is VALID [2022-04-15 15:01:16,160 INFO L272 TraceCheckUtils]: 22: Hoare triple {2985#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2985#true} is VALID [2022-04-15 15:01:16,160 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2985#true} {2985#true} #98#return; {2985#true} is VALID [2022-04-15 15:01:16,160 INFO L290 TraceCheckUtils]: 20: Hoare triple {2985#true} assume true; {2985#true} is VALID [2022-04-15 15:01:16,161 INFO L290 TraceCheckUtils]: 19: Hoare triple {2985#true} assume !(0 == ~cond); {2985#true} is VALID [2022-04-15 15:01:16,161 INFO L290 TraceCheckUtils]: 18: Hoare triple {2985#true} ~cond := #in~cond; {2985#true} is VALID [2022-04-15 15:01:16,161 INFO L272 TraceCheckUtils]: 17: Hoare triple {2985#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2985#true} is VALID [2022-04-15 15:01:16,161 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2985#true} {2985#true} #96#return; {2985#true} is VALID [2022-04-15 15:01:16,161 INFO L290 TraceCheckUtils]: 15: Hoare triple {2985#true} assume true; {2985#true} is VALID [2022-04-15 15:01:16,161 INFO L290 TraceCheckUtils]: 14: Hoare triple {2985#true} assume !(0 == ~cond); {2985#true} is VALID [2022-04-15 15:01:16,161 INFO L290 TraceCheckUtils]: 13: Hoare triple {2985#true} ~cond := #in~cond; {2985#true} is VALID [2022-04-15 15:01:16,161 INFO L272 TraceCheckUtils]: 12: Hoare triple {2985#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {2985#true} is VALID [2022-04-15 15:01:16,161 INFO L290 TraceCheckUtils]: 11: Hoare triple {2985#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2985#true} is VALID [2022-04-15 15:01:16,161 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2985#true} {2985#true} #94#return; {2985#true} is VALID [2022-04-15 15:01:16,162 INFO L290 TraceCheckUtils]: 9: Hoare triple {2985#true} assume true; {2985#true} is VALID [2022-04-15 15:01:16,162 INFO L290 TraceCheckUtils]: 8: Hoare triple {2985#true} assume !(0 == ~cond); {2985#true} is VALID [2022-04-15 15:01:16,162 INFO L290 TraceCheckUtils]: 7: Hoare triple {2985#true} ~cond := #in~cond; {2985#true} is VALID [2022-04-15 15:01:16,162 INFO L272 TraceCheckUtils]: 6: Hoare triple {2985#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {2985#true} is VALID [2022-04-15 15:01:16,162 INFO L290 TraceCheckUtils]: 5: Hoare triple {2985#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2985#true} is VALID [2022-04-15 15:01:16,162 INFO L272 TraceCheckUtils]: 4: Hoare triple {2985#true} call #t~ret6 := main(); {2985#true} is VALID [2022-04-15 15:01:16,162 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2985#true} {2985#true} #112#return; {2985#true} is VALID [2022-04-15 15:01:16,162 INFO L290 TraceCheckUtils]: 2: Hoare triple {2985#true} assume true; {2985#true} is VALID [2022-04-15 15:01:16,162 INFO L290 TraceCheckUtils]: 1: Hoare triple {2985#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(11, 2);call #Ultimate.allocInit(12, 3); {2985#true} is VALID [2022-04-15 15:01:16,163 INFO L272 TraceCheckUtils]: 0: Hoare triple {2985#true} call ULTIMATE.init(); {2985#true} is VALID [2022-04-15 15:01:16,163 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 36 trivial. 0 not checked. [2022-04-15 15:01:16,163 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:01:16,163 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [583287062] [2022-04-15 15:01:16,163 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:01:16,163 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1053055858] [2022-04-15 15:01:16,163 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1053055858] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-15 15:01:16,163 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-15 15:01:16,164 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [11] total 12 [2022-04-15 15:01:16,164 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:01:16,164 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1616334849] [2022-04-15 15:01:16,164 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1616334849] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:01:16,164 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:01:16,164 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 15:01:16,164 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [822102992] [2022-04-15 15:01:16,164 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:01:16,165 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 52 [2022-04-15 15:01:16,165 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:01:16,165 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-15 15:01:16,191 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:01:16,191 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 15:01:16,191 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:01:16,191 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 15:01:16,191 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=109, Unknown=0, NotChecked=0, Total=132 [2022-04-15 15:01:16,192 INFO L87 Difference]: Start difference. First operand 70 states and 94 transitions. Second operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-15 15:01:16,527 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:01:16,528 INFO L93 Difference]: Finished difference Result 77 states and 100 transitions. [2022-04-15 15:01:16,528 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 15:01:16,528 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 52 [2022-04-15 15:01:16,528 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:01:16,528 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-15 15:01:16,529 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-04-15 15:01:16,529 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-15 15:01:16,531 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-04-15 15:01:16,531 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 53 transitions. [2022-04-15 15:01:16,574 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:01:16,576 INFO L225 Difference]: With dead ends: 77 [2022-04-15 15:01:16,576 INFO L226 Difference]: Without dead ends: 75 [2022-04-15 15:01:16,576 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 104 GetRequests, 92 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=27, Invalid=129, Unknown=0, NotChecked=0, Total=156 [2022-04-15 15:01:16,577 INFO L913 BasicCegarLoop]: 40 mSDtfsCounter, 9 mSDsluCounter, 93 mSDsCounter, 0 mSdLazyCounter, 45 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 133 SdHoareTripleChecker+Invalid, 46 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 45 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-15 15:01:16,577 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [10 Valid, 133 Invalid, 46 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 45 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 15:01:16,577 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 75 states. [2022-04-15 15:01:16,706 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 75 to 74. [2022-04-15 15:01:16,706 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:01:16,707 INFO L82 GeneralOperation]: Start isEquivalent. First operand 75 states. Second operand has 74 states, 44 states have (on average 1.2045454545454546) internal successors, (53), 45 states have internal predecessors, (53), 23 states have call successors, (23), 7 states have call predecessors, (23), 6 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-15 15:01:16,708 INFO L74 IsIncluded]: Start isIncluded. First operand 75 states. Second operand has 74 states, 44 states have (on average 1.2045454545454546) internal successors, (53), 45 states have internal predecessors, (53), 23 states have call successors, (23), 7 states have call predecessors, (23), 6 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-15 15:01:16,708 INFO L87 Difference]: Start difference. First operand 75 states. Second operand has 74 states, 44 states have (on average 1.2045454545454546) internal successors, (53), 45 states have internal predecessors, (53), 23 states have call successors, (23), 7 states have call predecessors, (23), 6 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-15 15:01:16,711 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:01:16,711 INFO L93 Difference]: Finished difference Result 75 states and 98 transitions. [2022-04-15 15:01:16,711 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 98 transitions. [2022-04-15 15:01:16,711 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:01:16,711 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:01:16,712 INFO L74 IsIncluded]: Start isIncluded. First operand has 74 states, 44 states have (on average 1.2045454545454546) internal successors, (53), 45 states have internal predecessors, (53), 23 states have call successors, (23), 7 states have call predecessors, (23), 6 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) Second operand 75 states. [2022-04-15 15:01:16,712 INFO L87 Difference]: Start difference. First operand has 74 states, 44 states have (on average 1.2045454545454546) internal successors, (53), 45 states have internal predecessors, (53), 23 states have call successors, (23), 7 states have call predecessors, (23), 6 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) Second operand 75 states. [2022-04-15 15:01:16,715 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:01:16,715 INFO L93 Difference]: Finished difference Result 75 states and 98 transitions. [2022-04-15 15:01:16,715 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 98 transitions. [2022-04-15 15:01:16,716 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:01:16,716 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:01:16,716 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:01:16,716 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:01:16,716 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 74 states, 44 states have (on average 1.2045454545454546) internal successors, (53), 45 states have internal predecessors, (53), 23 states have call successors, (23), 7 states have call predecessors, (23), 6 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-15 15:01:16,719 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 74 states and 97 transitions. [2022-04-15 15:01:16,719 INFO L78 Accepts]: Start accepts. Automaton has 74 states and 97 transitions. Word has length 52 [2022-04-15 15:01:16,719 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:01:16,719 INFO L478 AbstractCegarLoop]: Abstraction has 74 states and 97 transitions. [2022-04-15 15:01:16,719 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-15 15:01:16,720 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 74 states and 97 transitions. [2022-04-15 15:01:16,854 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:01:16,854 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 97 transitions. [2022-04-15 15:01:16,855 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 65 [2022-04-15 15:01:16,855 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:01:16,855 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 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, 1, 1, 1, 1, 1, 1] [2022-04-15 15:01:16,873 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-15 15:01:17,056 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:01:17,056 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:01:17,056 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:01:17,056 INFO L85 PathProgramCache]: Analyzing trace with hash 188363668, now seen corresponding path program 1 times [2022-04-15 15:01:17,057 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:01:17,057 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [353190918] [2022-04-15 15:01:17,057 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:01:17,057 INFO L85 PathProgramCache]: Analyzing trace with hash 188363668, now seen corresponding path program 2 times [2022-04-15 15:01:17,057 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:01:17,057 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [146531717] [2022-04-15 15:01:17,058 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:01:17,058 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:01:17,077 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:01:17,077 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1034353433] [2022-04-15 15:01:17,078 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 15:01:17,078 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:01:17,078 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:01:17,091 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-15 15:01:17,093 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-15 15:01:17,142 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 15:01:17,142 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:01:17,143 INFO L263 TraceCheckSpWp]: Trace formula consists of 177 conjuncts, 51 conjunts are in the unsatisfiable core [2022-04-15 15:01:17,156 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:01:17,157 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:01:19,163 INFO L272 TraceCheckUtils]: 0: Hoare triple {3762#true} call ULTIMATE.init(); {3762#true} is VALID [2022-04-15 15:01:19,163 INFO L290 TraceCheckUtils]: 1: Hoare triple {3762#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(11, 2);call #Ultimate.allocInit(12, 3); {3762#true} is VALID [2022-04-15 15:01:19,163 INFO L290 TraceCheckUtils]: 2: Hoare triple {3762#true} assume true; {3762#true} is VALID [2022-04-15 15:01:19,163 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3762#true} {3762#true} #112#return; {3762#true} is VALID [2022-04-15 15:01:19,163 INFO L272 TraceCheckUtils]: 4: Hoare triple {3762#true} call #t~ret6 := main(); {3762#true} is VALID [2022-04-15 15:01:19,163 INFO L290 TraceCheckUtils]: 5: Hoare triple {3762#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {3762#true} is VALID [2022-04-15 15:01:19,163 INFO L272 TraceCheckUtils]: 6: Hoare triple {3762#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {3762#true} is VALID [2022-04-15 15:01:19,164 INFO L290 TraceCheckUtils]: 7: Hoare triple {3762#true} ~cond := #in~cond; {3788#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 15:01:19,164 INFO L290 TraceCheckUtils]: 8: Hoare triple {3788#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3792#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:01:19,164 INFO L290 TraceCheckUtils]: 9: Hoare triple {3792#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3792#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:01:19,165 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3792#(not (= |assume_abort_if_not_#in~cond| 0))} {3762#true} #94#return; {3799#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-15 15:01:19,165 INFO L290 TraceCheckUtils]: 11: Hoare triple {3799#(and (<= 0 main_~x~0) (<= main_~x~0 1))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3799#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-15 15:01:19,165 INFO L272 TraceCheckUtils]: 12: Hoare triple {3799#(and (<= 0 main_~x~0) (<= main_~x~0 1))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {3762#true} is VALID [2022-04-15 15:01:19,165 INFO L290 TraceCheckUtils]: 13: Hoare triple {3762#true} ~cond := #in~cond; {3788#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 15:01:19,166 INFO L290 TraceCheckUtils]: 14: Hoare triple {3788#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3792#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:01:19,166 INFO L290 TraceCheckUtils]: 15: Hoare triple {3792#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3792#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:01:19,167 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3792#(not (= |assume_abort_if_not_#in~cond| 0))} {3799#(and (<= 0 main_~x~0) (<= main_~x~0 1))} #96#return; {3818#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} is VALID [2022-04-15 15:01:19,167 INFO L272 TraceCheckUtils]: 17: Hoare triple {3818#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3762#true} is VALID [2022-04-15 15:01:19,167 INFO L290 TraceCheckUtils]: 18: Hoare triple {3762#true} ~cond := #in~cond; {3762#true} is VALID [2022-04-15 15:01:19,167 INFO L290 TraceCheckUtils]: 19: Hoare triple {3762#true} assume !(0 == ~cond); {3762#true} is VALID [2022-04-15 15:01:19,167 INFO L290 TraceCheckUtils]: 20: Hoare triple {3762#true} assume true; {3762#true} is VALID [2022-04-15 15:01:19,167 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3762#true} {3818#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} #98#return; {3818#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} is VALID [2022-04-15 15:01:19,168 INFO L272 TraceCheckUtils]: 22: Hoare triple {3818#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3762#true} is VALID [2022-04-15 15:01:19,168 INFO L290 TraceCheckUtils]: 23: Hoare triple {3762#true} ~cond := #in~cond; {3762#true} is VALID [2022-04-15 15:01:19,168 INFO L290 TraceCheckUtils]: 24: Hoare triple {3762#true} assume !(0 == ~cond); {3762#true} is VALID [2022-04-15 15:01:19,168 INFO L290 TraceCheckUtils]: 25: Hoare triple {3762#true} assume true; {3762#true} is VALID [2022-04-15 15:01:19,168 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3762#true} {3818#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} #100#return; {3818#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} is VALID [2022-04-15 15:01:19,169 INFO L290 TraceCheckUtils]: 27: Hoare triple {3818#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {3852#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~a~0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-15 15:01:19,169 INFO L290 TraceCheckUtils]: 28: Hoare triple {3852#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~a~0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} assume !false; {3852#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~a~0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-15 15:01:19,170 INFO L290 TraceCheckUtils]: 29: Hoare triple {3852#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~a~0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {3859#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-15 15:01:19,171 INFO L290 TraceCheckUtils]: 30: Hoare triple {3859#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} assume !false; {3859#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-15 15:01:19,171 INFO L290 TraceCheckUtils]: 31: Hoare triple {3859#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {3866#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~v~0 main_~b~0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 15:01:19,172 INFO L290 TraceCheckUtils]: 32: Hoare triple {3866#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~v~0 main_~b~0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {3866#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~v~0 main_~b~0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 15:01:19,172 INFO L272 TraceCheckUtils]: 33: Hoare triple {3866#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~v~0 main_~b~0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3762#true} is VALID [2022-04-15 15:01:19,172 INFO L290 TraceCheckUtils]: 34: Hoare triple {3762#true} ~cond := #in~cond; {3762#true} is VALID [2022-04-15 15:01:19,172 INFO L290 TraceCheckUtils]: 35: Hoare triple {3762#true} assume !(0 == ~cond); {3762#true} is VALID [2022-04-15 15:01:19,172 INFO L290 TraceCheckUtils]: 36: Hoare triple {3762#true} assume true; {3762#true} is VALID [2022-04-15 15:01:19,173 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3762#true} {3866#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~v~0 main_~b~0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} #102#return; {3866#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~v~0 main_~b~0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 15:01:19,173 INFO L272 TraceCheckUtils]: 38: Hoare triple {3866#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~v~0 main_~b~0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3762#true} is VALID [2022-04-15 15:01:19,173 INFO L290 TraceCheckUtils]: 39: Hoare triple {3762#true} ~cond := #in~cond; {3891#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:01:19,174 INFO L290 TraceCheckUtils]: 40: Hoare triple {3891#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3895#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:01:19,174 INFO L290 TraceCheckUtils]: 41: Hoare triple {3895#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3895#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:01:19,175 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {3895#(not (= |__VERIFIER_assert_#in~cond| 0))} {3866#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~v~0 main_~b~0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} #104#return; {3866#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~v~0 main_~b~0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 15:01:19,175 INFO L272 TraceCheckUtils]: 43: Hoare triple {3866#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~v~0 main_~b~0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {3762#true} is VALID [2022-04-15 15:01:19,175 INFO L290 TraceCheckUtils]: 44: Hoare triple {3762#true} ~cond := #in~cond; {3762#true} is VALID [2022-04-15 15:01:19,175 INFO L290 TraceCheckUtils]: 45: Hoare triple {3762#true} assume !(0 == ~cond); {3762#true} is VALID [2022-04-15 15:01:19,175 INFO L290 TraceCheckUtils]: 46: Hoare triple {3762#true} assume true; {3762#true} is VALID [2022-04-15 15:01:19,176 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {3762#true} {3866#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~v~0 main_~b~0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} #106#return; {3866#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~v~0 main_~b~0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 15:01:19,176 INFO L272 TraceCheckUtils]: 48: Hoare triple {3866#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~v~0 main_~b~0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {3762#true} is VALID [2022-04-15 15:01:19,176 INFO L290 TraceCheckUtils]: 49: Hoare triple {3762#true} ~cond := #in~cond; {3762#true} is VALID [2022-04-15 15:01:19,176 INFO L290 TraceCheckUtils]: 50: Hoare triple {3762#true} assume !(0 == ~cond); {3762#true} is VALID [2022-04-15 15:01:19,176 INFO L290 TraceCheckUtils]: 51: Hoare triple {3762#true} assume true; {3762#true} is VALID [2022-04-15 15:01:19,177 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {3762#true} {3866#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~v~0 main_~b~0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} #108#return; {3866#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~v~0 main_~b~0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 15:01:19,177 INFO L290 TraceCheckUtils]: 53: Hoare triple {3866#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~v~0 main_~b~0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !(~c~0 >= 2 * ~v~0); {3935#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (< (div (+ (- 1) (* (- 1) main_~b~0)) (- 2)) (+ main_~b~0 1)) (= main_~p~0 1))} is VALID [2022-04-15 15:01:19,178 INFO L290 TraceCheckUtils]: 54: Hoare triple {3935#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (< (div (+ (- 1) (* (- 1) main_~b~0)) (- 2)) (+ main_~b~0 1)) (= main_~p~0 1))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {3939#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (< (div (+ (- 1) (* (- 1) main_~b~0)) (- 2)) (+ main_~b~0 1)) (= main_~p~0 1))} is VALID [2022-04-15 15:01:19,183 INFO L290 TraceCheckUtils]: 55: Hoare triple {3939#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (< (div (+ (- 1) (* (- 1) main_~b~0)) (- 2)) (+ main_~b~0 1)) (= main_~p~0 1))} assume !false; {3939#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (< (div (+ (- 1) (* (- 1) main_~b~0)) (- 2)) (+ main_~b~0 1)) (= main_~p~0 1))} is VALID [2022-04-15 15:01:19,183 INFO L290 TraceCheckUtils]: 56: Hoare triple {3939#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (< (div (+ (- 1) (* (- 1) main_~b~0)) (- 2)) (+ main_~b~0 1)) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {3939#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (< (div (+ (- 1) (* (- 1) main_~b~0)) (- 2)) (+ main_~b~0 1)) (= main_~p~0 1))} is VALID [2022-04-15 15:01:19,184 INFO L290 TraceCheckUtils]: 57: Hoare triple {3939#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (< (div (+ (- 1) (* (- 1) main_~b~0)) (- 2)) (+ main_~b~0 1)) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {3949#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~p~0 0) (<= main_~x~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= main_~a~0 main_~x~0) (< (div (+ (- 1) (* (- 1) main_~a~0)) (- 2)) (+ main_~a~0 1)))} is VALID [2022-04-15 15:01:19,184 INFO L290 TraceCheckUtils]: 58: Hoare triple {3949#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~p~0 0) (<= main_~x~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= main_~a~0 main_~x~0) (< (div (+ (- 1) (* (- 1) main_~a~0)) (- 2)) (+ main_~a~0 1)))} assume !false; {3949#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~p~0 0) (<= main_~x~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= main_~a~0 main_~x~0) (< (div (+ (- 1) (* (- 1) main_~a~0)) (- 2)) (+ main_~a~0 1)))} is VALID [2022-04-15 15:01:19,185 INFO L290 TraceCheckUtils]: 59: Hoare triple {3949#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~p~0 0) (<= main_~x~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= main_~a~0 main_~x~0) (< (div (+ (- 1) (* (- 1) main_~a~0)) (- 2)) (+ main_~a~0 1)))} assume !(0 != ~b~0); {3949#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~p~0 0) (<= main_~x~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= main_~a~0 main_~x~0) (< (div (+ (- 1) (* (- 1) main_~a~0)) (- 2)) (+ main_~a~0 1)))} is VALID [2022-04-15 15:01:19,186 INFO L272 TraceCheckUtils]: 60: Hoare triple {3949#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~p~0 0) (<= main_~x~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= main_~a~0 main_~x~0) (< (div (+ (- 1) (* (- 1) main_~a~0)) (- 2)) (+ main_~a~0 1)))} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {3959#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:01:19,186 INFO L290 TraceCheckUtils]: 61: Hoare triple {3959#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3963#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:01:19,187 INFO L290 TraceCheckUtils]: 62: Hoare triple {3963#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3763#false} is VALID [2022-04-15 15:01:19,187 INFO L290 TraceCheckUtils]: 63: Hoare triple {3763#false} assume !false; {3763#false} is VALID [2022-04-15 15:01:19,187 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 10 proven. 23 refuted. 0 times theorem prover too weak. 27 trivial. 0 not checked. [2022-04-15 15:01:19,187 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:01:31,513 INFO L290 TraceCheckUtils]: 63: Hoare triple {3763#false} assume !false; {3763#false} is VALID [2022-04-15 15:01:31,514 INFO L290 TraceCheckUtils]: 62: Hoare triple {3963#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3763#false} is VALID [2022-04-15 15:01:31,514 INFO L290 TraceCheckUtils]: 61: Hoare triple {3959#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3963#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:01:31,515 INFO L272 TraceCheckUtils]: 60: Hoare triple {3979#(= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {3959#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:01:31,516 INFO L290 TraceCheckUtils]: 59: Hoare triple {3979#(= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !(0 != ~b~0); {3979#(= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 15:01:31,516 INFO L290 TraceCheckUtils]: 58: Hoare triple {3979#(= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {3979#(= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 15:01:31,730 INFO L290 TraceCheckUtils]: 57: Hoare triple {3989#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {3979#(= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 15:01:31,731 INFO L290 TraceCheckUtils]: 56: Hoare triple {3989#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !(~c~0 >= ~b~0); {3989#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 15:01:31,732 INFO L290 TraceCheckUtils]: 55: Hoare triple {3989#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {3989#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 15:01:31,757 INFO L290 TraceCheckUtils]: 54: Hoare triple {3999#(= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {3989#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 15:01:31,757 INFO L290 TraceCheckUtils]: 53: Hoare triple {4003#(or (<= (* main_~v~0 2) main_~c~0) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !(~c~0 >= 2 * ~v~0); {3999#(= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 15:01:31,758 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {3762#true} {4003#(or (<= (* main_~v~0 2) main_~c~0) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #108#return; {4003#(or (<= (* main_~v~0 2) main_~c~0) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 15:01:31,758 INFO L290 TraceCheckUtils]: 51: Hoare triple {3762#true} assume true; {3762#true} is VALID [2022-04-15 15:01:31,758 INFO L290 TraceCheckUtils]: 50: Hoare triple {3762#true} assume !(0 == ~cond); {3762#true} is VALID [2022-04-15 15:01:31,758 INFO L290 TraceCheckUtils]: 49: Hoare triple {3762#true} ~cond := #in~cond; {3762#true} is VALID [2022-04-15 15:01:31,759 INFO L272 TraceCheckUtils]: 48: Hoare triple {4003#(or (<= (* main_~v~0 2) main_~c~0) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {3762#true} is VALID [2022-04-15 15:01:31,759 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {3762#true} {4003#(or (<= (* main_~v~0 2) main_~c~0) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #106#return; {4003#(or (<= (* main_~v~0 2) main_~c~0) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 15:01:31,759 INFO L290 TraceCheckUtils]: 46: Hoare triple {3762#true} assume true; {3762#true} is VALID [2022-04-15 15:01:31,759 INFO L290 TraceCheckUtils]: 45: Hoare triple {3762#true} assume !(0 == ~cond); {3762#true} is VALID [2022-04-15 15:01:31,760 INFO L290 TraceCheckUtils]: 44: Hoare triple {3762#true} ~cond := #in~cond; {3762#true} is VALID [2022-04-15 15:01:31,760 INFO L272 TraceCheckUtils]: 43: Hoare triple {4003#(or (<= (* main_~v~0 2) main_~c~0) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {3762#true} is VALID [2022-04-15 15:01:31,761 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {3895#(not (= |__VERIFIER_assert_#in~cond| 0))} {4037#(or (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #104#return; {4003#(or (<= (* main_~v~0 2) main_~c~0) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 15:01:31,761 INFO L290 TraceCheckUtils]: 41: Hoare triple {3895#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3895#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:01:31,761 INFO L290 TraceCheckUtils]: 40: Hoare triple {4047#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3895#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:01:31,762 INFO L290 TraceCheckUtils]: 39: Hoare triple {3762#true} ~cond := #in~cond; {4047#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 15:01:31,762 INFO L272 TraceCheckUtils]: 38: Hoare triple {4037#(or (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3762#true} is VALID [2022-04-15 15:01:31,762 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3762#true} {4037#(or (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #102#return; {4037#(or (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 15:01:31,762 INFO L290 TraceCheckUtils]: 36: Hoare triple {3762#true} assume true; {3762#true} is VALID [2022-04-15 15:01:31,763 INFO L290 TraceCheckUtils]: 35: Hoare triple {3762#true} assume !(0 == ~cond); {3762#true} is VALID [2022-04-15 15:01:31,763 INFO L290 TraceCheckUtils]: 34: Hoare triple {3762#true} ~cond := #in~cond; {3762#true} is VALID [2022-04-15 15:01:31,763 INFO L272 TraceCheckUtils]: 33: Hoare triple {4037#(or (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3762#true} is VALID [2022-04-15 15:01:31,763 INFO L290 TraceCheckUtils]: 32: Hoare triple {4037#(or (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !false; {4037#(or (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 15:01:31,764 INFO L290 TraceCheckUtils]: 31: Hoare triple {4072#(or (<= main_~b~0 (div main_~c~0 2)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) main_~b~0 (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (<= main_~b~0 main_~c~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {4037#(or (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 15:01:31,765 INFO L290 TraceCheckUtils]: 30: Hoare triple {4072#(or (<= main_~b~0 (div main_~c~0 2)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) main_~b~0 (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (<= main_~b~0 main_~c~0)))} assume !false; {4072#(or (<= main_~b~0 (div main_~c~0 2)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) main_~b~0 (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-15 15:01:31,766 INFO L290 TraceCheckUtils]: 29: Hoare triple {4079#(or (<= main_~b~0 (+ (div (+ (- 2) main_~b~0) 2) 1)) (= (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2)) (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (< main_~a~0 main_~b~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {4072#(or (<= main_~b~0 (div main_~c~0 2)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) main_~b~0 (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-15 15:01:31,766 INFO L290 TraceCheckUtils]: 28: Hoare triple {4079#(or (<= main_~b~0 (+ (div (+ (- 2) main_~b~0) 2) 1)) (= (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2)) (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (< main_~a~0 main_~b~0))} assume !false; {4079#(or (<= main_~b~0 (+ (div (+ (- 2) main_~b~0) 2) 1)) (= (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2)) (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (< main_~a~0 main_~b~0))} is VALID [2022-04-15 15:01:31,767 INFO L290 TraceCheckUtils]: 27: Hoare triple {4086#(or (< main_~x~0 main_~y~0) (= (* main_~y~0 2) (+ main_~y~0 main_~x~0)) (<= main_~y~0 (+ (div (+ (- 2) main_~y~0) 2) 1)))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {4079#(or (<= main_~b~0 (+ (div (+ (- 2) main_~b~0) 2) 1)) (= (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2)) (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (< main_~a~0 main_~b~0))} is VALID [2022-04-15 15:01:31,767 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3762#true} {4086#(or (< main_~x~0 main_~y~0) (= (* main_~y~0 2) (+ main_~y~0 main_~x~0)) (<= main_~y~0 (+ (div (+ (- 2) main_~y~0) 2) 1)))} #100#return; {4086#(or (< main_~x~0 main_~y~0) (= (* main_~y~0 2) (+ main_~y~0 main_~x~0)) (<= main_~y~0 (+ (div (+ (- 2) main_~y~0) 2) 1)))} is VALID [2022-04-15 15:01:31,767 INFO L290 TraceCheckUtils]: 25: Hoare triple {3762#true} assume true; {3762#true} is VALID [2022-04-15 15:01:31,767 INFO L290 TraceCheckUtils]: 24: Hoare triple {3762#true} assume !(0 == ~cond); {3762#true} is VALID [2022-04-15 15:01:31,767 INFO L290 TraceCheckUtils]: 23: Hoare triple {3762#true} ~cond := #in~cond; {3762#true} is VALID [2022-04-15 15:01:31,767 INFO L272 TraceCheckUtils]: 22: Hoare triple {4086#(or (< main_~x~0 main_~y~0) (= (* main_~y~0 2) (+ main_~y~0 main_~x~0)) (<= main_~y~0 (+ (div (+ (- 2) main_~y~0) 2) 1)))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3762#true} is VALID [2022-04-15 15:01:31,768 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3762#true} {4086#(or (< main_~x~0 main_~y~0) (= (* main_~y~0 2) (+ main_~y~0 main_~x~0)) (<= main_~y~0 (+ (div (+ (- 2) main_~y~0) 2) 1)))} #98#return; {4086#(or (< main_~x~0 main_~y~0) (= (* main_~y~0 2) (+ main_~y~0 main_~x~0)) (<= main_~y~0 (+ (div (+ (- 2) main_~y~0) 2) 1)))} is VALID [2022-04-15 15:01:31,768 INFO L290 TraceCheckUtils]: 20: Hoare triple {3762#true} assume true; {3762#true} is VALID [2022-04-15 15:01:31,768 INFO L290 TraceCheckUtils]: 19: Hoare triple {3762#true} assume !(0 == ~cond); {3762#true} is VALID [2022-04-15 15:01:31,768 INFO L290 TraceCheckUtils]: 18: Hoare triple {3762#true} ~cond := #in~cond; {3762#true} is VALID [2022-04-15 15:01:31,768 INFO L272 TraceCheckUtils]: 17: Hoare triple {4086#(or (< main_~x~0 main_~y~0) (= (* main_~y~0 2) (+ main_~y~0 main_~x~0)) (<= main_~y~0 (+ (div (+ (- 2) main_~y~0) 2) 1)))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3762#true} is VALID [2022-04-15 15:01:31,769 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3762#true} {4120#(<= main_~x~0 1)} #96#return; {4086#(or (< main_~x~0 main_~y~0) (= (* main_~y~0 2) (+ main_~y~0 main_~x~0)) (<= main_~y~0 (+ (div (+ (- 2) main_~y~0) 2) 1)))} is VALID [2022-04-15 15:01:31,769 INFO L290 TraceCheckUtils]: 15: Hoare triple {3762#true} assume true; {3762#true} is VALID [2022-04-15 15:01:31,769 INFO L290 TraceCheckUtils]: 14: Hoare triple {3762#true} assume !(0 == ~cond); {3762#true} is VALID [2022-04-15 15:01:31,769 INFO L290 TraceCheckUtils]: 13: Hoare triple {3762#true} ~cond := #in~cond; {3762#true} is VALID [2022-04-15 15:01:31,769 INFO L272 TraceCheckUtils]: 12: Hoare triple {4120#(<= main_~x~0 1)} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {3762#true} is VALID [2022-04-15 15:01:31,769 INFO L290 TraceCheckUtils]: 11: Hoare triple {4120#(<= main_~x~0 1)} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4120#(<= main_~x~0 1)} is VALID [2022-04-15 15:01:31,770 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3792#(not (= |assume_abort_if_not_#in~cond| 0))} {3762#true} #94#return; {4120#(<= main_~x~0 1)} is VALID [2022-04-15 15:01:31,770 INFO L290 TraceCheckUtils]: 9: Hoare triple {3792#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3792#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:01:31,771 INFO L290 TraceCheckUtils]: 8: Hoare triple {4148#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {3792#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:01:31,772 INFO L290 TraceCheckUtils]: 7: Hoare triple {3762#true} ~cond := #in~cond; {4148#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-15 15:01:31,772 INFO L272 TraceCheckUtils]: 6: Hoare triple {3762#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {3762#true} is VALID [2022-04-15 15:01:31,772 INFO L290 TraceCheckUtils]: 5: Hoare triple {3762#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {3762#true} is VALID [2022-04-15 15:01:31,772 INFO L272 TraceCheckUtils]: 4: Hoare triple {3762#true} call #t~ret6 := main(); {3762#true} is VALID [2022-04-15 15:01:31,772 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3762#true} {3762#true} #112#return; {3762#true} is VALID [2022-04-15 15:01:31,772 INFO L290 TraceCheckUtils]: 2: Hoare triple {3762#true} assume true; {3762#true} is VALID [2022-04-15 15:01:31,772 INFO L290 TraceCheckUtils]: 1: Hoare triple {3762#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(11, 2);call #Ultimate.allocInit(12, 3); {3762#true} is VALID [2022-04-15 15:01:31,772 INFO L272 TraceCheckUtils]: 0: Hoare triple {3762#true} call ULTIMATE.init(); {3762#true} is VALID [2022-04-15 15:01:31,772 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 10 proven. 20 refuted. 0 times theorem prover too weak. 30 trivial. 0 not checked. [2022-04-15 15:01:31,772 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:01:31,773 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [146531717] [2022-04-15 15:01:31,773 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:01:31,773 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1034353433] [2022-04-15 15:01:31,773 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1034353433] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 15:01:31,773 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 15:01:31,773 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 17] total 27 [2022-04-15 15:01:31,773 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:01:31,773 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [353190918] [2022-04-15 15:01:31,773 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [353190918] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:01:31,773 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:01:31,773 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-15 15:01:31,773 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1057263608] [2022-04-15 15:01:31,773 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:01:31,774 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 2.0) internal successors, (32), 14 states have internal predecessors, (32), 5 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) Word has length 64 [2022-04-15 15:01:31,774 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:01:31,774 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 16 states have (on average 2.0) internal successors, (32), 14 states have internal predecessors, (32), 5 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-15 15:01:31,847 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-15 15:01:31,847 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-15 15:01:31,847 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:01:31,848 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-15 15:01:31,848 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=107, Invalid=595, Unknown=0, NotChecked=0, Total=702 [2022-04-15 15:01:31,848 INFO L87 Difference]: Start difference. First operand 74 states and 97 transitions. Second operand has 16 states, 16 states have (on average 2.0) internal successors, (32), 14 states have internal predecessors, (32), 5 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-15 15:01:34,440 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:01:34,440 INFO L93 Difference]: Finished difference Result 124 states and 169 transitions. [2022-04-15 15:01:34,441 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-15 15:01:34,441 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 2.0) internal successors, (32), 14 states have internal predecessors, (32), 5 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) Word has length 64 [2022-04-15 15:01:34,443 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:01:34,443 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 2.0) internal successors, (32), 14 states have internal predecessors, (32), 5 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-15 15:01:34,448 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 129 transitions. [2022-04-15 15:01:34,448 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 2.0) internal successors, (32), 14 states have internal predecessors, (32), 5 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-15 15:01:34,453 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 129 transitions. [2022-04-15 15:01:34,453 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 129 transitions. [2022-04-15 15:01:34,596 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 129 edges. 129 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:01:34,598 INFO L225 Difference]: With dead ends: 124 [2022-04-15 15:01:34,598 INFO L226 Difference]: Without dead ends: 121 [2022-04-15 15:01:34,599 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 134 GetRequests, 101 SyntacticMatches, 1 SemanticMatches, 32 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 222 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=176, Invalid=946, Unknown=0, NotChecked=0, Total=1122 [2022-04-15 15:01:34,600 INFO L913 BasicCegarLoop]: 46 mSDtfsCounter, 79 mSDsluCounter, 250 mSDsCounter, 0 mSdLazyCounter, 640 mSolverCounterSat, 57 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 92 SdHoareTripleChecker+Valid, 296 SdHoareTripleChecker+Invalid, 697 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 57 IncrementalHoareTripleChecker+Valid, 640 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-15 15:01:34,600 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [92 Valid, 296 Invalid, 697 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [57 Valid, 640 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-15 15:01:34,600 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 121 states. [2022-04-15 15:01:34,927 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 121 to 111. [2022-04-15 15:01:34,927 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:01:34,928 INFO L82 GeneralOperation]: Start isEquivalent. First operand 121 states. Second operand has 111 states, 67 states have (on average 1.2238805970149254) internal successors, (82), 68 states have internal predecessors, (82), 35 states have call successors, (35), 9 states have call predecessors, (35), 8 states have return successors, (33), 33 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-15 15:01:34,928 INFO L74 IsIncluded]: Start isIncluded. First operand 121 states. Second operand has 111 states, 67 states have (on average 1.2238805970149254) internal successors, (82), 68 states have internal predecessors, (82), 35 states have call successors, (35), 9 states have call predecessors, (35), 8 states have return successors, (33), 33 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-15 15:01:34,928 INFO L87 Difference]: Start difference. First operand 121 states. Second operand has 111 states, 67 states have (on average 1.2238805970149254) internal successors, (82), 68 states have internal predecessors, (82), 35 states have call successors, (35), 9 states have call predecessors, (35), 8 states have return successors, (33), 33 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-15 15:01:34,933 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:01:34,933 INFO L93 Difference]: Finished difference Result 121 states and 165 transitions. [2022-04-15 15:01:34,933 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 165 transitions. [2022-04-15 15:01:34,934 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:01:34,934 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:01:34,934 INFO L74 IsIncluded]: Start isIncluded. First operand has 111 states, 67 states have (on average 1.2238805970149254) internal successors, (82), 68 states have internal predecessors, (82), 35 states have call successors, (35), 9 states have call predecessors, (35), 8 states have return successors, (33), 33 states have call predecessors, (33), 33 states have call successors, (33) Second operand 121 states. [2022-04-15 15:01:34,935 INFO L87 Difference]: Start difference. First operand has 111 states, 67 states have (on average 1.2238805970149254) internal successors, (82), 68 states have internal predecessors, (82), 35 states have call successors, (35), 9 states have call predecessors, (35), 8 states have return successors, (33), 33 states have call predecessors, (33), 33 states have call successors, (33) Second operand 121 states. [2022-04-15 15:01:34,939 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:01:34,939 INFO L93 Difference]: Finished difference Result 121 states and 165 transitions. [2022-04-15 15:01:34,939 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 165 transitions. [2022-04-15 15:01:34,940 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:01:34,940 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:01:34,940 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:01:34,940 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:01:34,941 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 111 states, 67 states have (on average 1.2238805970149254) internal successors, (82), 68 states have internal predecessors, (82), 35 states have call successors, (35), 9 states have call predecessors, (35), 8 states have return successors, (33), 33 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-15 15:01:34,945 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 111 states to 111 states and 150 transitions. [2022-04-15 15:01:34,945 INFO L78 Accepts]: Start accepts. Automaton has 111 states and 150 transitions. Word has length 64 [2022-04-15 15:01:34,945 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:01:34,945 INFO L478 AbstractCegarLoop]: Abstraction has 111 states and 150 transitions. [2022-04-15 15:01:34,946 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 16 states have (on average 2.0) internal successors, (32), 14 states have internal predecessors, (32), 5 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-15 15:01:34,946 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 111 states and 150 transitions. [2022-04-15 15:01:35,183 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 150 edges. 150 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:01:35,183 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 150 transitions. [2022-04-15 15:01:35,184 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 70 [2022-04-15 15:01:35,184 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:01:35,184 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 3, 3, 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, 1, 1, 1] [2022-04-15 15:01:35,200 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-15 15:01:35,384 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:01:35,384 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:01:35,385 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:01:35,385 INFO L85 PathProgramCache]: Analyzing trace with hash -1914971202, now seen corresponding path program 3 times [2022-04-15 15:01:35,385 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:01:35,385 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1934394988] [2022-04-15 15:01:35,385 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:01:35,385 INFO L85 PathProgramCache]: Analyzing trace with hash -1914971202, now seen corresponding path program 4 times [2022-04-15 15:01:35,385 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:01:35,386 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1463437735] [2022-04-15 15:01:35,386 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:01:35,386 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:01:35,399 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:01:35,399 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1526342575] [2022-04-15 15:01:35,400 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 15:01:35,400 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:01:35,400 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:01:35,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-15 15:01:35,405 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-15 15:01:35,447 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 15:01:35,447 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:01:35,447 INFO L263 TraceCheckSpWp]: Trace formula consists of 168 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-15 15:01:35,459 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:01:35,460 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:01:35,712 INFO L272 TraceCheckUtils]: 0: Hoare triple {4898#true} call ULTIMATE.init(); {4898#true} is VALID [2022-04-15 15:01:35,712 INFO L290 TraceCheckUtils]: 1: Hoare triple {4898#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(11, 2);call #Ultimate.allocInit(12, 3); {4898#true} is VALID [2022-04-15 15:01:35,712 INFO L290 TraceCheckUtils]: 2: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-15 15:01:35,712 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4898#true} {4898#true} #112#return; {4898#true} is VALID [2022-04-15 15:01:35,712 INFO L272 TraceCheckUtils]: 4: Hoare triple {4898#true} call #t~ret6 := main(); {4898#true} is VALID [2022-04-15 15:01:35,713 INFO L290 TraceCheckUtils]: 5: Hoare triple {4898#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {4898#true} is VALID [2022-04-15 15:01:35,713 INFO L272 TraceCheckUtils]: 6: Hoare triple {4898#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {4898#true} is VALID [2022-04-15 15:01:35,713 INFO L290 TraceCheckUtils]: 7: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-15 15:01:35,713 INFO L290 TraceCheckUtils]: 8: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-15 15:01:35,713 INFO L290 TraceCheckUtils]: 9: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-15 15:01:35,713 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4898#true} {4898#true} #94#return; {4898#true} is VALID [2022-04-15 15:01:35,713 INFO L290 TraceCheckUtils]: 11: Hoare triple {4898#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4898#true} is VALID [2022-04-15 15:01:35,713 INFO L272 TraceCheckUtils]: 12: Hoare triple {4898#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {4898#true} is VALID [2022-04-15 15:01:35,713 INFO L290 TraceCheckUtils]: 13: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-15 15:01:35,713 INFO L290 TraceCheckUtils]: 14: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-15 15:01:35,713 INFO L290 TraceCheckUtils]: 15: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-15 15:01:35,713 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4898#true} {4898#true} #96#return; {4898#true} is VALID [2022-04-15 15:01:35,713 INFO L272 TraceCheckUtils]: 17: Hoare triple {4898#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4898#true} is VALID [2022-04-15 15:01:35,713 INFO L290 TraceCheckUtils]: 18: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-15 15:01:35,713 INFO L290 TraceCheckUtils]: 19: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-15 15:01:35,713 INFO L290 TraceCheckUtils]: 20: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-15 15:01:35,714 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4898#true} {4898#true} #98#return; {4898#true} is VALID [2022-04-15 15:01:35,714 INFO L272 TraceCheckUtils]: 22: Hoare triple {4898#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4898#true} is VALID [2022-04-15 15:01:35,714 INFO L290 TraceCheckUtils]: 23: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-15 15:01:35,714 INFO L290 TraceCheckUtils]: 24: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-15 15:01:35,714 INFO L290 TraceCheckUtils]: 25: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-15 15:01:35,714 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4898#true} {4898#true} #100#return; {4898#true} is VALID [2022-04-15 15:01:35,714 INFO L290 TraceCheckUtils]: 27: Hoare triple {4898#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {4898#true} is VALID [2022-04-15 15:01:35,714 INFO L290 TraceCheckUtils]: 28: Hoare triple {4898#true} assume !false; {4898#true} is VALID [2022-04-15 15:01:35,714 INFO L290 TraceCheckUtils]: 29: Hoare triple {4898#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {4898#true} is VALID [2022-04-15 15:01:35,714 INFO L290 TraceCheckUtils]: 30: Hoare triple {4898#true} assume !false; {4898#true} is VALID [2022-04-15 15:01:35,714 INFO L290 TraceCheckUtils]: 31: Hoare triple {4898#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {4996#(<= main_~v~0 main_~b~0)} is VALID [2022-04-15 15:01:35,727 INFO L290 TraceCheckUtils]: 32: Hoare triple {4996#(<= main_~v~0 main_~b~0)} assume !false; {4996#(<= main_~v~0 main_~b~0)} is VALID [2022-04-15 15:01:35,727 INFO L272 TraceCheckUtils]: 33: Hoare triple {4996#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4898#true} is VALID [2022-04-15 15:01:35,727 INFO L290 TraceCheckUtils]: 34: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-15 15:01:35,727 INFO L290 TraceCheckUtils]: 35: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-15 15:01:35,728 INFO L290 TraceCheckUtils]: 36: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-15 15:01:35,728 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {4898#true} {4996#(<= main_~v~0 main_~b~0)} #102#return; {4996#(<= main_~v~0 main_~b~0)} is VALID [2022-04-15 15:01:35,728 INFO L272 TraceCheckUtils]: 38: Hoare triple {4996#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {4898#true} is VALID [2022-04-15 15:01:35,729 INFO L290 TraceCheckUtils]: 39: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-15 15:01:35,729 INFO L290 TraceCheckUtils]: 40: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-15 15:01:35,729 INFO L290 TraceCheckUtils]: 41: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-15 15:01:35,729 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {4898#true} {4996#(<= main_~v~0 main_~b~0)} #104#return; {4996#(<= main_~v~0 main_~b~0)} is VALID [2022-04-15 15:01:35,730 INFO L272 TraceCheckUtils]: 43: Hoare triple {4996#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {4898#true} is VALID [2022-04-15 15:01:35,730 INFO L290 TraceCheckUtils]: 44: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-15 15:01:35,730 INFO L290 TraceCheckUtils]: 45: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-15 15:01:35,730 INFO L290 TraceCheckUtils]: 46: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-15 15:01:35,731 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {4898#true} {4996#(<= main_~v~0 main_~b~0)} #106#return; {4996#(<= main_~v~0 main_~b~0)} is VALID [2022-04-15 15:01:35,731 INFO L272 TraceCheckUtils]: 48: Hoare triple {4996#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {4898#true} is VALID [2022-04-15 15:01:35,731 INFO L290 TraceCheckUtils]: 49: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-15 15:01:35,731 INFO L290 TraceCheckUtils]: 50: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-15 15:01:35,731 INFO L290 TraceCheckUtils]: 51: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-15 15:01:35,732 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {4898#true} {4996#(<= main_~v~0 main_~b~0)} #108#return; {4996#(<= main_~v~0 main_~b~0)} is VALID [2022-04-15 15:01:35,732 INFO L290 TraceCheckUtils]: 53: Hoare triple {4996#(<= main_~v~0 main_~b~0)} assume !(~c~0 >= 2 * ~v~0); {5063#(and (<= main_~v~0 main_~b~0) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-15 15:01:35,733 INFO L290 TraceCheckUtils]: 54: Hoare triple {5063#(and (<= main_~v~0 main_~b~0) (not (<= (* main_~v~0 2) main_~c~0)))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {5067#(< main_~c~0 main_~b~0)} is VALID [2022-04-15 15:01:35,733 INFO L290 TraceCheckUtils]: 55: Hoare triple {5067#(< main_~c~0 main_~b~0)} assume !false; {5067#(< main_~c~0 main_~b~0)} is VALID [2022-04-15 15:01:35,734 INFO L290 TraceCheckUtils]: 56: Hoare triple {5067#(< main_~c~0 main_~b~0)} assume !(~c~0 >= ~b~0); {5067#(< main_~c~0 main_~b~0)} is VALID [2022-04-15 15:01:35,734 INFO L290 TraceCheckUtils]: 57: Hoare triple {5067#(< main_~c~0 main_~b~0)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {5077#(< main_~b~0 main_~a~0)} is VALID [2022-04-15 15:01:35,735 INFO L290 TraceCheckUtils]: 58: Hoare triple {5077#(< main_~b~0 main_~a~0)} assume !false; {5077#(< main_~b~0 main_~a~0)} is VALID [2022-04-15 15:01:35,735 INFO L290 TraceCheckUtils]: 59: Hoare triple {5077#(< main_~b~0 main_~a~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {5084#(< main_~b~0 main_~c~0)} is VALID [2022-04-15 15:01:35,735 INFO L290 TraceCheckUtils]: 60: Hoare triple {5084#(< main_~b~0 main_~c~0)} assume !false; {5084#(< main_~b~0 main_~c~0)} is VALID [2022-04-15 15:01:35,736 INFO L290 TraceCheckUtils]: 61: Hoare triple {5084#(< main_~b~0 main_~c~0)} assume !(~c~0 >= ~b~0); {4899#false} is VALID [2022-04-15 15:01:35,736 INFO L290 TraceCheckUtils]: 62: Hoare triple {4899#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {4899#false} is VALID [2022-04-15 15:01:35,736 INFO L290 TraceCheckUtils]: 63: Hoare triple {4899#false} assume !false; {4899#false} is VALID [2022-04-15 15:01:35,736 INFO L290 TraceCheckUtils]: 64: Hoare triple {4899#false} assume !(0 != ~b~0); {4899#false} is VALID [2022-04-15 15:01:35,736 INFO L272 TraceCheckUtils]: 65: Hoare triple {4899#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {4899#false} is VALID [2022-04-15 15:01:35,736 INFO L290 TraceCheckUtils]: 66: Hoare triple {4899#false} ~cond := #in~cond; {4899#false} is VALID [2022-04-15 15:01:35,737 INFO L290 TraceCheckUtils]: 67: Hoare triple {4899#false} assume 0 == ~cond; {4899#false} is VALID [2022-04-15 15:01:35,737 INFO L290 TraceCheckUtils]: 68: Hoare triple {4899#false} assume !false; {4899#false} is VALID [2022-04-15 15:01:35,737 INFO L134 CoverageAnalysis]: Checked inductivity of 69 backedges. 19 proven. 2 refuted. 0 times theorem prover too weak. 48 trivial. 0 not checked. [2022-04-15 15:01:35,737 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:01:36,004 INFO L290 TraceCheckUtils]: 68: Hoare triple {4899#false} assume !false; {4899#false} is VALID [2022-04-15 15:01:36,005 INFO L290 TraceCheckUtils]: 67: Hoare triple {4899#false} assume 0 == ~cond; {4899#false} is VALID [2022-04-15 15:01:36,005 INFO L290 TraceCheckUtils]: 66: Hoare triple {4899#false} ~cond := #in~cond; {4899#false} is VALID [2022-04-15 15:01:36,005 INFO L272 TraceCheckUtils]: 65: Hoare triple {4899#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {4899#false} is VALID [2022-04-15 15:01:36,005 INFO L290 TraceCheckUtils]: 64: Hoare triple {4899#false} assume !(0 != ~b~0); {4899#false} is VALID [2022-04-15 15:01:36,005 INFO L290 TraceCheckUtils]: 63: Hoare triple {4899#false} assume !false; {4899#false} is VALID [2022-04-15 15:01:36,005 INFO L290 TraceCheckUtils]: 62: Hoare triple {4899#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {4899#false} is VALID [2022-04-15 15:01:36,005 INFO L290 TraceCheckUtils]: 61: Hoare triple {5133#(<= main_~b~0 main_~c~0)} assume !(~c~0 >= ~b~0); {4899#false} is VALID [2022-04-15 15:01:36,006 INFO L290 TraceCheckUtils]: 60: Hoare triple {5133#(<= main_~b~0 main_~c~0)} assume !false; {5133#(<= main_~b~0 main_~c~0)} is VALID [2022-04-15 15:01:36,006 INFO L290 TraceCheckUtils]: 59: Hoare triple {5140#(<= main_~b~0 main_~a~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {5133#(<= main_~b~0 main_~c~0)} is VALID [2022-04-15 15:01:36,007 INFO L290 TraceCheckUtils]: 58: Hoare triple {5140#(<= main_~b~0 main_~a~0)} assume !false; {5140#(<= main_~b~0 main_~a~0)} is VALID [2022-04-15 15:01:36,007 INFO L290 TraceCheckUtils]: 57: Hoare triple {5147#(<= main_~c~0 main_~b~0)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {5140#(<= main_~b~0 main_~a~0)} is VALID [2022-04-15 15:01:36,008 INFO L290 TraceCheckUtils]: 56: Hoare triple {5147#(<= main_~c~0 main_~b~0)} assume !(~c~0 >= ~b~0); {5147#(<= main_~c~0 main_~b~0)} is VALID [2022-04-15 15:01:36,008 INFO L290 TraceCheckUtils]: 55: Hoare triple {5147#(<= main_~c~0 main_~b~0)} assume !false; {5147#(<= main_~c~0 main_~b~0)} is VALID [2022-04-15 15:01:36,009 INFO L290 TraceCheckUtils]: 54: Hoare triple {5157#(<= main_~c~0 (+ main_~b~0 main_~v~0))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {5147#(<= main_~c~0 main_~b~0)} is VALID [2022-04-15 15:01:36,009 INFO L290 TraceCheckUtils]: 53: Hoare triple {5161#(<= main_~v~0 (+ main_~b~0 1))} assume !(~c~0 >= 2 * ~v~0); {5157#(<= main_~c~0 (+ main_~b~0 main_~v~0))} is VALID [2022-04-15 15:01:36,010 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {4898#true} {5161#(<= main_~v~0 (+ main_~b~0 1))} #108#return; {5161#(<= main_~v~0 (+ main_~b~0 1))} is VALID [2022-04-15 15:01:36,010 INFO L290 TraceCheckUtils]: 51: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-15 15:01:36,010 INFO L290 TraceCheckUtils]: 50: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-15 15:01:36,010 INFO L290 TraceCheckUtils]: 49: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-15 15:01:36,010 INFO L272 TraceCheckUtils]: 48: Hoare triple {5161#(<= main_~v~0 (+ main_~b~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {4898#true} is VALID [2022-04-15 15:01:36,011 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {4898#true} {5161#(<= main_~v~0 (+ main_~b~0 1))} #106#return; {5161#(<= main_~v~0 (+ main_~b~0 1))} is VALID [2022-04-15 15:01:36,011 INFO L290 TraceCheckUtils]: 46: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-15 15:01:36,011 INFO L290 TraceCheckUtils]: 45: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-15 15:01:36,011 INFO L290 TraceCheckUtils]: 44: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-15 15:01:36,011 INFO L272 TraceCheckUtils]: 43: Hoare triple {5161#(<= main_~v~0 (+ main_~b~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {4898#true} is VALID [2022-04-15 15:01:36,012 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {4898#true} {5161#(<= main_~v~0 (+ main_~b~0 1))} #104#return; {5161#(<= main_~v~0 (+ main_~b~0 1))} is VALID [2022-04-15 15:01:36,012 INFO L290 TraceCheckUtils]: 41: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-15 15:01:36,012 INFO L290 TraceCheckUtils]: 40: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-15 15:01:36,012 INFO L290 TraceCheckUtils]: 39: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-15 15:01:36,012 INFO L272 TraceCheckUtils]: 38: Hoare triple {5161#(<= main_~v~0 (+ main_~b~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {4898#true} is VALID [2022-04-15 15:01:36,013 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {4898#true} {5161#(<= main_~v~0 (+ main_~b~0 1))} #102#return; {5161#(<= main_~v~0 (+ main_~b~0 1))} is VALID [2022-04-15 15:01:36,013 INFO L290 TraceCheckUtils]: 36: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-15 15:01:36,013 INFO L290 TraceCheckUtils]: 35: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-15 15:01:36,013 INFO L290 TraceCheckUtils]: 34: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-15 15:01:36,013 INFO L272 TraceCheckUtils]: 33: Hoare triple {5161#(<= main_~v~0 (+ main_~b~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4898#true} is VALID [2022-04-15 15:01:36,014 INFO L290 TraceCheckUtils]: 32: Hoare triple {5161#(<= main_~v~0 (+ main_~b~0 1))} assume !false; {5161#(<= main_~v~0 (+ main_~b~0 1))} is VALID [2022-04-15 15:01:36,014 INFO L290 TraceCheckUtils]: 31: Hoare triple {4898#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {5161#(<= main_~v~0 (+ main_~b~0 1))} is VALID [2022-04-15 15:01:36,014 INFO L290 TraceCheckUtils]: 30: Hoare triple {4898#true} assume !false; {4898#true} is VALID [2022-04-15 15:01:36,014 INFO L290 TraceCheckUtils]: 29: Hoare triple {4898#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {4898#true} is VALID [2022-04-15 15:01:36,014 INFO L290 TraceCheckUtils]: 28: Hoare triple {4898#true} assume !false; {4898#true} is VALID [2022-04-15 15:01:36,014 INFO L290 TraceCheckUtils]: 27: Hoare triple {4898#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {4898#true} is VALID [2022-04-15 15:01:36,015 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4898#true} {4898#true} #100#return; {4898#true} is VALID [2022-04-15 15:01:36,015 INFO L290 TraceCheckUtils]: 25: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-15 15:01:36,015 INFO L290 TraceCheckUtils]: 24: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-15 15:01:36,015 INFO L290 TraceCheckUtils]: 23: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-15 15:01:36,015 INFO L272 TraceCheckUtils]: 22: Hoare triple {4898#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4898#true} is VALID [2022-04-15 15:01:36,015 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4898#true} {4898#true} #98#return; {4898#true} is VALID [2022-04-15 15:01:36,015 INFO L290 TraceCheckUtils]: 20: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-15 15:01:36,015 INFO L290 TraceCheckUtils]: 19: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-15 15:01:36,015 INFO L290 TraceCheckUtils]: 18: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-15 15:01:36,015 INFO L272 TraceCheckUtils]: 17: Hoare triple {4898#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4898#true} is VALID [2022-04-15 15:01:36,015 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4898#true} {4898#true} #96#return; {4898#true} is VALID [2022-04-15 15:01:36,016 INFO L290 TraceCheckUtils]: 15: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-15 15:01:36,016 INFO L290 TraceCheckUtils]: 14: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-15 15:01:36,016 INFO L290 TraceCheckUtils]: 13: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-15 15:01:36,016 INFO L272 TraceCheckUtils]: 12: Hoare triple {4898#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {4898#true} is VALID [2022-04-15 15:01:36,016 INFO L290 TraceCheckUtils]: 11: Hoare triple {4898#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4898#true} is VALID [2022-04-15 15:01:36,016 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4898#true} {4898#true} #94#return; {4898#true} is VALID [2022-04-15 15:01:36,016 INFO L290 TraceCheckUtils]: 9: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-15 15:01:36,016 INFO L290 TraceCheckUtils]: 8: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-15 15:01:36,016 INFO L290 TraceCheckUtils]: 7: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-15 15:01:36,016 INFO L272 TraceCheckUtils]: 6: Hoare triple {4898#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {4898#true} is VALID [2022-04-15 15:01:36,016 INFO L290 TraceCheckUtils]: 5: Hoare triple {4898#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {4898#true} is VALID [2022-04-15 15:01:36,017 INFO L272 TraceCheckUtils]: 4: Hoare triple {4898#true} call #t~ret6 := main(); {4898#true} is VALID [2022-04-15 15:01:36,017 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4898#true} {4898#true} #112#return; {4898#true} is VALID [2022-04-15 15:01:36,017 INFO L290 TraceCheckUtils]: 2: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-15 15:01:36,017 INFO L290 TraceCheckUtils]: 1: Hoare triple {4898#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(11, 2);call #Ultimate.allocInit(12, 3); {4898#true} is VALID [2022-04-15 15:01:36,017 INFO L272 TraceCheckUtils]: 0: Hoare triple {4898#true} call ULTIMATE.init(); {4898#true} is VALID [2022-04-15 15:01:36,017 INFO L134 CoverageAnalysis]: Checked inductivity of 69 backedges. 19 proven. 2 refuted. 0 times theorem prover too weak. 48 trivial. 0 not checked. [2022-04-15 15:01:36,017 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:01:36,017 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1463437735] [2022-04-15 15:01:36,017 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:01:36,018 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1526342575] [2022-04-15 15:01:36,018 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1526342575] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 15:01:36,018 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 15:01:36,018 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2022-04-15 15:01:36,018 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:01:36,018 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1934394988] [2022-04-15 15:01:36,018 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1934394988] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:01:36,018 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:01:36,018 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-15 15:01:36,018 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2105919661] [2022-04-15 15:01:36,019 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:01:36,019 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.428571428571429) internal successors, (31), 7 states have internal predecessors, (31), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 69 [2022-04-15 15:01:36,019 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:01:36,019 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 4.428571428571429) internal successors, (31), 7 states have internal predecessors, (31), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-15 15:01:36,061 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-15 15:01:36,062 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-15 15:01:36,062 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:01:36,062 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-15 15:01:36,062 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=104, Unknown=0, NotChecked=0, Total=132 [2022-04-15 15:01:36,062 INFO L87 Difference]: Start difference. First operand 111 states and 150 transitions. Second operand has 7 states, 7 states have (on average 4.428571428571429) internal successors, (31), 7 states have internal predecessors, (31), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-15 15:01:37,328 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:01:37,328 INFO L93 Difference]: Finished difference Result 227 states and 315 transitions. [2022-04-15 15:01:37,328 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-15 15:01:37,328 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.428571428571429) internal successors, (31), 7 states have internal predecessors, (31), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 69 [2022-04-15 15:01:37,329 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:01:37,329 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.428571428571429) internal successors, (31), 7 states have internal predecessors, (31), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-15 15:01:37,332 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 150 transitions. [2022-04-15 15:01:37,332 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.428571428571429) internal successors, (31), 7 states have internal predecessors, (31), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-15 15:01:37,335 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 150 transitions. [2022-04-15 15:01:37,335 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 150 transitions. [2022-04-15 15:01:37,478 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 150 edges. 150 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:01:37,482 INFO L225 Difference]: With dead ends: 227 [2022-04-15 15:01:37,482 INFO L226 Difference]: Without dead ends: 162 [2022-04-15 15:01:37,483 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 150 GetRequests, 131 SyntacticMatches, 0 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 49 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=111, Invalid=309, Unknown=0, NotChecked=0, Total=420 [2022-04-15 15:01:37,484 INFO L913 BasicCegarLoop]: 67 mSDtfsCounter, 31 mSDsluCounter, 165 mSDsCounter, 0 mSdLazyCounter, 191 mSolverCounterSat, 30 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 232 SdHoareTripleChecker+Invalid, 221 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 30 IncrementalHoareTripleChecker+Valid, 191 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-15 15:01:37,484 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [35 Valid, 232 Invalid, 221 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [30 Valid, 191 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 15:01:37,484 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 162 states. [2022-04-15 15:01:37,947 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 162 to 144. [2022-04-15 15:01:37,947 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:01:37,948 INFO L82 GeneralOperation]: Start isEquivalent. First operand 162 states. Second operand has 144 states, 80 states have (on average 1.2125) internal successors, (97), 81 states have internal predecessors, (97), 55 states have call successors, (55), 9 states have call predecessors, (55), 8 states have return successors, (53), 53 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-15 15:01:37,948 INFO L74 IsIncluded]: Start isIncluded. First operand 162 states. Second operand has 144 states, 80 states have (on average 1.2125) internal successors, (97), 81 states have internal predecessors, (97), 55 states have call successors, (55), 9 states have call predecessors, (55), 8 states have return successors, (53), 53 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-15 15:01:37,949 INFO L87 Difference]: Start difference. First operand 162 states. Second operand has 144 states, 80 states have (on average 1.2125) internal successors, (97), 81 states have internal predecessors, (97), 55 states have call successors, (55), 9 states have call predecessors, (55), 8 states have return successors, (53), 53 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-15 15:01:37,955 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:01:37,955 INFO L93 Difference]: Finished difference Result 162 states and 223 transitions. [2022-04-15 15:01:37,955 INFO L276 IsEmpty]: Start isEmpty. Operand 162 states and 223 transitions. [2022-04-15 15:01:37,956 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:01:37,956 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:01:37,957 INFO L74 IsIncluded]: Start isIncluded. First operand has 144 states, 80 states have (on average 1.2125) internal successors, (97), 81 states have internal predecessors, (97), 55 states have call successors, (55), 9 states have call predecessors, (55), 8 states have return successors, (53), 53 states have call predecessors, (53), 53 states have call successors, (53) Second operand 162 states. [2022-04-15 15:01:37,958 INFO L87 Difference]: Start difference. First operand has 144 states, 80 states have (on average 1.2125) internal successors, (97), 81 states have internal predecessors, (97), 55 states have call successors, (55), 9 states have call predecessors, (55), 8 states have return successors, (53), 53 states have call predecessors, (53), 53 states have call successors, (53) Second operand 162 states. [2022-04-15 15:01:37,964 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:01:37,964 INFO L93 Difference]: Finished difference Result 162 states and 223 transitions. [2022-04-15 15:01:37,964 INFO L276 IsEmpty]: Start isEmpty. Operand 162 states and 223 transitions. [2022-04-15 15:01:37,965 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:01:37,965 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:01:37,965 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:01:37,965 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:01:37,966 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 144 states, 80 states have (on average 1.2125) internal successors, (97), 81 states have internal predecessors, (97), 55 states have call successors, (55), 9 states have call predecessors, (55), 8 states have return successors, (53), 53 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-15 15:01:37,973 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 144 states to 144 states and 205 transitions. [2022-04-15 15:01:37,973 INFO L78 Accepts]: Start accepts. Automaton has 144 states and 205 transitions. Word has length 69 [2022-04-15 15:01:37,973 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:01:37,973 INFO L478 AbstractCegarLoop]: Abstraction has 144 states and 205 transitions. [2022-04-15 15:01:37,973 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 4.428571428571429) internal successors, (31), 7 states have internal predecessors, (31), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-15 15:01:37,973 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 144 states and 205 transitions. [2022-04-15 15:01:38,302 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 205 edges. 205 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:01:38,302 INFO L276 IsEmpty]: Start isEmpty. Operand 144 states and 205 transitions. [2022-04-15 15:01:38,303 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 73 [2022-04-15 15:01:38,303 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:01:38,303 INFO L499 BasicCegarLoop]: trace histogram [6, 5, 5, 4, 4, 4, 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, 1] [2022-04-15 15:01:38,320 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-15 15:01:38,507 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:01:38,507 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:01:38,508 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:01:38,508 INFO L85 PathProgramCache]: Analyzing trace with hash 1205081507, now seen corresponding path program 1 times [2022-04-15 15:01:38,508 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:01:38,508 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [424242417] [2022-04-15 15:01:38,508 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:01:38,508 INFO L85 PathProgramCache]: Analyzing trace with hash 1205081507, now seen corresponding path program 2 times [2022-04-15 15:01:38,509 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:01:38,509 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [790932474] [2022-04-15 15:01:38,509 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:01:38,509 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:01:38,522 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:01:38,522 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [303520165] [2022-04-15 15:01:38,522 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 15:01:38,522 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:01:38,522 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:01:38,523 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-15 15:01:38,548 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-15 15:01:38,586 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 15:01:38,586 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:01:38,587 INFO L263 TraceCheckSpWp]: Trace formula consists of 196 conjuncts, 18 conjunts are in the unsatisfiable core [2022-04-15 15:01:38,599 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:01:38,600 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:01:39,017 INFO L272 TraceCheckUtils]: 0: Hoare triple {6411#true} call ULTIMATE.init(); {6411#true} is VALID [2022-04-15 15:01:39,018 INFO L290 TraceCheckUtils]: 1: Hoare triple {6411#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(11, 2);call #Ultimate.allocInit(12, 3); {6411#true} is VALID [2022-04-15 15:01:39,018 INFO L290 TraceCheckUtils]: 2: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-15 15:01:39,018 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6411#true} {6411#true} #112#return; {6411#true} is VALID [2022-04-15 15:01:39,018 INFO L272 TraceCheckUtils]: 4: Hoare triple {6411#true} call #t~ret6 := main(); {6411#true} is VALID [2022-04-15 15:01:39,018 INFO L290 TraceCheckUtils]: 5: Hoare triple {6411#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {6411#true} is VALID [2022-04-15 15:01:39,018 INFO L272 TraceCheckUtils]: 6: Hoare triple {6411#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {6411#true} is VALID [2022-04-15 15:01:39,018 INFO L290 TraceCheckUtils]: 7: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-15 15:01:39,019 INFO L290 TraceCheckUtils]: 8: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-15 15:01:39,019 INFO L290 TraceCheckUtils]: 9: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-15 15:01:39,019 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6411#true} {6411#true} #94#return; {6411#true} is VALID [2022-04-15 15:01:39,019 INFO L290 TraceCheckUtils]: 11: Hoare triple {6411#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6411#true} is VALID [2022-04-15 15:01:39,019 INFO L272 TraceCheckUtils]: 12: Hoare triple {6411#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {6411#true} is VALID [2022-04-15 15:01:39,019 INFO L290 TraceCheckUtils]: 13: Hoare triple {6411#true} ~cond := #in~cond; {6455#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 15:01:39,020 INFO L290 TraceCheckUtils]: 14: Hoare triple {6455#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {6459#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:01:39,020 INFO L290 TraceCheckUtils]: 15: Hoare triple {6459#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {6459#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:01:39,021 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6459#(not (= |assume_abort_if_not_#in~cond| 0))} {6411#true} #96#return; {6466#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-15 15:01:39,021 INFO L272 TraceCheckUtils]: 17: Hoare triple {6466#(and (<= 0 main_~y~0) (<= main_~y~0 1))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6411#true} is VALID [2022-04-15 15:01:39,021 INFO L290 TraceCheckUtils]: 18: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-15 15:01:39,021 INFO L290 TraceCheckUtils]: 19: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-15 15:01:39,021 INFO L290 TraceCheckUtils]: 20: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-15 15:01:39,022 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6411#true} {6466#(and (<= 0 main_~y~0) (<= main_~y~0 1))} #98#return; {6466#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-15 15:01:39,022 INFO L272 TraceCheckUtils]: 22: Hoare triple {6466#(and (<= 0 main_~y~0) (<= main_~y~0 1))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6411#true} is VALID [2022-04-15 15:01:39,022 INFO L290 TraceCheckUtils]: 23: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-15 15:01:39,022 INFO L290 TraceCheckUtils]: 24: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-15 15:01:39,022 INFO L290 TraceCheckUtils]: 25: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-15 15:01:39,022 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6411#true} {6466#(and (<= 0 main_~y~0) (<= main_~y~0 1))} #100#return; {6466#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-15 15:01:39,023 INFO L290 TraceCheckUtils]: 27: Hoare triple {6466#(and (<= 0 main_~y~0) (<= main_~y~0 1))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {6500#(<= main_~b~0 1)} is VALID [2022-04-15 15:01:39,023 INFO L290 TraceCheckUtils]: 28: Hoare triple {6500#(<= main_~b~0 1)} assume !false; {6500#(<= main_~b~0 1)} is VALID [2022-04-15 15:01:39,024 INFO L290 TraceCheckUtils]: 29: Hoare triple {6500#(<= main_~b~0 1)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {6500#(<= main_~b~0 1)} is VALID [2022-04-15 15:01:39,024 INFO L290 TraceCheckUtils]: 30: Hoare triple {6500#(<= main_~b~0 1)} assume !false; {6500#(<= main_~b~0 1)} is VALID [2022-04-15 15:01:39,024 INFO L290 TraceCheckUtils]: 31: Hoare triple {6500#(<= main_~b~0 1)} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {6513#(and (<= main_~v~0 1) (<= main_~v~0 main_~c~0))} is VALID [2022-04-15 15:01:39,025 INFO L290 TraceCheckUtils]: 32: Hoare triple {6513#(and (<= main_~v~0 1) (<= main_~v~0 main_~c~0))} assume !false; {6513#(and (<= main_~v~0 1) (<= main_~v~0 main_~c~0))} is VALID [2022-04-15 15:01:39,025 INFO L272 TraceCheckUtils]: 33: Hoare triple {6513#(and (<= main_~v~0 1) (<= main_~v~0 main_~c~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6411#true} is VALID [2022-04-15 15:01:39,025 INFO L290 TraceCheckUtils]: 34: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-15 15:01:39,025 INFO L290 TraceCheckUtils]: 35: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-15 15:01:39,025 INFO L290 TraceCheckUtils]: 36: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-15 15:01:39,026 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {6411#true} {6513#(and (<= main_~v~0 1) (<= main_~v~0 main_~c~0))} #102#return; {6513#(and (<= main_~v~0 1) (<= main_~v~0 main_~c~0))} is VALID [2022-04-15 15:01:39,026 INFO L272 TraceCheckUtils]: 38: Hoare triple {6513#(and (<= main_~v~0 1) (<= main_~v~0 main_~c~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6411#true} is VALID [2022-04-15 15:01:39,026 INFO L290 TraceCheckUtils]: 39: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-15 15:01:39,026 INFO L290 TraceCheckUtils]: 40: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-15 15:01:39,026 INFO L290 TraceCheckUtils]: 41: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-15 15:01:39,027 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {6411#true} {6513#(and (<= main_~v~0 1) (<= main_~v~0 main_~c~0))} #104#return; {6513#(and (<= main_~v~0 1) (<= main_~v~0 main_~c~0))} is VALID [2022-04-15 15:01:39,027 INFO L272 TraceCheckUtils]: 43: Hoare triple {6513#(and (<= main_~v~0 1) (<= main_~v~0 main_~c~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {6411#true} is VALID [2022-04-15 15:01:39,027 INFO L290 TraceCheckUtils]: 44: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-15 15:01:39,027 INFO L290 TraceCheckUtils]: 45: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-15 15:01:39,028 INFO L290 TraceCheckUtils]: 46: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-15 15:01:39,028 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {6411#true} {6513#(and (<= main_~v~0 1) (<= main_~v~0 main_~c~0))} #106#return; {6513#(and (<= main_~v~0 1) (<= main_~v~0 main_~c~0))} is VALID [2022-04-15 15:01:39,028 INFO L272 TraceCheckUtils]: 48: Hoare triple {6513#(and (<= main_~v~0 1) (<= main_~v~0 main_~c~0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {6411#true} is VALID [2022-04-15 15:01:39,028 INFO L290 TraceCheckUtils]: 49: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-15 15:01:39,028 INFO L290 TraceCheckUtils]: 50: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-15 15:01:39,029 INFO L290 TraceCheckUtils]: 51: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-15 15:01:39,029 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {6411#true} {6513#(and (<= main_~v~0 1) (<= main_~v~0 main_~c~0))} #108#return; {6513#(and (<= main_~v~0 1) (<= main_~v~0 main_~c~0))} is VALID [2022-04-15 15:01:39,030 INFO L290 TraceCheckUtils]: 53: Hoare triple {6513#(and (<= main_~v~0 1) (<= main_~v~0 main_~c~0))} assume !(~c~0 >= 2 * ~v~0); {6580#(and (<= main_~v~0 1) (<= main_~v~0 main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-15 15:01:39,030 INFO L290 TraceCheckUtils]: 54: Hoare triple {6580#(and (<= main_~v~0 1) (<= main_~v~0 main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {6584#(and (< main_~c~0 1) (<= 0 main_~c~0))} is VALID [2022-04-15 15:01:39,031 INFO L290 TraceCheckUtils]: 55: Hoare triple {6584#(and (< main_~c~0 1) (<= 0 main_~c~0))} assume !false; {6584#(and (< main_~c~0 1) (<= 0 main_~c~0))} is VALID [2022-04-15 15:01:39,031 INFO L290 TraceCheckUtils]: 56: Hoare triple {6584#(and (< main_~c~0 1) (<= 0 main_~c~0))} assume !(~c~0 >= ~b~0); {6584#(and (< main_~c~0 1) (<= 0 main_~c~0))} is VALID [2022-04-15 15:01:39,032 INFO L290 TraceCheckUtils]: 57: Hoare triple {6584#(and (< main_~c~0 1) (<= 0 main_~c~0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {6594#(and (< main_~b~0 1) (<= 0 main_~b~0))} is VALID [2022-04-15 15:01:39,032 INFO L290 TraceCheckUtils]: 58: Hoare triple {6594#(and (< main_~b~0 1) (<= 0 main_~b~0))} assume !false; {6594#(and (< main_~b~0 1) (<= 0 main_~b~0))} is VALID [2022-04-15 15:01:39,033 INFO L290 TraceCheckUtils]: 59: Hoare triple {6594#(and (< main_~b~0 1) (<= 0 main_~b~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {6412#false} is VALID [2022-04-15 15:01:39,033 INFO L290 TraceCheckUtils]: 60: Hoare triple {6412#false} assume !false; {6412#false} is VALID [2022-04-15 15:01:39,033 INFO L290 TraceCheckUtils]: 61: Hoare triple {6412#false} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {6412#false} is VALID [2022-04-15 15:01:39,033 INFO L290 TraceCheckUtils]: 62: Hoare triple {6412#false} assume !false; {6412#false} is VALID [2022-04-15 15:01:39,033 INFO L272 TraceCheckUtils]: 63: Hoare triple {6412#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6412#false} is VALID [2022-04-15 15:01:39,033 INFO L290 TraceCheckUtils]: 64: Hoare triple {6412#false} ~cond := #in~cond; {6412#false} is VALID [2022-04-15 15:01:39,033 INFO L290 TraceCheckUtils]: 65: Hoare triple {6412#false} assume !(0 == ~cond); {6412#false} is VALID [2022-04-15 15:01:39,033 INFO L290 TraceCheckUtils]: 66: Hoare triple {6412#false} assume true; {6412#false} is VALID [2022-04-15 15:01:39,034 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {6412#false} {6412#false} #102#return; {6412#false} is VALID [2022-04-15 15:01:39,034 INFO L272 TraceCheckUtils]: 68: Hoare triple {6412#false} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6412#false} is VALID [2022-04-15 15:01:39,034 INFO L290 TraceCheckUtils]: 69: Hoare triple {6412#false} ~cond := #in~cond; {6412#false} is VALID [2022-04-15 15:01:39,034 INFO L290 TraceCheckUtils]: 70: Hoare triple {6412#false} assume 0 == ~cond; {6412#false} is VALID [2022-04-15 15:01:39,034 INFO L290 TraceCheckUtils]: 71: Hoare triple {6412#false} assume !false; {6412#false} is VALID [2022-04-15 15:01:39,034 INFO L134 CoverageAnalysis]: Checked inductivity of 85 backedges. 36 proven. 8 refuted. 0 times theorem prover too weak. 41 trivial. 0 not checked. [2022-04-15 15:01:39,034 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:01:39,931 INFO L290 TraceCheckUtils]: 71: Hoare triple {6412#false} assume !false; {6412#false} is VALID [2022-04-15 15:01:39,931 INFO L290 TraceCheckUtils]: 70: Hoare triple {6412#false} assume 0 == ~cond; {6412#false} is VALID [2022-04-15 15:01:39,931 INFO L290 TraceCheckUtils]: 69: Hoare triple {6412#false} ~cond := #in~cond; {6412#false} is VALID [2022-04-15 15:01:39,931 INFO L272 TraceCheckUtils]: 68: Hoare triple {6412#false} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6412#false} is VALID [2022-04-15 15:01:39,931 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {6411#true} {6412#false} #102#return; {6412#false} is VALID [2022-04-15 15:01:39,931 INFO L290 TraceCheckUtils]: 66: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-15 15:01:39,931 INFO L290 TraceCheckUtils]: 65: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-15 15:01:39,931 INFO L290 TraceCheckUtils]: 64: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-15 15:01:39,931 INFO L272 TraceCheckUtils]: 63: Hoare triple {6412#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6411#true} is VALID [2022-04-15 15:01:39,932 INFO L290 TraceCheckUtils]: 62: Hoare triple {6412#false} assume !false; {6412#false} is VALID [2022-04-15 15:01:39,932 INFO L290 TraceCheckUtils]: 61: Hoare triple {6412#false} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {6412#false} is VALID [2022-04-15 15:01:39,932 INFO L290 TraceCheckUtils]: 60: Hoare triple {6412#false} assume !false; {6412#false} is VALID [2022-04-15 15:01:39,932 INFO L290 TraceCheckUtils]: 59: Hoare triple {6594#(and (< main_~b~0 1) (<= 0 main_~b~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {6412#false} is VALID [2022-04-15 15:01:39,932 INFO L290 TraceCheckUtils]: 58: Hoare triple {6594#(and (< main_~b~0 1) (<= 0 main_~b~0))} assume !false; {6594#(and (< main_~b~0 1) (<= 0 main_~b~0))} is VALID [2022-04-15 15:01:39,933 INFO L290 TraceCheckUtils]: 57: Hoare triple {6584#(and (< main_~c~0 1) (<= 0 main_~c~0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {6594#(and (< main_~b~0 1) (<= 0 main_~b~0))} is VALID [2022-04-15 15:01:39,933 INFO L290 TraceCheckUtils]: 56: Hoare triple {6584#(and (< main_~c~0 1) (<= 0 main_~c~0))} assume !(~c~0 >= ~b~0); {6584#(and (< main_~c~0 1) (<= 0 main_~c~0))} is VALID [2022-04-15 15:01:39,934 INFO L290 TraceCheckUtils]: 55: Hoare triple {6584#(and (< main_~c~0 1) (<= 0 main_~c~0))} assume !false; {6584#(and (< main_~c~0 1) (<= 0 main_~c~0))} is VALID [2022-04-15 15:01:39,934 INFO L290 TraceCheckUtils]: 54: Hoare triple {6688#(and (< main_~c~0 (+ main_~v~0 1)) (<= main_~v~0 main_~c~0))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {6584#(and (< main_~c~0 1) (<= 0 main_~c~0))} is VALID [2022-04-15 15:01:39,935 INFO L290 TraceCheckUtils]: 53: Hoare triple {6692#(or (<= (* main_~v~0 2) main_~c~0) (and (< main_~c~0 (+ main_~v~0 1)) (<= main_~v~0 main_~c~0)))} assume !(~c~0 >= 2 * ~v~0); {6688#(and (< main_~c~0 (+ main_~v~0 1)) (<= main_~v~0 main_~c~0))} is VALID [2022-04-15 15:01:39,935 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {6411#true} {6692#(or (<= (* main_~v~0 2) main_~c~0) (and (< main_~c~0 (+ main_~v~0 1)) (<= main_~v~0 main_~c~0)))} #108#return; {6692#(or (<= (* main_~v~0 2) main_~c~0) (and (< main_~c~0 (+ main_~v~0 1)) (<= main_~v~0 main_~c~0)))} is VALID [2022-04-15 15:01:39,935 INFO L290 TraceCheckUtils]: 51: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-15 15:01:39,936 INFO L290 TraceCheckUtils]: 50: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-15 15:01:39,936 INFO L290 TraceCheckUtils]: 49: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-15 15:01:39,936 INFO L272 TraceCheckUtils]: 48: Hoare triple {6692#(or (<= (* main_~v~0 2) main_~c~0) (and (< main_~c~0 (+ main_~v~0 1)) (<= main_~v~0 main_~c~0)))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {6411#true} is VALID [2022-04-15 15:01:39,936 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {6411#true} {6692#(or (<= (* main_~v~0 2) main_~c~0) (and (< main_~c~0 (+ main_~v~0 1)) (<= main_~v~0 main_~c~0)))} #106#return; {6692#(or (<= (* main_~v~0 2) main_~c~0) (and (< main_~c~0 (+ main_~v~0 1)) (<= main_~v~0 main_~c~0)))} is VALID [2022-04-15 15:01:39,936 INFO L290 TraceCheckUtils]: 46: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-15 15:01:39,936 INFO L290 TraceCheckUtils]: 45: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-15 15:01:39,936 INFO L290 TraceCheckUtils]: 44: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-15 15:01:39,936 INFO L272 TraceCheckUtils]: 43: Hoare triple {6692#(or (<= (* main_~v~0 2) main_~c~0) (and (< main_~c~0 (+ main_~v~0 1)) (<= main_~v~0 main_~c~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {6411#true} is VALID [2022-04-15 15:01:39,937 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {6411#true} {6692#(or (<= (* main_~v~0 2) main_~c~0) (and (< main_~c~0 (+ main_~v~0 1)) (<= main_~v~0 main_~c~0)))} #104#return; {6692#(or (<= (* main_~v~0 2) main_~c~0) (and (< main_~c~0 (+ main_~v~0 1)) (<= main_~v~0 main_~c~0)))} is VALID [2022-04-15 15:01:39,937 INFO L290 TraceCheckUtils]: 41: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-15 15:01:39,937 INFO L290 TraceCheckUtils]: 40: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-15 15:01:39,937 INFO L290 TraceCheckUtils]: 39: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-15 15:01:39,937 INFO L272 TraceCheckUtils]: 38: Hoare triple {6692#(or (<= (* main_~v~0 2) main_~c~0) (and (< main_~c~0 (+ main_~v~0 1)) (<= main_~v~0 main_~c~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6411#true} is VALID [2022-04-15 15:01:39,938 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {6411#true} {6692#(or (<= (* main_~v~0 2) main_~c~0) (and (< main_~c~0 (+ main_~v~0 1)) (<= main_~v~0 main_~c~0)))} #102#return; {6692#(or (<= (* main_~v~0 2) main_~c~0) (and (< main_~c~0 (+ main_~v~0 1)) (<= main_~v~0 main_~c~0)))} is VALID [2022-04-15 15:01:39,938 INFO L290 TraceCheckUtils]: 36: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-15 15:01:39,938 INFO L290 TraceCheckUtils]: 35: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-15 15:01:39,938 INFO L290 TraceCheckUtils]: 34: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-15 15:01:39,938 INFO L272 TraceCheckUtils]: 33: Hoare triple {6692#(or (<= (* main_~v~0 2) main_~c~0) (and (< main_~c~0 (+ main_~v~0 1)) (<= main_~v~0 main_~c~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6411#true} is VALID [2022-04-15 15:01:39,939 INFO L290 TraceCheckUtils]: 32: Hoare triple {6692#(or (<= (* main_~v~0 2) main_~c~0) (and (< main_~c~0 (+ main_~v~0 1)) (<= main_~v~0 main_~c~0)))} assume !false; {6692#(or (<= (* main_~v~0 2) main_~c~0) (and (< main_~c~0 (+ main_~v~0 1)) (<= main_~v~0 main_~c~0)))} is VALID [2022-04-15 15:01:39,940 INFO L290 TraceCheckUtils]: 31: Hoare triple {6759#(or (<= main_~b~0 (div main_~c~0 2)) (not (<= main_~b~0 main_~c~0)) (<= main_~c~0 (+ (div main_~c~0 2) 1)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {6692#(or (<= (* main_~v~0 2) main_~c~0) (and (< main_~c~0 (+ main_~v~0 1)) (<= main_~v~0 main_~c~0)))} is VALID [2022-04-15 15:01:39,940 INFO L290 TraceCheckUtils]: 30: Hoare triple {6759#(or (<= main_~b~0 (div main_~c~0 2)) (not (<= main_~b~0 main_~c~0)) (<= main_~c~0 (+ (div main_~c~0 2) 1)))} assume !false; {6759#(or (<= main_~b~0 (div main_~c~0 2)) (not (<= main_~b~0 main_~c~0)) (<= main_~c~0 (+ (div main_~c~0 2) 1)))} is VALID [2022-04-15 15:01:39,940 INFO L290 TraceCheckUtils]: 29: Hoare triple {6766#(or (<= main_~a~0 (+ (div main_~a~0 2) 1)) (not (<= main_~b~0 main_~a~0)) (<= main_~b~0 (div main_~a~0 2)))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {6759#(or (<= main_~b~0 (div main_~c~0 2)) (not (<= main_~b~0 main_~c~0)) (<= main_~c~0 (+ (div main_~c~0 2) 1)))} is VALID [2022-04-15 15:01:39,941 INFO L290 TraceCheckUtils]: 28: Hoare triple {6766#(or (<= main_~a~0 (+ (div main_~a~0 2) 1)) (not (<= main_~b~0 main_~a~0)) (<= main_~b~0 (div main_~a~0 2)))} assume !false; {6766#(or (<= main_~a~0 (+ (div main_~a~0 2) 1)) (not (<= main_~b~0 main_~a~0)) (<= main_~b~0 (div main_~a~0 2)))} is VALID [2022-04-15 15:01:39,941 INFO L290 TraceCheckUtils]: 27: Hoare triple {6773#(<= main_~y~0 1)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {6766#(or (<= main_~a~0 (+ (div main_~a~0 2) 1)) (not (<= main_~b~0 main_~a~0)) (<= main_~b~0 (div main_~a~0 2)))} is VALID [2022-04-15 15:01:39,942 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6411#true} {6773#(<= main_~y~0 1)} #100#return; {6773#(<= main_~y~0 1)} is VALID [2022-04-15 15:01:39,942 INFO L290 TraceCheckUtils]: 25: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-15 15:01:39,942 INFO L290 TraceCheckUtils]: 24: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-15 15:01:39,942 INFO L290 TraceCheckUtils]: 23: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-15 15:01:39,942 INFO L272 TraceCheckUtils]: 22: Hoare triple {6773#(<= main_~y~0 1)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6411#true} is VALID [2022-04-15 15:01:39,951 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6411#true} {6773#(<= main_~y~0 1)} #98#return; {6773#(<= main_~y~0 1)} is VALID [2022-04-15 15:01:39,952 INFO L290 TraceCheckUtils]: 20: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-15 15:01:39,952 INFO L290 TraceCheckUtils]: 19: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-15 15:01:39,952 INFO L290 TraceCheckUtils]: 18: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-15 15:01:39,952 INFO L272 TraceCheckUtils]: 17: Hoare triple {6773#(<= main_~y~0 1)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6411#true} is VALID [2022-04-15 15:01:39,952 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6459#(not (= |assume_abort_if_not_#in~cond| 0))} {6411#true} #96#return; {6773#(<= main_~y~0 1)} is VALID [2022-04-15 15:01:39,953 INFO L290 TraceCheckUtils]: 15: Hoare triple {6459#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {6459#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:01:39,953 INFO L290 TraceCheckUtils]: 14: Hoare triple {6816#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {6459#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:01:39,954 INFO L290 TraceCheckUtils]: 13: Hoare triple {6411#true} ~cond := #in~cond; {6816#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-15 15:01:39,954 INFO L272 TraceCheckUtils]: 12: Hoare triple {6411#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {6411#true} is VALID [2022-04-15 15:01:39,954 INFO L290 TraceCheckUtils]: 11: Hoare triple {6411#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6411#true} is VALID [2022-04-15 15:01:39,954 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6411#true} {6411#true} #94#return; {6411#true} is VALID [2022-04-15 15:01:39,954 INFO L290 TraceCheckUtils]: 9: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-15 15:01:39,954 INFO L290 TraceCheckUtils]: 8: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-15 15:01:39,954 INFO L290 TraceCheckUtils]: 7: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-15 15:01:39,954 INFO L272 TraceCheckUtils]: 6: Hoare triple {6411#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {6411#true} is VALID [2022-04-15 15:01:39,954 INFO L290 TraceCheckUtils]: 5: Hoare triple {6411#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {6411#true} is VALID [2022-04-15 15:01:39,955 INFO L272 TraceCheckUtils]: 4: Hoare triple {6411#true} call #t~ret6 := main(); {6411#true} is VALID [2022-04-15 15:01:39,955 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6411#true} {6411#true} #112#return; {6411#true} is VALID [2022-04-15 15:01:39,955 INFO L290 TraceCheckUtils]: 2: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-15 15:01:39,955 INFO L290 TraceCheckUtils]: 1: Hoare triple {6411#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(11, 2);call #Ultimate.allocInit(12, 3); {6411#true} is VALID [2022-04-15 15:01:39,955 INFO L272 TraceCheckUtils]: 0: Hoare triple {6411#true} call ULTIMATE.init(); {6411#true} is VALID [2022-04-15 15:01:39,955 INFO L134 CoverageAnalysis]: Checked inductivity of 85 backedges. 24 proven. 6 refuted. 0 times theorem prover too weak. 55 trivial. 0 not checked. [2022-04-15 15:01:39,955 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:01:39,956 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [790932474] [2022-04-15 15:01:39,956 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:01:39,956 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [303520165] [2022-04-15 15:01:39,956 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [303520165] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 15:01:39,956 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 15:01:39,956 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 11] total 16 [2022-04-15 15:01:39,956 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:01:39,956 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [424242417] [2022-04-15 15:01:39,956 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [424242417] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:01:39,956 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:01:39,957 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-15 15:01:39,957 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1741164565] [2022-04-15 15:01:39,957 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:01:39,957 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.4) internal successors, (34), 9 states have internal predecessors, (34), 4 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 72 [2022-04-15 15:01:39,957 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:01:39,958 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 3.4) internal successors, (34), 9 states have internal predecessors, (34), 4 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-15 15:01:40,009 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-15 15:01:40,009 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-15 15:01:40,009 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:01:40,010 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-15 15:01:40,010 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=196, Unknown=0, NotChecked=0, Total=240 [2022-04-15 15:01:40,010 INFO L87 Difference]: Start difference. First operand 144 states and 205 transitions. Second operand has 10 states, 10 states have (on average 3.4) internal successors, (34), 9 states have internal predecessors, (34), 4 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-15 15:01:41,004 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:01:41,004 INFO L93 Difference]: Finished difference Result 202 states and 283 transitions. [2022-04-15 15:01:41,004 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-15 15:01:41,005 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.4) internal successors, (34), 9 states have internal predecessors, (34), 4 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 72 [2022-04-15 15:01:41,005 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:01:41,005 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.4) internal successors, (34), 9 states have internal predecessors, (34), 4 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-15 15:01:41,007 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 106 transitions. [2022-04-15 15:01:41,007 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.4) internal successors, (34), 9 states have internal predecessors, (34), 4 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-15 15:01:41,009 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 106 transitions. [2022-04-15 15:01:41,009 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 106 transitions. [2022-04-15 15:01:41,094 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 106 edges. 106 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:01:41,096 INFO L225 Difference]: With dead ends: 202 [2022-04-15 15:01:41,096 INFO L226 Difference]: Without dead ends: 113 [2022-04-15 15:01:41,097 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 150 GetRequests, 128 SyntacticMatches, 1 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 51 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=109, Invalid=397, Unknown=0, NotChecked=0, Total=506 [2022-04-15 15:01:41,097 INFO L913 BasicCegarLoop]: 42 mSDtfsCounter, 38 mSDsluCounter, 215 mSDsCounter, 0 mSdLazyCounter, 189 mSolverCounterSat, 25 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 42 SdHoareTripleChecker+Valid, 257 SdHoareTripleChecker+Invalid, 214 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 25 IncrementalHoareTripleChecker+Valid, 189 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-15 15:01:41,098 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [42 Valid, 257 Invalid, 214 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [25 Valid, 189 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 15:01:41,098 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 113 states. [2022-04-15 15:01:41,477 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 113 to 111. [2022-04-15 15:01:41,477 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:01:41,478 INFO L82 GeneralOperation]: Start isEquivalent. First operand 113 states. Second operand has 111 states, 64 states have (on average 1.171875) internal successors, (75), 65 states have internal predecessors, (75), 39 states have call successors, (39), 8 states have call predecessors, (39), 7 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-15 15:01:41,478 INFO L74 IsIncluded]: Start isIncluded. First operand 113 states. Second operand has 111 states, 64 states have (on average 1.171875) internal successors, (75), 65 states have internal predecessors, (75), 39 states have call successors, (39), 8 states have call predecessors, (39), 7 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-15 15:01:41,478 INFO L87 Difference]: Start difference. First operand 113 states. Second operand has 111 states, 64 states have (on average 1.171875) internal successors, (75), 65 states have internal predecessors, (75), 39 states have call successors, (39), 8 states have call predecessors, (39), 7 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-15 15:01:41,482 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:01:41,483 INFO L93 Difference]: Finished difference Result 113 states and 153 transitions. [2022-04-15 15:01:41,483 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 153 transitions. [2022-04-15 15:01:41,483 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:01:41,484 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:01:41,484 INFO L74 IsIncluded]: Start isIncluded. First operand has 111 states, 64 states have (on average 1.171875) internal successors, (75), 65 states have internal predecessors, (75), 39 states have call successors, (39), 8 states have call predecessors, (39), 7 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) Second operand 113 states. [2022-04-15 15:01:41,484 INFO L87 Difference]: Start difference. First operand has 111 states, 64 states have (on average 1.171875) internal successors, (75), 65 states have internal predecessors, (75), 39 states have call successors, (39), 8 states have call predecessors, (39), 7 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) Second operand 113 states. [2022-04-15 15:01:41,488 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:01:41,488 INFO L93 Difference]: Finished difference Result 113 states and 153 transitions. [2022-04-15 15:01:41,488 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 153 transitions. [2022-04-15 15:01:41,489 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:01:41,489 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:01:41,489 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:01:41,489 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:01:41,489 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 111 states, 64 states have (on average 1.171875) internal successors, (75), 65 states have internal predecessors, (75), 39 states have call successors, (39), 8 states have call predecessors, (39), 7 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-15 15:01:41,493 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 111 states to 111 states and 151 transitions. [2022-04-15 15:01:41,493 INFO L78 Accepts]: Start accepts. Automaton has 111 states and 151 transitions. Word has length 72 [2022-04-15 15:01:41,494 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:01:41,494 INFO L478 AbstractCegarLoop]: Abstraction has 111 states and 151 transitions. [2022-04-15 15:01:41,494 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 3.4) internal successors, (34), 9 states have internal predecessors, (34), 4 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-15 15:01:41,494 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 111 states and 151 transitions. [2022-04-15 15:01:41,715 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 151 edges. 151 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:01:41,715 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 151 transitions. [2022-04-15 15:01:41,716 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-15 15:01:41,716 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:01:41,716 INFO L499 BasicCegarLoop]: trace histogram [9, 8, 8, 4, 4, 4, 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, 1, 1, 1, 1] [2022-04-15 15:01:41,734 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-15 15:01:41,923 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2022-04-15 15:01:41,924 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:01:41,924 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:01:41,924 INFO L85 PathProgramCache]: Analyzing trace with hash -1679616651, now seen corresponding path program 1 times [2022-04-15 15:01:41,924 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:01:41,924 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [792145266] [2022-04-15 15:01:41,924 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:01:41,924 INFO L85 PathProgramCache]: Analyzing trace with hash -1679616651, now seen corresponding path program 2 times [2022-04-15 15:01:41,924 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:01:41,925 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [342871723] [2022-04-15 15:01:41,925 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:01:41,925 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:01:41,945 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:01:41,945 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [158675656] [2022-04-15 15:01:41,946 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 15:01:41,946 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:01:41,946 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:01:41,948 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-15 15:01:41,948 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-15 15:01:41,992 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 15:01:41,992 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:01:41,993 INFO L263 TraceCheckSpWp]: Trace formula consists of 219 conjuncts, 12 conjunts are in the unsatisfiable core [2022-04-15 15:01:42,007 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:01:42,008 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:01:47,942 INFO L272 TraceCheckUtils]: 0: Hoare triple {7724#true} call ULTIMATE.init(); {7724#true} is VALID [2022-04-15 15:01:47,942 INFO L290 TraceCheckUtils]: 1: Hoare triple {7724#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(11, 2);call #Ultimate.allocInit(12, 3); {7724#true} is VALID [2022-04-15 15:01:47,942 INFO L290 TraceCheckUtils]: 2: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-15 15:01:47,942 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7724#true} {7724#true} #112#return; {7724#true} is VALID [2022-04-15 15:01:47,942 INFO L272 TraceCheckUtils]: 4: Hoare triple {7724#true} call #t~ret6 := main(); {7724#true} is VALID [2022-04-15 15:01:47,942 INFO L290 TraceCheckUtils]: 5: Hoare triple {7724#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {7724#true} is VALID [2022-04-15 15:01:47,942 INFO L272 TraceCheckUtils]: 6: Hoare triple {7724#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {7724#true} is VALID [2022-04-15 15:01:47,955 INFO L290 TraceCheckUtils]: 7: Hoare triple {7724#true} ~cond := #in~cond; {7750#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 15:01:47,956 INFO L290 TraceCheckUtils]: 8: Hoare triple {7750#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {7754#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:01:47,956 INFO L290 TraceCheckUtils]: 9: Hoare triple {7754#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {7754#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:01:47,957 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7754#(not (= |assume_abort_if_not_#in~cond| 0))} {7724#true} #94#return; {7761#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-15 15:01:47,957 INFO L290 TraceCheckUtils]: 11: Hoare triple {7761#(and (<= 0 main_~x~0) (<= main_~x~0 1))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {7761#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-15 15:01:47,957 INFO L272 TraceCheckUtils]: 12: Hoare triple {7761#(and (<= 0 main_~x~0) (<= main_~x~0 1))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {7724#true} is VALID [2022-04-15 15:01:47,957 INFO L290 TraceCheckUtils]: 13: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-15 15:01:47,958 INFO L290 TraceCheckUtils]: 14: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-15 15:01:47,958 INFO L290 TraceCheckUtils]: 15: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-15 15:01:47,958 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7724#true} {7761#(and (<= 0 main_~x~0) (<= main_~x~0 1))} #96#return; {7761#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-15 15:01:47,958 INFO L272 TraceCheckUtils]: 17: Hoare triple {7761#(and (<= 0 main_~x~0) (<= main_~x~0 1))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {7724#true} is VALID [2022-04-15 15:01:47,958 INFO L290 TraceCheckUtils]: 18: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-15 15:01:47,958 INFO L290 TraceCheckUtils]: 19: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-15 15:01:47,959 INFO L290 TraceCheckUtils]: 20: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-15 15:01:47,959 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7724#true} {7761#(and (<= 0 main_~x~0) (<= main_~x~0 1))} #98#return; {7761#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-15 15:01:47,959 INFO L272 TraceCheckUtils]: 22: Hoare triple {7761#(and (<= 0 main_~x~0) (<= main_~x~0 1))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7724#true} is VALID [2022-04-15 15:01:47,959 INFO L290 TraceCheckUtils]: 23: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-15 15:01:47,959 INFO L290 TraceCheckUtils]: 24: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-15 15:01:47,959 INFO L290 TraceCheckUtils]: 25: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-15 15:01:47,960 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {7724#true} {7761#(and (<= 0 main_~x~0) (<= main_~x~0 1))} #100#return; {7761#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-15 15:01:47,960 INFO L290 TraceCheckUtils]: 27: Hoare triple {7761#(and (<= 0 main_~x~0) (<= main_~x~0 1))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {7813#(<= main_~a~0 1)} is VALID [2022-04-15 15:01:47,961 INFO L290 TraceCheckUtils]: 28: Hoare triple {7813#(<= main_~a~0 1)} assume !false; {7813#(<= main_~a~0 1)} is VALID [2022-04-15 15:01:47,961 INFO L290 TraceCheckUtils]: 29: Hoare triple {7813#(<= main_~a~0 1)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {7820#(<= main_~c~0 1)} is VALID [2022-04-15 15:01:47,961 INFO L290 TraceCheckUtils]: 30: Hoare triple {7820#(<= main_~c~0 1)} assume !false; {7820#(<= main_~c~0 1)} is VALID [2022-04-15 15:01:47,962 INFO L290 TraceCheckUtils]: 31: Hoare triple {7820#(<= main_~c~0 1)} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {7827#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 1))} is VALID [2022-04-15 15:01:47,962 INFO L290 TraceCheckUtils]: 32: Hoare triple {7827#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 1))} assume !false; {7827#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 1))} is VALID [2022-04-15 15:01:47,962 INFO L272 TraceCheckUtils]: 33: Hoare triple {7827#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7724#true} is VALID [2022-04-15 15:01:47,962 INFO L290 TraceCheckUtils]: 34: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-15 15:01:47,962 INFO L290 TraceCheckUtils]: 35: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-15 15:01:47,963 INFO L290 TraceCheckUtils]: 36: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-15 15:01:47,963 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {7724#true} {7827#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 1))} #102#return; {7827#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 1))} is VALID [2022-04-15 15:01:47,963 INFO L272 TraceCheckUtils]: 38: Hoare triple {7827#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7724#true} is VALID [2022-04-15 15:01:47,964 INFO L290 TraceCheckUtils]: 39: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-15 15:01:47,964 INFO L290 TraceCheckUtils]: 40: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-15 15:01:47,964 INFO L290 TraceCheckUtils]: 41: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-15 15:01:47,964 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {7724#true} {7827#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 1))} #104#return; {7827#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 1))} is VALID [2022-04-15 15:01:47,965 INFO L272 TraceCheckUtils]: 43: Hoare triple {7827#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {7724#true} is VALID [2022-04-15 15:01:47,965 INFO L290 TraceCheckUtils]: 44: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-15 15:01:47,965 INFO L290 TraceCheckUtils]: 45: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-15 15:01:47,965 INFO L290 TraceCheckUtils]: 46: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-15 15:01:47,965 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {7724#true} {7827#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 1))} #106#return; {7827#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 1))} is VALID [2022-04-15 15:01:47,966 INFO L272 TraceCheckUtils]: 48: Hoare triple {7827#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {7724#true} is VALID [2022-04-15 15:01:47,966 INFO L290 TraceCheckUtils]: 49: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-15 15:01:47,966 INFO L290 TraceCheckUtils]: 50: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-15 15:01:47,966 INFO L290 TraceCheckUtils]: 51: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-15 15:01:47,966 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {7724#true} {7827#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 1))} #108#return; {7827#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 1))} is VALID [2022-04-15 15:01:47,968 INFO L290 TraceCheckUtils]: 53: Hoare triple {7827#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 1))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {7894#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 1))} is VALID [2022-04-15 15:01:47,968 INFO L290 TraceCheckUtils]: 54: Hoare triple {7894#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 1))} assume !false; {7894#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 1))} is VALID [2022-04-15 15:01:47,968 INFO L272 TraceCheckUtils]: 55: Hoare triple {7894#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7724#true} is VALID [2022-04-15 15:01:47,968 INFO L290 TraceCheckUtils]: 56: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-15 15:01:47,968 INFO L290 TraceCheckUtils]: 57: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-15 15:01:47,968 INFO L290 TraceCheckUtils]: 58: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-15 15:01:47,969 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {7724#true} {7894#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 1))} #102#return; {7894#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 1))} is VALID [2022-04-15 15:01:47,969 INFO L272 TraceCheckUtils]: 60: Hoare triple {7894#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7724#true} is VALID [2022-04-15 15:01:47,969 INFO L290 TraceCheckUtils]: 61: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-15 15:01:47,969 INFO L290 TraceCheckUtils]: 62: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-15 15:01:47,969 INFO L290 TraceCheckUtils]: 63: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-15 15:01:47,970 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {7724#true} {7894#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 1))} #104#return; {7894#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 1))} is VALID [2022-04-15 15:01:47,970 INFO L272 TraceCheckUtils]: 65: Hoare triple {7894#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {7724#true} is VALID [2022-04-15 15:01:47,970 INFO L290 TraceCheckUtils]: 66: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-15 15:01:47,970 INFO L290 TraceCheckUtils]: 67: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-15 15:01:47,970 INFO L290 TraceCheckUtils]: 68: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-15 15:01:47,971 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {7724#true} {7894#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 1))} #106#return; {7894#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 1))} is VALID [2022-04-15 15:01:47,971 INFO L272 TraceCheckUtils]: 70: Hoare triple {7894#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {7724#true} is VALID [2022-04-15 15:01:47,971 INFO L290 TraceCheckUtils]: 71: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-15 15:01:47,971 INFO L290 TraceCheckUtils]: 72: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-15 15:01:47,971 INFO L290 TraceCheckUtils]: 73: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-15 15:01:47,972 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {7724#true} {7894#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 1))} #108#return; {7894#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 1))} is VALID [2022-04-15 15:01:47,972 INFO L290 TraceCheckUtils]: 75: Hoare triple {7894#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 1))} assume !(~c~0 >= 2 * ~v~0); {7894#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 1))} is VALID [2022-04-15 15:01:47,973 INFO L290 TraceCheckUtils]: 76: Hoare triple {7894#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 1))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {7964#(and (<= (div main_~c~0 (- 2)) 0) (<= main_~b~0 0))} is VALID [2022-04-15 15:01:47,974 INFO L290 TraceCheckUtils]: 77: Hoare triple {7964#(and (<= (div main_~c~0 (- 2)) 0) (<= main_~b~0 0))} assume !false; {7964#(and (<= (div main_~c~0 (- 2)) 0) (<= main_~b~0 0))} is VALID [2022-04-15 15:01:47,974 INFO L290 TraceCheckUtils]: 78: Hoare triple {7964#(and (<= (div main_~c~0 (- 2)) 0) (<= main_~b~0 0))} assume !(~c~0 >= ~b~0); {7725#false} is VALID [2022-04-15 15:01:47,974 INFO L290 TraceCheckUtils]: 79: Hoare triple {7725#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {7725#false} is VALID [2022-04-15 15:01:47,974 INFO L290 TraceCheckUtils]: 80: Hoare triple {7725#false} assume !false; {7725#false} is VALID [2022-04-15 15:01:47,975 INFO L290 TraceCheckUtils]: 81: Hoare triple {7725#false} assume !(0 != ~b~0); {7725#false} is VALID [2022-04-15 15:01:47,975 INFO L272 TraceCheckUtils]: 82: Hoare triple {7725#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {7725#false} is VALID [2022-04-15 15:01:47,975 INFO L290 TraceCheckUtils]: 83: Hoare triple {7725#false} ~cond := #in~cond; {7725#false} is VALID [2022-04-15 15:01:47,975 INFO L290 TraceCheckUtils]: 84: Hoare triple {7725#false} assume 0 == ~cond; {7725#false} is VALID [2022-04-15 15:01:47,975 INFO L290 TraceCheckUtils]: 85: Hoare triple {7725#false} assume !false; {7725#false} is VALID [2022-04-15 15:01:47,975 INFO L134 CoverageAnalysis]: Checked inductivity of 162 backedges. 18 proven. 17 refuted. 0 times theorem prover too weak. 127 trivial. 0 not checked. [2022-04-15 15:01:47,975 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:01:48,775 INFO L290 TraceCheckUtils]: 85: Hoare triple {7725#false} assume !false; {7725#false} is VALID [2022-04-15 15:01:48,775 INFO L290 TraceCheckUtils]: 84: Hoare triple {7725#false} assume 0 == ~cond; {7725#false} is VALID [2022-04-15 15:01:48,775 INFO L290 TraceCheckUtils]: 83: Hoare triple {7725#false} ~cond := #in~cond; {7725#false} is VALID [2022-04-15 15:01:48,775 INFO L272 TraceCheckUtils]: 82: Hoare triple {7725#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {7725#false} is VALID [2022-04-15 15:01:48,775 INFO L290 TraceCheckUtils]: 81: Hoare triple {7725#false} assume !(0 != ~b~0); {7725#false} is VALID [2022-04-15 15:01:48,776 INFO L290 TraceCheckUtils]: 80: Hoare triple {7725#false} assume !false; {7725#false} is VALID [2022-04-15 15:01:48,776 INFO L290 TraceCheckUtils]: 79: Hoare triple {7725#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {7725#false} is VALID [2022-04-15 15:01:48,776 INFO L290 TraceCheckUtils]: 78: Hoare triple {8013#(<= main_~b~0 main_~c~0)} assume !(~c~0 >= ~b~0); {7725#false} is VALID [2022-04-15 15:01:48,777 INFO L290 TraceCheckUtils]: 77: Hoare triple {8013#(<= main_~b~0 main_~c~0)} assume !false; {8013#(<= main_~b~0 main_~c~0)} is VALID [2022-04-15 15:01:48,777 INFO L290 TraceCheckUtils]: 76: Hoare triple {8020#(<= (+ main_~b~0 main_~v~0) main_~c~0)} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {8013#(<= main_~b~0 main_~c~0)} is VALID [2022-04-15 15:01:48,777 INFO L290 TraceCheckUtils]: 75: Hoare triple {8020#(<= (+ main_~b~0 main_~v~0) main_~c~0)} assume !(~c~0 >= 2 * ~v~0); {8020#(<= (+ main_~b~0 main_~v~0) main_~c~0)} is VALID [2022-04-15 15:01:48,778 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {7724#true} {8020#(<= (+ main_~b~0 main_~v~0) main_~c~0)} #108#return; {8020#(<= (+ main_~b~0 main_~v~0) main_~c~0)} is VALID [2022-04-15 15:01:48,778 INFO L290 TraceCheckUtils]: 73: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-15 15:01:48,778 INFO L290 TraceCheckUtils]: 72: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-15 15:01:48,778 INFO L290 TraceCheckUtils]: 71: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-15 15:01:48,778 INFO L272 TraceCheckUtils]: 70: Hoare triple {8020#(<= (+ main_~b~0 main_~v~0) main_~c~0)} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {7724#true} is VALID [2022-04-15 15:01:48,779 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {7724#true} {8020#(<= (+ main_~b~0 main_~v~0) main_~c~0)} #106#return; {8020#(<= (+ main_~b~0 main_~v~0) main_~c~0)} is VALID [2022-04-15 15:01:48,779 INFO L290 TraceCheckUtils]: 68: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-15 15:01:48,779 INFO L290 TraceCheckUtils]: 67: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-15 15:01:48,779 INFO L290 TraceCheckUtils]: 66: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-15 15:01:48,779 INFO L272 TraceCheckUtils]: 65: Hoare triple {8020#(<= (+ main_~b~0 main_~v~0) main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {7724#true} is VALID [2022-04-15 15:01:48,780 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {7724#true} {8020#(<= (+ main_~b~0 main_~v~0) main_~c~0)} #104#return; {8020#(<= (+ main_~b~0 main_~v~0) main_~c~0)} is VALID [2022-04-15 15:01:48,780 INFO L290 TraceCheckUtils]: 63: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-15 15:01:48,780 INFO L290 TraceCheckUtils]: 62: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-15 15:01:48,780 INFO L290 TraceCheckUtils]: 61: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-15 15:01:48,780 INFO L272 TraceCheckUtils]: 60: Hoare triple {8020#(<= (+ main_~b~0 main_~v~0) main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7724#true} is VALID [2022-04-15 15:01:48,780 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {7724#true} {8020#(<= (+ main_~b~0 main_~v~0) main_~c~0)} #102#return; {8020#(<= (+ main_~b~0 main_~v~0) main_~c~0)} is VALID [2022-04-15 15:01:48,780 INFO L290 TraceCheckUtils]: 58: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-15 15:01:48,781 INFO L290 TraceCheckUtils]: 57: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-15 15:01:48,781 INFO L290 TraceCheckUtils]: 56: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-15 15:01:48,781 INFO L272 TraceCheckUtils]: 55: Hoare triple {8020#(<= (+ main_~b~0 main_~v~0) main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7724#true} is VALID [2022-04-15 15:01:48,781 INFO L290 TraceCheckUtils]: 54: Hoare triple {8020#(<= (+ main_~b~0 main_~v~0) main_~c~0)} assume !false; {8020#(<= (+ main_~b~0 main_~v~0) main_~c~0)} is VALID [2022-04-15 15:01:48,782 INFO L290 TraceCheckUtils]: 53: Hoare triple {8090#(or (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {8020#(<= (+ main_~b~0 main_~v~0) main_~c~0)} is VALID [2022-04-15 15:01:48,782 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {7724#true} {8090#(or (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} #108#return; {8090#(or (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-15 15:01:48,782 INFO L290 TraceCheckUtils]: 51: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-15 15:01:48,782 INFO L290 TraceCheckUtils]: 50: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-15 15:01:48,782 INFO L290 TraceCheckUtils]: 49: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-15 15:01:48,782 INFO L272 TraceCheckUtils]: 48: Hoare triple {8090#(or (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {7724#true} is VALID [2022-04-15 15:01:48,783 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {7724#true} {8090#(or (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} #106#return; {8090#(or (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-15 15:01:48,783 INFO L290 TraceCheckUtils]: 46: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-15 15:01:48,783 INFO L290 TraceCheckUtils]: 45: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-15 15:01:48,783 INFO L290 TraceCheckUtils]: 44: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-15 15:01:48,783 INFO L272 TraceCheckUtils]: 43: Hoare triple {8090#(or (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {7724#true} is VALID [2022-04-15 15:01:48,784 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {7724#true} {8090#(or (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} #104#return; {8090#(or (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-15 15:01:48,784 INFO L290 TraceCheckUtils]: 41: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-15 15:01:48,784 INFO L290 TraceCheckUtils]: 40: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-15 15:01:48,785 INFO L290 TraceCheckUtils]: 39: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-15 15:01:48,785 INFO L272 TraceCheckUtils]: 38: Hoare triple {8090#(or (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7724#true} is VALID [2022-04-15 15:01:48,786 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {7724#true} {8090#(or (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} #102#return; {8090#(or (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-15 15:01:48,786 INFO L290 TraceCheckUtils]: 36: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-15 15:01:48,786 INFO L290 TraceCheckUtils]: 35: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-15 15:01:48,786 INFO L290 TraceCheckUtils]: 34: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-15 15:01:48,786 INFO L272 TraceCheckUtils]: 33: Hoare triple {8090#(or (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7724#true} is VALID [2022-04-15 15:01:48,787 INFO L290 TraceCheckUtils]: 32: Hoare triple {8090#(or (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} assume !false; {8090#(or (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-15 15:01:48,788 INFO L290 TraceCheckUtils]: 31: Hoare triple {8157#(<= (div main_~c~0 2) (+ (div (+ (- 2) (* (- 1) (div main_~c~0 2)) main_~c~0) 2) 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {8090#(or (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-15 15:01:48,789 INFO L290 TraceCheckUtils]: 30: Hoare triple {8157#(<= (div main_~c~0 2) (+ (div (+ (- 2) (* (- 1) (div main_~c~0 2)) main_~c~0) 2) 1))} assume !false; {8157#(<= (div main_~c~0 2) (+ (div (+ (- 2) (* (- 1) (div main_~c~0 2)) main_~c~0) 2) 1))} is VALID [2022-04-15 15:01:48,789 INFO L290 TraceCheckUtils]: 29: Hoare triple {7813#(<= main_~a~0 1)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {8157#(<= (div main_~c~0 2) (+ (div (+ (- 2) (* (- 1) (div main_~c~0 2)) main_~c~0) 2) 1))} is VALID [2022-04-15 15:01:48,790 INFO L290 TraceCheckUtils]: 28: Hoare triple {7813#(<= main_~a~0 1)} assume !false; {7813#(<= main_~a~0 1)} is VALID [2022-04-15 15:01:48,790 INFO L290 TraceCheckUtils]: 27: Hoare triple {8170#(<= main_~x~0 1)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {7813#(<= main_~a~0 1)} is VALID [2022-04-15 15:01:48,791 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {7724#true} {8170#(<= main_~x~0 1)} #100#return; {8170#(<= main_~x~0 1)} is VALID [2022-04-15 15:01:48,791 INFO L290 TraceCheckUtils]: 25: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-15 15:01:48,791 INFO L290 TraceCheckUtils]: 24: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-15 15:01:48,791 INFO L290 TraceCheckUtils]: 23: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-15 15:01:48,791 INFO L272 TraceCheckUtils]: 22: Hoare triple {8170#(<= main_~x~0 1)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7724#true} is VALID [2022-04-15 15:01:48,792 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7724#true} {8170#(<= main_~x~0 1)} #98#return; {8170#(<= main_~x~0 1)} is VALID [2022-04-15 15:01:48,792 INFO L290 TraceCheckUtils]: 20: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-15 15:01:48,792 INFO L290 TraceCheckUtils]: 19: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-15 15:01:48,792 INFO L290 TraceCheckUtils]: 18: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-15 15:01:48,792 INFO L272 TraceCheckUtils]: 17: Hoare triple {8170#(<= main_~x~0 1)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {7724#true} is VALID [2022-04-15 15:01:48,793 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7724#true} {8170#(<= main_~x~0 1)} #96#return; {8170#(<= main_~x~0 1)} is VALID [2022-04-15 15:01:48,793 INFO L290 TraceCheckUtils]: 15: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-15 15:01:48,793 INFO L290 TraceCheckUtils]: 14: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-15 15:01:48,793 INFO L290 TraceCheckUtils]: 13: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-15 15:01:48,793 INFO L272 TraceCheckUtils]: 12: Hoare triple {8170#(<= main_~x~0 1)} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {7724#true} is VALID [2022-04-15 15:01:48,794 INFO L290 TraceCheckUtils]: 11: Hoare triple {8170#(<= main_~x~0 1)} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8170#(<= main_~x~0 1)} is VALID [2022-04-15 15:01:48,794 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7754#(not (= |assume_abort_if_not_#in~cond| 0))} {7724#true} #94#return; {8170#(<= main_~x~0 1)} is VALID [2022-04-15 15:01:48,795 INFO L290 TraceCheckUtils]: 9: Hoare triple {7754#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {7754#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:01:48,795 INFO L290 TraceCheckUtils]: 8: Hoare triple {8231#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {7754#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:01:48,796 INFO L290 TraceCheckUtils]: 7: Hoare triple {7724#true} ~cond := #in~cond; {8231#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-15 15:01:48,796 INFO L272 TraceCheckUtils]: 6: Hoare triple {7724#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {7724#true} is VALID [2022-04-15 15:01:48,796 INFO L290 TraceCheckUtils]: 5: Hoare triple {7724#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {7724#true} is VALID [2022-04-15 15:01:48,796 INFO L272 TraceCheckUtils]: 4: Hoare triple {7724#true} call #t~ret6 := main(); {7724#true} is VALID [2022-04-15 15:01:48,796 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7724#true} {7724#true} #112#return; {7724#true} is VALID [2022-04-15 15:01:48,796 INFO L290 TraceCheckUtils]: 2: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-15 15:01:48,796 INFO L290 TraceCheckUtils]: 1: Hoare triple {7724#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(11, 2);call #Ultimate.allocInit(12, 3); {7724#true} is VALID [2022-04-15 15:01:48,796 INFO L272 TraceCheckUtils]: 0: Hoare triple {7724#true} call ULTIMATE.init(); {7724#true} is VALID [2022-04-15 15:01:48,797 INFO L134 CoverageAnalysis]: Checked inductivity of 162 backedges. 18 proven. 17 refuted. 0 times theorem prover too weak. 127 trivial. 0 not checked. [2022-04-15 15:01:48,797 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:01:48,797 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [342871723] [2022-04-15 15:01:48,797 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:01:48,797 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [158675656] [2022-04-15 15:01:48,797 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [158675656] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 15:01:48,797 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 15:01:48,797 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 16 [2022-04-15 15:01:48,798 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:01:48,798 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [792145266] [2022-04-15 15:01:48,798 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [792145266] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:01:48,798 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:01:48,798 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-15 15:01:48,798 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1064143739] [2022-04-15 15:01:48,798 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:01:48,798 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.1) internal successors, (31), 10 states have internal predecessors, (31), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) Word has length 86 [2022-04-15 15:01:48,799 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:01:48,799 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 3.1) internal successors, (31), 10 states have internal predecessors, (31), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-15 15:01:48,846 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:01:48,846 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-15 15:01:48,846 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:01:48,846 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-15 15:01:48,847 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=42, Invalid=198, Unknown=0, NotChecked=0, Total=240 [2022-04-15 15:01:48,847 INFO L87 Difference]: Start difference. First operand 111 states and 151 transitions. Second operand has 10 states, 10 states have (on average 3.1) internal successors, (31), 10 states have internal predecessors, (31), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-15 15:01:49,571 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:01:49,572 INFO L93 Difference]: Finished difference Result 127 states and 163 transitions. [2022-04-15 15:01:49,572 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-15 15:01:49,572 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.1) internal successors, (31), 10 states have internal predecessors, (31), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) Word has length 86 [2022-04-15 15:01:49,572 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:01:49,572 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.1) internal successors, (31), 10 states have internal predecessors, (31), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-15 15:01:49,574 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 72 transitions. [2022-04-15 15:01:49,574 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.1) internal successors, (31), 10 states have internal predecessors, (31), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-15 15:01:49,575 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 72 transitions. [2022-04-15 15:01:49,575 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 72 transitions. [2022-04-15 15:01:49,642 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-15 15:01:49,642 INFO L225 Difference]: With dead ends: 127 [2022-04-15 15:01:49,642 INFO L226 Difference]: Without dead ends: 0 [2022-04-15 15:01:49,643 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 176 GetRequests, 156 SyntacticMatches, 1 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 37 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=83, Invalid=337, Unknown=0, NotChecked=0, Total=420 [2022-04-15 15:01:49,643 INFO L913 BasicCegarLoop]: 36 mSDtfsCounter, 17 mSDsluCounter, 138 mSDsCounter, 0 mSdLazyCounter, 168 mSolverCounterSat, 31 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 174 SdHoareTripleChecker+Invalid, 199 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 31 IncrementalHoareTripleChecker+Valid, 168 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-15 15:01:49,643 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [17 Valid, 174 Invalid, 199 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [31 Valid, 168 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 15:01:49,644 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-04-15 15:01:49,644 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-04-15 15:01:49,644 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:01:49,644 INFO L82 GeneralOperation]: Start isEquivalent. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-15 15:01:49,644 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-15 15:01:49,644 INFO L87 Difference]: Start difference. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-15 15:01:49,644 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:01:49,644 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-15 15:01:49,644 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-15 15:01:49,644 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:01:49,645 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:01:49,645 INFO L74 IsIncluded]: Start isIncluded. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-15 15:01:49,645 INFO L87 Difference]: Start difference. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-15 15:01:49,645 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:01:49,645 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-15 15:01:49,645 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-15 15:01:49,645 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:01:49,645 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:01:49,645 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:01:49,645 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:01:49,645 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-15 15:01:49,645 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-04-15 15:01:49,645 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 86 [2022-04-15 15:01:49,645 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:01:49,645 INFO L478 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-04-15 15:01:49,645 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 3.1) internal successors, (31), 10 states have internal predecessors, (31), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-15 15:01:49,646 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 0 states and 0 transitions. [2022-04-15 15:01:49,646 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 0 edges. 0 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:01:49,646 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-15 15:01:49,646 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:01:49,647 INFO L788 garLoopResultBuilder]: Registering result SAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-15 15:01:49,666 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-15 15:01:49,848 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-15 15:01:49,850 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2022-04-15 15:01:51,786 INFO L882 garLoopResultBuilder]: For program point reach_errorEXIT(line 4) no Hoare annotation was computed. [2022-04-15 15:01:51,786 INFO L882 garLoopResultBuilder]: For program point reach_errorENTRY(line 4) no Hoare annotation was computed. [2022-04-15 15:01:51,786 INFO L882 garLoopResultBuilder]: For program point reach_errorFINAL(line 4) no Hoare annotation was computed. [2022-04-15 15:01:51,787 INFO L885 garLoopResultBuilder]: At program point assume_abort_if_notENTRY(lines 7 9) the Hoare annotation is: true [2022-04-15 15:01:51,787 INFO L878 garLoopResultBuilder]: At program point L8(line 8) the Hoare annotation is: (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|) [2022-04-15 15:01:51,787 INFO L878 garLoopResultBuilder]: At program point L8-2(lines 7 9) the Hoare annotation is: (and (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)) [2022-04-15 15:01:51,787 INFO L878 garLoopResultBuilder]: At program point assume_abort_if_notEXIT(lines 7 9) the Hoare annotation is: (and (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)) [2022-04-15 15:01:51,787 INFO L878 garLoopResultBuilder]: At program point L35-2(lines 35 73) the Hoare annotation is: (let ((.cse0 (<= main_~x~0 1))) (or (and (= (+ main_~s~0 main_~r~0) 0) (< main_~c~0 1) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 1) (= main_~p~0 0) .cse0 (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= main_~a~0 main_~x~0) (<= 0 main_~c~0) (< (div (+ (- 1) (* (- 1) main_~a~0)) (- 2)) (+ main_~a~0 1)) (<= 0 main_~b~0)) (and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~s~0 1) .cse0 (<= 1 main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1)))) [2022-04-15 15:01:51,787 INFO L878 garLoopResultBuilder]: At program point L35-3(lines 35 73) the Hoare annotation is: (or (and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~y~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1)) (and (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (= (+ main_~q~0 main_~p~0) 1) (= main_~p~0 0) (<= main_~x~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (< (div (+ (- 1) (* (- 1) main_~a~0)) (- 2)) (+ main_~a~0 1)) (<= main_~y~0 1))) [2022-04-15 15:01:51,787 INFO L885 garLoopResultBuilder]: At program point mainEXIT(lines 18 76) the Hoare annotation is: true [2022-04-15 15:01:51,787 INFO L878 garLoopResultBuilder]: At program point L52(line 52) the Hoare annotation is: (let ((.cse0 (<= 0 main_~y~0)) (.cse1 (= main_~r~0 0)) (.cse2 (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (.cse3 (= main_~k~0 0)) (.cse4 (= main_~s~0 1)) (.cse5 (<= 1 main_~a~0)) (.cse6 (= main_~b~0 main_~y~0)) (.cse7 (= main_~q~0 0)) (.cse8 (= main_~a~0 main_~x~0)) (.cse9 (<= main_~c~0 1)) (.cse10 (= main_~p~0 1))) (or (and (= main_~v~0 (* main_~d~0 main_~b~0)) .cse0 .cse1 .cse2 .cse3 .cse4 (<= main_~b~0 (div main_~c~0 2)) .cse5 .cse6 .cse7 .cse8 .cse9 .cse10) (and .cse0 .cse1 (<= main_~v~0 main_~b~0) .cse2 .cse3 .cse4 .cse5 .cse6 (<= main_~b~0 main_~v~0) (= main_~d~0 1) .cse7 .cse8 .cse9 (<= main_~y~0 1) .cse10))) [2022-04-15 15:01:51,787 INFO L878 garLoopResultBuilder]: At program point L36(lines 36 37) the Hoare annotation is: (let ((.cse0 (<= main_~x~0 1))) (or (and (= (+ main_~s~0 main_~r~0) 0) (< main_~c~0 1) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 1) (= main_~p~0 0) .cse0 (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= main_~a~0 main_~x~0) (<= 0 main_~c~0) (< (div (+ (- 1) (* (- 1) main_~a~0)) (- 2)) (+ main_~a~0 1)) (<= 0 main_~b~0)) (and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~s~0 1) .cse0 (<= 1 main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1)))) [2022-04-15 15:01:51,788 INFO L878 garLoopResultBuilder]: At program point L24(line 24) the Hoare annotation is: (and (<= 0 main_~x~0) (<= main_~x~0 1)) [2022-04-15 15:01:51,788 INFO L878 garLoopResultBuilder]: At program point L24-1(line 24) the Hoare annotation is: (and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1)) [2022-04-15 15:01:51,788 INFO L878 garLoopResultBuilder]: At program point L53(lines 49 59) the Hoare annotation is: (let ((.cse0 (<= 0 main_~y~0)) (.cse1 (= main_~r~0 0)) (.cse2 (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (.cse3 (= main_~k~0 0)) (.cse4 (= main_~s~0 1)) (.cse5 (<= 1 main_~a~0)) (.cse6 (= main_~b~0 main_~y~0)) (.cse7 (= main_~q~0 0)) (.cse8 (= main_~a~0 main_~x~0)) (.cse9 (<= main_~c~0 1)) (.cse10 (= main_~p~0 1))) (or (and (= main_~v~0 (* main_~d~0 main_~b~0)) .cse0 .cse1 .cse2 .cse3 .cse4 (<= main_~b~0 (div main_~c~0 2)) .cse5 .cse6 .cse7 .cse8 .cse9 .cse10) (and .cse0 .cse1 (<= main_~v~0 main_~b~0) .cse2 .cse3 .cse4 .cse5 .cse6 (<= main_~b~0 main_~v~0) (= main_~d~0 1) .cse7 .cse8 .cse9 (<= main_~y~0 1) .cse10))) [2022-04-15 15:01:51,788 INFO L878 garLoopResultBuilder]: At program point L49-2(lines 49 59) the Hoare annotation is: (let ((.cse0 (<= 0 main_~y~0)) (.cse1 (= main_~r~0 0)) (.cse2 (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (.cse3 (= main_~k~0 0)) (.cse4 (= main_~s~0 1)) (.cse5 (<= 1 main_~a~0)) (.cse6 (= main_~b~0 main_~y~0)) (.cse7 (= main_~q~0 0)) (.cse8 (= main_~a~0 main_~x~0)) (.cse9 (<= main_~c~0 1)) (.cse10 (= main_~p~0 1))) (or (and (= main_~v~0 (* main_~d~0 main_~b~0)) .cse0 .cse1 .cse2 .cse3 .cse4 (<= main_~b~0 (div main_~c~0 2)) .cse5 .cse6 .cse7 .cse8 .cse9 .cse10) (and .cse0 .cse1 (<= main_~v~0 main_~b~0) .cse2 .cse3 .cse4 .cse5 .cse6 (<= main_~b~0 main_~v~0) (= main_~d~0 1) .cse7 .cse8 .cse9 (<= main_~y~0 1) .cse10))) [2022-04-15 15:01:51,788 INFO L878 garLoopResultBuilder]: At program point L49-3(lines 49 59) the Hoare annotation is: (and (= main_~r~0 0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (<= main_~v~0 main_~c~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (not (<= (* main_~v~0 2) main_~c~0)) (= main_~a~0 main_~x~0) (< (div (+ (- 1) (* (- 1) main_~b~0)) (- 2)) (+ main_~b~0 1)) (<= main_~y~0 1) (= main_~p~0 1)) [2022-04-15 15:01:51,788 INFO L885 garLoopResultBuilder]: At program point L74(line 74) the Hoare annotation is: true [2022-04-15 15:01:51,788 INFO L878 garLoopResultBuilder]: At program point L25(line 25) the Hoare annotation is: (and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1)) [2022-04-15 15:01:51,788 INFO L878 garLoopResultBuilder]: At program point L50(line 50) the Hoare annotation is: (let ((.cse0 (<= 0 main_~y~0)) (.cse1 (= main_~r~0 0)) (.cse2 (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (.cse3 (= main_~k~0 0)) (.cse4 (= main_~s~0 1)) (.cse5 (<= 1 main_~a~0)) (.cse6 (= main_~b~0 main_~y~0)) (.cse7 (= main_~q~0 0)) (.cse8 (= main_~a~0 main_~x~0)) (.cse9 (<= main_~c~0 1)) (.cse10 (= main_~p~0 1))) (or (and (= main_~v~0 (* main_~d~0 main_~b~0)) .cse0 .cse1 .cse2 .cse3 .cse4 (<= main_~b~0 (div main_~c~0 2)) .cse5 .cse6 .cse7 .cse8 .cse9 .cse10) (and .cse0 .cse1 (<= main_~v~0 main_~b~0) .cse2 .cse3 .cse4 .cse5 .cse6 (<= main_~b~0 main_~v~0) (= main_~d~0 1) .cse7 .cse8 .cse9 (<= main_~y~0 1) .cse10))) [2022-04-15 15:01:51,789 INFO L878 garLoopResultBuilder]: At program point L50-1(line 50) the Hoare annotation is: (let ((.cse0 (<= 0 main_~y~0)) (.cse1 (= main_~r~0 0)) (.cse2 (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (.cse3 (= main_~k~0 0)) (.cse4 (= main_~s~0 1)) (.cse5 (<= 1 main_~a~0)) (.cse6 (= main_~b~0 main_~y~0)) (.cse7 (= main_~q~0 0)) (.cse8 (= main_~a~0 main_~x~0)) (.cse9 (<= main_~c~0 1)) (.cse10 (= main_~p~0 1))) (or (and (= main_~v~0 (* main_~d~0 main_~b~0)) .cse0 .cse1 .cse2 .cse3 .cse4 (<= main_~b~0 (div main_~c~0 2)) .cse5 .cse6 .cse7 .cse8 .cse9 .cse10) (and .cse0 .cse1 (<= main_~v~0 main_~b~0) .cse2 .cse3 .cse4 .cse5 .cse6 (<= main_~b~0 main_~v~0) (= main_~d~0 1) .cse7 .cse8 .cse9 (<= main_~y~0 1) .cse10))) [2022-04-15 15:01:51,789 INFO L885 garLoopResultBuilder]: At program point mainFINAL(lines 18 76) the Hoare annotation is: true [2022-04-15 15:01:51,789 INFO L878 garLoopResultBuilder]: At program point L42-2(lines 42 62) the Hoare annotation is: (let ((.cse0 (= main_~r~0 0)) (.cse1 (= main_~s~0 1)) (.cse2 (<= main_~x~0 1)) (.cse3 (<= 1 main_~a~0)) (.cse4 (= main_~b~0 main_~y~0)) (.cse5 (= main_~q~0 0)) (.cse6 (= main_~a~0 main_~x~0)) (.cse7 (<= main_~y~0 1)) (.cse8 (= main_~p~0 1))) (or (and (<= 0 main_~y~0) .cse0 (<= 1 main_~c~0) (= main_~k~0 0) .cse1 .cse2 .cse3 .cse4 .cse5 .cse6 (<= main_~c~0 1) .cse7 .cse8) (and (= main_~v~0 (* main_~d~0 main_~b~0)) .cse0 (<= main_~v~0 main_~b~0) .cse1 .cse2 .cse3 (<= 0 main_~c~0) .cse4 (= main_~k~0 1) .cse5 (< main_~c~0 main_~b~0) .cse6 .cse7 .cse8))) [2022-04-15 15:01:51,789 INFO L878 garLoopResultBuilder]: At program point L42-3(lines 42 62) the Hoare annotation is: (and (= main_~r~0 0) (<= main_~v~0 main_~b~0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (<= main_~a~0 main_~x~0) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (< main_~c~0 main_~b~0) (= main_~p~0 1)) [2022-04-15 15:01:51,789 INFO L885 garLoopResultBuilder]: At program point mainENTRY(lines 18 76) the Hoare annotation is: true [2022-04-15 15:01:51,789 INFO L878 garLoopResultBuilder]: At program point L26(line 26) the Hoare annotation is: (and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1)) [2022-04-15 15:01:51,789 INFO L885 garLoopResultBuilder]: At program point L22(line 22) the Hoare annotation is: true [2022-04-15 15:01:51,789 INFO L878 garLoopResultBuilder]: At program point L22-1(line 22) the Hoare annotation is: (and (<= 0 main_~x~0) (<= main_~x~0 1)) [2022-04-15 15:01:51,789 INFO L878 garLoopResultBuilder]: At program point L51(line 51) the Hoare annotation is: (let ((.cse0 (<= 0 main_~y~0)) (.cse1 (= main_~r~0 0)) (.cse2 (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (.cse3 (= main_~k~0 0)) (.cse4 (= main_~s~0 1)) (.cse5 (<= 1 main_~a~0)) (.cse6 (= main_~b~0 main_~y~0)) (.cse7 (= main_~q~0 0)) (.cse8 (= main_~a~0 main_~x~0)) (.cse9 (<= main_~c~0 1)) (.cse10 (= main_~p~0 1))) (or (and (= main_~v~0 (* main_~d~0 main_~b~0)) .cse0 .cse1 .cse2 .cse3 .cse4 (<= main_~b~0 (div main_~c~0 2)) .cse5 .cse6 .cse7 .cse8 .cse9 .cse10) (and .cse0 .cse1 (<= main_~v~0 main_~b~0) .cse2 .cse3 .cse4 .cse5 .cse6 (<= main_~b~0 main_~v~0) (= main_~d~0 1) .cse7 .cse8 .cse9 (<= main_~y~0 1) .cse10))) [2022-04-15 15:01:51,789 INFO L878 garLoopResultBuilder]: At program point L43(lines 43 44) the Hoare annotation is: (let ((.cse0 (= main_~r~0 0)) (.cse1 (= main_~s~0 1)) (.cse2 (<= main_~x~0 1)) (.cse3 (<= 1 main_~a~0)) (.cse4 (= main_~b~0 main_~y~0)) (.cse5 (= main_~q~0 0)) (.cse6 (= main_~a~0 main_~x~0)) (.cse7 (<= main_~y~0 1)) (.cse8 (= main_~p~0 1))) (or (and (<= 0 main_~y~0) .cse0 (<= 1 main_~c~0) (= main_~k~0 0) .cse1 .cse2 .cse3 .cse4 .cse5 .cse6 (<= main_~c~0 1) .cse7 .cse8) (and (= main_~v~0 (* main_~d~0 main_~b~0)) .cse0 (<= main_~v~0 main_~b~0) .cse1 .cse2 .cse3 (<= 0 main_~c~0) .cse4 (= main_~k~0 1) .cse5 (< main_~c~0 main_~b~0) .cse6 .cse7 .cse8))) [2022-04-15 15:01:51,790 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.initFINAL(line -1) the Hoare annotation is: true [2022-04-15 15:01:51,790 INFO L878 garLoopResultBuilder]: At program point ULTIMATE.initENTRY(line -1) the Hoare annotation is: (and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|)) [2022-04-15 15:01:51,790 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.initEXIT(line -1) the Hoare annotation is: true [2022-04-15 15:01:51,790 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startEXIT(line -1) the Hoare annotation is: true [2022-04-15 15:01:51,790 INFO L885 garLoopResultBuilder]: At program point L-1(line -1) the Hoare annotation is: true [2022-04-15 15:01:51,790 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2022-04-15 15:01:51,790 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startFINAL(line -1) the Hoare annotation is: true [2022-04-15 15:01:51,790 INFO L885 garLoopResultBuilder]: At program point __VERIFIER_assertENTRY(lines 10 16) the Hoare annotation is: true [2022-04-15 15:01:51,790 INFO L878 garLoopResultBuilder]: At program point L12(lines 12 13) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-15 15:01:51,790 INFO L878 garLoopResultBuilder]: At program point L11(lines 11 14) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-15 15:01:51,790 INFO L878 garLoopResultBuilder]: At program point __VERIFIER_assertEXIT(lines 10 16) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-15 15:01:51,790 INFO L878 garLoopResultBuilder]: At program point L11-2(lines 10 16) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-15 15:01:51,791 INFO L878 garLoopResultBuilder]: At program point __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION(line 13) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-15 15:01:51,793 INFO L719 BasicCegarLoop]: Path program histogram: [4, 2, 2, 2, 2, 2, 2, 2, 2] [2022-04-15 15:01:51,794 INFO L177 ceAbstractionStarter]: Computing trace abstraction results [2022-04-15 15:01:51,797 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-15 15:01:51,806 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-15 15:01:51,870 INFO L163 areAnnotationChecker]: CFG has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2022-04-15 15:01:51,900 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 15.04 03:01:51 BoogieIcfgContainer [2022-04-15 15:01:51,900 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-15 15:01:51,901 INFO L158 Benchmark]: Toolchain (without parser) took 45098.92ms. Allocated memory was 176.2MB in the beginning and 255.9MB in the end (delta: 79.7MB). Free memory was 126.6MB in the beginning and 82.1MB in the end (delta: 44.6MB). Peak memory consumption was 126.3MB. Max. memory is 8.0GB. [2022-04-15 15:01:51,901 INFO L158 Benchmark]: CDTParser took 0.15ms. Allocated memory is still 176.2MB. Free memory was 143.7MB in the beginning and 143.6MB in the end (delta: 74.4kB). There was no memory consumed. Max. memory is 8.0GB. [2022-04-15 15:01:51,901 INFO L158 Benchmark]: CACSL2BoogieTranslator took 307.26ms. Allocated memory is still 176.2MB. Free memory was 126.4MB in the beginning and 150.9MB in the end (delta: -24.5MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. [2022-04-15 15:01:51,902 INFO L158 Benchmark]: Boogie Preprocessor took 39.00ms. Allocated memory is still 176.2MB. Free memory was 150.9MB in the beginning and 149.4MB in the end (delta: 1.6MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. [2022-04-15 15:01:51,902 INFO L158 Benchmark]: RCFGBuilder took 379.26ms. Allocated memory is still 176.2MB. Free memory was 149.4MB in the beginning and 136.7MB in the end (delta: 12.6MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. [2022-04-15 15:01:51,902 INFO L158 Benchmark]: TraceAbstraction took 44367.24ms. Allocated memory was 176.2MB in the beginning and 255.9MB in the end (delta: 79.7MB). Free memory was 136.2MB in the beginning and 82.5MB in the end (delta: 53.8MB). Peak memory consumption was 137.3MB. Max. memory is 8.0GB. [2022-04-15 15:01:51,903 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.15ms. Allocated memory is still 176.2MB. Free memory was 143.7MB in the beginning and 143.6MB in the end (delta: 74.4kB). There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 307.26ms. Allocated memory is still 176.2MB. Free memory was 126.4MB in the beginning and 150.9MB in the end (delta: -24.5MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. * Boogie Preprocessor took 39.00ms. Allocated memory is still 176.2MB. Free memory was 150.9MB in the beginning and 149.4MB in the end (delta: 1.6MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. * RCFGBuilder took 379.26ms. Allocated memory is still 176.2MB. Free memory was 149.4MB in the beginning and 136.7MB in the end (delta: 12.6MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. * TraceAbstraction took 44367.24ms. Allocated memory was 176.2MB in the beginning and 255.9MB in the end (delta: 79.7MB). Free memory was 136.2MB in the beginning and 82.5MB in the end (delta: 53.8MB). Peak memory consumption was 137.3MB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - PositiveResult [Line: 13]: call to reach_error is unreachable For all program executions holds that call to reach_error is unreachable at this location - StatisticsResult: Ultimate Automizer benchmark data CFG has 6 procedures, 43 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 44.2s, OverallIterations: 10, TraceHistogramMax: 9, PathProgramHistogramMax: 4, EmptinessCheckTime: 0.0s, AutomataDifference: 9.2s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 1.9s, InitialAbstractionConstructionTime: 0.0s, PartialOrderReductionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 405 SdHoareTripleChecker+Valid, 2.1s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 359 mSDsluCounter, 1830 SdHoareTripleChecker+Invalid, 2.1s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 1387 mSDsCounter, 243 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 1632 IncrementalHoareTripleChecker+Invalid, 1875 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 243 mSolverCounterUnsat, 443 mSDtfsCounter, 1632 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 1027 GetRequests, 877 SyntacticMatches, 6 SemanticMatches, 144 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 399 ImplicationChecksByTransitivity, 1.7s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=144occurred in iteration=8, InterpolantAutomatonStates: 87, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 1.8s AutomataMinimizationTime, 10 MinimizatonAttempts, 68 StatesRemovedByMinimization, 8 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 40 LocationsWithAnnotation, 658 PreInvPairs, 740 NumberOfFragments, 1206 HoareAnnotationTreeSize, 658 FomulaSimplifications, 84 FormulaSimplificationTreeSizeReduction, 0.2s HoareSimplificationTime, 40 FomulaSimplificationsInter, 2774 FormulaSimplificationTreeSizeReductionInter, 1.6s HoareSimplificationTimeInter, RefinementEngineStatistics: TRACE_CHECK: No data available, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available - AllSpecificationsHoldResult: All specifications hold 1 specifications checked. All of them hold - InvariantResult [Line: 49]: Loop Invariant Derived loop invariant: ((((((((((((v == d * b && 0 <= y) && r == 0) && a == c + b * k) && k == 0) && s == 1) && b <= c / 2) && 1 <= a) && b == y) && q == 0) && a == x) && c <= 1) && p == 1) || ((((((((((((((0 <= y && r == 0) && v <= b) && a == c + b * k) && k == 0) && s == 1) && 1 <= a) && b == y) && b <= v) && d == 1) && q == 0) && a == x) && c <= 1) && y <= 1) && p == 1) - InvariantResult [Line: 35]: Loop Invariant Derived loop invariant: (((((((((((s + r == 0 && c < 1) && q + p == 1) && b < 1) && p == 0) && x <= 1) && r == 1) && a == y) && a <= x) && 0 <= c) && (-1 + -1 * a) / -2 < a + 1) && 0 <= b) || (((((((((0 <= y && r == 0) && s == 1) && x <= 1) && 1 <= a) && b == y) && q == 0) && a == x) && y <= 1) && p == 1) - InvariantResult [Line: 42]: Loop Invariant Derived loop invariant: ((((((((((((0 <= y && r == 0) && 1 <= c) && k == 0) && s == 1) && x <= 1) && 1 <= a) && b == y) && q == 0) && a == x) && c <= 1) && y <= 1) && p == 1) || (((((((((((((v == d * b && r == 0) && v <= b) && s == 1) && x <= 1) && 1 <= a) && 0 <= c) && b == y) && k == 1) && q == 0) && c < b) && a == x) && y <= 1) && p == 1) - ProcedureContractResult [Line: 7]: Procedure Contract for assume_abort_if_not Derived contract for procedure assume_abort_if_not: !(\old(cond) == 0) && cond == \old(cond) - ProcedureContractResult [Line: 18]: Procedure Contract for main Derived contract for procedure main: 1 - ProcedureContractResult [Line: 10]: Procedure Contract for __VERIFIER_assert Derived contract for procedure __VERIFIER_assert: \old(cond) == cond || !(1 <= \old(cond)) RESULT: Ultimate proved your program to be correct! [2022-04-15 15:01:51,946 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forceful destruction successful, exit code 0 Received shutdown request...